{"version":3,"sources":["../node_modules/react/index.js","../../src/utils/Constants.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../../src/utils/BrowserConstants.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/prop-types/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/draw2d/dist/draw2d.js","../node_modules/recharts/es6/util/DataUtils.js","../node_modules/primereact/button.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/cjs/react-is.development.js","../../node_modules/object-assign/index.js","../../node_modules/react-is/index.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/prop-types/checkPropTypes.js","../../node_modules/prop-types/factoryWithTypeCheckers.js","../../node_modules/prop-types/factoryWithThrowingShims.js","../../node_modules/prop-types/index.js","../../node_modules/style-inject/dist/style-inject.es.js","../../src/components/Box/Box.jsx","../../src/components/Box/BoxTitle.jsx","../../src/components/Box/BoxBody.jsx","../../src/components/Button/Button.jsx","../../src/components/Card/CardHeader.jsx","../../src/components/Card/CardImage.jsx","../../src/components/Card/CardFooter.jsx","../../src/components/Card/Card.jsx","../../src/components/Card/CardBody.jsx","../../src/components/Checkbox/Checkbox.jsx","../../src/components/Content/ContentHeader.jsx","../../src/components/Content/Content.jsx","../../node_modules/react-feather/dist/icons/chevron-down.js","../../src/components/Content/ContentActions.jsx","../../src/components/Content/ContentInfo.jsx","../../src/components/Content/ContentBody.jsx","../../src/components/Content/ContentFooter.jsx","../../node_modules/react-feather/dist/icons/info.js","../../node_modules/react-feather/dist/icons/minus.js","../../node_modules/react-feather/dist/icons/plus.js","../../node_modules/react-feather/dist/icons/x-square.js","../../node_modules/react-feather/dist/icons/x.js","../../src/components/Input/InputNumeric.jsx","../../src/components/Input/InputPassword.jsx","../../src/components/Input/InputText.jsx","../../src/components/Input/InputTextArea.jsx","../../src/components/Input/Input.jsx","../../src/components/Portal/Portal.jsx","../../src/components/Overlay/Overlay.jsx","../../src/components/Modal/ModalHeader.jsx","../../src/components/Modal/ModalTitle.jsx","../../src/components/Modal/ModalBody.jsx","../../src/components/Modal/ModalFooter.jsx","../../src/components/Modal/Modal.jsx","../../src/components/Panel/PanelHeader.jsx","../../src/components/Panel/Panel.jsx","../../src/components/Panel/PanelBody.jsx","../../src/components/Panel/PanelFooter.jsx","../../src/components/Panel/PanelGroup.jsx","../../src/components/Question/QuestionTitle.jsx","../../src/components/Question/QuestionImage.jsx","../../src/components/Question/Question.jsx","../../src/components/Question/QuestionBody.jsx","../../src/components/Question/QuestionInfo.jsx","../../src/components/Radio/Radio.jsx","../../src/components/Select/Select.jsx","../../src/components/SelectGroup/SelectGroup.jsx","../../src/components/SelectGroup/SelectGroupItemTitle.jsx","../../src/components/SelectGroup/SelectGroupItem.jsx","../../src/components/SelectGroup/SelectGroupItemDescription.jsx","../../src/components/SelectGroup/SelectGroupItemImage.jsx","../../src/components/Steps/Steps.jsx","../../src/components/Steps/Step.jsx","../../src/components/Subheader/Subheader.jsx","../../src/components/Table/Table.jsx","../node_modules/primereact/dropdown.js","../node_modules/primereact/dialog.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../src/error/ClientAuthError.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/primereact/components/button/Button.js","../../src/utils/StringUtils.ts","../node_modules/primereact/column.js","../node_modules/primereact/toast.js","../node_modules/prismic-reactjs/dist/prismic-reactjs.js","../../src/event/EventType.ts","../node_modules/lodash/isNil.js","../node_modules/recharts-scale/es6/util/utils.js","../node_modules/recharts-scale/es6/util/arithmetic.js","../node_modules/recharts-scale/es6/getNiceTickValues.js","../node_modules/d3-shape/src/offset/none.js","../node_modules/d3-shape/src/order/none.js","../node_modules/d3-shape/src/stack.js","../node_modules/recharts/es6/util/ChartUtils.js","../node_modules/d3-shape/src/offset/expand.js","../node_modules/d3-shape/src/offset/silhouette.js","../node_modules/d3-shape/src/offset/wiggle.js","../node_modules/recharts/es6/util/types.js","../node_modules/lodash/isFunction.js","../../src/error/AuthError.ts","../node_modules/primereact/inputtext.js","../node_modules/primereact/components/utils/ClassNames.js","../node_modules/recharts/node_modules/classnames/index.js","../node_modules/primereact/tooltip.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/lodash/isArray.js","../node_modules/primereact/card.js","../node_modules/recharts/es6/util/ReactUtils.js","../node_modules/d3-scale/src/init.js","../node_modules/decimal.js-light/decimal.js","../node_modules/primereact/fileupload.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/d3-shape/src/constant.js","../node_modules/react-dom/index.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-scale/src/constant.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/primereact/datatable.js","../../modules/createNamedContext.js","../../modules/HistoryContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/generatePath.js","../../modules/Redirect.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/withRouter.js","../../modules/hooks.js","../node_modules/primereact/toolbar.js","../node_modules/recharts/es6/util/PolarUtils.js","../node_modules/primereact/components/utils/DomHandler.js","../node_modules/recharts/es6/container/Layer.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../src/error/BrowserConfigurationAuthError.ts","../node_modules/primereact/components/ripple/Ripple.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/primereact/checkbox.js","../node_modules/webpack/buildin/global.js","../node_modules/primereact/tabview.js","../node_modules/primereact/components/utils/ObjectUtils.js","../node_modules/lodash/get.js","../node_modules/react-ga/dist/esm/utils/console/warn.js","../node_modules/react-ga/dist/esm/components/OutboundLink.js","../node_modules/react-ga/dist/esm/utils/redactEmail.js","../node_modules/react-ga/dist/esm/utils/mightBeEmail.js","../node_modules/react-ga/dist/esm/utils/trim.js","../node_modules/react-ga/dist/esm/utils/toTitleCase.js","../node_modules/react-ga/dist/esm/utils/loadGA.js","../node_modules/react-ga/dist/esm/utils/console/log.js","../node_modules/react-ga/dist/esm/utils/testModeAPI.js","../node_modules/react-ga/dist/esm/core.js","../node_modules/react-ga/dist/esm/utils/format.js","../node_modules/react-ga/dist/esm/utils/removeLeadingSlash.js","../node_modules/react-ga/dist/esm/index.js","../node_modules/lodash/isObject.js","../node_modules/d3-scale/src/linear.js","../../build/platforms.js","../../build/util.js","../../build/global.js","../../build/runtime.js","../../build/web-plugin.js","../node_modules/primereact/components/column/Column.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../src/account/ClientInfo.ts","../node_modules/recharts/es6/util/Events.js","../node_modules/primereact/components/tooltip/Tooltip.js","../node_modules/recharts/es6/util/IfOverflowMatches.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/axios/lib/utils.js","../node_modules/primereact/components/datatable/DataTable.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../../src/authority/AuthorityType.ts","../node_modules/recharts/es6/util/DOMUtils.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/primereact/radiobutton.js","../node_modules/recharts/es6/component/Label.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/lodash/_root.js","../node_modules/recharts/es6/util/Global.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/d3-format/src/exponent.js","../node_modules/recharts/es6/util/LogUtils.js","../node_modules/recharts/es6/util/CartesianUtils.js","../node_modules/primereact/multiselect.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/react-transition-group/esm/ReplaceTransition.js","../node_modules/react-transition-group/esm/SwitchTransition.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/jspdf/dist/jspdf.es.min.js","../node_modules/d3-format/src/formatDecimal.js","../node_modules/recharts/es6/util/ShallowEqual.js","../../src/error/InteractionRequiredAuthError.ts","../node_modules/xlsx/xlsx.js","../node_modules/primereact/fieldset.js","../node_modules/primereact/components/utils/UniqueComponentId.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/webpack/buildin/module.js","../node_modules/lodash/_baseIteratee.js","../node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../node_modules/state-local/lib/es/state-local.js","../node_modules/@monaco-editor/loader/lib/es/config/index.js","../node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../node_modules/@monaco-editor/loader/lib/es/validators/index.js","../node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../node_modules/@monaco-editor/loader/lib/es/loader/index.js","../node_modules/@monaco-editor/react/lib/es/_virtual/_rollupPluginBabelHelpers.js","../node_modules/@monaco-editor/react/lib/es/Loading/Loading.js","../node_modules/@monaco-editor/react/lib/es/MonacoContainer/styles.js","../node_modules/@monaco-editor/react/lib/es/MonacoContainer/MonacoContainer.js","../node_modules/@monaco-editor/react/lib/es/MonacoContainer/index.js","../node_modules/@monaco-editor/react/lib/es/hooks/useMount/index.js","../node_modules/@monaco-editor/react/lib/es/hooks/useUpdate/index.js","../node_modules/@monaco-editor/react/lib/es/utils/index.js","../node_modules/@monaco-editor/react/lib/es/DiffEditor/DiffEditor.js","../node_modules/@monaco-editor/react/lib/es/hooks/usePrevious/index.js","../node_modules/@monaco-editor/react/lib/es/Editor/Editor.js","../node_modules/@monaco-editor/react/lib/es/Editor/index.js","../node_modules/lodash/isString.js","../node_modules/react-smooth/es6/setRafTimeout.js","../node_modules/react-smooth/es6/AnimateManager.js","../node_modules/react-smooth/es6/util.js","../node_modules/react-smooth/es6/easing.js","../node_modules/react-smooth/es6/configUpdate.js","../node_modules/react-smooth/es6/Animate.js","../node_modules/react-smooth/es6/AnimateGroupChild.js","../node_modules/react-smooth/es6/AnimateGroup.js","../node_modules/react-smooth/es6/index.js","../node_modules/i18next-http-backend/esm/utils.js","../../src/cache/entities/AccountEntity.ts","../node_modules/lodash/_getNative.js","../node_modules/lodash/upperFirst.js","../node_modules/d3-scale/src/number.js","../node_modules/recharts/es6/component/Text.js","../node_modules/primereact/calendar.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/primereact/components/utils/ConnectedOverlayScrollHandler.js","../node_modules/primereact/components/inputtext/InputText.js","../node_modules/buffer/index.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/identity.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/lodash/sortBy.js","../node_modules/d3-array/src/ascending.js","../node_modules/d3-shape/src/array.js","../node_modules/recharts/es6/shape/Dot.js","../node_modules/primereact/inputnumber.js","../node_modules/lodash/range.js","../node_modules/lodash/isNaN.js","../node_modules/lodash/uniqBy.js","../node_modules/recharts/es6/cartesian/CartesianAxis.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/isArrayLike.js","../node_modules/htmlparser2/lib/index.js","../node_modules/htmlparser2/node_modules/domelementtype/index.js","../node_modules/cheerio/lib/utils.js","../node_modules/css-select/node_modules/domutils/index.js","../node_modules/boolbase/index.js","../node_modules/d3-scale/src/ordinal.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js","../node_modules/recharts/es6/container/Surface.js","../node_modules/d3-array/src/number.js","../node_modules/d3-interpolate/src/number.js","../node_modules/recharts/es6/shape/Rectangle.js","../node_modules/d3-shape/src/noop.js","../node_modules/d3-shape/src/curve/basis.js","../node_modules/d3-shape/src/curve/basisClosed.js","../node_modules/d3-shape/src/curve/basisOpen.js","../node_modules/d3-shape/src/curve/linearClosed.js","../node_modules/d3-shape/src/curve/linear.js","../node_modules/d3-shape/src/curve/monotone.js","../node_modules/d3-shape/src/curve/natural.js","../node_modules/d3-shape/src/curve/step.js","../node_modules/d3-shape/src/point.js","../node_modules/d3-shape/src/line.js","../node_modules/d3-shape/src/area.js","../node_modules/recharts/es6/shape/Curve.js","../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/symbol/circle.js","../node_modules/d3-shape/src/symbol/cross.js","../node_modules/d3-shape/src/symbol/diamond.js","../node_modules/d3-shape/src/symbol/square.js","../node_modules/d3-shape/src/symbol/star.js","../node_modules/d3-shape/src/symbol/triangle.js","../node_modules/d3-shape/src/symbol/wye.js","../node_modules/recharts/es6/shape/Symbols.js","../node_modules/d3-shape/src/symbol.js","../node_modules/recharts/es6/component/DefaultLegendContent.js","../node_modules/recharts/es6/component/Legend.js","../node_modules/fflate/esm/browser.js","../node_modules/lodash/max.js","../node_modules/lodash/min.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/recharts/es6/component/DefaultTooltipContent.js","../node_modules/recharts/es6/component/Tooltip.js","../node_modules/process/browser.js","../node_modules/react-draggable/build/cjs/utils/shims.js","../node_modules/lodash/keys.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/cheerio/lib/parse.js","../node_modules/inherits/inherits_browser.js","../node_modules/lodash.foreach/index.js","../node_modules/react-is/index.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/axios/index.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../../src/logger/Logger.ts","../../node_modules/tslib/tslib.es6.js","../../node_modules/src/Util.ts","../../src/css/layout/bounds.ts","../../node_modules/css-line-break/node_modules/src/Util.ts","../../node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../../node_modules/css-line-break/node_modules/src/Trie.ts","../../node_modules/src/linebreak-trie.ts","../../node_modules/src/LineBreak.ts","../../src/css/syntax/tokenizer.ts","../../src/css/syntax/parser.ts","../../src/css/types/length.ts","../../src/css/types/length-percentage.ts","../../src/css/types/angle.ts","../../src/css/types/color.ts","../../src/css/property-descriptors/background-size.ts","../../src/css/property-descriptors/background-clip.ts","../../src/css/property-descriptors/background-color.ts","../../src/css/types/functions/gradient.ts","../../src/css/types/functions/-prefix-linear-gradient.ts","../../src/css/types/functions/-prefix-radial-gradient.ts","../../src/css/types/functions/radial-gradient.ts","../../src/css/types/image.ts","../../src/css/types/functions/linear-gradient.ts","../../src/css/types/functions/-webkit-gradient.ts","../../src/css/property-descriptors/background-image.ts","../../src/css/property-descriptors/background-origin.ts","../../src/css/property-descriptors/background-position.ts","../../src/css/property-descriptors/background-repeat.ts","../../src/css/property-descriptors/line-break.ts","../../src/css/property-descriptors/border-color.ts","../../src/css/property-descriptors/border-radius.ts","../../src/css/property-descriptors/border-style.ts","../../src/css/property-descriptors/border-width.ts","../../src/css/property-descriptors/color.ts","../../src/css/property-descriptors/direction.ts","../../src/css/property-descriptors/display.ts","../../src/css/property-descriptors/float.ts","../../src/css/property-descriptors/letter-spacing.ts","../../src/css/property-descriptors/word-break.ts","../../src/css/property-descriptors/line-height.ts","../../src/css/property-descriptors/list-style-image.ts","../../src/css/property-descriptors/list-style-position.ts","../../src/css/property-descriptors/list-style-type.ts","../../src/css/property-descriptors/margin.ts","../../src/css/property-descriptors/overflow.ts","../../src/css/property-descriptors/overflow-wrap.ts","../../src/css/property-descriptors/padding.ts","../../src/css/property-descriptors/text-align.ts","../../src/css/property-descriptors/position.ts","../../src/css/property-descriptors/text-shadow.ts","../../src/css/property-descriptors/text-transform.ts","../../src/css/property-descriptors/transform.ts","../../src/css/property-descriptors/transform-origin.ts","../../src/css/property-descriptors/visibility.ts","../../node_modules/text-segmentation/node_modules/src/Util.ts","../../src/css/property-descriptors/z-index.ts","../../src/css/types/time.ts","../../src/css/property-descriptors/opacity.ts","../../src/css/property-descriptors/text-decoration-color.ts","../../src/css/property-descriptors/text-decoration-line.ts","../../src/css/property-descriptors/font-family.ts","../../src/css/property-descriptors/font-size.ts","../../src/css/property-descriptors/font-weight.ts","../../src/css/property-descriptors/font-variant.ts","../../src/css/property-descriptors/font-style.ts","../../src/core/bitwise.ts","../../src/css/property-descriptors/content.ts","../../src/css/property-descriptors/counter-increment.ts","../../src/css/property-descriptors/counter-reset.ts","../../src/css/property-descriptors/duration.ts","../../src/css/property-descriptors/quotes.ts","../../src/css/property-descriptors/box-shadow.ts","../../src/css/property-descriptors/paint-order.ts","../../src/css/property-descriptors/webkit-text-stroke-color.ts","../../src/css/property-descriptors/webkit-text-stroke-width.ts","../../src/css/index.ts","../../src/core/debugger.ts","../../src/dom/element-container.ts","../../node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../../node_modules/text-segmentation/node_modules/src/Trie.ts","../../node_modules/src/GraphemeBreak.ts","../../src/dom/document-cloner.ts","../../node_modules/src/grapheme-break-trie.ts","../../src/core/features.ts","../../src/css/layout/text.ts","../../src/dom/text-container.ts","../../src/dom/replaced-elements/image-element-container.ts","../../src/dom/replaced-elements/canvas-element-container.ts","../../src/dom/replaced-elements/svg-element-container.ts","../../src/dom/elements/li-element-container.ts","../../src/dom/elements/ol-element-container.ts","../../src/dom/replaced-elements/input-element-container.ts","../../src/dom/elements/select-element-container.ts","../../src/dom/elements/textarea-element-container.ts","../../src/dom/replaced-elements/iframe-element-container.ts","../../src/dom/node-parser.ts","../../src/css/types/functions/counter.ts","../../src/render/bound-curves.ts","../../src/core/cache-storage.ts","../../src/render/vector.ts","../../src/render/bezier-curve.ts","../../src/render/effects.ts","../../src/render/path.ts","../../src/render/stacking-context.ts","../../src/render/border.ts","../../src/render/box-sizing.ts","../../src/render/background.ts","../../src/render/font-metrics.ts","../../src/core/util.ts","../../src/render/renderer.ts","../../src/render/canvas/canvas-renderer.ts","../../src/render/canvas/foreignobject-renderer.ts","../../src/core/logger.ts","../../src/core/context.ts","webpack:///../../src/index.ts?0e3e","../node_modules/lodash/every.js","../node_modules/lodash/isEqual.js","../node_modules/react-smooth/node_modules/react-transition-group/index.js","../node_modules/primereact/messages.js","../node_modules/primereact/inputtextarea.js","../node_modules/d3-scale/src/identity.js","../node_modules/d3-scale/src/nice.js","../node_modules/d3-scale/src/log.js","../node_modules/d3-scale/src/symlog.js","../node_modules/d3-scale/src/pow.js","../node_modules/d3-scale/src/radial.js","../node_modules/d3-array/src/max.js","../node_modules/d3-array/src/min.js","../node_modules/d3-array/src/quickselect.js","../node_modules/d3-array/src/quantile.js","../node_modules/d3-scale/src/quantile.js","../node_modules/d3-scale/src/quantize.js","../node_modules/d3-scale/src/threshold.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/utcMinute.js","../node_modules/d3-time/src/utcHour.js","../node_modules/d3-time/src/utcDay.js","../node_modules/d3-time/src/utcWeek.js","../node_modules/d3-time/src/utcMonth.js","../node_modules/d3-time/src/utcYear.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js","../node_modules/d3-scale/src/utcTime.js","../node_modules/d3-scale/src/sequential.js","../node_modules/d3-scale/src/sequentialQuantile.js","../node_modules/d3-interpolate/src/piecewise.js","../node_modules/d3-scale/src/diverging.js","../node_modules/i18next-http-backend/esm/getFetch.cjs","../node_modules/reduce-css-calc/dist/index.js","../node_modules/primereact/autocomplete.js","../node_modules/react-detect-offline/dist/index.js","../node_modules/recharts/es6/util/CssPrefixUtils.js","../node_modules/recharts/es6/cartesian/Brush.js","../node_modules/recharts/es6/cartesian/ReferenceArea.js","../node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","../node_modules/object-assign/index.js","../node_modules/primereact/components/utils/FilterUtils.js","../node_modules/react-draggable/build/cjs/utils/domFns.js","../node_modules/lodash/_baseEach.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/isLength.js","../node_modules/lodash/eq.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_arrayMap.js","../node_modules/cheerio/lib/cheerio.js","../node_modules/lodash.bind/index.js","../node_modules/cheerio/lib/static.js","../node_modules/css-select/lib/pseudos.js","../node_modules/css-select/node_modules/domelementtype/index.js","../node_modules/juice/lib/utils.js","../node_modules/mensch/lib/debug.js","../node_modules/d3-array/src/range.js","../node_modules/d3-scale/src/band.js","../node_modules/lodash/debounce.js","../node_modules/lodash/isNumber.js","../node_modules/jquery/dist/jquery.js","../node_modules/path-to-regexp/index.js","../node_modules/d3-format/src/formatSpecifier.js","../node_modules/d3-array/src/bisector.js","../node_modules/primereact/components/dropdown/Dropdown.js","../node_modules/primereact/components/datatable/RowCheckbox.js","../node_modules/primereact/components/messages/Messages.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/xlsx/dist/cpexcel.js","../node_modules/react-draggable/build/cjs/utils/positionFns.js","../node_modules/react-draggable/build/cjs/utils/log.js","../node_modules/primereact/components/checkbox/Checkbox.js","../node_modules/timers-browserify/main.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/toString.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/toFinite.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/_baseMap.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_baseExtremum.js","../node_modules/reduce-css-calc/dist/lib/reducer.js","../node_modules/react-smooth/node_modules/react-transition-group/Transition.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-smooth/node_modules/react-transition-group/utils/PropTypes.js","../node_modules/react-smooth/node_modules/react-transition-group/TransitionGroup.js","../node_modules/htmlparser2/lib/Parser.js","../node_modules/htmlparser2/lib/Tokenizer.js","../node_modules/htmlparser2/node_modules/domhandler/index.js","../node_modules/htmlparser2/node_modules/domhandler/lib/node.js","../node_modules/htmlparser2/node_modules/domutils/index.js","../node_modules/dom-serializer/index.js","../node_modules/entities/lib/decode.js","../node_modules/entities/lib/encode.js","../node_modules/htmlparser2/lib/WritableStream.js","../node_modules/cheerio/node_modules/dom-serializer/index.js","../node_modules/lodash.assignin/index.js","../node_modules/lodash.defaults/index.js","../node_modules/css-select/index.js","../node_modules/css-select/lib/attributes.js","../node_modules/mensch/lib/lexer.js","../../src/web.ts","../node_modules/jquery-ui-bundle/jquery-ui.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../node_modules/i18next-http-backend/esm/index.js","../node_modules/i18next-http-backend/esm/request.js","../node_modules/react-cookie-consent/build/index.js","../../src/FileSaver.js","../node_modules/react-dom/server.browser.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react-draggable/build/cjs/cjs.js","../node_modules/recharts/es6/chart/generateCategoricalChart.js","../node_modules/lodash/find.js","../node_modules/lodash/throttle.js","../node_modules/lodash/isBoolean.js","../node_modules/lodash/flatMap.js","../node_modules/recharts/es6/cartesian/ReferenceLine.js","../node_modules/lodash/some.js","../node_modules/lodash/mapValues.js","../node_modules/recharts/es6/cartesian/ReferenceDot.js","../../src/utils.ts","../../src/comparator.ts","../../src/index.ts","../node_modules/recharts/es6/shape/Cross.js","../node_modules/recharts/es6/shape/Sector.js","../node_modules/eventemitter3/index.js","../node_modules/lodash/last.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/cartesian/YAxis.js","../../node_modules/lodash/isObject.js","../../node_modules/lodash/_root.js","../../node_modules/lodash/_freeGlobal.js","../../node_modules/lodash/now.js","../../node_modules/lodash/_trimmedEndIndex.js","../../node_modules/lodash/_baseTrim.js","../../node_modules/lodash/_Symbol.js","../../node_modules/lodash/_getRawTag.js","../../node_modules/lodash/_objectToString.js","../../node_modules/lodash/_baseGetTag.js","../../node_modules/lodash/isObjectLike.js","../../node_modules/lodash/isSymbol.js","../../node_modules/lodash/toNumber.js","../../node_modules/lodash/debounce.js","../../node_modules/lodash/throttle.js","../../src/ResizeDetector.tsx","../../src/useResizeDetector.ts","../node_modules/primereact/tabmenu.js","../node_modules/primereact/menu.js","../node_modules/primereact/tristatecheckbox.js","../node_modules/primereact/message.js","../node_modules/primereact/togglebutton.js","../node_modules/primereact/chips.js","../node_modules/primereact/organizationchart.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-interpolate/src/value.js","../../src/app/IPublicClientApplication.ts","../../src/event/EventMessage.ts","../../src/MsalContext.ts","../../src/utils/utilities.ts","../../src/packageMetadata.ts","../../src/MsalProvider.tsx","../../src/error/ReactAuthError.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/recharts/es6/component/LabelList.js","../node_modules/recharts/es6/cartesian/ErrorBar.js","../node_modules/recharts/es6/cartesian/Line.js","../node_modules/d3-array/src/ticks.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/primereact/components/utils/PrimeReact.js","../node_modules/primereact/components/card/Card.js","../node_modules/primereact/components/paginator/Paginator.js","../node_modules/primereact/components/paginator/FirstPageLink.js","../node_modules/primereact/components/paginator/NextPageLink.js","../node_modules/primereact/components/paginator/PrevPageLink.js","../node_modules/primereact/components/paginator/LastPageLink.js","../node_modules/primereact/components/paginator/PageLinks.js","../node_modules/primereact/components/paginator/RowsPerPageDropdown.js","../node_modules/primereact/components/dropdown/DropdownPanel.js","../node_modules/primereact/components/dropdown/DropdownItem.js","../node_modules/primereact/components/paginator/CurrentPageReport.js","../node_modules/primereact/components/datatable/ScrollableView.js","../node_modules/primereact/components/datatable/TableBody.js","../node_modules/primereact/components/datatable/BodyRow.js","../node_modules/primereact/components/datatable/BodyCell.js","../node_modules/primereact/components/datatable/RowRadioButton.js","../node_modules/primereact/components/datatable/RowTogglerButton.js","../node_modules/primereact/components/datatable/TableFooter.js","../node_modules/primereact/components/datatable/FooterCell.js","../node_modules/primereact/components/datatable/TableHeader.js","../node_modules/primereact/components/datatable/HeaderCell.js","../node_modules/primereact/components/keyfilter/KeyFilter.js","../node_modules/primereact/components/datatable/TableLoadingBody.js","../node_modules/primereact/components/dialog/Dialog.js","../node_modules/primereact/components/fileupload/FileUpload.js","../node_modules/primereact/components/messages/UIMessage.js","../node_modules/primereact/components/progressbar/ProgressBar.js","../node_modules/primereact/components/toast/Toast.js","../node_modules/primereact/components/toast/ToastMessage.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/primereact/components/tabview/TabView.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/xlsx/jszip.js","../node_modules/react-draggable/build/cjs/Draggable.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/react-draggable/build/cjs/utils/getPrefix.js","../node_modules/react-draggable/build/cjs/DraggableCore.js","../node_modules/primereact/components/multiselect/MultiSelect.js","../node_modules/primereact/components/multiselect/MultiSelectHeader.js","../node_modules/primereact/components/multiselect/MultiSelectItem.js","../node_modules/primereact/components/multiselect/MultiSelectPanel.js","../node_modules/setimmediate/setImmediate.js","../node_modules/lodash/_arrayEvery.js","../node_modules/lodash/_baseEvery.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/memoize.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/property.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_createFind.js","../node_modules/lodash/findIndex.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/now.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_baseOrderBy.js","../node_modules/lodash/_baseSortBy.js","../node_modules/lodash/_compareMultiple.js","../node_modules/lodash/_compareAscending.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/constant.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_createRange.js","../node_modules/lodash/_baseRange.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/_baseGt.js","../node_modules/lodash/_baseLt.js","../node_modules/lodash/map.js","../node_modules/lodash/_baseUniq.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/lodash/_arrayIncludesWith.js","../node_modules/lodash/_createSet.js","../node_modules/lodash/noop.js","../node_modules/lodash/_baseSome.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/postcss-value-parser/lib/index.js","../node_modules/postcss-value-parser/lib/parse.js","../node_modules/postcss-value-parser/lib/walk.js","../node_modules/postcss-value-parser/lib/stringify.js","../node_modules/postcss-value-parser/lib/unit.js","../node_modules/reduce-css-calc/dist/parser.js","../node_modules/reduce-css-calc/dist/lib/convert.js","../node_modules/css-unit-converter/index.js","../node_modules/reduce-css-calc/dist/lib/stringifier.js","../node_modules/react-smooth/node_modules/react-transition-group/CSSTransition.js","../node_modules/react-smooth/node_modules/dom-helpers/class/addClass.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/react-smooth/node_modules/dom-helpers/class/hasClass.js","../node_modules/react-smooth/node_modules/dom-helpers/class/removeClass.js","../node_modules/react-smooth/node_modules/react-transition-group/ReplaceTransition.js","../node_modules/react-smooth/node_modules/react-transition-group/utils/ChildMapping.js","../node_modules/juice/client.js","../node_modules/juice/lib/cheerio.js","../node_modules/cheerio/index.js","../node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js","../node_modules/events/events.js","../node_modules/htmlparser2/node_modules/domhandler/lib/element.js","../node_modules/htmlparser2/lib/FeedHandler.js","../node_modules/htmlparser2/node_modules/domutils/lib/stringify.js","../node_modules/domelementtype/lib/esm/index.js","../node_modules/entities/lib/index.js","../node_modules/entities/lib/decode_codepoint.js","../node_modules/htmlparser2/node_modules/domutils/lib/traversal.js","../node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js","../node_modules/htmlparser2/node_modules/domutils/lib/querying.js","../node_modules/htmlparser2/node_modules/domutils/lib/legacy.js","../node_modules/htmlparser2/node_modules/domutils/lib/helpers.js","../node_modules/htmlparser2/lib/Stream.js","../node_modules/string_decoder/lib/string_decoder.js","../node_modules/safe-buffer/index.js","../node_modules/htmlparser2/lib/ProxyHandler.js","../node_modules/htmlparser2/lib/CollectingHandler.js","../node_modules/cheerio/node_modules/domelementtype/index.js","../node_modules/cheerio/node_modules/entities/index.js","../node_modules/cheerio/node_modules/entities/lib/encode.js","../node_modules/cheerio/node_modules/entities/lib/decode.js","../node_modules/cheerio/node_modules/entities/lib/decode_codepoint.js","../node_modules/cheerio/lib/api/attributes.js","../node_modules/css-select/node_modules/domutils/lib/stringify.js","../node_modules/css-select/node_modules/domutils/lib/traversal.js","../node_modules/css-select/node_modules/domutils/lib/manipulation.js","../node_modules/css-select/node_modules/domutils/lib/querying.js","../node_modules/css-select/node_modules/domutils/lib/legacy.js","../node_modules/css-select/node_modules/domutils/lib/helpers.js","../node_modules/nth-check/index.js","../node_modules/nth-check/parse.js","../node_modules/nth-check/compile.js","../node_modules/css-select/lib/compile.js","../node_modules/css-what/index.js","../node_modules/css-select/lib/general.js","../node_modules/css-select/lib/sort.js","../node_modules/lodash.merge/index.js","../node_modules/lodash.some/index.js","../node_modules/cheerio/lib/api/traversing.js","../node_modules/lodash.reject/index.js","../node_modules/lodash.filter/index.js","../node_modules/lodash.reduce/index.js","../node_modules/cheerio/lib/api/manipulation.js","../node_modules/lodash.flatten/index.js","../node_modules/cheerio/lib/api/css.js","../node_modules/lodash.pick/index.js","../node_modules/cheerio/lib/api/forms.js","../node_modules/lodash.map/index.js","../node_modules/mensch/index.js","../node_modules/mensch/lib/parser.js","../node_modules/mensch/lib/stringify.js","../node_modules/juice/lib/selector.js","../node_modules/slick/parser.js","../node_modules/juice/lib/property.js","../node_modules/juice/lib/inline.js","../node_modules/primereact/components/calendar/Calendar.js","../node_modules/primereact/components/calendar/CalendarPanel.js","../node_modules/primereact/components/tabmenu/TabMenu.js","../node_modules/primereact/components/toolbar/Toolbar.js","../node_modules/primereact/components/menu/Menu.js","../node_modules/primereact/components/radiobutton/RadioButton.js","../node_modules/primereact/components/tristatecheckbox/TriStateCheckbox.js","../node_modules/primereact/components/inputnumber/InputNumber.js","../node_modules/primereact/components/message/Message.js","../node_modules/primereact/components/togglebutton/ToggleButton.js","../node_modules/primereact/components/autocomplete/AutoComplete.js","../node_modules/primereact/components/autocomplete/AutoCompletePanel.js","../node_modules/primereact/components/chips/Chips.js","../node_modules/primereact/components/fieldset/Fieldset.js","../node_modules/primereact/components/organizationchart/OrganizationChart.js","../node_modules/primereact/components/inputtextarea/InputTextarea.js","../node_modules/react-feather/dist/icons/x.js","../node_modules/react-feather/dist/icons/upload-cloud.js","../node_modules/react-feather/dist/icons/message-circle.js","../node_modules/recharts/es6/chart/LineChart.js","../node_modules/d3-path/src/path.js","../node_modules/d3-array/src/bisect.js","../node_modules/d3-interpolate/src/round.js","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/react-feather/dist/icons/chevron-left.js","../node_modules/react-feather/dist/icons/file-text.js","../node_modules/react-feather/dist/icons/send.js","../node_modules/react-feather/dist/icons/fast-forward.js","../node_modules/react-feather/dist/icons/chevron-right.js","../../src/telemetry/performance/PerformanceEvent.ts","../../src/cache/CryptoKeyStore.ts","../../src/error/ServerError.ts","../../src/error/JoseHeaderError.ts","../../src/crypto/JoseHeader.ts","../../src/utils/MathUtils.ts","../../src/crypto/GuidGenerator.ts","../../src/utils/BrowserStringUtils.ts","../../src/encode/Base64Encode.ts","../../src/encode/Base64Decode.ts","../../src/error/BrowserAuthError.ts","../../src/crypto/PkceGenerator.ts","../../src/crypto/ModernBrowserCrypto.ts","../../src/crypto/MsrBrowserCrypto.ts","../../src/crypto/MsBrowserCrypto.ts","../../src/crypto/BrowserCrypto.ts","../../src/cache/DatabaseStorage.ts","../../src/cache/MemoryStorage.ts","../../src/cache/AsyncMemoryStorage.ts","../../src/crypto/CryptoOps.ts","../../src/telemetry/performance/PerformanceClient.ts","../../src/telemetry/performance/StubPerformanceClient.ts","../../src/crypto/ICrypto.ts","../../src/cache/entities/CredentialEntity.ts","../../src/error/ClientConfigurationError.ts","../../src/account/CcsCredential.ts","../../src/request/ScopeSet.ts","../../src/account/AuthToken.ts","../../src/cache/CacheManager.ts","../../src/cache/entities/IdTokenEntity.ts","../../src/utils/TimeUtils.ts","../../src/cache/entities/AccessTokenEntity.ts","../../src/cache/entities/RefreshTokenEntity.ts","../../src/cache/entities/AppMetadataEntity.ts","../../src/cache/entities/ServerTelemetryEntity.ts","../../src/cache/entities/AuthorityMetadataEntity.ts","../../src/cache/entities/ThrottlingEntity.ts","../../src/utils/ProtocolUtils.ts","../../src/authority/ProtocolMode.ts","../../src/authority/AuthorityOptions.ts","../../src/cache/BrowserStorage.ts","../../src/url/UrlString.ts","../../src/utils/BrowserProtocolUtils.ts","../../src/cache/BrowserCacheManager.ts","../../src/config/ClientConfiguration.ts","../../src/network/INetworkModule.ts","../../src/network/FetchClient.ts","../../src/network/XhrClient.ts","../../src/utils/BrowserUtils.ts","../../src/navigation/NavigationClient.ts","../../src/crypto/PopTokenGenerator.ts","../../src/event/EventHandler.ts","../../src/network/ThrottlingUtils.ts","../../src/network/NetworkManager.ts","../../src/request/RequestValidator.ts","../../src/request/RequestParameterBuilder.ts","../../src/client/BaseClient.ts","../../src/cache/entities/CacheRecord.ts","../../src/cache/persistence/TokenCacheContext.ts","../../src/response/ResponseHandler.ts","../../src/client/AuthorizationCodeClient.ts","../../src/authority/OpenIdConfigResponse.ts","../../src/authority/AuthorityMetadata.ts","../../src/authority/RegionDiscovery.ts","../../src/error/NativeAuthError.ts","../../src/authority/Authority.ts","../../src/authority/CloudInstanceDiscoveryResponse.ts","../../src/authority/CloudInstanceDiscoveryErrorResponse.ts","../../src/authority/AuthorityFactory.ts","../../src/telemetry/server/ServerTelemetryManager.ts","../../src/interaction_client/BaseInteractionClient.ts","../../src/interaction_client/StandardInteractionClient.ts","../../src/client/RefreshTokenClient.ts","../../src/client/SilentFlowClient.ts","../../src/interaction_client/SilentCacheClient.ts","../../src/interaction_client/NativeInteractionClient.ts","../../src/broker/nativeBroker/NativeMessageHandler.ts","../../src/interaction_handler/InteractionHandler.ts","../../src/interaction_client/PopupClient.ts","../../src/interaction_handler/RedirectHandler.ts","../../src/interaction_client/RedirectClient.ts","../../src/interaction_handler/SilentHandler.ts","../../src/config/Configuration.ts","../../src/interaction_client/SilentIframeClient.ts","../../src/interaction_client/SilentRefreshClient.ts","../../src/cache/TokenCache.ts","../../src/interaction_client/HybridSpaAuthorizationCodeClient.ts","../../src/interaction_client/SilentAuthCodeClient.ts","../../src/telemetry/BrowserPerformanceMeasurement.ts","../../src/telemetry/BrowserPerformanceClient.ts","../../src/app/PublicClientApplication.ts","../../src/app/ClientApplication.ts","../node_modules/d3-format/src/formatPrefixAuto.js","../node_modules/d3-format/src/defaultLocale.js","../node_modules/d3-format/src/formatRounded.js","../node_modules/d3-format/src/formatTypes.js","../node_modules/d3-format/src/identity.js","../node_modules/d3-format/src/locale.js","../node_modules/d3-format/src/formatGroup.js","../node_modules/d3-format/src/formatNumerals.js","../node_modules/d3-format/src/formatTrim.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/useTranslation.js","../node_modules/react-i18next/dist/es/withTranslation.js"],"names":["module","exports","require","HeaderNames","PersistentCacheKeys","AADAuthorityConstants","AADServerParamKeys","ClaimsRequestKeys","Constants","LIBRARY_NAME","SKU","CACHE_PREFIX","DEFAULT_AUTHORITY","DEFAULT_AUTHORITY_HOST","DEFAULT_COMMON_TENANT","ADFS","DSTS","AAD_INSTANCE_DISCOVERY_ENDPT","RESOURCE_DELIM","NO_ACCOUNT","CLAIMS","CONSUMER_UTID","OPENID_SCOPE","PROFILE_SCOPE","OFFLINE_ACCESS_SCOPE","EMAIL_SCOPE","CODE_RESPONSE_TYPE","CODE_GRANT_TYPE","RT_GRANT_TYPE","FRAGMENT_RESPONSE_MODE","S256_CODE_CHALLENGE_METHOD","URL_FORM_CONTENT_TYPE","AUTHORIZATION_PENDING","NOT_DEFINED","EMPTY_STRING","NOT_APPLICABLE","FORWARD_SLASH","IMDS_ENDPOINT","IMDS_VERSION","IMDS_TIMEOUT","AZURE_REGION_AUTO_DISCOVER_FLAG","REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX","REGIONAL_AUTH_NON_MSI_QUERY_STRING","KNOWN_PUBLIC_CLOUDS","TOKEN_RESPONSE_TYPE","ID_TOKEN_RESPONSE_TYPE","SHR_NONCE_VALIDITY","INVALID_INSTANCE","OIDC_DEFAULT_SCOPES","OIDC_SCOPES","SSOTypes","PromptValue","LOGIN","SELECT_ACCOUNT","CONSENT","NONE","CREATE","NO_SESSION","ResponseMode","GrantType","CacheAccountType","Separators","CredentialType","CacheSchemaType","CacheType","CodeChallengeMethodValues","PLAIN","S256","AuthorityMetadataSource","APP_METADATA","CLIENT_INFO","THE_FAMILY_ID","AUTHORITY_METADATA_CONSTANTS","CACHE_KEY","REFRESH_TIME_SECONDS","AuthenticationScheme","SERVER_TELEM_CONSTANTS","SCHEMA_VERSION","MAX_CUR_HEADER_BYTES","MAX_LAST_HEADER_BYTES","MAX_CACHED_ERRORS","CATEGORY_SEPARATOR","VALUE_SEPARATOR","OVERFLOW_TRUE","OVERFLOW_FALSE","UNKNOWN_ERROR","PasswordGrantConstants","ResponseCodes","RegionDiscoverySources","RegionDiscoveryOutcomes","CacheOutcome","JsonTypes","ThrottlingConstants","DEFAULT_THROTTLE_TIME_SECONDS","DEFAULT_MAX_THROTTLE_TIME_SECONDS","THROTTLING_PREFIX","X_MS_LIB_CAPABILITY_VALUE","Errors","INVALID_GRANT_ERROR","CLIENT_MISMATCH_ERROR","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","NativeExtensionMethod","BrowserCacheLocation","HTTP_REQUEST_TYPE","TemporaryCacheKeys","InMemoryCacheKeys","ApiId","InteractionType","InteractionStatus","BrowserConstants","INTERACTION_IN_PROGRESS_VALUE","POPUP_WIDTH","POPUP_HEIGHT","POPUP_NAME_PREFIX","DEFAULT_POLL_INTERVAL_MS","MSAL_SKU","NativeConstants","CHANNEL_ID","PREFERRED_EXTENSION_ID","MATS_TELEMETRY","WrapperSKU","DEFAULT_REQUEST","scopes","KEY_FORMAT_JWK","CacheLookupPolicy","DB_NAME","DB_VERSION","DB_TABLE_NAME","_inherits","subClass","superClass","create","constructor","value","_createSuper","Derived","result","Super","NewTarget","this","Reflect","construct","arguments","apply","_createForOfIteratorHelper","o","Symbol","iterator","Array","isArray","F","s","n","done","e","_e","f","it","err","normalCompletion","didErr","step","next","_e2","factory","window","modules","installedModules","__webpack_require__","moduleId","l","call","m","c","d","name","getter","get","r","toStringTag","t","mode","__esModule","ns","bind","object","property","hasOwnProperty","p","RGBColor","stackblur","canvg","opts","document","getElementById","svg","stop","matchesSelector","Element","matches","node","selector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","jQuery","Zepto","$","is","Sizzle","getMatchesSelector","CanvasRenderingContext2D","drawSvg","dx","dy","dw","dh","cOpts","ignoreMouse","ignoreAnimation","ignoreDimensions","ignoreClear","offsetX","offsetY","scaleWidth","scaleHeight","prop","canvas","FRAMERATE","MAX_VIRTUAL_PIXELS","log","msg","console","init","ctx","uniqueId","UniqueId","Definitions","Styles","StylesSpecificity","Animations","Images","ViewPort","viewPorts","Clear","SetCurrent","width","height","push","RemoveCurrent","pop","Current","ComputeSize","Math","sqrt","pow","ImagesLoaded","loaded","trim","replace","compressSpaces","ajax","url","AJAX","XMLHttpRequest","ActiveXObject","open","send","responseText","parseXml","xml","Windows","Data","Xml","xmlDoc","Dom","XmlDocument","settings","XmlLoadSettings","prohibitDtd","loadXml","DOMParser","parseFromString","async","loadXML","Property","getValue","hasValue","numValue","parseFloat","match","valueOrDefault","def","numValueOrDefault","addOpacity","opacityProp","newValue","color","ok","g","b","getDefinition","isUrlDefinition","indexOf","getFillStyleDefinition","createGradient","createPattern","getHrefAttribute","pt","attribute","getDPI","viewPort","getEM","em","fontSize","Font","Parse","font","toPixels","getUnits","processPercent","toMilliseconds","toRadians","PI","textBaselineMapping","toTextBaseline","Variants","Weights","CreateFont","fontStyle","fontVariant","fontWeight","fontFamily","inherit","toString","join","that","split","set","ff","ToNumberArray","a","Point","x","y","angleTo","atan2","applyTransform","v","xp","yp","CreatePoint","CreatePath","path","BoundingBox","x1","y1","x2","y2","Number","NaN","addPoint","isNaN","addX","addY","addBoundingBox","bb","addQuadraticCurve","p0x","p0y","p1x","p1y","p2x","p2y","cp1x","cp1y","cp2x","cp2y","addBezierCurve","p3x","p3y","p0","p1","p2","p3","b2ac","t1","t2","isPointInBox","Transform","Type","translate","unapply","applyToPoint","rotate","angle","cx","cy","cos","sin","scale","matrix","transform","det","SkewBase","base","skewX","tan","skewY","transforms","data","type","transformType","AspectRatio","aspectRatio","desiredWidth","desiredHeight","minX","minY","refX","refY","align","meetOrSlice","scaleX","scaleY","scaleMin","min","scaleMax","max","EmptyProperty","ElementBase","attributes","styles","stylesSpecificity","children","createIfNotExists","style","skipAncestors","parent","ps","render","save","mask","filter","setContext","renderChildren","clearContext","restore","addChild","childNode","child","CreateElement","addStylesFromStyleDefinition","specificity","existingSpecificity","nodeType","nodeName","childNodes","captureTextNodes","text","textContent","tspan","RenderedElementBase","fs","fillStyle","strokeStyle","newLineWidth","lineWidth","lineCap","lineJoin","miterLimit","gaps","setLineDash","webkitLineDash","mozDash","offset","lineDashOffset","webkitLineDashOffset","mozDashOffset","clip","globalAlpha","PathElementBase","beginPath","Mouse","checkPath","fill","stroke","markers","getMarkers","marker","getBoundingBox","baseClearContext","baseSetContext","getComputedStyle","getPropertyValue","root","moveTo","lineTo","closePath","viewBox","rect","rx","ry","quadraticCurveTo","circle","arc","ellipse","KAPPA","bezierCurveTo","line","getPoints","points","polyline","polygon","basePath","PathParser","tokens","reset","command","previousCommand","start","control","current","angles","isEnd","isCommandOrEnd","isRelativeCommand","getToken","getScalar","nextCommand","getPoint","makeAbsolute","getAsControlPoint","getAsCurrentPoint","getReflectedControlPoint","toLowerCase","addMarker","from","priorTo","addMarkerAngle","getMarkerPoints","getMarkerAngles","j","pp","newP","curr","cntrl","cp","xAxisRotation","largeArcFlag","sweepFlag","currp","cpp","centp","u","acos","a1","ad","dir","ah","halfWay","sx","sy","pattern","element","tempSvg","createElement","cctx","getContext","baseRender","point","defs","GradientBase","stops","getGradient","gradientUnits","attributesToInherit","inheritStopContainer","stopsContainer","attributeToInherit","parentOpacityProp","addParentOpacity","addColorStop","rootView","group","tempCtx","linearGradient","createLinearGradient","radialGradient","fx","fy","createRadialGradient","stopColor","AnimateBase","duration","begin","maxDuration","getProperty","attributeType","attributeName","initialValue","initialUnits","removed","calcValue","update","delta","frozen","animationFrozen","animationFrozenValue","updated","to","values","progress","ret","lb","floor","ub","ceil","animate","animateColor","parseInt","animateTransform","horizAdvX","isRTL","isArabic","fontFace","missingGlyph","glyphs","arabicForm","unicode","fontface","ascent","descent","unitsPerEm","missingglyph","glyph","textBaseline","getText","getAnchorDelta","renderChild","startI","textAnchor","measureTextRecursive","textParent","measureText","TextElementBase","getGlyph","customFont","fillText","strokeText","reverse","lw","measure","textToMeasure","tref","hasText","baseRenderChildren","checkBoundingBox","onclick","onmousemove","cursor","image","href","isSvg","img","crossOrigin","self","onload","onerror","src","drawImage","symbol","css","cssDefs","cssDef","cssClasses","cssProps","cssClass","k","substr","getSelectorSpecificity","srcs","urlStart","urlEnd","fonts","getElementsByTagName","use","oldParent","cMask","maskCtx","globalCompositeOperation","fillRect","clipPath","oldBeginPath","oldClosePath","px","py","efd","extraFilterDistance","feMorphology","feComposite","feColorMatrix","m1","m2","m3","imGet","rgba","imSet","val","mi","srcData","getImageData","clearRect","putImageData","feGaussianBlur","blurRadius","canvasRGBA","id","display","body","appendChild","removeChild","title","desc","MISSING","className","load","loadXmlDoc","dom","mapXY","offsetLeft","offsetTop","offsetParent","scrollX","scrollY","clientX","event","clientY","documentElement","isFirstRender","draw","parentNode","clientWidth","clientHeight","cWidth","cHeight","xRatio","yRatio","waitingForImages","intervalID","setInterval","needUpdate","hasEvents","runEvents","clearInterval","events","run","eventElements","isPointInPath","build","svgTags","querySelectorAll","svgTag","insertBefore","div","innerHTML","typeCount","findMatch","regex","useSourceMap","list","map","item","content","sourceMap","cssMapping","btoa","sourceMapping","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","concat","cssWithMappingToString","mediaQuery","alreadyImportedModules","color_string","alpha","charAt","simple_colors","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","color_defs","re","example","process","bits","processor","exec","channels","toRGB","toRGBA","toHex","getHelpXML","examples","sc","setAttribute","list_item","list_color","example_div","cssText","createTextNode","list_item_value","error","execScript","attachEvent","addEventListener","eval","default","Tweenable","composeEasingObject","tweenProps","clone","each","tween","tweenable","h","cancelAnimationFrame","webkitCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","mozCancelRequestAnimationFrame","clearTimeout","_","requestAnimationFrame","webkitRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","keys","forEach","w","O","M","_currentState","_configured","_scheduleFunction","setConfig","filters","_filterArgs","_delay","_duration","_step","_targetState","_timestamp","now","isPlaying","_attachment","_scheduleId","_timeoutHandler","_applyFilter","_originalState","_easing","_isTweening","_start","resume","attachment","_pausedAtTime","delay","easing","promise","Promise","_promise","_resolve","_reject","catch","_isPaused","pause","formulas","token","Date","getOwnPropertySymbols","propertyIsEnumerable","assign","String","getOwnPropertyNames","fromCharCode","unsetBezierFunction","setBezierFunction","displayName","interpolate","Function","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeOutBounce","easeInBack","easeOutBack","easeInOutBack","elastic","swingFromTo","swingFrom","swingTo","bounce","bouncePast","easeFromTo","easeFrom","easeTo","tweenCreated","_tokenData","beforeTween","P","afterTween","S","RegExp","unshift","formatString","chunkNames","toFixed","mul_table","shg_table","BlurStack","pixels","radius","yi","yw","r_sum","g_sum","b_sum","a_sum","r_out_sum","g_out_sum","b_out_sum","a_out_sum","r_in_sum","g_in_sum","b_in_sum","a_in_sum","pr","pg","pb","pa","rbs","widthMinus1","heightMinus1","radiusPlus1","sumFactor","stackStart","stack","stackEnd","stackIn","stackOut","mul_sum","shg_sum","stylesInDom","isOldIE","fn","memo","memoize","all","atob","getTarget","querySelector","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","options","domStyle","refs","parts","addStyle","listToStyles","newStyles","part","media","insertStyleElement","insertInto","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","firstChild","before","removeStyleElement","idx","splice","createStyleElement","undefined","attrs","addAttrs","el","obj","remove","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","applyToTag","newObj","DEBUG","newList","mayRemove","replaceText","textStore","index","replacement","Boolean","styleSheet","cssNode","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","location","baseUrl","protocol","host","currentDir","pathname","fullMatch","origUrl","newUrl","unquotedOrigUrl","$1","test","locator","DOMHandler","cdata","position","lineNumber","columnNumber","_locator","systemId","_toString","chars","java","lang","appendElement","hander","currentElement","doc","mimeType","sax","XMLReader","domBuilder","errorHandler","defaultNSMap","xmlns","entityMap","setDocumentLocator","errorImpl","isCallback","buildErrorHandler","nbsp","copy","parse","startDocument","DOMImplementation","createDocument","documentURI","startElement","namespaceURI","localName","qName","createElementNS","len","getURI","attr","getQName","createAttributeNS","getLocator","nodeValue","setAttributeNode","endElement","tagName","startPrefixMapping","prefix","uri","endPrefixMapping","processingInstruction","ins","createProcessingInstruction","ignorableWhitespace","ch","characters","charNode","createCDATASection","skippedEntity","endDocument","normalize","comment","comm","createComment","startCDATA","endCDATA","startDTD","publicId","impl","implementation","createDocumentType","dt","warning","warn","fatalError","XMLSerializer","dest","_extends","Class","ppt","__proto__","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","HIERARCHY_REQUEST_ERR","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","NOT_FOUND_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","INUSE_ATTRIBUTE_ERR","NOT_SUPPORTED_ERR","DOMException","code","message","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","inc","_inc","ownerDocument","ls","__set__","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","_nsMap","_onAddAttribute","_removeNamedNode","lastIndex","features","_features","feature","Node","_xmlEncoder","charCodeAt","_visitNode","callback","Document","_onUpdateChild","newChild","cs","_removeChild","previous","previousSibling","lastChild","_insertBefore","nextChild","newFirst","newLast","pre","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","nodeSerializeToString","isHtml","nodeFilter","buf","refNode","lookupPrefix","visibleNamespaces","namespace","serializeToString","needNamespaceDefine","isHTML","pubid","sysid","sub","internalSubset","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","getNamedItem","setNamedItem","_ownerElement","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","version","versions","qualifiedName","doctype","refChild","replaceChild","oldChild","hasChildNodes","cloneNode","deep","node2","attrs2","appendData","isSupported","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importNode","importedNode","rtv","getAttribute","createDocumentFragment","createAttribute","specified","createEntityReference","pl","hasAttribute","getAttributeNode","removeAttribute","removeAttributeNode","_appendSingleChild","setAttributeNodeNS","removeAttributeNS","old","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","getElementsByTagNameNS","substringData","count","substring","insertData","replaceData","deleteData","splitText","newText","newNode","$$length","getTextContent","nameStartChar","nameChar","slice","tagNamePattern","copyLocator","parseElementStartPart","currentNSMap","entityReplacer","attrName","add","setTagName","closed","localNSMap","nsp","nsPrefix","_copy","parseHtmlSpecialContent","elStartEnd","elEndStart","fixSelfClosed","closeMap","pos","lastIndexOf","parseDCC","end","matchs","reg","lastMatch","endDTD","parseInstruction","ElementAttributes","_set_proto_","thiz","defaultNSMapCopy","surrogate1","surrogate2","fixedFromCharCode","appendText","xt","lineEnd","linePattern","lineStart","parseStack","tagStart","config","endMatch","locator2","getLocalName","_packages","_packages2","_toConsumableArray","arr","arr2","Canvas","extend","NAME","canvasId","_this","setScrollArea","html","initialWidth","getWidth","initialHeight","getHeight","droppable","accept","over","ui","onDragEnter","draggable","out","onDragLeave","drop","_getEvent","helperPos","helper","fromDocumentToCanvasCoordinate","onDrop","getX","left","getY","top","shiftKey","ctrlKey","appendTo","zIndex","drag","onDrag","addClass","paper","Raphael","zoomPolicy","zoomFactor","selection","Selection","currentDropTarget","currentHoverFigure","regionDragDropConstraint","policy","figure","RegionEditPolicy","eventSubscriptions","editPolicy","util","ArrayList","figures","lines","commonPorts","resizeHandles","commandStack","CommandStack","linesToRepaintAfterDragDrop","lineIntersections","installEditPolicy","WheelZoomPolicy","DefaultKeyboardPolicy","BoundingboxSelectionPolicy","DropInterceptorPolicy","connection","ComposedConnectionCreatePolicy","DragConnectionCreatePolicy","ClickConnectionCreatePolicy","isPostChangeEvent","calculateConnectionIntersection","svgPathString","repaint","mouseDown","mouseDownX","mouseDownY","mouseDragDiffX","mouseDragDiffY","onMouseUp","hover","getBestFigure","onMouseLeave","fireEvent","onMouseEnter","exc","onMouseMove","hoverFigure","diffXAbs","diffYAbs","onMouseDrag","which","preventDefault","onMouseDown","stopPropagation","onRightMouseDown","on","onDoubleClick","onClick","originalEvent","wheelDelta","detail","onMouseWheel","keyupCallback","KeyboardPolicy","onKeyUp","keyCode","keydownCallback","onKeyDown","destroy","clear","unbind","markSaveLocation","hideDecoration","showDecoration","_this2","getLines","_loop","l1","removeElementAt","ii","l2","partInter","intersection","getSize","other","_this3","SelectionPolicy","getSelection","getAll","unselect","grep","stay","onUninstall","ZoomPolicy","ConnectionCreatePolicy","uninstallEditPolicy","onInstall","getDropInterceptorPolicies","setZoom","animated","getZoom","getDimension","geo","Rectangle","setDimension","dim","widths","getFigures","getAbsoluteX","heights","getAbsoluteY","asArray","setSize","getScrollLeft","getScrollTop","fromCanvasToDocumentCoordinate","getHtmlContainer","touches","changedTouches","elementSelector","scrollArea","getScrollArea","scrollLeft","scrollTop","setScrollLeft","setScrollTop","scrollTo","getCanvas","shape","basic","Line","setPosition","setCanvas","getShapeElement","PolyLine","_this4","contains","Connection","disconnect","getLine","getId","getFigure","getIntersection","entry","justTouching","snapToHelper","_this5","orig","SnapToEditPolicy","snap","registerPort","port","unregisterPort","getAllPorts","getCommandStack","getPrimarySelection","getPrimary","setCurrentSelection","_this6","addSelection","_this7","select","blacklist","whitelist","testFigure","isInList","considering","isInBlacklist","isInWhitelist","checkRecursive","isVisible","hitTest","_i","_len","_i2","figureResult","childResult","lineResult","getBestLine","_i3","array","sort","lineToIgnore","Figure","inArray","draggedDomNode","droppedDomNode","relX","relY","onContextMenu","returnValue","args","subscribers","off","eventOrFunction","Configuration","i18n","move","assignShape","groupShapes","ungroupShapes","deleteShape","moveShape","moveLine","addShape","moveVertex","moveVertices","deleteVertex","resizeShape","rotateShape","collection","addVertex","changeAttributes","connectPorts","menu","deleteSegment","addSegment","dialog","filenamePrompt","createResizeHandle","owner","ResizeHandle","createConnection","sourcePort","targetPort","dropTarget","createInputPort","relatedFigure","InputPort","createOutputPort","OutputPort","createHybridPort","HybridPort","_interopRequireDefault","_extend","_extend2","setter","oldPoint","sourceDecorator","targetDecorator","sourceDecoratorNode","targetDecoratorNode","isMoving","moveListener","setStartPoint","setEndPoint","_super","setSourceDecorator","setTargetDecorator","setSource","setTarget","getSourceDecorator","getTargetDecorator","getSource","connections","onDisconnect","fireSourcePortRouteEvent","fireTargetPortRouteEvent","reconnect","onConnect","routingRequired","isResizeable","isDraggable","layout","ConnectionLocator","decorator","setParent","calculatePath","routingHints","getZOrder","toBack","repaintBlocked","paint","getVertices","first","getStartAngle","opacity","getColor","lineColor","hex","last","getEndAngle","postProcess","postProcessCache","router","dx2","dy2","updateVertices","DragDropEditPolicy","moved","toFront","insertAfter","getStartPoint","refPoint","getStartPosition","getConnectionAnchorLocation","getConnectionAnchorReferencePoint","getEndPoint","getEndPosition","sharingPorts","notiCanvas","lineSegments","SplineConnectionRouter","asin","abs","getConnections","conn","createCommand","request","getPolicy","CommandType","MOVE","CommandMoveVertices","MOVE_BASEPOINT","CommandReconnect","getPersistentAttributes","memento","getParent","getName","decoration","setPersistentAttributes","_JSONUtil","_JSONUtil2","_UUID","_UUID2","_defineProperty","MIN_TIMER_INTERVAL","setterWhitelist","setId","setX","setY","setWidth","setHeight","boundingBox","setBoundingBox","minWidth","setMinWidth","minHeight","setMinHeight","setCssClass","userData","setUserData","setDraggable","resizeable","setResizeable","selectable","setSelectable","setRotationAngle","setAlpha","glow","setGlow","visible","setVisible","keepAspectRatio","setKeepAspectRatio","getterWhitelist","getRotationAngle","getUserData","isSelectable","getAlpha","isResizeHandle","deleteable","canSnapToHelper","snapToGridAnchor","timerId","timerInterval","composite","rotationAngle","getMinWidth","getMinHeight","isInDragDrop","ox","oy","lastAppliedAttributes","selectionHandles","panningDelegate","relocateChildrenEventCallback","relocate","defaultSelectionAdapter","selectionAdapter","RectangleSelectionFeedbackPolicy","isPlainObject","func","param","_key","pick","var_keys","asPrimarySelection","onSelect","onUnselect","setSelectionAdapter","adapter","getSelectionAdapter","isSelected","newId","getCssClass","hasCssClass","addCssClass","removeCssClass","newClass","toggleCssClass","stopTimer","startTimer","milliSeconds","onTimer","StrongComposite","getTopLevelShapeElement","_figures","_lines","insertElementAt","handle","SelectionFeedbackPolicy","removedPolicy","debug","getChildren","resetChildren","createShapeElement","hide","visibleDuration","fadeOut","show","fadeIn","flatDiff","applyTransformation","flag","getHandleBBox","onDragStart","bbox","getAbsolutePosition","getBestChild","canStartDrag","_newPos","adjustPosition","newPos","getCanSnapToHelper","onPanning","onPanningEnd","onDragEnd","execute","delegateTarget","draggedFigure","_this8","delegate","onCatch","droppedFigure","percent","_this9","getKeepAspectRatio","setCanSnapToHelper","getSnapToGridAnchor","setSnapToGridAnchor","getAbsoluteBounds","_this10","oldPos","getPosition","_this11","newDim","adjustDimension","getOuterBoundingBox","parentBB","childBB","merge","iX","iY","corona","isMemberDraggable","isMemberSelectable","isStrechable","isDeleteable","setDeleteable","containedFigure","getRoot","setComposite","getComposite","_inEvent","context","___originalCallback","figureToIgnore","CommandMove","DELETE","CommandDelete","RESIZE","CommandResize","cloneMetaData","excludeChildren","initialId","HeadlessCanvas","Port","InputPortLocator","CONNECT","CommandConnect","OutputPortLocator","Circle","DEFAULT_BORDER_COLOR","Color","lighterBgColor","coronaWidth","bgColor","diameter","setCoronaWidth","semanticGroup","setSemanticGroup","getCoronaWidth","getSemanticGroup","useGradient","preferredConnectionDirection","emitter","connectionAnchor","anchor","ConnectionAnchor","maxFanOut","MAX_SAFE_INTEGER","IntrusivePortsFeedbackPolicy","portSelectionAdapter","setMaxFanOut","getMaxFanOut","setConnectionAnchor","setOwner","referencePoint","inquiringConnection","getLocation","getReferencePoint","getConnectionDirection","peerPort","getDirection","setConnectionDirection","direction","setLocator","setBackgroundColor","lighter","setValue","onPortValueChanged","hash","_oldstroke","getStroke","setStroke","setName","iX2","iY2","Corona","setDiameter","CommandMovePort","ports","setColor","zoomCallback","origWidth","origHeight","origRadius","origStroke","blockEvent","setType","getOwner","getType","commandMove","commandResize","getSnapToDirection","SnapToHelper","NORTH_WEST","NORTH","NORTH_EAST","EAST","SOUTH_EAST","SOUTH","SOUTH_WEST","WEST","NSEW","updateCursor","oldX","oldY","diffX","diffY","objPosX","objPosY","objWidth","objHeight","newX","newY","corrPos","isTouchDevice","offset2","bgGradient","darker","supportsSnapToHelper","ctrl","SVGFigure","SetFigure","setSVG","getSVG","createSet","importSVG","svgNodes","newSVGNodes","oldSVG","rawSVG","svgDOM","_dimensionReadFromJSON","findStyle","$2","subShape","subAttr","getBBox","alert","primary","setPrimary","checkDescendant","figureToCheck","expand","addRecursive","addAll","getAssignedFigures","originalWidth","originalHeight","strokeScale","applyAlpha","rs","getPorts","VectorFigure","dasharray","strokeBeforeGlow","glowIsActive","setDashArray","setRadius","getDashArray","getRadius","getBackgroundColor","dashPattern","ensureDefault","Command","label","getLabel","canExecute","cancel","undo","redo","CommandAdd","CommandAddVertex","newPoint","removeVertexAt","insertVertexAt","CommandAssignFigure","assignedConnections","isNode","oldBoundingBox","assignFigure","oldComposite","unassignFigure","stickFigures","CommandAttr","newAttributes","oldAttributes","CommandBoundingBox","newBoundingBox","equals","CommandCollection","commandLabel","commands","labels","unique","canExec","cmd","setConnection","getConnection","optionalCallback","removedParentEntry","indexOfChild","CommandDeleteGroup","batchDelete","CommandUngroup","CommandGroup","Group","isEmpty","setStartPosition","CommandMoveConnection","setTranslation","CommandMoveLine","CommandMoveVertex","setIndex","origPoint","updatePosition","setVertex","oldVertices","newVertices","setVertices","con","oldSourcePort","oldTargetPort","setNewPorts","newSourcePort","newTargetPort","CommandRemoveVertex","CommandReplaceVertices","originalVertices","oldWidth","oldHeight","newWidth","newHeight","CommandRotate","oldAngle","newAngle","portRelayoutRequired","undostack","redostack","maxundo","transactionCommand","eventListeners","setUndoLimit","notifyListeners","POST_EXECUTE","PRE_EXECUTE","startTransaction","isInTransaction","commitTransaction","PRE_UNDO","POST_UNDO","PRE_REDO","POST_REDO","getRedoLabel","getUndoLabel","canRedo","canUndo","listener","CommandStackEventListener","stackChanged","removeEventListener","state","action","CommandStackEvent","size","POST_INIT","POST_MASK","PRE_MASK","details","getStack","getCommand","getDetails","isPreChangeEvent","MOVE_VERTEX","MOVE_VERTICES","MOVE_GHOST_VERTEX","RESET","ROTATE","locals","ArrowDecorator","Decorator","st","backgroundColor","BarDecorator","CircleDecorator","_Color2","DiamondDecorator","inverseLerp","X1","Y1","X2","Y2","nenner","zaehler","pointProjection","minx","maxx","miny","maxy","U","distance","dotprod","projlenSq","lenSq","bx","by","bw","bh","setBoundary","adjustBoundary","PositionConstants","getDistance","translated","factor","scaled","getScaled","subtract","dot","cross","lerp","Ray","isHorizontal","similarity","otherRay","getAveraged","resize","setBounds","getLeft","getRight","getTop","getBottom","getTopLeft","getTopCenter","getTopRight","getCenterLeft","getCenterRight","getBottomLeft","getBottomCenter","getCenter","getBottomRight","moveInside","newRect","pointOrRectangle","cw","ow","oh","oct","determineOctant","r2","HISTERESE","DIRECTION_UP","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_DOWN","isInside","intersects","x11","y11","x12","y12","x21","y21","x22","y22","intersectionWithLine","toJSON","Util","insetPoint","distanceFromStart","vx","vy","localDistance","io","Reader","unmarshal","Writer","marshal","resultCallback","formatXml","formatted","pad","indent","padding","json","createFigureFromElement","createFigureFromType","getPort","base64Content","Base64","encode","png","cropBoundingBox","canvasState","origPos","outerHTML","zoom","find","canvasDomNode","append","fullSizeCanvas","renderCallback","sourceX","sourceY","sourceWidth","sourceHeight","croppedCanvas","dataUrl","toDataURL","base64Image","CenterEdgeConnectionAnchor","ref","center","getBox","ChopboxConnectionAnchor","reference","FanConnectionAnchor","separation","ray","xSeparation","ySeparation","intersections","reduce","ShortesPathConnectionAnchor","Oval","CircuitConnectionRouter","ManhattanConnectionRouter","setBridgeRadius","setVertexRadius","abortRoutingOnFirstVertexNode","LineSelectionFeedbackPolicy","vertexNodes","vertexRadius","setJunctionRadius","bridgeRadius","bridge_LR","bridge_RL","route","fromPt","fromDir","toPt","toDir","_route","intersectionsASC","intersectionsDESC","intersectionForCalc","oldP","bridgeWidth","bridgeCode","lastVertexNode","interP","hit","otherZ","vertexNode","exclude","ConnectionRouter","_paint","inset","lastP","canRemoveVertexAt","canRemoveSegmentAt","verticesSet","DirectRouter","invalidate","FanConnectionRouter","routeCollision","midPoint","bendPoint","InteractiveManhattanConnectionRouter","OrthogonalSelectionFeedbackPolicy","_routingMetaData","routedByUserInteraction","halfRoute","MINDIST","vertexCount","vertex","startMoved","endMoved","_p","_p2","segmentCount","tmpConn","vertices","draggedSegment","getSegments","lp0","lp1","getVertex","routingMetaData","ManhattanBridgedConnectionRouter","BRIDGE_HORIZONTAL_LR","BRIDGE_HORIZONTAL_RL","TOL","TOLxTOL","TOGGLE_DIST","UP","RIGHT","DOWN","LEFT","xDiff","yDiff","_typeof","ROUTER_RECTS","MazeConnectionRouter","useSpline","useSimplify","useSimplifyValue","useDebug","useShift","portOutletOffset","finder","PF","JumpPointFinder","allowDiagonal","dontCrossCorners","shift","oldToPt","oldFromPt","getAdjustedPoint","grid","generateNoGoGrid","findPath","isWalkableAt","svgPathBefore","adjustPath","_svgPathBefore","spline","CubicSpline","splinePoints","generate","simplify","_svgPathBefore2","oneShift2","canvasWidth","canvasHeight","Grid","box","r_orig","b_orig","_i4","setWalkableAt","_j","_i5","_y","_b_orig","_i6","_j2","_x","_r_orig","_j3","_i7","adjustment","getSquareDistance","getSquareSegmentDistance","simplifyRadialDistance","sqTolerance","prevPoint","newPoints","simplifyDouglasPeucker","Uint8Array","maxSqDist","sqDist","firstStack","lastStack","tolerance","highestQuality","MuteableManhattanConnectionRouter","rowsUsed","colsUsed","constraints","reservedInfo","startPoint","endPoint","average","startNormal","getStartDirection","endNormal","getEndDirection","positions","horizontal","isCycle","trial","findFirstFigureAtStraightLine","EMPTY_LIST","_figure","getExcludingFigures","adjust","processPositions","getColumnNear","proximity","reserveColumn","getRowNear","reserveRow","removeReservedLines","prev","rInfo","reservedRows","reservedCols","column","info","row","getConstraint","setConstraint","constraint","excluding","col","getMidpoint","RubberbandRouter","thickness","uv","uv2","strength","second","third","start90","start270","first90","first270","second90","second270","third90","third270","end90","end270","SketchConnectionRouter","VertexRouter","VertexSelectionFeedbackPolicy","startAnchor","endAnchor","BottomLocator","Locator","targetBoundingBox","CenterLocator","DraggableLocator","PortLocator","dividerFactor","thisNAME","portIndex","applyConsiderRotation","LeftLocator","margin","ManhattanMidpointLocator","segmentIndex","ParallelMidpointLocator","setDistance","nx","ny","radian","rotAnchor","rotCenterOfLabel","xm","ym","PolylineMidpointLocator","halfW","halfH","rotAngle","ratio","RightLocator","SmartDraggableLocator","boundedCorners","dist","xOffset","yOffset","calcBoundingCorner","parentVertices","childVertices","i_parent","i_child","TopLocator","XYAbsPortLocator","XYRelPortLocator","mesh","ExplodeLayouter","MeshLayouter","MIN_MARGIN","figureToAdd","changes","dis","currentOctChanges","ProposedMeshChange","r1","uid","autoResize","resizableFilterSelector","AutoResizer","defaults","previousScrollTop","maxWidth","maxHeight","overflowY","complete","onAfterResize","onResize","onBeforeResize","extraSpace","cloneCSSProperties","cloneCSSValues","overflow","check","proxy","createClone","removeAttr","whiteSpace","immediate","injectClone","prevValue","cloneWidth","currentWidth","removeData","cloneContainer","support","htmlMenuitem","htmlCommand","eventSelectstart","widget","_cleanData","cleanData","elems","elem","triggerHandler","$currentTrigger","initialized","$win","counter","namespaces","menus","types","trigger","autoHide","reposition","determinePosition","$menu","my","at","of","collision","outerHeight","outerWidth","opt","bottom","right","positionSubmenu","animation","noop","items","hoveract","timer","pageX","pageY","abortevent","stopImmediatePropagation","contextmenu","$this","hasClass","built","isEmptyObject","$trigger","op","click","Event","mousedown","button","mouseup","mouseenter","$related","relatedTarget","$document","closest","mousemove","mouseleave","layerClick","$window","triggerAction","elementFromPoint","$layer","has","one","contextMenu","keyStop","isInput","$selected","blur","$parent","itemdata","toUpperCase","accesskeys","$node","prevItem","$s","$children","$prev","$round","itemMouseleave","itemMouseenter","$input","focus","nextItem","$next","focusInput","contextMenuRoot","blurInput","menuMouseenter","hovering","menuMouseleave","itemClick","contextMenuKey","isFunction","callbacks","inputClick","hideMenu","force","focusItem","siblings","blurItem","removeClass","$t","zin","$tt","zindex","layer","$label","accesskey","ak","aks","splitAccesskey","_name","hasTypes","inputs","selected","prependTo","radio","icon","nested","andSelf","$item","disabled","fixedPosition","inputLabel","operation","$context","_hasContext","$visibleMenu","fromMenu","setInputValues","getInputValues","menuChildren","dimetric","arrow","note","diagram","flowchart","analog","pert","navigator","platform","EditPolicy","SingleSelectionPolicy","isInsideMode","rect1","rect2","intersectsMode","decision","boundingBoxFigure1","boundingBoxFigure2","canDrawBoundingBox","oldSelection","setDecisionMode","useIntersectionMode","currentSelection","mouseMovedDuringMouseDown","canDragStart","delegated","mouseDraggingElement","mouseDownElement","draggingLineCommand","draggingLine","fakeDragX","fakeDragY","handleRect","dash","LineResizeHandle","selectionRect","CanvasPolicy","mouseX","mouseY","createMonochromGif","gif","bit","byte_","writeBit","chunklen","CoronaDecorationPolicy","DecorationPolicy","startDragX","startDragY","diameterToBeFullVisible","diameterToBeVisible","sumDiameter","setDiameterToBeVisible","setDiameterToBeFullVisible","getDiameterToBeVisible","getDiameterToBeFullVisible","__origAlpha","updatePorts","connectInquirer","connectIntent","Hub","getHybridPort","ExtendedKeyboardPolicy","FadeoutDecorationPolicy","DEFAULT_FADEOUT_DURATION","DEFAULT_ALPHA_DECREMENT","alphaDec","hidePortsCounter","portDragging","duringHide","GhostMoveSelectionPolicy","ghostRectangle1","ghostRectangle2","sel","resetPorts","draggingElement","redrawConnection","inter","PanningSelectionPolicy","area","ReadOnlySelectionPolicy","ShowChessboardEditPolicy","GRID_COLOR","GRID_WIDTH","oldBg","setGrid","onZoomCallback","emitterFigure","zoomData","gridColor","background","backgroundSize","backgroundPosition","ShowDimetricGridEditPolicy","shapes","setGridColor","angle26","atan","angle153","cos30","sin30","cos150","sin150","setStart","setFinish","ShowDotEditPolicy","DOT_COLOR","DOT_RADIUS","DOT_DISTANCE","dotDistance","dotRadius","dotColor","ShowGridEditPolicy","GRID_STOKE","gridDistance","gridStroke","gridWidth","SnapToCenterEditPolicy","SNAP_THRESHOLD","FADEOUT_DURATION","centers","horizontalGuideLines","verticalGuideLines","hideHorizontalGuides","hideVerticalGuides","modifiedPos","originalPos","allowXChanges","allowYChanges","inputCenter","snapHorizontal","snapped","showHorizontalGuides","diff","vertical","snapVertical","showVerticalGuides","populateCenters","candidates","snappedPoint","causedFigure","fast","SnapToDimetricGridEditPolicy","snapPoint","CENTER_H","CENTER_V","NORTH_SOUTH","EAST_WEST","setLineColor","getLineColor","SnapToGeometryEditPolicy","rows","cols","vline","hline","hideVerticalLine","hideHorizontalLine","snapDirections","edge","showVerticalLine","showHorizontalLine","inputBounds","snapRectangle","bounds","resultBounds","topLeft","bottomRight","snapOrientation","inputPoint","resultPoint","populateRowsAndCols","rightCorrection","getCorrectionFor","leftCorrection","bottomCorrection","topCorrection","entries","side","resultMag","magnitude","removeAll","causedBox","causedCenter","fromY","maxLength","yLength","snappedBox","fromX","xLength","SnapToGridEditPolicy","showGrid","renderer","SnapToInBetweenEditPolicy","populateBounds","intersectionPoint","leftIntersections","leftInputPoint","causedBBox","rightIntersections","rightInputPoint","snappedRect","leftSide","rightSide","topIntersections","topInputPoint","bottomIntersections","bottomInputPoint","topSide","bottomSide","snapTopLeft","snapTopRight","snapBottomRight","SnapToVerticesEditPolicy","VertexResizeHandle","correction","vertexResizeHandle","diffx","diffy","SNAP","snappedPos","_shifty","debouncedZoomedCallback","_debounce","__wheelZoom","newZoom","client","_zoom","scrollWidth","centerY","centerX","params","finish","setViewBox","coordsAfter","wait","_arguments","timeout","callNow","z","viewBoxWidth","viewBoxHeight","port1","beeline","pulse","tempConnection","ripple","setEndPosition","setRouter","policies","_arg","anim","circle1","circle2","anim1","repeat","Infinity","anim2","currentTarget","de","ct","PortFeedbackPolicy","onHoverLeave","onHoverEnter","OrthogonalConnectionCreatePolicy","getRouter","beforeVertex","lastVertex","portPos","lastSegmentDir","orthogonal","xDist","AntSelectionFeedbackPolicy","isPrimarySelection","_updateBeeLine","projection","center1","center2","BigRectangleSelectionFeedbackPolicy","BusSelectionFeedbackPolicy","r4","r6","r8","xPos","yPos","FigureEditPolicy","moveCallback","originalAlpha","GlowSelectionFeedbackPolicy","HBusSelectionFeedbackPolicy","HorizontalEditPolicy","dashArray","r3","r5","r7","constRect","diffW","diffH","ResizeSelectionFeedbackPolicy","RoundRectangleSelectionFeedbackPolicy","SlimSelectionFeedbackPolicy","VBusSelectionFeedbackPolicy","_handle","GhostVertexResizeHandle","VerticalEditPolicy","WidthSelectionFeedbackPolicy","LineStartResizeHandle","LineEndResizeHandle","_p3","p_m1","_p4","_p5","_p6","resizeWidthHalf","resizeHeightHalf","removeSegment","_newX","splitSegment","newSegLength","np1","np2","np3","np4","_np","_np2","_newSegLength","_np3","_np4","_np5","_np6","_np7","_np8","segment","hitSegment","_originalVertices","_newVertices","startHandle","endHandle","ElasticStrapFeedbackPolicy","connectionLine","hoverFiger","growFactor","allPorts","__beforeInflate","dispose","OpAmp","MyInputPortLocator","calcY","inputLocator","createPort","ResistorBridge","MyOutputPortLocator","outputLocator","ResistorVertical","VoltageSupplyHorizontal","VoltageSupplyVertical","CalligrapherArrowDownLeft","CalligrapherArrowLeft","Arc","startAngle","endAngle","a2","w2","h2","getDiameter","setCenter","Diamond","Polygon","resetVertices","precursorIndex","maxOpacity","Image","setPath","getPath","Label","FONT_FALLBACK","cachedWidth","cachedHeight","cachedMinWidth","cachedMinHeight","fontColor","outlineStroke","outlineColor","bold","editor","setText","installEditor","setOutlineStroke","setOutlineColor","setFontFamily","setFontSize","setFontColor","setPadding","setBold","getOutlineStroke","getOutlineColor","getFontFamily","getFontSize","getFontColor","getPadding","isBold","lastAppliedLabelRotation","lastAppliedTextAttributes","clearCache","lattr","calculateTextAttr","attrDiff","ts","polySides","oddNodes","pi","pj","DEFAULT_COLOR","isGlowing","outlineVisible","startX","setStartX","startY","setStartY","endX","setEndX","endY","setEndY","setCorona","getCorona","isFaked","_lineColor","_stroke","getStartX","getStartY","getEndX","getEndY","getLength","getAngle","percentage","segments1","segments2","s1","s2","b1","b2","ua_t","ub_t","u_b","ua","getRelatedPort","getOppositePort","objPos","getIndex","origin","mDir","mDiff","t_a","t_b","removedPoint","lastDist","_segment","lastValidLength","maxX","maxY","_length","modStart","modEnd","updateBoundingBox","fracWidth","fracHeight","thisX","thisY","rot","cachedWrappedAttr","wrappedTextAttr","longestWord","arg1","arg2","svgText","words","abc","letterWidth","LINE_COLOR","isDead","getEnclosingAngle","trans","Composite","assignedFigures","Jailhouse","Raft","WeakComposite","aboardFigures","getAboardFigures","dontApplyToChildren","aboardedFigures","recalculate","raftBoundingBox","getNextComposite","figureToTest","nextComposite","Diagram","cache","setData","getData","Pie","COLORS","TWO_PI","d2","sum","_sum","pie","offsetAngle","seg","drawSegment","polarPath","theta","rotation","resolution","Sparkline","pathString","prev_pt","toCoords","amplitude","calcPath","w4","Acw","Icon","Alarm","Anonymous","Apple","Apps","ArrowDown","ArrowLeft","ArrowLeft2","ArrowRight","ArrowRight2","ArrowUp","Aumade","BarChart","BioHazard","Book","Bookmark","Books","Bubble","Bug","Calendar","Cart","Ccw","Chat","Check","Chrome","Clip","Clock","Cloud","Cloud2","CloudDown","CloudUp","Cloudy","Code","CodeTalk","CommandLine","Connect","Contract","Crop","Cross","Cube","Customer","Db","Detour","Disconnect","DockBottom","DockLeft","DockRight","DockTop","Download","Dry","Employee","End","Ethernet","Exchange","Expand","Export","Fave","Feed","Ff","Firefox","Flag","Flickr","Folder","Fork","ForkAlt","FullCube","Future","GRaphael","Gear","Gear2","GitHub","GitHubAlt","Glasses","Globe","GlobeAlt","GlobeAlt2","Hail","Hammer","HammerAndScrewDriver","HangUp","Help","History","Home","IMac","Icons","Ie","Ie9","Import","InkScape","Ipad","Iphone","JQuery","Jigsaw","Key","Lab","Lamp","Lamp_alt","Landing","Landscape1","Landscape2","LineChart","Link","LinkedIn","Linux","List","Location","Lock","Locked","Magic","Magnet","Mail","Man","Merge","Mic","MicMute","Minus","NewWindow","No","NoMagnet","NodeJs","Notebook","Noview","Opera","Package","Page","Page2","Pallete","Palm","Paper","Parent","Pc","Pen","Pensil","People","Phone","Photo","Picker","Picture","PieChart","Plane","Plugin","Plus","Power","Ppt","Printer","Quote","Rain","ReflectH","ReflectV","Refresh","Resize2","Rotate","Ruler","Run","Rw","Safari","ScrewDriver","Search","Sencha","Settings","SettingsAlt","Shuffle","Skull","Skype","SlideShare","Smile","Smile2","Snow","Split","Star","Star2","Star2Off","Star3","Star3Off","StarOff","Start","Sticker","Stop","StopWatch","Sun","Svg","TShirt","Tag","TakeOff","Talke","Talkq","Thunder","Trash","Twitter","TwitterBird","Umbrella","Undo","Unlock","Usb","User","Users","Video","View","Vim","Volume0","Volume1","Volume2","Volume3","Warning","WheelChair","Woman","Wrench","Wrench2","Wrench3","ZoomIn","ZoomOut","FlexGridLayout","Layout","cellLocator","gridDef","layoutRequired","_layout","cell","__cellConstraint","valign","debugLines","def_cols","def_rows","min_height","min_width","minGridWidth","minGridHeight","hResizeable","vResizeable","resizeListener","columns","cellWidthFromDef","cellConstraint","rowspan","colspan","paintDebugGrid","eHeight","cellHeight","_getGridWidth","_getGridHeight","gridHeight","_cell","cellWidth","cellX","cellY","posX","posY","newLine","_newLine","HorizontalLayout","gap","setGap","getGap","markup","StackLayout","visibleLayer","setVisibleLayer","getVisibleLayer","_recursiveWidth","_recursiveHeight","TableLayout","DUMMY_CELL","__cell","getCellLayout","widthOffset","layoutInfos","setCellPadding","calculateLayout","getCellPadding","removeRow","removedRow","addRow","figuresToAdd","columnCount","missingColumns","setCellVerticalAlign","getCellVerticalAlign","setCellAlign","getCellAlign","layouts","rowCount","newLayoutInfos","layoutWidths","layoutHeights","_column","_row","_column2","VerticalLayout","Between","Fulcrum","_orig_hitTest","setConnectionDirStrategy","HorizontalBus","BACKGROUND_COLOR","setLabel","_port","CONNECTION_DIR_STRATEGY","strategy","dirStrategy","inputPorts","outputPorts","hybridPorts","persistPorts","cachedPorts","setPersistPorts","getPersistPorts","__initialVisibilityState","recursive","getInputPorts","getOutputPorts","excludePorts","clonePort","addPort","portName","getInputPort","portNameOrIndex","getOutputPort","removePort","newPort","c_size","oldCanvas","layoutPorts","relatedPort","locatorAttr","VerticalBus","labelString","mustAdjustTheAngel","PostIt","Activity","mementoValues","darkerBgColor","earlyStartLabel","createLabel","durationLabel","LabelEditor","onCommit","setDuration","earlyEndLabel","activityLabel","LabelInplaceEditor","inputPort","getActivity","anyValue","outputPort","lateStartLabel","stackLabel","lateEndLabel","getEarlyStart","lateFinish","setLateFinish","getEarlyEnd","latestEarlyEnd","parentActivity","lateStart","txt","innerCircle","State","Slider","Widget","DEFAULT_COLOR_THUMB","DEFAULT_COLOR_BG","currentValue","slideBoundingBox","panning","thumbGrow","thumb","onValueChange","panningX","panningY","grow","sliderWidth","figurePos","sliderPos","thumbX","configuration","onCancel","onStart","prompt","commitCallback","commit","_data","avoidDuplicates","elements","newVector","overwriteElementAt","byteToCharMap_","charToByteMap_","byteToCharMapWebSafe_","charToByteMapWebSafe_","ENCODED_VALS_BASE","ENCODED_VALS","ENCODED_VALS_WEBSAFE","encodeByteArray","input","opt_webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","stringToByteArray","decode","charToByteMap","byte4","str","hashString","hex2rgb","getHTMLStyle","getRed","getGreen","getBlue","getIdealTextColor","temp_elem","int2hex","round","fraction","fadeTo","pc","callback_func","callback_force","aps","log_level","log_methods","pass_methods","logs","method","level","log_arr","exec_callback","is_level","firebug","setLevel","setCallback","pathList","parentKey","grandParent","grandParentKey","addObj","paths","obj1","obj2","v1","v2","ontouchmove","pointString","poly","UUID","random","global","extended","BezierSpline","Spline","controlPoints","blend","CatmullRomSpline","mathSign","isPercent","_isString","isNumber","_isNumber","_isNaN","isNumOrStr","idCounter","getPercentValue","totalValue","defaultValue","validate","getAnyElementOfObject","hasDuplicate","ary","_isArray","interpolateNumber","numberA","numberB","findEntryInArray","specifiedKey","specifiedValue","_get","for","q","$$typeof","A","require$$0","propIsEnumerable","toObject","test1","test2","test3","letter","shouldUseNative","checkPropTypes","typeSpecs","componentName","resetWarningCache","emptyFunction","emptyFunctionWithReset","shim","propName","propFullName","secret","ReactPropTypesSecret","getShim","isRequired","ReactPropTypes","bool","number","string","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","PropTypes","require$$2","styleInject","BoxContext","createContext","useBoxContext","useContext","Box","activeStyles","useAccent","Button","variant","block","classNames","useState","useEffect","CardImage","useCardContext","backgroundImage","CardContext","Card","setClassNames","Checkbox","checkbox","useRef","indeterminate","checked","onChange","ContentContext","useContentContext","Content","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","ChevronDown","_ref","_ref$color","_ref$size","rest","strokeWidth","strokeLinecap","strokeLinejoin","propTypes","Info","XSquare","X","InputNumeric","setTimer","nativeInputValueSetter","increment","bubbles","decrement","startAction","interval","stopAction","onBlur","autoComplete","tabIndex","required","InputPassword","main","legend","placeholder","InputText","InputTextArea","Input","Portal","container","createPortal","Overlay","overlay","ModalHeader","onHide","useModalContext","header","closeButton","ModalBody","spacer","ModalContext","Modal","footer","PanelContext","usePanelContext","Panel","noPadding","QuestionImage","useQuestionContext","QuestionContext","Question","React","question","Radio","Select","description","valueProperty","displayProperty","isMulti","isClearable","selectedItems","setSelectedItems","coords","setCoords","expanded","setExpanded","controlRef","optionsRef","isMultiSelect","canClear","handleClickOutsideSelect","handleEscapeKey","handleWindowEvents","renderItem","onClickSelectBox","multiselect_items","multiselect_item","onRemoveSelectedItem","controls","onClickSelectItem","renderOptions","SelectGroupContext","useSelectGroupContext","initialSelection","active","setActive","onItemClicked","SelectGroup","SelectGroupItem","alt","StepsContext","activeStep","steps","isCompleted","trySetActive","Steps","Subheader","subheader","Table","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","then","_asyncToGenerator","ClientAuthErrorMessage","clientInfoDecodingError","clientInfoEmptyError","tokenParsingError","nullOrEmptyToken","endpointResolutionError","networkError","unableToGetOpenidConfigError","hashNotDeserialized","blankGuidGenerated","invalidStateError","stateMismatchError","stateNotFoundError","nonceMismatchError","nonceNotFoundError","authTimeNotFoundError","maxAgeTranspiredError","noTokensFoundError","multipleMatchingTokens","multipleMatchingAccounts","multipleMatchingAppMetadata","tokenRequestCannotBeMade","appendEmptyScopeError","removeEmptyScopeError","appendScopeSetError","emptyInputScopeSetError","DeviceCodePollingCancelled","DeviceCodeExpired","DeviceCodeUnknownError","NoAccountInSilentRequest","invalidCacheRecord","invalidCacheEnvironment","noAccountFound","CachePluginError","noCryptoObj","invalidCacheType","unexpectedAccountType","unexpectedCredentialType","invalidAssertion","invalidClientCredential","tokenRefreshRequired","userTimeoutReached","tokenClaimsRequired","noAuthorizationCodeFromServer","noAzureRegionDetected","accessTokenEntityNullError","bindingKeyNotRemovedError","logoutNotSupported","keyIdMissing","errorCode","errorMessage","setPrototypeOf","ClientAuthError","caughtError","createClientInfoEmptyError","caughtExtractionError","invalidRawTokenString","errDetail","createNetworkError","endpoint","hashParamObj","createInvalidStateError","invalidState","errorString","createStateMismatchError","missingState","createNonceMismatchError","createAuthTimeNotFoundError","createMaxAgeTranspiredError","missingNonce","createMultipleMatchingTokensInCacheError","createMultipleMatchingAccountsInCacheError","createMultipleMatchingAppMetadataInCacheError","createTokenRequestCannotBeMadeError","givenScope","appendError","createEmptyInputScopeSetError","createDeviceCodeCancelledError","createDeviceCodeExpiredError","createDeviceCodeUnknownError","createNoAccountInSilentRequestError","createNullOrUndefinedCacheRecord","createInvalidCacheEnvironmentError","createNoAccountFoundError","createCachePluginError","operationName","createInvalidCacheTypeError","createUnexpectedAccountTypeError","createUnexpectedCredentialTypeError","createInvalidAssertionError","createInvalidCredentialError","createRefreshRequiredError","createUserTimeoutReachedError","createTokenClaimsRequiredError","createNoAuthCodeInServerResponseError","createBindingKeyNotRemovedError","createLogoutNotSupportedError","createKeyIdMissingError","ownKeys","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_react","_getRequireWildcardCache","hasPropertyDescriptor","_interopRequireWildcard","_propTypes","_ClassNames","_Tooltip","_ObjectUtils","_Ripple","WeakMap","_setPrototypeOf","hasNativeReflectConstruct","sham","Proxy","_isNativeReflectConstruct","_getPrototypeOf","_possibleConstructorReturn","ReferenceError","_assertThisInitialized","getPrototypeOf","_Component","tooltip","renderTooltip","prevProps","updateContent","tip","tooltipOptions","iconPos","dangerouslySetInnerHTML","__html","badge","badgeClassName","renderIcon","renderLabel","renderBadge","buttonProps","findDiffKeys","defaultProps","Ripple","Component","authToken","StringUtils","createTokenNullOrEmptyError","createTokenParsingError","JWSPayload","JWSSig","strObj","startsWith","search","endsWith","query","decodeURIComponent","pair","matchPattern","__WEBPACK_EXTERNAL_MODULE_react__","link_type","_linkType","linkType","some","includes","PRIORITIES","NODE_TYPES","heading1","heading2","heading3","heading4","heading5","heading6","paragraph","preformatted","strong","listItem","oListItem","oList","embed","hyperlink","span","isParentOf","elected","others","lower","upper","TextNode","inner","outer","SpanNode","setChildren","boundaries","RichTextBlock","isEmbedBlock","isImageBlock","BlockNode","spans","isListItem","ListBlockNode","ListItemBlockNode","isOrderedListItem","OrderedListBlockNode","OrderedListItemBlockNode","emptyList","emptyOrderedList","getTime","asText","asTree","fromRichText","serialize","Elements","printWarning","loggedTypeFailures","typeSpecName","ex","ReactIs","emptyFunctionThatReturnsNull","isValidElement","throwOnDirectAccess","ITERATOR_SYMBOL","createPrimitiveTypeChecker","createChainableTypeChecker","typeChecker","PropTypeError","propValue","getPropType","isValidElementType","expectedClass","expectedClassName","propType","expectedValues","valuesString","getPreciseType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","shapeTypes","allKeys","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","cacheKey","chainedCheckType","expectedType","every","iteratorFn","maybeIterable","getIteratorFn","isSymbol","isElement","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","format","argIndex","lowPriorityWarning$1","condition","_len2","_key2","typeOf","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Fragment","Lazy","Memo","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isConcurrentMode","isAsyncMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","__webpack_exports__","prop_types__WEBPACK_IMPORTED_MODULE_1__","prismic_richtext__WEBPACK_IMPORTED_MODULE_2__","_richtext__WEBPACK_IMPORTED_MODULE_3__","RichText","_ref2","htmlSerializer","linkResolver","serializeHyperlink","renderAsText","maybeSerializer","serializers","processors","acc","createHtmlSerializer","createScript","js","fjs","ready","embeds","twttr","widgets","Facebook","FB","XFBML","Instagram","instgrm","Embeds","PrismicHelpers","PrismicRichText","renderRichText","react__WEBPACK_IMPORTED_MODULE_0__","prismic_richtext__WEBPACK_IMPORTED_MODULE_1__","prismic_richtext__WEBPACK_IMPORTED_MODULE_1___default","prismic_helpers__WEBPACK_IMPORTED_MODULE_2__","_embeds__WEBPACK_IMPORTED_MODULE_3__","_objectSpread","serializeElement","serializeStandardTag","linkUrl","linkTo","linkTarget","relAttr","propsWithUniqueKey","serializeImage","oembed","provider_name","embed_url","embedHtml","serializeEmbed","targetAttr","serializeLabel","brIndex","br","serializeSpan","tag","structuredText","richText","serializedChildren","0","EventType","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","identity","PLACE_HOLDER","isPlaceHolder","curry0","_curried","curry","curryN","argsLength","restArgs","newArgs","range","compose","_len3","_key3","fns","firstFn","tailsFn","res","lastArgs","lastResult","_len4","_key4","rangeStep","num","Decimal","lt","toNumber","getDigitCount","newA","uninterpolateNumber","uninterpolateTruncation","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_s","_iterableToArrayLimit","_nonIterableRest","getValidInterval","validMin","validMax","getFormatStep","roughStep","allowDecimals","correctionFactor","lte","digitCount","Arithmetic","digitCountValue","stepRatio","stepRatioScale","formatStep","mul","getTickOfSingleValue","tickCount","middle","isint","absVal","middleIndex","calculateStep","isFinite","tickMin","tickMax","mod","belowCount","upCount","scaleCount","getNiceTickValues","_ref3","_ref4","_getValidInterval","_getValidInterval2","cormin","cormax","_values","_calculateStep","getTickValuesFixedDomain","_ref5","_ref6","_getValidInterval3","_getValidInterval4","_ref7","_ref8","_getValidInterval5","_getValidInterval6","series","order","s0","stackValue","stackSeries","getValueByDataKey","dataKey","_isNil","_isFunction","getDomainOfDataByKey","filterNil","flattenData","_flatMap","domain","_min","_max","calculateActiveTickIndex","coordinate","_ticks$length","ticks","unsortedTicks","axis","axisType","cur","after","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","getMainColorOfGraphicItem","_item$props","getLegendProps","legendData","formattedGraphicalItems","legendWidth","legendContent","legendItem","findChildByType","Legend","payload","sectors","iconType","legendType","_item$props2","inactive","getWithHeight","getBarSizeList","globalSize","barSize","_ref5$stackGroups","stackGroups","numericAxisIds","sgs","stackIds","sLen","_sgs$stackIds$j","cateAxisId","barItems","getDisplayName","selfSize","cateId","stackList","getBarPosition","barGap","barCategoryGap","bandSize","_ref6$sizeList","sizeList","maxBarSize","realBarGap","useFull","fullBarSize","newRes","_offset","originalSize","appendOffsetOfLegend","legendBox","legendProps","newOffset","verticalAlign","getDomainOfErrorBars","errorBars","findAllByType","errorBarChild","isErrorBarRelevantForAxis","entryValue","mainValue","errorDomain","prevErrorArr","errorValue","lowerValue","upperValue","parseErrorBarsOfAxis","domains","getDomainOfItemsWithSameAxis","isCategoricalAxis","getCoordinatesOfGrid","hasMin","hasMax","getTicksOfAxis","isGrid","isAll","duplicateDomain","offsetForBand","realScaleType","bandwidth","niceTicks","scaleContent","isCategorical","categoricalDomain","combineEventHandlers","defaultHandler","parentHandler","childHandler","customizedHandler","arg3","arg4","parseScale","chartType","hasBar","d3Scales","_upperFirst","checkDomainOfScale","STACK_OFFSET_MAP","sign","positive","negative","none","stackOffsetNone","silhouette","wiggle","si","sij0","s3","sk","getStackedData","stackItems","offsetType","dataKeys","constant","orderNone","offsetNone","oz","sz","shapeStack","stackOrderNone","getStackGroupsByAxisId","_items","numericAxisId","reverseStackOrder","_item$props3","stackId","axisId","parentGroup","hasStack","childGroup","stackedData","getTicksOfScale","originalDomain","scaleType","tickValues","calculateDomainOfTicks","_domain","getCateCoordinateOfLine","allowDuplicatedCategory","matchedTick","getStackedDataOfItem","itemIndex","getDomainOfStackGroups","startIndex","endIndex","MIN_VALUE_REG","MAX_VALUE_REG","parseSpecifiedDomain","specifiedDomain","dataDomain","allowDataOverflow","_value","getBandSizeOfAxis","isBar","bandWidth","orderedTicks","_sortBy","parseDomainOfCategoryAxis","calculatedDomain","axisChild","_isEqual","getTooltipItem","graphicalItem","_graphicalItem$props","unit","formatter","tooltipType","filterProps","SVGContainerPropKeys","SVGElementPropKeys","EventKeys","includeEvents","inputProps","_isObject","adaptEventHandlers","newHandler","adaptEventsOfChild","originalHandler","getEventHandlerOfChild","baseGetTag","isObject","AuthErrorMessage","suberror","AuthError","subError","correlationId","errDesc","classes","_classes","hasOwn","argType","unsupportedIterableToArray","REACT_BROWSER_EVENT_MAP","mouseover","mouseout","touchcancel","touchend","touchmove","touchstart","Comp","lastChildren","toArray","Children","childType","validateWidthHeight","_el$props","SVG_TAGS","isSvgElement","isChildrenEqual","nextChildren","prevChildren","isSingleChildEqual","prevChild","nextProps","shallowEqual","renderByOrder","renderMap","record","handler","once","results","getReactEventByType","parseChildIndex","initRange","initInterpolator","interpolator","globalScope","ONE","precision","rounding","toExpNeg","toExpPos","LN10","external","decimalError","invalidArgument","exponentOutOfRange","mathfloor","mathpow","isDecimal","BASE","MAX_E","carry","xd","yd","Ctor","checkInt32","digitsToString","ws","indexOfLastWord","getZeroString","absoluteValue","comparedTo","cmp","xdL","ydL","decimalPlaces","dp","dividedBy","divide","dividedToIntegerBy","idiv","eq","exponent","getBase10Exponent","greaterThan","gt","greaterThanOrEqualTo","gte","isInteger","isNegative","isneg","isPositive","ispos","isZero","lessThan","lessThanOrEqualTo","logarithm","wpr","ln","minus","modulo","times","naturalExponential","exp","naturalLogarithm","negated","neg","plus","sd","squareRoot","toExponential","rL","toDecimalPlaces","todp","rm","toInteger","toint","toPower","yIsInt","yn","truncate","toPrecision","toSignificantDigits","tosd","valueOf","multiplyInteger","temp","compare","aL","bL","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","denominator","getLn10","zs","c0","numerator","parseDecimal","rd","doRound","xdi","xe","xLTy","isExp","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","define","arrayLikeToArray","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","bimap","d0","d1","r0","polymap","bisect","clamp","unknown","transformer","untransform","piecewise","interpolateValue","rescale","clamper","invert","rangeRound","interpolateRound","continuous","createNamedContext","historyContext","Router","computeRootMatch","isExact","componentDidMount","history","listen","_pendingLocation","componentWillUnmount","RouterContext","staticContext","HistoryContext","Lifecycle","onMount","componentDidUpdate","onUpdate","onUnmount","cacheCount","generatePath","generator","pathToRegexp","compilePath","pretty","Redirect","computedMatch","createLocation","prevLocation","locationsAreEqual","matchPath","strict","sensitive","matched","pathCache","regexp","Route","component","isEmptyChildren","addLeadingSlash","stripBasename","basename","createURL","createPath","staticHandler","methodName","invariant","Switch","withRouter","C","wrappedComponentRef","remainingProps","hoistStatics","useHistory","useLocation","RADIAN","radianToDegree","angleInRadian","polarToCartesian","getAngleOfPoint","anotherPoint","distanceBetweenPoints","reverseFormatAngleOfSetor","startCnt","endCnt","inRangeOfSector","sector","_getAngleOfPoint","innerRadius","outerRadius","inRange","_formatAngleOfSector","formatAngleOfSector","formatAngle","allowArrayLike","return","DomHandler","offsetWidth","paddingLeft","paddingRight","pageYOffset","clientTop","pageXOffset","clientLeft","marginLeft","marginRight","offsetHeight","marginTop","marginBottom","win","innerWidth","innerHeight","getBoundingClientRect","classList","_styles","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","elementDimensions","getHiddenElementDimensions","elementOuterHeight","elementOuterWidth","targetOuterHeight","targetOuterWidth","targetOffset","windowScrollTop","getWindowScrollTop","windowScrollLeft","getWindowScrollLeft","viewport","getViewport","transformOrigin","targetHeight","myArr","atArr","getPositionValue","isOffset","myOffset","getOuterWidth","getOuterHeight","alignWithAt","myXPosition","parents","getParents","scrollableParents","overflowRegex","overflowCheck","styleDeclaration","_iterator","scrollSelectors","dataset","_step2","_iterator2","findSingle","visibility","elementHeight","elementWidth","dimensions","tick","ms","fading","userAgent","nativeElement","HTMLElement","borderTopValue","borderTop","paddingTopValue","containerRect","scroll","itemHeight","empty","removeAllRanges","rangeCount","getRangeAt","getClientRects","calculatedScrollbarWidth","scrollDiv","scrollbarWidth","browser","resolveUserAgent","_step3","visibleFocusableElements","_iterator3","focusableElement","Layer","forwardRef","layerClass","_inheritsLoose","BrowserConfigurationAuthErrorMessage","BrowserConfigurationAuthError","createRedirectUriEmptyError","createPostLogoutRedirectUriEmptyError","createStorageNotSupportedError","givenStorageLocation","createRedirectCallbacksNotSetError","createStubPcaInstanceCalledError","createInMemoryRedirectUnavailableError","createEntropyNotProvided","_DomHandler","_PrimeReact","ink","parentElement","getOffset","bindEvents","unbindEvents","onAnimationEnd","ObjectUtils","field","resolveFieldData","deepEquals","arrA","arrB","dateA","dateB","regexpA","regexpB","fields","baseGet","_excluded","OutboundLink","_this$props","eventLabel","trackerNames","eventMeta","sameTarget","normalClick","metaKey","trackLink","_this$props2","handleClick","redactEmail","smallWords","toTitleCase","isLoaded","gaCalls","calls","ga","resetCalls","_isNotBrowser","_debug","_titleCase","_testMode","_alwaysSendToDefaultTracker","_redactEmail","internalGa","_window","TestModeAPI","_format","titleCase","redactingEmail","_str","_gaCommand","_initialize","gaTrackingID","useExistingGa","gaOptions","addTrackers","configsOrTrackingId","trackingId","initialize","testMode","standardImplementation","gaAddress","loadGA","alwaysSendToDefaultTracker","fieldsObject","fieldObject","pageview","rawPath","extraFields","hitType","page","extraLog","modalview","rawModalName","modalName","timing","category","variable","timingCategory","timingVar","timingValue","timingLabel","nonInteraction","transport","eventCategory","eventAction","eventValue","exception","fatal","exDescription","exFatal","plugin","rawName","trackerName","requireString","pluginName","actionType","outboundLink","hitCallback","safetyCallbackCalled","testModeAPI","UnboundOutboundLink","origTrackLink","Defaults","linearish","tickFormat","specifier","nice","prestep","i0","i1","maxIter","tickIncrement","CapacitorPlatforms","defaultPlatformMap","Map","capPlatforms","currentPlatform","platforms","addPlatform","setPlatform","createCapacitorPlatforms","initPlatforms","globalThis","CapacitorException","Capacitor","_a","_b","_c","capCustomPlatform","CapacitorCustomPlatform","cap","Plugins","getPlatform","androidBridge","webkit","messageHandlers","bridge","getPlatformId","isNativePlatform","isPluginAvailable","registeredPlugins","getPluginHeader","PluginHeaders","registerPlugin","jsImplementations","registeredPlugin","jsImplementation","pluginHeader","loadPluginImplementation","createPluginMethod","Unimplemented","methodHeader","methods","rtype","nativePromise","nativeCallback","createPluginMethodWrapper","wrapper","addListener","removeListener","addListenerNative","eventName","callbackId","Set","convertFileSrc","filePath","handleError","pluginMethodNoop","_target","Exception","isLoggingEnabled","isNative","createCapacitor","initCapacitorGlobal","WebPlugin","listeners","windowListeners","listenerFunc","windowListener","registered","addWindowListener","removeWindowListener","windowEventName","pluginEventName","Unavailable","Column","columnKey","sortField","filterField","loadingBody","sortable","sortFunction","filterMatchMode","filterPlaceholder","filterType","filterMaxLength","filterElement","filterFunction","filterHeaderStyle","filterHeaderClassName","headerStyle","headerClassName","bodyStyle","bodyClassName","footerStyle","footerClassName","expander","selectionMode","colSpan","rowSpan","editorValidator","editorValidatorEvent","onEditorInit","onEditorSubmit","onEditorCancel","excludeGlobalFilter","rowReorder","rowReorderIcon","rowEditor","exportable","reorderable","receiver","buildClientInfo","rawClientInfo","crypto","decodedClientInfo","base64Decode","createClientInfoDecodingError","buildClientInfoFromHomeAccountId","homeAccountId","clientInfoParts","CLIENT_INFO_SEPARATOR","utid","eventCenter","EventEmitter","setMaxListeners","SYNC_EVENT","tooltipWrapper","tooltipEl","Tooltip","_reactDom","unmountComponentAtNode","cloneElement","_ConnectedOverlayScrollHandler","showEvent","hideEvent","mouseTrack","tooltipTextEl","updateTooltipState","updateText","autoZIndex","containerEl","baseZIndex","generateZIndex","applyDelay","sendCallback","onBeforeShow","setState","onShow","bindDocumentResizeListener","bindScrollListener","clearTimeouts","onBeforeHide","unbindDocumentResizeListener","unbindScrollListener","scrollHandler","mouseTrackLeft","mouseTrackTop","findCollisionPosition","flipfitCollision","currentPosition","_currentPosition$at","documentResizeListener","_this$getEvents","getEvents","_this$getEvents2","delayProp","showDelayTimeout","updateDelayTimeout","hideDelayTimeout","bindTargetEvent","setEvent","loadTargetEvents","prevState","unbindTargetEvent","tooltipClass","renderElement","showDelay","updateDelay","hideDelay","ifOverflowMatches","alwaysShow","ifOverflow","isAbsolute","spliceOne","resolvePathname","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","up","valueEqual","aValue","bValue","stripLeadingSlash","hasBasename","stripTrailingSlash","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","isActive","canUseDOM","getConfirmation","confirm","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_window$location","createKey","transitionManager","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toLocation","toIndex","fromIndex","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","unblock","unlisten","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","allPaths","baseTag","pushHashPath","nextPaths","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","canGo","isUndefined","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","assignValue","thisArg","stripBOM","DataTable","_Paginator","_FilterUtils","_ScrollableView","_TableBody","_TableFooter","_TableHeader","_TableLoadingBody","onPage","onSort","sortOrder","multiSortMeta","onFilter","isStateful","restoreState","onPageChange","onColumnResizeStart","onHeaderCheckboxClick","onColumnDragStart","onColumnDragOver","onColumnDragLeave","onColumnDrop","onVirtualScroll","frozenSelectionMode","stateStorage","localStorage","sessionStorage","stateKey","isCustomStateStorage","paginator","getFirst","getRows","getSortField","getSortOrder","getMultiSortMeta","hasFilter","getFilters","resizableColumns","saveColumnWidths","reorderableColumns","columnOrder","expandedRows","onSelectionChange","customSaveState","storage","getStorage","setItem","onStateSave","removeItem","restoredState","customRestoreState","stateString","getItem","columnWidthsState","columnWidths","tableWidthState","tableWidth","onRowToggle","onStateRestore","columnResizeMode","scrollable","table","setScrollableItemsWidthOnExpandResize","headerCols","bodyCols","totalRecords","Paginator","pageLinkSize","template","paginatorTemplate","rowsPerPageOptions","currentPageReportTemplate","leftContent","paginatorLeft","rightContent","paginatorRight","alwaysShowPaginator","dropdownAppendTo","paginatorDropdownAppendTo","defaultSortOrder","columnSortable","columnSortFunction","columnField","sortMode","sortMeta","getCalculatedSortOrder","newMetaData","addSortMeta","removableSort","removeSortMeta","processData","currentOrder","meta","data1","data2","value1","value2","localeCompare","numeric","multisortField","matchMode","currentFilters","newFilters","isFilterBlank","globalFilter","footerColumnGroup","hasChildrenFooter","hasFooter","containerLeft","resizeColumn","columnEl","resizeColumnProps","columnProps","columnResizing","lastResizerHelperX","bindColumnResizeEvents","resizerHelper","columnWidth","newColumnWidth","nextColumn","nextElementSibling","nextColumnWidth","scrollableView","findParentScrollableView","scrollableBodyTable","scrollableHeaderTable","scrollableFooterTable","resizeColumnIndex","resizeColGroup","onColumnResizeEnd","saveState","unbindColumnResizeEvents","scrollableBody","scrollableHeader","scrollableFooter","scrollableBodyTableWidth","scrollableHeaderTableWidth","isContainerInViewport","calculateScrollbarWidth","colGroup","nextCol","documentColumnResizeListener","onColumnResize","documentColumnResizeEndListener","iconWidth","getHiddenElementOuterWidth","reorderIndicatorUp","iconHeight","getHiddenElementOuterHeight","draggedColumn","findParentHeader","dataTransfer","dropHeader","containerOffset","dropHeaderOffset","targetLeft","columnCenter","reorderIndicatorDown","dropPosition","dragIndex","dropIndex","allowDrop","getColumns","reorderArray","onColReorder","virtualScrollTimer","virtualScroll","virtualScrollDelay","csv","csvSeparator","cellData","exportFunction","msSaveOrOpenBlob","exportFilename","download","encodeURI","editMode","localFilters","filteredValue","localMatch","globalMatch","filterMeta","filterValue","dataFieldValue","filterLocale","localState","lazy","sortSingle","sortMultiple","filterLocal","visibleData","frozenColumns","scrollableColumns","_step4","_iterator4","columnGroup","TableHeader","headerCheckboxSelected","isAllSelected","TableBody","compareSelectionBy","metaKeySelection","onRowClick","onRowDoubleClick","onRowSelect","onRowUnselect","contextMenuSelection","onContextMenuSelectionChange","rowExpansionTemplate","onRowExpand","onRowCollapse","emptyMessage","virtualRowHeight","loading","groupField","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","rowClassName","onRowReorder","rowEditorValidator","onRowEditInit","onRowEditSave","onRowEditCancel","expandableRowGroups","showRowReorderElement","showSelectionElement","TableLoadingBody","TableFooter","headerColumnGroup","ScrollableView","createTableHeader","createTableBody","createTableLoadingBody","frozenBody","frozenValue","createTableFooter","tableStyle","tableClassName","scrollHeight","frozenWidth","_step5","orderedColumns","_iterator5","findColumnByKey","resetColumnOrder","_step6","_iterator6","iconClassName","loadingIcon","restoreColumnWidths","loader","getTotalRecords","autoLayout","rowHover","paginatorTop","paginatorPosition","createPaginator","paginatorBottom","headerFacet","footerFacet","resizeHelper","tableContent","resizeIndicatorUp","resizeIndicatorDown","renderLoader","getFrozenSelectionModeInColumn","frozenView","getFrozenColumns","getScrollableColumns","createScrollableView","frozenHeaderColumnGroup","frozenFooterColumnGroup","tableHeader","tableBody","tableFooter","role","AuthorityType","stringCache","widthCache","SPAN_STYLE","border","STYLE_LIST","getStyleString","getStringSize","Global","isSsr","styleString","measurementSpan","measurementSpanStyle","styleKey","calculateChartCoordinate","chartX","chartY","renderRadialLabel","labelProps","labelAngle","clockWise","deltaAngle","getDeltaAngle","dominantBaseline","xlinkHref","_props$className","textBreakAll","isPolarLabel","isPolar","positionAttrs","midAngle","_polarToCartesian","verticalAnchor","_polarToCartesian2","getAttrsOfPolarLabel","parentViewBox","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","_attrs2","_attrs3","sizeAttrs","getAttrsOfCartesianLabel","breakAll","parseViewBox","labelViewBox","parseLabel","renderCallByParent","parentProps","checkPropsLabel","explicitChildren","implicitLabel","freeGlobal","freeSelf","formatDecimalParts","formatAxisMap","axisMap","chartName","ids","leftMirror","rightMirror","topMirror","bottomMirror","calculatedPadding","needSpace","orientation","_axis$padding","mirror","reversed","offsetKey","smallestDistanceBetweenValues","sortedValues","smallestDistanceInPercent","rangeWidth","halfBand","_parseScale","finalAxis","rectWithPoints","rectWithCoords","ScaleHelper","bandAware","_offset2","EPS","createLabeledScales","scales","coord","_mapValues","isInRange","_every","replaceClassName","origClass","classToRemove","ENTERING","ENTERED","Transition","_React$Component","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","getDerivedStateFromProps","_proto","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","performEnter","performExit","appearing","nodeRef","ReactDOM","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","onExited","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","TransitionGroupContext","Provider","only","contextType","UNMOUNTED","EXITED","EXITING","baseVal","CSSTransition","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","_this$resolveArgument2","_this$resolveArgument3","getClassNames","isStringClassNames","baseClassName","activeClassName","doneClassName","phase","_addClass","_this$appliedClasses$","getChildMapping","mapFn","mapper","getProp","getNextChildMapping","prevChildMapping","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","hasNext","isLeaving","TransitionGroup","handleExited","contextValue","firstRender","mounted","currentChildMapping","childFactory","ReplaceTransition","_args","handleEnter","handleLifecycle","handleEntering","handleEntered","handleExit","_len5","_key5","handleExiting","_len6","_key6","_len7","_key7","originalArgs","_child$props","inProp","_React$Children$toArr","_leaveRenders","_enterRenders","modes","callHook","cb","_element$props","leaveRenders","changeState","enterRenders","SwitchTransition","appeared","oldChildren","newChildren","_this$state","BrowserRouter","createHistory","resolveToLocation","normalizeToLocation","forwardRefShim","LinkAnchor","innerRef","navigate","isModifiedEvent","forwardedRef","isDuplicateNavigation","ariaCurrent","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","responseType","response","dispatchEvent","MouseEvent","createEvent","initMouseEvent","saveAs","HTMLAnchorElement","webkitURL","autoBom","innerText","safari","FileReader","onloadend","readAsDataURL","N","L","print","modify","I","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","subscribe","unsubscribe","publish","getTopics","objectNumber","gState","B","colors","xStep","yStep","stream","cloneIndex","E","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","floatPrecision","defaultPathOperation","putOnlyUsedFonts","internal","__private__","PubSub","getPdfVersion","setPdfVersion","a0","a3","a4","a5","a6","a7","a8","a9","a10","b0","b3","b4","b5","b6","b7","b8","b9","b10","c1","c2","c3","c4","c5","c6","c7","c8","c9","c10","dl","legal","ledger","tabloid","getPageFormats","getPageFormat","COMPAT","ADVANCED","saveGraphicsState","Vt","_t","Rr","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","D","roundToPrecision","hpf","R","f2","T","f3","H","setPrecision","W","V","G","getFileId","Y","setFileId","Ye","J","convertDateToPDFDate","getTimezoneOffset","Q","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","convertPDFDateToDate","K","setCreationDate","Z","getCreationDate","padd2","tt","padd2Hex","et","rt","nt","ot","ut","Qt","Kt","te","setCustomOutputDestination","ht","resetCustomOutputDestination","ft","write","getArrayBuffer","getStandardFonts","mt","vt","bt","R2L","setR2L","getR2L","yt","wt","setZoomMode","getZoomMode","Nt","Lt","setPageMode","getPageMode","At","setLayoutMode","getLayoutMode","setDisplayMode","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","St","Pt","kt","It","Ft","Ct","jt","Ot","Bt","Mt","Et","qt","Dt","Rt","Tt","Ut","hotfixes","zt","Ht","Wt","_matrix","shx","decompose","shy","tx","ty","multiply","skew","inversed","Cr","applyToRectangle","jr","Matrix","Gt","matrixMult","Yt","unitMatrix","identityMatrix","Jt","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","Xt","newObject","Zt","newObjectDeferred","newAdditionalObject","objId","ee","decodeColorString","encodeColorString","ch1","ch2","ch3","ch4","pdfColorType","ne","ie","putStream","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","ae","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","oe","putPages","se","isAlreadyPutted","postScriptName","encoding","ce","ue","pages","he","le","fe","resourcesOid","objectOid","pe","ge","me","ve","be","oid","toHexString","ye","we","Ne","Le","Ae","Se","fontName","Pe","isStandardFont","metadata","ke","dictionary","foo","bar","Fe","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","Ce","pdfEscape","je","beginPage","Me","Oe","fr","Lr","kr","Ir","Be","setPage","Ee","getNumberOfPages","qe","disableWarning","noFallback","normal","De","putInfo","Re","putCatalog","Te","putTrailer","Ue","putHeader","ze","putXRef","He","buildDocument","We","getBlob","Ve","filename","pdfObjectUrl","pdfJsUrl","contentWindow","PDFViewerApplication","Ge","Je","Xe","getPageInfo","Ke","getPageInfoByObjId","Ze","getCurrentPageInfo","addPage","insertPage","movePage","deletePage","scope","flags","lineHeightFactor","lr","scaleFactor","TabLen","baseline","splitTextToSize","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","_r","setCharSpace","getCharSpace","horizontalScale","renderingMode","usedRenderingMode","pageSize","getStringUnitWidth","doKerning","yr","isHex","xr","$e","clipEvenOdd","discardPath","Qe","isValidStyle","setDefaultPathOperation","tr","getStyle","er","close","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","ar","nr","ir","or","setGState","sr","cr","ur","curveTo","triangle","roundedRect","SQRT2","setFont","hr","getFont","getFontList","addFont","dr","getLineWidth","setLineWidth","setLineDashPattern","gr","getLineHeight","mr","setLineHeightFactor","vr","getLineHeightFactor","lineHeight","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","strokeColor","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Ar","fillColor","getFillColor","setFillColor","textColor","Sr","getTextColor","setTextColor","Pr","CapJoinStyles","butt","but","miter","1","rounded","2","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","addGState","setCurrentTransformationMatrix","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Mr","Er","beginFormObject","endFormObject","doFormObject","getFormObject","returnPromise","unload","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","encryptionOptions","getEncryptor","getPDFVersion","hasHotfix","__acroform__","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","multiline","textAlign","xForms","acroFormDictionaryRoot","printedOut","isInitialized","annotations","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","_scope","FT","getOptions","setOptions","addOption","removeOption","combo","edit","CA","pushButton","caption","appearanceState","_AppearanceType","RadioButton","createAppearanceStream","optionName","setAppearance","getCA","createOption","CheckBox","password","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","calculateCross","x4","x3","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","Uint8ClampedArray","colorSpace","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","loadFile","alias","color_spaces","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","FAST","MEDIUM","SLOW","sHashCode","byteLength","validateStringAsBase64","extractImageFromDataUrl","charset","supportsArrayBuffer","Uint32Array","Int8Array","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","subarray","addImage","imageData","compression","convertBase64ToBinaryString","getImageProperties","fileType","contents","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","getTextWidth","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1649","1655","1657","1658","1659","1662","1663","1664","1667","1668","1670","1671","1672","1676","1677","1678","1681","1688","1700","1702","1705","1709","1711","1713","1715","1722","1723","1726","1728","1729","1733","1734","1735","1736","1737","1739","1740","1744","1746","1747","65247","65154","65156","65160","65166","65248","65165","65258","1617","1612","1613","1614","1615","1616","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","pdf","context2d","_canvas","__cell__","headerFunction","margins","lastCell","setHeaderFunction","getTextDimensions","cellAddPage","tableHeaderRow","printHeaders","printHeaderRow","autoSize","headerBackgroundColor","headerTextColor","table_font_size","setTableHeaderRow","rowStart","cellStart","table_x","table_y","italic","oblique","family","weight","stretch","fixed","monospace","terminal","cursive","fantasy","serif","trimLeft","isStrokeTransparent","strokeOpacity","isFillTransparent","fillOpacity","clip_path","currentPoint","lastPoint","lineDash","prevPageLastElemOffset","ignoreClearRect","fontFaces","defaultFontFamily","genericFontFamilies","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","isIdentity","counterclockwise","arcTo","strokeRect","ctxStack","isCanvasGradient","setTransform","autoPaging","deltas","colorStops","y3","y4","prevLineDash","overrideMimeType","loadImageFile","html2canvas","DOMPurify","dompurify","sanitize","convert","setProgress","enableLinks","jsPDF","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","windowWidth","javascriptEnabled","float","onrendered","toContext2d","allowTaint","imageTimeout","logging","removeContainer","foreignObjectRendering","useCORS","windowHeight","quality","outputImg","outputPdf","doCallback","setMargin","getPageSize","updateProgress","thenCore","thenExternal","catchExternal","using","export","worker","outline","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","imgData","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","read","readUInt16","disposeOp","blendOp","indexed","grayscale","rgb","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","decodeFrames","createImageData","renderFrame","_timeout","stopAnimation","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","datav","DataView","is_with_alpha","bottom_up","parseHeader","parseBGR","jc","Qb","qb","nd","pd","Ca","Ka","oa","Jd","Yc","Zc","Sb","Ra","Ur","zr","Hr","Mb","Xa","ud","hd","jd","Ea","Hn","Wn","Vn","Gn","eb","fb","ea","Tc","Ed","Cd","Fd","Ab","fa","Rd","RGBA","kb","Pd","Qd","Id","fd","Md","hb","ib","da","bd","cd","Da","Sd","ob","ba","ka","vi","cc","dc","Mc","Nc","ec","fc","Rc","Tn","Kb","Sn","An","ma","qn","Rn","Un","memory","Ib","Jb","Nd","Oa","Ci","ji","Si","Mi","Bi","Oi","Pi","ki","Ei","qi","Dc","$n","xc","vc","md","Wb","Ya","ab","Ta","Ua","gc","nc","hc","Gr","Wr","Vr","Zr","$r","Yr","Ba","va","ca","Ma","En","Qr","tn","Dn","nn","en","xn","zn","rn","tb","Xr","Pb","Wa","wc","wd","vb","ti","yc","xb","gi","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Oc","Qn","Xn","Zn","Jn","Yn","Kn","td","Rb","Kd","Ld","Ud","Td","Fb","Bb","Cb","Zb","Lb","Yb","jb","Wc","Xc","wb","Tb","zd","vd","od","ld","La","dd","tc","Na","la","Sc","Eb","Qc","ia","lc","Za","Ob","$b","Ad","Gc","Hc","Dd","uc","Nb","wa","ya","aa","Od","Kc","ed","Qa","Ic","$c","Aa","Xb","Va","Hb","zb","yb","Ub","za","Jc","Pa","Bd","kc","Ac","Bc","zc","Gd","Hd","rb","sb","oc","sa","ta","qa","ra","Ha","Ia","Ec","ja","Vb","Fc","gd","Fa","Cc","qc","Gb","Uc","mb","nb","rc","Ga","Vc","put","ac","bc","ha","ni","ei","ri","hi","ai","Ri","Ui","Vd","Cn","Pn","kn","In","Fn","an","cn","un","hn","sn","dn","pn","gn","mn","vn","bn","wn","Nn","Ln","fi","li","di","ci","oi","Bn","jn","Mn","kd","na","xa","gb","Ja","Sa","Lc","$a","ic","mc","bi","wi","Ni","Li","Ai","Fi","Ii","Di","zi","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","Ti","WebPDecodeRGBA","src_off","src_size","feature_flags","canvas_width","canvas_height","bgcolor","loop_count","offset_x","offset_y","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","processBMP","processWEBP","processRGBA","setLanguage","languageSettings","isSubscribed","af","sq","hy","as","ast","az","eu","bs","bg","zh","cv","co","nl","eo","fo","fj","fur","gl","gu","hu","iu","ks","kk","km","ky","tlh","ko","lv","mk","ml","mo","nv","ng","no","om","qu","ro","ru","sg","sl","so","es","sw","sv","th","tig","tk","uk","hsb","vo","xh","zu","languageCode","getCharWidthsArray","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","addSvgAsImage","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","stemV","italicAngle","ascender","decender","capHeight","rawData","hmtx","cmap","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","5","6","7","32","251","254","255","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","post","os2","loca","glyf","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","__super__","file","raw","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","new","charMap","subtable","maxGlyphID","LN2","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","firstCharIndex","lastCharIndex","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","names","offsets","numGlyphs","languageID","nameID","strings","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","metrics","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","coefficient","toLocaleString","InteractionRequiredServerErrorMessage","InteractionRequiredAuthSubErrorMessage","InteractionRequiredAuthErrorMessage","native_account_unavailable","timestamp","traceId","claims","InteractionRequiredAuthError","isInteractionRequiredError","isInteractionRequiredErrorCode","isInteractionRequiredSubError","isInteractionRequiredErrorDesc","irErrorCode","createNoTokensFoundError","createNativeAccountUnavailableError","XLSX","current_codepage","current_ansi","cptable","VALID_ANSI","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","set_ansi","set_cp","reset_cp","char_codes","debom","utf16leread","utf16beread","_getchar","_getansi","utils","e1","e2","e3","e4","has_buf","Buffer","Buffer_from","nbfs","enc","alloc","allocUnsafe","new_raw_buf","new_unsafe_buf","s2a","s2ab","view","a2s","ab2a","bconcat","bufs","chr0","chr1","SSF","make_ssf","_strrev","pad0","pad_","rpad_","p2_32","pad0r","pad0r1","pad0r2","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","frac","mixed","sgn","P_2","P_1","Q_2","Q_1","parse_date_code","date","time","dow","dout","date1904","setDate","getDay","fix_hijri","basedate","dnthresh","base1904","datenum_local","epoch","_general_int","general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","LOG10E","small_exp","large_exp","normalize_exp","general_fmt","write_date","fmt","ss0","ss","outl","commaify","_general_num","_general","write_num","pct1","frac1","dec1","closeparen","phone","hashq","rnd","dec","_frac","write_num_flt","ffmt","write_num_cm","sfmt","write_num_pct","write_num_exp","period","fakee","$$","$3","aval","den","myn","myd","write_num_f1","lres","rres","flr","write_num_int","write_num_cm2","write_num_pct2","write_num_exp2","write_num_f2","split_fmt","in_str","_split","abstime","fmt_is_date","eval_fmt","flen","lst","ssm","jj","nstr","myv","ostr","vv","decpt","lasti","retval","is_date","_eval","cfregex","cfregex2","chkcond","thresh","dateNF","lat","choose_fmt","load_entry","_table","get_table","load_table","tbl","CRC32","XLMLFormatMap","SSFImplicit","dateNFregex","signed_crc_table","bstr","seed","crc32_buf_8","_fs","CFB","dirname","write_dos_date","hms","write_shift","ymd","parse_extra_field","prep_blob","read_shift","tgt","mtime","atime","ctime","get_fs","parse_zip","mver","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","ssz","fat_addrs","mv","chk","HEADER_SIGNATURE","check_get_mver","check_shifts","dir_cnt","nsectors","sectorify","sleuth_fat","cnt","ENDOFCHAIN","__readInt32LE","sector_list","chkd","buf_chain","modulus","seen","addr","nodes","__toBuffer","make_sector_list","Paths","FileIndex","FullPaths","files","mini","minifat_store","namelen","__utf16le","clsid","read_date","get_sector_list","get_mfat_entry","read_directory","FI","FP","dad","build_full_paths","MSSZ","new_buf","__readUInt32LE","init_cfb","cfb","CLSID","nm","rebuild_cfb","seed_cfb","_file","HEADER_CLSID","namecmp","elt","_write","_opts","cdirs","start_cd","fcnt","fp","crcs","sz_cd","namebuf","outbuf","_zlib","deflateRawSync","_deflate","write_zip","mini_size","fat_size","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","rev","read_bits_2","bl","read_bits_3","read_bits_5","read_bits_7","read_bits_n","realloc","zero_fill_array","_deflateRaw","boff","build_tree","clens","MAX","maxlen","ccode","bl_count","ctree","cleni","fix_lmap","fix_dmap","dlens","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","read_bits_4","next_code","hcodes","h1","_inflate","usz","woff","OL","max_len_1","max_len_2","len_eb","dst_eb","dst","inflate","warn_or_throw","wrn","csz","efsz","fcsz","EF","parse_local_file","meth","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_dos_date","crc32","_csz","_usz","ef","InflRaw","InflateRaw","_processChunk","_finishFlushFlag","bytesRead","_inflateRawSync","_crc32","cfb_add","unsafe","fpath","cfb_gc","UCFullPaths","UCPaths","UCPath","readFileSync","read_file","writeFileSync","writeFile","cfb_new","cfb_del","cfb_mov","old_name","new_name","ReadShift","CheckField","use_zlib","zlib","_inflateRaw","blobify","a2u","write_dl","fname","utf8write","IE_SaveFile","msSaveBlob","chrome","downloads","File","o2","evert_key","evert","evert_num","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","dup","fuzzynum","fuzzydate","getYear","jszip","safe_split_regex","getdatastr","asNodeBuffer","asBinary","getContent","getdata","getdatabin","safegetzipfile","zip","getzipfile","getzipdata","safe","getzipstr","zip_add_file","zip_new","resolve_path","JSZipSync","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","skip_root","skip_LC","quot","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","utf8read","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","__lpp4","___lpp4","XMLNS","XLMLNS","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__double","___double","__8lpp4","___8lpp4","read_double_le","is_buf","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","lens","__writeUInt16LE","WriteShift","cppayload","__writeUInt32LE","av","write_double_le","__writeInt32LE","hexstr","fld","parsenoop","recordhopper","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","_bufs","write_record","XLSBRE","shift_cell_xls","cRel","rRel","biff","shift_range_xls","encode_cell_xls","encode_cell","cstr","fix_row","encode_range_xls","encode_row","encode_col","decode_row","rowstr","decode_col","colstr","decode_cell","decode_range","encode_range","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","_R","_C","_origin","_range","__R","__C","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","parse_RichStr","rgsStrRun","dwSizeStrRun","_crypto","rc4","md5","createHash","digest","make_offcrypto","parse_BrtCommentText","write_BrtCommentText","write_StrRun","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","parse_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","write_BrtColor","auto","theme","nTS","tint","parse_ClipboardFormatOrString","3","8","14","VT_CUSTOM","DocSummaryPIDDSI","VT_VECTOR","SummaryPIDSI","SpecialProperties","DocSummaryRE","SummaryRE","CountryEnum","XLSFillPattern","XLSIcv","BErr","RBErr","ct2type","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","type2ct","evert_arr","CT","CTYPE_XML_ROOT","xsd","xsi","CTYPE_DEFAULTS","rels","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","VBA","get_rels_path","parse_rels","currentFilePath","Target","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","write_rdf_type","write_meta_ods","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","CORE_PROPS_XML_ROOT","dcterms","dcmitype","cp_doit","EXT_PROPS","load_props_pairs","HP","TOP","hp","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","EXT_PROPS_XML_ROOT","CUST_PROPS","custregex","CUST_PROPS_XML_ROOT","write_cust_props","pid","write_vt","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","Application","LastPrinted","CreatedDate","ModifiedDate","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtVecUnalignedLpstr","parse_VtVecUnalignedLpstrValue","parse_VtHeadingPair","parse_TypedPropertyValue","parse_VtVecHeadingPair","cElements","parse_VtVecHeadingPairValue","parse_dictionary","CodePage","dict","parse_BLOB","bytes","Size","parse_ClipboardData","parse_VtUnalignedString","write_TypedPropertyValue","write_FILETIME","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","RE","hdr","piao","pio","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writebool","parseuint16","writeuint16","parseuint16a","parslurp","parse_ShortXLUnicodeString","cch","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","cRun","write_XLUnicodeRichExtendedString","xlstr","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_HyperlinkMoniker","extra","parse_URLMoniker","ansiPath","parse_FileMoniker","parse_HyperlinkString","write_Hyperlink","hl","parse_LongRGBA","parse_LongRGB","parse_XLSCell","ixfe","write_XLSCell","parse_XTI","parse_RkRec","parse_Ref8U","rwFirst","rwLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","parse_FtSkip","FtTab","cf","fSharedNote","parse_BOF","BIFFVer","write_BOF","bookType","write_BoundSheet8","hs","parse_DefaultRowHeight","miyRw","Unsynced","DyZero","ExAsc","ExDsc","write_Format","parse_BIFF2Format","parse_Dimensions","write_XF","ixfeP","parse_BoolErr","parse_Bes","write_BoolErr","os","write_Bes","parse_XLHeaderFooter","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","sbcch","udfName","parse_AddinUdf","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","rgcb","parse_Rgce","parse_RgbExtra","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_Array","parse_ArrayParsedFormula","parse_BIFF5OT","write_HLink","write_HLinkTooltip","TT","parse_ColInfo","cellStyles","colFirst","colLast","coldx","cchName","parse_Blank","parse_Scl","parse_String","DBF","dbf_codepage_map","dbf_reverse_map","dbf_to_sheet","vfp","l7","nrow","fpos","rlen","current_cp","hend","sheetRows","dbf_to_aoa","_RLEN","to_workbook","to_sheet","from_sheet","codepage","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","rout","SYLK","sylk_escapes","AA","BA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","DN","Hy","sylk_char_regex","sylk_char_fn","decode_sylk_char","newcc","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","Mval","rstr","C_seen_K","C_seen_X","formula","rc_to_a1","F_seen","hidden","wch","process_col","hpt","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_aoa","write_ws_cell_sylk","a1_to_rc","preamble","RS","rec","wpx","width2px","px2char","px2pt","write_ws_rows_sylk","DIF","dif_to_aoa_str","dif_to_sheet","dif_to_aoa","push_field","topic","push_value","ETH","eth_to_sheet","eth_to_aoa","sep","sheet_to_eth_data","PRN","set_text_arr","guess_seps","guess_sep_weights","dsv_to_sheet_str","instr","guess_sep","sepcc","_re","dateNF_regex","finish_cell","datestr","timestr","dateNF_fix","cellText","cellNF","prn_to_sheet_str","prn_to_aoa_str","prn_to_sheet","firstbyte","WK_","lotus_to_workbook_buf","sidx","snames","refguess","Enum","WK1Enum","WK3Enum","qpro","lotushopper","vers","parse_cell","parse_LABEL","parse_cell_3","parse_NUMBER_17","parse_NUMBER_27","parse_rs","tregex","rpregex","parse_r","rpr","pass","shadow","strike","uval","parse_rpr","rregex","rend","rs_to_html","nlregex","r_to_html","terms","intro","outro","parse_rpr2","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","SST","straywsregex","write_sst_xml","sst","bookSST","Count","uniqueCount","Unique","sitag","write_BrtSSTItem","write_sst_bin","write_BrtBeginSst","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceMapEntry","comps","parse_Primary","parse_TransformInfoHeader","ename","cmode","parse_EncryptionHeader","Flags","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","KeyData","encryptedHmacKey","encryptedHmacValue","encs","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","XorRor","Byte","Temp","PasswordLastChar","PadIndex","XorKey","CurrentElement","Char","CreateXorKey_Method1","Index","ObfuscationArray","crypto_MakeXorDecryptor","XorArrayIndex","XorArray","Value","crypto_DecryptData_Method1","parse_FilePassHeader","EncryptionVersionInfo","EncryptedVerifier","EncryptedVerifierHash","parse_RC4Header","EncryptionHeader","EncryptionVerifier","parse_RC4CryptoHeader","RTF","rtf_to_sheet","rtf_to_sheet_str","rgb2Hex","rgb_tint","hsl","H6","L2","rgb2HSL","hex2RGB","h6","hsl2RGB","MDW","char2width","chr","cycle_width","collw","find_mdw_colw","_MDW","coll","customWidth","XLMLPatternTypeMap","cellXF_uint","cellXF_bool","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","themes","NumberFmt","formatCode","parse_numFmts","Fonts","underline","condense","vertAlign","scheme","icv","themeElements","clrScheme","parse_fonts","Fills","patternType","fgColor","parse_fills","Borders","diagonalUp","diagonalDown","parse_borders","xf","CellXf","alignment","textRotation","wrapText","parse_cellXfs","STYLES_XML_ROOT","write_sty_xml","NF","write_numFmts","cellXfs","write_cellXfs","write_BrtFmt","write_BrtFont","grbit","write_FontFlags","sss","STY","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","write_BrtXF","write_Blxf","parse_BrtBorder","write_BORDERS_bin","write_STYLES_bin","xfId","builtinId","write_TABLESTYLES_bin","defTableStyle","defPivotStyle","write_BrtBeginTableStyles","write_sty_bin","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","fontId","fillId","borderId","write_CELLSTYLEXFS_bin","write_CELLXFS_bin","write_DXFS_bin","THEME","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","themeltregex","parse_theme_xml","write_theme","parse_themeElements","Themes","themeXLSX","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_ColorTheme","parse_ExtProp","extType","parse_XFExtGradient","IMG","DRAW","_shapeid","write_comments_vml","csize","joinstyle","gradientshapeok","coordsize","fillopts","fillparm","fillxml","fillcolor","strokecolor","CMNT","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtCommentAuthor","write_comments_bin","write_BrtCommentAuthor","write_BrtBeginComment","VBAFMTS","DS","MS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","shift_formula_str","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_PtgAttrSpaceType","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","PtgTypes","iftab","FtabArgc","Ftab","cparams","tab","parsetab","Cetab","nameindex","rl","parse_RgceLocRel_BIFF2","cl","parse_RgceLocRel","parse_RgceAreaRel","ixti","parse_PtgNameX_BIFF5","PtgDupes","Ptg18","coltype","Ptg19","bitSemi","bitIf","bitGoto","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","quoteCharacters","get_ixti_raw","supbooks","XTI","SID","get_ixti","sname","formula_quote_sheet_name","stringify_formula","nameidx","last_sp","sp","fflen","argc","lbl","XLSXFutureFunctions","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","_left","parse_SharedParsedFormula","parse_Formula","parse_FormulaValue","cbf","parse_XLSCellParsedFormula","shared","write_Formula","o1","write_FormulaValue","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","ods_to_csf_3D","_ssfopts","WS","browser_has_Map","get_sst_id","revarr","col_obj_w","default_margins","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fmtid","fillid","raw_rgb","check_ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","svsregex","parse_ws_xml","mtch","sheetPr","parse_ws_xml_sheetpr","ridx","parse_ws_xml_dim","svs","Views","sviewregex","rightToLeft","RTL","parse_ws_xml_sheetviews","seencol","coli","colm","colM","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","merges","_merge","hlink","Rel","rng","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","codeName","CodeName","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","outlineLevel","rslice","cellFormula","xlfn","___f","_tag","WS_XML_ROOT","write_ws_xml","rdata","_drawing","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","write_ws_xml_sheetpr","sview","workbookViewId","write_ws_xml_sheetviews","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","write_ws_xml_cols","customHeight","write_ws_xml_data","write_ws_xml_protection","Names","Sheet","Ref","write_ws_xml_autofilter","write_ws_xml_merges","relc","ignoreEC","numberStoredAsText","sqref","write_row_header","ncolspan","lcs","caddr","write_BrtRowHdr","parse_BrtWsDim","write_BrtWsDim","write_BrtCellRk","ncell","d100","write_RkNumber","parse_BrtMergeCell","write_BrtMergeCell","BrtMarginKeys","write_ws_bin_cell","write_BrtCellIsst","write_BrtCellSt","write_BrtCellReal","write_BrtCellBool","write_BrtCellBlank","write_MERGECELLS","write_COLINFOS","write_BrtColInfo","write_IGNOREECS","write_BrtCellIgnoreEC","write_HLINKS","locidx","write_BrtHLink","write_WSVIEWS2","write_BrtBeginWsView","write_SHEETPROTECT","write_ws_bin","write_BrtWsProp","write_CELLTABLE","write_AUTOFILTER","write_LEGACYDRAWING","parse_chart","csheet","nf","parse_Cache","CHART","CHARTEX","CS","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","badchars","check_ws_name","_good","check_wb","codes","wbnsregex","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","Hidden","sheetId","localSheetId","write_BOOKVIEWS","vistab","write_wb_bin","write_BrtFileVersion","filterPrivacy","write_BrtWbProp","iTabID","strRelID","write_BrtBundleSh","write_BUNDLESHS","parse_wb","R_n","Ptg","parse_wb_bin","dname","dnstart","parse_wb_xml","parse_ws","aii","relId","rfx","parse_ws_bin","parse_cs","parse_cs_bin","parse_cs_xml","parse_sty","parse_sty_bin","parse_sst","parse_sst_bin","parse_sst_xml","parse_cmnt","authors","parse_comments_bin","commentList","authtag","cmnttag","cm","authorId","guid","textMatch","parse_comments_xml","parse_cc","parse_cc_bin","parse_cc_xml","parse_xlink","parse_xlink_bin","write_wb","write_ws","write_sst","write_cmnt","attregexg2","attregex2","xlml_parsexmltag","xlml_parsexmltagobj","xlml_set_custprop","Custprops","oval","safe_format_xlml","xlml_format","process_style_xlml","stag","Interior","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","UTC","Formula","ArrayRange","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","opening","ishtml","HTML_","tmp","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","xlml_write_docprops","BLACKLIST","xlml_write_custprops","write_name_xlml","write_ws_xlml_cell","_v","write_ws_xlml_row","write_ws_xlml","write_ws_xlml_names","skip","write_ws_xlml_table","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_wsopts","write_xlml","write_sty_xlml","write_names_xlml","parse_compobj","AnsiUserType","AnsiClipboardFormat","parse_ClipboardFormatOrAnsiString","Reserved1","UnicodeClipboardFormat","parse_ClipboardFormatOrUnicodeString","Reserved2","slurp","insitu","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","cell_valid","XFs","get_rgb","addcell","file_depth","xfd","icvFore","icvBack","process_cell_style","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","RecordType","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","fDialog","ExternCount","tmpri","fakebs8","rknum","rkrec","_fr","_fc","_fe","_arraystart","isst","_ixfe","b4idx","b2idx","cmo","lastobj","TxO","ImData","noteobj","ext","xfe","Encryption","Metadata","Country","PSCLSID","parse_xlscfb","CompObj","WorkbookP","bookVBA","newcfb","newpath","make_vba_xls","DSI","DocSummary","SI","Summary","HeadingPairs","TitlesOfParts","parse_xls_props","bookFiles","write_xlscfb","wbpath","write_biff_buf","Keys","DSEntries","SEntries","CEntries","CEntries2","write_xls_props","vba","fill_vba_xls","ArchID","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_FontFlags","bCharSet","xColorType","bR","bG","bB","parse_BrtColor","ixfeParent","ifmt","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","fAlwaysCalc","idObj","stAuthor","parse_NoteSh","verificationBytes","verifier","parse_XORObfuscation","dyHeight","fl","Pos","Dim","CurTab","FirstTab","Selected","TabRatio","UserName","fts","parse_BIFF5Obj","parse_FtArray","ccv","rw","rkrecs","lastcol","ixfes","fStyle","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","fsxButton","parse_CellStyleXF","cmcs","ucnt","extsst","dsst","ctab","virtPath","rgst","texts","accel","parse_ControlInfo","cchText","sVer","targetFrameName","moniker","oleMoniker","fileTime","Loc","parse_Hyperlink","xnum","cUse","wzTooltip","cxfs","crc","cexts","cchComment","themeXML","parse_frtHeader","env","lcb","XLSRE","write_biff_rec","write_BIFF2Cell","write_ws_biff2_cell","write_BIFF2INT","write_BIFF2NUM","write_BIFF2BERR","write_BIFF2LABEL","write_biff2_buf","write_ws_biff2","write_FONTS_biff8","write_Font","write_ws_biff8_cell","write_Number","write_LabelSst","write_Label","write_ws_biff8","_WB","_sheet","MAX_ROWS","guts","write_Guts","write_Dimensions","write_Window2","write_MergeCells","HL","write_ws_biff8_hlinks","write_FEAT","write_biff8_global","_sheets","_wb","writezeroes","write_WriteAccess","write_RRTabId","write_Window1","safe1904","write_FMTS_biff8","write_CELLXFS_biff8","write_biff_continue","write_SST","blen","fix_write_opts","write_biff8_buf","html_to_sheet","mtch2","split_regex","midx","make_html_row","editable","make_html_preamble","_BEGIN","_END","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","is_dom_element_hidden","elts","parse_dom_table","get_computed_style","defaultView","get_get_computed_style_function","parse_content_xml","parse_text_p","number_formats","day","month","year","hours","minutes","seconds","era","quarter","sheetag","rowtag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","rowpeat","colpeat","atag","_Ref","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","ods","FEtag","parse_manifest","write_styles_ods","write_content_ods","null_cell_xml","_Fref","text_p","_tgt","fods","write_automatic_styles_ods","write_ods","manifest","rdf","write_rdf","write_manifest","write_obj_str","write_sheet_index","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","fix_opts_func","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","chartp","parse_drawing","crelsp","parse_ds","encoded","sheet_insert_comments","strip_front_slash","binname","zipentries","links","coreprops","extprops","custprops","calcchains","drawings","TODO","ctext","Extension","ContentType","PartName","calcchain","parse_ct","parse_theme","propdata","parse_ext_props","toks","parse_cust_props","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","wbrels","safe_parse_wbrels","nmode","wsloop","snjseen","snj","Deps","bin","parse_xlsxcfb","parse_DataSpaceVersionInfo","dsm","parse_DataSpaceMap","seds","parse_DataSpaceDefinition","einfo","parse_EncryptionInfo","decrypt_agile","decrypt_std76","vbafmt","write_core_props","_sn","write_ext_props","wsrels","need_vml","rId1","write_sty","f1","write_ct","read_zip","base64","zip_read","read_plaintext","read_prn","readSync","infile","read_binary","bstrify","vu","read_cfb","OLD_WTF","read_wb_ID","read_utf16","read_plaintext_raw","write_cfb_ctr","write_string_type","bom","write_binary_type","writeSync","write_stxt_type","write_cfb_type","oopts","encrypt_agile","write_zip_type","resolve_book_type","make_json_row","defval","isempty","__rowNum__","rawNumbers","outi","CC","blankrows","qreg","make_csv_row","FS","forceQuotes","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","skipHeader","JS","sheet_get_cell","split_cell","get_formulae","make_csv","make_json","make_formulae","json_to_sheet","table_to_sheet","table_to_book","sheet_to_html","sheet_to_row_object_array","get_default","ws_get_cell_stub","RC","book_new","book_append_sheet","book_set_sheet_visibility","sh","vis","wb_sheet_idx","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","rngstr","Readable","to_json","objectMode","_read","to_html","to_csv","BOM","readFile","writeFileAsync","_cb","make_xlsx_lib","lastId","getRawTag","objectToString","symToStringTag","webpackPolyfill","deprecate","baseMatches","baseMatchesProperty","reduceRight","curried","nextArgs","errorMessages","initialIsRequired","initialType","initialContent","handlerType","handlersType","selectorType","changeType","changeField","validators","initial","_handler","extractChanges","causedChanges","updateState","didStateUpdate","_handler$field","didUpdate","getChanges","getState","vs","configIsRequired","configType","deprecation","urls","monacoBase","CANCELATION_MESSAGE","makeCancelable","hasCanceled_","wrappedPromise","_state$create","config$1","monaco","_state$create2","injectScripts","script","getMonacoLoaderScript","configureLoader","loaderScript","storeMonacoInstance","wrapperPromise","globalConfig","_validators$config","__getMonacoInstance","loadingStyles","justifyContent","alignItems","Loading","fullWidth","MonacoContainer","isEditorReady","wrapperProps","MonacoContainer$1","useMount","effect","useUpdate","applyChanges","isInitialMount","getOrCreateModel","getModel","createModelUri","createModel","Uri","DiffEditor","original","originalLanguage","modifiedLanguage","originalModelPath","modifiedModelPath","keepCurrentOriginalModel","keepCurrentModifiedModel","beforeMount","setIsEditorReady","isMonacoMounting","setIsMonacoMounting","editorRef","monacoRef","containerRef","onMountRef","beforeMountRef","cancelable","_models$original","_models$modified","models","disposeEditor","modifiedEditor","getModifiedEditor","getOption","EditorOption","readOnly","executeEdits","getFullModelRange","forceMoveMarkers","pushUndoStop","setModelLanguage","setTheme","updateOptions","setModels","useCallback","originalModel","modifiedModel","setModel","createEditor","createDiffEditor","automaticLayout","usePrevious","viewStates","Editor","defaultLanguage","defaultPath","overrideServices","saveViewState","keepCurrentModel","onValidate","subscriptionRef","valueRef","previousPath","_subscriptionRef$curr2","_editorRef$current$ge2","model","restoreViewState","revealLine","autoCreatedModelPath","defaultModel","_subscriptionRef$curr","_editorRef$current","onDidChangeModelContent","editorValue","changeMarkersListener","onDidChangeMarkers","uris","_editorRef$current$ge","editorUri","getModelMarkers","resource","isObjectLike","setRafTimeout","currTime","shouldUpdate","_toArray","createAnimateManager","handleChange","shouldStop","setStyle","_style","restStyles","_handleChange","PREFIX_LIST","IN_LINE_PREFIX_LIST","IN_COMPATIBLE_PROPERTY","mapObject","translateStyle","isTransition","camelName","styleVal","generatePrefixStyle","getTransitionVal","cubicBezierFactor","multyTime","cubicBezier","derivativeCubicBezier","newParams","configBezier","_easing$1$split$0$spl","_easing$1$split$0$spl2","curveX","curveY","derCurveX","rangeValue","bezier","evalT","derVal","isStepper","configSpring","_config$stiff","stiff","_config$damping","damping","_config$dt","stepper","currX","destX","currV","newV","needContinue","preObj","nextObj","preTime","beginTime","interKeys","timingStyle","stepperStyle","velocity","cafId","calStepperVals","preVals","nextStepVals","_easing2","currStyle","finalStyle","Animate","_PureComponent","handleStyleChange","changeStyle","canBegin","runAnimation","_this$props3","shouldReAnimate","deepEqual","isTriggered","manager","stopJSAnimation","_newState","newState","unSubscribe","onAnimationStart","startAnimation","configUpdate","configEasing","_steps$","initialStyle","_steps$$duration","initialTime","sequence","_nextItem$easing","nextProperties","properties","preItem","runJSAnimation","transition","newStyle","propsTo","runStepAnimation","_this$props4","onAnimationReStart","stateStyle","_container$props","_container$props$styl","PureComponent","parseDurationOfSingleTransition","AnimateGroupChild","isAppearing","appearOptions","enterOptions","handleStyleActive","leaveOptions","parseTimeout","AnimateGroup","leave","hasXMLHttpRequest","makePromise","maybePromise","isPromise","generateAccountId","environment","CACHE_KEY_SEPARATOR","generateAccountKey","AccountEntity","generateAccountCacheKey","tenantId","realm","username","localAccountId","generateType","authorityType","ADFS_ACCOUNT_TYPE","MSAV1_ACCOUNT_TYPE","MSA","MSSTS_ACCOUNT_TYPE","MSSTS","GENERIC_ACCOUNT_TYPE","GENERIC","getAccountInfo","idTokenClaims","nativeAccountId","accountInterface","createAccount","clientInfo","idToken","authority","cloudGraphHostName","msGraphHost","account","getPreferredCache","tid","preferredUsername","preferred_username","email","emails","createGenericAccount","Adfs","upn","serverClientInfo","authType","logger","cryptoObj","accountId","Dsts","verbose","entity","accountInfoIsEqual","accountA","accountB","compareClaims","claimsMatch","accountAClaims","accountBClaims","iat","nonce","baseIsNative","upperFirst","createCaseFirst","BREAKING_SPACES","calculateWordWidths","wordsWithComputedWidth","word","spaceWidth","getWordsWithoutCalculate","getWordsByLines","needCalculate","scaleToFit","wordWidths","initialWordsWithComputedWith","shouldLimitLines","maxLines","calculate","currentLine","originalResult","trimmedResult","checkOverflow","tempText","findLongestLine","iterations","_checkOverflow2","doesPrevOverflow","doesMiddleOverflow","calculateWordsByLines","prevWidth","prevScaleToFit","prevStyle","prevBreakAll","wordsByLines","textProps","startDy","reduceCSSCalc","assertThisInitialized","consoleLogger","baseLogger","Logger","concreteLogger","forward","lvl","debugOnly","moduleName","observers","cloned","observer","_cloned","defer","rej","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","_getLastOfPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","_entityMap","escape","isIE10","ResourceStore","_EventEmitter","defaultNS","keySeparator","lng","silent","addNamespaces","emit","resources","addResource","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","addPostProcessor","translator","checkedLoadedFor","Translator","services","interpolation","resolved","nsSeparator","nestingRegexp","lastKey","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","fallbackValue","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","defaultVariables","nest","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","extracted","fallbackNS","needsContextHandling","hasLoadedNamespace","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","returnEmptyString","resourceStore","option","capitalize","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","isSupportedCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","sets","_rulesPluralsTypes","4","9","10","11","12","13","15","16","17","18","19","20","21","22","createRules","rules","numbers","plurals","PluralResolver","rule","getRule","noAbs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","missingInterpolationHandler","safeValue","todo","clonedOptions","handleHasOptions","inheritedOptions","optionsString","formatters","doReduce","Connector","backend","store","queue","languages","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","errors","addResourceBundle","_getLastOfPath2","pushPath","what","fcName","tried","queueLoad","loadOne","prepareLoading","isUpdate","initImmediate","nonExplicitWhitelist","preload","pluralSeparator","partialBundledLanguages","tDescription","transformOptions","i18next","I18n","isClone","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","changeLanguage","usedCallback","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","_this$translator","_this$translator2","lastLng","loadNotPending","loadState","precheck","preResult","preloaded","newLngs","mergedOptions","membersToCopy","ConnectedOverlayScrollHandler","getScrollableParents","_KeyFilter","onInput","onKeyPress","keyfilter","validateOnly","validatePattern","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","encodingOrOffset","byteOffset","fromArrayLike","fromArrayBuffer","isEncoding","actual","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","baseFlatten","baseOrderBy","baseRest","isIterateeCall","sortBy","iteratees","Dot","createRange","baseIteratee","baseUniq","iteratee","CartesianAxis","layerReference","letterSpacing","minTickGap","tickFormatter","getNumberIntervalTicks","getTicksStart","getTicksEnd","preserveEnd","sizeKey","unitSize","tail","tailContent","tailSize","tailGap","tickCoord","isShow","restProps","viewBoxOld","restPropsOld","htmlLayer","getElementsByClassName","tickSize","tickMargin","finalTickSize","_this$props5","axisLine","needHeight","needWidth","_this$props6","tickLine","finalTicks","getTicks","getTickTextAnchor","getTickVerticalAnchor","axisProps","customTickProps","tickLineProps","_this2$getTickLineCoo","getTickLineCoord","lineCoord","tickProps","visibleTicksCount","renderTickItem","_this$props7","ticksGenerator","_this$props8","noTicksProps","renderAxisLine","renderTicks","isLength","Parser","defineProp","Tokenizer","ElementType","DefaultHandler","FeedHandler","parseDOM","parseFeed","feed","createDomStream","elementCb","EVENTS","cdatastart","cdataend","processinginstruction","commentend","closetag","opentag","opentagname","Directive","Script","Style","CDATA","Doctype","isTag","tags","camelCase","cssCase","domEach","cheerio","cloneDom","quickExpr","DomUtils","trueFunc","falseFunc","implicit","ordinal","__WEBPACK_EXTERNAL_MODULE__84__","__webpack_modules__","662","__unused_webpack_module","__extends","extendStatics","__","CellHookData","HookData","pageCount","getDocument","section","790","htmlParser_1","autoTableText_1","documentHandler_1","inputParser_1","tableDrawer_1","tableCalculator_1","autoTable","parseInput","createTable","drawTable","lastAutoTable","previousAutoTable","autoTableText","autoTableSetDefaults","DocHandler","setDefaults","autoTableHtmlToJson","tableElem","includeHiddenElements","parseHtml","autoTableEndPosY","finalY","autoTableAddPageContent","hook","globalDefaults","addPageContent","autoTableAddPage","938","lineCount","halign","alignSize","iLine","200","getFillStyle","drawLine","drawBackground","parseSpacing","addTableBorder","getStringWidth","applyStyles","startPos","tableLineWidth","tableLineColor","913","getTheme","defaultStyles","HtmlRowInput","FONT_ROW_RATIO","_element","cellPadding","minCellHeight","minCellWidth","striped","foot","alternateRow","plain","259","parseCss","common_1","parseColor","styleGetter","cssColor","realColor","supportedFonts","borderColor","pxScaleFactor","linePadding","inputPadding","parsePadding","accepted","parseFontStyle","323","jsPDFDocument","userStyles","__autoTableDocumentDefaults","unifyColor","fontOnly","setFontStyle","availableFontStyles","getLastAutoTable","getGlobalOptions","getDocumentOptions","pageInfo","148","cssParser_1","config_1","parseRowContent","includeHidden","useCss","resultRow","style_1","parseCellContent","orgCell","includeHiddenHtml","tableElement","587","polyfills_1","inputValidator_1","parseColumns","firstRow","rowResult","gInput","dInput","cInput","styleOptions","headStyles","bodyStyles","footStyles","alternateRowStyles","columnStyles","_loop_1","global_1","document_1","parseStyles","hooks","didParseCell","willDrawCell","didDrawCell","didDrawPage","allOptions_1","parseHooks","_g","_h","_k","_l","showFoot","showHead","userStartY","sf","isSamePageAsPreviousTable","startPageNumber","endingPage","horizontalPageBreak","horizontalPageBreakRepeat","pageBreak","rowPageBreak","parseSettings","htmlContent","parseContent","tableId","291","checkStyles","rowHeight","extendWidth","afterPageContent","beforePageContent","afterPageAdd","deprecated","deprecatedOption","287","Cell","Row","HookData_1","getHeadHeight","getMaxCellHeight","getFootHeight","allRows","callCellHooks","handlers","handlers_1","callEndPageHooks","pageWidth","total","wrappedWidth","spansMultiplePages","hasRowSpan","canEntireRowFit","getMinimumRowHeight","fontHeight","oneRowHeight","contentHeight","contentWidth","minReadableWidth","getTextPos","netHeight","netWidth","getContentHeight","getMaxCustomCellWidth","360","nextSource","858","models_1","widthCalculator_1","parseSection","sectionName","sectionRows","styleProps","rowSpansLeftForColumn","rawRow","rowIndex","skippedRowForRowSpans","colSpansAdded","columnSpansLeft","columns_1","rawCell","cellInputStyles","generateSectionRow","sectionRow","getSectionTitle","themeName","sectionStyles","otherStyles","colStyles","rowStyles","defaultStyle","themeStyles","jsPDFDoc","createColumns","calculateWidths","49","tablePrinter_1","getRemainingLineCount","remainingPageSpace","vPadding","remainingLines","printFullRow","isLastRow","remainingSpace","bottomContentHeight","getRemainingPageSpace","printRow","pageHeight","maxRowHeight","minRowHeight","minRowFits","rowHasRowSpanCell","shouldPrintOnCurrentPage","remainderRow","remainderCell","remainingLineCount","modifyRowToFit","drawCellBorders","textPos","sides","lineWidth_1","drawBorderForSide","nextPage","sectionsHeight","minTableBottomPos","calculateAllColumnsCanFitInPage","colsAndIndexes","printHead","printBody","printFoot","printTableWithHorizontalPageBreak","435","getPageAvailableWidth","getColumnsCanFitInPage","remainingWidth","repeatColumn","colWidth","colIndexes","allResults","189","ellipsize","resizeColumns","resizeWidth","initialResizeWidth","sumWrappedWidth","suggestedChange","suggestedWidth","ellipsizeStr","availablePageWidth","longestWordWidth","defaultMinWidth","initialTableWidth","colSpanCell","combinedColSpanWidth","colSpansLeft","columnIndex","applyColSpans","rowSpanHeight","textSpace","realContentHeight","fitContent","rowSpanCells","colRowSpansLeft","applyRowSpans","84","__webpack_module_cache__","cachedModule","__drawTable","__createTable","applyPlugin","applyPlugin_1","models_2","Surface","svgView","valueof","getRectanglePath","maxRadius","ySign","xSign","newRadius","_newRadius","isInRectangle","totalLength","getTotalLength","animationEasing","animationDuration","animationBegin","isAnimationActive","isUpdateAnimationActive","currWidth","currHeight","currY","_context","_x0","_x1","_y0","_y1","Basis","areaStart","_line","areaEnd","_point","BasisClosed","_x2","_x3","_x4","_y2","_y3","_y4","BasisOpen","x0","y0","LinearClosed","Linear","slope3","h0","slope2","t0","MonotoneX","MonotoneY","ReflectContext","Natural","_t0","Step","defined","curve","curveLinear","defined0","pointX","pointY","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","CURVE_FACTORIES","curveBasisClosed","curveBasisOpen","curveBasis","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","Curve","lineFunction","baseLine","connectNulls","curveFactory","getCurveFactory","formatPoints","formatBaseLine","areaPoints","shapeArea","shapeLine","pathRef","realPath","tau","tan30","tan30_2","kx","sqrt3","symbolFactories","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","Symbols","sizeType","symbolFactory","getSymbolFactory","shapeSymbol","calculateAreaSize","registerSymbol","DefaultLegendContent","inactiveColor","strokeDasharray","SIZE","legendIcon","iconProps","iconSize","itemStyle","svgStyle","_classNames","finalFormatter","defaultUniqBy","getUniqPayload","_uniqBy","wrapperNode","boxWidth","boxHeight","chartWidth","updateBBox","hPos","vPos","chartHeight","getBBoxSnapshot","_this$state2","onBBoxUpdate","_box3","wrapperStyle","payloadUniqBy","outerStyle","getDefaultPosition","otherProps","renderContent","u8","u16","u32","fleb","fdeb","clim","freb","revfl","revfd","hMap","rvb","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits16","shft","slc","inflt","dat","noBuf","noSt","cbuf","nbuf","final","lm","dm","lbt","dbt","tbts","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","lms","dms","mxa","dsym","wbits","wbits16","hTree","i2","maxSym","mbt","lft","cst","i2_1","i2_2","i2_3","cli","cln","cls","clen","wfblk","wblk","syms","lf","df","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","ftlen","dtlen","llm","lcts","clct","deo","dflt","plvl","msk_1","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","ch_1","dif","maxn","maxd","mmd","lin","din","adler","dopt","mem","wbytes","zlh","zlv","zlibSync","unzlibSync","baseExtremum","baseGt","baseLt","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","getI18n","initReactI18next","react","setI18n","defaultFormatter","DefaultTooltipContent","separator","itemSorter","finalItemStyle","wrapperClassName","contentStyle","labelClassName","labelStyle","labelFormatter","finalLabelStyle","hasLabel","finalLabel","wrapperCN","labelCN","CLS_PREFIX","dismissed","dismissedAtCoordinate","getTranslate","tooltipDimension","viewBoxDimension","allowEscapeViewBox","reverseDirection","preventScroll","translateX","translateY","filterNull","finalPayload","hasPayload","pointerEvents","useTranslate3d","cursorStyle","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","runClearTimeout","Item","nextTick","argv","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","dontSetMe","findInArray","int","isNum","arrayLikeKeys","baseKeys","isArrayLike","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","nativeCreate","getNative","isKeyable","__data__","isIndex","htmlparser","evaluate","oldSiblings","ctor","superCtor","super_","TempCtor","reIsUint","arrayEach","objectProto","nativeKeys","inherited","isArrayLikeObject","isArguments","baseTimes","skipIndexes","eachFunc","fromRight","baseEach","baseFor","iterable","keysFunc","createBaseFor","proto","isPrototype","tickStep","formatSpecifier","precisionPrefix","formatPrefix","precisionRound","precisionFixed","arrayWithHoles","iterableToArrayLimit","nonIterableRest","LogLevel","loggerOptions","packageName","packageVersion","setLoggerOptions","createDefaultLoggerOptions","localCallback","loggerCallback","piiLoggingEnabled","logLevel","logMessage","containsPii","toUTCString","executeCallback","errorPii","warningPii","infoPii","Verbose","verbosePii","trace","Trace","tracePii","isPiiLoggingEnabled","__awaiter","fulfilled","rejected","__generator","sent","trys","ops","verb","Bounds","fromClientRect","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","EMPTY","parseBounds","toCodePoints","fromCodePoint","codeUnits","lookup","slice16","highStart","highValueIndex","ix","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_INDEX_2_BLOCK_LENGTH","SP","HY","CL","CP","EX","IN","NS","OP","IS","NU","PO","PR","SY","AL","EB","EM","H2","H3","JL","JV","JT","SA","ea_OP","UnicodeTrie","_byteLength","encoded1","encoded2","encoded3","encoded4","bufferLength","view32","polyUint32Array","view16","polyUint16Array","headerLength","Trie","createTrieFromBase64","ALPHABETICS","HARD_LINE_BREAKS","SPACE","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","isAdjacentWithSpaceIgnored","currentIndex","classTypes","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","cssFormattedClasses","lineBreak","wordBreak","indices","categories","classType","codePointsToCharacterClasses","isLetterNumber","letterNumber","isDigit","isWhiteSpace","isNameStartCodePoint","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","isIdentifierStart","isNumberStart","stringToNumber","integers","fracd","expsign","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","chunk","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","consumeName","reconsumeCodePoint","consumeNumericToken","consumeIdentLikeToken","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","digits","questionMarks","digit","endDigits","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","amount","endingCodePoint","consumeNumber","repr","hexCodePoint","isSurrogateCodePoint","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","consumeSimpleBlock","consumeFunction","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","isAngle","parseNamedSide","ident","deg","colorFunction","SUPPORTED_COLOR_FUNCTIONS","namedColor","TRANSPARENT","isTransparent","asString","getTokenColorValue","hue2rgb","hue","BACKGROUND_SIZE","saturation","lightness","hsla","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","parseColorStop","processColorStops","lineLength","processStops","gapBegin","gapLength","gapValue","calculateGradientDirection","corner","getAngleFromCorner","halfWidth","halfHeight","halfLineLength","findCorner","stat","optimumDistance","optimumCorner","prefixLinearGradient","firstToken","angleType","colorStop","prefixRadialGradient","isColorStop","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","backgroundOrigin","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","isBackgroundSizeInfoToken","borderColorForSide","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","parseDisplayValue","WORD_BREAK","STRICT","NORMAL","computeLineHeight","listStyleImage","listStylePosition","listStyleType","marginForSide","overflowWrap","paddingForSide","textShadow","textTransform","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix3d","DEFAULT_VALUE","DEFAULT","origins","BREAK_ALL","KEEP_ALL","textDecorationColor","textDecorationLine","accumulator","counterIncrement","increments","filtered","counterReset","resets","quotes","getQuote","depth","quote","boxShadow","spread","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","declaration","cssFloat","overflowTuple","overflowX","textDecoration","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","parser","isDebugging","getElementDebugType","textNodes","CSSParsedDeclaration","isHTMLElementNode","PseudoElementType","LV","LVT","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","lastEnd","graphemeBreak","isGreenPixel","createForeignObjectSVG","foreignObject","loadSerializedSVG","FEATURES","testElement","TEST_HEIGHT","selectNode","rangeBounds","rangeHeight","testRangeBounds","SUPPORT_RANGE_BOUNDS","wordSpacing","textList","supports","setEnd","boundAhead","testIOSLineBreak","testSVG","fetch","greenImageSrc","testForeignObject","Intl","Segmenter","getWrapperBounds","segmentGraphemes","SUPPORT_NATIVE_TEXT_SEGMENTATION","segmenter","granularity","bk","breaker","graphemes","splitGraphemes","breakText","breakWords","segmentWords","wordSeparators","forbiddenBreakpoints","Break","LineBreaker","textBounds","clientRects","subSegments","subSegment","TextBounds","replacementNode","parseTextBounds","CAPITALIZE","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","ElementContainer","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","PASSWORD","getInputValue","selectedIndex","iframe","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","createContainer","isImageElement","ImageElementContainer","isCanvasElement","CanvasElementContainer","isSVGElement","SVGElementContainer","isLIElement","LIElementContainer","isOLElement","OLElementContainer","isInputElement","InputElementContainer","isSelectElement","SelectElementContainer","isTextareaElement","TextareaElementContainer","isIFrameElement","IFrameElementContainer","parseNodeTree","nextNode","isTextNode","TextContainer","isElementNode","isSlotElement","assignedNodes","createsRealStackingContext","createsStackingContext","slot","shadowRoot","isBodyElement","isSVGElementNode","isVideoElement","isStyleElement","isCustomElement","counters","getCounterValue","getCounterValues","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","fallback","createCounterText","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","createCJKCounter","multipliers","negativeSign","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","CJK_TEN_COEFFICIENTS","CJK_ZEROS","scrolledElements","referenceElement","CounterState","quoteDepth","toIFrame","windowSize","createIFrameContainer","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","onclone","clonedReferenceElement","imagesReady","serializeDoctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","srcset","createCustomElementClone","copyCSSStyles","cssRules","inlineImages","clonedCanvas","clonedCtx","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","copyStyles","ignoreElements","cloneChildNodes","assignedNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","CSSParsedCounterDeclaration","resolvePseudoContent","BEFORE","AFTER","pseudoElt","CSSParsedPseudoDeclaration","anonymousReplacedElement","counterStyle","counterState","counterType","delim","counterStates","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","CORNER","cloneIframeContainer","scrolling","imageReady","images","readyState","ignoredStyleProperties","setProperty","createStyles","getOrigin","CacheStorage","_link","hostname","isSameOrigin","_options","_cache","isBlobImage","isRenderable","loadImage","isInlineImage","SUPPORT_CORS_IMAGES","useProxy","SUPPORT_CORS_XHR","isInlineBase64Image","SUPPORT_RESPONSE_TYPE","xhr","queryString","ontimeout","INLINE_SVG","INLINE_BASE64","INLINE_IMG","SUPPORT_SVG_DRAWING","isSVG","deltaX","deltaY","Vector","startControl","endControl","subdivide","firstHalf","abbc","bccd","BezierCurve","isBezierCurve","tlv","trh","trv","brh","brv","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","kappa","calculateBorderBoxPath","curves","calculatePaddingBoxPath","isClipEffect","equalPath","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","effects","BoundCurves","OpacityEffect","TransformEffect","borderBox","paddingBox","ClipEffect","getEffects","inFlow","croplessEffects","processListItems","numbering","listValue","parseStackingContexts","paintContainer","ElementPaint","StackingContext","listItems","parseStackTree","stackingContext","realStackingContext","treatAsRealStackingContext","listOwnerItems","parentStack","parsePathForBorder","borderSide","createPathFromCurves","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","calculateBackgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","calculateBackgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","hasIntrinsicProportion","CONTAIN","COVER","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","_document","parseMetrics","getMetrics","_activeEffects","fontMetrics","FontMetrics","applyEffects","popEffect","applyEffect","isOpacityEffect","isTransformEffect","renderStack","renderStackContent","renderNode","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","createFontStyle","fixIOSSystemFonts","renderTextNode","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","renderReplacedElement","CanvasRenderer","isTextInputElement","canvasTextAlign","formatPath","renderRepeat","resizeImage","renderBackgroundImage","isRadialGradient","gradient","calculateRadius","midX","midY","invF","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","parsePathForBorderDoubleOuter","innerPaths","parsePathForBorderDoubleInner","hasBackground","borders","calculateBackgroundCurvedPaintingArea","deltaW","deltaH","borderBoxArea","maskOffset","shadowPaintingArea","renderDashedDottedBorder","strokePaths","parsePathForBorderStroke","boxPaths","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","path1","path2","Renderer","calculateContentBoxPath","iOSBrokenFonts","fontFamilies","enabled","instances","instanceName","Context","instanceCount","Cache","arrayEvery","baseEvery","predicate","guard","baseIsEqual","_CSSTransition","_ReplaceTransition","_TransitionGroup","_Transition","transformLog","transformExp","transformLogn","transformExpn","pow10","reflect","loggish","pows","log10","log2","logp","powp","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","transformPow","transformSqrt","transformSquare","powish","unsquare","radial","squared","quantile","value0","quickselect","ascending","newLeft","newRight","quantileSorted","thresholds","threshold","invertExtent","quantiles","quantize","newInterval","floori","offseti","millisecond","getMilliseconds","minute","durationSecond","hour","durationMinute","durationHour","weekday","durationDay","sunday","monday","tuesday","wednesday","thursday","friday","saturday","utcMinute","setUTCSeconds","utcHour","setUTCMinutes","utcDay","setUTCHours","setUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","setUTCMonth","utcYear","setUTCFullYear","ticker","week","tickIntervals","tickInterval","bisector","utcWeek","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","utcDate","newDate","locale","timeFormat","utcFormat","pads","numberRe","percentRe","requoteRe","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekNumberMonday","parseFullYear","parseYear","parseZone","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","timeDay","timeYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","timeSunday","dISO","timeThursday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","timeMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","timeMonth","timeWeek","timeHour","timeMinute","timeSecond","utcTime","utcSecond","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","locale_shortWeekdays","shortDays","locale_months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","utcFormats","parses","parseSpecifier","newFormat","newParse","utcParse","formatLocale","k10","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","k21","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","_postcssValueParser2","_parser","_reducer2","_stringifier2","MATCH_CALC","walk","reducedAst","Detector","Offline","Online","_propTypes2","inBrowser","ping","isOffline","onreadystatechange","HEADERS_RECEIVED","polling","wrapperType","defaultPollingConfig","Base","online","onLine","goOnline","goOffline","getPollingConfig","startPolling","pollingId","stopPolling","callOnChangeHandler","_getPollingConfig2","_Base","_Base2","_Base3","isTouch","Brush","leaveTimer","travellerDragStartHandlers","handleDrag","isTravellerMoving","handleTravellerMove","isSlideMoving","handleSlideDrag","handleTouchMove","handleDragEnd","detachDragEndListener","handleLeaveWrapper","leaveTimeOut","handleEnterSlideOrTraveller","isTextActive","handleLeaveSlideOrTraveller","handleSlideDragStart","slideMoveStartX","attachDragEndListener","handleTravellerDragStart","lineY","renderDefaultTraveller","travellerWidth","updateId","prevData","prevUpdateId","prevTravellerWidth","prevX","scalePoint","scaleValues","createScale","minIndex","getIndexInRange","maxIndex","newIndex","movingTravellerId","brushMoveStartX","_this$setState","isFullGap","chartElement","compact","travellerX","traveller","travellerProps","onTouchStart","renderTraveller","_this$props9","_this$state3","getTextOfTick","_this$props10","alwaysShowText","_this$state4","isPanoramic","onTouchMove","renderBackground","renderPanorama","renderSlide","renderTravellerLayer","renderText","ReferenceArea","clipPathId","hasX1","hasX2","hasY1","hasY2","xValue1","xValue2","yValue1","yValue2","xAxis","yAxis","rangeMin","rangeMax","getRect","renderRect","isFront","xAxisId","yAxisId","detectReferenceElementsDomain","specifiedTicks","ReferenceLine","dots","ReferenceDot","areas","idKey","valueKey","finalDomain","key1","key2","FilterUtils","filteredItems","filterText","removeAccents","toLocaleLowerCase","fieldValue","stringValue","addClassName","addEvent","inputOptions","capture","addUserSelectStyles","styleEl","createCSSTransform","controlPos","positionOffset","translation","getTranslation","_getPrefix","browserPrefixToKey","createSVGTransform","getTouch","identifier","targetTouches","_shims","getTouchIdentifier","computedStyle","matchesSelectorAndParentsTo","baseNode","offsetXYFromParent","evt","offsetParentRect","removeClassName","removeEvent","detachEvent","removeUserSelectStyles","nodeInterop","cacheBabelInterop","cacheNodeInterop","matchesSelectorFunc","unitSuffix","defaultX","defaultY","baseForOwn","createBaseEach","baseIsArguments","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","baseIsEqualDeep","bitmask","customizer","castPath","toKey","reIsDeepProp","reIsPlainProp","api","Cheerio","_root","withDomLvl1","normalizeWhitespace","xmlMode","decodeEntities","_make","prevObject","wrapFlags","reTrim","reWrapComment","reWrapDetails","reSplitDetails","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","freeParseInt","arrayIncludes","baseFindIndex","baseIsNaN","baseIndexOf","countHolders","replaceHolders","resIndex","funcProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","reIsNative","objectCreate","nativeMax","nativeMin","baseCreate","isHostObject","toSource","composeArgs","partials","holders","isCurried","argsIndex","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","createCtor","thisBinding","createHybrid","partialsRight","holdersRight","argPos","arity","isAry","isBind","isBindKey","isFlip","getHolder","holdersCount","newHolders","createRecurry","reorder","wrapFunc","isCurry","setWrapToString","createWrap","newData","createCurry","createPartial","createBind","getWrapDetails","insertWrapDetails","indexes","oldArray","copyArray","updateWrapDetails","otherArgs","toFinite","isBinary","remainder","_originalRoot","parseHTML","keepScripts","contained","getSiblings","hasAttrib","getAttributeValue","getNCheck","checkAttrib","BaseFuncs","getAttribFunc","getChildFunc","icontains","itext","submit","pseudos","getFirstElement","visited","sawElem","optional","verifyArgs","subselect","re_CSS3","compile","mensch","own","Selector","extract","selectorText","sels","parseCSS","stylesheet","selectors","declarations","getPreservedText","ignoredPseudos","preserved","mediaQueries","keyFrames","matchesPseudo","indentation","normalizeLineEndings","needle","haystack","compareFunc","getDefaultOptions","extraCss","insertPreservedExtraCss","applyStyleTags","removeStyleTags","preserveMediaQueries","preserveFontFaces","preserveKeyFrames","preservePseudos","applyWidthAttributes","applyHeightAttributes","applyAttributesTableElements","webResources","stderr","band","ordinalRange","paddingInner","paddingOuter","pointish","lastThis","maxWait","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","flush","noGlobal","getProto","flat","class2type","fnToString","ObjectFunctionString","isWindow","preservedScriptAttributes","noModule","DOMEval","toType","jquery","pushStack","even","_elem","odd","copyIsArray","expando","isReady","globalEval","makeArray","callbackExpect","Expr","isXML","tokenize","outermostContext","sortInput","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","pushNative","booleans","whitespace","rwhitespace","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","nonHex","high","rcssescape","fcssescape","asCodePoint","unloadHandler","inDisabledFieldset","addCombinator","els","nid","groups","newSelector","newContext","qsa","testContext","toSelector","qsaError","cacheLength","markFunction","assert","addHandle","attrHandle","siblingCheck","sourceIndex","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","hasCompare","subWindow","getById","getElementsByName","attrId","disconnectedMatch","compareDocumentPosition","adown","bup","sortDetached","aup","ap","bp","expr","uniqueSort","duplicates","detectDuplicates","sortStable","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","operator","_argument","simple","ofType","uniqueCache","outerCache","nodeIndex","useCache","uniqueID","pseudo","setFilters","matcher","unmatched","elemLang","activeElement","hasFocus","_matchIndexes","combinator","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","compiled","isXMLDoc","escapeSelector","until","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","rootjQuery","rparentsprev","guaranteedUnique","sibling","targets","prevAll","addBack","parentsUntil","nextAll","nextUntil","prevUntil","rnothtmlwhite","Identity","Thrower","adoptValue","noValue","Callbacks","createOptions","firing","fired","locked","firingIndex","fire","stopOnFalse","disable","lock","fireWith","Deferred","tuples","always","newDefer","returned","notify","onFulfilled","onRejected","onProgress","maxDepth","special","mightThrow","notifyWith","resolveWith","exceptionHook","stackTrace","rejectWith","getStackHook","when","singleValue","resolveContexts","resolveValues","updateFunc","rerrorNames","readyException","readyList","completed","readyWait","doScroll","access","chainable","emptyGet","bulk","rmsPrefix","rdashAlpha","fcamelCase","_all","acceptData","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","_removeData","dequeue","startLength","_queueHooks","clearQueue","pnum","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","adjustCSS","valueParts","adjusted","maxIterations","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","toggle","rcheckableType","rtagName","rscriptType","checkClone","noCloneChecked","wrapMap","thead","_default","setGlobalEval","refElements","tbody","tfoot","colgroup","optgroup","buildFragment","scripts","ignored","wrap","attached","fragment","htmlPrefilter","rtypenamespace","returnTrue","returnFalse","expectSync","safeActiveElement","origFn","leverageNative","notAsync","saved","isTrigger","delegateType","handleObjIn","eventHandle","handleObj","origType","elemData","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","nativeEvent","handlerQueue","fix","preDispatch","isPropagationStopped","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","noBubble","beforeunload","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","altKey","eventPhase","charCode","buttons","pointerId","pointerType","screenX","screenY","toElement","pointerenter","pointerleave","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","udataOld","udataCur","fixInput","domManip","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","replaceWith","replaceAll","insert","rnumnonpx","getStyles","opener","rboxStyle","curCSS","computed","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","reliableTrDimensionsVal","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","trChild","trStyle","cssPrefixes","emptyStyle","vendorProps","finalPropName","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","cssNormalTransform","setPositiveNumber","boxModelAdjustment","dimension","isBorderBox","computedVal","getWidthOrHeight","valueIsBorderBox","offsetProp","Tween","cssHooks","origName","isCustomProp","scrollboxSizeBuggy","propHooks","eased","swing","fxNow","inProgress","rfxtypes","rrun","schedule","createFxNow","genFx","includeWidth","createTween","Animation","tweeners","stopped","prefilters","currentTime","startTime","tweens","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","prefilter","speed","speeds","optall","doAnimation","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeToggle","slow","checkOn","optSelected","radioValue","boolHook","nType","attrHooks","attrNames","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","curValue","clazz","finalValue","toggleClass","stateVal","isValidValue","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","attaches","rquery","parseXML","parserErrorElem","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","valueOrFunction","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","lastModified","etag","isLocal","contentType","accepts","responseFields","converters","ajaxSetup","ajaxPrefilter","ajaxTransport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","abort","statusText","finalText","crossDomain","hasContent","ifModified","beforeSend","success","nativeStatusText","responses","isSuccess","finalDataType","firstDataType","ajaxHandleResponses","conv2","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","xhrSuccessStatus","1223","xhrSupported","cors","errorCallback","xhrFields","onabort","binary","scriptAttrs","scriptCharset","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","parentOffset","defaultExtra","funcName","undelegate","fnOver","fnOut","holdReady","hold","parseJSON","_jQuery","_$","noConflict","isarray","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","modifier","asterisk","partial","escapeGroup","escapeString","encodeURIComponentPretty","attachKeys","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","FormatSpecifier","zero","comma","mid","ascendingComparator","Dropdown","_DropdownPanel","_DropdownItem","_reactTransitionGroup","_UniqueComponentId","focused","overlayVisible","onInputFocus","onInputBlur","onInputKeyDown","onEditableInputClick","onEditableInputChange","onEditableInputFocus","onOptionClick","onFilterInputChange","onFilterInputKeyDown","onPanelClick","onOverlayEnter","onOverlayEntered","onOverlayExit","onOverlayExited","isClearClicked","hideOverlay","showOverlay","persist","onFocus","onDownKey","onUpKey","visibleOptions","getVisibleOptions","selectedItemIndex","findOptionIndex","findPrevVisibleItem","selectItem","findNextVisibleItem","searchTimeout","char","previousSearchChar","currentSearchChar","searchValue","newOption","searchOption","selectedOptionUpdated","searchOptionInRange","getOptionLabel","searchFields","filterBy","optionLabel","bindDocumentClickListener","updateEditableLabel","findOption","optionValue","getOptionValue","selectedOptionIndex","panel","alignPanel","scrollInView","bindResizeListener","filterInputAutoFocus","filterInput","unbindDocumentClickListener","unbindResizeListener","resetFilterOnHide","resetFilter","absolutePosition","relativePosition","highlightItem","itemsWrapper","documentClickListener","isOutsideClicked","isSameNode","nativeSelect","checkValidity","selectedOption","autoFocus","updateInputField","hideTimeout","placeHolderOption","inputId","ariaLabel","ariaLabelledBy","_this12","valueTemplate","getJSXElement","showClear","_this13","_this14","optionKey","getOptionKey","DropdownItem","itemTemplate","emptyFilterMessage","_this15","_this16","hiddenSelect","renderHiddenSelect","keyboardHelper","renderKeyboardHelper","labelElement","dropdownIcon","renderDropdownIcon","renderFilter","clearIcon","renderClearIcon","DropdownPanel","panelStyle","panelClassName","RowCheckbox","rowData","defaultChecked","Messages","_UIMessage","messageIdx","messages","onClose","newMessages","onRemove","UIMessage","paramsSerializer","serializedParams","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","auth","Authorization","fullPath","baseURL","responseURL","timeoutErrorMessage","xsrfValue","withCredentials","onDownloadProgress","onUploadProgress","upload","cancelToken","enhanceError","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","Cancel","DO_NOT_EXPORT_CODEPAGE","cpt","magic","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","mdl","sbcs_encode","EE","make_EE","ofmt","sbcs_decode","DD","dbcs_encode","dbcs_decode","utf8_d","direct","encache","null_enc","cp_decache","decache","last_enc","last_cp","sbcs","dbcs","BM","o64","isstr","hascp","canDragX","canDragY","createCoreData","isStart","lastX","lastY","createDraggableData","coreData","getBoundPosition","cloneBounds","boundNode","ownerWindow","boundNodeEl","nodeStyle","boundNodeStyle","_domFns","getControlPosition","touchIdentifier","draggableCore","touchObj","snapToGrid","pendingX","pendingY","containerClass","boxClass","iconClass","Timeout","clearFn","_id","_clearFn","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","setImmediate","clearImmediate","stubFalse","freeExports","freeModule","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","SetCache","arraySome","cacheHas","equalFunc","isPartial","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","setCacheAdd","setCacheHas","srcValue","isKey","stringToPath","baseToString","baseTrim","arrayPush","isFlattenable","isStrict","reHasUnicode","comparator","flip","_convert","_convert2","isEqual","convertMathExpression","flipValue","isValueType","reduceAddSubExpression","reduceDivisionExpression","reduceMultiplicationExpression","reduceMathExpression","_reactLifecyclesCompat","transitionGroup","getChildContext","contextTypes","childContextTypes","polyfill","componentWillMount","componentWillReceiveProps","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","classNamesShape","timeoutsShape","_ChildMapping","getInitialChildMapping","formTags","datalist","textarea","openImpliesClose","h3","h4","h5","voidElements","basefont","frame","isindex","keygen","track","wbr","foreignContextElements","math","htmlIntegrationElements","mtext","re_nameEnd","cbs","_cbs","_tagname","_attribname","_attribvalue","_attribs","_stack","_foreignContext","_lowerCaseTagNames","lowerCaseTags","_lowerCaseAttributeNames","lowerCaseAttributeNames","_tokenizer","onparserinit","_updatePosition","initialOffset","_sectionStart","getAbsoluteIndex","ontext","onopentagname","onclosetag","onopentag","onopentagend","_closeCurrentTag","onselfclosingtag","recognizeSelfClosing","onattribname","onattribdata","onattribend","onattribute","_getInstructionName","ondeclaration","onprocessinginstruction","oncomment","oncommentend","oncdata","recognizeCDATA","oncdatastart","oncdataend","onend","onreset","parseComplete","parseChunk","decodeCodePoint","legacyMap","xmlMap","TEXT","BEFORE_TAG_NAME","IN_TAG_NAME","IN_SELF_CLOSING_TAG","BEFORE_CLOSING_TAG_NAME","IN_CLOSING_TAG_NAME","AFTER_CLOSING_TAG_NAME","BEFORE_ATTRIBUTE_NAME","IN_ATTRIBUTE_NAME","AFTER_ATTRIBUTE_NAME","BEFORE_ATTRIBUTE_VALUE","IN_ATTRIBUTE_VALUE_DQ","IN_ATTRIBUTE_VALUE_SQ","IN_ATTRIBUTE_VALUE_NQ","BEFORE_DECLARATION","IN_DECLARATION","IN_PROCESSING_INSTRUCTION","BEFORE_COMMENT","IN_COMMENT","AFTER_COMMENT_1","AFTER_COMMENT_2","BEFORE_CDATA_1","BEFORE_CDATA_2","BEFORE_CDATA_3","BEFORE_CDATA_4","BEFORE_CDATA_5","BEFORE_CDATA_6","IN_CDATA","AFTER_CDATA_1","AFTER_CDATA_2","BEFORE_SPECIAL","BEFORE_SPECIAL_END","BEFORE_SCRIPT_1","BEFORE_SCRIPT_2","BEFORE_SCRIPT_3","BEFORE_SCRIPT_4","BEFORE_SCRIPT_5","AFTER_SCRIPT_1","AFTER_SCRIPT_2","AFTER_SCRIPT_3","AFTER_SCRIPT_4","AFTER_SCRIPT_5","BEFORE_STYLE_1","BEFORE_STYLE_2","BEFORE_STYLE_3","BEFORE_STYLE_4","AFTER_STYLE_1","AFTER_STYLE_2","AFTER_STYLE_3","AFTER_STYLE_4","BEFORE_ENTITY","BEFORE_NUMERIC_ENTITY","IN_NAMED_ENTITY","IN_NUMERIC_ENTITY","IN_HEX_ENTITY","SPECIAL_NONE","SPECIAL_SCRIPT","SPECIAL_STYLE","ifElseState","SUCCESS","FAILURE","_state","_index","consumeSpecialNameChar","NEXT_STATE","_buffer","_bufferOffset","_baseState","_special","_running","_ended","_xmlMode","_decodeEntities","_stateText","_getSection","_stateBeforeTagName","_stateInTagName","_emitToken","_stateBeforeCloseingTagName","_stateInCloseingTagName","_stateAfterCloseingTagName","_stateBeforeAttributeName","_stateInSelfClosingTag","_stateInAttributeName","_stateAfterAttributeName","_stateBeforeAttributeValue","_stateInAttributeValueDoubleQuotes","_stateInAttributeValueSingleQuotes","_stateInAttributeValueNoQuotes","_stateBeforeDeclaration","_stateInDeclaration","_stateInProcessingInstruction","_stateBeforeComment","_stateInComment","_stateAfterComment1","_stateAfterComment2","_stateBeforeCdata1","_stateBeforeCdata2","_stateBeforeCdata3","_stateBeforeCdata4","_stateBeforeCdata5","_stateBeforeCdata6","_stateInCdata","_stateAfterCdata1","_stateAfterCdata2","_stateBeforeSpecial","_stateBeforeSpecialEnd","_stateBeforeScript1","_stateBeforeScript2","_stateBeforeScript3","_stateBeforeScript4","_stateBeforeScript5","_stateAfterScript1","_stateAfterScript2","_stateAfterScript3","_stateAfterScript4","_stateAfterScript5","_stateBeforeStyle1","_stateBeforeStyle2","_stateBeforeStyle3","_stateBeforeStyle4","_stateAfterStyle1","_stateAfterStyle2","_stateAfterStyle3","_stateAfterStyle4","_stateBeforeEntity","_stateBeforeNumericEntity","_parseNamedEntityStrict","_emitPartial","_parseLegacyEntity","_stateInNamedEntity","_decodeNumericEntity","sectionStart","_stateInNumericEntity","_stateInHexEntity","_cleanup","_parse","_finish","_handleTrailingData","re_whitespace","NodePrototype","ElementPrototype","elementCB","defaultOpts","_callback","_elementCB","_done","_tagStack","withStartIndices","withEndIndices","_handleCallback","_createDomElement","_addDomElement","lastTag","ignoreWhitespace","nodeTypes","domLvl1","shorthand","foreignNames","elementNames","attributeNames","unencodedElements","xmp","noembed","noframes","plaintext","noscript","singleTag","renderTag","renderDirective","renderComment","renderCdata","foreignModeIntegrationPoints","encodeXML","formatAttrs","__importDefault","decodeHTML","decodeHTMLStrict","decodeXML","entities_json_1","legacy_json_1","xml_json_1","decode_codepoint_1","strictEntityRe","getStrictDecoder","getReplacer","sorter","secondChar","legacy","replacer","escapeUTF8","encodeNonAsciiHTML","encodeHTML","inverseXML","getInverseObj","xmlReplacer","getInverseReplacer","getASCIIEncoder","inverse","inverseHTML","htmlReplacer","single","multiple","reNonASCII","singleCharReplacer","getCodePoint","codePointAt","reEscapeChars","Stream","WritableStream","Writable","StringDecoder","decoder","_decoder","decodeStrings","objValue","baseKeysIn","nativeKeysIn","isProto","assignIn","assigner","createAssigner","copyObject","keysIn","assignInDefaults","assignInWith","srcIndex","CSSselect","Pseudos","findOne","findAll","removeSubsets","compileUnsafe","compileToken","getSelectorFunc","searchFunc","selectAll","selectOne","iterate","_compileUnsafe","_compileToken","reChars","attributeRules","ignoreCase","hyphen","atRules","isNextString","isNextChar","peek","popState","previousState","skipStr","addToken","initializeToken","tokenized","widgetUuid","widgetSlice","existingConstructor","basePrototype","proxiedPrototype","fullName","_createWidget","_childConstructors","_superApply","__super","__superApply","widgetEventPrefix","widgetName","widgetFullName","childPrototype","inputIndex","inputLength","isMethodCall","methodValue","_init","defaultElement","uuid","eventNamespace","bindings","hoverable","focusable","classesElementLookup","_on","_getCreateOptions","_create","_setOptionDisabled","_trigger","_getCreateEventData","_destroy","_removeClass","curOption","_setOptions","_setOption","_setOptionClasses","classKey","currentElements","_toggleClass","enable","full","processClassString","checkOption","_untrackClassesElement","suppressDisabledCheck","delegateElement","handlerProxy","_off","_hoverable","_focusable","focusout","defaultEffect","hasOptions","effectName","cachedScrollbarWidth","rhorizontal","rvertical","roffset","rposition","rpercent","_position","getOffsets","getDimensions","w1","innerDiv","getScrollInfo","within","isDocument","hasOverflowX","getWithinInfo","withinElement","atOffset","targetWidth","basePosition","scrollInfo","collisionPosition","elemWidth","elemHeight","collisionWidth","collisionHeight","feedback","important","fit","newOverRight","withinOffset","collisionPosLeft","overLeft","overRight","newOverBottom","collisionPosTop","overTop","overBottom","newOverLeft","newOverTop","flipfit","dataName","disableSelection","eventType","enableSelection","hasTabindex","mapName","focusableIfVisible","fieldset","form","formResetMixin","_formResetHandler","_bindFormResetHandler","_unbindFormResetHandler","BACKSPACE","COMMA","ENTER","ESCAPE","HOME","PAGE_DOWN","PAGE_UP","PERIOD","TAB","selectorEscape","ancestor","ancestors","scrollParent","excludeStaticParent","tabbable","removeUniqueId","mouseHandled","_mouseInit","_mouseDown","started","_mouseDestroy","_mouseMoveDelegate","_mouseUpDelegate","_mouseMoved","_mouseStarted","_mouseUp","_mouseDownEvent","btnIsLeft","elIsCancel","_mouseCapture","mouseDelayMet","_mouseDelayTimer","_mouseDistanceMet","_mouseDelayMet","_mouseStart","_mouseMove","documentMode","ignoreMissingWhich","_mouseDrag","_mouseStop","plugins","allowDisconnected","safeBlur","mouse","addClasses","connectToSortable","containment","cursorAt","iframeFix","refreshPositions","revert","revertDuration","scrollSensitivity","scrollSpeed","snapMode","snapTolerance","_setPositionRelative","_setHandleClassName","_removeHandleClassName","destroyOnClear","_getHandle","_blurActiveElement","_blockFrames","iframeBlocks","_unblockFrames","_createHelper","_cacheHelperProportions","ddmanager","_cacheMargins","cssPosition","hasFixedAncestor","positionAbs","_refreshOffsets","originalPosition","_generatePosition","originalPageX","originalPageY","_adjustOffsetFromHelper","_setContainment","_clear","dropBehaviour","prepareOffsets","dragStart","_getParentOffset","_getRelativeOffset","noPropagation","_convertPositionTo","_uiHash","dropped","dragStop","handleElement","helperIsFunction","helperProportions","_isRootNode","po","scrollIsRootNode","isUserScrollable","relativeContainer","constrainPosition","cancelHelperRemoval","uiSortable","sortables","isOver","_storedCSS","_helper","innermostIntersecting","_intersectsWith","containerCache","_parent","currentItem","fromOutside","_revert","_cursor","_opacity","scrollParentNotHidden","overflowOffset","scrolled","snapElements","$o","inst","snapping","release","snapItem","_zIndex","greedy","activate","deactivate","proportions","isover","isout","_addToManager","droppables","_splice","_activate","_addActiveClass","_deactivate","_removeActiveClass","_over","_addHoverClass","_out","_removeHoverClass","_drop","custom","childrenIntersection","intersect","isOverAxis","toleranceMode","absolute","droppablesLoop","greedyChild","parentInstance","uiBackCompat","hoverClass","activeClass","alsoResize","animateDuration","animateEasing","ghost","handles","_num","_hasScroll","_aspectRatio","originalElement","_proportionallyResizeElements","resizable","elementIsWrapper","originalResizeStyle","_proportionallyResize","_setupHandles","_handles","resizing","_removeHandles","hname","nw","_renderAxis","padPos","padWrapper","curleft","curtop","_renderProxy","sizeDiff","originalMousePosition","_propagate","smp","_change","_updatePrevProperties","_updateVirtualBoundaries","_updateRatio","_respectSize","_updateCache","_applyChanges","ista","soffseth","soffsetw","prevPosition","prevSize","forceAspectRatio","pMinWidth","pMaxWidth","pMinHeight","pMaxHeight","_vBoundaries","cpos","ismaxw","ismaxh","isminw","isminh","_getPaddingPlusBorderDimensions","paddings","prel","outerDimensions","elementOffset","containerElement","containerPosition","parentData","containerSize","woset","hoset","isParent","isOffsetRelative","pRatio","cop","continueResize","ho","gridX","gridY","isMaxWidth","isMaxHeight","isMinWidth","isMinHeight","autoRefresh","selecting","unselected","unselecting","dragged","elementPos","selectees","selecteeOffset","$element","startselected","opos","selectee","doSelect","connectWith","dropOnEmpty","forcePlaceholderSize","forceHelperSize","beforeStop","change","receive","_isOverAxis","_isFloating","overrideHandle","validHandle","reverting","_refreshItems","_removeCurrentsFromItems","noActivation","currentContainer","domPosition","_createPlaceholder","storedCursor","storedStylesheet","_storedOpacity","_storedZIndex","_preserveHelperProportions","containers","dragging","itemElement","lastPositionAbs","_intersectsWithPointer","_intersectsWithSides","_rearrange","_contactContainers","_noFinalSort","_getItemsAsjQuery","connected","expression","dyClick","dxClick","isOverElementHeight","isOverElementWidth","isOverElement","forcePointerForContainers","floating","verticalDirection","horizontalDirection","_getDragVerticalDirection","_getDragHorizontalDirection","isOverBottomHalf","isOverRightHalf","_connectWith","queries","addItems","targetData","_queries","queriesLength","toleranceElement","refreshContainers","_createTrPlaceholder","sourceTr","targetTr","itemWithLeastDistance","posProperty","sizeProperty","nearBottom","innermostContainer","innermostIndex","hardRefresh","delayedTriggers","delayEvent","_inst","sender","collapsible","heightStyle","icons","activeHeader","beforeActivate","hideProps","showProps","prevShow","prevHide","_processPanels","_createIcons","_destroyIcons","_setupEvents","_keydown","toFocus","_eventHandler","_panelKeyDown","prevHeaders","prevPanels","panels","_findActive","headerId","panelId","keydown","activeChildren","clickedChildren","clicked","clickedIsActive","collapsing","toShow","toHide","eventData","oldHeader","oldPanel","newHeader","newPanel","_toggle","_animate","_toggleComplete","boxSizing","down","submenu","activeMenu","previousFilter","actualTarget","keepActiveItem","collapseAll","_closeOnDocumentClick","submenus","character","previousPage","_move","collapse","filterTimer","_filterMenuItems","newSubmenus","newItems","newWrappers","submenuCaret","_isDivider","_itemRole","listbox","activeParent","_scrollIntoView","_close","_startOpening","fromFocus","_open","currentMenu","startMenu","newItem","isFirstItem","isLastItem","escapedCharacter","minLength","requestIndex","suppressKeyPress","suppressKeyPressRepeat","suppressInput","isTextarea","isMultiLine","_isContentEditable","valueMethod","isNewMenu","_keyEvent","term","_searchTimeout","keypress","selectedItem","cancelBlur","searching","_initSource","_appendTo","menufocus","liveRegion","menuselect","_isEventTargetInWidget","menuElement","_closeOnClickOutside","autocomplete","equalValues","menuVisible","modifierKey","_search","cancelSearch","_response","__response","_normalize","_suggest","ul","_renderMenu","_resizeMenu","_renderItemData","_renderItem","keyEvent","escapeRegex","noResults","datepicker_instActive","controlgroupCornerRegex","Datepicker","_curInst","_disabledInputs","_datepickerShowing","_inDialog","_mainDivId","_inlineClass","_appendClass","_triggerClass","_dialogClass","_disableClass","_unselectableClass","_currentClass","_dayOverClass","regional","closeText","prevText","nextText","currentText","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","weekHeader","dateFormat","firstDay","showMonthAfterYear","yearSuffix","_defaults","showOn","showAnim","showOptions","defaultDate","buttonText","buttonImage","buttonImageOnly","hideIfNoPrevNext","navigationAsDateFormat","gotoCurrent","changeMonth","changeYear","yearRange","showOtherMonths","selectOtherMonths","showWeek","calculateWeek","iso8601Week","shortYearCutoff","minDate","maxDate","beforeShowDay","beforeShow","onChangeMonthYear","numberOfMonths","showCurrentAtPos","stepMonths","stepBigMonths","altField","altFormat","constrainInput","showButtonPanel","dpDiv","datepicker_bindHover","datepicker_handleMouseover","datepicker","_isDisabledDatepicker","inline","datepicker_extendRemove","spinnerModifer","onlyVisible","_enhance","_callChildMethod","childWidgets","controlgroupLabel","_initWidgets","instanceOptions","_resolveClassesValues","widgetElement","_updateCornerClass","_buildSimpleOptions","_spinnerOptions","_buttonOptions","_checkboxradioOptions","_selectmenuOptions","_readType","originalLabel","_updateLabel","_updateIcon","_getRadioGroup","nameSelector","_toggleClasses","checkboxradio","iconSpace","toAdd","iconPosition","showLabel","hasTitle","_updateTooltip","displayBlock","_attachIcon","_attachIconSpace","newShowLabel","newIcon","secondary","buttonset","controlgroup","markerClassName","maxRows","_widgetDatepicker","_attachDatepicker","_newInst","_connectDatepicker","_inlineDatepicker","selectedDay","selectedMonth","selectedYear","drawMonth","drawYear","_attachments","_doKeyDown","_doKeyPress","_doKeyUp","_autoSize","_disableDatepicker","_showDatepicker","_lastInput","_hideDatepicker","findMax","maxI","_formatDate","divSpan","_setDate","_getDefaultDate","_updateDatepicker","_updateAlternate","_dialogDatepicker","browserWidth","browserHeight","_dialogInst","_dialogInput","_pos","blockUI","_destroyDatepicker","$target","_enableDatepicker","_getInst","_optionDatepicker","_getDateDatepicker","_getMinMaxDate","_changeDatepicker","_refreshDatepicker","_setDateDatepicker","noDefault","_setDateFromField","_getDate","dateStr","handled","_selectDay","_adjustDate","_clearDate","_gotoToday","_possibleChars","lastVal","_getFormatConfig","beforeShowSettings","isFixed","_findPos","_checkOffset","datepicker_getZindex","_shouldFocusInput","_generateHTML","_attachHandlers","origyearshtml","numMonths","_getNumberOfMonths","activeCell","yearshtml","dpWidth","dpHeight","inputWidth","inputHeight","viewWidth","viewHeight","_tidyDialog","unblockUI","_checkExternalClick","_adjustInstDate","currentDay","currentMonth","currentYear","_notifyChange","_selectMonthYear","_selectDate","formatDate","noWeekends","checkDate","iFormat","iValue","shortYearCutoffTemp","doy","literal","lookAhead","getNumber","isDoubled","shortNames","longNames","checkLiteral","_ticksTo1970","_getDaysInMonth","_daylightSavingAdjust","ATOM","COOKIE","ISO_8601","RFC_822","RFC_850","RFC_1036","RFC_1123","RFC_2822","RSS","TICKS","TIMESTAMP","W3C","formatNumber","formatName","dates","_restrictMinMax","_determineDate","offsetString","offsetNumeric","noChange","origMonth","origYear","today","selectDay","selectMonth","selectYear","maxDraw","gotoDate","buttonPanel","selectedDate","cornerClass","calender","daysInMonth","leadDays","curRows","numRows","printDate","dRow","daySettings","otherMonth","unselectable","tempDate","isMultiMonth","currentDate","_canAdjustMonth","_isInRange","_generateMonthYearHeader","_getFirstDayOfMonth","inMinYear","inMaxYear","years","thisYear","determineYear","endYear","monthHtml","minMax","curYear","curMonth","yearSplit","minYear","maxYear","autoOpen","closeOnEscape","modal","topOffset","beforeClose","resizeStart","resizeStop","sizeRelatedOptions","resizableRelatedOptions","originalCss","originalTitle","_createWrapper","uiDialog","_createTitlebar","_createButtonPane","_makeDraggable","_makeResizable","_isOpen","_trackFocus","_untrackInstance","_destroyOverlay","_focusedElement","_hide","isOpen","moveToTop","_moveToTop","zIndices","zIndexMax","_focusTabbable","_size","_createOverlay","_show","_makeFocusTarget","uiDialogButtonPane","uiDialogTitlebarClose","_keepFocus","checkFocus","tabbables","uiDialogTitle","uiDialogTitlebar","_title","uiButtonSet","_createButtons","buttonOptions","filteredUi","_minHeight","_trackingInstances","resizableOptions","isResizable","nonContentHeight","minContentHeight","maxContentHeight","_allowInteraction","isOpening","overlays","dialogClass","oldValue","_constrainedValue","valueDiv","_refreshValue","_percentage","overlayDiv","selectmenuId","_drawButton","_drawMenu","_rendered","menuItems","_parseOption","buttonItem","_renderButtonItem","_resizeButton","_buttonEvents","_refreshMenu","menuWrap","menuInstance","_setSelection","_select","focusIndex","_getSelectedItem","_parseOptions","_setAria","_toggleAttr","_documentClick","menuWidget","_setText","currentOptgroup","addRange","_selectFocusedItem","oldIndex","slide","numPages","_keySliding","_mouseSliding","_animateOff","_handleIndex","_detectOrientation","_calculateNewMax","_createRange","_createHandles","handleCount","existingHandles","_valueMin","_handleEvents","normValue","closestHandle","mouseOverHandle","elementSize","_normValueFromMouse","_valueMax","thisDistance","_lastChangedValue","_clickOffset","_slide","_stop","pixelTotal","pixelMouse","percentMouse","valueTotal","valueMouse","_trimAlignValue","uiHash","handleIndex","_hasMultipleValues","newVal","otherVal","newValues","vals","valsLength","_refreshRange","valModStep","alignValue","_precision","_precisionOf","decimal","lastValPercent","valPercent","valueMin","valueMax","oRange","_set","curVal","keyup","culture","incremental","numberFormat","spin","_draw","_events","mousewheel","spinning","_spin","mousewheelTimer","_repeat","uiSpinner","_adjustValue","_increment","aboveMin","Globalize","isValid","allowAny","stepUp","_stepUp","stepDown","_stepDown","pageUp","pageDown","spinner","_uiSpinnerHtml","_buttonHtml","beforeLoad","_isLocal","anchorUrl","locationUrl","running","_processTabs","_initialActive","tabs","anchors","locationHash","_getPanelForTab","_tabKeydown","focusedTab","goingForward","_handlePageNav","activating","_focusNextTab","_panelKeydown","_findNextTab","lastTabIndex","_setupHeightStyle","_sanitizeSelector","lis","tablist","prevTabs","prevAnchors","_getList","anchorId","originalAriaControls","_createPanel","oldTab","newTab","_getIndex","_ajaxSettings","_addDescribedBy","describedby","_removeDescribedBy","tooltips","disabledTitles","tooltipData","_updateContent","_disable","_enable","blurEvent","_registerCloseHandlers","contentOption","delayedShow","a11yContent","positionOption","_find","_tooltip","fakeEvent","_removeTooltip","closing","hiding","rplusequals","stringParsers","execResult","space","spaces","supportElem","allowEmpty","stringParse","_rgba","spaceName","transparent","same","localCache","isCache","_space","used","startColor","startValue","endValue","opaque","toRgbaString","toHslaString","includeAlpha","local","vtype","_hsla","colorInit","classAnimationActions","shorthandStyles","borderBottom","borderLeft","borderRight","borderWidth","getElementStyles","currentStyle","setAttr","animateClass","applyClassChange","baseClass","allAnimations","oldStyle","styleDifference","styleInfo","dfd","switchClass","_normalizeArguments","standardAnimationOption","parseClip","setMode","createWrapper","removeWrapper","scaledDimensions","clipToBox","queueLength","saveStyle","restoreStyle","getBaseline","createPlaceholder","dataSpace","removePlaceholder","cleanUp","setTransition","cssUnit","effectMethod","defaultMode","queueName","normalizedMode","cssClip","clipObj","transfer","targetFixed","fixTop","fixLeft","endPosition","startPosition","clipInit","baseEasings","Sine","Circ","Elastic","Back","Bounce","pow2","easeIn","upAnim","downAnim","refValue","anims","motion","queuelen","both","oppositeMotion","mx","pieces","childComplete","horizFirst","animation1","animation2","cProps","vProps","hProps","childOriginal","childFrom","childTo","newOptions","fade","showhide","animateTo","positiveMotion","startClip","startRef","fieldContentRegExp","serializeCookie","maxAge","expires","httpOnly","secure","sameSite","cookie","cookieOptions","nameEQ","cookie$1","lookupCookie","cookieMinutes","cookieDomain","querystring","lookupQuerystring","hasLocalStorageSupport","localStorageAvailable","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","lookupSessionStorage","navigator$1","userLanguage","htmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","Browser","detectors","i18nOptions","caches","excludeCacheFor","lookupFromUrlIndex","addDetector","detector","detectionOrder","detected","detectorName","cacheName","loadPath","addPath","allowMultiLoading","parsePayload","reloadInterval","customHeaders","queryStringParams","requestOptions","credentials","Backend","allOptions","_readAny","loadUrlLanguages","loadUrlNamespaces","resolvedLoadPath","loadUrl","parseErr","finished","dataArray","resArray","_this$services","currentLanguage","fetchApi","XmlHttpRequestApi","ActiveXObjectApi","fetchNode","addQueryString","paramName","requestWithFetch","requestWithXmlHttpRequest","808","withConverter","703","697","414","Cookies","OPTIONS","SAME_SITE_OPTIONS","VISIBLE_OPTIONS","getCookieConsentValue","resetCookieConsentValue","BOTTOM","LAX","HIDDEN","SHOW","BY_COOKIE_VALUE","acceptOnScrollPercentage","acceptOnScroll","handleScroll","flexWrap","buttonStyle","borderRadius","flex","declineButtonStyle","overlayStyle","getCookieValue","passive","removeScrollListener","cookieName","cookieValue","hideOnAccept","onAccept","setCookie","declineCookieValue","hideOnDecline","onDecline","setDeclineCookie","extraCookieOptions","cookieSecurity","disableStyles","declineButtonText","containerClasses","contentClasses","buttonClasses","buttonWrapperClasses","declineButtonClasses","buttonId","declineButtonId","disableButtonStyles","enableDeclineButton","flipButtons","ButtonComponent","overlayClasses","ariaAcceptLabel","ariaDeclineLabel","decline","objectWithoutPropertiesLoose","commonjsGlobal","createEventEmitter","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","Consumer","_Component2","observedBits","_proto2","reactIs","REACT_STATICS","getDefaultProps","getDerivedStateFromError","mixins","KNOWN_STATICS","caller","callee","MEMO_STATICS","TYPE_STATICS","getStatics","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","inheritedComponent","targetStatics","sourceStatics","_require","Draggable","DraggableCore","ORIENT_MAP","originCoordinate","isFinit","deferClear","getDisplayedData","graphicalItems","dataStartIndex","dataEndIndex","itemsData","itemData","getTooltipContent","chartData","activeIndex","activeLabel","tooltipAxis","displayedData","getTooltipData","rangeObj","rangeData","calculateTooltipPos","orderedTooltipTicks","tooltipTicks","activeTooltipIndex","activePayload","activeCoordinate","_angle","_radius","getActiveCoordinate","getAxisMap","_ref4$axisType","AxisComp","axisIdKey","axes","stackOffset","duplicate","errorBarsDomain","axisDomain","getAxisMapByAxes","Axis","getAxisMapByItems","createDefaultState","_brushItem$props","_brushItem$props2","defaultShowTooltip","brushItem","isTooltipActive","getAxisNameByLayout","numericAxisName","cateAxisName","generateCategoricalChart","_class","_temp","GraphicalChild","_ref6$defaultTooltipE","defaultTooltipEventType","_ref6$validateTooltip","validateTooltipEventTypes","axisComponents","getFormatItems","currentState","globalMaxBarSize","_getAxisNameByLayout","hasGraphicalBarItem","formattedItems","childMaxBarSize","axisObj","_objectSpread6","cateAxis","cateTicks","itemIsBar","barPosition","_getBandSizeOfAxis","barBandSize","_objectSpread7","composedFn","getComposedData","childIndex","updateStateOfAxisMapsOffsetAndStackGroups","_getAxisNameByLayout2","prevLegendBBox","_ref5$xAxisMap","xAxisMap","_ref5$yAxisMap","yAxisMap","offsetH","offsetV","brushBottom","calculateOffset","legendBBox","ticksObj","tooltipAxisBandSize","tooltipTicksGenerator","CategoricalChartWrapper","uniqueChartId","legendInstance","deferId","clearDeferId","handleLegendBBoxUpdate","handleReceiveSyncEvent","cId","chartId","syncId","applySyncEvent","handleBrushChange","_ref9","triggerSyncEvent","handleMouseEnter","getMouseInfo","_nextState","triggeredAfterMouseMove","handleItemMouseEnter","activeItem","tooltipPayload","tooltipPosition","handleItemMouseLeave","handleMouseMove","handleMouseLeave","cancelThrottledTriggerAfterMouseMove","handleOuterEvent","_nextState2","handleMouseDown","handleMouseUp","handleTouchStart","handleTouchEnd","verticalCoordinatesGenerator","_ref10","horizontalCoordinatesGenerator","_ref11","axesTicksGenerator","renderCursor","tooltipEventType","getTooltipEventType","cursorComp","getCursorRectangle","_this$getCursorPoints","getCursorPoints","Sector","cursorProps","payloadIndex","renderPolarAxis","axisOption","renderXAxis","renderAxis","renderYAxis","renderGrid","renderPolarGrid","radialLines","polarAngles","polarRadius","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","renderLegend","tooltipItem","_this$state5","renderBrush","_this$state6","renderReferenceElement","_this$state7","_element$props2","renderActivePoints","_ref12","activePoint","basePoint","isRange","_item$item$props","activeDot","dotProps","renderActiveDot","renderGraphicChild","filterFormatItem","_this$state8","_item$item$props2","hasActive","itemEvents","onCLick","renderCustomized","throttleDelay","_throttle","_isBoolean","_this$state9","xScale","yScale","xValue","yValue","toolTipData","_this$state10","halfSize","_this$state11","_cx","_cy","innerPoint","outerPoint","_this$state12","tooltipEvents","onTouchEnd","_maxListeners","syncMethod","_this$state13","validateChartX","validateChartY","axisOptions","_this$state$offset","_ref13","_ref14","_ref15","_ref16","_this$state$xAxisMap","_this$state$xAxisMap$","_this$state$yAxisMap","_this$state$yAxisMap$","chartXY","itemDisplayName","activeBarItem","_activeBarItem","CartesianGrid","XAxis","YAxis","Bar","Area","Radar","RadialBar","Scatter","Funnel","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Customized","renderClipPath","parseEventsOfWrapper","defaultState","prevHeight","prevLayout","prevStackOffset","prevMargin","_defaultState","keepFromPrevState","updatesToState","newUpdateId","createFind","debounce","fixedX","fixedY","endPoints","isFixedX","isFixedY","isSegment","_props$viewBox","yCoord","xCoord","_orientation","_coord","_points","_points2","_some","getEndPoints","_endPoints","_endPoints$","_endPoints$2","lineProps","renderLine","baseSome","baseAssignValue","isX","isY","getCoordinate","renderDot","HAS_MAP_SUPPORT","HAS_SET_SUPPORT","createComparator","createIsEqual","areObjectsEqual","aShape","bShape","areArraysEqual","sameValueZeroEqual","areRegExpsEqual","isPromiseLike","areMapsEqual","areSetsEqual","circularDeepEqual","createCircularEqualCreator","circularShallowEqual","getTangentCircle","isExternal","cornerRadius","cornerIsExternal","centerRadius","centerAngle","lineTangencyAngle","circleTangency","lineTangency","getSectorPath","tempEndAngle","outerStartPoint","outerEndPoint","innerStartPoint","innerEndPoint","forceCornerRadius","deltaRadius","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","getSectorWithCorner","Events","_eventsCount","clearEvent","eventNames","prefixed","__rest","reWhitespace","trimmedEndIndex","reTrimStart","nativeObjectToString","isOwn","unmasked","require$$1","patchResizeHandler","resizeCallback","refreshMode","refreshRate","refreshOptions","throttle","isSSR","isDOMElement","HTMLDocument","createNotifier","handleWidth","handleHeight","cancelHandler","resizeHandler","attachObserver","targetRef","observerOptions","observableElement","resizeObserver","observe","targetDomEl","getRenderType","notifyResize","contentRect","skipOnMount","createResizeHandler","ResizeObserver","typedChildren","WrapperTag","nativeProps","definition","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","darkgrey","darkslategrey","dimgrey","grey","lightgray","lightslategrey","rebeccapurple","slategrey","color_formatHex","formatHex","color_formatRgb","formatRgb","rgbn","Rgb","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","hslConvert","hsl2rgb","basis","v0","v3","t3","displayable","formatHsl","brighter","gamma","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","isNumberArray","genericArray","reA","reB","am","bm","numberArray","stubbedPublicClientApplication","acquireTokenPopup","acquireTokenRedirect","acquireTokenSilent","acquireTokenByCode","getAllAccounts","getAccountByHomeId","getAccountByUsername","getAccountByLocalId","handleRedirectPromise","loginPopup","loginRedirect","logout","logoutRedirect","logoutPopup","ssoSilent","addEventCallback","removeEventCallback","addPerformanceCallback","removePerformanceCallback","enableAccountStorageEvents","disableAccountStorageEvents","getTokenCache","getLogger","setLogger","setActiveAccount","getActiveAccount","initializeWrapperLibrary","setNavigationClient","getConfiguration","getInteractionStatusFromEvent","currentStatus","LOGIN_START","Login","SSO_SILENT_START","SsoSilent","ACQUIRE_TOKEN_START","interactionType","Popup","AcquireToken","HANDLE_REDIRECT_START","HandleRedirect","LOGOUT_START","Logout","SSO_SILENT_SUCCESS","SSO_SILENT_FAILURE","None","LOGOUT_END","HANDLE_REDIRECT_END","LOGIN_SUCCESS","LOGIN_FAILURE","ACQUIRE_TOKEN_SUCCESS","ACQUIRE_TOKEN_FAILURE","defaultMsalContext","accounts","MsalContext","accountArraysAreEqual","arrayA","arrayB","comparisonArray","elementA","elementB","MsalProviderActionType","reducer","newInProgress","EventMessageUtils","currentAccounts","MsalProvider","useMemo","useReducer","EVENT","UNBLOCK_INPROGRESS","ReactAuthErrorMessage","isNativeReflectConstruct","Wrapper","valueAccessor","_last","LabelList","idProps","parseLabelList","ErrorBar","dataPointFormatter","svgProps","_dataPointFormatter","errorVal","lowBound","highBound","lineCoordinates","_errorVal","yMid","_scale","xMid","_xMin","_xMax","_yMin","_yMax","coordinates","ckeckPropsLabel","explicitChilren","implicitLabelList","mainCurve","isAnimationFinished","getStrokeDasharray","remainLength","restLength","remainLines","emptyLines","handleAnimationEnd","handleAnimationStart","animationId","prevAnimationId","curPoints","prevPoints","linesUnit","dotItem","curveDom","errorBarItems","dataPoint","needClip","customDotProps","renderDotItem","dotsProps","curveProps","animateNewValues","prevPointsDiffFactor","stepData","prevPointIndex","interpolatorX","interpolatorY","_interpolatorX","_interpolatorY","renderCurveStatically","currentStrokeDasharray","curLength","renderCurveWithAnimation","hasSinglePoint","renderCurve","renderErrorBar","renderDots","xAxisTicks","yAxisTicks","e10","e5","power","step0","step1","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","updater","forceUpdate","isPureReactComponent","__self","__source","_owner","keyPrefix","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","createFactory","createRef","_ctor","_status","_result","useDebugValue","useImperativeHandle","useLayoutEffect","onError","extractEvents","eventTypes","phasedRegistrationNames","registrationName","dependencies","stateNode","acceptsBooleans","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","db","_debugOwner","_debugSource","fileName","_valueTracker","stopTracking","_wrapperState","initialChecked","controlled","defaultSelected","MSApp","execUnsafeLocalFunction","animationend","animationiteration","animationstart","transitionend","alternate","effectTag","memoizedState","dehydrated","_dispatchListeners","_dispatchInstances","isPersistent","srcElement","correspondingUseElement","topLevelType","targetInst","eventSystemFlags","containerInfo","blockedOn","delete","unstable_runWithPriority","priority","hydrate","unstable_scheduleCallback","unstable_NormalPriority","bubbled","captured","eventPriority","unstable_UserBlockingPriority","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","floodOpacity","stopOpacity","strokeDashoffset","strokeMiterlimit","menuitem","contentEditable","dispatchConfig","_targetInst","Wd","Xd","Yd","Zd","$d","Interface","eventPool","destructor","getPooled","cancelBubble","isTrusted","beforeInput","compositionEnd","compositionStart","compositionUpdate","datetime","tel","_isInputEventSupported","Alt","Control","Meta","Shift","getModifierState","fromElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","mouseEnter","mouseLeave","pointerEnter","pointerLeave","gf","jf","selectionStart","selectionEnd","anchorNode","anchorOffset","focusNode","focusOffset","kf","animationName","elapsedTime","pseudoElement","mf","clipboardData","pf","Esc","Spacebar","Up","Down","Del","Win","Menu","Scroll","MozPrintableKey","qf","27","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","tf","uf","vf","wheelDeltaX","wheelDeltaY","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","og","childExpirationTime","qg","firstContext","expirationTime","rg","responders","tg","ug","updateQueue","baseState","baseQueue","vg","wg","suspenseConfig","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","Mg","Ng","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","ph","qh","rh","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","yh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","pendingContext","retryTime","unstable_avoidThisFallback","isBackwards","rendering","renderingStartTime","tailExpiration","tailMode","wasMultiple","WeakSet","Gi","__reactInternalSnapshotBeforeUpdate","Ji","Ki","Qi","_reactRootContainer","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","qj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","Pj","Qj","Sj","firstSuspendedTime","activeElementDetached","focusedElem","selectionRange","Tj","Uj","Vj","Wj","Xj","unstable_observedBits","Zj","pendingChildren","ck","dk","ek","_internalRoot","gk","ik","hk","jk","unmount","Lj","lk","findFiberByHostInstance","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","flushSync","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","MessageChannel","unstable_forceFrameRate","performance","port2","onmessage","postMessage","sortIndex","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","bigint","PrimeReact","subTitle","renderHeader","renderBody","_FirstPageLink","_NextPageLink","_PrevPageLink","_LastPageLink","_PageLinks","_RowsPerPageDropdown","_CurrentPageReport","changePageToFirst","changePageToPrev","changePageToNext","changePageToLast","onRowsChange","onPageLinkClick","getPage","getPageCount","numberOfPages","visiblePages","pageLinks","calculatePageLinkBoundaries","newPageState","changePage","paginatorElements","FirstPageLink","isFirstPage","PrevPageLink","NextPageLink","isLastPage","LastPageLink","PageLinks","updatePageLinks","RowsPerPageDropdown","CurrentPageReport","pageLink","pageClassName","_Dropdown","onHeaderScroll","onBodyScroll","setScrollHeight","scrollBody","scrollBarWidth","scrollHeaderBox","scrollFooterBox","virtualScroller","virtualScrollCallback","previousElementSibling","frozenScrollBody","datatableContainer","findDataTableContainer","containerHeight","scrollBodyHeight","scrollHeader","getClientHeight","tableHeight","scrollTable","scrollBodyTop","loadingTable","tableBodyClassName","tableHeaderClassName","tableFooterClassName","tableBodyStyle","renderColGroup","renderLoadingTable","scrollableBodyStyle","onScroll","scrollFooter","totalRcords","_BodyRow","_RowTogglerButton","onRowRightClick","onRowTouchEnd","onRadioClick","onCheckboxClick","onRowDragEnd","onRowDragLeave","onRowDrop","targetNode","isMultipleSelectionMode","anchorRowIndex","clearSelection","rangeRowIndex","selectRange","metaSelection","rowTouched","anchorRowFirst","isSingleSelectionMode","selectionIndex","findIndexInSelection","_selectionIndex","rangeStart","rangeEnd","isLazyAndPaginator","rangeRowData","dataKeyValue","expandedRowIndex","findExpandedRowIndex","rowDragging","draggedRowIndex","droppedRowIndex","rowElement","rowY","rowMidY","prevRowElement","RowTogglerButton","isRowExpanded","rpp","selectionEnabled","isSelectionEnabled","hasSubheaderGrouping","rowSpanGrouping","rowGroupHeaderExpanded","contextMenuSelected","isContextMenuSelected","groupRowSpan","currentRowFieldData","previousRowFieldData","renderRowGroupHeader","rowSpanIndex","_currentRowFieldData","nextRowFieldData","nextRowData","isRowGroupExpanded","bodyRow","BodyRow","onRightClick","onRowDragStart","onDragOver","onRowDragOver","expandedRowContent","expandedRow","_currentRowFieldData2","_nextRowFieldData","renderRowGroupFooter","_BodyCell","editing","nextRow","findNextSelectableRow","prevRow","findPrevSelectableRow","conditionalClassNames","rowClassNameCondition","hasRowSpanGrouping","BodyCell","_RowRadioButton","_RowCheckbox","onExpanderClick","onEditorFocus","switchCellToViewMode","editingCellClick","bindDocumentEditListener","documentEditListener","unbindDocumentEditListener","closeCell","tabindexTimeout","keyHelper","editorKeyHelper","cellClassName","showSelection","RowRadioButton","showReorder","reorderIcon","_FooterCell","FooterCell","createFooterCells","_HeaderCell","HeaderCell","createHeaderCells","filterOnly","renderHeaderCheckbox","hasColumnFilter","_InputText","badgeVisible","onFilterChange","onResizerMouseDown","filterTimeout","filterDelay","columnSortField","sorted","sortIcon","sortIconClassName","sortMetaDataIndex","headerCheckbox","getMultiSortMetaDataIndex","multiSortMetaData","singleSorted","multipleSorted","resizer","sortIconElement","renderSortIcon","ariaSortData","getAriaSort","sortBadge","renderSortBadge","KeyFilter","getBrowser","SAFARI_KEYS","KEYS","RETURN","ESC","opera","DEFAULT_MASKS","getKey","mozilla","isNavKeyPress","getCharCode","isSpecialKey","pint","money","alphanum","63234","63235","63232","63233","63276","63277","63272","63273","63275","renderRow","renderRows","Dialog","maskVisible","onMaximize","maximized","toggleMaximize","onMaskClick","dismissableMask","closable","changeScrollOnMaximizable","focusOnShow","enableDocumentSettings","disableDocumentSettings","bindGlobalListeners","blockScroll","maximizable","unbindGlobalListeners","primeDialogParams","hasBlockScroll","bindDocumentKeyDownListener","unbindDocumentKeyDownListener","documentKeyDownListener","paramLength","dialogId","focusableElements","getFocusableElements","focusedIndex","newParam","ariaCloseIconLabel","showHeader","closeIcon","renderCloseIcon","maximizeIcon","renderMaximizeIcon","renderIcons","headerElement","contentClassName","contentElement","footerElement","rtl","maskClassName","getPositionClass","renderFooter","transitionTimeout","FileUpload","_Button","_Messages","_ProgressBar","msgs","choose","onFileSelect","onSimpleUploaderClick","duplicateIEEvent","fileLimit","uploadedFileCount","hasFiles","clearInputElement","currentFiles","removedFile","fileInput","isIE11","isFileSelected","isImage","objectURL","clearIEInput","sFile","maxFileSize","severity","summary","invalidFileSizeMessageSummary","invalidFileSizeMessageDetail","formatSize","messagesUI","onValidationFail","customUpload","uploadHandler","formData","onBeforeUpload","lengthComputable","onUpload","onBeforeSend","onClear","chooseDisabled","chooseLabel","preview","previewWidth","removeButton","emptyTemplate","uploadButton","cancelButton","filesList","progressBar","chooseButton","renderChooseButton","emptyContent","renderEmptyContent","uploadLabel","uploadDisabled","cancelLabel","cancelDisabled","renderFiles","ProgressBar","showValue","buttonClassName","renderAdvanced","renderBasic","widthCredentials","sticky","life","_this$props$message","renderMessage","displayValueTemplate","renderDeterminate","renderIndeterminate","Toast","_ToastMessage","ToastMessage","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","CancelToken","isCancel","promises","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","reason","normalizedName","isAxiosError","toGMTString","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","originURL","msie","urlParsingNode","resolveURL","requestURL","executor","resolvePromise","listing","suppressContentEditableWarning","suppressHydrationWarning","domNamespace","threadID","exhausted","currentSelectValue","previousWasTextNode","makeStaticMarkup","suspenseDepth","contextIndex","contextStack","contextValueStack","clearProviders","pushProvider","popProvider","fallbackFrame","renderDOM","renderToString","renderToStaticMarkup","renderToNodeStream","renderToStaticNodeStream","TabView","TabPanel","leftIcon","rightIcon","_super2","onTabChange","getActiveIndex","tabHeader","inkbar","nav","updateInkBar","ariaControls","onTabHeaderClick","renderTabHeader","renderTabHeaders","renderActiveOnly","createContent","renderNavigator","b64","getLens","validLen","placeHoldersLen","Arr","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","DO_NOT_EXPORT_JSZIP","_dereq_","_keyStr","utf8","chr2","chr3","enc1","enc2","enc3","enc4","CompressedObject","compressedSize","uncompressedSize","compressedContent","getCompressedContent","STORE","compressInputType","uncompressInputType","DEFLATE","getTypeOf","iTop","DataReader","checkIndex","byteAt","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","createFolders","string2binary","string2Uint8Array","uint8Array2String","string2Blob","arrayBuffer2Blob","outputType","checkSupport","MAX_VALUE_16BITS","MAX_VALUE_32BITS","findCompression","isRegExp","USE_TYPEDARRAY","pako","deflateRaw","inflateRaw","compressions","ZipEntries","zipEntries","decompressed","optimizedBinaryString","fileComment","zipComment","Uint8ArrayReader","NodeBufferReader","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","getBinaryData","nodebuffer","dataToString","asUTF8","utf8decode","utf8encode","ZipObject","_initialMetadata","asUint8Array","asArrayBuffer","decToHex","fileAdd","prepareFileAttrs","parentFolder","folderAdd","lastSlash","generateCompressedObjectFrom","generateZipParts","compressedObject","dosTime","dosDate","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","unicodePathExtraField","unicodeCommentExtraField","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","relativePath","fileClone","folder","newFolder","kids","writer","zipData","localDirLength","centralDirLength","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","finalize","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","StringReader","arraybuffer","uint8array","builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","sig0","sig1","sig2","sig3","_utf8len","utf8border","buf2string","c_len","utf16buf","applyFromCharCode","m_pos","str_len","buf_len","string2buf","nextBoundary","stringToArrayLike","arrayLikeToString","canUseApply","resultStr","arrayLikeToArrayLike","arrayFrom","arrayTo","inputType","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraFieldId","extraFieldLength","extraFieldValue","extraDataSize","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","25","zlib_deflate","zstream","Deflate","chunkSize","windowBits","memLevel","gzip","ended","chunks","strm","avail_out","deflateInit2","deflateSetHeader","deflate","deflator","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","26","zlib_inflate","gzheader","Inflate","inflateInit2","Z_OK","inflateGetHeader","inflator","next_out_utf8","utf8str","Z_FINISH","Z_NO_FLUSH","binstring2buf","Z_STREAM_END","arraySet","inflateEnd","ungzip","TYPED_OK","fnTyped","src_offs","dest_offs","fnUntyped","setTyped","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","29","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","31","crcTable","makeTable","trees","adler32","rank","flush_pending","pending_buf","pending_out","total_out","flush_block_only","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","w_size","MAX_MATCH","_win","wmask","w_mask","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","more","_w_size","window_size","hash_size","ins_h","hash_shift","hash_mask","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","MIN_MATCH","last_lit","deflate_slow","max_insert","prev_match","match_available","configuration_table","Config","good_length","max_lazy","nice_length","max_chain","DeflateState","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","HEAP_SIZE","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","MAX_BITS","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","max_block_size","max_start","deflateInit","old_flush","beg","hcrc","bstate","deflate_huff","deflate_rle","_tr_align","_tr_stored_block","deflateInfo","xflags","extra_len","_in","dmax","wsize","whave","wnext","lcode","dcode","lmask","dmask","here","from_source","lencode","distcode","lenbits","distbits","dolen","dodist","sane","inflate_fast","inflate_table","ZSWAP32","InflateState","havedict","ncode","nlen","ndist","have","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","lenfix","distfix","virgin","fixedtables","inflateInit","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","inf_leave","updatewindow","inflateInfo","lbase","lext","dbase","dext","lens_index","table_index","incr","low","huff","base_index","MAXBITS","offs","extra_index","extra_lbits","extra_dbits","extra_blbits","bl_order","static_ltree","static_dtree","D_CODES","_dist_code","_length_code","base_length","base_dist","static_l_desc","static_d_desc","static_bl_desc","StaticTreeDesc","static_tree","extra_bits","extra_base","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","send_bits","send_code","bi_reverse","gen_codes","init_block","LITERALS","END_BLOCK","bi_windup","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lx","stree","xbits","gen_bitlen","scan_tree","curlen","prevlen","nextlen","max_count","min_count","REP_3_6","REPZ_3_10","REPZ_11_138","send_tree","static_init_done","stored_len","copy_block","LENGTH_CODES","L_CODES","tr_static_init","opt_lenb","static_lenb","max_blindex","black_mask","detect_data_type","BL_CODES","build_bl_tree","lcodes","dcodes","blcodes","send_all_trees","STATIC_TREES","bi_flush","_DraggableCore","_clsx2","_positionFns","_log","uiData","slackX","slackY","_getBoundPosition2","newStateX","newStateY","onStop","_this$props$position","defaultPosition","prevPropsPosition","isElementSVG","SVGElement","_this$props$nodeRef$c","_this$props$nodeRef","_clsx","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","draggableCoreProps","svgTransform","validPosition","transformOpts","onDragStop","clsx","browserPrefixToStyle","getPrefix","prefixes","_window$document","_window$document$docu","shouldCapitalize","kebabToTitleCase","eventsFor","dragEventFor","allowAnyClick","thisNode","coreEvent","enableUserSelectHack","handleDragStop","_snapToGrid2","_snapToGrid4","handleDragStart","_this$props2$nodeRef","MultiSelect","_MultiSelectHeader","_MultiSelectItem","_MultiSelectPanel","onOptionKeyDown","onCloseClick","onToggleAll","findSelectionIndex","updateModel","findNextItem","findPrevItem","isPanelClicked","filterOptions","equalityKey","selectedItemsLabel","fixedPlaceholder","getLabelByValue","maxSelectedLabels","getSelectedItemsLabel","selectedItemTemplate","removeChip","MultiSelectHeader","allChecked","isAllChecked","getLabelContent","selectedOptions","MultiSelectItem","MultiSelectPanel","_Checkbox","renderFilterElement","checkboxClassName","checkboxIcon","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","channel","installMessageChannelImplementation","installReadyStateChangeImplementation","task","isArr","isArg","isBuff","isType","typedArrayTags","freeProcess","overArg","baseIsMatch","getMatchData","matchesStrictComparable","matchData","noCustomizer","COMPARE_PARTIAL_FLAG","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","equalArrays","equalByTag","equalObjects","getTag","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","mapToArray","setToArray","symbolProto","symbolValueOf","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","symbolsFunc","arrayFilter","stubArray","nativeGetSymbols","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","isStrictComparable","hasIn","memoizeCapped","rePropName","reEscapeChar","subString","memoized","arrayMap","symbolToString","baseHasIn","hasPath","hasFunc","baseProperty","basePropertyDeep","findIndexFunc","spreadableSymbol","isConcatSpreadable","baseMap","baseSortBy","compareMultiple","orders","comparer","compareAscending","objCriteria","criteria","othCriteria","ordersLength","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","overRest","setToString","baseSetToString","shortOut","nativeNow","lastCalled","stamp","baseRange","nativeCeil","castSlice","hasUnicode","stringToArray","strSymbols","baseSlice","asciiToArray","unicodeToArray","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsSeq","rsSymbol","reUnicode","arrayIncludesWith","isCommon","seenIndex","strictIndexOf","ValueParser","bubble","openParentheses","closeParentheses","singleQuote","doubleQuote","backslash","colon","star","escapePos","whitespacePos","balanced","unclosed","stringifyNode","customResult","EXP","dotted","sciPos","containsNumber","JisonParserError","stacktrace","ex2","rv","yy","hasPartialLrUpgradeOnConflict","errorRecoveryTokenDiscardCount","symbols_","terminals_","TERROR","EOF","originalQuoteName","originalParseError","cleanupAfterParse","constructParseErrorInfo","yyMergeLocationInfo","__reentrant_call_depth","__error_infos","__error_recovery_infos","quoteName","id_str","getSymbolName","describeSymbol","terminal_descriptions_","collect_expected_token_set","do_not_describe","tokenset","state_descriptions_","productions_","performAction","yystate","yysp","yyvstack","lexer","goto","defaultActions","bda","parseError","ExceptionClass","recoverable","sstack","vstack","NO_ACTION","__lexer__","sharedState_yy","pre_parse","post_parse","pre_lex","post_lex","fastLex","yyGetSharedState","shallow_copy_noclobber","resultValue","invoke_post_methods","do_not_nuke_errorinfos","cleanupAfterLex","expected","pei","errStr","yytext","token_id","yylineno","new_state","symbol_stack","state_stack","value_stack","stack_pointer","yyrulelen","this_production","lex","yyval","setInput","canIUse","errSymbolDescr","showPosition","ntsymbol","JisonLexerError","ERROR","__currentRuleSet__","__decompressed","_backtrack","_input","_more","_signaled_error_token","conditionStack","yyleng","yylloc","constructLexErrorInfo","show_input_position","prettyPrintRange","pos_str","yyerror","lineno_msg","lexerErrorsAreRecoverable","extra_error_attributes","last_column","first_line","first_column","last_line","rule_re","conditions","spec","rule_ids","rule_regexes","rule_new_ids","__rule_regexes","__rule_count","editRemainingInput","cpsArg","slice_len","unput","pre_lines","backtrack_lexer","less","pastInput","maxSize","past","upcomingInput","maxPrefix","maxPostfix","deriveLocationInfo","preceding","following","context_loc","context_loc2","l0","lineno_display_width","ws_prefix","nonempty_line_indexes","lno","errpfx","clip_start","MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT","clip_end","intermediate_line","describeYYLLOC","display_range_too","test_match","indexed_rule","backup","match_str","match_str_len","tempMatch","_currentRules","trackPosition","topState","regexes","pendingInput","activeCondition","conditionStackDepth","stateStackSize","yyrulenumber","YY_START","simpleCaseActionClusters","inclusive","_cssUnitConverter","_cssUnitConverter2","convertAbsoluteLength","conversions","sourceUnit","targetUnit","converted","calc","prec","_reducer","reflowAndAddClass","appearClassName","enterClassName","_this$getClassNames6","_hasClass","juiceClient","makeJuiceClient","juiceDocument","inlineContent","inlineDocument","callbackExtraArguments","entityConverters","codeBlockLookup","encodeEntities","blocks","codeBlocks","subMatch","createEntityConverters","cheerioLoad","EJS","HBS","decodeMap","ReflectOwnKeys","ReflectApply","NumberIsNaN","errorListener","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","existing","newListener","warned","onceWrapper","wrapFn","_onceWrap","wrapped","_listeners","evlistener","unwrapListeners","arrayClone","wrapListener","getMaxListeners","doError","originalListener","rawListeners","getElements","where","getOneElement","recurse","addConditionally","isValidFeed","childs","feedRoot","pubDate","getOuterHTML","getInnerHTML","Root","decodeXMLStrict","decodeHTML5Strict","decodeHTML4Strict","decodeHTML5","decodeHTML4","encodeHTML5","encodeHTML4","decodeStrict","decode_1","encode_1","encode_2","decode_2","decode_json_1","removeElement","replaceElement","currNext","findOneChild","existsOne","rootElems","tag_name","tag_type","tag_contains","Checks","getAttribCheck","attrib","combineFuncs","funcs","getElementsByTagType","POSITION","comparePos","nodeA","nodeB","sharedParent","aSibling","bSibling","aParents","bParents","Cbs","readable","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","utf8CheckIncomplete","copyProps","SafeBuffer","ProxyHandler","CollectingHandler","restart","XML","HTML","HTMLStrict","getInverse","re_nonASCII","re_astralSymbols","astralReplacer","re_xmlChars","rspace","primitives","null","true","false","rboolean","getAttr","setProp","domNames","domName","jsNames","jsName","readAll","querying","numElements","numClasses","setClass","appendClass","splitClass","class","changed","elClasses","elementClasses","re_nthElement","bMod","Rules","sortRules","procedure","includesScopePseudo","DESCENDANT_TOKEN","SCOPE_TOKEN","PLACEHOLDER_ELEMENT","isArrayContext","hasContext","isTraversal","absolutize","acceptSelf","rootFunc","compileRules","reduceRules","containsTraversal","subselects","parseSelector","firstChar","sawWS","re_name","unescapeCSS","stripWhitespace","isWhitespace","isEscaped","slashCount","simpleSelectors","attribSelectors","re_attr","actionTypes","unpackPseudos","quoted","stripQuotesFromPseudos","re_escape","\"","escapedWhitespace","descendant","adjacent","universal","procs","getProcedure","procNew","proc","moduleExports","arrayProto","objectCtorString","getPrototype","nativeIsBuffer","assignMergeValue","baseMerge","mergeFunc","safeGet","isTyped","isDeep","cloneBuffer","typedArray","arrayBuffer","cloneArrayBuffer","cloneTypedArray","isNew","toPlainObject","initCloneObject","baseMergeDeep","argsTag","mapTag","setTag","reLeadingDot","UNORDERED_COMPARE_FLAG","selectorOrHaystack","parentElem","parentNodes","traverseParents","untilNode","untilNodes","closestElem","filterSelector","siblingsAndMe","makeFilterMethod","filterFn","testFn","selectorOrNeedle","$haystack","baseFilter","negate","arrayReduce","initAccum","baseReduce","updateDOM","flatten","_makeDomArray","_insert","concatenator","lastIdx","domSrc","uniqueSplice","spliceIdx","spliceCount","newElems","prevIdx","spliceArgs","wrapperFn","clones","clonedSelf","$el","setCss","getCss","basePickBy","basePick","$elem","_comments","_depth","astNode","override","parseAtGroup","overrides","parseDeclarations","parseTokensWhile","parseToken","parseProperty","parseComment","parseNamespace","_compress","_indentation","_level","stringifyAtGroup","chomp","stringifyBlock","stringifyComment","stringifyRule","stringifyDeclaration","stringifyChildren","stringifyProperty","stringifyAtRule","styleAttribute","expressions","nots","escapeRe","unescapeRe","slickRe","Part","xpr","Expression","rawMatch","combinatorChildren","attributeKey","attributeOperator","attributeQuote","attributeValue","pseudoMarker","pseudoClass","pseudoQuote","pseudoClassQuotedValue","pseudoClassValue","unescaped","escapedName","escapedValue","Expressions","replaced","additionalPriority","editedElements","styleAttributeName","parsedSelector","pseudoElementType","isPseudoElementName","getPseudoElementType","subSel","subSelPseudo","filterElementPseudos","nonVisualElements","pseudoElPropName","pseudoEl","pseudoElementParent","addProps","preserveImportant","excludedProperties","nextProp","np","inlinePseudoElements","imageUrlMatch","setDimensionAttrs","elName","styleToAttribute","tableElements","extractBackgroundUrl","preservedText","$appendTo","pxSize","widthElements","heightElements","styleDataList","styleData","styleElement","getStylesData","extractCssFromDocument","_CalendarPanel","onViewDateChange","viewDate","isValidDate","navigation","onUserInput","onButtonClick","onPrevButtonClick","onNextButtonClick","onMonthDropdownChange","onYearDropdownChange","onTodayButtonClick","onClearButtonClick","incrementHour","decrementHour","incrementMinute","decrementMinute","incrementSecond","decrementSecond","toggleAmPm","onTimePickerElementMouseDown","onTimePickerElementMouseUp","onTimePickerElementMouseLeave","reFocusInputField","initFocusableCell","updateInputfield","viewStateChanged","prevPropValue","updateFocus","disableModality","inputElement","ignoreFocusFunctionality","showOnFocus","keepInvalid","isKeydown","trapFocus","touchUI","rawValue","parseValueFromString","isValidSelection","updateViewDate","isSingleSelection","isSelectableTime","isRangeSelection","backward","navBackward","navForward","selectedCell","todayCell","newViewDate","getViewDate","newYear","yearNavigator","currentViewDate","dateMeta","timeMeta","milliseconds","onDateSelect","clearTimePickerTimer","timePickerTimer","incrementMilliSecond","decrementMilliSecond","newHour","stepHour","validateHour","toDateString","updateTime","newMinute","stepMinute","validateMinute","newSecond","stepSecond","validateSecond","newMillisecond","stepMillisec","validateMillisecond","currentHour","valueDateString","newDateTime","viewYear","monthNavigator","viewMonth","viewMonthWithMinMax","isInMinYear","isInMaxYear","groupIndex","cellContent","cellIndex","focusCell","_cellIndex","_focusCell","prevCell","_focusCell2","navigateToMonth","nextCell","_focusCell3","prevMonthContainer","nextMonthContainer","_focusCell4","_nextCell","onMonthSelect","isMultipleSelection","isDateEquals","maxDateCount","selectDate","showTime","hideOnDateTimeSelect","selectTime","selectedValues","startDate","endDate","alignOverlay","onWindowResize","isNavIconClicked","isAndroid","enableModality","addMultipleClasses","maskClickListener","hasBlockerMasks","bodyChildren","bodyChild","dayIndex","getSundayIndex","daylightSavingAdjust","getPreviousMonthAndYear","getDaysCountInMonth","firstDayOfWeek","weekDays","createMonth","getFirstDayOfMonthIndex","daysLength","prevMonthDaysLength","getDaysCountInPrevMonth","dayNo","weekNumbers","monthRows","isToday","remainingDaysLength","getNextMonthAndYear","getWeekNumber","validDate","validDay","validMonth","disabledDates","isDateDisabled","disabledDays","isDayDisabled","isDateBetween","disabledDate","weekdayNumber","formattedValue","formatDateTime","selectedValue","timeOnly","formatTime","ticksTo1970","hourFormat","showSeconds","showMillisec","parseDateTime","populateTime","timeString","ampm","parseTime","validTokenLength","navigatorProps","onContainerButtonKeydown","yearOptions","yearStart","yearEnd","monthMetaData","renderTitleMonthElement","renderTitleYearElement","weekDay","dateTemplate","onDateCellKeydown","weekDates","weekNumber","_this17","dateClassName","renderDateCellContent","_this18","renderWeek","renderDayNames","renderDates","createWeekDays","backwardNavigator","renderBackwardNavigator","forwardNavigator","renderForwardNavigator","renderTitle","dateViewGrid","renderDateViewGrid","headerTemplate","monthsMetaData","_this19","renderMonth","createMonths","renderMonths","_this20","isMonthSelected","monthName","onMonthCellKeydown","renderMonthViewMonth","yearElement","renderMonthViewMonths","renderDateView","renderMonthView","_this21","hourDisplay","_this22","minuteDisplay","_this23","secondDisplay","_this24","millisecondDisplay","renderHourPicker","renderSeparator","renderMinutePicker","renderSecondPicker","renderMiliSecondPicker","renderAmPmPicker","_this25","inputClassName","inputStyle","readOnlyInput","inputMode","showIcon","_this26","showButtonBar","todayClassName","todayButtonClassName","clearClassName","clearButtonClassName","footerTemplate","_this27","renderInputElement","renderButton","datePicker","renderDatePicker","timePicker","renderTimePicker","buttonBar","renderButtonBar","CalendarPanel","TabMenu","getActiveItem","renderMenuItem","Toolbar","toolbarClass","popup","currentEvent","bindDocumentListeners","unbindDocumentListeners","renderMenuitem","linkClassName","onItemClick","onItemKeyDown","renderSubmenu","menuitems","renderMenu","TriStateCheckbox","inputEL","InputNumber","constructParser","onInputKeyPress","onInputClick","onPaste","onUpButtonMouseLeave","onUpButtonMouseDown","onUpButtonMouseUp","onUpButtonKeyDown","onUpButtonKeyUp","onDownButtonMouseLeave","onDownButtonMouseDown","onDownButtonMouseUp","onDownButtonKeyDown","onDownButtonKeyUp","localeMatcher","currency","currencyDisplay","useGrouping","minimumFractionDigits","minFractionDigits","maximumFractionDigits","maxFractionDigits","NumberFormat","numerals","_numeral","_decimal","getDecimalExpression","_group","getGroupingExpression","_minusSign","getMinusSignExpression","_currency","getCurrencyExpression","_suffix","getSuffixExpression","_prefix","getPrefixExpression","groupChar","prefixChar","escapeRegExp","suffixChar","filteredText","parsedValue","clearTimer","inputEl","validateValue","updateInput","handleOnChange","isSpecialChar","lastValue","inputValue","newValueStr","prevChar","isNumeralChar","currentChar","formatValue","deleteChar","decimalCharIndex","setSelectionRange","updateValue","deleteRange","_deleteChar","_decimalCharIndex","isDecimalSign","isMinusSign","filteredData","minusCharIndexOnText","allowMinusSign","minusCharIndex","insertText","resolvedOptions","valueLength","initCursor","resetRegex","valueStr","insertedValueStr","isValueChanged","currentLength","_selectionEnd","newLength","startExpr","sRegex","tExpr","tRegex","nextChar","isGroupChar","updateInputValue","showButtons","buttonLayout","isOptionChanged","valueToRender","getInputMode","maxlength","readonly","incrementButtonClassName","incrementButtonIcon","decrementButtonClassName","decrementButtonIcon","upButton","renderUpButton","downButton","renderDownButton","isStacked","isVertical","buttonGroup","renderButtonGroup","Message","ToggleButton","onLabel","offLabel","onIcon","offIcon","hasIcon","AutoComplete","_AutoCompletePanel","onInputChange","onDropdownClick","onMultiContainerClick","onMultiInputFocus","onMultiInputBlur","listId","completeMethod","ariaSelected","resolvedFieldData","_resolvedFieldData","multiContainer","dropdownMode","removedValue","nextElement","previousElement","suggestions","isInputClicked","dropdown","onDblClick","multiContainerClass","renderChips","renderMultiInput","dropdownButton","renderMultipleAutoComplete","renderSimpleAutoComplete","renderDropdown","AutoCompletePanel","suggestion","itemContent","Chips","onWrapperClick","removedItem","allowDuplicate","onAdd","addItem","isMaxedOut","pastedData","pastedValues","isValueSame","targetContainer","listElement","isFilled","renderList","Fieldset","onToggle","collapsed","toggleable","onExpand","onCollapse","toggleIcon","renderToggleIcon","renderLegendContent","isCollapsed","OrganizationChart","OrganizationChartNode","leaf","onNodeClick","getColspan","nodeClassName","nodeLabel","nodeTemplate","nodeContent","getLeaf","toggleNode","_visibility","linesDown","nodeChildLength","linesMiddle","leftClass","rightClass","eventTarget","onNodeUnselect","onNodeSelect","InputTextarea","cachedScrollHeight","textareaProps","UploadCloud","MessageCircle","tauEpsilon","Path","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","ccw","ascendingBisect","bisectRight","ResponsiveContainer","aspect","_ref$width","_ref$height","_ref$debounce","_useState2","containerWidth","sizes","setSizes","_useState4","setMounted","getContainerSize","updateDimensionsImmediate","newSize","handleResize","ReactResizeDetector","calculatedWidth","calculatedHeight","renderChart","ChevronLeft","FileText","Send","FastForward","ChevronRight","PerformanceEvents","PerformanceEventStatus","CryptoKeyStoreNames","IntFields","ServerError","JoseHeaderErrorMessage","JoseHeaderError","createMissingKidError","createMissingAlgError","typ","alg","kid","shrHeaderOptions","shrHeader","JoseHeader","Jwt","decimalToHex","generateGuid","getRandomValues","MathUtils","guidHolder","guidResponse","isGuid","stringToUtf8Arr","sDOMStr","nChr","nArrLen","nStrLen","nMapIdx","aBytes","nIdx","nChrIdx","stringToArrayBuffer","dataString","dataView","utf8ArrToString","sView","nPart","nLen","getSortedObjectString","urlEncode","urlEncodeArr","inputArr","base64EncArr","inputUtf8Arr","eqLen","sB64Enc","nMod3","nUint24","uint6ToB64","nUint6","encodedString","base64DecToArr","base64String","nBlockSize","nInLen","nOutLen","nMod4","nOutIdx","nInIdx","b64ToUint6","charNum","BrowserAuthErrorMessage","BrowserAuthError","createPkceNotGeneratedError","createCryptoNotAvailableError","createHttpMethodNotImplementedError","createEmptyNavigationUriError","createEmptyHashError","hashValue","createHashDoesNotContainStateError","createHashDoesNotContainKnownPropertiesError","createUnableToParseStateError","createStateInteractionTypeMismatchError","createInteractionInProgressError","createPopupWindowError","createEmptyWindowCreatedError","createUserCancelledError","createMonitorPopupTimeoutError","createMonitorIframeTimeoutError","createRedirectInIframeError","windowParentCheck","createBlockReloadInHiddenIframeError","createBlockAcquireTokenInPopupsError","createIframeClosedPrematurelyError","createSilentLogoutUnsupportedError","createNoAccountError","createSilentPromptValueError","givenPrompt","createUnableToParseTokenRequestCacheError","createNoTokenRequestCacheError","createAuthRequestNotSetError","createNoCachedAuthorityError","createNonBrowserEnvironmentError","createDatabaseNotOpenError","createNoNetworkConnectivityError","createPostRequestFailedError","errorDesc","createGetRequestFailedError","createFailedToParseNetworkResponseError","createUnableToLoadTokenError","errorDetail","createSigningKeyNotFoundInStorageError","keyId","createAuthCodeRequiredError","createAuthCodeOrNativeAccountIdRequiredError","createDatabaseUnavailableError","createUnableToAcquireTokenFromNativePlatformError","createNativeHandshakeTimeoutError","createNativeExtensionNotInstalledError","createNativeConnectionNotEstablishedError","createNativeBrokerCalledBeforeInitialize","createNativePromptParameterNotSupportedError","base64Encode","generateCodes","codeVerifier","generateCodeVerifier","generateCodeChallengeFromVerifier","codeChallenge","challenge","pkceCodeVerifier","sha256Digest","pkceHashedCodeVerifier","dataBuffer","generateKey","algorithm","extractable","keyUsages","subtle","exportKey","importKey","keyData","initPrng","entropy","msrCrypto","msGenerateKey","msExportKey","resultBuffer","resultString","keyString","keyBuffer","msImportKey","msSign","digestOperation","PUBLIC_EXPONENT","cryptoOptions","hasBrowserCrypto","subtleCrypto","hasIECrypto","hasMsrCrypto","useMsrCrypto","keygenAlgorithmOptions","modulusLength","publicExponent","generateKeyPair","usages","exportJwk","importJwk","dbName","tableName","dbOpen","openDB","indexedDB","createObjectStore","closeConnection","validateDbIsOpen","dbGet","transaction","objectStore","dbPut","dbDelete","getKeys","dbGetKeys","containsKey","dbContainsKey","deleteDatabase","deleteDbRequest","cacheKeys","storeName","inMemoryCache","MemoryStorage","indexedDBCache","handleDatabaseAccessError","clearInMemory","clearPersistent","dbDeleted","asymmetricKeys","symmetricKeys","performanceClient","cryptoConfig","browserCrypto","b64Encode","b64Decode","guidGenerator","pkceGenerator","createNewGuid","generatePkceCodes","getPublicKeyThumbprint","publicKeyThumbMeasurement","startMeasurement","CryptoOptsGetPublicKeyThumbprint","CryptoOps","EXTRACTABLE","POP_KEY_USAGES","keyPair","publicKey","publicKeyJwk","pubKeyThumprintObj","kty","publicJwkString","publicJwkHash","privateKey","privateKeyJwk","unextractablePrivateKey","requestMethod","resourceRequestMethod","requestUri","resourceRequestUri","endMeasurement","removeTokenBindingKey","clearKeystore","signJwt","signJwtMeasurement","CryptoOptsSignJwt","cachedKeyPair","publicKeyJwkString","encodedKeyIdThumbprint","getShrHeaderString","encodedShrHeader","cnf","jwk","encodedPayload","tokenString","tokenBuffer","signatureBuffer","encodedSignature","signedJwt","plainText","hashBuffer","hashBytes","clientId","libraryName","libraryVersion","applicationTelemetry","eventsByCorrelationId","staticFieldsByCorrelationId","measurementsById","queueMeasurements","preQueueTimeByCorrelationId","countersByCorrelationId","startPerformanceMeasurement","measureName","startPerformanceMeasuremeant","getIntFields","getPreQueueTime","preQueueTimesByEvents","calculateQueuedTime","preQueueTime","addQueueMeasurement","queueTime","queueMeasurement","existingMeasurements","measurementArray","validMeasurement","eventCorrelationId","generateId","performanceMeasuremeant","performanceMeasurement","inProgressEvent","eventId","InProgress","startTimeMs","cacheEventByCorrelationId","staticFields","appName","appVersion","addStaticFields","cacheMeasurement","completedEvent","flushMeasurement","flushMeasurements","discardMeasurement","discardMeasurements","measurement","durationMs","Completed","existingStaticFields","existingEvents","queueMeasurementForCorrelationId","totalQueueTime","totalQueueCount","eventsForCorrelationId","discardCache","sortedCompletedEvents","eventA","eventB","topLevelEvents","topLevelEvent","eventToEmit","subMeasurementName","finalEvent","queuedTimeMs","queuedCount","incompleteSubsCount","truncateIntegralFields","emitEvents","intFields","StubPerformanceMeasurement","setPreQueueTime","DEFAULT_CRYPTO_IMPLEMENTATION","createUnexpectedError","_initRegex","CredentialEntity","credentialRegexMap","credKey","credVal","credentialDomainRegex","generateAccountIdForCacheKey","generateCredentialId","generateCredentialIdForCacheKey","credentialType","familyId","generateTarget","generateTargetForCacheKey","generateCredentialKey","generateCredentialCacheKey","tokenType","requestedClaimsHash","ID_TOKEN","ACCESS_TOKEN","ACCESS_TOKEN_WITH_AUTH_SCHEME","REFRESH_TOKEN","generateClaimsHashForCacheKey","generateSchemeForCacheKey","BEARER","CcsCredentialType","ClientConfigurationErrorMessage","ClientConfigurationError","claimsRequestParseError","urlString","urlParseError","createUrlEmptyError","createEmptyScopesArrayError","inputScopes","promptValue","createInvalidClaimsRequestError","createEmptyLogoutRequestError","createEmptyTokenRequestError","createInvalidCodeChallengeMethodError","createInvalidCodeChallengeParamsError","createInvalidCloudDiscoveryMetadataError","createInvalidAuthorityMetadataError","createUntrustedAuthorityError","createInvalidAzureCloudInstanceError","createMissingSshJwkError","createMissingSshKidError","createMissingNonceAuthenticationHeadersError","createInvalidAuthenticationHeaderError","invalidHeaderName","scopeArr","trimArrayEntries","filteredInput","removeEmptyStringsFromArray","validateInputScopes","inputScopeString","ScopeSet","lowerCaseScopesSet","printScopesLowerCase","scopeSet","containsScope","containsOnlyOIDCScopes","defaultScopeCount","defaultScope","newScope","newScopes","appendScope","createAppendScopeSetError","createRemoveEmptyScopeFromSetError","removeOIDCScopes","otherScopes","unionScopes","unionScopeSets","sizeOtherScopes","getScopeCount","sizeThisScopes","printScopes","rawToken","AuthToken","extractTokenClaims","encodedToken","decodedToken","decodeAuthToken","base64TokenPayload","base64Decoded","checkMaxAge","authTime","cryptoImpl","getAccountsFilteredBy","accountValues","accountKey","accountInfo","CacheManager","readIdTokenFromCache","cacheRecord","setAccount","setIdTokenCredential","accessToken","saveAccessToken","refreshToken","setRefreshTokenCredential","appMetadata","setAppMetadata","credential","currentTokenCache","getCredentialsFilteredBy","currentScopes","currentAccessTokens","accessTokens","tokenEntity","intersectingScopeSets","removeCredential","setAccessTokenCredential","accountFilter","getAccountsFilteredByInternal","allCacheKeys","matchingAccounts","getAccount","matchHomeAccountId","matchEnvironment","matchRealm","matchNativeAccountId","getCredentialsFilteredByInternal","userAssertionHash","matchingCredentials","idTokens","refreshTokens","credType","getCredentialType","getSpecificCredential","matchUserAssertionHash","matchCredentialType","matchClientId","matchFamilyId","matchTarget","matchTokenType","SSH","matchKeyId","updatedCacheKey","updateCredentialCacheKey","getAppMetadataFilteredByInternal","matchingAppMetadata","isAppMetadata","getAppMetadata","getAuthorityMetadataKeys","matchedEntity","isAuthorityMetadata","getAuthorityMetadata","aliases","removeAllAccounts","removedAccounts","removeAccount","removeAccountContext","ACCOUNT","removedCredentials","cacheEntity","POP","CREDENTIAL","removeAppMetadata","cachedAccount","readAccountFromCache","cachedIdToken","cachedAccessToken","readAccessTokenFromCache","cachedRefreshToken","readRefreshTokenFromCache","cachedAppMetadata","readAppMetadataFromCache","accountCache","idTokenFilter","credentialCache","numIdTokens","authScheme","authenticationScheme","accessTokenFilter","sshKid","numAccessTokens","familyRT","refreshTokenFilter","appMetadataFilter","getAppMetadataFilteredBy","appMetadataEntries","numAppMetadata","isAppMetadataFOCI","cloudMetadata","getAuthorityMetadataByAlias","entityScopeSet","requestTargetScopeSet","removeScope","containsScopeSet","getIdTokenCredential","getAccessTokenCredential","getRefreshTokenCredential","setServerTelemetry","getServerTelemetry","setAuthorityMetadata","setThrottlingCache","getThrottlingCache","idTokenEntity","IdTokenEntity","nowSeconds","isTokenExpired","expiresOn","expirationSec","TimeUtils","cachedAt","createAccessTokenEntity","extExpiresOn","cryptoUtils","refreshOn","requestedClaims","atEntity","AccessTokenEntity","extendedExpiresOn","tokenClaims","createRefreshTokenEntity","rtEntity","RefreshTokenEntity","generateAppMetadataKey","AppMetadataEntity","generateAppMetadataCacheKey","createAppMetadataEntity","isAppMetadataEntity","failedRequests","cacheHits","isServerTelemetryEntity","validateKey","validateEntity","expiresAt","updateCloudDiscoveryMetadata","fromNetwork","preferred_cache","preferred_network","aliasesFromNetwork","updateEndpointMetadata","authorization_endpoint","token_endpoint","end_session_endpoint","issuer","endpointsFromNetwork","jwks_uri","canonical_authority","resetExpiresAt","isExpired","isAuthorityMetadataEntity","isThrottlingEntity","setRequestState","userState","libraryState","ProtocolUtils","generateLibraryState","createNoCryptoObjectError","stateObj","parseRequestState","splitState","libraryStateString","libraryStateObj","userRequestState","ProtocolMode","AzureCloudInstance","cacheLocation","validateWindowStorage","windowStorage","LocalStorage","SessionStorage","_urlString","getHash","UrlString","canonicalizeUri","lowerCaseUrl","validateAsUri","components","getUrlComponents","createUrlParseError","HostNameAndPort","PathSegments","Protocol","createInsecureAuthorityUriError","appendQueryString","urlObject","pathArray","COMMON","ORGANIZATIONS","constructAuthorityUriFromObject","parseHash","regEx","urlComponents","AbsolutePath","QueryString","pathSegments","getAbsoluteUrl","relativeUrl","baseComponents","hashIndex1","hashIndex2","queryIndex1","queryIndex2","parsedHash","deserializedHash","queryStringToObject","createHashNotDeserializedError","parsedQueryString","parseQueryString","deserializedQueryString","parameters","getDeserializedHash","error_description","extractBrowserRequestState","parseServerResponseFromHash","hashUrlString","cacheConfig","COOKIE_LIFE_MULTIPLIER","internalStorage","browserStorage","setupBrowserStorage","temporaryCacheStorage","setupTemporaryCacheStorage","migrateCacheEntries","idTokenKey","clientInfoKey","errorKey","errorDescKey","ERROR_DESC","migrateCacheEntry","newKey","setTemporaryCache","validateAndParseJson","jsonValue","parsedJson","parsedAccount","isAccountEntity","parsedIdToken","isIdTokenEntity","accessTokenKey","parsedAccessToken","isAccessTokenEntity","refreshTokenKey","parsedRefreshToken","isRefreshTokenEntity","appMetadataKey","parsedMetadata","serverTelemetryKey","serverTelemetry","setWrapperMetadata","wrapperSKU","wrapperVersion","WRAPPER_SKU","WRAPPER_VER","getWrapperMetadata","activeAccountKeyFilters","generateCacheKey","ACTIVE_ACCOUNT_FILTERS","activeAccountValueFilters","activeAccountKeyLocal","ACTIVE_ACCOUNT","activeAccountValueLocal","activeAccount","getAccountInfoByFilter","activeAccountValueObj","activeAccountKey","activeAccountValue","allAccounts","accountObj","getAccountInfoByHints","loginHint","accountSid","throttlingCacheKey","parsedThrottlingCache","throttlingCache","getTemporaryCache","storeAuthStateInCookie","itemCookie","getItemCookie","setItemCookie","clearItemCookie","cookieStr","getCookieExpirationTime","secureCookies","cookieList","clearMsalCookies","cookiePrefix","cookieKey","cookieLifeDays","getCache","setCache","ADAL_ID_TOKEN","generateAuthorityKey","stateId","AUTHORITY","generateNonceKey","NONCE_IDTOKEN","generateStateKey","REQUEST_STATE","getCachedAuthority","cachedState","stateCacheKey","authorityCacheKey","updateCacheEntries","authorityInstance","nonceCacheKey","ccsCredential","HOME_ACCOUNT_ID","CCS_CREDENTIAL","UPN","resetRequestCache","REQUEST_PARAMS","ORIGIN_URI","URL_HASH","CORRELATION_ID","NATIVE_REQUEST","setInteractionInProgress","cleanRequestByState","cleanRequestByInteractionType","stateValue","parsedState","cacheCodeRequest","authCodeRequest","encodedValue","getCachedRequest","encodedTokenRequest","parsedRequest","cachedAuthority","getCachedNativeRequest","cachedRequest","isInteractionInProgress","getInteractionInProgress","INTERACTION_STATUS_KEY","getLegacyLoginHint","adalIdTokenString","msalIdTokenString","cachedIdTokenString","currentCacheKey","cacheItem","getRedirectRequestContext","REDIRECT_CONTEXT","setRedirectRequestContext","DEFAULT_SYSTEM_OPTIONS","tokenRenewalOffsetSeconds","preventCorsPreflight","DEFAULT_LOGGER_IMPLEMENTATION","DEFAULT_NETWORK_IMPLEMENTATION","sendGetRequestAsync","sendPostRequestAsync","DEFAULT_LIBRARY_INFO","sku","cpu","DEFAULT_CLIENT_CREDENTIALS","clientSecret","clientAssertion","DEFAULT_AZURE_CLOUD_OPTIONS","azureCloudInstance","tenant","application","StubbedNetworkModule","GET","getFetchHeaders","getHeaderDict","reqBody","POST","Headers","optionsHeaders","headerDict","sendRequestAsync","setXhrHeaders","jsonResponse","networkResponse","headerArr","headerName","headerVal","clearHash","replaceHash","urlParts","isInIframe","isInPopup","getCurrentUri","getHomepage","getBrowserNetworkClient","blockReloadInHiddenIframes","hashContainsKnownProperties","BrowserUtils","blockRedirectInIframe","allowRedirectInIframe","isIframedApp","blockAcquireTokenInPopups","blockNonBrowserEnvironment","isBrowserEnvironment","blockNativeBrokerCalledBeforeInitialized","allowNativeBroker","detectIEOrEdge","msie11","msedge","navigateInternal","NavigationClient","defaultNavigateWindow","navigateExternal","noHistory","KeyLocation","eventCallbacks","listeningToStorageEvents","handleAccountCacheChange","emitEvent","cacheValue","ACCOUNT_ADDED","ACCOUNT_REMOVED","thumbprint","preProcess","cacheManager","ThrottlingUtils","generateThrottlingStorageKey","throttleTime","THROTTLING","errorCodes","checkResponseStatus","checkResponseForRetryAfter","thumbprintValue","calculateThrottleTime","RETRY_AFTER","error_codes","currentSeconds","homeAccountIdentifier","shrClaims","networkClient","sendPostRequest","tokenEndpoint","redirectUri","promptValues","createInvalidPromptError","validateCodeChallengeParams","codeChallengeMethod","validateCodeChallengeMethod","sanitizeEQParams","eQParams","queryParams","fromEntries","addResponseTypeCode","RESPONSE_TYPE","addResponseTypeForTokenAndIdToken","responseMode","RESPONSE_MODE","QUERY","addNativeBroker","NATIVE_BROKER","addScopes","addOidcScopes","requestScopes","SCOPE","CLIENT_ID","validateRedirectUri","REDIRECT_URI","POST_LOGOUT_URI","idTokenHint","ID_TOKEN_HINT","domainHint","DOMAIN_HINT","LOGIN_HINT","CCS_HEADER","addClaims","clientCapabilities","mergedClaims","addClientCapabilitiesToClaims","validateClaims","CLIENT_REQUEST_ID","libraryInfo","X_CLIENT_SKU","X_CLIENT_VER","X_CLIENT_OS","X_CLIENT_CPU","appTelemetry","X_APP_NAME","X_APP_VER","validatePrompt","PROMPT","STATE","NONCE","addCodeChallengeParams","CODE_CHALLENGE","CODE_CHALLENGE_METHOD","CODE","DEVICE_CODE","CODE_VERIFIER","CLIENT_SECRET","CLIENT_ASSERTION","clientAssertionType","CLIENT_ASSERTION_TYPE","oboAssertion","OBO_ASSERTION","tokenUse","REQUESTED_TOKEN_USE","grantType","GRANT_TYPE","addClientInfo","sanitizedEQParams","XMS_CC","cnfString","TOKEN_TYPE","REQ_CNF","sshJwkString","serverTelemetryManager","X_CLIENT_CURR_TELEM","generateCurrentRequestHeaderValue","X_CLIENT_LAST_TELEM","generateLastRequestHeaderValue","addThrottling","X_MS_LIB_CAPABILITY","logoutHint","LOGOUT_HINT","createQueryString","queryParameterArray","authOptions","userAuthOptions","userSystemOptions","userLoggerOption","storageImplementation","networkImplementation","cryptoImplementation","clientCredentials","telemetry","persistencePlugin","serializableCache","azureCloudOptions","skipAuthorityMetadataCache","systemOptions","storageInterface","networkInterface","cryptoInterface","buildClientConfiguration","networkManager","ccsCred","CONTENT_TYPE","clearTelemetryCache","updatedAuthority","discoveryComplete","createEndpointDiscoveryIncompleteError","parameterBuilder","tokenQueryParameters","addExtraQueryParameters","accountEntity","accessTokenEntity","refreshTokenEntity","appMetadataEntity","PopTokenGenerateCnf","PopTokenGenerateKid","generateKid","reqCnf","reqCnfString","reqCnfHash","xms_ksl","SW","signPopToken","signPayload","shrNonce","resourceUrlString","resourceUrlComponents","client_claims","hasChanged","cacheStorage","validateServerAuthorizationCodeResponse","serverResponseHash","createStateNotFoundError","trace_id","correlation_id","client_info","serverResponse","errString","handleServerTokenResponse","serverTokenResponse","reqTimestamp","authCodePayload","handlingRefreshTokenResponse","forceCacheRefreshTokenResponse","serverRequestId","HandleServerTokenResponse","id_token","idTokenObj","auth_time","generateHomeAccountId","requestStateObj","key_id","generateCacheRecord","cacheContext","TokenCacheContext","beforeCacheAccess","saveCacheRecord","ResponseHandler","generateAuthenticationResult","afterCacheAccess","spa_code","createIdTokenEntity","generateAccountEntity","access_token","responseScopes","expiresIn","expires_in","extExpiresIn","ext_expires_in","refreshIn","refresh_in","tokenExpirationSeconds","extendedTokenExpirationSeconds","refreshOnSeconds","token_type","refresh_token","foci","CacheRecord","cloud_graph_host_name","msGraphhost","msgraph_host","protocolMode","fromTokenCache","requestState","requestId","popTokenGenerator","canonicalAuthority","fromCache","fromNativeBroker","GetAuthCodeUrl","AuthClientCreateQueryString","createAuthCodeUrlQueryString","authorizationEndpoint","acquireToken","AuthClientAcquireToken","atsMeasurement","AuthClientExecuteTokenRequest","executeTokenRequest","X_MS_REQUEST_ID","httpVerAuthority","X_MS_HTTP_VERSION","responseHandler","validateTokenResponse","subErrorCode","handleFragmentResponse","hashFragment","serverParams","logoutRequest","createLogoutUrlQueryString","endSessionEndpoint","AuthClientCreateTokenRequestBody","queryParametersString","createTokenQueryParameters","createTokenRequestBody","requestBody","createTokenRequestHeaders","executePostToTokenEndpoint","addClientId","includeRedirectUri","addRedirectUri","addAuthorizationCode","addLibraryInfo","addApplicationTelemetry","addServerTelemetry","addCodeVerifier","addClientSecret","addClientAssertion","assertion","addClientAssertionType","assertionType","addGrantType","AUTHORIZATION_CODE_GRANT","generateCnf","reqCnfData","addPopToken","sshJwk","addSshJwk","addCorrelationId","isEmptyObj","addCcsOid","addCcsUpn","tokenBodyParameters","enableSpaAuthorizationCode","RETURN_SPA_CODE","extraScopesToConsent","addResponseMode","addPrompt","addDomainHint","addSid","extractAccountSid","accountLoginHintClaim","extractLoginHint","addLoginHint","addNonce","addState","extraQueryParameters","nativeBroker","postLogoutRedirectUri","addPostLogoutRedirectUri","addIdTokenHint","addLogoutHint","login_hint","isOpenIdConfigResponse","EndpointMetadata","InstanceDiscoveryMetadata","NativeStatusCode","detectRegion","environmentRegion","regionDiscoveryMetadata","RegionDiscoveryDetectRegion","autodetectedRegionName","RegionDiscovery","IMDS_OPTIONS","RegionDiscoveryGetRegionFromIMDS","getRegionFromIMDS","localIMDSVersionResponse","httpSuccess","region_source","IMDS","httpBadRequest","RegionDiscoveryGetCurrentVersion","getCurrentVersion","currentIMDSVersion","FAILED_AUTO_DETECTION","currentIMDSVersionResponse","ENVIRONMENT_VARIABLE","authorityOptions","_canonicalAuthority","region_used","region_outcome","regionDiscovery","canonicalAuthorityUrlComponents","Default","_canonicalAuthorityUrlComponents","replacePath","replaceTenant","cachedAuthorityParts","currentPart","cachedPart","OIDC","resolveEndpointsAsync","AuthorityResolveEndpointsAsync","metadataEntity","hostnameAndPort","updateCanonicalAuthority","AuthorityUpdateCloudDiscoveryMetadata","cloudDiscoverySource","AuthorityUpdateEndpointMetadata","endpointSource","CACHE","generateAuthorityMetadataCacheKey","getEndpointMetadataFromConfig","CONFIG","isAuthoritySameType","harcodedMetadata","getEndpointMetadataFromHardcodedValues","AuthorityGetEndpointMetadataFromNetwork","getEndpointMetadataFromNetwork","azureRegionConfiguration","azureRegion","AuthorityUpdateMetadataWithRegionalInformation","updateMetadataWithRegionalInformation","NETWORK","HARDCODED_VALUES","createUnableToGetOpenidConfigError","defaultOpenIdConfigurationEndpoint","authorityMetadata","AUTO_DETECTION_REQUESTED_SUCCESSFUL","AUTO_DETECTION_REQUESTED_FAILED","CONFIGURED_MATCHES_DETECTED","CONFIGURED_NOT_DETECTED","CONFIGURED_NO_AUTO_DETECTION","Authority","replaceWithRegionalInformation","knownAuthorities","getCloudDiscoveryMetadataFromConfig","metadataEntityExpired","AuthorityGetCloudDiscoveryMetadataFromNetwork","getCloudDiscoveryMetadataFromNetwork","getCloudDiscoveryMetadataFromHarcodedValues","cloudDiscoveryMetadata","parsedResponse","getCloudDiscoveryMetadataFromNetworkResponse","isInKnownAuthorities","createCloudDiscoveryMetadataFromHost","instanceDiscoveryEndpoint","typedResponseBody","isCloudInstanceDiscoveryResponse","tenant_discovery_endpoint","isCloudInstanceDiscoveryErrorResponse","typedError","getDomainFromUrl","generateAuthority","authorityString","authorityAzureCloudInstance","buildRegionalAuthorityString","region","authorityUrlInstance","authorityUrlParts","hostNameAndPort","isPublicCloudAuthority","createDiscoveredInstance","authorityUri","AuthorityFactoryCreateDiscoveredInstance","acquireTokenAuthority","AuthorityFactory","authorityUrl","telemetryRequest","cacheOutcome","NO_CACHE_HIT","apiId","wrapperVer","telemetryCacheKey","platformFields","requestWithRegionDiscoveryFields","getRegionDiscoveryFields","lastRequests","getLastRequests","maxErrors","ServerTelemetryManager","maxErrorsToSend","errorCount","incrementCacheHits","numErrorsFlushed","serverTelemEntity","serverTelemetryEntity","dataSize","regionDiscoveryFields","regionUsed","regionSource","regionOutcome","storageImpl","eventHandler","navigationClient","nativeMessageHandler","system","clearCacheOnLogout","initializeBaseRequest","InitializeBaseRequest","validatedRequest","getRedirectUri","requestRedirectUri","initializeServerTelemetryManager","telemetryPayload","getDiscoveredAuthority","requestAuthority","initializeAuthorizationCodeRequest","StandardInteractionClientInitializeAuthorizationCodeRequest","generatedPkceParams","initializeLogoutRequest","validLogoutRequest","getLogoutHintFromIdTokenClaims","createAuthCodeClient","requestAzureCloudOptions","StandardInteractionClientCreateAuthCodeClient","StandardInteractionClientGetClientConfiguration","getClientConfiguration","clientConfig","StandardInteractionClientGetDiscoveredAuthority","discoveredAuthority","validateAndExtractStateFromHash","requestCorrelationId","platformStateObj","getAuthorityMeasurement","userAuthority","builtAuthority","initializeAuthorizationRequest","StandardInteractionClientInitializeAuthorizationRequest","browserState","FRAGMENT","legacyLoginHint","NativeAuthErrorMessage","NativeAuthError","isFatal","PERSISTENT_ERROR","DISABLED","ACCOUNT_UNAVAILABLE","USER_INTERACTION_REQUIRED","USER_CANCEL","NO_NETWORK","createUserSwitchError","createTokensNotFoundInCacheError","RefreshTokenClientAcquireToken","RefreshTokenClientExecuteTokenRequest","httpVerToken","refreshTokenSize","forceCache","RefreshTokenClientAcquireTokenByRefreshToken","RefreshTokenClientAcquireTokenWithCachedRefreshToken","acquireTokenWithCachedRefreshToken","noFamilyRTInCache","clientMismatchErrorWithFamilyRT","refreshTokenRequest","acquireTokenMeasurement","RefreshTokenClientCreateTokenRequestBody","BaseClientCreateTokenRequestHeaders","REFRESH_TOKEN_GRANT","addRefreshToken","acquireCachedToken","acquireTokenByRefreshToken","setCacheOutcome","FORCE_REFRESH","readCacheRecord","NO_CACHED_ACCESS_TOKEN","wasClockTurnedBack","CACHED_ACCESS_TOKEN_EXPIRED","REFRESH_CACHED_ACCESS_TOKEN","generateResultFromCacheRecord","silentRequest","SilentCacheClientAcquireToken","acquireTokenSilent_silentFlow","createSilentFlowClient","silentAuthClient","cachedToken","initializeSilentRequest","InitializeSilentRequest","provider","nativeStorageImpl","nativeStorageManager","silentCacheClient","nativeATMeasurement","NativeInteractionClientAcquireToken","initializeNativeRequest","nativeRequest","acquireTokensFromCache","isNativeBroker","messageBody","GetToken","sendMessage","validatedResponse","validateNativeResponse","handleNativeResponse","createSilentCacheRequest","readAccountFromCacheWithNativeAccountId","navigationOptions","redirectNavigationTimeout","navigateToLoginRequestUrl","mats","getMATSFromResponse","extensionId","getExtensionId","extensionVersion","getExtensionVersion","matsBrokerVersion","broker_version","matsAccountJoinOnStart","account_join_on_start","matsAccountJoinOnEnd","account_join_on_end","matsDeviceJoin","device_join","matsPromptBehavior","prompt_behavior","matsApiErrorCode","api_error_code","matsUiVisible","ui_visible","matsSilentCode","silent_code","matsSilentBiSubCode","silent_bi_sub_code","matsSilentMessage","silent_message","matsSilentStatus","silent_status","matsHttpStatus","http_status","matsHttpEventCount","http_event_count","authorityPreferredCache","accountProperties","responseTokenType","shr","responseAccessToken","shrParameters","isResponseFromCache","MATS","is_cached","remainingProperties","appendScopes","getPrompt","windowTitleSubstring","extraParameters","extendedExpiryToken","handshakeTimeoutMs","resolvers","handshakeResolvers","responseId","messageChannel","onWindowMessage","req","createProvider","preferredProvider","NativeMessageHandler","sendHandshakeRequest","backupProvider","HandshakeRequest","onChannelMessage","timeoutId","handshakeResolver","Response","HandshakeResponse","isNativeAvailable","nativeExtensionProvider","authCodeModule","authModule","handleCodeResponseFromHash","networkModule","HandleCodeResponseFromHash","authCodeResponse","HandleCodeResponseFromServer","handleCodeResponseFromServer","validateNonce","nonceKey","cachedNonce","cloud_instance_host_name","UpdateTokenEndpointAuthority","updateTokenEndpointAuthority","cachedCcsCred","checkCcsCredentials","tokenResponse","cloudInstanceHostname","cloudInstanceAuthorityUri","cloudInstanceAuthority","updateAuthority","unloadWindow","nativeStorage","popupName","generatePopupName","popupWindowAttributes","asyncPopups","acquireTokenPopupAsync","openSizedPopup","generateLogoutPopupName","mainWindowRedirectUri","logoutPopupAsync","validRequest","authClient","fetchNativeAccountIdMeasurement","FetchAccountIdWithNativeBroker","getAuthCodeUrl","navigateUrl","interactionHandler","popupParameters","popupWindow","initiateAuthRequest","POPUP_OPENED","monitorPopupForHash","removeThrottle","nativeInteractionClient","finally","setCorrelationId","cacheFailedRequest","logoutUri","getLogoutUri","LOGOUT_SUCCESS","openPopup","waitForLogoutPopup","absoluteUrl","LOGOUT_FAILURE","requestUrl","maxTicks","windowHashTimeout","pollIntervalMilliseconds","intervalId","cleanPopup","urlNavigate","popupParams","currentWindow","winLeft","screenLeft","winTop","screenTop","winWidth","winHeight","popupSize","popupPosition","redirectStartPage","redirectTimeout","onRedirectNavigate","handleBackButton","persisted","getRedirectStartPage","responseHash","getRedirectResponseHash","loginRequestUrl","loginRequestUrlNormalized","removeHashFromUrl","currentUrlNormalized","handleHash","handleHashResult","processHashOnRedirect","homepage","cachedHash","currentAuthority","requestStartPage","navigateFrameWait","SilentHandlerInitiateAuthRequest","SilentHandlerLoadFrame","loadFrame","loadFrameSync","monitorIframeForHash","SilentHandlerMonitorIframeForHash","timeoutMark","removeHiddenIframe","contentHash","frameHandle","createHiddenIframe","authFrame","SilentIframeClientAcquireToken","Silent","SilentIframeClientTokenHelper","silentTokenHelper","silentHandler","msalFrame","iframeHashTimeout","SilentRefreshClientAcquireToken","createRefreshTokenClient","refreshTokenClient","loadExternalTokens","cacheRecordAccount","loadAccount","loadIdToken","loadAccessToken","loadRefreshToken","requestHomeAccountId","cloudInstanceHostName","startMark","endMark","supportsBrowserPerformance","mark","clearMarks","clearMeasures","getEntriesByName","BrowserPerformanceMeasurement","entriesForMeasurement","getPageVisibility","visibilityState","supportsBrowserPerformanceNow","startPageVisibility","endPageVisibility","preQueueTimes","astsAsyncMeasurement","activeSilentTokenRequests","trackPageVisibility","getRequestCorrelationId","AcquireTokenSilent","cacheLookupPolicy","preflightBrowserEnvironmentCheck","silentRequestKey","cachedResponse","AcquireTokenSilentAsync","acquireTokenSilentAsync","accessTokenSize","idTokenSize","visibilityChangeCount","acquireTokenNative","createSilentIframeClient","createSilentCacheClient","AcquireTokenFromCache","acquireTokenFromCache","cacheError","AccessToken","ACQUIRE_TOKEN_NETWORK_START","AcquireTokenByRefreshToken","refreshTokenError","isServerError","isInvalidGrantError","AccessTokenAndRefreshToken","RefreshToken","Skip","AcquireTokenBySilentIframe","acquireTokenBySilentIframe","tokenRenewalError","userInputAuth","userInputCache","userInputSystem","userInputTelemetry","DEFAULT_AUTH_OPTIONS","AAD","DEFAULT_CACHE_OPTIONS","DEFAULT_LOGGER_OPTIONS","DEFAULT_BROWSER_SYSTEM_OPTIONS","loadFrameTimeout","nativeBrokerHandshakeTimeout","providedSystemOptions","DEFAULT_TELEMETRY_OPTIONS","buildConfiguration","redirectResponse","hybridAuthCodeResponses","cacheOptions","nativeCacheOptions","nativeInternalStorage","trackPageVisibilityWithMeasurement","INITIALIZE_START","INITIALIZE_END","loggedInAccounts","redirectResponseKey","nativeClient","redirectClient","createRedirectClient","isLoggedIn","canUseNative","getNativeAccountId","atPopupMeasurement","AcquireTokenPopup","createPopupClient","ssoSilentMeasurement","acquireTokenByCodeAsyncMeasurement","silentIframeClient","ACQUIRE_TOKEN_BY_CODE_START","atbcMeasurement","AcquireTokenByCode","acquireTokenByCodeAsync","ACQUIRE_TOKEN_BY_CODE_SUCCESS","ACQUIRE_TOKEN_BY_CODE_FAILURE","AcquireTokenByCodeAsync","createSilentAuthCodeClient","commonRequest","RefreshTokenAndNetwork","silentRefreshClient","createSilentRefreshClient","userName","preflightInteractiveRequest","prefixExponent","formatDecimal","formatRounded","grouping","thousands","currencyPrefix","currencySuffix","formatNumerals","nan","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","formatTrim","_console","alreadyWarned","warnOnce","loadNamespaces","oldI18nextHasLoadedNamespace","isNewerI18next","ignoreJSONStructure","ignore","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","reportNamespaces","notReadyT","retNotReady","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","_useState","setT","joinedNS","previousJoinedNS","boundReset","isInitial","withTranslation","WrappedComponent","I18nextWithTranslation","_useTranslation","_useTranslation2","passDownProps","tReady","withRef","forwardRefReact"],"mappings":"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,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAG5DC,EAAY,CACV,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC/D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAA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AK,CAAC,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,MAAM,MAAM,OAAOC,KAAK,CAAC,MAAM,OAAOC,KAAK,CAAC,MAAM,QAAQv5M,EAAE,CAACw5M,MAAM,CAACC,MAAM,MAAMC,MAAM,MAAMC,MAAM,MAAMC,MAAM,OAAOC,MAAM,CAACJ,MAAM,MAAMC,MAAM,MAAMC,MAAM,MAAMC,MAAM,OAAOE,MAAM,CAACN,MAAM,CAACK,MAAM,CAACE,MAAM,SAASC,KAAK,CAACC,KAAK,MAAMC,KAAK,MAAMC,KAAK,MAAMC,KAAK,MAAMC,KAAK,QAAQ/7M,EAAE,CAAC27M,KAAK,MAAMC,KAAK,MAAMC,KAAK,MAAMC,KAAK,MAAMC,KAAK,OAAO//M,EAAE,CAAC,KAAK,KAAK,KAAK,MAAM4F,EAAEo6M,iBAAiB,GAAG,IAAIlwM,EAAElK,EAAEo6M,iBAAiBC,wBAAwB,SAASr6M,GAAG,YAAO,IAAS1B,EAAE0B,EAAE4oC,WAAW,KAAK/qC,EAAEmC,EAAEo6M,iBAAiBE,eAAe,SAASt6M,GAAG,MAAM,iBAAiBA,GAAG,yEAAyE8/B,KAAK9/B,IAAI7B,EAAE6B,EAAEo6M,iBAAiBG,kBAAkB,SAASv6M,GAAG,OAAOnC,EAAEmC,IAAIkK,EAAElK,IAAI1B,EAAE0B,EAAE4oC,WAAW,IAAIvuC,QAAQ,GAAGoF,EAAEO,EAAEo6M,iBAAiBI,kBAAkB,SAASx6M,GAAG,OAAOnC,EAAEmC,IAAI5F,EAAEwN,QAAQ5H,EAAE4oC,WAAW,KAAK,GAAG5oC,EAAEo6M,iBAAiBK,4BAA4B,SAASz6M,GAAG,OAAOnC,EAAEmC,IAAIkK,EAAElK,IAAI1B,EAAE0B,EAAE4oC,WAAW,IAAIvuC,QAAQ,GAAG,IAAIkd,EAAEvX,EAAEo6M,iBAAiBM,yBAAyB,SAAS16M,GAAG,OAAOnC,EAAEmC,IAAIkK,EAAElK,IAAI1B,EAAE0B,EAAE4oC,WAAW,IAAIvuC,QAAQ,GAAG2F,EAAEo6M,iBAAiBO,2BAA2B,SAAS36M,GAAG,OAAOnC,EAAEmC,IAAIkK,EAAElK,IAAI1B,EAAE0B,EAAE4oC,WAAW,IAAIvuC,QAAQ,GAAG,IAAIk3B,EAAEvxB,EAAEo6M,iBAAiBQ,0BAA0B,SAAS56M,GAAG,OAAOnC,EAAEmC,IAAIkK,EAAElK,IAAI,GAAG1B,EAAE0B,EAAE4oC,WAAW,IAAIvuC,QAAQiF,EAAEU,EAAEo6M,iBAAiBS,iBAAiB,SAAS76M,GAAG,IAAI1B,EAAE,EAAEF,EAAE0B,EAAE1F,EAAE,GAAG8P,EAAE,EAAE,IAAI5L,EAAE,EAAEA,EAAE0B,EAAE3F,OAAOiE,GAAG,OAAE,IAASF,EAAE4B,EAAE4oC,WAAWtqC,KAAK4L,IAAI,iBAAiB9L,EAAEA,EAAE4B,EAAE4oC,WAAWtqC,OAAOlE,GAAG86B,OAAOE,aAAah3B,GAAGA,EAAE0B,EAAEoK,EAAE,GAAG5L,IAAI0B,EAAE3F,OAAO,IAAI+D,EAAE0B,EAAE1F,GAAG4F,EAAEqmB,OAAO/nB,GAAG4L,EAAE,IAAI5L,GAAG4L,EAAE,EAAEA,EAAE,KAAK9L,EAAE0B,EAAE1F,GAAG4F,EAAEqmB,OAAO/nB,EAAE4L,GAAG5L,GAAG4L,EAAEA,EAAE,GAAG,OAAO9P,GAAG4F,EAAEo6M,iBAAiBU,kBAAkB,SAAS96M,GAAG,YAAO,IAASA,QAAG,IAAS5B,EAAE4B,EAAE4oC,WAAW,KAAK,IAAIpqC,EAAEwB,EAAEo6M,iBAAiBW,eAAe,SAAS/6M,EAAE1B,EAAEwB,GAAG,OAAOjC,EAAEmC,IAAG,IAAKkK,EAAElK,IAAI,GAAGuX,EAAEvX,KAAKnC,EAAES,KAAKT,EAAEiC,KAAKjC,EAAEiC,IAAI3B,EAAEG,IAAIH,EAAE6B,KAAKnC,EAAES,IAAIH,EAAE6B,IAAIP,EAAEnB,IAAIH,EAAE6B,IAAI7B,EAAEG,GAAG,EAAEizB,EAAEvxB,IAAInC,EAAES,KAAKH,EAAEG,IAAIT,EAAEiC,IAAIyX,EAAEzX,GAAG,EAAE3B,EAAE6B,KAAKnC,EAAEiC,GAAG,EAAE,GAAG,GAAGJ,EAAE,SAASM,GAAG,IAAIF,EAAE,EAAE1B,EAAE,EAAEhE,EAAE,EAAE8P,EAAE,GAAG/L,EAAE,GAAGsB,EAAE,GAAG8X,GAAGvX,EAAEA,GAAG,IAAI8J,MAAM,QAAQynB,EAAE,GAAG,IAAIzxB,EAAE,EAAEA,EAAEyX,EAAEld,OAAOyF,GAAG,EAAE,CAAC,IAAIyxB,EAAEltB,KAAK,IAAIjG,EAAE,EAAEA,EAAEmZ,EAAEzX,GAAGzF,OAAO+D,GAAG,EAAE8L,EAAEqN,EAAEzX,GAAG1B,GAAGD,EAAEoZ,EAAEzX,GAAG1B,EAAE,GAAGqB,EAAE8X,EAAEzX,GAAG1B,EAAE,GAAGP,EAAEqM,IAAI9P,EAAEoE,EAAE0L,EAAE/L,EAAEsB,GAAG8xB,EAAEzxB,KAAK,IAAI1F,EAAE86B,OAAOE,aAAa92B,EAAE4L,EAAE0+B,WAAW,IAAIxuC,IAAI8P,GAAGqnB,EAAEzxB,IAAIoK,EAAEqnB,EAAEzxB,GAAGR,EAAEiyB,EAAEzxB,IAAI,OAAOyxB,EAAE3nB,KAAK,MAAMpJ,EAAER,EAAEo6M,iBAAiBY,cAAch7M,EAAEg7M,cAAc,WAAW,IAAIh7M,EAAE1B,EAAE,iBAAiBZ,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAG8T,KAAK1R,EAAE,GAAG,GAAG9B,MAAMC,QAAQK,GAAG,CAAC,IAAIF,EAAE,EAAE,IAAI0B,EAAE,GAAG1B,EAAE,EAAEA,EAAEE,EAAEjE,OAAO+D,GAAG,EAAEJ,MAAMC,QAAQK,EAAEF,IAAI0B,EAAEuE,KAAK,CAAC3E,EAAEpB,EAAEF,GAAG,IAAIE,EAAEF,GAAG,GAAGE,EAAEF,GAAG,KAAK0B,EAAEuE,KAAK,CAAC3E,EAAEpB,EAAEF,MAAM4B,EAAEF,OAAOE,EAAEN,EAAEpB,GAAG,MAAM,iBAAiBZ,UAAU,GAAGsC,GAAGtC,UAAU,GAAG8T,KAAKxR,EAAEtC,UAAU,KAAKsC,EAAEgkB,OAAO3f,KAAK,CAAC,iBAAiB7D,IAA74I,CAAk5IiuL,EAAE4M,KAAK5M,EAAE4M,IAAI4f,UAAU,SAASj7M,GAAG,IAAI1B,EAAE,QAAQ0B,EAAEA,GAAG,IAAI2oH,QAAQ3oH,EAAE2oH,SAAS,cAAc3oH,EAAE2oH,SAAS,IAAI,aAAaprH,KAAK29M,MAAM,cAAc,MAAM,IAAI,cAAc,QAAQ39M,KAAK6xL,SAASprK,OAAO6pK,UAAU,oBAAoB,WAAWvvL,EAAEf,KAAK6xL,SAAS4K,YAAYz8L,KAAK6xL,SAASz7I,IAAI,MAAMp2C,KAAK6xL,SAASz7I,IAAI,aAAap2C,KAAK6xL,SAASz7I,IAAI,iBAAiBp2C,KAAK6xL,SAASz7I,IAAI,aAAap2C,KAAK6xL,SAASz7I,IAAI,MAAMp2C,KAAK6xL,SAASz7I,IAAI,aAAap2C,KAAK6xL,SAASprK,OAAO6pK,UAAU,cAAc,WAAWtwL,KAAK6xL,SAASz7I,IAAI,eAAer1C,EAAE,WAAW,OAAOf,MAQz7J,SAASyC,GAAG,IAAI1B,EAAE,WAAW,IAAI0B,OAAE,EAAOtF,OAAOC,eAAe4C,KAAK,MAAM,CAACsC,IAAI,WAAW,OAAOG,GAAG+J,IAAI,SAASzL,GAAG0B,EAAE1B,KAAK,IAAIA,EAAE,IAAI5D,OAAOC,eAAe4C,KAAK,QAAQ,CAACsC,IAAI,WAAW,OAAOvB,GAAGyL,IAAI,SAAS/J,GAAG1B,EAAEiN,MAAMvL,KAAI,IAAKoL,OAAO+0I,UAAUngJ,IAAIA,EAAE,EAAE,IAAIA,EAAEzC,KAAK8a,WAAW,MAAM8iM,mBAAmB59M,KAAK8a,WAAW,MAAM+iM,UAAU98M,EAAE,MAAM,IAAIwB,EAAE,IAAIpF,OAAOC,eAAe4C,KAAK,SAAS,CAACsC,IAAI,WAAW,OAAOC,GAAGiK,IAAI,SAAS/J,GAAGF,EAAEyL,MAAMvL,KAAI,IAAKoL,OAAO+0I,UAAUngJ,IAAIA,EAAE,EAAE,IAAIA,EAAEzC,KAAK8a,WAAW,MAAMgjM,mBAAmB99M,KAAK8a,WAAW,MAAMijM,UAAUx7M,EAAE,MAAM,IAAI1B,EAAE,GAAG1D,OAAOC,eAAe4C,KAAK,aAAa,CAACsC,IAAI,WAAW,OAAOzB,GAAG2L,IAAI,SAAS/J,GAAG5B,EAAE4B,KAAK,IAAI5F,EAAE,GAAGM,OAAOC,eAAe4C,KAAK,QAAQ,CAACsC,IAAI,WAAW,OAAOzF,GAAG2P,IAAI,SAAS/J,GAAG5F,EAAE4F,KAAKtF,OAAOC,eAAe4C,KAAK,aAAa,KAAKe,EAAEtD,UAAUqd,WAAW,SAASrY,EAAE1B,GAAG,IAAIwB,EAAE,GAAG,QAAQE,EAAEA,GAAG,MAAM,OAAO,KAAK,IAAIF,KAAKxB,EAAEf,KAAKg+M,IAAIC,UAAUj7M,eAAeT,KAAKvC,KAAKg+M,IAAIC,UAAU17M,GAAGxB,EAAEwB,IAAI,OAAOvC,KAAKg+M,IAAIC,UAAUC,QAAQl+M,KAAKA,KAAKg+M,IAAIC,WAAWl9M,EAAEtD,UAAUwwE,UAAU,WAAW,MAAM,IAAI/uC,MAAM,kCAAkCz8B,EAAEgkB,OAAO3f,KAAK,CAAC,cAAc,WAAW9G,KAAKyF,OAAO,IAAI1E,EAAEf,KAAKyF,OAAOu4M,IAAIh+M,QAA5oC,CAAqpCkxL,EAAE4M,KAAK,SAAS/8L,GAAG,IAAIwB,EAAE,CAACs0C,KAAK,EAAEE,IAAI,EAAE6rC,OAAO,EAAEC,MAAM,GAAGhiF,GAAE,EAAGhE,EAAE,gBAAW,IAASmD,KAAK6xL,SAASssB,WAAWn+M,KAAK6xL,SAASssB,SAAS,GAAGn+M,KAAK6xL,SAASssB,SAAS3xI,QAAQ,EAAExsE,KAAK6xL,SAASssB,SAASC,oBAAe,EAAOp+M,KAAK6xL,SAASssB,SAASE,QAAQlhN,OAAOu6B,OAAO,GAAGn1B,GAAGvC,KAAK6xL,SAASssB,SAASE,QAAQz3M,MAAM5G,KAAKqsM,eAAe1/L,EAAE3K,KAAKhC,QAAQ2M,EAAE,WAAW3M,KAAK6xL,SAASssB,SAASG,SAAS,IAAIh+M,EAAEN,KAAK6xL,SAASssB,SAAS1e,MAAM,GAAGn/L,EAAE,WAAW,IAAImC,EAAEtC,UAAU,GAAGhD,OAAOC,eAAe4C,KAAK,IAAI,CAAChD,YAAW,EAAGsF,IAAI,WAAW,OAAOG,GAAG+J,IAAI,SAASzL,GAAG0B,EAAE1B,KAAK,IAAIA,EAAEZ,UAAU,GAAGhD,OAAOC,eAAe4C,KAAK,IAAI,CAAChD,YAAW,EAAGsF,IAAI,WAAW,OAAOvB,GAAGyL,IAAI,SAAS/J,GAAG1B,EAAE0B,KAAK,IAAIF,EAAEpC,UAAU,GAAGhD,OAAOC,eAAe4C,KAAK,QAAQ,CAAChD,YAAW,EAAGsF,IAAI,WAAW,OAAOC,GAAGiK,IAAI,SAAS/J,GAAGF,EAAEE,KAAK,IAAI5B,EAAEV,UAAU,GAAGhD,OAAOC,eAAe4C,KAAK,SAAS,CAAChD,YAAW,EAAGsF,IAAI,WAAW,OAAOzB,GAAG2L,IAAI,SAAS/J,GAAG5B,EAAE4B,KAAK,IAAI5F,EAAEsD,UAAU,GAAGhD,OAAOC,eAAe4C,KAAK,OAAO,CAAChD,YAAW,EAAGsF,IAAI,WAAW,OAAOzF,GAAG2P,IAAI,SAAS/J,GAAG5F,EAAE4F,KAAK,IAAIkK,EAAExM,UAAU,GAAGhD,OAAOC,eAAe4C,KAAK,aAAa,CAAChD,YAAW,EAAGsF,IAAI,WAAW,OAAOqK,GAAGH,IAAI,SAAS/J,GAAGkK,EAAElK,KAAK,IAAInC,EAAEH,UAAU,GAAG,OAAOhD,OAAOC,eAAe4C,KAAK,QAAQ,CAAChD,YAAW,EAAGsF,IAAI,WAAW,OAAOhC,GAAGkM,IAAI,SAAS/J,GAAGnC,EAAEmC,KAAKzC,MAAMM,EAAE7C,UAAUm2B,MAAM,WAAW,OAAO,IAAItzB,EAAEN,KAAK6M,EAAE7M,KAAK8M,EAAE9M,KAAK4G,MAAM5G,KAAK6G,OAAO7G,KAAKiU,KAAKjU,KAAK4iC,WAAW5iC,KAAK2R,QAAQrR,EAAE7C,UAAU+gJ,QAAQ,WAAW,MAAM,CAACx+I,KAAK6M,EAAE7M,KAAK8M,EAAE9M,KAAK4G,MAAM5G,KAAK6G,OAAO7G,KAAKiU,KAAKjU,KAAK4iC,WAAW5iC,KAAK2R,QAAQ5Q,EAAEw9M,kBAAkB,SAAS97M,GAAG,OAAO5F,EAAEmF,KAAKhC,MAAMA,KAAK6xL,SAASssB,SAASC,eAAe,mBAAmB37M,EAAEA,OAAE,EAAOzC,MAAMe,EAAEy9M,kBAAkB,SAAS/7M,EAAE1B,GAAGlE,EAAEmF,KAAKhC,MAAM,IAAIuC,GAAGxB,EAAEA,GAAG,IAAIiK,UAAUhL,KAAKmiG,cAActhG,EAAEE,EAAEoK,MAAMnL,KAAKioM,UAAUt7L,EAAE5L,EAAEikM,aAAahlM,KAAK6xL,SAASmT,YAAY1kM,EAAE,EAAEM,EAAE,EAAEsB,EAAE,EAAE8X,EAAEha,KAAK,IAAIS,MAAMC,QAAQ+B,IAAI,iBAAiBA,EAAE,CAAC,GAAG,iBAAiBA,EAAE,MAAM,IAAIy8B,MAAM,wGAAwGz8B,EAAEk1B,OAAOl1B,GAAG,IAAIuxB,EAAEjzB,EAAEy+E,SAASxrD,EAAE,EAAE,iBAAiBvxB,EAAEA,EAAEzC,KAAKmlM,gBAAgB1iM,EAAEuxB,GAAG,mBAAmB72B,OAAOM,UAAU2O,SAASpK,KAAKS,KAAKA,EAAEA,EAAEssE,QAAQ,SAAStsE,EAAE1B,GAAG,OAAO0B,EAAE+lB,OAAOxO,EAAEmrL,gBAAgBpkM,EAAEizB,MAAM,KAAKvxB,EAAEhC,MAAMC,QAAQ+B,GAAGA,EAAE,CAACA,GAAG,IAAI,IAAIV,EAAE,EAAEA,EAAEU,EAAE3F,OAAOiF,IAAIzB,GAAG4B,EAAElC,KAAKgmM,mBAAmBvjM,EAAEV,GAAG,CAACoJ,KAAKtK,IAAI0B,KAAKjC,EAAE4B,GAAG,OAAO,IAAI5B,IAAIM,EAAE6B,EAAE3F,QAAQ,CAACk4B,EAAE10B,GAAGqM,EAAEqnB,EAAE7sB,KAAK+K,KAAKtR,EAAE2B,EAAEvC,KAAK6oM,sBAAsBtmM,GAAGvC,KAAK6oM,sBAAsB,IAAIl8L,EAAE,KAAK5L,EAAE09M,YAAY,WAAW5hN,EAAEmF,KAAKhC,MAAMA,KAAKwkM,UAAU,IAAI/hM,EAAEzC,KAAK6xL,SAASssB,SAASE,SAAS97M,EAAE,OAAOvC,KAAK6xL,SAASssB,SAASG,SAAS,IAAIh+M,EAAEmC,EAAEo0C,KAAKp0C,EAAEs0C,SAAI,OAAO,GAAQ/2C,KAAK6xL,SAASssB,SAAS1e,OAAO,EAAEz/L,MAAM,IAAIY,EAAEG,EAAE02G,KAAK,WAAW,IAAIh1G,EAAEA,EAAEtC,UAAU,aAAaG,EAAEH,UAAU,GAAG,IAAIG,EAAEH,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAGA,UAAU,IAAItD,EAAEmF,KAAKhC,MAAM,IAAIe,EAAEf,KAAK6xL,SAASssB,SAASG,SAAS3xM,EAAE3M,KAAK6xL,SAASssB,SAAS3xI,QAAQ5rE,EAAEZ,KAAK6xL,SAASssB,SAASE,SAAS97M,EAAEL,EAAElC,KAAK6xL,SAASssB,SAASO,eAAe1kM,EAAEha,KAAK6xL,SAASssB,SAASQ,aAAa,YAAO,IAAS59M,EAAE6hC,aAAa7hC,EAAE6hC,aAAangC,EAAEmgC,YAAYngC,EAAEoK,GAAG9L,EAAE8L,GAAG,IAAI9L,EAAE6F,OAAO,GAAGnE,EAAEqK,EAAE/L,EAAE+L,GAAG,GAAG/L,EAAE+L,EAAE/L,EAAE8F,OAAOpE,EAAEoE,OAAOjG,EAAEgiF,OAAO5iF,KAAKusM,iBAAiBvsM,KAAKy+M,cAAch8M,EAAEqK,EAAElM,EAAEm2C,IAAI/8B,GAAG9X,IAAIlC,KAAK4+M,eAAen8M,EAAEmgC,YAAW,GAAIngC,EAAEqK,GAAG5K,EAAE,GAAG2E,SAASpE,EAAEqK,EAAE/L,EAAE+L,EAAE/L,EAAE8F,QAAQpE,EAAEqK,QAAG,IAASrK,EAAEwR,KAAK,KAAKjU,KAAK0W,KAAKjU,EAAEoK,EAAEpK,EAAEqK,EAAErK,EAAEmE,MAAMnE,EAAEoE,QAAO,IAAKhG,EAAE,UAAK,GAAQ,UAAU4B,EAAEkP,MAAM3R,KAAKiU,KAAKxR,EAAEwR,KAAKxR,EAAEoK,EAAEpK,EAAEmE,MAAM+F,EAAElK,EAAEqK,EAAEH,EAAE,CAACgF,MAAM,QAAQuzL,SAAS,QAAQ,WAAWziM,EAAEkP,MAAM3R,KAAKiU,KAAKxR,EAAEwR,KAAKxR,EAAEoK,EAAEpK,EAAEmE,MAAM,EAAEnE,EAAEqK,EAAEH,EAAE,CAACgF,MAAM,SAASuzL,SAAS,MAAM1lH,SAAS/8E,EAAEmE,MAAM+F,EAAEA,IAAI3M,KAAKiU,KAAKxR,EAAEwR,KAAKxR,EAAEoK,EAAEF,EAAElK,EAAEqK,EAAEH,EAAE,CAACgF,MAAM,OAAOuzL,SAAS,MAAM1lH,SAAS/8E,EAAEmE,MAAM+F,EAAEA,KAAK3M,KAAK6xL,SAASssB,SAASG,SAAS77M,EAAEzC,MAAMe,EAAEoxK,MAAM,SAASpxK,EAAEF,EAAEmZ,EAAEga,EAAEjyB,GAAG,GAAGlF,EAAEmF,KAAKhC,OAAOga,EAAE,MAAM,IAAIklB,MAAM,0BAA0B,IAAIj+B,EAAEkB,EAAEc,EAAEgH,EAAEhI,EAAE,GAAGiL,EAAE,GAAGhD,EAAE,GAAG4C,EAAE,GAAGkoB,EAAE,GAAG46J,EAAE,GAAGC,EAAE,GAAGtnE,GAAGxmH,EAAEA,GAAG,IAAI88M,WAAU,EAAGhyM,GAAE,IAAK9K,EAAE48M,aAAahkL,EAAE54B,EAAEuf,UAAK,IAASvf,EAAEuf,IAAI,aAAa,GAAGvf,EAAEuf,IAAI,aAAavf,EAAEiJ,UAAU,GAAGupB,EAAExyB,EAAEs8M,SAASlhN,OAAOu6B,OAAO,CAAC9wB,MAAM5G,KAAKqsM,gBAAgB9pM,GAAGk4B,EAAE,iBAAiB14B,EAAEyqE,QAAQzqE,EAAEyqE,QAAQ,EAAE5qD,EAAE7f,EAAE+8M,uBAAuB,UAAU9uB,EAAEjuL,EAAEg9M,iBAAiB,OAAO,GAAGpyM,EAAE3K,KAAKhC,MAAMA,KAAK6xL,SAASssB,SAASQ,aAAa9xM,EAAE7M,KAAK6xL,SAASssB,SAASE,QAAQ9pL,EAAEv0B,KAAK6xL,SAASssB,SAASa,gBAAgBrkL,EAAE36B,KAAK6xL,SAASssB,SAAS3xI,QAAQ/xC,EAAEz6B,KAAK6xL,SAASssB,SAASW,sBAAsBl9L,EAAE5hB,KAAK6xL,SAASssB,SAASY,gBAAgB/uB,EAAEhwL,KAAK4hG,YAAYjnE,GAAG,MAAM3G,EAAE9mB,EAAEjL,EAAE9E,OAAO23B,KAAK9a,EAAE,IAAI9P,EAAEjI,EAAEwlB,KAAK,WAAW,MAAM,eAAe,GAAGhnB,MAAMC,QAAQszB,IAAI,WAAWvxB,IAAEuxB,EAAE,IAAI,IAAI/xB,EAAE+xB,EAAEvM,KAAK,SAAShlB,GAAG,OAAOA,EAAEL,QAAQ8K,EAAE8mB,EAAEvM,KAAK,SAAShlB,GAAG,OAAOA,EAAEg/G,QAAQh/G,EAAEL,MAAM,MAAM8H,EAAE8pB,EAAEvM,KAAK,SAAShlB,GAAG,OAAOA,EAAEkP,OAAO,UAAU1Q,EAAE,EAAEA,EAAE+yB,EAAEl3B,OAAOmE,GAAG,EAAE+zB,EAAEhB,EAAE/yB,GAAGmB,MAAM4xB,EAAE/yB,GAAG2F,OAAO,UAAU,WAAWnG,MAAMC,QAAQszB,IAAI,iBAAiBA,EAAE,KAAK9mB,EAAEjL,EAAE+xB,EAAE9pB,EAAEjI,EAAEwlB,KAAK,WAAW,MAAM,WAAW,GAAG8gG,GAAG9nH,MAAMC,QAAQszB,IAAI,iBAAiBA,EAAE,GAAG,IAAI/yB,EAAE,EAAEA,EAAEgB,EAAEnF,OAAOmE,GAAG,EAAE,CAAC,IAAI6L,EAAE7C,EAAEhI,EAAEhB,IAAI+Y,EAAEyN,KAAK,SAAShlB,GAAG,OAAOA,EAAEwH,MAAMjK,KAAK+nM,aAAQ,EAAO,QAAQnY,EAAE9oL,KAAK9G,KAAKw+M,kBAAkBtxM,EAAEjM,GAAG,CAAC+J,SAAShL,KAAK6xL,SAASssB,SAASa,gBAAgBha,YAAYhlM,KAAK6xL,SAASmT,cAAchwK,GAAG7yB,EAAE2K,EAAE7C,GAAGjK,KAAK+nM,aAAQ,EAAO,UAAU9kM,EAAE,EAAEA,EAAEd,EAAErF,OAAOmG,GAAG,EAAE2sL,EAAE9oL,KAAK9G,KAAKw+M,kBAAkBr8M,EAAEc,GAAG,CAAC+H,SAAShL,KAAK6xL,SAASssB,SAASa,gBAAgBha,YAAYhlM,KAAK6xL,SAASmT,cAAchwK,GAAGA,EAAE/qB,GAAG9C,KAAK+K,IAAI9R,MAAM,KAAKwvL,GAAGn1J,EAAEA,EAAEm1J,EAAE,GAAG,GAAG/iL,EAAE,CAAC,IAAIlM,EAAE,GAAG,IAAIM,EAAE,EAAEA,EAAEgB,EAAEnF,OAAOmE,GAAG,EAAEN,EAAEsB,EAAEhB,IAAI,GAAGN,EAAEsB,EAAEhB,IAAIgT,KAAK/G,EAAEjM,GAAGN,EAAEsB,EAAEhB,IAAI0Q,MAAMzH,EAAEjJ,GAAG,IAAI2qJ,EAAE1pJ,EAAEF,KAAKhC,KAAKW,EAAEq0B,GAAG66J,EAAE5tL,EAAEwlB,KAAK,SAAShlB,GAAG,OAAO,IAAInC,EAAES,EAAEF,EAAEm0B,EAAEvyB,GAAGmpJ,EAAEjrJ,EAAE8B,GAAGwR,UAAK,EAAOtT,EAAE8B,GAAGkP,UAAU3R,KAAKi/M,kBAAkBpvB,GAAG7vL,KAAK4+M,eAAe,GAAE,GAAI,IAAIxlM,EAAE4a,EAAE+6C,QAAQ,SAAStsE,EAAE1B,GAAG,OAAO0B,EAAE1B,EAAEqB,MAAMrB,EAAE4Q,MAAMlP,IAAI,IAAI,IAAIxB,EAAE,EAAEA,EAAE+Y,EAAEld,OAAOmE,GAAG,EAAE,CAAC,aAAac,GAAGA,EAAEm9M,oBAAoBhnL,UAAUn2B,EAAEm9M,SAAS,CAACjlI,IAAIh5E,EAAE+P,KAAKgJ,EAAE/Y,IAAIjB,MAAM,IAAIi1B,EAAE/yB,EAAEF,KAAKhC,KAAKga,EAAE/Y,GAAG+zB,GAAG,IAAI/xB,EAAE,EAAEA,EAAEhB,EAAEnF,OAAOmG,GAAG,EAAE,CAAC,IAAI2tL,EAAE52K,EAAE/Y,GAAGgB,EAAEgB,IAAI,cAAclB,GAAGA,EAAEo9M,qBAAqBjnL,UAAUn2B,EAAEo9M,UAAU,CAACllI,IAAIh5E,EAAEq5E,IAAIr3E,EAAE+N,KAAK4/K,GAAG5wL,MAAMY,EAAEoB,KAAKhC,KAAK,IAAIM,EAAES,EAAEF,EAAEm0B,EAAE/yB,EAAEgB,IAAIgyB,EAAE27J,EAAE3vL,EAAE,EAAEmY,EAAEnX,EAAEgB,OAAO,OAAOjD,KAAK6xL,SAASssB,SAASiB,QAAQr+M,EAAEf,KAAK6xL,SAASssB,SAASkB,QAAQx+M,EAAEb,MAAM,IAAIkC,EAAE,SAASO,EAAE1B,GAAG,IAAIwB,EAAEvC,KAAK6xL,SAASssB,SAAS3xI,QAAQ3rE,EAAEb,KAAK6xL,SAASssB,SAASa,gBAAgBniN,EAAEmD,KAAK6xL,SAASmT,YAAY,OAAO7nM,OAAO23B,KAAKryB,GAAGglB,KAAK,SAAS5mB,GAAG,IAAIhE,EAAE4F,EAAE5B,GAAG,OAAOb,KAAKmlM,gBAAgBtoM,EAAEmG,eAAe,QAAQnG,EAAEoX,KAAKpX,EAAEkE,EAAEF,GAAG0B,EAAEA,KAAKvC,MAAMynB,KAAK,SAAShlB,GAAG,OAAOzC,KAAK6oM,sBAAsBpmM,EAAE3F,OAAO+D,EAAEhE,EAAE0F,EAAEA,IAAIvC,MAAM+uE,QAAQ,SAAStsE,EAAE1B,GAAG,OAAOoG,KAAK+K,IAAIzP,EAAE1B,KAAK,IAAIA,EAAEk+M,kBAAkB,SAASx8M,GAAG5F,EAAEmF,KAAKhC,MAAMA,KAAK6xL,SAASssB,SAASO,eAAej8M,GAAG1B,EAAE69M,eAAe,SAASn8M,EAAE1B,GAAG,GAAGlE,EAAEmF,KAAKhC,OAAOA,KAAK6xL,SAASssB,SAASO,eAAe,MAAM,IAAIx/K,MAAM,2CAA2C,IAAI38B,EAAE,GAAG1B,GAAE,EAAG,mBAAmBb,KAAK6xL,SAASssB,SAASC,eAAe,CAAC,IAAIzxM,EAAE3M,KAAK6xL,SAASssB,SAASC,eAAep+M,KAAKA,KAAK6xL,SAASssB,SAAS1e,OAAOz/L,KAAK6xL,SAASssB,SAASG,SAAS,IAAIh+M,EAAEqM,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,QAAG,GAAQ,GAAG3M,KAAK+nM,aAAQ,EAAO,QAAQ,IAAI,IAAI7lM,EAAE,GAAG8X,EAAE,EAAEA,EAAEha,KAAK6xL,SAASssB,SAASO,eAAe5hN,OAAOkd,GAAG,EAAE,CAACzX,EAAEvC,KAAK6xL,SAASssB,SAASO,eAAe1kM,GAAG4Z,QAAQ7yB,IAAIwB,EAAEuK,EAAE9M,KAAK6xL,SAASssB,SAASE,QAAQtnK,KAAK,EAAE70C,EAAE4E,KAAKvE,IAAIA,EAAEqgC,WAAWngC,EAAE,IAAIuxB,EAAEh0B,KAAKgqM,eAAehqM,KAAKiqM,aAAajqM,KAAK6xL,SAASssB,SAASY,iBAAiB/+M,KAAK6pM,aAAa7pM,KAAK6xL,SAASssB,SAASW,uBAAuBl+M,EAAEoB,KAAKhC,KAAKuC,GAAGvC,KAAKiqM,aAAaj2K,GAAG9xB,EAAEpF,OAAO,GAAGkD,KAAKi/M,kBAAkB/8M,GAAGlC,KAAK+nM,aAAQ,EAAO,UAAUlnM,GAAE,GAAhjO,CAAqjOqwL,EAAE4M,KAAK,IAAIlE,GAAG,CAAC0lB,OAAO,CAAC,SAAS,UAAU,UAAUC,QAAQ,CAAC,UAAU,SAAS,UAAU5c,OAAO,CAAC,SAAS,UAAU,WAAW9I,GAAG,CAAC,kBAAkB,kBAAkB,YAAY,iBAAiB,SAAS,gBAAgB,WAAW,iBAAiB,kBAAkBC,GAAGtF,GAAGqF,IAAIE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAGxF,GAAGuF,IAAI,SAASE,GAAGx3L,GAAG,IAAI1B,EAAE0B,EAAE+8M,OAAO/3M,QAAQ,OAAO,IAAIoR,cAActW,EAAE,SAASE,GAAG,OAAOm3L,GAAGn3L,EAAEA,GAAG,UAAUA,EAAE,SAAvC,CAAiDA,EAAEiQ,OAAO7R,EAAE,SAAS4B,GAAG,IAAIA,EAAE,OAAO,IAAI,GAAG,iBAAiBA,EAAE,OAAOA,GAAG,KAAKA,GAAG,KAAKA,EAAE,KAAK,EAAEA,EAAE,IAAI,GAAG,SAAS8/B,KAAK9/B,GAAG,OAAOyb,SAASzb,GAAG,OAAOA,GAAG,IAAI,OAAO,OAAO,IAAI,IAAI,SAAS,QAAQ,OAAO,KAA5L,CAAkMA,EAAEg9M,QAAQ5iN,EAAE,SAAS4F,GAAG,MAAM,iBAAiBq3L,GAAGr3L,EAAEA,GAAG,UAAUA,EAAE,SAAvD,CAAiEA,EAAEi9M,SAAS,MAAM,CAACF,OAAOz+M,EAAE2R,MAAMnQ,EAAEk9M,OAAO5+M,EAAE6+M,QAAQ7iN,EAAEskB,IAAI1e,EAAE0e,KAAK,GAAGitD,IAAI3rE,EAAE2rE,KAAK,CAAChsE,KAAKrB,EAAE2R,MAAM,CAAC7V,EAAE0F,EAAE1B,GAAGwL,KAAK,OAAO,SAAS6tL,GAAGz3L,EAAE1B,EAAEwB,EAAE1B,GAAG,IAAIhE,EAAE,IAAIA,EAAE0F,EAAE1F,GAAG,GAAGA,EAAEkE,EAAEjE,OAAOD,GAAGgE,EAAE,GAAG4B,EAAE1B,EAAElE,IAAI,OAAO4F,EAAE1B,EAAElE,IAAI,IAAIA,EAAE0F,EAAE1F,GAAG,GAAGA,EAAEkE,EAAEjE,OAAOD,GAAGgE,EAAE,GAAG4B,EAAE1B,EAAElE,IAAI,OAAO4F,EAAE1B,EAAElE,IAAI,IAAIs9L,GAAG,CAAC,aAAa,YAAYwlB,MAAM,UAAUC,UAAU,UAAUC,SAAS,UAAUC,QAAQ,QAAQC,QAAQ,QAAQC,MAAM,SAAS5lB,GAAG,CAAC2V,QAAQ,QAAQvnH,KAAK,QAAQvjC,KAAK,QAAQ,cAAc,QAAQ,gBAAgB,QAAQ,aAAa,SAAS,SAASo1I,GAAG53L,GAAG,MAAM,CAACA,EAAEi9M,QAAQj9M,EAAEiQ,MAAMjQ,EAAEg9M,OAAOh9M,EAAE+8M,QAAQnzM,KAAK,KAAohC,SAASkuL,GAAG93L,GAAG,OAAOA,EAAEw9M,WAAW,SAASzlB,GAAG/3L,EAAE1B,GAAG,IAAI,IAAIwB,EAAE,EAAEA,EAAEE,EAAE3F,QAAQ,CAAC,GAAG2F,EAAEqmB,OAAOvmB,KAAKxB,EAAE,MAAM,CAAC0B,EAAE4uC,UAAU,EAAE9uC,GAAGE,EAAE4uC,UAAU9uC,EAAE,IAAIA,GAAG,EAAE,OAAO,KAAK,SAASk4L,GAAGh4L,GAAG,IAAI1B,EAAE0B,EAAE+G,MAAM,iCAAiC,OAAO,OAAOzI,EAAE,KAAK,CAACA,EAAE,GAAG0B,EAAE4uC,UAAUtwC,EAAE,GAAGjE,SAAS,IAAI49L,GAAGE,GAAGC,GAkB9vVp4L,GAlBiwVq4L,GAAG,CAAC,UAAU,SAAS/5L,GAAG,IAAIwB,EAAE1B,EAAEhE,EAAEyD,EAAEM,EAAEsB,EAAE8X,EAAEga,EAAEjyB,EAAEI,EAAE,SAASM,GAAG,OAAOA,EAAEA,GAAG,GAAGzC,KAAKkgN,oBAAoBz9M,EAAEy9M,sBAAqB,EAAGlgN,KAAKmgN,cAAc19M,EAAE09M,eAAe,EAAEngN,KAAKuU,YAAY9R,EAAE8R,aAAa,UAAUvU,KAAKsU,UAAU7R,EAAE6R,WAAW,UAAUtU,KAAKogN,kBAAkB39M,EAAE29M,oBAAmB,EAAGpgN,KAAKqgN,YAAY59M,EAAE49M,aAAa,EAAErgN,KAAKmL,KAAK1I,EAAE0I,MAAM,kBAAkBnL,KAAKkf,aAAazc,EAAEyc,cAAc,aAAalf,KAAKkuM,UAAUzrM,EAAEyrM,WAAW,OAAOluM,KAAKyU,UAAUhS,EAAEgS,WAAW,EAAEzU,KAAK2U,SAASlS,EAAEkS,UAAU,QAAQ3U,KAAK0U,QAAQjS,EAAEiS,SAAS,OAAO1U,KAAKuN,KAAK9K,EAAE8K,MAAM,GAAGvN,KAAKwQ,eAAU,IAAS/N,EAAE+N,UAAU/N,EAAE+N,UAAUojB,QAAQ,IAAII,EAAEh0B,KAAKwiB,yBAAyB/f,EAAE+f,0BAA0B,SAASxiB,KAAKsV,YAAY7S,EAAE6S,aAAa,EAAEtV,KAAKsgN,UAAU79M,EAAE69M,WAAW,GAAGtgN,KAAKugN,aAAa99M,EAAE89M,cAAc,IAAIr+M,EAAElC,KAAK4U,WAAWnS,EAAEmS,YAAY,GAAG5U,KAAKwgN,UAAU/9M,EAAE+9M,WAAW,IAAIt+M,EAAElC,KAAKkV,eAAezS,EAAEyS,gBAAgB,EAAElV,KAAKygN,SAASh+M,EAAEg+M,UAAU,GAAGzgN,KAAKy8E,OAAOh6E,EAAEg6E,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAGz8E,KAAK0gN,uBAAuBj+M,EAAEi+M,wBAAwB,EAAE1gN,KAAK2gN,gBAAgB,kBAAkBl+M,EAAEk+M,iBAAiBl+M,EAAEk+M,gBAAgB3gN,MAAMe,EAAE0lB,OAAO3f,KAAK,CAAC,cAAc,WAAW9G,KAAKi+M,UAAU,IAAIh7M,EAAEjD,MAAMuC,EAAEvC,KAAK6xL,SAASsD,GAAGt0L,EAAEb,KAAK6xL,SAAS4a,oBAAoB5vM,EAAEmD,KAAK6xL,SAASuX,4BAA4B9oM,EAAEN,KAAK6xL,SAASkX,wBAAwBnoM,EAAEZ,KAAK6xL,SAASmX,sBAAsB9mM,EAAElC,KAAK6xL,SAASjlL,MAAMoN,EAAEha,KAAK6xL,SAAS3zI,UAAUlqB,EAAEh0B,KAAK6xL,SAAS8J,OAAO55L,EAAE,IAAII,KAAK,IAAIc,EAAE,SAASR,GAAGtF,OAAOC,eAAe4C,KAAK,SAAS,CAACsC,IAAI,WAAW,MAAM,CAACqjB,YAAW,EAAGjT,OAAM,MAAO,IAAI3R,EAAE0B,EAAEtF,OAAOC,eAAe4C,KAAK,MAAM,CAACsC,IAAI,WAAW,OAAOvB,KAAK,IAAIwB,GAAE,EAAGpF,OAAOC,eAAe4C,KAAK,mBAAmB,CAACsC,IAAI,WAAW,OAAOC,GAAGiK,IAAI,SAAS/J,GAAGF,EAAE8+B,QAAQ5+B,MAAM,IAAI5B,GAAE,EAAG1D,OAAOC,eAAe4C,KAAK,mBAAmB,CAACsC,IAAI,WAAW,OAAOzB,GAAG2L,IAAI,SAAS/J,GAAG5B,EAAEwgC,QAAQ5+B,MAAM,IAAI5F,EAAE,EAAEM,OAAOC,eAAe4C,KAAK,OAAO,CAACsC,IAAI,WAAW,OAAOzF,GAAG2P,IAAI,SAAS/J,GAAGuL,MAAMvL,KAAK5F,EAAE4F,MAAM,IAAIkK,EAAE,EAAExP,OAAOC,eAAe4C,KAAK,OAAO,CAACsC,IAAI,WAAW,OAAOqK,GAAGH,IAAI,SAAS/J,GAAGuL,MAAMvL,KAAKkK,EAAElK,MAAMtF,OAAOC,eAAe4C,KAAK,SAAS,CAACsC,IAAI,WAAW,OAAOP,EAAE06E,QAAQjwE,IAAI,SAAS/J,GAAG,IAAI1B,EAAE,iBAAiB0B,EAAE1B,EAAE,CAAC0B,EAAEA,EAAEA,EAAEA,KAAK1B,EAAE,IAAIN,MAAM,IAAI,GAAGgC,EAAE,GAAG1B,EAAE,GAAG0B,EAAE3F,QAAQ,EAAE2F,EAAE,GAAG1B,EAAE,GAAGA,EAAE,GAAG0B,EAAE3F,QAAQ,EAAE2F,EAAE,GAAG1B,EAAE,GAAGA,EAAE,GAAG0B,EAAE3F,QAAQ,EAAE2F,EAAE,GAAG1B,EAAE,IAAIgB,EAAE06E,OAAO17E,KAAK,IAAIT,GAAE,EAAGnD,OAAOC,eAAe4C,KAAK,aAAa,CAACsC,IAAI,WAAW,OAAOhC,GAAGkM,IAAI,SAAS/J,GAAGnC,EAAEmC,KAAK,IAAI7B,EAAE,EAAEzD,OAAOC,eAAe4C,KAAK,YAAY,CAACsC,IAAI,WAAW,OAAO1B,GAAG4L,IAAI,SAAS/J,GAAG7B,EAAE6B,KAAK,IAAIP,EAAE,GAAG/E,OAAOC,eAAe4C,KAAK,aAAa,CAACsC,IAAI,WAAW,OAAOJ,GAAGsK,IAAI,SAAS/J,GAAGP,EAAEO,KAAKtF,OAAOC,eAAe4C,KAAK,MAAM,CAACsC,IAAI,WAAW,OAAOP,GAAGyK,IAAI,SAAS/J,GAAGA,aAAaN,IAAIJ,EAAEU,MAAMtF,OAAOC,eAAe4C,KAAK,OAAO,CAACsC,IAAI,WAAW,OAAOP,EAAEwL,MAAMf,IAAI,SAAS/J,GAAGV,EAAEwL,KAAK9K,KAAK,IAAIuX,EAAE,GAAG7c,OAAOC,eAAe4C,KAAK,WAAW,CAACsC,IAAI,WAAW,OAAO0X,GAAGxN,IAAI,SAAS/J,GAAGuX,EAAEvX,KAAKtF,OAAOC,eAAe4C,KAAK,YAAY,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIsO,WAAW9H,IAAI,SAAS/J,GAAG,IAAI1B,EAAEA,EAAEkJ,EAAExH,GAAGzC,KAAKgG,IAAIsO,UAAUvT,EAAE2R,MAAM1S,KAAKgG,IAAIo6M,kBAAkB,IAAIr/M,EAAE4L,EAAE3M,KAAKgG,IAAIq6M,YAAYt/M,EAAE4L,EAAE3M,KAAKg+M,IAAInU,aAAa9oM,EAAEwB,EAAExB,EAAEkJ,EAAElJ,EAAEmJ,EAAE,CAACyC,EAAE5L,EAAE4L,IAAI3M,KAAKg+M,IAAI/T,aAAalpM,EAAEwB,EAAExB,EAAEkJ,EAAElJ,EAAEmJ,EAAE,CAACyC,EAAE5L,EAAE4L,OAAOxP,OAAOC,eAAe4C,KAAK,cAAc,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIuO,aAAa/H,IAAI,SAAS/J,GAAG,IAAI1B,EAAEkJ,EAAExH,GAAGzC,KAAKgG,IAAIuO,YAAYxT,EAAE2R,MAAM1S,KAAKgG,IAAIk6M,oBAAoB,IAAIn/M,EAAE4L,EAAE3M,KAAKgG,IAAIm6M,cAAcp/M,EAAE4L,EAAE,IAAI5L,EAAE4L,EAAE3M,KAAKg+M,IAAIvU,aAAa,IAAI,IAAI,MAAM1oM,EAAE4L,EAAE3M,KAAKg+M,IAAIvU,aAAa1oM,EAAEwB,EAAExB,EAAEkJ,EAAElJ,EAAEmJ,OAAO/M,OAAOC,eAAe4C,KAAK,UAAU,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAI0O,SAASlI,IAAI,SAAS/J,IAAI,IAAI,CAAC,OAAO,QAAQ,UAAU4H,QAAQ5H,KAAKzC,KAAKgG,IAAI0O,QAAQjS,EAAEzC,KAAKg+M,IAAIlT,WAAWroM,OAAOtF,OAAOC,eAAe4C,KAAK,YAAY,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIyO,WAAWjI,IAAI,SAAS/J,GAAGuL,MAAMvL,KAAKzC,KAAKgG,IAAIyO,UAAUhS,EAAEzC,KAAKg+M,IAAI1V,aAAa7lM,OAAOtF,OAAOC,eAAe4C,KAAK,WAAW,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAI2O,UAAUnI,IAAI,SAAS/J,IAAI,IAAI,CAAC,QAAQ,QAAQ,SAAS4H,QAAQ5H,KAAKzC,KAAKgG,IAAI2O,SAASlS,EAAEzC,KAAKg+M,IAAIjT,YAAYtoM,OAAOtF,OAAOC,eAAe4C,KAAK,aAAa,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAI4O,YAAYpI,IAAI,SAAS/J,GAAGuL,MAAMvL,KAAKzC,KAAKgG,IAAI4O,WAAWnS,EAAEzC,KAAKg+M,IAAI/S,cAAcxoM,OAAOtF,OAAOC,eAAe4C,KAAK,eAAe,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIkZ,cAAc1S,IAAI,SAAS/J,GAAGzC,KAAKgG,IAAIkZ,aAAazc,KAAKtF,OAAOC,eAAe4C,KAAK,YAAY,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIkoM,WAAW1hM,IAAI,SAAS/J,IAAI,IAAI,CAAC,QAAQ,MAAM,SAAS,OAAO,SAAS4H,QAAQ5H,KAAKzC,KAAKgG,IAAIkoM,UAAUzrM,MAAM,IAAIuxB,EAAE,KAAK,SAAS/yB,EAAEwB,EAAE1B,GAAG,GAAG,OAAOizB,EAAE,CAAC,IAAIzxB,EAAE,SAASE,GAAG,IAAI1B,EAAE,GAAG,OAAO5D,OAAO23B,KAAKryB,GAAGsyB,SAAS,SAASxyB,GAAGE,EAAEF,GAAGwyB,SAAS,SAAStyB,GAAG,IAAI5B,EAAE,KAAK,OAAO4B,GAAG,IAAI,OAAO5B,EAAE,CAAC2+M,OAAOj9M,EAAEk9M,OAAO,QAAQ,MAAM,IAAI,SAAS5+M,EAAE,CAAC2+M,OAAOj9M,EAAEmQ,MAAM,UAAU,MAAM,IAAI,aAAa7R,EAAE,CAAC2+M,OAAOj9M,EAAEk9M,OAAO,OAAO/sM,MAAM,UAAU,MAAM,IAAI,GAAG,IAAI,SAAS7R,EAAE,CAAC2+M,OAAOj9M,GAAG,OAAO1B,IAAIA,EAAEutE,IAAI,CAAChsE,KAAKG,EAAEmQ,MAAMjQ,GAAG1B,EAAE+F,KAAKjG,UAAUE,EAA/V,CAAkW0B,EAAEylM,eAAel0K,EAAE,SAASvxB,GAAG,IAAI,IAAI1B,EAAE,GAAGwB,EAAE,EAAEA,EAAEE,EAAE3F,SAASyF,EAAE,CAAC,IAAI1B,EAAEo5L,GAAGx3L,EAAEF,IAAI1F,EAAEgE,EAAE2+M,OAAO7yM,EAAE9L,EAAE6+M,QAAQp/M,EAAEO,EAAE6R,MAAM9R,EAAEC,EAAE4+M,OAAO1+M,EAAElE,GAAGkE,EAAElE,IAAI,GAAGkE,EAAElE,GAAG8P,GAAG5L,EAAElE,GAAG8P,IAAI,GAAG5L,EAAElE,GAAG8P,GAAGrM,GAAGS,EAAElE,GAAG8P,GAAGrM,IAAI,GAAGS,EAAElE,GAAG8P,GAAGrM,GAAGM,GAAGC,EAAE,OAAOE,EAA3L,CAA8LwB,EAAEimB,OAAOznB,IAAI,OAAOizB,EAAE,IAAI/wB,EAAE,KAAK9F,OAAOC,eAAe4C,KAAK,YAAY,CAACsC,IAAI,WAAW,OAAOW,GAAGuJ,IAAI,SAAS/J,GAAGuxB,EAAE,KAAK/wB,EAAER,KAAKtF,OAAOC,eAAe4C,KAAK,OAAO,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAImF,MAAMqB,IAAI,SAAS/J,GAAG,IAAI1B,EAAE,GAAGf,KAAKgG,IAAImF,KAAK1I,EAAE,QAAQ1B,EAAE,oVAAoVqxB,KAAK3vB,IAAI,CAAC,IAAIF,EAAExB,EAAE,GAAGF,GAAGE,EAAE,GAAGA,EAAE,IAAIlE,EAAEkE,EAAE,GAAG4L,GAAG5L,EAAE,GAAGA,EAAE,IAAIT,EAAE,yCAAyC8xB,KAAKv1B,GAAG,GAAGA,EAAE,OAAOyD,EAAE6G,KAAK0W,MAAMtU,WAAW1M,GAAGmD,KAAKg+M,IAAInsB,SAASmT,aAAa,OAAO1kM,EAAE6G,KAAK0W,MAAMtU,WAAW1M,GAAGmD,KAAKg+M,IAAI77G,eAAeh7F,KAAK0W,MAAMtU,WAAW1M,GAAGmD,KAAKg+M,IAAInsB,SAASmT,aAAahlM,KAAKg+M,IAAIp8G,YAAY/kG,GAAG,IAAI+D,EAAE,SAAS6B,GAAG,IAAI1B,EAAEwB,EAAE1B,EAAE,GAAGhE,EAAE4F,EAAE+E,OAAO,GAAG,KAAK3K,EAAE,OAAOi+L,GAAG,GAAGj+L,KAAKu9L,GAAG,MAAM,CAACA,GAAGv9L,IAAI,KAAK,KAAKA,GAAG,CAAC,OAAO0F,EAAE,KAAKxB,GAAGlE,EAAE09L,GAAG19L,IAAIisB,OAAO,IAAI,IAAI,IAAI,IAAI,IAAIvmB,EAAEi4L,GAAG39L,EAAEw0C,UAAU,GAAGtwC,GAAG,MAAM,QAAQwB,EAAEk4L,GAAG59L,GAAG,GAAG,OAAO0F,EAAE,OAAOu4L,GAAG,GAAGj6L,EAAEiG,KAAKvE,EAAE,IAAI,MAAM1F,EAAE09L,GAAGh4L,EAAE,MAAM,MAAM1F,EAAEisB,OAAO,GAAG,OAAOgyK,GAAGj+L,EAAEA,EAAE4K,QAAQ,KAAK,IAAI,OAAO5G,EAAlT,CAAqT8L,GAAG,GAAG3M,KAAK4gN,UAAU,CAAC,IAAI1+M,EAAr8O,SAAYO,EAAE1B,EAAEwB,GAAG,IAAI,IAAI1B,GAAG0B,EAAEA,GAAG,IAAIs+M,mBAAmB,QAAQhkN,EAAEM,OAAOu6B,OAAO,GAAGyiK,GAAG53L,EAAEu+M,qBAAqB,IAAIn0M,EAAE,KAAKrM,EAAE,KAAKM,EAAE,EAAEA,EAAEG,EAAEjE,SAAS8D,EAAE,GAAG/D,GAAG8P,EAAEstL,GAAGl5L,EAAEH,KAAK4+M,UAAU7yM,EAAE6yM,OAAO3iN,EAAE8P,EAAE6yM,SAAS/8M,EAAEO,eAAe2J,EAAE6yM,QAAQ,CAACl/M,EAAEmC,EAAEkK,EAAE6yM,QAAQ,MAAM,KAAKl/M,EAAEA,GAAGmC,EAAE5B,IAAI,MAAM,IAAIq+B,MAAM,8CAA8Cm7J,GAAG1tL,GAAG,yBAAyB9L,EAAE,MAAM,GAAGP,EAAE,SAASmC,EAAE1B,GAAG,GAAGA,EAAE0B,GAAG,OAAO1B,EAAE0B,GAAG,IAAIF,EAAEu3L,GAAGr3L,GAAG5B,EAAE0B,GAAGu3L,GAAG6I,QAAQ,EAAE,EAAE9lM,EAAEq9L,GAAGn5L,EAAE84L,GAAGt3L,EAAE1B,GAAG,IAAIhE,EAAE,MAAM,IAAIqiC,MAAM,oDAAoDz8B,GAAG,OAAO5F,EAArK,CAAwK8P,EAAE+yM,QAAQp/M,GAAGA,EAAE,SAASmC,EAAE1B,GAAG,GAAGA,EAAE0B,GAAG,OAAO1B,EAAE0B,GAAG,IAAI,IAAIF,EAAEq3L,GAAGn3L,GAAG5B,EAAE,EAAEA,EAAE0B,EAAEzF,SAAS+D,EAAE,GAAGE,EAAEwB,EAAE1B,IAAI,OAAOE,EAAEwB,EAAE1B,IAAI,MAAM,IAAIq+B,MAAM,4CAA4Cz8B,GAA3J,CAA+JkK,EAAE+F,MAAMpS,KAAKA,EAAE,SAASmC,EAAE1B,GAAG,GAAGA,EAAE0B,GAAG,OAAO1B,EAAE0B,GAAG,GAAG,MAAMA,GAAG1B,EAAE,KAAK,OAAOA,EAAE,KAAK,GAAG,MAAM0B,GAAG1B,EAAE,KAAK,OAAOA,EAAE,KAAK,IAAIwB,EAAEy3L,GAAGv3L,GAAG5B,EAAEq5L,GAAGn5L,EAAEg5L,GAAGx3L,EAAEE,EAAE,KAAK,EAAE,GAAG,IAAI5B,EAAE,MAAM,IAAIq+B,MAAM,mDAAmDz8B,GAAG,OAAO5B,EAA3N,CAA8N8L,EAAE8yM,OAAOn/M,IAAI,MAAM,IAAI4+B,MAAM,0CAA0Cm7J,GAAG1tL,GAAG,MAAM,OAAOrM,EAA07Mg6L,CAAGr5L,EAAEjB,KAAKg+M,IAAIh+M,KAAK4gN,WAAWhgN,EAAE6mB,KAAK,SAAShlB,GAAG,MAAM,CAAC+8M,OAAO/8M,EAAEi9M,QAAQ,SAASD,OAAO5+M,EAAE6R,MAAMnQ,OAAOvC,KAAKg+M,IAAIjW,QAAQ7lM,EAAEksE,IAAIhsE,KAAKF,EAAEksE,IAAI17D,WAAW,CAAC,IAAIsH,EAAE,IAAI,SAASnZ,GAAGqd,SAASrd,EAAE,KAAK,KAAK,SAAS0B,KAAKyX,EAAE,QAAQ,WAAWzX,IAAIyX,GAAG,UAAU,IAAIA,EAAEld,SAASkd,EAAE,UAAU,IAAI,IAAIga,EAAE,GAAGjyB,EAAE,CAACg/M,MAAM,YAAYC,MAAM,YAAYC,QAAQ,YAAYC,QAAQ,YAAYC,UAAU,YAAYC,UAAU,YAAY,aAAa,YAAYzB,MAAM,UAAUC,UAAU,UAAUC,SAAS,UAAUC,QAAQ,QAAQC,QAAQ,QAAQC,MAAM,SAAS79M,EAAE,EAAEA,EAAEvB,EAAE9D,OAAOqF,IAAI,CAAC,QAAG,IAASnC,KAAKg+M,IAAInsB,SAASoW,QAAQrnM,EAAEuB,GAAG6X,EAAE,CAAC0oL,YAAW,EAAGD,gBAAe,IAAK,CAACzuK,EAAEpzB,EAAEuB,GAAG,MAAM,GAAG,eAAe6X,QAAG,IAASha,KAAKg+M,IAAInsB,SAASoW,QAAQrnM,EAAEuB,GAAG,OAAO,CAACugM,YAAW,EAAGD,gBAAe,IAAKzuK,EAAEpzB,EAAEuB,GAAG6X,EAAE,YAAY,QAAG,IAASha,KAAKg+M,IAAInsB,SAASoW,QAAQrnM,EAAEuB,GAAG,SAAS,CAACugM,YAAW,EAAGD,gBAAe,IAAK,CAACzuK,EAAEpzB,EAAEuB,GAAG6X,EAAE,SAAS,OAAO,GAAG,KAAKga,EAAE,IAAI,IAAI/wB,EAAE,EAAEA,EAAErC,EAAE9D,OAAOmG,IAAI,GAAGlB,EAAEnB,EAAEqC,IAAI,CAAC+wB,EAAEjyB,EAAEnB,EAAEqC,IAAI,MAAM+wB,EAAE,KAAKA,EAAE,QAAQA,EAAEh0B,KAAKg+M,IAAIjW,QAAQ/zK,EAAEha,QAAQ7c,OAAOC,eAAe4C,KAAK,2BAA2B,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIwc,0BAA0BhW,IAAI,SAAS/J,GAAGzC,KAAKgG,IAAIwc,yBAAyB/f,KAAKtF,OAAOC,eAAe4C,KAAK,cAAc,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIsP,aAAa9I,IAAI,SAAS/J,GAAGzC,KAAKgG,IAAIsP,YAAY7S,KAAKtF,OAAOC,eAAe4C,KAAK,iBAAiB,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIkP,gBAAgB1I,IAAI,SAAS/J,GAAGzC,KAAKgG,IAAIkP,eAAezS,EAAE2yL,EAAEpzL,KAAKhC,SAAS7C,OAAOC,eAAe4C,KAAK,WAAW,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAIy6M,UAAUj0M,IAAI,SAAS/J,GAAGzC,KAAKgG,IAAIy6M,SAASh+M,EAAE2yL,EAAEpzL,KAAKhC,SAAS7C,OAAOC,eAAe4C,KAAK,kBAAkB,CAACsC,IAAI,WAAW,OAAOtC,KAAKgG,IAAI26M,iBAAiBn0M,IAAI,SAAS/J,GAAGzC,KAAKgG,IAAI26M,gBAAgBt/K,QAAQ5+B,OAAOQ,EAAExF,UAAUqX,YAAY,SAASrS,GAAGzC,KAAKygN,SAASh+M,GAAGQ,EAAExF,UAAU4jN,YAAY,WAAW,OAAOrhN,KAAKygN,SAAS3jN,OAAO,EAAEkD,KAAKygN,SAASj4L,OAAOxoB,KAAKygN,UAAUzgN,KAAKygN,SAASzuK,SAAS/uC,EAAExF,UAAUkY,KAAK,WAAW4yG,EAAEvmH,KAAKhC,KAAK,QAAO,IAAKiD,EAAExF,UAAUmY,OAAO,WAAW2yG,EAAEvmH,KAAKhC,KAAK,UAAS,IAAKiD,EAAExF,UAAU+X,UAAU,WAAWxV,KAAKuN,KAAK,CAAC,CAAC0D,KAAK,WAAWhO,EAAExF,UAAU6Y,OAAO,SAAS7T,EAAE1B,GAAG,GAAGiN,MAAMvL,IAAIuL,MAAMjN,GAAG,MAAM4L,EAAEwmB,MAAM,4CAA4ChzB,WAAW,IAAI++B,MAAM,sDAAsD,IAAI38B,EAAEvC,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAEO,EAAE1B,IAAIf,KAAKuN,KAAKzG,KAAK,CAACmK,KAAK,KAAKpE,EAAEtK,EAAEsK,EAAEC,EAAEvK,EAAEuK,IAAI9M,KAAKgG,IAAIw6M,UAAU,IAAIt+M,EAAEO,EAAE1B,IAAIkC,EAAExF,UAAU+Y,UAAU,WAAW,IAAIzV,EAAE,IAAImB,EAAE,EAAE,GAAGK,EAAE,EAAE,IAAIA,EAAEvC,KAAKuN,KAAKzQ,OAAO,GAAG,IAAIyF,EAAEA,IAAI,GAAG,UAAUvC,KAAKuN,KAAKhL,GAAG0O,MAAM,WAAWxO,IAAEzC,KAAKuN,KAAKhL,EAAE,KAAK,iBAAiBvC,KAAKuN,KAAKhL,EAAE,GAAGsK,EAAE,CAAC9L,EAAE,IAAImB,EAAElC,KAAKuN,KAAKhL,EAAE,GAAGsK,EAAE7M,KAAKuN,KAAKhL,EAAE,GAAGuK,GAAG,MAAM9M,KAAKuN,KAAKzG,KAAK,CAACmK,KAAK,UAAUjR,KAAKgG,IAAIw6M,UAAU,IAAIt+M,EAAEnB,EAAE8L,EAAE9L,EAAE+L,IAAI7J,EAAExF,UAAU8Y,OAAO,SAAS9T,EAAE1B,GAAG,GAAGiN,MAAMvL,IAAIuL,MAAMjN,GAAG,MAAM4L,EAAEwmB,MAAM,4CAA4ChzB,WAAW,IAAI++B,MAAM,sDAAsD,IAAI38B,EAAEvC,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAEO,EAAE1B,IAAIf,KAAKuN,KAAKzG,KAAK,CAACmK,KAAK,KAAKpE,EAAEtK,EAAEsK,EAAEC,EAAEvK,EAAEuK,IAAI9M,KAAKgG,IAAIw6M,UAAU,IAAIt+M,EAAEK,EAAEsK,EAAEtK,EAAEuK,IAAI7J,EAAExF,UAAU4X,KAAK,WAAWrV,KAAKgG,IAAIs6M,UAAUp4L,KAAKoc,MAAMpc,KAAKC,UAAUnoB,KAAKuN,OAAOg7G,EAAEvmH,KAAKhC,KAAK,MAAK,IAAKiD,EAAExF,UAAUoZ,iBAAiB,SAASpU,EAAE1B,EAAEwB,EAAE1B,GAAG,GAAGmN,MAAMzL,IAAIyL,MAAMnN,IAAImN,MAAMvL,IAAIuL,MAAMjN,GAAG,MAAM4L,EAAEwmB,MAAM,sDAAsDhzB,WAAW,IAAI++B,MAAM,gEAAgE,IAAIriC,EAAEmD,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAEK,EAAE1B,IAAIP,EAAEN,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAEO,EAAE1B,IAAIf,KAAKuN,KAAKzG,KAAK,CAACmK,KAAK,MAAMxD,GAAGnN,EAAEuM,EAAEa,GAAGpN,EAAEwM,EAAED,EAAEhQ,EAAEgQ,EAAEC,EAAEjQ,EAAEiQ,IAAI9M,KAAKgG,IAAIw6M,UAAU,IAAIt+M,EAAErF,EAAEgQ,EAAEhQ,EAAEiQ,IAAI7J,EAAExF,UAAUyZ,cAAc,SAASzU,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAEyD,GAAG,GAAG0N,MAAMnR,IAAImR,MAAM1N,IAAI0N,MAAMvL,IAAIuL,MAAMjN,IAAIiN,MAAMzL,IAAIyL,MAAMnN,GAAG,MAAM8L,EAAEwmB,MAAM,mDAAmDhzB,WAAW,IAAI++B,MAAM,6DAA6D,IAAIt+B,EAAEZ,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAErF,EAAEyD,IAAI0Z,EAAEha,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAEO,EAAE1B,IAAIizB,EAAEh0B,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAEK,EAAE1B,IAAIb,KAAKuN,KAAKzG,KAAK,CAACmK,KAAK,MAAMxD,GAAGuM,EAAEnN,EAAEa,GAAGsM,EAAElN,EAAEa,GAAGqmB,EAAEnnB,EAAEe,GAAGomB,EAAElnB,EAAED,EAAEjM,EAAEiM,EAAEC,EAAElM,EAAEkM,IAAI9M,KAAKgG,IAAIw6M,UAAU,IAAIt+M,EAAEtB,EAAEiM,EAAEjM,EAAEkM,IAAI7J,EAAExF,UAAUsZ,IAAI,SAAStU,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAEyD,GAAG,GAAG0N,MAAMvL,IAAIuL,MAAMjN,IAAIiN,MAAMzL,IAAIyL,MAAMnN,IAAImN,MAAMnR,GAAG,MAAM8P,EAAEwmB,MAAM,yCAAyChzB,WAAW,IAAI++B,MAAM,mDAAmD,GAAG5+B,EAAE+gC,QAAQ/gC,IAAIN,KAAKgG,IAAIwK,UAAU8wM,WAAW,CAAC,IAAI1gN,EAAEZ,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAEO,EAAE1B,IAAI0B,EAAE7B,EAAEiM,EAAE9L,EAAEH,EAAEkM,EAAE,IAAIkN,EAAEha,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAE,EAAEK,IAAIyxB,EAAEh0B,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAE,EAAE,IAAIK,EAAE4E,KAAKC,KAAKD,KAAKE,IAAI2S,EAAEnN,EAAEmnB,EAAEnnB,EAAE,GAAG1F,KAAKE,IAAI2S,EAAElN,EAAEknB,EAAElnB,EAAE,IAAI3F,KAAKwjD,IAAI9tD,EAAEgE,IAAI,EAAEsG,KAAKsE,KAAK5K,EAAE,EAAEhE,EAAE,EAAEsK,KAAKsE,IAAIzL,KAAKuN,KAAKzG,KAAK,CAACmK,KAAK,MAAMpE,EAAEpK,EAAEqK,EAAE/L,EAAEs6B,OAAO94B,EAAEs9F,WAAWh/F,EAAEi/F,SAASjjG,EAAE0kN,iBAAiBjhN,KAAK2C,EAAExF,UAAU+jN,MAAM,SAAS/+M,EAAE1B,EAAEwB,EAAE1B,EAAEhE,GAAG,MAAM,IAAIqiC,MAAM,2BAA2Bj8B,EAAExF,UAAUiZ,KAAK,SAASjU,EAAE1B,EAAEwB,EAAE1B,GAAG,GAAGmN,MAAMvL,IAAIuL,MAAMjN,IAAIiN,MAAMzL,IAAIyL,MAAMnN,GAAG,MAAM8L,EAAEwmB,MAAM,0CAA0ChzB,WAAW,IAAI++B,MAAM,oDAAoDl/B,KAAKsW,OAAO7T,EAAE1B,GAAGf,KAAKuW,OAAO9T,EAAEF,EAAExB,GAAGf,KAAKuW,OAAO9T,EAAEF,EAAExB,EAAEF,GAAGb,KAAKuW,OAAO9T,EAAE1B,EAAEF,GAAGb,KAAKuW,OAAO9T,EAAE1B,GAAGf,KAAKuW,OAAO9T,EAAEF,EAAExB,GAAGf,KAAKuW,OAAO9T,EAAE1B,IAAIkC,EAAExF,UAAUglB,SAAS,SAAShgB,EAAE1B,EAAEwB,EAAE1B,GAAG,GAAGmN,MAAMvL,IAAIuL,MAAMjN,IAAIiN,MAAMzL,IAAIyL,MAAMnN,GAAG,MAAM8L,EAAEwmB,MAAM,8CAA8ChzB,WAAW,IAAI++B,MAAM,wDAAwD,IAAIj9B,EAAED,KAAKhC,MAAM,CAAC,IAAInD,EAAE,GAAG,SAASmD,KAAK0U,UAAU7X,EAAE6X,QAAQ1U,KAAK0U,QAAQ1U,KAAK0U,QAAQ,QAAQ,UAAU1U,KAAK2U,WAAW9X,EAAE8X,SAAS3U,KAAK2U,SAAS3U,KAAK2U,SAAS,SAAS3U,KAAKwV,YAAYxV,KAAK0W,KAAKjU,EAAE1B,EAAEwB,EAAE1B,GAAGb,KAAK2V,OAAO9Y,EAAEmG,eAAe,aAAahD,KAAK0U,QAAQ7X,EAAE6X,SAAS7X,EAAEmG,eAAe,cAAchD,KAAK2U,SAAS9X,EAAE8X,YAAY1R,EAAExF,UAAUgkN,WAAW,SAASh/M,EAAE1B,EAAEwB,EAAE1B,GAAG,GAAGmN,MAAMvL,IAAIuL,MAAMjN,IAAIiN,MAAMzL,IAAIyL,MAAMnN,GAAG,MAAM8L,EAAEwmB,MAAM,gDAAgDhzB,WAAW,IAAI++B,MAAM,0DAA0DhyB,EAAElL,KAAKhC,QAAQA,KAAKwV,YAAYxV,KAAK0W,KAAKjU,EAAE1B,EAAEwB,EAAE1B,GAAGb,KAAK4V,WAAW3S,EAAExF,UAAUqmB,UAAU,SAASrhB,EAAE1B,EAAEwB,EAAE1B,GAAG,GAAGmN,MAAMvL,IAAIuL,MAAMjN,IAAIiN,MAAMzL,IAAIyL,MAAMnN,GAAG,MAAM8L,EAAEwmB,MAAM,+CAA+ChzB,WAAW,IAAI++B,MAAM,yDAAyDl/B,KAAK2gN,kBAAkB3gN,KAAKsU,UAAU,UAAUtU,KAAKyiB,SAAShgB,EAAE1B,EAAEwB,EAAE1B,KAAKoC,EAAExF,UAAUsV,KAAK,SAAStQ,GAAGA,EAAE,kBAAkBA,GAAGA,EAAE,IAAI,IAAI1B,EAAEf,KAAKg+M,IAAInsB,SAAS0S,qBAAqBvF,WAAWz8L,EAAE,EAAEA,EAAEvC,KAAKg+M,IAAInsB,SAAS0Q,mBAAmBhgM,IAAIvC,KAAKg+M,IAAI3b,QAAQ9/L,EAAE,GAAGvC,KAAKg+M,IAAInsB,SAASz7I,IAAI,KAAK,GAAGp2C,KAAKg+M,IAAI3b,QAAQthM,GAAG0B,EAAE,CAACzC,KAAKgG,IAAIgF,SAAShL,KAAKg+M,IAAInsB,SAAS1vF,cAAc,IAAIthG,EAAE,IAAIsB,EAAEnC,KAAKgG,KAAKhG,KAAK0hN,SAAS56M,KAAK9G,KAAKgG,KAAKhG,KAAKgG,IAAInF,IAAIoC,EAAExF,UAAU4V,QAAQ,SAAS5Q,GAAGA,EAAE,kBAAkBA,GAAGA,EAAE,IAAI,IAAI1B,EAAEf,KAAKg+M,IAAInsB,SAAS0S,qBAAqBvF,WAAWz8L,EAAE,EAAEA,EAAEvC,KAAKg+M,IAAInsB,SAAS0Q,mBAAmBhgM,IAAIvC,KAAKg+M,IAAI3b,QAAQ9/L,EAAE,GAAGvC,KAAKg+M,IAAInsB,SAASz7I,IAAI,KAAKp2C,KAAKg+M,IAAI3b,QAAQthM,GAAG0B,GAAG,IAAIzC,KAAK0hN,SAAS5kN,SAASkD,KAAKgG,IAAIhG,KAAK0hN,SAAS16M,MAAMhH,KAAKsU,UAAUtU,KAAKgG,IAAIsO,UAAUtU,KAAKuU,YAAYvU,KAAKgG,IAAIuO,YAAYvU,KAAKmL,KAAKnL,KAAKgG,IAAImF,KAAKnL,KAAK0U,QAAQ1U,KAAKgG,IAAI0O,QAAQ1U,KAAKyU,UAAUzU,KAAKgG,IAAIyO,UAAUzU,KAAK2U,SAAS3U,KAAKgG,IAAI2O,SAAS3U,KAAKygN,SAASzgN,KAAKgG,IAAIy6M,SAASzgN,KAAKkV,eAAelV,KAAKgG,IAAIkP,iBAAiBjS,EAAExF,UAAUwwE,UAAU,WAAW,MAAM,IAAI/uC,MAAM,+BAA+B,IAAIj1B,EAAE,SAASxH,GAAG,IAAI1B,EAAEwB,EAAE1B,EAAEhE,EAAE,IAAG,IAAK4F,EAAEk/M,mBAAmBl/M,EAAEA,EAAEumD,aAAavmD,EAAE,MAAM,CAACF,EAAE,EAAE0H,EAAE,EAAEC,EAAE,EAAEyC,EAAE,EAAE+F,MAAMjQ,GAAG,GAAG,sEAAsE8/B,KAAK9/B,GAAG1B,EAAE,EAAEwB,EAAE,EAAE1B,EAAE,EAAEhE,EAAE,MAAM,CAAC,IAAI8P,EAAE,gDAAgDylB,KAAK3vB,GAAG,GAAG,OAAOkK,EAAE5L,EAAEmd,SAASvR,EAAE,IAAIpK,EAAE2b,SAASvR,EAAE,IAAI9L,EAAEqd,SAASvR,EAAE,IAAI9P,EAAE,OAAO,GAAG,QAAQ8P,EAAE,gEAAgEylB,KAAK3vB,IAAI1B,EAAEmd,SAASvR,EAAE,IAAIpK,EAAE2b,SAASvR,EAAE,IAAI9L,EAAEqd,SAASvR,EAAE,IAAI9P,EAAE0M,WAAWoD,EAAE,QAAQ,CAAC,GAAG9P,EAAE,EAAE,iBAAiB4F,GAAG,MAAMA,EAAEqmB,OAAO,GAAG,CAAC,IAAIxoB,EAAE,IAAIW,EAAEwB,GAAGA,EAAEnC,EAAE0J,GAAG1J,EAAEkyB,QAAQ,UAAU,IAAI/vB,EAAE3F,QAAQiE,EAAE0B,EAAE4uC,UAAU,EAAE,GAAGtwC,GAAGA,EAAEwB,EAAEE,EAAE4uC,UAAU,EAAE,GAAG9uC,GAAGA,EAAE1B,EAAE4B,EAAE4uC,UAAU,EAAE,GAAGxwC,GAAGA,IAAIE,EAAE0B,EAAE4uC,UAAU,EAAE,GAAG9uC,EAAEE,EAAE4uC,UAAU,EAAE,GAAGxwC,EAAE4B,EAAE4uC,UAAU,EAAE,IAAItwC,EAAEmd,SAASnd,EAAE,IAAIwB,EAAE2b,SAAS3b,EAAE,IAAI1B,EAAEqd,SAASrd,EAAE,KAAK,MAAM,CAAC0B,EAAExB,EAAEkJ,EAAE1H,EAAE2H,EAAErJ,EAAE8L,EAAE9P,EAAE6V,MAAMjQ,IAAIR,EAAE,WAAW,OAAOjC,KAAKgG,IAAIo6M,mBAAmB,GAAGpgN,KAAKsV,aAAapI,EAAE,WAAW,OAAOm0B,QAAQrhC,KAAKgG,IAAIk6M,qBAAqB,GAAGlgN,KAAKsV,cAAcrS,EAAExF,UAAUqiB,SAAS,SAASrd,EAAE1B,EAAEwB,EAAE1B,GAAG,GAAGmN,MAAMjN,IAAIiN,MAAMzL,IAAI,iBAAiBE,EAAE,MAAMkK,EAAEwmB,MAAM,8CAA8ChzB,WAAW,IAAI++B,MAAM,wDAAwD,GAAGr+B,EAAEmN,MAAMnN,QAAG,EAAOA,GAAGoB,EAAED,KAAKhC,MAAM,CAAC,IAAInD,EAAEwrH,EAAEroH,KAAKgG,IAAIwK,UAAU84F,UAAUhpG,EAAEN,KAAKgG,IAAIwK,UAAUqB,OAAO+5I,EAAE5pJ,KAAKhC,KAAK,CAACiU,KAAKxR,EAAEoK,EAAE9L,EAAE+L,EAAEvK,EAAE+N,MAAMhQ,EAAE2P,MAAMpT,EAAE8U,MAAM3R,KAAKkuM,UAAU1uH,SAAS3+E,MAAMoC,EAAExF,UAAUsiB,WAAW,SAAStd,EAAE1B,EAAEwB,EAAE1B,GAAG,GAAGmN,MAAMjN,IAAIiN,MAAMzL,IAAI,iBAAiBE,EAAE,MAAMkK,EAAEwmB,MAAM,gDAAgDhzB,WAAW,IAAI++B,MAAM,0DAA0D,IAAIhyB,EAAElL,KAAKhC,MAAM,CAACa,EAAEmN,MAAMnN,QAAG,EAAOA,EAAE,IAAIhE,EAAEwrH,EAAEroH,KAAKgG,IAAIwK,UAAU84F,UAAUhpG,EAAEN,KAAKgG,IAAIwK,UAAUqB,OAAO+5I,EAAE5pJ,KAAKhC,KAAK,CAACiU,KAAKxR,EAAEoK,EAAE9L,EAAE+L,EAAEvK,EAAE+N,MAAMhQ,EAAEulM,cAAc,SAAS51L,MAAMpT,EAAE8U,MAAM3R,KAAKkuM,UAAU1uH,SAAS3+E,MAAMoC,EAAExF,UAAUiiB,YAAY,SAASjd,GAAG,GAAG,iBAAiBA,EAAE,MAAMkK,EAAEwmB,MAAM,iDAAiDhzB,WAAW,IAAI++B,MAAM,2DAA2D,IAAIn+B,EAAEf,KAAKg+M,IAAIz7M,EAAEvC,KAAKg+M,IAAInsB,SAASmT,YAAYnkM,EAAEE,EAAE8wL,SAAS1vF,cAActlG,EAAEkE,EAAEilM,mBAAmBvjM,GAAG5B,EAAEE,EAAE8wL,SAASmT,YAAY1kM,EAAE,SAASmC,GAAG,IAAI1B,GAAG0B,EAAEA,GAAG,IAAImE,OAAO,EAAE,OAAOzJ,OAAOC,eAAe4C,KAAK,QAAQ,CAACsC,IAAI,WAAW,OAAOvB,KAAKf,MAAM,OAAO,IAAIM,EAAE,CAACsG,MAAM/J,GAAGsK,KAAKi9G,MAAM,GAAG7hH,EAAE,GAAG,KAAK,OAAOU,EAAExF,UAAU6S,MAAM,SAAS7N,EAAE1B,GAAG,GAAGiN,MAAMvL,IAAIuL,MAAMjN,GAAG,MAAM4L,EAAEwmB,MAAM,2CAA2ChzB,WAAW,IAAI++B,MAAM,qDAAqD,IAAI38B,EAAE,IAAIyxB,EAAEvxB,EAAE,EAAE,EAAE1B,EAAE,EAAE,GAAGf,KAAKgG,IAAIwK,UAAUxQ,KAAKgG,IAAIwK,UAAU6qL,SAAS94L,IAAIU,EAAExF,UAAUuS,OAAO,SAASvN,GAAG,GAAGuL,MAAMvL,GAAG,MAAMkK,EAAEwmB,MAAM,4CAA4ChzB,WAAW,IAAI++B,MAAM,sDAAsD,IAAIn+B,EAAE,IAAIizB,EAAE7sB,KAAKiJ,IAAI3N,GAAG0E,KAAKkJ,IAAI5N,IAAI0E,KAAKkJ,IAAI5N,GAAG0E,KAAKiJ,IAAI3N,GAAG,EAAE,GAAGzC,KAAKgG,IAAIwK,UAAUxQ,KAAKgG,IAAIwK,UAAU6qL,SAASt6L,IAAIkC,EAAExF,UAAUoS,UAAU,SAASpN,EAAE1B,GAAG,GAAGiN,MAAMvL,IAAIuL,MAAMjN,GAAG,MAAM4L,EAAEwmB,MAAM,+CAA+ChzB,WAAW,IAAI++B,MAAM,yDAAyD,IAAI38B,EAAE,IAAIyxB,EAAE,EAAE,EAAE,EAAE,EAAEvxB,EAAE1B,GAAGf,KAAKgG,IAAIwK,UAAUxQ,KAAKgG,IAAIwK,UAAU6qL,SAAS94L,IAAIU,EAAExF,UAAU+S,UAAU,SAAS/N,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAEyD,GAAG,GAAG0N,MAAMvL,IAAIuL,MAAMjN,IAAIiN,MAAMzL,IAAIyL,MAAMnN,IAAImN,MAAMnR,IAAImR,MAAM1N,GAAG,MAAMqM,EAAEwmB,MAAM,+CAA+ChzB,WAAW,IAAI++B,MAAM,yDAAyD,IAAIt+B,EAAE,IAAIozB,EAAEvxB,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAEyD,GAAGN,KAAKgG,IAAIwK,UAAUxQ,KAAKgG,IAAIwK,UAAU6qL,SAASz6L,IAAIqC,EAAExF,UAAUmkN,aAAa,SAASn/M,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,GAAGlK,EAAEuL,MAAMvL,GAAG,EAAEA,EAAE1B,EAAEiN,MAAMjN,GAAG,EAAEA,EAAEwB,EAAEyL,MAAMzL,GAAG,EAAEA,EAAE1B,EAAEmN,MAAMnN,GAAG,EAAEA,EAAEhE,EAAEmR,MAAMnR,GAAG,EAAEA,EAAE8P,EAAEqB,MAAMrB,GAAG,EAAEA,EAAE3M,KAAKgG,IAAIwK,UAAU,IAAIwjB,EAAEvxB,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,IAAI,IAAIzC,EAAE,WAAW,OAAOlK,KAAKy8E,OAAO,GAAG,GAAGz8E,KAAKy8E,OAAO,GAAG,GAAGz8E,KAAKy8E,OAAO,GAAG,GAAGz8E,KAAKy8E,OAAO,GAAG,GAAGx5E,EAAExF,UAAU2jB,UAAU,SAAS3e,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,EAAEsB,GAAG,IAAIH,EAAE/B,KAAKg+M,IAAItH,mBAAmBj0M,GAAGxB,EAAE,EAAEkB,EAAE,EAAEc,EAAE,EAAEgH,EAAE,OAAE,IAASpJ,QAAG,IAASD,IAAIqC,EAAErC,EAAEC,EAAEoJ,EAAE/H,EAAErF,EAAEoE,EAAEc,EAAE6E,MAAM/F,EAAED,EAAEC,EAAEsB,EAAEJ,EAAE8E,OAAOhK,EAAEqF,EAAErF,QAAG,IAAS8P,IAAIA,EAAE5L,EAAET,EAAEiC,EAAExB,EAAE,EAAEwB,EAAE,QAAG,IAAS1B,QAAG,IAASD,IAAIA,EAAEC,EAAEqB,EAAErF,QAAG,IAASgE,QAAG,IAASD,IAAIA,EAAEmB,EAAE6E,MAAM1E,EAAEH,EAAE8E,QAAQ,IAAI,IAAI5E,EAAEiL,EAAElN,KAAKgG,IAAIwK,UAAUyqL,YAAYjmK,EAAEqzF,EAAEn7G,EAAE8C,OAAOgrL,KAAKzyE,EAAE,IAAIv0F,EAAE2G,GAAG4tF,GAAGA,GAAGA,EAAEA,EAAE8yE,SAASnuL,EAAE2C,YAAYwrL,SAASnuL,EAAEouL,OAAOD,SAASnuL,EAAEoD,QAAQmrL,iBAAiB,IAAIzhL,EAAErN,EAAE5L,EAAEkC,EAAE3C,EAAEiC,EAAE0H,EAAEpJ,EAAEI,EAAEpE,EAAEsF,IAAIoyB,EAAEznB,EAAE9K,KAAKhC,KAAK26B,GAAGF,EAAE,GAAG7Y,EAAE,EAAEA,EAAE2S,EAAEz3B,OAAO8kB,GAAG,GAAG,IAAI6Y,EAAEpwB,QAAQkqB,EAAE3S,KAAK6Y,EAAE3zB,KAAKytB,EAAE3S,IAAI,GAAGiuK,EAAEp1J,GAAGz6B,KAAK6hN,WAAW,IAAI,IAAI7xB,EAAEv1J,EAAE,GAAG95B,EAAE85B,EAAEA,EAAE39B,OAAO,GAAG8uJ,EAAEokC,EAAEpkC,EAAEjrJ,EAAE,EAAEirJ,IAAI,CAAC5rJ,KAAKg+M,IAAI3b,QAAQz2C,GAAG,IAAIxyI,EAAEpZ,KAAKg+M,IAAInsB,SAASkU,SAASn/L,MAAM5G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGxnD,EAAE,IAAI22H,EAAE5rJ,KAAKs5G,KAAKt5G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGm0G,EAAE5wL,KAAKg+M,IAAInsB,SAASkU,SAASl/L,OAAO7G,KAAKs5G,KAAKt5G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGvnD,EAAEl1B,KAAKg+M,IAAInsB,SAASkU,SAASl/L,OAAO7G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGy0G,EAAE,IAAItlC,EAAE,EAAEglC,GAAGhlC,EAAE,GAAG12H,EAAE,GAAG,IAAIl1B,KAAKgG,IAAIs6M,UAAUxjN,OAAO,CAAC,IAAIi4L,EAAE/0L,KAAKuN,KAAKtL,EAAEimB,KAAKoc,MAAMpc,KAAKC,UAAUnoB,KAAKgG,IAAIs6M,YAAYtgN,KAAKuN,KAAKqiL,EAAE3tL,EAAEjC,KAAKq5G,KAAKr5G,KAAKy8E,OAAO,IAAIy0G,EAAEj8J,EAAEj1B,KAAKgG,IAAI06M,wBAAwB7zM,EAAE7K,KAAKhC,KAAK,QAAO,GAAIA,KAAKuN,KAAKwnL,EAAE,IAAIG,EAAEhtK,KAAKoc,MAAMpc,KAAKC,UAAUwS,IAAIu6J,EAAEtF,EAAE,CAACsF,GAAGl1L,KAAKq5G,KAAKr5G,KAAKy8E,OAAO,IAAIy0G,EAAEj8J,EAAEj1B,KAAKgG,IAAI06M,wBAAwB,GAAG,IAAItrB,GAAGxpC,EAAEokC,GAAGpkC,EAAEjrJ,IAAIuJ,EAAElI,KAAKhC,MAAMo1L,IAAIp1L,KAAKg+M,IAAI1pB,oBAAoBt0L,KAAKg+M,IAAItnM,KAAK1W,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGrjE,EAAE8b,EAAE,MAAM7f,OAAOkxL,eAAevmM,KAAKg+M,IAAI1H,SAAS7zM,EAAE,OAAOyyL,EAAEroL,EAAEqoL,EAAEpoL,EAAEooL,EAAElgK,EAAEkgK,EAAElhK,EAAE,KAAK,KAAKgB,GAAGogK,GAAGp1L,KAAKg+M,IAAItpB,4BAA4B10L,KAAKg+M,IAAI1H,SAAS7zM,EAAE,OAAOk4B,EAAE9tB,EAAE8tB,EAAE7tB,EAAE6tB,EAAE3F,EAAE2F,EAAE3G,EAAE,KAAK,KAAKgB,IAAI,IAAIloB,EAAE,SAASrK,EAAE1B,EAAEwB,GAAG,IAAI1B,EAAE,GAAGE,EAAEA,GAAGf,KAAKg+M,IAAInsB,SAASkU,SAASn/L,MAAMrE,EAAEA,GAAGvC,KAAKg+M,IAAInsB,SAASkU,SAASl/L,OAAO7G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAG,IAAI5/E,EAAEmD,KAAKs5G,KAAKt5G,KAAKgG,IAAI06M,uBAAuB,OAAOj+M,EAAEwO,MAAM,QAAQ,IAAI,KAAK,IAAI,KAAKpQ,EAAEiG,KAAKK,KAAK0W,OAAOpb,EAAEqK,EAAEjQ,GAAG0F,GAAG,GAAG,MAAM,IAAI,MAAM1B,EAAEiG,KAAKK,KAAK0W,OAAOpb,EAAEqK,EAAEjQ,EAAE4F,EAAE44B,QAAQ94B,GAAG,GAAG1B,EAAEiG,KAAKK,KAAK0W,OAAOpb,EAAEqK,EAAEjQ,EAAE4F,EAAE44B,QAAQ94B,GAAG,GAAG,MAAM,IAAI,MAAM,IAAIoK,EAAEooL,EAAE/0L,KAAKgG,IAAIw6M,UAAU3zM,EAAE7M,KAAKgG,IAAIw6M,UAAU1zM,EAAErK,EAAEgL,GAAGhL,EAAEiL,GAAGjL,EAAEoK,EAAEpK,EAAEqK,GAAGjM,EAAEiG,KAAKK,KAAK0W,OAAOlR,EAAEG,EAAEjQ,GAAG0F,GAAG,GAAG1B,EAAEiG,KAAKK,KAAK0W,OAAOlR,EAAEG,EAAEH,EAAEqnB,EAAEn3B,GAAG0F,GAAG,GAAG,MAAM,IAAI,MAAM,IAAIjC,EAAE40L,EAAEl1L,KAAKgG,IAAIw6M,UAAU3zM,EAAE7M,KAAKgG,IAAIw6M,UAAU1zM,EAAErK,EAAEgL,GAAGhL,EAAEiL,GAAGjL,EAAEkL,GAAGlL,EAAEmL,GAAGnL,EAAEoK,EAAEpK,EAAEqK,GAAGjM,EAAEiG,KAAKK,KAAK0W,OAAOvd,EAAEwM,EAAEjQ,GAAG0F,GAAG,GAAG1B,EAAEiG,KAAKK,KAAK0W,OAAOvd,EAAEwM,EAAExM,EAAE0zB,EAAEn3B,GAAG0F,GAAG,GAAG,MAAM,IAAI,OAAO1B,EAAEiG,KAAKK,KAAK0W,OAAOpb,EAAEqK,EAAEjQ,GAAG0F,GAAG,GAAG1B,EAAEiG,KAAKK,KAAK0W,OAAOpb,EAAEqK,EAAErK,EAAEuxB,EAAEn3B,GAAG0F,GAAG,GAAG,IAAI,IAAI3B,EAAE,EAAEA,EAAEC,EAAE/D,OAAO8D,GAAG,EAAE,KAAKZ,KAAKg+M,IAAInsB,SAAS0Q,mBAAmB1hM,EAAED,IAAIo0B,EAAEhzB,KAAKhC,MAAM,OAAOa,GAAGm0B,EAAE,WAAW,IAAIvyB,EAAEzC,KAAKsU,UAAUvT,EAAEf,KAAKuU,YAAYhS,EAAEvC,KAAKmL,KAAKtK,EAAEb,KAAK0U,QAAQ7X,EAAEmD,KAAKyU,UAAU9H,EAAE3M,KAAK2U,SAAS3U,KAAKg+M,IAAIxZ,UAAUxkM,KAAKsU,UAAU7R,EAAEzC,KAAKuU,YAAYxT,EAAEf,KAAKmL,KAAK5I,EAAEvC,KAAK0U,QAAQ7T,EAAEb,KAAKyU,UAAU5X,EAAEmD,KAAK2U,SAAShI,GAAGijL,EAAE,SAASntL,EAAE1B,EAAEwB,GAAG,IAAI,IAAI1B,EAAE,EAAEA,EAAE4B,EAAE3F,OAAO+D,IAAI,OAAO4B,EAAE5B,GAAGoQ,MAAM,IAAI,MAAMxO,EAAE5B,GAAG8M,IAAI5M,EAAE0B,EAAE5B,GAAG+M,IAAIrL,EAAE,IAAI,MAAME,EAAE5B,GAAG4M,IAAI1M,EAAE0B,EAAE5B,GAAG6M,IAAInL,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,QAAQE,EAAE5B,GAAGgM,GAAG9L,EAAE0B,EAAE5B,GAAGiM,GAAGvK,EAAE,OAAOE,GAAGotL,EAAE,SAASptL,GAAG,OAAOA,EAAEugD,MAAM,SAASvgD,EAAE1B,GAAG,OAAO0B,EAAE1B,MAAMwnH,EAAE,SAAS9lH,EAAE1B,GAAG,IAAI,IAAIwB,EAAE1B,EAAEhE,EAAEmD,KAAKsU,UAAU3H,EAAE3M,KAAKuU,YAAYjU,EAAEN,KAAK0U,QAAQ9T,EAAEZ,KAAKyU,UAAUvS,EAAEiF,KAAKwjD,IAAI/pD,EAAEZ,KAAKgG,IAAIwK,UAAUqB,QAAQmI,EAAEha,KAAK2U,SAASqf,EAAE9L,KAAKoc,MAAMpc,KAAKC,UAAUnoB,KAAKuN,OAAOxL,EAAEmmB,KAAKoc,MAAMpc,KAAKC,UAAUnoB,KAAKuN,OAAOtM,EAAE,GAAGkB,EAAE,EAAEA,EAAEJ,EAAEjF,OAAOqF,IAAI,QAAG,IAASJ,EAAEI,GAAG0K,EAAE,IAAI,IAAI5J,EAAE6J,EAAE9K,KAAKhC,KAAK+B,EAAEI,IAAI8H,EAAE,EAAEA,EAAEhH,EAAEnG,OAAOmN,GAAG,GAAG,IAAIhJ,EAAEoJ,QAAQpH,EAAEgH,KAAKhJ,EAAE6F,KAAK7D,EAAEgH,IAAI,IAAI,IAAIhI,EAAE,EAAEA,EAAEhB,EAAEnE,OAAOmF,IAAI,KAAKjC,KAAKg+M,IAAInsB,SAAS0Q,mBAAmBthM,EAAEgB,IAAI+yB,EAAEhzB,KAAKhC,MAAM,GAAG6vL,EAAE5uL,GAAGjB,KAAK6hN,WAAW,IAAI,IAAI30M,EAAEjM,EAAE,GAAGsnH,EAAEtnH,EAAEA,EAAEnE,OAAO,GAAG69B,EAAEztB,EAAEytB,EAAE4tF,EAAE,EAAE5tF,IAAI,CAAC36B,KAAKg+M,IAAI3b,QAAQ1nK,GAAG36B,KAAKsU,UAAUzX,EAAEmD,KAAKuU,YAAY5H,EAAE3M,KAAK0U,QAAQpU,EAAEN,KAAKyU,UAAUvS,EAAElC,KAAK2U,SAASqF,EAAE,IAAIua,EAAEv0B,KAAKg+M,IAAInsB,SAASkU,SAASn/L,MAAM5G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGhiD,EAAE,IAAIE,EAAE36B,KAAKs5G,KAAKt5G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAG76D,EAAE5hB,KAAKg+M,IAAInsB,SAASkU,SAASl/L,OAAO7G,KAAKs5G,KAAKt5G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGuzG,EAAEhwL,KAAKg+M,IAAInsB,SAASkU,SAASl/L,OAAO7G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAG97E,EAAE,IAAIg6B,EAAE,EAAE/Y,GAAG+Y,EAAE,GAAGq1J,EAAE,GAAG,IAAIhwL,KAAKgG,IAAIs6M,UAAUxjN,OAAO,CAAC,IAAI8uJ,EAAE5rJ,KAAKuN,KAAKhL,EAAE2lB,KAAKoc,MAAMpc,KAAKC,UAAUnoB,KAAKgG,IAAIs6M,YAAYtgN,KAAKuN,KAAKqiL,EAAErtL,EAAEvC,KAAKq5G,KAAKr5G,KAAKy8E,OAAO,IAAI97E,EAAE85B,EAAEz6B,KAAKgG,IAAI06M,wBAAwB7zM,EAAE7K,KAAKhC,KAAKyC,GAAE,GAAIzC,KAAKuN,KAAKq+I,EAAE,GAAG/qJ,EAAEqnB,KAAKoc,MAAMpc,KAAKC,UAAU6L,IAAIh0B,KAAKuN,KAAKqiL,EAAE/uL,EAAEb,KAAKq5G,KAAKr5G,KAAKy8E,OAAO,IAAI97E,EAAE85B,EAAEz6B,KAAKgG,IAAI06M,yBAAwB,IAAK3/M,GAAG,IAAI45B,EAAE,CAAC,IAAIvhB,GAAGuhB,EAAEztB,GAAGytB,EAAE4tF,IAAIr+G,EAAElI,KAAKhC,MAAMoZ,IAAIpZ,KAAKg+M,IAAI1pB,oBAAoBt0L,KAAKg+M,IAAItnM,KAAK1W,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGloD,EAAEy7J,EAAE,MAAM36K,OAAOkxL,eAAe15L,EAAE7K,KAAKhC,KAAKyC,EAAE1B,GAAGqY,GAAGpZ,KAAKg+M,IAAItpB,uBAAuB10L,KAAKyU,UAAU7T,OAAOZ,KAAKyU,UAAUvS,EAAE2K,EAAE7K,KAAKhC,KAAKyC,EAAE1B,GAAGf,KAAKyU,UAAU7T,EAAEZ,KAAKuN,KAAKymB,GAAGnnB,EAAE,SAASpK,EAAE1B,GAAG,IAAI,WAAW0B,GAAG1B,IAAImM,EAAElL,KAAKhC,SAAS,WAAWyC,GAAG1B,IAAIkB,EAAED,KAAKhC,OAAO,CAAC,IAAI,IAAIuC,EAAE1B,EAAEhE,EAAE,GAAG8P,EAAE3M,KAAKuN,KAAKjN,EAAE,EAAEA,EAAEqM,EAAE7P,OAAOwD,IAAI,CAAC,IAAIM,EAAE+L,EAAErM,GAAG,OAAOM,EAAEqQ,MAAM,IAAI,QAAQpU,EAAEiK,KAAK,CAAC2V,OAAM,IAAK,MAAM,IAAI,QAAQ5f,EAAEiK,KAAK,CAACggM,OAAM,IAAK,MAAM,IAAI,KAAKjqM,EAAEiK,KAAK,CAACgR,MAAMlX,EAAEkhN,OAAO,GAAGn3J,IAAI,KAAK,MAAM,IAAI,KAAK,IAAIzoD,EAAErF,EAAEC,OAAO,GAAG6P,EAAErM,EAAE,KAAK0N,MAAMrB,EAAErM,EAAE,GAAGuM,KAAKtK,EAAE,CAAC3B,EAAEiM,EAAEF,EAAErM,EAAE,GAAGuM,EAAEjM,EAAEkM,EAAEH,EAAErM,EAAE,GAAGwM,GAAG5K,EAAE,GAAG,KAAKA,GAAG,EAAEA,IAAI,IAAG,IAAKrF,EAAEqF,EAAE,GAAG4kM,QAAO,IAAKjqM,EAAEqF,EAAE,GAAGua,MAAM,CAAC5f,EAAEqF,EAAE,GAAG4/M,OAAOh7M,KAAKvE,GAAG1F,EAAEqF,EAAE,GAAGyoD,IAAI7jD,KAAKlG,GAAG,MAAM,MAAM,IAAI,MAAM2B,EAAE,CAAC3B,EAAE6M,GAAGd,EAAErM,EAAE,GAAGuM,EAAEjM,EAAE8M,GAAGf,EAAErM,EAAE,GAAGwM,EAAElM,EAAE+M,GAAGhB,EAAErM,EAAE,GAAGuM,EAAEjM,EAAEgN,GAAGjB,EAAErM,EAAE,GAAGwM,EAAElM,EAAEiM,EAAEF,EAAErM,EAAE,GAAGuM,EAAEjM,EAAEkM,EAAEH,EAAErM,EAAE,GAAGwM,GAAGjQ,EAAEA,EAAEC,OAAO,GAAGglN,OAAOh7M,KAAKvE,GAAG,MAAM,IAAI,MAAM,IAAIyX,EAAErN,EAAErM,EAAE,GAAGuM,EAAE,EAAE,GAAGjM,EAAE6M,GAAGd,EAAErM,EAAE,GAAGuM,GAAGmnB,EAAErnB,EAAErM,EAAE,GAAGwM,EAAE,EAAE,GAAGlM,EAAE8M,GAAGf,EAAErM,EAAE,GAAGwM,GAAG/K,EAAEnB,EAAEiM,EAAE,EAAE,GAAGjM,EAAE6M,GAAG7M,EAAEiM,GAAG5L,EAAEL,EAAEkM,EAAE,EAAE,GAAGlM,EAAE8M,GAAG9M,EAAEkM,GAAG3K,EAAEvB,EAAEiM,EAAE5J,EAAErC,EAAEkM,EAAEvK,EAAE,CAACyX,EAAErN,EAAErM,EAAE,GAAGuM,EAAEmnB,EAAErnB,EAAErM,EAAE,GAAGwM,EAAE/K,EAAE4K,EAAErM,EAAE,GAAGuM,EAAE5L,EAAE0L,EAAErM,EAAE,GAAGwM,EAAE3K,EAAEwK,EAAErM,EAAE,GAAGuM,EAAE5J,EAAE0J,EAAErM,EAAE,GAAGwM,GAAGjQ,EAAEA,EAAEC,OAAO,GAAGglN,OAAOh7M,KAAKvE,GAAG,MAAM,IAAI,MAAM1F,EAAEiK,KAAK,CAACg7M,OAAO,GAAGn3J,IAAI,GAAG5zC,KAAI,IAAKtW,MAAMC,QAAQ7D,EAAEA,EAAEC,OAAO,GAAG6tD,MAAM9tD,EAAEA,EAAEC,OAAO,GAAG6tD,IAAI7jD,KAAKlG,IAAIC,EAAEE,EAAE,KAAK,WAAW0B,EAAE,SAAS,OAAO,IAAI,IAAIwH,GAAE,EAAGC,EAAE,EAAEA,EAAErN,EAAEC,OAAOoN,IAAI,GAAGrN,EAAEqN,GAAG6M,IAAI,IAAI,IAAIjK,EAAEjQ,EAAEqN,GAAGygD,IAAI31B,EAAE,EAAEA,EAAEloB,EAAEhQ,OAAOk4B,IAAI,CAAC,IAAI46J,EAAE9iL,EAAEkoB,GAAG,QAAQ46J,EAAE3+K,KAAKwpB,EAAEz4B,KAAKhC,KAAK4vL,EAAE/iL,EAAE+iL,EAAE9iL,EAAE8iL,EAAEv0J,OAAOu0J,EAAE/vF,WAAW+vF,EAAE9vF,SAAS8vF,EAAE2xB,sBAAiB,EAAOxgN,GAAGkJ,GAAGmP,EAAEpX,KAAKhC,KAAK4vL,EAAE/iL,EAAE+iL,EAAE9iL,GAAG7C,GAAE,OAAQ,IAAG,IAAKpN,EAAEqN,GAAG48L,MAAM9mM,KAAKg+M,IAAInsB,SAASz7I,IAAI,KAAKnsC,GAAE,OAAQ,IAAG,IAAKpN,EAAEqN,GAAGuS,MAAM,CAAC,IAAIozK,EAAEhzL,EAAEqN,GAAG4N,MAAMjL,EAAE07G,EAAE1rH,EAAEqN,GAAG4N,MAAMhL,EAAEmoB,EAAEjzB,KAAKhC,KAAKnD,EAAEqN,GAAG43M,OAAOjyB,EAAEtnE,GAAGt+G,GAAE,EAAGpJ,GAAG+gB,EAAE5f,KAAKhC,KAAKa,GAAGE,GAAGivL,EAAEhuL,KAAKhC,QAAQ26B,EAAE,SAASl4B,GAAG,IAAI1B,EAAEf,KAAKg+M,IAAInsB,SAAS1vF,cAAcniG,KAAKg+M,IAAInsB,SAASmT,YAAYziM,EAAExB,GAAGf,KAAKg+M,IAAInsB,SAASgX,sBAAsB,GAAG,OAAO7oM,KAAKgG,IAAIkZ,cAAc,IAAI,SAAS,OAAOzc,EAAEF,EAAE,IAAI,MAAM,OAAOE,EAAE1B,EAAEwB,EAAE,IAAI,UAAU,OAAOE,EAAE1B,EAAE,EAAEwB,EAAE,IAAI,SAAS,OAAOE,EAAE1B,EAAE,EAAEwB,EAAE,IAAI,cAAc,OAAOE,EAAE,IAAI,aAAa,QAAQ,OAAOA,IAAI8xB,EAAE,SAAS9xB,GAAG,OAAOA,EAAEzC,KAAKg+M,IAAInsB,SAAS1vF,cAAcniG,KAAKg+M,IAAInsB,SAASmT,aAAahlM,KAAKg+M,IAAInsB,SAASgX,sBAAsB,IAAI5lM,EAAExF,UAAUwe,qBAAqB,WAAW,IAAIxZ,EAAE,aAAa,OAAOA,EAAEs/M,WAAW,GAAGt/M,EAAEmZ,aAAa,SAASnZ,EAAE1B,GAAGf,KAAK+hN,WAAWj7M,KAAK,CAACrE,EAAE1B,KAAK0B,EAAEumD,SAAS,WAAW,OAAO,IAAIhpD,KAAK+hN,WAAWjlN,OAAO,UAAUkD,KAAK+hN,WAAW,GAAG,IAAIt/M,EAAEk/M,kBAAiB,EAAGl/M,GAAGQ,EAAExF,UAAU+M,cAAc,WAAW,OAAOxK,KAAKic,wBAAwBhZ,EAAExF,UAAU4e,qBAAqB,WAAW,OAAOrc,KAAKic,wBAAwB,IAAIwe,EAAE,SAASh4B,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,EAAEsB,GAAG,IAAI,IAAI8X,EAAEkb,EAAElzB,KAAKhC,KAAKuC,EAAE1B,EAAEhE,EAAE8P,GAAGqnB,EAAE,EAAEA,EAAEha,EAAEld,OAAOk3B,IAAI,CAAC,IAAIjyB,EAAEiY,EAAEga,GAAG,IAAIA,IAAI9xB,EAAEvB,EAAEqB,KAAKhC,KAAK+B,EAAE0L,GAAGhL,EAAEV,EAAE2L,GAAG3M,GAAGqY,EAAEpX,KAAKhC,KAAK+B,EAAE0L,GAAGhL,EAAEV,EAAE2L,GAAG3M,IAAI6vL,EAAE5uL,KAAKhC,KAAKyC,EAAE1B,EAAEgB,EAAE4L,GAAG5L,EAAE6L,GAAG7L,EAAEmvM,GAAGnvM,EAAEigN,GAAGjgN,EAAEkvM,GAAGlvM,EAAEkgN,IAAIrhN,EAAEovL,EAAEhuL,KAAKhC,MAAM4hB,EAAE5f,KAAKhC,KAAKM,IAAIshB,EAAE,SAASnf,GAAG,OAAOA,GAAG,IAAI,SAASzC,KAAKg+M,IAAInsB,SAASz7I,IAAI,KAAK,MAAM,IAAI,OAAOp2C,KAAKg+M,IAAInsB,SAASz7I,IAAI,OAAO45I,EAAE,WAAWhwL,KAAKg+M,IAAI3oM,OAAOrV,KAAKg+M,IAAIzX,eAAe5lM,EAAE,SAAS8B,EAAE1B,GAAGf,KAAKg+M,IAAInsB,SAASz7I,IAAIv1C,EAAE4B,GAAG,IAAI5F,EAAEkE,GAAG,OAAO6qJ,EAAE,SAASnpJ,GAAG,IAAI1B,EAAE,OAAO0B,EAAEkP,OAAO,IAAI,QAAQ,IAAI,MAAM5Q,EAAE,QAAQ,MAAM,IAAI,SAASA,EAAE,SAAS,MAAM,IAAI,OAAO,IAAI,QAAQ,QAAQA,EAAE,OAAO,IAAIwB,EAAEvC,KAAKg+M,IAAIQ,kBAAkB/7M,EAAEwR,MAAMpT,EAAE85B,EAAE34B,KAAKhC,KAAKyC,EAAEqK,GAAGjQ,EAAE03B,EAAEvyB,KAAKhC,KAAKa,GAAG0B,EAAEyxB,EAAErnB,EAAE3M,KAAKgG,IAAIwK,UAAUT,aAAa,IAAI7N,EAAEO,EAAEoK,EAAEhM,IAAIP,EAAEN,KAAKgG,IAAIwK,UAAUyqL,YAAYr6L,EAAE,IAAIozB,EAAEpzB,GAAGA,GAAGA,EAAEA,EAAEy6L,SAAS/6L,EAAEuP,YAAYwrL,SAAS/6L,EAAEg7L,OAAOD,SAAS/6L,EAAEgQ,OAAO,IAAI,IAAIvO,EAAEd,EAAEkB,EAAEc,EAAEjD,KAAKgG,IAAIwK,UAAUirL,iBAAiB,IAAIzhL,EAAEvX,EAAEoK,EAAEhM,EAAE0B,EAAEyyB,EAAEzyB,EAAEyxB,IAAI/pB,EAAErJ,EAAE66L,iBAAiB,IAAIzhL,EAAEvX,EAAEoK,EAAEhQ,EAAE0F,EAAEyyB,EAAEzyB,EAAEyxB,IAAI/xB,EAAE6K,EAAE9K,KAAKhC,KAAKiK,GAAGiD,EAAE,GAAG8nB,EAAE,EAAEA,EAAE/yB,EAAEnF,OAAOk4B,GAAG,GAAG,IAAI9nB,EAAE7C,QAAQpI,EAAE+yB,KAAK9nB,EAAEpG,KAAK7E,EAAE+yB,IAAI,GAAG66J,EAAE3iL,GAAGlN,KAAK6hN,WAAW,IAAI,IAAIt5F,EAAEr7G,EAAE,GAAGutB,EAAEvtB,EAAEA,EAAEpQ,OAAO,GAAG8kB,EAAE2mG,EAAE3mG,EAAE6Y,EAAE,EAAE7Y,IAAI,CAAC5hB,KAAKg+M,IAAI3b,QAAQzgL,GAAG,IAAIouK,EAAE,IAAIpuK,EAAE5hB,KAAKs5G,KAAKt5G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAG97E,EAAEX,KAAKg+M,IAAInsB,SAASkU,SAASl/L,OAAO7G,KAAKs5G,KAAKt5G,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGmvE,EAAE5rJ,KAAKg+M,IAAInsB,SAASkU,SAASl/L,OAAO7G,KAAKy8E,OAAO,GAAGrjE,EAAEwyI,EAAE5rJ,KAAKy8E,OAAO,GAAGxnD,EAAEj1B,KAAKg+M,IAAInsB,SAASkU,SAASn/L,MAAM5G,KAAKy8E,OAAO,GAAGm0G,EAAE37J,EAAEj1B,KAAKy8E,OAAO,GAAGvnD,EAAE,IAAItT,EAAE,EAAEjhB,GAAGihB,EAAE,GAAGxI,EAAE,GAAG,IAAIpZ,KAAKgG,IAAIs6M,UAAUxjN,OAAO,CAAC,IAAIo0L,EAAElxL,KAAKuN,KAAKxL,EAAEmmB,KAAKoc,MAAMpc,KAAKC,UAAUnoB,KAAKgG,IAAIs6M,YAAYtgN,KAAKuN,KAAKqiL,EAAE7tL,EAAE/B,KAAKq5G,KAAKr5G,KAAKy8E,OAAO,IAAI,EAAEvnD,EAAE86J,GAAGnjL,EAAE7K,KAAKhC,KAAK,QAAO,GAAIA,KAAKuN,KAAK2jL,EAAE,IAAI7oE,EAAEunE,EAAE,CAAC1nK,KAAKoc,MAAMpc,KAAKC,UAAUle,KAAKjK,KAAKq5G,KAAKr5G,KAAKy8E,OAAO,IAAIvnD,EAAE86J,EAAEhwL,KAAKgG,IAAI06M,wBAAwB,GAAGj+M,EAAE6N,OAAO,MAAMrP,EAAEjB,KAAKg+M,IAAInsB,SAAS1vF,cAAcniG,KAAKg+M,IAAIp8G,YAAY3gG,EAAEwB,EAAE6N,OAAOnO,EAAEnC,KAAKyU,UAAUzU,KAAKyU,UAAUtS,EAAEM,EAAE6N,OAAO,IAAIykL,EAAE,SAAS/0L,KAAK6hN,WAAW,GAAG9sB,GAAG1sE,EAAEv7G,EAAEu7G,EAAEr0F,GAAG43H,GAAG,GAAGmpC,GAAG1sE,EAAEv7G,GAAGkjL,GAAG3nE,EAAEx7G,GAAGooB,EAAE,CAAC,IAAIigK,EAAEH,EAAEtyL,EAAEwR,KAAKjU,KAAKg+M,IAAI7Y,gBAAgB1iM,EAAEwR,KAAKxR,EAAE+8E,UAAUvqD,EAAEozF,EAAEx7G,GAAG,GAAGuoL,EAAExF,EAAE,CAAC1nK,KAAKoc,MAAMpc,KAAKC,UAAUllB,KAAKjD,KAAKq5G,KAAKr5G,KAAKy8E,OAAO,IAAIvnD,EAAE86J,EAAEhwL,KAAKgG,IAAI06M,wBAAwB,GAAGr5I,EAAE0tH,IAAInzK,EAAE2mG,GAAG3mG,EAAE6Y,IAAIvwB,EAAElI,KAAKhC,MAAMqnE,IAAIrnE,KAAKg+M,IAAI1pB,oBAAoBt0L,KAAKg+M,IAAItnM,KAAK1W,KAAKy8E,OAAO,GAAGz8E,KAAKy8E,OAAO,GAAGm0G,EAAEx3K,EAAE,MAAM/D,OAAOkxL,eAAevmM,KAAKg+M,IAAI/pM,KAAKihL,EAAEE,EAAEvoL,EAAEuoL,EAAEtoL,EAAE,CAACmD,MAAMxN,EAAEwN,MAAM0B,MAAM5Q,EAAE8kM,cAAcpjM,EAAEojM,gBAAgBx+H,GAAGrnE,KAAKg+M,IAAItpB,6BAA6BrsE,EAAEv7G,EAAE8+I,IAAI5rJ,KAAKgG,IAAI06M,wBAAwB90D,EAAEvjC,EAAEv7G,GAAGrK,EAAE6N,OAAO,MAAMtQ,KAAKg+M,IAAIp8G,YAAY3gG,GAAGjB,KAAKyU,UAAUtS,QAAQM,EAAE6N,OAAO,MAAMrP,EAAEjB,KAAKg+M,IAAInsB,SAAS1vF,cAAcniG,KAAKg+M,IAAIp8G,YAAY3gG,EAAEwB,EAAE6N,OAAOnO,EAAEnC,KAAKyU,UAAUzU,KAAKyU,UAAUtS,EAAEM,EAAE6N,OAAOtQ,KAAKg+M,IAAI/pM,KAAKxR,EAAEwR,KAAKtH,EAAEE,EAAE7M,KAAKq5G,KAAK1sG,EAAEG,EAAE9M,KAAKs5G,KAAK,CAACrpG,MAAMxN,EAAEwN,MAAM0B,MAAM5Q,EAAE8kM,cAAcpjM,EAAEojM,cAAcrmH,SAAS/8E,EAAE+8E,WAAW/8E,EAAE6N,OAAO,MAAMtQ,KAAKg+M,IAAIp8G,YAAY3gG,GAAGjB,KAAKyU,UAAUtS,IAAIiX,EAAE,SAAS3W,EAAE1B,EAAEwB,EAAEoK,GAAGpK,EAAEA,GAAG,EAAEoK,EAAEA,GAAG,EAAE3M,KAAKg+M,IAAInsB,SAASz7I,IAAIv1C,EAAE4B,EAAEF,GAAG,IAAI1F,EAAEkE,EAAE4L,GAAG,OAAOsoB,EAAE,SAASxyB,EAAE1B,EAAEwB,GAAG,OAAOvC,KAAKg+M,IAAIxlK,MAAM/1C,EAAE1B,EAAEwB,EAAE,KAAK,OAAOquL,EAAE,SAASnuL,EAAE1B,EAAEF,EAAEhE,EAAE8P,EAAEzK,EAAE8X,EAAEga,GAAGh0B,KAAKg+M,IAAInsB,SAASz7I,IAAI,CAAC7zC,EAAEjC,EAAEO,EAAE4B,IAAIF,EAAE3B,EAAE/D,EAAEkE,IAAIwB,EAAEjC,EAAEqM,EAAElK,IAAIF,EAAE3B,EAAEsB,EAAEnB,IAAIwB,EAAEjC,EAAE0Z,EAAEvX,IAAIF,EAAE3B,EAAEozB,EAAEjzB,IAAI,KAAKsL,KAAK,OAAO6oB,EAAE,SAASzyB,EAAE1B,EAAEwB,EAAE1B,GAAG,IAAI,IAAIhE,EAAE,EAAEsK,KAAKsE,GAAGkB,EAAExF,KAAKsE,GAAG,EAAE1K,EAAEwB,GAAGxB,GAAGlE,EAAE,IAAIyD,EAAE6G,KAAKwjD,IAAIpoD,EAAExB,GAAGT,EAAEzD,GAAGgE,IAAIP,EAAEzD,EAAEyD,GAAG,IAAI,IAAIM,EAAE,GAAGsB,EAAErB,GAAG,EAAE,EAAEmZ,EAAEjZ,EAAET,EAAE,MAAM,CAAC,IAAI0zB,EAAEha,EAAE9X,EAAEiF,KAAK6K,IAAI1R,EAAEqM,GAAG/L,EAAEkG,KAAKoqL,EAAElvL,KAAKhC,KAAKyC,EAAEuX,EAAEga,IAAI1zB,GAAG6G,KAAKwjD,IAAI32B,EAAEha,GAAGA,EAAEga,EAAE,OAAOpzB,GAAGswL,EAAE,SAASzuL,EAAE1B,EAAEwB,GAAG,IAAI1B,GAAG0B,EAAExB,GAAG,EAAElE,EAAE4F,EAAE0E,KAAKiJ,IAAIvP,GAAG8L,EAAElK,EAAE0E,KAAKkJ,IAAIxP,GAAGP,EAAEzD,EAAE+D,GAAG+L,EAAEzK,EAAE5B,EAAEA,EAAEM,EAAEA,EAAEoZ,EAAE9X,EAAE5B,EAAEzD,EAAE+D,EAAE+L,EAAEqnB,EAAE,EAAE,GAAG7sB,KAAKC,KAAK,EAAElF,EAAE8X,GAAGA,IAAI1Z,EAAEqM,EAAE/L,EAAE/D,GAAGkF,EAAEzB,EAAE0zB,EAAEpzB,EAAEK,EAAEL,EAAEozB,EAAE1zB,EAAE6B,EAAEJ,EAAEkB,GAAGhC,EAAEgJ,EAAEpJ,EAAEE,EAAEkB,EAAEkF,KAAKiJ,IAAInG,GAAGiD,EAAE/F,KAAKkJ,IAAIpG,GAAG,MAAM,CAACwD,GAAGhL,EAAE0E,KAAKiJ,IAAIrP,GAAG2M,GAAGjL,EAAE0E,KAAKkJ,IAAItP,GAAG4M,GAAG5L,EAAEE,EAAEhB,EAAEiM,EAAEU,GAAG7L,EAAEmL,EAAEjM,EAAEgB,EAAEivM,GAAG/uM,EAAEF,EAAEgB,EAAEiK,EAAE80M,GAAG7/M,EAAE+K,EAAEjK,EAAEhB,EAAEgvM,GAAGxuM,EAAE0E,KAAKiJ,IAAI7N,GAAG0/M,GAAGx/M,EAAE0E,KAAKkJ,IAAI9N,KAAK8lH,EAAE,SAAS5lH,GAAG,OAAO,IAAIA,EAAE0E,KAAKsE,IAAIspL,EAAE,SAAStyL,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,GAAG,IAAIrM,EAAEmC,EAAE,IAAIF,EAAEE,GAAG7B,EAAEG,EAAE,IAAIF,EAAEE,GAAGmB,EAAErF,EAAE,IAAI0F,EAAE1F,GAAGm3B,EAAErnB,EAAE,IAAI9L,EAAE8L,GAAG5K,EAAEoF,KAAK6K,IAAIvP,EAAE5F,EAAEyD,EAAE4B,GAAGjB,EAAEkG,KAAK+K,IAAIzP,EAAE5F,EAAEyD,EAAE4B,GAAGC,EAAEgF,KAAK6K,IAAIjR,EAAE4L,EAAE/L,EAAEozB,GAAG/wB,EAAEkE,KAAK+K,IAAInR,EAAE4L,EAAE/L,EAAEozB,GAAG,OAAO,IAAIha,EAAEjY,EAAEI,EAAElB,EAAEc,EAAEkB,EAAEd,IAAI+yL,EAAE,SAASzyL,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,GAAG,IAAIsB,EAAE8xB,EAAEjyB,EAAEd,EAAEkB,EAAEc,EAAEgH,EAAEhI,EAAEiL,EAAEhD,EAAE4C,EAAEkoB,EAAE46J,EAAEC,EAAEtnE,EAAEhmH,EAAEE,EAAEoK,EAAEhM,EAAEE,EAAE45B,EAAE99B,EAAE0F,EAAEgyB,EAAE5nB,EAAE9L,EAAE45B,EAAEn6B,EAAEzD,EAAE+kB,EAAEhhB,EAAE+L,EAAE,IAAIqnB,EAAE,EAAEA,EAAE,GAAGA,IAAI9mB,GAAGjD,GAAGlI,EAAEU,GAAGP,EAAE8xB,EAAE,IAAIu0F,GAAGrmH,IAAIC,EAAEI,EAAEL,EAAEy4B,GAAG54B,IAAIG,GAAGC,EAAED,GAAGrF,EAAEqF,EAAEu4B,EAAEt4B,GAAG8H,GAAGC,GAAGjI,GAAGhB,EAAEF,EAAEmB,EAAE2K,GAAG3K,IAAIe,EAAEpC,EAAEqB,EAAEqyB,GAAGtzB,IAAIiB,GAAGe,EAAEf,GAAGyK,EAAEzK,EAAE0f,EAAE3e,GAAGhB,GAAG,GAAG+xB,GAAGlnB,EAAEI,EAAE8nB,EAAE9qB,EAAE0lL,EAAE1iL,EAAE2iL,EAAE3lL,IAAI4C,EAAE3F,KAAK6K,IAAIlF,EAAEI,GAAG8nB,EAAE7tB,KAAK6K,IAAIgjB,EAAE9qB,GAAG0lL,EAAEzoL,KAAK+K,IAAI09K,EAAE1iL,GAAG2iL,EAAE1oL,KAAK+K,IAAI29K,EAAE3lL,IAAI,OAAO,IAAI8P,EAAE7S,KAAKi9G,MAAMt3G,GAAG3F,KAAKi9G,MAAMpvF,GAAG7tB,KAAKi9G,MAAMwrE,EAAE9iL,GAAG3F,KAAKi9G,MAAMyrE,EAAE76J,KAAKogK,EAAE,WAAW,GAAGp1L,KAAKkiN,cAAcliN,KAAKgG,IAAIy6M,SAAS3jN,QAAQkD,KAAKgG,IAAIkP,eAAe,CAAC,IAAIzS,EAAE1B,EAAEwB,GAAGE,EAAEzC,KAAKgG,IAAIy6M,SAAS1/M,EAAEf,KAAKgG,IAAIkP,eAAegT,KAAKC,UAAU,CAACs4L,SAASh+M,EAAEyS,eAAenU,KAAKf,KAAKkiN,eAAe3/M,IAAIvC,KAAKg+M,IAAIlpM,YAAY9U,KAAKgG,IAAIy6M,SAASzgN,KAAKgG,IAAIkP,gBAAgBlV,KAAKkiN,aAAa3/M,KAAxn3B,CAA8n3B2uL,EAAE4M,KASx5sC,SAASr7L,GAAG,IAAIF,EAAE,SAASE,GAAG,IAAI1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,EAAEsB,EAAE8X,EAAEga,EAAE,IAAI,eAAeuO,KAAK9/B,GAAGF,EAAE,GAAG1B,EAAE,EAAEhE,GAAG4F,GAAG1B,EAAE,WAAWixC,MAAMvvC,EAAE3F,OAAO,GAAG,IAAIA,OAAOD,EAAEgE,EAAEA,GAAG,EAAE,KAAK8L,GAAGlK,EAAE4oC,WAAWxqC,IAAI,KAAK4B,EAAE4oC,WAAWxqC,EAAE,IAAI,KAAK4B,EAAE4oC,WAAWxqC,EAAE,IAAI,GAAG4B,EAAE4oC,WAAWxqC,EAAE,KAAKP,GAAGqM,IAAIA,IAAIA,IAAIA,GAAGA,GAAGqnB,EAAErnB,EAAE,KAAK,KAAKqN,EAAErN,EAAE,KAAK,KAAKzK,EAAEyK,EAAE,KAAK,KAAK/L,EAAE+L,EAAE,KAAK,IAAI,GAAGpK,EAAEuE,KAAKxG,EAAE,GAAGM,EAAE,GAAGsB,EAAE,GAAG8X,EAAE,GAAGga,EAAE,KAAKzxB,EAAEuE,KAAK,KAAK,OAAO,SAASrE,EAAE1B,GAAG,IAAI,IAAIwB,EAAExB,EAAEwB,EAAE,EAAEA,IAAIE,EAAEuE,MAApC,CAA2CzE,EAAExB,EAAEjE,QAAQ66B,OAAOE,aAAaz3B,MAAMu3B,OAAOp1B,GAAG,MAAM1B,EAAE,SAAS4B,GAAG,IAAI1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEq3B,OAAO/2B,EAAE,SAASsB,EAAE,IAAI8X,EAAE,aAAaga,EAAE,QAAQjyB,EAAE,UAAU,IAAIU,EAAEuxB,IAAI,GAAGvxB,EAAEA,EAAEuxB,GAAG,GAAG,GAAGjyB,GAAG,MAAM,IAAIA,GAAG,IAAI,SAASlB,EAAE,GAAGhE,EAAE,EAAE8P,GAAGlK,GAAG1B,EAAE,QAAQizB,GAAGvxB,EAAE7B,GAAG,GAAG,IAAIA,GAAG+L,EAAE9P,EAAEA,GAAG,EAAE0F,EAAE,UAAUE,EAAEuX,GAAGnd,GAAG,IAAI,QAAQ4F,EAAEuX,GAAGnd,EAAE,GAAG,IAAI,MAAM4F,EAAEuX,GAAGnd,EAAE,GAAG,IAAI,IAAI4F,EAAEuX,GAAGnd,EAAE,GAAG,KAAK4F,EAAEuX,GAAGnd,EAAE,GAAG,IAAIgE,EAAEiG,KAAK5E,EAAEK,GAAG,GAAGL,EAAEK,GAAG,GAAGL,EAAEK,GAAG,EAAEL,EAAEK,GAAG,OAAO,SAASE,EAAE1B,GAAG,IAAI,IAAIwB,EAAExB,EAAEwB,EAAE,EAAEA,IAAIE,EAAEuE,MAApC,CAA2CnG,EAAEE,EAAEH,IAAIN,EAAEu3B,aAAaz3B,MAAME,EAAEO,IAAIhE,EAAE,SAAS4F,GAAG,IAAI1B,EAAE,IAAI65B,OAAO,uBAAuB,IAAI,KAAKn4B,EAAEA,EAAEgF,QAAQ,MAAM,KAAK4C,QAAQ,OAAO5H,EAAEA,EAAEof,OAAO,EAAEpf,EAAE4H,QAAQ,OAAO5H,EAAE3F,OAAO,IAAI2F,GAAG,MAAK,IAAK1B,EAAEwhC,KAAK9/B,GAAG,MAAM,GAAG,IAAI,IAAIF,EAAE,GAAG1B,EAAE,EAAEA,EAAE4B,EAAE3F,OAAO+D,GAAG,EAAE0B,GAAGo1B,OAAOE,aAAa,MAAMp1B,EAAE5B,GAAG4B,EAAE5B,EAAE,KAAK,OAAO0B,GAAGoK,EAAE,SAASlK,GAAG,IAAI,IAAIF,EAAE,IAAIi1E,WAAW/0E,EAAE3F,QAAQ+D,EAAE4B,EAAE3F,OAAO+D,KAAK0B,EAAE1B,GAAG4B,EAAE4oC,WAAWxqC,GAAG,OAAU0B,EAAExB,YAAEwB,IAAIwsE,QAAQ,SAAStsE,EAAE1B,GAAG,OAAO0B,EAAEk1B,OAAOE,aAAa92B,KAAK,KAAK0B,EAAEs7L,qBAAqB,SAASt7L,EAAE1B,GAAG,IAAIT,EAAE,EAAEM,EAAE6B,GAAG,GAAGP,EAAE,GAAG,IAAI,iBAAiBnB,EAAEA,GAAG,MAAMA,EAAE,CAACA,IAAIT,EAAE,EAAEA,EAAES,EAAEjE,OAAOwD,GAAG,EAAE,OAAOS,EAAET,IAAI,IAAI,gBAAgB,IAAI,iBAAiBM,EAAEC,EAAED,GAAGsB,EAAE4E,KAAK,kBAAkB,MAAM,IAAI,gBAAgB,IAAI,iBAAiBlG,EAAE2B,EAAE3B,GAAGsB,EAAE4E,KAAK,kBAAkB,MAAM,IAAI,iBAAiB,IAAI,kBAAkBlG,EAAE/D,EAAE+D,GAAGsB,EAAE4E,KAAK,mBAAmB,MAAM,IAAI,iBAAiB,IAAI,kBAAkBlG,EAAEA,EAAE2L,MAAM,IAAIkb,KAAK,SAAShlB,GAAG,OAAO,IAAIA,EAAE4oC,aAAaj/B,SAAS,KAAK4lC,OAAO,MAAM3lC,KAAK,IAAI,IAAInK,EAAE4E,KAAK,mBAAmB,MAAM,IAAI,cAAc,IAAI,eAAelG,EAAE+L,EAAE/L,GAAGsB,EAAE4E,KAAK,gBAAgB,MAAM,QAAQ,MAAM,IAAIo4B,MAAM,gBAAgBn+B,EAAET,GAAG,wBAAwB,MAAM,CAAC0Q,KAAKpQ,EAAEo9L,aAAa97L,EAAE8d,UAAU3T,KAAK,OAA5/D,CAAogE6kL,EAAE4M,MAS7/Dr7L,GAAsjByuL,EAAE4M,KAAnjB+V,SAAS,SAASpxM,EAAE1B,EAAEwB,GAAG,OAAO,SAASE,EAAE1B,EAAEwB,GAAGxB,GAAE,IAAKA,EAAEwB,EAAE,mBAAmBA,EAAEA,EAAE,aAAa,IAAI1B,OAAE,EAAO,IAAIA,EAAE,SAAS4B,EAAE1B,EAAEwB,GAAG,IAAI1B,EAAE,IAAIiH,eAAejL,EAAE,EAAE8P,EAAE,SAASlK,GAAG,IAAI1B,EAAE0B,EAAE3F,OAAOyF,EAAE,GAAG1B,EAAE82B,OAAOE,aAAa,IAAIh7B,EAAE,EAAEA,EAAEkE,EAAElE,GAAG,EAAE0F,EAAEuE,KAAKjG,EAAE,IAAI4B,EAAE4oC,WAAWxuC,KAAK,OAAO0F,EAAE8J,KAAK,KAAK,GAAGxL,EAAEmH,KAAK,MAAMvF,GAAG1B,GAAGF,EAAEshN,iBAAiB,uCAAsC,IAAKphN,IAAIF,EAAEogB,OAAO,WAAW,MAAMpgB,EAAE2lL,OAAOjkL,EAAEoK,EAAE3M,KAAKkI,eAAe3F,OAAE,KAAU1B,EAAEoH,KAAK,MAAMlH,GAAG,MAAMF,EAAE2lL,OAAO,OAAO75K,EAAE9L,EAAEqH,cAAjX,CAAgYzF,EAAE1B,EAAEwB,GAAG,MAAME,IAAI,OAAO5B,EAA1e,CAA6e4B,EAAE1B,EAAEwB,IAAIE,GAAE2/M,cAAc3/M,GAAEoxM,SAAiB,SAAS9yM,GAAG,SAASwB,IAAI,OAAO1B,EAAEwhN,YAAYvrL,QAAQw8F,QAAQzyH,EAAEwhN,aAAa,8CAAuBnrL,OAAO,SAASz0B,GAAG,OAAOq0B,QAAQy8F,OAAO,IAAIr0F,MAAM,+BAA+Bz8B,OAAOkxH,MAAM,SAASlxH,GAAG,OAAOA,EAAE+wB,QAAQ/wB,EAAE+wB,QAAQ/wB,KAAK,SAAS5F,IAAI,OAAOgE,EAAEyhN,UAAUxrL,QAAQw8F,QAAQzyH,EAAEyhN,WAAW,mCAAqBprL,OAAO,SAASz0B,GAAG,OAAOq0B,QAAQy8F,OAAO,IAAIr0F,MAAM,6BAA6Bz8B,OAAOkxH,MAAM,SAASlxH,GAAG,OAAOA,EAAE+wB,QAAQ/wB,EAAE+wB,QAAQ/wB,KAAK,IAAIkK,EAAE,SAAS5L,GAAG,IAAIwB,EAAEE,IAAE1B,GAAG,MAAM,cAAcwB,EAAE,YAAY,WAAWA,GAAGxB,aAAa42B,OAAO,SAAS,WAAWp1B,GAAGxB,aAAa8M,OAAO,SAAS,aAAatL,GAAGxB,aAAam3B,SAAS,WAAWn3B,GAAGA,EAAEtB,cAAcgB,MAAM,QAAQM,GAAG,IAAIA,EAAE8S,SAAS,UAAU,WAAWtR,EAAE,SAAS,WAAWjC,EAAE,SAASmC,EAAE1B,GAAG,IAAIwB,EAAEe,SAASsX,cAAcnY,GAAG,IAAI,IAAI5B,KAAKE,EAAE4jB,YAAYpiB,EAAEoiB,UAAU5jB,EAAE4jB,WAAW5jB,EAAEomB,WAAWpmB,EAAEwhN,YAAYhgN,EAAE4kB,UAAUpmB,EAAEwhN,UAAUC,SAASzhN,EAAEomB,YAAYpmB,EAAE2R,MAAMnQ,EAAEmQ,MAAM7R,GAAGE,EAAE2R,MAAM7R,GAAG,OAAO0B,GAAG3B,EAAE,SAAS6B,EAAE1B,GAAG,IAAIwB,EAAEpF,OAAOu6B,OAAOj1B,EAAEggN,QAAQ3rL,QAAQw8F,WAAWprG,KAAKoc,MAAMpc,KAAKC,UAAU1lB,EAAEiwK,YAAY7xK,EAAE4B,EAAEggN,QAAQ3rL,QAAQw8F,UAAU/wH,GAAG,OAAU1B,EAAEA,EAAE6hN,YAAY,EAAEjgN,EAAE,EAAE,CAACA,KAAK+J,IAAIzL,KAAKH,EAAEnD,UAAUN,OAAOqC,OAAOs3B,QAAQr5B,YAAYgC,YAAYmB,EAAEA,EAAE6hN,QAAQ,SAAShgN,EAAE1B,GAAG,OAAO0B,EAAEmlC,UAAU7mC,GAAGH,EAAEnD,UAAUgF,GAAG7B,EAAE8xK,SAAS,CAACltK,KAAK,CAAC2b,IAAI,KAAK2tG,UAAU,KAAKG,QAAQ,KAAKxpH,OAAO,KAAKqb,IAAI,KAAKk9L,IAAI,KAAKjY,SAAS,KAAKx6J,SAAS,cAAc7tB,SAAS,CAACgG,IAAI,EAAEqhD,MAAM,KAAKlkE,EAAE,EAAEi8B,MAAM,IAAI6lD,IAAI,CAACghH,SAAS,WAAWlnH,OAAO,CAAC,EAAE,EAAE,EAAE,GAAGkmI,aAAY,EAAG91M,EAAE,EAAEC,EAAE,EAAEu1M,YAAY,GAAGO,MAAM,GAAGx8I,gBAAgB,gBAAgBxlE,EAAEnD,UAAUsb,KAAK,SAAStW,EAAE1B,GAAG,OAAOf,KAAK2zH,MAAM,WAAW,OAAO5yH,EAAEA,GAAG,SAAS0B,GAAG,OAAOkK,EAAElK,IAAI,IAAI,SAAS,MAAM,SAAS,IAAI,UAAU,MAAM,WAAWA,EAAEqR,SAAS+E,cAAc,SAAS,UAAU,QAAQ,MAAM,WAA9I,CAA0JpW,IAAI,IAAI,SAAS,OAAOzC,KAAK2zH,KAAK92H,GAAG82H,MAAM,SAAS5yH,GAAG,OAAOf,KAAKwM,IAAI,CAAC2U,IAAI7gB,EAAE,MAAM,CAAC6mB,UAAU1kB,EAAE8/M,UAAUxhN,SAAS,IAAI,UAAU,OAAOf,KAAKwM,IAAI,CAAC2U,IAAI1e,IAAI,IAAI,SAAS,OAAOzC,KAAKwM,IAAI,CAAC/G,OAAOhD,IAAI,IAAI,MAAM,OAAOzC,KAAKwM,IAAI,CAACsU,IAAIre,IAAI,QAAQ,OAAOzC,KAAKmzB,MAAM,6BAA6BvyB,EAAEnD,UAAU+f,GAAG,SAAS/a,GAAG,OAAOA,GAAG,IAAI,YAAY,OAAOzC,KAAK6iN,cAAc,IAAI,SAAS,OAAO7iN,KAAK8iN,WAAW,IAAI,MAAM,OAAO9iN,KAAK+iN,QAAQ,IAAI,MAAM,OAAO/iN,KAAKgjN,QAAQ,QAAQ,OAAOhjN,KAAKmzB,MAAM,qBAAqBvyB,EAAEnD,UAAUolN,YAAY,WAAW,OAAO7iN,KAAKijN,SAAS,CAAC,WAAW,OAAOjjN,KAAKwF,KAAK2b,KAAKnhB,KAAKmzB,MAAM,uCAAuC,WAAW,OAAOnzB,KAAKwF,KAAKugM,UAAU/lM,KAAKkjN,iBAAiBvvF,MAAM,WAAW,IAAIlxH,EAAE,CAACkgC,SAAS,WAAWve,QAAQ,eAAexd,OAAO,iBAAiB5G,KAAK2iF,IAAI/7E,OAAOoH,MAAMhO,KAAK2iF,IAAI/7E,QAAQ,iBAAiB5G,KAAK2iF,IAAIwgI,aAAan1M,MAAMhO,KAAK2iF,IAAIwgI,aAAah8M,KAAK+K,IAAIlS,KAAKwF,KAAK2b,IAAIyE,YAAY5lB,KAAKwF,KAAK2b,IAAIu2E,YAAY13F,KAAKwF,KAAK2b,IAAIqsI,aAAaxtJ,KAAK2iF,IAAIwgI,aAAa,KAAKtsK,KAAK,EAAEgsC,MAAM,EAAE9rC,IAAI,EAAE0lC,OAAO,OAAOrW,gBAAgBpmE,KAAK2iF,IAAIvc,iBAAiBrlE,EAAE,SAAS0B,EAAE1B,EAAEwB,GAAG,IAAI,IAAI1B,EAAE,IAAIE,EAAE8S,SAASvQ,SAAS2vB,eAAelyB,EAAEukC,WAAWvkC,EAAEquC,WAAU,GAAIvyC,EAAEkE,EAAEu+B,WAAWziC,EAAEA,EAAEA,EAAEwiC,aAAY,IAAK98B,GAAG,IAAI1F,EAAEgX,UAAU,WAAWhX,EAAEiX,UAAUjT,EAAEyjB,YAAY7hB,EAAE5F,EAAE0F,IAAI,OAAO,IAAIxB,EAAE8S,WAAW,WAAW9S,EAAE+S,UAAUjT,EAAE+F,MAAM7F,EAAE6F,MAAM/F,EAAEgG,OAAO9F,EAAE8F,OAAOhG,EAAEia,WAAW,MAAMsG,UAAUrgB,EAAE,EAAE,IAAI,aAAaA,EAAE+S,UAAU,WAAW/S,EAAE+S,WAAWjT,EAAEnB,MAAMqB,EAAErB,OAAOmB,EAAEyyB,iBAAiB,QAAQ,WAAWzyB,EAAEy+C,UAAUv+C,EAAEu+C,UAAUz+C,EAAEw+C,WAAWt+C,EAAEs+C,cAAa,IAAKx+C,EAA3d,CAA8db,KAAKwF,KAAK2b,IAAInhB,KAAK2iF,IAAI0/H,YAAYe,mBAAmB,SAASriN,EAAE0kC,UAAUhjC,EAAEoE,OAAOM,KAAK+K,IAAI5O,SAAS+gB,KAAKg5J,aAAa/5K,SAAS+gB,KAAK4pI,aAAa3qJ,SAASkiB,gBAAgBK,aAAaviB,SAASkiB,gBAAgB63J,aAAa/5K,SAASkiB,gBAAgByoI,cAAc,MAAMjuJ,KAAKwF,KAAKypH,QAAQ3uH,EAAE,MAAM,CAACqkB,UAAU,oBAAoBjS,MAAM,CAACiwB,SAAS,QAAQu9C,SAAS,SAAS/oC,OAAO,IAAIN,KAAK,YAAYgsC,MAAM,EAAED,OAAO,EAAE7rC,IAAI,KAAK/2C,KAAKwF,KAAKspH,UAAUxuH,EAAE,MAAM,CAACqkB,UAAU,sBAAsBjS,MAAMjQ,IAAIzC,KAAKwF,KAAKspH,UAAUxqG,YAAYvjB,GAAGf,KAAKwF,KAAKspH,UAAUxvF,WAAWhb,YAAYhkB,EAAE,MAAM,CAACoS,MAAM,CAACspC,MAAM,OAAO+jI,OAAO,qBAAqBtjG,OAAO,EAAEjQ,QAAQ,EAAE3lE,OAAO,MAAM7G,KAAKwF,KAAKspH,UAAUp8G,MAAM2wM,MAAM,OAAOrjN,KAAKwF,KAAKypH,QAAQ3qG,YAAYtkB,KAAKwF,KAAKspH,WAAWxrH,SAAS+gB,KAAKC,YAAYtkB,KAAKwF,KAAKypH,SAASjvH,KAAKwF,KAAKspH,UAAUxvF,WAAW5sB,MAAMiwB,SAAS,WAAW3iC,KAAKwF,KAAKspH,UAAUjoH,OAAOM,KAAK+K,IAAIlS,KAAKwF,KAAKspH,UAAUxvF,WAAWzZ,aAAa7lB,KAAKwF,KAAKspH,UAAUxvF,WAAW+9I,aAAar9K,KAAKwF,KAAKspH,UAAUxvF,WAAW2uH,cAAc,SAASrtJ,EAAEnD,UAAUqlN,SAAS,WAAW,IAAIrgN,EAAE,CAAC,WAAW,OAAOa,SAAS+gB,KAAK87B,SAASngD,KAAKwF,KAAKspH,YAAY9uH,KAAK6iN,gBAAgB,OAAO7iN,KAAKijN,SAASxgN,GAAGkxH,KAAKpxH,GAAGoxH,MAAM,SAASlxH,GAAG,IAAI1B,EAAE5D,OAAOu6B,OAAO,GAAG13B,KAAK2iF,IAAI0/H,aAAa,cAActhN,EAAEuiN,WAAW7gN,EAAEzC,KAAKwF,KAAKspH,UAAU/tH,MAAM4yH,MAAM,SAASlxH,IAAIzC,KAAK2iF,IAAI0/H,YAAYiB,YAAY,cAAc7gN,GAAGzC,KAAKwF,KAAKC,OAAOhD,EAAEa,SAAS+gB,KAAKE,YAAYvkB,KAAKwF,KAAKypH,aAAaruH,EAAEnD,UAAU8lN,YAAY,WAAW,IAAI9gN,EAAE,CAAC,WAAW,OAAOa,SAAS+gB,KAAK87B,SAASngD,KAAKwF,KAAKspH,YAAY9uH,KAAK6iN,gBAAgB,OAAO7iN,KAAKijN,SAASxgN,GAAGkxH,KAAKpxH,GAAGoxH,MAAM,SAASlxH,GAAG,IAAI1B,EAAEf,KAAK2iF,IAAIigI,MAAMrgN,EAAEvC,KAAK2iF,IAAIi+H,UAAU//M,EAAE,iBAAiBb,KAAK2iF,IAAI/7E,OAAOoH,MAAMhO,KAAK2iF,IAAI/7E,QAAQ,iBAAiB5G,KAAK2iF,IAAIwgI,aAAan1M,MAAMhO,KAAK2iF,IAAIwgI,aAAa,EAAEnjN,KAAK2iF,IAAI/7E,MAAM5G,KAAK2iF,IAAIwgI,YAAYtmN,EAAEM,OAAOu6B,OAAO,CAACzuB,OAAM,EAAGu6M,YAAW,EAAGlzM,MAAMzP,EAAEskB,QAAQnlB,KAAK2iF,IAAIx9D,SAAS,EAAEC,QAAQplB,KAAK2iF,IAAIv9D,SAAS,EAAEghD,gBAAgB,UAAUq9I,aAAa,KAAKC,SAAQ,EAAGtjI,MAAM,KAAKujI,iBAAgB,EAAGC,wBAAuB,EAAGC,SAAQ,GAAI7jN,KAAK2iF,IAAI0/H,aAAa,UAAUxlN,EAAEymN,WAAWviN,EAAEk9M,UAAU4D,gBAAW,IAAS7hN,KAAK2iF,IAAIk/H,YAAY7hN,KAAK2iF,IAAIk/H,WAAW9gN,EAAEk9M,UAAU5kG,KAAKr5G,KAAK2iF,IAAI91E,EAAE9L,EAAEk9M,UAAU3kG,KAAKt5G,KAAK2iF,IAAI71E,EAAE/L,EAAEk9M,UAAUxhI,OAAOz8E,KAAK2iF,IAAIlG,OAAO17E,EAAEk9M,UAAU2C,UAAUr+M,EAAEA,EAAE,IAAI,IAAIoK,EAAE,EAAEA,EAAEpK,EAAEzF,SAAS6P,EAAE,CAAC,IAAIrM,EAAEiC,EAAEoK,GAAG/L,EAAEN,EAAE6gB,IAAImsD,MAAM,SAAS7qE,GAAG,MAAM,aAAaA,EAAEiiI,UAAU9jI,GAAGG,EAAEonM,QAAQvnM,EAAEgH,IAAItH,EAAE8tE,IAAIhsE,KAAK9B,EAAE8tE,IAAI17D,OAAO,OAAO7V,EAAEinN,aAAajnN,EAAEinN,cAAc,EAAEjnN,EAAEinN,aAAa,GAAGjnN,EAAEinN,aAAa38M,KAAK+K,IAAIlS,KAAKwF,KAAKspH,UAAUjpG,aAAa7lB,KAAKwF,KAAKspH,UAAUuuD,aAAar9K,KAAKwF,KAAKspH,UAAUm/B,cAAcpxJ,EAAEinN,aAAa/iN,EAAEk9M,UAAUlrM,MAAK,GAAItQ,EAAEzC,KAAKwF,KAAKspH,UAAUjyH,MAAM82H,MAAM,SAASlxH,GAAGzC,KAAK2iF,IAAIigI,MAAM3E,UAAU5qM,SAAQ,IAAKrT,KAAK2iF,IAAI0/H,YAAYiB,YAAY,cAAc7gN,GAAGzC,KAAKwF,KAAKC,OAAOhD,EAAEa,SAAS+gB,KAAKE,YAAYvkB,KAAKwF,KAAKypH,aAAaruH,EAAEnD,UAAUslN,MAAM,WAAW,OAAO/iN,KAAKijN,SAAS,CAAC,WAAW,OAAOjjN,KAAKwF,KAAKC,QAAQzF,KAAK8iN,cAAcnvF,MAAM,WAAW,IAAIlxH,EAAEzC,KAAKwF,KAAKC,OAAOwoE,UAAU,SAASjuE,KAAK2iF,IAAIhiE,MAAM1P,KAAKjR,KAAK2iF,IAAIhiE,MAAMojM,SAAS/jN,KAAKwF,KAAKsb,IAAIxd,SAASsX,cAAc,OAAO5a,KAAKwF,KAAKsb,IAAIK,IAAI1e,MAAM7B,EAAEnD,UAAUulN,MAAM,WAAW,OAAOhjN,KAAKijN,SAAS,CAAC,WAAW,OAAOjjN,KAAKujN,iBAAiB5vF,MAAM,WAAW3zH,KAAKwF,KAAKw4M,IAAIh+M,KAAKwF,KAAKw4M,KAAKh+M,KAAK2iF,IAAIigI,UAAUhiN,EAAEnD,UAAUmlH,OAAO,SAASngH,EAAE1B,EAAEwB,GAAG,MAAM,SAASA,EAAEA,GAAG,OAAOsW,eAAe,UAAUtW,EAAEsW,cAAc7Y,KAAKgkN,UAAUvhN,EAAE1B,GAAGf,KAAKikN,UAAUxhN,EAAE1B,IAAIH,EAAEnD,UAAUwmN,UAAU,SAASxhN,EAAE1B,GAAG,OAAOf,KAAKijN,SAAS,CAAC,WAAW,OAAOjjN,KAAKwF,KAAKw4M,KAAKh+M,KAAKgjN,WAAWrvF,MAAM,WAAW,OAAO3zH,KAAKwF,KAAKw4M,IAAIp7F,OAAOngH,EAAE1B,OAAOH,EAAEnD,UAAUumN,UAAU,SAASvhN,GAAG,OAAOzC,KAAKijN,SAAS,CAAC,WAAW,OAAOjjN,KAAKwF,KAAKsb,KAAK9gB,KAAK+iN,WAAWpvF,MAAM,WAAW,OAAOlxH,GAAG,UAAK,EAAO,IAAI,MAAM,OAAOzC,KAAKwF,KAAKsb,IAAI,IAAI,gBAAgB,IAAI,gBAAgB,OAAO9gB,KAAKwF,KAAKsb,IAAIK,IAAI,IAAI,UAAU,IAAI,UAAU,OAAO7d,SAASs+B,SAAShhB,KAAK5gB,KAAKwF,KAAKsb,IAAIK,IAAI,QAAQ,KAAK,sBAAsB1e,EAAE,2BAA2B7B,EAAEnD,UAAUsV,KAAK,SAAStQ,GAAG,OAAOzC,KAAKijN,SAAS,CAAC,WAAW,OAAOjjN,KAAKwF,KAAKw4M,KAAKh+M,KAAKgjN,WAAWx2M,IAAI/J,EAAE,CAACkhM,SAASlhM,GAAG,MAAMkxH,MAAM,WAAW3zH,KAAKwF,KAAKw4M,IAAIjrM,KAAK/S,KAAK2iF,IAAIghH,cAAc/iM,EAAEnD,UAAUymN,WAAW,WAAW,OAAOlkN,KAAKijN,SAAS,CAAC,WAAW,OAAOjjN,KAAKwF,KAAKw4M,KAAKh+M,KAAKgjN,WAAWrvF,MAAM,WAAW3zH,KAAKwF,KAAK+lC,SAASvrC,KAAKwF,KAAKw4M,SAASp9M,EAAEnD,UAAU+O,IAAI,SAAS/J,GAAG,GAAG,WAAWkK,EAAElK,GAAG,OAAOzC,KAAK,IAAIe,EAAE5D,OAAO23B,KAAKryB,GAAG,IAAIglB,KAAK,SAAS1mB,GAAG,GAAGA,KAAKH,EAAE8xK,SAASltK,KAAK,OAAO,WAAWxF,KAAKwF,KAAKzE,GAAG0B,EAAE1B,IAAI,OAAOA,GAAG,IAAI,SAAS,OAAOf,KAAKmkN,UAAUthN,KAAK7C,KAAKyC,EAAEg6E,QAAQ,IAAI,QAAQ,OAAO,WAAW,OAAOz8E,KAAK2iF,IAAIigI,MAAMngN,EAAEmgN,MAAM5iN,KAAKkjN,eAAe,IAAI,WAAW,OAAOljN,KAAKkjN,YAAYrgN,KAAK7C,KAAKyC,EAAEsjM,UAAU,QAAQ,OAAO,WAAW/lM,KAAK2iF,IAAI5hF,GAAG0B,EAAE1B,OAAOf,MAAM,OAAOA,KAAK2zH,MAAM,WAAW,OAAO3zH,KAAKijN,SAASliN,OAAOH,EAAEnD,UAAU6E,IAAI,SAASG,EAAE1B,GAAG,OAAOf,KAAK2zH,MAAM,WAAW,IAAIpxH,EAAEE,KAAK7B,EAAE8xK,SAASltK,KAAKxF,KAAKwF,KAAK/C,GAAGzC,KAAK2iF,IAAIlgF,GAAG,OAAO1B,EAAEA,EAAEwB,GAAGA,MAAM3B,EAAEnD,UAAU0mN,UAAU,SAAS1hN,GAAG,OAAOzC,KAAK2zH,MAAM,WAAW,OAAOhnH,EAAElK,IAAI,IAAI,SAASA,EAAE,CAACA,EAAEA,EAAEA,EAAEA,GAAG,IAAI,QAAQ,GAAG,IAAIA,EAAE3F,SAAS2F,EAAE,CAACA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,KAAK,IAAIA,EAAE3F,OAAO,MAAM,QAAQ,OAAOkD,KAAKmzB,MAAM,yBAAyBnzB,KAAK2iF,IAAIlG,OAAOh6E,KAAKkxH,KAAK3zH,KAAKkjN,cAActiN,EAAEnD,UAAUylN,YAAY,SAASzgN,GAAG,SAAS1B,EAAE0B,EAAE1B,GAAG,OAAOoG,KAAK0W,MAAMpb,EAAE1B,EAAE,GAAG,IAAI,OAAOf,KAAK2zH,MAAM,YAAYlxH,EAAEA,GAAGyuL,EAAEkzB,YAAYpkN,KAAK2iF,IAAIigI,QAAQ5/M,eAAe,WAAWP,EAAEi9H,MAAM,CAAC94H,MAAMnE,EAAEmE,MAAM5G,KAAK2iF,IAAIlG,OAAO,GAAGz8E,KAAK2iF,IAAIlG,OAAO,GAAG51E,OAAOpE,EAAEoE,OAAO7G,KAAK2iF,IAAIlG,OAAO,GAAGz8E,KAAK2iF,IAAIlG,OAAO,IAAIh6E,EAAEi9H,MAAM78G,GAAG,CAACjc,MAAM7F,EAAE0B,EAAEi9H,MAAM94H,MAAMnE,EAAEmf,GAAG/a,OAAO9F,EAAE0B,EAAEi9H,MAAM74H,OAAOpE,EAAEmf,IAAInf,EAAEi9H,MAAMjiD,MAAMh7E,EAAEi9H,MAAM74H,OAAOpE,EAAEi9H,MAAM94H,OAAO5G,KAAKwF,KAAKugM,SAAStjM,MAAM7B,EAAEnD,UAAUilN,YAAY,SAASjgN,EAAE1B,EAAEwB,EAAE1B,GAAG,OAAO,MAAM4B,IAAIzC,KAAK0d,SAASgG,IAAIjhB,GAAG,MAAM1B,IAAIf,KAAK0d,SAASqnD,MAAMhkE,GAAG,MAAMwB,IAAIvC,KAAK0d,SAAS7c,EAAE0B,GAAG,MAAM1B,IAAIb,KAAK0d,SAASof,MAAMj8B,GAAGb,KAAK0d,SAAS+/D,MAAMz9E,KAAK0d,SAASgG,IAAI1jB,KAAK0d,SAASqnD,MAAM/kE,MAAMY,EAAEnD,UAAU4mN,eAAe,SAAS5hN,EAAE1B,EAAEwB,EAAE1B,GAAG,OAAOb,KAAK0iN,YAAYjgN,EAAEzC,KAAK0d,SAASgG,IAAIjhB,EAAE,KAAK1B,GAAG,KAAKwB,EAAEvC,KAAK0d,SAAS7c,EAAE0B,EAAE,KAAK1B,EAAEb,KAAK0d,SAASof,MAAMtU,OAAO3nB,GAAG,OAAOD,EAAEnD,UAAUk2H,KAAK,SAASlxH,EAAE1B,GAAG,IAAIwB,EAAEvC,KAAK,OAAOA,KAAKskN,SAAS7hN,EAAE1B,GAAG,SAAS0B,EAAE1B,GAAG,OAAOwB,EAAE8hN,eAAe,KAAK,KAAK,EAAE,CAAC5hN,IAAIq0B,QAAQr5B,UAAUk2H,KAAK3xH,KAAKhC,MAAM,SAASe,GAAG,OAAOwB,EAAE8hN,eAAe,KAAK5hN,GAAG1B,KAAK4yH,KAAKlxH,EAAE1B,GAAG4yH,MAAM,SAASlxH,GAAG,OAAOF,EAAE8hN,eAAe,GAAG5hN,SAAS7B,EAAEnD,UAAU6mN,SAAS,SAAS7hN,EAAE1B,EAAEwB,GAAGA,EAAEA,GAAGu0B,QAAQr5B,UAAUk2H,KAAKlxH,IAAIA,EAAEA,EAAEI,KAAK7C,OAAOe,IAAIA,EAAEA,EAAE8B,KAAK7C,OAAO,IAAIa,GAAG,IAAIi2B,QAAQ1qB,WAAW/B,QAAQ,kBAAkB,YAAYysB,QAAQ10B,KAAKpC,KAAKY,EAAE6hN,QAAQtlN,OAAOu6B,OAAO,GAAG13B,MAAM82B,QAAQr5B,WAAWZ,EAAE0F,EAAEP,KAAKnB,EAAE4B,EAAE1B,GAAG,OAAOH,EAAE6hN,QAAQ5lN,EAAEmD,KAAK4nC,YAAYhnC,EAAEnD,UAAU8mN,aAAa,SAAS9hN,EAAE1B,GAAG,OAAO+1B,QAAQr5B,UAAUk2H,KAAK3xH,KAAKhC,KAAKyC,EAAE1B,IAAIH,EAAEnD,UAAUwlN,SAAS,SAASxgN,GAAG,IAAI1B,EAAEf,KAAK,OAAOyC,EAAEsyB,SAAS,SAAStyB,GAAG1B,EAAEA,EAAEujN,SAAS7hN,MAAM1B,GAAGH,EAAEnD,UAAUy5B,MAAM,SAASz0B,GAAGA,IAAIA,EAAEA,EAAEI,KAAK7C,OAAO,IAAIe,EAAE+1B,QAAQr5B,UAAUy5B,MAAMl1B,KAAKhC,KAAKyC,GAAG,OAAO7B,EAAE6hN,QAAQ1hN,EAAEf,OAAOY,EAAEnD,UAAU+mN,cAAc,SAAS/hN,GAAG,OAAOq0B,QAAQr5B,UAAUy5B,MAAMl1B,KAAKhC,KAAKyC,IAAI7B,EAAEnD,UAAU01B,MAAM,SAAS1wB,GAAG,OAAOzC,KAAK2zH,MAAM,WAAW,MAAM,IAAIz0F,MAAMz8B,OAAO7B,EAAEnD,UAAUgnN,MAAM7jN,EAAEnD,UAAU+O,IAAI5L,EAAEnD,UAAU0xL,OAAOvuL,EAAEnD,UAAUsV,KAAKnS,EAAEnD,UAAUinN,OAAO9jN,EAAEnD,UAAUmlH,OAAOhiH,EAAEnD,UAAUipB,IAAI9lB,EAAEnD,UAAUk2H,KAAKu9D,EAAEkzB,YAAY,SAASrjN,EAAEwB,EAAE1B,GAAG,GAAG,WAAW4B,IAAE1B,GAAG,CAAC,IAAIlE,EAAEkE,EAAEA,EAAElE,EAAEonL,YAAY1hL,EAAE1F,EAAEs/I,MAAM55I,EAAE1B,EAAEhE,EAAE6nI,QAAQ7jI,EAAE0B,EAAEA,GAAG,KAAK1B,EAAEA,GAAG,KAAKE,GAAG,IAAIA,GAAG,MAAM8X,cAAc,IAAIlM,EAAErM,GAAG,GAAGO,GAAGgY,cAAcjY,EAAE,CAACsxL,GAAG,CAAC,QAAQ,SAASh4K,GAAG,CAAC,QAAQ,SAAS6lF,GAAG,CAAC,QAAQ,SAASoyF,GAAG,CAAC,OAAO,SAASC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,MAAM,QAAQC,GAAG,CAAC,OAAO,OAAOC,IAAI,CAAC,KAAK,QAAQC,GAAG,CAAC,QAAQ,SAAS9tF,GAAG,CAAC,QAAQ,SAASC,GAAG,CAAC,QAAQ,SAAS8tF,GAAG,CAAC,QAAQ,SAASC,GAAG,CAAC,OAAO,SAASC,GAAG,CAAC,MAAM,QAAQC,GAAG,CAAC,OAAO,OAAOC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,IAAI,CAAC,MAAM,QAAQ/sC,GAAG,CAAC,QAAQ,SAASgtC,GAAG,CAAC,QAAQ,SAASC,GAAG,CAAC,QAAQ,SAASC,GAAG,CAAC,OAAO,SAASC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,GAAG,CAAC,OAAO,QAAQC,IAAI,CAAC,MAAM,QAAQC,GAAG,CAAC,OAAO,QAAQhrE,OAAO,CAAC,IAAI,KAAK,oBAAoB,CAAC,IAAI,KAAKirE,MAAM,CAAC,IAAI,MAAM,eAAe,CAAC,IAAI,KAAKC,OAAO,CAAC,KAAK,KAAKC,QAAQ,CAAC,IAAI,MAAM,cAAc,CAAC,IAAI,MAAM,OAAO1xL,GAAG,IAAI,KAAKoK,EAAE,EAAE,MAAM,IAAI,KAAKA,EAAE,GAAG,KAAK,MAAM,IAAI,KAAKA,EAAE,GAAG,KAAK,MAAM,IAAI,KAAKA,EAAE,GAAG,MAAM,IAAI,KAAKA,EAAE,IAAI,MAAM,IAAI,KAAK,IAAI,KAAKA,EAAE,GAAG,MAAM,IAAI,KAAKA,EAAE,EAAE,MAAM,QAAQ,KAAK,iBAAiBpK,EAAE,IAAIL,EAAE8X,EAAE,EAAEga,EAAE,EAAE,GAAGpzB,EAAEoC,eAAe1C,GAAG0Z,EAAEpZ,EAAEN,GAAG,GAAGqM,EAAEqnB,EAAEpzB,EAAEN,GAAG,GAAGqM,OAAO,IAAIqN,EAAEnZ,EAAE,GAAGmzB,EAAEnzB,EAAE,GAAG,MAAM4B,IAAG,MAAM,IAAIy8B,MAAM,mBAAmBr+B,GAAG,GAAG,MAAME,GAAG,aAAaA,EAAEA,EAAE,IAAIizB,EAAEha,IAAI9X,EAAE8xB,EAAEA,EAAEha,EAAEA,EAAE9X,OAAO,CAAC,GAAG,MAAMnB,GAAG,cAAcA,EAAE,KAAK,wBAAwBA,EAAEA,EAAE,IAAIiZ,EAAEga,IAAI9xB,EAAE8xB,EAAEA,EAAEha,EAAEA,EAAE9X,GAAG,MAAM,CAAC0E,MAAMotB,EAAEntB,OAAOmT,EAAEmiI,KAAK55I,EAAEqf,EAAEjV,EAAEs3K,YAAYljL,IAAIA,EAAE00C,KAAK,SAAShzC,EAAE1B,IAAIA,EAAEA,GAAG,IAAIwqC,SAASxqC,EAAEwqC,UAAU,aAAaxqC,EAAEshN,YAAYthN,EAAEshN,aAAa,GAAGthN,EAAEshN,YAAY58M,OAAO1E,EAAEshN,YAAY58M,QAAQzF,KAAKyF,OAAO1E,EAAE6hN,MAAM7hN,EAAE6hN,OAAO5iN,KAAKe,EAAE6/M,UAAU7/M,EAAE6/M,UAAU7/M,EAAE6/M,UAAUn5L,IAAIwyK,IAAI,KAAK,IAAI13L,EAAE,IAAI3B,EAAEG,GAAG,OAAOA,EAAE4jN,OAAOpiN,EAAEA,EAAEwW,KAAKtW,GAAGyhN,cAA3iY,CAA0jYhzB,EAAE4M,KAAK5M,EAAE4M,IAAI6f,MAAM,SAASl7M,GAAG,OAAOo4L,GAAGp4L,EAAEzC,KAAK6xL,SAASprK,OAAO6pK,UAAU,oBAAoB,WAAWoK,GAAG16L,KAAK6xL,SAAS4K,YAAYz8L,KAAK6xL,SAASz7I,IAAI,MAAMp2C,KAAK6xL,SAASz7I,IAAI,yBAAyBskJ,GAAG,GAAG,SAAS16L,KAAK6xL,SAASz7I,IAAI,MAAMp2C,KAAK6xL,SAASz7I,IAAI,UAAUwkJ,GAAG56L,KAAK6xL,SAAS4K,YAAYz8L,KAAK6xL,SAASz7I,IAAI,MAAMp2C,KAAK6xL,SAASz7I,IAAI,kBAAkBp2C,KAAK6xL,SAASz7I,IAAI,QAAQykJ,GAAG,KAAK76L,KAAK6xL,SAASz7I,IAAI,MAAMp2C,KAAK6xL,SAASz7I,IAAI,aAAap2C,KAAK6xL,SAASprK,OAAO6pK,UAAU,cAAc,gBAAW,IAASoK,SAAI,IAASE,IAAI56L,KAAK6xL,SAASz7I,IAAI,wBAAwBskJ,GAAG,aAAa16L,MAQ1sa,SAASyC,GAAG,IAAI1B,EAAE0B,EAAEgkB,OAAO3f,KAAK,CAAC,mBAAmB,WAAW,IAAIrE,EAAEzC,KAAKuC,EAAE,gBAAgB,GAAGvC,KAAK4kN,QAAQvuM,KAAK7D,SAAS1V,OAAO,EAAE,IAAI,IAAI+D,EAAE4B,EAAEmiN,QAAQ9xM,SAASvG,MAAM,QAAQ1P,EAAE,EAAEA,EAAEgE,EAAE/D,OAAOD,IAAI,CAAC,IAAI8P,EAAE9L,EAAEhE,GAAGyD,EAAEiC,EAAE6vB,KAAKzlB,GAAG,GAAG,MAAMrM,EAAE,CAAC,IAAIM,EAAEN,EAAE,GAAGmC,EAAEovL,SAAS8a,uBAAuB/rM,GAAE,GAAI6B,EAAEovL,SAASgG,MAAMlrL,GAAG,GAAG3M,KAAK4kN,QAAQC,wBAAwB,CAAC,IAAI3iN,EAAElC,KAAK6xL,SAAS4N,MAAM3iM,OAAOkd,EAAE,GAAG,IAAInd,EAAE,EAAEA,EAAEqF,EAAErF,IAAI,CAAC,IAAIm3B,EAAEvxB,EAAEovL,SAAS4K,YAAYziL,EAAElT,KAAKktB,GAAG,IAAIjyB,EAAEU,EAAEovL,SAASsS,YAAYtnM,EAAE,GAAG4F,EAAEovL,SAASgG,MAAM,SAAS91L,EAAE86L,MAAM,sCAAsC,IAAI57L,EAAEwB,EAAEovL,SAAS4K,YAA6C,IAAjCh6L,EAAEovL,SAASgG,MAAM,gBAAoBh7L,EAAE,EAAEA,EAAEmd,EAAEld,OAAOD,IAAI4F,EAAEovL,SAASgG,MAAM,UAAUh7L,EAAE,GAAG,IAAImd,EAAEnd,GAAG,QAAQ4F,EAAEovL,SAASgG,MAAM,QAAQ,UAAU92L,EAAE0B,EAAEovL,SAAS4K,YAAYh6L,EAAEovL,SAASgG,MAAM,aAAa52L,EAAE,QAAQwB,EAAEovL,SAASgG,MAAM,KAAK,cAAcp1L,EAAEgkB,OAAO3f,KAAK,CAAC,aAAa,WAAW9G,KAAK4kN,QAAQvuM,KAAK7D,SAAS1V,OAAO,IAAIkD,KAAK6xL,SAASgG,MAAM,YAAY73L,KAAK4kN,QAAQE,QAAQ9kN,KAAK4kN,QAAQvuM,OAAOrW,KAAK4kN,QAAQC,yBAAyB7kN,KAAK6xL,SAASgG,MAAM,UAAU92L,EAAE,YAAY0B,EAAEgkB,OAAO3f,KAAK,CAAC,cAAc,WAAW,IAAIrE,EAAEzC,KAAKyC,EAAEmiN,QAAQ,CAACC,yBAAwB,EAAGxuM,KAAK,CAAC7D,SAAS,KAAK/P,EAAEmiN,QAAQryK,IAAI,SAAS9vC,EAAE1B,EAAEwB,GAAG,IAAI1B,EAAE,CAAC2jB,MAAMzjB,EAAEw9B,QAAQh8B,EAAEiQ,SAAS,IAAI,OAAO,MAAM/P,IAAIA,EAAEzC,KAAKqW,MAAM5T,EAAE+P,SAAS1L,KAAKjG,GAAGA,GAAG4B,EAAEmiN,QAAQ9xM,OAAO,WAAW,OAAO9S,KAAKgG,IAAI,GAAGhG,KAAKgG,IAAI0d,IAAI,GAAG1jB,KAAKgG,IAAIg4M,IAAIv7M,EAAEzC,KAAK+kN,SAAS/kN,KAAKqW,MAAMrW,KAAKglN,WAAWhlN,KAAKqW,MAAMrW,KAAKilN,YAAYjlN,KAAKqW,MAAMrW,KAAKgG,IAAI0d,KAAKjhB,EAAEmiN,QAAQG,SAAS,SAAShkN,GAAGA,EAAEojB,GAAG1hB,EAAEovL,SAAS8K,oBAAoB,IAAI,IAAIp6L,EAAE,EAAEA,EAAExB,EAAEyR,SAAS1V,OAAOyF,IAAIvC,KAAK+kN,SAAShkN,EAAEyR,SAASjQ,KAAKE,EAAEmiN,QAAQI,WAAW,SAASviN,GAAGzC,KAAKklN,SAASziN,GAAGzC,KAAKmX,KAAK,mBAAmB1U,EAAE+P,SAAS1V,OAAO,IAAIkD,KAAKmX,KAAK,UAAUnX,KAAK8kN,QAAQriN,EAAE+P,SAAS,KAAKxS,KAAKmX,KAAK,SAASnX,KAAK8kN,QAAQriN,EAAE+P,SAAS/P,EAAE+P,SAAS1V,OAAO,MAAMkD,KAAKmX,KAAK,UAAUnX,KAAKmlN,QAAQ,CAAC/zK,MAAM,GAAG3uC,IAAIzC,KAAKolN,UAAU3iN,EAAEmiN,QAAQK,YAAY,SAASlkN,GAAG,IAAI,IAAIwB,EAAEvC,KAAKgG,IAAIg4M,IAAInsB,SAASuX,4BAA4BvoM,EAAE,EAAEA,EAAEE,EAAEyR,SAAS1V,OAAO+D,IAAI,CAAC,IAAIhE,EAAEkE,EAAEyR,SAAS3R,GAAGb,KAAKklN,SAASroN,GAAGmD,KAAKmX,KAAK,UAAUnX,KAAKqlN,WAAWxoN,EAAE2nB,QAAQxkB,KAAKmX,KAAK,WAAWnX,KAAK8kN,QAAQ/jN,IAAIF,EAAE,GAAGb,KAAKmX,KAAK,SAASnX,KAAK8kN,QAAQ/jN,EAAEyR,SAAS3R,EAAE,KAAKA,EAAEE,EAAEyR,SAAS1V,OAAO,GAAGkD,KAAKmX,KAAK,SAASnX,KAAK8kN,QAAQ/jN,EAAEyR,SAAS3R,EAAE,KAAKhE,EAAE2V,SAAS1V,OAAO,IAAIkD,KAAKmX,KAAK,UAAUnX,KAAK8kN,QAAQjoN,EAAE2V,SAAS,KAAKxS,KAAKmX,KAAK,SAASnX,KAAK8kN,QAAQjoN,EAAE2V,SAAS3V,EAAE2V,SAAS1V,OAAO,MAAM,IAAI6P,EAAE3M,KAAKoxC,MAAMpxC,KAAKmlN,QAAQ,CAAC/zK,MAAM,GAAGv0C,GAAG,GAAG8P,EAAE,GAAG3M,KAAKmX,KAAK,UAAUxK,GAAG9P,EAAE0hC,SAAS1hC,EAAE0hC,QAAQygK,WAAW,CAAC,IAAI1+L,EAAEmC,EAAEovL,SAASsS,YAAYtnM,EAAE0hC,QAAQygK,YAAYh/L,KAAKmX,KAAK,UAAU7W,EAAEu8L,MAAM,eAAet6L,EAAE,GAAG,OAAOvC,KAAKolN,SAAS,IAAI,IAAIxkN,EAAE,EAAEA,EAAEG,EAAEyR,SAAS1V,OAAO8D,IAAIZ,KAAKilN,YAAYlkN,EAAEyR,SAAS5R,KAAK6B,EAAEmiN,QAAQztM,KAAK,SAAS1U,GAAGzC,KAAKgG,IAAI0d,KAAKjhB,EAAE,QAAQA,EAAEmiN,QAAQE,QAAQ,SAASriN,GAAG,OAAOA,EAAE0hB,GAAG,QAAQ1hB,EAAEmiN,QAAQS,WAAW,SAAStkN,GAAG,MAAM,IAAI0B,EAAEovL,SAAS8P,UAAU5gM,GAAG,KAAK0B,EAAEmiN,QAAQM,SAAS,SAASziN,GAAGzC,KAAKgG,IAAI0d,KAAK,OAAOjhB,EAAE0hB,GAAG,oBAAoB1hB,EAAEmiN,QAAQQ,OAAO,WAAWplN,KAAKgG,IAAI0d,KAAK,qBAAqBjhB,EAAEmiN,QAAQO,QAAQ,SAAS1iN,EAAE1B,GAAG,IAAI,IAAIwB,EAAE,EAAEA,EAAExB,EAAEyR,SAAS1V,OAAOyF,IAAIE,EAAE2uC,QAAQpxC,KAAKmlN,QAAQ1iN,EAAE1B,EAAEyR,SAASjQ,IAAI,OAAOE,EAAE2uC,UAAphG,CAA+hG8/I,EAAE4M,KAOjiG,SAASr7L,GAAG,IAAI1B,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK0B,EAAE6iN,YAAY,SAAS7iN,EAAEF,EAAE1B,EAAEhE,EAAE8P,EAAErM,GAAG,IAAIM,EAAEsB,EAAElC,KAAKujH,OAAOkxF,WAAWz6L,EAAE,KAAK,GAAG,iBAAiBvX,GAAGzC,KAAKwyM,aAAavlC,cAAcxqK,IAAIzC,KAAKwyM,aAAanlC,kBAAkB5qK,GAAG,CAAC,OAAOA,EAAEkK,GAAGlK,EAAEA,EAAEzC,KAAKwyM,aAAavlC,cAAcxqK,GAAG,IAAI+0E,WAAW/0E,GAAGA,GAAG7B,EAAE,SAAS6B,GAAG,IAAI,IAAIF,EAAE1B,EAAE,IAAI4B,EAAE4oC,WAAW,GAAG5oC,EAAE4oC,WAAW,GAAGxuC,EAAE4F,EAAE3F,OAAO6P,EAAE,CAAC/F,MAAM,EAAEC,OAAO,EAAE0+M,cAAc,GAAGjlN,EAAE,EAAEA,EAAEzD,EAAEyD,GAAG,EAAE,CAAC,GAAGA,GAAGO,GAAG,IAAIE,EAAEsJ,QAAQ5H,EAAE4oC,WAAW/qC,EAAE,IAAI,CAACiC,EAAE,IAAIE,EAAE4oC,WAAW/qC,EAAE,GAAGmC,EAAE4oC,WAAW/qC,EAAE,GAAGqM,EAAE,CAAC/F,MAAM,IAAInE,EAAE4oC,WAAW/qC,EAAE,GAAGmC,EAAE4oC,WAAW/qC,EAAE,GAAGuG,OAAOtE,EAAEgjN,cAAc9iN,EAAE4oC,WAAW/qC,EAAE,IAAI,MAAMO,EAAE,IAAI4B,EAAE4oC,WAAW/qC,EAAE,GAAGmC,EAAE4oC,WAAW/qC,EAAE,GAAG,OAAOqM,EAAjW,CAAoWlK,EAAEzC,KAAKwyM,aAAanlC,kBAAkB5qK,GAAGzC,KAAKwyM,aAAa4D,0BAA0B3zM,GAAGA,IAAI8iN,eAAe,KAAK,EAAEjlN,EAAEN,KAAK+zM,aAAaE,YAAY,MAAM,KAAK,EAAE3zM,EAAEN,KAAK+zM,aAAaR,YAAY,MAAM,KAAK,EAAEjzM,EAAEN,KAAK+zM,aAAaC,WAAWh6L,EAAE,CAAChJ,KAAKvO,EAAEmE,MAAMhG,EAAEgG,MAAMC,OAAOjG,EAAEiG,OAAOssM,WAAW7yM,EAAEkzM,iBAAiB,EAAEvgM,OAAO/Q,EAAEi/B,MAAM5+B,EAAEuxM,MAAMjzM,GAAG,OAAOmZ,GAAn+B,CAAu+Bk3K,EAAE4M,KAAK,IAAIvJ,GAAGqH,GAAGE,GAAGG,GAAGO,GAAGjF,GAAG,WAAW,IAAI90L,EAAE1B,EAAElE,EAAE,SAAS8P,EAAElK,GAAG,IAAI1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,EAAEsB,EAAE8X,EAAEga,EAAEjyB,EAAEd,EAAEkB,EAAEc,EAAE,IAAIjD,KAAKgR,KAAKvO,EAAEzC,KAAKmzC,IAAI,EAAEnzC,KAAKqzM,QAAQ,GAAGrzM,KAAKwlN,QAAQ,GAAGxlN,KAAK0zM,aAAa,GAAG1zM,KAAK+iF,UAAU,KAAK/iF,KAAKiU,KAAK,GAAG3T,EAAE,OAAO,CAAC,OAAOS,EAAEf,KAAKylN,aAAazrM,EAAE,WAAW,IAAIvX,EAAE1B,EAAE,IAAIA,EAAE,GAAG0B,EAAE,EAAEA,EAAE,IAAIA,EAAE1B,EAAE+F,KAAK6wB,OAAOE,aAAa73B,KAAKgR,KAAKhR,KAAKmzC,SAAS,OAAOpyC,GAAGiB,KAAKhC,MAAMqM,KAAK,KAAK,IAAI,OAAOrM,KAAK4G,MAAM5G,KAAKylN,aAAazlN,KAAK6G,OAAO7G,KAAKylN,aAAazlN,KAAKkyB,KAAKlyB,KAAKgR,KAAKhR,KAAKmzC,OAAOnzC,KAAK0lN,UAAU1lN,KAAKgR,KAAKhR,KAAKmzC,OAAOnzC,KAAK2lN,kBAAkB3lN,KAAKgR,KAAKhR,KAAKmzC,OAAOnzC,KAAK4lN,aAAa5lN,KAAKgR,KAAKhR,KAAKmzC,OAAOnzC,KAAK6lN,gBAAgB7lN,KAAKgR,KAAKhR,KAAKmzC,OAAO,MAAM,IAAI,OAAOnzC,KAAK+iF,UAAU,CAAC+iI,UAAU9lN,KAAKylN,aAAaM,SAAS/lN,KAAKylN,cAAc,IAAIO,OAAO,IAAI,MAAM,IAAI,OAAOhmN,KAAKqzM,QAAQrzM,KAAKimN,KAAKllN,GAAG,MAAM,IAAI,OAAOT,GAAGN,KAAK+iF,UAAUijI,OAAOl/M,KAAKxG,GAAGN,KAAKmzC,KAAK,EAAE7yC,EAAE,CAACsG,MAAM5G,KAAKylN,aAAa5+M,OAAO7G,KAAKylN,aAAa3nI,QAAQ99E,KAAKylN,aAAa1nI,QAAQ/9E,KAAKylN,cAAc94M,EAAE3M,KAAKkmN,aAAarpN,EAAEmD,KAAKkmN,cAAc,IAAI5lN,EAAEq2B,MAAM,IAAIhqB,EAAE9P,EAAEyD,EAAE6lN,UAAUnmN,KAAKgR,KAAKhR,KAAKmzC,OAAO7yC,EAAE8lN,QAAQpmN,KAAKgR,KAAKhR,KAAKmzC,OAAO7yC,EAAE0Q,KAAK,GAAG,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,SAASgJ,IAAIha,KAAKmzC,KAAK,EAAEpyC,GAAG,GAAG0B,GAAG,MAAMnC,EAAEA,EAAE0Q,UAAK,IAAShR,KAAKwlN,QAAQvkN,EAAE,EAAE,GAAGF,EAAEE,EAAEF,EAAEE,EAAEF,EAAE,GAAGA,IAAIE,IAAIA,EAAEwB,EAAEqE,KAAK9G,KAAKgR,KAAKhR,KAAKmzC,QAAQ,MAAM,IAAI,OAAO,OAAOnzC,KAAK0zM,aAAa,GAAG1zM,KAAK0lN,WAAW,KAAK,EAAE,GAAG7kN,EAAEb,KAAKqzM,QAAQv2M,OAAO,EAAEkD,KAAK0zM,aAAa2S,QAAQrmN,KAAKimN,KAAKllN,GAAGf,KAAK0zM,aAAa2S,QAAQvpN,OAAO+D,EAAE,MAAM,IAAIq+B,MAAM,6CAA6C,IAAIlL,EAAEnzB,EAAEb,KAAK0zM,aAAa2S,QAAQvpN,QAAQ,EAAE,IAAIqF,EAAE,EAAE,GAAG6xB,EAAE7xB,EAAE6xB,EAAE7xB,EAAE6xB,EAAE,GAAGA,IAAI7xB,IAAIA,EAAEnC,KAAK0zM,aAAa2S,QAAQv/M,KAAK,KAAK,MAAM,KAAK,EAAE9G,KAAK0zM,aAAa4S,UAAUtmN,KAAKimN,KAAKllN,GAAG,GAAG,MAAM,KAAK,EAAEf,KAAK0zM,aAAa6S,IAAIvmN,KAAKimN,KAAKllN,GAAG,MAAM,IAAI,OAAOH,GAAGmB,EAAE/B,KAAKimN,KAAKllN,IAAIsJ,QAAQ,GAAGnI,EAAEy1B,OAAOE,aAAaz3B,MAAMu3B,OAAO51B,EAAEiwC,MAAM,EAAEpxC,IAAIZ,KAAKiU,KAAK/R,GAAGy1B,OAAOE,aAAaz3B,MAAMu3B,OAAO51B,EAAEiwC,MAAMpxC,EAAE,IAAI,MAAM,IAAI,OAAO,OAAON,GAAGN,KAAK+iF,UAAUijI,OAAOl/M,KAAKxG,GAAGN,KAAK6wL,OAAO,WAAW,OAAO7wL,KAAK0lN,WAAW,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI1jN,KAAKhC,MAAMA,KAAKwmN,gBAAgB,KAAKvjN,EAAEjD,KAAK0lN,YAAY,IAAIziN,EAAEV,EAAEvC,KAAK6wL,QAAQ7wL,KAAKwmN,gBAAgB,EAAE,GAAGxmN,KAAKymN,eAAezmN,KAAKkyB,KAAK3vB,EAAEvC,KAAKmzM,WAAW,WAAW,OAAOnzM,KAAK6wL,QAAQ,KAAK,EAAE,MAAM,aAAa,KAAK,EAAE,MAAM,cAAc7uL,KAAKhC,WAAWA,KAAKwlN,QAAQ,IAAIhuI,WAAWx3E,KAAKwlN,UAAU,QAAQxlN,KAAKmzC,KAAKpyC,EAAE,GAAGf,KAAKmzC,KAAK,EAAEnzC,KAAKmzC,IAAInzC,KAAKgR,KAAKlU,OAAO,MAAM,IAAIoiC,MAAM,mCAAmCvyB,EAAElP,UAAUwoN,KAAK,SAASxjN,GAAG,IAAI1B,EAAEwB,EAAE,IAAIA,EAAE,GAAGxB,EAAE,EAAE,GAAG0B,EAAE1B,EAAE0B,EAAE1B,EAAE0B,EAAE,GAAGA,IAAI1B,IAAIA,EAAEwB,EAAEuE,KAAK9G,KAAKgR,KAAKhR,KAAKmzC,QAAQ,OAAO5wC,GAAGoK,EAAElP,UAAUgoN,WAAW,WAAW,OAAOzlN,KAAKgR,KAAKhR,KAAKmzC,QAAQ,GAAGnzC,KAAKgR,KAAKhR,KAAKmzC,QAAQ,GAAGnzC,KAAKgR,KAAKhR,KAAKmzC,QAAQ,EAAEnzC,KAAKgR,KAAKhR,KAAKmzC,QAAQxmC,EAAElP,UAAUyoN,WAAW,WAAW,OAAOlmN,KAAKgR,KAAKhR,KAAKmzC,QAAQ,EAAEnzC,KAAKgR,KAAKhR,KAAKmzC,QAAQxmC,EAAElP,UAAUipN,aAAa,SAASjkN,GAAG,IAAI1B,EAAEf,KAAKymN,eAAe,EAAE5lN,EAAE,IAAI22E,WAAWx3E,KAAK4G,MAAM5G,KAAK6G,OAAO9F,GAAGlE,EAAE,EAAE8P,EAAE3M,KAAK,GAAG,MAAMyC,IAAIA,EAAEzC,KAAKwlN,SAAS,IAAI/iN,EAAE3F,OAAO,OAAO,IAAI06E,WAAW,GAAG,SAASl3E,EAAEiC,EAAEjC,EAAEM,EAAEsB,GAAG,IAAI8X,EAAEga,EAAEjyB,EAAEd,EAAEkB,EAAEc,EAAEgH,EAAEhI,EAAEiL,EAAEhD,EAAE4C,EAAEkoB,EAAE46J,EAAEC,EAAEtnE,EAAE17G,EAAE8tB,EAAEpG,EAAEkG,EAAE7Y,EAAEouK,EAAErvL,EAAEwG,KAAK4W,MAAMpR,EAAE/F,MAAMrE,GAAG3B,GAAGgrJ,EAAEzkJ,KAAK4W,MAAMpR,EAAE9F,OAAOvG,GAAG4B,GAAGkX,EAAEzM,EAAE/F,OAAOjG,GAAGgM,EAAE9F,QAAQ+kJ,EAAE,IAAIikC,EAAE9uL,EAAEJ,EAAEq0B,EAAE5b,EAAEvY,EAAE,IAAI22E,WAAWq4G,EAAEjkC,GAAG3oJ,EAAER,EAAE3F,OAAO8yL,EAAE,EAAE57J,EAAE,EAAE47J,EAAEhkC,GAAG/uJ,EAAEoG,GAAG,CAAC,OAAOR,EAAE5F,MAAM,KAAK,EAAE,IAAIoE,EAAE05B,EAAE,EAAEA,EAAEk1J,EAAE5uL,EAAE05B,GAAG,EAAE3F,EAAEhB,KAAKvxB,EAAE5F,KAAK,MAAM,KAAK,EAAE,IAAIoE,EAAEszB,EAAE,EAAEA,EAAEs7J,EAAE5uL,EAAEszB,GAAG,EAAEva,EAAEvX,EAAE5F,KAAKsF,EAAElB,EAAEF,EAAE,EAAEi0B,EAAEhB,EAAEjzB,GAAGi0B,EAAEhB,MAAMha,EAAE7X,GAAG,IAAI,MAAM,KAAK,EAAE,IAAIlB,EAAEw5B,EAAE,EAAEA,EAAEo1J,EAAE5uL,EAAEw5B,GAAG,EAAEzgB,EAAEvX,EAAE5F,KAAKkF,GAAGd,EAAEA,EAAEF,GAAGA,EAAEwnH,EAAEqnE,GAAG56J,GAAG46J,EAAE,GAAGC,EAAE9tL,EAAEhB,EAAEE,EAAEF,GAAGi0B,EAAEhB,MAAMu0F,EAAEvuG,GAAG,IAAI,MAAM,KAAK,EAAE,IAAI/Y,EAAE2gB,EAAE,EAAEA,EAAEiuK,EAAE5uL,EAAE2gB,GAAG,EAAE5H,EAAEvX,EAAE5F,KAAKkF,GAAGd,EAAEA,EAAEF,GAAGA,EAAEoB,EAAElB,EAAEF,EAAE,EAAEi0B,EAAEhB,EAAEjzB,GAAGwnH,EAAEqnE,GAAG56J,GAAG46J,EAAE,GAAGC,EAAE9tL,EAAEhB,EAAEE,EAAEF,GAAGi0B,EAAEhB,MAAMha,EAAE7S,KAAK0W,OAAO1b,EAAEomH,GAAG,IAAI,IAAI,MAAM,KAAK,EAAE,IAAItnH,EAAE+uL,EAAE,EAAEA,EAAEH,EAAE5uL,EAAE+uL,GAAG,EAAEh2K,EAAEvX,EAAE5F,KAAKkF,GAAGd,EAAEA,EAAEF,GAAGA,EAAEoB,EAAElB,EAAEF,EAAE,EAAEi0B,EAAEhB,EAAEjzB,GAAG,IAAI6uL,EAAErnE,EAAE17G,EAAE,GAAG07G,EAAEvzF,GAAG46J,EAAE,GAAGC,EAAE9tL,EAAEhB,EAAEE,EAAEF,GAAG8L,EAAE9K,GAAGizB,GAAG46J,EAAE,GAAGC,GAAG9tL,EAAE,GAAGhB,EAAEE,EAAEF,IAAIkJ,EAAE9H,EAAEomH,EAAE17G,EAAE5K,EAAEkF,KAAKwjD,IAAI1gD,EAAE9H,GAAG+H,EAAE/C,KAAKwjD,IAAI1gD,EAAEs+G,GAAGz7G,EAAE3F,KAAKwjD,IAAI1gD,EAAE4C,GAAGK,EAAEjL,GAAGiI,GAAGjI,GAAG6K,EAAE3K,EAAE+H,GAAG4C,EAAEy7G,EAAE17G,EAAEmoB,EAAEhB,MAAMha,EAAE9M,GAAG,IAAI,MAAM,QAAQ,MAAM,IAAIgyB,MAAM,6BAA6Bz8B,EAAE5F,EAAE,IAAI,IAAIuc,EAAE,CAAC,IAAI6b,IAAI30B,EAAEsvL,EAAE1tL,GAAGyK,EAAE/F,MAAMrE,GAAGxB,EAAE6vL,EAAEhB,EAAEC,EAAE,IAAI5uL,EAAE,EAAEA,EAAEN,EAAEM,GAAG,EAAE,CAAC,IAAI,IAAIi0B,EAAE,EAAEA,EAAEn0B,EAAEm0B,GAAG,EAAEr0B,EAAEo0B,KAAKD,EAAE47J,KAAK37J,IAAIr0B,EAAE,GAAGG,GAAG6uL,KAAK,OAAOntL,EAAEF,YAAEE,GAAG,GAAGkK,EAAEk5M,iBAAiBvlN,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAE,EAAE,GAAGO,GAAG8L,EAAElP,UAAUkpN,cAAc,WAAW,IAAIlkN,EAAE1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,EAAEsB,EAAE,IAAIK,EAAEvC,KAAKqzM,QAAQ1mM,EAAE3M,KAAK0zM,aAAa2S,SAAS,GAAGxpN,EAAE,IAAI26E,YAAY7qE,EAAE7P,QAAQ,GAAGyF,EAAEzF,QAAQ+D,EAAE,EAAE4B,EAAE,EAAE1B,EAAET,EAAE,EAAEM,EAAE2B,EAAEzF,OAAOwD,EAAEM,EAAEG,EAAET,GAAG,EAAEzD,EAAEgE,KAAK0B,EAAExB,GAAGlE,EAAEgE,KAAK0B,EAAExB,EAAE,GAAGlE,EAAEgE,KAAK0B,EAAExB,EAAE,GAAGlE,EAAEgE,KAAK,OAAOqB,EAAEyK,EAAElK,MAAMP,EAAE,IAAI,OAAOrF,GAAG8P,EAAElP,UAAUmpN,gBAAgB,SAASnkN,EAAE1B,GAAG,IAAIwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,EAAEsB,EAAE8X,EAAEga,EAAEjyB,EAAEd,EAAE,GAAGJ,EAAEb,KAAK6wL,OAAO78J,EAAE,KAAKzxB,EAAEvC,KAAKwmN,gBAAgBxmN,KAAKqzM,QAAQv2M,SAASk3B,EAAE,OAAO/yB,EAAEjB,KAAK6mN,iBAAiB5lN,EAAEjB,KAAK6mN,gBAAgB7mN,KAAK2mN,gBAAgB9lN,EAAE,EAAE0B,GAAE,GAAIyX,GAAGnd,EAAE4F,EAAEuO,MAAMvO,GAAG3F,OAAOwD,EAAE0zB,GAAGjzB,EAAE4L,EAAE/L,EAAE,EAAE,IAAIC,EAAE,KAAK8L,EAAEqN,GAAG9X,EAAE8xB,EAAE,EAAEjzB,EAAE4L,EAAE,GAAG/L,EAAEmB,EAAEzB,EAAE4B,KAAKrF,EAAE8P,KAAK5K,EAAElF,EAAE8P,KAAK5K,EAAElF,EAAE8P,KAAK5K,EAAElF,EAAE8P,KAAKpK,EAAEjC,EAAE4B,KAAK,IAAItB,EAAEsB,OAAO,KAAKyK,EAAEqN,GAAG9X,EAAE8xB,EAAE,EAAEjzB,EAAE4L,EAAE,GAAG/L,EAAE/D,EAAE8P,KAAKrM,EAAE4B,KAAKrF,EAAE8P,KAAKrM,EAAE4B,KAAKrF,EAAE8P,KAAKrM,EAAE4B,KAAKrF,EAAE8P,KAAKpK,EAAEjC,EAAE4B,KAAK,IAAItB,EAAEsB,GAAGyK,EAAElP,UAAU8lH,OAAO,WAAW,IAAI9gH,EAAE,OAAOA,EAAE,IAAI+0E,WAAWx3E,KAAK4G,MAAM5G,KAAK6G,OAAO,GAAG7G,KAAK4mN,gBAAgBnkN,EAAEzC,KAAK0mN,gBAAgBjkN,GAAG,IAAInC,EAAE,WAAW,GAAG,oBAAoBnD,OAAOM,UAAU2O,SAASpK,KAAKnB,GAAG,CAAC,IAAIE,EAAEF,EAAEyC,SAASsX,cAAc,UAAU/d,EAAEkE,EAAE+Z,WAAW,MAAM,MAAMrY,GAAG,OAAM,EAAG,OAAM,EAAG,OAAM,GAAI,OAAOnC,IAAImC,EAAE,SAASA,GAAG,IAAIF,EAAE,IAAG,IAAKjC,IAAI,OAAOzD,EAAE+J,MAAMnE,EAAEmE,MAAM/J,EAAEgK,OAAOpE,EAAEoE,OAAOhK,EAAEinB,UAAU,EAAE,EAAErhB,EAAEmE,MAAMnE,EAAEoE,QAAQhK,EAAEknB,aAAathB,EAAE,EAAE,IAAIF,EAAE,IAAIk+F,OAAOt/E,IAAIpgB,EAAEktE,YAAY1rE,EAAE,MAAM,IAAI28B,MAAM,2DAA2DvyB,EAAElP,UAAUqpN,aAAa,SAAS/lN,GAAG,IAAIwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,EAAEsB,EAAE8X,EAAE,GAAGha,KAAK+iF,UAAU,CAAC,IAAI/oE,EAAE,GAAGnZ,EAAEP,EAAE,EAAEM,GAAGsB,EAAElC,KAAK+iF,UAAUijI,QAAQlpN,OAAOwD,EAAEM,EAAEC,IAAIP,EAAEiC,EAAEL,EAAErB,GAAGhE,EAAEkE,EAAEgmN,gBAAgBxkN,EAAEqE,MAAMrE,EAAEsE,QAAQ8F,EAAE3M,KAAK0mN,aAAa,IAAIlvI,WAAWj1E,EAAEyO,OAAOhR,KAAK4mN,gBAAgB/pN,EAAE8P,GAAGpK,EAAEg0M,UAAU15M,EAAEmd,EAAElT,KAAKvE,EAAEoe,MAAMle,EAAE5F,IAAI,OAAOmd,IAAIrN,EAAElP,UAAUupN,YAAY,SAASvkN,EAAE1B,GAAG,IAAIwB,EAAE1B,EAAEhE,EAAE,OAAO0F,GAAG1B,EAAEb,KAAK+iF,UAAUijI,QAAQjlN,GAAGlE,EAAEgE,EAAEE,EAAE,GAAG,IAAIA,GAAG0B,EAAEqhB,UAAU,EAAE,EAAE9jB,KAAK4G,MAAM5G,KAAK6G,QAAQ,KAAK,MAAMhK,EAAEA,EAAEspN,eAAU,GAAQ1jN,EAAEqhB,UAAUjnB,EAAEihF,QAAQjhF,EAAEkhF,QAAQlhF,EAAE+J,MAAM/J,EAAEgK,QAAQ,KAAK,MAAMhK,EAAEA,EAAEspN,eAAU,IAAS1jN,EAAEshB,aAAalnB,EAAE05M,UAAU15M,EAAEihF,QAAQjhF,EAAEkhF,SAAS,IAAIx7E,EAAE6jN,SAAS3jN,EAAEqhB,UAAUvhB,EAAEu7E,QAAQv7E,EAAEw7E,QAAQx7E,EAAEqE,MAAMrE,EAAEsE,QAAQpE,EAAE2e,UAAU7e,EAAEoe,MAAMpe,EAAEu7E,QAAQv7E,EAAEw7E,UAAUpxE,EAAElP,UAAUugB,QAAQ,SAASvb,GAAG,IAAI1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAEM,EAAEZ,KAAK,OAAOuC,EAAE,EAAEjC,EAAEN,KAAK+iF,UAAUlmF,EAAEyD,EAAEwlN,UAAUjlN,EAAEP,EAAE0lN,OAAOr5M,EAAErM,EAAEylN,UAAUhlN,EAAE,WAAW,IAAIT,EAAE4B,EAAE,GAAG5B,EAAEiC,IAAI1F,EAAEqF,EAAErB,EAAEP,GAAGM,EAAEomN,YAAYvkN,EAAEnC,GAAGzD,EAAE,GAAG0F,EAAE1F,EAAE8P,EAAE,OAAO/L,EAAEmiF,UAAUkkI,SAASpyL,WAAW9zB,EAAEmB,EAAEy0B,YAAYhqB,EAAElP,UAAUypN,cAAc,WAAW,IAAIzkN,EAAE,OAAO6xB,aAAa,OAAO7xB,EAAEzC,KAAK+iF,WAAWtgF,EAAEwkN,cAAS,IAASt6M,EAAElP,UAAUqV,OAAO,SAASrQ,GAAG,IAAI1B,EAAEwB,EAAE,OAAOE,EAAE0kN,MAAM1kN,EAAE0kN,KAAKD,gBAAgBzkN,EAAE0kN,KAAKnnN,KAAKyC,EAAEmE,MAAM5G,KAAK4G,MAAMnE,EAAEoE,OAAO7G,KAAK6G,OAAO9F,EAAE0B,EAAEqY,WAAW,MAAM9a,KAAK+iF,WAAW/iF,KAAK8mN,aAAa/lN,GAAGf,KAAKge,QAAQjd,KAAKwB,EAAExB,EAAEgmN,gBAAgB/mN,KAAK4G,MAAM5G,KAAK6G,QAAQ7G,KAAK4mN,gBAAgBrkN,EAAEvC,KAAK0mN,gBAAgB3lN,EAAEgjB,aAAaxhB,EAAE,EAAE,KAAKoK,EAA1hN,GAsDpgC,SAAS+vL,GAAGj6L,GAAG,IAAI1B,EAAE,EAAE,GAAG,KAAK0B,EAAE1B,MAAM,KAAK0B,EAAE1B,MAAM,KAAK0B,EAAE1B,MAAM,KAAK0B,EAAE1B,MAAM,KAAK0B,EAAE1B,KAAK,EAAE,MAAM,KAAK0B,EAAE1B,KAAK,MAAM,IAAIm+B,MAAM,+BAA+B,IAAI38B,EAAEE,EAAE1B,KAAK0B,EAAE1B,MAAM,EAAEF,EAAE4B,EAAE1B,KAAK0B,EAAE1B,MAAM,EAAElE,EAAE4F,EAAE1B,KAAK4L,EAAE9P,GAAG,EAAEyD,EAAE,GAAS,GAAL,EAAEzD,GAAK4F,EAAE1B,KAAK0B,EAAE1B,KAAK,IAAIH,EAAE,KAAKsB,EAAE,KAAKyK,IAAI/L,EAAEG,EAAEmB,EAAE5B,EAAES,GAAG,EAAET,GAAG,IAAI0Z,GAAE,EAAGga,EAAE,GAAGjyB,EAAE,EAAEd,EAAE,KAAKkB,EAAE,EAAEc,EAAE,KAAK,IAAIjD,KAAK4G,MAAMrE,EAAEvC,KAAK6G,OAAOhG,EAAEmZ,GAAGjZ,EAAE0B,EAAE3F,QAAQ,OAAO2F,EAAE1B,MAAM,KAAK,GAAG,OAAO0B,EAAE1B,MAAM,KAAK,IAAI,GAAG,KAAK0B,EAAE1B,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,IAAI,IAAI0B,EAAE1B,EAAE,KAAK,IAAI0B,EAAE1B,EAAE,KAAK,GAAG0B,EAAE1B,EAAE,KAAK,GAAG0B,EAAE1B,EAAE,KAAK,GAAG0B,EAAE1B,EAAE,IAAIA,GAAG,GAAGkC,EAAER,EAAE1B,KAAK0B,EAAE1B,MAAM,EAAEA,SAAS,IAAIA,GAAG,KAAK,CAAC,MAAM05B,EAAEh4B,EAAE1B,OAAO,GAAG,MAAMm+B,MAAM,sBAAsB,GAAG,IAAIzE,EAAE,MAAM15B,GAAG05B,EAAE,MAAM,KAAK,IAAI,GAAG,IAAIh4B,EAAE1B,MAAM,IAAI0B,EAAE1B,EAAE,GAAG,MAAM,IAAIm+B,MAAM,qCAAqC,IAAIj1B,EAAExH,EAAE1B,KAAKgB,EAAEU,EAAE1B,KAAK0B,EAAE1B,MAAM,EAAEE,EAAEwB,EAAE1B,KAAK,IAAI,EAAEkJ,KAAKhJ,EAAE,MAAMkB,EAAE8H,GAAG,EAAE,EAAElJ,IAAI,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM05B,EAAEh4B,EAAE1B,OAAO,GAAG,MAAMm+B,MAAM,sBAAsB,GAAG,IAAIzE,EAAE,MAAM15B,GAAG05B,EAAE,MAAM,QAAQ,MAAM,IAAIyE,MAAM,oCAAoCz8B,EAAE1B,EAAE,GAAGqL,SAAS,KAAK,MAAM,KAAK,GAAG,IAAInK,EAAEQ,EAAE1B,KAAK0B,EAAE1B,MAAM,EAAEmM,EAAEzK,EAAE1B,KAAK0B,EAAE1B,MAAM,EAAEmJ,EAAEzH,EAAE1B,KAAK0B,EAAE1B,MAAM,EAAE+L,EAAErK,EAAE1B,KAAK0B,EAAE1B,MAAM,EAAEi0B,EAAEvyB,EAAE1B,KAAK6uL,EAAE56J,GAAG,EAAE,EAAE66J,EAAE,GAAS,GAAL,EAAE76J,GAAKuzF,EAAE3nH,EAAEiM,EAAE3K,EAAEy4B,GAAE,EAAM3F,GAAG,IAAG2F,GAAE,EAAG4tF,EAAExnH,EAAE8L,EAAEgjL,EAAE9uL,GAAG,EAAE8uL,GAAE,IAAIt7J,EAAExzB,EAAE,IAAIA,MAAM,CAAC,IAAI05B,EAAE,MAAMA,EAAEh4B,EAAE1B,OAAO,GAAG,MAAMm+B,MAAM,sBAAsB,GAAG,IAAIzE,EAAE,MAAM15B,GAAG05B,EAAEzG,EAAEltB,KAAK,CAAC+F,EAAE5K,EAAE6K,EAAEI,EAAEtG,MAAMsD,EAAErD,OAAOiG,EAAEs6M,kBAAkBzsL,EAAE0sL,eAAe9+F,EAAE++F,aAAaz6M,EAAE06M,YAAYhzL,EAAEizL,YAAYzmN,EAAEwzB,EAAEkzL,kBAAkBxmN,EAAEymN,aAAa93B,EAAEj5J,MAAM50B,EAAE4lN,SAASxlN,IAAI,MAAM,KAAK,GAAG6X,GAAE,EAAG,MAAM,QAAQ,MAAM,IAAIklB,MAAM,wBAAwBz8B,EAAE1B,EAAE,GAAGqL,SAAS,KAAKpM,KAAK8lN,UAAU,WAAW,OAAO9xL,EAAEl3B,QAAQkD,KAAK4nN,UAAU,WAAW,OAAO3kN,GAAGjD,KAAK6nN,UAAU,SAASplN,GAAG,GAAGA,EAAE,GAAGA,GAAGuxB,EAAEl3B,OAAO,MAAM,IAAIoiC,MAAM,6BAA6B,OAAOlL,EAAEvxB,IAAIzC,KAAK8nN,uBAAuB,SAAS/mN,EAAEF,GAAG,IAAIhE,EAAEmD,KAAK6nN,UAAU9mN,GAAG4L,EAAE9P,EAAE+J,MAAM/J,EAAEgK,OAAOvG,EAAE,IAAIk3E,WAAW7qE,GAAG66E,GAAG/kF,EAAE5F,EAAE0qN,YAAYjnN,EAAEqM,GAAG,IAAI/L,EAAE/D,EAAEwqN,eAAenlN,EAAErF,EAAE4qN,kBAAkB,OAAOvlN,IAAIA,EAAE,KAAK,IAAI8X,EAAEnd,EAAE+J,MAAMotB,EAAEzxB,EAAEyX,EAAEjY,EAAEiY,EAAE/Y,EAAE,GAAGpE,EAAEiQ,EAAEvK,EAAE1F,EAAEgQ,GAAG1K,EAAE,IAAItF,EAAEiQ,EAAEjQ,EAAEgK,QAAQtE,EAAE1F,EAAEgQ,GAAG5J,EAAEhC,EAAEgJ,EAAE,EAAE+pB,GAAE,IAAKn3B,EAAE6qN,aAAaz9M,GAAG,EAAE1H,EAAE,GAAG,IAAI,IAAIN,EAAE,EAAEiL,EAAE,EAAEhD,EAAE5J,EAAExD,OAAOoQ,EAAEhD,IAAIgD,EAAE,CAAC,IAAIJ,EAAExM,EAAE4M,GAAG,GAAG,IAAInL,IAAIA,EAAEiY,GAAG/W,GAAGgH,IAAI9H,IAAI8H,EAAE,EAAE+pB,EAAE,EAAEzxB,GAAGN,EAAE,GAAGgB,EAAEhC,GAAG+Y,EAAEga,IAAI/xB,GAAG,GAAGA,IAAI,IAAI6K,IAAI5K,EAAEe,GAAG,MAAM,CAAC,IAAI+xB,EAAEvyB,EAAE7B,EAAE,EAAEkM,GAAG8iL,EAAEntL,EAAE7B,EAAE,EAAEkM,EAAE,GAAG+iL,EAAEptL,EAAE7B,EAAE,EAAEkM,EAAE,GAAGjM,EAAEoC,KAAK4sL,EAAEhvL,EAAEoC,KAAK2sL,EAAE/uL,EAAEoC,KAAK+xB,EAAEn0B,EAAEoC,KAAK,MAAMlB,IAAI/B,KAAK+nN,uBAAuB,SAAShnN,EAAEF,GAAG,IAAIhE,EAAEmD,KAAK6nN,UAAU9mN,GAAG4L,EAAE9P,EAAE+J,MAAM/J,EAAEgK,OAAOvG,EAAE,IAAIk3E,WAAW7qE,GAAG66E,GAAG/kF,EAAE5F,EAAE0qN,YAAYjnN,EAAEqM,GAAG,IAAI/L,EAAE/D,EAAEwqN,eAAenlN,EAAErF,EAAE4qN,kBAAkB,OAAOvlN,IAAIA,EAAE,KAAK,IAAI8X,EAAEnd,EAAE+J,MAAMotB,EAAEzxB,EAAEyX,EAAEjY,EAAEiY,EAAE/Y,EAAE,GAAGpE,EAAEiQ,EAAEvK,EAAE1F,EAAEgQ,GAAG1K,EAAE,IAAItF,EAAEiQ,EAAEjQ,EAAEgK,QAAQtE,EAAE1F,EAAEgQ,GAAG5J,EAAEhC,EAAEgJ,EAAE,EAAE+pB,GAAE,IAAKn3B,EAAE6qN,aAAaz9M,GAAG,EAAE1H,EAAE,GAAG,IAAI,IAAIN,EAAE,EAAEiL,EAAE,EAAEhD,EAAE5J,EAAExD,OAAOoQ,EAAEhD,IAAIgD,EAAE,CAAC,IAAIJ,EAAExM,EAAE4M,GAAG,GAAG,IAAInL,IAAIA,EAAEiY,GAAG/W,GAAGgH,IAAI9H,IAAI8H,EAAE,EAAE+pB,EAAE,EAAEzxB,GAAGN,EAAE,GAAGgB,EAAEhC,GAAG+Y,EAAEga,IAAI/xB,GAAG,GAAGA,IAAI,IAAI6K,IAAI5K,EAAEe,GAAG,MAAM,CAAC,IAAI+xB,EAAEvyB,EAAE7B,EAAE,EAAEkM,GAAG8iL,EAAEntL,EAAE7B,EAAE,EAAEkM,EAAE,GAAG+iL,EAAEptL,EAAE7B,EAAE,EAAEkM,EAAE,GAAGjM,EAAEoC,KAAK+xB,EAAEn0B,EAAEoC,KAAK2sL,EAAE/uL,EAAEoC,KAAK4sL,EAAEhvL,EAAEoC,KAAK,MAAMlB,IAAI,SAASylF,GAAG/kF,EAAE1B,EAAEwB,EAAE1B,GAAG,IAAI,IAAIhE,EAAE4F,EAAE1B,KAAKT,EAAE,GAAGzD,EAAE+D,EAAEN,EAAE,EAAE4B,EAAEtB,EAAE,EAAEoZ,EAAEnd,EAAE,EAAEm3B,GAAG,GAAGha,GAAG,EAAEjY,EAAE,EAAEd,EAAE,EAAEkB,EAAE,EAAEc,EAAER,EAAE1B,KAAKkJ,EAAE,IAAI+rM,WAAW,MAAM/zM,EAAE,OAAO,CAAC,KAAKF,EAAE,IAAI,IAAIkB,GAAGhC,GAAGwB,EAAE1B,MAAMgB,EAAEA,GAAG,EAAE,IAAIkB,EAAEA,EAAER,EAAE1B,OAAOkC,EAAE,GAAGlB,EAAEiY,EAAE,MAAM,IAAI9M,EAAEjM,EAAE+yB,EAAE,GAAG/yB,IAAI+Y,EAAEjY,GAAGiY,EAAE9M,IAAI5M,EAAE,CAAC,GAAG4M,IAAItM,EAAE,MAAM,IAAI,IAAIsJ,EAAEgD,EAAEhL,EAAEgL,EAAEjL,EAAE6K,EAAE,EAAEkoB,EAAE9qB,EAAE8qB,EAAE10B,GAAG00B,EAAE/qB,EAAE+qB,IAAI,IAAIloB,EAAE,IAAI8iL,EAAE56J,EAAE,GAAG7yB,EAAE2K,GAAG5C,IAAIgD,EAAE,EAAE,GAAGrM,EAAE,YAAY8L,EAAE/G,IAAI,6CAA6CrD,EAAEJ,KAAKytL,EAAE,IAAIC,EAAE1tL,GAAG2K,EAAE,IAAI5C,IAAIgD,IAAI3K,EAAEJ,KAAKytL,GAAG56J,EAAE9qB,EAAE4C,KAAKkoB,EAAE/qB,EAAE+qB,GAAGzyB,IAAIstL,GAAG,IAAI76J,EAAEA,IAAI,EAAE,OAAO/yB,GAAGC,EAAE,OAAO+H,EAAE/H,KAAKD,GAAG,EAAE2tL,EAAE1tL,GAAG8xB,EAAE,GAAGha,EAAE,OAAOA,EAAEga,EAAEA,GAAG,EAAE,IAAI/xB,EAAEiL,OAAOhL,EAAEtB,EAAE,EAAEozB,GAAG,IAAIha,EAAEnd,EAAE,IAAI,EAAEoF,EAAE,KAAK,OAAOE,IAAItB,GAAG8L,EAAE/G,IAAI,8CAA8CrD,EAgCv2G,SAAS+0L,GAAG70L,GAAG,IAAI1B,EAAEwB,EAAE1B,EAAEhE,EAAE8P,EAAErM,EAAE6G,KAAK0W,MAAMjd,EAAE,IAAIH,MAAM,IAAIyB,EAAE,IAAIzB,MAAM,IAAIuZ,EAAE,IAAIvZ,MAAM,IAAIuzB,EAAE,IAAIvzB,MAAM,IAAIsB,EAAE,IAAItB,MAAM,OAAOQ,EAAE,IAAIR,MAAM,OAAO0B,EAAE,IAAI1B,MAAM,IAAIwC,EAAE,IAAIxC,MAAM,IAAIwJ,EAAE,GAAGhI,EAAE,EAAEiL,EAAE,EAAEhD,EAAE,IAAIzJ,MAAM,IAAIqM,EAAE,IAAIrM,MAAM,IAAIu0B,EAAE,IAAIv0B,MAAM,IAAImvL,EAAE,IAAInvL,MAAM,KAAKovL,EAAE,IAAIpvL,MAAM,MAAM8nH,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI17G,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG8tB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAIpG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKkG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK7Y,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGouK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAIrvL,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKirJ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAA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GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIjD,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,KAAK+C,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAMT,GAAG,EAAE8G,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKF,GAAG,KAAKp6K,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAIw6K,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI2B,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAGrgF,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQogF,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM3iL,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK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K,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAA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A,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,YAmGGC,GAASjO,GA5FQ,CAEpB,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GA9FiC3kO,KAAI,SAAS5a,GAAK,MAAO,CAAEA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAM,IAAFA,OAmG/EytP,GAAO,CACXjwH,EAAM,SACN,EAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,QACN,GAAM,OACN,GAAM,gBACN,IAAM,SAEFkwH,GAAQhP,EAAU+O,IAKlBE,GAAgC,CAEnC,6EAA8E,YAG9E,sCAAuC,OAGvC,0CAA2C,OAC3C,sCAAuC,OAGvC,6DAA8D,YAC9D,sEAAuE,YACvE,wEAAyE,WAGzE,wEAAyE,OACzE,6EAA8E,OAG9E,sCAAuC,OACvC,6EAA8E,OAG9E,oEAAqE,OAGrE,gDAAiD,OAGjD,2CAA4C,OAG5C,wCAAyC,OAGzC,qCAAsC,aACtC,4EAA6E,aAG7E,8EAA+E,OAG/E,oCAAqC,OACrC,wCAAyC,OAGzC,4CAA6C,OAG7C,uCAAwC,OACxC,8EAA+E,OAG/E,wCAAyC,QACzC,+EAAgF,QAGhF,yCAA0C,OAC1C,gFAAiF,OAGjF,gDAAiD,OACjD,6CAA8C,OAC9C,uFAAwF,OACxF,oFAAqF,OAGrF,sCAAuC,OACvC,6EAA8E,OAG9E,qCAAsC,OACtC,2CAA4C,OAC5C,uCAA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,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,MAAQ,GAIJmD,GAAsB,CACzB,aAAc,OACd,cAAe,QACf,kBAAmB,YACnB,eAAgB,SAChB,kBAAmB,YACnB,mBAAoB,aACpB,aAAc,OACd,kBAAmB,YACnB,iBAAkB,WAClB,mBAAoB,aACpB,yBAA0B,mBAC1B,kBAAmB,YACnB,eAAgB,SAChB,kBAAmB,YACnB,cAAe,QACf,kBAAmB,YACnB,eAAgB,SAChB,qBAAsB,eACtB,wBAAyB,kBACzB,mBAAoB,aACpB,sBAAuB,gBACvB,kBAAmB,YACnB,qBAAsB,eACtB,mBAAoB,aACpB,gBAAiB,UACjB,eAAgB,SAChB,wBAAyB,kBACzB,qBAAsB,eACtB,YAAa,MACb,aAAc,OACd,iBAAkB,WAClB,qBAAsB,eACtB,qBAAsB,eACtB,YAAa,MACb,aAAc,OACd,aAAc,OACd,gBAAiB,UACjB,qBAAsB,eACtB,oBAAqB,cACrB,qBAAsB,eACtB,mBAAoB,aACpB,eAAgB,SAChB,kBAAmB,YACnB,cAAe,QACf,iBAAkB,WAClB,eAAgB,SAChB,kBAAmB,YACnB,mBAAoB,aACpB,sBAAuB,gBACvB,qBAAsB,eACtB,6BAA8B,uBAC9B,iCAAkC,2BAClC,0BAA2B,oBAC3B,wBAAyB,kBACzB,oBAAqB,cACrB,cAAe,QACf,mBAAoB,aACpB,kBAAmB,YACnB,wBAAyB,kBACzB,cAAe,QACf,qBAAsB,eACtB,gBAAiB,UACjB,aAAc,OACd,YAAa,MACb,eAAgB,SAChB,cAAe,QACf,cAAe,QACf,eAAgB,SAChB,cAAe,QACf,eAAgB,SAChB,eAAgB,SAChB,cAAe,QACf,kBAAmB,YACnB,oBAAqB,cACrB,mBAAoB,aACpB,qBAAsB,eACtB,oBAAqB,cACrB,eAAgB,SAChB,eAAgB,SAChB,kBAAmB,YACnB,kBAAmB,YACnB,cAAe,QACf,sBAAuB,gBACvB,yBAA0B,mBAC1B,iBAAkB,WAClB,kBAAmB,YACnB,iBAAkB,WAClB,oBAAqB,cACrB,mBAAoB,aACpB,oBAAqB,cACrB,kBAAmB,YACnB,uBAAwB,iBACxB,uBAAwB,iBACxB,wBAAyB,kBACzB,wBAAyB,kBACzB,qBAAsB,eACtB,YAAa,MACb,qBAAsB,eACtB,qBAAsB,eACtB,qBAAsB,eACtB,oBAAqB,cACrB,iBAAkB,WAClB,gBAAiB,UACjB,YAAa,MACb,YAAa,MACb,aAAc,OACd,cAAe,QACf,eAAgB,SAChB,eAAgB,SAChB,gBAAiB,UACjB,gBAAiB,UACjB,eAAgB,SAChB,eAAgB,SAChB,eAAgB,SAChB,kBAAmB,YACnB,kBAAmB,YACnB,cAAe,QACf,iBAAkB,WAClB,eAAgB,SAChB,iBAAkB,WAClB,gBAAiB,UACjB,gBAAiB,UACjB,cAAe,QACf,cAAe,QACf,mBAAoB,aACpB,qBAAsB,eACtB,qBAAsB,eACtB,YAAa,MACb,eAAgB,UAIjB,SAAS2B,GAAmB3pR,GAY3B,MAXmB,OAAhBA,EAAE+wC,MAAM,EAAE,KAAa/wC,EAAIA,EAAE+wC,MAAM,IAEhB,IAAnB/wC,EAAEoqC,WAAW,IAEO,KADtBpqC,EAAIA,EAAE+wC,MAAM,IACP3G,WAAW,KAAUpqC,EAAIA,EAAE+wC,MAAM,KAMvC/wC,GAFAA,GAFAA,EAAIA,EAAEwG,QAAQ,oBAAqB,KAE7BA,QAAQ,iDAAiD,SAAS6yO,EAAIh4M,GAAM,OAAOA,EAAG76B,QAAQ,MAAM,QAEpGA,QAAQ,sBAAuB,OAC5BA,QAAQ,QAAQ,KAAKA,QAAQ,MAAM,KAS7C,SAASojR,GAActoR,GACtB,IAAIoK,EAAIpK,EAAEgK,MAAM,KAEhB,MAAO,CADCI,EAAE,GAAGJ,MAAM,KAAK,GACbI,EAAE,GAAGJ,MAAM,KAAK,IAAMI,EAAE7P,OAAS,EAAK,KAAO6P,EAAE,GAAGJ,MAAM,KAAK,IAAMI,EAAE,GAAGJ,MAAM,KAAK,IAAO,KAOtG,IAAIyuP,GAAO,GACP8vB,GAAW,GAEfjvB,GAAKkvB,GAAK,CACT,gFACA,qEAID,IAAIC,GAAiC,qBAAR1vH,IAE7B,SAAS2vH,GAAW7U,EAAK1yJ,EAAKohI,GAC7B,IAAIjoP,EAAI,EAAGmoC,EAAMoxO,EAAIt5Q,OACrB,GAAGgoP,GACF,GAAGkmC,GAAkBlmC,EAAI9/J,IAAI0+B,GAAOvmH,OAAOM,UAAUuF,eAAehB,KAAK8iP,EAAKphI,GAE7E,IADA,IAAIwnK,EAASF,GAAkBlmC,EAAIxiP,IAAIohH,GAAOohI,EAAIphI,GAC5C7mH,EAAIquR,EAAOpuR,SAAUD,EAC1B,GAAGu5Q,EAAI8U,EAAOruR,IAAI4F,IAAMihH,EAAqB,OAAd0yJ,EAAIE,QAAiB4U,EAAOruR,QAGvD,KAAMA,EAAImoC,IAAOnoC,EACvB,GAAGu5Q,EAAIv5Q,GAAG4F,IAAMihH,EAAqB,OAAd0yJ,EAAIE,QAAiBz5Q,EAY7C,OAVAu5Q,EAAIpxO,GAAQ,CAACviC,EAAEihH,GAAO0yJ,EAAIE,QAAUF,EAAII,SACrC1xB,IACCkmC,IACElmC,EAAI9/J,IAAI0+B,IAAMohI,EAAIt4O,IAAIk3G,EAAK,IAC/BohI,EAAIxiP,IAAIohH,GAAK58G,KAAKk+B,KAEd7nC,OAAOM,UAAUuF,eAAehB,KAAK8iP,EAAKphI,KAAMohI,EAAIphI,GAAO,IAC/DohI,EAAIphI,GAAK58G,KAAKk+B,KAGTA,EAGR,SAASmmP,GAAUv/H,EAAGtxE,GACrB,IAAIr3E,EAAK,CAAC+O,IAAI45I,EAAE,EAAE15I,IAAI05I,EAAE,GAEpBwkH,GAAO,EAQX,OAPG91L,EAAIghM,MAAKA,GAAMhhM,EAAIghM,KACN,MAAbhhM,EAAI1zE,MAAe3D,EAAE64Q,YAAc,EACnB,MAAXxhM,EAAI22L,IAAab,EAAMe,GAAQ72L,EAAI22L,KACxB,MAAX32L,EAAI81L,MAAaA,EAAM91L,EAAI81L,KAChCA,GAAO,GAAKntQ,EAAE2D,MAAQ20Q,GAAWnL,GAAMntQ,EAAE64Q,YAAc,GACrC,MAAbxhM,EAAI1zE,QAAe3D,EAAE2D,MAAQ0zE,EAAI1zE,OACtC0zE,EAAI61L,SAAQltQ,EAAEktQ,QAAS,GACnBltQ,EAGR,SAASmoR,GAAgB/sE,EAAS37M,GACjC,GAAI27M,EAAJ,CACA,IAAIpjM,EAAO,CAAC,GAAK,GAAK,IAAM,IAAM,GAAK,IAC5B,QAARvY,IAAgBuY,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,GAAK,KACvB,MAAlBojM,EAAQxnK,OAAgBwnK,EAAQxnK,KAAS57B,EAAK,IAC5B,MAAlBojM,EAAQx7H,QAAgBw7H,EAAQx7H,MAAS5nE,EAAK,IAC5B,MAAlBojM,EAAQtnK,MAAgBsnK,EAAQtnK,IAAS97B,EAAK,IAC5B,MAAlBojM,EAAQz7H,SAAgBy7H,EAAQz7H,OAAS3nE,EAAK,IAC5B,MAAlBojM,EAAQhvF,SAAgBgvF,EAAQhvF,OAASp0G,EAAK,IAC5B,MAAlBojM,EAAQ1uF,SAAgB0uF,EAAQ1uF,OAAS10G,EAAK,KAGlD,SAASowQ,GAAe/4Q,EAAQmlG,EAAMp0G,GACrC,IAAIg1F,EAAIh1F,EAAKioR,OAAiB,MAAV7zK,EAAKpf,EAAYof,EAAKpf,EAAI,WAC1Cx7F,EAAI,GAAMmoC,EAAM1yB,EAAOxV,OAC3B,GAAQ,MAALu7F,GAAah1F,EAAKkoR,IACpB,KAAM1uR,EAAI,MAASA,EAAG,GAAkB,MAAfwG,EAAKkoR,IAAI1uR,GAAY,CAC7C64O,EAAI9wN,KAAK6yF,EAAKpf,EAAGx7F,GAEjBwG,EAAKkoR,IAAI1uR,GAAK46G,EAAKpf,EACnBh1F,EAAKioR,OAAO7zK,EAAKpf,GAAKA,EAAIx7F,EAC1B,MAGF,IAAIA,EAAI,EAAGA,GAAKmoC,IAAOnoC,EAAG,GAAGyV,EAAOzV,GAAG24P,WAAan9J,EAAG,OAAOx7F,EAS9D,OARAyV,EAAO0yB,GAAO,CACbwwN,SAASn9J,EACT6nL,OAAO,EACPC,OAAO,EACPC,SAAS,EACTZ,KAAK,EACLgM,kBAAkB,GAEZxmP,EAGR,SAASymP,GAAYxoR,EAAGyoR,EAAOC,EAAQtoR,EAAMm5Q,EAAQlqQ,GACpD,IACIjP,EAAK4vQ,SAAQhwQ,EAAEo1F,EAAIq9I,EAAIsH,OAAO0uC,IAChC,MAAM3qR,IAAK,GAAGsC,EAAK8sP,IAAK,MAAMpvP,GAChC,GAAW,MAARkC,EAAER,EAAL,CAEA,GADW,MAARQ,EAAER,GAA4B,kBAARQ,EAAEiK,IAAgBjK,EAAEiK,EAAI++O,GAAUhpP,EAAEiK,KACzD7J,IAA0B,IAAlBA,EAAK2vQ,SAAoB,IAEpC,GADwB,MAArBt9B,EAAIsH,OAAO0uC,IAAgBh2C,EAAI9wN,KAAK04N,EAAYouC,IAAU,UAAWA,GAC7D,MAARzoR,EAAER,EAAWQ,EAAE+xB,EAAI/xB,EAAE+xB,GAAKslO,GAAKr3P,EAAEiK,QAC/B,GAAa,IAAVw+Q,EACP,GAAW,MAARzoR,EAAER,GACI,EAAJQ,EAAEiK,KAASjK,EAAEiK,EAAGjK,EAAE+xB,EAAI0gN,EAAIuC,aAAah1O,EAAEiK,GACxCjK,EAAE+xB,EAAI0gN,EAAIwD,aAAaj2O,EAAEiK,QAE1B,GAAW,MAARjK,EAAER,EAAW,CACpB,IAAI6vN,EAAKk5B,EAAQvoP,EAAEiK,GACDjK,EAAE+xB,GAAb,EAAHs9L,KAAUA,EAAUojB,EAAIuC,aAAa3lB,GAC9BojB,EAAIwD,aAAa5mB,OAExB,SAAW1yL,IAAR38B,EAAEiK,EAAiB,MAAO,GAC7BjK,EAAE+xB,EAAI0gN,EAAIyD,SAASl2O,EAAEiK,EAAE49Q,QAEb,MAAR7nR,EAAER,EAAWQ,EAAE+xB,EAAI0gN,EAAIhxG,OAAOgnJ,EAAMlgC,EAAQvoP,EAAEiK,GAAG49Q,IACpD7nR,EAAE+xB,EAAI0gN,EAAIhxG,OAAOgnJ,EAAMzoR,EAAEiK,EAAE49Q,IAC/B,MAAM/pR,IAAK,GAAGsC,EAAK8sP,IAAK,MAAMpvP,GAChC,GAAIsC,EAAKmnQ,YACI,MAAVmhB,EAAgB,IAClB1oR,EAAErC,EAAI0R,EAAO+qQ,MAAMsO,GACf1oR,EAAErC,EAAE28Q,SAAWt6Q,EAAErC,EAAE28Q,QAAQlkB,QAAUp2P,EAAErC,EAAE28Q,QAAQh3D,MACpDtjN,EAAErC,EAAE28Q,QAAQh3D,IAAMu0D,GAAS0B,EAAOU,cAAcC,UAAUl6Q,EAAErC,EAAE28Q,QAAQlkB,OAAO9yC,IAAKtjN,EAAErC,EAAE28Q,QAAQhkB,MAAQ,GACnGl2P,EAAK8sP,MAAKltP,EAAErC,EAAE28Q,QAAQqO,QAAUpP,EAAOU,cAAcC,UAAUl6Q,EAAErC,EAAE28Q,QAAQlkB,OAAO9yC,MAElFtjN,EAAErC,EAAEg2D,SAAW3zD,EAAErC,EAAEg2D,QAAQyiM,QAC9Bp2P,EAAErC,EAAEg2D,QAAQ2vJ,IAAMu0D,GAAS0B,EAAOU,cAAcC,UAAUl6Q,EAAErC,EAAEg2D,QAAQyiM,OAAO9yC,IAAKtjN,EAAErC,EAAEg2D,QAAQ2iM,MAAQ,GACnGl2P,EAAK8sP,MAAKltP,EAAErC,EAAEg2D,QAAQg1N,QAAUpP,EAAOU,cAAcC,UAAUl6Q,EAAErC,EAAEg2D,QAAQyiM,OAAO9yC,MAErF,MAAMxlN,IAAK,GAAGsC,EAAK8sP,KAAO79O,EAAO+qQ,MAAO,MAAMt8Q,KAGjD,SAAS8qR,GAAStqI,EAAIinI,EAAO3rR,GAC5B,GAAG0kJ,GAAMA,EAAG,QAAS,CACpB,IAAI/V,EAAQ6pH,GAAkB9zG,EAAG,SACjC,GAAG/V,EAAMzqI,EAAEmB,EAAIspI,EAAM5qI,EAAEsB,GAAKspI,EAAMzqI,EAAEwB,EAAIipI,EAAM5qI,EAAE2B,EAAG,MAAM,IAAI28B,MAAM,cAAgBriC,EAAI,MAAQ0kJ,EAAG,UAOpG,IAAIuqI,GAAc,gDACdC,GAAiB,2DACjBC,GAAa,8BACbC,GAAW,cACXC,GAAW,6BACXC,GAAU,mEACVC,GAAa,gCACbC,GAAe,yCACfC,GAAW,oEAGf,SAASC,GAAav7Q,EAAM3N,EAAMo8B,EAAKm8N,EAAM7pC,EAAIyqD,EAAQlqQ,GACxD,IAAItB,EAAM,OAAOA,EACb4qP,IAAMA,EAAO,CAAC,MAAM,KAIxB,IAAIh7P,EAAIyC,EAAK4yP,MAAS,GAAO,GACzByd,EAAY,CAAC9yQ,EAAG,CAAC2B,EAAE,IAASL,EAAE,KAAUnB,EAAG,CAACwB,EAAE,EAAGL,EAAE,IAEnDiyK,EAAQ,GAAIC,EAAQ,GACpBo4G,EAAOx7Q,EAAKxH,MAAMuiR,IACnBS,GACFr4G,EAAQnjK,EAAKghC,MAAM,EAAGw6O,EAAKrrP,OAC3BizI,EAAQpjK,EAAKghC,MAAMw6O,EAAKrrP,MAAQqrP,EAAK,GAAG1vR,SAClCq3K,EAAQC,EAAQpjK,EAGvB,IAAIy7Q,EAAUt4G,EAAM3qK,MAAM6iR,IACvBI,GAASC,GAAqBD,EAAQ,GAAI7rR,EAAGmxN,EAAItyL,GAGpD,IAAIktP,GAAQx4G,EAAM3qK,MAAM,wBAAwB,CAAC23B,OAAO,IAAIA,MAC5D,GAAGwrP,EAAO,EAAG,CACZ,IAAIv+M,EAAM+lG,EAAMniI,MAAM26O,EAAKA,EAAK,IAAInjR,MAAMyiR,IACvC79M,GAvCL,SAA0BmzE,EAAI3gJ,GAC7B,IAAIuB,EAAIkzP,GAAkBz0P,GACvBuB,EAAEvB,EAAE2B,GAAGJ,EAAEpB,EAAEwB,GAAKJ,EAAEvB,EAAEsB,GAAGC,EAAEpB,EAAEmB,GAAKC,EAAEvB,EAAE2B,GAAG,GAAKJ,EAAEvB,EAAEsB,GAAG,IAAGq/I,EAAG,QAAU6zG,GAAajzP,IAqC1EyqR,CAAiBhsR,EAAGwtE,EAAI,IAIjC,IAAIy+M,EAAM14G,EAAM3qK,MAAM8iR,IACnBO,GAAOA,EAAI,IA6Lf,SAAiC77Q,EAAM+gN,GAClCA,EAAG+6D,QAAO/6D,EAAG+6D,MAAQ,CAAC,MACzB97Q,EAAKxH,MAAMujR,KAAa,IAAIh4P,SAAQ,SAASxyB,EAAG1F,GAChD,IAAIotI,EAAM8jH,GAAYxrP,GAElBwvN,EAAG+6D,MAAMjwR,KAAIk1N,EAAG+6D,MAAMjwR,GAAK,IAE5BsyP,GAAallH,EAAI+iJ,eAAcj7D,EAAG+6D,MAAMjwR,GAAGowR,KAAM,MApMnCC,CAAwBL,EAAI,GAAI96D,GAGlD,IAAIz5G,EAAU,GACd,GAAGj1G,EAAKmnQ,WAAY,CAEnB,IAAIz3K,EAAOohF,EAAM3qK,MAAM0iR,IACpBn5L,GAwIL,SAA2BulB,EAASvlB,GAEnC,IADA,IAAIo6L,GAAU,EACNC,EAAO,EAAGA,GAAQr6L,EAAKj2F,SAAUswR,EAAM,CAC9C,IAAIvR,EAAO9tB,GAAYh7J,EAAKq6L,IAAO,GAChCvR,EAAK1L,SAAQ0L,EAAK1L,OAAShhB,GAAa0sB,EAAK1L,SAChD,IAAIkd,EAAKnvQ,SAAS29P,EAAK7pQ,IAAK,IAAI,EAAGs7Q,EAAKpvQ,SAAS29P,EAAK3pQ,IAAI,IAAI,EAI9D,WAHO2pQ,EAAK7pQ,WAAY6pQ,EAAK3pQ,IAAK2pQ,EAAKj1Q,OAASi1Q,EAAKj1Q,OACjDumR,GAAWtR,EAAKj1Q,QAASumR,GAAU,EAAMxR,GAAcE,EAAKj1Q,QAChEypQ,GAAYwL,GACNwR,GAAQC,GAAMh1K,EAAQ+0K,KAAUjhC,GAAIyvB,IAjJjC0R,CAAkBj1K,EAASvlB,GAIlCy5L,GAAMgB,GAAkBhB,EAAK,GAAI5rR,EAAGyC,EAAMqwQ,EAAU8I,EAAQlqQ,GAG/D,IAAIm7Q,EAAUr5G,EAAM5qK,MAAM2iR,IACvBsB,IAAS7sR,EAAE,eAsJf,SAAiCoQ,GAEhC,MADQ,CAAEo9D,KAAMp9D,EAAKxH,MAAM,kBAAkB,IAAI,IAvJlBkkR,CAAwBD,EAAQ,KAG/D,IAAIE,EAAS,GACTC,EAASx5G,EAAM5qK,MAAMsiR,IACzB,GAAG8B,EAAQ,IAAIjB,EAAO,EAAGA,GAAQiB,EAAO9wR,SAAU6vR,EACjDgB,EAAOhB,GAAQt3B,GAAkBu4B,EAAOjB,GAAM36O,MAAM47O,EAAOjB,GAAMtiR,QAAQ,KAAM,IAGhF,IAAIwjR,EAAQz5G,EAAM5qK,MAAMwiR,IACrB6B,GA4EJ,SAA6BjtR,EAAGoQ,EAAM4qP,GAErC,IADA,IAAI3F,EAAQx1P,MAAMC,QAAQE,GAClB/D,EAAI,EAAGA,GAAKmU,EAAKlU,SAAUD,EAAG,CACrC,IAAI6mB,EAAMqqO,GAAYqB,GAASp+O,EAAKnU,KAAK,GACzC,IAAI6mB,EAAI0qD,IAAK,OACb,IAAI3tC,IAAQm7N,GAAQ,IAAI,QAAQ,IAAIl4O,EAAIS,IACrCsc,GACF/c,EAAIi5O,OAASl8N,EAAIk8N,OACdj5O,EAAIke,WAAUle,EAAIi5O,QAAU,IAAIj5O,EAAIke,YAEvCle,EAAIi5O,OAAS,IAAMj5O,EAAIke,SACvBnB,EAAM,CAACk8N,OAAQj5O,EAAIi5O,OAAQC,WAAY,aAExCl5O,EAAIoqQ,IAAMrtP,EACP/c,EAAIk4G,UAAWl4G,EAAIy/I,QAAUz/I,EAAIk4G,eAAgBl4G,EAAIk4G,SAExD,IADA,IAAImyJ,EAAM14B,GAAkB3xO,EAAI0qD,KACxB8mH,EAAE64F,EAAIntR,EAAE2B,EAAE2yL,GAAG64F,EAAIhtR,EAAEwB,IAAI2yL,EAAG,IAAI,IAAItpC,EAAEmiI,EAAIntR,EAAEsB,EAAE0pJ,GAAGmiI,EAAIhtR,EAAEmB,IAAI0pJ,EAAG,CACnE,IAAIy0F,EAAOmU,GAAY,CAACtyP,EAAE0pJ,EAAErpJ,EAAE2yL,IAC3B+gE,GACEr1P,EAAEs0L,KAAIt0L,EAAEs0L,GAAK,IACbt0L,EAAEs0L,GAAGtpC,KAAIhrJ,EAAEs0L,GAAGtpC,GAAK,CAACnpJ,EAAE,IAAIyK,OAAE0yB,IAChCh/B,EAAEs0L,GAAGtpC,GAAG7pJ,EAAI2hB,IAER9iB,EAAEy/O,KAAOz/O,EAAEy/O,GAAQ,CAAC59O,EAAE,IAAIyK,OAAE0yB,IAChCh/B,EAAEy/O,GAAMt+O,EAAI2hB,KApGLsqQ,CAAoBptR,EAAGitR,EAAOjyB,GAGxC,IAAIv9C,EAAUjqC,EAAM5qK,MAAM4iR,IAI1B,GAHG/tE,IAASz9M,EAAE,YAsGf,SAA8B67E,GAC7B,IAAIn8E,EAAI,GAIR,MAHA,CAAC,OAAQ,QAAS,MAAO,SAAU,SAAU,UAAUy0B,SAAQ,SAASnT,GACpE66D,EAAO76D,KAAIthB,EAAEshB,GAAKrY,WAAWkzE,EAAO76D,QAEjCthB,EA3GqB2tR,CAAqBlgC,GAAY1vC,EAAQ,OAEjEz9M,EAAE,SAAW8yQ,EAAS3yQ,EAAEmB,GAAKwxQ,EAAS9yQ,EAAEsB,GAAKwxQ,EAAS3yQ,EAAEwB,GAAKmxQ,EAAS9yQ,EAAE2B,IAAG3B,EAAE,QAAUw0P,GAAase,IACrGrwQ,EAAKsoQ,UAAY,GAAK/qQ,EAAE,QAAS,CACnC,IAAIstR,EAAS74B,GAAkBz0P,EAAE,SAC9ByC,EAAKsoQ,YAAcuiB,EAAOntR,EAAEwB,IAC9B2rR,EAAOntR,EAAEwB,EAAIc,EAAKsoQ,UAAY,EAC3BuiB,EAAOntR,EAAEwB,EAAImxQ,EAAS3yQ,EAAEwB,IAAG2rR,EAAOntR,EAAEwB,EAAImxQ,EAAS3yQ,EAAEwB,GACnD2rR,EAAOntR,EAAEwB,EAAI2rR,EAAOttR,EAAE2B,IAAG2rR,EAAOttR,EAAE2B,EAAI2rR,EAAOntR,EAAEwB,GAC/C2rR,EAAOntR,EAAEmB,EAAIwxQ,EAAS3yQ,EAAEmB,IAAGgsR,EAAOntR,EAAEmB,EAAIwxQ,EAAS3yQ,EAAEmB,GACnDgsR,EAAOntR,EAAEmB,EAAIgsR,EAAOttR,EAAEsB,IAAGgsR,EAAOttR,EAAEsB,EAAIgsR,EAAOntR,EAAEmB,GAClDtB,EAAE,YAAcA,EAAE,QAClBA,EAAE,QAAUw0P,GAAa84B,IAK3B,OAFG51K,EAAQx7G,OAAS,IAAG8D,EAAE,SAAW03G,GACjCq1K,EAAO7wR,OAAS,IAAG8D,EAAE,WAAa+sR,GAC9B/sR,EAWR,SAAS8rR,GAAqBD,EAAS7rR,EAAGmxN,EAAItyL,GAC7C,IAAIzuB,EAAO+8O,GAAY0+B,GACnB16D,EAAG+jC,OAAOr2N,KAAMsyL,EAAG+jC,OAAOr2N,GAAO,IAClCzuB,EAAKm9Q,WAAUp8D,EAAG+jC,OAAOr2N,GAAK2uP,SAAW9/B,GAAYc,GAASp+O,EAAKm9Q,YAwBvE,IAAIE,GAAqB,CAAC,UAAW,YAAa,oBAAqB,uBACnEC,GAAoB,CACvB,gBAAiB,aAAc,cAC/B,gBAAiB,aAAc,mBAC/B,gBAAiB,aACjB,OAAQ,aAAc,eAmGnBvB,GAAa,0CAkBjB,SAASwB,GAAkB92K,EAAMrpC,EAAKmzE,EAAIl+I,GACzC,QAAcu8B,IAAX63E,EAAKvqG,GAAqC,kBAAXuqG,EAAKx2G,GAA6B,MAAXw2G,EAAKh1G,EAAW,MAAO,GAChF,IAAIy5O,EAAK,GACLsyC,EAAO/2K,EAAKh1G,EAAGgsR,EAAOh3K,EAAKvqG,EAC/B,GAAc,MAAXuqG,EAAKh1G,EAAW,OAAOg1G,EAAKh1G,GAC9B,IAAK,IAAKy5O,EAAKzkI,EAAKvqG,EAAI,IAAM,IAAK,MACnC,IAAK,IAAKgvO,EAAK,GAAGzkI,EAAKvqG,EAAG,MAC1B,IAAK,IAAKgvO,EAAKoe,GAAK7iJ,EAAKvqG,GAAI,MAC7B,IAAK,IACD7J,GAAQA,EAAKozP,UAAWva,EAAK+P,GAAUx0I,EAAKvqG,GAAI,GAAGujP,gBAErDh5I,EAAO20I,GAAI30I,IACNh1G,EAAI,IACTy5O,EAAK,IAAIzkI,EAAKvqG,EAAIs+O,EAAQS,GAAUx0I,EAAKvqG,MAErB,qBAAXuqG,EAAKpf,IAAmBof,EAAKpf,EAAIq9I,EAAIsH,OAAO,KACtD,MACD,QAASd,EAAKzkI,EAAKvqG,EAEpB,IAAIA,EAAImjP,GAAS,IAAK1B,GAAUzS,IAAM57O,EAAK,CAACiC,EAAE6rE,GAE1Ck6L,EAAK+iB,GAAehoR,EAAKk7Q,QAAS9mK,EAAMp0G,GAE5C,OADU,IAAPilQ,IAAUhoQ,EAAEM,EAAI0nQ,GACZ7wJ,EAAKh1G,GACX,IAAK,IAAK,MACV,IAAK,IAAKnC,EAAEmC,EAAI,IAAK,MACrB,IAAK,IAAKnC,EAAEmC,EAAI,IAAK,MACrB,IAAK,IAAKnC,EAAEmC,EAAI,IAAK,MACrB,IAAK,IAAK,MACV,QAAS,GAAa,MAAVg1G,EAAKvqG,EAAW,QAASuqG,EAAKh1G,EAAG,MAC5C,GAAGY,GAAQA,EAAKgzQ,QAAS,CACxBnpQ,EAAImjP,GAAS,IAAK,GAAG46B,GAAW5nR,EAAKqrR,QAASj3K,EAAKvqG,EAAG7J,EAAKsrR,aAC3DruR,EAAEmC,EAAI,IAAK,MAEZnC,EAAEmC,EAAI,MAGR,GADGg1G,EAAKh1G,GAAK+rR,IAAQ/2K,EAAKh1G,EAAI+rR,EAAM/2K,EAAKvqG,EAAIuhR,GACzB,iBAAVh3K,EAAKx2G,GAAiBw2G,EAAKx2G,EAAG,CACvC,IAAIwL,EAAKgrG,EAAK92G,GAAK82G,EAAK92G,EAAEqxC,MAAM,EAAGo8B,EAAItxE,SAAWsxE,EAAM,CAAC3rE,EAAE,QAAS2rE,IAAIqpC,EAAK92G,GAAK,KAClFuM,EAAIqjP,GAAU,IAAK5B,GAAUl3I,EAAKx2G,GAAIwL,IAAiB,MAAVgrG,EAAKvqG,EAAYA,EAAI,IAInE,OAFGuqG,EAAK11G,GAAGw/I,EAAG,UAAUz6I,KAAK,CAACsnE,EAAKqpC,EAAK11G,IACrC01G,EAAKv1G,GAAGq/I,EAAG,aAAaz6I,KAAK,CAACsnE,EAAKqpC,EAAKv1G,IACpCquP,GAAU,IAAKrjP,EAAG5M,GAG1B,IAAIktR,GAAqB,WACxB,IAAIoB,EAAY,oBAAqBC,EAAW,mBAC5C7Z,EAAS,qBAAsB8Z,EAAU,yCACzCC,EAAW,uBACXC,EAAUv/B,GAAS,KAAMw/B,EAAUx/B,GAAS,KAEjD,OAAO,SAA2By/B,EAAOtuR,EAAGyC,EAAMkpQ,EAAOiQ,EAAQlqQ,GAWhE,IAVA,IAAmErP,EAC/DgnI,EACAklJ,EAAMC,EAEoCpoB,EAJ1ChwC,EAAK,EAAGnqN,EAAI,GAAIwiR,EAAQ,GAAIC,EAAO,GAAI7vP,EAAI,EAAG5iC,EAAE,EAAG+uN,EAAG,EAAGzpN,EAAE,GACtDotR,EAAO,EAAGC,EAAO,EAEtB9D,EAAQ,EAAGC,EAAS,EACpB8D,EAAYhvR,MAAMC,QAAQ4R,EAAOwrQ,QACjC4L,EAAS,GACTH,EAAU,GACVtzB,EAAQx1P,MAAMC,QAAQE,GACtBkyF,EAAO,GAAI48L,EAAS,GAAIC,GAAU,EAClCn5B,IAAenzP,EAAKmzP,WAChBo5B,EAAOV,EAAM3iR,MAAMsiR,GAAW72F,EAAK,EAAG63F,EAAUD,EAAK9yR,OAAQk7L,GAAM63F,IAAW73F,EAAI,CAEzF,IAAI83F,GADJjjR,EAAI+iR,EAAK53F,GAAIxwL,QACA1K,OACb,GAAY,IAATgzR,EAAH,CAGA,IAAI94D,EAAK,EAAGA,EAAK84D,GAAoC,KAArBjjR,EAAEw+B,WAAW2rL,KAApBA,GAGzB,KAHkEA,EAElEu4D,EAAgB,OADhBtlJ,EAAM8jH,GAAYlhP,EAAEmlC,MAAM,EAAEglL,IAAK,IACtBz0N,EAAY2b,SAAS+rH,EAAI1nI,EAAG,IAAMgtR,EAAK,EAAGC,GAAQ,IAC1DnsR,EAAKsoQ,WAAatoQ,EAAKsoQ,UAAY4jB,GAAtC,CACGhjB,EAAM3rQ,EAAE2B,EAAIgtR,EAAO,IAAGhjB,EAAM3rQ,EAAE2B,EAAIgtR,EAAO,GACzChjB,EAAMxrQ,EAAEwB,EAAIgtR,EAAO,IAAGhjB,EAAMxrQ,EAAEwB,EAAIgtR,EAAO,GAEzClsR,GAAQA,EAAKmnQ,aACfklB,EAAS,GAAIC,GAAU,EACpB1lJ,EAAIytD,KAAMi4F,GAAU,EAAMD,EAAOpf,IAAM/mQ,WAAW0gI,EAAIytD,IAAKg4F,EAAOnf,IAAMC,GAAMkf,EAAOpf,MACvE,KAAdrmI,EAAIkmI,SAAiBwf,GAAU,EAAMD,EAAOvf,QAAS,GACjC,MAApBlmI,EAAI8lJ,eAAwBJ,GAAU,EAAMD,EAAO1qK,OAASilB,EAAI8lJ,cAChEJ,IAAS78L,EAAKy8L,EAAK,GAAKG,IAI5BL,EAAQxiR,EAAEmlC,MAAMglL,GAAIzqN,MAAMqiR,GAC1B,IAAI,IAAIoB,EAAS,EAAGA,GAAUX,EAAMvyR,QAAuD,KAAlCuyR,EAAMW,GAAQxoR,OAAOshB,OAAO,KAAvCknQ,GAE9C,IADAX,EAAQA,EAAMr9O,MAAMg+O,GAChBh5D,EAAK,EAAGA,GAAMq4D,EAAMvyR,SAAUk6N,EAEjC,GAAgB,KADhBnqN,EAAIwiR,EAAMr4D,GAAIxvN,QACT1K,OAAL,CAGA,GAFAwyR,EAAOziR,EAAErD,MAAMwrQ,GAASv1O,EAAMu3L,EAAIn6N,EAAE,EAAG+uN,EAAG,EAC1C/+M,EAAI,OAAuB,KAAdA,EAAEmlC,MAAM,EAAE,GAAQ,IAAI,IAAMnlC,EAC9B,MAARyiR,GAAgC,IAAhBA,EAAKxyR,OAAc,CAErC,IADA2iC,EAAM,EAAGt9B,EAAEmtR,EAAK,GACZzyR,EAAE,EAAGA,GAAKsF,EAAErF,WACX8uN,EAAGzpN,EAAEkpC,WAAWxuC,GAAG,IAAM,GAAK+uN,EAAK,MADd/uN,EAEzB4iC,EAAM,GAAGA,EAAMmsL,EAGhB4jE,IADE/vP,QAEM+vP,EACT,IAAI3yR,EAAI,EAAGA,GAAKgQ,EAAE/P,QAAoC,KAApB+P,EAAEw+B,WAAWxuC,KAAnBA,GAO5B,KAPmEA,GACnEotI,EAAM8jH,GAAYlhP,EAAEmlC,MAAM,EAAEn1C,IAAI,IACxB0F,IAAG0nI,EAAI1nI,EAAIiyP,GAAY,CAACjyP,EAAEgtR,EAAK,EAAGrtR,EAAEstR,KAE5CvsR,EAAK,CAACR,EAAE,IAEqB,OAAzB6sR,GAHJntR,EAAI0K,EAAEmlC,MAAMn1C,IAGD2M,MAAMwlR,KAAgC,KAAZM,EAAK,KAAWrsR,EAAEiK,EAAEohP,GAAYghC,EAAK,KACvEjsR,EAAK4sR,YAAa,CACpB,GAA6B,OAAzBX,EAAKntR,EAAEqH,MAAMylR,KAAgC,KAAZK,EAAK,IAIzC,GAFArsR,EAAEhC,EAAEqtP,GAAYc,GAASkgC,EAAK,KAAK7nR,QAAQ,QAAS,MAChDpE,EAAK6sR,OAAMjtR,EAAEhC,EAAIijR,GAAMjhR,EAAEhC,IAC1BquR,EAAK,GAAGjlR,QAAQ,cAAgB,EAClCpH,EAAEtC,GAAKwB,EAAEqH,MAAMulR,IAAW,IAAI,GAC3B9rR,EAAEtC,EAAE0J,QAAQ,MAAQ,GAAGq/Q,EAAO5iR,KAAK,CAACuuP,GAAkBpyP,EAAEtC,GAAIsC,EAAEtC,SAC3D,GAAG2uR,EAAK,GAAGjlR,QAAQ,eAAiB,EAAG,CAE7C+kR,EAAOrhC,GAAYuhC,EAAK,IACxB,IAAIa,EAAO7hC,GAAYc,GAASkgC,EAAK,KACjCjsR,EAAK6sR,OAAMC,EAAOjM,GAAMiM,IAC5B5G,EAAQrrQ,SAASkxQ,EAAK52I,GAAI,KAAO,CAAC42I,EAAMe,EAAMlmJ,EAAI1nI,SAEzC+sR,EAAKntR,EAAEqH,MAAM,gBAEpB+/Q,GADH6F,EAAOrhC,GAAYuhC,EAAK,KACR92I,MAAKv1I,EAAEhC,EAAI+iR,GAAmBuF,EAAQ6F,EAAK52I,IAAI,GAAI+wI,EAAQ6F,EAAK52I,IAAI,GAAevO,EAAI1nI,IAGxG,IAAI6tR,EAAOl7B,GAAYjrH,EAAI1nI,GAC3B,IAAI1F,EAAI,EAAGA,EAAI6sR,EAAO5sR,SAAUD,EAC5BuzR,EAAK7tR,GAAKmnR,EAAO7sR,GAAG,GAAG+D,EAAE2B,GAAK6tR,EAAK7tR,GAAKmnR,EAAO7sR,GAAG,GAAGkE,EAAEwB,GACtD6tR,EAAKluR,GAAKwnR,EAAO7sR,GAAG,GAAG+D,EAAEsB,GAAKkuR,EAAKluR,GAAKwnR,EAAO7sR,GAAG,GAAGkE,EAAEmB,IACzDe,EAAEtC,EAAI+oR,EAAO7sR,GAAG,IAGpB,GAAY,MAATotI,EAAIxnI,QAAqBm9B,IAAR38B,EAAEiK,EACrB,GAAGjK,EAAEhC,GAAKgC,EAAEtC,EACXsC,EAAEiK,EAAI,EAAGjK,EAAER,EAAI,QACT,KAAI+zP,EAAY,SAClBvzP,EAAER,EAAI,SAEPQ,EAAER,EAAIwnI,EAAIxnI,GAAK,IAIpB,OAHG8pQ,EAAM3rQ,EAAEsB,EAAIstR,IAAMjjB,EAAM3rQ,EAAEsB,EAAIstR,GAC9BjjB,EAAMxrQ,EAAEmB,EAAIstR,IAAMjjB,EAAMxrQ,EAAEmB,EAAIstR,GAE1BvsR,EAAER,GACR,IAAK,IACJ,GAAU,IAAPQ,EAAEiK,GAAkB,MAAPjK,EAAEiK,EAAW,CAC5B,IAAIspP,EAAY,SAChBvzP,EAAER,EAAI,SACAQ,EAAEiK,EAAI3D,WAAWtG,EAAEiK,GAC1B,MACD,IAAK,IACJ,GAAiB,oBAAPjK,EAAEiK,EAAkB,CAC7B,IAAIspP,EAAY,SAChBvzP,EAAER,EAAI,SAEN0sR,EAAOn0B,GAAK98O,SAASjb,EAAEiK,EAAG,KAC1BjK,EAAEiK,EAAIiiR,EAAK1sR,EACXQ,EAAEV,EAAI4sR,EAAK5sR,EACRc,EAAKwyQ,WAAU5yQ,EAAE+wB,EAAIm7P,EAAKn7P,GAE9B,MACD,IAAK,MACJ/wB,EAAER,EAAI,IACNQ,EAAEiK,EAAU,MAALjK,EAAEiK,EAAWkiP,GAASnsP,EAAEiK,GAAK,GACjC7J,EAAKwyQ,WAAU5yQ,EAAE+wB,EAAI86N,GAAW7rP,EAAEiK,IACrC,MACD,IAAK,YACJoiR,EAAOntR,EAAEqH,MAAMslR,GACf7rR,EAAER,EAAI,IACK,MAAR6sR,IAAiBH,EAAOvZ,GAAS0Z,EAAK,MACxCrsR,EAAEiK,EAAIiiR,EAAK1sR,EACRY,EAAKwyQ,WAAU5yQ,EAAE+wB,EAAIm7P,EAAKn7P,IACvB/wB,EAAEiK,EAAI,GACb,MACD,IAAK,IAAKjK,EAAEiK,EAAIiiP,GAAalsP,EAAEiK,GAAI,MACnC,IAAK,IACD7J,EAAKozP,UAAWxzP,EAAEiK,EAAI++O,GAAUhpP,EAAEiK,EAAG,IACjCjK,EAAEiK,EAAIs+O,EAAQS,GAAUhpP,EAAEiK,EAAG,IAAKjK,EAAER,EAAI,KAC/C,MAED,IAAK,IACAY,IAA0B,IAAlBA,EAAK2vQ,WAAoB/vQ,EAAE+xB,EAAI/xB,EAAEiK,GAC7CjK,EAAEiK,EAAIqtP,GAAMt3P,EAAEiK,GAgBhB,GAbAw+Q,EAAQC,EAAS,EACjB3kB,EAAK,KACFyoB,QAAuB7vP,IAAVqqG,EAAIrpI,GAEV,OADTomQ,EAAK10P,EAAOwrQ,OAAO7zI,EAAIrpI,MAEJ,MAAfomQ,EAAGxR,WAAkBk2B,EAAQ1kB,EAAGxR,UAChCnyP,EAAKmnQ,YACS,MAAbxD,EAAGmZ,SAAgBwL,EAAS3kB,EAAGmZ,SAIrCsL,GAAYxoR,EAAGyoR,EAAOC,EAAQtoR,EAAMm5Q,EAAQlqQ,GACzCjP,EAAKozP,WAAag5B,GAAoB,KAAPxsR,EAAER,GAAYizO,EAAI4G,QAAQ5G,EAAIsH,OAAO0uC,MAAWzoR,EAAER,EAAI,IAAKQ,EAAEiK,EAAIy+O,EAAQ1oP,EAAEiK,IAC1G+oP,EAAO,CACT,IAAIxwD,EAAKyvD,GAAYjrH,EAAI1nI,GACrB3B,EAAE6kM,EAAGljM,KAAI3B,EAAE6kM,EAAGljM,GAAK,IACvB3B,EAAE6kM,EAAGljM,GAAGkjM,EAAGvjM,GAAKe,OACVrC,EAAEqpI,EAAI1nI,GAAKU,KAGjB6vF,EAAKh2F,OAAS,IAAG8D,EAAE,SAAWkyF,IAlKT,GAiNrBu9L,GAAc9/B,GAAU,YAAa,KAAM,CAC9C,MAASK,GAAMriI,KAAK,GACpB,UAAWqiI,GAAMruP,IAGlB,SAAS+tR,GAAa7wP,EAAKp8B,EAAM0uN,EAAI6pC,GACpC,IAC4B4X,EADxBlzQ,EAAI,CAACotP,GAAY2iC,IACjBzvR,EAAImxN,EAAG8jC,WAAWp2N,GAAgB8wP,EAAQ,GAC1ChvI,EAAKwwE,EAAG+jC,OAAOl1P,GACV,MAAN2gJ,IAAYA,EAAK,IACpB,IAAInzE,EAAMmzE,EAAG,SAAW,KACpB/V,EAAQ6pH,GAAkBjnL,GAC9B,GAAGo9D,EAAMzqI,EAAEmB,EAAI,OAAUspI,EAAMzqI,EAAEwB,EAAI,QAAS,CAC7C,GAAGc,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,SAAWkvC,EAAM,uCAC9Co9D,EAAMzqI,EAAEmB,EAAIiF,KAAK6K,IAAIw5H,EAAMzqI,EAAEmB,EAAG,OAChCspI,EAAMzqI,EAAEwB,EAAI4E,KAAK6K,IAAIw5H,EAAMzqI,EAAEmB,EAAG,SAChCksE,EAAMgnL,GAAa5pH,GAEhBowH,IAAMA,EAAO,IACjBr6G,EAAG,aAAe,GAClB,IAAIivI,EAAW,IAnahB,SAA8BjvI,EAAIwwE,EAAItyL,EAAKp8B,EAAM/C,GAChD,IAAImwR,GAAS,EACT7zR,EAAQ,GAAIg2I,EAAU,KAC1B,GAAqB,SAAlBvvI,EAAKgkQ,UAAuBt1C,EAAG2+D,OAAQ,CACzC,IAAIC,EAAQ5+D,EAAG8jC,WAAWp2N,GAC1B,IAASsyL,EAAG6+D,WAAUD,EAAQ5+D,EAAG6+D,SAAS96B,OAAOr2N,GAAK2uP,UAAYuC,GAAS,MAAM5vR,KACjF0vR,GAAS,EACT7zR,EAAMuxR,SAAWrjC,GAAU6D,GAAUgiC,IAGtC,GAAGpvI,GAAMA,EAAG,YAAa,CACxB,IAAIsvI,EAAe,CAACC,aAAa,EAAGC,aAAa,GAC9CxvI,EAAG,YAAYyvI,QAAOH,EAAaC,aAAe,GAClDvvI,EAAG,YAAY1qG,OAAMg6O,EAAaE,aAAe,GACpDn+I,GAAWA,GAAS,IAAM29G,GAAU,YAAa,KAAMsgC,IAGpDJ,GAAW79I,KACftyI,EAAEA,EAAExD,QAAWyzP,GAAU,UAAW39G,EAASh2I,IAmZ7Cq0R,CAAqB1vI,EAAIwwE,EAAItyL,EAAKp8B,EAAM/C,GAExCA,EAAEA,EAAExD,QAAWyzP,GAAU,YAAa,KAAM,CAAC,IAAOniL,IAEpD9tE,EAAEA,EAAExD,QAhSL,SAAiCykJ,EAAIl+I,EAAMo8B,EAAKsyL,GAC/C,IAAIm/D,EAAS,CAACC,eAAe,KAG7B,SADMp/D,GAAI,IAAI6+D,UAAU,IAAI9D,OAAO,IAAI,KAAIoE,EAAMlE,YAAcj7D,EAAG6+D,SAAS9D,MAAM,GAAGG,IAAM,IAAM,KACzF18B,GAAU,aAAcA,GAAU,YAAa,KAAM2gC,GAAQ,IA4RtDE,CAAwB7vI,EAAIl+I,EAAMo8B,EAAKsyL,GAGlD1uN,EAAKguR,cAAa/wR,EAAEA,EAAExD,QAAWyzP,GAAU,gBAAiB,KAAM,CACpE+gC,iBAAiBjuR,EAAKguR,YAAYC,kBAAkB,KACpDC,aAAaluR,EAAKguR,YAAYE,cAAc,KAC5CC,gBAAgBnuR,EAAKguR,YAAYG,iBAAiB,OAGjC,MAAfjwI,EAAG,UAAoBA,EAAG,SAASzkJ,OAAS,IAAGwD,EAAEA,EAAExD,QArVvD,SAA2BykJ,EAAIxuD,GAE9B,IADA,IAAoBzY,EAAhBh6E,EAAI,CAAC,UACDzD,EAAI,EAAGA,GAAKk2F,EAAKj2F,SAAUD,GAC7By9E,EAAMyY,EAAKl2F,MAChByD,EAAEA,EAAExD,QAAWyzP,GAAU,MAAO,KAAM46B,GAAUtuR,EAAGy9E,KAGpD,OADAh6E,EAAEA,EAAExD,QAAU,UACPwD,EAAE+L,KAAK,IA8UmDolR,CAAkBlwI,EAAIA,EAAG,WAE1FjhJ,EAAEkzQ,EAAOlzQ,EAAExD,QAAU,eACrBykJ,EAAG,UAAY,GACE,MAAdA,EAAG,UACLgvI,EApFF,SAA2BhvI,EAAIl+I,EAAMo8B,EAAKsyL,GACzC,IAAoE3jJ,EAE7C6L,EAFnB35E,EAAI,GAAIiC,EAAI,GAAIipI,EAAQ6pH,GAAkB9zG,EAAG,SAAU9pC,EAAK,GAASsvF,EAAK,GAAIh0G,EAAO,GAAImiG,EAAE,EAAGtpC,EAAE,EAAG94D,EAAOyuD,EAAG,SAC7G00G,EAAQx1P,MAAMC,QAAQ6gJ,GACtB1pD,EAAU,CAACt1F,EAAEwkM,GAAWlgM,GAAU,EACtC,IAAI+kJ,EAAIpgB,EAAM5qI,EAAEsB,EAAG0pJ,GAAKpgB,EAAMzqI,EAAEmB,IAAK0pJ,EAAG74D,EAAK64D,GAAKipG,GAAWjpG,GAC7D,IAAIspC,EAAI1pD,EAAM5qI,EAAE2B,EAAG2yL,GAAK1pD,EAAMzqI,EAAEwB,IAAK2yL,EAAG,CAGvC,IAFA3yL,EAAI,GACJwkM,EAAK6tD,GAAW1/D,GACZtpC,EAAIpgB,EAAM5qI,EAAEsB,EAAG0pJ,GAAKpgB,EAAMzqI,EAAEmB,IAAK0pJ,EAAG,CACvCx9E,EAAM2kB,EAAK64D,GAAKm7C,EAChB,IAAI9tF,EAAQg9I,GAAS10G,EAAG2zC,IAAI,IAAItpC,GAAIrK,EAAGnzE,QAC1BxuC,IAAVq5E,IAC6D,OAA5DxB,EAAO82K,GAAkBt1K,EAAO7qC,EAAKmzE,EAAIl+I,KAAyBd,EAAEuE,KAAK2wG,KAE3El1G,EAAEzF,OAAS,GAAMg2F,GAAQA,EAAKoiG,MAChCr9F,EAAU,CAACt1F,EAAEwkM,GACVj0G,GAAQA,EAAKoiG,MACfj7G,EAAM6Y,EAAKoiG,IACJi7E,SAAQt4K,EAAOs4K,OAAS,GAC/BtpQ,GAAU,EACPozE,EAAIs2L,IAAK1pQ,EAASuqQ,GAAMn3L,EAAIs2L,KACvBt2L,EAAIq2L,MAAKzpQ,EAASozE,EAAIq2L,KAC3BzpQ,GAAU,IAAKgxF,EAAO6/F,GAAK7wL,EAAQgxF,EAAO65L,aAAe,GACzDz3M,EAAI+qC,QAASntB,EAAOk4L,aAAe91M,EAAI+qC,QAE3C1kH,EAAEA,EAAExD,QAAWyzP,GAAU,MAAOhuP,EAAE8J,KAAK,IAAKwrF,IAG9C,GAAG/E,EAAM,KAAMoiG,EAAIpiG,EAAKh2F,SAAUo4L,EAC9BpiG,GAAQA,EAAKoiG,KACfr9F,EAAU,CAACt1F,EAAE2yL,EAAE,IACfj7G,EAAM6Y,EAAKoiG,IACJi7E,SAAQt4K,EAAOs4K,OAAS,GAC/BtpQ,GAAU,EACNozE,EAAIs2L,IAAK1pQ,EAASuqQ,GAAMn3L,EAAIs2L,KACvBt2L,EAAIq2L,MAAKzpQ,EAASozE,EAAIq2L,KAC3BzpQ,GAAU,IAAKgxF,EAAO6/F,GAAK7wL,EAAQgxF,EAAO65L,aAAe,GACzDz3M,EAAI+qC,QAASntB,EAAOk4L,aAAe91M,EAAI+qC,OAC3C1kH,EAAEA,EAAExD,QAAWyzP,GAAU,MAAO,GAAI14J,IAGtC,OAAOv3F,EAAE+L,KAAK,IA2CLslR,CAAkBpwI,EAAIl+I,EAAMo8B,EAAKsyL,IAChCj1N,OAAS,IAAGwD,EAAEA,EAAExD,QAAWyzR,GAElCjwR,EAAExD,OAAO02Q,EAAK,IAAKlzQ,EAAEA,EAAExD,QAAW,eAAiBwD,EAAEkzQ,GAAMlzQ,EAAEkzQ,GAAM/rQ,QAAQ,KAAK,MAI9D,MAAlB85I,EAAG,cAAqBjhJ,EAAEA,EAAExD,QAjahC,SAAiC+rR,GAEhC,IAAIvoR,EAAK,CAACq1P,MAAM,GAKhB,OAJA04B,GAAmBt5P,SAAQ,SAASl0B,GAAiB,MAATgoR,EAAGhoR,IAAcgoR,EAAGhoR,KAAIP,EAAEO,GAAK,QAC3EytR,GAAkBv5P,SAAQ,SAASl0B,GAAiB,MAATgoR,EAAGhoR,IAAegoR,EAAGhoR,KAAIP,EAAEO,GAAK,QAExEgoR,EAAGp4E,WAAUnwM,EAAEmwM,SAAWioE,GAAsCmQ,EAAGp4E,UAAUrkM,SAAS,IAAIq5E,eACtF8qK,GAAU,kBAAmB,KAAMjwP,GA0ZDsxR,CAAwBrwI,EAAG,cAK5C,MAArBA,EAAG,iBAAwBjhJ,EAAEA,EAAExD,QAxVnC,SAAiCkU,EAAMuwI,EAAIwwE,EAAItyL,GAC9C,IAAI2uC,EAAyB,iBAAZp9D,EAAKo9D,IAAkBp9D,EAAKo9D,IAAMgnL,GAAapkP,EAAKo9D,KACjE2jJ,EAAG6+D,WAAU7+D,EAAG6+D,SAAY,CAAC96B,OAAO,KACpC/jC,EAAG6+D,SAASiB,QAAO9/D,EAAG6+D,SAASiB,MAAQ,IAC3C,IAAI9jD,EAAQhc,EAAG6+D,SAASiB,MACpBrmJ,EAAQ2pH,GAAa/mL,GACtBo9D,EAAM5qI,EAAE2B,GAAKipI,EAAMzqI,EAAEwB,IAAKipI,EAAMzqI,EAAEwB,EAAI4yP,GAAa5zG,EAAG,SAASxgJ,EAAEwB,EAAG6rE,EAAMgnL,GAAa5pH,IAC1F,IAAI,IAAI3uI,EAAI,EAAGA,EAAIkxO,EAAMjxO,SAAUD,EAAG,CACrC,IAAIuF,EAAO2rO,EAAMlxO,GACjB,GAAgB,yBAAbuF,EAAK+mQ,MACL/mQ,EAAK0vR,OAASryP,EAAjB,CACAr9B,EAAK2vR,IAAM,IAAMhgE,EAAG8jC,WAAWp2N,GAAO,KAAO2uC,EAAK,OAGnD,OADGvxE,GAAKkxO,EAAMjxO,QAAQixO,EAAMjnO,KAAK,CAAEqiQ,KAAM,wBAAyB2oB,MAAOryP,EAAKsyP,IAAK,IAAMhgE,EAAG8jC,WAAWp2N,GAAO,KAAO2uC,IAC9GmiL,GAAU,aAAc,KAAM,CAACniL,IAAIA,IA0UE4jN,CAAwBzwI,EAAG,eAAgBA,EAAIwwE,EAAItyL,IAM3E,MAAjB8hH,EAAG,YAAsBA,EAAG,WAAWzkJ,OAAS,IAAGwD,EAAEA,EAAExD,QAtd3D,SAA6B6wR,GAC5B,GAAqB,IAAlBA,EAAO7wR,OAAc,MAAO,GAE/B,IADA,IAAIwD,EAAI,sBAAwBqtR,EAAO7wR,OAAS,KACxCD,EAAI,EAAGA,GAAK8wR,EAAO7wR,SAAUD,EAAGyD,GAAK,mBAAqB80P,GAAau4B,EAAO9wR,IAAM,MAC5F,OAAOyD,EAAI,gBAkd0D2xR,CAAoB1wI,EAAG,aAM5F,IAAe9gH,EAnYcg8C,EAmYzBy1M,GAAQ,EAAQ/0B,GAAO,EAsD3B,OArDG57G,EAAG,UAAUzkJ,OAAS,IACxBwD,EAAEA,EAAExD,QAAU,eAChBykJ,EAAG,UAAUxsH,SAAQ,SAAShzB,GACvBA,EAAE,GAAG46P,SACTl8N,EAAO,CAAC,IAAM1+B,EAAE,IACY,KAAzBA,EAAE,GAAG46P,OAAO7zO,OAAO,KACrBq0O,EAAMD,GAAStB,GAAO,EAAGjN,GAAU5sP,EAAE,GAAG46P,QAAQl1P,QAAQ,OAAQ,IAAKo0P,GAAKG,OAC1Ev7N,EAAI,QAAU,MAAM08N,IAEjB+0B,EAAOnwR,EAAE,GAAG46P,OAAOtyP,QAAQ,OAAS,IAAGo2B,EAAImB,SAAW+sN,GAAU5sP,EAAE,GAAG46P,OAAO3qN,MAAMkgP,EAAK,KACxFnwR,EAAE,GAAGohK,UAAS1iI,EAAIm7F,QAAU+yH,GAAU5sP,EAAE,GAAGohK,UAC9C7iK,EAAEA,EAAExD,QAAUyzP,GAAU,YAAY,KAAK9vN,OAE1CngC,EAAEA,EAAExD,QAAU,wBAERykJ,EAAG,UAIW,MAAlBA,EAAG,cAAqBjhJ,EAAEA,EAAExD,SAtZ/BsuR,GAD6B3uM,EAuZkC8kE,EAAG,aArZ3DgvG,GAAU,cAAe,KAAM9zK,KA8ZlCp5E,IAAQA,EAAK8uR,eAA+B,GAAlB9uR,EAAK8uR,WAAuB7xR,EAAEA,EAAExD,QAAUuzP,GAAS,gBAAiBE,GAAU,eAAgB,KAAM,CAAC6hC,mBAAmB,EAAGC,MAAMjkN,MAI5JoiN,EAAS1zR,OAAS,IACpBqgQ,EAAMD,GAAStB,GAAO,EAAG,uBAAyBn8N,EAAI,GAAK,OAAQo8N,GAAKomB,MACxE3hR,EAAEA,EAAExD,QAAUyzP,GAAU,UAAW,KAAM,CAAC,OAAO,MAAQ4M,IACzD57G,EAAG,YAAcivI,GAGfjvI,EAAG,aAAazkJ,OAAS,IAC3BqgQ,EAAMD,GAAStB,GAAO,EAAG,0BAA4Bn8N,EAAI,GAAK,OAAQo8N,GAAKI,KAC3E37P,EAAEA,EAAExD,QAAUyzP,GAAU,gBAAiB,KAAM,CAAC,OAAO,MAAQ4M,IAC/D57G,EAAG,WAAa47G,GAWd78P,EAAExD,OAAO,IAAKwD,EAAEA,EAAExD,QAAW,eAAiBwD,EAAE,GAAGA,EAAE,GAAGmH,QAAQ,KAAK,MACjEnH,EAAE+L,KAAK,IAkEf,SAASimR,GAAiB7mE,EAAIlqE,EAAI/V,EAAO0pD,GACxC,IAAI50L,EAjDL,SAAyB40L,EAAG1pD,EAAO+V,GAClC,IAAIjhJ,EAAIqhP,GAAQ,KACZ1nK,GAAOsnE,EAAG,UAAU,IAAI2zC,IAAI,GAChC50L,EAAE29O,YAAY,EAAG/oD,GAEjB50L,EAAE29O,YAAY,EAAG,GAEjB,IAAIwpB,EAAQ,IACTxtL,EAAIs2L,IAAK9I,EAAyB,GAAjB2J,GAAMn3L,EAAIs2L,KACtBt2L,EAAIq2L,MAAK7I,EAAkB,GAAVxtL,EAAIq2L,KAC7BhwQ,EAAE29O,YAAY,EAAGwpB,GAEjBnnQ,EAAE29O,YAAY,EAAG,GAEjB,IAAIp5C,EAAQ,EACT5qH,EAAI+qC,QAAO6/E,GAAS5qH,EAAI+qC,OACxB/qC,EAAIk2L,SAAQtrE,GAAS,KACrB5qH,EAAIs2L,KAAOt2L,EAAIq2L,OAAKzrE,GAAS,IAChCvkM,EAAE29O,YAAY,EAAGp5C,GAEjBvkM,EAAE29O,YAAY,EAAG,GAGjB,IAAIs0C,EAAW,EAAGC,EAAMlyR,EAAEyB,EAC1BzB,EAAEyB,GAAK,EAGP,IADA,IAAI0wR,EAAQ,CAAClwR,EAAE2yL,EAAGhzL,EAAE,GACZrF,EAAI,EAAGA,EAAI,KAAMA,EACxB,KAAI2uI,EAAM5qI,EAAEsB,EAAMrF,EAAE,GAAM,IAAS2uI,EAAMzqI,EAAEmB,EAAKrF,GAAK,IAArD,CAEA,IADA,IAAIgsD,GAAS,EAAGM,GAAQ,EAChB/vC,EAAKvc,GAAG,GAAKuc,EAAMvc,EAAE,GAAI,KAAOuc,EAAG,CAC1Cq5Q,EAAMvwR,EAAIkX,GACC3Y,MAAMC,QAAQ6gJ,IAAOA,EAAGkxI,EAAMlwR,IAAI,IAAIkwR,EAAMvwR,GAAKq/I,EAAGizG,GAAYi+B,OAC7D5pO,EAAQ,IAAGA,EAAQzvC,GAAG+vC,EAAO/vC,GAEzCyvC,EAAQ,MACT0pO,EACFjyR,EAAE29O,YAAY,EAAGp1L,GACjBvoD,EAAE29O,YAAY,EAAG90L,IAGlB,IAAIpnD,EAAIzB,EAAEyB,EAKV,OAJAzB,EAAEyB,EAAIywR,EACNlyR,EAAE29O,YAAY,EAAGs0C,GACjBjyR,EAAEyB,EAAIA,EAECzB,EAAExD,OAASwD,EAAEyB,EAAIzB,EAAE0xC,MAAM,EAAG1xC,EAAEyB,GAAKzB,EAGlCoyR,CAAgBx9F,EAAG1pD,EAAO+V,IAC9BjhJ,EAAExD,OAAS,KAAQykJ,EAAG,UAAU,IAAI2zC,KAAI8+D,GAAavoC,EAAI,YAAanrN,GAI3E,IAAIqyR,GAAiB55B,GACjB65B,GAAiB55B,GAwFrB,SAAS65B,GAAgBp7K,EAAMq7K,EAAOxyR,GAIrC,OAHQ,MAALA,IAAWA,EAAIqhP,GAAQ,KAC1BuW,GAAe46B,EAAOxyR,GAp0TvB,SAAwB0Q,EAAM1Q,GACpB,MAALA,IAAWA,EAAIqhP,GAAQ,IAC3B,IAAIgX,EAAQ,EAAGC,EAAO,EAAGm6B,EAAc,IAAP/hR,EAGhC,GAFKA,IAAgB,EAAPA,IAAeA,KAAU,GAAK,KAASA,EAAQ,GAAK,GAAQ4nP,EAAO,EACvEm6B,IAAgB,EAAPA,IAAeA,KAAU,GAAK,KAASA,EAAQ,GAAK,KAAQn6B,EAAO,EAAGD,EAAQ,IAC7FC,EACC,MAAM,IAAI15N,MAAM,wBAA0BluB,GADrC1Q,EAAE29O,aAAa,IAAK0a,EAAQo6B,EAAO/hR,IAAS,IAAM2nP,EAAQ,IAg0TpEq6B,CAAev7K,EAAKvqG,EAAG5M,GAChBA,EAkFR,IAAI2yR,GAAqBl6B,GACrBm6B,GAAqBl6B,GAiFrBm6B,GAAgB,CAAC,OAAO,QAAQ,MAAM,SAAS,SAAS,UAgW5D,SAASC,GAAkB3nE,EAAIh0G,EAAMy9E,EAAGtpC,EAAGvoJ,EAAMk+I,GAChD,QAAc3hH,IAAX63E,EAAKvqG,EAAR,CACA,IAAIgvO,EAAK,GACT,OAAOzkI,EAAKh1G,GACX,IAAK,IAAKy5O,EAAKzkI,EAAKvqG,EAAI,IAAM,IAAK,MACnC,IAAK,KACJuqG,EAAO20I,GAAI30I,IACNpf,EAAIof,EAAKpf,GAAKq9I,EAAIsH,OAAO,IAC9BvlI,EAAKvqG,EAAIs+O,EAAQS,GAAUx0I,EAAKvqG,IAAKuqG,EAAKh1G,EAAI,IAC9C,MAED,IAAK,IAAK,IAAK,IAAKy5O,EAAK,GAAGzkI,EAAKvqG,EAAG,MACpC,QAASgvO,EAAKzkI,EAAKvqG,EAEpB,IAAI5M,EAAK,CAACiC,EAAE2yL,EAAGhzL,EAAE0pJ,GAKjB,OAHAtrJ,EAAEM,EAAIyqR,GAAehoR,EAAKk7Q,QAAS9mK,EAAMp0G,GACtCo0G,EAAK11G,GAAGw/I,EAAG,UAAUz6I,KAAK,CAAC0tP,GAAYl0P,GAAIm3G,EAAK11G,IAChD01G,EAAKv1G,GAAGq/I,EAAG,aAAaz6I,KAAK,CAAC0tP,GAAYl0P,GAAIm3G,EAAKv1G,IAC/Cu1G,EAAKh1G,GACX,IAAK,IAAK,IAAK,MASd,YARGY,EAAKgzQ,SACPn6B,EAAK+uC,GAAW5nR,EAAKqrR,QAAUj3K,EAAKvqG,EAAI7J,EAAKsrR,YAC7CruR,EAAEmC,EAAI,IAAKnC,EAAE4M,EAAIgvO,EACjB8X,GAAavoC,EAAI,cA1jBrB,SAA2Bh0G,EAAMq7K,EAAOxyR,GAIvC,OAHQ,MAALA,IAAWA,EAAIqhP,GAAQ,KAC1BuW,GAAe46B,EAAOxyR,GACtBA,EAAE29O,YAAY,EAAG60C,EAAM5lR,GAChB5M,EAsjB4B+yR,CAAkB57K,EAAMn3G,MAExDA,EAAEmC,EAAI,MACNuxP,GAAavoC,EAAI,YArhBrB,SAAyBh0G,EAAMq7K,EAAOxyR,GAIrC,OAHQ,MAALA,IAAWA,EAAIqhP,GAAQ,GAAK,EAAIlqI,EAAKvqG,EAAEpQ,SAC1Co7P,GAAe46B,EAAOxyR,GACtBy2P,GAAmBt/I,EAAKvqG,EAAG5M,GACpBA,EAAExD,OAASwD,EAAEyB,EAAIzB,EAAE0xC,MAAM,EAAG1xC,EAAEyB,GAAKzB,EAihBTgzR,CAAgB77K,EAAMn3G,MAGtD,IAAK,IAIJ,YAFGm3G,EAAKvqG,IAAe,EAATuqG,EAAKvqG,IAAUuqG,EAAKvqG,GAAK,KAAQuqG,EAAKvqG,EAAI,IAAM8mP,GAAavoC,EAAI,YAAaonE,GAAgBp7K,EAAMn3G,IAC7G0zP,GAAavoC,EAAI,cAtjBzB,SAA2Bh0G,EAAMq7K,EAAOxyR,GAIvC,OAHQ,MAALA,IAAWA,EAAIqhP,GAAQ,KAC1BuW,GAAe46B,EAAOxyR,GACtB44P,GAAWzhJ,EAAKvqG,EAAG5M,GACZA,EAkjBgCizR,CAAkB97K,EAAMn3G,KAE9D,IAAK,IAGJ,OAFAA,EAAEmC,EAAI,SACNuxP,GAAavoC,EAAI,cA3lBpB,SAA2Bh0G,EAAMq7K,EAAOxyR,GAIvC,OAHQ,MAALA,IAAWA,EAAIqhP,GAAQ,IAC1BuW,GAAe46B,EAAOxyR,GACtBA,EAAE29O,YAAY,EAAGxmI,EAAKvqG,EAAI,EAAI,GACvB5M,EAulB2BkzR,CAAkB/7K,EAAMn3G,IAEzD,IAAK,IAAuBA,EAAEmC,EAAI,IAEnCuxP,GAAavoC,EAAI,eA3mBlB,SAA4Bh0G,EAAMq7K,EAAOxyR,GAExC,OADQ,MAALA,IAAWA,EAAIqhP,GAAQ,IACnBuW,GAAe46B,EAAOxyR,GAymBImzR,CAAmBh8K,EAAMn3G,KA2B3D,SAASozR,GAAiBjoE,EAAIlqE,GAnf9B,IAAkCs+F,EAAKv/O,EAoflCihJ,GAAOA,EAAG,aACdyyG,GAAavoC,EAAI,sBArfgBo0B,EAqf+Bt+F,EAAG,WAAWzkJ,OApftE,MAALwD,IAAWA,EAAIqhP,GAAQ,IAC1BrhP,EAAE29O,YAAY,EAAG4B,GACVv/O,IAmfPihJ,EAAG,WAAWxsH,SAAQ,SAAS9yB,GAAK+xP,GAAavoC,EAAI,eAAgBynE,GAAmBjxR,OACxF+xP,GAAavoC,EAAI,qBAGlB,SAASkoE,GAAeloE,EAAIlqE,GACvBA,GAAOA,EAAG,WACdyyG,GAAavoC,EAAI,oBACjBlqE,EAAG,SAASxsH,SAAQ,SAAS9yB,EAAGpF,GAAQoF,GAAG+xP,GAAavoC,EAAI,aA9b7D,SAA0B7/D,EAAGtxE,EAAKh6E,GACzB,MAALA,IAAWA,EAAIqhP,GAAQ,KAC1B,IAAI1+O,EAAIkoR,GAAUv/H,EAAGtxE,GACrBh6E,EAAE29O,aAAa,EAAGryF,GAClBtrJ,EAAE29O,aAAa,EAAGryF,GAClBtrJ,EAAE29O,YAAY,EAAqB,KAAjBh7O,EAAE2D,OAAS,KAC7BtG,EAAE29O,YAAY,EAAG,GACjB,IAAIp5C,EAAQ,EAKZ,OAJGvqH,EAAI61L,SAAQtrE,GAAS,GACH,iBAAX5hM,EAAE2D,QAAmBi+L,GAAS,GACrCvqH,EAAI0qC,QAAO6/E,GAAUvqH,EAAI0qC,OAAS,GACrC1kH,EAAE29O,YAAY,EAAGp5C,GACVvkM,EAkbmEszR,CAAiB/2R,EAAGoF,OAC9F+xP,GAAavoC,EAAI,mBAGlB,SAASooE,GAAgBpoE,EAAIlqE,GACxBA,GAAOA,EAAG,UACdyyG,GAAavoC,EAAI,yBACjBuoC,GAAavoC,EAAI,kBA9YlB,SAA+Br9I,GAC9B,IAAI9tE,EAAIqhP,GAAQ,IAIhB,OAHArhP,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB+a,GAAmB5qL,EAAK9tE,GACjBA,EAyY6BwzR,CAAsBz+B,GAAkB9zG,EAAG,WAC/EyyG,GAAavoC,EAAI,wBAGlB,SAASsoE,GAAatoE,EAAIlqE,EAAIq6G,GAE7Br6G,EAAG,UAAUxsH,SAAQ,SAAShzB,GAC7B,GAAIA,EAAE,GAAG46P,OAAT,CACA,IAAIQ,EAAMD,GAAStB,GAAO,EAAG75P,EAAE,GAAG46P,OAAOl1P,QAAQ,OAAQ,IAAKo0P,GAAKG,OACnEhI,GAAavoC,EAAI,WA1fnB,SAAwB1pN,EAAGo7P,GAC1B,IAAI78P,EAAIqhP,GAAQ,GAAG,GAAG5/O,EAAE,GAAG46P,OAAO7/P,QAAUiF,EAAE,GAAGohK,SAAW,IAAIrmK,SAChEk8P,GAAmB,CAACp4P,EAAEs0P,GAAYnzP,EAAE,IAAKhB,EAAEm0P,GAAYnzP,EAAE,KAAMzB,GAC/Dm4P,GAAY,MAAQ0E,EAAK78P,GACzB,IAAI0zR,EAASjyR,EAAE,GAAG46P,OAAOtyP,QAAQ,KAKjC,OAHA0sP,KADqB,GAAXi9B,EAAe,GAAKjyR,EAAE,GAAG46P,OAAO3qN,MAAMgiP,EAAO,KAC7B,GAAI1zR,GAC9By2P,GAAmBh1P,EAAE,GAAGohK,SAAW,GAAI7iK,GACvCy2P,GAAmB,GAAIz2P,GAChBA,EAAE0xC,MAAM,EAAG1xC,EAAEyB,GAifUkyR,CAAelyR,EAAGo7P,eAEzC57G,EAAG,UAqCX,SAAS2yI,GAAezoE,EAAIlqE,EAAIqvI,GAC/B58B,GAAavoC,EAAI,mBAGhBuoC,GAAavoC,EAAI,iBAtdnB,SAA8BlqE,EAAIqvI,EAAUtwR,GACnC,MAALA,IAAWA,EAAIqhP,GAAQ,KAC1B,IAAI1gP,EAAI,IAcR,SAbM2vR,GAAU,IAAI9D,OAAO,IAAI,IAAI,IAAIG,MAAKhsR,GAAK,IACjDX,EAAE29O,YAAY,EAAGh9O,GACjBX,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,KACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACV39O,EAsc6B6zR,CAAqB5yI,EAAIqvI,IAK5D58B,GAAavoC,EAAI,gBAGlBuoC,GAAavoC,EAAI,iBAQlB,SAAS2oE,GAAmB3oE,EAAIlqE,GAzchC,IAAkCsnI,EAAIvoR,EA0cjCihJ,EAAG,aAEPyyG,GAAavoC,EAAI,sBA5cgBo9D,EA4c+BtnI,EAAG,YA3c3D,MAALjhJ,IAAWA,EAAIqhP,GAAQ,KAC1BrhP,EAAE29O,YAAY,EAAG4qC,EAAGp4E,SAAWioE,GAAsCmQ,EAAGp4E,UAAY,GACpFnwM,EAAE29O,YAAY,EAAG,GACjB,CACC,CAAC,WAAuB,GACxB,CAAC,aAAuB,GACxB,CAAC,eAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,oBAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,qBAAuB,GACxB,CAAC,QAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,eAAwB,GACzB,CAAC,uBAAuB,IACvBlpN,SAAQ,SAASl0B,GACjBA,EAAE,GAAIP,EAAE29O,YAAY,EAAe,MAAZ4qC,EAAGhoR,EAAE,KAAgBgoR,EAAGhoR,EAAE,IAAU,EAAJ,GAC9CP,EAAE29O,YAAY,EAAe,MAAZ4qC,EAAGhoR,EAAE,KAAegoR,EAAGhoR,EAAE,IAAM,EAAI,MAExDP,IAubR,SAAS+zR,GAAa50P,EAAKp8B,EAAM0uN,EAAI6pC,GACpC,IAAInwC,EAAKioC,KACL9yP,EAAImxN,EAAG8jC,WAAWp2N,GAAM8hH,EAAKwwE,EAAG+jC,OAAOl1P,IAAM,GAC7CsB,EAAItB,EAAG,IAASmxN,GAAMA,EAAG6+D,WAAU1uR,EAAI6vN,EAAG6+D,SAAS96B,OAAOr2N,GAAK2uP,UAAYlsR,GAAK,MAAMnB,KAC1F,IA7fyBs9M,EAAS/9M,EA6f9BiC,EAAI8yP,GAAkB9zG,EAAG,SAAW,MACxC,GAAGh/I,EAAExB,EAAEmB,EAAI,OAAUK,EAAExB,EAAEwB,EAAI,QAAS,CACrC,GAAGc,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,UAAYqiH,EAAG,SAAW,MAAQ,uCAC/Dh/I,EAAExB,EAAEmB,EAAIiF,KAAK6K,IAAIzP,EAAExB,EAAEmB,EAAG,OACxBK,EAAExB,EAAEwB,EAAI4E,KAAK6K,IAAIzP,EAAExB,EAAEmB,EAAG,SA6CzB,OA3CAq/I,EAAG,UAAY,GAEfA,EAAG,aAAe,GAClByyG,GAAavoC,EAAI,iBACdsG,EAAG2+D,QAAQ18B,GAAavoC,EAAI,YA9vBhC,SAAyB/nG,EAAKpjH,GACrB,MAALA,IAAWA,EAAIqhP,GAAQ,GAAG,EAAEj+H,EAAI5mH,SACnC,IAAI,IAAID,EAAI,EAAGA,EAAI,IAAKA,EAAGyD,EAAE29O,YAAY,EAAE,GAK3C,OAJAkb,GAAe,CAACC,KAAK,GAAI94P,GACzBA,EAAE29O,aAAa,GAAG,GAClB39O,EAAE29O,aAAa,GAAG,GAClBma,GAAmB10I,EAAKpjH,GACjBA,EAAE0xC,MAAM,EAAG1xC,EAAEyB,GAuvBwBuyR,CAAgBpyR,IAC5D8xP,GAAavoC,EAAI,WAAYmnE,GAAerwR,IAC5C2xR,GAAezoE,EAAIlqE,EAAIwwE,EAAG6+D,UAE1B+C,GAAeloE,EAAIlqE,GArIpB,SAAyBkqE,EAAIlqE,EAAI9hH,EAAKp8B,GACrC,IAAmD+qE,EAA/Co9D,EAAQ6pH,GAAkB9zG,EAAG,SAAW,MAAYwlD,EAAK,GAAIh0G,EAAO,GACxEihK,GAAavoC,EAAI,qBACjB,IAAIwqC,EAAQx1P,MAAMC,QAAQ6gJ,GACtB+a,EAAM9wB,EAAMzqI,EAAEwB,EACfg/I,EAAG,WAAU+a,EAAMn1J,KAAK+K,IAAIs5H,EAAMzqI,EAAEwB,EAAGg/I,EAAG,SAASzkJ,OAAS,IAC/D,IAAI,IAAIo4L,EAAI1pD,EAAM5qI,EAAE2B,EAAG2yL,GAAK54B,IAAO44B,EAKlC,GAJA6R,EAAK6tD,GAAW1/D,GAGhBo9F,GAAiB7mE,EAAIlqE,EAAI/V,EAAO0pD,GAC7BA,GAAK1pD,EAAMzqI,EAAEwB,EAAG,IAAI,IAAIqpJ,EAAIpgB,EAAM5qI,EAAEsB,EAAG0pJ,GAAKpgB,EAAMzqI,EAAEmB,IAAK0pJ,EAAG,CAE3DspC,IAAM1pD,EAAM5qI,EAAE2B,IAAGwwF,EAAK64D,GAAKipG,GAAWjpG,IACzCx9E,EAAM2kB,EAAK64D,GAAKm7C,EAChB,IAAItvF,EAAOw+I,GAAS10G,EAAG2zC,IAAI,IAAItpC,GAAKrK,EAAGnzE,GACnCqpC,GAEJ27K,GAAkB3nE,EAAIh0G,EAAMy9E,EAAGtpC,EAAGvoJ,EAAMk+I,GAG1CyyG,GAAavoC,EAAI,mBAiHjB8oE,CAAgB9oE,EAAIlqE,EAAI9hH,EAAKp8B,GAE7B+wR,GAAmB3oE,EAAIlqE,GAzExB,SAA0BkqE,EAAIlqE,EAAIwwE,EAAItyL,GACrC,GAAI8hH,EAAG,eAAP,CACA,IAAIvwI,EAAOuwI,EAAG,eACVnzE,EAA0B,kBAAbp9D,EAAKo9D,IAAmBp9D,EAAKo9D,IAAMgnL,GAAapkP,EAAKo9D,KAGlE2jJ,EAAG6+D,WAAU7+D,EAAG6+D,SAAY,CAAC96B,OAAO,KACpC/jC,EAAG6+D,SAASiB,QAAO9/D,EAAG6+D,SAASiB,MAAQ,IAC3C,IAAI9jD,EAAQhc,EAAG6+D,SAASiB,MACpBrmJ,EAAQ2pH,GAAa/mL,GACtBo9D,EAAM5qI,EAAE2B,GAAKipI,EAAMzqI,EAAEwB,IAAKipI,EAAMzqI,EAAEwB,EAAI4yP,GAAa5zG,EAAG,SAASxgJ,EAAEwB,EAAG6rE,EAAMgnL,GAAa5pH,IAC1F,IAAI,IAAI3uI,EAAI,EAAGA,EAAIkxO,EAAMjxO,SAAUD,EAAG,CACrC,IAAIuF,EAAO2rO,EAAMlxO,GACjB,GAAgB,yBAAbuF,EAAK+mQ,MACL/mQ,EAAK0vR,OAASryP,EAAjB,CACAr9B,EAAK2vR,IAAM,IAAMhgE,EAAG8jC,WAAWp2N,GAAO,KAAO2uC,EAAK,OAEhDvxE,GAAKkxO,EAAMjxO,QAAQixO,EAAMjnO,KAAK,CAAEqiQ,KAAM,wBAAyB2oB,MAAOryP,EAAKsyP,IAAK,IAAMhgE,EAAG8jC,WAAWp2N,GAAO,KAAO2uC,IAErH4lL,GAAavoC,EAAI,kBAAmButC,GAAmB3D,GAAkBjnL,KAIzE4lL,GAAavoC,EAAI,kBAqDjB+oE,CAAiB/oE,EAAIlqE,EAAIwwE,EAAItyL,GAI7Bi0P,GAAiBjoE,EAAIlqE,GAIrBwyI,GAAatoE,EAAIlqE,EAAIq6G,GAElBr6G,EAAG,aAAayyG,GAAavoC,EAAI,cA3hBXpN,EA2hB0C98D,EAAG,YA1hB9D,MAALjhJ,IAAWA,EAAIqhP,GAAQ,KAC1BypC,GAAgB/sE,GAChB80E,GAAcp+P,SAAQ,SAASnT,GAAKs3O,GAAY76C,EAASz8L,GAAIthB,MACtDA,IA8hBH+C,IAAQA,EAAK8uR,eAA+B,GAAlB9uR,EAAK8uR,UAAuB0B,GAAgBpoE,EAAIlqE,GAtG/E,SAA6BkqE,EAAIlqE,EAAI9hH,EAAKm8N,GAEzC,GAAGr6G,EAAG,aAAazkJ,OAAS,EAAG,CAC9B,IAAIqgQ,EAAMD,GAAStB,GAAO,EAAG,0BAA4Bn8N,EAAI,GAAK,OAAQo8N,GAAKI,KAC/EjI,GAAavoC,EAAI,mBAAoBgtC,GAAY,MAAQ0E,IACzD57G,EAAG,WAAa47G,GAoGjBs3B,CAAoBhpE,EAAIlqE,EAAI9hH,EAAKm8N,GAQjC5H,GAAavoC,EAAI,eACVA,EAAGn4K,MA0BX,SAASohP,GAAY1jR,EAAM5O,EAAMiB,EAAMu4P,EAAM7pC,EAAI4iE,GAChD,IAAIhpP,EAAOgpP,GAAU,CAAC,QAAQ,SAC9B,IAAI3jR,EAAM,OAAO2jR,EAGjB,IAAI/oI,EAAI,EAAGspC,EAAI,EAAG56G,EAAM,IACpBo5L,EAAW,CAAC9yQ,EAAG,CAAC2B,EAAE,IAASL,EAAE,KAAUnB,EAAG,CAACwB,EAAE,EAAGL,EAAE,IAgBtD,OAbC8O,EAAKxH,MAAM,yCAAyC,IAAIurB,SAAQ,SAASs5L,GACzE,IAAI9lH,EA/BN,SAAqBv3F,GACpB,IAEI/P,EAFAq5E,EAAM,GACN+xD,EAAMr7H,EAAKxH,MAAM,kBAIpBwH,EAAKxH,MAAM,sCAAsC,IAAIurB,SAAQ,SAASrqB,GACtE,IAAI29G,EAAI39G,EAAGlB,MAAM,+CACb6+G,IACJ/tC,GAAK+tC,EAAE,IAAMgkB,GAAOhkB,EAAE,GAAKA,EAAE,OAI9B,IAAIusK,EAAKtmC,IAAat9O,EAAKxH,MAAM,6CAA+C,CAAC,GAAG,YAAY,IAIhG,OAFCwH,EAAKxH,MAAM,wBAAwB,IAAIurB,SAAQ,SAASp0B,GAAKM,EAAIN,EAAE8G,QAAQ,SAAS,OAE9E,CAAC6yE,EAAKs6M,EAAI3zR,GAcJ4zR,CAAYxmE,GACxBqlD,EAAS9yQ,EAAE2B,EAAImxQ,EAAS9yQ,EAAEsB,EAAI,EAC9BwxQ,EAAS3yQ,EAAEmB,EAAI0pJ,EACftxE,EAAMu6K,GAAWjpG,GACjBrjD,EAAM,GAAGxzE,SAAQ,SAASl0B,EAAEhE,GAC3B8uC,EAAG2uC,EAAMs6K,GAAW/3P,IAAM,CAAC4F,EAAE,IAAKyK,EAAErM,EAAGw3F,EAAEkQ,EAAM,IAC/C2sF,EAAIr4L,KAEF62Q,EAAS3yQ,EAAEwB,EAAI2yL,IAAGw+E,EAAS3yQ,EAAEwB,EAAI2yL,KAClCtpC,KAEAA,EAAI,IAAGjgH,EAAG,QAAUypN,GAAase,IAC7B/nO,EA9CRkwN,GAAKi5B,MAAQ,4EACbj5B,GAAKk5B,QAAU,iEA+Cfl5B,GAAKm5B,GAAK,iFAEQzkC,GAAU,aAAc,KAAM,CAC/C,MAASK,GAAMriI,KAAK,GACpB,UAAWqiI,GAAMruP,IAuGlB,IAAI0yR,GAAa,CAChB,CAAC,qBAA+B,EAAO,QACvC,CAAC,wBAA+B,EAAO,QACvC,CAAC,cAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,WAA+B,IAChC,CAAC,YAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAQ,OACxC,CAAC,iBAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,qBAA+B,EAAO,QACvC,CAAC,gBAA+B,EAAO,QACvC,CAAC,yBAA+B,EAAO,QACvC,CAAC,0BAA+B,EAAO,QACvC,CAAC,8BAA+B,EAAO,QACvC,CAAC,qBAA+B,EAAO,QACvC,CAAC,cAA+B,OAChC,CAAC,wBAA+B,EAAO,QACvC,CAAC,cAAe,YAIbC,GAAY,CACf,CAAC,YAA+B,EAAQ,OACxC,CAAC,0BAA+B,EAAO,QACvC,CAAC,aAA+B,EAAQ,OACxC,CAAC,aAA+B,EAAO,QACvC,CAAC,wBAA+B,EAAO,QACvC,CAAC,iBAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,WAA+B,IAAQ,OACxC,CAAC,aAA+B,YAK7BC,GAAW,GAKXC,GAAY,CACf,CAAC,gBAAiB,QAClB,CAAC,WAAY,QACb,CAAC,aAAc,QACf,CAAC,iBAAkB,QACnB,CAAC,iBAAkB,SACnB,CAAC,gBAAiB,QAClB,CAAC,UAAW,SACZ,CAAC,eAAgB,OACjB,CAAC,eAAgB,SACjB,CAAC,UAAW,OAyBb,SAASC,GAAoB14R,EAAQ2iF,GACpC,IAAI,IAAIlmE,EAAI,EAAGA,GAAKzc,EAAOG,SAAUsc,EACpC,IADyC,IAAI4b,EAAIr4B,EAAOyc,GAChDvc,EAAE,EAAGA,GAAKyiF,EAASxiF,SAAUD,EAAG,CAAE,IAAIw7F,EAAI/Y,EAASziF,GAC1D,GAAc,MAAXm4B,EAAEqjE,EAAE,IAAarjE,EAAEqjE,EAAE,IAAMA,EAAE,QAC3B,OAAOA,EAAE,IACd,IAAK,OAA6B,iBAAXrjE,EAAEqjE,EAAE,MAAiBrjE,EAAEqjE,EAAE,IAAM82J,GAAan6N,EAAEqjE,EAAE,MAAM,MAC7E,IAAK,MAA4B,iBAAXrjE,EAAEqjE,EAAE,MAAiBrjE,EAAEqjE,EAAE,IAAMn6E,SAAS8W,EAAEqjE,EAAE,IAAK,OAK1E,SAASi9L,GAAc34R,EAAQ2iF,GAC9B,IAAI,IAAIziF,EAAI,EAAGA,GAAKyiF,EAASxiF,SAAUD,EAAG,CAAE,IAAIw7F,EAAI/Y,EAASziF,GAC5D,GAAmB,MAAhBF,EAAO07F,EAAE,IAAa17F,EAAO07F,EAAE,IAAMA,EAAE,QACrC,OAAOA,EAAE,IACb,IAAK,OAAkC,iBAAhB17F,EAAO07F,EAAE,MAAiB17F,EAAO07F,EAAE,IAAM82J,GAAaxyP,EAAO07F,EAAE,MAAM,MAC5F,IAAK,MAAiC,iBAAhB17F,EAAO07F,EAAE,MAAiB17F,EAAO07F,EAAE,IAAMn6E,SAASvhB,EAAO07F,EAAE,IAAK,OAKzF,SAASk9L,GAAkBxjE,GAC1BujE,GAAcvjE,EAAGyjE,QAASP,IAC1BK,GAAcvjE,EAAG0jE,OAAQL,IAEzBC,GAAoBtjE,EAAG2jE,OAAQR,IAC/BG,GAAoBtjE,EAAG+jC,OAAQq/B,IAE/BrK,GAAStzC,SAAW2X,GAAap9B,EAAGyjE,QAAQh+C,UAU7C,IAAIm+C,GAAW,UAAWppR,MAAM,IAChC,SAASqpR,GAAc/0R,EAAGusP,GACzB,GAAGvsP,EAAE/D,OAAS,GAAI,CAAE,GAAGswP,EAAM,OAAO,EAAO,MAAM,IAAIluN,MAAM,sCAC3D,IAAI22P,GAAQ,EAMZ,OALAF,GAAS5gQ,SAAQ,SAAS7yB,GACzB,IAAoB,GAAjBrB,EAAEwJ,QAAQnI,GAAb,CACA,IAAIkrP,EAAM,MAAM,IAAIluN,MAAM,4CAC1B22P,GAAQ,MAEFA,EAYR,SAASC,GAAS/jE,GACjB,IAAIA,IAAOA,EAAG8jC,aAAe9jC,EAAG+jC,OAAQ,MAAM,IAAI52N,MAAM,oBACxD,IAAI6yL,EAAG8jC,WAAW/4P,OAAQ,MAAM,IAAIoiC,MAAM,qBAC1C,IAbuB0wJ,EAAGj1J,EAAGo7P,EAazBjgC,EAAU/jC,EAAG6+D,UAAY7+D,EAAG6+D,SAAS96B,QAAW,GAb7BlmE,EAcRmiC,EAAG8jC,WAdQl7N,EAcIm7N,EAdDigC,IAcWhkE,EAAG2+D,OAb3C9gG,EAAE76J,SAAQ,SAASl0B,EAAEhE,GACpB+4R,GAAc/0R,GACd,IAAI,IAAIuY,EAAI,EAAGA,EAAIvc,IAAKuc,EAAG,GAAGvY,GAAK+uL,EAAEx2K,GAAI,MAAM,IAAI8lB,MAAM,yBAA2Br+B,GACpF,GAAGk1R,EAAO,CACT,IAAIn+D,EAAMj9L,GAAKA,EAAE99B,IAAM89B,EAAE99B,GAAGuxR,UAAavtR,EACzC,GAAuB,IAApB+2N,EAAGvsL,WAAW,IAAYusL,EAAG96N,OAAS,GAAI,MAAM,IAAIoiC,MAAM,2BAA6B04L,OAS5F,IAAI,IAAI/6N,EAAI,EAAGA,EAAIk1N,EAAG8jC,WAAW/4P,SAAUD,EAAGgvR,GAAS95D,EAAG+jC,OAAO/jC,EAAG8jC,WAAWh5P,IAAKk1N,EAAG8jC,WAAWh5P,GAAIA,GAIvG,IAAIm5R,GAAY,gBA+JZC,GAAc1lC,GAAU,WAAY,KAAM,CAC7C,MAASK,GAAMriI,KAAK,GAGpB,UAAWqiI,GAAMruP,IAGlB,SAAS2zR,GAAankE,GACrB,IAAIzxN,EAAI,CAACotP,IACTptP,EAAEA,EAAExD,QAAUm5R,GAEd,IAAIE,EAAepkE,EAAG6+D,WAAa7+D,EAAG6+D,SAASiB,OAAO,IAAI/0R,OAAS,EAK/Ds5R,EAAc,CAACjI,SAAS,gBACzBp8D,EAAG6+D,UAAY7+D,EAAG6+D,SAAS4E,UAC7BP,GAAWlgQ,SAAQ,SAASloB,GACI,MAA9BklN,EAAG6+D,SAAS4E,QAAQ3oR,EAAE,KACnBklN,EAAG6+D,SAAS4E,QAAQ3oR,EAAE,KAAQA,EAAE,KACpCupR,EAAWvpR,EAAE,IAAOklN,EAAG6+D,SAAS4E,QAAQ3oR,EAAE,QAE1CklN,EAAG6+D,SAAS4E,QAAQpH,WAAYgI,EAAWjI,SAAWp8D,EAAG6+D,SAAS4E,QAAQpH,gBAAiBgI,EAAWhI,WAExG9tR,EAAEA,EAAExD,QAAWyzP,GAAU,aAAc,KAAM6lC,GAI7C,IAAIxgC,EAAS7jC,EAAG6+D,UAAY7+D,EAAG6+D,SAAS96B,QAAU,GAC9Cj5P,EAAI,EAGR,GAAG+4P,GAAUA,EAAO,IAAQA,EAAO,GAAGygC,OAAQ,CAE7C,IADA/1R,EAAEA,EAAExD,QAAU,cACVD,EAAI,EAAGA,GAAKk1N,EAAG8jC,WAAW/4P,QACzB84P,EAAO/4P,IACP+4P,EAAO/4P,GAAGw5R,SAFyBx5R,GAIrCA,GAAKk1N,EAAG8jC,WAAW/4P,SAAQD,EAAI,GAClCyD,EAAEA,EAAExD,QAAU,6BAA+BD,EAAI,gBAAkBA,EAAI,MACvEyD,EAAEA,EAAExD,QAAU,eAIf,IADAwD,EAAEA,EAAExD,QAAU,WACVD,EAAI,EAAGA,GAAKk1N,EAAG8jC,WAAW/4P,SAAUD,EAAG,CAC1C,IAAI4yQ,EAAO,CAACrtQ,KAAKusP,GAAU58B,EAAG8jC,WAAWh5P,GAAGm1C,MAAM,EAAE,MAGpD,GAFAy9N,EAAI6mB,QAAU,IAAIz5R,EAAE,GACpB4yQ,EAAI,QAAU,OAAO5yQ,EAAE,GACpB+4P,EAAO/4P,GAAI,OAAO+4P,EAAO/4P,GAAGw5R,QAC9B,KAAK,EAAG5mB,EAAI1qM,MAAQ,SAAU,MAC9B,KAAK,EAAG0qM,EAAI1qM,MAAQ,aAErBzkE,EAAEA,EAAExD,QAAWyzP,GAAU,QAAQ,KAAKkf,GAgCvC,OA9BAnvQ,EAAEA,EAAExD,QAAU,YAKXq5R,IACF71R,EAAEA,EAAExD,QAAU,iBACXi1N,EAAG6+D,UAAY7+D,EAAG6+D,SAASiB,OAAO9/D,EAAG6+D,SAASiB,MAAM98P,SAAQ,SAASl0B,GACvE,IAAIsB,EAAI,CAACC,KAAKvB,EAAEsoQ,MACbtoQ,EAAE2rC,UAASrqC,EAAEskC,QAAU5lC,EAAE2rC,SACd,MAAX3rC,EAAEixR,QAAe3vR,EAAEo0R,aAAe,GAAG11R,EAAEixR,OACvCjxR,EAAEw1R,SAAQl0R,EAAEguQ,OAAS,KACpBtvQ,EAAEkxR,MACNzxR,EAAEA,EAAExD,QAAUyzP,GAAU,cAAe5B,GAAU9tP,EAAEkxR,KAAM5vR,OAE1D7B,EAAEA,EAAExD,QAAU,mBAcZwD,EAAExD,OAAO,IAAIwD,EAAEA,EAAExD,QAAU,cAAewD,EAAE,GAAGA,EAAE,GAAGmH,QAAQ,KAAK,MAC7DnH,EAAE+L,KAAK,IAqOf,SAASmqR,GAAgB/qE,EAAIsG,GAE5B,GAAIA,EAAG6+D,UAAa7+D,EAAG6+D,SAAS96B,OAAhC,CAGA,IAFA,IAjB0Br2N,EAAKn/B,EAiB3Bs1P,EAAS7jC,EAAG6+D,SAAS96B,OACrBj5P,EAAI,EAAG45R,GAAU,EAAGtmB,GAAU,EAC5BtzQ,EAAI+4P,EAAO94P,SAAUD,GACtB+4P,EAAO/4P,KAAO+4P,EAAO/4P,GAAGw5R,SAAqB,GAAXI,EAAcA,EAAS55R,EACjC,GAApB+4P,EAAO/4P,GAAGw5R,SAA0B,GAAXlmB,IAAcA,EAAStzQ,GAEzD,KAAGszQ,EAASsmB,GACZziC,GAAavoC,EAAI,qBACjBuoC,GAAavoC,EAAI,eAzBShsL,EAyBwBg3P,EAxB9Cn2R,IAAGA,EAAIqhP,GAAQ,KACnBrhP,EAAE29O,aAAa,EAAG,GAClB39O,EAAE29O,aAAa,EAAG,KAClB39O,EAAE29O,YAAY,EAAI,OAClB39O,EAAE29O,YAAY,EAAI,OAClB39O,EAAE29O,YAAY,EAAI,KAClB39O,EAAE29O,YAAY,EAAIx+M,GAClBn/B,EAAE29O,YAAY,EAAIx+M,GAElBn/B,EAAE29O,YAAY,EADF,KAEL39O,EAAExD,OAASwD,EAAEyB,EAAIzB,EAAE0xC,MAAM,EAAG1xC,EAAEyB,GAAKzB,IAgB1C0zP,GAAavoC,EAAI,oBAwBlB,SAASirE,GAAa3kE,EAAI1uN,GACzB,IAAIooN,EAAKioC,KAyBT,OAxBAM,GAAavoC,EAAI,gBACjBuoC,GAAavoC,EAAI,iBAlElB,SAA8Bz6M,EAAM1Q,GAC/BA,IAAGA,EAAIqhP,GAAQ,MACnB,IAAI,IAAI9kP,EAAI,EAAQ,GAALA,IAAUA,EAAGyD,EAAE29O,YAAY,EAAG,GAM7C,OALA8Y,GAAmB,UAAWz2P,GAC9By2P,GAAmB3kB,EAAKxjM,QAAStuC,GACjCy2P,GAAmB3kB,EAAKxjM,QAAStuC,GACjCy2P,GAAmB,OAAQz2P,GAC3BA,EAAExD,OAASwD,EAAEyB,EACNzB,EAAExD,OAASwD,EAAEyB,EAAIzB,EAAE0xC,MAAM,EAAG1xC,EAAEyB,GAAKzB,EA0DPq2R,IAEnC3iC,GAAavoC,EAAI,YAnOlB,SAAyBz6M,EAAM1Q,GAC1BA,IAAGA,EAAIqhP,GAAQ,KACnB,IAAI98C,EAAQ,EAQZ,OAPG7zL,GAECA,EAAK4lR,gBAAe/xF,GAAS,GAEjCvkM,EAAE29O,YAAY,EAAGp5C,GACjBvkM,EAAE29O,YAAY,EAAG,GACjBma,GAAmBpnP,GAAQA,EAAKo9Q,UAAY,eAAgB9tR,GACrDA,EAAE0xC,MAAM,EAAG1xC,EAAEyB,GAyNU80R,CAAgB9kE,EAAG6+D,UAAY7+D,EAAG6+D,SAAS4E,SAAW,OAGpFgB,GAAgB/qE,EAAIsG,GAlFrB,SAAyBtG,EAAIsG,GAC5BiiC,GAAavoC,EAAI,qBACjB,IAAI,IAAIhsL,EAAM,EAAGA,GAAOsyL,EAAG8jC,WAAW/4P,SAAU2iC,EAAK,CACpD,IACIt9B,EAAI,CAAEk0R,OADAtkE,EAAG6+D,UAAY7+D,EAAG6+D,SAAS96B,QAAU/jC,EAAG6+D,SAAS96B,OAAOr2N,IAAQsyL,EAAG6+D,SAAS96B,OAAOr2N,GAAK42P,QAAU,EACrFS,OAAQr3P,EAAI,EAAGs3P,SAAU,OAASt3P,EAAI,GAAIr9B,KAAM2vN,EAAG8jC,WAAWp2N,IACrFu0N,GAAavoC,EAAI,eA1LQz6M,EA0LyB7O,GA1LnB7B,OA0LC02R,KAzL1B12R,EAAIqhP,GAAQ,MACnBrhP,EAAE29O,YAAY,EAAGjtO,EAAKqlR,QACtB/1R,EAAE29O,YAAY,EAAGjtO,EAAK8lR,QACtBr+B,GAAYznP,EAAK+lR,SAAUz2R,GAC3By2P,GAAmB/lP,EAAK5O,KAAK4vC,MAAM,EAAE,IAAK1xC,GACnCA,EAAExD,OAASwD,EAAEyB,EAAIzB,EAAE0xC,MAAM,EAAG1xC,EAAEyB,GAAKzB,IAN3C,IAA2B0Q,EAAM1Q,EA4LhC0zP,GAAavoC,EAAI,mBA4EjBwrE,CAAgBxrE,EAAIsG,GAepBiiC,GAAavoC,EAAI,cAEVA,EAAGn4K,MAEX,SAAS4jP,GAASlmR,EAAM5O,EAAMiB,GAC7B,MAAoB,SAAjBjB,EAAK4vC,OAAO,GA/MhB,SAAsBhhC,EAAM3N,GAC3B,IAAI0uN,EAAK,CAAEguC,WAAW,GAAIy1B,QAAQ,GAAIE,OAAO,GAAI5/B,OAAO,GAAI2/B,OAAO,GAAI3xP,MAAO,IAC1EihC,EAAQ,GACR4vM,GAAO,EAEPtxQ,IAAMA,EAAO,IACjBA,EAAKgxP,KAAO,GAEZ,IAAIw9B,EAAQ,GACRzJ,EAAY,CAAC,IA4FjB,OA3FAA,EAASvyB,WAAa,GACtBuyB,EAASC,IAAM,GAEfh1B,GAAariP,GAAM,SAAmB0S,EAAKyzQ,EAAK3jC,GAC/C,OAAOA,GACN,KAAK,IACJ40B,EAASvyB,WAAW/uP,KAAK4c,EAAIthB,MAC7B2vN,EAAG+jC,OAAOhvP,KAAK4c,GAAM,MAEtB,KAAK,IACJquM,EAAGyjE,QAAU9xQ,EAAK,MAEnB,KAAK,GACY,MAAbA,EAAIouQ,QAAezuR,EAAKilR,IAAM5kQ,EAAIouQ,OACrCpuQ,EAAIquQ,IAAMrJ,GAAkBhlQ,EAAI0zQ,IAAK,EAAM,KAAMhP,EAAU/kR,UACpDA,EAAKilR,WACL5kQ,EAAI0zQ,IACXvF,EAAM/qR,KAAK4c,GACX,MACD,KAAK,KAA2B,MAEhC,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACA0kQ,EAAS,GAAGtrR,OACXsrR,EAASthR,KAAK,CAAC0sP,EAAI9vO,IADA0kQ,EAAS,GAAK,CAAC50B,EAAI9vO,GAE3C0kQ,EAASA,EAAStrR,OAAS,GAAGurR,IAAM,GACpC,MACD,KAAK,IACmB,IAApBD,EAAStrR,SAAgBsrR,EAAS,GAAK,GAAIA,EAAS,GAAGC,IAAM,IAChED,EAASA,EAAStrR,OAAS,GAAGurR,IAAMD,EAASA,EAAStrR,OAAS,GAAGurR,IAAI7/P,OAAO9E,GAC7E0kQ,EAASC,IAAMD,EAASC,IAAI7/P,OAAO9E,GACnC,MACD,KAAK,IACJ,MAGD,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACJ,MAED,KAAK,GACJqhD,EAAMj+D,KAAKqwR,GAAMxiB,GAAO,EAAM,MAC/B,KAAK,GACJ5vM,EAAM/9D,MAAO2tQ,GAAO,EAAO,MAC5B,KAAK,GACJ5vM,EAAMj+D,KAAKqwR,GAAMxiB,GAAO,EAAM,MAC/B,KAAK,GACJ5vM,EAAM/9D,MAAO2tQ,GAAO,EAAO,MAE5B,KAAK,GAA8B,MAEnC,QACC,IAAIwiB,GAAK,IAAI9sR,QAAQ,SAAW,QAC3B,IAAI8sR,GAAK,IAAI9sR,QAAQ,OAAS,QAC9B,IAAIsqQ,GAAStxQ,EAAK8sP,KAAgC,cAAzBprL,EAAMA,EAAMjoE,OAAO,IAA+C,eAAzBioE,EAAMA,EAAMjoE,OAAO,GAAsB,MAAM,IAAIoiC,MAAM,qBAAuBs0N,EAAK,IAAM2jC,MAElK9zR,GAEHkyR,GAAkBxjE,GAGlBA,EAAG8/D,MAAQA,EAEV9/D,EAAIq2D,SAAWA,EACTr2D,EA0G4BslE,CAAcrmR,EAAO3N,GA1hBzD,SAAsB2N,EAAM3N,GAC3B,IAAI2N,EAAM,MAAM,IAAIkuB,MAAM,uBAC1B,IAAI6yL,EAAK,CAAEguC,WAAW,GAAIy1B,QAAQ,GAAIE,OAAO,GAAI5/B,OAAO,GAAI2/B,OAAO,GAAI5D,MAAM,GAAI/tP,MAAO,IACpF6wO,GAAO,EAAO7wO,EAAQ,QACtBwzP,EAAQ,GAAIC,EAAU,EAmJ1B,GAlJAvmR,EAAKvJ,QAAQmmP,IAAU,SAAgB/gP,EAAG4yB,GACzC,IAAI3yB,EAAIihP,GAAYlhP,GACpB,OAAOshP,GAASrhP,EAAE,KACjB,IAAK,QAAS,MAGd,IAAK,YACDD,EAAErD,MAAMwsR,MAAYlyP,EAAQ,QAAUj3B,EAAErD,MAAM,WAAW,IAC5DuoN,EAAGjuL,MAAQh3B,EAAEg3B,GACb,MACD,IAAK,cAAe,MAGpB,IAAK,sBAAuBh3B,EAAE,GAAIilN,EAAGguC,WAAajzP,EAAG,MACrD,IAAK,iBAAkB,IAAK,iBAG5B,IAAK,eAEL,IAAK,iBAAkB,MAGvB,IAAK,cACL,IAAK,gBACJmoR,GAAWlgQ,SAAQ,SAASC,GAC3B,GAAc,MAAXloB,EAAEkoB,EAAE,IACP,OAAOA,EAAE,IACR,IAAK,OAAQ+8L,EAAGyjE,QAAQxgQ,EAAE,IAAMm6N,GAAariP,EAAEkoB,EAAE,KAAM,MACvD,IAAK,MAAO+8L,EAAGyjE,QAAQxgQ,EAAE,IAAM9W,SAASpR,EAAEkoB,EAAE,IAAK,IAAK,MACtD,QAAS+8L,EAAGyjE,QAAQxgQ,EAAE,IAAMloB,EAAEkoB,EAAE,QAG/BloB,EAAEqhR,WAAUp8D,EAAGyjE,QAAQpH,SAAWh/B,GAAStiP,EAAEqhR,WAChD,MACD,IAAK,gBAGL,IAAK,sBAEL,IAAK,wBAAyB,MAG9B,IAAK,aAAc,IAAK,cAAe,IAAK,eAAgB,MAE5D,IAAK,gBAAiB,IAAK,yBAA0BrhR,EAAE,GAAIilN,EAAG2jE,OAAO5uR,KAAKgG,GAAI,MAC9E,IAAK,kBAAmB,MAGxB,IAAK,UAAW,IAAK,WAAY,IAAK,YAAa,MAEnD,IAAK,SACJ,OAAOA,EAAEi4D,OACR,IAAK,SAAUj4D,EAAEupR,OAAS,EAAG,MAC7B,IAAK,aAAcvpR,EAAEupR,OAAS,EAAG,MACjC,QAASvpR,EAAEupR,OAAS,SAEdvpR,EAAEi4D,MACTj4D,EAAE1K,KAAOksP,GAAYc,GAAStiP,EAAE1K,cACzB0K,EAAE,GAAIilN,EAAG+jC,OAAOhvP,KAAKgG,GAAI,MACjC,IAAK,WAAY,MAGjB,IAAK,kBAAmB,IAAK,oBAE7B,IAAK,iBAAkB,MAGvB,IAAK,sBAAuB,IAAK,wBAAyB,IAAK,uBAE/D,IAAK,qBAGL,IAAK,kBAAmB,MACxB,IAAK,iBAAkB,IAAK,gBAAiB6nQ,GAAK,EAAM,MACxD,IAAK,kBAAmBA,GAAK,EAAO,MAEpC,IAAK,gBACJ2iB,EAAQ,IACFnuB,KAAO/Z,GAAStiP,EAAE1K,MACrB0K,EAAE25B,UAAS6wP,EAAM9qP,QAAU1/B,EAAE25B,SAC7B35B,EAAEypR,eAAce,EAAMxF,OAAShlR,EAAEypR,cACjCpnC,GAAariP,EAAEqjQ,QAAQ,OAAMmnB,EAAMjB,QAAS,GAC/CkB,EAAU93P,EAAM5yB,EAAE/P,OACjB,MACF,IAAK,iBACJw6R,EAAMvF,IAAMzjC,GAAYc,GAASp+O,EAAKghC,MAAMulP,EAAS93P,KACrDsyL,EAAG8/D,MAAM/qR,KAAKwwR,GACb,MACF,IAAK,iBAAkB,MAGvB,IAAK,UACL,IAAK,mBAAoBxqR,EAAE,GAAIilN,EAAG0jE,OAAS3oR,EAAG,MAC9C,IAAK,YAGL,IAAK,WAAY,MAGjB,IAAK,wBAAyB,IAAK,yBAA0B,IAAK,uBAAwB,MAE1F,IAAK,sBAAuB,IAAK,wBAAyB,MAG1D,IAAK,gBAAiB,IAAK,iBAAkB,IAAK,eAElD,IAAK,cAAe,MAGpB,IAAK,cAAe,IAAK,gBAAiB,MAG1C,IAAK,iBAAkB,IAAK,kBAAmB,IAAK,mBAEpD,IAAK,gBAAiB,MAGtB,IAAK,iBAAkB,IAAK,mBAAoB,MAGhD,IAAK,kBAAmB,IAAK,oBAAqB,MAGlD,IAAK,sBAAuB,IAAK,qBAAsB,IAAK,uBAE5D,IAAK,oBAAqB,MAG1B,IAAK,UAAW,IAAK,WAAY,IAAK,YAAa,IAAK,YAAa,MAErE,IAAK,OAAQ6nQ,GAAK,EAAM,MACxB,IAAK,SAAUA,GAAK,EAAO,MAG3B,IAAK,UAAW,MAChB,IAAK,oBACL,IAAK,qBAAsBA,GAAK,EAAM,MACtC,IAAK,sBAAuBA,GAAK,EAAO,MAGxC,IAAK,eAAgB,MAErB,QAAS,IAAIA,GAAQtxQ,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,gBAAkBpyB,EAAE,GAAK,gBAEzE,OAAOD,MAE6B,IAAlC+jP,GAAMriI,KAAKlkH,QAAQ0nN,EAAGjuL,OAAe,MAAM,IAAI5E,MAAM,sBAAwB6yL,EAAGjuL,OAInF,OAFAyxP,GAAkBxjE,GAEXA,EAgYAylE,CAAcxmR,EAAO3N,GAG7B,SAASo0R,GAASzmR,EAAM5O,EAAMq9B,EAAKp8B,EAAMu4P,EAAM7pC,EAAIyqD,EAAQlqQ,GAC1D,MAAoB,SAAjBlQ,EAAK4vC,OAAO,GAjzChB,SAAsBhhC,EAAMwxO,EAAO/iN,EAAKm8N,EAAM7pC,EAAIyqD,EAAQlqQ,GACzD,IAAItB,EAAM,OAAOA,EACjB,IAAI3N,EAAOm/O,GAAS,GAChBoZ,IAAMA,EAAO,CAAC,MAAM,KAExB,IAEIxtL,EAKA6L,EAAKh3E,EAAG+jQ,EAAI9xE,EAAGtpC,EAAGy0F,EAAM8uC,EAAMpoF,EAAItvF,EAPlC72G,EAAKyC,EAAK4yP,MAAQ,GAAK,GAGvByd,EAAW,CAAC9yQ,EAAG,CAAC2B,EAAE,IAASL,EAAE,KAAUnB,EAAG,CAACwB,EAAE,EAAGL,EAAE,IAElD6iE,EAAQ,GACR4vM,GAAO,EAAOrhO,GAAM,EAEpBq6O,EAAS,GACbtqR,EAAKgxP,KAAO,GACZhxP,EAAK,QAAU,EAEf,IAAI6zN,EAAK,EAAG8H,GAAK,EAEb0qD,EAAS,GACTH,EAAU,GACVnB,EAAW/kR,EAAK+kR,UAAYr2D,EAAGq2D,UAAa,CAAC,IAIjD,GAHAA,EAASmB,QAAUA,EACnBnB,EAASsB,OAASA,EAClBtB,EAASvyB,WAAa9jC,EAAG8jC,YAAc9jC,EAAG+jC,OAAOruO,KAAI,SAAS5a,GAAK,OAAOA,EAAEzK,SACxEiB,EAAK+kR,WACR/kR,EAAK+kR,SAAWA,EACbr2D,EAAG8/D,OAAO,IAAI,IAAIh1R,EAAI,EAAGA,EAAIk1N,EAAG8/D,MAAM/0R,SAAUD,EAAGurR,EAAS,GAAGvrR,EAAE,GAAKk1N,EAAG8/D,MAAMh1R,GAGnF,IAAI8yQ,EAAU,GAAID,EAAU,GACxByd,GAAU,EA8Nd,GA5NA95B,GAAariP,GAAM,SAAkB0S,EAAKyzQ,EAAK3jC,GAC9C,IAAGlgN,EACH,OAAOkgN,GACN,KAAK,IACJplL,EAAM1qD,EAAK,MACZ,KAAK,EACJu2D,EAAMv2D,EACHrgB,EAAKsoQ,WAAatoQ,EAAKsoQ,WAAa1xL,EAAI13E,IAAG+wC,GAAI,GAClDyzJ,EAAK6tD,GAAW1/D,EAAIj7G,EAAI13E,GACxBc,EAAK,QAAU42E,EAAI13E,GAChBmhB,EAAIysP,QAAUzsP,EAAI4sP,KAAoB,MAAb5sP,EAAIshG,SAC5BthG,EAAI4sP,MAAK5sP,EAAI6sP,IAAMC,GAAM9sP,EAAI4sP,MAChCZ,EAAQhsP,EAAInhB,GAAKmhB,GAElB,MAED,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,GAEJ,OADAzgB,EAAK,CAACR,EAAEihB,EAAI,IACLA,EAAI,IACV,IAAK,IAAKzgB,EAAEiK,EAAIwW,EAAI,GAAI,MACxB,IAAK,IAAKyrQ,EAAOn0B,GAAKt3O,EAAI,IAAKzgB,EAAEiK,EAAIiiR,EAAK1sR,EAAGQ,EAAEV,EAAI4sR,EAAK5sR,EAAG,MAC3D,IAAK,IAAKU,EAAEiK,IAAIwW,EAAI,GAAmB,MACvC,IAAK,IAAKzgB,EAAEiK,EAAIwW,EAAI,IAAyB,IAAlBrgB,EAAK2vQ,WAAoB/vQ,EAAE+xB,EAAIslO,GAAKr3P,EAAEiK,IAAI,MACrE,IAAK,MAAOjK,EAAER,EAAI,IAAKQ,EAAEiK,EAAIwW,EAAI,GAMlC,IAJIsjP,EAAK10P,EAAOwrQ,OAAOp6P,EAAI,GAAGu0O,aAAawzB,GAAYxoR,EAAE+jQ,EAAGxR,SAAS,KAAKnyP,EAAMm5Q,EAAQlqQ,GACxFs5I,EAAIloI,EAAI,GAAGxhB,EACRmB,EAAK4yP,OAAar1P,EAAEs0L,KAAIt0L,EAAEs0L,GAAK,IAAIt0L,EAAEs0L,GAAGtpC,GAAK3oJ,GAC3CrC,EAAEi0P,GAAWjpG,GAAKm7C,GAAM9jM,EAC1BI,EAAK4sR,YAAa,CAEpB,IADAjxD,GAAK,EACD9H,EAAK,EAAGA,EAAKwyD,EAAO5sR,SAAUo6N,EAAI,CACrC,IAAIwgE,EAAMhO,EAAOxyD,GACdj9I,EAAI13E,GAAKm1R,EAAI,GAAG92R,EAAE2B,GAAK03E,EAAI13E,GAAKm1R,EAAI,GAAG32R,EAAEwB,GACxCqpJ,GAAK8rI,EAAI,GAAG92R,EAAEsB,GAAK0pJ,GAAK8rI,EAAI,GAAG32R,EAAEmB,IACnCe,EAAEtC,EAAIy0P,GAAasiC,EAAI,IAAK14D,GAAK,IAGhCA,GAAMt7M,EAAI5mB,OAAS,IAAGmG,EAAEhC,EAAIyiB,EAAI,IAMrC,GAJGgwP,EAAS9yQ,EAAE2B,EAAI03E,EAAI13E,IAAGmxQ,EAAS9yQ,EAAE2B,EAAI03E,EAAI13E,GACzCmxQ,EAAS9yQ,EAAEsB,EAAI0pJ,IAAG8nH,EAAS9yQ,EAAEsB,EAAI0pJ,GACjC8nH,EAAS3yQ,EAAEwB,EAAI03E,EAAI13E,IAAGmxQ,EAAS3yQ,EAAEwB,EAAI03E,EAAI13E,GACzCmxQ,EAAS3yQ,EAAEmB,EAAI0pJ,IAAG8nH,EAAS3yQ,EAAEmB,EAAI0pJ,GACjCvoJ,EAAKozP,WAAauQ,GAAa,KAAP/jQ,EAAER,GAAYizO,EAAI4G,QAAQ5G,EAAIsH,OAAOgqB,EAAGxR,WAAY,CAC9E,IAAIvoH,EAAKyoG,EAAIyB,gBAAgBl0O,EAAEiK,GAAO+/H,IAAMhqI,EAAER,EAAI,IAAKQ,EAAEiK,EAAI,IAAIqqB,KAAK01G,EAAGngI,EAAGmgI,EAAGhrI,EAAE,EAAEgrI,EAAG9qI,EAAE8qI,EAAGqoD,EAAEroD,EAAG/3G,EAAE+3G,EAAGtyG,EAAEsyG,EAAGjzH,IAE3G,MAED,KAAK,EACJ,IAAI3W,EAAKmzP,YAAcme,EAAM,MAC7B1xQ,EAAK,CAACR,EAAE,IAAIyK,OAAE0yB,GACdgsH,EAAIloI,EAAI,GAAGxhB,EACRmB,EAAK4yP,OAAar1P,EAAEs0L,KAAIt0L,EAAEs0L,GAAK,IAAIt0L,EAAEs0L,GAAGtpC,GAAK3oJ,GAC3CrC,EAAEi0P,GAAWjpG,GAAKm7C,GAAM9jM,EAC1BywQ,EAAS9yQ,EAAE2B,EAAI03E,EAAI13E,IAAGmxQ,EAAS9yQ,EAAE2B,EAAI03E,EAAI13E,GACzCmxQ,EAAS9yQ,EAAEsB,EAAI0pJ,IAAG8nH,EAAS9yQ,EAAEsB,EAAI0pJ,GACjC8nH,EAAS3yQ,EAAEwB,EAAI03E,EAAI13E,IAAGmxQ,EAAS3yQ,EAAEwB,EAAI03E,EAAI13E,GACzCmxQ,EAAS3yQ,EAAEmB,EAAI0pJ,IAAG8nH,EAAS3yQ,EAAEmB,EAAI0pJ,GACpC,MAED,KAAK,IACJ+hI,EAAO7mR,KAAK4c,GAAM,MAEnB,KAAK,IACJ,IAAI+c,EAAMm7N,EAAK,OAAOl4O,EAAIi0Q,OAQ1B,IAPGl3P,GACF/c,EAAIi5O,OAASl8N,EAAIk8N,OACdj5O,EAAI8uO,MAAK9uO,EAAIi5O,QAAU,IAAIj5O,EAAI8uO,KAClC9uO,EAAIoqQ,IAAMrtP,GACY,IAAb/c,EAAIi0Q,QACbj0Q,EAAIi5O,OAAS,IAAMj5O,EAAI8uO,KAEpBt9D,EAAExxK,EAAIk0Q,IAAIh3R,EAAE2B,EAAE2yL,GAAGxxK,EAAIk0Q,IAAI72R,EAAEwB,IAAI2yL,EAAG,IAAItpC,EAAEloI,EAAIk0Q,IAAIh3R,EAAEsB,EAAE0pJ,GAAGloI,EAAIk0Q,IAAI72R,EAAEmB,IAAI0pJ,EACrEvoJ,EAAK4yP,OACHr1P,EAAEs0L,KAAIt0L,EAAEs0L,GAAK,IACbt0L,EAAEs0L,GAAGtpC,KAAIhrJ,EAAEs0L,GAAGtpC,GAAK,CAACnpJ,EAAE,IAAIyK,OAAE0yB,IAChCh/B,EAAEs0L,GAAGtpC,GAAG7pJ,EAAI2hB,IAEZ28N,EAAOmU,GAAY,CAACtyP,EAAE0pJ,EAAErpJ,EAAE2yL,IACtBt0L,EAAEy/O,KAAOz/O,EAAEy/O,GAAQ,CAAC59O,EAAE,IAAIyK,OAAE0yB,IAChCh/B,EAAEy/O,GAAMt+O,EAAI2hB,GAGd,MAED,KAAK,IACJ,IAAIrgB,EAAK4sR,YAAa,MACtBvG,EAAO5iR,KAAK4c,IACZ+zF,EAASp0G,EAAK4yP,MAAQr1P,EAAEs0L,GAAGtpC,GAAKhrJ,EAAEi0P,GAAWjpG,GAAKm7C,IAC7C9lM,EAAIynR,GAAkBhlQ,EAAI,GAAIgwP,EAAU,CAACnxQ,EAAE03E,EAAI13E,EAAGL,EAAE0pJ,GAAIw8H,EAAU/kR,GACvEo0G,EAAK92G,EAAIy0P,GAAa1xO,EAAI,IAC1B,MACD,KAAK,IACJ,IAAIrgB,EAAK4sR,YAAa,MACtB1G,EAAQ/0B,GAAY9wO,EAAI,GAAG9iB,IAAM8iB,EAAI,IACrC+zF,EAAQp0G,EAAK4yP,MAAQr1P,EAAEs0L,GAAGtpC,GAAKhrJ,EAAEi0P,GAAWjpG,GAAKm7C,IAC5C9lM,EAAIynR,GAAkBhlQ,EAAI,GAAIgwP,EAAU,CAACnxQ,EAAE03E,EAAI13E,EAAGL,EAAE0pJ,GAAIw8H,EAAU/kR,GACvE,MAGD,KAAK,GACJ,IAAIA,EAAKmnQ,WAAY,MACrB,KAAM9mP,EAAI3iB,GAAK2iB,EAAI9iB,GAClB+uQ,EAAQjsP,EAAI3iB,KAAO,CAAE6F,MAAO8c,EAAIsR,EAAE,IAAKm7O,UAAuB,EAAZzsP,EAAImhL,OAAe7/E,MAAOthG,EAAIshG,OAC5EmoK,IAAWA,GAAU,EAAMxR,GAAcj4P,EAAIsR,EAAE,MACnDq7O,GAAYV,EAAQjsP,EAAI3iB,EAAE,IAE3B,MAED,KAAK,IACJH,EAAE,eAAiB,CAAEwtE,IAAIgnL,GAAa1xO,IACtC,MAED,KAAK,IACJ9iB,EAAE,YAAc8iB,EAChB,MAED,KAAK,IACAquM,EAAG+jC,OAAOr2N,KAAMsyL,EAAG+jC,OAAOr2N,GAAO,IAClC/b,EAAIthB,OAAM2vN,EAAG+jC,OAAOr2N,GAAK2uP,SAAW1qQ,EAAIthB,MAC3C,MAED,KAAK,IACA2vN,EAAG+6D,QAAO/6D,EAAG+6D,MAAQ,CAAC,KACtB/6D,EAAG+6D,MAAM,KAAI/6D,EAAG+6D,MAAM,GAAK,IAC5BppQ,EAAIupQ,MAAKl7D,EAAG+6D,MAAM,GAAGG,KAAM,GAC9B,MAED,KAAK,IACJ,MAED,KAAK,GACL,KAAK,KAGL,KAAK,IACJ,MACD,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,GACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,GACL,KAAK,KACL,KAAK,KACJ,MAED,KAAK,GACJtY,GAAO,EAAM,MACd,KAAK,GACJA,GAAO,EAAO,MACf,KAAK,GACJ5vM,EAAMj+D,KAAKqwR,GAAMxiB,GAAO,EAAM,MAC/B,KAAK,GACJ5vM,EAAM/9D,MAAO2tQ,GAAO,EAAO,MAE5B,QACC,IAAIwiB,GAAK,IAAI9sR,QAAQ,SAAW,QAC3B,IAAI8sR,GAAK,IAAI9sR,QAAQ,OAAS,QAC9B,IAAIsqQ,GAAQtxQ,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,qBAAuBs0N,EAAK,IAAM2jC,MAE7E9zR,UAEIA,EAAK+kR,gBACL/kR,EAAK,SAERzC,EAAE,UAAY8yQ,EAAS9yQ,EAAE2B,EAAI,KAAW6rE,IAAQA,EAAIrtE,EAAEwB,EAAI,GAAK6rE,EAAIrtE,EAAEmB,EAAI,GAAKksE,EAAIxtE,EAAE2B,EAAI,GAAK6rE,EAAIxtE,EAAEsB,EAAI,MAAKtB,EAAE,QAAUw0P,GAAahnL,GAAOslM,IAC7IrwQ,EAAKsoQ,WAAa/qQ,EAAE,QAAS,CAC/B,IAAIstR,EAAS74B,GAAkBz0P,EAAE,SAC9ByC,EAAKsoQ,YAAcuiB,EAAOntR,EAAEwB,IAC9B2rR,EAAOntR,EAAEwB,EAAIc,EAAKsoQ,UAAY,EAC3BuiB,EAAOntR,EAAEwB,EAAImxQ,EAAS3yQ,EAAEwB,IAAG2rR,EAAOntR,EAAEwB,EAAImxQ,EAAS3yQ,EAAEwB,GACnD2rR,EAAOntR,EAAEwB,EAAI2rR,EAAOttR,EAAE2B,IAAG2rR,EAAOttR,EAAE2B,EAAI2rR,EAAOntR,EAAEwB,GAC/C2rR,EAAOntR,EAAEmB,EAAIwxQ,EAAS3yQ,EAAEmB,IAAGgsR,EAAOntR,EAAEmB,EAAIwxQ,EAAS3yQ,EAAEmB,GACnDgsR,EAAOntR,EAAEmB,EAAIgsR,EAAOttR,EAAEsB,IAAGgsR,EAAOttR,EAAEsB,EAAIgsR,EAAOntR,EAAEmB,GAClDtB,EAAE,YAAcA,EAAE,QAClBA,EAAE,QAAUw0P,GAAa84B,IAM3B,OAHGP,EAAO7wR,OAAS,IAAG8D,EAAE,WAAa+sR,GAClChe,EAAQ7yQ,OAAS,IAAG8D,EAAE,SAAW+uQ,GACjCD,EAAQ5yQ,OAAS,IAAG8D,EAAE,SAAW8uQ,GAC7B9uQ,EAqiC4Bi3R,CAAc7mR,EAAO3N,EAAMo8B,EAAKm8N,EAAM7pC,EAAIyqD,EAAQlqQ,GAC9Ei6Q,GAAcv7Q,EAAO3N,EAAMo8B,EAAKm8N,EAAM7pC,EAAIyqD,EAAQlqQ,GAG1D,SAASwlR,GAAS9mR,EAAM5O,EAAMq9B,EAAKp8B,EAAMu4P,EAAM7pC,EAAIyqD,EAAQlqQ,GAC1D,MAAoB,SAAjBlQ,EAAK4vC,OAAO,GAvvBhB,SAAsBhhC,EAAM3N,EAAMo8B,EAAKm8N,EAAM7pC,GAC5C,IAAI/gN,EAAM,OAAOA,EACb4qP,IAAMA,EAAO,CAAC,MAAM,KACxB,IAAIh7P,EAAI,CAAC,QAAQ,QAAS,UAAU,KAAM,OAAO,IAC7CmkE,EAAQ,GACR4vM,GAAO,EAuCX,OAtCAthB,GAAariP,GAAM,SAAkB0S,EAAKyzQ,EAAK3jC,GAC9C,OAAOA,GAEN,KAAK,IACJ5yP,EAAE,QAAU8iB,EAAK,MAElB,KAAK,IACAquM,EAAG+jC,OAAOr2N,KAAMsyL,EAAG+jC,OAAOr2N,GAAO,IAClC/b,EAAIthB,OAAM2vN,EAAG+jC,OAAOr2N,GAAK2uP,SAAW1qQ,EAAIthB,MAC3C,MAED,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACJ,MAED,KAAK,GACJuyQ,GAAO,EAAM,MACd,KAAK,GACJA,GAAO,EAAO,MACf,KAAK,GACJ5vM,EAAMj+D,KAAKqwR,GAAM,MAClB,KAAK,GACJpyN,EAAM/9D,MAAO,MAEd,QACC,IAAImwR,GAAK,IAAI9sR,QAAQ,SAAW,EAAG06D,EAAMj+D,KAAKqwR,QACzC,IAAIA,GAAK,IAAI9sR,QAAQ,OAAS,EAAG06D,EAAM/9D,WACvC,IAAI2tQ,GAAQtxQ,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,qBAAuBs0N,EAAK,IAAM2jC,MAE7E9zR,GAEAu4P,EAAK,OAAOh7P,EAAE,WAAUA,EAAE,WAAag7P,EAAK,OAAOh7P,EAAE,UACjDA,EA2sB4Bm3R,CAAc/mR,EAAO3N,EAAMo8B,EAAKm8N,EAAM7pC,GAxxB1E,SAAsB/gN,EAAM3N,EAAMo8B,EAAKm8N,EAAM7pC,GAC5C,IAAI/gN,EAAM,OAAOA,EAEb4qP,IAAMA,EAAO,CAAC,MAAM,KACxB,IACI35P,EADArB,EAAK,CAAC,QAAQ,QAAS,UAAU,KAAM,OAAO,IAI9C6rR,EAAUz7Q,EAAKxH,MAAM6iR,IAOzB,OANGI,GAASC,GAAqBD,EAAQ,GAAI7rR,EAAGmxN,EAAItyL,IAGhDx9B,EAAI+O,EAAKxH,MAAM,2BAA0B5I,EAAE,QAAUqB,EAAE,IAExD25P,EAAK,OAAOh7P,EAAE,WAAUA,EAAE,WAAag7P,EAAK,OAAOh7P,EAAE,UACjDA,EA0wBAo3R,CAAchnR,EAAO3N,EAAMo8B,EAAKm8N,EAAM7pC,GAa9C,SAASkmE,GAAUjnR,EAAM5O,EAAMo6Q,EAAQn5Q,GACtC,MAAoB,SAAjBjB,EAAK4vC,OAAO,GA72LhB,SAAuBhhC,EAAMwrQ,EAAQn5Q,GACpC,IAAIiP,EAAS,CACbA,UAAoB,IACpB,IAAI,IAAIxF,KAAK4oO,EAAIsH,OAAQ1qO,EAAOmqQ,UAAU3vQ,GAAK4oO,EAAIsH,OAAOlwO,GAE1DwF,EAAOwrQ,OAAS,GAChBxrQ,EAAOsqQ,MAAQ,GACf,IAAI73M,EAAQ,GACR4vM,GAAO,EAmDX,OAlDAthB,GAAariP,GAAM,SAAoB0S,EAAKyzQ,EAAK3jC,GAChD,OAAOA,GACN,KAAK,GACJlhP,EAAOmqQ,UAAU/4P,EAAI,IAAMA,EAAI,GAAIgyN,EAAI9wN,KAAKlB,EAAI,GAAIA,EAAI,IACxD,MACD,KAAK,GACJpR,EAAOsqQ,MAAM91Q,KAAK4c,GACI,MAAnBA,EAAI3Z,MAAMsvP,OAAiBmjB,GAAUA,EAAOU,eAAiBV,EAAOU,cAAcC,YACpFz5P,EAAI3Z,MAAMw8M,IAAMu0D,GAAS0B,EAAOU,cAAcC,UAAUz5P,EAAI3Z,MAAMsvP,OAAO9yC,IAAK7iM,EAAI3Z,MAAMwvP,MAAQ,IAEjG,MACD,KAAK,KACL,KAAK,GAEL,KAAK,GACJ,MACD,KAAK,GAC0B,mBAA3Bx0L,EAAMA,EAAMjoE,OAAS,IACvBwV,EAAOwrQ,OAAOh3Q,KAAK4c,GAEpB,MACD,KAAK,GACL,KAAK,IACL,KAAK,IACL,KAAK,IACJ,MAED,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,KACJ,MAED,KAAK,GACJixP,GAAO,EAAM,MACd,KAAK,GACJA,GAAO,EAAO,MACf,KAAK,GACJ5vM,EAAMj+D,KAAKqwR,GAAMxiB,GAAO,EAAM,MAC/B,KAAK,GACJ5vM,EAAM/9D,MAAO2tQ,GAAO,EAAO,MAE5B,QACC,IAAIwiB,GAAK,IAAI9sR,QAAQ,SAAW,EAAG06D,EAAMj+D,KAAKqwR,QACzC,IAAIA,GAAK,IAAI9sR,QAAQ,OAAS,EAAG06D,EAAM/9D,WACvC,IAAI2tQ,GAAStxQ,EAAK8sP,KAAgC,cAAzBprL,EAAMA,EAAMjoE,OAAO,GAAqB,MAAM,IAAIoiC,MAAM,qBAAuBs0N,EAAK,IAAM2jC,OAGpH7kR,EAkzL4B4lR,CAAelnR,EAAOwrQ,EAAQn5Q,GAC1D64Q,GAAelrQ,EAAOwrQ,EAAQn5Q,GAOtC,SAAS80R,GAAUnnR,EAAM5O,EAAMiB,GAC9B,MAAoB,SAAjBjB,EAAK4vC,OAAO,GApgOhB,SAAuBhhC,EAAM3N,GAC5B,IAAIzC,EAAK,GACL+zQ,GAAO,EAqBX,OApBAthB,GAAariP,GAAM,SAAoB0S,EAAKyzQ,EAAK3jC,GAChD,OAAOA,GACN,KAAK,IACJ5yP,EAAE01Q,MAAQ5yP,EAAI,GAAI9iB,EAAE41Q,OAAS9yP,EAAI,GAAI,MACtC,KAAK,GACJ9iB,EAAEkG,KAAK4c,GAAM,MACd,KAAK,IACJ,OAAO,EAER,KAAK,GACJixP,GAAO,EAAM,MACd,KAAK,GACJA,GAAO,EAAO,MAEf,QAGC,GAFGwiB,EAAI9sR,QAAQ,SAAW,GAClB8sR,EAAI9sR,QAAQ,QAChBsqQ,GAAQtxQ,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,qBAAuBs0N,EAAK,IAAM2jC,OAGpEv2R,EA6+N4Bw3R,CAAepnR,EAAO3N,GApjO1D,SAAuB2N,EAAM3N,GAC5B,IAAIzC,EAAK,GAAKm4O,EAAK,GACnB,IAAI/nO,EAAM,OAAOpQ,EAEjB,IAAIw1Q,EAAMplQ,EAAKxH,MAAMssQ,IACrB,GAAGM,EAAK,CACPr9B,EAAKq9B,EAAI,GAAG3uQ,QAAQsuQ,GAAM,IAAIxpQ,MAAMypQ,IACpC,IAAI,IAAIn5Q,EAAI,EAAGA,GAAKk8O,EAAGj8O,SAAUD,EAAG,CACnC,IAAIyD,EAAIs1Q,GAAS78B,EAAGl8O,GAAG2K,OAAQnE,GACvB,MAAL/C,IAAWM,EAAEA,EAAE9D,QAAUwD,GAE7B81Q,EAAMroB,GAAYqoB,EAAI,IAAKx1Q,EAAE01Q,MAAQF,EAAIhlO,MAAOxwC,EAAE41Q,OAASJ,EAAIG,YAEhE,OAAO31Q,EAwiOAy3R,CAAernR,EAAO3N,GAG9B,SAASi1R,GAAWtnR,EAAM5O,EAAMiB,GAC/B,MAAoB,SAAjBjB,EAAK4vC,OAAO,GAviKhB,SAA4BhhC,EAAM3N,GACjC,IAAI+yC,EAAM,GACNmiP,EAAU,GACVr2R,EAAI,GACJyyQ,GAAO,EAiCX,OAhCAthB,GAAariP,GAAM,SAAqB0S,EAAKyzQ,EAAK3jC,GACjD,OAAOA,GACN,KAAK,IACJ+kC,EAAQzxR,KAAK4c,GAAM,MACpB,KAAK,IACJxhB,EAAIwhB,EAAK,MACV,KAAK,IACJxhB,EAAEO,EAAIihB,EAAIjhB,EAAGP,EAAE8xB,EAAItQ,EAAIsQ,EAAG9xB,EAAEK,EAAImhB,EAAInhB,EAAG,MACxC,KAAK,IAGJ,GAFAL,EAAEi3L,OAASo/F,EAAQr2R,EAAE8gR,gBACb9gR,EAAG8gR,QACR3/Q,EAAKsoQ,WAAazpQ,EAAE01R,KAAOv0R,EAAKsoQ,WAAazpQ,EAAE01R,IAAIr1R,EAAG,MACrDL,EAAEO,IAAGP,EAAEO,EAAI,WACRP,EAAE01R,IAAKxhP,EAAItvC,KAAK5E,GAAI,MAE5B,KAAK,KACJ,MAED,KAAK,GACJyyQ,GAAO,EAAM,MACd,KAAK,GACJA,GAAO,EAAO,MACf,KAAK,GACL,KAAK,GAAyB,MAG9B,QACC,IAAIwiB,GAAK,IAAI9sR,QAAQ,SAAW,QAC3B,IAAI8sR,GAAK,IAAI9sR,QAAQ,OAAS,QAC9B,IAAIsqQ,GAAQtxQ,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,qBAAuBs0N,EAAK,IAAM2jC,OAGzE/gP,EAkgK4BoiP,CAAoBxnR,EAAO3N,GAznK/D,SAA4B2N,EAAM3N,GAEjC,GAAG2N,EAAKxH,MAAM,2BAA4B,MAAO,GACjD,IAAI+uR,EAAU,GACVE,EAAc,GACdC,EAAU1nR,EAAKxH,MAAM,mDACtBkvR,GAAWA,EAAQ,IAAIA,EAAQ,GAAGnsR,MAAM,mBAAmBwoB,SAAQ,SAASloB,GAC9E,GAAS,KAANA,GAAyB,KAAbA,EAAErF,OAAjB,CACA,IAAImF,EAAIE,EAAErD,MAAM,8BACbmD,GAAG4rR,EAAQzxR,KAAK6F,EAAE,QAEtB,IAAIgsR,EAAU3nR,EAAKxH,MAAM,2DAiBzB,OAhBGmvR,GAAWA,EAAQ,IAAIA,EAAQ,GAAGpsR,MAAM,oBAAoBwoB,SAAQ,SAASloB,GAC/E,GAAS,KAANA,GAAyB,KAAbA,EAAErF,OAAjB,CACA,IAAIoxR,EAAK/rR,EAAErD,MAAM,2BACjB,GAAIovR,EAAJ,CACA,IAAI9rR,EAAIihP,GAAY6qC,EAAG,IACnBnyP,EAAW,CAAE0yJ,OAAQrsL,EAAE+rR,UAAYN,EAAQzrR,EAAE+rR,WAAa,eAAgBzqN,IAAKthE,EAAEshE,IAAK0qN,KAAMhsR,EAAEgsR,MAC9FrhL,EAAOy9I,GAAYpoP,EAAEshE,KACzB,KAAG/qE,EAAKsoQ,WAAatoQ,EAAKsoQ,WAAal0J,EAAKl1G,GAA5C,CACA,IAAIw2R,EAAYlsR,EAAErD,MAAM,6CACpB0tL,IAAO6hG,KAAeA,EAAU,IAAMnjB,GAASmjB,EAAU,KAAO,CAACx2R,EAAE,GAAGE,EAAE,GAAGuxB,EAAE,IACjFyS,EAAQlkC,EAAI20L,EAAG30L,EACJ,WAAR20L,EAAG30L,IAAgB20L,EAAGz0L,EAAIy0L,EAAGljK,EAAI,IACpCyS,EAAQhkC,EAAIy0L,EAAGz0L,EAAEgF,QAAQ,QAAQ,MAAMA,QAAQ,MAAM,MAClDpE,EAAKwyQ,WAAUpvO,EAAQzS,EAAIkjK,EAAGljK,GACjCykQ,EAAY3xR,KAAK2/B,SAEXgyP,EA8lKAO,CAAoBhoR,EAAO3N,GAGnC,SAAS41R,GAASjoR,EAAM5O,EAAMiB,GAC7B,MAAoB,SAAjBjB,EAAK4vC,OAAO,GA/yKhB,SAAsBhhC,EAAM5O,EAAMiB,GACjC,IAAI+yC,EAAM,GAaV,OAXAi9M,GAAariP,GAAM,SAAmB0S,EAAKyzQ,EAAK3jC,GAC/C,OAAOA,GACN,KAAK,GACJp9M,EAAItvC,KAAK4c,GAAM,MAEhB,QACC,IAAIyzQ,GAAK,IAAI9sR,QAAQ,SAAW,QAC3B,MAAI8sR,GAAK,IAAI9sR,QAAQ,OAAS,GACR,MAAM,IAAI60B,MAAM,qBAAuBs0N,EAAK,IAAM2jC,OAGzE/gP,EAiyK4B8iP,CAAcloR,GAj1KlD,SAAsBA,GACrB,IAAI7O,EAAI,GACR,IAAI6O,EAAM,OAAO7O,EACjB,IAAItF,EAAI,EAWR,OAVCmU,EAAKxH,MAAMokP,KAAW,IAAI74N,SAAQ,SAASloB,GAC3C,IAAIC,EAAIihP,GAAYlhP,GACpB,OAAOC,EAAE,IACR,IAAK,QAAS,MAEd,IAAK,aAAc,IAAK,cAAe,IAAK,eAAgB,MAE5D,IAAK,YAAaA,EAAE,GAAOA,EAAEjQ,EAAGA,EAAIiQ,EAAEjQ,EAAQiQ,EAAEjQ,EAAIA,EAAGsF,EAAE2E,KAAKgG,OAGzD3K,EAo0KAg3R,CAAcnoR,GAGtB,SAASooR,GAAYpoR,EAAMyvB,EAAKr+B,EAAMiB,GACrC,GAAoB,SAAjBjB,EAAK4vC,OAAO,GAAa,OA3xK7B,SAAyBhhC,EAAMyvB,EAAKr+B,EAAMogP,GACzC,IAAIxxO,EAAM,OAAOA,EACjB,IAAI3N,EAAOm/O,GAAS,GAEhBmyB,GAAO,EAEXthB,GAAariP,GAAM,SAAqB0S,EAAKyzQ,EAAK3jC,GAEjD,OAAOA,GACN,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACJ,MAED,KAAK,GACJmhB,GAAO,EAAM,MACd,KAAK,GACJA,GAAO,EAAO,MAEf,QACC,IAAIwiB,GAAK,IAAI9sR,QAAQ,SAAW,QAC3B,IAAI8sR,GAAK,IAAI9sR,QAAQ,OAAS,QAC9B,IAAIsqQ,GAAQtxQ,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,qBAAuBs0N,EAAGpnP,SAAS,IAAM,IAAM+qR,MAE1F9zR,GAivKgCg2R,CAAiBroR,EAAOyvB,EAAKr+B,EAAMiB,GAIvE,SAASi2R,GAASvnE,EAAI3vN,EAAMiB,GAC3B,OAAyB,SAAjBjB,EAAK4vC,OAAO,GAAc0kP,GAAeR,IAAcnkE,EAAI1uN,GAGpE,SAASk2R,GAASvoR,EAAM5O,EAAMiB,EAAM0uN,EAAI6pC,GACvC,OAAyB,SAAjBx5P,EAAK4vC,OAAO,GAAcqiP,GAAe/D,IAAct/Q,EAAM3N,EAAM0uN,EAAI6pC,GAYhF,SAAS49B,GAAUxoR,EAAM5O,EAAMiB,GAC9B,OAAyB,SAAjBjB,EAAK4vC,OAAO,GAAc2kO,GAAgBR,IAAenlQ,EAAM3N,GAGxE,SAASo2R,GAAWzoR,EAAM5O,EAAMiB,GAC/B,OAAyB,SAAjBjB,EAAK4vC,OAAO,GAAckxO,GAAqBH,IAAoB/xQ,EAAM3N,GAOlF,IAAIq2R,GAAW,kDACXC,GAAU,qDACd,SAASC,GAAiB3vJ,EAAK+jH,GAC9B,IAAI/mJ,EAAQgjC,EAAI19H,MAAM,OAClB8rF,EAAK,GACT,GADkB21J,IAAW31J,EAAE,GAAK4O,EAAM,IACtB,IAAjBA,EAAMnqG,OAAc,OAAOu7F,EAC9B,IAA+BvrF,EAAGsM,EAAMvc,EAApCoF,EAAIgoI,EAAIzgI,MAAMkwR,IAClB,GAAGz3R,EAAG,IAAIpF,EAAI,EAAGA,GAAKoF,EAAEnF,SAAUD,GAEL,KAA1Buc,GADFtM,EAAI7K,EAAEpF,GAAG2M,MAAMmwR,KACT,GAAGtvR,QAAQ,MAAcguF,EAAEvrF,EAAE,IAAMA,EAAE,GAAGklC,MAAM,EAAEllC,EAAE,GAAGhQ,OAAO,GAIjEu7F,EAFuB,WAApBvrF,EAAE,GAAGklC,MAAM,EAAE,GAAqB,QAAQllC,EAAE,GAAGklC,MAAM,GAC/CllC,EAAE,GAAGklC,MAAM54B,EAAE,IACftM,EAAE,GAAGklC,MAAM,EAAEllC,EAAE,GAAGhQ,OAAO,GAGlC,OAAOu7F,EAER,SAASwhM,GAAoB5vJ,GAC5B,IACI5xC,EAAI,GACR,GAAoB,IAFR4xC,EAAI19H,MAAM,OAEbzP,OAAc,OAAOu7F,EAC9B,IAA+BvrF,EAAGsM,EAAMvc,EAApCoF,EAAIgoI,EAAIzgI,MAAMkwR,IAClB,GAAGz3R,EAAG,IAAIpF,EAAI,EAAGA,GAAKoF,EAAEnF,SAAUD,GAEL,KAA1Buc,GADFtM,EAAI7K,EAAEpF,GAAG2M,MAAMmwR,KACT,GAAGtvR,QAAQ,MAAcguF,EAAEvrF,EAAE,IAAMA,EAAE,GAAGklC,MAAM,EAAEllC,EAAE,GAAGhQ,OAAO,GAIjEu7F,EAFuB,WAApBvrF,EAAE,GAAGklC,MAAM,EAAE,GAAqB,QAAQllC,EAAE,GAAGklC,MAAM,GAC/CllC,EAAE,GAAGklC,MAAM54B,EAAE,IACftM,EAAE,GAAGklC,MAAM,EAAEllC,EAAE,GAAGhQ,OAAO,GAGlC,OAAOu7F,EAWR,SAASyhM,GAAkBC,EAAW18R,EAAKoc,EAAIiK,GAC9C,IAAIs2Q,EAAOt2Q,EACX,QAAQjK,EAAG,GAAGjQ,MAAM,qBAAqB,CAAC,GAAG,KAAK,IACjD,IAAK,UAAWwwR,EAAO7qC,GAAazrO,GAAM,MAC1C,IAAK,KAAM,IAAK,MAAOs2Q,EAAO97Q,SAASwF,EAAK,IAAK,MACjD,IAAK,KAAM,IAAK,QAASs2Q,EAAOzwR,WAAWma,GAAM,MACjD,IAAK,OAAQ,IAAK,cAAes2Q,EAAO/tC,GAAUvoO,GAAM,MACxD,IAAK,KAAM,IAAK,SAAU,IAAK,QAAS,IAAK,OAAQ,IAAK,aAAc,MACxE,QAAS,MAAM,IAAIwb,MAAM,gBAAkBzlB,EAAG,IAE/CsgR,EAAUzrC,GAAYjxP,IAAQ28R,EAG/B,SAASC,GAAiBxiL,EAAMm9K,EAAIt0R,GACnC,GAAc,MAAXm3G,EAAKh1G,EAAR,CACA,IAAInC,IAAoB,IAAfA,EAAE0yQ,SAAoB,IAChB,MAAXv7J,EAAKh1G,EAAag1G,EAAKziF,EAAIyiF,EAAKziF,GAAKslO,GAAK7iJ,EAAKvqG,GACnC,YAAP0nR,EACO,MAAXn9K,EAAKh1G,GACI,EAAPg1G,EAAKvqG,KAASuqG,EAAKvqG,EAAGuqG,EAAKziF,EAAI0gN,EAAIuC,aAAaxgI,EAAKvqG,GACpDuqG,EAAKziF,EAAI0gN,EAAIwD,aAAazhI,EAAKvqG,GAEhCuqG,EAAKziF,EAAI0gN,EAAIyD,SAAS1hI,EAAKvqG,GAE5BuqG,EAAKziF,EA9BZ,SAAqB0vG,EAAQhlI,GAC5B,IAAIm5O,EAAMwE,EAAc34G,IAAW4pH,GAAY5pH,GAC/C,MAAW,YAARm0G,EAA0BnD,EAAIyD,SAASz5O,GACnCg2O,EAAIhxG,OAAOm0G,EAAKn5O,GA2BRw6R,CAAYtF,GAAI,UAAWn9K,EAAKvqG,GAC7C,MAAMnM,IAAK,GAAGT,EAAE6vP,IAAK,MAAMpvP,GAC7B,IACC,IAAIs3F,EAAIglJ,EAAcu3C,IAAKA,GAAI,UAE/B,GADGt0R,EAAE2yQ,SAAQx7J,EAAKpf,EAAIA,GACnB/3F,EAAEm2P,WAAuB,KAAVh/I,EAAKh1G,GAAYizO,EAAI4G,QAAQjkJ,GAAI,CAClD,IAAI40C,EAAKyoG,EAAIyB,gBAAgB1/H,EAAKvqG,GAAO+/H,IAAMx1B,EAAKh1G,EAAI,IAAKg1G,EAAKvqG,EAAI,IAAIqqB,KAAK01G,EAAGngI,EAAGmgI,EAAGhrI,EAAE,EAAEgrI,EAAG9qI,EAAE8qI,EAAGqoD,EAAEroD,EAAG/3G,EAAE+3G,EAAGtyG,EAAEsyG,EAAGjzH,KAEnH,MAAMjZ,IAAK,GAAGT,EAAE6vP,IAAK,MAAMpvP,KAG9B,SAASo5R,GAAmB7nR,EAAQ8nR,EAAM/2R,GACzC,GAAGA,EAAKmnQ,YACJ4vB,EAAKC,SAAU,CACjB,IAAIrqG,EAAIoqG,EAAKC,SACVrqG,EAAEsqG,UAAStqG,EAAEstF,YAAcvB,GAAmB/rF,EAAEsqG,UAAYtqG,EAAEsqG,SAGnEhoR,EAAO8nR,EAAKG,IAAMH,EAInB,SAASI,GAAgBpyR,EAAK2wO,EAAI/nO,EAAMymG,EAAM9mG,EAAM2B,EAAQmoR,EAAMxgN,EAAKyvM,EAAQppR,GAC9E,IAAIs0R,EAAK,UAAW8F,EAAMjjL,EAAKkjL,QAAShgQ,EAAI,GAAIr6B,EAAIA,GAAK,GACzD,IAAIs6R,EAAY,GACZ/9R,EAAI,EAGR,SAFW+iC,IAAR86P,GAAqBzgN,IAAKygN,EAAMzgN,EAAI0gN,cAC5B/6P,IAAR86P,GAAqBD,IAAMC,EAAMD,EAAKE,cACnB/6P,IAAhBttB,EAAOooR,KACTpoR,EAAOooR,GAAK9F,KAAIA,EAAKtiR,EAAOooR,GAAK9F,IACjCtiR,EAAOooR,GAAKL,UAAUO,EAAU9zR,KAAKwL,EAAOooR,GAAKL,UAChD/nR,EAAOooR,GAAKzoL,SAChByoL,EAAMpoR,EAAOooR,GAAKzoL,OAEnB,OAAOjhG,EAAKpB,MACX,IAAK,UACJ6nG,EAAKh1G,EAAI,IACTg1G,EAAKvqG,EAAIiiP,GAAa/mP,GACtB,MACD,IAAK,SACJqvG,EAAKh1G,EAAI,IAAKg1G,EAAKl1G,EAAIwsP,GAAYT,GAAYlmP,IAC/CqvG,EAAKvqG,EAAK9E,EAAIiC,QAAQ,MAAQ,EAAIikP,GAAYvV,GAAI3wO,GAAKX,QAAQ,SAAU,IAAMgwG,EAAKl1G,EACpF,MACD,IAAK,WACgB,KAAjB6F,EAAI4pC,OAAO,KAAW5pC,GAAO,KAChCqvG,EAAKvqG,GAAK++O,GAAU7jP,GAAO,IAAImvB,KAAKA,KAAKsjQ,IAAI,KAAM,GAAI,MAA9C,MACNpjL,EAAKvqG,IAAMuqG,EAAKvqG,EAAGuqG,EAAKvqG,EAAIohP,GAAYlmP,GACnCqvG,EAAKvqG,EAAE,KAAIuqG,EAAKvqG,EAAIuqG,EAAKvqG,EAAG,GAChC0nR,GAAY,WAANA,IAAiBA,EAAK,cAEjC,IAAK,cACUh1P,IAAX63E,EAAKvqG,IAAiBuqG,EAAKvqG,GAAG9E,GAC7BqvG,EAAKh1G,IAAGg1G,EAAKh1G,EAAI,KACrB,MACD,IAAK,QAASg1G,EAAKh1G,EAAI,IAAKg1G,EAAKvqG,EAAIqtP,GAAMnyP,IAAwB,IAAf9H,EAAE0yQ,WAAoBv7J,EAAKziF,EAAI5sB,GAAK,MACxF,QACW,IAAPA,GAAmB,IAAN2wO,EAAYthI,EAAKh1G,EAAI,KAC9Bg1G,EAAKh1G,EAAI,IAAKg1G,EAAKvqG,EAAI6hP,GAAYhW,GAAI3wO,IAIhD,GADA6xR,GAAiBxiL,EAAMm9K,EAAIt0R,IACN,IAAlBA,EAAE2vR,YACJ,GAAGx4K,EAAKqjL,QAAS,CAChB,IAAInX,EAAOr1B,GAAY72I,EAAKqjL,SAEH,IAAtBnX,EAAKt4O,WAAW,KAAkBs4O,EAAOA,EAAK3xO,MAAM,IACvDylE,EAAKx2G,EAAIgvQ,GAAS0T,EAAMhzQ,UACjB8mG,EAAKqjL,QACU,MAAnBrjL,EAAKsjL,WAAoBtjL,EAAK92G,EAAIsvQ,GAAS,QAASt/P,GAC/C8mG,EAAKsjL,aACZtjL,EAAK92G,EAAIsvQ,GAASx4J,EAAKsjL,WAAYpqR,GACnC+4Q,EAAO5iR,KAAK,CAACuuP,GAAkB59I,EAAK92G,GAAI82G,EAAK92G,UAG9C,IAAI9D,EAAI,EAAGA,EAAI6sR,EAAO5sR,SAAUD,EAC5B8T,EAAKpO,GAAKmnR,EAAO7sR,GAAG,GAAG+D,EAAE2B,GAAKoO,EAAKpO,GAAKmnR,EAAO7sR,GAAG,GAAGkE,EAAEwB,GACtDoO,EAAKzO,GAAKwnR,EAAO7sR,GAAG,GAAG+D,EAAEsB,GAAKyO,EAAKzO,GAAKwnR,EAAO7sR,GAAG,GAAGkE,EAAEmB,IACzDu1G,EAAK92G,EAAI+oR,EAAO7sR,GAAG,IAGrByD,EAAEkqQ,aACJowB,EAAU7lQ,SAAQ,SAASloB,IACtB8tB,EAAE2iP,aAAezwQ,EAAEywQ,cAAa3iP,EAAE2iP,YAAczwQ,EAAEywQ,gBAEvD7lK,EAAK72G,EAAI+5B,QAEUiF,IAAjB63E,EAAKkjL,UAAuBljL,EAAK0uJ,KAAO1uJ,EAAKkjL,SAGjD,SAASK,GAAmBv0P,GAC3BA,EAAQhkC,EAAIgkC,EAAQv5B,GAAK,GACzBu5B,EAAQhkC,EAAIgkC,EAAQhkC,EAAEgF,QAAQ,QAAQ,MAAMA,QAAQ,MAAM,MAC1Dg/B,EAAQv5B,EAAIu5B,EAAQzR,EAAIyR,EAAQ0/N,UAAOvmO,EAGxC,SAASq7P,GAAe94R,GACvB,GAAGqyO,GAAWC,EAAOvnE,SAAS/qK,GAAI,OAAOA,EAAEiK,SAAS,QACpD,GAAgB,kBAANjK,EAAgB,OAAOA,EAEjC,GAAyB,qBAAfq1E,YAA8Br1E,aAAaq1E,WAAY,OAAO43K,GAASha,EAAIC,EAAKlzO,KAC1F,MAAM,IAAI+8B,MAAM,+CAKjB,IAAIg8P,GAAY,6DAEhB,SAASC,GAAeh5R,EAAGqgP,GAC1B,IAAIn/O,EAAOm/O,GAAS,GACpB7M,EAASD,GACT,IAAIhyH,EAAMowH,EAAMmnD,GAAe94R,IACf,UAAbkB,EAAK4N,MAAiC,SAAb5N,EAAK4N,MAAgC,UAAb5N,EAAK4N,OACrByyG,EAAb,qBAAZ6uH,QAA+BA,QAAQ4B,MAAM5wH,OAAO,MAAOswH,EAAWnwH,IACrE0rI,GAAS1rI,IAErB,IAGI+oG,EAHA2uE,EAAU13K,EAAI1xE,MAAM,EAAG,MAAMn5B,cAAewiR,GAAS,EAEzD,IADgC,GAA7BD,EAAQ/wR,QAAQ,UAAgB,CAAC,OAAQ,QAAS,OAAQ,OAAQ,SAAU,QAAS,OAAO0qB,SAAQ,SAASk1G,GAAUmxJ,EAAQ/wR,QAAQ,IAAM4/H,IAAQ,IAAGoxJ,GAAS,MACjKA,EAAQ,OAAOC,GAAMxvB,YAAYpoJ,EAAKrgH,GAEzC,IAAgBk4R,EAAZx2N,EAAQ,GAEZ,IAUgB01N,EAVZ7kC,EAAS,GAAI4lC,EAAa,GAAIC,EAAYp4R,EAAK4yP,MAAQ,GAAK,GAAKylC,EAAY,GACjEjkL,EAAQ,GAAKx9B,EAAM,GAC/B0hN,EAAO/B,GAAiB,2BAA4BgC,EAAO,EAC3D15R,EAAI,EAAGK,EAAI,EACXmxQ,EAAW,CAAC9yQ,EAAG,CAAC2B,EAAE,IAASL,EAAE,KAAUnB,EAAG,CAACwB,EAAE,EAAGL,EAAE,IAClDoQ,EAAS,GAAI8nR,EAAO,GACpBrhD,EAAK,GAAI8iD,EAAO,EAChBlO,EAAS,GACTttB,EAAQ,GAAI05B,EAAY,GAAI+B,EAAO,EAAGriR,EAAK,GAC3CwhP,EAAW,GAAIx0N,EAAW,GAC1Bs1P,EAAQ,GAAU5O,GAAU,EAC5BzD,EAAS,GACTha,EAAU,GAAIggB,EAAS,GAAI9jE,EAAK,EAAG7kB,EAAK,EACxC6pF,EAAY,CAAE96B,OAAO,GAAI0/B,QAAQ,CAACh+C,UAAS,IAAWwkD,EAAU,GACpEd,GAAUnwP,UAAY,EACtB24E,EAAMA,EAAIj8G,QAAQ,sBAAsB,IAExC,IADA,IAAIw0R,EAAU,GACPxvE,EAAKyuE,GAAU9oQ,KAAKsxF,IAAO,OAAQ+oG,EAAG,IAAMwvE,EAAUxvE,EAAG,IAAI5zM,eACnE,IAAK,OACJ,GAAc,QAAXojR,EAAmB,CACrB,GAAW,MAARxvE,EAAG,IAAU,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,MAAM,IAAIvtL,MAAM,cAAcq8P,EAAIlvR,KAAK,UAC/C,MAAjCogN,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,IAAYioE,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IACjE,MAED,GAAG1nJ,EAAMA,EAAMjoE,OAAO,GAAG,GAAI,MAClB,MAAR2vN,EAAG,GAAU+tE,GAAgB92K,EAAI1xE,MAAM4pP,EAAMnvE,EAAGtrL,OAAQ43M,EAAI4iD,EAA6C,WAAvC52N,EAAMA,EAAMjoE,OAAO,GAAG,GAA2B2pC,EAAQgxE,EAAM,CAACv1G,EAAEA,EAAEK,EAAEA,GAAI+P,EAAQypR,EAAM75R,GAAI+3E,EAAKyvM,EAAQrmR,IACvK01O,EAAK,GAAI4iD,EAAO/B,GAAiBntE,EAAG,IAAKmvE,EAAOnvE,EAAGtrL,MAAQsrL,EAAG,GAAG3vN,QACxE,MACD,IAAK,OACJ,GAAW,MAAR2vN,EAAG,GAkBL,GAjBGwuC,EAASn+P,OAAS,IAAG26G,EAAKv1G,EAAI+4P,KAC5B53P,EAAKsoQ,WAAatoQ,EAAKsoQ,UAAYppQ,SAAiBq9B,IAAX63E,EAAKvqG,IAC/C7J,EAAK4yP,OACHwlC,EAASl5R,KAAIk5R,EAASl5R,GAAK,IAC/Bk5R,EAASl5R,GAAGL,GAAKu1G,GACXgkL,EAAS5mC,GAAW3yP,GAAK0yP,GAAWryP,IAAMk1G,GAE/CA,EAAKykL,OACPzkL,EAAK11G,EAAK,CAAC46P,OAAOllJ,EAAKykL,MACpBzkL,EAAK0kL,gBAAe1kL,EAAK11G,EAAEohK,QAAU1rD,EAAK0kL,sBACtC1kL,EAAKykL,YAAazkL,EAAK0kL,gBAE5B1kL,EAAK2kL,aAAe3kL,EAAK4kL,aAC3BzwE,EAAK1pN,GAAmC,EAA9Bgc,SAASu5F,EAAK2kL,YAAY,KACpCr1F,EAAKxkM,GAAiC,EAA5B2b,SAASu5F,EAAK4kL,UAAU,KAClC1O,EAAO7mR,KAAK,CAAClG,EAAE,CAACsB,EAAEA,EAAEK,EAAEA,GAAGxB,EAAE,CAACmB,EAAE0pN,EAAGrpN,EAAEwkM,MAEhC1jM,EAAKmzP,WACJ,GAAG/+I,EAAK2kL,aAAe3kL,EAAK4kL,UAAW,CAChD,IAAI,IAAIC,EAAMp6R,EAAGo6R,GAAO1wE,IAAM0wE,EACxB,IAAI,IAAIx7N,EAAMv+D,EAAGu+D,GAAOimI,IAAMjmI,GAC1Bw7N,EAAMp6R,GAAK4+D,EAAMv+D,KAChBc,EAAK4yP,OACHwlC,EAAS36N,KAAM26N,EAAS36N,GAAO,IACnC26N,EAAS36N,GAAKw7N,GAAO,CAAC75R,EAAE,MAClBg5R,EAAS5mC,GAAWynC,GAAO1nC,GAAW9zL,IAAQ,CAACr+D,EAAE,MAI3DP,EAAI0pN,EAAK,QAEH1pN,OAdmBu1G,EAAK2kL,YAAal6R,EAAI0pN,EAAK,IAAU1pN,OAgB/Du1G,EAAOoiL,GAAoBptE,EAAG,KACtBktD,QAAOz3Q,GAAKu1G,EAAKkiK,MAAQ,GAC9Bz3Q,EAAIwxQ,EAAS9yQ,EAAEsB,IAAGwxQ,EAAS9yQ,EAAEsB,EAAIA,GACjCA,EAAIwxQ,EAAS3yQ,EAAEmB,IAAGwxQ,EAAS3yQ,EAAEmB,EAAIA,GACb,OAApBuqN,EAAG,GAAGz6K,OAAO,MAAe9vC,EAC/B+4P,EAAW,GAEZ,MACD,IAAK,MACO,MAARxuC,EAAG,IAAgC,OAApBA,EAAG,GAAGz6K,OAAO,IAC3BzvC,EAAImxQ,EAAS9yQ,EAAE2B,IAAGmxQ,EAAS9yQ,EAAE2B,EAAIA,GACjCA,EAAImxQ,EAAS3yQ,EAAEwB,IAAGmxQ,EAAS3yQ,EAAEwB,EAAIA,GACb,OAApBkqN,EAAG,GAAGz6K,OAAO,KACfioC,EAAM2/M,GAAiBntE,EAAG,KACnBktD,QAAOp3Q,GAAK03E,EAAI0/L,MAAQ,GAEhCz3Q,EAAI,IAAKK,KAET03E,EAAM2/M,GAAiBntE,EAAG,KACnBktD,QAAOp3Q,GAAK03E,EAAI0/L,MAAQ,GAC/B+V,EAAS,IACe,KAArBz1M,EAAIsiN,eAAwBtiN,EAAIuiN,UAClC9M,EAAOnf,IAAMryP,SAAS+7D,EAAIuiN,OAAQ,IAAK9M,EAAOpf,IAAMc,GAAMse,EAAOnf,KACjEb,EAAQntQ,GAAKmtR,GAEG,KAAdz1M,EAAIo8M,SAAiB3G,EAAOvf,QAAS,EAAMT,EAAQntQ,GAAKmtR,IAE5D,MACD,IAAK,YACJ,GAAW,MAARjjE,EAAG,GAAS,CACd,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,MAAM,IAAIvtL,MAAM,cAAcq8P,EAAIlvR,KAAK,MACxEmvR,EAAW10R,KAAK40R,GACbhoB,EAAS9yQ,EAAE2B,GAAKmxQ,EAAS3yQ,EAAEwB,GAAKmxQ,EAAS9yQ,EAAEsB,GAAKwxQ,EAAS3yQ,EAAEmB,IAC7Du5R,EAAS,QAAUrmC,GAAase,GAC7BrwQ,EAAKsoQ,WAAatoQ,EAAKsoQ,WAAa+H,EAAS3yQ,EAAEwB,IACjDk5R,EAAS,YAAcA,EAAS,QAChC/nB,EAAS3yQ,EAAEwB,EAAIc,EAAKsoQ,UAAY,EAChC8vB,EAAS,QAAUrmC,GAAase,KAG/Bia,EAAO7wR,SAAQ2+R,EAAS,WAAa9N,GACrCoO,EAAMj/R,OAAS,IAAG2+R,EAAS,SAAWM,GACtCrsB,EAAQ5yQ,OAAS,IAAG2+R,EAAS,SAAW/rB,GAC3C9Z,EAAO8lC,GAAaD,OAEpB/nB,EAAW,CAAC9yQ,EAAG,CAAC2B,EAAE,IAASL,EAAE,KAAUnB,EAAG,CAACwB,EAAE,EAAGL,EAAE,IAClDK,EAAIL,EAAI,EACR6iE,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IACnB8uE,EAAM3B,GAAiBntE,EAAG,IAC1BivE,EAAYptC,GAAYitC,EAAIpyB,MAC5BsyB,EAAYp4R,EAAK4yP,MAAQ,GAAK,GAC9B03B,EAAS,GACTjE,EAAS,GACTha,EAAU,GACVssB,EAAU,CAAC55R,KAAKs5R,EAAWrF,OAAO,GAClCzF,EAAS96B,OAAOhvP,KAAKk1R,GAEtB,MACD,IAAK,QACJ,GAAW,MAARvvE,EAAG,IAAU,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,MAAM,IAAIvtL,MAAM,cAAcq8P,EAAIlvR,KAAK,UACnF,IAAsB,MAAnBogN,EAAG,GAAGz6K,OAAO,GAAY,MAExB4nP,GAAiBntE,EAAG,IAC5B1nJ,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IACnBsvE,EAAQ,GAAI5O,GAAU,EAEvB,MAED,IAAK,QACO,MAAR1gE,EAAG,GAAU0tE,GAAmB7nR,EAAQ8nR,EAAM/2R,GAC5C+2R,EAAOR,GAAiBntE,EAAG,IAChC,MAED,IAAK,eACJ2tE,EAAKxF,GAAKtmC,GAAYsrC,GAAiBntE,EAAG,IAAIgwE,QAAU,WACrDp/C,EAAc+8C,EAAKxF,MAAKwF,EAAKxF,GAAKv3C,EAAc+8C,EAAKxF,KACxD,IAAI,IAAI8H,EAAS,EAAa,KAAVA,GAA8BhnD,EAAIsH,OAAO0/C,IAAWtC,EAAKxF,KAAtC8H,GACvC,GAAa,KAAVA,EAAiB,IAAIA,EAAS,GAAgB,KAAVA,IAAmBA,EAAQ,GAAyB,MAAtBhnD,EAAIsH,OAAO0/C,GAAiB,CAAEhnD,EAAI9wN,KAAKw1Q,EAAKxF,GAAI8H,GAAS,MAC9H,MAED,IAAK,SACJ,GAA2C,UAAxC33N,EAAMA,EAAMjoE,OAAO,GAAG,GAA2B,MAIpD,IAHA29R,EAAOb,GAAiBntE,EAAG,KACnB4pE,SAAUoE,EAAKtqB,QAAS,SAAasqB,EAAKpE,QAC/CoE,EAAKkC,QAAOlC,EAAKxpB,IAAM/yP,SAASu8Q,EAAKkC,MAAO,MAC3CxP,GAAWsN,EAAKxpB,IAAM,GAAI,CAC7Bkc,GAAU,EAAM7R,GAt7NN,EAu7NV,IAAI,IAAIshB,EAAO,EAAGA,EAAOb,EAAMj/R,SAAU8/R,EAASb,EAAMa,IAAOvsB,GAAY0rB,EAAMa,IAE/EzP,GAAS9c,GAAYoqB,GACxBsB,EAAOtB,EAAK9gB,MAAM,GAAGoiB,EAAMj/R,QAAW29R,EACtC,IAAI,IAAI59R,EAAI,EAAGA,GAAK49R,EAAKoC,OAAQhgS,EAAGk/R,EAAMA,EAAMj/R,QAAUsvP,GAAIquC,GAC9D,MAED,IAAK,aACJ,GAAW,MAARhuE,EAAG,GAAU,MACZmkE,EAASiB,QAAOjB,EAASiB,MAAQ,IACrC,IAAIiL,EAAc/uC,GAAYthC,EAAG,IAC7BswE,EAAgB,CACnB5zB,KAAM2zB,EAAY3zB,KAClB4oB,IAAK9hB,GAAS6sB,EAAYE,SAAShrP,MAAM,GAAI,CAACzvC,EAAE,EAAGL,EAAE,KAEnD0uR,EAAS96B,OAAOh5P,OAAO,IAAGigS,EAAajL,MAAMlB,EAAS96B,OAAOh5P,OAAO,GAC1E8zR,EAASiB,MAAM/qR,KAAKi2R,GACjB,MAED,IAAK,YACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,YAEL,IAAK,UACL,IAAK,SAA4B,MACjC,IAAK,OACJ,GAAuB,OAApBtwE,EAAG,GAAGz6K,OAAO,GAAa,MACb,MAARy6K,EAAG,GAAUssB,GAAMr1H,EAAI1xE,MAAM6pP,EAAMpvE,EAAGtrL,OACzC06P,EAAOpvE,EAAGtrL,MAAQsrL,EAAG,GAAG3vN,OAC7B,MACD,IAAK,WACJ,IAAIuG,EAAKmnQ,WAAY,MACrB4vB,EAAKC,SAAWT,GAAiBntE,EAAG,IACpC,MACD,IAAK,aAAoC,MAEzC,IAAK,SACL,IAAK,QACL,IAAK,cACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,gBACL,IAAK,UACL,IAAK,gBACL,IAAK,aACL,IAAK,WACL,IAAK,UACJ,GAAuB,OAApBA,EAAG,GAAGz6K,OAAO,GAAa,MACb,MAARy6K,EAAG,GAAU2zC,GAAcC,EAAO47B,EAASv4K,EAAI1xE,MAAM8pP,EAAMrvE,EAAGtrL,QACjE26P,EAAOrvE,EAAGtrL,MAAQsrL,EAAG,GAAG3vN,OAC7B,MACD,IAAK,aAAoC,MAEzC,IAAK,SACL,IAAK,WACJ,GAAW,MAAR2vN,EAAG,IAAU,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,MAAM,IAAIvtL,MAAM,cAAcq8P,EAAIlvR,KAAK,WACnF04D,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IACxB,MAED,IAAK,UACJ,GAAW,MAARA,EAAG,GAAS,CACd,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,MAAM,IAAIvtL,MAAM,cAAcq8P,EAAIlvR,KAAK,MACxE2uR,GAAmBv0P,GACnBw0N,EAASn0P,KAAK2/B,QAEds+B,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IAEnBhmL,EAAW,CAAC95B,GADZ4uR,EAAM3B,GAAiBntE,EAAG,KACR0yC,QAEnB,MAED,IAAK,aACJ,GAAW,MAAR1yC,EAAG,IAAU,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,MAAM,IAAIvtL,MAAM,cAAcq8P,EAAIlvR,KAAK,WACnF,GAAoC,MAAjCogN,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,GAAY,CAC7C,IAAImgS,GAAarD,GAAiBntE,EAAG,IACrCgvE,EAAS,eAAiB,CAAErtN,IAAI6hM,GAASgtB,GAAWC,OAAOz1R,QAAQ,MAAM,KACzEs9D,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IAEpB,MAED,IAAK,OAAwB,MAE7B,IAAK,iBACJ,GAAW,MAARA,EAAG,IACL,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,MAAM,IAAIvtL,MAAM,cAAcq8P,EAAIlvR,KAAK,UAEpC,MAAjCogN,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,IAAYioE,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IAE7D,MAED,IAAK,gBACJ,MACD,IAAK,mBACL,IAAK,qBACL,IAAK,2BACL,IAAK,yBACL,IAAK,aACL,IAAK,aACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,UACL,IAAK,SACL,IAAK,wBACL,IAAK,eACL,IAAK,YACL,IAAK,gBACL,IAAK,kBACL,IAAK,mBACJ,GAAW,MAARA,EAAG,IAAU,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,MAAM,IAAIvtL,MAAM,cAAcq8P,EAAIlvR,KAAK,UAC/C,MAAjCogN,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,IAAYioE,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IACjE,MAED,QAEC,GAAmB,GAAhB1nJ,EAAMjoE,QAAwB,YAAT2vN,EAAG,GAAkB,OAAO0wE,GAAWz5K,EAAKrgH,GAEpE,GAAmB,GAAhB0hE,EAAMjoE,QAAwB,OAAT2vN,EAAG,GAAsB,OAAO0wE,GAAWz5K,EAAKrgH,GAExE,IAAI+8O,IAAO,EACX,OAAOr7K,EAAMA,EAAMjoE,OAAO,GAAG,IAE5B,IAAK,yBAA4D,OAAO2vN,EAAG,IAC1E,IAAK,WACL,IAAK,4BACL,IAAK,qBACL,IAAK,uBACL,IAAK,SACL,IAAK,QACL,IAAK,QACL,IAAK,MACL,IAAK,mBACL,IAAK,sBAAsD,MAC3D,QAAS2zB,IAAO,EACf,MAGF,IAAK,mBAAgD,OAAO3zB,EAAG,IAC9D,IAAK,UACL,IAAK,iBACL,IAAK,qBACL,IAAK,QACL,IAAK,UACL,IAAK,YACL,IAAK,WACL,IAAK,kBAA8C,MACnD,QAAS2zB,IAAO,EACf,MAGF,IAAK,gBAA0C,OAAO3zB,EAAG,IACxD,IAAK,WACVmkE,EAAS4E,QAAQh+C,UAAW,EACtB,MACD,IAAK,eACL,IAAK,cACL,IAAK,aACL,IAAK,aACL,IAAK,WACL,IAAK,mBACL,IAAK,gBACL,IAAK,iBACL,IAAK,cACL,IAAK,kBACL,IAAK,oBACL,IAAK,UACL,IAAK,YACL,IAAK,aACL,IAAK,kBACL,IAAK,iBACL,IAAK,MACL,IAAK,yBACL,IAAK,sBACL,IAAK,YACL,IAAK,gBACL,IAAK,YACL,IAAK,OACL,IAAK,MACL,IAAK,QACL,IAAK,iBACL,IAAK,cACL,IAAK,WACL,IAAK,gBACL,IAAK,MACL,IAAK,aACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,aACL,IAAK,UACL,IAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,gBACL,IAAK,iBACL,IAAK,2BACL,IAAK,SACL,IAAK,cACL,IAAK,qBAAoD,MACzD,QAAS4I,IAAO,EACf,MAGF,IAAK,kBAA8C,OAAO3zB,EAAG,IAC5D,IAAK,aACL,IAAK,SACL,IAAK,QAA0B,MAC/B,QAAS2zB,IAAO,EACf,MAGF,IAAK,mBAAgD,OAAO3zB,EAAG,IAC9D,IAAK,UACJ,GAAuB,OAApBA,EAAG,GAAGz6K,OAAO,SACX,GAAW,MAARy6K,EAAG,GAAU,OAAO/oG,EAAI1xE,MAAM8pP,EAAMrvE,EAAGtrL,QAC9C,IAAK,cAAe66P,EAAQ3F,OAAS,EAAG,MACxC,IAAK,kBAAmB2F,EAAQ3F,OAAS,OAErCyF,EAAOrvE,EAAGtrL,MAAQsrL,EAAG,GAAG3vN,OAC7B,MACD,IAAK,SACA2+R,EAAS,aAAarQ,GAAgBqQ,EAAS,YAAY,GAAI,QACnEA,EAAS,YAAYpsK,OAAS0+H,GAAYthC,EAAG,IAAI2wE,OACjD,MACD,IAAK,SACA3B,EAAS,aAAarQ,GAAgBqQ,EAAS,YAAY,GAAI,QACnEA,EAAS,YAAY9rK,OAASo+H,GAAYthC,EAAG,IAAI2wE,OACjD,MACD,IAAK,cACJ,IAAIC,GAActvC,GAAYthC,EAAG,IAC7BgvE,EAAS,aAAarQ,GAAgBqQ,EAAS,YAAY,GAAG,QAC/D4B,GAAYC,MAAK7B,EAAS,YAAY1kP,IAAMsmP,GAAYC,KACxDD,GAAYE,OAAM9B,EAAS,YAAY5kP,KAAOwmP,GAAYE,MAC1DF,GAAYG,QAAO/B,EAAS,YAAY54M,MAAQw6M,GAAYG,OAC5DH,GAAYI,SAAQhC,EAAS,YAAY74M,OAASy6M,GAAYI,QACjE,MACD,IAAK,qBACA7M,EAAS9D,QAAO8D,EAAS9D,MAAQ,IACjC8D,EAAS9D,MAAM,KAAI8D,EAAS9D,MAAM,GAAK,IAC3C8D,EAAS9D,MAAM,GAAGG,KAAM,EACxB,MAED,IAAK,cACL,IAAK,gBAA0C,MAE/C,IAAK,kBACL,IAAK,gBAGL,IAAK,wBAGL,IAAK,YACL,IAAK,YACL,IAAK,mBACL,IAAK,sBAEL,IAAK,WACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,YACL,IAAK,WACL,IAAK,iBACL,IAAK,kBACL,IAAK,mBACL,IAAK,mBACL,IAAK,uBACL,IAAK,qBACL,IAAK,iBACL,IAAK,aACL,IAAK,gBACL,IAAK,oBACL,IAAK,YACL,IAAK,iBACL,IAAK,iBACL,IAAK,iBACL,IAAK,gBACL,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,iBACL,IAAK,OACL,IAAK,cACL,IAAK,YACL,IAAK,YACL,IAAK,cACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,wBACL,IAAK,mBACL,IAAK,gBACL,IAAK,gBACL,IAAK,2BACL,IAAK,gBACL,IAAK,uBACL,IAAK,qBACL,IAAK,8BACL,IAAK,gBACL,IAAK,oBACL,IAAK,mBACL,IAAK,iBACL,IAAK,sBACL,IAAK,gBACL,IAAK,sBACL,IAAK,aACL,IAAK,gBACL,IAAK,YACL,IAAK,kBAA8C,MACnD,QAAS7sC,IAAO,EACf,MAGF,IAAK,aAAoC,IAAK,aAAoC,OAAO3zB,EAAG,IAC3F,IAAK,uBACL,IAAK,4BACL,IAAK,mBACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,aACL,IAAK,yBACL,IAAK,mBACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,mBACL,IAAK,OACL,IAAK,WACL,IAAK,WACL,IAAK,aACL,IAAK,yBACL,IAAK,WACL,IAAK,YACL,IAAK,gBACL,IAAK,aACL,IAAK,sBACL,IAAK,SACL,IAAK,WACL,IAAK,YACL,IAAK,gBACL,IAAK,WACL,IAAK,oBACL,IAAK,iBACL,IAAK,cACL,IAAK,iBACL,IAAK,cACL,IAAK,cACL,IAAK,kBACL,IAAK,qBACL,IAAK,oBACL,IAAK,uBACL,IAAK,wBACL,IAAK,cAAsC,MAC3C,QAAS2zB,IAAO,EACf,MAGF,IAAK,aAAoC,OAAO3zB,EAAG,IAClD,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,SACL,IAAK,SAA4B,MACjC,QAAS2zB,IAAO,EACf,MAGF,IAAK,aAAoC,OAAO3zB,EAAG,IAClD,IAAK,mBACL,IAAK,sBACL,IAAK,gBACL,IAAK,eAAwC,MAC7C,QAAS2zB,IAAO,EACf,MAGF,IAAK,aAAoC,OAAO3zB,EAAG,IAClD,IAAK,KACL,IAAK,iBACL,IAAK,oBACL,IAAK,cACL,IAAK,YACL,IAAK,qBACL,IAAK,iBACL,IAAK,YACL,IAAK,aACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,WACL,IAAK,SACL,IAAK,aACL,IAAK,iBACL,IAAK,qBACL,IAAK,qBACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,oBACL,IAAK,uBACL,IAAK,iBACL,IAAK,YACL,IAAK,aACL,IAAK,MACL,IAAK,QACL,IAAK,iBACL,IAAK,kBACL,IAAK,qBAAoD,MACzD,QAAS2zB,IAAO,EACf,MAEF,IAAK,iBACL,OAAO3zB,EAAG,IACT,IAAK,QAEL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,aACL,IAAK,QACL,IAAK,gBACL,IAAK,QACL,IAAK,aACL,IAAK,eACL,IAAK,aACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,WACL,IAAK,SACL,IAAK,SACL,IAAK,SAEL,IAAK,gBAA0C,MAC/C,QAAS2zB,IAAO,EACf,MAEF,IAAK,UACL,IAAK,wBACL,OAAO3zB,EAAG,IACT,IAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,aACL,IAAK,QACL,IAAK,gBACL,IAAK,QACL,IAAK,aACL,IAAK,eACL,IAAK,aACL,IAAK,gBACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,WACL,IAAK,SACL,IAAK,SACL,IAAK,SAA4B,MACjC,QAAS2zB,IAAO,EACf,MAGF,IAAK,UAA8B,IAAK,SAA4B,IAAK,OAAwB,OAAO3zB,EAAG,IAC1G,IAAK,MACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,cACL,IAAK,gBAA0C,MAE/C,IAAK,SACL,IAAK,UACL,IAAK,cACL,IAAK,WACL,IAAK,MACL,IAAK,YACL,IAAK,UAEL,IAAK,MAAsB,MAC3B,QAAS2zB,IAAO,EACf,MAGF,IAAK,YAAkC,MAEvC,QAASA,IAAO,EAEjB,GAAGA,GAAM,MAET,GAAG3zB,EAAG,GAAGjjN,MAAM,YAAa,MAC5B,IAAIu7D,EAAMA,EAAMjoE,OAAO,GAAG,GAAI,KAAM,qBAAuB2vN,EAAG,GAAK,IAAM1nJ,EAAM14D,KAAK,KACpF,GAA4D,6BAAzD04D,EAAMA,EAAMjoE,OAAO,GAAG,GAA+D,CACvF,GAAuB,OAApB2vN,EAAG,GAAGz6K,OAAO,GAAa,MACb,MAARy6K,EAAG,GAAUqtE,GAAkBC,EAAWkC,EAASxiR,EAAIiqG,EAAI1xE,MAAM8pP,EAAMrvE,EAAGtrL,SAC3E1nB,EAAKgzM,EAAIqvE,EAAOrvE,EAAGtrL,MAAQsrL,EAAG,GAAG3vN,QACxC,MAED,GAAGuG,EAAK8sP,IAAK,KAAM,qBAAuB1jC,EAAG,GAAK,IAAM1nJ,EAAM14D,KAAK,KAErE,IAAI+pC,GAAO,GAOX,OANI/yC,EAAKq6R,YAAer6R,EAAKs6R,YAAWvnP,GAAI0/M,OAASF,GACrDx/M,GAAIy/M,WAAa2lC,EACjBplP,GAAIw6O,SAAWA,EACfx6O,GAAIs/L,IAAMA,EAAIuH,YACd7mM,GAAIiqN,MAAQA,EACZjqN,GAAI2jP,UAAYA,EACT3jP,GAGR,SAASwnP,GAAW5sR,EAAM3N,GAEzB,OADAw6R,GAAcx6R,EAAKA,GAAM,IAClBA,EAAK4N,MAAM,UACjB,IAAK,SAAU,OAAOkqR,GAAeruN,EAAOy2C,OAAOvyG,GAAO3N,GAC1D,IAAK,SAAU,IAAK,SAAU,IAAK,OAAQ,OAAO83R,GAAenqR,EAAM3N,GACvE,IAAK,QAAS,OAAO83R,GAAe/lD,EAAIpkO,GAAO3N,IAKjD,SAASy6R,GAAiB/rE,EAAI1uN,GAC7B,IAAI/C,EAAI,GAKR,OAHGyxN,EAAGsuC,OAAO//P,EAAEwG,KA/nWhB,SAA6Bu5P,EAAOh9P,GACnC,IAAI/C,EAAI,GAgBR,OAfAw0B,EAAKkqO,IAAiBv3O,KAAI,SAASxlB,GAClC,IAAI,IAAIpF,EAAI,EAAGA,EAAI2gQ,GAAW1gQ,SAAUD,EAAG,GAAG2gQ,GAAW3gQ,GAAG,IAAMoF,EAAG,OAAOu7P,GAAW3gQ,GACvF,IAAIA,EAAI,EAAGA,EAAIkhQ,GAAUjhQ,SAAUD,EAAG,GAAGkhQ,GAAUlhQ,GAAG,IAAMoF,EAAG,OAAO87P,GAAUlhQ,GAChF,MAAMoF,KACJ8yB,SAAQ,SAAS9xB,GACnB,GAAkB,MAAfo9P,EAAMp9P,EAAE,IAAX,CACA,IAAIhB,EAAIoB,GAAQA,EAAKg9P,OAA6B,MAApBh9P,EAAKg9P,MAAMp9P,EAAE,IAAcI,EAAKg9P,MAAMp9P,EAAE,IAAMo9P,EAAMp9P,EAAE,IACpF,OAAOA,EAAE,IACR,IAAK,OAAQhB,EAAI,IAAIs1B,KAAKt1B,GAAGwuP,cAAchpP,QAAQ,SAAS,KAE9C,iBAALxF,EAAeA,EAAI01B,OAAO11B,IACtB,IAANA,IAAoB,IAANA,EAAeA,EAAIA,EAAI,IAAM,IAC3CA,aAAas1B,OAAMt1B,EAAI,IAAIs1B,KAAKt1B,GAAGwuP,cAAchpP,QAAQ,SAAS,KAC1EnH,EAAEwG,KAAKupP,GAAS2O,GAAgB/7P,EAAE,KAAOA,EAAE,GAAIhB,QAEzCsuP,GAAU,qBAAsBjwP,EAAE+L,KAAK,IAAK,CAACy3B,MAAM+sN,KA8mWtCktC,CAAoBhsE,EAAGsuC,MAAOh9P,IAE/C0uN,EAAGgoE,WAAWz5R,EAAEwG,KA9mWpB,SAA8Bu5P,EAAO05B,GACpC,IAAIiE,EAAY,CAAC,aAAa,cAC1B5oG,EAAI,2BACJ90L,EAAI,GAyBR,OAxBG+/P,GAAOvrO,EAAKurO,GAAOtrO,SAAQ,SAASnT,GACxC,GAAIzkB,OAAOM,UAAUuF,eAAehB,KAAKq+P,EAAOz+O,GAAhD,CACE,IAAI,IAAI/kB,EAAI,EAAGA,EAAI2gQ,GAAW1gQ,SAAUD,EAAG,GAAG+kB,GAAK47O,GAAW3gQ,GAAG,GAAI,OACrE,IAAIA,EAAI,EAAGA,EAAIkhQ,GAAUjhQ,SAAUD,EAAG,GAAG+kB,GAAKm8O,GAAUlhQ,GAAG,GAAI,OAC/D,IAAIA,EAAI,EAAGA,EAAImhS,EAAUlhS,SAAUD,EAAG,GAAG+kB,GAAKo8Q,EAAUnhS,GAAI,OAE5D,IAAIoF,EAAIo+P,EAAMz+O,GACVnf,EAAI,SACO,iBAALR,GAAiBQ,EAAI,QAASR,EAAI01B,OAAO11B,KACrC,IAANA,IAAoB,IAANA,GAAeQ,EAAI,UAAWR,EAAIA,EAAI,IAAM,KAC7DA,EAAI01B,OAAO11B,GAChB3B,EAAEwG,KAAKypP,GAAU3B,GAAahtO,GAAI3f,EAAG,CAAC,QAAQQ,SAE5Cs3R,GAAWjlQ,EAAKilQ,GAAWhlQ,SAAQ,SAASnT,GAChD,GAAIzkB,OAAOM,UAAUuF,eAAehB,KAAK+3R,EAAWn4Q,MAC/Cy+O,IAASljQ,OAAOM,UAAUuF,eAAehB,KAAKq+P,EAAOz+O,IAAxD,CACA,IAAI3f,EAAI83R,EAAUn4Q,GACdnf,EAAI,SACO,iBAALR,GAAiBQ,EAAI,QAASR,EAAI01B,OAAO11B,KACrC,IAANA,IAAoB,IAANA,GAAeQ,EAAI,UAAWR,EAAIA,EAAI,IAAM,KAC1DA,aAAas1B,MAAQ90B,EAAI,cAAeR,EAAIA,EAAEwuP,eACjDxuP,EAAI01B,OAAO11B,GAChB3B,EAAEwG,KAAKypP,GAAU3B,GAAahtO,GAAI3f,EAAG,CAAC,QAAQQ,SAExC,IAAM2yL,EAAI,WAAay7D,GAAW,KAAOvwP,EAAE+L,KAAK,IAAM,KAAO+oL,EAAI,IAklWhD6oG,CAAqBlsE,EAAGsuC,MAAOtuC,EAAGgoE,YACnDz5R,EAAE+L,KAAK,IAqBf,SAAS6xR,GAAgBr9R,GAAK,OAAO0vP,GAAU,aAAc,KAAM,CAAC,UAAW1vP,EAAEsoQ,KAAM,cAAc,IAAM0H,GAAShwQ,EAAEkxR,IAAK,CAACxvR,EAAE,EAAEL,EAAE,MAiJlI,SAASi8R,GAAmB1mL,EAAMrpC,EAAKmzE,EAAIl+I,EAAMo8B,EAAKsyL,EAAIsuB,GACzD,IAAI5oI,QAAmB73E,GAAV63E,EAAKvqG,QAA4B0yB,GAAV63E,EAAKx2G,EAAiB,MAAO,GAEjE,IAAIikC,EAAO,GAEX,GADGuyE,EAAKx2G,IAAGikC,EAAK,cAAgB,IAAMypN,GAAUkiB,GAASp5J,EAAKx2G,EAAGo/O,KAC9D5oI,EAAK92G,GAAK82G,EAAK92G,EAAEqxC,MAAM,EAAGo8B,EAAItxE,SAAWsxE,EAAK,CAChD,IAAI96B,EAAM4hN,GAAYz9I,EAAK92G,EAAEqxC,MAAMo8B,EAAItxE,OAAS,IAChDooC,EAAK,iBAAmB,QAAUoO,EAAI/wC,GAAK89O,EAAK99O,EAAI,GAAK,KAAO+wC,EAAI/wC,EAAI89O,EAAK99O,GAAK,KAAO,KAAO+wC,EAAIpxC,GAAKm+O,EAAKn+O,EAAI,GAAK,KAAOoxC,EAAIpxC,EAAIm+O,EAAKn+O,GAAK,KAQjJ,GALGu1G,EAAK11G,GAAK01G,EAAK11G,EAAE46P,SACnBz3N,EAAK,WAAaypN,GAAUl3I,EAAK11G,EAAE46P,QAChCllJ,EAAK11G,EAAEohK,UAASj+H,EAAK,mBAAqBypN,GAAUl3I,EAAK11G,EAAEohK,WAG5D5hB,EAAG,WAEL,IADA,IAAIquI,EAAOruI,EAAG,WACN59H,EAAK,EAAGA,GAAMisQ,EAAK9yR,SAAU6mB,EACjCisQ,EAAKjsQ,GAAI/iB,EAAEsB,GAAKm+O,EAAKn+O,GAAK0tR,EAAKjsQ,GAAI/iB,EAAE2B,GAAK89O,EAAK99O,IAC/CqtR,EAAKjsQ,GAAI5iB,EAAEmB,EAAI0tR,EAAKjsQ,GAAI/iB,EAAEsB,IAAGgjC,EAAK,kBAAoB0qP,EAAKjsQ,GAAI5iB,EAAEmB,EAAI0tR,EAAKjsQ,GAAI/iB,EAAEsB,GAChF0tR,EAAKjsQ,GAAI5iB,EAAEwB,EAAIqtR,EAAKjsQ,GAAI/iB,EAAE2B,IAAG2iC,EAAK,gBAAkB0qP,EAAKjsQ,GAAI5iB,EAAEwB,EAAIqtR,EAAKjsQ,GAAI/iB,EAAE2B,IAInF,IAAIE,EAAI,GAAIQ,EAAI,GAChB,OAAOw0G,EAAKh1G,GACX,IAAK,IAAK,IAAIY,EAAKmzP,WAAY,MAAO,GAAI,MAC1C,IAAK,IAAK/zP,EAAI,SAAUQ,EAAI00B,OAAO8/E,EAAKvqG,GAAI,MAC5C,IAAK,IAAKzK,EAAI,UAAWQ,EAAKw0G,EAAKvqG,EAAI,IAAM,IAAM,MACnD,IAAK,IAAKzK,EAAI,QAASQ,EAAIq3P,GAAK7iJ,EAAKvqG,GAAI,MACzC,IAAK,IAAKzK,EAAI,WAAYQ,EAAI,IAAIs0B,KAAKkgF,EAAKvqG,GAAGujP,cAA4B,MAAVh5I,EAAKpf,IAAWof,EAAKpf,EAAIof,EAAKpf,GAAKq9I,EAAIsH,OAAO,KAAK,MACpH,IAAK,IAAKv6O,EAAI,SAAUQ,IAAew0G,EAAKvqG,GAAG,IA52ajC,IACNzF,QAAQgnP,IAAU,SAAS3hP,GAAK,OAAOuhP,GAAUvhP,MAAOrF,QAAQonP,IAAa,SAASjuP,GAAK,MAAO,MAASA,EAAEyqC,WAAW,GAAGj/B,SAAS,IAAKq5E,cAAgB,OA82alK,IAAI6iL,EAAK+iB,GAAehoR,EAAKk7Q,QAAS9mK,EAAMp0G,GAC5C6hC,EAAK,cAAgB,KAAO,GAAGojO,GAC/BpjO,EAAK,YAAcm7M,EAAKn+O,EAAI,EAC5B,IAAIk8R,EAAgB,MAAV3mL,EAAKvqG,EAAYjK,EAAI,GAC3BhB,EAAc,KAAVw1G,EAAKh1G,EAAW,GAAM,kBAAoBA,EAAI,KAAO27R,EAAK,UAIlE,OAFI3mL,EAAKv1G,GAAG,IAAIpF,OAAS,IAAGmF,GAA2Bw1G,EAAKv1G,EA/C5CulB,KAAI,SAASvlB,GAE5B,IACIC,EAAGouP,GAAU,UADTrB,GAAchtP,EAAEO,GAAG,IACI,CAAC,MAAQ,oCACxC,OAAO8tP,GAAU,UAAWpuP,EAAG,CAAC,YAAYD,EAAEyK,OAC5CN,KAAK,KA4CDkkP,GAAU,OAAQtuP,EAAGijC,GAE7B,SAASm5P,GAAkBnpG,EAAGj7G,GAC7B,IAAI35E,EAAI,mBAAqB40L,EAAE,GAAK,IAMpC,OALGj7G,IACCA,EAAIq2L,MAAQr2L,EAAIs2L,MAAKt2L,EAAIs2L,IAAMC,GAAMv2L,EAAIq2L,MACzCr2L,EAAIs2L,MAAKjwQ,GAAK,oCAAsC25E,EAAIs2L,IAAM,KAC9Dt2L,EAAIk2L,SAAQ7vQ,GAAK,mBAEdA,EAAI,IAwCZ,SAASg+R,GAAc7+P,EAAKp8B,EAAM0uN,GACjC,IAAIzxN,EAAI,GACJM,EAAImxN,EAAG8jC,WAAWp2N,GAClB8hH,EAAKwwE,EAAG+jC,OAAOl1P,GAEf6B,EAAI8+I,EApOT,SAA6BA,EAAIl+I,EAAMo8B,EAAKsyL,GAC3C,IAAIxwE,EAAI,MAAO,GACf,MAAMwwE,GAAI,IAAI6+D,UAAU,IAAIiB,MAAO,MAAO,GAG1C,IAFD,IAAI9jD,EAAQhc,EAAG6+D,SAASiB,MACnBz7O,EAAM,GACFv5C,EAAI,EAAGA,EAAIkxO,EAAMjxO,SAAUD,EAAG,CACrC,IAAIgE,EAAIktO,EAAMlxO,GACXgE,EAAEixR,OAASryP,IAIX5+B,EAAEsoQ,KAAK3/P,MAAM,aAChB4sC,EAAItvC,KAAKo3R,GAAgBr9R,KAE1B,OAAOu1C,EAAI/pC,KAAK,IAsNHkyR,CAAoBh9I,EAAIl+I,EAAMo8B,EAAKsyL,GAAM,GAUtD,OATGtvN,EAAE3F,OAAS,GAAGwD,EAAEwG,KAAK,UAAYrE,EAAI,aAGxCA,EAAI8+I,EA9CL,SAA6BA,EAAIl+I,EAAMo8B,EAAKsyL,GAC3C,IAAIxwE,EAAG,QAAS,MAAO,GACvB,IAAI/V,EAAQ6pH,GAAkB9zG,EAAG,SAC7BquI,EAAOruI,EAAG,YAAc,GAAI59H,EAAK,EACjCrjB,EAAI,GACLihJ,EAAG,UAAUA,EAAG,SAASxsH,SAAQ,SAASl0B,EAAGhE,GAC/CwzQ,GAAYxvQ,GACZ,IAAIm0B,IAAMn0B,EAAE+F,MACR3D,EAAIkoR,GAAUtuR,EAAGgE,GACjB+gB,EAAI,CAAC,WAAW/kB,EAAE,GACnBm4B,IAAGpT,EAAE,YAAcsvP,GAASjuQ,EAAE2D,QAC9B/F,EAAEsvQ,SAAQvuP,EAAE,aAAa,KAC5BthB,EAAEwG,KAAKypP,GAAU,SAAS,KAAK3uO,OAGhC,IADA,IAAIq0O,EAAQx1P,MAAMC,QAAQ6gJ,GAClB2zC,EAAI1pD,EAAM5qI,EAAE2B,EAAG2yL,GAAK1pD,EAAMzqI,EAAEwB,IAAK2yL,EAAG,CAE3C,IADA,IAAIj7G,EAAM,CAACokN,GAAkBnpG,GAAI3zC,EAAG,UAAU,IAAI2zC,KAC1CtpC,EAAIpgB,EAAM5qI,EAAEsB,EAAG0pJ,GAAKpgB,EAAMzqI,EAAEmB,IAAK0pJ,EAAG,CAC3C,IAAI4yI,GAAO,EACX,IAAI76Q,EAAK,EAAGA,GAAMisQ,EAAK9yR,SAAU6mB,EAChC,KAAGisQ,EAAKjsQ,GAAI/iB,EAAEsB,EAAI0pJ,MACfgkI,EAAKjsQ,GAAI/iB,EAAE2B,EAAI2yL,MACf06F,EAAKjsQ,GAAI5iB,EAAEmB,EAAI0pJ,MACfgkI,EAAKjsQ,GAAI5iB,EAAEwB,EAAI2yL,GAAlB,CACG06F,EAAKjsQ,GAAI/iB,EAAEsB,GAAK0pJ,GAAKgkI,EAAKjsQ,GAAI/iB,EAAE2B,GAAK2yL,IAAGspG,GAAO,GAClD,MAED,IAAGA,EAAH,CACA,IAAIn+C,EAAO,CAAC99O,EAAE2yL,EAAEhzL,EAAE0pJ,GACdx9E,EAAMomL,GAAYnU,GAAO5oI,EAAOw+I,GAAS10G,EAAG2zC,IAAI,IAAItpC,GAAKrK,EAAGnzE,GAChE6L,EAAInzE,KAAKq3R,GAAmB1mL,EAAMrpC,EAAKmzE,EAAIl+I,EAAMo8B,EAAKsyL,EAAIsuB,KAE3DpmK,EAAInzE,KAAK,UACNmzE,EAAIn9E,OAAS,GAAGwD,EAAEwG,KAAKmzE,EAAI5tE,KAAK,KAEpC,OAAO/L,EAAE+L,KAAK,IAWLoyR,CAAoBl9I,EAAIl+I,GAAiB,IAC7CvG,OAAS,GAAGwD,EAAEwG,KAAK,UAAYrE,EAAI,YAGxCnC,EAAEwG,KA3NH,SAA8By6I,EAAIl+I,EAAMo8B,EAAKsyL,GAC5C,IAAIxwE,EAAI,MAAO,GACf,IAAIjhJ,EAAI,GA0CR,GA1BGihJ,EAAG,cACLjhJ,EAAEwG,KAAK,eACJy6I,EAAG,YAAYlyB,QAAQ/uH,EAAEwG,KAAKypP,GAAU,SAAU,KAAM,CAAC,WAAWhvG,EAAG,YAAYlyB,UACnFkyB,EAAG,YAAY5xB,QAAQrvH,EAAEwG,KAAKypP,GAAU,SAAU,KAAM,CAAC,WAAWhvG,EAAG,YAAY5xB,UACtFrvH,EAAEwG,KAAKypP,GAAU,cAAe,KAAM,CACrC,WAAYhvG,EAAG,YAAY3+D,QAAU,OACrC,SAAU2+D,EAAG,YAAY1qG,MAAQ,MACjC,UAAW0qG,EAAG,YAAY1+D,OAAS,MACnC,QAAS0+D,EAAG,YAAYxqG,KAAO,UAEhCz2C,EAAEwG,KAAK,iBAgBLirN,GAAMA,EAAG6+D,UAAY7+D,EAAG6+D,SAAS96B,QAAU/jC,EAAG6+D,SAAS96B,OAAOr2N,GAEhE,GAAGsyL,EAAG6+D,SAAS96B,OAAOr2N,GAAK42P,OAAQ/1R,EAAEwG,KAAKypP,GAAU,UAA8C,GAAlCx+B,EAAG6+D,SAAS96B,OAAOr2N,GAAK42P,OAAc,cAAgB,kBAAoB,SACrI,CAEJ,IAAI,IAAIx5R,EAAI,EAAGA,EAAI4iC,KAAasyL,EAAG6+D,SAAS96B,OAAOj5P,IAAOk1N,EAAG6+D,SAAS96B,OAAOj5P,GAAGw5R,UAAtDx5R,GACvBA,GAAK4iC,GAAKn/B,EAAEwG,KAAK,eAsDtB,UAhDOirN,GAAI,IAAI6+D,UAAU,IAAI9D,OAAO,IAAI,IAAI,IAAIG,KAAK3sR,EAAEwG,KAAK,yBA2BzDy6I,EAAG,cACLjhJ,EAAEwG,KAAKupP,GAAS,kBAAmB,SAChC9uG,EAAG,YAAYm9I,SAASp+R,EAAEwG,KAAKupP,GAAS,iBAAkB,SAC1D9uG,EAAG,YAAYo9I,WAAWr+R,EAAEwG,KAAKupP,GAAS,mBAAoB,SAC1B,MAApC9uG,EAAG,YAAYq9I,mBAA8Br9I,EAAG,YAAYq9I,kBACjB,MAAtCr9I,EAAG,YAAYs9I,qBAAgCt9I,EAAG,YAAYs9I,qBAAqBv+R,EAAEwG,KAAKupP,GAAS,kBAAmB,kBAD5C/vP,EAAEwG,KAAKupP,GAAS,kBAAmB,gBAEtH,CACC,CAAE,cAAe,oBACjB,CAAE,gBAAiB,iBACnB,CAAE,aAAc,iBAChB,CAAE,gBAAiB,mBACnB,CAAE,aAAc,mBAChB,CAAE,mBAAoB,yBACtB,CAAE,gBAAiB,mBACnB,CAAE,aAAc,mBAChB,CAAE,OAAQ,aACV,CAAE,aAAc,eAChB,CAAE,cAAe,wBAChBt7N,SAAQ,SAASloB,GAAQ00I,EAAG,YAAY10I,EAAE,KAAKvM,EAAEwG,KAAK,IAAI+F,EAAE,GAAG,UAGlD,GAAZvM,EAAExD,OAAoB,GAClByzP,GAAU,mBAAoBjwP,EAAE+L,KAAK,IAAK,CAACy3B,MAAM+sN,KAkHjDiuC,CAAqBv9I,EAAIl+I,EAAMo8B,EAAKsyL,IAEpCzxN,EAAE+L,KAAK,IAEf,SAAS0yR,GAAWhtE,EAAI1uN,GACnBA,IAAMA,EAAO,IACb0uN,EAAG2jB,MAAK3jB,EAAG2jB,IAAMA,EAAIuH,aACtBlrB,EAAG2jB,MACLC,EAASD,GAAMA,EAAIwH,WAAWnrB,EAAG2jB,KAEjCryO,EAAKioR,OAAS//B,EAAUx5B,EAAG2jB,KAAMryO,EAAKioR,OAAOv5D,EAAG2jB,IAAI,QAAU,EAC9DryO,EAAKkoR,IAAMx5D,EAAG2jB,IACdryO,EAAKk7Q,QAAU,GACf8M,GAAehoR,EAAKk7Q,QAAS,GAAI,CAAC+M,OAAO,CAAC,QAAU,MAErD,IAAInpR,EAAI,GACRA,EAAE2E,KAAKg3R,GAAiB/rE,EAAI1uN,IAC5BlB,EAAE2E,KAzRK,IA0RP3E,EAAE2E,KAAK,IACP3E,EAAE2E,KAAK,IACP,IAAI,IAAIjK,EAAI,EAAGA,EAAIk1N,EAAG8jC,WAAW/4P,SAAUD,EAC1CsF,EAAE2E,KAAKypP,GAAU,YAAa+tC,GAAczhS,EAAGwG,EAAM0uN,GAAK,CAAC,UAAU48B,GAAU58B,EAAG8jC,WAAWh5P,OAG9F,OAFAsF,EAAE,GA3RH,SAAwB4vN,EAAI1uN,GAE3B,IAAIiP,EAAS,CAAC,mEAQd,OAPAjP,EAAKk7Q,QAAQxpP,SAAQ,SAAS8oP,EAAI15P,GACjC,IAAIyuH,EAAU,GACdA,EAAQ9rI,KAAKypP,GAAU,eAAgB,KAAM,CAAC,YAAa5B,GAAUjZ,EAAIsH,OAAO6gC,EAAGroB,cAEnF,IAAIl1P,EAAI,CAAC,QAAS,KAAO,GAAG6jB,IAC5B7R,EAAOxL,KAAKypP,GAAU,QAAS39G,EAAQvmI,KAAK,IAAK/L,OAE3CiwP,GAAU,SAAUj+O,EAAOjG,KAAK,KAiRhC2yR,CAAejtE,EAAI1uN,GAC1BlB,EAAE,GA/QH,SAA0B4vN,GACzB,MAAMA,GAAI,IAAI6+D,UAAU,IAAIiB,MAAO,MAAO,GAG1C,IAFD,IAAI9jD,EAAQhc,EAAG6+D,SAASiB,MACnBz7O,EAAM,GACFv5C,EAAI,EAAGA,EAAIkxO,EAAMjxO,SAAUD,EAAG,CACrC,IAAIgE,EAAIktO,EAAMlxO,GACA,MAAXgE,EAAEixR,QACFjxR,EAAEsoQ,KAAK3/P,MAAM,aAChB4sC,EAAItvC,KAAKo3R,GAAgBr9R,KAE1B,OAAO0vP,GAAU,QAASn6M,EAAI/pC,KAAK,KAqQ5B4yR,CAAiBltE,GACjB27B,GAAa6C,GAAU,WAAYpuP,EAAEkK,KAAK,IAAK,CACrD,MAAcwkP,GACd,UAAcA,GACd,UAAcA,GACd,WAAcA,GACd,WAAcA,GACd,aAAcA,KAIhB,SAASquC,GAAcl/P,GACtB,IAAI9yB,EAAI,GACJ5M,EAAI0/B,EAAIrY,QAOZ,GALArnB,EAAEyB,EAAI,GAENmL,EAAEiyR,aAAe7+R,EAAE+9O,WAAW,EAAG,cACjCnxO,EAAEkyR,oBAt9YH,SAA2C9+R,GAAK,OAAOk5P,GAA8Bl5P,EAAG,GAs9Y/D++R,CAAkC/+R,GAEvDA,EAAExD,OAASwD,EAAEyB,GAAK,EAAG,OAAOmL,EAE/B,IAAIjL,EAAI3B,EAAE+9O,WAAW,GACrB,OAAQ,GAALp8O,GAAUA,EAAI,GAAWiL,GAC5B5M,EAAEyB,GAAG,EAAGmL,EAAEoyR,UAAYh/R,EAAE+9O,WAAW,EAAG,cAEnC/9O,EAAExD,OAASwD,EAAEyB,GAAK,GAEZ,cADTE,EAAI3B,EAAE+9O,WAAW,IADcnxO,GAG/BA,EAAEqyR,uBAh+YH,SAA8Cj/R,GAAK,OAAOk5P,GAA8Bl5P,EAAG,GAg+Y/Dk/R,CAAqCl/R,GAGxD,IADR2B,EAAI3B,EAAE+9O,WAAW,KACJp8O,EAAI,GAAWiL,GAC5B5M,EAAEyB,GAAG,OAAGmL,EAAEuyR,UAAYn/R,EAAE+9O,WAAW,EAAG,cAWvC,SAASqhD,GAAMxqG,EAAGxzJ,EAAM5kC,EAAQuG,GAC/B,IAAItB,EAAIjF,EACJy4O,EAAO,GACPpzO,EAAIu/B,EAAKsQ,MAAMtQ,EAAK3/B,EAAE2/B,EAAK3/B,EAAEA,GACjC,GAAGsB,GAAQA,EAAKuxO,KAAOvxO,EAAKuxO,IAAI+qD,OAAQ,OAAOzqG,EAAEr0L,GACjD,IAAK,MAAO,IAAK,WAAY,IAAK,WAAY,IAAK,eAAgB,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,MACnH,QACC,GAAgB,IAAbsB,EAAErF,OAAc,MACnBuG,EAAKuxO,IAAI+qD,OAAOx9R,GAEjBozO,EAAKzuO,KAAK3E,GACVu/B,EAAK3/B,GAAKA,EAGV,IAFA,IAAIR,EAAQq+R,GAAc7uC,GAAervN,EAAKA,EAAK3/B,IAC/C+V,EAAQ,EACE,MAARvW,GAAsC,aAAtBA,EAAKV,EAAEmxC,MAAM,EAAE,IACpCjwC,EAAIgvP,GAAervN,EAAKA,EAAK3/B,EAAE,GAC/B+V,EAAQ4pB,EAAK3/B,EAAI,EACJ,eAAVR,EAAKV,EAAoBiX,GAAS,EACP,eAAtBvW,EAAKV,EAAEmxC,MAAM,EAAE,MAAsBl6B,GAAS,IACtDy9N,EAAKzuO,KAAK46B,EAAKsQ,MAAMl6B,EAAM4pB,EAAK3/B,EAAE,EAAEA,IACpC2/B,EAAK3/B,GAAK,EAAEA,EACZR,EAAQq+R,GAAc7uC,GAAervN,EAAMA,EAAK3/B,IAEjD,IAAImI,EAAKorO,EAAQC,GACjB6I,GAAUl0O,EAAG,GACb,IAAI21R,EAAK,EAAG31R,EAAEwoP,KAAO,GACrB,IAAI,IAAIt5O,EAAI,EAAGA,EAAIm8N,EAAKz4O,SAAUsc,EAAKlP,EAAEwoP,KAAK5rP,KAAK+4R,GAAKA,GAAMtqD,EAAKn8N,GAAGtc,OACtE,OAAOo4L,EAAEj0L,EAAEiJ,EAAGA,EAAEpN,OAAQuG,GAGzB,SAASy8R,GAAe78R,EAAGI,EAAMm0O,GAChC,GAAW,MAARv0O,EAAER,GACDQ,EAAEsyP,GAAN,CACA,IAAIm2B,EAAQ,EACZ,IACCA,EAAQzoR,EAAEo1F,GAAKp1F,EAAEsyP,GAAGC,UAAY,EAC7BnyP,EAAK4vQ,SAAQhwQ,EAAEo1F,EAAIq9I,EAAIsH,OAAO0uC,IAChC,MAAM3qR,IAAK,GAAGsC,EAAK8sP,IAAK,MAAMpvP,GAChC,IAAIsC,IAA0B,IAAlBA,EAAK2vQ,SAAoB,IACzB,MAAR/vQ,EAAER,EAAaQ,EAAE+xB,EAAI/xB,EAAE+xB,GAAKslO,GAAKr3P,EAAEiK,GACpB,IAAVw+Q,GAAwB,WAATA,EACX,MAARzoR,EAAER,GACI,EAAJQ,EAAEiK,KAASjK,EAAEiK,EAAGjK,EAAE+xB,EAAI0gN,EAAIuC,aAAah1O,EAAEiK,GACxCjK,EAAE+xB,EAAI0gN,EAAIwD,aAAaj2O,EAAEiK,GAE1BjK,EAAE+xB,EAAI0gN,EAAIyD,SAASl2O,EAAEiK,GAEtBjK,EAAE+xB,EAAI0gN,EAAIhxG,OAAOgnJ,EAAMzoR,EAAEiK,EAAG,CAACsqO,WAAWA,IAC5C,MAAMz2O,IAAK,GAAGsC,EAAK8sP,IAAK,MAAMpvP,GAChC,GAAGsC,EAAKozP,WAAai1B,GAAgB,KAAPzoR,EAAER,GAAYizO,EAAI4G,QAAQ5G,EAAIsH,OAAO0uC,IAAU/zP,OAAO+zP,IAAS,CAC5F,IAAIz+I,EAAKyoG,EAAIyB,gBAAgBl0O,EAAEiK,GAAO+/H,IAAMhqI,EAAER,EAAI,IAAKQ,EAAEiK,EAAI,IAAIqqB,KAAK01G,EAAGngI,EAAGmgI,EAAGhrI,EAAE,EAAEgrI,EAAG9qI,EAAE8qI,EAAGqoD,EAAEroD,EAAG/3G,EAAE+3G,EAAGtyG,EAAEsyG,EAAGjzH,MAI5G,SAAS+lR,GAAUr8Q,EAAKyiP,EAAM1jQ,GAC7B,MAAQ,CAACyK,EAAEwW,EAAKyiP,KAAKA,EAAM1jQ,EAAEA,GAI9B,SAASu9R,GAAet+P,EAAMnD,GAC7B,IAAIwzL,EAAM,CAAC1uN,KAAK,IACZyyP,EAAS,GAEb,IAOImqC,EAA0Br0E,EAAIs0E,EAAMC,EAAMC,EAG1CC,EACAC,EAgEA9jB,EA3EApmO,EAAQ7X,EAAQ03N,MAAQ,GAAK,GAC7BsqC,EAAY,GACZ/0J,EAAS,GACTg1J,EAAe,KACfpqB,EAAO,GACPqqB,EAAY,GACZC,EAAW,GACDC,EAAY,GACtBpX,EAAU,GACVG,EAAS,GAGTkX,GAAa,EACbC,EAAM,GACNxtF,EAAU,GACVu9E,EAAY,CAAE96B,OAAO,GAAI0/B,QAAQ,CAACh+C,UAAS,GAAQs1C,MAAM,CAAC,KAAQkP,EAAU,GAC5E8E,EAAU,SAAgB7jB,GAC7B,OAAGA,EAAM,EAAU5iB,GAAO4iB,GACvBA,EAAM,IAAW5pE,EAAQ4pE,EAAI,IACzB5iB,GAAO4iB,IAWX8jB,EAAU,SAAiBtpL,EAAMtgG,EAAMonB,GAC1C,KAAGyiQ,EAAa,KACbziQ,EAAQotO,WAAal0J,EAAKl1G,GAAKg8B,EAAQotO,YAAWi1B,GAAa,GAC9DA,GAAJ,CAUA,GATGriQ,EAAQisO,YAAcrzP,EAAKo+O,IAAMp+O,EAAKo+O,GAAGvkP,MAbpB,SAAaymG,EAAMtgG,EAAMonB,GACjD,IAII97B,EAJAw+R,EAAM9pR,EAAKo+O,GAAGvkP,KACdiwR,GAAQA,EAAI3jB,aAAgB/+O,GAAYA,EAAQisO,aACpDrzP,EAAKvW,EAAK,GACVuW,EAAKvW,EAAE08Q,YAAc2jB,EAAI3jB,aAErB76Q,EAAIo4Q,GAAQimB,EAAQG,EAAIC,aAAc/pR,EAAKvW,EAAE28Q,QAAU,CAACh3D,IAAI9jN,KAC5DA,EAAIo4Q,GAAQimB,EAAQG,EAAIE,aAAchqR,EAAKvW,EAAEg2D,QAAU,CAAC2vJ,IAAI9jN,KAMd2+R,CAAmB3pL,EAAMtgG,EAAMonB,UAC1EpnB,EAAKgvP,YAAahvP,EAAKo+O,GAC9B0qC,EAAWxoL,EACXkpL,EAAYnsC,GAAY/8I,GACpB+zB,GAAUA,EAAM5qI,GAAM4qI,EAAMzqI,IAAGyqI,EAAQ,CAAC5qI,EAAE,CAAC2B,EAAE,EAAEL,EAAE,GAAGnB,EAAE,CAACwB,EAAE,EAAEL,EAAE,KAC9Du1G,EAAKl1G,EAAIipI,EAAM5qI,EAAE2B,IAAGipI,EAAM5qI,EAAE2B,EAAIk1G,EAAKl1G,GACrCk1G,EAAKv1G,EAAIspI,EAAM5qI,EAAEsB,IAAGspI,EAAM5qI,EAAEsB,EAAIu1G,EAAKv1G,GACrCu1G,EAAKl1G,EAAI,EAAIipI,EAAMzqI,EAAEwB,IAAGipI,EAAMzqI,EAAEwB,EAAIk1G,EAAKl1G,EAAI,GAC7Ck1G,EAAKv1G,EAAI,EAAIspI,EAAMzqI,EAAEmB,IAAGspI,EAAMzqI,EAAEmB,EAAIu1G,EAAKv1G,EAAI,GAC7Cq8B,EAAQ0xP,aAAe94Q,EAAKlW,EAC9B,IAAI,IAAIogS,EAAM,EAAGA,EAAM3X,EAAO5sR,SAAUukS,EACvC,KAAG3X,EAAO2X,GAAK,GAAGzgS,EAAEsB,EAAIu1G,EAAKv1G,GAAKwnR,EAAO2X,GAAK,GAAGzgS,EAAE2B,EAAIk1G,EAAKl1G,MACzDmnR,EAAO2X,GAAK,GAAGtgS,EAAEmB,EAAIu1G,EAAKv1G,GAAKwnR,EAAO2X,GAAK,GAAGtgS,EAAEwB,EAAIk1G,EAAKl1G,GAA5D,CACA4U,EAAKxW,EAAIy0P,GAAas0B,EAAO2X,GAAK,IAC/B3X,EAAO2X,GAAK,GAAGzgS,EAAEsB,GAAKu1G,EAAKv1G,GAAKwnR,EAAO2X,GAAK,GAAGzgS,EAAE2B,GAAKk1G,EAAKl1G,UAAU4U,EAAKlW,EAC1EkW,EAAKlW,IAAGkW,EAAKlW,EAAI,GAAKynR,GAAkBgB,EAAO2X,GAAK,GAAI71J,EAAO/zB,EAAM2wK,EAAU/kR,IAClF,MAIEk7B,EAAQ03N,OACN7/M,EAAIqhE,EAAKl1G,KAAI6zC,EAAIqhE,EAAKl1G,GAAK,IAC/B6zC,EAAIqhE,EAAKl1G,GAAGk1G,EAAKv1G,GAAKiV,GAChBi/B,EAAIuqP,GAAaxpR,IAGtB9T,EAAQ,CACXuxO,KAAK,EACLo0B,MAAO,EACPyK,OAAQ,GACR8V,QAASA,EACTG,OAAQA,EACR4X,QAAS,GACTC,SAAU,GACVltC,KAAM,EACN4X,SAAU,EACVu1B,UAAW,EACXh3B,aAAcjsO,KAAaA,EAAQisO,WACnCra,MAAO5xN,KAAaA,EAAQkjQ,KAE1BljQ,EAAQkyK,WAAUptM,EAAKotM,SAAWlyK,EAAQkyK,UAE7C,IAAIk9E,EAAS,GACT+Q,EAAU,GACV/uB,EAAU,GAAID,EAAU,GAGxByd,GAAU,EACV/E,EAAY,GAChBA,EAASvyB,WAAaxyP,EAAKowQ,OAC3B2U,EAASmB,QAAUlmR,EAAKkmR,QACxBnB,EAASsB,OAASrmR,EAAKqmR,OACvBtB,EAASr6C,MAAQ,GACjBq6C,EAASC,IAAM,GACf,IAIIqZ,EAJAC,EAAU,GACVX,EAAa,EACbY,EAAW,EAAGC,EAAgB,GAC9BC,EAAkB,GAItBz+R,EAAK4oQ,SAAW,KAChBt4B,EAAO,MAEP,IADA,IAAIouD,GAAgB,EACdrgQ,EAAK3/B,EAAI2/B,EAAK5kC,OAAS,GAAG,CAC/B,IAAI8D,EAAI8gC,EAAK3/B,EACTigS,EAAatgQ,EAAK28M,WAAW,GACjC,GAAkB,IAAf2jD,GAAgC,QAAZL,EAAmB,MAC1C,IAAI7kS,EAAU4kC,EAAK3/B,IAAM2/B,EAAK5kC,OAAS,EAAI4kC,EAAK28M,WAAW,GACvDnpD,EAAI0qG,GAAcoC,GAGtB,GAAG9sG,GAAKA,EAAEj0L,EAAG,CACZ,GAAGs9B,EAAQm/P,YACK,gBAAZiE,GAAqC,gBAARzsG,EAAEr0L,EAAqB,MAGxD,GADA8gS,EAAUzsG,EAAEr0L,EACD,IAARq0L,EAAE3yL,GAAkB,IAAP2yL,EAAE3yL,EAAS,CAC1B,IAAI20L,EAAKx1J,EAAK28M,WAAW,GACzB,GAD6BvhP,GAAU,GACnCuG,EAAKuxO,KAAO19C,IAAO8qG,KAAoB,IAAH9qG,IAAU,EAAIA,GAAI,KAAQ8qG,EAAY,MAAM,IAAI9iQ,MAAM,gBAAkBg4J,EAAK,KAAO8qG,GAClH,IAAP9sG,EAAE3yL,IAAUm/B,EAAK3/B,GAAK,GAAIjF,GAAU,IAGxC,IAAI4mB,EAAO,GACOA,EAAP,QAARwxK,EAAEr0L,EAAmBq0L,EAAEj0L,EAAEygC,EAAM5kC,EAAQuG,GAC/Bq8R,GAAMxqG,EAAGxzJ,EAAM5kC,EAAQuG,GAClC,IAAIopN,EAAKv3B,EAAEr0L,EACd,GAAiB,GAAdmgS,GAAyB,OAANv0E,EAAa,SAEhC,OAAOA,GAEN,IAAK,WACTsF,EAAG1uN,KAAK4+R,SAAWrR,EAAS4E,QAAQh+C,SAAW9zN,EAAK,MAChD,IAAK,eAAgBquM,EAAG1uN,KAAK6+R,cAAe,EAAM,MAClD,IAAK,WAGJ,GAFI7+R,EAAKuxO,MAAKlzM,EAAK3/B,EAAI,GACvBsB,EAAKuxO,IAAMlxN,GACP6a,EAAQkyK,SAAU,MAAM,IAAIvxK,MAAM,8BACtC,GAAgB,MAAbxb,EAAIg0P,MAAe,MAAM,IAAIx4O,MAAM,iCACtC,IAAIxb,EAAIg0P,MAAO,MAAM,IAAIx4O,MAAM,yBAC/B,MACD,IAAK,cAAe77B,EAAKk+R,SAAW79Q,EAAK,MACzC,IAAK,cAAe,MACpB,IAAK,WACJ,IAAIy+Q,EAAQt0R,OAAO6V,GAEnB,OAAOy+Q,GACN,KAAK,MAAQA,EAAS,KAAM,MAC5B,KAAK,MAAQA,EAAQ,IAAO,MAC5B,KAAK,MAAQA,EAAS,KAEvBxuD,EAAOtwO,EAAK4oQ,SAAWk2B,GACvBJ,GAAgB,EAChB,MACD,IAAK,UAAW1+R,EAAKi+R,QAAU59Q,EAAK,MACpC,IAAK,aAAcrgB,EAAKm+R,UAAY99Q,EAAK,MACzC,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,cAAe,MACpB,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,iBACJquM,EAAG1uN,KAAKopN,GAAM/oM,EAAK,MACpB,IAAK,cAAergB,EAAK++R,YAAc1+Q,EAAK,MAC5C,IAAK,WAAY,MACjB,IAAK,uBAAwBquM,EAAG1uN,KAAKg/R,SAAW3+Q,EAAK,MACrD,IAAK,SACDA,EAAI4+Q,UAASlsP,EAAI,SAAW,UAC/B,MACD,IAAK,KACJyqP,EAAI/5R,KAAK4c,GAAM,MAChB,IAAK,SACL,IAAK,UACL,IAAK,iBACL,IAAK,QAAS,MAEd,IAAK,UACJ0kQ,EAASthR,KAAK,CAAC4c,IACf0kQ,EAASA,EAAStrR,OAAO,GAAGurR,IAAM,GAClC,MACD,IAAK,aACJD,EAASA,EAAStrR,OAAO,GAAGgK,KAAK4c,GACjC,MACD,IAAK,QAAS,MACd,IAAK,MACJg+Q,EAAY,CACXv4B,KAAMzlP,EAAIylP,KACV4oB,IAAKrJ,GAAkBhlQ,EAAIgmP,KAAKl+H,EAAM,KAAK48I,EAAS/kR,IAElDqgB,EAAI8lP,KAAO,IAAGk4B,EAAS5P,MAAQpuQ,EAAI8lP,KAAO,GAC7C4e,EAASr6C,MAAMjnO,KAAK46R,GAChBtZ,EAAS,KAAMA,EAAS,GAAK,GAAIA,EAAS,GAAGC,IAAM,IACvDD,EAASA,EAAStrR,OAAO,GAAGgK,KAAK4c,GAClB,yBAAZA,EAAIylP,MAAmCzlP,EAAI8lP,KAAO,GACjD9lP,EAAIgmP,MAAQhmP,EAAIgmP,KAAK,IAAMhmP,EAAIgmP,KAAK,GAAG,IAA2B,aAArBhmP,EAAIgmP,KAAK,GAAG,GAAG,KAC9Do4B,EAAgBp+Q,EAAI8lP,KAAO,GAAK,CAAEp7L,IAAKgnL,GAAa1xO,EAAIgmP,KAAK,GAAG,GAAG,GAAG,MACxE,MACD,IAAK,cAAermQ,EAAKk/R,YAAc7+Q,EAAK,MAC5C,IAAK,cACkB,GAAnB0kQ,EAAStrR,SAAesrR,EAAS,GAAK,GAAIA,EAAS,GAAGC,IAAM,IAC/DD,EAASA,EAAStrR,OAAS,GAAGurR,IAAMD,EAASA,EAAStrR,OAAS,GAAGurR,IAAI7/P,OAAO9E,GAAM0kQ,EAASC,IAAMD,EAASC,IAAI7/P,OAAO9E,GAAM,MAC7H,IAAK,UAEJ,GAAGrgB,EAAKgxP,KAAO,EAAG,MACH,MAAZqtC,IAAkBA,EAASl1P,QAAU9oB,EAAI,IAC5C,MAED,IAAK,UAAW0yB,EAAI,YAAc1yB,EAAK,MACvC,IAAK,WAAuB,IAARA,GAAargB,EAAK8sP,KAAKrqP,QAAQqtB,MAAM,sBAAwBzP,GAAM,MACvF,IAAK,WAAY,IAAK,eAAgB,MAEtC,IAAK,cACJ68Q,EAAU78Q,EAAIyvB,KAAOzvB,EACrBrgB,EAAKowQ,OAAO3sQ,KAAK4c,EAAIthB,MACpB,MACF,IAAK,MACJ,KAAK4+R,EAAY,MACjB,GAAGx1J,EAAMzqI,EAAG,CACX,GAAGyqI,EAAMzqI,EAAEwB,EAAI,GAAKipI,EAAMzqI,EAAEmB,EAAI,EAAG,CAGlC,GAFAspI,EAAMzqI,EAAEwB,IAAKipI,EAAMzqI,EAAEmB,IACrBk0C,EAAI,QAAUg/M,GAAa5pH,GACxBjtG,EAAQotO,WAAaptO,EAAQotO,WAAangI,EAAMzqI,EAAEwB,EAAG,CACvD,IAAIigS,GAAQh3J,EAAMzqI,EAAEwB,EACpBipI,EAAMzqI,EAAEwB,EAAIg8B,EAAQotO,UAAY,EAChCv1N,EAAI,YAAcA,EAAI,QACtBA,EAAI,QAAUg/M,GAAa5pH,GAC3BA,EAAMzqI,EAAEwB,EAAIigS,GAEbh3J,EAAMzqI,EAAEwB,IAAKipI,EAAMzqI,EAAEmB,IAEnByrR,EAAO7wR,OAAS,IAAGs5C,EAAI,WAAau3O,GACpC+Q,EAAQ5hS,OAAS,IAAGs5C,EAAI,YAAcsoP,GACtC/uB,EAAQ7yQ,OAAS,IAAGs5C,EAAI,SAAWu5N,GACnCD,EAAQ5yQ,OAAS,IAAGs5C,EAAI,SAAWs5N,GACtCkhB,EAAS96B,OAAOhvP,KAAKk1R,GAEL,KAAdyE,EAAkBC,EAAWtqP,EAAU0/M,EAAO2qC,GAAarqP,EAC9DA,EAAQ7X,EAAQ03N,MAAQ,GAAK,GAC5B,MACF,IAAK,MAeJ,GAdiB,IAAd5yP,EAAKgxP,OAAYhxP,EAAKgxP,KAAO,CACrC,EAAO,EACP,IAAO,EACP,KAAO,GACA2tC,IAAe,CACtB,IAAO,EACP,IAAO,EACP,KAAO,EACP,KAAO,EACP,KAAO,EACP,EAAO,EACP,EAAO,GACAt+Q,EAAIyjP,UAAY,GACF,GAAb9jQ,EAAKgxP,MAA4B,GAAf3wO,EAAIyjP,SAA0B,IAAVzjP,EAAIyjB,KAAU9jC,EAAKgxP,KAAO,GAChE2sC,IAAc,MAKjB,GAJAJ,GAAa,EACbxqP,EAAQ7X,EAAQ03N,MAAQ,GAAK,GAE1B5yP,EAAKgxP,KAAO,IAAM0tC,IAAiBA,GAAgB,EAAMpuD,EAAOtwO,EAAK4oQ,SAAW1tO,EAAQ0tO,UAAY,OACpG5oQ,EAAKgxP,KAAO,EAAG,CACA,KAAdosC,IAAkBA,EAAY,UACjCj1J,EAAQ,CAAC5qI,EAAE,CAAC2B,EAAE,EAAEL,EAAE,GAAGnB,EAAE,CAACwB,EAAE,EAAEL,EAAE,IAE9B,IAAIugS,GAAU,CAACtvP,IAAKzR,EAAK3/B,EAAIjF,EAAQsF,KAAKq+R,GAC1CF,EAAUkC,GAAQtvP,KAAOsvP,GACzBp/R,EAAKowQ,OAAO3sQ,KAAK25R,QAEbA,GAAaF,EAAU3/R,IAAM,CAACwB,KAAK,KAAKA,KAChC,IAAVshB,EAAIyjB,KAAYiP,EAAI,SAAW,SACrB,IAAV1yB,EAAIyjB,KAAYiP,EAAI,SAAW,SAClCu3O,EAAS,GACT+Q,EAAU,GACVr7R,EAAKqmR,OAASA,EAAS,GACvB/Z,EAAU,GAAID,EAAU,GACD,EACvByd,GAAU,EACV6O,EAAU,CAAC3F,QAAQkK,EAAU3/R,IAAI,CAAC2mQ,GAAG,IAAIA,GAAInlQ,KAAKq+R,GACjD,MAEF,IAAK,SAAU,IAAK,WAAY,IAAK,WACjB,SAAhBrqP,EAAI,WAAwB7X,EAAQ03N,OAAS7/M,EAAI1yB,EAAInhB,IAAI,IAAImhB,EAAIxhB,GAAIk0C,EAAIo+M,GAAY,CAACtyP,EAAEwhB,EAAIxhB,EAAGK,EAAEmhB,EAAInhB,SAAQmhB,EAAIxhB,EACpHm+R,EAAY,CAACl6B,KAAMziP,EAAIyiP,KAAM5Q,GAAIsrC,EAAIn9Q,EAAIyiP,OAAO,GAAIj5P,EAAEwW,EAAIA,IAAKjhB,EAAE,KAC9Dm/R,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQ,CAAC7+R,EAAEwhB,EAAIxhB,EAAGK,EAAEmhB,EAAInhB,GAAI89R,EAAU9hQ,GACrC,MACF,IAAK,UACJ8hQ,EAAY,CAACl6B,KAAMziP,EAAIyiP,KAAM5Q,GAAIsrC,EAAIn9Q,EAAIyiP,MAAOj5P,EAAEwW,EAAIA,IAAKjhB,EAAEihB,EAAIjhB,GAC9Dm/R,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQ,CAAC7+R,EAAEwhB,EAAIxhB,EAAGK,EAAEmhB,EAAInhB,GAAI89R,EAAU9hQ,GACrC,MACF,IAAK,KACJ8hQ,EAAY,CAACl6B,KAAMziP,EAAIyiP,KAAM5Q,GAAIsrC,EAAIn9Q,EAAIyiP,MAAOj5P,EAAEwW,EAAIg/Q,MAAOjgS,EAAE,KAC5Dm/R,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQ,CAAC7+R,EAAEwhB,EAAIxhB,EAAGK,EAAEmhB,EAAInhB,GAAI89R,EAAU9hQ,GACrC,MACF,IAAK,QACJ,IAAI,IAAInlB,GAAIsK,EAAIxhB,EAAGkX,IAAKsK,EAAIkoI,IAAKxyI,GAAG,CACnC,IAAI+sP,GAAOziP,EAAIi/Q,MAAMvpR,GAAEsK,EAAIxhB,GAAG,GAC9Bm+R,EAAW,CAACl6B,KAAKA,GAAM5Q,GAAGsrC,EAAI16B,IAAOj5P,EAAEwW,EAAIi/Q,MAAMvpR,GAAEsK,EAAIxhB,GAAG,GAAIO,EAAE,KAC7Dm/R,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQ,CAAC7+R,EAAEkX,GAAG7W,EAAEmhB,EAAInhB,GAAI89R,EAAU9hQ,GAElC,MACF,IAAK,UACJ,GAAc,UAAX7a,EAAIA,IAAiB,CAAE88Q,EAAe98Q,EAAK,MAG9C,IAFA28Q,EAAWN,GAAUr8Q,EAAIA,IAAKA,EAAI+zF,KAAK0uJ,KAAMziP,EAAIqzK,KACxCw+D,GAAKsrC,EAAIR,EAASl6B,MACxB5nO,EAAQ0xP,YAAa,CACvB,IAAIvjB,GAAKhpP,EAAIssP,QACb,GAAGtD,IAAMA,GAAG,IAAMA,GAAG,GAAG,IAAqB,UAAfA,GAAG,GAAG,GAAG,GAAgB,CACtD,IAAIk2B,GAAMl2B,GAAG,GAAG,GAAG,GAAG,GAAIm2B,GAAMn2B,GAAG,GAAG,GAAG,GAAG,GACxCo2B,GAAMtuC,GAAY,CAACjyP,EAAEqgS,GAAK1gS,EAAE2gS,KAC7BtZ,EAAQuZ,IAAMzC,EAASp/R,EAAI,GAAGynR,GAAkBhlQ,EAAIssP,QAAQxkI,EAAM9nH,EAAI+zF,KAAK2wK,EAAU/kR,GACnFg9R,EAAS1/R,IAAM49B,EAAQ03N,OAAS7/M,EAAIwsP,KAAM,IAAIC,IAAMzsP,EAAI0sP,MAAS,IAAIniS,OACpE0/R,EAASp/R,EAAI,GAAGynR,GAAkBhlQ,EAAIssP,QAAQxkI,EAAM9nH,EAAI+zF,KAAK2wK,EAAU/kR,GAE5Eu+R,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQr9Q,EAAI+zF,KAAM4oL,EAAU9hQ,GAC5BiiQ,EAAe98Q,EACd,MACF,IAAK,SACJ,IAAG88Q,EAWI,MAAM,IAAIthQ,MAAM,iCAVtBshQ,EAAa98Q,IAAMA,GACnB28Q,EAAWN,GAAUr8Q,EAAK88Q,EAAa/oL,KAAK0uJ,KAAM,MACzC5Q,GAAKsrC,EAAIR,EAASl6B,MACxB5nO,EAAQ0xP,cACVoQ,EAASp/R,EAAI,GAAGynR,GAAkB8X,EAAaxwB,QAASxkI,EAAOg1J,EAAa/oL,KAAM2wK,EAAU/kR,IAE1Fu+R,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQP,EAAa/oL,KAAM4oL,EAAU9hQ,GACrCiiQ,EAAe,KAEf,MACF,IAAK,QACJ9W,EAAO5iR,KAAK4c,GACZ,IAAIq/Q,GAAcvuC,GAAY9wO,EAAI,GAAG9iB,GAErC,GADAgrN,EAAKrtL,EAAQ03N,OAAS7/M,EAAI1yB,EAAI,GAAG9iB,EAAE2B,IAAI,IAAImhB,EAAI,GAAG9iB,EAAEsB,GAAKk0C,EAAI2sP,IAC1DxkQ,EAAQ0xP,aAAerkE,EAAI,CAC7B,IAAI40E,EAAc,MAClB,IAAIuC,KAAgBn3E,EAAI,MACxBA,EAAG3qN,EAAI,GAAGynR,GAAkBhlQ,EAAI,GAAI8nH,EAAO9nH,EAAI,GAAI0kQ,EAAU/kR,GAC7DuoN,EAAGjrN,EAAIy0P,GAAa1xO,EAAI,IAExB,MACF,IAAK,UACJ,IAAIk9Q,EAAY,MAChB,IAAIriQ,EAAQ0xP,YAAa,MACzB,GAAG0Q,EAAW,CAEb,IAAIH,EAAc,MAClBjX,EAAQ/0B,GAAYgsC,EAAa/oL,OAAQ/zF,EAAI,KAC7CkoM,EAAKrtL,EAAQ03N,OAAS7/M,EAAIoqP,EAAa/oL,KAAKl1G,IAAI,IAAIi+R,EAAa/oL,KAAKv1G,GAAKk0C,EAAIo+M,GAAYgsC,EAAa/oL,SACnG,IAAIx2G,EAAI,GAAGynR,GAAkBhlQ,EAAI,GAAI8nH,EAAOy0J,EAAU7X,EAAU/kR,GAErE,MACF,IAAK,WACJg9R,EAASN,GAAU3pB,EAAI1yP,EAAIs/Q,MAAMvgS,EAAGihB,EAAIyiP,KAAM,KAC3CiQ,EAAI1yP,EAAIs/Q,MAAMhvQ,IAAGqsQ,EAASrsQ,EAAIoiP,EAAI1yP,EAAIs/Q,MAAMhvQ,GAC/CqsQ,EAAS9qC,GAAKsrC,EAAIR,EAASl6B,MACxBy7B,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQ,CAAC7+R,EAAEwhB,EAAIxhB,EAAGK,EAAEmhB,EAAInhB,GAAI89R,EAAU9hQ,GACtC,MACD,IAAK,QAAYA,EAAQi4N,aACxB6pC,EAAY,CAACl6B,KAAMziP,EAAIyiP,KAAM5Q,GAAIsrC,EAAIn9Q,EAAIyiP,MAAO1jQ,EAAE,KAC/Cm/R,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQ,CAAC7+R,EAAEwhB,EAAIxhB,EAAGK,EAAEmhB,EAAInhB,GAAI89R,EAAU9hQ,IACrC,MACF,IAAK,WAAY,GAAGA,EAAQi4N,WAC3B,IAAI,IAAIlgL,GAAK5yD,EAAIxhB,EAAGo0E,IAAM5yD,EAAIkoI,IAAKt1E,GAAI,CACtC,IAAI2sN,GAAQv/Q,EAAIyiP,KAAK7vL,GAAG5yD,EAAIxhB,GAC5Bm+R,EAAW,CAACl6B,KAAK88B,GAAO1tC,GAAGsrC,EAAIoC,IAAQxgS,EAAE,KACtCm/R,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQ,CAAC7+R,EAAEo0E,GAAI/zE,EAAEmhB,EAAInhB,GAAI89R,EAAU9hQ,GAEnC,MACF,IAAK,UACL,IAAK,QAAS,IAAK,YAClB8hQ,EAASN,GAAUr8Q,EAAIA,IAAKA,EAAIyiP,KAAM,MAC7B5Q,GAAKsrC,EAAIR,EAASl6B,MACxBy7B,EAAW,IAAGvB,EAAShoM,EAAIwpM,EAAexB,EAASl6B,MAAM,EAAK,KACjE25B,GAAeO,EAAU9hQ,EAASwzL,EAAG1uN,KAAK4+R,UAC1ClB,EAAQ,CAAC7+R,EAAEwhB,EAAIxhB,EAAGK,EAAEmhB,EAAInhB,GAAI89R,EAAU9hQ,GACtC,MAED,IAAK,aACc,IAAfyiQ,IAAkBx1J,EAAQ9nH,GAC5B,MACF,IAAK,MACJ0yP,EAAM1yP,EACL,MACF,IAAK,SACJ,GAAgB,GAAbrgB,EAAKgxP,KAAW,CAClBwtC,EAAcD,KAAcl+Q,EAAI,GAChC,IAAI,IAAIw/Q,GAAQ,EAAGA,GAAQtB,EAAW,KAAiBlsD,EAAIsH,OAAOkmD,KAAUx/Q,EAAI,KAAnCw/Q,IAC1CA,IAAS,KAAKxtD,EAAI9wN,KAAKlB,EAAI,GAAIk+Q,EAAW,UAEzClsD,EAAI9wN,KAAKlB,EAAI,GAAIA,EAAI,IACzB,MACF,IAAK,cACJm+Q,EAAcD,KAAcl+Q,EAC5B,IAAI,IAAIy/Q,GAAQ,EAAGA,GAAQvB,EAAW,KAAiBlsD,EAAIsH,OAAOmmD,KAAUz/Q,IAA/By/Q,IAC1CA,IAAS,KAAKztD,EAAI9wN,KAAKlB,EAAKk+Q,EAAW,KACzC,MAEF,IAAK,aAAcjU,EAASA,EAAOnlQ,OAAO9E,GAAM,MAEhD,IAAK,MAAOg7Q,EAAQh7Q,EAAI0/Q,IAAI,IAAM//R,EAAKggS,QAAU3/Q,EAAK,MACtD,IAAK,MAAOrgB,EAAKggS,QAAQC,IAAM5/Q,EAAK,MACpC,IAAK,SAAUrgB,EAAKggS,QAAQE,OAAS7/Q,EAAK,MAE1C,IAAK,QACJ,IAAI08Q,EAAO18Q,EAAI,GAAG9iB,EAAE2B,EAAG69R,GAAQ18Q,EAAI,GAAG3iB,EAAEwB,IAAK69R,EAC5C,IAAID,EAAOz8Q,EAAI,GAAG9iB,EAAEsB,EAAGi+R,GAAQz8Q,EAAI,GAAG3iB,EAAEmB,IAAKi+R,GAC5Cv0E,EAAKrtL,EAAQ03N,OAAS7/M,EAAIgqP,IAAO,IAAID,GAAQ/pP,EAAIo+M,GAAY,CAACtyP,EAAEi+R,EAAK59R,EAAE69R,QAChEx0E,EAAG7pN,EAAI2hB,EAAI,IAEnB,MACF,IAAK,eACJ,IAAI08Q,EAAO18Q,EAAI,GAAG9iB,EAAE2B,EAAG69R,GAAQ18Q,EAAI,GAAG3iB,EAAEwB,IAAK69R,EAC5C,IAAID,EAAOz8Q,EAAI,GAAG9iB,EAAEsB,EAAGi+R,GAAQz8Q,EAAI,GAAG3iB,EAAEmB,IAAKi+R,GAC5Cv0E,EAAKrtL,EAAQ03N,OAAS7/M,EAAIgqP,IAAO,IAAID,GAAQ/pP,EAAIo+M,GAAY,CAACtyP,EAAEi+R,EAAK59R,EAAE69R,OAC9Dx0E,EAAG7pN,IAAG6pN,EAAG7pN,EAAEohK,QAAUz/I,EAAI,IAEnC,MAGF,IAAK,OACJ,GAAGrgB,EAAKgxP,MAAQ,GAAKhxP,EAAKgxP,MAAQ,EAAG,MACrCzoC,EAAKrtL,EAAQ03N,OAAS7/M,EAAI1yB,EAAI,GAAGnhB,IAAI,IAAImhB,EAAI,GAAGxhB,GAAKk0C,EAAIo+M,GAAY9wO,EAAI,KACzE,IAAI8/Q,GAAU9E,EAAQh7Q,EAAI,IACtBkoM,IACArtL,EAAQ03N,OACN7/M,EAAI1yB,EAAI,GAAGnhB,KAAI6zC,EAAI1yB,EAAI,GAAGnhB,GAAK,IACnCqpN,EAAKx1K,EAAI1yB,EAAI,GAAGnhB,GAAGmhB,EAAI,GAAGxhB,GAAM,CAACO,EAAE,MAEnCmpN,EAAKx1K,EAAIo+M,GAAY9wO,EAAI,KAAQ,CAACjhB,EAAE,KAErC+oI,EAAMzqI,EAAEwB,EAAI4E,KAAK+K,IAAIs5H,EAAMzqI,EAAEwB,EAAGmhB,EAAI,GAAGnhB,GACvCipI,EAAM5qI,EAAE2B,EAAI4E,KAAK6K,IAAIw5H,EAAM5qI,EAAE2B,EAAGmhB,EAAI,GAAGnhB,GACvCipI,EAAMzqI,EAAEmB,EAAIiF,KAAK+K,IAAIs5H,EAAMzqI,EAAEmB,EAAGwhB,EAAI,GAAGxhB,GACvCspI,EAAM5qI,EAAEsB,EAAIiF,KAAK6K,IAAIw5H,EAAM5qI,EAAEsB,EAAGwhB,EAAI,GAAGxhB,IAEpC0pN,EAAG1pN,IAAG0pN,EAAG1pN,EAAI,IACjBg+R,EAAO,CAACvzR,EAAE+W,EAAI,GAAGjhB,EAAE+gS,GAAQF,IAAI7gS,GAC/BmpN,EAAG1pN,EAAE4E,KAAKo5R,GACT,MAEF,QAAS,OAAOhrG,EAAEr0L,GAClB,IAAK,aAAc,MACnB,IAAK,QAAsBggS,EAAIn9Q,EAAIyiP,MAAOziP,EAAI+/Q,IA/mO3C1uQ,SAAQ,SAAS2uQ,GACfA,EAAI,MA8mO2C,MAEpD,IAAK,cAA0BhgR,EAAK,MACpC,IAAK,mBAAgCA,EAAI,GAAI,MAE7C,IAAK,UACJ,IAAIrgB,EAAKmnQ,WAAY,MACrB,KAAM9mP,EAAI3iB,GAAK2iB,EAAI9iB,GAClB+uQ,EAAQjsP,EAAI3iB,KAAO,CAAE6F,MAAO8c,EAAIsR,EAAE,KAC9Bm4P,IAAWA,GAAU,EAAMxR,GAAcj4P,EAAIsR,EAAE,MACnDq7O,GAAYV,EAAQjsP,EAAI3iB,EAAE,IAE1B,MACF,IAAK,MACJ,IAAI2uR,GAAS,GACG,MAAbhsQ,EAAIshG,QAAiB0qJ,EAAQhsP,EAAInhB,GAAKmtR,GAAQA,GAAO1qK,MAAQthG,EAAIshG,OACjEthG,EAAIysP,SAAUT,EAAQhsP,EAAInhB,GAAKmtR,GAAQA,GAAOvf,QAAS,GACvDzsP,EAAI4sP,MACNZ,EAAQhsP,EAAInhB,GAAKmtR,GACjBA,GAAOpf,IAAM5sP,EAAI4sP,IAAKof,GAAOnf,IAAMC,GAAM9sP,EAAI4sP,MAE7C,MAEF,IAAK,aACL,IAAK,cACL,IAAK,YACL,IAAK,eACAl6N,EAAI,aAAag1O,GAAgBh1O,EAAI,YAAc,IACvDA,EAAI,YAAYq2K,EAAGz6K,MAAM,GAAG,GAAGn5B,eAAiB6K,EAChD,MAED,IAAK,QACA0yB,EAAI,aAAag1O,GAAgBh1O,EAAI,YAAc,IACvDA,EAAI,YAAYi5E,OAAS3rG,EAAI2rG,OAC7Bj5E,EAAI,YAAYu5E,OAASjsG,EAAIisG,OAC7B,MAED,IAAK,UAEDjsG,EAAIupQ,MAAK2D,EAAS9D,MAAM,GAAGG,KAAM,GACpC,MAED,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,UACL,IAAK,MACL,IAAK,MACL,IAAK,WACL,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,OACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,YACL,IAAK,OAAQ,MACb,IAAK,UAAW,IAAK,YAAa,MAClC,IAAK,YAAa,IAAK,YAAa,IAAK,SAAU,MACnD,IAAK,UAAWqT,EAAU58Q,EAAK,MAC/B,IAAK,WACL,IAAK,SAAU,MACf,IAAK,MAAO,IAAK,OAAQ,IAAK,WAC9B,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,WAAY,MACjB,IAAK,UAAW2vL,EAAU3vL,EAAK,MAC/B,IAAK,QAAS84P,EAAS94P,EAAK,MAE5B,IAAK,kBACL,IAAK,aAGL,IAAK,YAGL,IAAK,QACL,IAAK,cACL,IAAK,aACL,IAAK,oBAGL,IAAK,aACL,IAAK,OACL,IAAK,UACL,IAAK,SACL,IAAK,UACL,IAAK,WACL,IAAK,OACL,IAAK,WACL,IAAK,WACL,IAAK,SACL,IAAK,SACL,IAAK,QACL,IAAK,QAGL,IAAK,UAGL,IAAK,OAGL,IAAK,YAGL,IAAK,cACL,IAAK,YACL,IAAK,YAEL,IAAK,MACL,IAAK,MAEL,IAAK,MAGL,IAAK,WAGL,IAAK,mBAKL,IAAK,aAGL,IAAK,SAEH,MACF,IAAK,WACL+8Q,EACMzE,EAAQ5N,SAAW1qQ,GAAOs4Q,EAAQ55R,KAD7BwuR,EAAS4E,QAAQpH,SAAW1qQ,GAAO,eAE5C,MACF,IAAK,cAIL,IAAK,OACL,IAAK,eAEL,IAAK,gBAAiB,MAGtB,IAAK,MAAO,IAAK,OAAQ,IAAK,SAAU,IAAK,aAAc,IAAK,aAAc,MAG9E,IAAK,KAAM,IAAK,OAAQ,MAGxB,IAAK,OAAQ,IAAK,SAAU,IAAK,aAGjC,IAAK,QACL,IAAK,eACL,IAAK,aAEL,IAAK,YACL,IAAK,YAGL,IAAK,aAAc,MACnB,IAAK,UAAW,IAAK,KAAM,IAAK,OAAQ,IAAK,OAG7C,IAAK,aACL,IAAK,QAAS,MACd,IAAK,eAAgB,IAAK,MAAO,IAAK,eAAgB,IAAK,MAC3D,IAAK,sBAAgF,MAErF,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,IAAK,OACrD,IAAK,YAAa,IAAK,iBAAkB,IAAK,eAC9C,IAAK,OAAQ,MACb,QAAS,OAAOwxK,EAAEr0L,GAElB,IAAK,MACL,IAAK,QAAS,IAAK,MACnB,IAAK,aAAc,IAAK,WACxB,IAAK,QAAS,IAAK,OACnB,IAAK,OAAQ,IAAK,WAAY,IAAK,OAAQ,MAC3C,IAAK,WACL,IAAK,cAAe,IAAK,eAAgB,IAAK,UAAW,IAAK,UAAW,IAAK,WAAY,IAAK,mBAAoB,MACnH,IAAK,aAAc,IAAK,aACxB,IAAK,QAAS,IAAK,UAAW,IAAK,kBAAmB,IAAK,cAAe,IAAK,eAAgB,MAC/F,IAAK,WAAY,IAAK,aAAc,MACpC,IAAK,aAAc,IAAK,YAAa,IAAK,cAAe,MACzD,IAAK,aAAc,IAAK,WAAY,IAAK,QAAS,MAClD,IAAK,cAAe,IAAK,SAAU,IAAK,SACxC,IAAK,WAAY,MACjB,IAAK,cAAe,IAAK,OAAQ,IAAK,SACtC,IAAK,qBAAsB,MAC3B,IAAK,SAAU,IAAK,kBAAmB,MACvC,IAAK,MAAO,IAAK,UAAW,MAC5B,IAAK,YAAa,IAAK,eAAgB,MACvC,IAAK,cAAe,IAAK,YAAa,MACtC,IAAK,SAAU,IAAK,aACpB,IAAK,UAAW,MAChB,IAAK,gBAAiB,IAAK,QAAS,MAGpC,IAAK,OAAQ,IAAK,MAClB,IAAK,OAGL,IAAK,aACL,IAAK,MACL,IAAK,aAGL,IAAK,YACL,IAAK,aACL,IAAK,iBACL,IAAK,WACL,IAAK,kBAGL,IAAK,QACL,IAAK,SACL,IAAK,WAAY,MAGjB,IAAK,MAAO,IAAK,OAAQ,IAAK,OAAQ,IAAK,WAC3C,IAAK,SAGL,IAAK,aAAc,MACnB,IAAK,aAAc,IAAK,iBACxB,IAAK,eACL,IAAK,iBACL,IAAK,OACL,IAAK,WAGL,IAAK,mBAAoB,MACzB,IAAK,aAAc,IAAK,kBAAmB,IAAK,sBAAuB,MAEvE,IAAK,SAAU,IAAK,aAAc,MAGlC,IAAK,eAAgB,IAAK,YAAa,IAAK,MAC5C,IAAK,uBAAwB,IAAK,qBAAsB,MAExD,IAAK,SAAU,IAAK,mBAAoB,IAAK,WAAY,MAGzD,IAAK,WAAY,IAAK,gBAAiB,MAGvC,IAAK,cAAe,IAAK,aAAc,MAEvC,QAAS,OAAOq0L,EAAEr0L,GAElB,IAAK,YAAa,IAAK,QAAS,IAAK,YAAa,IAAK,UAAW,IAAK,OAAQ,IAAK,YAAa,IAAK,eAAgB,MAGtH,IAAK,eAAgB,IAAK,cAAe,IAAK,gBAAiB,MAC/D,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,MAChD,IAAK,cAAe,IAAK,WAAY,IAAK,eAAgB,MAG1D,IAAK,WAAY,IAAK,UAAW,IAAK,OAAQ,IAAK,aACnD,IAAK,MAAO,IAAK,SAAU,IAAK,eAAgB,IAAK,eACrD,IAAK,OAAQ,MACb,IAAK,WAAY,IAAK,cAAe,IAAK,UAAW,IAAK,MAAO,MACjE,IAAK,UAAW,IAAK,YACrB,IAAK,SACL,IAAK,UAAW,MAChB,IAAK,aAAc,IAAK,aACxB,IAAK,aACL,IAAK,aAAc,MACnB,QAAS,GAAG09B,EAAQ4xN,IAAK,KAAM,uBAAyBj7D,EAAEr0L,WAErD6gC,EAAK3/B,GAAKjF,EAclB,OAZAi1N,EAAG8jC,WAAW/gO,EAAKyrQ,GAAWv9O,MAAK,SAASr2C,EAAEzC,GAAK,OAAO2D,OAAOlB,GAAKkB,OAAO3D,MAAOud,KAAI,SAAS5a,GAAG,OAAO0zR,EAAU1zR,GAAGzK,QACpHm8B,EAAQm/P,aAAY3rE,EAAG+jC,OAAOA,GAC/B/jC,EAAG+jC,QAAQgsC,EAAgB/sQ,SAAQ,SAASxyB,EAAE1F,GAAKk1N,EAAG+jC,OAAO/jC,EAAG8jC,WAAWh5P,IAAI,eAAiB0F,KACnGwvN,EAAG2uE,SAASA,EACZ3uE,EAAG28D,QAAUtY,EACbrkD,EAAG2jB,IAAMA,EAAIuH,YACV55O,EAAKuxO,MAAK7iB,EAAG4xE,WAAatgS,EAAKuxO,KAC/B4nC,IAAQzqD,EAAGsvD,OAAS7E,GACvBzqD,EAAG6xE,SAAW,QACChkQ,IAAZ0gQ,IAAuBvuE,EAAG6xE,SAASC,QAAUvD,GAC7ClY,EAASr6C,MAAMjxO,OAAS,IAAG8zR,EAASiB,MAAQzJ,EAASr6C,OACxDhc,EAAG6+D,SAAWA,EACP7+D,EAIR,IAAI+xE,GACC,mCADDA,GAEE,mCAFFA,GAGE,mCA6CN,SAASC,GAAajiD,EAAKvjN,GAK3B,IAAIylQ,EAASloC,EAeTmoC,EAEAriL,EAhBJ,GALIrjF,IAASA,EAAU,IACvBs/P,GAAct/P,GACdq1M,IACGr1M,EAAQ0tO,UAAUv4B,EAASn1M,EAAQ0tO,UAEnCnqB,EAAInB,UAAW,CACjB,GAAG9C,EAAIvwK,KAAKw0K,EAAK,eAAgB,MAAM,IAAI5iN,MAAM,8BACjD8kQ,EAAUnmD,EAAIvwK,KAAKw0K,EAAK,YACxBga,EAAKje,EAAIvwK,KAAKw0K,EAAK,cAAgBjE,EAAIvwK,KAAKw0K,EAAK,aAC3C,CACN,OAAOvjN,EAAQttB,MACd,IAAK,SAAU6wO,EAAM7M,EAAInoK,EAAOy2C,OAAOu+H,IAAO,MAC9C,IAAK,SAAUA,EAAM7M,EAAI6M,GAAM,MAC/B,IAAK,SAAU,MACf,IAAK,QAAarhP,MAAMC,QAAQohP,KAAMA,EAAMrhP,MAAMhD,UAAUu0C,MAAMhwC,KAAK8/O,IAExE1D,GAAU0D,EAAK,GACfga,EAAM,CAACn0O,QAASm6N,GAMjB,GADGkiD,GAAS9E,GAAc8E,GACvBzlQ,EAAQo/P,YAAcp/P,EAAQm/P,WAAYuG,EAAa,OACrD,CACJ,IAAI7uG,EAAIo/C,EAAU,SAAW,QAC7B,GAAGsnB,GAAMA,EAAGn0O,QAASs8Q,EAAYjE,GAAelkC,EAAGn0O,QAAS4W,QAEvD,IAAIqjF,EAAMi8H,EAAIvwK,KAAKw0K,EAAK,wBAA0BlgI,EAAMj6F,QAASs8Q,EAAY3wB,GAAIxH,YAAYlqJ,EAAMj6F,SAAU4W,EAAQttB,KAAOmkL,EAAG72J,QAE/H,MAAIqjF,EAAMi8H,EAAIvwK,KAAKw0K,EAAK,yBAA0BlgI,EAAMj6F,QACxD,MAAM,IAAIuX,MAAM,+BADiD+kQ,EAAY3wB,GAAIxH,YAAYlqJ,EAAMj6F,SAAU4W,EAAQttB,KAAOmkL,EAAG72J,IAEjIA,EAAQ2lQ,SAAWpiD,EAAInB,WAAa9C,EAAIvwK,KAAKw0K,EAAK,+BAA8BmiD,EAAUvT,OA3mO9F,SAAsB5uC,GACrB,IAAIqiD,EAAStmD,EAAI1J,MAAM6V,QAAQ,CAAC3zO,KAAK,MAMrC,OALAyrO,EAAInB,UAAU5rN,SAAQ,SAAS9xB,EAAGpG,GACjC,GAAmB,MAAhBoG,EAAE+uC,OAAO,IAAe/uC,EAAEuG,MAAM,oBAAnC,CACA,IAAI46R,EAAUnhS,EAAEwE,QAAQ,UAAU,KAAKA,QAAQ,4BAA6B,IAC5Eo2O,EAAI1J,MAAMkV,QAAQ86C,EAAQC,EAAStiD,EAAIpB,UAAU7jP,GAAG8qB,aAE9Ck2N,EAAIhmD,MAAMssG,GAomOqFE,CAAaviD,IAGpH,IAAIllP,EAAQ,GAMZ,OALGklP,EAAInB,WAhFP,SAAyBmB,EAAKllP,EAAO0D,GAEpC,IAAIgkS,EAAMzmD,EAAIvwK,KAAKw0K,EAAK,+BACxB,GAAGwiD,GAAOA,EAAIp/N,KAAO,EAAG,IACvB,IAAIq/N,EAAanhC,GAAwBkhC,EAAKzqC,GAAkBiqC,IAChE,IAAI,IAAI3hS,KAAKoiS,EAAY3nS,EAAMuF,GAAKoiS,EAAWpiS,GAC9C,MAAMpB,IAAI,GAAGT,EAAE6vP,IAAK,MAAMpvP,GAG5B,IAAIyjS,EAAK3mD,EAAIvwK,KAAKw0K,EAAK,uBACvB,GAAG0iD,GAAMA,EAAGt/N,KAAO,EAAG,IACrB,IAAIu/N,EAAUrhC,GAAwBohC,EAAIzqC,GAAc+pC,IACxD,IAAI,IAAIljS,KAAK6jS,EAAwB,MAAZ7nS,EAAMgE,KAAYhE,EAAMgE,GAAK6jS,EAAQ7jS,IAC7D,MAAMG,IAAI,GAAGT,EAAE6vP,IAAK,MAAMpvP,GAEzBnE,EAAM8nS,cAAgB9nS,EAAM+nS,gBAC9B3mC,GAAiBphQ,EAAM8nS,aAAc9nS,EAAM+nS,cAAe/nS,EAAO0D,UAC1D1D,EAAM8nS,oBAAqB9nS,EAAM+nS,eA+DxBC,CAAgB9iD,EAAKllP,EAAO2hC,GAE9C0lQ,EAAU5jC,MAAQ4jC,EAAUlK,UAAYn9R,EACrC2hC,EAAQsmQ,YAAWZ,EAAUniD,IAAMA,GAE/BmiD,EAIP,SAASa,GAAa/yE,EAAI1uN,GACzB,IAAI/C,EAAI+C,GAAQ,GACZy+O,EAAMjE,EAAI1J,MAAM6V,QAAQ,CAAC3zO,KAAK,MAC9B0uR,EAAS,YACb,OAAOzkS,EAAE+mQ,UAAY,OACpB,IAAK,MAAO/mQ,EAAE+mQ,SAAW,QAEzB,IAAK,MAAW/mQ,EAAE+mQ,WAAU/mQ,EAAE+mQ,SAAW,OAEzC,IAAK,QAAS09B,EAAS,YAAazkS,EAAE+zP,KAAO,EAAG,MAChD,IAAK,QAAS0wC,EAAS,QAASzkS,EAAE+zP,KAAO,EAAG,MAC5C,QAAS,MAAM,IAAIn1N,MAAM,gBAAkB5+B,EAAE+mQ,SAAW,gBAMzD,OAJAxpB,EAAI1J,MAAMkV,QAAQvH,EAAKijD,EAAQC,GAAejzE,EAAIzxN,IACrC,GAAVA,EAAE+zP,OAActiC,EAAGsuC,OAAStuC,EAAGgoE,YAnFnC,SAAyBhoE,EAAI+vB,GAC5B,IACWmjD,EADPC,EAAY,GAAIC,EAAW,GAAIC,EAAW,GAC1CvoS,EAAI,EACR,GAAGk1N,EAAGsuC,MAGL,IAFA4kC,EAAOnwQ,EAAKi9L,EAAGsuC,OAEXxjQ,EAAI,EAAGA,EAAIooS,EAAKnoS,SAAUD,GAAIM,OAAOM,UAAUuF,eAAehB,KAAKi4P,GAAcgrC,EAAKpoS,IAAMqoS,EAAY/nS,OAAOM,UAAUuF,eAAehB,KAAKk4P,GAAW+qC,EAAKpoS,IAAMsoS,EAAWC,GAAUt+R,KAAK,CAACm+R,EAAKpoS,GAAIk1N,EAAGsuC,MAAM4kC,EAAKpoS,MAE1N,GAAGk1N,EAAGgoE,UAGL,IAFAkL,EAAOnwQ,EAAKi9L,EAAGgoE,WAEXl9R,EAAI,EAAGA,EAAIooS,EAAKnoS,SAAUD,EAAOM,OAAOM,UAAUuF,eAAehB,KAAM+vN,EAAGsuC,OAAO,GAAK4kC,EAAKpoS,MAAMM,OAAOM,UAAUuF,eAAehB,KAAKi4P,GAAcgrC,EAAKpoS,IAAMqoS,EAAY/nS,OAAOM,UAAUuF,eAAehB,KAAKk4P,GAAW+qC,EAAKpoS,IAAMsoS,EAAWC,GAAUt+R,KAAK,CAACm+R,EAAKpoS,GAAIk1N,EAAGgoE,UAAUkL,EAAKpoS,MAEjS,IAAIwoS,EAAY,GAChB,IAAIxoS,EAAI,EAAGA,EAAIuoS,EAAStoS,SAAUD,EAC9B+lQ,GAAUv4P,QAAQ+6R,EAASvoS,GAAG,KAAO,GACnB,MAAlBuoS,EAASvoS,GAAG,IACfwoS,EAAUv+R,KAAKs+R,EAASvoS,IAEtBsoS,EAASroS,QAAQ+gP,EAAI1J,MAAMkV,QAAQvH,EAAK,0BAA6BiiB,GAAwBohC,EAAUrB,GAAY5pC,GAAWH,MAC9HmrC,EAAUpoS,QAAUuoS,EAAUvoS,SAAQ+gP,EAAI1J,MAAMkV,QAAQvH,EAAK,kCAAqCiiB,GAAwBmhC,EAAWpB,GAAa7pC,GAAcJ,GAAkBwrC,EAAUvoS,OAASuoS,EAAY,KAAMvB,KA+D5KwB,CAAgBvzE,EAAI+vB,GAErD,GAAVxhP,EAAE+zP,MAAatiC,EAAG2+D,QA9nOtB,SAAsB5uC,EAAKyjD,GAC1BA,EAAI5kD,UAAU5rN,SAAQ,SAAS9xB,EAAGpG,GACjC,GAAQ,GAALA,EAAH,CACA,IAAIunS,EAAUnhS,EAAEwE,QAAQ,aAAc,sBACb,MAAtB28R,EAAQpyP,OAAO,IAAY6rM,EAAI1J,MAAMkV,QAAQvH,EAAKsiD,EAASmB,EAAI7kD,UAAU7jP,GAAG8qB,aA0nOnD69Q,CAAa1jD,EAAKjE,EAAI53B,KAAK8L,EAAG2+D,OAAQ,CAACz/Q,KAA0B,iBAAb8gN,EAAG2+D,OAAqB,SAAW,YAC7G5uC,EAGR,IAAI2R,GAAiB,CACrBppH,EAAQ,CAAExpI,EAAE,YAAaI,EAt5HzB,SAAyB+P,EAAMlU,GAC9B,IAAIu7F,EAAK,GACLimJ,EAAMttO,EAAKjP,EAAIjF,EACnBu7F,EAAE91F,EAAIyO,EAAKqtO,WAAW,GACtBrtO,EAAKjP,GAAK,EACV,IAAI0lQ,EAAQz2P,EAAKqtO,WAAW,GAC5BrtO,EAAKjP,GAAK,EACV,IAAI8iM,EAAQ7zL,EAAKqtO,WAAW,GAK5B,OAJArtO,EAAKjP,EAAIu8O,EACE,EAARz5C,IAAcxsG,EAAE2sB,MAAgB,EAAR6/E,GAChB,GAARA,IAAcxsG,EAAE83K,QAAS,GACjB,GAARtrE,IAAcxsG,EAAEi4K,IAAM7I,EAAQ,IAC1BpvK,IA24HR,EAAQ,CAAEx3F,EAAE,eAAgBI,EAxzH5B,SAA4B+P,GAE3B,MAAO,CADIgnP,GAAehnP,MAwzH3B,EAAQ,CAAEnQ,EAAE,YAAaI,EAhwHzB,SAAyB+P,GAGxB,MAAO,CAFIgnP,GAAehnP,GACd0nP,GAAe1nP,GACN,OA8vHtB,EAAQ,CAAEnQ,EAAE,eAAgBI,EAlyH5B,SAA4B+P,GAG3B,MAAO,CAFIgnP,GAAehnP,GACbA,EAAKqtO,WAAW,GACP,OAgyHvB,EAAQ,CAAEx9O,EAAE,cAAeI,EAhzH3B,SAA2B+P,GAG1B,MAAO,CAFIgnP,GAAehnP,GACdA,EAAKqtO,WAAW,GACP,OA8yHtB,EAAQ,CAAEx9O,EAAE,cAAeI,EAhxH3B,SAA2B+P,GAG1B,MAAO,CAFIgnP,GAAehnP,GACdioP,GAAWjoP,GACF,OA8wHtB,EAAQ,CAAEnQ,EAAE,YAAaI,EAtvHzB,SAAyB+P,GAGxB,MAAO,CAFIgnP,GAAehnP,GACd6lP,GAAmB7lP,GACV,SAovHtB,EAAQ,CAAEnQ,EAAE,cAAeI,EA/xH3B,SAA2B+P,GAG1B,MAAO,CAFIgnP,GAAehnP,GACfA,EAAKqtO,WAAW,GACP,OA6xHrB,EAAQ,CAAEx9O,EAAE,gBAAiBI,EA3rH7B,SAA6B+P,EAAMlU,EAAQuG,GAC1C,IAAIiwC,EAAMtiC,EAAKjP,EAAIjF,EACf26G,EAAOugJ,GAAehnP,GAC1BymG,EAAKl1G,EAAIc,EAAK,QACd,IACI/C,EAAI,CAACm3G,EADGo/I,GAAmB7lP,GACT,OACtB,GAAG3N,EAAK4sR,YAAa,CACpBj/Q,EAAKjP,GAAK,EACV,IAAIiuQ,EAAUya,GAA4Bz5Q,EAAMsiC,EAAMtiC,EAAKjP,EAAGsB,GAC9D/C,EAAE,GAAKooR,GAAkB1Y,EAAS,EAAev4J,EAAMp0G,EAAK+kR,SAAU/kR,QAElE2N,EAAKjP,EAAIuxC,EACd,OAAOhzC,IAgrHR,EAAQ,CAAEO,EAAE,aAAcI,EA5sH1B,SAA0B+P,EAAMlU,EAAQuG,GACvC,IAAIiwC,EAAMtiC,EAAKjP,EAAIjF,EACf26G,EAAOugJ,GAAehnP,GAC1BymG,EAAKl1G,EAAIc,EAAK,QACd,IACI/C,EAAI,CAACm3G,EADGwhJ,GAAWjoP,GACD,KACtB,GAAG3N,EAAK4sR,YAAa,CACpBj/Q,EAAKjP,GAAK,EACV,IAAIiuQ,EAAUya,GAA4Bz5Q,EAAMsiC,EAAMtiC,EAAKjP,EAAGsB,GAC9D/C,EAAE,GAAKooR,GAAkB1Y,EAAS,EAAev4J,EAAMp0G,EAAK+kR,SAAU/kR,QAElE2N,EAAKjP,EAAIuxC,EACd,OAAOhzC,IAisHR,GAAQ,CAAEO,EAAE,cAAeI,EA7uH3B,SAA2B+P,EAAMlU,EAAQuG,GACxC,IAAIiwC,EAAMtiC,EAAKjP,EAAIjF,EACf26G,EAAOugJ,GAAehnP,GAC1BymG,EAAKl1G,EAAIc,EAAK,QACd,IACI/C,EAAI,CAACm3G,EADGzmG,EAAKqtO,WAAW,GACN,KACtB,GAAGh7O,EAAK4sR,YAAa,CACpBj/Q,EAAKjP,GAAK,EACV,IAAIiuQ,EAAUya,GAA4Bz5Q,EAAMsiC,EAAMtiC,EAAKjP,EAAGsB,GAC9D/C,EAAE,GAAKooR,GAAkB1Y,EAAS,EAAev4J,EAAMp0G,EAAK+kR,SAAU/kR,QAElE2N,EAAKjP,EAAIuxC,EACd,OAAOhzC,IAkuHR,GAAQ,CAAEO,EAAE,eAAgBI,EA9tH5B,SAA4B+P,EAAMlU,EAAQuG,GACzC,IAAIiwC,EAAMtiC,EAAKjP,EAAIjF,EACf26G,EAAOugJ,GAAehnP,GAC1BymG,EAAKl1G,EAAIc,EAAK,QACd,IACI/C,EAAI,CAACm3G,EADGzmG,EAAKqtO,WAAW,GACN,KACtB,GAAGh7O,EAAK4sR,YAAa,CACpBj/Q,EAAKjP,GAAK,EACV,IAAIiuQ,EAAUya,GAA4Bz5Q,EAAMsiC,EAAMtiC,EAAKjP,EAAGsB,GAC9D/C,EAAE,GAAKooR,GAAkB1Y,EAAS,EAAev4J,EAAMp0G,EAAK+kR,SAAU/kR,QAElE2N,EAAKjP,EAAIuxC,EACd,OAAOhzC,IAmtHR,GAAQ,CAAEO,EAAE,gBAAiBI,EA/8E7B,SAA6B+P,EAAMlU,GAClC,IAAIwD,EAAI,GAIR,OAHA0Q,EAAKqtO,WAAW,GAChB/9O,EAAEmlS,OAASz0R,EAAKqtO,WAAW,GAC3BrtO,EAAKjP,GAAKjF,EAAS,EACZwD,IA28ER,GAAQ,CAAEO,EAAE,aAAcI,EAAEm2P,IAC5B,GAAQ,CAAEv2P,EAAE,kBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,mBACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,mBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,mBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,oBACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,aACZ,GAAQ,CAAEA,EAAE,cACZ,GAAQ,CAAEA,EAAE,YACZ,GAAQ,CAAEA,EAAE,UAAWI,EA39EvB,SAAuB+P,EAAMlU,EAAQuG,GACpC,IAAIiwC,EAAMtiC,EAAKjP,EAAIjF,EACnBkU,EAAKjP,GAAK,EACViP,EAAKjP,GAAK,EACV,IAAIynQ,EAAOx4P,EAAKqtO,WAAW,GACvBj8O,EAAOm2P,GAAuBvnP,GAC9Bg/P,EAAU0a,GAA4B15Q,EAAM,EAAG3N,GAC/CojC,EAAU4xN,GAA2BrnP,GAOzCA,EAAKjP,EAAIuxC,EACT,IAAI8C,EAAO,CAAC+yN,KAAK/mQ,EAAMg1R,IAAIpnB,GAG3B,OAFGxG,EAAO,YAAWpzN,EAAI07O,MAAQtoB,GAC9B/iO,IAAS2P,EAAI5J,QAAU/F,GACnB2P,IA08ER,GAAQ,CAAEv1C,EAAE,oBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,UAAWI,EAzwQvB,SAAuB+P,EAAMlU,EAAQuG,GACpC,IAAI+yC,EAAO,GAEXA,EAAIgjG,GAAKpoI,EAAKqtO,WAAW,GAAK,GAE9B,IAAIsgC,EAhuKL,SAAyB3tQ,GACxB,IAAI7O,EAAI6O,EAAKqtO,WAAW,GAYxB,OAXArtO,EAAKjP,IACK,CACT2jS,MAAW,EAAJvjS,EACPwjS,QAAa,EAAJxjS,EACTyjS,WAAgB,EAAJzjS,EACZ0jS,WAAgB,EAAJ1jS,EACZ2jS,SAAc,GAAJ3jS,EACV4jS,QAAa,GAAJ5jS,EACT6jS,UAAe,GAAJ7jS,EACX8jS,QAAa,IAAJ9jS,GAqtKE+jS,CAAgBl1R,GAW5B,OAVG2tQ,EAAMgnB,UAASvvP,EAAIkpK,OAAS,GAC5Bq/D,EAAMqnB,YAAW5vP,EAAI0mO,SAAW,GAChC6B,EAAMsnB,UAAS7vP,EAAIhB,OAAS,GAC5BupO,EAAMonB,UAAS3vP,EAAIw+N,OAAS,GAC5B+J,EAAMmnB,WAAU1vP,EAAIwuK,QAAU,GAC9B+5D,EAAMknB,aAAYzvP,EAAIy+N,OAAS,GAGvB,MADD7jQ,EAAKqtO,WAAW,KACPjoM,EAAIirD,KAAO,GAEvBrwF,EAAKqtO,WAAW,IAEtB,KAAK,EAAGjoM,EAAI2mO,UAAY,cAAe,MACvC,KAAK,EAAG3mO,EAAI2mO,UAAY,YAGzB,IAAIF,EAAY7rQ,EAAKqtO,WAAW,GAChB,GAAbw+B,IAAgBzmO,EAAIymO,UAAYA,GAEnC,IAAIr9D,EAASxuM,EAAKqtO,WAAW,GAC1B7+B,EAAS,IAAGppK,EAAIopK,OAASA,GAE5B,IAAI2mF,EAAWn1R,EAAKqtO,WAAW,GAM/B,OALG8nD,EAAW,IAAG/vP,EAAIs/J,QAAUywF,GAE/Bn1R,EAAKjP,IACLq0C,EAAIrsC,MA5zKL,SAAwBiH,GACvB,IAAIolC,EAAM,GAINgwP,EAHIp1R,EAAKqtO,WAAW,KAGD,EAEnBl9M,EAAQnwB,EAAKqtO,WAAW,GACxBib,EAAMtoP,EAAKqtO,WAAW,EAAG,KACzBgoD,EAAKr1R,EAAKqtO,WAAW,GACrBioD,EAAKt1R,EAAKqtO,WAAW,GACrBkoD,EAAKv1R,EAAKqtO,WAAW,GAGzB,OAFArtO,EAAKjP,IAEGqkS,GACP,KAAK,EAAGhwP,EAAIgjN,KAAO,EAAG,MACtB,KAAK,EACJhjN,EAAIjV,MAAQA,EACZ,IAAI87O,EAAM5iB,GAAOl5N,GAEb87O,IAAK7mO,EAAImwK,IAAMs0D,GAAQoC,IAC3B,MACD,KAAK,EAEJ7mO,EAAImwK,IAAMs0D,GAAQ,CAACwrB,EAAIC,EAAIC,IAC3B,MACD,KAAK,EAAGnwP,EAAIijN,MAAQl4N,EAIrB,OAFW,GAAPm4N,IAAUljN,EAAImjN,KAAOD,EAAM,EAAIA,EAAM,MAAQA,EAAM,OAEhDljN,EA8xKKowP,CAAex1R,GAEpBA,EAAKqtO,WAAW,IAEtB,KAAK,EAAGjoM,EAAI4mO,OAAS,QAAS,MAC9B,KAAK,EAAG5mO,EAAI4mO,OAAS,QAKtB,OAFA5mO,EAAIh0C,KAAOy0P,GAAmB7lP,GAEvBolC,IAguQR,GAAQ,CAAEv1C,EAAE,SAAUI,EAzxQtB,SAAsB+P,EAAMlU,GAG3B,MAAO,CAFQkU,EAAKqtO,WAAW,GACfwY,GAAmB7lP,MAwxQpC,GAAQ,CAAEnQ,EAAE,UAAWI,EAAE+9Q,IACzB,GAAQ,CAAEn+Q,EAAE,YAAaI,EAAEo+Q,IAC3B,GAAQ,CAAEx+Q,EAAE,QAASI,EAppQrB,SAAqB+P,EAAMlU,GAC1B,IAAIwhP,EAAMttO,EAAKjP,EAAIjF,EACf2pS,EAAaz1R,EAAKqtO,WAAW,GAC7BqoD,EAAO11R,EAAKqtO,WAAW,GAE3B,OADArtO,EAAKjP,EAAIu8O,EACF,CAAC6nB,KAAKsgC,EAAYjxC,SAASkxC,KAgpQnC,GAAQ,CAAE7lS,EAAE,YACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,UACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,aACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,aACZ,GAAQ,CAAEA,EAAE,oBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,UACZ,GAAQ,CAAEA,EAAE,aAAcI,EAAEspQ,IAC5B,GAAQ,CAAE1pQ,EAAE,kBACZ,GAAQ,CAAEA,EAAE,oBAAqBI,EA7hPjC,SAAiC+P,GAChC,IAAIolC,EAAM,GACVA,EAAIv5C,EAAImU,EAAKqtO,WAAW,GACxB,IAAI5mI,EAAO,GACXA,EAAKl1G,EAAIyO,EAAKqtO,WAAW,GACzB5mI,EAAKv1G,EAAI8O,EAAKqtO,WAAW,GACzBjoM,EAAI7zC,EAAIiyP,GAAY/8I,GACpB,IAAIotF,EAAQ7zL,EAAKqtO,WAAW,GAG5B,OAFW,EAARx5C,IAAazuJ,EAAIr0C,EAAI,KACb,EAAR8iM,IAAazuJ,EAAIzpC,EAAI,KACjBypC,IAohPR,GAAQ,CAAEv1C,EAAE,UAAWI,EA9jHvB,cA+jHA,GAAQ,CAAEJ,EAAE,iBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,eAAgBI,EAAEmyP,GAAWnwP,EAAE,GAC3C,IAAQ,CAAEpC,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBAAkBI,EA3oH9B,SAA8B+P,GAC7B,IAAI/P,EAAI+P,EAAKqtO,WAAW,GAExB,OADArtO,EAAKjP,GAAK,GACH,CAAEkrR,IAAS,GAAJhsR,KAyoHf,IAAQ,CAAEJ,EAAE,gBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,YAAaI,EA35HzB,SAAyB+P,EAAMlU,GAC9B,IAAIu7F,EAAI,GAIR,OAFArnF,EAAKjP,GAAK,GACVs2F,EAAEj2F,KAAO+1P,GAAmBnnP,EAAMlU,EAAS,IACpCu7F,IAu5HR,IAAQ,CAAEx3F,EAAE,WAAYI,EAAE0xR,GAAgB1vR,EAAE,IAC5C,IAAQ,CAAEpC,EAAE,UAAWI,EAptHvB,cAqtHA,IAAQ,CAAEJ,EAAE,UACZ,IAAQ,CAAEA,EAAE,YAAaI,EA7jFzB,SAAyB+P,EAAMlU,GAC9B,IAAIwD,EAAK,GACLukM,EAAQ7zL,EAAKqtO,WAAW,GAC5B/9O,EAAEqmS,oBAAsB31R,EAAKqtO,WAAW,GACxC,IAAIuoD,EAAW9pS,EAAS,EAAK+5P,GAAmB7lP,GAAQ,GAiBxD,OAhBG41R,EAAQ9pS,OAAS,IAAGwD,EAAE8tR,SAAWwY,GACpCtmS,EAAEumS,wBAAkC,MAARhiG,GAC5BvkM,EAAEwmS,cAAwB,GAARjiG,GAClBvkM,EAAEymS,sBAAgC,KAARliG,GAC1BvkM,EAAEk3O,YAAsB,EAAR3yC,GAChBvkM,EAAEs2R,iBAA2B,EAAR/xF,GACrBvkM,EAAE0mS,sBAAgC,KAARniG,GAC1BvkM,EAAE2mS,qBAA+B,GAARpiG,GACzBvkM,EAAE4mS,gBAA0B,KAARriG,GACpBvkM,EAAE6mS,yBAAmC,OAARtiG,GAC7BvkM,EAAE8mS,0BAAoC,IAARviG,GAC9BvkM,EAAE+mS,8BAAwC,EAARxiG,GAClCvkM,EAAEgnS,qBAA+B,GAARziG,GACzBvkM,EAAEinS,YAAc,CAAC,MAAO,eAAgB,QAAS1iG,GAAS,GAAM,GAChEvkM,EAAEknS,wBAAkC,MAAR3iG,GAC5BvkM,EAAEmnS,YAAc,CAAC,UAAW,QAAS,UAAW5iG,GAAS,EAAK,GACvDvkM,IAyiFR,IAAQ,CAAEO,EAAE,gBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,cAAeI,EAllF3B,SAA2B+P,EAAMlU,GAChC,IAAIu7F,EAAI,GAKR,OAJAA,EAAEg+L,OAASrlR,EAAKqtO,WAAW,GAC3BhmJ,EAAEy+L,OAAS9lR,EAAKqtO,WAAW,GAC3BhmJ,EAAE0+L,SAAWv+B,GAAYxnP,EAAKlU,EAAO,GACrCu7F,EAAEj2F,KAAOy0P,GAAmB7lP,GACrBqnF,IA6kFR,IAAQ,CAAEx3F,EAAE,eACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,cAAeI,EAxxS3B,SAA2B+P,GAC1B,MAAO,CAACA,EAAKqtO,WAAW,GAAIrtO,EAAKqtO,WAAW,MAwxS7C,IAAQ,CAAEx9O,EAAE,aACZ,IAAQ,CAAEA,EAAE,kBAAmBI,EAAE83P,IACjC,IAAQ,CAAEl4P,EAAE,iBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,eAAgBI,EAAEgyR,IAC9B,IAAQ,CAAEpyR,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,6BACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,gBAAiBI,EAAEu3P,IAC/B,IAAQ,CAAE33P,EAAE,cACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,iBAAkBI,EAAE8oQ,IAChC,IAAQ,CAAElpQ,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,aAAcI,EAh+H1B,SAA0B+P,EAAMlU,EAAQuG,GACvC,IAAIiwC,EAAMtiC,EAAKjP,EAAIjF,EACf86R,EAAM9+B,GAAU9nP,GAChB02R,EAAc12R,EAAKqtO,WAAW,GAC9B/9O,EAAI,CAACs3R,GACT,GADet3R,EAAE,GAAKonS,EACnBrkS,EAAK4sR,YAAa,CACpB,IAAIjgB,EAAUwa,GAA6Bx5Q,EAAMsiC,EAAMtiC,EAAKjP,EAAGsB,GAC/D/C,EAAE,GAAK0vQ,OACDh/P,EAAKjP,EAAIuxC,EAChB,OAAOhzC,IAw9HR,IAAQ,CAAEO,EAAE,aAAcI,EAp9H1B,SAA0B+P,EAAMlU,EAAQuG,GACvC,IAAIiwC,EAAMtiC,EAAKjP,EAAIjF,EAEfwD,EAAI,CADEy4P,GAAmB/nP,EAAM,KAEnC,GAAG3N,EAAK4sR,YAAa,CACpB,IAAIjgB,EAAU2a,GAA8B35Q,EAAMsiC,EAAMtiC,EAAKjP,EAAGsB,GAChE/C,EAAE,GAAK0vQ,EACPh/P,EAAKjP,EAAIuxC,OACHtiC,EAAKjP,EAAIuxC,EAChB,OAAOhzC,IA48HR,IAAQ,CAAEO,EAAE,YACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,iCACZ,IAAQ,CAAEA,EAAE,+BACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,aAAcI,EAt+H1B,SAA0B+P,GACzB,IAAIqtM,EAAW,GAEf,OADA80E,GAAcp+P,SAAQ,SAASnT,GAAKy8L,EAAQz8L,GAAKq3O,GAAWjoP,MACrDqtM,IAo+HR,IAAQ,CAAEx9M,EAAE,mBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,eAAgBI,EA7uI5B,cA8uIA,IAAQ,CAAEJ,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,WAAYI,EAjkIxB,SAAwB+P,EAAMlU,GAC7B,IAAIw2C,EAAMtiC,EAAKjP,EAAIjF,EACf86R,EAAM7+B,GAAmB/nP,EAAM,IAC/B2mR,EAAQt/B,GAA2BrnP,GACnCwhP,EAAMqE,GAAmB7lP,GACzB4qH,EAAUi7H,GAAmB7lP,GAC7BoT,EAAUyyO,GAAmB7lP,GACjCA,EAAKjP,EAAIuxC,EACT,IAAIhzC,EAAK,CAACs3R,IAAIA,EAAKD,MAAMA,EAAOnlC,IAAIA,EAAKpuO,QAAQA,GAEjD,OADGw3G,IAASt7H,EAAE6iK,QAAUvnC,GACjBt7H,IAwjIR,IAAQ,CAAEO,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,aAAcI,EAAEu3P,IAC5B,IAAQ,CAAE33P,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,mBAAoBI,EAAEgiR,IAClC,IAAQ,CAAEpiR,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,kBAAmBI,EApxP/B,SAA+B+P,GAC9B,IAAIolC,EAAM,GACVA,EAAI4sO,QAAUhyQ,EAAKqtO,WAAW,GAC9B,IAAIu5C,EAAM7+B,GAAmB/nP,EAAM,IAInC,OAHAolC,EAAIwhP,IAAMA,EAAIh3R,EACdw1C,EAAIg4B,IAAMomL,GAAYojC,EAAIh3R,GAC1BoQ,EAAKjP,GAAK,GACHq0C,IA8wPR,IAAQ,CAAEv1C,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBAAkBI,EAAE42P,IAChC,IAAQ,CAAEh3P,EAAE,sBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,iCACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,YAAaI,EA9/GzB,SAAyB+P,EAAMlU,GAG9B,OAFAkU,EAAKjP,GAAK,GAEH,CAAEK,KADEy0P,GAAmB7lP,MA6/G/B,IAAQ,CAAEnQ,EAAE,kBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,mCACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,YAAaI,EApnIzB,cAqnIA,KAAQ,CAAEJ,EAAE,mBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,qCACZ,KAAQ,CAAEA,EAAE,mCACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,oCACZ,KAAQ,CAAEA,EAAE,kCACZ,KAAQ,CAAEA,EAAE,kCACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,kCACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,sCACZ,KAAQ,CAAEA,EAAE,oCACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,mCACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,qCACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,kBACZ,MAAQ,CAAEA,EAAE,KAGRozP,GAAS5I,EAAUoI,GAAgB,KAGnCmsC,GAAgB,CACpB,EAAQ,CAAE/+R,EAAE,WAAYI,EAxiXxB,SAAwBygC,GACvB,IAAI+1E,EAAOyuJ,GAAcxkO,KACvBA,EAAK3/B,EACP,IAAIsqI,EAAM4sH,GAAWv3N,GAGrB,OAFA+1E,EAAKh1G,EAAI,IACTg1G,EAAK/zF,IAAM2oH,EACJ50B,IAmiXR,EAAQ,CAAE52G,EAAE,WAAYI,EAljXxB,SAAwBygC,EAAM5kC,EAAQuG,GACrC,IAAIo0G,EAAOyuJ,GAAcxkO,KACvBA,EAAK3/B,EACP,IAAI2hH,EAAM4hJ,GAAuB5jO,EAAM5kC,EAAUuG,GAGjD,OAFAo0G,EAAKh1G,EAAI,MACTg1G,EAAK/zF,IAAMggG,EACJjM,IA6iXR,EAAQ,CAAE52G,EAAE,UAAWI,EAAE4oR,IACzB,EAAQ,CAAEhpR,EAAE,MAAOI,EAAEimQ,IACrB,GAAQ,CAAErmQ,EAAE,MAAOI,EAAEmjQ,IACrB,GAAQ,CAAEvjQ,EAAE,YAAaI,EAAEqjQ,IAC3B,GAAQ,CAAEzjQ,EAAE,WAAYI,EAAEqjQ,IAC1B,GAAQ,CAAEzjQ,EAAE,gBAAiBI,EAAE0hQ,IAC/B,GAAQ,CAAE9hQ,EAAE,cAAeI,EAAE0hQ,IAC7B,GAAQ,CAAE9hQ,EAAE,YAAaI,EAAEg4P,IAC3B,GAAQ,CAAEp4P,EAAE,WAAYI,EAAE0hQ,IAC1B,GAAQ,CAAE9hQ,EAAE,UAAWI,EAAE0hQ,IACzB,GAAQ,CAAE9hQ,EAAE,WAAYI,EAAEqjQ,IAC1B,GAAQ,CAAEzjQ,EAAE,SAAUI,EAAEunQ,IACxB,GAAQ,CAAE3nQ,EAAE,SAAUI,EAAEunQ,IACxB,GAAQ,CAAE3nQ,EAAE,cAAeI,EAAE8oQ,IAC7B,GAAQ,CAAElpQ,EAAE,MAAOI,EAAEooQ,IACrB,GAAQ,CAAExoQ,EAAE,aAAcI,EAAE0hQ,IAC5B,GAAQ,CAAE9hQ,EAAE,sBACZ,GAAQ,CAAEA,EAAE,wBACZ,GAAQ,CAAEA,EAAE,OAAQI,EApzXpB,SAAoBygC,EAAM5kC,EAAQuG,GAEjC,OAZD,SAAsBq+B,EAAM5kC,EAAQuG,GACnC,KAAGA,EAAKgxP,KAAO,GAAf,CACA,IAAIp6K,EAAMv4C,EAAK28M,WAAW,GAAI/jK,EAAM54C,EAAK28M,WAAW,GAChDx5C,EAAQnjK,EAAK28M,WAAW,GAAIspD,EAAQjmQ,EAAK28M,WAAW,GACpDupD,EAAWtiC,GAAuB5jO,EAAM,EAAGr+B,GAE/C,OADGA,EAAKgxP,KAAO,GAAG3yN,EAAK28M,WAAW,GAC3B,CAAC,CAAC97O,EAAE03E,EAAI/3E,EAAEo4E,GAAMstN,EAAUD,EAAO9iG,IAMjCgjG,CAAanmQ,EAAM5kC,EAAQuG,KAmzXnC,GAAQ,CAAExC,EAAE,aACZ,GAAQ,CAAEA,EAAE,WAAYI,EAAE0hQ,IAC1B,GAAQ,CAAE9hQ,EAAE,aAAcI,EAAEwnQ,IAC5B,GAAQ,CAAE5nQ,EAAE,YACZ,GAAQ,CAAEA,EAAE,aAAcI,EAAEg4P,IAC5B,GAAQ,CAAEp4P,EAAE,cAAeI,EAAEg4P,IAC7B,GAAQ,CAAEp4P,EAAE,YAAaI,EAAEg4P,IAC3B,GAAQ,CAAEp4P,EAAE,eAAgBI,EAAEg4P,IAC9B,GAAQ,CAAEp4P,EAAE,cAAeI,EAAE0hQ,IAC7B,GAAQ,CAAE9hQ,EAAE,YAAaI,EAAE0hQ,IAC3B,GAAQ,CAAE9hQ,EAAE,WAAYI,EA/rTxB,SAAwBygC,EAAM5kC,EAAQuG,GACrC,IAAI/C,EAAK,CAAEsP,KAAMvM,EAAKgxP,MAAQ,EAAI3yN,EAAK28M,WAAW,GAAK,GAGvD,OAFG/9O,EAAEsP,KAAMsqQ,GAAqBx4O,EAAM5kC,EAAO,EAAGwD,GAjBjD,SAA8BohC,EAAM5kC,EAAQuG,EAAM+yC,GACjD,IAAI91C,EAAK,CAAEjD,IAAKinQ,GAAY5iO,GAAOomQ,kBAAmBxjC,GAAY5iO,IAC/Dr+B,EAAKotM,WAAUnwM,EAAEynS,SAAWrvB,GAAsCr1Q,EAAKotM,WAC1Er6J,EAAIshO,MAAQp3Q,EAAEwnS,oBAAsBxnS,EAAEynS,SACnC3xP,EAAIshO,QAAOthO,EAAIupP,OAAS9lB,GAAwBx2Q,EAAKotM,WAcnDu3F,CAAqBtmQ,EAAMr+B,EAAKgxP,KAAiChxP,EAAM/C,GACrEA,IA4rTR,GAAQ,CAAEO,EAAE,OAAQI,EAxsYpB,SAAoBygC,EAAM5kC,EAAQuG,GACjC,IAAI/C,EAAI,CACP2nS,SAAUvmQ,EAAK28M,WAAW,GAC1B6pD,GAAIxmQ,EAAK28M,WAAW,IAErB,OAAQh7O,GAAQA,EAAKgxP,MAAS,GAC7B,KAAK,EAAG,MACR,KAAK,EAAG,KAAK,EAAG3yN,EAAK3/B,GAAK,EAAG,MAC7B,QAAS2/B,EAAK3/B,GAAK,GAGpB,OADAzB,EAAE8B,KAAOsiQ,GAA2BhjO,EAAM,EAAGr+B,GACtC/C,IA8rYR,GAAQ,CAAEO,EAAE,YAAaI,EAAEqjQ,IAC3B,GAAQ,CAAEzjQ,EAAE,YACZ,GAAQ,CAAEA,EAAE,UAAWI,EArvYvB,SAAuBygC,GAItB,MAAO,CAAEymQ,IAAK,CAHJzmQ,EAAK28M,WAAW,GAAU38M,EAAK28M,WAAW,IAG1B+pD,IAAK,CAHgC1mQ,EAAK28M,WAAW,GAAW38M,EAAK28M,WAAW,IAG7Dm5B,MAFjC91O,EAAK28M,WAAW,GAE+BgqD,OAFjB3mQ,EAAK28M,WAAW,GAGzDiqD,SAHyE5mQ,EAAK28M,WAAW,GAGpEkqD,SAFR7mQ,EAAK28M,WAAW,GAEWmqD,SAFK9mQ,EAAK28M,WAAW,MAmvY/D,GAAQ,CAAEx9O,EAAE,SAAUI,EAAE0hQ,IACxB,GAAQ,CAAE9hQ,EAAE,OAAQI,EAjtYpB,cAktYA,GAAQ,CAAEJ,EAAE,WAAYI,EAAEqjQ,IAC1B,GAAQ,CAAEzjQ,EAAE,OACZ,GAAQ,CAAEA,EAAE,QACZ,GAAQ,CAAEA,EAAE,WACZ,GAAQ,CAAEA,EAAE,YACZ,GAAQ,CAAEA,EAAE,cAAeI,EAAEqjQ,IAC7B,GAAQ,CAAEzjQ,EAAE,OACZ,GAAQ,CAAEA,EAAE,OACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,cAAeI,EAz4Y3B,SAA2BygC,EAAM5kC,EAAQuG,GACxC,GAAGA,EAAKuxO,IAAyB,OAAlBlzM,EAAK3/B,GAAKjF,EAAe,GACxC,IAAIiF,EAAI2/B,EAAK3/B,EAET0mS,EAAWnjC,GAAuB5jO,EAAM,EAAGr+B,GAE/C,OADAq+B,EAAK28M,WAAWvhP,EAASiF,EAAI2/B,EAAK3/B,GAC3B0mS,IAo4YR,GAAQ,CAAE5nS,EAAE,MAAOI,EA5zXnB,SAAmBygC,EAAM5kC,EAAQuG,GAChC,GAAGA,GAAQA,EAAKgxP,KAAO,EAAG,OAsB3B,SAAwB3yN,EAAM5kC,EAAQuG,GACrCq+B,EAAK3/B,GAAK,EACV,IAAIq1L,EAAK11J,EAAK28M,WAAW,GACrBl6N,EAAKud,EAAK28M,WAAW,GACrBsgC,EAAQj9O,EAAK28M,WAAW,GAC5B38M,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACVjF,GAAU,GACV,IAAI4rS,EAAM,GAEV,OADAA,EAAI5hS,MAAMqjQ,GAAc/yE,IAAKg8D,IAAW1xN,EAAM5kC,EAAQuG,IAC/C,CAAE+/R,IAAK,CAACj/Q,EAAIizK,EAAIunF,GAAQ/mF,GAAG8wG,GAxCDC,CAAejnQ,EAAM5kC,EAAQuG,GAC9D,IAAI+/R,EAAMv8B,GAAYnlO,GAEtB,MAAO,CAAE0hQ,IAAKA,EAAKxrG,GAxpBpB,SAAuBl2J,EAAM5kC,GAG5B,IAFA,IAAIwhP,EAAM58M,EAAK3/B,EAAIjF,EACf4rS,EAAM,GACJhnQ,EAAK3/B,EAAIu8O,GAAK,CACnB,IAAI1mD,EAAKl2J,EAAK28M,WAAW,GACzB38M,EAAK3/B,GAAG,EACR,IACC2mS,EAAI5hS,KAAKigQ,GAAMnvE,GAAIl2J,EAAM48M,EAAM58M,EAAK3/B,IACnC,MAAMhB,IAAmB,OAAd2gC,EAAK3/B,EAAIu8O,EAAYoqD,GAGnC,OADGhnQ,EAAK3/B,GAAKu8O,IAAK58M,EAAK3/B,EAAIu8O,GACpBoqD,EA4oBGE,CAAclnQ,EAAM5kC,EAAO,GAAIsmS,EAAI,OA0zX9C,GAAQ,CAAEviS,EAAE,YACZ,GAAQ,CAAEA,EAAE,iBAAkBI,EAAE0hQ,IAChC,GAAQ,CAAE9hQ,EAAE,YACZ,GAAQ,CAAEA,EAAE,QACZ,GAAQ,CAAEA,EAAE,aAAcI,EAAE0hQ,IAC5B,IAAQ,CAAE9hQ,EAAE,UAAWI,EAAEspQ,IACzB,IAAQ,CAAE1pQ,EAAE,OAAQI,EArhYpB,SAAoBygC,GACnBA,EAAK3/B,GAAK,EACV,IAAIq0C,EAAM,CAAC1U,EAAK28M,WAAW,GAAI38M,EAAK28M,WAAW,IAG/C,GAFc,IAAXjoM,EAAI,IAAUA,EAAI,KACP,IAAXA,EAAI,IAAUA,EAAI,KAClBA,EAAI,GAAK,GAAKA,EAAI,GAAK,EAAG,MAAM,IAAIlX,MAAM,gBAAkBkX,EAAI/pC,KAAK,MACxE,OAAO+pC,IAghYR,IAAQ,CAAEv1C,EAAE,SAAUI,EA93YtB,SAAsBygC,EAAM5kC,EAAQuG,GAEnC,MAAO,CAAEi/R,QAAiB,IADdj/R,GAAqB,GAAbA,EAAKgxP,MAAuB,GAAVv3P,EAAc4kC,EAAK28M,WAAW,IAAM38M,EAAK3/B,GAAKjF,EAAQ,OA83Y7F,IAAQ,CAAE+D,EAAE,UAAWI,EAAEqjQ,IACzB,IAAQ,CAAEzjQ,EAAE,UAAWI,EAAE0hQ,IACzB,IAAQ,CAAE9hQ,EAAE,UAAWI,EAAE0hQ,IACzB,IAAQ,CAAE9hQ,EAAE,cAAeI,EA53Y3B,SAA2BygC,EAAM5kC,EAAQuG,GACxC,IAAI8vC,EAAMzR,EAAK28M,WAAW,GACtB8xB,EAA8B,EAArBzuO,EAAK28M,WAAW,GACzBl3M,EAAKzF,EAAK28M,WAAW,GACzB,OAAOl3M,GACN,KAAK,EAAGA,EAAK,YAAa,MAC1B,KAAK,EAAGA,EAAK,aAAc,MAC3B,KAAK,EAAGA,EAAK,aAAc,MAC3B,KAAK,EAAGA,EAAK,YAEd,IAAI/kC,EAAOsiQ,GAA2BhjO,EAAM,EAAGr+B,GAE/C,OADmB,IAAhBjB,EAAKtF,SAAcsF,EAAO,UACtB,CAAE+wC,IAAIA,EAAKo0N,GAAG4I,EAAQhpO,GAAGA,EAAI/kC,KAAKA,KAi3Y1C,IAAQ,CAAEvB,EAAE,gBACZ,IAAQ,CAAEA,EAAE,UAAWI,EA/sXvB,SAAuBygC,GACtB,IAAev/B,EAAX7B,EAAI,CAAC,EAAE,GAGX,OAFA6B,EAAIu/B,EAAK28M,WAAW,GAAI/9O,EAAE,GAAK65P,GAAYh4P,IAAMA,EACjDA,EAAIu/B,EAAK28M,WAAW,GAAI/9O,EAAE,GAAK65P,GAAYh4P,IAAMA,EAC1C7B,IA4sXR,IAAQ,CAAEO,EAAE,UAAWI,EAAEqjQ,IACzB,IAAQ,CAAEzjQ,EAAE,QACZ,IAAQ,CAAEA,EAAE,UAAWI,EA5rXvB,SAAuBygC,GAGtB,IAFA,IAAImnQ,EAAMnnQ,EAAK28M,WAAW,GACtB/9O,EAAI,GACFuoS,KAAM,GAAGvoS,EAAEwG,KAAKm/P,GAAcvkO,IACpC,OAAOphC,IAyrXR,IAAQ,CAAEO,EAAE,QACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,sBAAuBI,EAAEqjQ,IACrC,IAAQ,CAAEzjQ,EAAE,kBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,MAAOI,EAAE6pQ,IACrB,IAAQ,CAAEjqQ,EAAE,QAASI,EArqXrB,SAAqBygC,EAAM5kC,GAC1B,IAAIwD,EAAI,GACR,OAAGxD,EAAS,KACZ4kC,EAAK3/B,GAAK,GACVzB,EAAE+uH,OAAS4pI,GAAWv3N,GACtBphC,EAAEqvH,OAASspI,GAAWv3N,GACtBA,EAAK3/B,GAAK,GAJazB,IAoqXxB,IAAQ,CAAEO,EAAE,WACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,QAASI,EAlpYrB,SAAqBygC,EAAM5kC,GAI1B,IAHA,IAAIH,EAAS+kC,EAAK3/B,EAAIjF,EAAS,EAC3BgsS,EAAKpnQ,EAAK28M,WAAW,GAAI/jK,EAAM54C,EAAK28M,WAAW,GAC/C0qD,EAAS,GACPrnQ,EAAK3/B,EAAIpF,GAAQosS,EAAOjiS,KAAKw/P,GAAY5kO,IAC/C,GAAGA,EAAK3/B,IAAMpF,EAAQ,MAAM,IAAIuiC,MAAM,oBACtC,IAAI8pQ,EAAUtnQ,EAAK28M,WAAW,GAC9B,GAAG0qD,EAAOjsS,QAAUksS,EAAU1uN,EAAM,EAAG,MAAM,IAAIp7C,MAAM,yBACvD,MAAO,CAAC38B,EAAEumS,EAAI5mS,EAAEo4E,EAAKsxE,EAAEo9I,EAASrG,MAAMoG,KA2oYvC,IAAQ,CAAEloS,EAAE,WAAYI,EAxoYxB,SAAwBygC,EAAM5kC,GAI7B,IAHA,IAAIH,EAAS+kC,EAAK3/B,EAAIjF,EAAS,EAC3BgsS,EAAKpnQ,EAAK28M,WAAW,GAAI/jK,EAAM54C,EAAK28M,WAAW,GAC/C4qD,EAAQ,GACNvnQ,EAAK3/B,EAAIpF,GAAQssS,EAAMniS,KAAK46B,EAAK28M,WAAW,IAClD,GAAG38M,EAAK3/B,IAAMpF,EAAQ,MAAM,IAAIuiC,MAAM,uBACtC,IAAI8pQ,EAAUtnQ,EAAK28M,WAAW,GAC9B,GAAG4qD,EAAMnsS,QAAUksS,EAAU1uN,EAAM,EAAG,MAAM,IAAIp7C,MAAM,4BACtD,MAAO,CAAC38B,EAAEumS,EAAI5mS,EAAEo4E,EAAKsxE,EAAEo9I,EAAS7iC,KAAK8iC,KAioYtC,IAAQ,CAAEpoS,EAAE,MAAOI,EAAEmjQ,IACrB,IAAQ,CAAEvjQ,EAAE,QACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SAAUI,EAAE0hQ,IACxB,IAAQ,CAAE9hQ,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,WAAYI,EAAEqjQ,IAC1B,IAAQ,CAAEzjQ,EAAE,gBACZ,IAAQ,CAAEA,EAAE,kBAAmBI,EAAE0hQ,IACjC,IAAQ,CAAE9hQ,EAAE,iBACZ,IAAQ,CAAEA,EAAE,KAAMI,EAzmYlB,SAAkBygC,EAAM5kC,EAAQuG,GAC/B,IAAI/C,EAAI,GAKR,OAJAA,EAAE62P,KAAOz1N,EAAK28M,WAAW,GAAI/9O,EAAEk1P,SAAW9zN,EAAK28M,WAAW,GAAI/9O,EAAEukM,MAAQnjK,EAAK28M,WAAW,GACxF/9O,EAAE4oS,OAAU5oS,EAAEukM,OAAS,EAAK,EAClB,EACVvkM,EAAE0Q,KAjDH,SAA2B0wB,EAAM5kC,EAAQ4V,EAAOrP,GAC/C,IAAI/C,EAAI,GACJqM,EAAI+0B,EAAK28M,WAAW,GAAIn0O,EAAIw3B,EAAK28M,WAAW,GAC5Cn8O,EAAIw/B,EAAK28M,WAAW,GAAIl8O,EAAIu/B,EAAK28M,WAAW,GAGhD,OAFA/9O,EAAEg9Q,YAAcljB,GAAel4P,GAAK,IAEhCmB,EAAKmnQ,YACTlqQ,EAAE6oS,IAAU,EAAJx8R,EACRrM,EAAE8oS,MAASz8R,GAAK,EAAK,EACrBrM,EAAE+oS,KAAQ18R,GAAK,EAAK,EACpBrM,EAAEgpS,UAAa38R,GAAK,EAAK,EACzBrM,EAAEipS,KAAQ58R,GAAK,EAAK,IACpBrM,EAAEkpS,QAAW78R,GAAK,GAAM,GACxBrM,EAAEmpS,aAAgB98R,GAAK,GAAM,EAC7BrM,EAAEopS,WAAc/8R,GAAK,GAAM,EAC3BrM,EAAEqpS,QAAWh9R,GAAK,GAAM,EACxBrM,EAAEspS,QAAWj9R,GAAK,GAAM,EACxBrM,EAAEupS,QAAWl9R,GAAK,GAAM,EACxBrM,EAAEwpS,QAAWn9R,GAAK,GAAM,EACxBrM,EAAEypS,QAAWp9R,GAAK,GAAM,EACxBrM,EAAE0pS,SAAYr9R,GAAK,GAAM,EAEzBrM,EAAE2pS,OAAa,GAAJ//R,EACX5J,EAAE4pS,QAAWhgS,GAAK,EAAK,GACvB5J,EAAE6pS,MAASjgS,GAAK,EAAK,GACrB5J,EAAE8pS,SAAYlgS,GAAK,GAAM,GACzB5J,EAAE+pS,QAAWngS,GAAK,GAAM,IACxB5J,EAAEgqS,SAAYpgS,GAAK,GAAM,IACzB5J,EAAEiqS,UAAargS,GAAK,GAAM,EAE1B5J,EAAEkqS,OAAa,IAAJtoS,EACX5B,EAAEmqS,UAAavoS,GAAK,EAAK,IACzB5B,EAAEoqS,QAAWxoS,GAAK,GAAM,IACxB5B,EAAEqqS,OAAUzoS,GAAK,GAAM,GAEvB5B,EAAE4gS,QAAc,IAAJ/+R,EACZ7B,EAAE6gS,QAAWh/R,GAAK,EAAK,IACvB7B,EAAEsqS,UAAazoS,GAAK,GAAM,EACnB7B,GAhCqBA,EA2CnBuqS,CAAkBnpQ,EAAM5kC,EAAQwD,EAAE4oS,OAAQ7lS,GAC5C/C,IAomYR,IAAQ,CAAEO,EAAE,eAAgBI,EAn9Y5B,SAA4BygC,EAAM5kC,GACjC,OAAc,IAAXA,GACC4kC,EAAK28M,WAAW,GADI,OAm9YzB,IAAQ,CAAEx9O,EAAE,eAAgBI,EAAEmjQ,IAC9B,IAAQ,CAAEvjQ,EAAE,QACZ,IAAQ,CAAEA,EAAE,aAAcI,EA94X1B,SAA0BygC,EAAM5kC,GAG/B,IAFA,IAAI6wR,EAAS,GACTmd,EAAOppQ,EAAK28M,WAAW,GACpBysD,KAAQnd,EAAO7mR,KAAKy/P,GAAY7kO,IACvC,OAAOisP,IA24XR,IAAQ,CAAE9sR,EAAE,SACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,MAAOI,EAx6YnB,SAAmBygC,EAAM5kC,GAKxB,IAJA,IAAIw2C,EAAM5R,EAAK3/B,EAAIjF,EACf+iP,EAAMn+M,EAAK28M,WAAW,GACtB0sD,EAAOrpQ,EAAK28M,WAAW,GACvB2c,EAAQ,GACJn+P,EAAI,EAAGA,GAAKkuS,GAAQrpQ,EAAK3/B,EAAIuxC,IAAOz2C,EAC3Cm+P,EAAKl0P,KAAK89P,GAAkCljO,IAG7C,OADAs5N,EAAKsb,MAAQz2B,EAAKmb,EAAKwb,OAASu0B,EACzB/vC,IAg6YR,IAAQ,CAAEn6P,EAAE,WAAYI,EAhxYxB,SAAwBygC,GACvB,IAAI+1E,EAAOyuJ,GAAcxkO,GAEzB,OADA+1E,EAAKurL,KAAOthQ,EAAK28M,WAAW,GACrB5mI,IA8wYR,IAAQ,CAAE52G,EAAE,SAAUI,EAn5YtB,SAAsBygC,EAAM5kC,GAC3B,IAAIkuS,EAAS,GAGb,OAFAA,EAAOC,KAAOvpQ,EAAK28M,WAAW,GAC9B38M,EAAK3/B,GAAKjF,EAAO,EACVkuS,IAg5YR,IAAQ,CAAEnqS,EAAE,UACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,UAAWI,EAAEujQ,IACzB,IAAQ,CAAE3jQ,EAAE,eACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,WAAYI,EAAE0hQ,IAC1B,IAAQ,CAAE9hQ,EAAE,MAAOI,EAAEmjQ,IACrB,IAAQ,CAAEvjQ,EAAE,QACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,UAAWI,EAxlYvB,SAAuBygC,EAAM5kC,EAAQuG,GACpC,IAAIiwC,EAAM5R,EAAK3/B,EAAIjF,EACfouS,EAAOxpQ,EAAK28M,WAAW,GACvBsmB,EAAMjjO,EAAK28M,WAAW,GAE1B,GADAh7O,EAAK2lQ,MAAQrE,EACH,MAAPA,GAAwB,OAAPA,EAAe,MAAO,CAACA,EAAKumC,GAChD,GAAGvmC,EAAM,GAAQA,EAAK,IAAM,MAAM,IAAIzlO,MAAM,4BAA4BylO,GAIxE,IAHA,IAAIwmC,EAAW/lC,GAA2B1jO,EAAMijO,GAE5CymC,EAAO,GACL93P,EAAM5R,EAAK3/B,GAAGqpS,EAAKtkS,KAAKu+P,GAAsB3jO,IACpD,MAAO,CAACijO,EAAKumC,EAAMC,EAAUC,KA8kY9B,IAAQ,CAAEvqS,EAAE,WAAYI,EAAE0hQ,IAC1B,IAAQ,CAAE9hQ,EAAE,WACZ,IAAQ,CAAEA,EAAE,MACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,MAAOI,EAh5XnB,SAAmBygC,EAAM5kC,EAAQuG,GAChC,IAAIzC,EAAI8gC,EAAK3/B,EACTspS,EAAQ,GACb,IACC3pQ,EAAK3/B,GAAK,EACV,IAAIq1L,GAAM/zL,EAAKggS,SAAS,CAACD,IAAI,CAAC,EAAE,KAAKA,IAAI,IAEL,GAAjC,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI/4R,QAAQ+sL,GAAW11J,EAAK3/B,GAAK,EAr8BlD,SAA2B2/B,GAC1B,IAAImjK,EAAQnjK,EAAK28M,WAAW,GAC5B38M,EAAK3/B,IACL,IAAIupS,EAAQ5pQ,EAAK28M,WAAW,GAE5B,OADA38M,EAAK3/B,GAAK,EACH,CAAC8iM,EAAOymG,GAi8BIC,CAAkB7pQ,GACrC,IAAI8pQ,EAAU9pQ,EAAK28M,WAAW,GACb38M,EAAK28M,WAAW,GACbimB,GAAY5iO,GAChC,IAAIsD,EAAMtD,EAAK28M,WAAW,GAC1B38M,EAAK3/B,GAAKijC,EAGV,IAAI,IAAInoC,EAAI,EAAGA,EAAI6kC,EAAKgxN,KAAK51P,OAAO,IAAKD,EAAG,CAC3C,GAAG6kC,EAAK3/B,EAAEnB,GAAK8gC,EAAKgxN,KAAK71P,GAAI,MAAM,IAAIqiC,MAAM,4BAC7C,IAAI8jO,EAAMthO,EAAKA,EAAK3/B,GAGpB,IADAspS,GADQjmC,GAA2B1jO,EAAMA,EAAKgxN,KAAK71P,EAAE,GAAG6kC,EAAKgxN,KAAK71P,GAAG,IAE5DC,SAAWkmQ,EAAMwoC,EAAU,EAAEA,GAAU,MAEjD,GAAGH,EAAMvuS,SAAW0uS,GAAWH,EAAMvuS,SAAmB,EAAR0uS,EAC/C,MAAM,IAAItsQ,MAAM,YAAcssQ,EAAU,OAASH,EAAMvuS,QAWxD,OARA4kC,EAAK3/B,EAAInB,EAAI9D,EAQN,CAAE2F,EAAG4oS,GACX,MAAMtqS,IAA0B,OAArB2gC,EAAK3/B,EAAInB,EAAI9D,EAAe,CAAE2F,EAAG4oS,MA62X9C,IAAQ,CAAExqS,EAAE,aAAcI,EAAE0hQ,IAC5B,IAAQ,CAAE9hQ,EAAE,QAASI,EA12XrB,SAAqBygC,EAAM5kC,GAC1B,IAAIsxE,EAAMm4L,GAAY7kO,GAGtB,OAFAA,EAAK3/B,GAAK,GAEH,CAACqsE,EAn7BT,SAAyB1sC,EAAM5kC,GAC9B,IAAIw2C,EAAM5R,EAAK3/B,EAAIjF,EACf2uS,EAAO/pQ,EAAK28M,WAAW,GAC3B,GAAY,IAATotD,EAAY,MAAM,IAAIvsQ,MAAM,+BAAiCusQ,GAChE,IAAI5mG,EAAQnjK,EAAK28M,WAAW,GAC5B38M,EAAK3/B,GAAK,EACV,IAAIi2B,EAAa0zQ,EAAiBC,EAASC,EAAoB9S,EAAM+S,EAAdC,EAAI,GAChD,GAARjnG,IAAgB7sK,EAAc6tO,GAAsBnkO,EAAYA,EAAK3/B,IAC7D,IAAR8iM,IAAgB6mG,EAAkB7lC,GAAsBnkO,EAAYA,EAAK3/B,IACpD,OAAZ,IAAR8iM,KAA4B8mG,EAAU9lC,GAAsBnkO,EAAYA,EAAK3/B,IACzD,KAAZ,IAAR8iM,KAA4B+mG,EAAapmC,GAAuB9jO,EAAYA,EAAK3/B,IAC1E,EAAR8iM,IAAgBinG,EAAMjmC,GAAsBnkO,EAAYA,EAAK3/B,IACrD,GAAR8iM,IAAgBi0F,EAAOp3P,EAAK28M,WAAW,KAC/B,GAARx5C,IAAgBgnG,EAAWvrC,GAAe5+N,IAC7CA,EAAK3/B,EAAIuxC,EACT,IAAI32C,EAAS+uS,GAAiBC,GAASC,GAAY,GAChDjvS,GAAUmvS,IAAKnvS,GAAQ,IAAImvS,GAC1BnvS,IAAQA,EAAS,IAAMmvS,GAC3B,IAAI11P,EAAO,CAACumN,OAAOhgQ,GAInB,OAHGm8R,IAAM1iP,EAAI0iP,KAAOA,GACjB+S,IAAUz1P,EAAIihM,KAAOw0D,GACrB7zQ,IAAaoe,EAAI+sH,QAAUnrI,GACvBoe,EA45BK21P,CAAgBrqQ,EAAM5kC,EAAO,OAw2X1C,IAAQ,CAAE+D,EAAE,OACZ,IAAQ,CAAEA,EAAE,WAAYI,EAAEokQ,IAC1B,IAAQ,CAAExkQ,EAAE,aACZ,IAAQ,CAAEA,EAAE,eAAgBI,EAAEqjQ,IAC9B,IAAQ,CAAEzjQ,EAAE,cACZ,IAAQ,CAAEA,EAAE,MACZ,IAAQ,CAAEA,EAAE,aAAcI,EAAEmjQ,IAC5B,IAAQ,CAAEvjQ,EAAE,WAAYI,EAj6YxB,SAAwBygC,GAEvB,OADAA,EAAK28M,WAAW,GACT38M,EAAK28M,WAAW,IA+5YkB97O,EAAE,GAC5C,IAAQ,CAAE1B,EAAE,UAAWI,EAAEmjQ,IACzB,IAAQ,CAAEvjQ,EAAE,aAAcI,EAAE+mQ,IAC5B,IAAQ,CAAEnnQ,EAAE,QAASI,EAAE4pQ,IACvB,IAAQ,CAAEhqQ,EAAE,SAAUI,EA5nYtB,SAAsBygC,GACrB,IAAI+1E,EAAOyuJ,GAAcxkO,GACrBsqQ,EAAO/yC,GAAWv3N,GAEtB,OADA+1E,EAAK/zF,IAAMsoR,EACJv0L,IAynYR,IAAQ,CAAE52G,EAAE,QAASI,EA9zYrB,SAAqBygC,EAAM5kC,EAAQuG,GACrBq+B,EAAK3/B,EAAlB,IACI01G,EAAOyuJ,GAAcxkO,GACT,GAAbr+B,EAAKgxP,MAAW3yN,EAAK3/B,IACxB,IAAI2hH,EAAM2hJ,GAAsB3jO,EAAeA,EAAK3/B,EAAGsB,GAEvD,OADAo0G,EAAK/zF,IAAMggG,EACJjM,IAyzYR,IAAQ,CAAE52G,EAAE,UAAWI,EAAEknQ,IACzB,IAAQ,CAAEtnQ,EAAE,UAAWI,EAAE4oR,IACzB,IAAQ,CAAEhpR,EAAE,SAAUI,EAAE8pQ,IACxB,IAAQ,CAAElqQ,EAAE,MAAOI,EAx8YnB,SAAmBygC,GAClB,IAAI22D,EAAK,GACTA,EAAE91F,EAAIm/B,EAAK28M,WAAW,GACtBhmJ,EAAEn2F,EAAIw/B,EAAK28M,WAAW,GACtBhmJ,EAAEwnJ,IAAMn+M,EAAK28M,WAAW,GAAKhmJ,EAAEn2F,EAC/B,IAAIulQ,EAAQ/lO,EAAK28M,WAAW,GAC5B38M,EAAK3/B,GAAK,EACV,IAAI8iM,EAAQnjK,EAAK28M,WAAW,GAM5B,OALA38M,EAAK3/B,GAAK,EACC,EAAR8iM,IAAcxsG,EAAE2sB,MAAgB,EAAR6/E,GAEhB,GAARA,IAAcxsG,EAAE83K,QAAS,GACjB,GAARtrE,IAAcxsG,EAAEi4K,IAAM7I,EAAQ,IAC1BpvK,IA47YR,IAAQ,CAAEx3F,EAAE,SACZ,IAAQ,CAAEA,EAAE,QAASI,EAAEgpQ,IACvB,IAAQ,CAAEppQ,EAAE,mBAAoBI,EAAEumQ,IAClC,IAAQ,CAAE3mQ,EAAE,SACZ,IAAQ,CAAEA,EAAE,UAAWI,EAt4YvB,SAAuBygC,EAAM5kC,EAAQuG,GACpC,OAAGA,GAAQA,EAAKgxP,MAAQ,GAAKhxP,EAAKgxP,KAAO,EAAU,GAE5C,CAAE44B,IAAS,GADVvrP,EAAK28M,WAAW,MAq4YzB,IAAQ,CAAEx9O,EAAE,KAAMI,EA7wYlB,SAAkBygC,GACjB,IAAIonQ,EAAKpnQ,EAAK28M,WAAW,GAAI/jK,EAAM54C,EAAK28M,WAAW,GAC/CskD,EAAQr8B,GAAY5kO,GACxB,MAAO,CAACn/B,EAAEumS,EAAI5mS,EAAEo4E,EAAK6rL,KAAKw8B,EAAM,GAAID,MAAMC,EAAM,MA2wYjD,IAAQ,CAAE9hS,EAAE,SACZ,KAAQ,CAAEA,EAAE,UAAWI,EAAE4oR,IACzB,KAAQ,CAAEhpR,EAAE,WACZ,KAAQ,CAAEA,EAAE,SAAUI,EAxzYtB,SAAsBygC,EAAM5kC,EAAQuG,GAGnC,MAAO,CAFQq+B,EAAK28M,WAAW,GAClBinB,GAAuB5jO,EAAM,EAAGr+B,MAuzY9C,KAAQ,CAAExC,EAAE,mBACZ,KAAQ,CAAEA,EAAE,UAAWI,EAvhYvB,SAAuBygC,EAAM5kC,EAAQuG,GACpC,IAAI+qE,EAAMu4L,GAAWjlO,GACrBA,EAAK3/B,IACL,IAAIkqS,EAAOvqQ,EAAK28M,WAAW,GAE3B,MAAO,CAACurC,GAA0BloP,EADlC5kC,GAAU,EACsCuG,GAAO4oS,EAAM79N,KAmhY9D,KAAQ,CAAEvtE,EAAE,eAAgBI,EAt3X5B,SAA4BygC,EAAM5kC,GACjC4kC,EAAK28M,WAAW,GAChB,IAAIjwK,EAAMm4L,GAAY7kO,GAClBwqQ,EAAYxqQ,EAAK28M,YAAYvhP,EAAO,IAAI,EAAG,aAE/C,MAAO,CAACsxE,EADR89N,EAAYA,EAAUzkS,QAAQ+tO,EAAK,OAm3XpC,KAAQ,CAAE30O,EAAE,UACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,MAAOI,EAAEimQ,IACrB,KAAQ,CAAErmQ,EAAE,aACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,UAAW0B,EAAE,IACzB,KAAQ,CAAE1B,EAAE,UACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,UAAWI,EAAEmjQ,IACzB,KAAQ,CAAEvjQ,EAAE,QACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QAASI,EAt3XrB,SAAqBygC,GACpBA,EAAK3/B,GAAK,EACV,IAAIzB,EAAI,CAAC6rS,KAAK,EAAGC,IAAI,GAGrB,OAFA9rS,EAAE6rS,KAAOzqQ,EAAK28M,WAAW,GACzB/9O,EAAE8rS,IAAM1qQ,EAAK28M,WAAW,GACjB/9O,GAi3X4BiC,EAAE,IACtC,KAAQ,CAAE1B,EAAE,QAASI,EArmRrB,SAAqBygC,EAAM5kC,GAChB4kC,EAAK3/B,EACf2/B,EAAK3/B,GAAK,EACV,IAAIokQ,EAAOzkO,EAAK28M,WAAW,GAC3B38M,EAAK3/B,GAAK,EAGV,IAFA,IAAIsqS,EAAQ3qQ,EAAK28M,WAAW,GACxBolD,EAAM,GACJ4I,KAAU,GAAG5I,EAAI38R,KAAK+6Q,GAAcngP,EAAUA,EAAK3/B,IACzD,MAAO,CAACokQ,KAAKA,EAAMs9B,IAAIA,IA6lRYlhS,EAAE,IACtC,KAAQ,CAAE1B,EAAE,gBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,WAAYI,EAAE0hQ,GAAWpgQ,EAAE,IACvC,KAAQ,CAAE1B,EAAE,OACZ,KAAQ,CAAEA,EAAE,cAAe0B,EAAE,IAC7B,KAAQ,CAAE1B,EAAE,cACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,UAAWI,EAvmYvB,SAAuBygC,EAAM5kC,EAAQuG,GACpC,KAAGA,EAAKgxP,KAAO,GAAf,CACA,IAAIuW,EAAUlpO,EAAK28M,WAAW,GAC1BiuD,EAAa5qQ,EAAK28M,WAAW,GAGjC,MAAO,CAFI+mB,GAA2B1jO,EAAMkpO,EAASvnQ,GACvC+hQ,GAA2B1jO,EAAM4qQ,EAAYjpS,IAJvCq+B,EAAK3/B,GAAKjF,GAsmYSyF,EAAE,IAC1C,KAAQ,CAAE1B,EAAE,YACZ,KAAQ,CAAEA,EAAE,QAASI,EAprRrB,SAAqBygC,EAAM5kC,EAAQuG,GAClC,IAAIiwC,EAAM5R,EAAK3/B,EAAIjF,EAEnB,GAAsB,SADD4kC,EAAK28M,WAAW,GAErC,GAAIh7O,EAAKmnQ,YAAehe,GAAxB,CACA,IAEIS,EAFAj8O,EAAO0wB,EAAKsQ,MAAMtQ,EAAK3/B,GAC3B2/B,EAAK3/B,EAAIuxC,EACA,IAAM25M,EAAM,IAAIT,GAAMx7O,GAAS,MAAMjQ,IAAK,OACnD,IAAIwrS,EAAWl/C,GAAUJ,EAAK,0BAA0B,GACxD,GAAIs/C,EACJ,OAAOrrB,GAAgBqrB,EAAUlpS,QANAq+B,EAAK3/B,EAAIuxC,GAgrRP/wC,EAAE,IACtC,KAAQ,CAAE1B,EAAE,eACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,cAAeI,EA9kY3B,SAA2BygC,GAI1B,MAAO,CAHkC,IAAvBA,EAAK28M,WAAW,GACe,IAAvB38M,EAAK28M,WAAW,GACnB38M,EAAK28M,WAAW,KA2kYQ97O,EAAE,IAClD,KAAQ,CAAE1B,EAAE,mBAAoBI,EAAEmjQ,IAClC,KAAQ,CAAEvjQ,EAAE,gBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,uBAAwBI,EAphZpC,SAAoCygC,GACnC,IAAI2tF,EApSL,SAAyB3tF,GACxB,IAAIw1J,EAAKx1J,EAAK28M,WAAW,GACrBx5C,EAAQnjK,EAAK28M,WAAW,GAE5B,OADA38M,EAAK3/B,GAAK,EACH,CAACkP,KAAMimL,EAAI2N,MAAOA,GAgSZ2nG,CAAgB9qQ,GAC7B,GAAkB,MAAf2tF,EAAOp+G,KAAgB,MAAM,IAAIiuB,MAAM,yBAA2BmwF,EAAOp+G,MAE5E,OAAoB,IADLywB,EAAK28M,WAAW,KAkhZhC,KAAQ,CAAEx9O,EAAE,oBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QAASI,EAAEqjQ,IACvB,KAAQ,CAAEzjQ,EAAE,cACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,WAAYI,EA/5XxB,SAAwBygC,EAAM5kC,EAAQuG,GACrC,IAAIqG,EAAM,CAAC4kF,MAAK,GAChB,GAAgB,GAAbjrF,EAAKgxP,KAA+B,OAAlB3yN,EAAK3/B,GAAKjF,EAAe4M,EAC9C,IAAIvH,EAAIu/B,EAAK28M,WAAW,GAExB,OAF4B38M,EAAK3/B,GAAK,EAC9B,GAAJI,IAAWuH,EAAI4kF,MAAO,GACnB5kF,IA25XR,KAAQ,CAAE7I,EAAE,YACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,aAAcI,EA99X1B,SAA0BygC,GAGzB,IAFA,IAAImnQ,EAAMnnQ,EAAK28M,WAAW,GACtB/9O,EAAI,GACFuoS,KAAM,GAAGvoS,EAAEwG,KAAKm/P,GAAcvkO,IACpC,OAAOphC,IA29XR,KAAQ,CAAEO,EAAE,UACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,QAEZwpI,EAAQ,CAAExpI,EAAE,aAAcI,EAAE+mQ,IAC5B,EAAQ,CAAEnnQ,EAAE,WAAYI,EAl4XxB,SAAwBygC,GACvB,IAAI+1E,EAAOyuJ,GAAcxkO,KACvBA,EAAK3/B,EACP,IAAIsqI,EAAM3qG,EAAK28M,WAAW,GAG1B,OAFA5mI,EAAKh1G,EAAI,IACTg1G,EAAK/zF,IAAM2oH,EACJ50B,IA63XR,EAAQ,CAAE52G,EAAE,UAAWI,EAAEknQ,IACzB,EAAQ,CAAEtnQ,EAAE,SAAUI,EAr3XtB,SAA2BygC,GAC1B,IAAIijO,EAAMjjO,EAAK28M,WAAW,GAC1B,OAAW,IAARsmB,GAAajjO,EAAK3/B,IAAY,IAC1B2/B,EAAK28M,WAAWsmB,EAAK,eAm3X7B,EAAQ,CAAE9jQ,EAAE,YACZ,GAAQ,CAAEA,EAAE,SACZ,GAAQ,CAAEA,EAAE,cAAeI,EAAEqjQ,IAC7B,GAAQ,CAAEzjQ,EAAE,cAAeI,EAAE8mQ,IAC7B,GAAQ,CAAElnQ,EAAE,eACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,QAASI,EAAEgpQ,IACvB,GAAQ,CAAEppQ,EAAE,mBAAoBI,EAAEumQ,IAClC,GAAQ,CAAE3mQ,EAAE,gBAAiBI,EAv3X7B,SAA6BygC,EAAM5kC,GAClC4kC,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAK,EACV2/B,EAAK3/B,GAAKjF,EAAS,KAk3XpB,GAAQ,CAAE+D,EAAE,cACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,WACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,MACZ,IAAQ,CAAEA,EAAE,SAAUI,EAt7XtB,SAAsBygC,GACrB,IAAIslO,EAAKtlO,EAAK28M,WAAW,GACrBouD,EAAM/qQ,EAAK28M,WAAW,GACtBquD,EAAMhrQ,EAAK28M,WAAW,GACtB/9O,EAAI,CAACu4O,IAAImuB,EAAIylC,IAAIA,EAAKznQ,IAAI0nQ,EAAK17R,KAAK0wB,EAAKsQ,MAAMtQ,EAAK3/B,EAAE2/B,EAAK3/B,EAAE2qS,IAEjE,OADAhrQ,EAAK3/B,GAAK2qS,EACHpsS,IAi7XR,IAAQ,CAAEO,EAAE,SACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,UAAWI,EAn4XvB,SAAuBygC,EAAM5kC,EAAQuG,GACpC,IAAIiwC,EAAM5R,EAAK3/B,EAAIjF,EACf26G,EAAOyuJ,GAAcxkO,GACrBijO,EAAMjjO,EAAK28M,WAAW,GACtB36H,EAAM0hJ,GAA2B1jO,EAAMijO,EAAKthQ,GAIhD,OAHAq+B,EAAK3/B,EAAIuxC,EACTmkE,EAAKh1G,EAAI,MACTg1G,EAAK/zF,IAAMggG,EACJjM,IA43XR,IAAQ,CAAE52G,EAAE,UACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,MAAOI,EAAEimQ,IACrB,IAAQ,CAAErmQ,EAAE,MAAOI,EAAEooQ,IACrB,IAAQ,CAAExoQ,EAAE,aAAcI,EAAEwnQ,IAC5B,IAAQ,CAAE5nQ,EAAE,QACZ,IAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,MAAOI,EAAEimQ,IACrB,KAAQ,CAAErmQ,EAAE,WACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,aAAc0B,EAAE,IAE5B,MAAQ,IAGJoqS,GAAQthD,EAAUu0C,GAAe,KACrC,SAASgN,GAAenhF,EAAIx6M,EAAM2hI,EAAS91I,GAC1C,IAAI2F,GAAKwO,IAAS07R,GAAM17R,GACxB,IAAGjD,MAAMvL,GAAT,CACA,IAAIuiC,EAAMloC,IAAW81I,GAAS,IAAI91I,QAAU,EACxCwD,EAAImrN,EAAGlqN,KAAK,GAChBjB,EAAE29O,YAAY,EAAGx7O,GACjBnC,EAAE29O,YAAY,EAAGj5M,GACdA,EAAM,GAAKitN,GAAOr/G,IAAU64E,EAAG3kN,KAAK8rI,IA0BxC,SAASi6J,GAAgBz2P,EAAK7zC,EAAGL,GAMhC,OALIk0C,IAAKA,EAAMurM,GAAQ,IACvBvrM,EAAI6nM,YAAY,EAAG17O,GACnB6zC,EAAI6nM,YAAY,EAAG/7O,GACnBk0C,EAAI6nM,YAAY,EAAG,GACnB7nM,EAAI6nM,YAAY,EAAG,GACZ7nM,EAoBR,SAAS02P,GAAoBrhF,EAAIh0G,EAAMy9E,EAAGtpC,GACzC,GAAa,MAAVn0C,EAAKvqG,EAAW,OAAOuqG,EAAKh1G,GAC9B,IAAK,IAAK,IAAK,IACd,IAAIyK,EAAc,KAAVuqG,EAAKh1G,EAAW+oP,EAAQS,GAAUx0I,EAAKvqG,IAAMuqG,EAAKvqG,EAK1D,YAJIA,IAAQ,EAAFA,IAAUA,GAAK,GAAOA,EAAI,MACnC0/R,GAAenhF,EAAI,EA5/XvB,SAAwBlpN,EAAGL,EAAGwhB,GAC7B,IAAI0yB,EAAMurM,GAAQ,GAGlB,OAFAkrD,GAAgBz2P,EAAK7zC,EAAGL,GACxBk0C,EAAI6nM,YAAY,EAAGv6N,GACZ0yB,EAw/XuB22P,CAAe73G,EAAGtpC,EAAG1+I,IAEhD0/R,GAAenhF,EAAI,EA7gYvB,SAAwBlpN,EAAGL,EAAGwhB,GAC7B,IAAI0yB,EAAMurM,GAAQ,IAGlB,OAFAkrD,GAAgBz2P,EAAK7zC,EAAGL,GACxBk0C,EAAI6nM,YAAY,EAAGv6N,EAAK,KACjB0yB,EAygYuB42P,CAAe93G,EAAEtpC,EAAG1+I,KAEjD,IAAK,IAAK,IAAK,IAAwE,YAAnE0/R,GAAenhF,EAAI,EA1BzC,SAAyBlpN,EAAGL,EAAGwhB,EAAKjhB,GACnC,IAAI2zC,EAAMurM,GAAQ,GAIlB,OAHAkrD,GAAgBz2P,EAAK7zC,EAAGL,GAChB,KAALO,GAAY2zC,EAAI6nM,YAAY,EAAGv6N,GAAM0yB,EAAI6nM,YAAY,EAAG,KACpD7nM,EAAI6nM,YAAY,EAAGv6N,EAAI,EAAE,GAAI0yB,EAAI6nM,YAAY,EAAG,IAChD7nM,EAqByC62P,CAAgB/3G,EAAGtpC,EAAGn0C,EAAKvqG,EAAGuqG,EAAKh1G,IAElF,IAAK,IAAK,IAAK,MAEd,YADAmqS,GAAenhF,EAAI,EApBtB,SAA0BlpN,EAAGL,EAAGwhB,GAC/B,IAAI0yB,EAAMurM,GAAQ,EAAI,EAAEj+N,EAAI5mB,QAI5B,OAHA+vS,GAAgBz2P,EAAK7zC,EAAGL,GACxBk0C,EAAI6nM,YAAY,EAAGv6N,EAAI5mB,QACvBs5C,EAAI6nM,YAAYv6N,EAAI5mB,OAAQ4mB,EAAK,QAC1B0yB,EAAIr0C,EAAIq0C,EAAIt5C,OAASs5C,EAAIpE,MAAM,EAAGoE,EAAIr0C,GAAKq0C,EAerB82P,CAAiBh4G,EAAGtpC,EAAGn0C,EAAKvqG,IAGzD0/R,GAAenhF,EAAI,EAAQohF,GAAgB,KAAM33G,EAAGtpC,IA0BrD,SAASuhJ,GAAgBp7E,EAAI1uN,GAC5B,IAAI/C,EAAI+C,GAAQ,GAIhB,IAFA,IAAIooN,EAAKioC,KACLj0N,EAAM,EACF5iC,EAAE,EAAEA,EAAEk1N,EAAG8jC,WAAW/4P,SAASD,EAAMk1N,EAAG8jC,WAAWh5P,IAAMyD,EAAEq1P,QAAOl2N,EAAI5iC,GAC5E,GAAU,GAAP4iC,GAAcn/B,EAAEq1P,OAAS5jC,EAAG8jC,WAAW,IAAMv1P,EAAEq1P,MAAO,MAAM,IAAIz2N,MAAM,oBAAsB5+B,EAAEq1P,OAMjG,OALAi3C,GAAenhF,EAAI,EAAQ27C,GAAUr1C,EAAI,GAAMzxN,IA9BhD,SAAwBmrN,EAAIlqE,EAAI9hH,EAAKp8B,GACpC,IACmD+qE,EAD/C6nL,EAAQx1P,MAAMC,QAAQ6gJ,GACtB/V,EAAQ6pH,GAAkB9zG,EAAG,SAAW,MAAYwlD,EAAK,GAAIh0G,EAAO,GACxE,GAAGy4C,EAAMzqI,EAAEmB,EAAI,KAAQspI,EAAMzqI,EAAEwB,EAAI,MAAQ,CAC1C,GAAGc,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,UAAYqiH,EAAG,SAAW,MAAQ,oCAC/D/V,EAAMzqI,EAAEmB,EAAIiF,KAAK6K,IAAIw5H,EAAMzqI,EAAEmB,EAAG,KAChCspI,EAAMzqI,EAAEwB,EAAI4E,KAAK6K,IAAIw5H,EAAMzqI,EAAEmB,EAAG,OAChCksE,EAAMgnL,GAAa5pH,GAEpB,IAAI,IAAI0pD,EAAI1pD,EAAM5qI,EAAE2B,EAAG2yL,GAAK1pD,EAAMzqI,EAAEwB,IAAK2yL,EAAG,CAC3C6R,EAAK6tD,GAAW1/D,GAChB,IAAI,IAAItpC,EAAIpgB,EAAM5qI,EAAEsB,EAAG0pJ,GAAKpgB,EAAMzqI,EAAEmB,IAAK0pJ,EAAG,CACxCspC,IAAM1pD,EAAM5qI,EAAE2B,IAAGwwF,EAAK64D,GAAKipG,GAAWjpG,IACzCx9E,EAAM2kB,EAAK64D,GAAKm7C,EAChB,IAAItvF,EAAOw+I,GAAS10G,EAAG2zC,IAAI,IAAItpC,GAAKrK,EAAGnzE,GACnCqpC,GAEJq1L,GAAoBrhF,EAAIh0G,EAAMy9E,EAAGtpC,KAenCwhJ,CAAe3hF,EAAIsG,EAAG+jC,OAAO/jC,EAAG8jC,WAAWp2N,IAAOA,EAAKn/B,GAEvDssS,GAAenhF,EAAI,IACZA,EAAGn4K,MAGX,SAAS+5P,GAAkB5hF,EAAIz6M,EAAM3N,GACpCupS,GAAenhF,EAAI,OA1rZpB,SAAoBz6M,EAAM3N,GACzB,IAAIjB,EAAO4O,EAAK5O,MAAQ,QACpB0wL,EAAMzvL,GAAsB,GAAbA,EAAKgxP,KACpB/zP,EAAIqhP,GADkC7uD,EAAM,GAAK1wL,EAAKtF,OAAW,GAAK,EAAIsF,EAAKtF,QAUnF,OARAwD,EAAE29O,YAAY,EAAqB,IAAjBjtO,EAAKooI,IAAM,KAC7B94I,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,KACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG77O,EAAKtF,QAClBg2L,GAAIxyL,EAAE29O,YAAY,EAAG,GACzB39O,EAAE29O,aAAanrD,EAAK,EAAI,GAAK1wL,EAAKtF,OAAQsF,EAAO0wL,EAAK,OAAS,WACxDxyL,EA8qZoBgtS,CAAW,CACrCl0J,GAAG,GACHrvI,MAAO,CAACsvP,MAAM,GACdj3P,KAAM,QACNo9M,OAAQ,EACRw9D,OAAQ,SACN35Q,IA2CJ,SAASkqS,GAAoB9hF,EAAIh0G,EAAMy9E,EAAGtpC,EAAGvoJ,GAC5C,IAAIilQ,EAAK,GAAK+iB,GAAehoR,EAAKk7Q,QAAS9mK,EAAMp0G,GACjD,GAAa,MAAVo0G,EAAKvqG,GAAcuqG,EAAK6yK,GAI3B,GAAG7yK,EAAK6yK,GAAIsiB,GAAenhF,EAAI,UAAWy+D,GAAczyK,EAAMy9E,EAAGtpC,EAAGvoJ,EAAMilQ,SACrE,OAAO7wJ,EAAKh1G,GAChB,IAAK,IAAK,IAAK,IAGdmqS,GAAenhF,EAAI,SAlhZtB,SAAsBv2B,EAAGtpC,EAAG1+I,EAAGo7P,GAC9B,IAAIhoQ,EAAIqhP,GAAQ,IAGhB,OAFAykB,GAAclxE,EAAGtpC,EAAG08G,EAAIhoQ,GACxB44P,GAAWhsP,EAAG5M,GACPA,EA8gZwBktS,CAAat4G,EAAGtpC,EAF3B,KAAVn0C,EAAKh1G,EAAW+oP,EAAQS,GAAUx0I,EAAKvqG,IAAMuqG,EAAKvqG,EAEPo7P,IACnD,MACD,IAAK,IAAK,IAAK,IACdskC,GAAenhF,EAAI,IAAQ48C,GAAcnzE,EAAGtpC,EAAGn0C,EAAKvqG,EAAGo7P,EAAIjlQ,EAAMo0G,EAAKh1G,IACtE,MAED,IAAK,IAAK,IAAK,MACd,GAAGY,EAAKgzQ,QAEPu2B,GAAenhF,EAAI,WA1uZvB,SAAwBv2B,EAAGtpC,EAAG1+I,EAAGo7P,GAChC,IAAIhoQ,EAAIqhP,GAAQ,IAGhB,OAFAykB,GAAclxE,EAAGtpC,EAAG08G,EAAIhoQ,GACxBA,EAAE29O,YAAY,EAAG/wO,GACV5M,EAsuZ2BmtS,CAAev4G,EAAGtpC,EADtCq/H,GAAW5nR,EAAKqrR,QAASj3K,EAAKvqG,EAAG7J,EAAKsrR,YACSrmB,SACpDskC,GAAenhF,EAAI,QA3tZ7B,SAAqBv2B,EAAGtpC,EAAG1+I,EAAGo7P,EAAIjlQ,GACjC,IAAI4vL,GAAM5vL,GAAqB,GAAbA,EAAKgxP,KACnB/zP,EAAIqhP,IAAkB1uD,EAAV,GAAiB,EAAIA,GAAM/lL,EAAEpQ,QAK7C,OAJAspQ,GAAclxE,EAAGtpC,EAAG08G,EAAIhoQ,GACxBA,EAAE29O,YAAY,EAAG/wO,EAAEpQ,QAChBm2L,GAAI3yL,EAAE29O,YAAY,EAAG,GACxB39O,EAAE29O,aAAa,EAAIhrD,GAAM/lL,EAAEpQ,OAAQoQ,EAAG+lL,EAAK,UAAY,QAChD3yL,EAotZ8BotS,CAAYx4G,EAAGtpC,EAAGn0C,EAAKvqG,EAAGo7P,EAAIjlQ,IACjE,MACD,QACCupS,GAAenhF,EAAI,QAAS26C,GAAclxE,EAAGtpC,EAAG08G,SArBjDskC,GAAenhF,EAAI,QAAS26C,GAAclxE,EAAGtpC,EAAG08G,IA0BlD,SAASqlC,GAAeluQ,EAAKp8B,EAAM0uN,GAClC,IAMI3jJ,EANAq9I,EAAKioC,KACL9yP,EAAImxN,EAAG8jC,WAAWp2N,GAAM8hH,EAAKwwE,EAAG+jC,OAAOl1P,IAAM,GAC7CgtS,GAAQ77E,GAAI,IAAI6+D,UAAU,GAC1Bid,GAAWD,EAAI93C,QAAQ,IAAIr2N,IAAM,GACjCw2N,EAAQx1P,MAAMC,QAAQ6gJ,GACtB0xC,EAAkB,GAAb5vL,EAAKgxP,KACLttD,EAAK,GAAIh0G,EAAO,GACrBy4C,EAAQ6pH,GAAkB9zG,EAAG,SAAW,MACxCusJ,EAAW76G,EAAK,MAAQ,MAC5B,GAAGznD,EAAMzqI,EAAEmB,EAAI,KAAQspI,EAAMzqI,EAAEwB,GAAKurS,EAAU,CAC7C,GAAGzqS,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAM,UAAYqiH,EAAG,SAAW,MAAQ,oCAC/D/V,EAAMzqI,EAAEmB,EAAIiF,KAAK6K,IAAIw5H,EAAMzqI,EAAEmB,EAAG,KAChCspI,EAAMzqI,EAAEwB,EAAI4E,KAAK6K,IAAIw5H,EAAMzqI,EAAEmB,EAAG4rS,EAAS,GAG1ClB,GAAenhF,EAAI,KAAQ27C,GAAUr1C,EAAI,GAAM1uN,IAE/CupS,GAAenhF,EAAI,WAAY84C,GAAY,IAC3CqoC,GAAenhF,EAAI,YAAa84C,GAAY,MAC5CqoC,GAAenhF,EAAI,cAAe44C,IAAU,IAC5CuoC,GAAenhF,EAAI,WAAY44C,IAAU,IACzCuoC,GAAenhF,EAAI,YAAaytC,GAAW,OAC3C0zC,GAAenhF,EAAI,iBAAkB44C,IAAU,IAC/CuoC,GAAenhF,EAAI,cAAe44C,IAAU,IAC5CuoC,GAAenhF,EAAI,YAAa44C,IAAU,IAC1CuoC,GAAenhF,EAAI,UAAW84C,GAAY,IAC1CqoC,GAAenhF,EAAI,OA9lZpB,SAAoBsiF,GACnB,IAAIztS,EAAIqhP,GAAQ,GAIhB,OAHArhP,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG8vD,EAAK,GAAKA,EAAK,GAAK,EAAI,GACzCztS,EAAE29O,YAAY,EAAG8vD,EAAK,GAAKA,EAAK,GAAK,EAAI,GAClCztS,EAylZoB0tS,CAAW,CAAC,EAAE,KAIzCpB,GAAenhF,EAAI,UAAW44C,IAAU,IACxCuoC,GAAenhF,EAAI,UAAW44C,IAAU,IAExCuoC,GAAenhF,EAAI,IA9tZpB,SAA0BjgF,EAAOnoI,GAChC,IAAI2xB,EAAiB,GAAb3xB,EAAKgxP,MAAchxP,EAAKgxP,KAAW,EAAJ,EACnC/zP,EAAIqhP,GAAQ,EAAE3sN,EAAI,GAMtB,OALA10B,EAAE29O,YAAYjpN,EAAGw2G,EAAM5qI,EAAE2B,GACzBjC,EAAE29O,YAAYjpN,EAAGw2G,EAAMzqI,EAAEwB,EAAI,GAC7BjC,EAAE29O,YAAY,EAAGzyG,EAAM5qI,EAAEsB,GACzB5B,EAAE29O,YAAY,EAAGzyG,EAAMzqI,EAAEmB,EAAI,GAC7B5B,EAAE29O,YAAY,EAAG,GACV39O,EAstZmB2tS,CAAiBziK,EAAOnoI,IAG/C4vL,IAAI1xC,EAAG,UAAY,IACtB,IAAI,IAAI2zC,EAAI1pD,EAAM5qI,EAAE2B,EAAG2yL,GAAK1pD,EAAMzqI,EAAEwB,IAAK2yL,EAAG,CAC3C6R,EAAK6tD,GAAW1/D,GAChB,IAAI,IAAItpC,EAAIpgB,EAAM5qI,EAAEsB,EAAG0pJ,GAAKpgB,EAAMzqI,EAAEmB,IAAK0pJ,EAAG,CACxCspC,IAAM1pD,EAAM5qI,EAAE2B,IAAGwwF,EAAK64D,GAAKipG,GAAWjpG,IACzCx9E,EAAM2kB,EAAK64D,GAAKm7C,EAChB,IAAItvF,EAAOw+I,GAAS10G,EAAG2zC,IAAI,IAAItpC,GAAKrK,EAAGnzE,GACnCqpC,IAEJ81L,GAAoB9hF,EAAIh0G,EAAMy9E,EAAGtpC,EAAGvoJ,GACjC4vL,GAAMx7E,EAAK11G,GAAGw/I,EAAG,UAAUz6I,KAAK,CAACsnE,EAAKqpC,EAAK11G,MAGhD,IAAI4uR,EAAQkd,EAAOzf,UAAYyf,EAAOzrS,MAAQxB,EAa9C,OAXGqyL,GAAI25G,GAAenhF,EAAI,UAz1Z3B,SAAuB0pB,GACtB,IAAI70O,EAAIqhP,GAAQ,IAAK1gP,EAAI,KAOzB,OANGk0O,GAAQA,EAAK83C,MAAKhsR,GAAK,IAC1BX,EAAE29O,YAAY,EAAGh9O,GACjBX,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,IACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACV39O,EAi1Z8B4tS,EAAeN,EAAI9gB,OAAO,IAAI,KAEhE75F,IAAO1xC,EAAG,YAAY,IAAIzkJ,QAAQ8vS,GAAenhF,EAAI,aAv7YzD,SAA0BkiE,GACzB,IAAIrtR,EAAIqhP,GAAQ,EAAoB,EAAhBgsC,EAAO7wR,QAC3BwD,EAAE29O,YAAY,EAAG0vC,EAAO7wR,QACxB,IAAI,IAAID,EAAI,EAAGA,EAAI8wR,EAAO7wR,SAAUD,EAAG6pQ,GAAYinB,EAAO9wR,GAAIyD,GAC9D,OAAOA,EAm7Y+D6tS,CAAiB5sJ,EAAG,aAEvF0xC,GA9FJ,SAA+Bw4B,EAAIlqE,GAClC,IAAI,IAAI2zC,EAAE,EAAGA,EAAE3zC,EAAG,UAAUzkJ,SAAUo4L,EAAG,CACxC,IAAIk5G,EAAK7sJ,EAAG,UAAU2zC,GACtB03G,GAAenhF,EAAI,QAAS2+C,GAAYgkC,IACrCA,EAAG,GAAGjrI,SAASypI,GAAenhF,EAAI,eAAgB4+C,GAAmB+jC,WAElE7sJ,EAAG,UAwFH8sJ,CAAsB5iF,EAAIlqE,GAEjCqrJ,GAAenhF,EAAI,WAAY85C,GAAsBorB,IAElD19F,GAzHJ,SAAoBw4B,EAAIlqE,GAEvB,IAAIjhJ,EAAIqhP,GAAQ,IAChBrhP,EAAE29O,YAAY,EAAG,MAAQ39O,EAAE29O,YAAY,EAAG,GAAI39O,EAAE29O,YAAY,EAAG,GAC/D39O,EAAE29O,YAAY,EAAG,GAAI39O,EAAE29O,YAAY,EAAG,GAAI39O,EAAE29O,YAAY,EAAG,GAC3D2uD,GAAenhF,EAAI,UAAWnrN,IAE9BA,EAAIqhP,GAAQ,KACV1D,YAAY,EAAG,MAAQ39O,EAAE29O,YAAY,EAAG,GAAI39O,EAAE29O,YAAY,EAAG,GAC/D39O,EAAE29O,YAAY,EAAG,GAAI39O,EAAE29O,YAAY,EAAG,GAAI39O,EAAE29O,YAAY,EAAG,GAC3D39O,EAAE29O,YAAY,EAAG,GAAI39O,EAAE29O,YAAY,EAAG,GAAI39O,EAAE29O,YAAY,EAAG,GAC3DyoB,GAAYrR,GAAkB9zG,EAAG,SAAS,MAAOjhJ,GACjDA,EAAE29O,YAAY,EAAG,GACjB2uD,GAAenhF,EAAI,OAAQnrN,GA4GpBguS,CAAW7iF,EAAIlqE,GAEtBqrJ,GAAenhF,EAAI,OACZA,EAAGn4K,MAIX,SAASi7P,GAAmBx8E,EAAIwjB,EAAMlyO,GACrC,IAAIklH,EAAImrI,KACJk6C,GAAQ77E,GAAI,IAAI6+D,UAAU,GAC1B4d,EAAWZ,EAAI93C,QAAQ,GACvB24C,EAAMb,EAAIpY,SAAS,GACnBviG,EAAkB,GAAb5vL,EAAKgxP,KAAWvhE,EAAkB,GAAbzvL,EAAKgxP,MACnCu4C,GAAerkL,EAAG,KAAQ6+I,GAAUr1C,EAAI,EAAM1uN,IAC1B,OAAjBA,EAAKgkQ,UAAmBulC,GAAerkL,EAAG,SAC7CqkL,GAAerkL,EAAG,eAAgB0qE,EAAKsxE,GAAY,MAAU,MAC7DqoC,GAAerkL,EAAG,MA98anB,SAAqB1nH,EAAGP,GAASA,IAAGA,EAAEqhP,GAAQ9gP,IAAI,IAAI,IAAIuY,EAAE,EAAGA,EAAEvY,IAAKuY,EAAG9Y,EAAE29O,YAAY,EAAG,GAAI,OAAO39O,EA88a3EouS,CAAY,IAClC57G,GAAI85G,GAAerkL,EAAG,cACtBuqE,GAAI85G,GAAerkL,EAAG,cACzBqkL,GAAerkL,EAAG,gBAClBqkL,GAAerkL,EAAG,cA/ganB,SAA2B3nH,EAAGyC,GAC7B,IAAI4vL,GAAM5vL,GAAqB,GAAbA,EAAKgxP,KACnB/zP,EAAIqhP,GAAQ1uD,EAAK,IAAM,IAK3B,IAJA3yL,EAAE29O,YAAyB,GAAb56O,EAAKgxP,KAAY,EAAI,EAAG,GACnCphE,GAAI3yL,EAAE29O,YAAY,EAAG,GACxB39O,EAAE29O,YAAY,EAAG,WACjB39O,EAAE29O,YAAY,EAAI,SAAchrD,EAAK,EAAI,YACnC3yL,EAAEyB,EAAIzB,EAAExD,QAAQwD,EAAE29O,YAAY,EAAIhrD,EAAK,EAAI,IACjD,OAAO3yL,EAuga0BquS,CAAkB,EAAWtrS,IAE9DupS,GAAerkL,EAAG,WAAYg8I,GAAYtxE,EAAK,KAAS,OAErDA,GAAI25G,GAAerkL,EAAG,MAAOg8I,GAAY,IACzCtxE,GAAI25G,GAAerkL,EAAG,cACzBqkL,GAAerkL,EAAG,UAzwYnB,SAAuB1nH,GAEtB,IADA,IAAIu1C,EAAMurM,GAAQ,EAAI9gP,GACdhE,EAAI,EAAGA,EAAIgE,IAAKhE,EAAGu5C,EAAI6nM,YAAY,EAAGphP,EAAE,GAChD,OAAOu5C,EAswYsBw4P,CAAc78E,EAAG8jC,WAAW/4P,SACtDm2L,GAAM8+B,EAAG2+D,QAAQkc,GAAerkL,EAAG,UAEnC0qE,GAAM8+B,EAAG2+D,SAEXkc,GAAerkL,EAAG,WAAYg9I,GADlBkpC,EAAIrgB,UAAY,iBAG7Bwe,GAAerkL,EAAG,sBAAuBg8I,GAAY,KAIrDqoC,GAAerkL,EAAG,aAAc87I,IAAU,IAC1CuoC,GAAerkL,EAAG,UAAW87I,IAAU,IACvCuoC,GAAerkL,EAAG,WAAYg8I,GAAY,IACvCtxE,GAAI25G,GAAerkL,EAAG,WAAY87I,IAAU,IAC5CpxE,GAAI25G,GAAerkL,EAAG,eAAgBg8I,GAAY,IACrDqoC,GAAerkL,EAAG,UA95ZnB,WACC,IAAIjoH,EAAIqhP,GAAQ,IAUhB,OATArhP,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,OACjB39O,EAAE29O,YAAY,EAAG,OACjB39O,EAAE29O,YAAY,EAAG,IACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,KACV39O,EAm5ZsBuuS,IAC7BjC,GAAerkL,EAAG,SAAU87I,IAAU,IACtCuoC,GAAerkL,EAAG,UAAWg8I,GAAY,IACzCqoC,GAAerkL,EAAG,WAAY87I,GAAwB,QAlzIvD,SAAkBtyC,GAEjB,OAAIA,EAAG6+D,UACH7+D,EAAG6+D,SAAS4E,SACTrmC,GAAap9B,EAAG6+D,SAAS4E,QAAQh+C,UAAY,OAF5B,QAgzIgBs3D,CAAS/8E,KACjD66E,GAAerkL,EAAG,gBAAiB87I,IAAU,IAC1CpxE,GAAI25G,GAAerkL,EAAG,aAAc87I,IAAU,IACjDuoC,GAAerkL,EAAG,WAAYg8I,GAAY,IAE1C8oC,GAAkB9kL,EAAGwpG,EAAI1uN,GAlL1B,SAA0BooN,EAAI4yD,EAAIh7Q,GAC7Bg7Q,GACJ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAO,GAAgB,MAAMtpP,SAAQ,SAASxyB,GACtE,IAAI,IAAI1F,EAAI0F,EAAE,GAAI1F,GAAK0F,EAAE,KAAM1F,EAAe,MAATwhR,EAAGxhR,IAAY+vS,GAAenhF,EAAI,SAAUq8C,GAAajrQ,EAAGwhR,EAAGxhR,GAAIwG,OAgLvG0rS,CAAiBxmL,EAAGwpG,EAAG2jB,IAAKryO,GA5J7B,SAA6BooN,EAAIpoN,GAChC,IAAI,IAAIxG,EAAI,EAAGA,EAAI,KAAMA,EAAG+vS,GAAenhF,EAAI,KAAMw8C,GAAS,CAACzS,SAAS,EAAG9iP,OAAM,GAAO,EAAGrP,IAC3FA,EAAKk7Q,QAAQxpP,SAAQ,SAAS7yB,GAC7B0qS,GAAenhF,EAAI,KAAMw8C,GAAS/lQ,EAAG,EAAGmB,OA0JzC2rS,CAAoBzmL,EAAGllH,GAEpB4vL,GAAI25G,GAAerkL,EAAG,WAAY87I,IAAU,IAC/C,IA32YsB/jQ,EA22YlBqM,EAAI47G,EAAEj1E,MAENs4G,EAAI8nG,KAELzgE,GAAI25G,GAAehhJ,EAAG,WA92YrBtrJ,IAAGA,EAAIqhP,GAAQ,IACnBrhP,EAAE29O,YAAY,EAAG,GACjB39O,EAAE29O,YAAY,EAAG,GACV39O,IA+2YJ2yL,GAAM5vL,EAAKqrR,SAnTf,SAA6BjjE,EAAIx6M,EAAM2hI,EAAS91I,GAC/C,IAAIkoC,EAAMloC,IAAW81I,GAAS,IAAI91I,QAAU,EAC5C,GAAGkoC,GAAO,KAAM,OAAO4nQ,GAAenhF,EAAIx6M,EAAM2hI,EAAS5tG,GACzD,IAAIviC,GAAKwO,IAAS07R,GAAM17R,GACxB,IAAGjD,MAAMvL,GAAT,CAGA,IAFA,IAAIi8B,EAAQk0G,EAAQl0G,OAAS,GAAI80O,EAAO,EACpC32Q,EAAI,EAAGm4B,EAAI,EACTA,GAAK0J,EAAM80O,IAAS,OAAS,MAAQx+O,GAAK0J,EAAM80O,IAAS,KAAOA,IACtE,IAAIlzQ,EAAImrN,EAAGlqN,KAAK,GAKhB,IAJAjB,EAAE29O,YAAY,EAAGx7O,GACjBnC,EAAE29O,YAAY,EAAGjpN,GACjBy2L,EAAG3kN,KAAK8rI,EAAQ5gG,MAAMn1C,EAAGA,EAAIm4B,IAC7Bn4B,GAAKm4B,EACCn4B,EAAImoC,GAAK,CAId,KAHA1kC,EAAImrN,EAAGlqN,KAAK,IACV08O,YAAY,EAAG,IACjBjpN,EAAI,EACEA,GAAK0J,EAAM80O,IAAS,OAAS,MAAQx+O,GAAK0J,EAAM80O,IAAS,KAAOA,IACtElzQ,EAAE29O,YAAY,EAAGjpN,GACjBy2L,EAAG3kN,KAAK8rI,EAAQ5gG,MAAMn1C,EAAGA,EAAEm4B,IAAKn4B,GAAIm4B,IAgSdi6Q,CAAoBrjJ,EAAG,MAjga/C,SAAmBwqH,EAAK/yQ,GACvB,IAAIgsH,EAASsyH,GAAQ,GACrBtyH,EAAO4uH,YAAY,EAAGm4B,EAAIE,OAC1BjnJ,EAAO4uH,YAAY,EAAGm4B,EAAII,QAE1B,IADA,IAAIxb,EAAO,GACH5hP,EAAI,EAAGA,EAAIg9P,EAAIt5Q,SAAUsc,EAAG4hP,EAAK5hP,GAAK6rP,GAAkCmR,EAAIh9P,IACpF,IAAI9Y,EAAIg1O,EAAQ,CAACjmH,GAAQ7mG,OAAOwyO,IAEhC,OADD16P,EAAEo+B,MAAQ,CAAC2wF,EAAOvyH,QAAQ0rB,OAAOwyO,EAAKvzO,KAAI,SAASi8F,GAAO,OAAOA,EAAI5mH,WAC7DwD,EAy/Z8C4uS,CAAU7rS,EAAKqrR,UAGpEke,GAAehhJ,EAAG,OAClB,IAAI1pJ,EAAI0pJ,EAAEt4G,MAENs9I,EAAI8iE,KACJy7C,EAAO,EAAG/1R,EAAI,EAClB,IAAIA,EAAI,EAAGA,EAAI24M,EAAG8jC,WAAW/4P,SAAUsc,EAAG+1R,IAASl8G,EAAK,GAAK,KAAOA,EAAK,EAAI,GAAK8+B,EAAG8jC,WAAWz8O,GAAGtc,OACnG,IAAIgb,EAAQnL,EAAE7P,OAASqyS,EAAOjtS,EAAEpF,OAChC,IAAIsc,EAAI,EAAGA,EAAI24M,EAAG8jC,WAAW/4P,SAAUsc,EAAG,CAEzCwzR,GAAeh8G,EAAG,cAAe02E,GAAkB,CAACn0N,IAAIr7B,EAAOyvP,IADlDinC,EAAQp1R,IAAO,IAC6Ci9Q,QAAQ,EAAGlvP,GAAG,EAAG/kC,KAAK2vN,EAAG8jC,WAAWz8O,IAAK/V,IAClHyU,GAASy9N,EAAKn8N,GAAGtc,OAGlB,IAAIoN,EAAI0mL,EAAEt9I,MACV,GAAG67P,GAAQjlS,EAAEpN,OAAQ,MAAM,IAAIoiC,MAAM,OAASiwQ,EAAO,OAASjlS,EAAEpN,QAEhE,IAAIs5C,EAAM,GAIV,OAHGzpC,EAAE7P,QAAQs5C,EAAItvC,KAAK6F,GACnBzC,EAAEpN,QAAQs5C,EAAItvC,KAAKoD,GACnBhI,EAAEpF,QAAQs5C,EAAItvC,KAAK5E,GACfq+O,GAAW,CAACnqM,IA+BpB,SAAS4uP,GAAejzE,EAAI1uN,GAC3B,IAAI/C,EAAI+C,GAAQ,GAChB,OAAO/C,EAAE+zP,MAAQ,GAChB,KAAK,EAAG,KAAK,EAAG,OA9BlB,SAAyBtiC,EAAI1uN,GAC5B,IAAI/C,EAAI+C,GAAQ,GACZkyO,EAAO,GAERxjB,IAAOA,EAAG2jB,MACZ3jB,EAAG2jB,IAAMA,EAAIuH,aAEXlrB,GAAMA,EAAG2jB,MACXC,EAASD,GAAMA,EAAIwH,WAAWnrB,EAAG2jB,KAEjCp1O,EAAEgrR,OAAS//B,EAAUx5B,EAAG2jB,KAAMp1O,EAAEgrR,OAAOv5D,EAAG2jB,IAAI,QAAU,EACxDp1O,EAAEirR,IAAMx5D,EAAG2jB,KAGZp1O,EAAEouR,QAAU,GAAIpuR,EAAEouR,QAAQpY,MAAQ,EAAGh2Q,EAAEouR,QAAQlY,OAAS,EACxD44B,GAAe9uS,GAEfA,EAAEi+Q,QAAU,GACZ8M,GAAe/qR,EAAEi+Q,QAAS,GAAI,CAAC+M,OAAO,CAAC,QAAU,KAE7Cv5D,EAAGsuC,QAAOtuC,EAAGsuC,MAAQ,IAEzB,IAAI,IAAIxjQ,EAAI,EAAGA,EAAIk1N,EAAG8jC,WAAW/4P,SAAUD,EAAG04O,EAAKA,EAAKz4O,QAAU6wS,GAAe9wS,EAAGyD,EAAGyxN,GAEvF,OADAwjB,EAAK16M,QAAQ0zQ,GAAmBx8E,EAAIwjB,EAAMj1O,IACnCigP,GAAW,CAAChL,IAMK85D,CAAgBt9E,EAAI1uN,GAC3C,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,OAAO8pS,GAAgBp7E,EAAI1uN,GAEpD,MAAM,IAAI67B,MAAM,gBAAkB5+B,EAAE+mQ,SAAW,aAGhD,IAAIi0B,GAAS,WACZ,SAASgU,EAAc5rL,EAAK8+H,GAC3B,IAAIn/O,EAAOm/O,GAAS,GAEpB,IAAIjhG,EAAKl+I,EAAK4yP,MAAS,GAAO,GAE1Bu2B,GADJ9oK,EAAMA,EAAIj8G,QAAQ,cAAe,KAClB+B,MAAM,WACrB,IAAIgjR,EAAM,MAAM,IAAIttP,MAAM,wCAC1B,IAAIqwQ,EAAQ7rL,EAAIl6G,MAAM,aAClB3M,EAAI2vR,EAAKrrP,MAAO/nB,EAAIm2R,GAASA,EAAMpuQ,OAASuiF,EAAI5mH,OAChDg2F,EAltgBN,SAAqB4wB,EAAK3xF,EAAIroB,GAC7B,GAAG+iP,IAAiC,iBAAN16N,EAAgB,OAAO2xF,EAAIn3G,MAAMwlB,GAE/D,IADA,IAAI9uB,EAAIygH,EAAIn3G,MAAMwlB,GAAKzxB,EAAI,CAAC2C,EAAE,IACtBpG,EAAI,EAAGA,EAAIoG,EAAEnG,SAAUD,EAAKyD,EAAEwG,KAAK4C,GAAMpJ,EAAEwG,KAAK7D,EAAEpG,IAC1D,OAAOyD,EA8sgBKkvS,CAAY9rL,EAAI1xE,MAAMn1C,EAAGuc,GAAI,iBAAkB,QACtD87K,GAAK,EAAGtpC,EAAI,EAAGmlH,EAAK,EAAGikB,EAAK,EAC5BxpJ,EAAQ,CAAC5qI,EAAE,CAAC2B,EAAE,IAAUL,EAAE,KAAUnB,EAAE,CAACwB,EAAE,EAAEL,EAAE,IAC7CyrR,EAAS,GACb,IAAI9wR,EAAI,EAAGA,EAAIi2F,EAAKh2F,SAAUD,EAAG,CAChC,IAAIo9E,EAAM6Y,EAAKj2F,GAAG2K,OACdiiN,EAAKxvI,EAAIjoC,MAAM,EAAE,GAAGn5B,cACxB,GAAS,OAAN4wM,GACH,GAAS,OAANA,GAAqB,OAANA,EAAlB,CACA,IAAI4lE,EAAQp1M,EAAI1tE,MAAM,cACtB,IAAI6M,EAAI,EAAGA,EAAIi2Q,EAAMvyR,SAAUsc,EAAG,CACjC,IAAIq+F,EAAO43K,EAAMj2Q,GAAG5R,OACpB,GAAIiwG,EAAKjuG,MAAM,WAAf,CAGA,IAFA,IAAIvH,EAAIw1G,EAAMm0G,EAAK,EAEE,KAAf3pN,EAAE6mB,OAAO,KAAc8iM,EAAK3pN,EAAEoI,QAAQ,OAAS,GAAGpI,EAAIA,EAAE+vC,MAAM45K,EAAG,GACvE,IAAI,IAAI6jF,EAAO,EAAGA,EAAO9hB,EAAO7wR,SAAU2yS,EAAM,CAC/C,IAAI7hB,EAASD,EAAO8hB,GACjB7hB,EAAOhtR,EAAEsB,GAAK0pJ,GAAKgiI,EAAOhtR,EAAE2B,EAAI2yL,GAAKA,GAAK04F,EAAO7sR,EAAEwB,IAAKqpJ,EAAIgiI,EAAO7sR,EAAEmB,EAAI,EAAGutS,GAAQ,GAExF,IAAIxlK,EAAM8jH,GAAYt2I,EAAKzlE,MAAM,EAAGylE,EAAKptG,QAAQ,OACjD2qR,EAAK/qJ,EAAIvxB,SAAWuxB,EAAIvxB,QAAU,IAC9Bq4J,GAAM9mI,EAAIxxB,SAAS,GAAKu8K,EAAG,IAAGrH,EAAO7mR,KAAK,CAAClG,EAAE,CAAC2B,EAAE2yL,EAAEhzL,EAAE0pJ,GAAG7qJ,EAAE,CAACwB,EAAE2yL,GAAK67E,GAAI,GAAK,EAAG7uQ,EAAE0pJ,EAAIopI,EAAK,KAC5F,IAAIxgG,EAAKvqD,EAAIxnI,GAAK,GAElB,GAAIR,EAAEnF,QAIN,GAHAmF,EAAI0tP,GAAW1tP,GACZupI,EAAM5qI,EAAE2B,EAAI2yL,IAAG1pD,EAAM5qI,EAAE2B,EAAI2yL,GAAM1pD,EAAMzqI,EAAEwB,EAAI2yL,IAAG1pD,EAAMzqI,EAAEwB,EAAI2yL,GAC5D1pD,EAAM5qI,EAAEsB,EAAI0pJ,IAAGpgB,EAAM5qI,EAAEsB,EAAI0pJ,GAAMpgB,EAAMzqI,EAAEmB,EAAI0pJ,IAAGpgB,EAAMzqI,EAAEmB,EAAI0pJ,GAC3D3pJ,EAAEnF,OAAN,CACA,IAAIwD,EAAI,CAACmC,EAAE,IAAKyK,EAAEjL,GACfoB,EAAK8mO,MAAQloO,EAAEuF,OAAO1K,QAAgB,KAAN03L,IACrB,SAANvyL,EAAc3B,EAAI,CAACmC,EAAE,IAAKyK,GAAE,GACtB,UAANjL,EAAe3B,EAAI,CAACmC,EAAE,IAAKyK,GAAE,GAC5Bc,MAAMq+O,GAASpqP,IACf+L,MAAMs+O,GAAUrqP,GAAGo0L,aAC3B/1L,EAAK,CAACmC,EAAE,IAAKyK,EAAE++O,GAAUhqP,IACrBoB,EAAKozP,YAAWn2P,EAAK,CAACmC,EAAE,IAAKyK,EAAEs+O,EAAQlrP,EAAE4M,KAC7C5M,EAAE+3F,EAAIh1F,EAAKu5O,QAAUlH,EAAIsH,OAAO,KAJJ18O,EAAI,CAACmC,EAAE,IAAKyK,EAAEm/O,GAASpqP,KAMjDoB,EAAK4yP,OAAa10G,EAAG2zC,KAAI3zC,EAAG2zC,GAAK,IAAI3zC,EAAG2zC,GAAGtpC,GAAKtrJ,GAC9CihJ,EAAGizG,GAAY,CAACjyP,EAAE2yL,EAAGhzL,EAAE0pJ,KAAOtrJ,EACnCsrJ,GAAKopI,QAjBWppI,GAAKopI,SAlBtB,CAAuB,KAAH9/F,EAAM7xL,EAAKsoQ,WAAatoQ,EAAKsoQ,WAAaz2E,EAAG,GAAIA,EAAG,MAAStpC,EAAI,GAwCtF,OAFArK,EAAG,QAAU6zG,GAAa5pH,GACvBmiJ,EAAO7wR,SAAQykJ,EAAG,WAAaosI,GAC3BpsI,EAKR,SAASmuJ,EAAcnuJ,EAAIh/I,EAAG2yL,EAAG50L,GAGhC,IAFA,IAAI40B,EAAKqsH,EAAG,YAAa,GACrBkxG,EAAK,GACD7mG,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,EAAG,CAEnC,IADA,IAAImlH,EAAK,EAAGikB,EAAK,EACT57Q,EAAI,EAAGA,EAAI8b,EAAEp4B,SAAUsc,EAC9B,KAAG8b,EAAE9b,GAAGxY,EAAE2B,EAAI2yL,GAAKhgK,EAAE9b,GAAGxY,EAAEsB,EAAI0pJ,MAC3B12H,EAAE9b,GAAGrY,EAAEwB,EAAI2yL,GAAKhgK,EAAE9b,GAAGrY,EAAEmB,EAAI0pJ,GAA9B,CACA,GAAG12H,EAAE9b,GAAGxY,EAAE2B,EAAI2yL,GAAKhgK,EAAE9b,GAAGxY,EAAEsB,EAAI0pJ,EAAG,CAAEmlH,GAAM,EAAG,MAC5CA,EAAK77O,EAAE9b,GAAGrY,EAAEwB,EAAI2yB,EAAE9b,GAAGxY,EAAE2B,EAAI,EAAGyyR,EAAK9/P,EAAE9b,GAAGrY,EAAEmB,EAAIgzB,EAAE9b,GAAGxY,EAAEsB,EAAI,EAAG,MAE7D,KAAG6uQ,EAAK,GAAR,CACA,IAAI1rF,EAAQmvE,GAAY,CAACjyP,EAAE2yL,EAAEhzL,EAAE0pJ,IAC3Bn0C,EAAOn3G,EAAE21P,OAAS10G,EAAG2zC,IAAI,IAAItpC,GAAKrK,EAAG8jC,GAErCrwJ,EAAKyiF,GAAkB,MAAVA,EAAKvqG,IAAeuqG,EAAKzjF,GAAK86N,GAAWr3I,EAAKziF,IAAMygO,GAAYh+I,GAAOA,EAAKziF,IAAM,MAAQ,GACvG6zP,EAAM,GACP9X,EAAK,IAAG8X,EAAGpwK,QAAUs4J,GACrBikB,EAAK,IAAGnM,EAAGnwK,QAAUs8K,GACxBnM,EAAGpmR,EAAIg1G,GAAQA,EAAKh1G,GAAK,IACtBnC,EAAEqvS,WAAU36Q,EAAI,gCAAkCA,EAAI,WACzD6zP,EAAG1kQ,IAAM7jB,EAAE6jB,IAAM,OAAS,IAAMkhK,EACrB,KAARwjG,EAAGpmR,IAAYomR,EAAG37Q,EAAIuqG,EAAKvqG,EAAgB,MAAVuqG,EAAKpf,IAAWwwL,EAAGxwL,EAAIof,EAAKpf,IAChEo6J,EAAG3rP,KAAKypP,GAAU,KAAMv7N,EAAG6zP,KAG5B,MADe,OACGp2B,EAAGpmP,KAAK,IAAM,QAEjC,SAASujS,EAAmBruJ,EAAI2zC,EAAG50L,GAElC,MADU,GACC+L,KAAK,IAAM,UAAY/L,GAAKA,EAAE6jB,GAAK,QAAU7jB,EAAE6jB,GAAK,IAAM,IAAM,IAE5E,IAAI0rR,EAAS,sFACTC,EAAO,iBAcX,MAAO,CACNhkC,YAnDD,SAAsBpoJ,EAAKrgH,GAC1B,OAAOqyP,GAAkB45C,EAAc5rL,EAAKrgH,GAAOA,IAmDnD0oQ,SAAUujC,EACVzzL,KAAM6zL,EACNK,MAAOF,EACPG,IAAKF,EACLG,UAAWL,EACX5jC,WApBD,SAAuBzqH,EAAIl+I,GAC1B,IAAI/C,EAAI+C,GAAQ,GACZgsH,EAAqB,MAAZ/uH,EAAE+uH,OAAiB/uH,EAAE+uH,OAASwgL,EACvClgL,EAAqB,MAAZrvH,EAAEqvH,OAAiBrvH,EAAEqvH,OAASmgL,EACvC15P,EAAM,CAACi5E,GACP9sH,EAAI4yP,GAAa5zG,EAAG,SACxBjhJ,EAAE21P,MAAQx1P,MAAMC,QAAQ6gJ,GACxBnrG,EAAItvC,KAAK8oS,EAAmBruJ,EAAIh/I,EAAGjC,IACnC,IAAI,IAAI40L,EAAI3yL,EAAE3B,EAAE2B,EAAG2yL,GAAK3yL,EAAExB,EAAEwB,IAAK2yL,EAAG9+I,EAAItvC,KAAK4oS,EAAcnuJ,EAAIh/I,EAAG2yL,EAAG50L,IAErE,OADA81C,EAAItvC,KAAK,WAAa6oH,GACfv5E,EAAI/pC,KAAK,MA1GL,GAwHb,SAAS6jS,GAAc3uJ,EAAI4wB,EAAOqwE,GACjC,IAAIn/O,EAAOm/O,GAAS,GAEpB,IAAI2tD,EAAO,EAAGC,EAAO,EACrB,GAAkB,MAAf/sS,EAAKkiG,OACP,GAAyB,iBAAfliG,EAAKkiG,OAAoB4qM,EAAO9sS,EAAKkiG,WAC1C,CACJ,IAAI6wJ,EAAgC,iBAAf/yP,EAAKkiG,OAAqB2vJ,GAAY7xP,EAAKkiG,QAAUliG,EAAKkiG,OAC/E4qM,EAAO/5C,EAAQ7zP,EAAG6tS,EAAOh6C,EAAQl0P,EAGnC,IAAI4wF,EAAOq/E,EAAMhwJ,qBAAqB,MAClCwpP,EAAYxkQ,KAAK6K,IAAI3O,EAAKsoQ,WAAW,IAAU74K,EAAKh2F,QACpD0uI,EAAQ,CAAC5qI,EAAE,CAAC2B,EAAE,EAAEL,EAAE,GAAGnB,EAAE,CAACwB,EAAE4tS,EAAKjuS,EAAEkuS,IACrC,GAAG7uJ,EAAG,QAAS,CACd,IAAI80G,EAASlB,GAAa5zG,EAAG,SAC7B/V,EAAM5qI,EAAE2B,EAAI4E,KAAK6K,IAAIw5H,EAAM5qI,EAAE2B,EAAG8zP,EAAOz1P,EAAE2B,GACzCipI,EAAM5qI,EAAEsB,EAAIiF,KAAK6K,IAAIw5H,EAAM5qI,EAAEsB,EAAGm0P,EAAOz1P,EAAEsB,GACzCspI,EAAMzqI,EAAEwB,EAAI4E,KAAK+K,IAAIs5H,EAAMzqI,EAAEwB,EAAG8zP,EAAOt1P,EAAEwB,GACzCipI,EAAMzqI,EAAEmB,EAAIiF,KAAK+K,IAAIs5H,EAAMzqI,EAAEmB,EAAGm0P,EAAOt1P,EAAEmB,IAC7B,GAATiuS,IAAY3kK,EAAMzqI,EAAEwB,EAAI4tS,EAAO95C,EAAOt1P,EAAEwB,EAAI,GAEhD,IAAIorR,EAAS,GAAI8hB,EAAO,EACpB//B,EAAUnuH,EAAG,WAAaA,EAAG,SAAW,IACxC20G,EAAK,EAAGhhE,EAAI,EAAGihE,EAAK,EAAGvqG,EAAI,EAAGmlH,EAAK,EAAGikB,EAAK,EAE/C,IADIzzI,EAAG,WAAUA,EAAG,SAAW,IACzB20G,EAAKpjK,EAAKh2F,QAAUo4L,EAAIy2E,IAAazV,EAAI,CAC9C,IAAIj8K,EAAM6Y,EAAKojK,GACf,GAAIm6C,GAAsBp2N,GAAM,CAC/B,GAAI52E,EAAK+gB,QAAS,SAClBsrP,EAAQx6E,GAAK,CAACi7E,QAAQ,GAEvB,IAAImgC,EAAQr2N,EAAIznE,SAChB,IAAI2jP,EAAKvqG,EAAI,EAAGuqG,EAAKm6C,EAAKxzS,SAAUq5P,EAAI,CACvC,IAAI7T,EAAMguD,EAAKn6C,GACf,IAAI9yP,EAAK+gB,UAAWisR,GAAsB/tD,GAA1C,CACA,IAAIp1O,EAAIo1O,EAAIhyM,aAAa,KAAOgyM,EAAItyM,aAAa,KAAO2/M,GAAWrN,EAAIn7N,WACnEkxE,EAAIiqJ,EAAItyM,aAAa,KACzB,IAAIy/P,EAAO,EAAGA,EAAO9hB,EAAO7wR,SAAU2yS,EAAM,CAC3C,IAAIxtS,EAAI0rR,EAAO8hB,GACZxtS,EAAErB,EAAEsB,GAAK0pJ,EAAIwkJ,GAAQnuS,EAAErB,EAAE2B,EAAI2yL,EAAIi7G,GAAQj7G,EAAIi7G,GAAQluS,EAAElB,EAAEwB,IAAKqpJ,EAAI3pJ,EAAElB,EAAEmB,EAAE,EAAIkuS,EAAMX,GAAQ,GAG9Fza,GAAM1yC,EAAItyM,aAAa,YAAc,IAC/B+gO,GAAOzuB,EAAItyM,aAAa,YAAc,GAAK,GAAKglP,EAAG,IAAGrH,EAAO7mR,KAAK,CAAClG,EAAE,CAAC2B,EAAE2yL,EAAIi7G,EAAKjuS,EAAE0pJ,EAAIwkJ,GAAMrvS,EAAE,CAACwB,EAAE2yL,EAAIi7G,GAAQp/B,GAAI,GAAK,EAAG7uQ,EAAE0pJ,EAAIwkJ,GAAQpb,GAAI,GAAK,KACvJ,IAAI10R,EAAI,CAACmC,EAAE,IAAKyK,EAAEA,GACdsnL,EAAK8tD,EAAItyM,aAAa,MAAQ,GAC1B,MAAL9iC,IACa,GAAZA,EAAEpQ,OAAawD,EAAEmC,EAAI+xL,GAAM,IACtBnxL,EAAK8mO,KAA0B,GAAnBj9N,EAAE1F,OAAO1K,QAAqB,KAAN03L,IAC9B,SAANtnL,EAAc5M,EAAI,CAACmC,EAAE,IAAKyK,GAAE,GACtB,UAANA,EAAe5M,EAAI,CAACmC,EAAE,IAAKyK,GAAE,GAC5Bc,MAAMq+O,GAASn/O,IACfc,MAAMs+O,GAAUp/O,GAAGmpL,aAC3B/1L,EAAK,CAACmC,EAAE,IAAKyK,EAAE++O,GAAU/+O,IACrB7J,EAAKozP,YAAWn2P,EAAK,CAACmC,EAAE,IAAKyK,EAAEs+O,EAAQlrP,EAAE4M,KAC7C5M,EAAE+3F,EAAIh1F,EAAKu5O,QAAUlH,EAAIsH,OAAO,KAJJ18O,EAAI,CAACmC,EAAE,IAAKyK,EAAEm/O,GAASn/O,WAO1C0yB,IAARt/B,EAAE+3F,GAAwB,MAALA,IAAW/3F,EAAE+3F,EAAIA,GACtCh1F,EAAK4yP,OAAa10G,EAAG2zC,EAAIi7G,KAAO5uJ,EAAG2zC,EAAIi7G,GAAQ,IAAI5uJ,EAAG2zC,EAAIi7G,GAAMvkJ,EAAIwkJ,GAAQ9vS,GAC1EihJ,EAAGizG,GAAY,CAACtyP,EAAE0pJ,EAAIwkJ,EAAM7tS,EAAE2yL,EAAIi7G,KAAU7vS,EAC9CkrI,EAAMzqI,EAAEmB,EAAI0pJ,EAAIwkJ,IAAM5kK,EAAMzqI,EAAEmB,EAAI0pJ,EAAIwkJ,GACzCxkJ,GAAKopI,KAEJ9/F,EAMH,OAJGy4F,EAAO7wR,SAAQykJ,EAAG,YAAcA,EAAG,YAAc,IAAI/4H,OAAOmlQ,IAC/DniJ,EAAMzqI,EAAEwB,EAAI4E,KAAK+K,IAAIs5H,EAAMzqI,EAAEwB,EAAG2yL,EAAI,EAAIi7G,GACxC5uJ,EAAG,QAAU6zG,GAAa5pH,GACvB0pD,GAAKy2E,IAAWpqH,EAAG,YAAc6zG,IAAc5pH,EAAMzqI,EAAEwB,EAAIuwF,EAAKh2F,OAAOo5P,EAAGhhE,EAAE,EAAIi7G,EAAK3kK,KACjF+V,EAGR,SAASgvJ,GAAgBp+H,EAAOqwE,GAG/B,OAAO0tD,IAFI1tD,GAAS,IACNyT,MAAS,GAAO,GACL9jF,EAAOqwE,GAOjC,SAAS6tD,GAAsB31R,GAC9B,IAAI0J,EAAU,GACVosR,EAOL,SAAyC91R,GAExC,OAAGA,EAAQwvB,cAAcumQ,aAA6E,oBAAvD/1R,EAAQwvB,cAAcumQ,YAAYt6R,iBAAwCuE,EAAQwvB,cAAcumQ,YAAYt6R,iBAE5H,oBAArBA,iBAAwCA,iBAC3C,KAZkBu6R,CAAgCh2R,GAGzD,OAFG81R,IAAoBpsR,EAAUosR,EAAmB91R,GAAStE,iBAAiB,YAC1EgO,IAASA,EAAU1J,EAAQhI,MAAM0R,SAClB,SAAZA,EAYR,IAAIusR,GAAqB,WAExB,IAAIC,EAAe,SAAS38R,GAE3B,IAAI0rM,EAAQ1rM,EACVxM,QAAQ,YAAa,KAAKD,OAAOC,QAAQ,MAAO,KAChDA,QAAQ,cAAc,KACtBA,QAAQ,8BAA8B,SAAS6yO,EAAGh4M,GAAM,OAAO7hC,MAAMyd,SAASokB,EAAG,IAAI,GAAGj2B,KAAK,QAC7F5E,QAAQ,qBAAqB,MAC7BA,QAAQ,uBAAuB,MAGjC,MAAO,CAFC6mP,GAAY3uC,EAAMl4M,QAAQ,WAAW,OAK1CopS,EAAiB,CAEpBC,IAAe,CAAC,IAAO,MACvBC,MAAe,CAAC,IAAO,MACvBC,KAAe,CAAC,IAAO,MACvBC,MAAe,CAAC,IAAO,MACvBC,QAAe,CAAC,IAAO,MACvBC,QAAe,CAAC,IAAO,MACvB,QAAe,CAAC,MAAO,SACvB,cAAe,CAAC,MAAO,QACvBC,IAAe,CAAC,IAAO,MAEvBC,QAAe,CAAC,OAAQ,oBAGzB,OAAO,SAAalvS,EAAGqgP,GACtB,IAAIn/O,EAAOm/O,GAAS,GAEpB,IACgB+4C,EACZtxJ,EAEAqnK,EACAC,EAGA9kF,EAAIpkG,EARJ3E,EAAMu3K,GAAe94R,GACrB4iE,EAAQ,GAERysO,EAAQ,CAACpvS,KAAK,IAAKi8Q,EAAK,GAAIyd,EAAO,EAGnChmC,EAAS,GAAID,EAAa,GAC1Bt0G,EAAKl+I,EAAK4yP,MAAS,GAAO,GAE1Bw7C,EAAQ,CAAC/xS,MAAM,IACfgyS,EAAQ,GAAIC,EAAW,EACvBC,EAAQ,GACR18G,GAAK,EAAGtpC,GAAK,EAAGpgB,EAAQ,CAAC5qI,EAAG,CAAC2B,EAAE,IAAQL,EAAE,KAAWnB,EAAG,CAACwB,EAAE,EAAGL,EAAE,IAC/D2vS,EAAS,EACTC,EAAoB,GACpBnkB,EAAS,GAAIokB,EAAS,GACtBriC,EAAU,GAAIsiC,EAAU,EAAGC,EAAU,EACrCvoB,EAAS,GACT5tB,EAAK,CAAC+1B,MAAM,IACZqgB,EAAQ,GACRC,EAAO,CAAC,GAAI,IACZl3C,EAAW,GAAIx0N,EAAW,GAC1B4yJ,EAAU,GAAI+4G,EAAa,EAC3BC,GAAS,EAAOC,GAAU,EAC1Bz1S,EAAI,EAGR,IAFAq+R,GAAUnwP,UAAY,EACtB24E,EAAMA,EAAIj8G,QAAQ,sBAAsB,IAAIA,QAAQ,+BAA+B,IAC5EglN,EAAKyuE,GAAU9oQ,KAAKsxF,IAAO,OAAQ+oG,EAAG,GAAGA,EAAG,GAAGhlN,QAAQ,OAAO,KAEpE,IAAK,QAAS,IAAK,qBACP,MAARglN,EAAG,IACFjhF,EAAMzqI,EAAEmB,GAAKspI,EAAM5qI,EAAEsB,GAAKspI,EAAMzqI,EAAEwB,GAAKipI,EAAM5qI,EAAE2B,EAAGg/I,EAAG,QAAU6zG,GAAa5pH,GAC1E+V,EAAG,QAAU,QACfl+I,EAAKsoQ,UAAY,GAAKtoQ,EAAKsoQ,WAAangI,EAAMzqI,EAAEwB,IAClDg/I,EAAG,YAAcA,EAAG,QACpB/V,EAAMzqI,EAAEwB,EAAIc,EAAKsoQ,UAAY,EAC7BpqH,EAAG,QAAU6zG,GAAa5pH,IAExBmiJ,EAAO7wR,SAAQykJ,EAAG,WAAaosI,GAC/Bje,EAAQ5yQ,SAAQykJ,EAAG,SAAWmuH,GACjC4hC,EAAQlvS,KAAOkvS,EAAQ,iBAASA,EAAQlvS,KACrB,qBAAT8lB,MAAsBA,KAAKC,UAAUmpR,GAC/Cz7C,EAAW/uP,KAAKwqS,EAAQlvS,MACxB0zP,EAAOw7C,EAAQlvS,MAAQm/I,EACvB+wJ,GAAU,GAE8B,MAAjC7lF,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,KACjCw0S,EAAUvjD,GAAYthC,EAAG,IAAI,GAC7Bv3B,EAAItpC,GAAK,EACTpgB,EAAM5qI,EAAE2B,EAAIipI,EAAM5qI,EAAEsB,EAAI,IAAUspI,EAAMzqI,EAAEwB,EAAIipI,EAAMzqI,EAAEmB,EAAI,EAC1Dq/I,EAAKl+I,EAAK4yP,MAAS,GAAO,GAAK03B,EAAS,GACxCje,EAAU,GACV4iC,GAAU,GAEX,MAED,IAAK,kBACS,MAAV7lF,EAAG,KAAcolF,IAAeA,EACnC,MACD,IAAK,YAAa,IAAK,SACtB,GAAa,MAAVplF,EAAG,GAAY,CAAEv3B,GAAG88G,EAASA,EAAU,EAAG,MAK7C,IAJAT,EAASxjD,GAAYthC,EAAG,IAAI,IAClB,gBAAOv3B,EAAIq8G,EAAO,gBAAQ,GAAiB,GAANr8G,IAASA,EAAI,IAC5D88G,GAAWT,EAAO,yBAA2B,GAEhC,GAAI,IAAI10S,EAAI,EAAGA,EAAIm1S,IAAWn1S,EAAMg1S,EAAS,IAAGniC,EAAQx6E,EAAIr4L,GAAK,CAACmoH,MAAO6sL,IACtFjmJ,GAAK,EAAG,MACT,IAAK,qBACS,MAAV6gE,EAAG,MAAc7gE,EACjBvoJ,EAAKmzP,aACJnzP,EAAK4yP,OAAa10G,EAAG2zC,KAAI3zC,EAAG2zC,GAAK,IAAI3zC,EAAG2zC,GAAGtpC,GAAK,CAACnpJ,EAAE,MACjD8+I,EAAGizG,GAAY,CAACjyP,EAAE2yL,EAAEhzL,EAAE0pJ,KAAO,CAACnpJ,EAAE,MAEtCivS,EAAQ,GAAIE,EAAQ,GACpB,MACD,IAAK,aAAc,IAAK,eACvB,GAAoC,MAAjCnlF,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,KAC1B8uJ,EACF6lJ,EAAO1jD,GAAYthC,EAAG,IAAI,GAC1BwlF,EAAU/zR,SAASuzR,EAAK,4BAA4B,IAAK,IACzDppL,EAAK,CAAC5lH,EAAE,IAAKyK,EAAE,MACZukS,EAAKzhC,SAA+B,GAApB3sQ,EAAK4sR,cAAsB5nK,EAAEpnH,EAAI2pR,GAAmBt8B,GAAYmjD,EAAKzhC,WAC7C,WAAvCyhC,EAAK,6BAAWA,EAAK,iBACxBppL,EAAE5lH,EAAI,IAAK4lH,EAAEn7G,EAAIohP,GAAYmjD,EAAK,iBAAmB,IAClDpuS,EAAK4yP,OACH10G,EAAG2zC,KAAI3zC,EAAG2zC,GAAK,IACnB3zC,EAAG2zC,GAAGtpC,GAAKvjC,GAEXk5B,EAAGizG,GAAY,CAACjyP,EAAE2yL,EAAEhzL,EAAE0pJ,KAAOvjC,GAG/BujC,GAAIqmJ,EAAQ,OACN,GAAW,MAARxlF,EAAG,GAAU,CAEtBwlF,EAAU,EACV,IAAIM,EAAOP,EAAU98G,EAAI88G,EAAU,EAAI98G,EAQvC,KAVEtpC,EAGKpgB,EAAMzqI,EAAEmB,IAAGspI,EAAMzqI,EAAEmB,EAAI0pJ,GAC3BA,EAAIpgB,EAAM5qI,EAAEsB,IAAGspI,EAAM5qI,EAAEsB,EAAI0pJ,GAC3BspC,EAAI1pD,EAAM5qI,EAAE2B,IAAGipI,EAAM5qI,EAAE2B,EAAI2yL,GAC3Bq9G,EAAO/mK,EAAMzqI,EAAEwB,IAAGipI,EAAMzqI,EAAEwB,EAAIgwS,GAEjCt3C,EAAW,GAAIx0N,EAAW,GAC1B4hF,EAAK,CAAC5lH,GAFNgvS,EAAO1jD,GAAYthC,EAAG,IAAI,IAEb,6BAAWglF,EAAK,cAAevkS,EAAE,MAC3C7J,EAAK4sR,YASP,GARGwhB,EAAKzhC,UAASyhC,EAAKzhC,QAAU1hB,GAAYmjD,EAAKzhC,UAC9CyhC,EAAK,kCAAoCA,EAAK,gCAGhDM,EAAS,CAACnxS,EAAG,CAAC2B,EAAE2yL,EAAEhzL,EAAE0pJ,GAAI7qJ,EAAE,CAACwB,EAAE2yL,GAFxBh3K,SAASuzR,EAAK,8BAA8B,KAAO,GAEpB,EAAEvvS,EAAE0pJ,GADnC1tI,SAASuzR,EAAK,iCAAiC,KAAO,GACZ,IAC/CppL,EAAE1nH,EAAIy0P,GAAa28C,GACnBroB,EAAO5iR,KAAK,CAACirS,EAAQ1pL,EAAE1nH,KAErB8wS,EAAKzhC,QAAS3nJ,EAAEpnH,EAAI2pR,GAAmB6mB,EAAKzhC,cAC1C,IAAInzQ,EAAI,EAAGA,EAAI6sR,EAAO5sR,SAAUD,EACjCq4L,GAAKw0F,EAAO7sR,GAAG,GAAG+D,EAAE2B,GAAK2yL,GAAKw0F,EAAO7sR,GAAG,GAAGkE,EAAEwB,GAC5CqpJ,GAAK89H,EAAO7sR,GAAG,GAAG+D,EAAEsB,GAAK0pJ,GAAK89H,EAAO7sR,GAAG,GAAGkE,EAAEmB,IAC/CmmH,EAAE1nH,EAAI+oR,EAAO7sR,GAAG,IAapB,QAXG40S,EAAK,2BAA6BA,EAAK,0BAGzCM,EAAS,CAACnxS,EAAG,CAAC2B,EAAE2yL,EAAEhzL,EAAE0pJ,GAAI7qJ,EAAE,CAACwB,EAAE2yL,GAFxBh3K,SAASuzR,EAAK,uBAAuB,KAAO,GAEb,EAAEvvS,EAAE0pJ,GADnC1tI,SAASuzR,EAAK,0BAA0B,KAAO,GACL,IAC/C9jB,EAAO7mR,KAAKirS,IAIVN,EAAK,6BAA4BQ,EAAU/zR,SAASuzR,EAAK,2BAA4B,KAGjFppL,EAAE5lH,GACR,IAAK,UAAW4lH,EAAE5lH,EAAI,IAAK4lH,EAAEn7G,EAAIiiP,GAAasiD,EAAK,kBAAmB,MACtE,IAAK,QACL,IAAK,aACL,IAAK,WAAYppL,EAAE5lH,EAAI,IAAK4lH,EAAEn7G,EAAI3D,WAAWkoS,EAAK/xS,OAAQ,MAC1D,IAAK,OAAQ2oH,EAAE5lH,EAAI,IAAK4lH,EAAEn7G,EAAI++O,GAAUwlD,EAAK,eACxCpuS,EAAKozP,YAAapuI,EAAE5lH,EAAI,IAAK4lH,EAAEn7G,EAAIs+O,EAAQnjI,EAAEn7G,IACjDm7G,EAAEhwB,EAAI,SAAU,MACjB,IAAK,OAAQgwB,EAAE5lH,EAAI,IAAK4lH,EAAEn7G,EAAI2+O,EAAa4lD,EAAK,eAAe,MAAO,MACtE,IAAK,SAAUppL,EAAE5lH,EAAI,IAAK4lH,EAAEn7G,EAAI3D,WAAWkoS,EAAK,6BAAU,MAC1D,QACC,GAAW,WAARppL,EAAE5lH,GAA0B,SAAR4lH,EAAE5lH,GAAiB4lH,EAAE5lH,EAGrC,MAAM,IAAIy8B,MAAM,0BAA4BmpF,EAAE5lH,GAFpD4lH,EAAE5lH,EAAI,IACqB,MAAxBgvS,EAAK,kBAA2BC,EAAQpjD,GAAYmjD,EAAK,iBAAkBG,EAAQ,SAGnF,CAWN,GAVAS,GAAS,EACE,MAARhqL,EAAE5lH,IACJ4lH,EAAEn7G,EAAIwkS,GAAS,GACZE,EAAM90S,SAAQurH,EAAE6sE,EAAI08G,GACvBS,EAAqB,GAAZV,GAEPO,EAAKv1C,SAAQt0I,EAAEtmH,EAAImwS,GACnBj3C,EAASn+P,OAAS,IAAKurH,EAAEnmH,EAAI+4P,EAAUA,EAAW,IAClDy2C,IAA2B,IAAlBruS,EAAK2vQ,WAAoB3qJ,EAAErzF,EAAI08Q,GACxCW,IAAUhqL,EAAE5lH,EAAI,WAAY4lH,EAAEn7G,KAC7BmlS,GAAUhvS,EAAKmzP,eACbnzP,EAAKsoQ,WAAatoQ,EAAKsoQ,WAAaz2E,GACxC,IAAI,IAAIs9G,EAAM,EAAGA,EAAMR,IAAWQ,EAAK,CAEtC,GADAP,EAAU/zR,SAASuzR,EAAK,4BAA4B,IAAK,IACtDpuS,EAAK4yP,MAGP,IAFI10G,EAAG2zC,EAAIs9G,KAAMjxJ,EAAG2zC,EAAIs9G,GAAO,IAC/BjxJ,EAAG2zC,EAAIs9G,GAAK5mJ,GAAY,GAAP4mJ,EAAWnqL,EAAI+jI,GAAI/jI,KAC5B4pL,EAAU,GAAG1wJ,EAAG2zC,EAAIs9G,GAAK5mJ,EAAIqmJ,GAAW7lD,GAAI/jI,QAGpD,IADAk5B,EAAGizG,GAAY,CAACjyP,EAAE2yL,EAAIs9G,EAAItwS,EAAE0pJ,KAAOvjC,IAC3B4pL,EAAU,GAAG1wJ,EAAGizG,GAAY,CAACjyP,EAAE2yL,EAAIs9G,EAAItwS,EAAE0pJ,EAAIqmJ,KAAa7lD,GAAI/jI,GAEpEmjB,EAAMzqI,EAAEmB,GAAK0pJ,IAAGpgB,EAAMzqI,EAAEmB,EAAI0pJ,GAKlCA,IADAqmJ,EAAU/zR,SAASuzR,EAAK,4BAA4B,IAAK,KAC5C,EAAGQ,EAAU,EAC1B5pL,EAAI,GACJqpL,EAAQ,GAAIE,EAAQ,GAErBM,EAAQ,GACR,MAGD,IAAK,WACL,IAAK,mBAAoB,IAAK,uCAC9B,IAAK,cAAe,IAAK,eACzB,IAAK,UACL,IAAK,SACL,IAAK,kBACL,IAAK,gBACJ,GAAW,MAARzlF,EAAG,IAAU,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,KAAM,cAAc8uE,MAC5B,MAAjC9uE,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,IAAYioE,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IACjE,MAED,IAAK,aACJ,GAAW,MAARA,EAAG,GAAS,CACd,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,KAAM,cAAc8uE,EACrD90P,EAAQhkC,EAAIivS,EACTE,EAAM90S,SAAQ2pC,EAAQyuJ,EAAI08G,GAC7BnrQ,EAAQ95B,EAAI0sL,EACZ4hE,EAASn0P,KAAK2/B,OAE0B,MAAjCgmL,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,IAAaioE,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IAClEpzB,EAAU,GAAI+4G,EAAa,EAC3BV,EAAQ,GAAIC,EAAW,EAAGC,EAAQ,GAClC,MAED,IAAK,UACO,MAARnlF,EAAG,GAAYpzB,EAAU31E,EAAI1xE,MAAMogQ,EAAW3lF,EAAGtrL,OAC/CixQ,EAAa3lF,EAAGtrL,MAAQsrL,EAAG,GAAG3vN,OACnC,MAGD,IAAK,OAAQ,IAAK,qBAClB,IAAK,WACL,IAAK,kBACL,IAAK,0BACL,IAAK,wBACL,IAAK,wBACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,QACL,IAAK,oBACL,IAAK,aACL,IAAK,OACL,IAAK,YACL,IAAK,kBACL,IAAK,QACJ,GAAW,MAAR2vN,EAAG,IAAU,IAAI8uE,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,KAAM,cAAc8uE,MAC5B,MAAjC9uE,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,IAAYioE,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,IACjEilF,EAAQ,GAAIC,EAAW,EAAGC,EAAQ,GAClC,MAED,IAAK,oBAEL,IAAK,kBAEL,IAAK,iBACJ,MACD,IAAK,eACL,IAAK,mBACL,IAAK,aACL,IAAK,aACJ,GAAW,MAARnlF,EAAG,IAEL,GADAqlF,EAAkBN,EAAMpvS,MAAQi8Q,GAC5Bkd,EAAIx2N,EAAM/9D,OAAO,KAAKylN,EAAG,GAAI,KAAM,cAAc8uE,MACX,MAAjC9uE,EAAG,GAAG3jM,OAAO2jM,EAAG,GAAG3vN,OAAO,KACnCuhR,EAAK,GACLmzB,EAAQzjD,GAAYthC,EAAG,IAAI,GAC3B1nJ,EAAMj+D,KAAK,CAAC2lN,EAAG,IAAI,KAClB,MAEH,IAAK,SACL,IAAK,YACL,IAAK,mBAAoB,MAEzB,IAAK,gBACL,IAAK,cACL,IAAK,QAEL,IAAK,MACL,IAAK,YAEL,IAAK,uBACL,IAAK,mBACL,IAAK,0BACL,IAAK,uBACL,IAAK,wBAAyB,MAE9B,IAAK,SACJ,OAAO1nJ,EAAMA,EAAMjoE,OAAO,GAAG,IAC5B,IAAK,aACL,IAAK,aACJmtI,EAAM8jH,GAAYthC,EAAG,IAAI,GACzB4xD,GAAMwyB,EAAepkF,EAAG,IAAgB,SAAZxiF,EAAIv3H,MAAe,EAAE,GACjD,MAEH,IAAK,WAAY,MAEjB,IAAK,MACL,IAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,cACL,IAAK,eACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,QACJ,OAAOqyD,EAAMA,EAAMjoE,OAAO,GAAG,IAC5B,IAAK,aACL,IAAK,aACJmtI,EAAM8jH,GAAYthC,EAAG,IAAI,GACzB4xD,GAAMwyB,EAAepkF,EAAG,IAAgB,SAAZxiF,EAAIv3H,MAAe,EAAE,GACjD,MAEH,IAAK,gBACL,IAAK,UACL,IAAK,aAAc,MACnB,IAAK,OACJ,GAAuB,OAApB+5M,EAAG,GAAGz6K,OAAO,GAAa,MACxB,GAAW,MAARy6K,EAAG,GAAU,OAAO1nJ,EAAMA,EAAMjoE,OAAO,GAAG,IACjD,IAAK,eACL,IAAK,aACL,IAAK,aACJuhR,GAAM36J,EAAI1xE,MAAM8pP,EAAMrvE,EAAGtrL,YAGtB26P,EAAOrvE,EAAGtrL,MAAQsrL,EAAG,GAAG3vN,OAC7B,MAED,IAAK,cAEJq1S,EAAOtnB,IADP5gJ,EAAM8jH,GAAYthC,EAAG,IAAI,IACA,uBACzB,IAAIgmF,EAAU,CAACtpC,KAAKl/H,EAAI7nI,KAAM2vR,IAAIogB,EAAK,GAAK,IAAMA,EAAK,IACpDG,IAASG,EAAO3gB,MAAQj8B,EAAW/4P,QACtCg/P,EAAG+1B,MAAM/qR,KAAK2rS,GACd,MAED,IAAK,eACL,IAAK,kBACL,IAAK,gBAAiB,MAEtB,IAAK,OAAQ,IAAK,2BAElB,IAAK,QACL,IAAK,eACL,IAAK,oBACL,IAAK,aAEL,IAAK,qBACL,IAAK,uBACL,IAAK,gBAEL,IAAK,YAEL,IAAK,qBACL,IAAK,uBACL,IAAK,oBACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,IAAK,OACL,IAAK,UACL,IAAK,cAEL,IAAK,MACL,IAAK,aACL,IAAK,OAAQ,MACb,IAAK,IAAK,IAAK,qBACd,GAAG,CAAC,iBAAiBpoS,QAAQ06D,EAAMA,EAAMjoE,OAAO,GAAG,KAAO,EAAG,MAC7D,GAAW,MAAR2vN,EAAG,IAAcglF,GAASA,EAAK,gBAGd1jD,GAAYthC,EAAG,IAAI,GAAQklF,EAAWllF,EAAGtrL,MAAQsrL,EAAG,GAAG3vN,WAHvB,CACnD,IAAI41S,EAAM9B,EAAaltL,EAAI1xE,MAAM2/P,EAASllF,EAAGtrL,QAC7CuwQ,GAASA,EAAM50S,OAAS,EAAI40S,EAAQ,KAAO,IAAMgB,EAAI,GAEtD,MACD,IAAK,IAAK,MAEV,IAAK,iBACJ,GAAW,MAARjmF,EAAG,GAAU,MAChB,IAECqpC,GADAq8C,EAAOtnB,GAAc98B,GAAYthC,EAAG,IAAI,0BAC5B,IAAI,eAAiB,CAAEr+I,IAAI+jO,EAAK,IAC3C,MAAMpxS,KACR,MAED,IAAK,OAEL,IAAK,SAAU,MACf,IAAK,QAAS,IAAK,eACnB,IAAK,OACL,IAAK,cAGL,IAAK,eACL,IAAK,WAEL,IAAK,YACL,IAAK,sBACL,IAAK,qBACL,IAAK,eACL,IAAK,gBACL,IAAK,kBACL,IAAK,SACL,IAAK,aACL,IAAK,YACL,IAAK,mBAEL,IAAK,0BACL,IAAK,0BACL,IAAK,wBAAyB,MAG9B,IAAK,mBACL,IAAK,kBACL,IAAK,kBACL,IAAK,eACL,IAAK,kBACL,IAAK,eACL,IAAK,uBACL,IAAK,aACL,IAAK,iBACL,IAAK,oBACL,IAAK,gBACL,IAAK,cACL,IAAK,qBACL,IAAK,iBACL,IAAK,2BACL,IAAK,cACL,IAAK,kBACL,IAAK,UACL,IAAK,YACL,IAAK,gBACL,IAAK,aAGL,IAAK,iBACJ,MAED,IAAK,kBACL,IAAK,gBACL,IAAK,aACL,IAAK,YACL,IAAK,qBACL,IAAK,eACL,IAAK,mBACL,IAAK,iBAIL,IAAK,cAIL,IAAK,cACL,IAAK,aACL,IAAK,OAGL,IAAK,oBACL,IAAK,YACL,IAAK,YACL,IAAK,oBAAqB,MAG1B,IAAK,mBACL,IAAK,oBACL,IAAK,iBACL,IAAK,mBACL,IAAK,mBACL,IAAK,uBACL,IAAK,sBACL,IAAK,qBACL,IAAK,oBACL,IAAK,0BACL,IAAK,uBACL,IAAK,yBACL,IAAK,6BACL,IAAK,oBACL,IAAK,mBACL,IAAK,0BAIL,IAAK,OACJ,MAGD,IAAK,uBACL,IAAK,sBACL,IAAK,WACL,IAAK,aAGL,IAAK,aACL,IAAK,WAAY,MAEjB,IAAK,IACJ,GAAY,MAAT0rN,EAAG,GAAW,CAEhB,KADAylF,EAAOnkD,GAAYthC,EAAG,IAAI,IACjB7rM,KAAM,MACfsxR,EAAKv1C,OAASu1C,EAAKtxR,YAAasxR,EAAKtxR,KACT,KAAzBsxR,EAAKv1C,OAAO7zO,OAAO,IAAaopR,EAAKv1C,OAAOtyP,QAAQ,MAAQ,IAC9D8nS,EAAOtnB,GAAcqnB,EAAKv1C,OAAO3qN,MAAM,IACvCkgQ,EAAKv1C,OAAS,IAAMw1C,EAAK,GAAK,IAAMA,EAAK,IAG3C,MAGD,IAAK,mBACL,IAAK,yBACL,IAAK,+BAAgC,MACrC,QAAS,OAAO1lF,EAAG,IAClB,IAAK,MACL,IAAK,WACL,IAAK,SACL,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,QACL,IAAK,OACL,IAAK,UACL,IAAK,UACJ,MACD,QAAS,GAAGppN,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAMutL,IAGxC,IAAIr2K,EAAO,CACV0/M,OAAQA,EACRD,WAAYA,EACZ+6B,SAAU90B,GAGX,OADGz4P,EAAKq6R,mBAAmBtnP,EAAI0/M,OACxB1/M,GAriBgB,GAyiBzB,SAASu8P,GAAU1lD,EAAK5pP,GACvBA,EAAOA,GAAS,GAChB,IAAIuvS,IAAQ5lD,GAAeC,EAAK,cAC7B2lD,GArmeJ,SAAwBzwS,EAAGkB,GAI1B,IAHA,IACIopN,EACAomF,EAFAnvL,EAAMu3K,GAAe94R,GAGlBsqN,EAAKyuE,GAAU9oQ,KAAKsxF,IAAO,OAAO+oG,EAAG,IAC3C,IAAK,WAAY,MACjB,IAAK,aAEJ,GAAiB,MADjBomF,EAAQ9kD,GAAYthC,EAAG,IAAI,IAClBl/M,MATC,mDAScslS,EAAM5hS,KAAiB,MAAM,IAAIiuB,MAAM,0CAC/D,MACD,IAAK,kBACL,IAAK,YACL,IAAK,uBACL,IAAK,iBACJ,MAAM,IAAIA,MAAM,8BACjB,QAAS,GAAG77B,GAAQA,EAAK8sP,IAAK,MAAM1jC,GAsle7BqmF,CAAe3lD,GAAWF,EAAK,yBAA0B5pP,GACjE,IAAIskB,EAAU0lO,GAAUJ,EAAK,eAC7B,IAAItlO,EAAS,MAAM,IAAIuX,MAAM,2BAA6B0zQ,EAAM,MAAQ,OAAQ,SAChF,IAAI7gF,EAAK4+E,GAAkBiC,EAAMjrR,EAAUynO,GAASznO,GAAUtkB,GAE9D,OADG2pP,GAAeC,EAAK,cAAal7B,EAAGsuC,MAAQ3C,GAAiBvQ,GAAWF,EAAK,cACzEl7B,EAER,SAASorE,GAAWnsR,EAAM3N,GACzB,OAAOstS,GAAkB3/R,EAAM3N,GAIhC,IAAI0vS,GAAoB,WACvB,IAAIngK,EAAU,2BAA6B09G,GAAW,CACrD,eAAkB,mDAClB,cAAkB,kDAClB,cAAkB,kDAClB,aAAkB,iDAClB,aAAkB,oDAClB,WAAkB,8DAClB,cAAkB,+BAClB,WAAkB,mCAClB,eAAkB,sDAClB,YAAkB,2DAClB,WAAkB,+CAClB,iBAAkB,QACd,6BACL,OAAO,WACN,OAAO5C,GAAa96G,GAhBE,GAmBpBogK,GAAqB,WAExB,IAQIC,EAAgB,mCAEhB1Z,EAAW,SAASh4I,EAAIwwE,EAAIl1N,GAE/B,IAAIyD,EAAI,GACRA,EAAEwG,KAAK,kCAAoC6nP,GAAU58B,EAAG8jC,WAAWh5P,IAAM,+BACzE,IAAIq4L,EAAE,EAAEtpC,EAAE,EAAGpgB,EAAQ2pH,GAAa5zG,EAAG,SACjCquI,EAAOruI,EAAG,YAAc,GAAI59H,EAAK,EACjCsyO,EAAQx1P,MAAMC,QAAQ6gJ,GAC1B,IAAI2zC,EAAI,EAAGA,EAAI1pD,EAAM5qI,EAAE2B,IAAK2yL,EAAG50L,EAAEwG,KAAK,iDACtC,KAAMouL,GAAK1pD,EAAMzqI,EAAEwB,IAAK2yL,EAAG,CAE1B,IADA50L,EAAEwG,KAAK,+BACH8kJ,EAAE,EAAGA,EAAIpgB,EAAM5qI,EAAEsB,IAAK0pJ,EAAGtrJ,EAAEwG,KAAKmsS,GACpC,KAAMrnJ,GAAKpgB,EAAMzqI,EAAEmB,IAAK0pJ,EAAG,CAC1B,IAAI4yI,GAAO,EAAO9kM,EAAK,GAAIg4M,EAAQ,GACnC,IAAI/tR,EAAK,EAAGA,GAAMisQ,EAAK9yR,SAAU6mB,EAChC,KAAGisQ,EAAKjsQ,GAAI/iB,EAAEsB,EAAI0pJ,MACfgkI,EAAKjsQ,GAAI/iB,EAAE2B,EAAI2yL,MACf06F,EAAKjsQ,GAAI5iB,EAAEmB,EAAI0pJ,MACfgkI,EAAKjsQ,GAAI5iB,EAAEwB,EAAI2yL,GAAlB,CACG06F,EAAKjsQ,GAAI/iB,EAAEsB,GAAK0pJ,GAAKgkI,EAAKjsQ,GAAI/iB,EAAE2B,GAAK2yL,IAAGspG,GAAO,GAClD9kM,EAAG,gCAAmCk2L,EAAKjsQ,GAAI5iB,EAAEmB,EAAI0tR,EAAKjsQ,GAAI/iB,EAAEsB,EAAI,EACpEw3F,EAAG,6BAAmCk2L,EAAKjsQ,GAAI5iB,EAAEwB,EAAIqtR,EAAKjsQ,GAAI/iB,EAAE2B,EAAI,EACpE,MAED,GAAGi8R,EAAQl+R,EAAEwG,KAxBO,+CAwBpB,CACA,IAAIsnE,EAAMomL,GAAY,CAACjyP,EAAE2yL,EAAGhzL,EAAE0pJ,IAAKn0C,EAAOw+I,GAAS10G,EAAG2zC,IAAI,IAAItpC,GAAIrK,EAAGnzE,GACrE,GAAGqpC,GAAQA,EAAKx2G,IACfy4F,EAAG,iBAAmBi1J,IAvlOlB,OAulO+Cl3I,EAAKx2G,EAvlOzCwG,QAAQm8Q,GAAW,iBAAiBn8Q,QAAQ,SAAS,MAE/DA,QAAQ,KAAM,KAAKA,QAAQ,KAAK,MAslOlCgwG,EAAK92G,GACJ82G,EAAK92G,EAAEqxC,MAAM,EAAGo8B,EAAItxE,SAAWsxE,GAAK,CACtC,IAAI8kO,EAAQ/9C,GAAa19I,EAAK92G,GAC9B+4F,EAAG,uCAA0Cw5M,EAAMnyS,EAAEmB,EAAIgxS,EAAMtyS,EAAEsB,EAAI,EACrEw3F,EAAG,oCAA0Cw5M,EAAMnyS,EAAEwB,EAAI2wS,EAAMtyS,EAAE2B,EAAI,EAIxE,GAAIk1G,EAAJ,CACA,OAAOA,EAAKh1G,GACX,IAAK,IACJivS,EAASj6L,EAAKvqG,EAAI,OAAS,QAC3BwsF,EAAG,qBAAuB,UAC1BA,EAAG,wBAA2B+d,EAAKvqG,EAAI,OAAS,QAChD,MACD,IAAK,IACJwkS,EAASj6L,EAAKziF,GAAG2C,OAAO8/E,EAAKvqG,GAAG,GAChCwsF,EAAG,qBAAuB,QAC1BA,EAAG,gBAAmB+d,EAAKvqG,GAAG,EAC9B,MACD,IAAK,IAAK,IAAK,MACdwkS,EAAkB,MAAVj6L,EAAKvqG,EAAY,GAAKuqG,EAAKvqG,EACnCwsF,EAAG,qBAAuB,SAC1B,MACD,IAAK,IACJg4M,EAASj6L,EAAKziF,GAAIi3N,GAAUx0I,EAAKvqG,GAAGujP,cACpC/2J,EAAG,qBAAuB,OAC1BA,EAAG,qBAAwBuyJ,GAAUx0I,EAAKvqG,GAAGujP,cAC7C/2J,EAAG,oBAAsB,MACzB,MAED,QAASp5F,EAAEwG,KAAKmsS,GAAgB,SAEjC,IAAIE,EArECxkD,GAqEqB+iD,GApE1BjqS,QAAQ,QAAQ,SAAS6yO,GAAI,MAAO,mBAAmBA,EAAGx9O,OAAO,SACjE2K,QAAQ,MAAO,eACfA,QAAQ,MAAO,sBACfA,QAAQ,KAAM,aAAaA,QAAQ,KAAM,aAkEzC,GAAGgwG,EAAK11G,GAAK01G,EAAK11G,EAAE46P,OAAQ,CAC3B,IAAIy2C,EAAO37L,EAAK11G,EAAE46P,OAClBw2C,EAAS5iD,GAAU,SAAU4iD,EAAQ,CAAC,aADZC,EAAyB,KAAlBA,EAAKtqR,OAAO,GAAY,IAAoBsqR,EAAKphQ,MAAM,GA/mOnFvqC,QAAQ,KAAK,KA+mO4E2rS,IAG/F9yS,EAAEwG,KAAK,aAAeypP,GAAU,mBAAoBA,GAAU,SAAU4iD,EAAQ,IAAKz5M,GAAM,WA9B/Ep5F,EAAEwG,KAAKmsS,IAgCpB3yS,EAAEwG,KAAK,gCAGR,OADAxG,EAAEwG,KAAK,0BACAxG,EAAE+L,KAAK,KA2Bf,OAAO,SAAa0lN,EAAI1uN,GACvB,IAAI/C,EAAI,CAACotP,IAELxoN,EAAOorN,GAAW,CACrB,eAAsB,mDACtB,cAAsB,kDACtB,cAAsB,kDACtB,aAAsB,iDACtB,aAAsB,oDACtB,WAAsB,8DACtB,cAAsB,+BACtB,WAAsB,mCACtB,aAAsB,iDACtB,eAAsB,sDACtB,qBAAsB,yDACtB,YAAsB,2DACtB,cAAsB,kDACtB,aAAsB,iDACtB,aAAsB,qCACtB,aAAsB,iDACtB,eAAsB,mDACtB,YAAsB,oCACtB,aAAsB,oCACtB,aAAsB,kCACtB,YAAsB,oCACtB,eAAsB,gCACtB,YAAsB,mCACtB,YAAsB,4CACtB,cAAsB,8CACtB,YAAsB,oCACtB,WAAsB,+CACtB,cAAsB,+BACtB,cAAsB,sCACtB,iBAAsB,mCACtB,gBAAsB,kCACtB,gBAAsB,uEACtB,cAAsB,uEACtB,cAAsB,mEACtB,cAAsB,qEACtB,cAAsB,kCACtB,iBAAsB,QAGnB+iD,EAAO/iD,GAAW,CACrB,eAAmB,mDACnB,kBAAmB,mDAGA,QAAjBjtP,EAAKgkQ,SAAoB/mQ,EAAEwG,KAAK,mBAAqBo+B,EAAOmuQ,EAAO,OACjE/yS,EAAEwG,KAAK,2BAA6Bo+B,EAAQ,OAzEjB,SAAS5kC,GACzCA,EAAEwG,KAAK,gCAEPxG,EAAEwG,KAAK,0EACPxG,EAAEwG,KAAK,4CACPxG,EAAEwG,KAAK,qCACPxG,EAAEwG,KAAK,0CACPxG,EAAEwG,KAAK,qCACPxG,EAAEwG,KAAK,uBACPxG,EAAEwG,KAAK,4BAGPxG,EAAEwG,KAAK,2DACPxG,EAAEwG,KAAK,kFACPxG,EAAEwG,KAAK,sBAGPxG,EAAEwG,KAAK,+HAIPxG,EAAEwG,KAAK,iCAqDPwsS,CAA2BhzS,GAC3BA,EAAEwG,KAAK,qBACPxG,EAAEwG,KAAK,8BACP,IAAI,IAAIjK,EAAI,EAAGA,GAAKk1N,EAAG8jC,WAAW/4P,SAAUD,EAAGyD,EAAEwG,KAAKyyR,EAASxnE,EAAG+jC,OAAO/jC,EAAG8jC,WAAWh5P,IAAKk1N,EAAIl1N,IAKhG,OAJAyD,EAAEwG,KAAK,+BACPxG,EAAEwG,KAAK,sBACa,QAAjBzD,EAAKgkQ,SAAoB/mQ,EAAEwG,KAAK,sBAC9BxG,EAAEwG,KAAK,8BACLxG,EAAE+L,KAAK,KAvKS,GA2KzB,SAASknS,GAAUxhF,EAAI1uN,GACtB,GAAoB,QAAjBA,EAAKgkQ,SAAoB,OAAO2rC,GAAkBjhF,EAAI1uN,GAE1D,IAAI4pP,EAAMM,KACLtsP,EAAI,GAEJuyS,EAAW,GACXC,EAAM,GAiCV,OA7BAnmD,GAAaL,EADbhsP,EAAI,WACiB,kDAIrBqsP,GAAaL,EADbhsP,EAAI,cACiB+xS,GAAkBjhF,EAAI1uN,IAC3CmwS,EAAS1sS,KAAK,CAAC7F,EAAG,aAClBwyS,EAAI3sS,KAAK,CAAC7F,EAAG,gBAIbqsP,GAAaL,EADbhsP,EAAI,aACiB8xS,GAAiBhhF,EAAI1uN,IAC1CmwS,EAAS1sS,KAAK,CAAC7F,EAAG,aAClBwyS,EAAI3sS,KAAK,CAAC7F,EAAG,eAIbqsP,GAAaL,EADbhsP,EAAI,WACiBs8P,MACrBi2C,EAAS1sS,KAAK,CAAC7F,EAAG,aAClBwyS,EAAI3sS,KAAK,CAAC7F,EAAG,iBAIbqsP,GAAaL,EADbhsP,EAAI,eApyeL,SAAmBwyS,GAClB,IARsB9iS,EAAMu5N,EAQxB5pO,EAAI,CAACotP,IACTptP,EAAEwG,KAAK,uEACP,IAAI,IAAIjK,EAAI,EAAGA,GAAK42S,EAAI32S,SAAUD,EACjCyD,EAAEwG,KAAKw2P,GAAem2C,EAAI52S,GAAG,GAAI42S,EAAI52S,GAAG,KACxCyD,EAAEwG,MAZmB6J,EAYA,GAZMu5N,EAYHupE,EAAI52S,GAAG,GAXzB,CACN,iCAAmC8T,EAAO,OAC1C,iGAAmGu5N,EAAO,QAC1G,0BACC79N,KAAK,MAWP,OAFA/L,EAAEwG,KAAKw2P,GAAe,GAAG,WAAY,QACrCh9P,EAAEwG,KAAK,cACAxG,EAAE+L,KAAK,IA4xeOqnS,CAAUD,IAC/BD,EAAS1sS,KAAK,CAAC7F,EAAG,wBAIlBqsP,GAAaL,EADbhsP,EAAI,wBAj0eL,SAAwBuyS,GACvB,IAAIlzS,EAAI,CAACotP,IACTptP,EAAEwG,KAAK,oHACPxG,EAAEwG,KAAK,iJACP,IAAI,IAAIjK,EAAI,EAAGA,EAAI22S,EAAS12S,SAAUD,EAAGyD,EAAEwG,KAAK,8CAAgD0sS,EAAS32S,GAAG,GAAK,0BAA4B22S,EAAS32S,GAAG,GAAK,SAE9J,OADAyD,EAAEwG,KAAK,wBACAxG,EAAE+L,KAAK,IA4zeOsnS,CAAeH,IAE7BvmD,EAUR,SAAS2mD,GAAcnyS,GACtB,OAAO,SAAmBswN,EAAIzxN,GAC7B,IAAIm/B,EATN,SAA2BsyL,EAAI4jC,GAC9B,IAAIA,EAAO,OAAO,EAClB,IAAIl2N,EAAMsyL,EAAG8jC,WAAWxrP,QAAQsrP,GAChC,IAAW,GAARl2N,EAAW,MAAM,IAAIP,MAAM,oBAAsBy2N,GACpD,OAAOl2N,EAKIo0Q,CAAkB9hF,EAAIzxN,EAAEq1P,OAClC,OAAOl0P,EAAQuqQ,WAAWj6C,EAAG+jC,OAAO/jC,EAAG8jC,WAAWp2N,IAAOn/B,EAAGyxN,IAI9D,IAAI+hF,GAAgBF,GAActY,IAC9ByY,GAAgBH,GAAc,CAAC5nC,WAAWgoC,KAC1CC,GAAgBL,GAA8B,qBAAThnC,GAAuBA,GAAO,IACnEsnC,GAAgBN,GAA6B,qBAARtiC,GAAsBA,GAAM,IACjE6iC,GAAgBP,GAA6B,qBAAR1hC,GAAsBA,GAAM,IACjEkiC,GAAgBR,GAA6B,qBAARl5B,GAAsBA,GAAM,IACjE25B,GAAgBT,GAAc,CAAC5nC,WAAWsoC,KAC1CC,GAAgBX,GAA6B,qBAAR5oC,GAAsBA,GAAM,IACjEwpC,GAAgBZ,GAA6B,qBAAR/hC,GAAsBA,GAAM,IAErE,SAAS4iC,GAAcn1N,GACtB,OAAO,SAAkBj8E,GACxB,IAAI,IAAIxG,EAAI,EAAGA,GAAKyiF,EAASxiF,SAAUD,EAAG,CACzC,IAAIsF,EAAIm9E,EAASziF,QACC+iC,IAAfv8B,EAAKlB,EAAE,MAAmBkB,EAAKlB,EAAE,IAAMA,EAAE,IAChC,MAATA,EAAE,KAAYkB,EAAKlB,EAAE,IAAM0L,OAAOxK,EAAKlB,EAAE,QAK/C,IAAI07R,GAAgB,SAASx6R,GAC7BoxS,GAAc,CACb,CAAC,UAAU,GACX,CAAC,YAAY,GACb,CAAC,eAAe,GAChB,CAAC,cAAc,GACf,CAAC,YAAY,GACb,CAAC,aAAa,GAEd,CAAC,cAAc,GACf,CAAC,YAAa,EAAG,KAEjB,CAAC,YAAY,GACb,CAAC,cAAc,GACf,CAAC,aAAa,GACd,CAAC,aAAa,GACd,CAAC,WAAW,GAEZ,CAAC,WAAW,IACZ,CAAC,OAAO,IAlBTA,CAmBGpxS,IAGC+rS,GAAiBqF,GAAc,CAClC,CAAC,aAAa,GAEd,CAAC,WAAW,GAEZ,CAAC,WAAY,QAEb,CAAC,eAAe,GAEhB,CAAC,OAAO,KAiBT,SAASC,GAAiBznD,EAAK1/O,EAAMonS,EAAUh/C,EAAOl2N,EAAKm1Q,EAAWh/C,EAAQi/C,EAAOxxS,EAAM0uN,EAAIyqD,EAAQlqQ,GACtG,IACCsiS,EAAUj/C,GAAO8G,GAAWpP,GAAUJ,EAAK0nD,GAAU,GAAOpnS,GAC5D,IACIyoP,EADAhlP,EAAOm8O,GAAWF,EAAK1/O,GAE3B,OAAOsnS,GACN,IAAK,QAAU7+C,EAAMyhC,GAASzmR,EAAMzD,EAAMkyB,EAAKp8B,EAAMuxS,EAAUj/C,GAAQ5jC,EAAIyqD,EAAQlqQ,GAAS,MAC5F,IAAK,QACJ,KADc0jP,EAAM8hC,GAAS9mR,EAAMzD,EAAMkyB,EAAKp8B,EAAMuxS,EAAUj/C,GAAQ5jC,MAC1DikC,EAAI,WAAY,MAC5B,IAAI8+C,EAAQtnD,GAAawI,EAAI,WAAW2G,OAAQpvP,GAC5CwnS,EAASv4C,GAAcs4C,GAEvBE,EAASxnD,GAzlUjB,SAAuBx8O,EAAM4qP,GAC5B,IAAI5qP,EAAM,MAAO,KAYjB,IAAImT,GAAMnT,EAAKxH,MAAM,iCAAiC,CAAC,GAAG,KAAK,GAE/D,OAAOoyP,EAAK,OAAOz3O,GAAIw4O,OAykUTs4C,CAAc5nD,GAAUJ,EAAK6nD,GAAO,GAAOr4C,GAAWpP,GAAUJ,EAAK8nD,GAAQ,GAAOD,IAC/DA,GAC5BI,EAAS14C,GAAcw4C,GAC3Bh/C,EAAM0+B,GAAYrnC,GAAUJ,EAAK+nD,GAAQ,GAAOA,EAAQ3xS,EAAMo5P,GAAWpP,GAAUJ,EAAKioD,GAAQ,GAAOF,GAASjjF,EAAIikC,GACpH,MACD,IAAK,QAt5JgB5zP,EAs5JemL,EAAiBqnS,EAAUj/C,GAr5J9DvzP,EAAK4vC,OAAO,GAq5JEgkN,EAl0Te,CAAC,QAAQ,SAk0TqD,MAC5F,IAAK,SAAUA,EAl5JlB,SAAkBhlP,EAAM5O,EAAMq9B,EAAKp8B,EAAMu4P,EAAM7pC,EAAIyqD,EAAQlqQ,GAC1D,OAAGlQ,EAAK4vC,OAAO,GAp7JiB,CAAC,QAAQ,UAq0TlBmjQ,CAASnkS,EAAMzD,EAAMkyB,EAAKp8B,EAAMuxS,EAAUj/C,IAA6B,MAC5F,QAAS,MAAM,IAAIz2N,MAAM,2BAA6B21Q,GAEvDj/C,EAAOD,GAASK,EAGhB,IAAIiF,EAAW,GACZ25C,GAAaA,EAAUj/C,IAAQ7gO,EAAK8/Q,EAAUj/C,IAAQ5gO,SAAQ,SAASl0B,GACzE,GAAG+zS,EAAUj/C,GAAO90P,GAAG+O,MAAQisP,GAAKgnB,KAAM,CACzC,IAAIiyB,EAAQtnD,GAAaonD,EAAUj/C,GAAO90P,GAAG87P,OAAQpvP,GAErD,KADA0tP,EAAWq9B,GAAWnrC,GAAWF,EAAK6nD,GAAO,GAAOA,EAAOzxS,MAC1C43P,EAASn+P,OAAQ,QAhiUtC,SAA+B64P,EAAOsF,GACrC,IACIxjJ,EADAw+I,EAAQx1P,MAAMC,QAAQi1P,GAE1BsF,EAASlmO,SAAQ,SAAS0R,GACzB,IAAIlkC,EAAI2yP,GAAYzuN,EAAQ2nC,KAK5B,GAJG6nL,GACEN,EAAMpzP,EAAEA,KAAIozP,EAAMpzP,EAAEA,GAAK,IAC7Bk1G,EAAOk+I,EAAMpzP,EAAEA,GAAGA,EAAEL,IACdu1G,EAAOk+I,EAAMlvN,EAAQ2nC,MACvBqpC,EAAM,CACVA,EAAQ,CAACh1G,EAAE,KACRwzP,EAAON,EAAMpzP,EAAEA,GAAGA,EAAEL,GAAKu1G,EACvBk+I,EAAMlvN,EAAQ2nC,KAAOqpC,EAC1B,IAAI+zB,EAAQ6pH,GAAkBM,EAAM,SAAS,mBAC1CnqH,EAAM5qI,EAAE2B,EAAIA,EAAEA,IAAGipI,EAAM5qI,EAAE2B,EAAIA,EAAEA,GAC/BipI,EAAMzqI,EAAEwB,EAAIA,EAAEA,IAAGipI,EAAMzqI,EAAEwB,EAAIA,EAAEA,GAC/BipI,EAAM5qI,EAAEsB,EAAIK,EAAEL,IAAGspI,EAAM5qI,EAAEsB,EAAIK,EAAEL,GAC/BspI,EAAMzqI,EAAEmB,EAAIK,EAAEL,IAAGspI,EAAMzqI,EAAEmB,EAAIK,EAAEL,GAClC,IAAIkzS,EAAUhgD,GAAa5pH,GACvB4pK,IAAYz/C,EAAM,UAASA,EAAM,QAAUy/C,GAG3C39L,EAAKv1G,IAAGu1G,EAAKv1G,EAAI,IACtB,IAAI5B,EAAK,CAACqM,EAAG85B,EAAQ0yJ,OAAQ12L,EAAGgkC,EAAQhkC,EAAGF,EAAGkkC,EAAQlkC,GACnDkkC,EAAQzS,IAAG1zB,EAAE0zB,EAAIyS,EAAQzS,GAC5ByjF,EAAKv1G,EAAE4E,KAAKxG,MAwgUV+0S,CAAsBr/C,EAAKiF,OAG5B,MAAMl6P,IAAK,GAAGsC,EAAK8sP,IAAK,MAAMpvP,GAt6JjC,IAAwBqB,EAy6JxB,SAASkzS,GAAkBzoS,GAAK,MAAsB,KAAfA,EAAEic,OAAO,GAAYjc,EAAEmlC,MAAM,GAAKnlC,EAEzE,SAAS8xO,GAAUsO,EAAK5pP,GAMvB,GALAsyO,EAASD,GAETmoD,GADAx6R,EAAOA,GAAQ,IAIZ2pP,GAAeC,EAAK,yBAA0B,OAAO0lD,GAAU1lD,EAAK5pP,GAEvE,GAAG2pP,GAAeC,EAAK,kBAAmB,OAAO0lD,GAAU1lD,EAAK5pP,GAEhE,GAAG2pP,GAAeC,EAAK,sBAAuB,MAAM,IAAI/tN,MAAM,4BAE9D,IAGI02N,EAAQ2/C,EAHRhhN,EA7wiBL,SAAoB04J,GAEnB,IADA,IAAIrrO,EAAIqrO,EAAItM,WAAa7rN,EAAKm4N,EAAIrM,OAAQtgP,EAAI,GACtCzD,EAAI,EAAGA,EAAI+kB,EAAE9kB,SAAUD,EAAwB,KAAlB+kB,EAAE/kB,GAAGm1C,OAAO,IAAW1xC,EAAEwG,KAAK8a,EAAE/kB,IACrE,OAAOyD,EAAE0iD,OA0wiBKwyP,CAAWvoD,GACrB7yO,EA9ofL,SAAkBpJ,GACjB,IAAI0oF,EATI,CACPghK,UAAU,GAAI9E,OAAO,GAAIsF,OAAO,GAAIC,QAAQ,GAAIC,OAAO,GACvDQ,KAAK,GAAIZ,KAAK,GAAIC,SAAS,GAAIw6C,MAAM,GACrCC,UAAU,GAAIC,SAAS,GAAIC,UAAU,GAAIp5B,OAAO,GAAIlqQ,OAAO,GAC3DujS,WAAW,GAAItQ,IAAK,GAAIuQ,SAAU,GAClCC,KAAK,GAAIjyQ,MAAO,IAKjB,IAAI9yB,IAASA,EAAKxH,MAAO,OAAOkwF,EAChC,IAAIs8M,EAAQ,GAYZ,IAXChlS,EAAKxH,MAAMokP,KAAW,IAAI74N,SAAQ,SAASloB,GAC3C,IAAIC,EAAIihP,GAAYlhP,GACpB,OAAOC,EAAE,GAAGrF,QAAQomP,GAAQ,MAC3B,IAAK,QAAS,MACd,IAAK,SAAUn0J,EAAG51D,MAAQh3B,EAAE,SAAWA,EAAE,GAAGtD,MAAM,YAAY,CAAC,GAAG,KAAK,IAAM,MAC7E,IAAK,WAAYwsS,EAAMlpS,EAAEmpS,WAAanpS,EAAEopS,YAAa,MACrD,IAAK,iBAC8Bt2Q,IAA/B85D,EAAG8gK,GAAQ1tP,EAAEopS,eAA6Bx8M,EAAG8gK,GAAQ1tP,EAAEopS,cAAcpvS,KAAKgG,EAAEqpS,cAI/Ez8M,EAAG51D,QAAU8sN,GAAM2K,GAAI,MAAM,IAAIr8N,MAAM,sBAAwBw6D,EAAG51D,OAMrE,OALA41D,EAAG08M,UAAY18M,EAAGm8M,WAAW/4S,OAAS,EAAI48F,EAAGm8M,WAAW,GAAK,GAC7Dn8M,EAAG08K,IAAM18K,EAAGshK,KAAKl+P,OAAS,EAAI48F,EAAGshK,KAAK,GAAK,GAC3CthK,EAAGhnF,MAAQgnF,EAAGpnF,OAAOxV,OAAS,EAAI48F,EAAGpnF,OAAO,GAAK,GACjDonF,EAAGpa,SAAW02N,SACPt8M,EAAGm8M,WACHn8M,EAynfG28M,CAAUhpD,GAAUJ,EAAK,wBAC/B4N,GAAO,EAMX,GAJ4B,IAAzBzgP,EAAIsgP,UAAU59P,QAEbqwP,GAAWF,EADdsoD,EAAU,mBACiB,IAAOn7R,EAAIsgP,UAAU5zP,KAAKyuS,GAE1B,IAAzBn7R,EAAIsgP,UAAU59P,OAAc,CAE9B,IAAIqwP,GAAWF,EADfsoD,EAAU,mBACiB,GAAO,MAAM,IAAIr2Q,MAAM,2BAClD9kB,EAAIsgP,UAAU5zP,KAAKyuS,GACnB16C,GAAO,EAEyB,OAA9BzgP,EAAIsgP,UAAU,GAAG1oN,OAAO,KAAa6oN,GAAO,GAE/C,IAAI2hB,EAAU,GACVlqQ,EAAU,GACd,IAAIjP,EAAKq6R,aAAer6R,EAAKs6R,UAAW,CAEvC,GADA3iC,GAAO,GACJ5gP,EAAIg8P,IAAK,IAAMpb,GAAKm9B,GAAUhrC,GAAWF,EAAKqoD,GAAkBl7R,EAAIg8P,MAAOh8P,EAAIg8P,IAAK/yQ,GAAS,MAAMtC,IAAK,GAAGsC,EAAK8sP,IAAK,MAAMpvP,GAE3HsC,EAAKmnQ,YAAcpwP,EAAIoiQ,OAAO1/Q,SAAQ0/Q,EA97J3C,SAAqBxrQ,EAAM5O,EAAMiB,GAChC,OAAO69Q,GAAgBlwQ,EAAM3N,GA67JsBizS,CAAYjpD,GAAUJ,EAAK7yO,EAAIoiQ,OAAO,GAAG/0Q,QAAQ,MAAM,KAAK,IAAO,GAAG2S,EAAIoiQ,OAAO,GAAIn5Q,IAEpI+W,EAAI1H,QAAOJ,EAAS2lR,GAAU9qC,GAAWF,EAAKqoD,GAAkBl7R,EAAI1H,QAAS0H,EAAI1H,MAAO8pQ,EAAQn5Q,IAG9E+W,EAAIq7R,MAAMhuR,KAAI,SAAS+Y,GAC5C,IACYi8N,GAAWpP,GAAUJ,EAAKuP,GAAc84C,GAAkB90Q,KAASA,GAC9E,OAAO44P,GAAYjsC,GAAWF,EAAKqoD,GAAkB90Q,IAAQo7N,EAAMp7N,EAAMn9B,GACxE,MAAMtC,SAGT,IAAIgxN,EAAKmlE,GAAS/pC,GAAWF,EAAKqoD,GAAkBl7R,EAAIsgP,UAAU,KAAMtgP,EAAIsgP,UAAU,GAAIr3P,GAEtFzG,EAAQ,GAAI25S,EAAW,GAExBn8R,EAAIs7R,UAAU54S,UAChBy5S,EAAWppD,GAAWF,EAAKqoD,GAAkBl7R,EAAIs7R,UAAU,KAAK,MACnD94S,EAAQ8gQ,GAAiB64C,IACX,IAAxBn8R,EAAIu7R,SAAS74S,SACfy5S,EAAWppD,GAAWF,EAAKqoD,GAAkBl7R,EAAIu7R,SAAS,KAAK,KAhzelE,SAAyB3kS,EAAM/N,EAAGI,GACjC,IAAIglH,EAAI,GAAQplH,IAAGA,EAAI,IACvB+N,EAAOo+O,GAASp+O,GAEhB+sP,GAAUhpO,SAAQ,SAAS9zB,GAC1B,IAAImH,GAAO4I,EAAKxH,MAAMimP,GAASxuP,EAAE,MAAM,IAAI,GAC3C,OAAOA,EAAE,IACR,IAAK,SAAamH,IAAKnF,EAAEhC,EAAE,IAAMqtP,GAAYlmP,IAAM,MACnD,IAAK,OAAQnF,EAAEhC,EAAE,IAAc,SAARmH,EAAgB,MACvC,IAAK,MACJ,IAAIupI,EAAM3gI,EAAKxH,MAAM,IAAIoxB,OAAO,IAAM35B,EAAE,GAAK,uBAA0BA,EAAE,GAAK,MAC3E0wI,GAAOA,EAAI70I,OAAS,IAAGurH,EAAEpnH,EAAE,IAAM0wI,EAAI,QAKxCtpB,EAAEq8K,cAAgBr8K,EAAEs8K,eAAe3mC,GAAiB31I,EAAEq8K,aAAcr8K,EAAEs8K,cAAe1hS,EAAGI,GAiye5EmzS,CAAgBD,EAAU35S,EAAOyG,IAIhD,IAAIuyS,EAAY,GACZvyS,EAAKq6R,aAAcr6R,EAAKs6R,WACE,IAAzBvjR,EAAIw7R,UAAU94S,SACjBy5S,EAAWlpD,GAAUJ,EAAKqoD,GAAkBl7R,EAAIw7R,UAAU,KAAK,MAClDA,EAnwehB,SAA0B5kS,EAAM3N,GAC/B,IAAIJ,EAAI,GAAIb,EAAO,GACfH,EAAI+O,EAAKxH,MAAMm1P,IACnB,GAAG18P,EAAG,IAAI,IAAIpF,EAAI,EAAGA,GAAKoF,EAAEnF,SAAUD,EAAG,CACxC,IAAIgQ,EAAI5K,EAAEpF,GAAIiQ,EAAIihP,GAAYlhP,GAC9B,OAAOC,EAAE,IACR,IAAK,QACL,IAAK,cAAe,MACpB,IAAK,YAAa1K,EAAOksP,GAAYxhP,EAAE1K,MAAO,MAC9C,IAAK,cAAeA,EAAO,KAAM,MACjC,QAAS,GAA0B,IAAtByK,EAAExC,QAAQ,QAAe,CACrC,IAAIosS,EAAO5pS,EAAEN,MAAM,KACf0E,EAAOwlS,EAAK,GAAGzkQ,MAAM,GAAI/9B,EAAOwiS,EAAK,GAEzC,OAAOxlS,GACN,IAAK,QAAS,IAAK,OAAQ,IAAK,SAC/BhO,EAAEb,GAAQksP,GAAYr6O,GACtB,MACD,IAAK,OACJhR,EAAEb,GAAQ+sP,GAAal7O,GACvB,MACD,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,MAAO,IAAK,OAC5DhR,EAAEb,GAAQ8b,SAASjK,EAAM,IACzB,MACD,IAAK,KAAM,IAAK,KAAM,IAAK,UAC1BhR,EAAEb,GAAQmH,WAAW0K,GACrB,MACD,IAAK,WAAY,IAAK,OACrBhR,EAAEb,GAAQ6pP,GAAUh4O,GACpB,MACD,IAAK,KAAM,IAAK,QACfhR,EAAEb,GAAQksP,GAAYr6O,GACtB,MACD,QACC,GAAqB,KAAlBhD,EAAK+gC,OAAO,GAAW,MACvB3uC,EAAK8sP,KAA0B,qBAAZrqP,SAAyBA,QAAQuhC,KAAK,aAAcx6B,EAAGoE,EAAMwlS,SAE/E,GAAoB,OAAjB5pS,EAAEmlC,MAAM,EAAE,SACb,GAAG3uC,EAAK8sP,IAAK,MAAM,IAAIjxN,MAAMryB,IAGtC,OAAO5J,EA0teoByzS,CAAiBH,EAAUlzS,IAItD,IAAI+yC,EAAO,GACX,IAAG/yC,EAAKq6R,YAAcr6R,EAAKs6R,aACvB5rE,EAAG+jC,OAAQF,EAAS7jC,EAAG+jC,OAAOruO,KAAI,SAAe5a,GAAI,OAAOA,EAAEzK,QACzDxF,EAAMwhQ,YAAcxhQ,EAAMi5P,WAAW/4P,OAAS,IAAG84P,EAAOh5P,EAAMi5P,YACnExyP,EAAKs6R,YAAavnP,EAAIiqN,MAAQzjQ,EAAOw5C,EAAI2jP,UAAY6b,GACrDvyS,EAAKq6R,YAAgC,qBAAX9nC,IAAwBx/M,EAAIy/M,WAAaD,GACnEvyP,EAAKq6R,WAAatnP,EAAIy/M,WAAaxyP,EAAKs6R,WAAW,OAAOvnP,EAE9Dw/M,EAAS,GAET,IAAI+gD,EAAO,GACRtzS,EAAKuzS,UAAYx8R,EAAIg8R,YAAWO,EAAK1d,GAAS9rC,GAAWF,EAAKqoD,GAAkBl7R,EAAIg8R,YAAYh8R,EAAIg8R,YAEvG,IAEI7oS,EAAMonS,EAFN93S,EAAE,EACF+3S,EAAa,GAIZiC,EAAW9kF,EAAG+jC,OAClBl5P,EAAMwhQ,WAAay4C,EAAS/5S,OAC5BF,EAAMi5P,WAAa,GACnB,IAAI,IAAIz8O,EAAI,EAAGA,GAAKy9R,EAAS/5S,SAAUsc,EACtCxc,EAAMi5P,WAAWz8O,GAAKy9R,EAASz9R,GAAGhX,KAIpC,IAAI00S,EAAQj8C,EAAO,MAAQ,MACvBk8C,EAAU38R,EAAIsgP,UAAU,GAAGtnN,YAAY,KACvC4jQ,GAAc58R,EAAIsgP,UAAU,GAAG1oN,MAAM,EAAG+kQ,EAAQ,GAAK,SAAW38R,EAAIsgP,UAAU,GAAG1oN,MAAM+kQ,EAAQ,GAAK,SAAStvS,QAAQ,MAAM,IAC3HulP,GAAeC,EAAK+pD,KAAaA,EAAa,qBAAuBF,EAAQ,SACjF,IAAIG,EAASx6C,GAAWpP,GAAUJ,EAAK+pD,GAAY,GAAOA,GACvDC,IAAQA,EA/IZ,SAA2BA,EAAQrhD,GAClC,IAAIqhD,EAAQ,OAAO,EACnB,IACCA,EAASrhD,EAAOnuO,KAAI,SAAcuN,GAAkC,OAAzBA,EAAE7Q,KAAI6Q,EAAE7Q,GAAK6Q,EAAE+hQ,UAAiB,CAAC/hQ,EAAE5yB,KAAM60S,EAAO,OAAOjiR,EAAE7Q,IAAIw4O,QAVlF97P,EAUyGo2S,EAAO,OAAOjiR,EAAE7Q,IAAIvU,KATjJisP,GAAKkvB,GAAG1gR,QAAQxJ,IAAM,EAAU,QAChCg7P,GAAKm5B,IAAMn0R,GAAKg7P,GAAKm5B,GAAW,QAChCn5B,GAAKynB,IAAMziR,GAAKg7P,GAAKynB,GAAW,SAChCznB,GAAK0nB,IAAM1iR,GAAKg7P,GAAK0nB,GAAW,QAC3B1iR,GAAKA,EAAE/D,OAAU+D,EAAI,UAL9B,IAAwBA,KAWrB,MAAME,IAAK,OAAO,KACpB,OAAQk2S,GAA4B,IAAlBA,EAAOn6S,OAAsBm6S,EAAP,KA0IpBC,CAAkBD,EAAQllF,EAAG+jC,SAGjD,IAAIqhD,EAAShqD,GAAWF,EAAI,2BAA0B,GAAO,EAAE,EAC/DmqD,EAAQ,IAAIv6S,EAAI,EAAGA,GAAKD,EAAMwhQ,aAAcvhQ,EAAG,CAC9C,IAAIg4S,EAAQ,QAWZ,GAVGoC,GAAUA,EAAOp6S,IACnB0Q,EAAO,MAAS0pS,EAAOp6S,GAAG,GAAI4K,QAAQ,YAAa,IAC/CulP,GAAeC,EAAK1/O,KAAOA,EAAO0pS,EAAOp6S,GAAG,IAC5CmwP,GAAeC,EAAK1/O,KAAOA,EAAOypS,EAAWvvS,QAAQ,aAAa,IAAMwvS,EAAOp6S,GAAG,IACtFg4S,EAAQoC,EAAOp6S,GAAG,IAGlB0Q,GADAA,EAAO,uBAAuB1Q,EAAE,EAAEs6S,GAAO,IAAML,GACnCrvS,QAAQ,WAAW,UAEhCktS,EAAWpnS,EAAK9F,QAAQ,qBAAsB,oBAC3CpE,GAAuB,MAAfA,EAAKuyP,OAAgB,cAAcvyP,EAAKuyP,QAClD,IAAK,SAAU,GAAG/4P,GAAKwG,EAAKuyP,OAAQ,SAASwhD,EAAQ,MACrD,IAAK,SAAU,GAAGx6S,EAAMi5P,WAAWh5P,GAAGgc,eAAiBxV,EAAKuyP,OAAO/8O,cAAe,SAASu+R,EAAQ,MACnG,QAAS,GAAG32S,MAAMC,SAAWD,MAAMC,QAAQ2C,EAAKuyP,QAAS,CAExD,IADA,IAAIyhD,GAAU,EACNC,EAAM,EAAGA,GAAOj0S,EAAKuyP,OAAO94P,SAAUw6S,EACf,iBAApBj0S,EAAKuyP,OAAO0hD,IAAoBj0S,EAAKuyP,OAAO0hD,IAAQz6S,IAAGw6S,EAAQ,GAC3C,iBAApBh0S,EAAKuyP,OAAO0hD,IAAoBj0S,EAAKuyP,OAAO0hD,GAAKz+R,eAAiBjc,EAAMi5P,WAAWh5P,GAAGgc,gBAAew+R,EAAU,GAE1H,IAAIA,EAAS,SAASD,GAGxB1C,GAAiBznD,EAAK1/O,EAAMonS,EAAU/3S,EAAMi5P,WAAWh5P,GAAIA,EAAG+3S,EAAWh/C,EAAQi/C,EAAOxxS,EAAM0uN,EAAIyqD,EAAQlqQ,GAwB3G,OArBA8jC,EAAO,CACNmqP,UAAWnmR,EACXw2Q,SAAU7+D,EACVsuC,MAAOzjQ,EACPm9R,UAAW6b,EACX2B,KAAMZ,EACN7gD,OAAQF,EACRC,WAAYj5P,EAAMi5P,WAClB64B,QAAS1zB,GACT50P,OAAQkM,EACR+uQ,OAAQ7E,EACR9mC,IAAKA,EAAIuH,aAEP55O,GAAQA,EAAKwhS,YACfzuP,EAAIthB,KAAOy/D,EACXn+C,EAAIwqM,MAAQqM,EAAIrM,OAEdv9O,GAAQA,EAAK6gS,UACZ9pR,EAAImrR,IAAIzoS,OAAS,EAAGs5C,EAAIs6O,OAASvjC,GAAWF,EAAIqoD,GAAkBl7R,EAAImrR,IAAI,KAAI,GACzEnrR,EAAIklE,UAtgUD,yCAsgUallE,EAAIklE,SAASk4N,MAAgBphQ,EAAIs6O,OAASvjC,GAAWF,EAAK,qBAAoB,KAEhG72M,EAIR,SAASqhQ,GAAc31D,EAAKU,GAC3B,IAAIn/O,EAAOm/O,GAAS,GAChBvhP,EAAI,WAAY+P,EAAO6sO,EAAIvwK,KAAKw0K,EAAK7gP,GACzC,IAEyB,GADzBA,EAAI,yBACJ+P,EAAO6sO,EAAIvwK,KAAKw0K,EAAK7gP,MAAiB+P,EAAK2W,QAAS,MAAM,IAAIuX,MAAM,mCAAqCj+B,GAKhF,GAngY1B,SAAoCygC,GACnC,IAAIphC,EAAI,GACRA,EAAE6jB,GAAKud,EAAK28M,WAAW,EAAG,QAC1B/9O,EAAE40L,EAAI4hF,GAAoBp1O,EAAM,GAChCphC,EAAE+mE,EAAIyvM,GAAoBp1O,EAAM,GAChCphC,EAAEk1L,EAAIshF,GAAoBp1O,EAAM,GA0/Xdg2Q,CAA2B1mS,EAAK2W,SAGlD1mB,EAAI,8BACJ+P,EAAO6sO,EAAIvwK,KAAKw0K,EAAK7gP,MAAiB+P,EAAK2W,QAAS,MAAM,IAAIuX,MAAM,mCAAqCj+B,GACzG,IAAI02S,EA3+XL,SAA4Bj2Q,GAC3B,IAAIphC,EAAI,GACRohC,EAAK3/B,GAAK,EAEV,IADA,IAAI89O,EAAMn+M,EAAK28M,WAAW,GACpBwB,KAAQ,GAAGv/O,EAAEwG,KAAKmwQ,GAAwBv1O,IAChD,OAAOphC,EAs+XGs3S,CAAmB5mS,EAAK2W,SAClC,GAAkB,IAAfgwR,EAAI76S,QAAwC,IAAxB66S,EAAI,GAAGzgC,MAAMp6Q,QAAsC,IAAtB66S,EAAI,GAAGzgC,MAAM,GAAGz0Q,GAA2B,8BAAhBk1S,EAAI,GAAGv1S,MAA8D,qBAAtBu1S,EAAI,GAAGzgC,MAAM,GAAGhqQ,EAC7I,MAAM,IAAIgyB,MAAM,+BAAiCj+B,GAIzB,GADzBA,EAAI,yDACJ+P,EAAO6sO,EAAIvwK,KAAKw0K,EAAK7gP,MAAiB+P,EAAK2W,QAAS,MAAM,IAAIuX,MAAM,mCAAqCj+B,GACzG,IAAI42S,EAz+XL,SAAmCn2Q,GAClC,IAAIphC,EAAI,GACRohC,EAAK3/B,GAAK,EAEV,IADA,IAAI89O,EAAMn+M,EAAK28M,WAAW,GACpBwB,KAAQ,GAAGv/O,EAAEwG,KAAK46B,EAAK28M,WAAW,EAAG,SAC3C,OAAO/9O,EAo+XIw3S,CAA0B9mS,EAAK2W,SAC1C,GAAkB,GAAfkwR,EAAK/6S,QAA0B,6BAAX+6S,EAAK,GAC3B,MAAM,IAAI34Q,MAAM,+BAAiCj+B,GAIzB,GADzBA,EAAI,kEACJ+P,EAAO6sO,EAAIvwK,KAAKw0K,EAAK7gP,MAAiB+P,EAAK2W,QAAS,MAAM,IAAIuX,MAAM,mCAAqCj+B,GAC3Fk2Q,GAAcnmQ,EAAK2W,SAC/B,MAAM5mB,KAGiB,GADzBE,EAAI,oBACJ+P,EAAO6sO,EAAIvwK,KAAKw0K,EAAK7gP,MAAiB+P,EAAK2W,QAAS,MAAM,IAAIuX,MAAM,mCAAqCj+B,GACzG,IAAI82S,EAj7XL,SAA8Br2Q,GAC7B,IAAIsyO,EAAO8C,GAAoBp1O,GAC/B,OAAOsyO,EAAKgD,OACX,KAAK,EAAM,MAAO,CAAChD,EAAKgD,MAAOmB,GAAiBz2O,IAChD,KAAK,EAAM,MAAO,CAACsyO,EAAKgD,MAAOoB,MAC/B,KAAK,EAAM,MAAO,CAACpE,EAAKgD,MAAOqB,GAAiB32O,IAEjD,MAAM,IAAIxC,MAAM,iDAAmD80O,EAAKgD,OA06X5DghC,CAAqBhnS,EAAK2W,SAIb,GADzB1mB,EAAI,sBACJ+P,EAAO6sO,EAAIvwK,KAAKw0K,EAAK7gP,MAAiB+P,EAAK2W,QAAS,MAAM,IAAIuX,MAAM,mCAAqCj+B,GAG1G,GAAe,GAAZ82S,EAAM,IAAuC,qBAAlBE,cAA+B,OAAOA,cAAcF,EAAM,GAAI/mS,EAAK2W,QAAStkB,EAAKotM,UAAY,GAAIptM,GAE/H,GAAe,GAAZ00S,EAAM,IAAuC,qBAAlBG,cAA+B,OAAOA,cAAcH,EAAM,GAAI/mS,EAAK2W,QAAStkB,EAAKotM,UAAY,GAAIptM,GAC9H,MAAM,IAAI67B,MAAM,8BAGjB,SAASkkN,GAAUrxB,EAAI1uN,GAEtB,GADA6+Q,GAAW,KACS,OAAjB7+Q,EAAKgkQ,SAAmB,OAAOksC,GAAUxhF,EAAI1uN,GAC7C0uN,IAAOA,EAAG2jB,MACZ3jB,EAAG2jB,IAAMA,EAAIuH,aAEXlrB,GAAMA,EAAG2jB,MACXC,EAASD,GAAMA,EAAIwH,WAAWnrB,EAAG2jB,KAEjCryO,EAAKioR,OAAS//B,EAAUx5B,EAAG2jB,KAAMryO,EAAKioR,OAAOv5D,EAAG2jB,IAAI,QAAU,EAC9DryO,EAAKkoR,IAAMx5D,EAAG2jB,KAEfryO,EAAKu4P,KAAO,GAAIv4P,EAAK4zS,OAAS,GAC9B5zS,EAAKqrR,QAAU,GAAIrrR,EAAKqrR,QAAQpY,MAAQ,EAAGjzQ,EAAKqrR,QAAQlY,OAAS,EAC9DwU,GAAiB3nR,EAAKsrR,WAAa,IAAIrzH,KACnCj4J,EAAKsrR,WAAa,GAAItrR,EAAKsrR,WAAWztF,IAAM,UAAW79L,EAAKsrR,WAAWztF,KAC9E,IAAI41G,EAAyB,QAAjBzzS,EAAKgkQ,SAAqB,MAAQ,MAC1C8wC,EAAS90B,GAAQh5Q,QAAQhH,EAAKgkQ,WAAa,EAC3C3tK,EAh2fI,CACPghK,UAAU,GAAI9E,OAAO,GAAIsF,OAAO,GAAIC,QAAQ,GAAIC,OAAO,GACvDQ,KAAK,GAAIZ,KAAK,GAAIC,SAAS,GAAIw6C,MAAM,GACrCC,UAAU,GAAIC,SAAS,GAAIC,UAAU,GAAIp5B,OAAO,GAAIlqQ,OAAO,GAC3DujS,WAAW,GAAItQ,IAAK,GAAIuQ,SAAU,GAClCC,KAAK,GAAIjyQ,MAAO,IA41fjBsrQ,GAAe/rS,EAAOA,GAAQ,IAC/B,IAAI4pP,EAAMM,KACLtsP,EAAI,GAAIk8P,EAAM,EAalB,GAXA95P,EAAKk7Q,QAAU,GACf8M,GAAehoR,EAAKk7Q,QAAS,GAAI,CAAC+M,OAAO,CAAC,QAAU,KAEhDv5D,EAAGsuC,QAAOtuC,EAAGsuC,MAAQ,IAGzB/S,GAAaL,EADbhsP,EAAI,oBAvjfL,SAA0BwY,EAAI+oO,GAC7B,IAAIn/O,EAAOm/O,GAAS,GAChBliP,EAAI,CAACotP,GAAYiQ,IAAsB16P,EAAI,GAC/C,IAAIwW,IAAOpW,EAAKg9P,MAAO,OAAO//P,EAAE+L,KAAK,IAElCoN,IACmB,MAAlBA,EAAGimP,aAAqB5B,GAAQ,kBAA6C,kBAAnBrkP,EAAGimP,YAA2BjmP,EAAGimP,YAAclP,GAAa/2O,EAAGimP,YAAar8P,EAAK8sP,KAAM,CAAC,WAAW,kBAAmB7vP,EAAG2C,GAChK,MAAnBwW,EAAGkmP,cAAsB7B,GAAQ,mBAA+C,kBAApBrkP,EAAGkmP,aAA4BlmP,EAAGkmP,aAAenP,GAAa/2O,EAAGkmP,aAAct8P,EAAK8sP,KAAM,CAAC,WAAW,kBAAmB7vP,EAAG2C,IAG5L,IAAI,IAAIpG,EAAI,EAAGA,GAAK2gQ,GAAW1gQ,SAAUD,EAAG,CAC3C,IAAIoE,EAAIu8P,GAAW3gQ,GACfqQ,EAAI7J,EAAKg9P,OAA6B,MAApBh9P,EAAKg9P,MAAMp/P,EAAE,IAAcoC,EAAKg9P,MAAMp/P,EAAE,IAAMwY,EAAKA,EAAGxY,EAAE,IAAM,MAC3E,IAANiM,EAAYA,EAAI,KACL,IAANA,EAAaA,EAAI,IACL,iBAALA,IAAeA,EAAIyqB,OAAOzqB,IACjC,MAALA,GAAW4wP,GAAQ78P,EAAE,GAAIiM,EAAG,KAAM5M,EAAG2C,GAGzC,OADG3C,EAAExD,OAAO,IAAIwD,EAAEA,EAAExD,QAAW,uBAAyBwD,EAAE,GAAGA,EAAE,GAAGmH,QAAQ,KAAK,MACxEnH,EAAE+L,KAAK,IAqifO+rS,CAAiBrmF,EAAGsuC,MAAOh9P,IAChDq2F,EAAGg8M,UAAU5uS,KAAK7F,GAClBi8P,GAAS75P,EAAKu4P,KAAM,EAAG36P,EAAG46P,GAAK2B,YAEhCv8P,EAAI,mBACA8wN,EAAGsuC,OAAStuC,EAAGsuC,MAAMxK,iBACnB,GAAI9jC,EAAG6+D,UAAa7+D,EAAG6+D,SAAS96B,OAChC,CAEJ,IADA,IAAIuiD,EAAM,GACF91P,EAAK,EAAGA,EAAKwvK,EAAG8jC,WAAW/4P,SAAUylD,EACF,IAAtCwvK,EAAG6+D,SAAS96B,OAAOvzM,IAAK,IAAI8zO,QAAagiB,EAAIvxS,KAAKirN,EAAG8jC,WAAWtzM,IACrEwvK,EAAGsuC,MAAMxK,WAAawiD,OALsBtmF,EAAGsuC,MAAMxK,WAAa9jC,EAAG8jC,WAmBtE,IAZA9jC,EAAGsuC,MAAMjC,WAAarsC,EAAGsuC,MAAMxK,WAAW/4P,OAC1CwwP,GAAaL,EAAKhsP,EAh9enB,SAAyBwY,GACxB,IAAInZ,EAAI,GAAIk1L,EAAI+6D,GAoBhB,OAnBI92O,IAAIA,EAAK,IACbA,EAAG+lP,YAAc,UACjBl/P,EAAEA,EAAExD,QAAW4wP,GACfptP,EAAEA,EAAExD,QAAW2hQ,GAEfV,GAAUhpO,SAAQ,SAAS9zB,GAC1B,QAAgB2+B,IAAbnmB,EAAGxY,EAAE,IAAR,CACA,IAAIiM,EACJ,OAAOjM,EAAE,IACR,IAAK,SAAUiM,EAAIyhP,GAAUh3N,OAAOle,EAAGxY,EAAE,MAAO,MAChD,IAAK,OAAQiM,EAAIuM,EAAGxY,EAAE,IAAM,OAAS,aAE7B2+B,IAAN1yB,IAAiB5M,EAAEA,EAAExD,QAAW04L,EAAEv0L,EAAE,GAAIiM,QAI5C5M,EAAEA,EAAExD,QAAW04L,EAAE,eAAgBA,EAAE,YAAaA,EAAE,aAAc,mCAAmCA,EAAE,aAAcA,EAAE,QAAS79J,OAAOle,EAAG2kP,cAAe,CAACl5L,KAAK,EAAGgrL,SAAS,aACzK5vP,EAAEA,EAAExD,QAAW04L,EAAE,gBAAiBA,EAAE,YAAa/7K,EAAGo8O,WAAWpuO,KAAI,SAAS7mB,GAAK,MAAO,aAAe+tP,GAAU/tP,GAAK,iBAAkByL,KAAK,IAAK,CAAC64D,KAAMzrD,EAAG2kP,WAAYlO,SAAS,WAC9K5vP,EAAExD,OAAO,IAAIwD,EAAEA,EAAExD,QAAW,gBAAkBwD,EAAE,GAAGA,EAAE,GAAGmH,QAAQ,KAAK,MACjEnH,EAAE+L,KAAK,IA27eOisS,CAAgBvmF,EAAGsuC,QACxC3mK,EAAGi8M,SAAS7uS,KAAK7F,GACjBi8P,GAAS75P,EAAKu4P,KAAM,EAAG36P,EAAG46P,GAAKkC,WAE5BhsC,EAAGgoE,YAAchoE,EAAGsuC,OAASvrO,EAAKi9L,EAAGgoE,WAAW,IAAIj9R,OAAS,IAE/DwwP,GAAaL,EADbhsP,EAAI,sBACiB49P,GAAiB9sC,EAAGgoE,YACzCrgM,EAAGk8M,UAAU9uS,KAAK7F,GAClBi8P,GAAS75P,EAAKu4P,KAAM,EAAG36P,EAAG46P,GAAK6C,aAG5BvB,EAAI,EAAEA,GAAOprC,EAAG8jC,WAAW/4P,SAAUqgQ,EAAK,CAC7C,IAAIo7C,EAAS,CAAC,MAAM,IAChBh3J,EAAKwwE,EAAG+jC,OAAO/jC,EAAG8jC,WAAWsH,EAAI,IAErC,QADa57G,GAAM,IAAI,UAAY,SAEnC,IAAK,QAEL,QAEC+rG,GAAaL,EADbhsP,EAAI,sBAAwBk8P,EAAM,IAAM25C,EACnBvd,GAASp8B,EAAI,EAAGl8P,EAAGoC,EAAM0uN,EAAIwmF,IAClD7+M,EAAGk8J,OAAO9uP,KAAK7F,GACfi8P,GAAS75P,EAAK4zS,QAAS,EAAG,mBAAqB95C,EAAM,IAAM25C,EAAOj7C,GAAKkvB,GAAG,IAG3E,GAAGxpI,EAAI,CACN,IAAI05G,EAAW15G,EAAG,aACdi3J,GAAW,EACf,GAAGv9C,GAAYA,EAASn+P,OAAS,EAAG,CACnC,IAAIkqQ,EAAK,cAAgB7J,EAAM,IAAM25C,EACrCxpD,GAAaL,EAAK+Z,EAAIyyB,GAAWx+B,EAAU+L,EAAI3jQ,IAC/Cq2F,EAAGuhK,SAASn0P,KAAKkgQ,GACjB9J,GAASq7C,GAAS,EAAG,cAAgBp7C,EAAM,IAAM25C,EAAOj7C,GAAKgnB,MAC7D21B,GAAW,EAETj3J,EAAG,YACFi3J,GAAUlrD,GAAaL,EAAK,yBAA4BkQ,EAAO,OAAQglB,GAAmBhlB,EAAK57G,EAAG,sBAE/FA,EAAG,oBACHA,EAAG,WAGRg3J,EAAO,OAAOE,MAAMnrD,GAAaL,EAAKuP,GAAcv7P,GAAI87P,GAAWw7C,IAyCvE,OAtCmB,MAAhBl1S,EAAKqrR,SAAmBrrR,EAAKqrR,QAAQ5xR,OAAS,IAEhDwwP,GAAaL,EADbhsP,EAAI,oBAAsB61S,EACLtd,GAAUn2R,EAAKqrR,QAASztR,EAAGoC,IAChDq2F,EAAGshK,KAAKl0P,KAAK7F,GACbi8P,GAAS75P,EAAK4zS,QAAS,EAAG,iBAAmBH,EAAOj7C,GAAKoa,MAI1D3oB,GAAaL,EADbhsP,EAAI,eAAiB61S,EACAxd,GAASvnE,EAAI9wN,EAAGoC,IACrCq2F,EAAGghK,UAAU5zP,KAAK7F,GAClBi8P,GAAS75P,EAAKu4P,KAAM,EAAG36P,EAAG46P,GAAKC,IAK/BxO,GAAaL,EADbhsP,EAAI,sBACiBkgR,GAAYpvD,EAAGsvD,OAAQh+Q,IAC5Cq2F,EAAG8iL,OAAO11Q,KAAK7F,GACfi8P,GAAS75P,EAAK4zS,QAAS,EAAG,mBAAoBp7C,GAAK2kB,OAKnDlzB,GAAaL,EADbhsP,EAAI,aAAe61S,EAzqKpB,SAAmB9lS,EAAM5O,EAAMiB,GAC9B,OAAyB,SAAjBjB,EAAK4vC,OAAO,GAAc8tO,GAAgB1B,IAAeptQ,EAAM3N,GAyqKlDq1S,CAAU3mF,EAAI9wN,EAAGoC,IACtCq2F,EAAGpnF,OAAOxL,KAAK7F,GACfi8P,GAAS75P,EAAK4zS,QAAS,EAAG,UAAYH,EAAOj7C,GAAKijB,KAE/C/sD,EAAG2+D,QAAUynB,IAEf7qD,GAAaL,EADbhsP,EAAI,oBACiB8wN,EAAG2+D,QACxBh3L,EAAG6rM,IAAIz+R,KAAK7F,GACZi8P,GAAS75P,EAAK4zS,QAAS,EAAG,iBAAkBp7C,GAAKU,MAGlDjP,GAAaL,EAAK,sBA94fnB,SAAkBvzJ,EAAIr2F,GACrB,IAAY6J,EAAR5M,EAAI,GACRA,EAAEA,EAAExD,QAAW4wP,GACfptP,EAAEA,EAAExD,QAAW0+P,GACfl7P,EAAIA,EAAEkoB,OAAOmzO,IAGb,IAAIg9C,EAAK,SAAS3jR,GACd0kE,EAAG1kE,IAAM0kE,EAAG1kE,GAAGl4B,OAAS,IAC1BoQ,EAAIwsF,EAAG1kE,GAAG,GACV10B,EAAEA,EAAExD,QAAWyzP,GAAU,WAAY,KAAM,CAC1C,UAAqB,KAARrjP,EAAE,GAAY,GAAG,KAAOA,EACrC,YAAeutP,GAAQzlO,GAAG3xB,EAAKgkQ,UAAY,YAM1ClyE,EAAK,SAASngK,IAChB0kE,EAAG1kE,IAAI,IAAID,SAAQ,SAAS7nB,GAC5B5M,EAAEA,EAAExD,QAAWyzP,GAAU,WAAY,KAAM,CAC1C,UAAqB,KAARrjP,EAAE,GAAY,GAAG,KAAOA,EACrC,YAAeutP,GAAQzlO,GAAG3xB,EAAKgkQ,UAAY,cAM1ChyE,EAAK,SAAS5yL,IAChBi3F,EAAGj3F,IAAI,IAAIsyB,SAAQ,SAAS7nB,GAC5B5M,EAAEA,EAAExD,QAAWyzP,GAAU,WAAY,KAAM,CAC1C,UAAqB,KAARrjP,EAAE,GAAY,GAAG,KAAOA,EACrC,YAAemuP,GAAQ54P,GAAG,SAe7B,OAVAk2S,EAAG,aACHxjH,EAAG,UACHA,EAAG,UACHE,EAAG,UACH,CAAC,OAAQ,UAAUtgK,QAAQ4jR,GAC3B,CAAC,YAAa,WAAY,aAAa5jR,QAAQsgK,GAC/CA,EAAG,OACHA,EAAG,YACHA,EAAG,YACA/0L,EAAExD,OAAO,IAAIwD,EAAEA,EAAExD,QAAW,WAAawD,EAAE,GAAGA,EAAE,GAAGmH,QAAQ,KAAK,MAC5DnH,EAAE+L,KAAK,IA+1f2BusS,CAASl/M,EAAIr2F,IACtDiqP,GAAaL,EAAK,cAAe8P,GAAW15P,EAAKu4P,OACjDtO,GAAaL,EAAK,qBAAuB6pD,EAAQ,QAAS/5C,GAAW15P,EAAK4zS,gBAEnE5zS,EAAKioR,cAAejoR,EAAKkoR,IACzBt+B,EAER,SAASomB,GAAUpyQ,EAAEX,GACpB,IAAIuM,EAAI,GACR,QAAQvM,GAAG,IAAI2Q,MAAQ,UACtB,IAAK,SAAU,MAAO,CAAChQ,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IACnE,IAAK,SAAU4L,EAAIigE,EAAOy2C,OAAOtiH,EAAE+wC,MAAM,EAAE,KAAM,MACjD,IAAK,SAAUnlC,EAAI5L,EAAG,MACtB,IAAK,QAAU,MAAO,CAACA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IACnE,QAAS,MAAM,IAAIi+B,MAAM,sBAAwB5+B,GAAKA,EAAE2Q,MAAQ,cAEjE,MAAO,CAACpE,EAAEw+B,WAAW,GAAIx+B,EAAEw+B,WAAW,GAAIx+B,EAAEw+B,WAAW,GAAIx+B,EAAEw+B,WAAW,GAAIx+B,EAAEw+B,WAAW,GAAIx+B,EAAEw+B,WAAW,GAAIx+B,EAAEw+B,WAAW,GAAIx+B,EAAEw+B,WAAW,IAQ7I,SAASwtQ,GAAS7nS,EAAM3N,GACxB,IAASlB,EAAI6O,EACR1Q,EAAI+C,GAAM,GAGd,OAFI/C,EAAE2Q,OAAM3Q,EAAE2Q,KAAQujO,GAAWC,EAAOvnE,SAASl8J,GAAS,SAAW,UAE9D2tO,GAnkjBR,SAAkBx8O,EAAG7B,GACpB,IAAI2sP,EACJ,GAAGT,GAAO,OAAOlsP,EAAE2Q,MAClB,IAAK,SAAUg8O,EAAM,IAAIT,GAAMrqP,EAAG,CAAE22S,QAAO,IAAS,MACpD,IAAK,SAAU,IAAK,QAAS7rD,EAAM,IAAIT,GAAMrqP,EAAG,CAAE22S,QAAO,IAAU,MACnE,IAAK,SAAU7rD,EAAM,IAAIT,GAAMrqP,GAAI,MACnC,QAAS,MAAM,IAAI+8B,MAAM,qBAAuB5+B,EAAE2Q,WAE9C,OAAO3Q,EAAE2Q,MACb,IAAK,SAAUg8O,EAAMpP,EAAI53B,KAAK9jN,EAAG,CAAE8O,KAAM,WAAa,MACtD,IAAK,SAAUg8O,EAAMpP,EAAI53B,KAAK9jN,EAAG,CAAE8O,KAAM,WAAa,MACtD,IAAK,SAAU,IAAK,QAASg8O,EAAMpP,EAAI53B,KAAK9jN,EAAG,CAAE8O,KAAM,WAAa,MACpE,QAAS,MAAM,IAAIiuB,MAAM,qBAAuB5+B,EAAE2Q,MAEnD,OAAOg8O,EAojjBD8rD,CAAS52S,EAAG7B,GACIA,GAGvB,SAAS04S,GAAehoS,EAAM1Q,GAC7B,IAAIzD,EAAI,EACR0xH,EAAM,KAAM1xH,EAAImU,EAAKlU,QAAQ,OAAOkU,EAAKq6B,WAAWxuC,IACnD,KAAK,GAAM,KAAK,GAAM,KAAK,KAAQA,EAAG,MACtC,KAAK,GAAM,OAAO+gS,GAAW5sR,EAAKghC,MAAMn1C,GAAGyD,GAC3C,QAAS,MAAMiuH,EAEhB,OAAO2jJ,GAAIpG,YAAY96P,EAAM1Q,GA4B9B,SAAS24S,GAASjoS,EAAM7O,EAAG7B,EAAGojH,GAC7B,OAAGA,GAAOpjH,EAAE2Q,KAAO,SAAiBihQ,GAAIpG,YAAY96P,EAAM1Q,IACnD4xQ,GAAIpG,YAAY3pQ,EAAG7B,GAG3B,SAAS44S,GAASloS,EAAM3N,GAEvB,GADAuwO,IAC0B,qBAAhBtmE,aAA+Bt8J,aAAgBs8J,YAAa,OAAO4rI,GAAS,IAAI1hO,WAAWxmE,GAAO3N,GAC5G,IAAcxC,EAAVsB,EAAI6O,EAAqB0yG,GAAM,EAC/BpjH,EAAI+C,GAAM,GAOd,GANG/C,EAAEkqQ,aAAclqQ,EAAE2yQ,QAAS,EAAM3yQ,EAAEk2P,YAAa,GACnDs0B,GAAW,GACRxqR,EAAEs8O,SAAQkuC,GAASluC,OAASt8O,EAAEs8O,QAC7Bt8O,EAAE2Q,OAAM3Q,EAAE2Q,KAAQujO,GAAWC,EAAOvnE,SAASl8J,GAAS,SAAW,UACxD,QAAV1Q,EAAE2Q,OAAkB3Q,EAAE2Q,KAAOujO,EAAU,SAAW,SAAUryO,EAv2jBhE,SAAqBoL,GACpB,GAAkB,qBAARqwO,EAAqB,OAAOA,EAAIgM,aAAar8O,GAEvD,GAAgB,qBAANlJ,GAAqC,qBAAT8mP,MAA0C,qBAAXr9I,OAAwB,IAE5F,IAAIqrM,EAAShuD,KAAK59O,GAAO4rS,EAAOnxS,KAAK,KAAMmxS,EAAO75G,SAAW,SAC7D,IAAItuL,EAAOmoS,EAAOlzF,OAClB,OAD0BkzF,EAAOryG,QAC1B91L,EACN,MAAMjQ,IAAK,IAAIA,GAAEyoC,UAAYzoC,GAAEyoC,QAAQhgC,MAAM,YAAa,MAAMzI,GAClE,MAAM,IAAIm+B,MAAM,sBAAwB3xB,GA81jB2B6rS,CAAYpoS,IAClE,UAAV1Q,EAAE2Q,OAAoByyG,GAAM,EAAMpjH,EAAE2Q,KAAO,SAAU3Q,EAAE2rQ,SAAW,MAAO9pQ,EAnB7E,SAAiB6O,GAChB,OAAQA,EAAKxH,MAAM,gBAAyBshP,GAAU95O,GAAjBA,EAkB2CqoS,CAAQroS,IAC3E,SAAV1Q,EAAE2Q,MAAyC,qBAAfumE,YAA8BxmE,aAAgBwmE,YAAqC,qBAAhB81F,YAA6B,CAE9H,IAAI2gD,EAAG,IAAI3gD,YAAY,GAAIgsI,EAAG,IAAI9hO,WAAWy2I,GAE7C,GAFkDqrF,EAAGp4G,IAAI,OAErDo4G,EAAGp4G,IAAgC,OAA1B5gM,EAAE8rP,GAAI9rP,IAAM2Q,KAAK,QAAgBioS,GAAS7jE,EAAKlzO,GAAI7B,GAEjE,QAAQO,EAAIwyQ,GAAUlxQ,EAAG7B,IAAI,IAC5B,KAAK,IAAM,GAAY,MAATO,EAAE,IAAwB,KAATA,EAAE,IAAwB,MAATA,EAAE,IAAwB,MAATA,EAAE,IAAwB,MAATA,EAAE,IAAwB,KAATA,EAAE,IAAwB,MAATA,EAAE,GAAa,OAvErI,SAAkBihP,EAAKz+O,GACtB,OAAGw6O,EAAIvwK,KAAKw0K,EAAK,oBAA4B21D,GAAc31D,EAAKz+O,GACzD0gS,GAAajiD,EAAKz+O,GAqEkHk2S,CAAS17D,EAAI53B,KAAK9jN,EAAG7B,GAAIA,GAAI,MACvK,KAAK,EAAM,GAAGO,EAAE,IAAM,EAAM,OAAOkjS,GAAa5hS,EAAG7B,GAAI,MACvD,KAAK,GAAM,OAAOs9R,GAAWz7R,EAAG7B,GAChC,KAAK,GAAM,GAAY,KAATO,EAAE,GAAa,OAl4Z/B,SAAoBsB,EAAGkB,GACtB,IAAI/C,EAAI+C,GAAQ,GAAIm2S,IAAYl5S,EAAE6vP,IAAK7vP,EAAE6vP,KAAM,EAC/C,IACC,IAAI/5M,EAAMw2N,GAAKd,YAAY3pQ,EAAG7B,GAE9B,OADAA,EAAE6vP,IAAMqpD,EACDpjQ,EACN,MAAMr1C,IAEP,GADAT,EAAE6vP,IAAMqpD,GACJz4S,GAAEyoC,QAAQhgC,MAAM,uBAAyBgwS,EAAS,MAAMz4S,GAC5D,OAAOmxQ,GAAIpG,YAAY3pQ,EAAGkB,IAy3ZUo2S,CAAWt3S,EAAG7B,GAAI,MACtD,KAAK,GAAM,GAAY,KAATO,EAAE,IAAwB,KAATA,EAAE,IAAwB,KAATA,EAAE,GAAa,OAAOywQ,GAAIxF,YAAY3pQ,EAAG7B,GAAI,MAC7F,KAAK,GAAM,OAAiB,KAATO,EAAE,IAAeA,EAAE,GAAK,GAAQA,EAAE,GAAK,EAAQg4S,GAAS12S,EAAG7B,GAAK24S,GAASjoS,EAAM7O,EAAG7B,EAAGojH,GACxG,KAAK,IAAM,OAAgB,KAAT7iH,EAAE,GAAc+8R,GAAWz7R,EAAG7B,GAAK24S,GAASjoS,EAAM7O,EAAG7B,EAAGojH,GAC1E,KAAK,IAAM,GAAY,MAAT7iH,EAAE,GAAe,OA1CjC,SAAoBmQ,EAAM1Q,GACzB,IAAI6B,EAAI6O,EAIR,MAHa,UAAV1Q,EAAE2Q,OAAkB9O,EAAI2qE,EAAOy2C,OAAOphH,IACzCA,EAAIowO,QAAQ4B,MAAM5wH,OAAO,KAAMphH,EAAE6vC,MAAM,GAAI,OAC3C1xC,EAAE2Q,KAAO,SACF+nS,GAAe72S,EAAG7B,GAqCco5S,CAAWv3S,EAAG7B,GAAM,MAC1D,KAAK,EAAM,GAAY,IAATO,EAAE,IAAeA,EAAE,IAAM,GAAiB,IAATA,EAAE,GAAa,OAAOyyQ,GAAIxH,YAAY3pQ,EAAG7B,GAAI,MAC5F,KAAK,EAAM,KAAK,IAAM,KAAK,IAAM,KAAK,IAAM,OAAO0qQ,GAAIc,YAAY3pQ,EAAG7B,GACtE,KAAK,IAAM,GAAY,KAATO,EAAE,IAAwB,MAATA,EAAE,IAAwB,MAATA,EAAE,GAAa,OAAO65Q,GAAI5O,YAAY3pQ,EAAG7B,GAAI,MAC7F,KAAK,GAAM,KAAK,GAAM,KAAK,GAAM,OA3DnC,SAA4B0Q,EAAM1Q,GACjC,IAAIojH,EAAM,GAAI+9I,EAAQ4R,GAAUriQ,EAAM1Q,GACtC,OAAOA,EAAE2Q,MACR,IAAK,SAAUyyG,EAAM52C,EAAOy2C,OAAOvyG,GAAO,MAC1C,IAAK,SAAU0yG,EAAM1yG,EAAM,MAC3B,IAAK,SAAU0yG,EAAM1yG,EAAK5E,SAAS,UAAW,MAC9C,IAAK,QAASs3G,EAAMyoI,GAAOn7O,GAAO,MAClC,QAAS,MAAM,IAAIkuB,MAAM,qBAAuB5+B,EAAE2Q,MAGnD,OADe,KAAZwwP,EAAM,IAA0B,KAAZA,EAAM,IAA0B,KAAZA,EAAM,KAAY/9I,EAAM0rI,GAAS1rI,IACrEs1L,GAAet1L,EAAKpjH,GAiDcq5S,CAAmBx3S,EAAG7B,GAE/D,OAAG0qQ,GAAIn8N,SAASxkC,QAAQxJ,EAAE,KAAO,GAAKA,EAAE,IAAM,IAAMA,EAAE,IAAM,GAAWmqQ,GAAIc,YAAY3pQ,EAAG7B,GACnF24S,GAASjoS,EAAM7O,EAAG7B,EAAGojH,GAG7B,SAASkmI,GAAajmD,EAAUtgM,GAC/B,IAAI/C,EAAI+C,GAAM,GACd,OADkB/C,EAAE2Q,KAAO,OACpBioS,GAASv1G,EAAUrjM,GAE3B,SAASs5S,GAAc93D,EAAKxhP,GAC3B,OAAOA,EAAE2Q,MACR,IAAK,SAAU,IAAK,SAAU,MAC9B,IAAK,SAAU,IAAK,QAAS3Q,EAAE2Q,KAAO,GAAI,MAC1C,IAAK,OAAQ,OAAO25O,EAAStqP,EAAE4pO,KAAM2T,EAAIhmD,MAAMiqD,EAAK,CAAC7wO,KAAKujO,EAAU,SAAW,MAC/E,IAAK,SAAU,MAAM,IAAIt1M,MAAM,qCAAuC5+B,EAAE+mQ,SAAW,WACnF,QAAS,MAAM,IAAInoO,MAAM,qBAAuB5+B,EAAE2Q,MAEnD,OAAO4sO,EAAIhmD,MAAMiqD,EAAKxhP,GA+BvB,SAASu5S,GAAkBzjQ,EAAK/yC,EAAMy2S,GACjCA,IAAKA,EAAM,IACf,IAAIx5S,EAAIw5S,EAAM1jQ,EACd,OAAO/yC,EAAK4N,MACX,IAAK,SAAU,OAAO67D,EAAOC,OAAO+9K,GAAUxqP,IAC9C,IAAK,SAAU,OAAOwqP,GAAUxqP,GAChC,IAAK,SAAU,OAAO81C,EACtB,IAAK,OAAQ,OAAOw0M,EAASvnP,EAAK6mO,KAAM5pO,EAAG,QAC3C,IAAK,SACJ,OAAGk0O,EAAgBE,EAAYp0O,EAAG,QACtBu5S,GAAkBv5S,EAAG,CAAC2Q,KAAK,WAAW1E,MAAM,IAAIkb,KAAI,SAASvlB,GAAK,OAAOA,EAAEmpC,WAAW,MAGpG,MAAM,IAAInM,MAAM,qBAAuB77B,EAAK4N,MAkB7C,SAAS8oS,GAAkB3jQ,EAAK/yC,GAC/B,OAAOA,EAAK4N,MACX,IAAK,SACL,IAAK,SACL,IAAK,SAGJ,IAFA,IAAIwsO,EAAO,GAEH5gP,EAAI,EAAGA,EAAIu5C,EAAIt5C,SAAUD,EAAG4gP,GAAQ9lN,OAAOE,aAAaue,EAAIv5C,IACpE,MAAoB,UAAbwG,EAAK4N,KAAmB67D,EAAOC,OAAO0wK,GAAqB,UAAbp6O,EAAK4N,KAAmBm+O,GAAS3R,GAAQA,EAC/F,IAAK,OAAQ,OAAOmN,EAASvnP,EAAK6mO,KAAM9zL,GACxC,IAAK,SAAU,OAAOA,EACtB,QAAS,MAAM,IAAIlX,MAAM,qBAAuB77B,EAAK4N,OAIvD,SAAS+oS,GAAUjoF,EAAI1uN,GACtBuwO,IACAkiD,GAAS/jE,GACT,IAAIzxN,EAAI+C,GAAM,GAEd,GADG/C,EAAEkqQ,aAAclqQ,EAAE2yQ,QAAS,EAAM3yQ,EAAEk2P,YAAa,GACtC,SAAVl2P,EAAE2Q,KAAiB,CAAE3Q,EAAE2Q,KAAO,SAAU,IAAImlC,EAAO4jQ,GAAUjoF,EAAIzxN,GAAuB,OAAlBA,EAAE2Q,KAAO,QAAgBikO,EAAK9+L,GACvG,OAAO91C,EAAE+mQ,UAAY,QACpB,IAAK,MACL,IAAK,OAAQ,OAAOwyC,GAAkB9a,GAAWhtE,EAAIzxN,GAAIA,GACzD,IAAK,MACL,IAAK,OAAQ,OAAOu5S,GAAkB5F,GAAcliF,EAAIzxN,GAAIA,GAC5D,IAAK,MACL,IAAK,OAAQ,OAAOu5S,GAAkB/F,GAAc/hF,EAAIzxN,GAAIA,GAC5D,IAAK,MAAO,OA3Cd,SAAyB81C,EAAK/yC,GAC7B,OAAOA,EAAK4N,MACX,IAAK,SAAU,OAAO67D,EAAOC,OAAO32B,GACpC,IAAK,SACL,IAAK,SAAU,OAAOA,EACtB,IAAK,OAAQ,OAAOw0M,EAASvnP,EAAK6mO,KAAM9zL,EAAK,UAC7C,IAAK,SACJ,OAAGo+L,EAAgBE,EAAYt+L,EAAK,UACxBA,EAAI7pC,MAAM,IAAIkb,KAAI,SAASvlB,GAAK,OAAOA,EAAEmpC,WAAW,MAGlE,MAAM,IAAInM,MAAM,qBAAuB77B,EAAK4N,MAgCxBgpS,CAAgB5F,GAActiF,EAAIzxN,GAAIA,GACzD,IAAK,MAAO,OAAOu5S,GAAkB9F,GAAchiF,EAAIzxN,GAAIA,EAAG,UAC9D,IAAK,MAAO,OAAOu5S,GAAkB3F,GAAcniF,EAAIzxN,GAAIA,GAC3D,IAAK,MAAO,OAAOy5S,GAAkBxF,GAAcxiF,EAAIzxN,GAAIA,GAC3D,IAAK,MAAO,OAAOu5S,GAAkB1F,GAAcpiF,EAAIzxN,GAAIA,GAC3D,IAAK,MAAO,OAAOu5S,GAAkBzF,GAAcriF,EAAIzxN,GAAIA,GAC3D,IAAK,MAAO,OAAOu5S,GAAkBrF,GAAcziF,EAAIzxN,GAAIA,GAC3D,IAAK,OAAQ,OAAOu5S,GAAkBtG,GAAUxhF,EAAIzxN,GAAIA,GACxD,IAAK,QAAaA,EAAE+zP,OAAM/zP,EAAE+zP,KAAO,GACnC,IAAK,QAAa/zP,EAAE+zP,OAAM/zP,EAAE+zP,KAAO,GACnC,IAAK,QAAiC,OAApB/zP,EAAE+zP,OAAM/zP,EAAE+zP,KAAO,GAAU0lD,GAAkB/U,GAAejzE,EAAIzxN,GAAIA,GACtF,IAAK,QAAaA,EAAE+zP,OAAM/zP,EAAE+zP,KAAO,GACnC,IAAK,QACL,IAAK,MACL,IAAK,MAA+B,OAApB/zP,EAAE+zP,OAAM/zP,EAAE+zP,KAAO,GA/EnC,SAAwBtiC,EAAI1uN,GAC3B,IAAI/C,EAAI+C,GAAM,GAEd,OAAOu2S,GADG9U,GAAa/yE,EAAIzxN,GACDA,GA4EkB45S,CAAenoF,EAAIzxN,GAC9D,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,MAAO,OA1Gd,SAAwByxN,EAAI1uN,GAC3B,IAAI/C,EAAI+C,GAAM,GACVg1F,EAAI+qJ,GAAUrxB,EAAIzxN,GAClB65S,EAAQ,GAEZ,GADG75S,EAAEk2M,cAAa2jG,EAAM3jG,YAAc,WACnCl2M,EAAEmwM,SAAU0pG,EAAMlpS,KAAOujO,EAAU,aAAe,cAChD,OAAOl0O,EAAE2Q,MACb,IAAK,SAAUkpS,EAAMlpS,KAAO,SAAU,MACtC,IAAK,SAAUkpS,EAAMlpS,KAAO,SAAU,MACtC,IAAK,SAAU,MAAM,IAAIiuB,MAAM,qCAAuC5+B,EAAE+mQ,SAAW,WACnF,IAAK,SACL,IAAK,OAAQ8yC,EAAMlpS,KAAOujO,EAAU,aAAe,SAAU,MAC7D,QAAS,MAAM,IAAIt1M,MAAM,qBAAuB5+B,EAAE2Q,MAEnD,IAAImlC,EAAMiiD,EAAEsoJ,UAAY9C,EAAIhmD,MAAMx/F,EAAG,CAACs+G,SAAS,MAAO1lM,KAAM,CAAC,WAAc,SAAU,OAAU,UAAUkpS,EAAMlpS,OAASkpS,EAAMlpS,OAASonF,EAAE3iB,SAASykO,GAElJ,OAAG75S,EAAEmwM,UAAqC,qBAAlB2pG,cAAsCR,GAAcQ,cAAchkQ,EAAK91C,EAAEmwM,UAAWnwM,GAE9F,SAAXA,EAAE2Q,KAAwB25O,EAAStqP,EAAE4pO,KAAM9zL,GAC7B,UAAV91C,EAAE2Q,KAAmBm+O,GAASh5M,GAAOA,EAuFxBikQ,CAAetoF,EAAIzxN,GACtC,QAAS,MAAM,IAAI4+B,MAAO,0BAA4B5+B,EAAE+mQ,SAAW,MAIrE,SAASizC,GAAkBh6S,GAC1B,IAAGA,EAAE+mQ,SAAL,CACA,IAOIo8B,EAAMnjS,EAAE4pO,KAAKl4L,MAAM1xC,EAAE4pO,KAAK92L,YAAY,MAAMv6B,cAC7C4qR,EAAIj6R,MAAM,gBAAelJ,EAAE+mQ,SAAWo8B,EAAIzxP,MAAM,IACnD1xC,EAAE+mQ,SATQ,CACT,IAAO,QACP,IAAO,OACP,IAAO,OACP,WAAc,MACd,QAAW,OAIK/mQ,EAAE+mQ,WAAa/mQ,EAAE+mQ,UAGnC,SAASvd,GAAc/3B,EAAIpuB,EAAUtgM,GACpC,IAAI/C,EAAI+C,GAAM,GAGd,OAHkB/C,EAAE2Q,KAAO,OAC3B3Q,EAAE4pO,KAAOvmC,EACT22G,GAAkBh6S,GACX05S,GAAUjoF,EAAIzxN,GAWtB,SAASi6S,GAAc5kD,EAAOpzP,EAAG2yL,EAAGniG,EAAMs8B,EAAQ2zI,EAAK/M,EAAO31P,GAC7D,IAAIymM,EAAK6tD,GAAW1/D,GAChBslH,EAASl6S,EAAEk6S,OAAQrwE,EAAM7pO,EAAE6pO,MAAQhtO,OAAOM,UAAUuF,eAAehB,KAAK1B,EAAG,OAC3Em6S,GAAU,EACVxgO,EAAkB,IAAXo1C,EAAgB,GAAK,GAChC,GAAc,IAAXA,EACF,GAAGlyH,OAAOC,eAAgB,IAAMD,OAAOC,eAAe68E,EAAK,aAAc,CAACv6E,MAAMw1L,EAAGl4L,YAAW,IAAW,MAAM+D,IAAKk5E,EAAIygO,WAAaxlH,OAChIj7G,EAAIygO,WAAaxlH,EAEvB,IAAI+gE,GAASN,EAAMzgE,GAAI,IAAK,IAAItpC,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,EAAG,CAC3D,IAAIloI,EAAMuyO,EAAQN,EAAMzgE,GAAGtpC,GAAK+pG,EAAM5iK,EAAK64D,GAAKm7C,GAChD,QAAWnnK,IAARlc,QAA+Bkc,IAAVlc,EAAIjhB,EAA5B,CAKA,IAAIyK,EAAIwW,EAAIxW,EACZ,OAAOwW,EAAIjhB,GACV,IAAK,IAAK,GAAQ,MAALyK,EAAW,MAAO,SAC/B,IAAK,IAAKA,OAAI,EAAQ,MACtB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MACxC,QAAS,MAAM,IAAIgyB,MAAM,qBAAuBxb,EAAIjhB,GAErD,GAAa,MAAVugQ,EAAIp3G,GAAY,CAClB,GAAQ,MAAL1+I,EACF,QAAc0yB,IAAX46Q,EAAsBvgO,EAAI+oL,EAAIp3G,IAAM4uJ,MAClC,KAAGrwE,GAAa,OAANj9N,EACV,SADsB+sE,EAAI+oL,EAAIp3G,IAAM,UAGzC3xE,EAAI+oL,EAAIp3G,IAAMu+E,GAAQ7pO,EAAEq6S,YAAuB,KAATj3R,EAAIjhB,EAAYyK,EAAIuoP,GAAY/xO,EAAIxW,EAAE5M,GAErE,MAAL4M,IAAWutS,GAAU,QApBzB,CACC,QAAc76Q,IAAX46Q,EAAsB,SACZ,MAAVx3C,EAAIp3G,KAAc3xE,EAAI+oL,EAAIp3G,IAAM4uJ,IAqBrC,MAAO,CAAEvgO,IAAKA,EAAKwgO,QAASA,GAI7B,SAAStuC,GAAcxW,EAAOtyP,GAC7B,GAAY,MAATsyP,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAIjyO,EAAM,CAACjhB,EAAE,IAAIyK,EAAE,GAAImiH,EAAS,EAAGp6G,EAAS,EAAG+tP,EAAM,GAAI91P,EAAE,EAAGgvO,EAAG,GAC7D35O,EAAI,CAAC3B,EAAE,CAAC2B,EAAE,EAAEL,EAAE,GAAGnB,EAAE,CAACwB,EAAE,EAAEL,EAAE,IAC1B5B,EAAI+C,GAAQ,GACZmoI,EAAmB,MAAXlrI,EAAEkrI,MAAgBlrI,EAAEkrI,MAAQmqH,EAAM,QAK9C,OAJgB,IAAbr1P,EAAE+uH,OAAcA,EAAS,EACP,MAAb/uH,EAAE+uH,OAAgBA,EAAS,EAC3B5uH,MAAMC,QAAQJ,EAAE+uH,QAASA,EAAS,EACtB,MAAZ/uH,EAAE+uH,SAAgBA,EAAS,UACrBmc,GACb,IAAK,SAAUjpI,EAAI8yP,GAAkB7pH,GAAQ,MAC7C,IAAK,UAAUjpI,EAAI8yP,GAAkBM,EAAM,UAAY/0P,EAAE2B,EAAIipI,EAAO,MACpE,QAASjpI,EAAIipI,EAEXnc,EAAS,IAAGp6G,EAAS,GACxB,IAAI8xL,EAAK6tD,GAAWryP,EAAE3B,EAAE2B,GACpBwwF,EAAO,GACP38C,EAAM,GACNwkQ,EAAO,EAAGh5N,EAAU,EACpBq0K,EAAQx1P,MAAMC,QAAQi1P,GACtBzgE,EAAI3yL,EAAE3B,EAAE2B,EAAGqpJ,EAAI,EAAGivJ,EAAK,EAE3B,IADG5kD,IAAUN,EAAMzgE,KAAIygE,EAAMzgE,GAAK,IAC9BtpC,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,EAG5B,OAFA74D,EAAK64D,GAAKipG,GAAWjpG,GACrBloI,EAAMuyO,EAAQN,EAAMzgE,GAAGtpC,GAAK+pG,EAAM5iK,EAAK64D,GAAKm7C,GACrC13E,GACN,KAAK,EAAG2zI,EAAIp3G,GAAKA,EAAIrpJ,EAAE3B,EAAEsB,EAAG,MAC5B,KAAK,EAAG8gQ,EAAIp3G,GAAK74D,EAAK64D,GAAI,MAC1B,KAAK,EAAGo3G,EAAIp3G,GAAKtrJ,EAAE+uH,OAAOu8B,EAAIrpJ,EAAE3B,EAAEsB,GAAI,MACtC,QAIC,IAHU,MAAPwhB,IAAaA,EAAM,CAACsR,EAAG,UAAWvyB,EAAG,MACxCy5O,EAAKhvO,EAAIuoP,GAAY/xO,EAAK,KAAMpjB,GAChCshF,EAAU,EACNi5N,EAAK,EAAGA,EAAK73C,EAAIlmQ,SAAU+9S,EAAO73C,EAAI63C,IAAO3+D,IAAIA,EAAKhvO,EAAI,OAAS00E,GACvEohL,EAAIp3G,GAAKswF,EAGZ,IAAKhnD,EAAI3yL,EAAE3B,EAAE2B,EAAI0S,EAAQigL,GAAK3yL,EAAExB,EAAEwB,IAAK2yL,EAAG,CACzC,IAAIj7G,EAAMsgO,GAAc5kD,EAAOpzP,EAAG2yL,EAAGniG,EAAMs8B,EAAQ2zI,EAAK/M,EAAO31P,KAC3C,IAAhB25E,EAAIwgO,UAAkC,IAAXprL,GAA+B,IAAhB/uH,EAAEw6S,UAAwBx6S,EAAEw6S,cAAY1kQ,EAAIwkQ,KAAU3gO,EAAIA,KAGzG,OADA7jC,EAAIt5C,OAAS89S,EACNxkQ,EAGR,IAAI2kQ,GAAO,KACX,SAASC,GAAarlD,EAAOpzP,EAAG2yL,EAAGniG,EAAM1+E,EAAI4pD,EAAIg9O,EAAI36S,GAGpD,IAFA,IAAIm6S,GAAU,EACVxgO,EAAM,GAAIimC,EAAM,GAAI6mF,EAAK6tD,GAAW1/D,GAChCtpC,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,EAChC,GAAK74D,EAAK64D,GAAV,CACA,IAAIloI,EAAMpjB,EAAE21P,OAASN,EAAMzgE,IAAI,IAAItpC,GAAI+pG,EAAM5iK,EAAK64D,GAAKm7C,GACvD,GAAU,MAAPrjL,EAAaw8F,EAAM,QACjB,GAAY,MAATx8F,EAAIxW,EAAW,CACtButS,GAAU,EACVv6L,EAAM,IAAI5/G,EAAEq6S,YAAuB,KAATj3R,EAAIjhB,EAAWihB,EAAIxW,EAAIuoP,GAAY/xO,EAAK,KAAMpjB,IACxE,IAAI,IAAIzD,EAAI,EAAG+uN,EAAK,EAAG/uN,IAAMqjH,EAAIpjH,SAAUD,EAAG,IAAI+uN,EAAK1rG,EAAI70E,WAAWxuC,MAAQwX,GAAMu3M,IAAO3tJ,GAAa,KAAP2tJ,GAAatrN,EAAE46S,YAAa,CAACh7L,EAAM,IAAOA,EAAIz4G,QAAQszS,GAAM,MAAQ,IAAM,MACjK,MAAP76L,IAAaA,EAAM,aACJ,MAATx8F,EAAIziB,GAAcyiB,EAAI/iB,EAGzBu/G,EAAM,IAFZu6L,GAAU,GACVv6L,EAAM,IAAMx8F,EAAIziB,GAAUoJ,QAAQ,MAAQ,IAAG61G,EAAM,IAAMA,EAAIz4G,QAAQszS,GAAM,MAAQ,MAGpF9gO,EAAInzE,KAAKo5G,GAEV,OAAmB,IAAhB5/G,EAAEw6S,WAAuBL,EAAgB,KACrCxgO,EAAI5tE,KAAK4uS,GAGjB,SAASjH,GAAar+C,EAAOtyP,GAC5B,IAAI+yC,EAAM,GACN91C,EAAY,MAAR+C,EAAe,GAAKA,EAC5B,GAAY,MAATsyP,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAIpzP,EAAI8yP,GAAkBM,EAAM,SAC5BslD,OAAcr7Q,IAATt/B,EAAE26S,GAAmB36S,EAAE26S,GAAK,IAAK5mS,EAAK4mS,EAAG5vQ,WAAW,GACzD0lO,OAAcnxO,IAATt/B,EAAEywQ,GAAmBzwQ,EAAEywQ,GAAK,KAAM9yM,EAAK8yM,EAAG1lO,WAAW,GAC1D8vQ,EAAW,IAAIvgR,QAAY,KAAJqgR,EAAU,MAAQA,GAAI,MAC7ChhO,EAAM,GAAI8Y,EAAO,GACrBzyF,EAAE21P,MAAQx1P,MAAMC,QAAQi1P,GAGxB,IAFA,IAAIga,EAAUrvQ,EAAE86S,YAAczlD,EAAM,UAAY,GAC5C+Z,EAAUpvQ,EAAE86S,YAAczlD,EAAM,UAAY,GACxC/pG,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,GAAU+jH,EAAQ/jH,IAAI,IAAIukH,SAASp9K,EAAK64D,GAAKipG,GAAWjpG,IACzF,IAAI,IAAIspC,EAAI3yL,EAAE3B,EAAE2B,EAAG2yL,GAAK3yL,EAAExB,EAAEwB,IAAK2yL,GAC3Bw6E,EAAQx6E,IAAI,IAAIi7E,QAEX,OADVl2L,EAAM+gO,GAAarlD,EAAOpzP,EAAG2yL,EAAGniG,EAAM1+E,EAAI4pD,EAAIg9O,EAAI36S,MAE/CA,EAAE+6S,QAAOphO,EAAMA,EAAIxyE,QAAQ0zS,EAAS,KACvC/kQ,EAAItvC,KAAKmzE,EAAM82L,IAGhB,cADOzwQ,EAAE21P,MACF7/M,EAAI/pC,KAAK,IAGjB,SAASioS,GAAa3+C,EAAOtyP,GACxBA,IAAMA,EAAO,IAAIA,EAAK43S,GAAK,KAAM53S,EAAK0tQ,GAAK,KAC/C,IAAInwQ,EAAIozS,GAAar+C,EAAOtyP,GAC5B,GAAqB,oBAAXkvO,SAAuC,UAAblvO,EAAK4N,KAAkB,OAAOrQ,EAClE,IAAIN,EAAIiyO,QAAQ4B,MAAMpnK,OAAO,KAAMnsE,EAAG,OACtC,OAAO+2B,OAAOE,aAAa,KAAOF,OAAOE,aAAa,KAAOv3B,EAG9D,SAASg7S,GAAkB3lD,GAC1B,IAAY9oP,EAARC,EAAI,GAAO4W,EAAI,GACnB,GAAY,MAATiyO,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAA8D/pG,EAA1DrpJ,EAAI8yP,GAAkBM,EAAM,SAAU5uD,EAAK,GAAIh0G,EAAO,GACtDwoN,EAAO,GACPtlD,EAAQx1P,MAAMC,QAAQi1P,GAC1B,IAAI/pG,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,EAAG74D,EAAK64D,GAAKipG,GAAWjpG,GACrD,IAAI,IAAIspC,EAAI3yL,EAAE3B,EAAE2B,EAAG2yL,GAAK3yL,EAAExB,EAAEwB,IAAK2yL,EAEhC,IADA6R,EAAK6tD,GAAW1/D,GACZtpC,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,EAI5B,GAHA9+I,EAAIimF,EAAK64D,GAAKm7C,EAEdrjL,EAAM,QACGkc,KAFT/yB,EAAIopP,GAASN,EAAMzgE,IAAI,IAAItpC,GAAK+pG,EAAM7oP,IAEtC,CACK,GAAU,MAAPD,EAAElM,EAAW,CAEpB,GADAmM,EAAID,EAAElM,GACFkM,EAAE5L,EAAG,SACTyiB,EAAM7W,EAAE5L,GACc,GAAnB6L,EAAEzC,QAAQ,OAAYyC,EAAIA,EAAI,IAAMA,GAExC,GAAU,MAAPD,EAAE5L,EAAWyiB,EAAM7W,EAAE5L,MACnB,IAAU,KAAP4L,EAAEpK,EAAU,SACf,GAAU,KAAPoK,EAAEpK,GAAmB,MAAPoK,EAAEK,EAAWwW,EAAM,GAAK7W,EAAEK,OAC3C,GAAU,KAAPL,EAAEpK,EAAUihB,EAAM7W,EAAEK,EAAI,OAAS,aACpC,QAAW0yB,IAAR/yB,EAAEmoB,EAAiBtR,EAAM,IAAM7W,EAAEmoB,MACpC,SAAW4K,IAAR/yB,EAAEK,EAAiB,SACPwW,EAAL,KAAP7W,EAAEpK,EAAgB,IAAMoK,EAAEK,EACvB,GAAGL,EAAEK,GAChBquS,EAAKA,EAAKz+S,QAAUgQ,EAAI,IAAM4W,EAGhC,OAAO63R,EAGR,SAASC,GAAexlD,EAAKtuH,EAAIrkI,GAChC,IAWIo0G,EAXAn3G,EAAI+C,GAAQ,GACZ4R,IAAW3U,EAAEm7S,WACbl6J,EAAKy0G,GAAQ,GACbE,EAAK,EAAGC,EAAK,EACjB,GAAG50G,GAAkB,MAAZjhJ,EAAEilG,OACV,GAAsB,iBAAZjlG,EAAEilG,OAAoB2wJ,EAAK51P,EAAEilG,WAClC,CACJ,IAAI6wJ,EAA6B,iBAAZ91P,EAAEilG,OAAqB2vJ,GAAY50P,EAAEilG,QAAUjlG,EAAEilG,OACtE2wJ,EAAKE,EAAQ7zP,EAAG4zP,EAAKC,EAAQl0P,EAI/B,IAAIspI,EAAS,CAAC5qI,EAAG,CAACsB,EAAE,EAAGK,EAAE,GAAIxB,EAAG,CAACmB,EAAEi0P,EAAI5zP,EAAE2zP,EAAKxuH,EAAG5qI,OAAS,EAAImY,IAC9D,GAAGssI,EAAG,QAAS,CACd,IAAI80G,EAAShB,GAAkB9zG,EAAG,SAClC/V,EAAMzqI,EAAEmB,EAAIiF,KAAK+K,IAAIs5H,EAAMzqI,EAAEmB,EAAGm0P,EAAOt1P,EAAEmB,GACzCspI,EAAMzqI,EAAEwB,EAAI4E,KAAK+K,IAAIs5H,EAAMzqI,EAAEwB,EAAG8zP,EAAOt1P,EAAEwB,IAC/B,GAAP2zP,IAAYA,EAAKG,EAAOt1P,EAAEwB,EAAI,EAAGipI,EAAMzqI,EAAEwB,EAAI2zP,EAAKxuH,EAAG5qI,OAAS,EAAImY,QAE3D,GAAPihP,IAAYA,EAAK,EAAG1qH,EAAMzqI,EAAEwB,EAAImlI,EAAG5qI,OAAS,EAAImY,GAEpD,IAAI+tP,EAAM1iQ,EAAE+uH,QAAU,GAAIu8B,EAAI,EAE9BlkB,EAAG3yG,SAAQ,SAAU2mR,EAAIxmH,GACxBpgK,EAAK4mR,GAAI3mR,SAAQ,SAASnT,IACC,IAAtBgqI,EAAEo3G,EAAI34P,QAAQuX,MAAWohP,EAAIp3G,EAAEo3G,EAAIlmQ,QAAU8kB,GACjD,IAAI1U,EAAIwuS,EAAG95R,GACPnf,EAAI,IACJ41F,EAAI,GACJjqB,EAAMomL,GAAY,CAACtyP,EAAEi0P,EAAKvqG,EAAErpJ,EAAE2zP,EAAKhhE,EAAIjgL,IAC3CwiG,EAAO08H,GAAMwnE,eAAep6J,EAAInzE,IAC7BlhE,GAAkB,kBAANA,GAAoBA,aAAaqqB,MAGhC,iBAALrqB,EAAezK,EAAI,IACT,kBAALyK,EAAgBzK,EAAI,IACf,iBAALyK,EAAezK,EAAI,IAC1ByK,aAAaqqB,OACpB90B,EAAI,IACAnC,EAAEm2P,YAAah0P,EAAI,IAAKyK,EAAIs+O,EAAQt+O,IACxCmrF,EAAK/3F,EAAEs8O,QAAUlH,EAAIsH,OAAO,KAEzBvlI,GAEHA,EAAKh1G,EAAIA,EAAGg1G,EAAKvqG,EAAIA,SACduqG,EAAKziF,SAAUyiF,EAAKy9E,EACxB78F,IAAGof,EAAKpf,EAAIA,IAJNkpD,EAAGnzE,GAAOqpC,EAAQ,CAACh1G,EAAEA,EAAGyK,EAAEA,GAMjCmrF,IAAGof,EAAKpf,EAAIA,IAhBfkpD,EAAGnzE,GAAOlhE,QAoBbs+H,EAAMzqI,EAAEmB,EAAIiF,KAAK+K,IAAIs5H,EAAMzqI,EAAEmB,EAAGi0P,EAAK6M,EAAIlmQ,OAAS,GAClD,IAAIw5P,EAAM1B,GAAWsB,GACrB,GAAGjhP,EAAQ,IAAI22I,EAAI,EAAGA,EAAIo3G,EAAIlmQ,SAAU8uJ,EAAGrK,EAAGszG,GAAWjpG,EAAIuqG,GAAMG,GAAO,CAAC7zP,EAAE,IAAKyK,EAAE81P,EAAIp3G,IAExF,OADArK,EAAG,QAAU6zG,GAAa5pH,GACnB+V,EAIR,IAAI4yF,GAAQ,CACX0gB,WAAYA,GACZD,WAAYA,GACZJ,YAAaA,GACbY,aAAcA,GACdJ,WAAYA,GACZF,WAAYA,GACZ8mD,WAr2iBD,SAAoBnnD,GAAQ,OAAOA,EAAKhtP,QAAQ,sBAAsB,SAAS8E,MAAM,MAs2iBpF2oP,YAAaA,GACbC,aAAcA,GACdM,YAAaA,GACbomD,aAAcP,GACdQ,SAAU9H,GACV+H,UAAW5vC,GACX6vC,cAAeV,GACfvlD,cAAeA,GACfylD,eAAgBA,GAChBtL,cAAeA,GACfv5C,aAAcA,GACdslD,cArBD,SAAuBv0K,EAAIrkI,GAAQ,OAAOm4S,GAAe,KAAM9zK,EAAIrkI,IAsBlE64S,eAAgB3L,GAChB4L,cAlvDD,SAAuBhqI,EAAO9uK,GAC7B,OAAOqyP,GAAkB66C,GAAgBp+H,EAAO9uK,GAAOA,IAkvDvD2wS,aAAcA,GACdM,aAAcA,GACdnoC,cAAeA,GACfiwC,cAAe9gB,GAAMtvB,WACrBsvC,kBAAmBA,GACnBe,0BAA2BlwC,KAG5B,SAAUh4B,GAIV,SAASmoE,EAAYzvS,EAAGC,EAAGurF,GAAK,OAAe,MAARxrF,EAAEC,GAAaD,EAAEC,GAAMD,EAAEC,GAAKurF,EAGrE,SAASkkN,EAAiBh7J,EAAI2zC,EAAGtpC,GAEhC,GAAe,iBAALspC,EAAe,CAExB,GAAGz0L,MAAMC,QAAQ6gJ,GAAK,CACrB,IAAIi7J,EAAKtnD,GAAYhgE,GAErB,OADI3zC,EAAGi7J,EAAGj6S,KAAIg/I,EAAGi7J,EAAGj6S,GAAK,IAClBg/I,EAAGi7J,EAAGj6S,GAAGi6S,EAAGt6S,KAAOq/I,EAAGi7J,EAAGj6S,GAAGi6S,EAAGt6S,GAAK,CAACO,EAAE,MAE/C,OAAO8+I,EAAG2zC,KAAO3zC,EAAG2zC,GAAK,CAACzyL,EAAE,MAG7B,OAAgC85S,EAAiBh7J,EAAIizG,GAAtC,iBAALt/D,EAAuDA,EAEzB,CAAC3yL,EAAE2yL,EAAEhzL,EAAE0pJ,GAAG,KApBnDuoF,EAAM0P,OAAS1P,EAAM0P,QAAU,GAsB/B1P,EAAMwnE,eAAiBY,EAevBpoE,EAAMsoE,SAAW,WAChB,MAAO,CAAE5mD,WAAY,GAAIC,OAAQ,KAIlC3hB,EAAMuoE,kBAAoB,SAAS3qF,EAAIxwE,EAAIn/I,GAC1C,IAAIA,EAAM,IAAI,IAAIvF,EAAI,EAAGA,GAAK,QAAgF,GAA9Ck1N,EAAG8jC,WAAWxrP,QAAQjI,EAAO,QAAUvF,KAA/DA,EAAGuF,OAAOw9B,GAClD,IAAIx9B,GAAQ2vN,EAAG8jC,WAAW/4P,QAAU,MAAQ,MAAM,IAAIoiC,MAAM,uBAE5D,GADA02P,GAAcxzR,GACX2vN,EAAG8jC,WAAWxrP,QAAQjI,IAAS,EAAG,MAAM,IAAI88B,MAAM,wBAA0B98B,EAAO,qBAEtF2vN,EAAG8jC,WAAW/uP,KAAK1E,GACnB2vN,EAAG+jC,OAAO1zP,GAAQm/I,GAInB4yF,EAAMwoE,0BAA4B,SAAS5qF,EAAI6qF,EAAIC,GAClDP,EAAYvqF,EAAG,WAAW,IAC1BuqF,EAAYvqF,EAAG6+D,SAAS,SAAS,IAEjC,IAAInxP,EAhCL,SAAsBsyL,EAAI6qF,GACzB,GAAgB,iBAANA,EAAgB,CACzB,GAAGA,GAAM,GAAK7qF,EAAG8jC,WAAW/4P,OAAS8/S,EAAI,OAAOA,EAChD,MAAM,IAAI19Q,MAAM,uBAAyB09Q,GACnC,GAAgB,iBAANA,EAAgB,CAChC,IAAIn9Q,EAAMsyL,EAAG8jC,WAAWxrP,QAAQuyS,GAChC,GAAGn9Q,GAAO,EAAG,OAAOA,EACpB,MAAM,IAAIP,MAAM,2BAA6B09Q,EAAK,KAC5C,MAAM,IAAI19Q,MAAM,sBAAwB09Q,EAAK,KAwB1CE,CAAa/qF,EAAI6qF,GAI3B,OAFAN,EAAYvqF,EAAG6+D,SAAS96B,OAAOr2N,EAAK,IAE7Bo9Q,GACN,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,MACxB,QAAS,MAAM,IAAI39Q,MAAM,gCAAkC29Q,GAG5D9qF,EAAG6+D,SAAS96B,OAAOr2N,GAAK42P,OAASwmB,GAEvB,CACV,CAAC,gBAAiB,GAClB,CAAC,eAAgB,GACjB,CAAC,oBAAqB,IAtEkB9nR,SAAQ,SAASpoB,GAAIwnO,EAAM0P,OAAOl3O,EAAE,IAAMA,EAAE,MA0ErFwnO,EAAM4oE,uBAAyB,SAAStlM,EAAMohI,GAE7C,OADAphI,EAAKpf,EAAIwgJ,EACFphI,GAIR08H,EAAM6oE,mBAAqB,SAASvlM,EAAM96G,EAAQi/H,GAOjD,OANIj/H,GAGH86G,EAAK11G,EAAK,CAAE46P,OAAQhgQ,GACjBi/H,IAASnkB,EAAK11G,EAAEohK,QAAUvnC,WAHtBnkB,EAAK11G,EAKN01G,GAER08H,EAAM8oE,uBAAyB,SAASxlM,EAAM+zB,EAAO5P,GAAW,OAAOu4G,EAAM6oE,mBAAmBvlM,EAAM,IAAM+zB,EAAO5P,IAGnHu4G,EAAM+oE,iBAAmB,SAASzlM,EAAMxjG,EAAMklL,GACzC1hF,EAAKv1G,IAAGu1G,EAAKv1G,EAAI,IACrBu1G,EAAKv1G,EAAE4E,KAAK,CAACrE,EAAEwR,EAAMtH,EAAEwsL,GAAQ,aAIhCg7C,EAAMgpE,wBAA0B,SAAS57J,EAAI/V,EAAOwkI,GAGnD,IAFA,IAAI+d,EAAsB,iBAATviJ,EAAoBA,EAAQ6pH,GAAkB7pH,GAC3D4xK,EAAyB,iBAAT5xK,EAAoBA,EAAQ4pH,GAAa5pH,GACrD0pD,EAAI64F,EAAIntR,EAAE2B,EAAG2yL,GAAK64F,EAAIhtR,EAAEwB,IAAK2yL,EAAG,IAAI,IAAItpC,EAAImiI,EAAIntR,EAAEsB,EAAG0pJ,GAAKmiI,EAAIhtR,EAAEmB,IAAK0pJ,EAAG,CAC/E,IAAIn0C,EAAO8kM,EAAiBh7J,EAAI2zC,EAAGtpC,GACnCn0C,EAAKh1G,EAAI,IACTg1G,EAAK92G,EAAIy8S,SACF3lM,EAAKvqG,EACTgoL,GAAK64F,EAAIntR,EAAE2B,GAAKqpJ,GAAKmiI,EAAIntR,EAAEsB,IAAGu1G,EAAKx2G,EAAI+uQ,GAE3C,OAAOzuH,GA9GR,CAkHG4yF,IAEAK,GAA0C,WAC5C,IAAI6oE,EAAWjnT,EAAQ,KAAUinT,SAkHjCjrE,EAAKphD,OAAS,CACbssH,QAvDuB,SAAS3nD,EAAOtyP,GACvC,IAAI2tL,EAASqsH,EAAS,CAACE,YAAW,IAElC,GAAY,MAAT5nD,GAAkC,MAAjBA,EAAM,QAAsC,OAAnB3kE,EAAOlqL,KAAK,MAAckqL,EACvE,IAAIttK,EAAM,CAACjhB,EAAE,IAAIyK,EAAE,GAAImiH,EAAS,EAAGp6G,EAAS,EAAG+tP,EAAM,GAAI91P,EAAE,EAAGgvO,EAAG,GAC7D35O,EAAI,CAAC3B,EAAE,CAAC2B,EAAE,EAAEL,EAAE,GAAGnB,EAAE,CAACwB,EAAE,EAAEL,EAAE,IAC1B5B,EAAI+C,GAAQ,GACZmoI,EAAmB,MAAXlrI,EAAEkrI,MAAgBlrI,EAAEkrI,MAAQmqH,EAAM,QAI9C,OAHgB,IAAbr1P,EAAE+uH,OAAcA,EAAS,EACP,MAAb/uH,EAAE+uH,OAAgBA,EAAS,EAC3B5uH,MAAMC,QAAQJ,EAAE+uH,UAASA,EAAS,UAC5Bmc,GACb,IAAK,SAAUjpI,EAAI8yP,GAAkB7pH,GAAQ,MAC7C,IAAK,UAAUjpI,EAAI8yP,GAAkBM,EAAM,UAAY/0P,EAAE2B,EAAIipI,EAAO,MACpE,QAASjpI,EAAIipI,EAEXnc,EAAS,IAAGp6G,EAAS,GACxB,IAAI8xL,EAAK6tD,GAAWryP,EAAE3B,EAAE2B,GACpBwwF,EAAO,GACPnR,EAAU,EACVq0K,EAAQx1P,MAAMC,QAAQi1P,GACtBzgE,EAAI3yL,EAAE3B,EAAE2B,EAAGqpJ,EAAI,EAAGivJ,EAAK,EAE3B,IADG5kD,IAAUN,EAAMzgE,KAAIygE,EAAMzgE,GAAK,IAC9BtpC,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,EAG5B,OAFA74D,EAAK64D,GAAKipG,GAAWjpG,GACrBloI,EAAMuyO,EAAQN,EAAMzgE,GAAGtpC,GAAK+pG,EAAM5iK,EAAK64D,GAAKm7C,GACrC13E,GACN,KAAK,EAAG2zI,EAAIp3G,GAAKA,EAAIrpJ,EAAE3B,EAAEsB,EAAG,MAC5B,KAAK,EAAG8gQ,EAAIp3G,GAAK74D,EAAK64D,GAAI,MAC1B,KAAK,EAAGo3G,EAAIp3G,GAAKtrJ,EAAE+uH,OAAOu8B,EAAIrpJ,EAAE3B,EAAEsB,GAAI,MACtC,QAIC,IAHU,MAAPwhB,IAAaA,EAAM,CAACsR,EAAG,UAAWvyB,EAAG,MACxCy5O,EAAKhvO,EAAIuoP,GAAY/xO,EAAK,KAAMpjB,GAChCshF,EAAU,EACNi5N,EAAK,EAAGA,EAAK73C,EAAIlmQ,SAAU+9S,EAAO73C,EAAI63C,IAAO3+D,IAAIA,EAAKhvO,EAAI,OAAS00E,GACvEohL,EAAIp3G,GAAKswF,EAgBZ,OAbAhnD,EAAI3yL,EAAE3B,EAAE2B,EAAI0S,EACZ+7K,EAAOwsH,MAAQ,WACd,GAAGtoH,EAAI3yL,EAAExB,EAAEwB,EAAG,OAAOyuL,EAAOlqL,KAAK,MACjC,KAAMouL,GAAK3yL,EAAExB,EAAEwB,GAAG,CAEjB,IAAI03E,EAAMsgO,GAAc5kD,EAAOpzP,EAAG2yL,EAAGniG,EAAMs8B,EAAQ2zI,EAAK/M,EAAO31P,GAE/D,KADE40L,GACkB,IAAhBj7G,EAAIwgO,UAAkC,IAAXprL,GAA+B,IAAhB/uH,EAAEw6S,UAAwBx6S,EAAEw6S,WAAY,CACrF9pH,EAAOlqL,KAAKmzE,EAAIA,KAChB,SAII+2G,GAKPysH,QAlFuB,SAASl8J,EAAIl+I,GACpC,IAAI2tL,EAASqsH,IAET/8S,EAAI+C,GAAQ,GACZgsH,EAAqB,MAAZ/uH,EAAE+uH,OAAiB/uH,EAAE+uH,OAASisK,GAAMyU,MAC7CpgL,EAAqB,MAAZrvH,EAAEqvH,OAAiBrvH,EAAEqvH,OAAS2rK,GAAM0U,IACjDh/G,EAAOlqL,KAAKuoH,GACZ,IAAI9sH,EAAI4yP,GAAa5zG,EAAG,SACxBjhJ,EAAE21P,MAAQx1P,MAAMC,QAAQ6gJ,GACxByvC,EAAOlqL,KAAKw0R,GAAM2U,UAAU1uJ,EAAIh/I,EAAGjC,IACnC,IAAI40L,EAAI3yL,EAAE3B,EAAE2B,EACR+wC,GAAM,EAYV,OAXA09I,EAAOwsH,MAAQ,WACd,GAAGtoH,EAAI3yL,EAAExB,EAAEwB,EAEV,OADI+wC,IAAOA,GAAM,EAAM09I,EAAOlqL,KAAK,WAAa6oH,IACzCqhE,EAAOlqL,KAAK,MAEpB,KAAMouL,GAAK3yL,EAAExB,EAAEwB,GAAG,CACjByuL,EAAOlqL,KAAKw0R,GAAMz/K,KAAK0lC,EAAIh/I,EAAG2yL,EAAG50L,MAC/B40L,EACF,QAGKlE,GA4DP0sH,OAnHsB,SAAS/nD,EAAOtyP,GACtC,IAAI2tL,EAASqsH,IACT/8S,EAAY,MAAR+C,EAAe,GAAKA,EAC5B,GAAY,MAATsyP,GAAkC,MAAjBA,EAAM,QAAsC,OAAnB3kE,EAAOlqL,KAAK,MAAckqL,EACvE,IAAIzuL,EAAI8yP,GAAkBM,EAAM,SAC5BslD,OAAcr7Q,IAATt/B,EAAE26S,GAAmB36S,EAAE26S,GAAK,IAAK5mS,EAAK4mS,EAAG5vQ,WAAW,GACzD0lO,OAAcnxO,IAATt/B,EAAEywQ,GAAmBzwQ,EAAEywQ,GAAK,KAAM9yM,EAAK8yM,EAAG1lO,WAAW,GAC1D8vQ,EAAW,IAAIvgR,QAAY,KAAJqgR,EAAU,MAAQA,GAAI,MAC7ChhO,EAAM,GAAI8Y,EAAO,GACrBzyF,EAAE21P,MAAQx1P,MAAMC,QAAQi1P,GAGxB,IAFA,IAAIga,EAAUrvQ,EAAE86S,YAAczlD,EAAM,UAAY,GAC5C+Z,EAAUpvQ,EAAE86S,YAAczlD,EAAM,UAAY,GACxC/pG,EAAIrpJ,EAAE3B,EAAEsB,EAAG0pJ,GAAKrpJ,EAAExB,EAAEmB,IAAK0pJ,GAAU+jH,EAAQ/jH,IAAI,IAAIukH,SAASp9K,EAAK64D,GAAKipG,GAAWjpG,IACzF,IAAIspC,EAAI3yL,EAAE3B,EAAE2B,EACRo7S,GAAM,EAeV,OAdA3sH,EAAOwsH,MAAQ,WACd,IAAIG,EAAmB,OAAZA,GAAM,EAAa3sH,EAAOlqL,KAAK,UAC1C,KAAMouL,GAAK3yL,EAAExB,EAAEwB,GAEd,KADE2yL,IACGw6E,EAAQx6E,EAAE,IAAI,IAAIi7E,QAEb,OADVl2L,EAAM+gO,GAAarlD,EAAOpzP,EAAG2yL,EAAE,EAAGniG,EAAM1+E,EAAI4pD,EAAIg9O,EAAI36S,IACpC,CACZA,EAAE+6S,QAAOphO,EAAMA,EAAIxyE,QAAQ0zS,EAAS,KACvCnqH,EAAOlqL,KAAKmzE,EAAM82L,GAClB,MAGF,OAAG77E,EAAI3yL,EAAExB,EAAEwB,EAAUyuL,EAAOlqL,KAAK,WAAjC,GAEMkqL,IAhCoC,GA0HLohD,EAAK2xD,aAAeA,GAC5D3xD,EAAKuM,UAAYA,GACjBvM,EAAKnsB,KAAOizF,GACZ9mE,EAAKwrE,SAAWh0D,GAChBxX,EAAKwX,aAAeA,GACpBxX,EAAKv6C,MAAQmiH,GACb5nE,EAAK2X,UAAYD,GACjB1X,EAAK0X,cAAgBA,GACrB1X,EAAKyrE,eAvgBL,SAAwBl6G,EAAUouB,EAAI1uN,EAAM0pL,GAC3C,IAAIzsL,EAAI+C,GAAM,GAAI/C,EAAE2Q,KAAO,OAC3B3Q,EAAE4pO,KAAOvmC,EACT22G,GAAkBh6S,GAClBA,EAAE2Q,KAAO,SACT,IAAI6sS,EAAM/wH,EACV,OADmB+wH,aAAe5lR,WAAW4lR,EAAOz6S,GAC7Cu6O,EAAImM,UAAUpmD,EAAUq2G,GAAUjoF,EAAIzxN,GAAIw9S,IAkgBlD1rE,EAAK+B,MAAQA,GACb/B,EAAKsD,IAAMA,EACO,qBAARmI,IAAqBzL,EAAKyL,IAAMA,IAGPkgE,CAAc5nT,K,oECvsqBjDD,EAAOC,QAAUC,EAAQ,M,6BCAzB+G,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQq9B,QAGR,WACE,IAAImS,EAASxlC,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,SAEjF,OADA69S,IACO,GAAGx1R,OAAOmd,GAAQnd,OAAOw1R,IALlC,IAAIA,EAAS,G,gBCNb,IAAIz9S,EAASnK,EAAQ,KACjB6nT,EAAY7nT,EAAQ,KACpB8nT,EAAiB9nT,EAAQ,KAOzB+nT,EAAiB59S,EAASA,EAAOiC,iBAAco9B,EAkBnD1pC,EAAOC,QATP,SAAoBuJ,GAClB,OAAa,MAATA,OACekgC,IAAVlgC,EAdQ,qBADL,gBAiBJy+S,GAAkBA,KAAkBhhT,OAAOuC,GAC/Cu+S,EAAUv+S,GACVw+S,EAAex+S,K,cCIrBxJ,EAAOC,QAJP,SAAsBuJ,GACpB,OAAgB,MAATA,GAAiC,iBAATA,I,cCzBjCxJ,EAAOC,QAAU,SAASD,GAoBzB,OAnBKA,EAAOkoT,kBACXloT,EAAOmoT,UAAY,aACnBnoT,EAAO0vH,MAAQ,GAEV1vH,EAAOsc,WAAUtc,EAAOsc,SAAW,IACxCrV,OAAOC,eAAelH,EAAQ,SAAU,CACvC8G,YAAY,EACZsF,IAAK,WACJ,OAAOpM,EAAO6L,KAGhB5E,OAAOC,eAAelH,EAAQ,KAAM,CACnC8G,YAAY,EACZsF,IAAK,WACJ,OAAOpM,EAAO2G,KAGhB3G,EAAOkoT,gBAAkB,GAEnBloT,I,gBCpBR,IAAIooT,EAAcloT,EAAQ,KACtBmoT,EAAsBnoT,EAAQ,KAC9B00I,EAAW10I,EAAQ,KACnBsK,EAAUtK,EAAQ,IAClB2M,EAAW3M,EAAQ,KA0BvBF,EAAOC,QAjBP,SAAsBuJ,GAGpB,MAAoB,mBAATA,EACFA,EAEI,MAATA,EACKorI,EAEW,iBAATprI,EACFgB,EAAQhB,GACX6+S,EAAoB7+S,EAAM,GAAIA,EAAM,IACpC4+S,EAAY5+S,GAEXqD,EAASrD,K,6BC3BlB,SAASssD,EAAgBhsB,EAAK3iC,EAAKqC,GAYjC,OAXIrC,KAAO2iC,EACT7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAC9BqC,MAAOA,EACP1C,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ8iC,EAAI3iC,GAAOqC,EAGNsgC,EAGT,SAAS+5F,EAAQj3H,EAAQk3H,GACvB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAEvB,GAAI3F,OAAOq6B,sBAAuB,CAChC,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GACvCk3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GACrD,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAEtD83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAGxB,OAAOnlG,EAGT,SAASslG,EAAez9H,GACtB,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CACzC,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAE/CA,EAAI,EACNk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAC9C2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAE7BF,OAAOk9H,0BAChBl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAEjEyxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GACxCF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAKjF,OAAOV,EAkBT,SAAS6vH,EAAyBlkG,EAAQmkG,GACxC,GAAc,MAAVnkG,EAAgB,MAAO,GAE3B,IAEIjrB,EAAKR,EAFLF,EAlBN,SAAuC2rB,EAAQmkG,GAC7C,GAAc,MAAVnkG,EAAgB,MAAO,GAC3B,IAEIjrB,EAAKR,EAFLF,EAAS,GACT+vH,EAAavvH,OAAO23B,KAAKxM,GAG7B,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IACjCQ,EAAMqvH,EAAW7vH,GACb4vH,EAASpiH,QAAQhN,IAAQ,IAC7BV,EAAOU,GAAOirB,EAAOjrB,IAGvB,OAAOV,EAMMgwH,CAA8BrkG,EAAQmkG,GAInD,GAAItvH,OAAOq6B,sBAAuB,CAChC,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAEpD,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IACvCQ,EAAMuvH,EAAiB/vH,GACnB4vH,EAASpiH,QAAQhN,IAAQ,GACxBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KACxDV,EAAOU,GAAOirB,EAAOjrB,IAIzB,OAAOV,EA+CT,SAAS4tI,EAAkBt1F,EAAKjQ,IACnB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAE/C,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAKq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAEnE,OAAOq4C,ECtIT,SAAS8W,EAAgBhsB,EAAK3iC,EAAKqC,GAYjC,OAXIrC,KAAO2iC,EACT7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAC9BqC,MAAOA,EACP1C,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ8iC,EAAI3iC,GAAOqC,EAGNsgC,EAGT,SAAS+5F,EAAQj3H,EAAQk3H,GACvB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAEvB,GAAI3F,OAAOq6B,sBAAuB,CAChC,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GACvCk3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GACrD,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAEtD83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAGxB,OAAOnlG,EAGT,SAASslG,EAAez9H,GACtB,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CACzC,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAE/CA,EAAI,EACNk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAC9C2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAE7BF,OAAOk9H,0BAChBl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAEjEyxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GACxCF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAKjF,OAAOV,EAGT,SAAS8uI,IACP,IAAK,IAAIjpF,EAAOriD,UAAUrD,OAAQ8uI,EAAM,IAAInrI,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC9Ei8E,EAAIj8E,GAAQxvD,UAAUwvD,GAGxB,OAAO,SAAU9iD,GACf,OAAO++H,EAAI4yK,aAAY,SAAU1xS,EAAG7L,GAClC,OAAOA,EAAE6L,KACRD,IAIP,SAASs+H,EAAM7tG,GACb,OAAO,SAASmhR,IAGd,IAFA,IAAIlpQ,EAAQv1C,KAEH8kI,EAAQ3kI,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAMqkI,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFrhF,EAAKqhF,GAAS5kI,UAAU4kI,GAG1B,OAAOrhF,EAAK5mD,QAAUwgC,EAAGxgC,OAASwgC,EAAGl9B,MAAMJ,KAAM0jD,GAAQ,WACvD,IAAK,IAAIgoF,EAAQvrI,UAAUrD,OAAQ4hT,EAAW,IAAIj+S,MAAMirI,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACxF+yK,EAAS/yK,GAASxrI,UAAUwrI,GAG9B,OAAO8yK,EAAQr+S,MAAMm1C,EAAO,GAAG/sB,OAAOk7B,EAAMg7P,MAKlD,SAASvhK,EAASz9I,GAChB,MAAO,GAAG0M,SAASpK,KAAKtC,GAAOw+H,SAAS,UAO1C,SAASn3C,EAAWrnF,GAClB,MAAwB,oBAAVA,E,mCAoChB,IAWIkkC,EAAeunG,GAfnB,SAAoBwzK,EAAe1tS,GACjC,MAAM,IAAIiuB,MAAMy/Q,EAAc1tS,IAAS0tS,EAAa,WAcnCxzK,CAXC,CAClByzK,kBAAmB,4BACnBC,YAAa,oCACbC,eAAgB,6CAChBC,YAAa,4CACbC,aAAc,qCACdC,aAAc,gCACdC,WAAY,gDACZC,YAAa,iGACb,QAAW,sDAGTC,EAAa,CACfvgO,QA1CF,SAAyBwgO,EAASxgO,GAKhC,OAJKs+D,EAASt+D,IAAUj7C,EAAa,cACjCzmC,OAAO23B,KAAK+pD,GAASo/C,MAAK,SAAUw2B,GACtC,OAPoB3xJ,EAOGu8S,EAPKt8S,EAOI0xJ,GAN3Bt3J,OAAOM,UAAUuF,eAAehB,KAAKc,EAAQC,GADtD,IAAwBD,EAAQC,MAQ1B6gC,EAAa,eACVi7C,GAsCP/6E,SAnCF,SAA0BA,GACnBijF,EAAWjjF,IAAW8/B,EAAa,iBAmCxC67G,QAhCF,SAAyBA,GACjB14D,EAAW04D,IAAYtC,EAASsC,IAAW77G,EAAa,eAC1Du5G,EAASsC,IAAYtiJ,OAAOsgB,OAAOgiI,GAASxhB,MAAK,SAAUqhL,GAC7D,OAAQv4N,EAAWu4N,OACjB17Q,EAAa,iBA6BjBy7Q,QA1BF,SAAyBA,GA/BzB,IAAiBr/Q,EAgCVq/Q,GAASz7Q,EAAa,qBACtBu5G,EAASkiK,IAAUz7Q,EAAa,eAjCtB5D,EAkCHq/Q,EAjCJliT,OAAO23B,KAAKkL,GAAKljC,QAiCH8mC,EAAa,oBAqDrC,SAAS27Q,EAAex6O,EAAOy6O,GAC7B,OAAOz4N,EAAWy4N,GAAiBA,EAAcz6O,EAAM/sD,SAAWwnS,EAGpE,SAASC,EAAY16O,EAAO8Z,GAE1B,OADA9Z,EAAM/sD,QAAUoiH,EAAeA,EAAe,GAAIr1D,EAAM/sD,SAAU6mE,GAC3DA,EAGT,SAAS6gO,EAAe36O,EAAO06E,EAAS5gE,GAMtC,OALAkI,EAAW04D,GAAWA,EAAQ16E,EAAM/sD,SAAW7a,OAAO23B,KAAK+pD,GAAS9pD,SAAQ,SAAU0/H,GACpF,IAAIkrJ,EAEJ,OAA6C,QAArCA,EAAiBlgK,EAAQgV,UAAuC,IAAnBkrJ,OAA4B,EAASA,EAAe39S,KAAKy9I,EAAS16E,EAAM/sD,QAAQy8I,OAEhI51E,EAGT,IAIe19C,EAJH,CACV3hC,OA9CF,SAAgB6/S,GACd,IAAI5/J,EAAUt/I,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAClFi/S,EAAWC,QAAQA,GACnBD,EAAW3/J,QAAQA,GACnB,IAAI16E,EAAQ,CACV/sD,QAASqnS,GAEPO,EAAYz0K,EAAMu0K,EAANv0K,CAAsBpmE,EAAO06E,GACzCviI,EAASiuH,EAAMs0K,EAANt0K,CAAmBpmE,GAC5ByiD,EAAW2jB,EAAMi0K,EAAWvgO,QAAjBssD,CAA0Bk0K,GACrCQ,EAAa10K,EAAMo0K,EAANp0K,CAAsBpmE,GAEvC,SAAS+6O,IACP,IAAIh8S,EAAW3D,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,SAAU4kE,GAC3F,OAAOA,GAGT,OADAq6O,EAAWt7S,SAASA,GACbA,EAASihE,EAAM/sD,SAGxB,SAASqsJ,EAASm7I,GAChB/zK,EAAQm0K,EAAW1iS,EAAQsqG,EAAUq4L,EAArCp0K,CAAiD+zK,GAGnD,MAAO,CAACM,EAAUz7I,KCjKL3vH,EANF,CACXkxE,MAAO,CACLm6L,GAAI,6DCEO5iK,MAJf,SAAkBz9I,GAChB,MAAO,GAAG0M,SAASpK,KAAKtC,GAAOw+H,SAAS,WCoC1C,IAAIygL,EAAgB,CAClBqB,iBAAkB,uCAClBC,WAAY,+CACZ,QAAW,8DACXC,YAAa,iTAEXt8Q,EC3CJ,SAAetG,GACb,OAAO,SAASmhR,IAGd,IAFA,IAAIlpQ,EAAQv1C,KAEHwiD,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GAGzB,OAAOjM,EAAK5mD,QAAUwgC,EAAGxgC,OAASwgC,EAAGl9B,MAAMJ,KAAM0jD,GAAQ,WACvD,IAAK,IAAIohF,EAAQ3kI,UAAUrD,OAAQ4hT,EAAW,IAAIj+S,MAAMqkI,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACxF25K,EAAS35K,GAAS5kI,UAAU4kI,GAG9B,OAAO05K,EAAQr+S,MAAMm1C,EAAO,GAAG/sB,OAAOk7B,EAAMg7P,MD8B/BvzK,EAVnB,SAAoBwzK,EAAe1tS,GACjC,MAAM,IAAIiuB,MAAMy/Q,EAAc1tS,IAAS0tS,EAAa,WASnCxzK,CAAkBwzK,GAKtBS,EAJE,CACf1qQ,OApCF,SAAwBA,GAItB,OAHKA,GAAQ9Q,EAAa,oBACrBu5G,EAASzoG,IAAS9Q,EAAa,cAEhC8Q,EAAOyrQ,MAiBXr6S,QAAQuhC,KAAKs3Q,EAAcuB,aAflB,CACLt6L,MAAO,CACLm6L,GAAIrrQ,EAAOyrQ,KAAKC,cAKf1rQ,IEVM+2F,EAZD,WACZ,IAAK,IAAIjpF,EAAOriD,UAAUrD,OAAQ8uI,EAAM,IAAInrI,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC9Ei8E,EAAIj8E,GAAQxvD,UAAUwvD,GAGxB,OAAO,SAAU9iD,GACf,OAAO++H,EAAI4yK,aAAY,SAAU1xS,EAAG7L,GAClC,OAAOA,EAAE6L,KACRD,KCKQ2nD,MAXf,SAASA,EAAM73D,EAAQ2rB,GAQrB,OAPAnrB,OAAO23B,KAAKxM,GAAQyM,SAAQ,SAAU13B,GAChCirB,EAAOjrB,aAAgBF,QACrBR,EAAOU,IACTF,OAAOu6B,OAAOpP,EAAOjrB,GAAMm3D,EAAM73D,EAAOU,GAAMirB,EAAOjrB,QAIpD+8H,EAAeA,EAAe,GAAIz9H,GAAS2rB,ICThD+3R,EAAsB,CACxBpvS,KAAM,cACNpL,IAAK,kCAgBQy6S,IRkESrrQ,EAAKp4C,EQlEdyjT,EAbf,SAAwBzpR,GACtB,IAAI0pR,GAAe,EACfC,EAAiB,IAAI1pR,SAAQ,SAAUw8F,EAASC,GAClD18F,EAAQ88F,MAAK,SAAUjwG,GACrB,OAAO68R,EAAehtL,EAAO8sL,GAAuB/sL,EAAQ5vG,MAE9DmT,EAAO,MAAU08F,MAEnB,OAAOitL,EAAethP,OAAS,WAC7B,OAAOqhP,GAAe,GACrBC,GCNDC,EAAgB17O,EAAMvlE,OAAO,CAC/Bk1C,OAAQgsQ,EACRpyG,eAAe,EACfh7E,QAAS,KACTC,OAAQ,KACRotL,OAAQ,OAENC,GToEyB/jT,ESpEsB,ETwEnD,SAAyBo4C,GACvB,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAJxB63F,CADe73F,ESpEYwrQ,IT4EpC,SAA+BxrQ,EAAKp4C,GAClC,GAAsB,qBAAX0D,QAA4BA,OAAOC,YAAYrD,OAAO83C,GAAjE,CACA,IAAI83F,EAAO,GACPC,GAAK,EACLC,GAAK,EACLjsI,OAAK4+B,EAET,IACE,IAAK,IAAiCstG,EAA7B3qF,EAAKtN,EAAI10C,OAAOC,cAAmBwsI,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAChEisI,EAAKjmI,KAAKomI,EAAGxtI,QAET7C,GAAKkwI,EAAKjwI,SAAWD,GAH8CmwI,GAAK,IAK9E,MAAO7rI,GACP8rI,GAAK,EACLjsI,EAAKG,EARP,QAUE,IACO6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SADrC,QAGE,GAAI0qF,EAAI,MAAMjsI,GAIlB,OAAO+rI,GA/BwBI,CAAsBl4F,EAAKp4C,IAkC5D,SAAqCyD,EAAGqqI,GACtC,GAAKrqI,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GACvD,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAEpD,MADU,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAC7C,QAANvB,GAAqB,QAANA,EAAoBJ,MAAMsY,KAAKzY,GACxC,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAW0pI,EAAkBjqI,EAAGqqI,QAAzG,GAxCgEC,CAA4B31F,EAAKp4C,IAmDnG,WACE,MAAM,IAAIJ,UAAU,6IApDmF2wI,ISpErG0yK,EAAWc,EAAe,GAC1Bv8I,EAAWu8I,EAAe,GAiE9B,SAASC,EAAcC,GACrB,OAAOx9S,SAAS+gB,KAAKC,YAAYw8R,GAmBnC,SAASC,EAAsBC,GAC7B,IAAIj8O,EAAQ+6O,GAAS,SAAU/4K,GAG7B,MAAO,CACLryF,OAHWqyF,EAAMryF,OAIjB6+E,OAHWwT,EAAMxT,WAMjB0tL,EAnBN,SAAsB9/R,GACpB,IAAI2/R,EAASx9S,SAASsX,cAAc,UACpC,OAAOuG,IAAQ2/R,EAAO3/R,IAAMA,GAAM2/R,EAiBfr5K,CAAa,GAAGj/G,OAAOu8C,EAAMrwB,OAAOkxE,MAAMm6L,GAAI,eAOjE,OALAkB,EAAahgS,OAAS,WACpB,OAAO+/R,KAGTC,EAAa//R,QAAU6jD,EAAMwuD,OACtB0tL,EAOT,SAASD,IACP,IAAIj8O,EAAQ+6O,GAAS,SAAU3wK,GAI7B,MAAO,CACLz6F,OAJWy6F,EAAMz6F,OAKjB4+E,QAJY6b,EAAM7b,QAKlBC,OAJW4b,EAAM5b,WAOjBn9H,EAAUsL,OAAOtL,QAErBA,EAAQs+C,OAAOqwB,EAAMrwB,QAErBt+C,EAAQ,CAAC,0BAA0B,SAAUuqT,GAC3CO,EAAoBP,GACpB57O,EAAMuuD,QAAQqtL,MACb,SAAUxtR,GACX4xC,EAAMwuD,OAAOpgG,MAQjB,SAAS+tR,EAAoBP,GACtBb,IAAWa,QACdt8I,EAAS,CACPs8I,OAAQA,IAkBd,IAAIQ,EAAiB,IAAIrqR,SAAQ,SAAUw8F,EAASC,GAClD,OAAO8wC,EAAS,CACd/wC,QAASA,EACTC,OAAQA,OASG0qD,EANF,CACXvpI,OA5JF,SAAgB0sQ,GACd,IAAIC,EAAqBjC,EAAW1qQ,OAAO0sQ,GACvCT,EAASU,EAAmBV,OAC5BjsQ,EAAS83E,EAAyB60L,EAAoB,CAAC,WAE3Dh9I,GAAS,SAAUt/F,GACjB,MAAO,CACLrwB,OAAQ8f,EAAMuQ,EAAMrwB,OAAQA,GAC5BisQ,OAAQA,OAqJZ56S,KA3IF,WACE,IAAIg/D,EAAQ+6O,GAAS,SAAUhzL,GAI7B,MAAO,CACL6zL,OAJW7zL,EAAK6zL,OAKhBryG,cAJkBxhF,EAAKwhF,cAKvBh7E,QAJYxG,EAAKwG,YAQrB,IAAKvuD,EAAMupI,cAAe,CAKxB,GAJAjqC,EAAS,CACPiqC,eAAe,IAGbvpI,EAAM47O,OAER,OADA57O,EAAMuuD,QAAQvuD,EAAM47O,QACbL,EAAea,GAGxB,GAAIz/S,OAAOi/S,QAAUj/S,OAAOi/S,OAAOr/M,OAGjC,OAFA4/M,EAAoBx/S,OAAOi/S,QAC3B57O,EAAMuuD,QAAQ5xH,OAAOi/S,QACdL,EAAea,GAGxB11K,EAAQo1K,EAAeE,EAAvBt1K,CAA8Cu1K,GAGhD,OAAOV,EAAea,IA6GtBG,oBAhBF,WACE,OAAOxB,GAAS,SAAU1wK,GAExB,OADaA,EAAMuxK,Y,gDC1KvB,SAASl5Q,IAeP,OAdAA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GACpC,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CACzC,IAAIyrB,EAASnoB,UAAUtD,GAEvB,IAAK,IAAIQ,KAAOirB,EACVnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAC/CV,EAAOU,GAAOirB,EAAOjrB,IAK3B,OAAOV,IAGOyD,MAAMJ,KAAMG,WCb9B,IAAMohT,EAAgB,CACpBn9R,QAAS,OACTvd,OAAQ,OACRD,MAAO,OACP46S,eAAgB,SAChBC,WAAY,UAWCC,MARf,YAEG,IADD/5R,EACC,EADDA,QAEA,OAAoByoG,IAAMx1G,cAAc,MAAO,CAC7ClI,MAAO6uS,GACN55R,ICDUrV,EAdA,CACb2rJ,QAAS,CACP75I,QAAS,OACTue,SAAU,WACVurK,UAAW,WAEbyzG,UAAW,CACT/6S,MAAO,QAETgrD,KAAM,CACJxtC,QAAS,SCFb,SAASw9R,EAAT,GAQG,IAPDh7S,EAOC,EAPDA,MACAC,EAMC,EANDA,OACAg7S,EAKC,EALDA,cACAlmI,EAIC,EAJDA,QACA7uD,EAGC,EAHDA,KACAnoG,EAEC,EAFDA,UACAm9R,EACC,EADDA,aAEA,OAAoB1xL,IAAMx1G,cAAc,UAAW6sB,EAAS,CAC1D/0B,MAAO,2BAAKJ,EAAO2rJ,SAAd,IACHr3J,QACAC,YAEDi7S,IAAgBD,GAA8BzxL,IAAMx1G,cAAc8mS,EAAS,CAC5E/5R,QAASg0J,IACMvrD,IAAMx1G,cAAc,MAAO,CAC1CwzD,IAAK0+C,EACLp6G,MAAO,2BAAKJ,EAAOqvS,YACZE,GAAiBvvS,EAAOs/C,MAE/BjtC,UAAWA,KAIfi9R,EAAgBv0L,UAAY,CAC1BzmH,MAAO6jH,IAAUF,UAAU,CAACE,IAAUV,OAAQU,IAAUT,SAASJ,WACjE/iH,OAAQ4jH,IAAUF,UAAU,CAACE,IAAUV,OAAQU,IAAUT,SAASJ,WAClE+xD,QAASlxD,IAAUF,UAAU,CAACE,IAAU/vG,QAAS+vG,IAAUT,SAASJ,WACpEi4L,cAAep3L,IAAUX,KAAKF,WAC9BjlG,UAAW8lG,IAAUT,OACrB83L,aAAcr3L,IAAU3nH,QAGX8+S,QCrCAA,GAFoBrkR,eAAKwkR,GCGzBC,OAJf,SAAkBC,GAChBz2L,oBAAUy2L,EAAQ,KCMLC,OAPf,SAAmBD,EAAQtL,GAA2B,IAArBwL,IAAqB,yDAC9CC,EAAiBn2L,kBAAO,GAC9BT,oBAAU42L,EAAepqS,UAAYmqS,EAAe,WAClDC,EAAepqS,SAAU,GACvBiqS,EAAQtL,ICNd,SAAS3zN,MAET,SAASq/N,GAAiB1B,EAAQjhT,EAAOsrO,EAAUz9N,GACjD,OAGF,SAAkBozS,EAAQpzS,GACxB,OAAOozS,EAAOr/M,OAAOghN,SAASC,GAAe5B,EAAQpzS,IAJ9C+0S,CAAS3B,EAAQpzS,IAO1B,SAAqBozS,EAAQjhT,EAAOsrO,EAAUz9N,GAC5C,OAAOozS,EAAOr/M,OAAOkhN,YAAY9iT,EAAOsrO,EAAUz9N,GAAQg1S,GAAe5B,EAAQpzS,IARhDi1S,CAAY7B,EAAQjhT,EAAOsrO,EAAUz9N,GAWxE,SAASg1S,GAAe5B,EAAQpzS,GAC9B,OAAOozS,EAAO8B,IAAIn+Q,MAAM/2B,GCP1B,SAASm1S,GAAT,GAyBG,IAxBDC,EAwBC,EAxBDA,SACAn4E,EAuBC,EAvBDA,SACAQ,EAsBC,EAtBDA,SACA43E,EAqBC,EArBDA,iBACAC,EAoBC,EApBDA,iBAGAC,EAiBC,EAjBDA,kBACAC,EAgBC,EAhBDA,kBACAC,EAeC,EAfDA,yBACAC,EAcC,EAdDA,yBACA5pD,EAaC,EAbDA,MACA19E,EAYC,EAZDA,QACAp9I,EAWC,EAXDA,QAGA13B,EAQC,EARDA,OACAD,EAOC,EAPDA,MACA+d,EAMC,EANDA,UACAm9R,EAKC,EALDA,aAGAoB,EAEC,EAFDA,YACAx5J,EACC,EADDA,QAEA,EAA0Cn+B,oBAAS,GAAnD,mBAAOs2L,EAAP,KAAsBsB,EAAtB,KACA,EAAgD53L,oBAAS,GAAzD,mBAAO63L,EAAP,KAAyBC,EAAzB,KACMC,EAAYr3L,iBAAO,MACnBs3L,EAAYt3L,iBAAO,MACnBu3L,EAAev3L,iBAAO,MACtBw3L,EAAax3L,iBAAOy9B,GACpBg6J,EAAiBz3L,iBAAOi3L,GAC9BlB,IAAS,WACP,IAAM2B,EAAa1lI,EAAOl4K,OAE1B,OADA49S,EAAWhwL,MAAK,SAAAgtL,GAAM,OAAK4C,EAAUvrS,QAAU2oS,IAAW0C,GAAoB,MAAQnsR,OAAM,SAAA/D,GAAK,MAAmE,iBAApD,OAAVA,QAA4B,IAAVA,OAAmB,EAASA,EAAMliB,OAA2BnL,QAAQqtB,MAAM,gCAAiCA,MAC7N,kBAAMmwR,EAAUtrS,QA8DzB,WACE,IAGM4rS,EAMAC,EATAC,EAASR,EAAUtrS,QAAQsqS,WAE5BU,GAGsC,QAAxCY,EAAmBE,EAAOnB,gBAA2C,IAArBiB,GAAuCA,EAAiB9kN,UAGtGmkN,GAGsC,QAAxCY,EAAmBC,EAAOt5E,gBAA2C,IAArBq5E,GAAuCA,EAAiB/kN,UAG3GwkN,EAAUtrS,QAAQ8mF,UA7EeilN,GAAkBJ,EAAWzkP,aAEhEgjP,IAAU,WACR,IAAM8B,EAAiBV,EAAUtrS,QAAQisS,oBAErCD,EAAeE,UAAUX,EAAUvrS,QAAQspF,OAAO6iN,aAAaC,UACjEJ,EAAenrP,SAAS2xK,GAEpBA,IAAaw5E,EAAe56S,aAC9B46S,EAAeK,aAAa,GAAI,CAAC,CAC/B74K,MAAOw4K,EAAe1B,WAAWgC,oBACjCrwS,KAAMu2N,EACN+5E,kBAAkB,KAEpBP,EAAeQ,kBAGlB,CAACh6E,GAAWq3E,GACfK,IAAU,WACRoB,EAAUtrS,QAAQsqS,WAAWK,SAAS9pP,SAAS8pP,KAC9C,CAACA,GAAWd,GACfK,IAAU,WACR,MAGIoB,EAAUtrS,QAAQsqS,WAFpBK,EADF,EACEA,SACAn4E,EAFF,EAEEA,SAEF+4E,EAAUvrS,QAAQspF,OAAOmjN,iBAAiB9B,EAAUC,GAAoB53E,GACxEu4E,EAAUvrS,QAAQspF,OAAOmjN,iBAAiBj6E,EAAUq4E,GAAoB73E,KACvE,CAACA,EAAU43E,EAAkBC,GAAmBhB,GACnDK,IAAU,WACRqB,EAAUvrS,QAAQspF,OAAOojN,SAASrrD,KACjC,CAACA,GAAQwoD,GACZK,IAAU,WACRoB,EAAUtrS,QAAQ2sS,cAAcpmR,KAC/B,CAACA,GAAUsjR,GACd,IAAM+C,EAAYC,uBAAY,WAC5BnB,EAAe1rS,QAAQurS,EAAUvrS,SACjC,IAAM8sS,EAAgBzC,GAAiBkB,EAAUvrS,QAAS2qS,EAAUC,GAAoB53E,EAAU83E,GAC5FiC,EAAgB1C,GAAiBkB,EAAUvrS,QAASwyN,EAAUq4E,GAAoB73E,EAAU+3E,GAClGO,EAAUtrS,QAAQgtS,SAAS,CACzBrC,SAAUmC,EACVt6E,SAAUu6E,MAEX,CAAC/5E,EAAUR,EAAUq4E,EAAkBF,EAAUC,EAAkBE,EAAmBC,IACnFkC,EAAeJ,uBAAY,WAC/BvB,EAAUtrS,QAAUurS,EAAUvrS,QAAQspF,OAAO4jN,iBAAiB1B,EAAaxrS,QAAvD,aAClBmtS,iBAAiB,GACd5mR,IAELqmR,IACArB,EAAUvrS,QAAQspF,OAAOojN,SAASrrD,GAClC8pD,GAAiB,KAChB,CAAC5kR,EAAS86N,EAAOurD,IA4BpB,OA3BAp5L,qBAAU,WACJq2L,GACF4B,EAAWzrS,QAAQsrS,EAAUtrS,QAASurS,EAAUvrS,WAEjD,CAAC6pS,IACJr2L,qBAAU,YACP43L,IAAqBvB,GAAiBoD,MACtC,CAAC7B,EAAkBvB,EAAeoD,IAoBjB70L,IAAMx1G,cAAcgnS,GAAiB,CACvDh7S,MAAOA,EACPC,OAAQA,EACRg7S,cAAeA,EACflmI,QAASA,EACT7uD,KAAM02L,EACN7+R,UAAWA,EACXm9R,aAAcA,IAIlBY,GAAWr1L,UAAY,CACrBs1L,SAAUl4L,IAAUT,OACpBwgH,SAAU//G,IAAUT,OACpBghH,SAAUvgH,IAAUT,OACpB44L,iBAAkBn4L,IAAUT,OAC5B64L,iBAAkBp4L,IAAUT,OAG5B84L,kBAAmBr4L,IAAUT,OAC7B+4L,kBAAmBt4L,IAAUT,OAC7Bg5L,yBAA0Bv4L,IAAUX,KACpCm5L,yBAA0Bx4L,IAAUX,KACpCuvI,MAAO5uI,IAAUT,OACjB2xD,QAASlxD,IAAUF,UAAU,CAACE,IAAU/vG,QAAS+vG,IAAUT,SAC3DzrF,QAASksF,IAAU3nH,OAGnB8D,MAAO6jH,IAAUF,UAAU,CAACE,IAAUV,OAAQU,IAAUT,SACxDnjH,OAAQ4jH,IAAUF,UAAU,CAACE,IAAUV,OAAQU,IAAUT,SACzDrlG,UAAW8lG,IAAUT,OACrB83L,aAAcr3L,IAAU3nH,OAGxBogT,YAAaz4L,IAAUh7D,KACvBi6F,QAASj/B,IAAUh7D,MAErBizP,GAAW9lL,aAAe,CACxBy8H,MAAO,QACP19E,QAAS,aACTp9I,QAAS,GACTykR,0BAA0B,EAC1BC,0BAA0B,EAG1Br8S,MAAO,OACPC,OAAQ,OACRi7S,aAAc,GAGdoB,YAAalgO,GACb0mE,QAAS1mE,ICrKIoiO,OARf,SAAqB1lT,GACnB,IAAM0uE,EAAM69C,mBAIZ,OAHAT,qBAAU,WACRp9C,EAAIp2D,QAAUtY,IACb,CAACA,IACG0uE,EAAIp2D,SCEPqtS,GAAa,IAAI/pJ,IAEvB,SAASgqJ,GAAT,GA4BG,IA3BD/9L,EA2BC,EA3BDA,aACAg+L,EA0BC,EA1BDA,gBACAC,EAyBC,EAzBDA,YACA9lT,EAwBC,EAxBDA,MACAsrO,EAuBC,EAvBDA,SACAz9N,EAsBC,EAtBDA,KAGA8rP,EAmBC,EAnBDA,MACAliP,EAkBC,EAlBDA,KACAwkK,EAiBC,EAjBDA,QACAp9I,EAgBC,EAhBDA,QACAknR,EAeC,EAfDA,iBACAC,EAcC,EAdDA,cACAC,EAaC,EAbDA,iBAGA/+S,EAUC,EAVDA,MACAC,EASC,EATDA,OACA8d,EAQC,EARDA,UACAm9R,EAOC,EAPDA,aAGAoB,EAIC,EAJDA,YACAx5J,EAGC,EAHDA,QACAt9B,EAEC,EAFDA,SACAw5L,EACC,EADDA,WAEA,EAA0Cr6L,oBAAS,GAAnD,mBAAOs2L,EAAP,KAAsBsB,EAAtB,KACA,EAAgD53L,oBAAS,GAAzD,mBAAO63L,EAAP,KAAyBC,EAAzB,KACME,EAAYt3L,iBAAO,MACnBq3L,EAAYr3L,iBAAO,MACnBu3L,EAAev3L,iBAAO,MACtBw3L,EAAax3L,iBAAOy9B,GACpBg6J,EAAiBz3L,iBAAOi3L,GACxB2C,EAAkB55L,iBAAO,MACzB65L,EAAW75L,iBAAOvsH,GAClBqmT,EAAeX,GAAY73S,GACjCy0S,IAAS,WACP,IAAM2B,EAAa1lI,EAAOl4K,OAE1B,OADA49S,EAAWhwL,MAAK,SAAAgtL,GAAM,OAAK4C,EAAUvrS,QAAU2oS,IAAW0C,GAAoB,MAAQnsR,OAAM,SAAA/D,GAAK,MAAmE,iBAApD,OAAVA,QAA4B,IAAVA,OAAmB,EAASA,EAAMliB,OAA2BnL,QAAQqtB,MAAM,gCAAiCA,MAC7N,kBAAMmwR,EAAUtrS,QAuGzB,WACE,IAAIguS,EAOEC,EALiD,QAAtDD,EAAyBH,EAAgB7tS,eAAgD,IAA3BguS,GAA6CA,EAAuBlnN,UAE/H6mN,EACFD,GAAiBL,GAAW74S,IAAIe,EAAM+1S,EAAUtrS,QAAQ0tS,iBAII,QAA3DO,EAAyB3C,EAAUtrS,QAAQsqS,kBAAmD,IAA3B2D,GAA6CA,EAAuBnnN,UAG1IwkN,EAAUtrS,QAAQ8mF,UApHeilN,GAAkBJ,EAAWzkP,aAEhEgjP,IAAU,WACR,IAAMgE,EAAQ7D,GAAiBkB,EAAUvrS,QAASuvG,GAAgB7nH,EAAO6lT,GAAmBv6E,EAAUz9N,GAElG24S,IAAU5C,EAAUtrS,QAAQsqS,aAC9BoD,GAAiBL,GAAW74S,IAAIu5S,EAAczC,EAAUtrS,QAAQ0tS,iBAChEpC,EAAUtrS,QAAQgtS,SAASkB,GAC3BR,GAAiBpC,EAAUtrS,QAAQmuS,iBAAiBd,GAAW/iT,IAAIiL,OAEpE,CAACA,GAAOs0S,GACXK,IAAU,WACRoB,EAAUtrS,QAAQ2sS,cAAcpmR,KAC/B,CAACA,GAAUsjR,GACdK,IAAU,WACJoB,EAAUtrS,QAAQksS,UAAUX,EAAUvrS,QAAQspF,OAAO6iN,aAAaC,UACpEd,EAAUtrS,QAAQ6gD,SAASn5D,GAEvBA,IAAU4jT,EAAUtrS,QAAQ5O,aAC9Bk6S,EAAUtrS,QAAQqsS,aAAa,GAAI,CAAC,CAClC74K,MAAO83K,EAAUtrS,QAAQsqS,WAAWgC,oBACpCrwS,KAAMvU,EACN6kT,kBAAkB,KAEpBjB,EAAUtrS,QAAQwsS,kBAGrB,CAAC9kT,GAAQmiT,GACZK,IAAU,WACRqB,EAAUvrS,QAAQspF,OAAOmjN,iBAAiBnB,EAAUtrS,QAAQsqS,WAAYt3E,KACvE,CAACA,GAAW62E,GACfK,IAAU,gBHjEOtiR,IGmEEzoB,GACfmsS,EAAUtrS,QAAQouS,WAAWjvS,KAE9B,CAACA,GAAO0qS,GACXK,IAAU,WACRqB,EAAUvrS,QAAQspF,OAAOojN,SAASrrD,KACjC,CAACA,GAAQwoD,GACZ,IAAMoD,EAAeJ,uBAAY,WAC/BnB,EAAe1rS,QAAQurS,EAAUvrS,SACjC,IAAMquS,EAAuB94S,GAAQi4S,EAC/Bc,EAAejE,GAAiBkB,EAAUvrS,QAAStY,GAAS6nH,EAAcg+L,GAAmBv6E,EAAUq7E,GAC7G/C,EAAUtrS,QAAUurS,EAAUvrS,QAAQspF,OAAO9hG,OAAOgkT,EAAaxrS,QAA7C,aAClBkuS,MAAOI,EACPnB,iBAAiB,GACd5mR,GACFknR,GACHC,GAAiBpC,EAAUtrS,QAAQmuS,iBAAiBd,GAAW/iT,IAAI+jT,IACnE9C,EAAUvrS,QAAQspF,OAAOojN,SAASrrD,GAClC8pD,GAAiB,KAChB,CAAC57L,EAAcg+L,EAAiBC,EAAa9lT,EAAOsrO,EAAUz9N,EAAMgxB,EAASknR,EAAkBC,EAAersD,IAmEjH,OAlEA7tI,qBAAU,WACJq2L,GACF4B,EAAWzrS,QAAQsrS,EAAUtrS,QAASurS,EAAUvrS,WAEjD,CAAC6pS,IACJr2L,qBAAU,YACP43L,IAAqBvB,GAAiBoD,MACtC,CAAC7B,EAAkBvB,EAAeoD,IAGrCa,EAAS9tS,QAAUtY,EACnB8rH,qBAAU,WAEN,IAAI+6L,EAAuBC,EADzB3E,GAAiBz1L,IAGmC,QAArDm6L,EAAwBV,EAAgB7tS,eAA+C,IAA1BuuS,GAA4CA,EAAsBznN,UAChI+mN,EAAgB7tS,QAAuD,QAA5CwuS,EAAqBlD,EAAUtrS,eAA4C,IAAvBwuS,OAAgC,EAASA,EAAmBC,yBAAwB,SAAAnhS,GACjK,IAAMohS,EAAcpD,EAAUtrS,QAAQ5O,WAElC08S,EAAS9tS,UAAY0uS,GACvBt6L,EAASs6L,EAAaphS,SAI3B,CAACu8R,EAAez1L,IAEnBZ,qBAAU,WACR,GAAIq2L,EAAe,CACjB,IAAM8E,EAAwBpD,EAAUvrS,QAAQspF,OAAOslN,oBAAmB,SAAAC,GACxE,IAAIC,EAEEC,EAAuE,QAA1DD,EAAwBxD,EAAUtrS,QAAQsqS,kBAAkD,IAA1BwE,OAAmC,EAASA,EAAsBlhR,IAEvJ,GAAImhR,GACoCF,EAAKv5O,MAAK,SAAA1nC,GAAG,OAAIA,EAAIr4B,OAASw5S,EAAUx5S,QAE3C,CACjC,IAAMsI,EAAU0tS,EAAUvrS,QAAQspF,OAAO0lN,gBAAgB,CACvDC,SAAUF,IAEG,OAAfnB,QAAsC,IAAfA,GAAiCA,EAAW/vS,OAIzE,OAAO,WACqB,OAA1B8wS,QAA4D,IAA1BA,GAA4CA,EAAsB7nN,cAGvG,CAAC+iN,EAAe+D,IAkBCx1L,IAAMx1G,cAAcgnS,GAAiB,CACvDh7S,MAAOA,EACPC,OAAQA,EACRg7S,cAAeA,EACflmI,QAASA,EACT7uD,KAAM02L,EACN7+R,UAAWA,EACXm9R,aAAcA,IAIlBwD,GAAOj4L,UAAY,CACjB9F,aAAckD,IAAUT,OACxBw7L,YAAa/6L,IAAUT,OACvBu7L,gBAAiB96L,IAAUT,OAC3BtqH,MAAO+qH,IAAUT,OACjBghH,SAAUvgH,IAAUT,OACpBz8G,KAAMk9G,IAAUT,OAGhBqvI,MAAO5uI,IAAUT,OACjB7yG,KAAMszG,IAAUV,OAChB4xD,QAASlxD,IAAUF,UAAU,CAACE,IAAU/vG,QAAS+vG,IAAUT,SAC3DzrF,QAASksF,IAAU3nH,OACnB2iT,iBAAkBh7L,IAAU3nH,OAC5B4iT,cAAej7L,IAAUX,KACzB67L,iBAAkBl7L,IAAUX,KAG5BljH,MAAO6jH,IAAUF,UAAU,CAACE,IAAUV,OAAQU,IAAUT,SACxDnjH,OAAQ4jH,IAAUF,UAAU,CAACE,IAAUV,OAAQU,IAAUT,SACzDrlG,UAAW8lG,IAAUT,OACrB83L,aAAcr3L,IAAU3nH,OAGxBogT,YAAaz4L,IAAUh7D,KACvBi6F,QAASj/B,IAAUh7D,KACnB28D,SAAU3B,IAAUh7D,KACpBm2P,WAAYn7L,IAAUh7D,MAExB61P,GAAO1oL,aAAe,CACpBy8H,MAAO,QACP19E,QAAS,aACTp9I,QAAS,GACTknR,iBAAkB,GAClBC,eAAe,EACfC,kBAAkB,EAGlB/+S,MAAO,OACPC,OAAQ,OACRi7S,aAAc,GAGdoB,YAAalgO,GACb0mE,QAAS1mE,GACT4iO,WAAY5iO,IAGCsiO,UClOAnkR,GAFU5D,eAAK+nR,K,gBCH9B,IAAIpoK,EAAa9mJ,EAAQ,KACrBsK,EAAUtK,EAAQ,IAClB8wT,EAAe9wT,EAAQ,KA2B3BF,EAAOC,QALP,SAAkBuJ,GAChB,MAAuB,iBAATA,IACVgB,EAAQhB,IAAUwnT,EAAaxnT,IArBrB,mBAqB+Bw9I,EAAWx9I,K,4GC1B3C,SAASynT,EAAc57Q,GACpC,IAAI4sD,EAAUh4F,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,EAC9EinT,GAAY,EAEZC,EAAe,SAASA,EAAavxR,GACnCsxR,EAAW,IACbA,EAAWtxR,GAGTA,EAAMsxR,EAAWjvN,GACnB5sD,EAASzV,GACTsxR,GAAY,GAEZ5yR,sBAAsB6yR,IAI1B7yR,sBAAsB6yR,GCjBxB,SAASvzO,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASsnR,EAASryQ,GAAO,OAUzB,SAAyBA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAV/B63F,CAAgB73F,IAQhD,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GARlEC,CAAiBz1F,IAIzE,SAAqC30C,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJrUC,CAA4B31F,IAE7G,WAA8B,MAAM,IAAIx4C,UAAU,6IAFmE2wI,GAMrH,SAAS7C,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAOjK,SAASqyQ,IACtB,IAEIC,EAAe,WACjB,OAAO,MAGLC,GAAa,EAsCjB,MAAO,CACLhkT,KAAM,WACJgkT,GAAa,GAEf3vS,MAAO,SAAepF,GACpB+0S,GAAa,EAzCF,SAASC,EAASC,GAC/B,IAAIF,EAAJ,CAIA,GAAIhnT,MAAMC,QAAQinT,GAAS,CACzB,IAAKA,EAAO7qT,OACV,OAGF,IAEI2xJ,EAAU64J,EAFDK,GAGTpuS,EAAOk1I,EAAQ,GACfm5J,EAAan5J,EAAQz8G,MAAM,GAE/B,MAAoB,kBAATz4B,OACT4tS,EAAcO,EAAS7kT,KAAK,KAAM+kT,GAAaruS,IAIjDmuS,EAASnuS,QACT4tS,EAAcO,EAAS7kT,KAAK,KAAM+kT,KAIZ,WAApB9zO,EAAQ6zO,IAEVH,EADYG,GAIQ,oBAAXA,GACTA,KAUAD,CAASh1S,IAEX49K,UAAW,SAAmBu3H,GAE5B,OADAL,EAAeK,EACR,WACLL,EAAe,WACb,OAAO,SCxEjB,SAASztL,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAG3M,IAAI8nR,EAAc,CAAC,SAAU,MAAO,IAAK,MACrCC,EAAsB,CAAC,WAAY,QAAS,MAAO,QACnDC,EAAyB,CAAC,YAAa,kBAAmB,cAQnDl9K,EAAW,SAAkBp7E,GACtC,OAAOA,GA0EEu4P,EAAY,SAAmB3qR,EAAI0C,GAC5C,OAAO7iC,OAAO23B,KAAKkL,GAAK+uC,QAAO,SAAUg9D,EAAK1uI,GAC5C,OAAOyrI,EAAcA,EAAc,GAAIiD,GAAM,GAAI//E,EAAgB,GAAI3uD,EAAKigC,EAAGjgC,EAAK2iC,EAAI3iC,QACrF,KAOM6qT,EAAiB,SAAwBx1S,GAClD,OAAOvV,OAAO23B,KAAKpiB,GAAOq8D,QAAO,SAAUg9D,EAAK1uI,GAC9C,OAAOyrI,EAAcA,EAAc,GAAIiD,GArEV,SAA6B3pI,EAAM1C,GAClE,IAA8C,IAA1CsoT,EAAuB39S,QAAQjI,GACjC,OAAO4pD,EAAgB,GAAI5pD,EAAM1C,GAGnC,IAAIyoT,EAAwB,eAAT/lT,EACfgmT,EAAYhmT,EAAKqF,QAAQ,QAAQ,SAAUyF,GAC7C,OAAOA,EAAEu4E,iBAEP4iO,EAAW3oT,EACf,OAAOooT,EAAY/4O,QAAO,SAAUlvE,EAAQkD,EAAUlG,GAKpD,OAJIsrT,IACFE,EAAW3oT,EAAM+H,QAAQ,kCAAmC,GAAG+gB,OAAOu/R,EAAoBlrT,GAAI,QAGzFisI,EAAcA,EAAc,GAAIjpI,GAAS,GAAImsD,EAAgB,GAAIjpD,EAAWqlT,EAAWC,MAC7F,IAqD4CC,CAAoBjrT,EAAK0uI,EAAI1uI,OACzEqV,IAqBM61S,EAAmB,SAA0B3rT,EAAO4f,EAAUoa,GACvE,OAAOh6B,EAAM6qB,KAAI,SAAUjiB,GACzB,MAAO,GAAGgjB,QAvGgCpmB,EAuGboD,EAtGxBpD,EAAKqF,QAAQ,YAAY,SAAUyF,GACxC,MAAO,IAAIsb,OAAOtb,EAAE2L,mBAqGgB,KAAK2P,OAAOhM,EAAU,OAAOgM,OAAOoO,GAvGnD,IAAqBx0B,KAwGzCiK,KAAK,MCjIV,SAASwgI,EAAe53F,EAAKp4C,GAAK,OAMlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EANtB63F,CAAgB73F,IAIzD,SAA+BA,EAAKp4C,GAAK,GAAsB,qBAAX0D,UAA4BA,OAAOC,YAAYrD,OAAO83C,IAAO,OAAQ,IAAI83F,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWjsI,OAAK4+B,EAAW,IAAM,IAAK,IAAiCstG,EAA7B3qF,EAAKtN,EAAI10C,OAAOC,cAAmBwsI,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAAtL,QAAuM,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EAJjaI,CAAsBl4F,EAAKp4C,IAAM+tI,EAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAQzI,SAASp4F,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAAQ21F,EAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAIlI,SAASD,EAA4BtqI,EAAGqqI,GAAU,GAAKrqI,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAiE,MAAnD,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAgB,QAANvB,GAAqB,QAANA,EAAoBJ,MAAMsY,KAAKzY,GAAc,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAW0pI,EAAkBjqI,EAAGqqI,QAAzG,GAM7S,SAASJ,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAGhL,IAEIszQ,EAAoB,SAA2Bp1H,EAAIC,GACrD,MAAO,CAAC,EAAG,EAAID,EAAI,EAAIC,EAAK,EAAID,EAAI,EAAIA,EAAK,EAAIC,EAAK,IAGpDo1H,EAAY,SAAmB5wN,EAAQp1F,GACzC,OAAOo1F,EAAOpwE,KAAI,SAAUioC,EAAO7yD,GACjC,OAAO6yD,EAAQvoD,KAAKE,IAAI5E,EAAG5F,MAC1BkyE,QAAO,SAAU3iC,EAAK7yB,GACvB,OAAO6yB,EAAM7yB,MAIbmvS,EAAc,SAAqBt1H,EAAIC,GACzC,OAAO,SAAU5wL,GACf,IAAIo1F,EAAS2wN,EAAkBp1H,EAAIC,GACnC,OAAOo1H,EAAU5wN,EAAQp1F,KAIzBkmT,EAAwB,SAA+Bv1H,EAAIC,GAC7D,OAAO,SAAU5wL,GACf,IAAIo1F,EAAS2wN,EAAkBp1H,EAAIC,GAC/Bu1H,EAAY,GAAGpgS,OAAOwsB,EAAmB6iD,EAAOpwE,KAAI,SAAUioC,EAAO7yD,GACvE,OAAO6yD,EAAQ7yD,KACdm1C,MAAM,IAAK,CAAC,IACf,OAAOy2Q,EAAUG,EAAWnmT,KAKrBomT,EAAe,WACxB,IAAK,IAAIrmQ,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GAGzB,IAAIliD,EAAKi2C,EAAK,GACVh2C,EAAKg2C,EAAK,GACV/1C,EAAK+1C,EAAK,GACV91C,EAAK81C,EAAK,GAEd,GAAoB,IAAhBA,EAAK5mD,OACP,OAAQ4mD,EAAK,IACX,IAAK,SACHj2C,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACL,MAEF,IAAK,OACHH,EAAK,IACLC,EAAK,GACLC,EAAK,IACLC,EAAK,EACL,MAEF,IAAK,UACHH,EAAK,IACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACL,MAEF,IAAK,WACHH,EAAK,IACLC,EAAK,EACLC,EAAK,IACLC,EAAK,EACL,MAEF,IAAK,cACHH,EAAK,EACLC,EAAK,EACLC,EAAK,IACLC,EAAK,EACL,MAEF,QAEI,IAAIgpB,EAAS8sB,EAAK,GAAGn3C,MAAM,KAE3B,GAAkB,iBAAdqqB,EAAO,IAAuE,IAA9CA,EAAO,GAAGrqB,MAAM,KAAK,GAAGA,MAAM,KAAKzP,OAAc,CACnF,IAAIgsT,EAAwBlyR,EAAO,GAAGrqB,MAAM,KAAK,GAAGA,MAAM,KAAKkb,KAAI,SAAU5a,GAC3E,OAAOtD,WAAWsD,MAGhBk8S,EAAyBl8K,EAAei8K,EAAuB,GAEnEr7S,EAAKs7S,EAAuB,GAC5Br7S,EAAKq7S,EAAuB,GAC5Bp7S,EAAKo7S,EAAuB,GAC5Bn7S,EAAKm7S,EAAuB,IAQjC,CAACt7S,EAAIE,EAAID,EAAIE,GAAIu1H,OAAM,SAAUkJ,GACpC,MAAsB,kBAARA,GAAoBA,GAAO,GAAKA,GAAO,KAEvD,IAAI28K,EAASN,EAAYj7S,EAAIE,GACzBs7S,EAASP,EAAYh7S,EAAIE,GACzBs7S,EAAYP,EAAsBl7S,EAAIE,GAEtCw7S,EAAa,SAAoBzpT,GACnC,OAAIA,EAAQ,EACH,EACEA,EAAQ,EACV,EAGFA,GAGL0pT,EAAS,SAAgB50H,GAI3B,IAHA,IAAI/xL,EAAI+xL,EAAK,EAAI,EAAIA,EACjB3nL,EAAIpK,EAEC5F,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAIwsT,EAAQL,EAAOn8S,GAAKpK,EACpB6mT,EAASJ,EAAUr8S,GAEvB,GAAI1F,KAAKwjD,IAAI0+P,EAAQ5mT,GA9HZ,MA8H6B6mT,EA9H7B,KA+HP,OAAOL,EAAOp8S,GAGhBA,EAAIs8S,EAAWt8S,EAAIw8S,EAAQC,GAG7B,OAAOL,EAAOp8S,IAIhB,OADAu8S,EAAOG,WAAY,EACZH,GAEEI,EAAe,WACxB,IAAI90Q,EAASv0C,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC7EspT,EAAgB/0Q,EAAOg1Q,MACvBA,OAA0B,IAAlBD,EAA2B,IAAMA,EACzCE,EAAkBj1Q,EAAOk1Q,QACzBA,OAA8B,IAApBD,EAA6B,EAAIA,EAC3CE,EAAan1Q,EAAOvN,GACpBA,OAAoB,IAAf0iR,EAAwB,GAAKA,EAElCC,EAAU,SAAiBC,EAAOC,EAAOC,GAC3C,IAEIC,EAAOD,KAFKF,EAAQC,GAASN,EAClBO,EAAQL,GACmBziR,EAAK,IAC3Cu0B,EAAOuuP,EAAQ9iR,EAAK,IAAO4iR,EAE/B,OAAI5iT,KAAKwjD,IAAI+Q,EAAOsuP,GA1JT,MA0J8B7iT,KAAKwjD,IAAIu/P,GA1JvC,KA2JF,CAACF,EAAO,GAGV,CAACtuP,EAAMwuP,IAKhB,OAFAJ,EAAQP,WAAY,EACpBO,EAAQ3iR,GAAKA,EACN2iR,GCxLT,SAAS90Q,EAAmBC,GAAO,OAMnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAN1Cu1F,CAAmBv1F,IAI7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GAJrDC,CAAiBz1F,IAAQ21F,EAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAQlI,SAAS9Q,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAAS6sG,EAAe53F,EAAKp4C,GAAK,OAUlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAVtB63F,CAAgB73F,IAQzD,SAA+BA,EAAKp4C,GAAK,GAAsB,qBAAX0D,UAA4BA,OAAOC,YAAYrD,OAAO83C,IAAO,OAAQ,IAAI83F,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWjsI,OAAK4+B,EAAW,IAAM,IAAK,IAAiCstG,EAA7B3qF,EAAKtN,EAAI10C,OAAOC,cAAmBwsI,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAAtL,QAAuM,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EARjaI,CAAsBl4F,EAAKp4C,IAAM+tI,EAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAIzI,SAASxC,EAA4BtqI,EAAGqqI,GAAU,GAAKrqI,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAiE,MAAnD,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAgB,QAANvB,GAAqB,QAANA,EAAoBJ,MAAMsY,KAAKzY,GAAc,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAW0pI,EAAkBjqI,EAAGqqI,QAAzG,GAE7S,SAASJ,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAQhL,IAAIrsB,EAAQ,SAAepM,EAAO62B,EAAK1xB,GACrC,OAAOnF,GAAS62B,EAAM72B,GAASmF,GAG7BuoS,EAAe,SAAsBr9L,GAGvC,OAFWA,EAAK/zG,OACP+zG,EAAKtvG,IA2CA,WAAUzE,EAAMyE,EAAIoZ,EAAQpa,EAAU1J,GACpD,IFpE4Ds3S,EAAQC,EEgFhEC,EACAC,EAbAC,GFpEwDJ,EEoExBrxS,EFpEgCsxS,EEoE1B7sS,EFnEnC,CAACrgB,OAAO23B,KAAKs1R,GAASjtT,OAAO23B,KAAKu1R,IAAUt7O,QAAO,SAAUpiE,EAAGzC,GACrE,OAAOyC,EAAEsG,QAAO,SAAU/Q,GACxB,OAAOgI,EAAEg0H,SAASh8H,UEkElBuoT,EAAcD,EAAUz7O,QAAO,SAAUg9D,EAAK1uI,GAChD,OAAOyrI,EAAcA,EAAc,GAAIiD,GAAM,GAAI//E,EAAgB,GAAI3uD,EAAK,CAAC0b,EAAK1b,GAAMmgB,EAAGngB,QACxF,IACCqtT,EAAeF,EAAUz7O,QAAO,SAAUg9D,EAAK1uI,GACjD,OAAOyrI,EAAcA,EAAc,GAAIiD,GAAM,GAAI//E,EAAgB,GAAI3uD,EAAK,CACxE0b,KAAMA,EAAK1b,GACXstT,SAAU,EACVntS,GAAIA,EAAGngB,QAER,IACCutT,GAAS,EAIT1tS,EAAS,WACX,OAAO,MAwDT,OAFAA,EAAS0Z,EAAO2yR,UAxCI,SAAuBzzR,GACpCw0R,IACHA,EAAUx0R,GAGZ,IACI+8F,GADY/8F,EAAMw0R,GACE1zR,EAAOuQ,GAC/BujR,EAxEiB,SAASG,EAAej0R,EAAQk0R,EAASj4L,GAC5D,IAAIk4L,EAAe9C,GAAU,SAAU5qT,EAAKqmB,GAC1C,GAAIymS,EAAazmS,GAAM,CACrB,IACIsnS,EAAWn+K,EADDj2G,EAAOlT,EAAI3K,KAAM2K,EAAIlG,GAAIkG,EAAIinS,UACJ,GACnCjvP,EAAOsvP,EAAS,GAChBd,EAAOc,EAAS,GAEpB,OAAOliL,EAAcA,EAAc,GAAIplH,GAAM,GAAI,CAC/C3K,KAAM2iD,EACNivP,SAAUT,IAId,OAAOxmS,IACNonS,GAEH,OAAIj4L,EAAQ,EACHo1L,GAAU,SAAU5qT,EAAKqmB,GAC9B,OAAIymS,EAAazmS,GACRolH,EAAcA,EAAc,GAAIplH,GAAM,GAAI,CAC/CinS,SAAU9hS,EAAMnF,EAAIinS,SAAUI,EAAa1tT,GAAKstT,SAAU93L,GAC1D95G,KAAM8P,EAAMnF,EAAI3K,KAAMgyS,EAAa1tT,GAAK0b,KAAM85G,KAI3CnvG,IACNonS,GAGED,EAAej0R,EAAQm0R,EAAcl4L,EAAQ,GA0CnCg4L,CAAej0R,EAAQ8zR,EAAc73L,GAEpD//G,EAAOg2H,EAAcA,EAAcA,EAAc,GAAI/vH,GAAOyE,GAnBrDyqS,GAAU,SAAU5qT,EAAKqmB,GAC9B,OAAOA,EAAI3K,OACV2xS,KAkBHJ,EAAUx0R,EAdF34B,OAAOsgB,OAAOitS,GAAcz3S,OAAOk3S,GAAcrtT,SAiBvD8tT,EAAQp2R,sBAAsBtX,KAKf,SAAsB4Y,GAClCy0R,IACHA,EAAYz0R,GAGd,IAAIrzB,GAAKqzB,EAAMy0R,GAAa/tS,EACxByuS,EAAYhD,GAAU,SAAU5qT,EAAKqmB,GACvC,OAAOmF,EAAMzoB,WAAM,EAAQ40C,EAAmBtxB,GAAK8E,OAAO,CAACoO,EAAOn0B,QACjEgoT,GAIH,GAFA33S,EAAOg2H,EAAcA,EAAcA,EAAc,GAAI/vH,GAAOyE,GAAKytS,IAE7DxoT,EAAI,EACNmoT,EAAQp2R,sBAAsBtX,OACzB,CACL,IAAIguS,EAAajD,GAAU,SAAU5qT,EAAKqmB,GACxC,OAAOmF,EAAMzoB,WAAM,EAAQ40C,EAAmBtxB,GAAK8E,OAAO,CAACoO,EAAO,QACjE6zR,GACH33S,EAAOg2H,EAAcA,EAAcA,EAAc,GAAI/vH,GAAOyE,GAAK0tS,MAM9D,WAGL,OAFA12R,sBAAsBtX,GAEf,WACL+W,qBAAqB22R,MC1J3B,SAAS92O,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASwsF,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAIne,SAASq4C,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAItF,SAAqC30C,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJxTC,CAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAUlI,SAASN,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAEhL,SAAS6kF,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAI3M,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,GAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,GAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,GAAuBz6G,GAAtChf,EAEnI,SAASy5H,GAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,GAAgBh7H,GAAwJ,OAAnJg7H,GAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAUxM,IAAI6qT,GAAuB,SAAUC,IAtBrC,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAuBjXF,CAAU8rT,EAASC,GAEnB,IA3BoB5uT,EAAae,EAAYC,EA2BzCypD,EAAStnD,EAAawrT,GAE1B,SAASA,EAAQvuT,EAAO04D,GACtB,IAAI/f,GAlCR,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAoC5GH,CAAgB0D,KAAMmrT,GAGtB,IAAI71J,GADJ//G,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,EAAO04D,IACT14D,MACpByrK,EAAW/S,EAAY+S,SACvBxrJ,EAAgBy4I,EAAYz4I,cAC5B9D,EAAOu8I,EAAYv8I,KACnByE,EAAK83I,EAAY93I,GACjBq1G,EAAQyiC,EAAYziC,MACpBrgH,EAAW8iJ,EAAY9iJ,SAI3B,GAHA+iC,EAAM81Q,kBAAoB91Q,EAAM81Q,kBAAkBxoT,KAAK44H,GAAuBlmF,IAC9EA,EAAM+1Q,YAAc/1Q,EAAM+1Q,YAAYzoT,KAAK44H,GAAuBlmF,KAE7D8yH,EAWH,OAVA9yH,EAAMwvB,MAAQ,CACZryD,MAAO,IAGe,oBAAbF,IACT+iC,EAAMwvB,MAAQ,CACZryD,MAAO8K,IAIJ+9G,EAA2BhmF,GAGpC,GAAIs9E,GAASA,EAAM/1H,OACjBy4C,EAAMwvB,MAAQ,CACZryD,MAAOmgH,EAAM,GAAGngH,YAEb,GAAIqG,EAAM,CACf,GAAwB,oBAAbvG,EAIT,OAHA+iC,EAAMwvB,MAAQ,CACZryD,MAAOqG,GAEFwiH,EAA2BhmF,GAGpCA,EAAMwvB,MAAQ,CACZryD,MAAOmK,EAAgBmvC,EAAgB,GAAInvC,EAAe9D,GAAQA,QAGpEw8B,EAAMwvB,MAAQ,CACZryD,MAAO,IAIX,OAAO6iC,EAuQT,OAvVoB/4C,EAmFP2uT,GAnFoB5tT,EAmFX,CAAC,CACrBF,IAAK,oBACLqC,MAAO,WACL,IAAIo2J,EAAe91J,KAAKpD,MACpByrK,EAAWvS,EAAauS,SACxBkjJ,EAAWz1J,EAAay1J,SAC5BvrT,KAAKsrL,SAAU,EAEVjjB,GAAakjJ,GAIlBvrT,KAAKwrT,aAAaxrT,KAAKpD,SAExB,CACDS,IAAK,qBACLqC,MAAO,SAA4Bo8H,GACjC,IAAI2vL,EAAezrT,KAAKpD,MACpByrK,EAAWojJ,EAAapjJ,SACxBkjJ,EAAWE,EAAaF,SACxB1uS,EAAgB4uS,EAAa5uS,cAC7B6uS,EAAkBD,EAAaC,gBAEnC,GAAKH,EAIL,GAAKljJ,GAeL,KAAIsjJ,oBAAU7vL,EAAUt+G,GAAIxd,KAAKpD,MAAM4gB,KAAOs+G,EAAUyvL,UAAYzvL,EAAUusC,UAA9E,CAIA,IAAIujJ,GAAe9vL,EAAUyvL,WAAazvL,EAAUusC,SAEhDroK,KAAK6rT,SACP7rT,KAAK6rT,QAAQpoT,OAGXzD,KAAK8rT,iBACP9rT,KAAK8rT,kBAGP,IAAI/yS,EAAO6yS,GAAeF,EAAkB1rT,KAAKpD,MAAMmc,KAAO+iH,EAAUt+G,GAExE,GAAIxd,KAAK+kE,OAAS/kE,KAAK+kE,MAAMryD,MAAO,CAClC,IAAIq5S,EAAY,CACdr5S,MAAOmK,EAAgBmvC,EAAgB,GAAInvC,EAAe9D,GAAQA,IAGhE8D,GAAiB7c,KAAK+kE,MAAMryD,MAAMmK,KAAmB9D,IAAS8D,GAAiB7c,KAAK+kE,MAAMryD,QAAUqG,IAEtG/Y,KAAKqkK,SAAS0nJ,GAIlB/rT,KAAKwrT,aAAa1iL,EAAcA,EAAc,GAAI9oI,KAAKpD,OAAQ,GAAI,CACjEmc,KAAMA,EACN0D,MAAO,UA5CT,CACE,IAAIuvS,EAAW,CACbt5S,MAAOmK,EAAgBmvC,EAAgB,GAAInvC,EAAe7c,KAAKpD,MAAM4gB,IAAMxd,KAAKpD,MAAM4gB,IAGpFxd,KAAK+kE,OAAS/kE,KAAK+kE,MAAMryD,QACvBmK,GAAiB7c,KAAK+kE,MAAMryD,MAAMmK,KAAmB7c,KAAKpD,MAAM4gB,KAAOX,GAAiB7c,KAAK+kE,MAAMryD,QAAU1S,KAAKpD,MAAM4gB,KAE1Hxd,KAAKqkK,SAAS2nJ,MAuCrB,CACD3uT,IAAK,uBACLqC,MAAO,WACLM,KAAKsrL,SAAU,EAEXtrL,KAAKisT,aACPjsT,KAAKisT,cAGHjsT,KAAK6rT,UACP7rT,KAAK6rT,QAAQpoT,OACbzD,KAAK6rT,QAAU,MAGb7rT,KAAK8rT,iBACP9rT,KAAK8rT,oBAGR,CACDzuT,IAAK,iBACLqC,MAAO,SAAwB9C,GAC7B,IAAIy/C,EAASr8C,KAET+Y,EAAOnc,EAAMmc,KACbyE,EAAK5gB,EAAM4gB,GACXhB,EAAW5f,EAAM4f,SACjBoa,EAASh6B,EAAMg6B,OACfna,EAAQ7f,EAAM6f,MACd83I,EAAiB33J,EAAM23J,eACvB23J,EAAmBtvT,EAAMsvT,iBACzBC,EAAiBC,EAAarzS,EAAMyE,EF7BpB,WACxB,IAAK,IAAIsnH,EAAQ3kI,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAMqkI,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFrhF,EAAKqhF,GAAS5kI,UAAU4kI,GAG1B,IAAInuG,EAAS8sB,EAAK,GAElB,GAAsB,kBAAX9sB,EACT,OAAQA,GACN,IAAK,OACL,IAAK,cACL,IAAK,WACL,IAAK,UACL,IAAK,SACH,OAAOiyR,EAAajyR,GAEtB,IAAK,SACH,OAAO4yR,IAET,QACE,GAA6B,iBAAzB5yR,EAAOrqB,MAAM,KAAK,GACpB,OAAOs8S,EAAajyR,GAO5B,MAAsB,oBAAXA,EACFA,EAIF,KEJyCy1R,CAAaz1R,GAASpa,EAAUxc,KAAKsrT,aAMjFtrT,KAAK6rT,QAAQ/zS,MAAM,CAACo0S,EAAkBzvS,EAJZ,WACxB4/B,EAAOyvQ,gBAAkBK,KAGuC3vS,EAAU+3I,MAE7E,CACDl3J,IAAK,mBACLqC,MAAO,SAA0B9C,GAC/B,IAAIogD,EAASh9C,KAET6yH,EAAQj2H,EAAMi2H,MACdp2G,EAAQ7f,EAAM6f,MACdyvS,EAAmBtvT,EAAMsvT,iBACzBI,EAAUz5L,EAAM,GAChB05L,EAAeD,EAAQ55S,MACvB85S,EAAmBF,EAAQ9vS,SAC3BiwS,OAAmC,IAArBD,EAA8B,EAAIA,EAkCpD,OAAOxsT,KAAK6rT,QAAQ/zS,MAAM,CAACo0S,GAAkB1jS,OAAOwsB,EAAmB69E,EAAM9jD,QAhC9D,SAAkB29O,EAAUrmO,EAAUllD,GACnD,GAAc,IAAVA,EACF,OAAOurR,EAGT,IAAIlwS,EAAW6pE,EAAS7pE,SACpBmwS,EAAmBtmO,EAASzvD,OAC5BA,OAA8B,IAArB+1R,EAA8B,OAASA,EAChDj6S,EAAQ2zE,EAAS3zE,MACjBk6S,EAAiBvmO,EAASwmO,WAC1Bt4J,EAAiBluE,EAASkuE,eAC1Bu4J,EAAU3rR,EAAQ,EAAI0xF,EAAM1xF,EAAQ,GAAKklD,EACzCwmO,EAAaD,GAAkBzvT,OAAO23B,KAAKpiB,GAE/C,GAAsB,oBAAXkkB,GAAoC,WAAXA,EAClC,MAAO,GAAGpO,OAAOwsB,EAAmB03Q,GAAW,CAAC1vQ,EAAO+vQ,eAAelqT,KAAKm6C,EAAQ,CACjFjkC,KAAM+zS,EAAQp6S,MACd8K,GAAI9K,EACJ8J,SAAUA,EACVoa,OAAQA,IACNpa,IAGN,IAAIwwS,EAAazE,EAAiBsE,EAAYrwS,EAAUoa,GAEpDq2R,EAAWnkL,EAAcA,EAAcA,EAAc,GAAIgkL,EAAQp6S,OAAQA,GAAQ,GAAI,CACvFs6S,WAAYA,IAGd,MAAO,GAAGxkS,OAAOwsB,EAAmB03Q,GAAW,CAACO,EAAUzwS,EAAU+3I,IAAiBthJ,OAAO63H,KAGA,CAACyhL,EAAcplT,KAAK+K,IAAIu6S,EAAahwS,MAAW,CAAC7f,EAAM23J,oBAEtJ,CACDl3J,IAAK,eACLqC,MAAO,SAAsB9C,GACtBoD,KAAK6rT,UACR7rT,KAAK6rT,QAAUtE,KAGjB,IAAI9qS,EAAQ7f,EAAM6f,MACdD,EAAW5f,EAAM4f,SACjBK,EAAgBjgB,EAAMigB,cACtBqwS,EAAUtwT,EAAM4gB,GAChBoZ,EAASh6B,EAAMg6B,OACfs1R,EAAmBtvT,EAAMsvT,iBACzB33J,EAAiB33J,EAAM23J,eACvB1hC,EAAQj2H,EAAMi2H,MACdrgH,EAAW5V,EAAM4V,SACjBq5S,EAAU7rT,KAAK6rT,QAGnB,GAFA7rT,KAAKisT,YAAcJ,EAAQv7H,UAAUtwL,KAAKqrT,mBAEpB,oBAAXz0R,GAA6C,oBAAbpkB,GAAsC,WAAXokB,EAKtE,GAAIi8F,EAAM/1H,OAAS,EACjBkD,KAAKmtT,iBAAiBvwT,OADxB,CAKA,IAAI4gB,EAAKX,EAAgBmvC,EAAgB,GAAInvC,EAAeqwS,GAAWA,EACnEF,EAAazE,EAAiBprT,OAAO23B,KAAKtX,GAAKhB,EAAUoa,GAC7Di1R,EAAQ/zS,MAAM,CAACo0S,EAAkBzvS,EAAOqsH,EAAcA,EAAc,GAAItrH,GAAK,GAAI,CAC/EwvS,WAAYA,IACVxwS,EAAU+3I,SAbZv0J,KAAK+sT,eAAenwT,KAevB,CACDS,IAAK,oBACLqC,MAAO,SAA2BgT,GAChC1S,KAAKsrT,YAAY54S,KAElB,CACDrV,IAAK,cACLqC,MAAO,SAAqBgT,GACtB1S,KAAKsrL,SACPtrL,KAAKqkK,SAAS,CACZ3xJ,MAAOA,MAIZ,CACDrV,IAAK,SACLqC,MAAO,WACL,IAAI0tT,EAAeptT,KAAKpD,MACpB4V,EAAW46S,EAAa56S,SAKxB61J,GAJQ+kJ,EAAa3wS,MACV2wS,EAAa5wS,SACR4wS,EAAavwS,cACpBuwS,EAAax2R,OACXw2R,EAAa/kJ,UAQxB/oC,GAPQ8tL,EAAav6L,MACdu6L,EAAar0S,KACfq0S,EAAa5vS,GACP4vS,EAAa7B,SACP6B,EAAa74J,eACZ64J,EAAa1B,gBACV0B,EAAaC,mBACzB7gM,EAAyB4gM,EAAc,CAAC,WAAY,QAAS,WAAY,gBAAiB,SAAU,WAAY,QAAS,OAAQ,KAAM,WAAY,iBAAkB,kBAAmB,wBAEjMh8Q,EAAQqtG,WAASrtG,MAAM5+B,GACvB86S,EAAapF,EAAeloT,KAAK+kE,MAAMryD,OAE3C,GAAwB,oBAAbF,EACT,OAAOA,EAAS86S,GAGlB,IAAKjlJ,GAAsB,IAAVj3H,EACf,OAAO5+B,EAGT,IAAIsuE,EAAiB,SAAwBguC,GAC3C,IAAIy+L,EAAmBz+L,EAAUlyH,MAC7B4wT,EAAwBD,EAAiB76S,MACzCA,OAAkC,IAA1B86S,EAAmC,GAAKA,EAChD7oS,EAAY4oS,EAAiB5oS,UAKjC,OAJuB2+I,uBAAax0C,EAAWga,EAAcA,EAAc,GAAIxJ,GAAS,GAAI,CAC1F5sH,MAAOo2H,EAAcA,EAAc,GAAIp2H,GAAQ46S,GAC/C3oS,UAAWA,MAKf,OAAc,IAAVysB,EACK0vC,EAAe29D,WAASkqC,KAAKn2K,IAGlB49G,IAAMx1G,cAAc,MAAO,KAAM6jI,WAASh3H,IAAIjV,GAAU,SAAUgB,GACpF,OAAOstE,EAAettE,YAlVgD9W,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAuV3K2tT,EA/TkB,CAgUzBsC,iBAEFtC,GAAQnzR,YAAc,UACtBmzR,GAAQ99L,UAAY,CAClBt0G,KAAM0xG,IAAUF,UAAU,CAACE,IAAU3nH,OAAQ2nH,IAAUT,SACvDxsG,GAAIitG,IAAUF,UAAU,CAACE,IAAU3nH,OAAQ2nH,IAAUT,SACrDntG,cAAe4tG,IAAUT,OAEzBxtG,SAAUiuG,IAAUV,OACpBttG,MAAOguG,IAAUV,OACjBnzF,OAAQ6zF,IAAUF,UAAU,CAACE,IAAUT,OAAQS,IAAUh7D,OACzDojE,MAAOpI,IAAUP,QAAQO,IAAU9qE,MAAM,CACvCnjC,SAAUiuG,IAAUV,OAAOH,WAC3Bl3G,MAAO+3G,IAAU3nH,OAAO8mH,WACxBhzF,OAAQ6zF,IAAUF,UAAU,CAACE,IAAUH,MAAM,CAAC,OAAQ,UAAW,WAAY,cAAe,WAAYG,IAAUh7D,OAElHo9P,WAAYpiM,IAAUP,QAAQ,UAC9BqqC,eAAgB9pC,IAAUh7D,QAE5Bj9C,SAAUi4G,IAAUF,UAAU,CAACE,IAAU5mH,KAAM4mH,IAAUh7D,OACzD44G,SAAU59C,IAAUX,KACpByhM,SAAU9gM,IAAUX,KACpByqC,eAAgB9pC,IAAUh7D,KAE1Bi8P,gBAAiBjhM,IAAUX,KAC3BoiM,iBAAkBzhM,IAAUh7D,KAC5B49P,mBAAoB5iM,IAAUh7D,MAEhC07P,GAAQvuL,aAAe,CACrBngH,MAAO,EACPD,SAAU,IACVzD,KAAM,GACNyE,GAAI,GACJX,cAAe,GACf+Z,OAAQ,OACRyxI,UAAU,EACVkjJ,UAAU,EACV14L,MAAO,GACP0hC,eAAgB,aAChB23J,iBAAkB,cAELf,U,UC7Zf,SAASr3O,GAAQ9zC,GAAmV,OAAtO8zC,GAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,KAA2Q,OAA9PA,GAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAASqsH,GAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAIne,SAASo9H,GAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,GAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,GAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,GAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,GAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,GAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAAS1jC,GAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,GAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,GAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,GAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,GAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,GAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,GAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,GAA2Bv7H,KAAMH,IAE5Z,SAAS07H,GAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,GAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,GAAgBh7H,GAAwJ,OAAnJg7H,GAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,QAOhLs/B,IAApB/xB,OAAO8gI,WACT9gI,OAAO8gI,SAAW,SAAUjvI,GAC1B,MAAwB,kBAAVA,GAAsBivI,SAASjvI,KAIjD,IAAIguT,GAAkC,WACpC,IAAInvR,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9E0yH,EAAQt0F,EAAQs0F,MAChBr2G,EAAW+hB,EAAQ/hB,SAEvB,OAAIq2G,GAASA,EAAM/1H,OACV+1H,EAAM9jD,QAAO,SAAUlvE,EAAQ6gD,GACpC,OAAO7gD,GAAUgO,OAAO8gI,SAASjuF,EAAMlkC,WAAakkC,EAAMlkC,SAAW,EAAIkkC,EAAMlkC,SAAW,KACzF,GAGD3O,OAAO8gI,SAASnyH,GACXA,EAGF,GAGLmxS,GAAiC,SAAUhyL,IA3C/C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,GAAgB37H,EAAUC,GA4CjXF,CAAUsuT,EAAmBhyL,GAE7B,IAhDoBn/H,EAAae,EAAYC,EAgDzCypD,EAAStnD,GAAaguT,GAE1B,SAASA,IACP,IAAIp4Q,EAEJj5C,GAAgB0D,KAAM2tT,GAEtB,IAAK,IAAInrQ,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GAoBzB,OAjBApa,EAAQ0R,EAAOjlD,KAAK5B,MAAM6mD,EAAQ,CAACjnD,MAAMwoB,OAAOk7B,KAC1CqhB,MAAQ,CACZsjG,UAAU,GAGZ9yH,EAAMo2I,YAAc,SAAU9nL,EAAM+pT,GAClC,IAAIt4J,EAAc//G,EAAM34C,MACpBixT,EAAgBv4J,EAAYu4J,cAC5BC,EAAex4J,EAAYw4J,aAE/Bv4Q,EAAMw4Q,kBAAkBH,EAAcC,EAAgBC,IAGxDv4Q,EAAMw2I,WAAa,WACjBx2I,EAAMw4Q,kBAAkBx4Q,EAAM34C,MAAMoxT,eAG/Bz4Q,EA+CT,OA3HoB/4C,EA+EPmxT,GA/EoBpwT,EA+ED,CAAC,CAC/BF,IAAK,oBACLqC,MAAO,SAA2BgT,GAChC,GAAIA,EAAO,CACT,IAAI6hJ,EAAiB7hJ,EAAM6hJ,eAAiB,WAC1C7hJ,EAAM6hJ,kBACJ,KACJv0J,KAAKqkK,SAASv7B,GAAcA,GAAc,GAAIp2H,GAAQ,GAAI,CACxD6hJ,eAAgBA,EAChB8T,UAAU,QAIf,CACDhrK,IAAK,eACLqC,MAAO,WACL,IAAIo2J,EAAe91J,KAAKpD,MACpBixT,EAAgB/3J,EAAa+3J,cAC7BC,EAAeh4J,EAAag4J,aAC5BE,EAAel4J,EAAak4J,aAChC,OAAON,GAAgCG,GAAiBH,GAAgCI,GAAgBJ,GAAgCM,KAEzI,CACD3wT,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAETyrT,EAAezrT,KAAKpD,MACpB4V,EAAWi5S,EAAaj5S,SAIxB5V,GAHgB6uT,EAAaoC,cACdpC,EAAaqC,aACbrC,EAAauC,aACpBxhM,GAAyBi/L,EAAc,CAAC,WAAY,gBAAiB,eAAgB,kBAEjG,OAAoBr7L,IAAMx1G,cAAckrK,cAAYr+I,GAAS,GAAI7qC,EAAO,CACtEkrL,QAAS9nL,KAAK2rL,YACd1D,OAAQjoL,KAAK+rL,WACb5zF,QAASn4F,KAAKiuT,kBACZ,WACF,OAAoB79L,IAAMx1G,cAAcuwS,GAAS9uQ,EAAO0oB,MAAO05E,WAASkqC,KAAKn2K,YAtHP9V,GAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,GAAkBF,EAAagB,GA2H3KmwT,EA9E4B,CA+EnC7wL,aAEF6wL,GAAkBtgM,UAAY,CAC5BwgM,cAAepjM,IAAU3nH,OACzBgrT,aAAcrjM,IAAU3nH,OACxBkrT,aAAcvjM,IAAU3nH,OACxB0P,SAAUi4G,IAAU/vG,SAEPizS,UCjJf,SAASO,GAAatxT,GACpB,IAAIouJ,EAAYpuJ,EAAMouJ,UAClBx4I,EAAW5V,EAAM4V,SACjByzK,EAASrpL,EAAMqpL,OACfE,EAAQvpL,EAAMupL,MACdgoI,EAAQvxT,EAAMuxT,MAClB,OAAoB/9L,IAAMx1G,cAAcswK,mBAAiB,CACvDlgC,UAAWA,GACVvM,WAASh3H,IAAIjV,GAAU,SAAUgB,EAAO2tB,GACzC,OAAoBivF,IAAMx1G,cAAc+yS,GAAmB,CACzDE,cAAe5nI,EACf6nI,aAAc3nI,EACd6nI,aAAcG,EACd9wT,IAAK,SAASmrB,OAAO2Y,IAEpB3tB,OAIP06S,GAAa7gM,UAAY,CACvB44D,OAAQx7D,IAAU3nH,OAClBqjL,MAAO17D,IAAU3nH,OACjBqrT,MAAO1jM,IAAU3nH,OACjB0P,SAAUi4G,IAAUF,UAAU,CAACE,IAAU1nE,MAAO0nE,IAAU/vG,UAC1DswI,UAAWvgC,IAAUR,KAEvBikM,GAAatxL,aAAe,CAC1BouB,UAAW,QC3BEmgK,Q,6BCLf,SAASr3O,EAAQ9zC,GAAkC,OAAO8zC,EAAU,mBAAqBvzE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUw/B,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBz/B,QAAUy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAgBA,GAAzU,sGAEA,IAAIiV,EAAM,GACNphB,EAAOohB,EAAIlgB,QACXid,EAAQiD,EAAIjD,MACT,SAASstC,EAASt/C,GAQvB,OAPAnM,EAAK7xB,KAAKgwC,EAAMhwC,KAAK7B,UAAW,IAAI,SAAUmoB,GAC5C,GAAIA,EACF,IAAK,IAAI9iB,KAAQ8iB,OACGsX,IAAdI,EAAIx6B,KAAqBw6B,EAAIx6B,GAAQ8iB,EAAO9iB,OAI/Cw6B,EAEF,SAASouR,IACd,MAAiC,oBAAnBtmT,gBAAqH,YAAzD,qBAAnBA,eAAiC,YAAcgsE,EAAQhsE,iBAOzG,SAASumT,EAAYC,GAC1B,OALF,SAAmBA,GACjB,QAASA,GAA6C,oBAAtBA,EAAa36L,KAIzC46L,CAAUD,GACLA,EAGFx3R,QAAQw8F,QAAQg7L,K,0GCiBzB,2BAwRA,OArQI,YAAAE,kBAAA,WAEI,MADiC,CAACxuT,KAAKyiK,cAAeziK,KAAKyuT,aAC1CpiT,KAAK,IAAWqiT,qBAAqB71S,eAM1D,YAAA81S,mBAAA,WACI,OAAOC,EAAcC,wBAAwB,CACzCpsJ,cAAeziK,KAAKyiK,cACpBgsJ,YAAazuT,KAAKyuT,YAClBK,SAAU9uT,KAAK+uT,MACfC,SAAUhvT,KAAKgvT,SACfC,eAAgBjvT,KAAKivT,kBAO7B,YAAAC,aAAA,WACI,OAAQlvT,KAAKmvT,eACT,KAAK,IAAiBC,kBAClB,OAAO,IAAUn4T,KACrB,KAAK,IAAiBo4T,mBAClB,OAAO,IAAUC,IACrB,KAAK,IAAiBC,mBAClB,OAAO,IAAUC,MACrB,KAAK,IAAiBC,qBAClB,OAAO,IAAUC,QACrB,QACI,MAAM,IAAgBt2L,qCAQlC,YAAAu2L,eAAA,WACI,MAAO,CACHltJ,cAAeziK,KAAKyiK,cACpBgsJ,YAAazuT,KAAKyuT,YAClBK,SAAU9uT,KAAK+uT,MACfC,SAAUhvT,KAAKgvT,SACfC,eAAgBjvT,KAAKivT,eACrB7sT,KAAMpC,KAAKoC,KACXwtT,cAAe5vT,KAAK4vT,cACpBC,gBAAiB7vT,KAAK6vT,kBAQvB,EAAuB,wBAA9B,SAA+BC,GAO3B,MANmB,CACfA,EAAiBrtJ,cACjBqtJ,EAAiBrB,aAAe,IAAUr2T,aAC1C03T,EAAiBhB,UAAY,IAAU12T,cAGzBiU,KAAK,IAAWqiT,qBAAqB71S,eAUpD,EAAAk3S,cAAP,SACIC,EACAvtJ,EACAwtJ,EACAC,EACAC,EACAC,EACA3B,EACAoB,G,gBAEMQ,EAAyB,IAAIzB,EAEnCyB,EAAQlB,cAAgB,IAAiBI,mBACzCc,EAAQL,WAAaA,EACrBK,EAAQ5tJ,cAAgBA,EACxB4tJ,EAAQR,gBAAkBA,EAE1B,IAAMpjB,EAAMgiB,GAAgByB,GAAaA,EAAUI,oBAEnD,IAAK7jB,EACD,MAAM,IAAgB1zK,qCAO1B,GAJAs3L,EAAQ5B,YAAchiB,EAEtB4jB,EAAQtB,OAAyB,QAAjB,EAAO,OAAPkB,QAAO,IAAPA,OAAO,EAAPA,EAASt+E,cAAQ,eAAA4+E,MAAO,IAAUn4T,aAE9C63T,EAAS,CACTI,EAAQT,cAAgBK,EAAQt+E,OAGhC0+E,EAAQpB,gBAAgC,QAAf,EAAO,OAAPgB,QAAO,IAAPA,OAAO,EAAPA,EAASt+E,cAAM,eAAEvxC,OAAsB,QAAnB,EAAW,OAAP6vH,QAAO,IAAPA,OAAO,EAAPA,EAASt+E,cAAM,eAAE9jM,MAAO,IAAUz1C,aAOnF,IAAMo4T,EAAqC,QAAjB,SAAAP,QAAA,IAAAA,OAAA,EAAAA,EAASt+E,cAAQ,eAAA8+E,mBACrCC,GAA0B,QAAjB,SAAAT,QAAA,IAAAA,OAAA,EAAAA,EAASt+E,cAAQ,eAAAg/E,QAAUV,EAAQt+E,OAAOg/E,OAAO,GAAK,KAErEN,EAAQrB,SAAWwB,GAAqBE,GAAS,IAAUt4T,aAC3Di4T,EAAQjuT,KAAwB,QAAjB,SAAA6tT,QAAA,IAAAA,OAAA,EAAAA,EAASt+E,cAAQ,eAAAvvO,KAMpC,OAHAiuT,EAAQF,mBAAqBA,EAC7BE,EAAQD,YAAcA,EAEfC,GAQJ,EAAAO,qBAAP,SACInuJ,EACAwtJ,EACAC,EACAC,EACAC,EACA3B,G,YAEM4B,EAAyB,IAAIzB,EAEnCyB,EAAQlB,cACJe,GACAA,EAAUf,gBAAkB,IAAc0B,KAC1C,IAAiBzB,kBAAoB,IAAiBK,qBAE1DY,EAAQ5tJ,cAAgBA,EAExB4tJ,EAAQtB,MAAQ,IAAU32T,aAE1B,IAAMq0S,EAAMgiB,GAAeyB,GAAaA,EAAUI,oBAElD,IAAK7jB,EACD,MAAM,IAAgB1zK,qCAsB1B,OAnBIk3L,IAEAI,EAAQpB,gBAAgC,QAAf,EAAO,OAAPgB,QAAO,IAAPA,OAAO,EAAPA,EAASt+E,cAAM,eAAEvxC,OAAsB,QAAnB,EAAW,OAAP6vH,QAAO,IAAPA,OAAO,EAAPA,EAASt+E,cAAM,eAAE9jM,MAAO,IAAUz1C,aAEnFi4T,EAAQrB,UAA4B,QAAjB,EAAO,OAAPiB,QAAO,IAAPA,OAAO,EAAPA,EAASt+E,cAAQ,eAAAm/E,MAAO,IAAU14T,aACrDi4T,EAAQjuT,MAAwB,QAAjB,EAAO,OAAP6tT,QAAO,IAAPA,OAAO,EAAPA,EAASt+E,cAAQ,eAAAvvO,OAAQ,IAAUhK,aAClDi4T,EAAQT,cAAuB,OAAPK,QAAA,IAAAA,OAAA,EAAAA,EAASt+E,QAGrC0+E,EAAQ5B,YAAchiB,EAEtB4jB,EAAQF,mBAAqBA,EAC7BE,EAAQD,YAAcA,EAOfC,GAQJ,EAAqB,sBAA5B,SACIU,EACAC,EACAC,EACAC,EACAjB,G,MAGMkB,GAA2B,QAAf,EAAO,OAAPlB,QAAO,IAAPA,OAAO,EAAPA,EAASt+E,cAAM,eAAE9jM,KAAMoiR,EAAQt+E,OAAO9jM,IAAM,IAAUz1C,aAGxE,GAAI44T,IAAa,IAAcH,MAAQG,IAAa,IAAcI,KAC9D,OAAOD,EAIX,GAAIJ,EACA,IACI,IAAMf,EAAa,YAAgBe,EAAkBG,GACrD,IAAK,IAAYzvP,QAAQuuP,EAAW9wO,OAAS,IAAYzd,QAAQuuP,EAAWptJ,MACxE,MAAO,GAAGotJ,EAAW9wO,IAAM,IAAWyjF,sBAAwBqtJ,EAAWptJ,KAE/E,MAAO7hK,IAKb,OADAkwT,EAAOI,QAAQ,8BACRF,GAOJ,EAAe,gBAAtB,SAAuBG,GAEnB,QAAKA,IAKDA,EAAOtuT,eAAe,kBACtBsuT,EAAOtuT,eAAe,gBACtBsuT,EAAOtuT,eAAe,UACtBsuT,EAAOtuT,eAAe,mBACtBsuT,EAAOtuT,eAAe,aACtBsuT,EAAOtuT,eAAe,mBAUvB,EAAAuuT,mBAAP,SAA0BC,EAA8BC,EAA8BC,GAClF,IAAKF,IAAaC,EACd,OAAO,EAGX,IAAIE,GAAc,EAClB,GAAID,EAAe,CACf,IAAME,EAAkBJ,EAAS5B,eAAiB,GAC5CiC,EAAkBJ,EAAS7B,eAAiB,GAGlD+B,EAAeC,EAAeE,MAAQD,EAAeC,KACpDF,EAAeG,QAAUF,EAAeE,MAG7C,OAAQP,EAAS/uJ,gBAAkBgvJ,EAAShvJ,eACvC+uJ,EAASvC,iBAAmBwC,EAASxC,gBACrCuC,EAASxC,WAAayC,EAASzC,UAC/BwC,EAAS1C,WAAa2C,EAAS3C,UAC/B0C,EAAS/C,cAAgBgD,EAAShD,aAClC+C,EAAS3B,kBAAoB4B,EAAS5B,iBACvC8B,GAEX,EAxRD,I,gBC7CA,IAAIK,EAAe57T,EAAQ,KACvBgT,EAAWhT,EAAQ,KAevBF,EAAOC,QALP,SAAmB2M,EAAQzF,GACzB,IAAIqC,EAAQ0J,EAAStG,EAAQzF,GAC7B,OAAO20T,EAAatyT,GAASA,OAAQkgC,I,gBCbvC,IAmBIqyR,EAnBkB77T,EAAQ,IAmBb87T,CAAgB,eAEjCh8T,EAAOC,QAAU87T,G,6BCrBF,SAASloM,EAAOl9G,GAC7B,OAAQA,EADV,mC,6BCAA,mJAASinE,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAASqsH,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAIne,SAASL,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAASusI,EAAe53F,EAAKp4C,GAAK,OAUlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAVtB63F,CAAgB73F,IAQzD,SAA+BA,EAAKp4C,GAAK,GAAsB,qBAAX0D,UAA4BA,OAAOC,YAAYrD,OAAO83C,IAAO,OAAQ,IAAI83F,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWjsI,OAAK4+B,EAAW,IAAM,IAAK,IAAiCstG,EAA7B3qF,EAAKtN,EAAI10C,OAAOC,cAAmBwsI,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAAtL,QAAuM,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EARjaI,CAAsBl4F,EAAKp4C,IAI5F,SAAqCyD,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJpTC,CAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAMzI,SAAS7C,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAMhL,SAAS6kF,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAS3M,IAAImyR,EAAkB,6BAElBC,EAAsB,SAA6Bx1T,GACrD,IACE,IAAIqqG,EAAQ,GAiBZ,OAfK0pC,IAAO/zI,EAAM4V,YAEdy0F,EADErqG,EAAM+lL,SACA/lL,EAAM4V,SAASpG,WAAWG,MAAM,IAEhC3P,EAAM4V,SAASpG,WAAWG,MAAM4lT,IAWrC,CACLE,uBAR2BprN,EAAMx/E,KAAI,SAAU6qS,GAC/C,MAAO,CACLA,KAAMA,EACN1rT,MAAOs5K,YAAcoyI,EAAM11T,EAAM8V,OAAO9L,UAM1C2rT,WAHe31T,EAAM+lL,SAAW,EAAIzC,YAAc,OAAQtjL,EAAM8V,OAAO9L,OAKzE,MAAO7F,GACP,OAAO,OA+FPyxT,EAA2B,SAAkChgT,GAE/D,MAAO,CAAC,CACNy0F,MAFW0pC,IAAOn+H,GAAyD,GAA7CA,EAASpG,WAAWG,MAAM4lT,MAMxDM,EAAkB,SAAyB71T,EAAO81T,GAEpD,IAAK91T,EAAMgK,OAAShK,EAAM+1T,cAAgBxyI,IAAOC,OAG3CsyI,EAAe,CACjB,IAAIE,EAAaR,EAAoBx1T,GAErC,OAAIg2T,EA1GkB,SAA+Bh2T,EAAOi2T,EAA8BN,EAAY99S,EAAWk+S,GACrH,IAAIG,EAAmB9rM,YAASpqH,EAAMm2T,UAClC9+S,EAAOrX,EAAM4V,SAEbwgT,EAAY,WACd,IAAI/rN,EAAQ9mG,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAChF,OAAO8mG,EAAMl4B,QAAO,SAAUlvE,EAAQitH,GACpC,IAAIwlM,EAAOxlM,EAAKwlM,KACZ1rT,EAAQkmH,EAAKlmH,MACbqsT,EAAcpzT,EAAOA,EAAO/C,OAAS,GAEzC,GAAIm2T,IAA6B,MAAbx+S,GAAqBk+S,GAAcM,EAAYrsT,MAAQA,EAAQ2rT,EAAa99S,GAE9Fw+S,EAAYhsN,MAAMngG,KAAKwrT,GACvBW,EAAYrsT,OAASA,EAAQ2rT,MACxB,CAEL,IAAIh5M,EAAU,CACZtS,MAAO,CAACqrN,GACR1rT,MAAOA,GAET/G,EAAOiH,KAAKyyG,GAGd,OAAO15G,IACN,KAGDqzT,EAAiBF,EAAUH,GAQ/B,IAAKC,EACH,OAAOI,EAoBT,IAjBA,IAeIC,EAbAC,EAAgB,SAAuBjyR,GACzC,IAAIkyR,EAAWp/S,EAAK+9B,MAAM,EAAG7Q,GACzB8lE,EAAQmrN,EAAoBtpL,EAAcA,EAAc,GAAIlsI,GAAQ,GAAI,CAC1E4V,SAAU6gT,EALD,YAMPhB,uBACAxyT,EAASmzT,EAAU/rN,GAEvB,MAAO,CADYpnG,EAAO/C,OAASF,EAAMm2T,UAlBrB,SAAyB9rN,GAC7C,OAAOA,EAAMl4B,QAAO,SAAUpiE,EAAGzC,GAC/B,OAAOyC,EAAE/F,MAAQsD,EAAEtD,MAAQ+F,EAAIzC,KAgBoBopT,CAAgBzzT,GAAQ+G,MAAQ6N,EAC/D5U,IAGpBiY,EAAQ,EACRw7B,EAAMr/B,EAAKnX,OAAS,EACpBy2T,EAAa,EAGVz7S,GAASw7B,GAAOigR,GAAct/S,EAAKnX,OAAS,GAAG,CACpD,IAAIwxI,EAASnnI,KAAK0W,OAAO/F,EAAQw7B,GAAO,GAIpCkgR,EAAkB3mL,EADDumL,EAFV9kL,EAAS,GAGiC,GACjDmlL,EAAmBD,EAAgB,GACnC3zT,EAAS2zT,EAAgB,GAIzBE,EADkB7mL,EADAumL,EAAc9kL,GACkB,GACb,GAUzC,GARKmlL,GAAqBC,IACxB57S,EAAQw2H,EAAS,GAGfmlL,GAAoBC,IACtBpgR,EAAMg7F,EAAS,IAGZmlL,GAAoBC,EAAoB,CAC3CP,EAAgBtzT,EAChB,MAGF0zT,IAKF,OAAOJ,GAAiBD,EA2BbS,CAAsB/2T,EARjBg2T,EAAWP,uBACZO,EAAWL,WAOkD31T,EAAMgK,MAAOhK,EAAM+1T,YAHlFH,EAAyB51T,EAAM4V,UAO5C,OAAOggT,EAAyB51T,EAAM4V,WAG7B+5B,EAAoB,SAAUovF,IA/LzC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAgMjXF,CAAUktC,EAAMovF,GAEhB,IApMoBn/H,EAAae,EAAYC,EAoMzCypD,EAAStnD,EAAa4sC,GAE1B,SAASA,IACP,IAAIgJ,EAEJj5C,EAAgB0D,KAAMusC,GAEtB,IAAK,IAAIiW,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GAKzB,OAFApa,EAAQ0R,EAAOjlD,KAAK5B,MAAM6mD,EAAQ,CAACjnD,MAAMwoB,OAAOk7B,KAC1CqhB,MAAQ,GACPxvB,EA+FT,OAhToB/4C,EAoNP+vC,EApNgC/uC,EA8RzC,CAAC,CACHH,IAAK,2BACLqC,MAAO,SAAkC0/I,EAAW2mB,GAClD,GAAI3mB,EAAUx4I,QAAUm/J,EAAU6tJ,WAAax0K,EAAUuzK,aAAe5sJ,EAAU8tJ,gBAAkBz0K,EAAU5sI,WAAauzJ,EAAU9mB,cAAgBG,EAAU1sI,QAAUqzJ,EAAU+tJ,WAAa10K,EAAUujC,WAAa5c,EAAUguJ,aAAc,CAC7O,IAAIrB,EAAgBtzK,EAAU5sI,WAAauzJ,EAAU9mB,cAAgBG,EAAU1sI,QAAUqzJ,EAAU+tJ,WAAa10K,EAAUujC,WAAa5c,EAAUguJ,aACjJ,MAAO,CACLH,UAAWx0K,EAAUx4I,MACrBitT,eAAgBz0K,EAAUuzK,WAC1B1zK,aAAcG,EAAU5sI,SACxBshT,UAAW10K,EAAU1sI,MACrBshT,aAAcvB,EAAgBrzK,EAAWszK,IAI7C,OAAO,SA5SsBn1T,EAoNd,CAAC,CAClBF,IAAK,SACLqC,MAAO,WACL,IAAI41J,EAAct1J,KAAKpD,MACnB+H,EAAK2wJ,EAAY3wJ,GACjBC,EAAK0wJ,EAAY1wJ,GACjB2a,EAAa+1I,EAAY/1I,WACzBoiK,EAAiBrsB,EAAYqsB,eAC7BgxI,EAAar9J,EAAYq9J,WACzB1iT,EAAQqlJ,EAAYrlJ,MACpB64L,EAAaxzC,EAAYwzC,WACzB88B,EAAYtwE,EAAYswE,UACxBjhN,EAAY2wI,EAAY3wI,UACxBg+J,EAAWrtB,EAAYqtB,SACvBsxI,EAAYznM,EAAyB8oC,EAAa,CAAC,KAAM,KAAM,aAAc,iBAAkB,aAAc,QAAS,aAAc,YAAa,YAAa,aAE9J0+J,EAAeh0T,KAAK+kE,MAAMivP,aAE9B,IAAK7sM,YAAW8sM,EAAUpnT,KAAOs6G,YAAW8sM,EAAUnnT,GACpD,OAAO,KAGT,IAEIonT,EAFArnT,EAAIonT,EAAUpnT,GAAKm6G,YAASriH,GAAMA,EAAK,GACvCmI,EAAImnT,EAAUnnT,GAAKk6G,YAASpiH,GAAMA,EAAK,GAG3C,OAAQ+8K,GACN,IAAK,QACHuyI,EAAUC,IAAc,QAAQ3rS,OAAOo9M,EAAW,MAClD,MAEF,IAAK,SACHsuF,EAAUC,IAAc,QAAQ3rS,QAAQwrS,EAAal3T,OAAS,GAAK,EAAG,QAAQ0rB,OAAOsgL,EAAY,QAAQtgL,OAAOo9M,EAAW,WAC3H,MAEF,QACEsuF,EAAUC,IAAc,QAAQ3rS,OAAOwrS,EAAal3T,OAAS,EAAG,QAAQ0rB,OAAOsgL,EAAY,MAI/F,IAAI/3L,EAAa,GAEjB,GAAI4hT,EAAY,CACd,IAAIl+S,EAAYu/S,EAAa,GAAGptT,MAC5BA,EAAQ5G,KAAKpD,MAAMgK,MACvBmK,EAAWjK,KAAK,SAAS0hB,QAAQw+F,YAASpgH,GAASA,EAAQ6N,EAAY,GAAKA,EAAW,MAWzF,OARIxE,GACFc,EAAWjK,KAAK,UAAU0hB,OAAOvY,EAAO,MAAMuY,OAAO3b,EAAG,MAAM2b,OAAO1b,EAAG,MAGtEiE,EAAWjU,SACbm3T,EAAUzjT,UAAYO,EAAW1E,KAAK,MAGpB+jH,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI60G,YAAY23K,GAAW,GAAO,CACzFpnT,EAAGA,EACHC,EAAGA,EACH6X,UAAW2mG,IAAW,gBAAiB3mG,GACvCpF,WAAYA,EACZ5J,KAAMs+S,EAAUt+S,KAAKuoH,SAAS,OAAS3xF,EAAKqwF,aAAajnH,KAAOs+S,EAAUt+S,OACxEq+S,EAAavsS,KAAI,SAAUtQ,EAAMgqB,GACnC,OAGEivF,IAAMx1G,cAAc,QAAS,CAC3B/N,EAAGA,EACHjI,GAAc,IAAVu8B,EAAc+yR,EAAUprH,EAC5BzrM,IAAK8jC,GACJhqB,EAAK8vF,MAAM56F,KAAKs2K,EAAW,GAAK,eA1RiCjmL,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAgT3K+uC,EA/GsB,CAgH7BuwF,aACFvwF,EAAKqwF,aAAe,CAClB/vH,EAAG,EACHC,EAAG,EACHg8L,WAAY,MACZ88B,UAAW,SAEX+sF,YAAY,EACZpzS,WAAY,QACZoiK,eAAgB,MAEhBhsK,KAAM,Y,6BCxURzf,EAAOC,QAAUC,EAAQ,M,6BCFV,SAAS09E,EAAQ9zC,GAG9B,OAAO8zC,EAAU,mBAAqBvzE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUw/B,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBz/B,QAAUy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAC/GA,GCPE,SAASgsB,EAAgBhsB,EAAK3iC,EAAKqC,GAYhD,OAXIrC,KAAO2iC,EACT7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAC9BqC,MAAOA,EACP1C,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ8iC,EAAI3iC,GAAOqC,EAGNsgC,ECXM,SAAS8oG,EAAcnsI,GACpC,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CACzC,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAaM,OAAOgD,UAAUtD,IAAM,GACvDk9H,EAAU58H,OAAO23B,KAAKxM,GAEkB,oBAAjCnrB,OAAOq6B,uBAChBuiG,EAAQjzH,KAAK1G,MAAM25H,EAAS58H,OAAOq6B,sBAAsBlP,GAAQrV,QAAO,SAAUinH,GAChF,OAAO/8H,OAAOg9H,yBAAyB7xG,EAAQ4xG,GAAKl9H,eAIxD+8H,EAAQhlG,SAAQ,SAAU13B,GACxB,EAAeV,EAAQU,EAAKirB,EAAOjrB,OAIvC,OAAOV,E,4BCfM,SAAS4+H,EAA2Bv6G,EAAMhf,GACvD,GAAIA,IAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIvF,UAAU,4DAGtB,OAAO,OAAA23T,EAAA,GAAsBpzS,GCThB,SAASs6G,EAAgBh7H,GAItC,OAHAg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAe74H,OAAS,SAAyBvC,GAChG,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAEvBA,G,aCHV,SAASjB,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI9C,UAAU,sDAGtB6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CACrEgC,YAAa,CACXC,MAAOJ,EACPpC,UAAU,EACVD,cAAc,KAGlBE,OAAOC,eAAekC,EAAU,YAAa,CAC3CpC,UAAU,IAERqC,GAAY,OAAAy3H,EAAA,GAAe13H,EAAUC,GCP3C,IAAI80T,EAAgB,CAClBpjT,KAAM,SACNrL,IAAK,SAAa89C,GAChB1jD,KAAK4iH,OAAO,MAAOl/D,IAErBrc,KAAM,SAAcqc,GAClB1jD,KAAK4iH,OAAO,OAAQl/D,IAEtBvwB,MAAO,SAAeuwB,GACpB1jD,KAAK4iH,OAAO,QAASl/D,IAEvBk/D,OAAQ,SAAgB3xG,EAAMyyC,GACxB59C,SAAWA,QAAQmL,IAAOnL,QAAQmL,GAAM7Q,MAAM0F,QAAS49C,KAkF3D4wQ,EAAa,IA9EJ,WACX,SAASC,EAAOC,GACd,IAAIj2R,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAElF7D,YAAgB0D,KAAMu0T,GAEtBv0T,KAAK+F,KAAKyuT,EAAgBj2R,GAqE5B,OAlEAjhC,YAAai3T,EAAQ,CAAC,CACpBl3T,IAAK,OACLqC,MAAO,SAAc80T,GACnB,IAAIj2R,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAClFH,KAAK2lC,OAASpH,EAAQoH,QAAU,WAChC3lC,KAAKixT,OAASuD,GAAkBH,EAChCr0T,KAAKu+B,QAAUA,EACfv+B,KAAKwxD,MAAQjzB,EAAQizB,QAEtB,CACDn0D,IAAK,WACLqC,MAAO,SAAkBoqH,GACvB9pH,KAAKwxD,MAAQs4D,IAEd,CACDzsH,IAAK,MACLqC,MAAO,WACL,IAAK,IAAI8iD,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GAGzB,OAAO3vD,KAAKy0T,QAAQ/wQ,EAAM,MAAO,IAAI,KAEtC,CACDrmD,IAAK,OACLqC,MAAO,WACL,IAAK,IAAIolI,EAAQ3kI,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAMqkI,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFrhF,EAAKqhF,GAAS5kI,UAAU4kI,GAG1B,OAAO/kI,KAAKy0T,QAAQ/wQ,EAAM,OAAQ,IAAI,KAEvC,CACDrmD,IAAK,QACLqC,MAAO,WACL,IAAK,IAAIgsI,EAAQvrI,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAMirI,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFjoF,EAAKioF,GAASxrI,UAAUwrI,GAG1B,OAAO3rI,KAAKy0T,QAAQ/wQ,EAAM,QAAS,MAEpC,CACDrmD,IAAK,YACLqC,MAAO,WACL,IAAK,IAAIwsI,EAAQ/rI,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAMyrI,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFzoF,EAAKyoF,GAAShsI,UAAUgsI,GAG1B,OAAOnsI,KAAKy0T,QAAQ/wQ,EAAM,OAAQ,wBAAwB,KAE3D,CACDrmD,IAAK,UACLqC,MAAO,SAAiBgkD,EAAMgxQ,EAAK/uR,EAAQgvR,GACzC,OAAIA,IAAc30T,KAAKwxD,MAAc,MACd,kBAAZ9N,EAAK,KAAiBA,EAAK,GAAK,GAAGl7B,OAAOmd,GAAQnd,OAAOxoB,KAAK2lC,OAAQ,KAAKnd,OAAOk7B,EAAK,KAC3F1jD,KAAKixT,OAAOyD,GAAKhxQ,MAEzB,CACDrmD,IAAK,SACLqC,MAAO,SAAgBk1T,GACrB,OAAO,IAAIL,EAAOv0T,KAAKixT,OAAQnoL,EAAc,GAAI,CAC/CnjG,OAAQ,GAAGnd,OAAOxoB,KAAK2lC,OAAQ,KAAKnd,OAAOosS,EAAY,MACtD50T,KAAKu+B,cAILg2R,EA3EI,IAgFTzxJ,EAAe,WACjB,SAASA,IACPxmK,YAAgB0D,KAAM8iK,GAEtB9iK,KAAK60T,UAAY,GAqDnB,OAlDAv3T,YAAawlK,EAAc,CAAC,CAC1BzlK,IAAK,KACLqC,MAAO,SAAY+mB,EAAQk+C,GACzB,IAAIpvB,EAAQv1C,KAOZ,OALAymB,EAAOla,MAAM,KAAKwoB,SAAQ,SAAUzP,GAClCiwB,EAAMs/Q,UAAUvvS,GAASiwB,EAAMs/Q,UAAUvvS,IAAU,GAEnDiwB,EAAMs/Q,UAAUvvS,GAAOxe,KAAK69D,MAEvB3kE,OAER,CACD3C,IAAK,MACLqC,MAAO,SAAa4lB,EAAOq/C,GACpB3kE,KAAK60T,UAAUvvS,KAEfq/C,EAKL3kE,KAAK60T,UAAUvvS,GAAStlB,KAAK60T,UAAUvvS,GAAOrS,QAAO,SAAUlR,GAC7D,OAAOA,IAAM4iE,YALN3kE,KAAK60T,UAAUvvS,MAQzB,CACDjoB,IAAK,OACLqC,MAAO,SAAc4lB,GACnB,IAAK,IAAIk9B,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,EAAO,EAAIA,EAAO,EAAI,GAAImN,EAAO,EAAGA,EAAOnN,EAAMmN,IAClGjM,EAAKiM,EAAO,GAAKxvD,UAAUwvD,GAG7B,GAAI3vD,KAAK60T,UAAUvvS,GAAQ,CACzB,IAAIwvS,EAAS,GAAGtsS,OAAOxoB,KAAK60T,UAAUvvS,IACtCwvS,EAAO//R,SAAQ,SAAUggS,GACvBA,EAAS30T,WAAM,EAAQsjD,MAI3B,GAAI1jD,KAAK60T,UAAU,KAAM,CACvB,IAAIG,EAAU,GAAGxsS,OAAOxoB,KAAK60T,UAAU,MAEvCG,EAAQjgS,SAAQ,SAAUggS,GACxBA,EAAS30T,MAAM20T,EAAU,CAACzvS,GAAOkD,OAAOk7B,YAMzCo/G,EAzDU,GA4DnB,SAASmyJ,IACP,IAAIlpL,EACAmpL,EACAr+R,EAAU,IAAIC,SAAQ,SAAUw8F,EAASC,GAC3CwY,EAAMzY,EACN4hM,EAAM3hM,KAIR,OAFA18F,EAAQy8F,QAAUyY,EAClBl1G,EAAQ08F,OAAS2hM,EACVr+R,EAET,SAASwuL,EAAWviN,GAClB,OAAc,MAAVA,EAAuB,GACpB,GAAKA,EAEd,SAASuhC,EAAK13B,EAAG/L,EAAG6B,GAClBkK,EAAEooB,SAAQ,SAAU9yB,GACdrB,EAAEqB,KAAIQ,EAAER,GAAKrB,EAAEqB,OAIvB,SAASkzT,EAAcryT,EAAQyK,EAAM6nT,GACnC,SAASC,EAASh4T,GAChB,OAAOA,GAAOA,EAAIgN,QAAQ,QAAU,EAAIhN,EAAIoK,QAAQ,OAAQ,KAAOpK,EAGrE,SAASi4T,IACP,OAAQxyT,GAA4B,kBAAXA,EAK3B,IAFA,IAAIg6B,EAAwB,kBAATvvB,EAAoB,GAAGib,OAAOjb,GAAQA,EAAKhB,MAAM,KAE7DuwB,EAAMhgC,OAAS,GAAG,CACvB,GAAIw4T,IAAwB,MAAO,GACnC,IAAIj4T,EAAMg4T,EAASv4R,EAAM83C,UACpB9xE,EAAOzF,IAAQ+3T,IAAOtyT,EAAOzF,GAAO,IAAI+3T,GAG3CtyT,EADE3F,OAAOM,UAAUuF,eAAehB,KAAKc,EAAQzF,GACtCyF,EAAOzF,GAEP,GAIb,OAAIi4T,IAA+B,GAC5B,CACLt1R,IAAKl9B,EACL8e,EAAGyzS,EAASv4R,EAAM83C,UAItB,SAAS8rB,EAAQ59F,EAAQyK,EAAMzD,GAC7B,IAAIyrT,EAAiBJ,EAAcryT,EAAQyK,EAAMpQ,QACvCo4T,EAAev1R,IACjBu1R,EAAe3zS,GAEd9X,EAWX,SAAS62F,EAAQ79F,EAAQyK,GACvB,IAAIioT,EAAkBL,EAAcryT,EAAQyK,GACxCyyB,EAAMw1R,EAAgBx1R,IACtBpe,EAAI4zS,EAAgB5zS,EAExB,GAAKoe,EACL,OAAOA,EAAIpe,GAEb,SAAS6zS,EAAoBzkT,EAAM0kT,EAAar4T,GAC9C,IAAIqC,EAAQihG,EAAQ3vF,EAAM3T,GAE1B,YAAcuiC,IAAVlgC,EACKA,EAGFihG,EAAQ+0N,EAAar4T,GAE9B,SAASs4T,EAAWh5T,EAAQ2rB,EAAQstS,GAClC,IAAK,IAAIpwT,KAAQ8iB,EACF,cAAT9iB,GAAiC,gBAATA,IACtBA,KAAQ7I,EACkB,kBAAjBA,EAAO6I,IAAsB7I,EAAO6I,aAAiBmyB,QAAkC,kBAAjBrP,EAAO9iB,IAAsB8iB,EAAO9iB,aAAiBmyB,OAChIi+R,IAAWj5T,EAAO6I,GAAQ8iB,EAAO9iB,IAErCmwT,EAAWh5T,EAAO6I,GAAO8iB,EAAO9iB,GAAOowT,GAGzCj5T,EAAO6I,GAAQ8iB,EAAO9iB,IAK5B,OAAO7I,EAET,SAASk5T,EAAYnyM,GACnB,OAAOA,EAAIj8G,QAAQ,sCAAuC,QAE5D,IAAIquT,EAAa,CACf,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,QACL,IAAK,UAEP,SAASC,EAAO/kT,GACd,MAAoB,kBAATA,EACFA,EAAKvJ,QAAQ,cAAc,SAAU7G,GAC1C,OAAOk1T,EAAWl1T,MAIfoQ,EAET,IAAIglT,EAA2B,qBAAXt0T,QAA0BA,OAAOooF,WAAapoF,OAAOooF,UAAU6nE,WAAajwJ,OAAOooF,UAAU6nE,UAAUtnJ,QAAQ,SAAW,EAE1I4rT,EAAgB,SAAUC,GAG5B,SAASD,EAAcjlT,GACrB,IAAIukC,EAEAhX,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,CAChFyC,GAAI,CAAC,eACLuzT,UAAW,eAkBb,OAfA75T,YAAgB0D,KAAMi2T,GAEtB1gR,EAAQgmF,EAA2Bv7H,KAAMs7H,EAAgB26L,GAAej0T,KAAKhC,OAEzEg2T,GACFlzJ,EAAa9gK,KAAKy5H,YAAuBlmF,IAG3CA,EAAMvkC,KAAOA,GAAQ,GACrBukC,EAAMhX,QAAUA,OAEmBqB,IAA/B2V,EAAMhX,QAAQ63R,eAChB7gR,EAAMhX,QAAQ63R,aAAe,KAGxB7gR,EAmIT,OA5JAl2C,EAAU42T,EAAeC,GA4BzB54T,YAAa24T,EAAe,CAAC,CAC3B54T,IAAK,gBACLqC,MAAO,SAAuBkD,GACxB5C,KAAKu+B,QAAQ37B,GAAGyH,QAAQzH,GAAM,GAChC5C,KAAKu+B,QAAQ37B,GAAGkE,KAAKlE,KAGxB,CACDvF,IAAK,mBACLqC,MAAO,SAA0BkD,GAC/B,IAAIu+B,EAAQnhC,KAAKu+B,QAAQ37B,GAAGyH,QAAQzH,GAEhCu+B,GAAS,GACXnhC,KAAKu+B,QAAQ37B,GAAG88B,OAAOyB,EAAO,KAGjC,CACD9jC,IAAK,cACLqC,MAAO,SAAqB22T,EAAKzzT,EAAIvF,GACnC,IAAIkhC,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9Ei2T,OAAwCx2R,IAAzBrB,EAAQ63R,aAA6B73R,EAAQ63R,aAAep2T,KAAKu+B,QAAQ63R,aACxF7oT,EAAO,CAAC8oT,EAAKzzT,GAQjB,OAPIvF,GAAsB,kBAARA,IAAkBkQ,EAAOA,EAAKib,OAAOnrB,IACnDA,GAAsB,kBAARA,IAAkBkQ,EAAOA,EAAKib,OAAO4tS,EAAe/4T,EAAIkP,MAAM6pT,GAAgB/4T,IAE5Fg5T,EAAIhsT,QAAQ,MAAQ,IACtBkD,EAAO8oT,EAAI9pT,MAAM,MAGZo0F,EAAQ3gG,KAAKgR,KAAMzD,KAE3B,CACDlQ,IAAK,cACLqC,MAAO,SAAqB22T,EAAKzzT,EAAIvF,EAAKqC,GACxC,IAAI6+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,CAChFm2T,QAAQ,GAENF,EAAep2T,KAAKu+B,QAAQ63R,kBACXx2R,IAAjBw2R,IAA4BA,EAAe,KAC/C,IAAI7oT,EAAO,CAAC8oT,EAAKzzT,GACbvF,IAAKkQ,EAAOA,EAAKib,OAAO4tS,EAAe/4T,EAAIkP,MAAM6pT,GAAgB/4T,IAEjEg5T,EAAIhsT,QAAQ,MAAQ,IAEtB3K,EAAQkD,EACRA,GAFA2K,EAAO8oT,EAAI9pT,MAAM,MAEP,IAGZvM,KAAKu2T,cAAc3zT,GACnB89F,EAAQ1gG,KAAKgR,KAAMzD,EAAM7N,GACpB6+B,EAAQ+3R,QAAQt2T,KAAKw2T,KAAK,QAASH,EAAKzzT,EAAIvF,EAAKqC,KAEvD,CACDrC,IAAK,eACLqC,MAAO,SAAsB22T,EAAKzzT,EAAI6zT,GACpC,IAAIl4R,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,CAChFm2T,QAAQ,GAGV,IAAK,IAAIr0T,KAAKw0T,EACgB,kBAAjBA,EAAUx0T,IAAqE,mBAAlD9E,OAAOM,UAAU2O,SAAShM,MAAMq2T,EAAUx0T,KAA0BjC,KAAK02T,YAAYL,EAAKzzT,EAAIX,EAAGw0T,EAAUx0T,GAAI,CACrJq0T,QAAQ,IAIP/3R,EAAQ+3R,QAAQt2T,KAAKw2T,KAAK,QAASH,EAAKzzT,EAAI6zT,KAElD,CACDp5T,IAAK,oBACLqC,MAAO,SAA2B22T,EAAKzzT,EAAI6zT,EAAWpnR,EAAMumR,GAC1D,IAAIr3R,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,CAChFm2T,QAAQ,GAEN/oT,EAAO,CAAC8oT,EAAKzzT,GAEbyzT,EAAIhsT,QAAQ,MAAQ,IAEtBglC,EAAOonR,EACPA,EAAY7zT,EACZA,GAHA2K,EAAO8oT,EAAI9pT,MAAM,MAGP,IAGZvM,KAAKu2T,cAAc3zT,GACnB,IAAI+zT,EAAOh2N,EAAQ3gG,KAAKgR,KAAMzD,IAAS,GAEnC8hC,EACFsmR,EAAWgB,EAAMF,EAAWb,GAE5Be,EAAO7tL,EAAc,GAAI6tL,EAAMF,GAGjC/1N,EAAQ1gG,KAAKgR,KAAMzD,EAAMopT,GACpBp4R,EAAQ+3R,QAAQt2T,KAAKw2T,KAAK,QAASH,EAAKzzT,EAAI6zT,KAElD,CACDp5T,IAAK,uBACLqC,MAAO,SAA8B22T,EAAKzzT,GACpC5C,KAAK42T,kBAAkBP,EAAKzzT,WACvB5C,KAAKgR,KAAKqlT,GAAKzzT,GAGxB5C,KAAK62T,iBAAiBj0T,GACtB5C,KAAKw2T,KAAK,UAAWH,EAAKzzT,KAE3B,CACDvF,IAAK,oBACLqC,MAAO,SAA2B22T,EAAKzzT,GACrC,YAAqCg9B,IAA9B5/B,KAAK82T,YAAYT,EAAKzzT,KAE9B,CACDvF,IAAK,oBACLqC,MAAO,SAA2B22T,EAAKzzT,GAErC,OADKA,IAAIA,EAAK5C,KAAKu+B,QAAQ43R,WACW,OAAlCn2T,KAAKu+B,QAAQw4R,iBAAkCjuL,EAAc,GAAI,GAAI9oI,KAAK82T,YAAYT,EAAKzzT,IACxF5C,KAAK82T,YAAYT,EAAKzzT,KAE9B,CACDvF,IAAK,oBACLqC,MAAO,SAA2B22T,GAChC,OAAOr2T,KAAKgR,KAAKqlT,KAElB,CACDh5T,IAAK,SACLqC,MAAO,WACL,OAAOM,KAAKgR,SAITilT,EA7JW,CA8JlBnzJ,GAEEk0J,EAAgB,CAClB1vL,WAAY,GACZ2vL,iBAAkB,SAA0B/gU,GAC1C8J,KAAKsnI,WAAWpxI,EAAOkM,MAAQlM,GAEjCm7D,OAAQ,SAAgBi2E,EAAY5nI,EAAOrC,EAAKkhC,EAAS24R,GACvD,IAAI3hR,EAAQv1C,KAKZ,OAHAsnI,EAAWvyG,SAAQ,SAAU5C,GACvBojB,EAAM+xF,WAAWn1G,KAAYzyB,EAAQ61C,EAAM+xF,WAAWn1G,GAAWF,QAAQvyB,EAAOrC,EAAKkhC,EAAS24R,OAE7Fx3T,IAIPy3T,EAAmB,GAEnBC,EAAa,SAAUlB,GAGzB,SAASkB,EAAWC,GAClB,IAAI9hR,EAEAhX,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAkBlF,OAhBA7D,YAAgB0D,KAAMo3T,GAEtB7hR,EAAQgmF,EAA2Bv7H,KAAMs7H,EAAgB87L,GAAYp1T,KAAKhC,OAEtEg2T,GACFlzJ,EAAa9gK,KAAKy5H,YAAuBlmF,IAG3ClR,EAAK,CAAC,gBAAiB,gBAAiB,iBAAkB,eAAgB,mBAAoB,aAAc,SAAUgzR,EAAU57L,YAAuBlmF,IACvJA,EAAMhX,QAAUA,OAEmBqB,IAA/B2V,EAAMhX,QAAQ63R,eAChB7gR,EAAMhX,QAAQ63R,aAAe,KAG/B7gR,EAAM07Q,OAASqD,EAAW90T,OAAO,cAC1B+1C,EAqVT,OA5WAl2C,EAAU+3T,EAAYlB,GA0BtB54T,YAAa85T,EAAY,CAAC,CACxB/5T,IAAK,iBACLqC,MAAO,SAAwB22T,GACzBA,IAAKr2T,KAAKgrO,SAAWqrF,KAE1B,CACDh5T,IAAK,SACLqC,MAAO,SAAgBrC,GACrB,IAAIkhC,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,CAChFm3T,cAAe,IAEbC,EAAWv3T,KAAKszH,QAAQj2H,EAAKkhC,GACjC,OAAOg5R,QAA6B33R,IAAjB23R,EAASxrL,MAE7B,CACD1uI,IAAK,iBACLqC,MAAO,SAAwBrC,EAAKkhC,GAClC,IAAIi5R,OAAsC53R,IAAxBrB,EAAQi5R,YAA4Bj5R,EAAQi5R,YAAcx3T,KAAKu+B,QAAQi5R,iBACrE53R,IAAhB43R,IAA2BA,EAAc,KAC7C,IAAIpB,OAAwCx2R,IAAzBrB,EAAQ63R,aAA6B73R,EAAQ63R,aAAep2T,KAAKu+B,QAAQ63R,aACxFv0O,EAAatjD,EAAQ37B,IAAM5C,KAAKu+B,QAAQ43R,UAE5C,GAAIqB,GAAen6T,EAAIgN,QAAQmtT,IAAgB,EAAG,CAChD,IAAIv1T,EAAI5E,EAAImM,MAAMxJ,KAAKggJ,aAAay3K,eAEpC,GAAIx1T,GAAKA,EAAEnF,OAAS,EAClB,MAAO,CACLO,IAAKA,EACLwkF,WAAYA,GAIhB,IAAInjD,EAAQrhC,EAAIkP,MAAMirT,IAClBA,IAAgBpB,GAAgBoB,IAAgBpB,GAAgBp2T,KAAKu+B,QAAQ37B,GAAGyH,QAAQq0B,EAAM,KAAO,KAAGmjD,EAAanjD,EAAMk2C,SAC/Hv3E,EAAMqhC,EAAMryB,KAAK+pT,GAInB,MAD0B,kBAAfv0O,IAAyBA,EAAa,CAACA,IAC3C,CACLxkF,IAAKA,EACLwkF,WAAYA,KAGf,CACDxkF,IAAK,YACLqC,MAAO,SAAmBo1B,EAAMyJ,EAASm5R,GACvC,IAAIr7Q,EAASr8C,KAOb,GALyB,WAArB8zE,EAAQv1C,IAAyBv+B,KAAKu+B,QAAQo5R,mCAChDp5R,EAAUv+B,KAAKu+B,QAAQo5R,iCAAiCx3T,YAGrDo+B,IAASA,EAAU,SACXqB,IAAT9K,GAA+B,OAATA,EAAe,MAAO,GAC3Cr0B,MAAMC,QAAQo0B,KAAOA,EAAO,CAAC6C,OAAO7C,KACzC,IAAIshS,OAAwCx2R,IAAzBrB,EAAQ63R,aAA6B73R,EAAQ63R,aAAep2T,KAAKu+B,QAAQ63R,aAExFwB,EAAuB53T,KAAK63T,eAAe/iS,EAAKA,EAAKh4B,OAAS,GAAIyhC,GAClElhC,EAAMu6T,EAAqBv6T,IAC3BwkF,EAAa+1O,EAAqB/1O,WAElCt0C,EAAYs0C,EAAWA,EAAW/kF,OAAS,GAC3Cu5T,EAAM93R,EAAQ83R,KAAOr2T,KAAKgrO,SAC1B8sF,EAA0Bv5R,EAAQu5R,yBAA2B93T,KAAKu+B,QAAQu5R,wBAE9E,GAAIzB,GAA6B,WAAtBA,EAAIx9S,cAA4B,CACzC,GAAIi/S,EAAyB,CAC3B,IAAIN,EAAcj5R,EAAQi5R,aAAex3T,KAAKu+B,QAAQi5R,YACtD,OAAOjqR,EAAYiqR,EAAcn6T,EAGnC,OAAOA,EAGT,IAAIk6T,EAAWv3T,KAAKszH,QAAQx+F,EAAMyJ,GAC9BwtG,EAAMwrL,GAAYA,EAASxrL,IAC3BgsL,EAAaR,GAAYA,EAASS,SAAW36T,EAC7C46T,EAAkBV,GAAYA,EAASW,cAAgB76T,EACvD86T,EAAUh7T,OAAOM,UAAU2O,SAAShM,MAAM2rI,GAC1CqsL,EAAW,CAAC,kBAAmB,oBAAqB,mBACpDC,OAAoCz4R,IAAvBrB,EAAQ85R,WAA2B95R,EAAQ85R,WAAar4T,KAAKu+B,QAAQ85R,WAClFC,GAA8Bt4T,KAAKu4T,YAAcv4T,KAAKu4T,WAAWC,eACjEA,EAAgC,kBAARzsL,GAAmC,mBAARA,GAAoC,kBAARA,EAEnF,GAAIusL,GAA8BvsL,GAAOysL,GAAkBJ,EAAS/tT,QAAQ8tT,GAAW,IAA6B,kBAAfE,GAAuC,mBAAZF,GAA+B,CAC7J,IAAK55R,EAAQk6R,gBAAkBz4T,KAAKu+B,QAAQk6R,cAE1C,OADAz4T,KAAKixT,OAAO5pR,KAAK,mEACVrnC,KAAKu+B,QAAQm6R,sBAAwB14T,KAAKu+B,QAAQm6R,sBAAsBX,EAAYhsL,EAAKxtG,GAAW,QAAQ/V,OAAOnrB,EAAK,MAAMmrB,OAAOxoB,KAAKgrO,SAAU,4CAG7J,GAAIorF,EAAc,CAChB,IAAIuC,EAA6B,mBAAZR,EACjB9zR,EAAOs0R,EAAiB,GAAK,GAC7BC,EAAcD,EAAiBV,EAAkBF,EAErD,IAAK,IAAI91T,KAAK8pI,EACZ,GAAI5uI,OAAOM,UAAUuF,eAAehB,KAAK+pI,EAAK9pI,GAAI,CAChD,IAAI42T,EAAU,GAAGrwS,OAAOowS,GAAapwS,OAAO4tS,GAAc5tS,OAAOvmB,GACjEoiC,EAAKpiC,GAAKjC,KAAK6P,UAAUgpT,EAAS/vL,EAAc,GAAIvqG,EAAS,CAC3D85R,YAAY,EACZz1T,GAAIi/E,KAEFx9C,EAAKpiC,KAAO42T,IAASx0R,EAAKpiC,GAAK8pI,EAAI9pI,IAI3C8pI,EAAM1nG,QAEH,GAAIi0R,GAAoD,kBAAfD,GAAuC,mBAAZF,GACzEpsL,EAAMA,EAAI1/H,KAAKgsT,MACNtsL,EAAM/rI,KAAK84T,kBAAkB/sL,EAAKj3G,EAAMyJ,EAASm5R,QACrD,CACL,IAAIqB,GAAc,EACdf,GAAU,EACVgB,OAAwCp5R,IAAlBrB,EAAQ6S,OAAgD,kBAAlB7S,EAAQ6S,MACpE6nR,EAAkB7B,EAAW6B,gBAAgB16R,GAC7C26R,EAAqBF,EAAsBh5T,KAAKm5T,eAAeC,UAAU/C,EAAK93R,EAAQ6S,OAAS,GAC/Fm2E,EAAehpF,EAAQ,eAAe/V,OAAO0wS,KAAwB36R,EAAQgpF,cAE5EvnH,KAAKq5T,cAActtL,IAAQktL,IAC9BF,GAAc,EACdhtL,EAAMxkB,GAGHvnH,KAAKq5T,cAActtL,KACtBisL,GAAU,EACVjsL,EAAM1uI,GAGR,IAAIi8T,EAAgBL,GAAmB1xM,IAAiBwkB,GAAO/rI,KAAKu+B,QAAQ+6R,cAE5E,GAAItB,GAAWe,GAAeO,EAAe,CAG3C,GAFAt5T,KAAKixT,OAAOrrT,IAAI0zT,EAAgB,YAAc,aAAcjD,EAAK9oR,EAAWlwC,EAAKi8T,EAAgB/xM,EAAewkB,GAE5GqqL,EAAc,CAChB,IAAImD,EAAKv5T,KAAKszH,QAAQj2H,EAAKyrI,EAAc,GAAIvqG,EAAS,CACpD63R,cAAc,KAEZmD,GAAMA,EAAGxtL,KAAK/rI,KAAKixT,OAAO5pR,KAAK,mLAGrC,IAAImyR,EAAO,GACPC,EAAez5T,KAAK05T,cAAcC,iBAAiB35T,KAAKu+B,QAAQq7R,YAAar7R,EAAQ83R,KAAOr2T,KAAKgrO,UAErG,GAAmC,aAA/BhrO,KAAKu+B,QAAQs7R,eAAgCJ,GAAgBA,EAAa,GAC5E,IAAK,IAAI58T,EAAI,EAAGA,EAAI48T,EAAa38T,OAAQD,IACvC28T,EAAK1yT,KAAK2yT,EAAa58T,QAEe,QAA/BmD,KAAKu+B,QAAQs7R,cACtBL,EAAOx5T,KAAK05T,cAAcI,mBAAmBv7R,EAAQ83R,KAAOr2T,KAAKgrO,UAEjEwuF,EAAK1yT,KAAKy3B,EAAQ83R,KAAOr2T,KAAKgrO,UAGhC,IAAI/iO,EAAO,SAAclG,EAAG6f,EAAGm4S,GACzB19Q,EAAO9d,QAAQy7R,kBACjB39Q,EAAO9d,QAAQy7R,kBAAkBj4T,EAAGwrC,EAAW3rB,EAAG03S,EAAgBS,EAAgBhuL,EAAKutL,EAAe/6R,GAC7F8d,EAAO49Q,kBAAoB59Q,EAAO49Q,iBAAiBC,aAC5D79Q,EAAO49Q,iBAAiBC,YAAYn4T,EAAGwrC,EAAW3rB,EAAG03S,EAAgBS,EAAgBhuL,EAAKutL,EAAe/6R,GAG3G8d,EAAOm6Q,KAAK,aAAcz0T,EAAGwrC,EAAW3rB,EAAGmqH,IAGzC/rI,KAAKu+B,QAAQ27R,cACXl6T,KAAKu+B,QAAQ47R,oBAAsBnB,EACrCQ,EAAKzkS,SAAQ,SAAUi2M,GACrB3uL,EAAO88Q,eAAeiB,YAAYpvF,GAAUj2M,SAAQ,SAAUslS,GAC5DpyT,EAAK,CAAC+iO,GAAW3tO,EAAMg9T,EAAQ97R,EAAQ,eAAe/V,OAAO6xS,KAAY9yM,SAI7Et/G,EAAKuxT,EAAMn8T,EAAKkqH,IAKtBwkB,EAAM/rI,KAAK84T,kBAAkB/sL,EAAKj3G,EAAMyJ,EAASg5R,EAAUG,GACvDM,GAAWjsL,IAAQ1uI,GAAO2C,KAAKu+B,QAAQ+7R,8BAA6BvuL,EAAM,GAAGvjH,OAAO+kB,EAAW,KAAK/kB,OAAOnrB,IAC3G26T,GAAWh4T,KAAKu+B,QAAQg8R,yBAAwBxuL,EAAM/rI,KAAKu+B,QAAQg8R,uBAAuBxuL,IAGhG,OAAOA,IAER,CACD1uI,IAAK,oBACLqC,MAAO,SAA2BqsI,EAAK1uI,EAAKkhC,EAASg5R,EAAUG,GAC7D,IAAI16Q,EAASh9C,KAEb,GAAIA,KAAKu4T,YAAcv4T,KAAKu4T,WAAWj0R,MACrCynG,EAAM/rI,KAAKu4T,WAAWj0R,MAAMynG,EAAKxtG,EAASg5R,EAASiD,QAASjD,EAASkD,OAAQlD,EAASS,QAAS,CAC7FT,SAAUA,SAEP,IAAKh5R,EAAQm8R,kBAAmB,CACjCn8R,EAAQ+4R,eAAet3T,KAAKggJ,aAAaj6I,KAAK+iI,EAAc,GAAIvqG,EAAS,CAC3E+4R,cAAexuL,EAAc,GAAI9oI,KAAKu+B,QAAQ+4R,cAAe/4R,EAAQ+4R,kBAEvE,IACIqD,EADAC,EAAkBr8R,EAAQ+4R,eAAiB/4R,EAAQ+4R,cAAcsD,iBAAmB56T,KAAKu+B,QAAQ+4R,cAAcsD,gBAGnH,GAAIA,EAAiB,CACnB,IAAItkG,EAAKvqF,EAAIviI,MAAMxJ,KAAKggJ,aAAay3K,eACrCkD,EAAUrkG,GAAMA,EAAGx5N,OAGrB,IAAIkU,EAAOutB,EAAQ92B,SAAsC,kBAApB82B,EAAQ92B,QAAuB82B,EAAQ92B,QAAU82B,EAItF,GAHIv+B,KAAKu+B,QAAQ+4R,cAAcuD,mBAAkB7pT,EAAO83H,EAAc,GAAI9oI,KAAKu+B,QAAQ+4R,cAAcuD,iBAAkB7pT,IACvH+6H,EAAM/rI,KAAKggJ,aAAa/nH,YAAY8zG,EAAK/6H,EAAMutB,EAAQ83R,KAAOr2T,KAAKgrO,SAAUzsM,GAEzEq8R,EAAiB,CACnB,IAAI1hG,EAAKntF,EAAIviI,MAAMxJ,KAAKggJ,aAAay3K,eAEjCkD,GADUzhG,GAAMA,EAAGp8N,UACAyhC,EAAQu8R,MAAO,IAGnB,IAAjBv8R,EAAQu8R,OAAgB/uL,EAAM/rI,KAAKggJ,aAAa86K,KAAK/uL,GAAK,WAC5D,IAAK,IAAIvpF,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GAGzB,OAAI+nQ,GAAWA,EAAQ,KAAOh0Q,EAAK,KAAOnlB,EAAQ+2B,SAChDtY,EAAOi0Q,OAAO5pR,KAAK,6CAA6C7e,OAAOk7B,EAAK,GAAI,aAAal7B,OAAOnrB,EAAI,KAEjG,MAGF2/C,EAAOntC,UAAUzP,MAAM48C,EAAQ0G,EAAKl7B,OAAO,CAACnrB,OAClDkhC,IACCA,EAAQ+4R,eAAet3T,KAAKggJ,aAAaroI,QAG/C,IAAI0xC,EAAc9qB,EAAQ8qB,aAAerpD,KAAKu+B,QAAQ8qB,YAClD0xQ,EAA4C,kBAAhB1xQ,EAA2B,CAACA,GAAeA,EAQ3E,YANYzpB,IAARmsG,GAA6B,OAARA,GAAgBgvL,GAAsBA,EAAmBj+T,SAAyC,IAA/ByhC,EAAQy8R,qBAClGjvL,EAAMirL,EAAc3lQ,OAAO0pQ,EAAoBhvL,EAAK1uI,EAAK2C,KAAKu+B,SAAWv+B,KAAKu+B,QAAQ08R,wBAA0BnyL,EAAc,CAC5HoyL,aAAc3D,GACbh5R,GAAWA,EAASv+B,OAGlB+rI,IAER,CACD1uI,IAAK,UACLqC,MAAO,SAAiBo1B,GACtB,IAGIqmS,EACAnD,EACAE,EACAsC,EACAC,EAPAv6Q,EAASlgD,KAETu+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAwDlF,MAlDoB,kBAAT20B,IAAmBA,EAAO,CAACA,IACtCA,EAAKC,SAAQ,SAAUnT,GACrB,IAAIs+B,EAAOm5Q,cAAc8B,GAAzB,CAEA,IAAIC,EAAYl7Q,EAAO23Q,eAAej2S,EAAG2c,GAErClhC,EAAM+9T,EAAU/9T,IACpB26T,EAAU36T,EACV,IAAIwkF,EAAau5O,EAAUv5O,WACvB3hC,EAAO3hB,QAAQ88R,aAAYx5O,EAAaA,EAAWr5D,OAAO03B,EAAO3hB,QAAQ88R,aAC7E,IAAIrC,OAAwCp5R,IAAlBrB,EAAQ6S,OAAgD,kBAAlB7S,EAAQ6S,MACpEkqR,OAA2C17R,IAApBrB,EAAQ+2B,SAAoD,kBAApB/2B,EAAQ+2B,SAA4C,KAApB/2B,EAAQ+2B,QACvGygO,EAAQx3P,EAAQi7R,KAAOj7R,EAAQi7R,KAAOt5Q,EAAOw5Q,cAAcI,mBAAmBv7R,EAAQ83R,KAAOn2Q,EAAO8qL,SAAUzsM,EAAQq7R,aAC1H/3O,EAAW9sD,SAAQ,SAAUnyB,GACvBs9C,EAAOm5Q,cAAc8B,KACzBV,EAAS73T,GAEJu0T,EAAiB,GAAG3uS,OAAOutQ,EAAM,GAAI,KAAKvtQ,OAAO5lB,KAAQs9C,EAAOi0L,OAASj0L,EAAOi0L,MAAMonF,qBAAuBr7Q,EAAOi0L,MAAMonF,mBAAmBd,KAChJtD,EAAiB,GAAG3uS,OAAOutQ,EAAM,GAAI,KAAKvtQ,OAAO5lB,KAAO,EAExDs9C,EAAO+wQ,OAAO5pR,KAAK,QAAS7e,OAAOwvS,EAAS,qBAAuBxvS,OAAOutQ,EAAM1pR,KAAK,MAAO,wCAAyCmc,OAAOiyS,EAAQ,wBAA0B,6NAGhL1kC,EAAMhhQ,SAAQ,SAAUwU,GACtB,IAAI2W,EAAOm5Q,cAAc8B,GAAzB,CACAX,EAAUjxR,EACV,IAMMiyR,EAOFC,EAbAC,EAAWr+T,EACXs+T,EAAY,CAACD,GAEjB,GAAIx7Q,EAAOq4Q,YAAcr4Q,EAAOq4Q,WAAWqD,cACzC17Q,EAAOq4Q,WAAWqD,cAAcD,EAAWt+T,EAAKksC,EAAM3mC,EAAI27B,QAGtDy6R,IAAqBwC,EAAet7Q,EAAOi5Q,eAAeC,UAAU7vR,EAAMhL,EAAQ6S,QAClF4nR,GAAuBsC,GAAsBK,EAAU70T,KAAK40T,EAAWF,GACvEF,GAAsBK,EAAU70T,KAAK40T,GAAY,GAAGlzS,OAAO03B,EAAO3hB,QAAQs9R,kBAAkBrzS,OAAO+V,EAAQ+2B,UAC3G0jQ,GAAqB2C,EAAU70T,KAAK40T,GAAYF,GAKtD,KAAOC,EAAcE,EAAU30T,OACxBk5C,EAAOm5Q,cAAc8B,KACxBjD,EAAeuD,EACfN,EAAQj7Q,EAAO42Q,YAAYvtR,EAAM3mC,EAAI64T,EAAal9R,gBAMrD,CACLwtG,IAAKovL,EACLnD,QAASA,EACTE,aAAcA,EACdsC,QAASA,EACTC,OAAQA,KAGX,CACDp9T,IAAK,gBACLqC,MAAO,SAAuBqsI,GAC5B,YAAensG,IAARmsG,MAAwB/rI,KAAKu+B,QAAQu9R,YAAsB,OAAR/vL,OAAoB/rI,KAAKu+B,QAAQw9R,mBAA6B,KAARhwL,KAEjH,CACD1uI,IAAK,cACLqC,MAAO,SAAqB6pC,EAAM3mC,EAAIvF,GACpC,IAAIkhC,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAClF,OAAIH,KAAKu4T,YAAcv4T,KAAKu4T,WAAWzB,YAAoB92T,KAAKu4T,WAAWzB,YAAYvtR,EAAM3mC,EAAIvF,EAAKkhC,GAC/Fv+B,KAAKg8T,cAAclF,YAAYvtR,EAAM3mC,EAAIvF,EAAKkhC,MAErD,CAAC,CACHlhC,IAAK,kBACLqC,MAAO,SAAyB6+B,GAG9B,IAAK,IAAI09R,KAAU19R,EACjB,GAAIphC,OAAOM,UAAUuF,eAAehB,KAAKu8B,EAAS09R,IAHvC,iBAG6DA,EAAO5qR,UAAU,EAH9E,eAGwFv0C,cAAW8iC,IAAcrB,EAAQ09R,GAClI,OAAO,EAIX,OAAO,MAIJ7E,EA7WQ,CA8Wft0J,GAEF,SAASo5J,EAAWlyM,GAClB,OAAOA,EAAOlhG,OAAO,GAAG28D,cAAgBukC,EAAOh4E,MAAM,GAGvD,IAAImqR,EAAe,WACjB,SAASA,EAAa59R,GACpBjiC,YAAgB0D,KAAMm8T,GAEtBn8T,KAAKu+B,QAAUA,EACfv+B,KAAK8hD,UAAY9hD,KAAKu+B,QAAQ69R,gBAAiB,EAC/Cp8T,KAAKo8T,cAAgBp8T,KAAKu+B,QAAQ69R,gBAAiB,EACnDp8T,KAAKixT,OAASqD,EAAW90T,OAAO,iBA8IlC,OA3IAlC,YAAa6+T,EAAc,CAAC,CAC1B9+T,IAAK,wBACLqC,MAAO,SAA+B6pC,GACpC,IAAKA,GAAQA,EAAKl/B,QAAQ,KAAO,EAAG,OAAO,KAC3C,IAAIpH,EAAIsmC,EAAKh9B,MAAM,KACnB,OAAiB,IAAbtJ,EAAEnG,OAAqB,MAC3BmG,EAAE+D,MACoC,MAAlC/D,EAAEA,EAAEnG,OAAS,GAAG+b,cAA8B,KAC3C7Y,KAAKq8T,mBAAmBp5T,EAAEoJ,KAAK,SAEvC,CACDhP,IAAK,0BACLqC,MAAO,SAAiC6pC,GACtC,IAAKA,GAAQA,EAAKl/B,QAAQ,KAAO,EAAG,OAAOk/B,EAC3C,IAAItmC,EAAIsmC,EAAKh9B,MAAM,KACnB,OAAOvM,KAAKq8T,mBAAmBp5T,EAAE,MAElC,CACD5F,IAAK,qBACLqC,MAAO,SAA4B6pC,GACjC,GAAoB,kBAATA,GAAqBA,EAAKl/B,QAAQ,MAAQ,EAAG,CACtD,IAAIiyT,EAAe,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAChEr5T,EAAIsmC,EAAKh9B,MAAM,KAkBnB,OAhBIvM,KAAKu+B,QAAQg+R,aACft5T,EAAIA,EAAEwkB,KAAI,SAAUqX,GAClB,OAAOA,EAAKjmB,iBAEQ,IAAb5V,EAAEnG,QACXmG,EAAE,GAAKA,EAAE,GAAG4V,cACZ5V,EAAE,GAAKA,EAAE,GAAGwiF,cACR62O,EAAajyT,QAAQpH,EAAE,GAAG4V,gBAAkB,IAAG5V,EAAE,GAAKi5T,EAAWj5T,EAAE,GAAG4V,iBACpD,IAAb5V,EAAEnG,SACXmG,EAAE,GAAKA,EAAE,GAAG4V,cACQ,IAAhB5V,EAAE,GAAGnG,SAAcmG,EAAE,GAAKA,EAAE,GAAGwiF,eACtB,QAATxiF,EAAE,IAAgC,IAAhBA,EAAE,GAAGnG,SAAcmG,EAAE,GAAKA,EAAE,GAAGwiF,eACjD62O,EAAajyT,QAAQpH,EAAE,GAAG4V,gBAAkB,IAAG5V,EAAE,GAAKi5T,EAAWj5T,EAAE,GAAG4V,gBACtEyjT,EAAajyT,QAAQpH,EAAE,GAAG4V,gBAAkB,IAAG5V,EAAE,GAAKi5T,EAAWj5T,EAAE,GAAG4V,iBAGrE5V,EAAEoJ,KAAK,KAGhB,OAAOrM,KAAKu+B,QAAQi+R,WAAax8T,KAAKu+B,QAAQg+R,aAAehzR,EAAK1wB,cAAgB0wB,IAEnF,CACDlsC,IAAK,gBACLqC,MAAO,SAAuB6pC,GAE5B,OADAvpC,KAAKixT,OAAO5S,UAAU,8BAA+B,kIAC9Cr+S,KAAKy8T,gBAAgBlzR,KAE7B,CACDlsC,IAAK,kBACLqC,MAAO,SAAyB6pC,GAK9B,OAJ0B,iBAAtBvpC,KAAKu+B,QAAQ3Z,MAA2B5kB,KAAKu+B,QAAQm+R,4BACvDnzR,EAAOvpC,KAAK28T,wBAAwBpzR,KAG9BvpC,KAAKo8T,gBAAkBp8T,KAAKo8T,cAAct/T,QAAUkD,KAAKo8T,cAAc/xT,QAAQk/B,IAAS,IAEjG,CACDlsC,IAAK,wBACLqC,MAAO,SAA+Bq2R,GACpC,IAGIolC,EAHA5lR,EAAQv1C,KAEZ,OAAK+1R,GAELA,EAAMhhQ,SAAQ,SAAUwU,GACtB,IAAI4xR,EAAJ,CAEA,IAAIyB,EAAarnR,EAAM8mR,mBAAmB9yR,GAErCgM,EAAMhX,QAAQ69R,gBAAiB7mR,EAAMknR,gBAAgBG,KAAazB,EAAQyB,QAG5EzB,GAASn7T,KAAKu+B,QAAQ69R,eACzBrmC,EAAMhhQ,SAAQ,SAAUwU,GACtB,IAAI4xR,EAAJ,CAEA,IAAI0B,EAAUtnR,EAAMonR,wBAAwBpzR,GAE5C,GAAIgM,EAAMknR,gBAAgBI,GAAU,OAAO1B,EAAQ0B,EACnD1B,EAAQ5lR,EAAMhX,QAAQ69R,cAAc9uP,MAAK,SAAUwvP,GACjD,GAAsC,IAAlCA,EAAazyT,QAAQwyT,GAAgB,OAAOC,SAKjD3B,IAAOA,EAAQn7T,KAAK25T,iBAAiB35T,KAAKu+B,QAAQq7R,aAAa,IAC7DuB,GAxBY,OA0BpB,CACD99T,IAAK,mBACLqC,MAAO,SAA0Bq9T,EAAWxzR,GAC1C,IAAKwzR,EAAW,MAAO,GAGvB,GAFyB,oBAAdA,IAA0BA,EAAYA,EAAUxzR,IAClC,kBAAdwzR,IAAwBA,EAAY,CAACA,IACG,mBAA/C5/T,OAAOM,UAAU2O,SAAShM,MAAM28T,GAAiC,OAAOA,EAC5E,IAAKxzR,EAAM,OAAOwzR,EAAS,SAAe,GAC1C,IAAI5B,EAAQ4B,EAAUxzR,GAKtB,OAJK4xR,IAAOA,EAAQ4B,EAAU/8T,KAAKg9T,sBAAsBzzR,KACpD4xR,IAAOA,EAAQ4B,EAAU/8T,KAAKq8T,mBAAmB9yR,KACjD4xR,IAAOA,EAAQ4B,EAAU/8T,KAAK28T,wBAAwBpzR,KACtD4xR,IAAOA,EAAQ4B,EAAS,SACtB5B,GAAS,KAEjB,CACD99T,IAAK,qBACLqC,MAAO,SAA4B6pC,EAAM0zR,GACvC,IAAI5gR,EAASr8C,KAETk9T,EAAgBl9T,KAAK25T,iBAAiBsD,GAAgBj9T,KAAKu+B,QAAQq7R,aAAe,GAAIrwR,GACtFwsP,EAAQ,GAERonC,EAAU,SAAiBj7T,GACxBA,IAEDm6C,EAAOogR,gBAAgBv6T,GACzB6zR,EAAMjvR,KAAK5E,GAEXm6C,EAAO40Q,OAAO5pR,KAAK,uDAAuD7e,OAAOtmB,MAerF,MAXoB,kBAATqnC,GAAqBA,EAAKl/B,QAAQ,MAAQ,GACzB,iBAAtBrK,KAAKu+B,QAAQ3Z,MAAyBu4S,EAAQn9T,KAAKq8T,mBAAmB9yR,IAChD,iBAAtBvpC,KAAKu+B,QAAQ3Z,MAAiD,gBAAtB5kB,KAAKu+B,QAAQ3Z,MAAwBu4S,EAAQn9T,KAAKg9T,sBAAsBzzR,IAC1F,gBAAtBvpC,KAAKu+B,QAAQ3Z,MAAwBu4S,EAAQn9T,KAAK28T,wBAAwBpzR,KACrD,kBAATA,GAChB4zR,EAAQn9T,KAAKq8T,mBAAmB9yR,IAGlC2zR,EAAcnoS,SAAQ,SAAUk3L,GAC1B8pE,EAAM1rR,QAAQ4hN,GAAM,GAAGkxG,EAAQ9gR,EAAOggR,mBAAmBpwG,OAExD8pE,MAIJomC,EArJU,GAwJfiB,EAAO,CAAC,CACV5D,KAAM,CAAC,MAAO,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,MACjIpyH,GAAI,CAAC,EAAG,GACR6kB,GAAI,GACH,CACDutG,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,QAAS,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACnYpyH,GAAI,CAAC,EAAG,GACR6kB,GAAI,GACH,CACDutG,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC9IpyH,GAAI,CAAC,GACL6kB,GAAI,GACH,CACDutG,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAClDpyH,GAAI,CAAC,EAAG,EAAG,GACX6kB,GAAI,GACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,KACrB6kB,GAAI,GACH,CACDutG,KAAM,CAAC,KAAM,MACbpyH,GAAI,CAAC,EAAG,EAAG,GACX6kB,GAAI,GACH,CACDutG,KAAM,CAAC,MAAO,MACdpyH,GAAI,CAAC,EAAG,EAAG,GACX6kB,GAAI,GACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,EAAG,GACd6kB,GAAI,GACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,GACR6kB,GAAI,GACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IACjB6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,EAAG,IACd6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,GACR6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,GACR6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,EAAG,GACd6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,IACX6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,GACX6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,GACR6kB,GAAI,IACH,CACDutG,KAAM,CAAC,OACPpyH,GAAI,CAAC,EAAG,EAAG,GACX6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,GAAI,IACf6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,GACR6kB,GAAI,GACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,IACX6kB,GAAI,IACH,CACDutG,KAAM,CAAC,MACPpyH,GAAI,CAAC,EAAG,EAAG,EAAG,GACd6kB,GAAI,IACH,CACDutG,KAAM,CAAC,KAAM,MACbpyH,GAAI,CAAC,EAAG,EAAG,GAAI,IACf6kB,GAAI,KAEFoxG,EAAqB,CACvB9yH,EAAG,SAAW1pM,GACZ,OAAOgN,OAAOhN,EAAI,IAEpB4pM,EAAG,SAAW5pM,GACZ,OAAOgN,OAAY,GAALhN,IAEhB44P,EAAG,SAAW54P,GACZ,OAAO,GAETy8T,EAAG,SAAWz8T,GACZ,OAAOgN,OAAOhN,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAEvHylO,EAAG,SAAWzlO,GACZ,OAAOgN,OAAY,GAALhN,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,KAAO,GAAK,EAAI,IAE/G0lO,EAAG,SAAW1lO,GACZ,OAAOgN,OAAY,GAALhN,EAAS,EAAIA,GAAK,GAAKA,GAAK,EAAI,EAAI,IAEpD2lO,EAAG,SAAW3lO,GACZ,OAAOgN,OAAY,GAALhN,EAAS,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAEjG64P,EAAG,SAAW74P,GACZ,OAAOgN,OAAY,GAALhN,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,GAAe,IAALA,EAAU,EAAI,IAElE08T,EAAG,SAAW18T,GACZ,OAAOgN,OAAOhN,GAAK,IAErB28T,GAAI,SAAW38T,GACb,OAAOgN,OAAY,GAALhN,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,EAAI,EAAIA,EAAI,GAAK,EAAI,IAEnE48T,GAAI,SAAW58T,GACb,OAAOgN,OAAY,GAALhN,GAAe,IAALA,EAAU,EAAS,GAALA,GAAe,IAALA,EAAU,EAAIA,EAAI,GAAKA,EAAI,GAAK,EAAI,IAEtF68T,GAAI,SAAW78T,GACb,OAAOgN,OAAOhN,EAAI,IAAM,GAAKA,EAAI,KAAO,KAE1C88T,GAAI,SAAW98T,GACb,OAAOgN,OAAa,IAANhN,IAEhB84P,GAAI,SAAW94P,GACb,OAAOgN,OAAY,GAALhN,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAI,IAEvD+8T,GAAI,SAAW/8T,GACb,OAAOgN,OAAOhN,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAExGg9T,GAAI,SAAWh9T,GACb,OAAOgN,OAAOhN,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAU,IAANA,EAAU,EAAI,IAEjEi9T,GAAI,SAAWj9T,GACb,OAAOgN,OAAY,GAALhN,GAAUA,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAI,IAE7Dk9T,GAAI,SAAWl9T,GACb,OAAOgN,OAAY,GAALhN,EAAS,EAAS,GAALA,EAAS,EAAI,IAE1Cm9T,GAAI,SAAWn9T,GACb,OAAOgN,OAAY,GAALhN,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,GAAK,EAAI,IAE5Go9T,GAAI,SAAWp9T,GACb,OAAOgN,OAAY,GAALhN,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAI,IAEzEq9T,GAAI,SAAWr9T,GACb,OAAOgN,OAAOhN,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,EAAI,EAAI,IAEzFs9T,GAAI,SAAWt9T,GACb,OAAOgN,OAAY,GAALhN,EAAS,EAAS,GAALA,EAAS,GAAKA,EAAI,GAAKA,EAAI,KAAOA,EAAI,IAAM,EAAI,EAAI,KAInF,SAASu9T,IACP,IAAIC,EAAQ,GASZ,OARAjB,EAAKroS,SAAQ,SAAUvoB,GACrBA,EAAIgtT,KAAKzkS,SAAQ,SAAUhzB,GACzBs8T,EAAMt8T,GAAK,CACTu8T,QAAS9xT,EAAI46L,GACbm3H,QAASlB,EAAmB7wT,EAAIy/M,WAI/BoyG,EAGT,IAAIG,EAAiB,WACnB,SAASA,EAAe9E,GACtB,IAAIn7R,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAElF7D,YAAgB0D,KAAMw+T,GAEtBx+T,KAAK05T,cAAgBA,EACrB15T,KAAKu+B,QAAUA,EACfv+B,KAAKixT,OAASqD,EAAW90T,OAAO,kBAChCQ,KAAKq+T,MAAQD,IAkFf,OA/EA9gU,YAAakhU,EAAgB,CAAC,CAC5BnhU,IAAK,UACLqC,MAAO,SAAiB22T,EAAKr2R,GAC3BhgC,KAAKq+T,MAAMhI,GAAOr2R,IAEnB,CACD3iC,IAAK,UACLqC,MAAO,SAAiB6pC,GACtB,OAAOvpC,KAAKq+T,MAAM90R,IAASvpC,KAAKq+T,MAAMr+T,KAAK05T,cAAciD,wBAAwBpzR,MAElF,CACDlsC,IAAK,cACLqC,MAAO,SAAqB6pC,GAC1B,IAAIk1R,EAAOz+T,KAAK0+T,QAAQn1R,GACxB,OAAOk1R,GAAQA,EAAKH,QAAQxhU,OAAS,IAEtC,CACDO,IAAK,sBACLqC,MAAO,SAA6B6pC,EAAMlsC,GACxC,OAAO2C,KAAKo6T,YAAY7wR,GAAM9hB,KAAI,SAAU4yS,GAC1C,OAAOh9T,EAAMg9T,OAGhB,CACDh9T,IAAK,cACLqC,MAAO,SAAqB6pC,GAC1B,IAAIgM,EAAQv1C,KAERy+T,EAAOz+T,KAAK0+T,QAAQn1R,GAExB,OAAKk1R,EAIEA,EAAKH,QAAQ72S,KAAI,SAAUsiG,GAChC,OAAOx0E,EAAM6jR,UAAU7vR,EAAMwgF,MAJtB,KAOV,CACD1sH,IAAK,YACLqC,MAAO,SAAmB6pC,EAAM6H,GAC9B,IAAIiL,EAASr8C,KAETy+T,EAAOz+T,KAAK0+T,QAAQn1R,GAExB,GAAIk1R,EAAM,CACR,IAAIh/R,EAAMg/R,EAAKE,MAAQF,EAAKF,QAAQntR,GAASqtR,EAAKF,QAAQp3T,KAAKwjD,IAAIvZ,IAC/DipR,EAASoE,EAAKH,QAAQ7+R,GAEtBz/B,KAAKu+B,QAAQqgS,sBAAgD,IAAxBH,EAAKH,QAAQxhU,QAAoC,IAApB2hU,EAAKH,QAAQ,KAClE,IAAXjE,EACFA,EAAS,SACW,IAAXA,IACTA,EAAS,KAIb,IAAIwE,EAAe,WACjB,OAAOxiR,EAAO9d,QAAQugS,SAAWzE,EAAOjuT,WAAaiwC,EAAO9d,QAAQugS,QAAUzE,EAAOjuT,WAAaiuT,EAAOjuT,YAG3G,MAAuC,OAAnCpM,KAAKu+B,QAAQwgS,kBACA,IAAX1E,EAAqB,GACH,kBAAXA,EAA4B,WAAW7xS,OAAO6xS,EAAOjuT,YACzDyyT,IACqC,OAAnC7+T,KAAKu+B,QAAQwgS,mBAEb/+T,KAAKu+B,QAAQqgS,sBAAgD,IAAxBH,EAAKH,QAAQxhU,QAAoC,IAApB2hU,EAAKH,QAAQ,GADjFO,IAKF7+T,KAAKu+B,QAAQugS,SAAWr/R,EAAIrzB,WAAapM,KAAKu+B,QAAQugS,QAAUr/R,EAAIrzB,WAAaqzB,EAAIrzB,WAI9F,OADApM,KAAKixT,OAAO5pR,KAAK,6BAA6B7e,OAAO+gB,IAC9C,OAIJi1R,EA3FY,GA8FjBQ,EAAe,WACjB,SAASA,IACP,IAAIzgS,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAElF7D,YAAgB0D,KAAMg/T,GAEtBh/T,KAAKixT,OAASqD,EAAW90T,OAAO,gBAChCQ,KAAKu+B,QAAUA,EAEfv+B,KAAK0kI,OAASnmG,EAAQ+4R,eAAiB/4R,EAAQ+4R,cAAc5yL,QAAU,SAAUhlI,GAC/E,OAAOA,GAGTM,KAAK+F,KAAKw4B,GAyLZ,OAtLAjhC,YAAa0hU,EAAc,CAAC,CAC1B3hU,IAAK,OACLqC,MAAO,WACL,IAAI6+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC7Eo+B,EAAQ+4R,gBAAe/4R,EAAQ+4R,cAAgB,CAClD2H,aAAa,IAEf,IAAIC,EAAQ3gS,EAAQ+4R,cACpBt3T,KAAK+1T,YAA0Bn2R,IAAjBs/R,EAAMnJ,OAAuBmJ,EAAMnJ,OAASA,EAC1D/1T,KAAKi/T,iBAAoCr/R,IAAtBs/R,EAAMD,aAA4BC,EAAMD,YAC3Dj/T,KAAKm/T,yBAAoDv/R,IAA9Bs/R,EAAMC,qBAAoCD,EAAMC,oBAC3En/T,KAAK2lC,OAASu5R,EAAMv5R,OAASkwR,EAAYqJ,EAAMv5R,QAAUu5R,EAAME,eAAiB,KAChFp/T,KAAKq6T,OAAS6E,EAAM7E,OAASxE,EAAYqJ,EAAM7E,QAAU6E,EAAMG,eAAiB,KAChFr/T,KAAKs/T,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,IAChGt/T,KAAKu/T,eAAiBL,EAAMM,eAAiB,GAAKN,EAAMK,gBAAkB,IAC1Ev/T,KAAKw/T,eAAiBx/T,KAAKu/T,eAAiB,GAAKL,EAAMM,gBAAkB,GACzEx/T,KAAKy/T,cAAgBP,EAAMO,cAAgB5J,EAAYqJ,EAAMO,eAAiBP,EAAMQ,sBAAwB7J,EAAY,OACxH71T,KAAK2/T,cAAgBT,EAAMS,cAAgB9J,EAAYqJ,EAAMS,eAAiBT,EAAMU,sBAAwB/J,EAAY,KACxH71T,KAAK6/T,wBAA0BX,EAAMW,wBAA0BX,EAAMW,wBAA0BX,EAAMW,yBAA2B,IAChI7/T,KAAK8/T,YAAcZ,EAAMY,YAAcZ,EAAMY,YAAc,IAC3D9/T,KAAK+/T,kBAAsCngS,IAAvBs/R,EAAMa,cAA6Bb,EAAMa,aAC7D//T,KAAKggU,gBAEN,CACD3iU,IAAK,QACLqC,MAAO,WACDM,KAAKu+B,SAASv+B,KAAK+F,KAAK/F,KAAKu+B,WAElC,CACDlhC,IAAK,cACLqC,MAAO,WACL,IAAIugU,EAAY,GAAGz3S,OAAOxoB,KAAK2lC,OAAQ,SAASnd,OAAOxoB,KAAKq6T,QAC5Dr6T,KAAK8qJ,OAAS,IAAIlwH,OAAOqlS,EAAW,KACpC,IAAIC,EAAoB,GAAG13S,OAAOxoB,KAAK2lC,QAAQnd,OAAOxoB,KAAKu/T,eAAgB,SAAS/2S,OAAOxoB,KAAKw/T,gBAAgBh3S,OAAOxoB,KAAKq6T,QAC5Hr6T,KAAKmgU,eAAiB,IAAIvlS,OAAOslS,EAAmB,KACpD,IAAIE,EAAmB,GAAG53S,OAAOxoB,KAAKy/T,cAAe,SAASj3S,OAAOxoB,KAAK2/T,eAC1E3/T,KAAKy3T,cAAgB,IAAI78R,OAAOwlS,EAAkB,OAEnD,CACD/iU,IAAK,cACLqC,MAAO,SAAqBgkH,EAAK1yG,EAAMqlT,EAAK93R,GAC1C,IAEI/0B,EACA9J,EACA2gU,EAJA9qR,EAAQv1C,KAKR01T,EAAc11T,KAAKu+B,SAAWv+B,KAAKu+B,QAAQ+4R,eAAiBt3T,KAAKu+B,QAAQ+4R,cAAcuD,kBAAoB,GAE/G,SAASyF,EAAU58S,GACjB,OAAOA,EAAIjc,QAAQ,MAAO,QAG5B,IAAI84T,EAAe,SAAsBljU,GACvC,GAAIA,EAAIgN,QAAQkrC,EAAM+pR,iBAAmB,EAAG,CAC1C,IAAI/xT,EAAOkoT,EAAoBzkT,EAAM0kT,EAAar4T,GAClD,OAAOk4C,EAAMwqR,aAAexqR,EAAMmvF,OAAOn3H,OAAMqyB,EAAWy2R,GAAO9oT,EAGnE,IAAItK,EAAI5F,EAAIkP,MAAMgpC,EAAM+pR,iBACpB19S,EAAI3e,EAAE2xE,QAAQptE,OACdvG,EAAIgC,EAAEoJ,KAAKkpC,EAAM+pR,iBAAiB93T,OACtC,OAAO+tC,EAAMmvF,OAAO+wL,EAAoBzkT,EAAM0kT,EAAa9zS,GAAI3gB,EAAGo1T,EAAK93R,IAGzEv+B,KAAKggU,cACL,IAAIQ,EAA8BjiS,GAAWA,EAAQiiS,6BAA+BxgU,KAAKu+B,QAAQiiS,4BAC7F5F,EAAkBr8R,GAAWA,EAAQ+4R,eAAiB/4R,EAAQ+4R,cAAcsD,iBAAmB56T,KAAKu+B,QAAQ+4R,cAAcsD,gBA2C9H,MA1CY,CAAC,CACXtzS,MAAOtnB,KAAKmgU,eACZM,UAAW,SAAmB/8S,GAC5B,OAAO48S,EAAU58S,KAElB,CACD4D,MAAOtnB,KAAK8qJ,OACZ21K,UAAW,SAAmB/8S,GAC5B,OAAO6xB,EAAM0pR,YAAcqB,EAAU/qR,EAAMwgR,OAAOryS,IAAQ48S,EAAU58S,MAGlEqR,SAAQ,SAAU2rS,GAGtB,IAFAL,EAAW,EAEJ72T,EAAQk3T,EAAKp5S,MAAM8K,KAAKsxF,IAAM,CAGnC,QAAc9jF,KAFdlgC,EAAQ6gU,EAAa/2T,EAAM,GAAGhC,SAG5B,GAA2C,oBAAhCg5T,EAA4C,CACrD,IAAIt7K,EAAOs7K,EAA4B98M,EAAKl6G,EAAO+0B,GACnD7+B,EAAwB,kBAATwlJ,EAAoBA,EAAO,OACrC,IAAI01K,EAAiB,CAC1Bl7T,EAAQ8J,EAAM,GACd,SAEA+rC,EAAM07Q,OAAO5pR,KAAK,8BAA8B7e,OAAOhf,EAAM,GAAI,uBAAuBgf,OAAOk7F,IAE/FhkH,EAAQ,OAEgB,kBAAVA,GAAuB61C,EAAM4pR,sBAC7Cz/T,EAAQ2lN,EAAW3lN,IAOrB,GAJAgkH,EAAMA,EAAIj8G,QAAQ+B,EAAM,GAAIk3T,EAAKD,UAAU/gU,IAC3CghU,EAAKp5S,MAAMyjB,UAAY,IACvBs1R,GAEgB9qR,EAAMuqR,YACpB,UAICp8M,IAER,CACDrmH,IAAK,OACLqC,MAAO,SAAcgkH,EAAKuoG,GACxB,IAGIziN,EACA9J,EAJA28C,EAASr8C,KAETu+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAI9EwgU,EAAgB73L,EAAc,GAAIvqG,GAKtC,SAASqiS,EAAiBvjU,EAAKwjU,GAC7B,IAAI7uD,EAAMhyQ,KAAK6/T,wBACf,GAAIxiU,EAAIgN,QAAQ2nQ,GAAO,EAAG,OAAO30Q,EACjC,IAAI6E,EAAI7E,EAAIkP,MAAM,IAAIquB,OAAO,GAAGpS,OAAOwpP,EAAK,WACxC8uD,EAAgB,IAAIt4S,OAAOtmB,EAAE,IACjC7E,EAAM6E,EAAE,GAER4+T,GADAA,EAAgB9gU,KAAKi4B,YAAY6oS,EAAeH,IAClBl5T,QAAQ,KAAM,KAE5C,IACEk5T,EAAgBz4S,KAAKoc,MAAMw8R,GACvBD,IAAkBF,EAAgB73L,EAAc,GAAI+3L,EAAkBF,IAC1E,MAAO5/T,GAEP,OADAf,KAAKixT,OAAO5pR,KAAK,oDAAoD7e,OAAOnrB,GAAM0D,GAC3E,GAAGynB,OAAOnrB,GAAKmrB,OAAOwpP,GAAKxpP,OAAOs4S,GAI3C,cADOH,EAAcp5M,aACdlqH,EAGT,IAxBAsjU,EAAc3F,oBAAqB,SAC5B2F,EAAcp5M,aAuBd/9G,EAAQxJ,KAAKy3T,cAAcrlS,KAAKsxF,IAAM,CAC3C,IAAIq9M,EAAa,GACbC,GAAW,EAEf,GAAIx3T,EAAM,GAAG00H,SAASl+H,KAAKs/T,mBAAqB,OAAO/8R,KAAK/4B,EAAM,IAAK,CACrE,IAAIjH,EAAIiH,EAAM,GAAG+C,MAAMvM,KAAKs/T,iBAAiB73S,KAAI,SAAU85D,GACzD,OAAOA,EAAK/5E,UAEdgC,EAAM,GAAKjH,EAAEqyE,QACbmsP,EAAax+T,EACby+T,GAAW,EAIb,IADAthU,EAAQusN,EAAG20G,EAAiB5+T,KAAKhC,KAAMwJ,EAAM,GAAGhC,OAAQm5T,GAAgBA,KAC3Dn3T,EAAM,KAAOk6G,GAAwB,kBAAVhkH,EAAoB,OAAOA,EAC9C,kBAAVA,IAAoBA,EAAQ2lN,EAAW3lN,IAE7CA,IACHM,KAAKixT,OAAO5pR,KAAK,qBAAqB7e,OAAOhf,EAAM,GAAI,iBAAiBgf,OAAOk7F,IAC/EhkH,EAAQ,IAGNshU,IACFthU,EAAQqhU,EAAWhyP,QAAO,SAAU7hE,EAAGjM,GACrC,OAAOo7C,EAAOqoF,OAAOx3H,EAAGjM,EAAGs9B,EAAQ83R,IAAK93R,KACvC7+B,EAAM8H,SAGXk8G,EAAMA,EAAIj8G,QAAQ+B,EAAM,GAAI9J,GAC5BM,KAAK8qJ,OAAO//G,UAAY,EAG1B,OAAO24E,MAIJs7M,EAtMU,GAkNnB,IAAIiC,EAAY,SAAU/K,GAGxB,SAAS+K,EAAUC,EAASC,EAAO9J,GACjC,IAAI9hR,EAEAhX,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAuBlF,OArBA7D,YAAgB0D,KAAMihU,GAEtB1rR,EAAQgmF,EAA2Bv7H,KAAMs7H,EAAgB2lM,GAAWj/T,KAAKhC,OAErEg2T,GACFlzJ,EAAa9gK,KAAKy5H,YAAuBlmF,IAG3CA,EAAM2rR,QAAUA,EAChB3rR,EAAM4rR,MAAQA,EACd5rR,EAAM8hR,SAAWA,EACjB9hR,EAAMmkR,cAAgBrC,EAASqC,cAC/BnkR,EAAMhX,QAAUA,EAChBgX,EAAM07Q,OAASqD,EAAW90T,OAAO,oBACjC+1C,EAAMwvB,MAAQ,GACdxvB,EAAM6rR,MAAQ,GAEV7rR,EAAM2rR,SAAW3rR,EAAM2rR,QAAQn7T,MACjCwvC,EAAM2rR,QAAQn7T,KAAKsxT,EAAU94R,EAAQ2iS,QAAS3iS,GAGzCgX,EA4LT,OAxNAl2C,EAAU4hU,EAAW/K,GA+BrB54T,YAAa2jU,EAAW,CAAC,CACvB5jU,IAAK,YACLqC,MAAO,SAAmB2hU,EAAWx/O,EAAYtjD,EAASgN,GACxD,IAAI8Q,EAASr8C,KAETshU,EAAS,GACTC,EAAU,GACVC,EAAkB,GAClBC,EAAmB,GA8BvB,OA7BAJ,EAAUtsS,SAAQ,SAAUshS,GAC1B,IAAIqL,GAAmB,EACvB7/O,EAAW9sD,SAAQ,SAAUnyB,GAC3B,IAAIR,EAAO,GAAGomB,OAAO6tS,EAAK,KAAK7tS,OAAO5lB,IAEjC27B,EAAQojS,QAAUtlR,EAAO8kR,MAAMvK,kBAAkBP,EAAKzzT,GACzDy5C,EAAO0oB,MAAM3iE,GAAQ,EACZi6C,EAAO0oB,MAAM3iE,GAAQ,IAAqC,IAAvBi6C,EAAO0oB,MAAM3iE,GACrDm/T,EAAQl3T,QAAQjI,GAAQ,GAAGm/T,EAAQz6T,KAAK1E,IAE5Ci6C,EAAO0oB,MAAM3iE,GAAQ,EACrBs/T,GAAmB,EACfH,EAAQl3T,QAAQjI,GAAQ,GAAGm/T,EAAQz6T,KAAK1E,GACxCk/T,EAAOj3T,QAAQjI,GAAQ,GAAGk/T,EAAOx6T,KAAK1E,GACtCq/T,EAAiBp3T,QAAQzH,GAAM,GAAG6+T,EAAiB36T,KAAKlE,QAG3D8+T,GAAkBF,EAAgB16T,KAAKuvT,OAG1CiL,EAAOxkU,QAAUykU,EAAQzkU,SAC3BkD,KAAKohU,MAAMt6T,KAAK,CACdy6T,QAASA,EACTh6T,OAAQ,GACRq6T,OAAQ,GACRr2R,SAAUA,IAIP,CACL+1R,OAAQA,EACRC,QAASA,EACTC,gBAAiBA,EACjBC,iBAAkBA,KAGrB,CACDpkU,IAAK,SACLqC,MAAO,SAAgB0C,EAAMjB,EAAK6P,GAChC,IAAIpQ,EAAIwB,EAAKmK,MAAM,KACf8pT,EAAMz1T,EAAE,GACRgC,EAAKhC,EAAE,GACPO,GAAKnB,KAAKw2T,KAAK,gBAAiBH,EAAKzzT,EAAIzB,GAEzC6P,GACFhR,KAAKmhU,MAAMU,kBAAkBxL,EAAKzzT,EAAIoO,GAGxChR,KAAK+kE,MAAM3iE,GAAQjB,GAAO,EAAI,EAC9B,IAAIoG,EAAS,GACbvH,KAAKohU,MAAMrsS,SAAQ,SAAUszF,IAxzCnC,SAAkBvlH,EAAQyK,EAAMzD,EAAU0e,GACxC,IAAIs5S,EAAkB3M,EAAcryT,EAAQyK,EAAMpQ,QAC9C6iC,EAAM8hS,EAAgB9hS,IACtBpe,EAAIkgT,EAAgBlgT,EAExBoe,EAAIpe,GAAKoe,EAAIpe,IAAM,GACf4G,IAAQwX,EAAIpe,GAAKoe,EAAIpe,GAAG4G,OAAO1e,IAC9B0e,GAAQwX,EAAIpe,GAAG9a,KAAKgD,GAkzCnBi4T,CAAS15M,EAAE9gH,OAAQ,CAAC8uT,GAAMzzT,GArGlC,SAAgBqyC,EAAK+sR,GAGnB,IAFA,IAAI7G,EAAQlmR,EAAI5qC,QAAQ23T,IAEN,IAAX7G,GACLlmR,EAAIvV,OAAOy7R,EAAO,GAClBA,EAAQlmR,EAAI5qC,QAAQ23T,GAiGhB/hS,CAAOooF,EAAEk5M,QAASn/T,GACdjB,GAAKknH,EAAEu5M,OAAO96T,KAAK3F,GAEE,IAArBknH,EAAEk5M,QAAQzkU,QAAiBurH,EAAEvnH,OAC/B3D,OAAO23B,KAAKuzF,EAAE9gH,QAAQwtB,SAAQ,SAAUhzB,GACjCwF,EAAOxF,KAAIwF,EAAOxF,GAAK,IAExBsmH,EAAE9gH,OAAOxF,GAAGjF,QACdurH,EAAE9gH,OAAOxF,GAAGgzB,SAAQ,SAAUnyB,GACxB2E,EAAOxF,GAAGsI,QAAQzH,GAAM,GAAG2E,EAAOxF,GAAG+E,KAAKlE,SAIpDylH,EAAEvnH,MAAO,EAELunH,EAAEu5M,OAAO9kU,OACXurH,EAAE98E,SAAS88E,EAAEu5M,QAEbv5M,EAAE98E,eAIRvrC,KAAKw2T,KAAK,SAAUjvT,GACpBvH,KAAKohU,MAAQphU,KAAKohU,MAAMnuT,QAAO,SAAUo1G,GACvC,OAAQA,EAAEvnH,UAGb,CACDzD,IAAK,OACLqC,MAAO,SAAc22T,EAAKzzT,EAAIq/T,GAC5B,IAAIjlR,EAASh9C,KAETkiU,EAAQ/hU,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,EAC5E83F,EAAO93F,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,IAC3EorC,EAAWprC,UAAUrD,OAAS,EAAIqD,UAAU,QAAKy/B,EACrD,OAAKy2R,EAAIv5T,OACFkD,KAAKkhU,QAAQe,GAAQ5L,EAAKzzT,GAAI,SAAUzB,EAAK6P,GAC9C7P,GAAO6P,GAAQkxT,EAAQ,EACzBrtS,YAAW,WACTmoB,EAAOipK,KAAKjkN,KAAKg7C,EAAQq5Q,EAAKzzT,EAAIq/T,EAAQC,EAAQ,EAAU,EAAPjqO,EAAU1sD,KAC9D0sD,GAIL1sD,EAASpqC,EAAK6P,MATQu6B,EAAS,KAAM,MAYxC,CACDluC,IAAK,iBACLqC,MAAO,SAAwB2hU,EAAWx/O,GACxC,IAAI3hC,EAASlgD,KAETu+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9EorC,EAAWprC,UAAUrD,OAAS,EAAIqD,UAAU,QAAKy/B,EAErD,IAAK5/B,KAAKkhU,QAER,OADAlhU,KAAKixT,OAAO5pR,KAAK,kEACVkE,GAAYA,IAGI,kBAAd81R,IAAwBA,EAAYrhU,KAAK05T,cAAcI,mBAAmBuH,IAC3D,kBAAfx/O,IAAyBA,EAAa,CAACA,IAClD,IAAIy/O,EAASthU,KAAKmiU,UAAUd,EAAWx/O,EAAYtjD,EAASgN,GAE5D,IAAK+1R,EAAOA,OAAOxkU,OAEjB,OADKwkU,EAAOC,QAAQzkU,QAAQyuC,IACrB,KAGT+1R,EAAOA,OAAOvsS,SAAQ,SAAU3yB,GAC9B89C,EAAOkiR,QAAQhgU,QAGlB,CACD/E,IAAK,OACLqC,MAAO,SAAc2hU,EAAWx/O,EAAYt2C,GAC1CvrC,KAAKqiU,eAAehB,EAAWx/O,EAAY,GAAIt2C,KAEhD,CACDluC,IAAK,SACLqC,MAAO,SAAgB2hU,EAAWx/O,EAAYt2C,GAC5CvrC,KAAKqiU,eAAehB,EAAWx/O,EAAY,CACzC8/O,QAAQ,GACPp2R,KAEJ,CACDluC,IAAK,UACLqC,MAAO,SAAiB0C,GACtB,IAAIy+C,EAAS7gD,KAET2lC,EAASxlC,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC7ES,EAAIwB,EAAKmK,MAAM,KACf8pT,EAAMz1T,EAAE,GACRgC,EAAKhC,EAAE,GACXZ,KAAKimN,KAAKowG,EAAKzzT,EAAI,YAAQg9B,OAAWA,GAAW,SAAUz+B,EAAK6P,GAC1D7P,GAAK0/C,EAAOowQ,OAAO5pR,KAAK,GAAG7e,OAAOmd,EAAQ,sBAAsBnd,OAAO5lB,EAAI,kBAAkB4lB,OAAO6tS,EAAK,WAAYl1T,IACpHA,GAAO6P,GAAM6vC,EAAOowQ,OAAOrrT,IAAI,GAAG4iB,OAAOmd,EAAQ,qBAAqBnd,OAAO5lB,EAAI,kBAAkB4lB,OAAO6tS,GAAMrlT,GAErH6vC,EAAOt5C,OAAOnF,EAAMjB,EAAK6P,QAG5B,CACD3T,IAAK,cACLqC,MAAO,SAAqB2hU,EAAW9zR,EAAWlwC,EAAK08T,EAAeuI,GACpE,IAAI/jS,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAE9EH,KAAKq3T,SAASljF,OAASn0O,KAAKq3T,SAASljF,MAAMonF,qBAAuBv7T,KAAKq3T,SAASljF,MAAMonF,mBAAmBhuR,GAC3GvtC,KAAKixT,OAAO5pR,KAAK,qBAAsB7e,OAAOnrB,EAAK,wBAA0BmrB,OAAO+kB,EAAW,wBAA0B,iOAI/G3N,IAARviC,GAA6B,OAARA,GAAwB,KAARA,IAErC2C,KAAKkhU,SAAWlhU,KAAKkhU,QAAQ1hU,QAC/BQ,KAAKkhU,QAAQ1hU,OAAO6hU,EAAW9zR,EAAWlwC,EAAK08T,EAAe,KAAMjxL,EAAc,GAAIvqG,EAAS,CAC7F+jS,SAAUA,KAITjB,GAAcA,EAAU,IAC7BrhU,KAAKmhU,MAAMzK,YAAY2K,EAAU,GAAI9zR,EAAWlwC,EAAK08T,QAIlDkH,EAzNO,CA0Ndn+J,GAEF,SAASxgK,IACP,MAAO,CACLkvD,OAAO,EACP+wQ,eAAe,EACf3/T,GAAI,CAAC,eACLuzT,UAAW,CAAC,eACZyD,YAAa,CAAC,OACdyB,YAAY,EACZv5Q,WAAW,EACX0gR,sBAAsB,EACtBpG,eAAe,EACfM,0BAA0B,EAC1B93S,KAAM,MACN69S,SAAS,EACT7D,sBAAsB,EACtBxI,aAAc,IACdoB,YAAa,IACbkL,gBAAiB,IACjB7G,iBAAkB,IAClB8G,yBAAyB,EACzBzI,aAAa,EACbZ,eAAe,EACfO,cAAe,WACfM,oBAAoB,EACpBH,mBAAmB,EACnBwG,6BAA6B,EAC7Bn3Q,aAAa,EACb4xQ,yBAAyB,EACzBa,YAAY,EACZC,mBAAmB,EACnBtD,eAAe,EACfJ,YAAY,EACZK,uBAAuB,EACvB6B,wBAAwB,EACxBD,6BAA6B,EAC7BxC,yBAAyB,EACzBH,iCAAkC,SAAgBj0Q,GAChD,IAAI/lC,EAAM,GAKV,GAJyB,WAArBm2D,EAAQpwB,EAAK,MAAkB/lC,EAAM+lC,EAAK,IACvB,kBAAZA,EAAK,KAAiB/lC,EAAI4pG,aAAe7jE,EAAK,IAClC,kBAAZA,EAAK,KAAiB/lC,EAAIilT,aAAel/Q,EAAK,IAEhC,WAArBowB,EAAQpwB,EAAK,KAAyC,WAArBowB,EAAQpwB,EAAK,IAAkB,CAClE,IAAInlB,EAAUmlB,EAAK,IAAMA,EAAK,GAC9BvmD,OAAO23B,KAAKyJ,GAASxJ,SAAQ,SAAU13B,GACrCsgB,EAAItgB,GAAOkhC,EAAQlhC,MAIvB,OAAOsgB,GAET25S,cAAe,CACb2H,aAAa,EACbv6L,OAAQ,SAAgBhlI,EAAOu3J,EAASo/J,EAAK93R,GAC3C,OAAO7+B,GAETimC,OAAQ,KACR00R,OAAQ,KACRiF,gBAAiB,IACjBC,eAAgB,IAChBE,cAAe,MACfE,cAAe,IACfE,wBAAyB,IACzBC,YAAa,IACblF,iBAAiB,IAIvB,SAASiI,EAAiBtkS,GAqBxB,MApB0B,kBAAfA,EAAQ37B,KAAiB27B,EAAQ37B,GAAK,CAAC27B,EAAQ37B,KACvB,kBAAxB27B,EAAQq7R,cAA0Br7R,EAAQq7R,YAAc,CAACr7R,EAAQq7R,cAC1C,kBAAvBr7R,EAAQ88R,aAAyB98R,EAAQ88R,WAAa,CAAC98R,EAAQ88R,aAEtE98R,EAAQujB,YACNvjB,EAAQujB,WAAavjB,EAAQujB,UAAUz3C,QAAQ,UAAY,IAC7Dk0B,EAAQujB,UAAYvjB,EAAQujB,UAAUt5B,OAAO,CAAC,YAGhD+V,EAAQ69R,cAAgB79R,EAAQujB,WAG9BvjB,EAAQikS,uBACVjkS,EAAQm+R,yBAA2Bn+R,EAAQikS,sBAGzCjkS,EAAQ69R,eAAiB79R,EAAQ69R,cAAc/xT,QAAQ,UAAY,IACrEk0B,EAAQ69R,cAAgB79R,EAAQ69R,cAAc5zS,OAAO,CAAC,YAGjD+V,EAGT,SAASykD,KAET,IAsgBI8/O,EAAU,IAtgBH,SAAU5M,GAGnB,SAAS6M,IACP,IAAIxtR,EAEAhX,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9EorC,EAAWprC,UAAUrD,OAAS,EAAIqD,UAAU,QAAKy/B,EAiBrD,GAfAtjC,YAAgB0D,KAAM+iU,GAEtBxtR,EAAQgmF,EAA2Bv7H,KAAMs7H,EAAgBynM,GAAM/gU,KAAKhC,OAEhEg2T,GACFlzJ,EAAa9gK,KAAKy5H,YAAuBlmF,IAG3CA,EAAMhX,QAAUskS,EAAiBtkS,GACjCgX,EAAM8hR,SAAW,GACjB9hR,EAAM07Q,OAASqD,EACf/+Q,EAAM5zC,QAAU,CACd6+I,SAAU,IAGRj1G,IAAagK,EAAM+4J,gBAAkB/vK,EAAQykS,QAAS,CACxD,IAAKztR,EAAMhX,QAAQgkS,cAGjB,OAFAhtR,EAAMxvC,KAAKw4B,EAASgN,GAEbgwF,EAA2BhmF,EAAOkmF,YAAuBlmF,IAGlE1gB,YAAW,WACT0gB,EAAMxvC,KAAKw4B,EAASgN,KACnB,GAGL,OAAOgK,EA+dT,OAlgBAl2C,EAAU0jU,EAAM7M,GAsChB54T,YAAaylU,EAAM,CAAC,CAClB1lU,IAAK,OACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAETu+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9EorC,EAAWprC,UAAUrD,OAAS,EAAIqD,UAAU,QAAKy/B,EAmBrD,SAASqjS,EAAoBC,GAC3B,OAAKA,EACwB,oBAAlBA,EAAqC,IAAIA,EAC7CA,EAFoB,KAK7B,GAvBuB,oBAAZ3kS,IACTgN,EAAWhN,EACXA,EAAU,IAGRA,EAAQujB,YAAcvjB,EAAQ69R,eAChCp8T,KAAKixT,OAAO5S,UAAU,YAAa,0HAGjC9/Q,EAAQikS,uBAAyBjkS,EAAQm+R,0BAC3C18T,KAAKixT,OAAO5S,UAAU,YAAa,iJAGrCr+S,KAAKu+B,QAAUuqG,EAAc,GAAIxmI,IAAOtC,KAAKu+B,QAASskS,EAAiBtkS,IACvEv+B,KAAK0kI,OAAS1kI,KAAKu+B,QAAQ+4R,cAAc5yL,OACpCn5F,IAAUA,EAAWy3C,IAQrBhjF,KAAKu+B,QAAQykS,QAAS,CACrBhjU,KAAK2B,QAAQsvT,OACfqD,EAAWvuT,KAAKk9T,EAAoBjjU,KAAK2B,QAAQsvT,QAASjxT,KAAKu+B,SAE/D+1R,EAAWvuT,KAAK,KAAM/F,KAAKu+B,SAG7B,IAAI4kS,EAAK,IAAIhH,EAAan8T,KAAKu+B,SAC/Bv+B,KAAKmhU,MAAQ,IAAIlL,EAAcj2T,KAAKu+B,QAAQk4R,UAAWz2T,KAAKu+B,SAC5D,IAAI39B,EAAIZ,KAAKq3T,SACbz2T,EAAEqwT,OAASqD,EACX1zT,EAAEo7T,cAAgBh8T,KAAKmhU,MACvBvgU,EAAE84T,cAAgByJ,EAClBviU,EAAEu4T,eAAiB,IAAIqF,EAAe2E,EAAI,CACxCrE,QAAS9+T,KAAKu+B,QAAQmkS,gBACtB3D,kBAAmB/+T,KAAKu+B,QAAQwgS,kBAChCH,qBAAsB5+T,KAAKu+B,QAAQqgS,uBAErCh+T,EAAEo/I,aAAe,IAAIg/K,EAAah/T,KAAKu+B,SACvC39B,EAAEuzO,MAAQ,CACRonF,mBAAoBv7T,KAAKu7T,mBAAmB14T,KAAK7C,OAEnDY,EAAEq5T,iBAAmB,IAAIgH,EAAUgC,EAAoBjjU,KAAK2B,QAAQu/T,SAAUtgU,EAAEo7T,cAAep7T,EAAGZ,KAAKu+B,SACvG39B,EAAEq5T,iBAAiB/+Q,GAAG,KAAK,SAAU51B,GACnC,IAAK,IAAIk9B,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,EAAO,EAAIA,EAAO,EAAI,GAAImN,EAAO,EAAGA,EAAOnN,EAAMmN,IAClGjM,EAAKiM,EAAO,GAAKxvD,UAAUwvD,GAG7BtT,EAAOm6Q,KAAKp2T,MAAMi8C,EAAQ,CAAC/2B,GAAOkD,OAAOk7B,OAGvC1jD,KAAK2B,QAAQyhU,mBACfxiU,EAAEwiU,iBAAmBH,EAAoBjjU,KAAK2B,QAAQyhU,kBACtDxiU,EAAEwiU,iBAAiBr9T,KAAKnF,EAAGZ,KAAKu+B,QAAQ8kS,UAAWrjU,KAAKu+B,UAGtDv+B,KAAK2B,QAAQ42T,aACf33T,EAAE23T,WAAa0K,EAAoBjjU,KAAK2B,QAAQ42T,YAC5C33T,EAAE23T,WAAWxyT,MAAMnF,EAAE23T,WAAWxyT,KAAK/F,OAG3CA,KAAKk3T,WAAa,IAAIE,EAAWp3T,KAAKq3T,SAAUr3T,KAAKu+B,SACrDv+B,KAAKk3T,WAAWh8Q,GAAG,KAAK,SAAU51B,GAChC,IAAK,IAAIw/G,EAAQ3kI,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAMqkI,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGrhF,EAAKqhF,EAAQ,GAAK5kI,UAAU4kI,GAG9B1oF,EAAOm6Q,KAAKp2T,MAAMi8C,EAAQ,CAAC/2B,GAAOkD,OAAOk7B,OAE3C1jD,KAAK2B,QAAQ6+I,SAASzrH,SAAQ,SAAU9yB,GAClCA,EAAE8D,MAAM9D,EAAE8D,KAAKs2C,MAIvB,GAAIr8C,KAAKu+B,QAAQq7R,cAAgB55T,KAAKq3T,SAAS+L,mBAAqBpjU,KAAKu+B,QAAQ83R,IAAK,CACpF,IAAItgC,EAAQ/1R,KAAKq3T,SAASqC,cAAcC,iBAAiB35T,KAAKu+B,QAAQq7R,aAClE7jC,EAAMj5R,OAAS,GAAkB,QAAbi5R,EAAM,KAAc/1R,KAAKu+B,QAAQ83R,IAAMtgC,EAAM,IAGlE/1R,KAAKq3T,SAAS+L,kBAAqBpjU,KAAKu+B,QAAQ83R,KACnDr2T,KAAKixT,OAAO5pR,KAAK,2DAGnB,IAAIi8R,EAAW,CAAC,cAAe,oBAAqB,oBAAqB,qBACzEA,EAASvuS,SAAQ,SAAUktS,GACzB5lR,EAAO4lR,GAAU,WACf,IAAIsB,EAEJ,OAAQA,EAAelnR,EAAO8kR,OAAOc,GAAQ7hU,MAAMmjU,EAAcpjU,eAGrE,IAAIqjU,EAAkB,CAAC,cAAe,eAAgB,oBAAqB,wBAC3EA,EAAgBzuS,SAAQ,SAAUktS,GAChC5lR,EAAO4lR,GAAU,WACf,IAAIwB,EAIJ,OAFCA,EAAgBpnR,EAAO8kR,OAAOc,GAAQ7hU,MAAMqjU,EAAetjU,WAErDk8C,MAGX,IAAIqnR,EAAWzO,IAEXrwS,EAAO,WACT,IAAIkzE,EAAS,SAAgB32F,EAAKsB,GAC5B45C,EAAOiyJ,eAAejyJ,EAAO40Q,OAAO5pR,KAAK,yEAC7CgV,EAAOiyJ,eAAgB,EAClBjyJ,EAAO9d,QAAQykS,SAAS3mR,EAAO40Q,OAAOrrT,IAAI,cAAey2C,EAAO9d,SAErE8d,EAAOm6Q,KAAK,cAAen6Q,EAAO9d,SAElCmlS,EAASpwM,QAAQ7wH,GACjB8oC,EAASpqC,EAAKsB,IAGhB,GAAI45C,EAAOglR,WAAiD,OAApChlR,EAAO9d,QAAQw4R,mBAA8B16Q,EAAOiyJ,cAAe,OAAOx2G,EAAO,KAAMz7C,EAAO55C,EAAEI,KAAKw5C,IAE7HA,EAAOsnR,eAAetnR,EAAO9d,QAAQ83R,IAAKv+N,IAS5C,OANI93F,KAAKu+B,QAAQk4R,YAAcz2T,KAAKu+B,QAAQgkS,cAC1C39S,IAEAiQ,WAAWjQ,EAAM,GAGZ8+S,IAER,CACDrmU,IAAK,gBACLqC,MAAO,SAAuBsrO,GAC5B,IAAIhuL,EAASh9C,KAETurC,EAAWprC,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK6iF,EAC/E4gP,EAAer4R,EACfivR,EAA8B,kBAAbxvF,EAAwBA,EAAWhrO,KAAKgrO,SAG7D,GAFwB,oBAAbA,IAAyB44F,EAAe54F,IAE9ChrO,KAAKu+B,QAAQk4R,WAAaz2T,KAAKu+B,QAAQokS,wBAAyB,CACnE,GAAInI,GAAqC,WAA1BA,EAAQ3hT,cAA4B,OAAO+qT,IAC1D,IAAItC,EAAS,GAET9zP,EAAS,SAAgB6oP,GACtBA,GAEMr5Q,EAAOq6Q,SAASqC,cAAcI,mBAAmBzD,GAEvDthS,SAAQ,SAAUhzB,GACjBu/T,EAAOj3T,QAAQtI,GAAK,GAAGu/T,EAAOx6T,KAAK/E,OAI3C,GAAKy4T,EAMHhtP,EAAOgtP,OANK,CACZ,IAAIuC,EAAY/8T,KAAKq3T,SAASqC,cAAcC,iBAAiB35T,KAAKu+B,QAAQq7R,aAC1EmD,EAAUhoS,SAAQ,SAAUhzB,GAC1B,OAAOyrE,EAAOzrE,MAMd/B,KAAKu+B,QAAQkkS,SACfziU,KAAKu+B,QAAQkkS,QAAQ1tS,SAAQ,SAAUhzB,GACrC,OAAOyrE,EAAOzrE,MAIlB/B,KAAKq3T,SAAS4C,iBAAiBr1S,KAAK08S,EAAQthU,KAAKu+B,QAAQ37B,GAAIghU,QAE7DA,EAAa,QAGhB,CACDvmU,IAAK,kBACLqC,MAAO,SAAyB85T,EAAM52T,EAAI2oC,GACxC,IAAIm4R,EAAWzO,IAQf,OAPKuE,IAAMA,EAAOx5T,KAAKqhU,WAClBz+T,IAAIA,EAAK5C,KAAKu+B,QAAQ37B,IACtB2oC,IAAUA,EAAWy3C,GAC1BhjF,KAAKq3T,SAAS4C,iBAAiB0H,OAAOnI,EAAM52T,GAAI,SAAUzB,GACxDuiU,EAASpwM,UACT/nF,EAASpqC,MAEJuiU,IAER,CACDrmU,IAAK,MACLqC,MAAO,SAAaxJ,GAClB,IAAKA,EAAQ,MAAM,IAAIgpC,MAAM,iGAC7B,IAAKhpC,EAAO+a,KAAM,MAAM,IAAIiuB,MAAM,4FA0BlC,MAxBoB,YAAhBhpC,EAAO+a,OACTjR,KAAK2B,QAAQu/T,QAAUhrU,IAGL,WAAhBA,EAAO+a,MAAqB/a,EAAO0P,KAAO1P,EAAOmxC,MAAQnxC,EAAOi9B,SAClEnzB,KAAK2B,QAAQsvT,OAAS/6T,GAGJ,qBAAhBA,EAAO+a,OACTjR,KAAK2B,QAAQyhU,iBAAmBltU,GAGd,eAAhBA,EAAO+a,OACTjR,KAAK2B,QAAQ42T,WAAariU,GAGR,kBAAhBA,EAAO+a,MACT+lT,EAAcC,iBAAiB/gU,GAGb,aAAhBA,EAAO+a,MACTjR,KAAK2B,QAAQ6+I,SAAS15I,KAAK5Q,GAGtB8J,OAER,CACD3C,IAAK,iBACLqC,MAAO,SAAwB22T,EAAK9qR,GAClC,IAAI2U,EAASlgD,KAEbA,KAAK6jU,qBAAuBxN,EAC5B,IAAIqN,EAAWzO,IACfj1T,KAAKw2T,KAAK,mBAAoBH,GAE9B,IAwBIyN,EAAS,SAAgBtK,GAC3B,IAAIz3T,EAAoB,kBAATy3T,EAAoBA,EAAOt5Q,EAAOm3Q,SAASqC,cAAcqK,sBAAsBvK,GAE1Fz3T,IACGm+C,EAAO8qL,WACV9qL,EAAO8qL,SAAWjpO,EAClBm+C,EAAOmhR,UAAYnhR,EAAOm3Q,SAASqC,cAAcI,mBAAmB/3T,IAGjEm+C,EAAOg3Q,WAAWlsF,UAAU9qL,EAAOg3Q,WAAWyM,eAAe5hU,GAC9Dm+C,EAAOm3Q,SAAS+L,kBAAkBljR,EAAOm3Q,SAAS+L,iBAAiBY,kBAAkBjiU,IAG3Fm+C,EAAO+jR,cAAcliU,GAAG,SAAUZ,IArCzB,SAAcA,EAAKY,GACxBA,GACFm+C,EAAO8qL,SAAWjpO,EAClBm+C,EAAOmhR,UAAYnhR,EAAOm3Q,SAASqC,cAAcI,mBAAmB/3T,GAEpEm+C,EAAOg3Q,WAAWyM,eAAe5hU,GAEjCm+C,EAAO2jR,0BAAuBjkS,EAE9BsgB,EAAOs2Q,KAAK,kBAAmBz0T,GAE/Bm+C,EAAO+wQ,OAAOrrT,IAAI,kBAAmB7D,IAErCm+C,EAAO2jR,0BAAuBjkS,EAGhC8jS,EAASpwM,SAAQ,WACf,OAAOpzE,EAAOz9C,EAAErC,MAAM8/C,EAAQ//C,cAE5BorC,GAAUA,EAASpqC,GAAK,WAC1B,OAAO++C,EAAOz9C,EAAErC,MAAM8/C,EAAQ//C,cAkB9BW,CAAKK,EAAKY,OAYd,OARKs0T,IAAOr2T,KAAKq3T,SAAS+L,kBAAqBpjU,KAAKq3T,SAAS+L,iBAAiBn6T,OAElEotT,GAAOr2T,KAAKq3T,SAAS+L,kBAAoBpjU,KAAKq3T,SAAS+L,iBAAiBn6T,MAClFjJ,KAAKq3T,SAAS+L,iBAAiBc,OAAOJ,GAEtCA,EAAOzN,GAJPyN,EAAO9jU,KAAKq3T,SAAS+L,iBAAiBc,UAOjCR,IAER,CACDrmU,IAAK,YACLqC,MAAO,SAAmB22T,EAAKzzT,GAC7B,IAAIi+C,EAAS7gD,KAETmkU,EAAS,SAASA,EAAO9mU,EAAKgG,GAChC,IAAIk7B,EAEJ,GAAsB,WAAlBu1C,EAAQzwE,GAAoB,CAC9B,IAAK,IAAIqoI,EAAQvrI,UAAUrD,OAAQmwH,EAAO,IAAIxsH,MAAMirI,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG1e,EAAK0e,EAAQ,GAAKxrI,UAAUwrI,GAG9BptG,EAAUsiB,EAAOtiB,QAAQo5R,iCAAiC,CAACt6T,EAAKgG,GAAMmlB,OAAOykG,SAE7E1uF,EAAUuqG,EAAc,GAAIzlI,GAM9B,OAHAk7B,EAAQ83R,IAAM93R,EAAQ83R,KAAO8N,EAAO9N,IACpC93R,EAAQi7R,KAAOj7R,EAAQi7R,MAAQ2K,EAAO3K,KACtCj7R,EAAQ37B,GAAK27B,EAAQ37B,IAAMuhU,EAAOvhU,GAC3Bi+C,EAAOp+C,EAAEpF,EAAKkhC,IAUvB,MAPmB,kBAAR83R,EACT8N,EAAO9N,IAAMA,EAEb8N,EAAO3K,KAAOnD,EAGhB8N,EAAOvhU,GAAKA,EACLuhU,IAER,CACD9mU,IAAK,IACLqC,MAAO,WACL,IAAI0kU,EAEJ,OAAOpkU,KAAKk3T,aAAekN,EAAmBpkU,KAAKk3T,YAAYrnT,UAAUzP,MAAMgkU,EAAkBjkU,aAElG,CACD9C,IAAK,SACLqC,MAAO,WACL,IAAI2kU,EAEJ,OAAOrkU,KAAKk3T,aAAemN,EAAoBrkU,KAAKk3T,YAAYrvF,OAAOznO,MAAMikU,EAAmBlkU,aAEjG,CACD9C,IAAK,sBACLqC,MAAO,SAA6BkD,GAClC5C,KAAKu+B,QAAQ43R,UAAYvzT,IAE1B,CACDvF,IAAK,qBACLqC,MAAO,SAA4BkD,GACjC,IAAI6+C,EAASzhD,KAETu+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAElF,IAAKH,KAAKsuM,cAER,OADAtuM,KAAKixT,OAAO5pR,KAAK,kDAAmDrnC,KAAKqhU,YAClE,EAGT,IAAKrhU,KAAKqhU,YAAcrhU,KAAKqhU,UAAUvkU,OAErC,OADAkD,KAAKixT,OAAO5pR,KAAK,6DAA8DrnC,KAAKqhU,YAC7E,EAGT,IAAIhL,EAAMr2T,KAAKqhU,UAAU,GACrBzH,IAAc55T,KAAKu+B,SAAUv+B,KAAKu+B,QAAQq7R,YAC1C0K,EAAUtkU,KAAKqhU,UAAUrhU,KAAKqhU,UAAUvkU,OAAS,GACrD,GAA0B,WAAtBu5T,EAAIx9S,cAA4B,OAAO,EAE3C,IAAI0rT,EAAiB,SAAwBxiU,EAAGlB,GAC9C,IAAI2jU,EAAY/iR,EAAO41Q,SAAS4C,iBAAiBl1P,MAAM,GAAGv8C,OAAOzmB,EAAG,KAAKymB,OAAO3nB,IAEhF,OAAsB,IAAf2jU,GAAkC,IAAdA,GAG7B,GAAIjmS,EAAQkmS,SAAU,CACpB,IAAIC,EAAYnmS,EAAQkmS,SAASzkU,KAAMukU,GACvC,QAAkB3kS,IAAd8kS,EAAyB,OAAOA,EAGtC,QAAI1kU,KAAK42T,kBAAkBP,EAAKzzT,MAC3B5C,KAAKq3T,SAAS4C,iBAAiBiH,YAChCqD,EAAelO,EAAKzzT,IAASg3T,IAAe2K,EAAeD,EAAS1hU,OAGzE,CACDvF,IAAK,iBACLqC,MAAO,SAAwBkD,EAAI2oC,GACjC,IAAIoW,EAAS3hD,KAET0jU,EAAWzO,IAEf,OAAKj1T,KAAKu+B,QAAQ37B,IAKA,kBAAPA,IAAiBA,EAAK,CAACA,IAClCA,EAAGmyB,SAAQ,SAAUl0B,GACf8gD,EAAOpjB,QAAQ37B,GAAGyH,QAAQxJ,GAAK,GAAG8gD,EAAOpjB,QAAQ37B,GAAGkE,KAAKjG,MAE/Db,KAAKikU,eAAc,SAAU9iU,GAC3BuiU,EAASpwM,UACL/nF,GAAUA,EAASpqC,MAElBuiU,IAZLn4R,GAAYA,IACLzU,QAAQw8F,aAalB,CACDj2H,IAAK,gBACLqC,MAAO,SAAuB85T,EAAMjuR,GAClC,IAAIm4R,EAAWzO,IACK,kBAATuE,IAAmBA,EAAO,CAACA,IACtC,IAAImL,EAAY3kU,KAAKu+B,QAAQkkS,SAAW,GACpCmC,EAAUpL,EAAKvmT,QAAO,SAAUojT,GAClC,OAAOsO,EAAUt6T,QAAQgsT,GAAO,KAGlC,OAAKuO,EAAQ9nU,QAKbkD,KAAKu+B,QAAQkkS,QAAUkC,EAAUn8S,OAAOo8S,GACxC5kU,KAAKikU,eAAc,SAAU9iU,GAC3BuiU,EAASpwM,UACL/nF,GAAUA,EAASpqC,MAElBuiU,IATDn4R,GAAUA,IACPzU,QAAQw8F,aAUlB,CACDj2H,IAAK,MACLqC,MAAO,SAAa22T,GAElB,GADKA,IAAKA,EAAMr2T,KAAKqhU,WAAarhU,KAAKqhU,UAAUvkU,OAAS,EAAIkD,KAAKqhU,UAAU,GAAKrhU,KAAKgrO,WAClFqrF,EAAK,MAAO,MAEjB,MADc,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,KAAM,OAC1ZhsT,QAAQrK,KAAKq3T,SAASqC,cAAciD,wBAAwBtG,KAAS,EAAI,MAAQ,QAEjG,CACDh5T,IAAK,iBACLqC,MAAO,WACL,IAAI6+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9EorC,EAAWprC,UAAUrD,OAAS,EAAIqD,UAAU,QAAKy/B,EACrD,OAAO,IAAImjS,EAAKxkS,EAASgN,KAE1B,CACDluC,IAAK,gBACLqC,MAAO,WACL,IAAI0zD,EAASpzD,KAETu+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9EorC,EAAWprC,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK6iF,EAE/E6hP,EAAgB/7L,EAAc,GAAI9oI,KAAKu+B,QAASA,EAAS,CAC3DykS,SAAS,IAGPpvS,EAAQ,IAAImvS,EAAK8B,GACjBC,EAAgB,CAAC,QAAS,WAAY,YAqB1C,OApBAA,EAAc/vS,SAAQ,SAAU9yB,GAC9B2xB,EAAM3xB,GAAKmxD,EAAOnxD,MAEpB2xB,EAAMyjS,SAAWvuL,EAAc,GAAI9oI,KAAKq3T,UACxCzjS,EAAMyjS,SAASljF,MAAQ,CACrBonF,mBAAoB3nS,EAAM2nS,mBAAmB14T,KAAK+wB,IAEpDA,EAAMsjS,WAAa,IAAIE,EAAWxjS,EAAMyjS,SAAUzjS,EAAM2K,SACxD3K,EAAMsjS,WAAWh8Q,GAAG,KAAK,SAAU51B,GACjC,IAAK,IAAI4mH,EAAQ/rI,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAMyrI,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGzoF,EAAKyoF,EAAQ,GAAKhsI,UAAUgsI,GAG9Bv4G,EAAM4iS,KAAKp2T,MAAMwzB,EAAO,CAACtO,GAAOkD,OAAOk7B,OAEzC9vB,EAAM7tB,KAAK8+T,EAAet5R,GAC1B3X,EAAMsjS,WAAW34R,QAAU3K,EAAM2K,QACjC3K,EAAMsjS,WAAW+C,iBAAiB5C,SAASljF,MAAQ,CACjDonF,mBAAoB3nS,EAAM2nS,mBAAmB14T,KAAK+wB,IAE7CA,MAIJmvS,EAngBE,CAogBTjgK,IAIaggK,O,8BC5vEf3lU,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQq9B,aAAU,EAElB,IAEgCwM,EAF5Bg0H,GAE4Bh0H,EAFS5pC,EAAQ,MAEI4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAI7S,IAAIgoU,EAA6C,WAC/C,SAASA,EAA8BrqT,GACrC,IAAIiqD,EAAWxkE,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,aAEnF7D,EAAgB0D,KAAM+kU,GAEtB/kU,KAAK0a,QAAUA,EACf1a,KAAK2kE,SAAWA,EATpB,IAAsBnoE,EAAae,EAAYC,EAwC7C,OAxCoBhB,EAYPuoU,GAZoBxnU,EAYW,CAAC,CAC3CF,IAAK,qBACLqC,MAAO,WACLM,KAAK0wJ,kBAAoBsD,EAAYxgI,QAAQwxS,qBAAqBhlU,KAAK0a,SAEvE,IAAK,IAAI7d,EAAI,EAAGA,EAAImD,KAAK0wJ,kBAAkB5zJ,OAAQD,IACjDmD,KAAK0wJ,kBAAkB7zJ,GAAGy2B,iBAAiB,SAAUtzB,KAAK2kE,YAG7D,CACDtnE,IAAK,uBACLqC,MAAO,WACL,GAAIM,KAAK0wJ,kBACP,IAAK,IAAI7zJ,EAAI,EAAGA,EAAImD,KAAK0wJ,kBAAkB5zJ,OAAQD,IACjDmD,KAAK0wJ,kBAAkB7zJ,GAAGioE,oBAAoB,SAAU9kE,KAAK2kE,YAIlE,CACDtnE,IAAK,UACLqC,MAAO,WACLM,KAAK4kK,uBACL5kK,KAAK0a,QAAU,KACf1a,KAAK2kE,SAAW,KAChB3kE,KAAK0wJ,kBAAoB,UApC+Ch0J,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAwC3KunU,EAtCwC,GAyCjD5uU,EAAQq9B,QAAUuxS,G,6BCxDlB5nU,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQu4H,eAAY,EAEpB,IAAI6L,EAkBJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAlBntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CwkI,EAAcxkI,EAAQ,IAEtB6uU,EAAa7+Q,EAAuBhwD,EAAQ,MAE5CykI,EAAWzkI,EAAQ,IAEnB49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7C0kI,EAAe10E,EAAuBhwD,EAAQ,KAElD,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAIhT,SAASzD,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI0uF,EAAyB,SAAUiN,IAhBvC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUqvH,EAAWiN,GAErB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa+uH,GAE1B,SAASA,EAAU9xH,GACjB,IAAI24C,EAOJ,OAnCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAM0uH,IAEtBn5E,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBsoU,QAAU3vR,EAAM2vR,QAAQriU,KAAK44H,EAAuBlmF,IAC1DA,EAAM4vR,WAAa5vR,EAAM4vR,WAAWtiU,KAAK44H,EAAuBlmF,IACzDA,EAsFT,OArHoB/4C,EAkCPkyH,GAlCoBnxH,EAkCT,CAAC,CACvBF,IAAK,aACLqC,MAAO,SAAoB4lB,GACrBtlB,KAAKpD,MAAMuoU,YACbnlU,KAAKpD,MAAMuoU,WAAW7/S,GAGpBtlB,KAAKpD,MAAMwoU,WACbH,EAAWzxS,QAAQ2xS,WAAW7/S,EAAOtlB,KAAKpD,MAAMwoU,UAAWplU,KAAKpD,MAAMyoU,gBAGzE,CACDhoU,IAAK,UACLqC,MAAO,SAAiB4lB,GACtB,IAAIggT,GAAkB,EAElBtlU,KAAKpD,MAAMwoU,WAAaplU,KAAKpD,MAAMyoU,eACrCC,EAAkBL,EAAWzxS,QAAQg0F,SAASliG,EAAOtlB,KAAKpD,MAAMwoU,YAG9DplU,KAAKpD,MAAMsoU,SACbllU,KAAKpD,MAAMsoU,QAAQ5/S,EAAOggT,GAGvBtlU,KAAKpD,MAAMwvH,WACV9mG,EAAM3oB,OAAO+C,MAAM5C,OAAS,EAAGk3J,EAAYxgI,QAAQ8jB,SAAShyB,EAAM3oB,OAAQ,YAAiBq3J,EAAYxgI,QAAQ+zD,YAAYjiE,EAAM3oB,OAAQ,eAGhJ,CACDU,IAAK,oBACLqC,MAAO,WACDM,KAAKpD,MAAMg/H,SACb57H,KAAK67H,kBAGR,CACDx+H,IAAK,qBACLqC,MAAO,SAA4Bo8H,GAC7BA,EAAUF,UAAY57H,KAAKpD,MAAMg/H,UAC/B57H,KAAK47H,QAAS57H,KAAK47H,QAAQG,cAAc/7H,KAAKpD,MAAMg/H,SAAc57H,KAAK67H,mBAG9E,CACDx+H,IAAK,uBACLqC,MAAO,WACDM,KAAK47H,UACP57H,KAAK47H,QAAQ7/E,UACb/7C,KAAK47H,QAAU,QAGlB,CACDv+H,IAAK,gBACLqC,MAAO,WACLM,KAAK47H,SAAU,EAAIf,EAASmB,KAAK,CAC/Br/H,OAAQqD,KAAK0a,QACbiN,QAAS3nB,KAAKpD,MAAMg/H,QACpBr9F,QAASv+B,KAAKpD,MAAMq/H,mBAGvB,CACD5+H,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAET2kB,GAAY,EAAIi2G,EAAYtP,YAAY,0BAA2BtrH,KAAKpD,MAAM+nB,UAAW,CAC3F,aAAc3kB,KAAKpD,MAAMgsF,SACzB,WAAgC,MAApB5oF,KAAKpD,MAAM8C,OAAiBM,KAAKpD,MAAM8C,MAAM0M,WAAWtP,OAAS,GAAgC,MAA3BkD,KAAKpD,MAAM2qH,cAAwBvnH,KAAKpD,MAAM2qH,aAAan7G,WAAWtP,OAAS,IAG/J6/I,EAAa7hB,EAAatnG,QAAQmpG,aAAa38H,KAAKpD,MAAO8xH,EAAUkO,cAEzE,OAAoBrC,EAAO/mG,QAAQ5Y,cAAc,QAAS6sB,EAAS,CACjE2mC,IAAK,SAAaruC,GAChB,OAAOsc,EAAO3hC,QAAUqlB,IAEzB48G,EAAY,CACbh4H,UAAWA,EACXugT,QAASllU,KAAKklU,QACdC,WAAYnlU,KAAKmlU,mBAhHqDzoU,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAqH3KkxH,EAnGoB,CAoG3B6L,EAAOuC,WAET3mI,EAAQu4H,UAAYA,EAEpB1iE,EAAgB0iE,EAAW,eAAgB,CACzCw2M,QAAS,KACTC,WAAY,KACZC,UAAW,KACXC,cAAc,EACdzpM,QAAS,KACTK,eAAgB,OAGlBjwE,EAAgB0iE,EAAW,YAAa,CACtCw2M,QAASvqM,EAAWnnG,QAAQi8B,KAC5B01Q,WAAYxqM,EAAWnnG,QAAQi8B,KAC/B21Q,UAAWzqM,EAAWnnG,QAAQy2F,IAC9Bo7M,aAAc1qM,EAAWnnG,QAAQs2F,KACjC8R,QAASjB,EAAWnnG,QAAQw2F,OAC5BiS,eAAgBtB,EAAWnnG,QAAQ1wB,U,8BC5KrC,YAUA,IAAIg2S,EAAS1iT,EAAQ,KACjBmvU,EAAUnvU,EAAQ,KAClBsK,EAAUtK,EAAQ,KAmDtB,SAASovU,IACP,OAAO/wF,EAAOgxF,oBACV,WACA,WAGN,SAASC,EAAcp5T,EAAMxP,GAC3B,GAAI0oU,IAAe1oU,EACjB,MAAM,IAAI6oU,WAAW,8BAcvB,OAZIlxF,EAAOgxF,qBAETn5T,EAAO,IAAIkrE,WAAW16E,IACjB8qC,UAAY6sM,EAAOh3O,WAGX,OAAT6O,IACFA,EAAO,IAAImoO,EAAO33O,IAEpBwP,EAAKxP,OAASA,GAGTwP,EAaT,SAASmoO,EAAQ/gH,EAAKkyM,EAAkB9oU,GACtC,IAAK23O,EAAOgxF,uBAAyBzlU,gBAAgBy0O,GACnD,OAAO,IAAIA,EAAO/gH,EAAKkyM,EAAkB9oU,GAI3C,GAAmB,kBAAR42H,EAAkB,CAC3B,GAAgC,kBAArBkyM,EACT,MAAM,IAAI1mS,MACR,qEAGJ,OAAO41M,EAAY90O,KAAM0zH,GAE3B,OAAO36G,EAAK/Y,KAAM0zH,EAAKkyM,EAAkB9oU,GAW3C,SAASic,EAAMzM,EAAM5M,EAAOkmU,EAAkB9oU,GAC5C,GAAqB,kBAAV4C,EACT,MAAM,IAAIjD,UAAU,yCAGtB,MAA2B,qBAAhB6wK,aAA+B5tK,aAAiB4tK,YA6H7D,SAA0BhhK,EAAMy2C,EAAO8iR,EAAY/oU,GAGjD,GAFAimD,EAAMwyJ,WAEFswH,EAAa,GAAK9iR,EAAMwyJ,WAAaswH,EACvC,MAAM,IAAIF,WAAW,6BAGvB,GAAI5iR,EAAMwyJ,WAAaswH,GAAc/oU,GAAU,GAC7C,MAAM,IAAI6oU,WAAW,6BAIrB5iR,OADiBnjB,IAAfimS,QAAuCjmS,IAAX9iC,EACtB,IAAI06E,WAAWz0B,QACHnjB,IAAX9iC,EACD,IAAI06E,WAAWz0B,EAAO8iR,GAEtB,IAAIruP,WAAWz0B,EAAO8iR,EAAY/oU,GAGxC23O,EAAOgxF,qBAETn5T,EAAOy2C,GACFnb,UAAY6sM,EAAOh3O,UAGxB6O,EAAOw5T,EAAcx5T,EAAMy2C,GAE7B,OAAOz2C,EAvJEy5T,CAAgBz5T,EAAM5M,EAAOkmU,EAAkB9oU,GAGnC,kBAAV4C,EAwFb,SAAqB4M,EAAM09G,EAAQs1E,GACT,kBAAbA,GAAsC,KAAbA,IAClCA,EAAW,QAGb,IAAKm1C,EAAOuxF,WAAW1mI,GACrB,MAAM,IAAI7iM,UAAU,8CAGtB,IAAIK,EAAwC,EAA/By4M,EAAWvrF,EAAQs1E,GAG5B2mI,GAFJ35T,EAAOo5T,EAAap5T,EAAMxP,IAER+6L,MAAM7tE,EAAQs1E,GAE5B2mI,IAAWnpU,IAIbwP,EAAOA,EAAK0lC,MAAM,EAAGi0R,IAGvB,OAAO35T,EA5GEk3N,CAAWl3N,EAAM5M,EAAOkmU,GAsJnC,SAAqBt5T,EAAM0zB,GACzB,GAAIy0M,EAAOvnE,SAASltI,GAAM,CACxB,IAAIgF,EAA4B,EAAtBmnF,EAAQnsF,EAAIljC,QAGtB,OAAoB,KAFpBwP,EAAOo5T,EAAap5T,EAAM04B,IAEjBloC,QAITkjC,EAAIqE,KAAK/3B,EAAM,EAAG,EAAG04B,GAHZ14B,EAOX,GAAI0zB,EAAK,CACP,GAA4B,qBAAhBstI,aACRttI,EAAIwtI,kBAAkBF,aAAgB,WAAYttI,EACpD,MAA0B,kBAAfA,EAAIljC,SA+8CL4mB,EA/8CkCsc,EAAIljC,UAg9CrC4mB,EA/8CFgiT,EAAap5T,EAAM,GAErBw5T,EAAcx5T,EAAM0zB,GAG7B,GAAiB,WAAbA,EAAI/uB,MAAqBvQ,EAAQs/B,EAAIhvB,MACvC,OAAO80T,EAAcx5T,EAAM0zB,EAAIhvB,MAw8CrC,IAAgB0S,EAp8Cd,MAAM,IAAIjnB,UAAU,sFA9KbypU,CAAW55T,EAAM5M,GA4B1B,SAASymU,EAAYjhQ,GACnB,GAAoB,kBAATA,EACT,MAAM,IAAIzoE,UAAU,oCACf,GAAIyoE,EAAO,EAChB,MAAM,IAAIygQ,WAAW,wCA4BzB,SAAS7wF,EAAaxoO,EAAM44D,GAG1B,GAFAihQ,EAAWjhQ,GACX54D,EAAOo5T,EAAap5T,EAAM44D,EAAO,EAAI,EAAoB,EAAhBinD,EAAQjnD,KAC5CuvK,EAAOgxF,oBACV,IAAK,IAAI5oU,EAAI,EAAGA,EAAIqoE,IAAQroE,EAC1ByP,EAAKzP,GAAK,EAGd,OAAOyP,EAwCT,SAASw5T,EAAex5T,EAAMy2C,GAC5B,IAAIjmD,EAASimD,EAAMjmD,OAAS,EAAI,EAA4B,EAAxBqvH,EAAQppE,EAAMjmD,QAClDwP,EAAOo5T,EAAap5T,EAAMxP,GAC1B,IAAK,IAAID,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EAC/ByP,EAAKzP,GAAgB,IAAXkmD,EAAMlmD,GAElB,OAAOyP,EA+DT,SAAS6/G,EAASrvH,GAGhB,GAAIA,GAAU0oU,IACZ,MAAM,IAAIG,WAAW,0DACaH,IAAap5T,SAAS,IAAM,UAEhE,OAAgB,EAATtP,EAsFT,SAASy4M,EAAYvrF,EAAQs1E,GAC3B,GAAIm1C,EAAOvnE,SAASljD,GAClB,OAAOA,EAAOltH,OAEhB,GAA2B,qBAAhBwwK,aAA6D,oBAAvBA,YAAYC,SACxDD,YAAYC,OAAOvjD,IAAWA,aAAkBsjD,aACnD,OAAOtjD,EAAOurF,WAEM,kBAAXvrF,IACTA,EAAS,GAAKA,GAGhB,IAAIhlF,EAAMglF,EAAOltH,OACjB,GAAY,IAARkoC,EAAW,OAAO,EAItB,IADA,IAAIohS,GAAc,IAEhB,OAAQ9mI,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOt6J,EACT,IAAK,OACL,IAAK,QACL,UAAKpF,EACH,OAAOymS,EAAYr8M,GAAQltH,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAANkoC,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOshS,EAAct8M,GAAQltH,OAC/B,QACE,GAAIspU,EAAa,OAAOC,EAAYr8M,GAAQltH,OAC5CwiM,GAAY,GAAKA,GAAUzmL,cAC3ButT,GAAc,GAMtB,SAASG,EAAcjnI,EAAUxnL,EAAOw7B,GACtC,IAAI8yR,GAAc,EAclB,SALcxmS,IAAV9nB,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQ9X,KAAKlD,OACf,MAAO,GAOT,SAJY8iC,IAAR0T,GAAqBA,EAAMtzC,KAAKlD,UAClCw2C,EAAMtzC,KAAKlD,QAGTw2C,GAAO,EACT,MAAO,GAOT,IAHAA,KAAS,KACTx7B,KAAW,GAGT,MAAO,GAKT,IAFKwnL,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,OAAOknI,EAASxmU,KAAM8X,EAAOw7B,GAE/B,IAAK,OACL,IAAK,QACH,OAAOmzR,EAAUzmU,KAAM8X,EAAOw7B,GAEhC,IAAK,QACH,OAAOozR,EAAW1mU,KAAM8X,EAAOw7B,GAEjC,IAAK,SACL,IAAK,SACH,OAAOqzR,EAAY3mU,KAAM8X,EAAOw7B,GAElC,IAAK,SACH,OAAOszR,EAAY5mU,KAAM8X,EAAOw7B,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOuzR,EAAa7mU,KAAM8X,EAAOw7B,GAEnC,QACE,GAAI8yR,EAAa,MAAM,IAAI3pU,UAAU,qBAAuB6iM,GAC5DA,GAAYA,EAAW,IAAIzmL,cAC3ButT,GAAc,GAStB,SAASU,EAAM58T,EAAGrJ,EAAGoB,GACnB,IAAIpF,EAAIqN,EAAErJ,GACVqJ,EAAErJ,GAAKqJ,EAAEjI,GACTiI,EAAEjI,GAAKpF,EAmIT,SAASkqU,EAAsBv5J,EAAQ9pJ,EAAKmiT,EAAYvmI,EAAUllL,GAEhE,GAAsB,IAAlBozJ,EAAO1wK,OAAc,OAAQ,EAmBjC,GAhB0B,kBAAf+oU,GACTvmI,EAAWumI,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAEhBA,GAAcA,EACV73T,MAAM63T,KAERA,EAAazrT,EAAM,EAAKozJ,EAAO1wK,OAAS,GAItC+oU,EAAa,IAAGA,EAAar4J,EAAO1wK,OAAS+oU,GAC7CA,GAAcr4J,EAAO1wK,OAAQ,CAC/B,GAAIsd,EAAK,OAAQ,EACZyrT,EAAar4J,EAAO1wK,OAAS,OAC7B,GAAI+oU,EAAa,EAAG,CACzB,IAAIzrT,EACC,OAAQ,EADJyrT,EAAa,EAUxB,GALmB,kBAARniT,IACTA,EAAM+wN,EAAO17N,KAAK2K,EAAK47K,IAIrBm1C,EAAOvnE,SAASxpJ,GAElB,OAAmB,IAAfA,EAAI5mB,QACE,EAEHkqU,EAAax5J,EAAQ9pJ,EAAKmiT,EAAYvmI,EAAUllL,GAClD,GAAmB,kBAARsJ,EAEhB,OADAA,GAAY,IACR+wN,EAAOgxF,qBACiC,oBAAjCjuP,WAAW/5E,UAAU4M,QAC1B+P,EACKo9D,WAAW/5E,UAAU4M,QAAQrI,KAAKwrK,EAAQ9pJ,EAAKmiT,GAE/CruP,WAAW/5E,UAAU21C,YAAYpxC,KAAKwrK,EAAQ9pJ,EAAKmiT,GAGvDmB,EAAax5J,EAAQ,CAAE9pJ,GAAOmiT,EAAYvmI,EAAUllL,GAG7D,MAAM,IAAI3d,UAAU,wCAGtB,SAASuqU,EAAc/xR,EAAKvxB,EAAKmiT,EAAYvmI,EAAUllL,GACrD,IA0BIvd,EA1BAoqU,EAAY,EACZC,EAAYjyR,EAAIn4C,OAChBqqU,EAAYzjT,EAAI5mB,OAEpB,QAAiB8iC,IAAb0/J,IAEe,UADjBA,EAAW3nK,OAAO2nK,GAAUzmL,gBACY,UAAbymL,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAIrqJ,EAAIn4C,OAAS,GAAK4mB,EAAI5mB,OAAS,EACjC,OAAQ,EAEVmqU,EAAY,EACZC,GAAa,EACbC,GAAa,EACbtB,GAAc,EAIlB,SAAS5/G,EAAM94K,EAAKtwC,GAClB,OAAkB,IAAdoqU,EACK95R,EAAItwC,GAEJswC,EAAIi6R,aAAavqU,EAAIoqU,GAKhC,GAAI7sT,EAAK,CACP,IAAIitT,GAAc,EAClB,IAAKxqU,EAAIgpU,EAAYhpU,EAAIqqU,EAAWrqU,IAClC,GAAIopN,EAAKhxK,EAAKp4C,KAAOopN,EAAKviM,GAAqB,IAAhB2jT,EAAoB,EAAIxqU,EAAIwqU,IAEzD,IADoB,IAAhBA,IAAmBA,EAAaxqU,GAChCA,EAAIwqU,EAAa,IAAMF,EAAW,OAAOE,EAAaJ,OAEtC,IAAhBI,IAAmBxqU,GAAKA,EAAIwqU,GAChCA,GAAc,OAKlB,IADIxB,EAAasB,EAAYD,IAAWrB,EAAaqB,EAAYC,GAC5DtqU,EAAIgpU,EAAYhpU,GAAK,EAAGA,IAAK,CAEhC,IADA,IAAIs+T,GAAQ,EACH/hT,EAAI,EAAGA,EAAI+tT,EAAW/tT,IAC7B,GAAI6sM,EAAKhxK,EAAKp4C,EAAIuc,KAAO6sM,EAAKviM,EAAKtK,GAAI,CACrC+hT,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOt+T,EAItB,OAAQ,EAeV,SAASyqU,EAAUn6R,EAAK68E,EAAQ/0G,EAAQnY,GACtCmY,EAASpH,OAAOoH,IAAW,EAC3B,IAAIsyT,EAAYp6R,EAAIrwC,OAASmY,EACxBnY,GAGHA,EAAS+Q,OAAO/Q,IACHyqU,IACXzqU,EAASyqU,GAJXzqU,EAASyqU,EASX,IAAIC,EAASx9M,EAAOltH,OACpB,GAAI0qU,EAAS,IAAM,EAAG,MAAM,IAAI/qU,UAAU,sBAEtCK,EAAS0qU,EAAS,IACpB1qU,EAAS0qU,EAAS,GAEpB,IAAK,IAAI3qU,EAAI,EAAGA,EAAIC,IAAUD,EAAG,CAC/B,IAAI4qU,EAASvpT,SAAS8rG,EAAOnoG,OAAW,EAAJhlB,EAAO,GAAI,IAC/C,GAAImR,MAAMy5T,GAAS,OAAO5qU,EAC1BswC,EAAIl4B,EAASpY,GAAK4qU,EAEpB,OAAO5qU,EAGT,SAAS6qU,EAAWv6R,EAAK68E,EAAQ/0G,EAAQnY,GACvC,OAAO6qU,EAAWtB,EAAYr8M,EAAQ78E,EAAIrwC,OAASmY,GAASk4B,EAAKl4B,EAAQnY,GAG3E,SAAS8qU,EAAYz6R,EAAK68E,EAAQ/0G,EAAQnY,GACxC,OAAO6qU,EAq6BT,SAAuBjkN,GAErB,IADA,IAAImkN,EAAY,GACPhrU,EAAI,EAAGA,EAAI6mH,EAAI5mH,SAAUD,EAEhCgrU,EAAU/gU,KAAyB,IAApB48G,EAAIr4E,WAAWxuC,IAEhC,OAAOgrU,EA36BWC,CAAa99M,GAAS78E,EAAKl4B,EAAQnY,GAGvD,SAASirU,EAAa56R,EAAK68E,EAAQ/0G,EAAQnY,GACzC,OAAO8qU,EAAWz6R,EAAK68E,EAAQ/0G,EAAQnY,GAGzC,SAASkrU,EAAa76R,EAAK68E,EAAQ/0G,EAAQnY,GACzC,OAAO6qU,EAAWrB,EAAct8M,GAAS78E,EAAKl4B,EAAQnY,GAGxD,SAASmrU,EAAW96R,EAAK68E,EAAQ/0G,EAAQnY,GACvC,OAAO6qU,EAk6BT,SAAyBjkN,EAAKwkN,GAG5B,IAFA,IAAIhmU,EAAG+0N,EAAIkxG,EACPN,EAAY,GACPhrU,EAAI,EAAGA,EAAI6mH,EAAI5mH,WACjBorU,GAAS,GAAK,KADarrU,EAGhCqF,EAAIwhH,EAAIr4E,WAAWxuC,GACnBo6N,EAAK/0N,GAAK,EACVimU,EAAKjmU,EAAI,IACT2lU,EAAU/gU,KAAKqhU,GACfN,EAAU/gU,KAAKmwN,GAGjB,OAAO4wG,EA/6BWO,CAAep+M,EAAQ78E,EAAIrwC,OAASmY,GAASk4B,EAAKl4B,EAAQnY,GAkF9E,SAAS8pU,EAAaz5R,EAAKr1B,EAAOw7B,GAChC,OAAc,IAAVx7B,GAAew7B,IAAQnG,EAAIrwC,OACtBg8S,EAAOuvB,cAAcl7R,GAErB2rQ,EAAOuvB,cAAcl7R,EAAI6E,MAAMl6B,EAAOw7B,IAIjD,SAASmzR,EAAWt5R,EAAKr1B,EAAOw7B,GAC9BA,EAAMnsC,KAAK6K,IAAIm7B,EAAIrwC,OAAQw2C,GAI3B,IAHA,IAAIy4F,EAAM,GAENlvI,EAAIib,EACDjb,EAAIy2C,GAAK,CACd,IAQMg1R,EAAYC,EAAWC,EAAYC,EARrCC,EAAYv7R,EAAItwC,GAChB8rU,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,EAEJ,GAAI7rU,EAAI+rU,GAAoBt1R,EAG1B,OAAQs1R,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EAEyB,OAAV,KADlBJ,EAAan7R,EAAItwC,EAAI,OAEnB4rU,GAA6B,GAAZC,IAAqB,EAAoB,GAAbJ,GACzB,MAClBK,EAAYF,GAGhB,MACF,KAAK,EACHH,EAAan7R,EAAItwC,EAAI,GACrB0rU,EAAYp7R,EAAItwC,EAAI,GACQ,OAAV,IAAbyrU,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAmB,GAAZC,GACrD,OAAUE,EAAgB,OAAUA,EAAgB,SACtEE,EAAYF,GAGhB,MACF,KAAK,EACHH,EAAan7R,EAAItwC,EAAI,GACrB0rU,EAAYp7R,EAAItwC,EAAI,GACpB2rU,EAAar7R,EAAItwC,EAAI,GACO,OAAV,IAAbyrU,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,GAClF,OAAUC,EAAgB,UAC5CE,EAAYF,GAMJ,OAAdE,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACb58L,EAAIjlI,KAAK6hU,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvB58L,EAAIjlI,KAAK6hU,GACT9rU,GAAK+rU,EAGP,OAQF,SAAgCC,GAC9B,IAAI7jS,EAAM6jS,EAAW/rU,OACrB,GAAIkoC,GAJqB,KAKvB,OAAOrN,OAAOE,aAAaz3B,MAAMu3B,OAAQkxS,GAI3C,IAAI98L,EAAM,GACNlvI,EAAI,EACR,KAAOA,EAAImoC,GACT+mG,GAAOp0G,OAAOE,aAAaz3B,MACzBu3B,OACAkxS,EAAW72R,MAAMn1C,EAAGA,GAdC,OAiBzB,OAAOkvI,EAvBA+8L,CAAsB/8L,GA98B/B51I,EAAQs+O,OAASA,EACjBt+O,EAAQ4yU,WAoTR,SAAqBjsU,IACdA,GAAUA,IACbA,EAAS,GAEX,OAAO23O,EAAOI,OAAO/3O,IAvTvB3G,EAAQ6yU,kBAAoB,GA0B5Bv0F,EAAOgxF,yBAAqD7lS,IAA/B0mF,EAAOm/M,oBAChCn/M,EAAOm/M,oBAQX,WACE,IACE,IAAIxwR,EAAM,IAAIuiC,WAAW,GAEzB,OADAviC,EAAIrN,UAAY,CAACA,UAAW4vC,WAAW/5E,UAAWyjM,IAAK,WAAc,OAAO,KACvD,KAAdjsJ,EAAIisJ,OACiB,oBAAjBjsJ,EAAIohK,UACuB,IAAlCphK,EAAIohK,SAAS,EAAG,GAAGd,WACvB,MAAOx0M,GACP,OAAO,GAfPkoU,GAKJ9yU,EAAQqvU,WAAaA,IAkErB/wF,EAAOy0F,SAAW,KAGlBz0F,EAAO00F,SAAW,SAAUl0R,GAE1B,OADAA,EAAIrN,UAAY6sM,EAAOh3O,UAChBw3C,GA2BTw/L,EAAO17N,KAAO,SAAUrZ,EAAOkmU,EAAkB9oU,GAC/C,OAAOic,EAAK,KAAMrZ,EAAOkmU,EAAkB9oU,IAGzC23O,EAAOgxF,sBACThxF,EAAOh3O,UAAUmqC,UAAY4vC,WAAW/5E,UACxCg3O,EAAO7sM,UAAY4vC,WACG,qBAAXj3E,QAA0BA,OAAO6oU,SACxC30F,EAAOl0O,OAAO6oU,WAAa30F,GAE7Bt3O,OAAOC,eAAeq3O,EAAQl0O,OAAO6oU,QAAS,CAC5C1pU,MAAO,KACPzC,cAAc,KAiCpBw3O,EAAOI,MAAQ,SAAU3vK,EAAMvvD,EAAM2pL,GACnC,OArBF,SAAgBhzL,EAAM44D,EAAMvvD,EAAM2pL,GAEhC,OADA6mI,EAAWjhQ,GACPA,GAAQ,EACHwgQ,EAAap5T,EAAM44D,QAEftlC,IAATjqB,EAIyB,kBAAb2pL,EACVomI,EAAap5T,EAAM44D,GAAMvvD,KAAKA,EAAM2pL,GACpComI,EAAap5T,EAAM44D,GAAMvvD,KAAKA,GAE7B+vT,EAAap5T,EAAM44D,GAQnB2vK,CAAM,KAAM3vK,EAAMvvD,EAAM2pL,IAiBjCm1C,EAAOK,YAAc,SAAU5vK,GAC7B,OAAO4vK,EAAY,KAAM5vK,IAK3BuvK,EAAO40F,gBAAkB,SAAUnkQ,GACjC,OAAO4vK,EAAY,KAAM5vK,IAiH3BuvK,EAAOvnE,SAAW,SAAmBhjK,GACnC,QAAe,MAALA,IAAaA,EAAEo/T,YAG3B70F,EAAOtvF,QAAU,SAAkBx4I,EAAGzC,GACpC,IAAKuqO,EAAOvnE,SAASvgK,KAAO8nO,EAAOvnE,SAAShjK,GAC1C,MAAM,IAAIzN,UAAU,6BAGtB,GAAIkQ,IAAMzC,EAAG,OAAO,EAKpB,IAHA,IAAI2C,EAAIF,EAAE7P,OACNgQ,EAAI5C,EAAEpN,OAEDD,EAAI,EAAGmoC,EAAM79B,KAAK6K,IAAInF,EAAGC,GAAIjQ,EAAImoC,IAAOnoC,EAC/C,GAAI8P,EAAE9P,KAAOqN,EAAErN,GAAI,CACjBgQ,EAAIF,EAAE9P,GACNiQ,EAAI5C,EAAErN,GACN,MAIJ,OAAIgQ,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GAGT4nO,EAAOuxF,WAAa,SAAqB1mI,GACvC,OAAQ3nK,OAAO2nK,GAAUzmL,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIb47N,EAAOjsN,OAAS,SAAiBhB,EAAM1qB,GACrC,IAAK4D,EAAQ8mB,GACX,MAAM,IAAI/qB,UAAU,+CAGtB,GAAoB,IAAhB+qB,EAAK1qB,OACP,OAAO23O,EAAOI,MAAM,GAGtB,IAAIh4O,EACJ,QAAe+iC,IAAX9iC,EAEF,IADAA,EAAS,EACJD,EAAI,EAAGA,EAAI2qB,EAAK1qB,SAAUD,EAC7BC,GAAU0qB,EAAK3qB,GAAGC,OAItB,IAAI0wK,EAASinE,EAAOK,YAAYh4O,GAC5Bq2C,EAAM,EACV,IAAKt2C,EAAI,EAAGA,EAAI2qB,EAAK1qB,SAAUD,EAAG,CAChC,IAAIswC,EAAM3lB,EAAK3qB,GACf,IAAK43O,EAAOvnE,SAAS//H,GACnB,MAAM,IAAI1wC,UAAU,+CAEtB0wC,EAAI9I,KAAKmpI,EAAQr6H,GACjBA,GAAOhG,EAAIrwC,OAEb,OAAO0wK,GA8CTinE,EAAOl/B,WAAaA,EA0EpBk/B,EAAOh3O,UAAU6rU,WAAY,EAQ7B70F,EAAOh3O,UAAU8rU,OAAS,WACxB,IAAIvkS,EAAMhlC,KAAKlD,OACf,GAAIkoC,EAAM,IAAM,EACd,MAAM,IAAI2gS,WAAW,6CAEvB,IAAK,IAAI9oU,EAAI,EAAGA,EAAImoC,EAAKnoC,GAAK,EAC5BiqU,EAAK9mU,KAAMnD,EAAGA,EAAI,GAEpB,OAAOmD,MAGTy0O,EAAOh3O,UAAU+rU,OAAS,WACxB,IAAIxkS,EAAMhlC,KAAKlD,OACf,GAAIkoC,EAAM,IAAM,EACd,MAAM,IAAI2gS,WAAW,6CAEvB,IAAK,IAAI9oU,EAAI,EAAGA,EAAImoC,EAAKnoC,GAAK,EAC5BiqU,EAAK9mU,KAAMnD,EAAGA,EAAI,GAClBiqU,EAAK9mU,KAAMnD,EAAI,EAAGA,EAAI,GAExB,OAAOmD,MAGTy0O,EAAOh3O,UAAUgsU,OAAS,WACxB,IAAIzkS,EAAMhlC,KAAKlD,OACf,GAAIkoC,EAAM,IAAM,EACd,MAAM,IAAI2gS,WAAW,6CAEvB,IAAK,IAAI9oU,EAAI,EAAGA,EAAImoC,EAAKnoC,GAAK,EAC5BiqU,EAAK9mU,KAAMnD,EAAGA,EAAI,GAClBiqU,EAAK9mU,KAAMnD,EAAI,EAAGA,EAAI,GACtBiqU,EAAK9mU,KAAMnD,EAAI,EAAGA,EAAI,GACtBiqU,EAAK9mU,KAAMnD,EAAI,EAAGA,EAAI,GAExB,OAAOmD,MAGTy0O,EAAOh3O,UAAU2O,SAAW,WAC1B,IAAItP,EAAuB,EAAdkD,KAAKlD,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArBqD,UAAUrD,OAAqB2pU,EAAUzmU,KAAM,EAAGlD,GAC/CypU,EAAanmU,MAAMJ,KAAMG,YAGlCs0O,EAAOh3O,UAAU8iE,OAAS,SAAiBr2D,GACzC,IAAKuqO,EAAOvnE,SAAShjK,GAAI,MAAM,IAAIzN,UAAU,6BAC7C,OAAIuD,OAASkK,GACsB,IAA5BuqO,EAAOtvF,QAAQnlJ,KAAMkK,IAG9BuqO,EAAOh3O,UAAUisU,QAAU,WACzB,IAAIhmN,EAAM,GACNxxG,EAAM/b,EAAQ6yU,kBAKlB,OAJIhpU,KAAKlD,OAAS,IAChB4mH,EAAM1jH,KAAKoM,SAAS,MAAO,EAAG8F,GAAK1I,MAAM,SAAS6C,KAAK,KACnDrM,KAAKlD,OAASoV,IAAKwxG,GAAO,UAEzB,WAAaA,EAAM,KAG5B+wH,EAAOh3O,UAAU0nJ,QAAU,SAAkBxoJ,EAAQmb,EAAOw7B,EAAKq2R,EAAWC,GAC1E,IAAKn1F,EAAOvnE,SAASvwK,GACnB,MAAM,IAAIF,UAAU,6BAgBtB,QAbcmjC,IAAV9nB,IACFA,EAAQ,QAEE8nB,IAAR0T,IACFA,EAAM32C,EAASA,EAAOG,OAAS,QAEf8iC,IAAd+pS,IACFA,EAAY,QAEE/pS,IAAZgqS,IACFA,EAAU5pU,KAAKlD,QAGbgb,EAAQ,GAAKw7B,EAAM32C,EAAOG,QAAU6sU,EAAY,GAAKC,EAAU5pU,KAAKlD,OACtE,MAAM,IAAI6oU,WAAW,sBAGvB,GAAIgE,GAAaC,GAAW9xT,GAASw7B,EACnC,OAAO,EAET,GAAIq2R,GAAaC,EACf,OAAQ,EAEV,GAAI9xT,GAASw7B,EACX,OAAO,EAQT,GAAItzC,OAASrD,EAAQ,OAAO,EAS5B,IAPA,IAAIkQ,GAJJ+8T,KAAa,IADbD,KAAe,GAMX78T,GAPJwmC,KAAS,IADTx7B,KAAW,GASPktB,EAAM79B,KAAK6K,IAAInF,EAAGC,GAElB+8T,EAAW7pU,KAAKgyC,MAAM23R,EAAWC,GACjCE,EAAantU,EAAOq1C,MAAMl6B,EAAOw7B,GAE5Bz2C,EAAI,EAAGA,EAAImoC,IAAOnoC,EACzB,GAAIgtU,EAAShtU,KAAOitU,EAAWjtU,GAAI,CACjCgQ,EAAIg9T,EAAShtU,GACbiQ,EAAIg9T,EAAWjtU,GACf,MAIJ,OAAIgQ,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GA6HT4nO,EAAOh3O,UAAUygI,SAAW,SAAmBx6G,EAAKmiT,EAAYvmI,GAC9D,OAAoD,IAA7Ct/L,KAAKqK,QAAQqZ,EAAKmiT,EAAYvmI,IAGvCm1C,EAAOh3O,UAAU4M,QAAU,SAAkBqZ,EAAKmiT,EAAYvmI,GAC5D,OAAOynI,EAAqB/mU,KAAM0jB,EAAKmiT,EAAYvmI,GAAU,IAG/Dm1C,EAAOh3O,UAAU21C,YAAc,SAAsB1vB,EAAKmiT,EAAYvmI,GACpE,OAAOynI,EAAqB/mU,KAAM0jB,EAAKmiT,EAAYvmI,GAAU,IAkD/Dm1C,EAAOh3O,UAAUo6L,MAAQ,SAAgB7tE,EAAQ/0G,EAAQnY,EAAQwiM,GAE/D,QAAe1/J,IAAX3qB,EACFqqL,EAAW,OACXxiM,EAASkD,KAAKlD,OACdmY,EAAS,OAEJ,QAAe2qB,IAAX9iC,GAA0C,kBAAXmY,EACxCqqL,EAAWrqL,EACXnY,EAASkD,KAAKlD,OACdmY,EAAS,MAEJ,KAAI05H,SAAS15H,GAWlB,MAAM,IAAIiqB,MACR,2EAXFjqB,GAAkB,EACd05H,SAAS7xI,IACXA,GAAkB,OACD8iC,IAAb0/J,IAAwBA,EAAW,UAEvCA,EAAWxiM,EACXA,OAAS8iC,GASb,IAAI2nS,EAAYvnU,KAAKlD,OAASmY,EAG9B,SAFe2qB,IAAX9iC,GAAwBA,EAASyqU,KAAWzqU,EAASyqU,GAEpDv9M,EAAOltH,OAAS,IAAMA,EAAS,GAAKmY,EAAS,IAAOA,EAASjV,KAAKlD,OACrE,MAAM,IAAI6oU,WAAW,0CAGlBrmI,IAAUA,EAAW,QAG1B,IADA,IAAI8mI,GAAc,IAEhB,OAAQ9mI,GACN,IAAK,MACH,OAAOgoI,EAAStnU,KAAMgqH,EAAQ/0G,EAAQnY,GAExC,IAAK,OACL,IAAK,QACH,OAAO4qU,EAAU1nU,KAAMgqH,EAAQ/0G,EAAQnY,GAEzC,IAAK,QACH,OAAO8qU,EAAW5nU,KAAMgqH,EAAQ/0G,EAAQnY,GAE1C,IAAK,SACL,IAAK,SACH,OAAOirU,EAAY/nU,KAAMgqH,EAAQ/0G,EAAQnY,GAE3C,IAAK,SAEH,OAAOkrU,EAAYhoU,KAAMgqH,EAAQ/0G,EAAQnY,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOmrU,EAAUjoU,KAAMgqH,EAAQ/0G,EAAQnY,GAEzC,QACE,GAAIspU,EAAa,MAAM,IAAI3pU,UAAU,qBAAuB6iM,GAC5DA,GAAY,GAAKA,GAAUzmL,cAC3ButT,GAAc,IAKtB3xF,EAAOh3O,UAAU8tE,OAAS,WACxB,MAAO,CACLt6D,KAAM,SACND,KAAMvQ,MAAMhD,UAAUu0C,MAAMhwC,KAAKhC,KAAK+sI,MAAQ/sI,KAAM,KA4GxD,SAAS0mU,EAAYv5R,EAAKr1B,EAAOw7B,GAC/B,IAAI31B,EAAM,GACV21B,EAAMnsC,KAAK6K,IAAIm7B,EAAIrwC,OAAQw2C,GAE3B,IAAK,IAAIz2C,EAAIib,EAAOjb,EAAIy2C,IAAOz2C,EAC7B8gB,GAAOga,OAAOE,aAAsB,IAATsV,EAAItwC,IAEjC,OAAO8gB,EAGT,SAASgpT,EAAax5R,EAAKr1B,EAAOw7B,GAChC,IAAI31B,EAAM,GACV21B,EAAMnsC,KAAK6K,IAAIm7B,EAAIrwC,OAAQw2C,GAE3B,IAAK,IAAIz2C,EAAIib,EAAOjb,EAAIy2C,IAAOz2C,EAC7B8gB,GAAOga,OAAOE,aAAasV,EAAItwC,IAEjC,OAAO8gB,EAGT,SAAS6oT,EAAUr5R,EAAKr1B,EAAOw7B,GAC7B,IAAItO,EAAMmI,EAAIrwC,SAETgb,GAASA,EAAQ,KAAGA,EAAQ,KAC5Bw7B,GAAOA,EAAM,GAAKA,EAAMtO,KAAKsO,EAAMtO,GAGxC,IADA,IAAIoR,EAAM,GACDv5C,EAAIib,EAAOjb,EAAIy2C,IAAOz2C,EAC7Bu5C,GAAO5jB,EAAM2a,EAAItwC,IAEnB,OAAOu5C,EAGT,SAASywR,EAAc15R,EAAKr1B,EAAOw7B,GAGjC,IAFA,IAAImuN,EAAQt0N,EAAI6E,MAAMl6B,EAAOw7B,GACzBy4F,EAAM,GACDlvI,EAAI,EAAGA,EAAI4kQ,EAAM3kQ,OAAQD,GAAK,EACrCkvI,GAAOp0G,OAAOE,aAAa4pO,EAAM5kQ,GAAoB,IAAf4kQ,EAAM5kQ,EAAI,IAElD,OAAOkvI,EA0CT,SAASg+L,EAAa90T,EAAQwuR,EAAK3mS,GACjC,GAAKmY,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI0wT,WAAW,sBAC3D,GAAI1wT,EAASwuR,EAAM3mS,EAAQ,MAAM,IAAI6oU,WAAW,yCA+JlD,SAASqE,EAAU78R,EAAKztC,EAAOuV,EAAQwuR,EAAKvxR,EAAKF,GAC/C,IAAKyiO,EAAOvnE,SAAS//H,GAAM,MAAM,IAAI1wC,UAAU,+CAC/C,GAAIiD,EAAQwS,GAAOxS,EAAQsS,EAAK,MAAM,IAAI2zT,WAAW,qCACrD,GAAI1wT,EAASwuR,EAAMt2P,EAAIrwC,OAAQ,MAAM,IAAI6oU,WAAW,sBAkDtD,SAASsE,EAAmB98R,EAAKztC,EAAOuV,EAAQi1T,GAC1CxqU,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAI7C,EAAI,EAAGuc,EAAIjS,KAAK6K,IAAIm7B,EAAIrwC,OAASmY,EAAQ,GAAIpY,EAAIuc,IAAKvc,EAC7DswC,EAAIl4B,EAASpY,IAAM6C,EAAS,KAAS,GAAKwqU,EAAertU,EAAI,EAAIA,MAClC,GAA5BqtU,EAAertU,EAAI,EAAIA,GA8B9B,SAASstU,EAAmBh9R,EAAKztC,EAAOuV,EAAQi1T,GAC1CxqU,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAI7C,EAAI,EAAGuc,EAAIjS,KAAK6K,IAAIm7B,EAAIrwC,OAASmY,EAAQ,GAAIpY,EAAIuc,IAAKvc,EAC7DswC,EAAIl4B,EAASpY,GAAM6C,IAAuC,GAA5BwqU,EAAertU,EAAI,EAAIA,GAAU,IAmJnE,SAASutU,EAAcj9R,EAAKztC,EAAOuV,EAAQwuR,EAAKvxR,EAAKF,GACnD,GAAIiD,EAASwuR,EAAMt2P,EAAIrwC,OAAQ,MAAM,IAAI6oU,WAAW,sBACpD,GAAI1wT,EAAS,EAAG,MAAM,IAAI0wT,WAAW,sBAGvC,SAAS0E,EAAYl9R,EAAKztC,EAAOuV,EAAQi1T,EAAcI,GAKrD,OAJKA,GACHF,EAAaj9R,EAAKztC,EAAOuV,EAAQ,GAEnCswT,EAAQ1tI,MAAM1qJ,EAAKztC,EAAOuV,EAAQi1T,EAAc,GAAI,GAC7Cj1T,EAAS,EAWlB,SAASs1T,EAAap9R,EAAKztC,EAAOuV,EAAQi1T,EAAcI,GAKtD,OAJKA,GACHF,EAAaj9R,EAAKztC,EAAOuV,EAAQ,GAEnCswT,EAAQ1tI,MAAM1qJ,EAAKztC,EAAOuV,EAAQi1T,EAAc,GAAI,GAC7Cj1T,EAAS,EA/clBw/N,EAAOh3O,UAAUu0C,MAAQ,SAAgBl6B,EAAOw7B,GAC9C,IAoBIk3R,EApBAxlS,EAAMhlC,KAAKlD,OAqBf,IApBAgb,IAAUA,GAGE,GACVA,GAASktB,GACG,IAAGltB,EAAQ,GACdA,EAAQktB,IACjBltB,EAAQktB,IANVsO,OAAc1T,IAAR0T,EAAoBtO,IAAQsO,GASxB,GACRA,GAAOtO,GACG,IAAGsO,EAAM,GACVA,EAAMtO,IACfsO,EAAMtO,GAGJsO,EAAMx7B,IAAOw7B,EAAMx7B,GAGnB28N,EAAOgxF,qBACT+E,EAASxqU,KAAKq2M,SAASv+L,EAAOw7B,IACvB1L,UAAY6sM,EAAOh3O,cACrB,CACL,IAAIgtU,EAAWn3R,EAAMx7B,EACrB0yT,EAAS,IAAI/1F,EAAOg2F,OAAU7qS,GAC9B,IAAK,IAAI/iC,EAAI,EAAGA,EAAI4tU,IAAY5tU,EAC9B2tU,EAAO3tU,GAAKmD,KAAKnD,EAAIib,GAIzB,OAAO0yT,GAWT/1F,EAAOh3O,UAAUitU,WAAa,SAAqBz1T,EAAQsgM,EAAY+0H,GACrEr1T,GAAkB,EAClBsgM,GAA0B,EACrB+0H,GAAUP,EAAY90T,EAAQsgM,EAAYv1M,KAAKlD,QAKpD,IAHA,IAAI4mB,EAAM1jB,KAAKiV,GACXk5H,EAAM,EACNtxI,EAAI,IACCA,EAAI04M,IAAepnE,GAAO,MACjCzqH,GAAO1jB,KAAKiV,EAASpY,GAAKsxI,EAG5B,OAAOzqH,GAGT+wN,EAAOh3O,UAAUktU,WAAa,SAAqB11T,EAAQsgM,EAAY+0H,GACrEr1T,GAAkB,EAClBsgM,GAA0B,EACrB+0H,GACHP,EAAY90T,EAAQsgM,EAAYv1M,KAAKlD,QAKvC,IAFA,IAAI4mB,EAAM1jB,KAAKiV,IAAWsgM,GACtBpnE,EAAM,EACHonE,EAAa,IAAMpnE,GAAO,MAC/BzqH,GAAO1jB,KAAKiV,IAAWsgM,GAAcpnE,EAGvC,OAAOzqH,GAGT+wN,EAAOh3O,UAAUmtU,UAAY,SAAoB31T,EAAQq1T,GAEvD,OADKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QACpCkD,KAAKiV,IAGdw/N,EAAOh3O,UAAUotU,aAAe,SAAuB51T,EAAQq1T,GAE7D,OADKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QACpCkD,KAAKiV,GAAWjV,KAAKiV,EAAS,IAAM,GAG7Cw/N,EAAOh3O,UAAU2pU,aAAe,SAAuBnyT,EAAQq1T,GAE7D,OADKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QACnCkD,KAAKiV,IAAW,EAAKjV,KAAKiV,EAAS,IAG7Cw/N,EAAOh3O,UAAUy0P,aAAe,SAAuBj9O,EAAQq1T,GAG7D,OAFKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,SAElCkD,KAAKiV,GACTjV,KAAKiV,EAAS,IAAM,EACpBjV,KAAKiV,EAAS,IAAM,IACD,SAAnBjV,KAAKiV,EAAS,IAGrBw/N,EAAOh3O,UAAUqtU,aAAe,SAAuB71T,EAAQq1T,GAG7D,OAFKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QAEpB,SAAfkD,KAAKiV,IACTjV,KAAKiV,EAAS,IAAM,GACrBjV,KAAKiV,EAAS,IAAM,EACrBjV,KAAKiV,EAAS,KAGlBw/N,EAAOh3O,UAAUstU,UAAY,SAAoB91T,EAAQsgM,EAAY+0H,GACnEr1T,GAAkB,EAClBsgM,GAA0B,EACrB+0H,GAAUP,EAAY90T,EAAQsgM,EAAYv1M,KAAKlD,QAKpD,IAHA,IAAI4mB,EAAM1jB,KAAKiV,GACXk5H,EAAM,EACNtxI,EAAI,IACCA,EAAI04M,IAAepnE,GAAO,MACjCzqH,GAAO1jB,KAAKiV,EAASpY,GAAKsxI,EAM5B,OAFIzqH,IAFJyqH,GAAO,OAESzqH,GAAOvc,KAAKE,IAAI,EAAG,EAAIkuM,IAEhC7xL,GAGT+wN,EAAOh3O,UAAUutU,UAAY,SAAoB/1T,EAAQsgM,EAAY+0H,GACnEr1T,GAAkB,EAClBsgM,GAA0B,EACrB+0H,GAAUP,EAAY90T,EAAQsgM,EAAYv1M,KAAKlD,QAKpD,IAHA,IAAID,EAAI04M,EACJpnE,EAAM,EACNzqH,EAAM1jB,KAAKiV,IAAWpY,GACnBA,EAAI,IAAMsxI,GAAO,MACtBzqH,GAAO1jB,KAAKiV,IAAWpY,GAAKsxI,EAM9B,OAFIzqH,IAFJyqH,GAAO,OAESzqH,GAAOvc,KAAKE,IAAI,EAAG,EAAIkuM,IAEhC7xL,GAGT+wN,EAAOh3O,UAAUwtU,SAAW,SAAmBh2T,EAAQq1T,GAErD,OADKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QACtB,IAAfkD,KAAKiV,IAC0B,GAA5B,IAAOjV,KAAKiV,GAAU,GADKjV,KAAKiV,IAI3Cw/N,EAAOh3O,UAAUytU,YAAc,SAAsBj2T,EAAQq1T,GACtDA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QAC3C,IAAI4mB,EAAM1jB,KAAKiV,GAAWjV,KAAKiV,EAAS,IAAM,EAC9C,OAAc,MAANyO,EAAsB,WAANA,EAAmBA,GAG7C+wN,EAAOh3O,UAAU0tU,YAAc,SAAsBl2T,EAAQq1T,GACtDA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QAC3C,IAAI4mB,EAAM1jB,KAAKiV,EAAS,GAAMjV,KAAKiV,IAAW,EAC9C,OAAc,MAANyO,EAAsB,WAANA,EAAmBA,GAG7C+wN,EAAOh3O,UAAU2tU,YAAc,SAAsBn2T,EAAQq1T,GAG3D,OAFKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QAEnCkD,KAAKiV,GACVjV,KAAKiV,EAAS,IAAM,EACpBjV,KAAKiV,EAAS,IAAM,GACpBjV,KAAKiV,EAAS,IAAM,IAGzBw/N,EAAOh3O,UAAU4tU,YAAc,SAAsBp2T,EAAQq1T,GAG3D,OAFKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QAEnCkD,KAAKiV,IAAW,GACrBjV,KAAKiV,EAAS,IAAM,GACpBjV,KAAKiV,EAAS,IAAM,EACpBjV,KAAKiV,EAAS,IAGnBw/N,EAAOh3O,UAAU6tU,YAAc,SAAsBr2T,EAAQq1T,GAE3D,OADKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QACpCyoU,EAAQt/G,KAAKjmN,KAAMiV,GAAQ,EAAM,GAAI,IAG9Cw/N,EAAOh3O,UAAU8tU,YAAc,SAAsBt2T,EAAQq1T,GAE3D,OADKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QACpCyoU,EAAQt/G,KAAKjmN,KAAMiV,GAAQ,EAAO,GAAI,IAG/Cw/N,EAAOh3O,UAAU00P,aAAe,SAAuBl9O,EAAQq1T,GAE7D,OADKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QACpCyoU,EAAQt/G,KAAKjmN,KAAMiV,GAAQ,EAAM,GAAI,IAG9Cw/N,EAAOh3O,UAAU+tU,aAAe,SAAuBv2T,EAAQq1T,GAE7D,OADKA,GAAUP,EAAY90T,EAAQ,EAAGjV,KAAKlD,QACpCyoU,EAAQt/G,KAAKjmN,KAAMiV,GAAQ,EAAO,GAAI,IAS/Cw/N,EAAOh3O,UAAUguU,YAAc,SAAsB/rU,EAAOuV,EAAQsgM,EAAY+0H,IAC9E5qU,GAASA,EACTuV,GAAkB,EAClBsgM,GAA0B,EACrB+0H,IAEHN,EAAShqU,KAAMN,EAAOuV,EAAQsgM,EADfpuM,KAAKE,IAAI,EAAG,EAAIkuM,GAAc,EACO,GAGtD,IAAIpnE,EAAM,EACNtxI,EAAI,EAER,IADAmD,KAAKiV,GAAkB,IAARvV,IACN7C,EAAI04M,IAAepnE,GAAO,MACjCnuI,KAAKiV,EAASpY,GAAM6C,EAAQyuI,EAAO,IAGrC,OAAOl5H,EAASsgM,GAGlBk/B,EAAOh3O,UAAUiuU,YAAc,SAAsBhsU,EAAOuV,EAAQsgM,EAAY+0H,IAC9E5qU,GAASA,EACTuV,GAAkB,EAClBsgM,GAA0B,EACrB+0H,IAEHN,EAAShqU,KAAMN,EAAOuV,EAAQsgM,EADfpuM,KAAKE,IAAI,EAAG,EAAIkuM,GAAc,EACO,GAGtD,IAAI14M,EAAI04M,EAAa,EACjBpnE,EAAM,EAEV,IADAnuI,KAAKiV,EAASpY,GAAa,IAAR6C,IACV7C,GAAK,IAAMsxI,GAAO,MACzBnuI,KAAKiV,EAASpY,GAAM6C,EAAQyuI,EAAO,IAGrC,OAAOl5H,EAASsgM,GAGlBk/B,EAAOh3O,UAAUkuU,WAAa,SAAqBjsU,EAAOuV,EAAQq1T,GAMhE,OALA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,IAAM,GACjDw/N,EAAOgxF,sBAAqB/lU,EAAQyH,KAAK0W,MAAMne,IACpDM,KAAKiV,GAAmB,IAARvV,EACTuV,EAAS,GAWlBw/N,EAAOh3O,UAAUmuU,cAAgB,SAAwBlsU,EAAOuV,EAAQq1T,GAUtE,OATA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,MAAQ,GACpDw/N,EAAOgxF,qBACTzlU,KAAKiV,GAAmB,IAARvV,EAChBM,KAAKiV,EAAS,GAAMvV,IAAU,GAE9BuqU,EAAkBjqU,KAAMN,EAAOuV,GAAQ,GAElCA,EAAS,GAGlBw/N,EAAOh3O,UAAUouU,cAAgB,SAAwBnsU,EAAOuV,EAAQq1T,GAUtE,OATA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,MAAQ,GACpDw/N,EAAOgxF,qBACTzlU,KAAKiV,GAAWvV,IAAU,EAC1BM,KAAKiV,EAAS,GAAc,IAARvV,GAEpBuqU,EAAkBjqU,KAAMN,EAAOuV,GAAQ,GAElCA,EAAS,GAUlBw/N,EAAOh3O,UAAUquU,cAAgB,SAAwBpsU,EAAOuV,EAAQq1T,GAYtE,OAXA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,WAAY,GACxDw/N,EAAOgxF,qBACTzlU,KAAKiV,EAAS,GAAMvV,IAAU,GAC9BM,KAAKiV,EAAS,GAAMvV,IAAU,GAC9BM,KAAKiV,EAAS,GAAMvV,IAAU,EAC9BM,KAAKiV,GAAmB,IAARvV,GAEhByqU,EAAkBnqU,KAAMN,EAAOuV,GAAQ,GAElCA,EAAS,GAGlBw/N,EAAOh3O,UAAUsuU,cAAgB,SAAwBrsU,EAAOuV,EAAQq1T,GAYtE,OAXA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,WAAY,GACxDw/N,EAAOgxF,qBACTzlU,KAAKiV,GAAWvV,IAAU,GAC1BM,KAAKiV,EAAS,GAAMvV,IAAU,GAC9BM,KAAKiV,EAAS,GAAMvV,IAAU,EAC9BM,KAAKiV,EAAS,GAAc,IAARvV,GAEpByqU,EAAkBnqU,KAAMN,EAAOuV,GAAQ,GAElCA,EAAS,GAGlBw/N,EAAOh3O,UAAUuuU,WAAa,SAAqBtsU,EAAOuV,EAAQsgM,EAAY+0H,GAG5E,GAFA5qU,GAASA,EACTuV,GAAkB,GACbq1T,EAAU,CACb,IAAI2B,EAAQ9kU,KAAKE,IAAI,EAAG,EAAIkuM,EAAa,GAEzCy0H,EAAShqU,KAAMN,EAAOuV,EAAQsgM,EAAY02H,EAAQ,GAAIA,GAGxD,IAAIpvU,EAAI,EACJsxI,EAAM,EACNtgG,EAAM,EAEV,IADA7tC,KAAKiV,GAAkB,IAARvV,IACN7C,EAAI04M,IAAepnE,GAAO,MAC7BzuI,EAAQ,GAAa,IAARmuC,GAAsC,IAAzB7tC,KAAKiV,EAASpY,EAAI,KAC9CgxC,EAAM,GAER7tC,KAAKiV,EAASpY,IAAO6C,EAAQyuI,GAAQ,GAAKtgG,EAAM,IAGlD,OAAO54B,EAASsgM,GAGlBk/B,EAAOh3O,UAAUyuU,WAAa,SAAqBxsU,EAAOuV,EAAQsgM,EAAY+0H,GAG5E,GAFA5qU,GAASA,EACTuV,GAAkB,GACbq1T,EAAU,CACb,IAAI2B,EAAQ9kU,KAAKE,IAAI,EAAG,EAAIkuM,EAAa,GAEzCy0H,EAAShqU,KAAMN,EAAOuV,EAAQsgM,EAAY02H,EAAQ,GAAIA,GAGxD,IAAIpvU,EAAI04M,EAAa,EACjBpnE,EAAM,EACNtgG,EAAM,EAEV,IADA7tC,KAAKiV,EAASpY,GAAa,IAAR6C,IACV7C,GAAK,IAAMsxI,GAAO,MACrBzuI,EAAQ,GAAa,IAARmuC,GAAsC,IAAzB7tC,KAAKiV,EAASpY,EAAI,KAC9CgxC,EAAM,GAER7tC,KAAKiV,EAASpY,IAAO6C,EAAQyuI,GAAQ,GAAKtgG,EAAM,IAGlD,OAAO54B,EAASsgM,GAGlBk/B,EAAOh3O,UAAU0uU,UAAY,SAAoBzsU,EAAOuV,EAAQq1T,GAO9D,OANA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,KAAO,KAClDw/N,EAAOgxF,sBAAqB/lU,EAAQyH,KAAK0W,MAAMne,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtCM,KAAKiV,GAAmB,IAARvV,EACTuV,EAAS,GAGlBw/N,EAAOh3O,UAAU2uU,aAAe,SAAuB1sU,EAAOuV,EAAQq1T,GAUpE,OATA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,OAAS,OACrDw/N,EAAOgxF,qBACTzlU,KAAKiV,GAAmB,IAARvV,EAChBM,KAAKiV,EAAS,GAAMvV,IAAU,GAE9BuqU,EAAkBjqU,KAAMN,EAAOuV,GAAQ,GAElCA,EAAS,GAGlBw/N,EAAOh3O,UAAU4uU,aAAe,SAAuB3sU,EAAOuV,EAAQq1T,GAUpE,OATA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,OAAS,OACrDw/N,EAAOgxF,qBACTzlU,KAAKiV,GAAWvV,IAAU,EAC1BM,KAAKiV,EAAS,GAAc,IAARvV,GAEpBuqU,EAAkBjqU,KAAMN,EAAOuV,GAAQ,GAElCA,EAAS,GAGlBw/N,EAAOh3O,UAAU6uU,aAAe,SAAuB5sU,EAAOuV,EAAQq1T,GAYpE,OAXA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,YAAa,YACzDw/N,EAAOgxF,qBACTzlU,KAAKiV,GAAmB,IAARvV,EAChBM,KAAKiV,EAAS,GAAMvV,IAAU,EAC9BM,KAAKiV,EAAS,GAAMvV,IAAU,GAC9BM,KAAKiV,EAAS,GAAMvV,IAAU,IAE9ByqU,EAAkBnqU,KAAMN,EAAOuV,GAAQ,GAElCA,EAAS,GAGlBw/N,EAAOh3O,UAAU8uU,aAAe,SAAuB7sU,EAAOuV,EAAQq1T,GAapE,OAZA5qU,GAASA,EACTuV,GAAkB,EACbq1T,GAAUN,EAAShqU,KAAMN,EAAOuV,EAAQ,EAAG,YAAa,YACzDvV,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxC+0O,EAAOgxF,qBACTzlU,KAAKiV,GAAWvV,IAAU,GAC1BM,KAAKiV,EAAS,GAAMvV,IAAU,GAC9BM,KAAKiV,EAAS,GAAMvV,IAAU,EAC9BM,KAAKiV,EAAS,GAAc,IAARvV,GAEpByqU,EAAkBnqU,KAAMN,EAAOuV,GAAQ,GAElCA,EAAS,GAgBlBw/N,EAAOh3O,UAAU+uU,aAAe,SAAuB9sU,EAAOuV,EAAQq1T,GACpE,OAAOD,EAAWrqU,KAAMN,EAAOuV,GAAQ,EAAMq1T,IAG/C71F,EAAOh3O,UAAUgvU,aAAe,SAAuB/sU,EAAOuV,EAAQq1T,GACpE,OAAOD,EAAWrqU,KAAMN,EAAOuV,GAAQ,EAAOq1T,IAWhD71F,EAAOh3O,UAAUivU,cAAgB,SAAwBhtU,EAAOuV,EAAQq1T,GACtE,OAAOC,EAAYvqU,KAAMN,EAAOuV,GAAQ,EAAMq1T,IAGhD71F,EAAOh3O,UAAUkvU,cAAgB,SAAwBjtU,EAAOuV,EAAQq1T,GACtE,OAAOC,EAAYvqU,KAAMN,EAAOuV,GAAQ,EAAOq1T,IAIjD71F,EAAOh3O,UAAU4mC,KAAO,SAAe1nC,EAAQiwU,EAAa90T,EAAOw7B,GAQjE,GAPKx7B,IAAOA,EAAQ,GACfw7B,GAAe,IAARA,IAAWA,EAAMtzC,KAAKlD,QAC9B8vU,GAAejwU,EAAOG,SAAQ8vU,EAAcjwU,EAAOG,QAClD8vU,IAAaA,EAAc,GAC5Bt5R,EAAM,GAAKA,EAAMx7B,IAAOw7B,EAAMx7B,GAG9Bw7B,IAAQx7B,EAAO,OAAO,EAC1B,GAAsB,IAAlBnb,EAAOG,QAAgC,IAAhBkD,KAAKlD,OAAc,OAAO,EAGrD,GAAI8vU,EAAc,EAChB,MAAM,IAAIjH,WAAW,6BAEvB,GAAI7tT,EAAQ,GAAKA,GAAS9X,KAAKlD,OAAQ,MAAM,IAAI6oU,WAAW,6BAC5D,GAAIryR,EAAM,EAAG,MAAM,IAAIqyR,WAAW,2BAG9BryR,EAAMtzC,KAAKlD,SAAQw2C,EAAMtzC,KAAKlD,QAC9BH,EAAOG,OAAS8vU,EAAct5R,EAAMx7B,IACtCw7B,EAAM32C,EAAOG,OAAS8vU,EAAc90T,GAGtC,IACIjb,EADAmoC,EAAMsO,EAAMx7B,EAGhB,GAAI9X,OAASrD,GAAUmb,EAAQ80T,GAAeA,EAAct5R,EAE1D,IAAKz2C,EAAImoC,EAAM,EAAGnoC,GAAK,IAAKA,EAC1BF,EAAOE,EAAI+vU,GAAe5sU,KAAKnD,EAAIib,QAEhC,GAAIktB,EAAM,MAASyvM,EAAOgxF,oBAE/B,IAAK5oU,EAAI,EAAGA,EAAImoC,IAAOnoC,EACrBF,EAAOE,EAAI+vU,GAAe5sU,KAAKnD,EAAIib,QAGrC0/D,WAAW/5E,UAAU+O,IAAIxK,KACvBrF,EACAqD,KAAKq2M,SAASv+L,EAAOA,EAAQktB,GAC7B4nS,GAIJ,OAAO5nS,GAOTyvM,EAAOh3O,UAAUkY,KAAO,SAAe+N,EAAK5L,EAAOw7B,EAAKgsJ,GAEtD,GAAmB,kBAAR57K,EAAkB,CAS3B,GARqB,kBAAV5L,GACTwnL,EAAWxnL,EACXA,EAAQ,EACRw7B,EAAMtzC,KAAKlD,QACa,kBAARw2C,IAChBgsJ,EAAWhsJ,EACXA,EAAMtzC,KAAKlD,QAEM,IAAf4mB,EAAI5mB,OAAc,CACpB,IAAIysC,EAAO7lB,EAAI2nB,WAAW,GACtB9B,EAAO,MACT7lB,EAAM6lB,GAGV,QAAiB3J,IAAb0/J,GAA8C,kBAAbA,EACnC,MAAM,IAAI7iM,UAAU,6BAEtB,GAAwB,kBAAb6iM,IAA0Bm1C,EAAOuxF,WAAW1mI,GACrD,MAAM,IAAI7iM,UAAU,qBAAuB6iM,OAErB,kBAAR57K,IAChBA,GAAY,KAId,GAAI5L,EAAQ,GAAK9X,KAAKlD,OAASgb,GAAS9X,KAAKlD,OAASw2C,EACpD,MAAM,IAAIqyR,WAAW,sBAGvB,GAAIryR,GAAOx7B,EACT,OAAO9X,KAQT,IAAInD,EACJ,GANAib,KAAkB,EAClBw7B,OAAc1T,IAAR0T,EAAoBtzC,KAAKlD,OAASw2C,IAAQ,EAE3C5vB,IAAKA,EAAM,GAGG,kBAARA,EACT,IAAK7mB,EAAIib,EAAOjb,EAAIy2C,IAAOz2C,EACzBmD,KAAKnD,GAAK6mB,MAEP,CACL,IAAI+9O,EAAQhtB,EAAOvnE,SAASxpJ,GACxBA,EACA2iT,EAAY,IAAI5xF,EAAO/wN,EAAK47K,GAAUlzL,YACtC44B,EAAMy8N,EAAM3kQ,OAChB,IAAKD,EAAI,EAAGA,EAAIy2C,EAAMx7B,IAASjb,EAC7BmD,KAAKnD,EAAIib,GAAS2pP,EAAM5kQ,EAAImoC,GAIhC,OAAOhlC,MAMT,IAAI6sU,EAAoB,qBAmBxB,SAASr6S,EAAO3xB,GACd,OAAIA,EAAI,GAAW,IAAMA,EAAEuL,SAAS,IAC7BvL,EAAEuL,SAAS,IAGpB,SAASi6T,EAAar8M,EAAQk+M,GAE5B,IAAIS,EADJT,EAAQA,GAAS5uO,IAMjB,IAJA,IAAIx8F,EAASktH,EAAOltH,OAChBgwU,EAAgB,KAChBrrE,EAAQ,GAEH5kQ,EAAI,EAAGA,EAAIC,IAAUD,EAAG,CAI/B,IAHA8rU,EAAY3+M,EAAO3+E,WAAWxuC,IAGd,OAAU8rU,EAAY,MAAQ,CAE5C,IAAKmE,EAAe,CAElB,GAAInE,EAAY,MAAQ,EAEjBT,GAAS,IAAM,GAAGzmE,EAAM36P,KAAK,IAAM,IAAM,KAC9C,SACK,GAAIjK,EAAI,IAAMC,EAAQ,EAEtBorU,GAAS,IAAM,GAAGzmE,EAAM36P,KAAK,IAAM,IAAM,KAC9C,SAIFgmU,EAAgBnE,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBT,GAAS,IAAM,GAAGzmE,EAAM36P,KAAK,IAAM,IAAM,KAC9CgmU,EAAgBnE,EAChB,SAIFA,EAAkE,OAArDmE,EAAgB,OAAU,GAAKnE,EAAY,YAC/CmE,IAEJ5E,GAAS,IAAM,GAAGzmE,EAAM36P,KAAK,IAAM,IAAM,KAMhD,GAHAgmU,EAAgB,KAGZnE,EAAY,IAAM,CACpB,IAAKT,GAAS,GAAK,EAAG,MACtBzmE,EAAM36P,KAAK6hU,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKT,GAAS,GAAK,EAAG,MACtBzmE,EAAM36P,KACJ6hU,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKT,GAAS,GAAK,EAAG,MACtBzmE,EAAM36P,KACJ6hU,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAIzpS,MAAM,sBARhB,IAAKgpS,GAAS,GAAK,EAAG,MACtBzmE,EAAM36P,KACJ6hU,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOlnE,EA4BT,SAAS6kE,EAAe5iN,GACtB,OAAOo1L,EAAOi0B,YAhIhB,SAAsBrpN,GAIpB,IAFAA,EAUF,SAAqBA,GACnB,OAAIA,EAAIl8G,KAAak8G,EAAIl8G,OAClBk8G,EAAIj8G,QAAQ,aAAc,IAZ3BulU,CAAWtpN,GAAKj8G,QAAQolU,EAAmB,KAEzC/vU,OAAS,EAAG,MAAO,GAE3B,KAAO4mH,EAAI5mH,OAAS,IAAM,GACxB4mH,GAAY,IAEd,OAAOA,EAuHmBupN,CAAYvpN,IAGxC,SAASikN,EAAYxmT,EAAKsmO,EAAKxyO,EAAQnY,GACrC,IAAK,IAAID,EAAI,EAAGA,EAAIC,KACbD,EAAIoY,GAAUwyO,EAAI3qP,QAAYD,GAAKskB,EAAIrkB,UADhBD,EAE5B4qP,EAAI5qP,EAAIoY,GAAUkM,EAAItkB,GAExB,OAAOA,K,kCCvvDT,IAAIqgJ,EAAa9mJ,EAAQ,KACrB8wT,EAAe9wT,EAAQ,KA2B3BF,EAAOC,QALP,SAAkBuJ,GAChB,MAAuB,iBAATA,GACXwnT,EAAaxnT,IArBF,mBAqBYw9I,EAAWx9I,K,cCLvCxJ,EAAOC,QAJP,SAAkBuJ,GAChB,OAAOA,I,cCFTxJ,EAAOC,QAfP,SAAyB6pC,EAAK3iC,EAAKqC,GAYjC,OAXIrC,KAAO2iC,EACT7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAC9BqC,MAAOA,EACP1C,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ8iC,EAAI3iC,GAAOqC,EAGNsgC,GAGyB9pC,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,6BCfxF,SAAS8kI,EAAgB36H,EAAG2C,GAMzC,OALAg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAErE,OADA3C,EAAEsnC,UAAY3kC,EACP3C,IAGcA,EAAG2C,GAN5B,mC,6BCAA,+CACe,SAAS2nI,EAA4BtqI,EAAGqqI,GACrD,GAAKrqI,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,YAAiBA,EAAGqqI,GACtD,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAEpD,MADU,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAC7C,QAANvB,GAAqB,QAANA,EAAoBJ,MAAMsY,KAAKlY,GACxC,cAANA,GAAqB,2CAA2C0hC,KAAK1hC,GAAW,YAAiBP,EAAGqqI,QAAxG,K,gBCPF,IAAIuiM,EAAc92U,EAAQ,KACtB+2U,EAAc/2U,EAAQ,KACtBg3U,EAAWh3U,EAAQ,KACnBi3U,EAAiBj3U,EAAQ,KA+BzBk3U,EAASF,GAAS,SAASvoR,EAAY0oR,GACzC,GAAkB,MAAd1oR,EACF,MAAO,GAET,IAAI/nD,EAASywU,EAAUzwU,OAMvB,OALIA,EAAS,GAAKuwU,EAAexoR,EAAY0oR,EAAU,GAAIA,EAAU,IACnEA,EAAY,GACHzwU,EAAS,GAAKuwU,EAAeE,EAAU,GAAIA,EAAU,GAAIA,EAAU,MAC5EA,EAAY,CAACA,EAAU,KAElBJ,EAAYtoR,EAAYqoR,EAAYK,EAAW,GAAI,OAG5Dr3U,EAAOC,QAAUm3U,G,6BC/CF,aAAS3gU,EAAGzC,GACzB,OAAOyC,EAAIzC,GAAK,EAAIyC,EAAIzC,EAAI,EAAIyC,GAAKzC,EAAI,EAAI4D,M,6BCD5BrN,MAAMhD,UAAUu0C,MAEpB,aAASnlC,GACtB,MAAoB,kBAANA,GAAkB,WAAYA,EACxCA,EACApM,MAAMsY,KAAKlM,K,6BCLjB,wFAASinE,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS7D,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAQjM,IAAIktU,EAAmB,SAAUpiB,IApBxC,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAqBjXF,CAAUmuU,EAAKpiB,GAEf,IAzBoB5uT,EAAae,EAAYC,EAyBzCypD,EAAStnD,EAAa6tU,GAE1B,SAASA,IAGP,OAFAlxU,EAAgB0D,KAAMwtU,GAEfvmR,EAAO7mD,MAAMJ,KAAMG,WA0B5B,OAxDoB3D,EAiCPgxU,GAjCoBjwU,EAiCf,CAAC,CACjBF,IAAK,SACLqC,MAAO,WACL,IAAI41J,EAAct1J,KAAKpD,MACnBsT,EAAKolJ,EAAYplJ,GACjBC,EAAKmlJ,EAAYnlJ,GACjB5N,EAAI+yJ,EAAY/yJ,EAChBoiB,EAAY2wI,EAAY3wI,UACxByuI,EAAa9nC,IAAW,eAAgB3mG,GAE5C,OAAIzU,KAAQA,GAAMC,KAAQA,GAAM5N,KAAOA,EACjB6tH,IAAMx1G,cAAc,SAAU6sB,EAAS,GAAI60G,YAAYt8I,KAAKpD,OAAQigJ,YAAmB78I,KAAKpD,OAAQ,CACtH+nB,UAAWyuI,EACXljJ,GAAIA,EACJC,GAAIA,EACJ5N,EAAGA,KAIA,UApDiE7F,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAwD3KgwU,EAlCqB,CAmC5B/f,kB,6BC/DFv3T,EAAOC,QAAUC,EAAQ,M,gBCFzB,IA2CIo1I,EA3Ccp1I,EAAQ,IA2Cdq3U,GAEZv3U,EAAOC,QAAUq1I,G,gBC7CjB,IAAIxkB,EAAW5wH,EAAQ,KAqCvBF,EAAOC,QAPP,SAAeuJ,GAIb,OAAOsnH,EAAStnH,IAAUA,IAAUA,I,gBClCtC,IAAIguU,EAAet3U,EAAQ,KACvBu3U,EAAWv3U,EAAQ,KA6BvBF,EAAOC,QAJP,SAAgB4sD,EAAO6qR,GACrB,OAAQ7qR,GAASA,EAAMjmD,OAAU6wU,EAAS5qR,EAAO2qR,EAAaE,EAAU,IAAM,K,6BC3BhF,oLAAS95P,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAKnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAASwsF,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAMne,SAASD,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAejM,IAAIutU,EAA6B,SAAUlyM,IA3BlD,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GA4BjXF,CAAUwuU,EAAelyM,GAEzB,IAhCoBn/H,EAAae,EAAYC,EAgCzCypD,EAAStnD,EAAakuU,GAE1B,SAASA,EAAcjxU,GACrB,IAAI24C,EAUJ,OAjDJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAyC5GH,CAAgB0D,KAAM6tU,IAEtBt4R,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBkxU,oBAAiB,EACvBv4R,EAAMwvB,MAAQ,CACZ/5D,SAAU,GACV+iU,cAAe,IAEVx4R,EAkhBT,OA/jBoB/4C,EAiDPqxU,EAjDgCrwU,EA8UzC,CAAC,CACHH,IAAK,WACLqC,MAAO,SAAkB9C,EAAOoO,EAAU+iU,GACxC,IAAIv8K,EAAO50J,EAAM40J,KACbjgB,EAAQ30I,EAAM20I,MACd96H,EAAU7Z,EAAM6Z,QAChBu3T,EAAapxU,EAAMoxU,WACnB/pJ,EAAcrnL,EAAMqnL,YACpBj2D,EAAWpxH,EAAMoxH,SACjBigN,EAAgBrxU,EAAMqxU,cACtB9xL,EAAOv/I,EAAMu/I,KAEjB,OAAK5K,GAAUA,EAAMz0I,QAAW00J,EAI5BxqC,YAASgH,IAAamyD,IAAOC,MACxBytJ,EAAcK,uBAAuB38L,EAA2B,kBAAbvjB,GAAyBhH,YAASgH,GAAYA,EAAW,GAGpG,qBAAbA,EACK6/M,EAAcM,cAAc,CACjC58L,MAAOA,EACP08L,cAAeA,EACfx3T,QAASA,EACTwtK,YAAaA,EACb+pJ,WAAYA,EACZ7xL,KAAMA,EACNnxI,SAAUA,EACV+iU,cAAeA,IACd,GAGY,kBAAb//M,EACK6/M,EAAcM,cAAc,CACjC58L,MAAOA,EACP08L,cAAeA,EACfx3T,QAASA,EACTwtK,YAAaA,EACb+pJ,WAAYA,EACZ7xL,KAAMA,EACNnxI,SAAUA,EACV+iU,cAAeA,IAIZF,EAAcO,YAAY,CAC/B78L,MAAOA,EACP08L,cAAeA,EACfx3T,QAASA,EACTwtK,YAAaA,EACb+pJ,WAAYA,EACZ7xL,KAAMA,EACNnxI,SAAUA,EACV+iU,cAAeA,IAzCR,KA4CV,CACD1wU,IAAK,yBACLqC,MAAO,SAAgC6xI,EAAOvjB,GAC5C,OAAOujB,EAAMt+H,QAAO,SAAUytC,EAAO7jD,GACnC,OAAOA,GAAKmxH,EAAW,KAAO,OAGjC,CACD3wH,IAAK,gBACLqC,MAAO,SAAuByvI,EAAOk/L,GACnC,IAqBIv2T,EAAOw7B,EArBPi+F,EAAQpC,EAAMoC,MACd08L,EAAgB9+L,EAAM8+L,cACtBx3T,EAAU04H,EAAM14H,QAChBwtK,EAAc90C,EAAM80C,YACpB+pJ,EAAa7+L,EAAM6+L,WACnB7xL,EAAOhN,EAAMgN,KACbnxI,EAAWmkI,EAAMnkI,SACjB+iU,EAAgB5+L,EAAM4+L,cACtBlhU,EAAI4J,EAAQ5J,EACZC,EAAI2J,EAAQ3J,EACZlG,EAAQ6P,EAAQ7P,MAChBC,EAAS4P,EAAQ5P,OACjBynU,EAA0B,QAAhBrqJ,GAAyC,WAAhBA,EAA2B,QAAU,SACxEpkL,GAAU0xI,GAAS,IAAIv/F,QAEvBu8R,EAAWpyL,GAAoB,UAAZmyL,EAAsBpuJ,YAAc/jC,EAAM,CAC/DnxI,SAAUA,EACV+iU,cAAeA,IACdO,GAAW,EACVtpS,EAAMnlC,EAAO/C,OACbm7I,EAAOjzG,GAAO,EAAI6hF,YAAShnH,EAAO,GAAGwxI,WAAaxxI,EAAO,GAAGwxI,YAAc,EAW9E,GARa,IAAT4G,GACFngI,EAAoB,UAAZw2T,EAAsBzhU,EAAIC,EAClCwmC,EAAkB,UAAZg7R,EAAsBzhU,EAAIjG,EAAQkG,EAAIjG,IAE5CiR,EAAoB,UAAZw2T,EAAsBzhU,EAAIjG,EAAQkG,EAAIjG,EAC9CysC,EAAkB,UAAZg7R,EAAsBzhU,EAAIC,GAG9BuhU,EAAa,CAEf,IAAIG,EAAOj9L,EAAMvsG,EAAM,GACnBypS,EAAc79L,IAAYq9L,GAAiBA,EAAcO,EAAK9uU,MAAOslC,EAAM,GAAKwpS,EAAK9uU,MACrFgvU,EAAWxuJ,YAAcuuJ,EAAa,CACxCzjU,SAAUA,EACV+iU,cAAeA,IACdO,GAAWC,EACVI,EAAU12L,GAAQu2L,EAAKn9L,WAAa4G,EAAOy2L,EAAW,EAAIp7R,GAC9DzzC,EAAOmlC,EAAM,GAAKwpS,EAAO1lM,EAAcA,EAAc,GAAI0lM,GAAO,GAAI,CAClEI,UAAWD,EAAU,EAAIH,EAAKn9L,WAAas9L,EAAU12L,EAAOu2L,EAAKn9L,aAElD4G,GAAQu2L,EAAKI,UAAY32L,EAAOy2L,EAAW,EAAI52T,IAAU,GAAKmgI,GAAQu2L,EAAKI,UAAY32L,EAAOy2L,EAAW,EAAIp7R,IAAQ,IAGpIA,EAAMk7R,EAAKI,UAAY32L,GAAQy2L,EAAW,EAAIV,GAC9CnuU,EAAOmlC,EAAM,GAAK8jG,EAAcA,EAAc,GAAI0lM,GAAO,GAAI,CAC3DK,QAAQ,KAOd,IAFA,IAAIz9R,EAAQi9R,EAAcrpS,EAAM,EAAIA,EAE3BnoC,EAAI,EAAGA,EAAIu0C,EAAOv0C,IAAK,CAC9B,IAAI6jD,EAAQ7gD,EAAOhD,GACf8qB,EAAUipH,IAAYq9L,GAAiBA,EAAcvtR,EAAMhhD,MAAO7C,GAAK6jD,EAAMhhD,MAC7EwlE,EAAOg7G,YAAcv4J,EAAS,CAChC3c,SAAUA,EACV+iU,cAAeA,IACdO,GAAWC,EAEd,GAAU,IAAN1xU,EAAS,CACX,IAAI68G,EAAMu+B,GAAQv3F,EAAM2wF,WAAa4G,EAAO/yE,EAAO,EAAIptD,GACvDjY,EAAOhD,GAAK6jD,EAAQooF,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CAC9DkuR,UAAWl1N,EAAM,EAAIh5D,EAAM2wF,WAAa33B,EAAMu+B,EAAOv3F,EAAM2wF,kBAG7DxxI,EAAOhD,GAAK6jD,EAAQooF,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CAC9DkuR,UAAWluR,EAAM2wF,aAIR4G,GAAQv3F,EAAMkuR,UAAY32L,EAAO/yE,EAAO,EAAIptD,IAAU,GAAKmgI,GAAQv3F,EAAMkuR,UAAY32L,EAAO/yE,EAAO,EAAI5xB,IAAQ,IAG1Hx7B,EAAQ4oC,EAAMkuR,UAAY32L,GAAQ/yE,EAAO,EAAI8oQ,GAC7CnuU,EAAOhD,GAAKisI,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CACtDmuR,QAAQ,KAKd,OAAOhvU,EAAOoT,QAAO,SAAUytC,GAC7B,OAAOA,EAAMmuR,YAGhB,CACDxxU,IAAK,cACLqC,MAAO,SAAqB0vI,GAC1B,IAqBIt3H,EAAOw7B,EArBPi+F,EAAQnC,EAAMmC,MACd08L,EAAgB7+L,EAAM6+L,cACtBx3T,EAAU24H,EAAM34H,QAChBwtK,EAAc70C,EAAM60C,YACpB+pJ,EAAa5+L,EAAM4+L,WACnB7xL,EAAO/M,EAAM+M,KACbnxI,EAAWokI,EAAMpkI,SACjB+iU,EAAgB3+L,EAAM2+L,cACtBlhU,EAAI4J,EAAQ5J,EACZC,EAAI2J,EAAQ3J,EACZlG,EAAQ6P,EAAQ7P,MAChBC,EAAS4P,EAAQ5P,OACjBynU,EAA0B,QAAhBrqJ,GAAyC,WAAhBA,EAA2B,QAAU,SAExEsqJ,EAAWpyL,GAAoB,UAAZmyL,EAAsBpuJ,YAAc/jC,EAAM,CAC/DnxI,SAAUA,EACV+iU,cAAeA,IACdO,GAAW,EACVzuU,GAAU0xI,GAAS,IAAIv/F,QACvBhN,EAAMnlC,EAAO/C,OACbm7I,EAAOjzG,GAAO,EAAI6hF,YAAShnH,EAAO,GAAGwxI,WAAaxxI,EAAO,GAAGwxI,YAAc,EAGjE,IAAT4G,GACFngI,EAAoB,UAAZw2T,EAAsBzhU,EAAIC,EAClCwmC,EAAkB,UAAZg7R,EAAsBzhU,EAAIjG,EAAQkG,EAAIjG,IAE5CiR,EAAoB,UAAZw2T,EAAsBzhU,EAAIjG,EAAQkG,EAAIjG,EAC9CysC,EAAkB,UAAZg7R,EAAsBzhU,EAAIC,GAGlC,IAAK,IAAIjQ,EAAImoC,EAAM,EAAGnoC,GAAK,EAAGA,IAAK,CACjC,IAAI6jD,EAAQ7gD,EAAOhD,GACf8qB,EAAUipH,IAAYq9L,GAAiBA,EAAcvtR,EAAMhhD,MAAOslC,EAAMnoC,EAAI,GAAK6jD,EAAMhhD,MACvFwlE,EAAOg7G,YAAcv4J,EAAS,CAChC3c,SAAUA,EACV+iU,cAAeA,IACdO,GAAWC,EAEd,GAAI1xU,IAAMmoC,EAAM,EAAG,CACjB,IAAI00E,EAAMu+B,GAAQv3F,EAAM2wF,WAAa4G,EAAO/yE,EAAO,EAAI5xB,GACvDzzC,EAAOhD,GAAK6jD,EAAQooF,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CAC9DkuR,UAAWl1N,EAAM,EAAIh5D,EAAM2wF,WAAa33B,EAAMu+B,EAAOv3F,EAAM2wF,kBAG7DxxI,EAAOhD,GAAK6jD,EAAQooF,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CAC9DkuR,UAAWluR,EAAM2wF,aAIR4G,GAAQv3F,EAAMkuR,UAAY32L,EAAO/yE,EAAO,EAAIptD,IAAU,GAAKmgI,GAAQv3F,EAAMkuR,UAAY32L,EAAO/yE,EAAO,EAAI5xB,IAAQ,IAG1HA,EAAMoN,EAAMkuR,UAAY32L,GAAQ/yE,EAAO,EAAI8oQ,GAC3CnuU,EAAOhD,GAAKisI,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CACtDmuR,QAAQ,KAKd,OAAOhvU,EAAOoT,QAAO,SAAUytC,GAC7B,OAAOA,EAAMmuR,YAGhB,CACDxxU,IAAK,iBACLqC,MAAO,SAAwBu8T,EAAQr/T,EAAO8C,GAa5C,OAVkB0wH,IAAMoR,eAAey6L,GACb7rM,IAAMkzC,aAAa24J,EAAQr/T,GAC1Cg0I,IAAYqrL,GACVA,EAAOr/T,GAEMwzH,IAAMx1G,cAAc2xB,IAAM9E,EAAS,GAAI7qC,EAAO,CACpE+nB,UAAW,uCACTjlB,OAxjBuBnC,EAiDL,CAAC,CAC3BF,IAAK,wBACLqC,MAAO,SAA+BotH,EAAM48C,GAC1C,IAAIjzJ,EAAUq2G,EAAKr2G,QACfq4T,EAAYtiN,EAAyBM,EAAM,CAAC,YAI5CwoC,EAAct1J,KAAKpD,MACnBmyU,EAAaz5K,EAAY7+I,QACzBu4T,EAAexiN,EAAyB8oC,EAAa,CAAC,YAE1D,OAAQjW,YAAa5oI,EAASs4T,KAAgB1vL,YAAayvL,EAAWE,KAAkB3vL,YAAaqqB,EAAW1pK,KAAK+kE,SAEtH,CACD1nE,IAAK,oBACLqC,MAAO,WACL,IAAIuvU,EAAYjvU,KAAK8tU,eACrB,GAAKmB,EAAL,CACA,IAAIz9K,EAAOy9K,EAAUC,uBAAuB,sCAAsC,GAE9E19K,GACFxxJ,KAAKqkK,SAAS,CACZr5J,SAAUtJ,OAAOyU,iBAAiBq7I,GAAMxmJ,SACxC+iU,cAAersU,OAAOyU,iBAAiBq7I,GAAMu8K,mBAWlD,CACD1wU,IAAK,mBACLqC,MAAO,SAA0BsR,GAC/B,IASIvD,EAAIE,EAAID,EAAIE,EAAIutL,EAAIC,EATpBtlC,EAAe91J,KAAKpD,MACpBiQ,EAAIipJ,EAAajpJ,EACjBC,EAAIgpJ,EAAahpJ,EACjBlG,EAAQkvJ,EAAalvJ,MACrBC,EAASivJ,EAAajvJ,OACtBo9K,EAAcnuB,EAAamuB,YAC3BkrJ,EAAWr5K,EAAaq5K,SACxBhrJ,EAASruB,EAAaquB,OACtBirJ,EAAat5K,EAAas5K,WAE1Bn3L,EAAOksC,GAAU,EAAI,EACrBkrJ,EAAgBr+T,EAAKm+T,UAAYA,EACjCP,EAAY5nN,YAASh2G,EAAK49T,WAAa59T,EAAK49T,UAAY59T,EAAKqgI,WAEjE,OAAQ4yC,GACN,IAAK,MACHx2K,EAAKE,EAAKqD,EAAKqgI,WAGf+pD,GADA1tL,GADAE,EAAKd,KAAMq3K,EAASt9K,GACVoxI,EAAOo3L,GACPp3L,EAAOm3L,EACjBj0I,EAAKyzI,EACL,MAEF,IAAK,OACHlhU,EAAKE,EAAKoD,EAAKqgI,WAGf8pD,GADA1tL,GADAE,EAAKd,KAAMs3K,EAASv9K,GACVqxI,EAAOo3L,GACPp3L,EAAOm3L,EACjBh0I,EAAKwzI,EACL,MAEF,IAAK,QACHlhU,EAAKE,EAAKoD,EAAKqgI,WAGf8pD,GADA1tL,GADAE,EAAKd,IAAKs3K,EAASv9K,GACTqxI,EAAOo3L,GACPp3L,EAAOm3L,EACjBh0I,EAAKwzI,EACL,MAEF,QACEnhU,EAAKE,EAAKqD,EAAKqgI,WAGf+pD,GADA1tL,GADAE,EAAKd,IAAKq3K,EAASt9K,GACToxI,EAAOo3L,GACPp3L,EAAOm3L,EACjBj0I,EAAKyzI,EAIT,MAAO,CACLz3T,KAAM,CACJ1J,GAAIA,EACJC,GAAIA,EACJC,GAAIA,EACJC,GAAIA,GAEN4jJ,KAAM,CACJ3kJ,EAAGsuL,EACHruL,EAAGsuL,MAIR,CACD/9L,IAAK,oBACLqC,MAAO,WACL,IAGI6f,EAHAksS,EAAezrT,KAAKpD,MACpBqnL,EAAcwnI,EAAaxnI,YAC3BE,EAASsnI,EAAatnI,OAG1B,OAAQF,GACN,IAAK,OACH1kK,EAAa4kK,EAAS,QAAU,MAChC,MAEF,IAAK,QACH5kK,EAAa4kK,EAAS,MAAQ,QAC9B,MAEF,QACE5kK,EAAa,SAIjB,OAAOA,IAER,CACDliB,IAAK,wBACLqC,MAAO,WACL,IAAI0tT,EAAeptT,KAAKpD,MACpBqnL,EAAcmpI,EAAanpI,YAC3BE,EAASipI,EAAajpI,OACtBxC,EAAiB,MAErB,OAAQsC,GACN,IAAK,OACL,IAAK,QACHtC,EAAiB,SACjB,MAEF,IAAK,MACHA,EAAiBwC,EAAS,QAAU,MACpC,MAEF,QACExC,EAAiBwC,EAAS,MAAQ,QAItC,OAAOxC,IAER,CACDtkL,IAAK,iBACLqC,MAAO,WACL,IAAI4vU,EAAetvU,KAAKpD,MACpBiQ,EAAIyiU,EAAaziU,EACjBC,EAAIwiU,EAAaxiU,EACjBlG,EAAQ0oU,EAAa1oU,MACrBC,EAASyoU,EAAazoU,OACtBo9K,EAAcqrJ,EAAarrJ,YAC3BE,EAASmrJ,EAAanrJ,OACtBorJ,EAAWD,EAAaC,SAExB3yU,EAAQksI,EAAcA,EAAcA,EAAc,GAAIwT,YAAYt8I,KAAKpD,QAAS0/I,YAAYizL,IAAY,GAAI,CAC9G55T,KAAM,SAGR,GAAoB,QAAhBsuK,GAAyC,WAAhBA,EAA0B,CACrD,IAAIurJ,IAA+B,QAAhBvrJ,IAA0BE,GAA0B,WAAhBF,GAA4BE,GACnFvnL,EAAQksI,EAAcA,EAAc,GAAIlsI,GAAQ,GAAI,CAClD6Q,GAAIZ,EACJa,GAAIZ,EAAI0iU,EAAa3oU,EACrB8G,GAAId,EAAIjG,EACRgH,GAAId,EAAI0iU,EAAa3oU,QAElB,CACL,IAAI4oU,IAA8B,SAAhBxrJ,IAA2BE,GAA0B,UAAhBF,GAA2BE,GAClFvnL,EAAQksI,EAAcA,EAAc,GAAIlsI,GAAQ,GAAI,CAClD6Q,GAAIZ,EAAI4iU,EAAY7oU,EACpB8G,GAAIZ,EACJa,GAAId,EAAI4iU,EAAY7oU,EACpBgH,GAAId,EAAIjG,IAIZ,OAAoBupH,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI7qC,EAAO,CAClE+nB,UAAW2mG,IAAW,+BAAgCnD,IAAKonN,EAAU,mBAGxE,CACDlyU,IAAK,cACLqC,MAQA,SAAqB6xI,EAAOvmI,EAAU+iU,GACpC,IAAI1xR,EAASr8C,KAET0vU,EAAe1vU,KAAKpD,MACpB+yU,EAAWD,EAAaC,SACxB/5T,EAAS85T,EAAa95T,OACtB47I,EAAOk+K,EAAal+K,KACpBy8K,EAAgByB,EAAazB,cAC7B9xL,EAAOuzL,EAAavzL,KACpByzL,EAAa/B,EAAcgC,SAAS/mM,EAAcA,EAAc,GAAI9oI,KAAKpD,OAAQ,GAAI,CACvF20I,MAAOA,IACLvmI,EAAU+iU,GACVxuT,EAAavf,KAAK8vU,oBAClBnuJ,EAAiB3hL,KAAK+vU,wBACtBC,EAAY1zL,YAAYt8I,KAAKpD,OAC7BqzU,EAAkB3zL,YAAYkV,GAE9B0+K,EAAgBpnM,EAAcA,EAAc,GAAIknM,GAAY,GAAI,CAClEr6T,KAAM,QACL2mI,YAAYqzL,IAEX1sP,EAAQ2sP,EAAWnoT,KAAI,SAAUi5B,EAAO7jD,GAC1C,IAAIszU,EAAwB9zR,EAAO+zR,iBAAiB1vR,GAChD2vR,EAAYF,EAAsBh5T,KAClCy3T,EAAYuB,EAAsB3+K,KAElC8+K,EAAYxnM,EAAcA,EAAcA,EAAcA,EAAc,CACtEvpH,WAAYA,EACZoiK,eAAgBA,GACfquJ,GAAY,GAAI,CACjBp6T,OAAQ,OACRD,KAAMC,GACLq6T,GAAkBrB,GAAY,GAAI,CACnCztS,MAAOtkC,EACP+1I,QAASlyF,EACT6vR,kBAAmBX,EAAW9yU,OAC9BmxU,cAAeA,IAGjB,OAAoB79M,IAAMx1G,cAAcs4I,IAAOzrH,EAAS,CACtD9iB,UAAW,+BACXtnB,IAAK,QAAQmrB,OAAO3rB,IAEnBkgJ,YAAmB1gG,EAAOz/C,MAAO8jD,EAAO7jD,IAAK8yU,GAAyBv/M,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAIyoS,EAAeG,EAAW,CAC1I1rT,UAAW2mG,IAAW,oCAAqCnD,IAAKwnN,EAAU,iBACvEn+K,GAAQq8K,EAAc2C,eAAeh/K,EAAM8+K,EAAW,GAAG9nT,OAAOooH,IAAYq9L,GAAiBA,EAAcvtR,EAAMhhD,MAAO7C,GAAK6jD,EAAMhhD,OAAO8oB,OAAO2zH,GAAQ,SAEhK,OAAoB/rB,IAAMx1G,cAAc,IAAK,CAC3C+J,UAAW,iCACVs+D,KAEJ,CACD5lF,IAAK,SACLqC,MAAO,WACL,IAAIs9C,EAASh9C,KAETywU,EAAezwU,KAAKpD,MACpB2yU,EAAWkB,EAAalB,SACxB3oU,EAAQ6pU,EAAa7pU,MACrBC,EAAS4pU,EAAa5pU,OACtB6pU,EAAiBD,EAAaC,eAC9B/rT,EAAY8rT,EAAa9rT,UAG7B,GAFW8rT,EAAa7+Q,KAGtB,OAAO,KAGT,IAAI++Q,EAAe3wU,KAAKpD,MACpB20I,EAAQo/L,EAAap/L,MACrBq/L,EAAepkN,EAAyBmkN,EAAc,CAAC,UAEvDf,EAAar+L,EAMjB,OAJIX,IAAY8/L,KACdd,EAAar+L,GAASA,EAAMz0I,OAAS,EAAI4zU,EAAe1wU,KAAKpD,OAAS8zU,EAAeE,IAGnFhqU,GAAS,GAAKC,GAAU,IAAM+oU,IAAeA,EAAW9yU,OACnD,KAGWszH,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW2mG,IAAW,0BAA2B3mG,GACjDypD,IAAK,SAAa24D,GAChB/pF,EAAO8wR,eAAiB/mM,IAEzBwoM,GAAYvvU,KAAK6wU,iBAAkB7wU,KAAK8wU,YAAYlB,EAAY5vU,KAAK+kE,MAAM/5D,SAAUhL,KAAK+kE,MAAMgpQ,eAAgBntO,IAAMmiF,mBAAmB/iL,KAAKpD,aA5UzEF,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA+jB3KqwU,EAliB+B,CAmiBtC/wM,aACF+wM,EAAc71S,YAAc,gBAC5B61S,EAAcjxM,aAAe,CAC3B/vH,EAAG,EACHC,EAAG,EACHlG,MAAO,EACPC,OAAQ,EACR4P,QAAS,CACP5J,EAAG,EACHC,EAAG,EACHlG,MAAO,EACPC,OAAQ,GAGVo9K,YAAa,SAEb1yC,MAAO,GACP37H,OAAQ,OACR+5T,UAAU,EACVJ,UAAU,EACV/9K,MAAM,EACN2yB,QAAQ,EACR6pJ,WAAY,EAEZmB,SAAU,EACVC,WAAY,EACZphN,SAAU,gB,gBC/mBZ,IAGIztH,EAHOnK,EAAQ,IAGDmK,OAElBrK,EAAOC,QAAUoK,G,gBCLjB,IAAIwmF,EAAa3wF,EAAQ,IACrB26U,EAAW36U,EAAQ,KA+BvBF,EAAOC,QAJP,SAAqBuJ,GACnB,OAAgB,MAATA,GAAiBqxU,EAASrxU,EAAM5C,UAAYiqF,EAAWrnF,K,gBC7BhE,IAAIsxU,EAAS56U,EAAQ,KACjBm3J,EAAan3J,EAAQ,KAEzB,SAAS66U,EAAW7uU,EAAM1C,GAGtB,cAFOxJ,EAAOC,QAAQiM,GACtBlM,EAAOC,QAAQiM,GAAQ1C,EAChBA,EAGXxJ,EAAOC,QAAU,CACb66U,OAAQA,EACRE,UAAW96U,EAAQ,KACnB+6U,YAAa/6U,EAAQ,KACrBm3J,WAAYA,EACZ,kBACI,OAAO0jL,EAAW,cAAe76U,EAAQ,OAE7C,aACI,OAAO66U,EAAW,SAAU76U,EAAQ,OAExC,qBACI,OAAO66U,EAAW,iBAAkB76U,EAAQ,OAEhD,mBACI,OAAO66U,EAAW,eAAgB76U,EAAQ,OAE9C,eACI,OAAO66U,EAAW,WAAY76U,EAAQ,OAE1C,wBACI,OAAO66U,EACH,oBACA76U,EAAQ,OAIhBg7U,eAAgB7jL,EAChB,iBACI,OAAO0jL,EAAW,aAAcjxU,KAAKqxU,cAGzCC,SAAU,SAAStgU,EAAMutB,GACrB,IAAIkhH,EAAU,IAAI8N,EAAWhvH,GAE7B,OADA,IAAIyyS,EAAOvxL,EAASlhH,GAAS+U,IAAItiC,GAC1ByuI,EAAQ36H,KAEnBysT,UAAW,SAASC,EAAMjzS,GACtB,IAAIkhH,EAAU,IAAIvpJ,EAAOC,QAAQk7U,YAAY9yS,GAE7C,OADA,IAAIyyS,EAAOvxL,EAASlhH,GAAS+U,IAAIk+R,GAC1B/xL,EAAQ36H,KAEnB2sT,gBAAiB,SAAS1kJ,EAAIxuJ,EAASmzS,GACnC,IAAIjyL,EAAU,IAAI8N,EAAWw/B,EAAIxuJ,EAASmzS,GAC1C,OAAO,IAAIV,EAAOvxL,EAASlhH,IAG/BozS,OAAQ,CAEJhnU,UAAW,EACXinU,WAAY,EACZC,SAAU,EACV59T,KAAM,EACN69T,sBAAuB,EACvBrrS,QAAS,EACTsrS,WAAY,EACZC,SAAU,EACVC,QAAS,EACTC,YAAa,EACb/+S,MAAO,EACPmgB,IAAK,K,cCpEbp9C,EAAOC,QAAU,CAChBo2C,KAAM,OACN4lS,UAAW,YACX3lS,QAAS,UACT4lS,OAAQ,SACRC,MAAO,QACP/8N,IAAK,MACLg9N,MAAO,QACPC,QAAS,UAETC,MAAO,SAASjxP,GACf,MAAqB,QAAdA,EAAKtwE,MAAgC,WAAdswE,EAAKtwE,MAAmC,UAAdswE,EAAKtwE,Q,gBCZ/D,IAAIqzB,EAAQluC,EAAQ,KAChB0c,EAAS1c,EAAQ,KAMjBq8U,EAAO,CAAExoM,KAAK,EAAM62K,QAAQ,EAAMpuS,OAAO,GAQ7Cvc,EAAQq8U,MAAQ,SAASvhU,GAEvB,OADIA,EAAKA,OAAMA,EAAOA,EAAKA,MACpBwhU,EAAKxhU,KAAS,GASvB9a,EAAQu8U,UAAY,SAAShvN,GAC3B,OAAOA,EAAIj8G,QAAQ,gBAAgB,SAAS8sB,EAAG1nB,GAC7C,OAAOA,EAAE44E,kBAUbtvF,EAAQw8U,QAAU,SAASjvN,GACzB,OAAOA,EAAIj8G,QAAQ,SAAU,OAAOoR,eAUtC1iB,EAAQy8U,QAAU,SAASC,EAASv1S,GAElC,IADA,IAAIzgC,EAAI,EAAGmoC,EAAM6tS,EAAQ/1U,OAClBD,EAAImoC,IAA2C,IAApC1H,EAAGt7B,KAAK6wU,EAASh2U,EAAGg2U,EAAQh2U,OAAiBA,EAC/D,OAAOg2U,GAUT18U,EAAQ28U,SAAW,SAAShuT,EAAKyZ,GAC/B,OAAO+F,EAAMxxB,EAAOgS,EAAKyZ,GAAUA,GAAS/rB,UAO9C,IAAIugU,EAAY,2CAKhB58U,EAAQ82C,OAAS,SAASy2E,GAExB,GAAsB,MAAlBA,EAAI56F,OAAO,IAA6C,MAA/B46F,EAAI56F,OAAO46F,EAAI5mH,OAAS,IAAc4mH,EAAI5mH,QAAU,EAAG,OAAO,EAG3F,IAAI0M,EAAQupU,EAAU3gT,KAAKsxF,GAC3B,SAAUl6G,IAASA,EAAM,M,gBCjF3B,IAAIwpU,EAAW98U,EAAOC,QAEtB,CACCC,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,MACP2+B,SAAQ,SAAS0uQ,GAClBtmS,OAAO23B,KAAK2uQ,GAAK1uQ,SAAQ,SAAS13B,GACjC21U,EAAS31U,GAAOomS,EAAIpmS,GAAKwF,KAAKmwU,U,cCXhC98U,EAAOC,QAAU,CAChB88U,SAAU,WACT,OAAO,GAERC,UAAW,WACV,OAAO,K,oHCHIC,EAAW5yU,OAAO,YAEhB,SAAS6yU,IACtB,IAAIjyS,EAAQ,IAAIm6H,IACZrqB,EAAS,GACTzF,EAAQ,GACRyc,EAAUkrL,EAEd,SAAS7iU,EAAMnO,GACb,IAAI9E,EAAM8E,EAAI,GAAItF,EAAIskC,EAAM7+B,IAAIjF,GAChC,IAAKR,EAAG,CACN,GAAIorJ,IAAYkrL,EAAU,OAAOlrL,EACjC9mH,EAAM30B,IAAInP,EAAKR,EAAIo0I,EAAOnqI,KAAK3E,IAEjC,OAAOqpI,GAAO3uI,EAAI,GAAK2uI,EAAM1uI,QA4B/B,OAzBAwT,EAAM2gI,OAAS,SAAS18G,GACtB,IAAKp0B,UAAUrD,OAAQ,OAAOm0I,EAAOj/F,QACrCi/F,EAAS,GAAI9vG,EAAQ,IAAIm6H,IAFA,oBAGL/mI,GAHK,IAGzB,IAAK,EAAL,qBAAuB,KAAZ70B,EAAY,QACfrC,EAAMqC,EAAQ,GAChByhC,EAAM6jD,IAAI3nF,IACd8jC,EAAM30B,IAAInP,EAAK4zI,EAAOnqI,KAAKpH,KANJ,8BAQzB,OAAO4Q,GAGTA,EAAMk7H,MAAQ,SAASj3G,GACrB,OAAOp0B,UAAUrD,QAAU0uI,EAAQ/qI,MAAMsY,KAAKwb,GAAIjkB,GAASk7H,EAAMx5F,SAGnE1hC,EAAM23I,QAAU,SAAS1zH,GACvB,OAAOp0B,UAAUrD,QAAUmrJ,EAAU1zH,EAAGjkB,GAAS23I,GAGnD33I,EAAM+zB,KAAO,WACX,OAAO+uS,EAAQniM,EAAQzF,GAAOyc,QAAQA,IAGxCnI,IAAU1/I,MAAMkQ,EAAOnQ,WAEhBmQ,I,6BC5CM,SAASi6H,EAAkBt1F,EAAKjQ,IAClC,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAE/C,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAC9Cq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAGhB,OAAOq4C,EAPT,mC,gBCSA,IAAiDzzC,EAS9B,qBAATzB,MAA8B0B,OATSD,EASD,SAAS4xU,GACzD,OAAiB,WACP,aACA,IAAIC,EAAuB,CAE/BC,IACC,SAASC,EAAyBr9U,GAGzC,IAAIs9U,EAAazzU,MAAQA,KAAKyzU,WAAe,WACzC,IAAIC,EAAgB,SAAUvxU,EAAG+H,GAI7B,OAHAwpU,EAAgBv2U,OAAO65H,gBAClB,CAAEpvF,UAAW,cAAgBnnC,OAAS,SAAU0B,EAAG+H,GAAK/H,EAAEylC,UAAY19B,IACvE,SAAU/H,EAAG+H,GAAK,IAAK,IAAIjH,KAAKiH,EAAO/M,OAAOM,UAAUuF,eAAehB,KAAKkI,EAAGjH,KAAId,EAAEc,GAAKiH,EAAEjH,MAC3Ed,EAAG+H,IAE5B,OAAO,SAAU/H,EAAG+H,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIzN,UAAU,uBAAyBk7B,OAAOztB,GAAK,iCAE7D,SAASypU,IAAO3zU,KAAKP,YAAc0C,EADnCuxU,EAAcvxU,EAAG+H,GAEjB/H,EAAE1E,UAAkB,OAANyM,EAAa/M,OAAOqC,OAAO0K,IAAMypU,EAAGl2U,UAAYyM,EAAEzM,UAAW,IAAIk2U,IAZ1C,GAe7Cx2U,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQy9U,aAAez9U,EAAQ09U,cAAW,EAC1C,IAAIA,EACA,SAAkBtwS,EAAK4uI,EAAOzxJ,GAC1B1gB,KAAKmyK,MAAQA,EACbnyK,KAAKg/L,WAAa7sB,EAAM6sB,WACxBh/L,KAAK8zU,UAAY9zU,KAAKg/L,WACtBh/L,KAAK2I,SAAWwpK,EAAMxpK,SACtB3I,KAAK0gB,OAASA,EACd1gB,KAAKujC,IAAMA,EAAIwwS,eAIvB59U,EAAQ09U,SAAWA,EACnB,IAAID,EAA8B,SAAU3sR,GAExC,SAAS2sR,EAAarwS,EAAK4uI,EAAO16D,EAAMx9B,EAAKF,EAAQr5D,GACjD,IAAI60B,EAAQ0R,EAAOjlD,KAAKhC,KAAMujC,EAAK4uI,EAAOzxJ,IAAW1gB,KAKrD,OAJAu1C,EAAMkiE,KAAOA,EACbliE,EAAM0kC,IAAMA,EACZ1kC,EAAMwkC,OAASA,EACfxkC,EAAMy+R,QAAU/5P,EAAI+5P,QACbz+R,EAEX,OATAk+R,EAAUG,EAAc3sR,GASjB2sR,EAVuB,CAWhCC,GACF19U,EAAQy9U,aAAeA,GAKjBK,IACC,SAAST,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvD,IAAIw0U,EAAeryU,EAAoB,KACnCsyU,EAAkBtyU,EAAoB,KACtCuyU,EAAoBvyU,EAAoB,KACxCwyU,EAAgBxyU,EAAoB,KACpCyyU,EAAgBzyU,EAAoB,IACpC0yU,EAAoB1yU,EAAoB,KAiF5C1L,EAAO,QAhFP,SAAmBysN,GAEfA,EAAM9kB,IAAI02I,UAAY,WAElB,IADA,IAIIj2S,EAJAmlB,EAAO,GACFnB,EAAK,EAAGA,EAAKpiD,UAAUrD,OAAQylD,IACpCmB,EAAKnB,GAAMpiD,UAAUoiD,GAGL,IAAhBmB,EAAK5mD,OACLyhC,EAAUmlB,EAAK,IAGf59C,QAAQqtB,MAAM,2CACdoL,EAAUmlB,EAAK,IAAM,IACb40D,QAAU50D,EAAK,GACvBnlB,EAAQla,KAAOq/B,EAAK,IAExB,IAAI++D,GAAQ,EAAI4xN,EAAcI,YAAYz0U,KAAMu+B,GAC5C4zI,GAAQ,EAAIoiK,EAAkBG,aAAa10U,KAAMyiH,GAErD,OADA,EAAI6xN,EAAcK,WAAW30U,KAAMmyK,GAC5BnyK,MAGX4iN,EAAM9kB,IAAI82I,eAAgB,EAC1BhyH,EAAM9kB,IAAI+2I,mBAAoB,EAC9BjyH,EAAM9kB,IAAI02I,UAAU3oS,UAAW,EAC/B+2K,EAAM9kB,IAAIg3I,cAAgB,SAAU7gU,EAAMpH,EAAGC,EAAGwF,IAC5C,EAAI6hU,EAAgB3gT,SAASvf,EAAMpH,EAAGC,EAAGwF,EAAQtS,OAErD4iN,EAAM9kB,IAAIi3I,qBAAuB,SAAUz1P,GAEvC,OADA80P,EAAkBY,WAAWC,YAAY31P,EAAUt/E,MAC5CA,MAEX4iN,EAAMmyH,qBAAuB,SAAUz1P,EAAU/7C,GAC7C6wS,EAAkBY,WAAWC,YAAY31P,EAAU/7C,IAEvDq/K,EAAM9kB,IAAIo3I,oBAAsB,SAAUC,EAAWC,GAEjD,QAD8B,IAA1BA,IAAoCA,GAAwB,GAC1C,qBAAX1zU,OAEP,OADAoE,QAAQqtB,MAAM,6DACP,KAEX,IAAIoQ,EAAM,IAAI6wS,EAAkBY,WAAWh1U,MACvCi8J,GAAK,EAAIi4K,EAAamB,WAAW9xS,EAAK4xS,EAAWzzU,OAAQ0zU,GAAuB,GAAQn3S,EAAOg+H,EAAGh+H,KAAM5Z,EAAO43I,EAAG53I,KAEtH,MAAO,CAAEi0F,QADKr6E,EAAK,GAAGxW,KAAI,SAAUvlB,GAAK,OAAOA,EAAEylB,WACvBmrE,KAAMzuE,EAAMrT,KAAMqT,IAKjDu+L,EAAM9kB,IAAIw3I,iBAAmB,WACzBxvU,QAAQqtB,MAAM,uFACd,IAAIwmD,EAAO35E,KAAK40U,cAChB,OAAIj7P,GAAQA,EAAK47P,OACN57P,EAAK47P,OAGL,GAMf3yH,EAAM9kB,IAAI03I,wBAA0B,SAAUC,GAM1C,OALA3vU,QAAQqtB,MAAM,yHACTyvL,EAAM9kB,IAAI02I,UAAUkB,iBACrB9yH,EAAM9kB,IAAI02I,UAAUkB,eAAiB,IAEzC9yH,EAAM9kB,IAAI02I,UAAUkB,eAAeC,eAAiBF,EAC7Cz1U,MAKX4iN,EAAM9kB,IAAI83I,iBAAmB,WAGzB,OAFA9vU,QAAQqtB,MAAM,mEACdnzB,KAAKwkM,UACExkM,QAQT61U,IACC,SAASrC,EAAyBr9U,GAGzCgH,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IAkDvDvJ,EAAO,QA7CP,SAAmB8d,EAAMpH,EAAGC,EAAGwF,EAAQixB,GACnCjxB,EAASA,GAAU,GACnB,IACIsP,EAAI2hB,EAAIsuJ,SAASmT,YACjBh6L,EAAWu4B,EAAIsuJ,SAAS1vF,cAAgBvgF,EAExC6vB,EAAY,GACZqkS,EAAY,EAchB,GAbsB,WAAlBxjU,EAAOqlG,QACW,WAAlBrlG,EAAOqlG,QACW,WAAlBrlG,EAAOyjU,QACW,UAAlBzjU,EAAOyjU,SAEPD,GADArkS,EAA4B,kBAATx9B,EAAoBA,EAAK1H,MAP/B,eAOmD0H,GAC1CnX,QAAU,GAGpCgQ,GAAK9B,GAAY,EAdI,MAeC,WAAlBsH,EAAOqlG,OACP7qG,GAAMgpU,EAAY,EAAK9qU,EAhBN,KAiBM,WAAlBsH,EAAOqlG,SACZ7qG,GAAKgpU,EAAY9qU,EAlBA,MAmBC,WAAlBsH,EAAOyjU,QAAyC,UAAlBzjU,EAAOyjU,OAAoB,CACzD,IAAIC,EAAYhrU,EAGhB,GAFsB,WAAlBsH,EAAOyjU,SACPC,GAAa,IACbvkS,GAAaqkS,GAAa,EAAG,CAC7B,IAAK,IAAIG,EAAQ,EAAGA,EAAQxkS,EAAU30C,OAAQm5U,IAC1C1yS,EAAItvB,KAAKw9B,EAAUwkS,GAAQppU,EAAI02B,EAAIyiK,mBAAmBv0J,EAAUwkS,IAAUD,EAAWlpU,GACrFA,GA1BS,KA0BJ9B,EAET,OAAOu4B,EAEX12B,GAAK02B,EAAIyiK,mBAAmB/xL,GAAQ+hU,EAWxC,MATsB,YAAlB1jU,EAAOyjU,OACPxyS,EAAItvB,KAAKA,EAAMpH,EAAGC,EAAG,CACjB0yE,SAAUltE,EAAOktE,UAAY,IAC7B7tE,MAAO,YAIX4xB,EAAItvB,KAAKA,EAAMpH,EAAGC,GAEfy2B,IAOL2yS,IACC,SAAS1C,EAAyBr9U,GAwBzC,SAASggV,EAAa1hU,EAAWk1L,GAC7B,IAAIysI,EAAW3hU,EAAY,EACvB4hU,EAAiB1sI,GAA2B,IAAdA,EAClC,OAAIysI,GAAYC,EACL,KAEFD,EACE,IAEFC,EACE,IAGA,KAlCfl5U,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQmgV,aAAengV,EAAQggV,aAAehgV,EAAQogV,eAAiBpgV,EAAQqgV,oBAAiB,EAShGrgV,EAAQqgV,eARR,SAAwBviU,EAAM3B,EAAQixB,GAMlC,OALAA,EAAIkzS,YAAYnkU,GAAQ,IACV7R,MAAMC,QAAQuT,GAAQA,EAAO,CAACA,IAEvCwT,KAAI,SAAUxT,GAAQ,OAAOsvB,EAAI2zK,aAAajjM,MAC9C86D,QAAO,SAAUpiE,EAAGzC,GAAK,OAAO/C,KAAK+K,IAAIvF,EAAGzC,KAAO,IAa5D/T,EAAQogV,eATR,SAAwBhzS,EAAK4uI,EAAOukK,EAAUh2T,GAC1C,IAAIjM,EAAY09J,EAAMxpK,SAASguU,eAC3B1tR,EAAYkpH,EAAMxpK,SAASiuU,eAC/BrzS,EAAIkzS,YAAY,CAAEhiU,UAAWA,EAAWw0C,UAAWA,IACnD,IAAI30C,EAAY6hU,EAAa1hU,GAAW,GACpCH,GACAivB,EAAI7sB,KAAKggU,EAAS7pU,EAAG6pU,EAAS5pU,EAAGqlK,EAAMx8H,SAASpS,EAAIwiK,WAAWn/L,OAAQ8Z,EAAO5T,EAAI4pU,EAAS5pU,EAAGwH,IAoBtGne,EAAQggV,aAAeA,EAyDvBhgV,EAAQmgV,aAxDR,SAAsB52U,EAAO6nH,GACzB,IAAI00C,EAAIC,EAAIC,EAAIlvB,EAEhB,GADAvtI,EAAQA,GAAS6nH,EACb9mH,MAAMC,QAAQhB,GAAQ,CACtB,GAAIA,EAAM5C,QAAU,EAChB,MAAO,CACHi6C,IAAKr3C,EAAM,GACXmjF,MAAOnjF,EAAM,GACbkjF,OAAQljF,EAAM,GACdm3C,KAAMn3C,EAAM,IAGf,GAAqB,IAAjBA,EAAM5C,OACX,MAAO,CACHi6C,IAAKr3C,EAAM,GACXmjF,MAAOnjF,EAAM,GACbkjF,OAAQljF,EAAM,GACdm3C,KAAMn3C,EAAM,IAGf,GAAqB,IAAjBA,EAAM5C,OACX,MAAO,CACHi6C,IAAKr3C,EAAM,GACXmjF,MAAOnjF,EAAM,GACbkjF,OAAQljF,EAAM,GACdm3C,KAAMn3C,EAAM,IAIhBA,EADsB,IAAjBA,EAAM5C,OACH4C,EAAM,GAGN6nH,EAGhB,MAAqB,kBAAV7nH,GACuB,kBAAnBA,EAAMmyF,WACbnyF,EAAMq3C,IAAMr3C,EAAMmyF,SAClBnyF,EAAMkjF,OAASljF,EAAMmyF,UAEO,kBAArBnyF,EAAMk5E,aACbl5E,EAAMmjF,MAAQnjF,EAAMk5E,WACpBl5E,EAAMm3C,KAAOn3C,EAAMk5E,YAEhB,CACH/hC,KAA4B,QAArBolH,EAAKv8J,EAAMm3C,YAAyB,IAAPolH,EAAgBA,EAAK10C,EACzDxwE,IAA0B,QAApBmlH,EAAKx8J,EAAMq3C,WAAwB,IAAPmlH,EAAgBA,EAAK30C,EACvD1kC,MAA8B,QAAtBs5E,EAAKz8J,EAAMmjF,aAA0B,IAAPs5E,EAAgBA,EAAK50C,EAC3D3kC,OAAgC,QAAvBqqD,EAAKvtI,EAAMkjF,cAA2B,IAAPqqD,EAAgBA,EAAK1lB,KAGhD,kBAAV7nH,IACPA,EAAQ6nH,GAEL,CAAExwE,IAAKr3C,EAAOmjF,MAAOnjF,EAAOkjF,OAAQljF,EAAOm3C,KAAMn3C,MAOtDm3U,IACC,SAASrD,EAAyBr9U,GAGzC,IAAIs9U,EAAazzU,MAAQA,KAAKyzU,WAAe,WACzC,IAAIC,EAAgB,SAAUvxU,EAAG+H,GAI7B,OAHAwpU,EAAgBv2U,OAAO65H,gBAClB,CAAEpvF,UAAW,cAAgBnnC,OAAS,SAAU0B,EAAG+H,GAAK/H,EAAEylC,UAAY19B,IACvE,SAAU/H,EAAG+H,GAAK,IAAK,IAAIjH,KAAKiH,EAAO/M,OAAOM,UAAUuF,eAAehB,KAAKkI,EAAGjH,KAAId,EAAEc,GAAKiH,EAAEjH,MAC3Ed,EAAG+H,IAE5B,OAAO,SAAU/H,EAAG+H,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIzN,UAAU,uBAAyBk7B,OAAOztB,GAAK,iCAE7D,SAASypU,IAAO3zU,KAAKP,YAAc0C,EADnCuxU,EAAcvxU,EAAG+H,GAEjB/H,EAAE1E,UAAkB,OAANyM,EAAa/M,OAAOqC,OAAO0K,IAAMypU,EAAGl2U,UAAYyM,EAAEzM,UAAW,IAAIk2U,IAZ1C,GAe7Cx2U,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQ2gV,SAAW3gV,EAAQ4gV,cAAgB5gV,EAAQ6gV,aAAe7gV,EAAQ8gV,oBAAiB,EAI3F9gV,EAAQ8gV,eAAiB,KACzB,IAAID,EAA8B,SAAU/vR,GAExC,SAAS+vR,EAAat8T,GAClB,IAAI66B,EAAQ0R,EAAOjlD,KAAKhC,OAASA,KAEjC,OADAu1C,EAAM2hS,SAAWx8T,EACV66B,EAEX,OANAk+R,EAAUuD,EAAc/vR,GAMjB+vR,EAPuB,CAQhCv2U,OACFtK,EAAQ6gV,aAAeA,EAoBvB7gV,EAAQ4gV,cAlBR,SAAuB/xI,GACnB,MAAO,CACH75L,KAAM,YACNY,UAAW,SACXm0E,SAAU,YACVypH,WAAW,EACXG,UAAW,GACXisI,OAAQ,OACRp+N,OAAQ,MACR3sG,SAAU,GACVmsU,YAAa,EAAInyI,EACjB/7I,UAAW,IACXx0C,UAAW,EACXykG,UAAW,OACXk+N,cAAe,EACfC,aAAc,IA0CtBlhV,EAAQ2gV,SAtCR,SAAkB10U,GAoCd,MAnCa,CACTk1U,QAAS,CACLnlK,MAAO,CAAEw3B,UAAW,IAAKG,UAAW,GAAI/9L,UAAW,UACnDkyB,KAAM,CAAE6rK,UAAW,IAAKH,UAAW,CAAC,GAAI,IAAK,KAAM59L,UAAW,QAC9DsY,KAAM,GACNkzT,KAAM,CAAEztI,UAAW,IAAKH,UAAW,CAAC,GAAI,IAAK,KAAM59L,UAAW,QAC9DyrU,aAAc,CAAE7tI,UAAW,MAE/B30H,KAAM,CACFm9F,MAAO,CACHw3B,UAAW,IACXG,UAAW,GACX/9L,UAAW,SACX0I,UAAW,IAEfwpB,KAAM,CACF6rK,UAAW,IACXH,UAAW,CAAC,GAAI,IAAK,KACrB59L,UAAW,OACX0I,UAAW,GAEf4P,KAAM,GACNkzT,KAAM,CACFztI,UAAW,IACXH,UAAW,CAAC,GAAI,IAAK,KACrB59L,UAAW,OACX0I,UAAW,GAEf+iU,aAAc,IAElBC,MAAO,CACHx5S,KAAM,CAAElyB,UAAW,QACnBwrU,KAAM,CAAExrU,UAAW,UAGb3J,KAOZs1U,IACC,SAASlE,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQwhV,cAAW,EAInB,IAAIC,EAAW/1U,EAAoB,KA4DnC,SAASg2U,EAAWn9T,EAASo9T,GACzB,IAAIC,EAkBR,SAASC,EAAUz2P,EAAMu2P,GACrB,IAAIt4G,EAAKs4G,EAAYv2P,GACrB,MAAW,qBAAPi+I,GACO,gBAAPA,GACO,YAAPA,GACO,YAAPA,EAC0B,MAAtBj+I,EAAK4yE,cACE,KAEJ6jL,EAAUz2P,EAAK4yE,cAAe2jL,GAG9Bt4G,EA9BIw4G,CAAUt9T,EAASo9T,GAClC,IAAKC,EACD,OAAO,KACX,IAAIv0T,EAAOu0T,EAASvuU,MAAM,0DAC1B,IAAKga,IAAS/iB,MAAMC,QAAQ8iB,GACxB,OAAO,KAEX,IAAIzZ,EAAQ,CACRmU,SAASsF,EAAK,IACdtF,SAASsF,EAAK,IACdtF,SAASsF,EAAK,KAGlB,OAAc,IADFtF,SAASsF,EAAK,KACPxV,MAAMjE,EAAM,KAAOiE,MAAMjE,EAAM,KAAOiE,MAAMjE,EAAM,IAC1D,KAEJA,EA9BX5T,EAAQwhV,SA9CR,SAAkBM,EAAgBv9T,EAASsqL,EAAatyL,EAAOhR,GAC3D,IAAI7B,EAAS,GAETumE,EAAkByxQ,EAAWn9T,GAAS,SAAU6mE,GAChD,OAAO7/E,EAAOyU,iBAAiBorE,GAAxB,mBAEY,MAAnBnb,IACAvmE,EAAO8pM,UAAYvjI,GACvB,IAAI0jI,EAAY+tI,EAAWn9T,GAAS,SAAU6mE,GAC1C,OAAO7/E,EAAOyU,iBAAiBorE,GAAxB,SAEM,MAAbuoH,IACAjqM,EAAOiqM,UAAYA,GACvB,IAAIouI,EAAcL,EAAWn9T,GAAS,SAAU6mE,GAC5C,OAAO7/E,EAAOyU,iBAAiBorE,GAAxB,kBAEQ,MAAf22P,IACAr4U,EAAOopD,UAAYivR,GACvB,IAAI1rQ,EA2ER,SAAsB95D,EAAOsyL,GACzB,IAAIthL,EAAM,CACNhR,EAAMg8I,WACNh8I,EAAMg7I,aACNh7I,EAAMi8I,cACNj8I,EAAM+6I,aAEN0qL,EAAgB,IAAM,GAAKnzI,GAC3BozI,GAAel6T,SAASxL,EAAMo2L,YAAc5qL,SAASxL,EAAM1H,WAAag6L,EAAc,EACtFqzI,EAAe30T,EAAI+D,KAAI,SAAU5mB,GACjC,OAAOqd,SAASrd,GAAK,KAAOs3U,KAE5B3rQ,GAAU,EAAIorQ,EAAStB,cAAc+B,EAAc,GAOvD,OANID,EAAc5rQ,EAAQz1B,MACtBy1B,EAAQz1B,IAAMqhS,GAEdA,EAAc5rQ,EAAQoW,SACtBpW,EAAQoW,OAASw1P,GAEd5rQ,EA9FO8rQ,CAAa5lU,EAAOsyL,GAC9Bx4H,IACA3sE,EAAOs3U,YAAc3qQ,GAEzB,IAAI5E,EAAK1pD,SAASxL,EAAMk8I,gBAAkB,KAC1ChnF,EAAKA,GArBe,GAAK,IAqBCo9H,KAEtBnlM,EAAO4U,UAAYmzD,GACvB,IAAI2wQ,EAAW,CAAC,OAAQ,QAAS,SAAU,YACA,IAAvCA,EAASluU,QAAQqI,EAAMw7L,aACvBruM,EAAOk2U,OAASrjU,EAAMw7L,YAGqB,KAD/CqqI,EAAW,CAAC,SAAU,SAAU,QACnBluU,QAAQqI,EAAM0iI,iBACvBv1I,EAAO83G,OAASjlG,EAAM0iI,eAE1B,IAAIrJ,EAAM7tH,SAASxL,EAAM1H,UAAY,IAChCgD,MAAM+9H,KACPlsI,EAAOmL,SAAW+gI,GAlCF,GAAK,KAmCzB,IAAIhgI,EAUR,SAAwB2G,GACpB,IAAIq5H,EAAM,GASV,OARyB,SAArBr5H,EAAMzG,YACe,WAArByG,EAAMzG,YACNiS,SAASxL,EAAMzG,aAAe,OAC9B8/H,EAAM,QAEc,WAApBr5H,EAAM3G,WAA8C,YAApB2G,EAAM3G,YACtCggI,GAAO,UAEJA,EApBSysM,CAAe9lU,GAC3B3G,IACAlM,EAAOkM,UAAYA,GACvB,IAAIZ,GAAQuH,EAAMxG,YAAc,IAAI2M,cAIpC,OAHsC,IAAlCo/T,EAAe5tU,QAAQc,KACvBtL,EAAOsL,KAAOA,GAEXtL,IA0EL44U,IACC,SAASjF,EAAyBr9U,GAGzCgH,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQ6+U,gBAAa,EACrB,IAAIU,EAAiB,GACjBV,EAA4B,WAC5B,SAASA,EAAW0D,GAChB14U,KAAK04U,cAAgBA,EACrB14U,KAAK24U,WAAa,CAEd7uI,UAAW4uI,EAAc1uI,aACnBhqM,KAAK04U,cAAc1uI,eACnB,EACNh/L,SAAU0tU,EAAc7mJ,SAAS1vF,cACjCp2F,UAAW2sU,EAAc7mJ,SAASoW,UAAUl8L,UAC5CZ,KAAMutU,EAAc7mJ,SAASoW,UAAUrH,UAyH/C,OAtHAo0I,EAAWC,YAAc,SAAU31P,EAAU/7C,QAC7B,IAARA,IAAkBA,EAAM,MACxBA,EACAA,EAAIq1S,4BAA8Bt5P,EAGlCo2P,EAAiBp2P,GAGzB01P,EAAW6D,WAAa,SAAU32U,GAC9B,OAAIzB,MAAMC,QAAQwB,GACPA,EAEW,kBAANA,EACL,CAACA,EAAGA,EAAGA,GAEI,kBAANA,EACL,CAACA,GAGD,MAGf8yU,EAAWv3U,UAAUg5U,YAAc,SAAUnkU,EAAQwmU,GAGjD,IAAI78K,EAAIC,EAAIC,OACK,IAAb28K,IAAuBA,GAAW,GAClCxmU,EAAOvG,WACP/L,KAAK04U,cAAcK,cACf/4U,KAAK04U,cAAcK,aAAazmU,EAAOvG,WAC/C,IAAIkhI,EAAKjtI,KAAK04U,cAAc7mJ,SAASoW,UAAWl8L,EAAYkhI,EAAGlhI,UAAW60L,EAAW3zD,EAAG2zD,SAGxF,GAFItuL,EAAOnH,OACPy1L,EAAWtuL,EAAOnH,MAClBmH,EAAOvG,UAAW,CAClBA,EAAYuG,EAAOvG,UACnB,IAAIitU,EAAsBh5U,KAAKkoM,cAActH,GACzCo4I,IAC4C,IAA5CA,EAAoB3uU,QAAQ0B,KAI5B/L,KAAK04U,cAAcK,cACf/4U,KAAK04U,cAAcK,aAAaC,EAAoB,IACxDjtU,EAAYitU,EAAoB,IAMxC,GAHAh5U,KAAK04U,cAAc3wI,QAAQnH,EAAU70L,GACjCuG,EAAOtH,UACPhL,KAAK04U,cAAc92O,YAAYtvF,EAAOtH,WACtC8tU,EAAJ,CAGA,IAAI/uU,EAAQirU,EAAW6D,WAAWvmU,EAAOq3L,WACrC5/L,IACCkyJ,EAAKj8J,KAAK04U,eAAe7uI,aAAazpM,MAAM67J,EAAIlyJ,IACrDA,EAAQirU,EAAW6D,WAAWvmU,EAAOw3L,cAEhC5tC,EAAKl8J,KAAK04U,eAAezuI,aAAa7pM,MAAM87J,EAAInyJ,IACrDA,EAAQirU,EAAW6D,WAAWvmU,EAAO22C,cAEhCkzG,EAAKn8J,KAAK04U,eAAejvI,aAAarpM,MAAM+7J,EAAIpyJ,GACrB,kBAArBuI,EAAOmC,WACdzU,KAAK04U,cAAcpwI,aAAah2L,EAAOmC,aAG/CugU,EAAWv3U,UAAU0nM,gBAAkB,SAAUlxL,EAAMixD,EAAM7hE,GACzD,OAAOrD,KAAK04U,cAAcvzI,gBAAgBlxL,EAAMixD,EAAM7hE,IAE1D2xU,EAAWv3U,UAAUiZ,KAAO,SAAU7J,EAAGC,EAAGlG,EAAOC,EAAQyN,GACvD,OAAOtU,KAAK04U,cAAchiU,KAAK7J,EAAGC,EAAGlG,EAAOC,EAAQyN,IAExD0gU,EAAWv3U,UAAUw7U,iBAAmB,WACpC,OAAOj5U,KAAK04U,cAAc9D,eAAiB,MAE/CI,EAAWv3U,UAAUy5M,aAAe,SAAUjjM,GAC1C,OAAOjU,KAAK04U,cAAcxhI,aAAajjM,IAE3C+gU,EAAWv3U,UAAUs2U,YAAc,WAC/B,OAAO/zU,KAAK04U,eAEhB1D,EAAWv3U,UAAU4kM,QAAU,SAAU5pC,GACrCz4J,KAAK04U,cAAcr2I,QAAQ5pC,IAE/Bu8K,EAAWv3U,UAAU+mM,QAAU,WAC3B,OAAOxkM,KAAK04U,cAAcl0I,WAE9BwwI,EAAWv3U,UAAUyqM,YAAc,WAC/B,OAAOloM,KAAK04U,cAAcxwI,eAE9B8sI,EAAWv3U,UAAUy7U,iBAAmB,WACpC,OAAOxD,GAAkB,IAE7BV,EAAWv3U,UAAU07U,mBAAqB,WACtC,OAAOn5U,KAAK04U,cAAcE,6BAA+B,IAE7D5D,EAAWv3U,UAAUsoM,SAAW,WAC5B,IAAIA,EAAW/lM,KAAK04U,cAAc7mJ,SAASkU,SAQ3C,OANsB,MAAlBA,EAASn/L,QACTm/L,EAAW,CACPn/L,MAAOm/L,EAASpwJ,WAChB9uC,OAAQk/L,EAASlwJ,cAGlBkwJ,GAEXivI,EAAWv3U,UAAUunM,YAAc,WAC/B,OAAOhlM,KAAK04U,cAAc7mJ,SAASmT,aAEvCgwI,EAAWv3U,UAAUuhM,WAAa,WAC9B,IAAIo6I,EAAWp5U,KAAK04U,cAAc7mJ,SAAS0S,qBAC3C,OAAK60I,EAIEA,EAASp6I,WAFLh/L,KAAK04U,cAAc7mJ,SAAS0Q,oBAIpCyyI,EAnIqB,GAqIhC7+U,EAAQ6+U,WAAaA,GAKfqE,IACC,SAAS7F,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQk/U,eAAY,EACpB,IAAIiE,EAAcz3U,EAAoB,KAClC03U,EAAW13U,EAAoB,KAuCnC,SAAS23U,EAAgBvB,EAAgBjzI,EAAatjM,EAAQu4E,EAAKw/P,EAAeC,GAE9E,IADA,IAAIC,EAAY,IAAIJ,EAASvC,aAAa/8P,GACjCp9E,EAAI,EAAGA,EAAIo9E,EAAIo1M,MAAMvyR,OAAQD,IAAK,CACvC,IAAI46G,EAAOx9B,EAAIo1M,MAAMxyR,GACjB+8U,EAAUl4U,EAAOyU,iBAAiBshG,GACtC,GAAIgiO,GAAqC,SAApBG,EAAQx1T,QAAoB,CAC7C,IAAIomP,OAAa,EACbkvE,IACAlvE,GAAa,EAAI8uE,EAAY3B,UAAUM,EAAgBxgO,EAAMutF,EAAa40I,EAASl4U,IAEvFi4U,EAAU7yU,KAAK,CACXu6J,QAAS5pD,EAAK4pD,QACdD,QAAS3pD,EAAK2pD,QACd9uJ,OAAQk4P,EACR0sE,SAAUz/N,EACV9vF,QAASkyT,EAAiBpiO,MAItC,IAAI/kG,EAAQhR,EAAOyU,iBAAiB8jE,GACpC,GAAI0/P,EAAU78U,OAAS,IAAM28U,GAAmC,SAAlB/mU,EAAM0R,SAChD,OAAOu1T,EAGf,SAASE,EAAiBC,GAEtB,IAAIriO,EAAOqiO,EAAQ1qS,WAAU,GAU7B,OAPAqoE,EAAKtwF,UAAYswF,EAAKtwF,UAAU1f,QAAQ,MAAO,IAAIA,QAAQ,MAAO,KAElEgwG,EAAKtwF,UAAYswF,EAAKtwF,UACjB5a,MAAM,aACNkb,KAAI,SAAUqX,GAAQ,OAAOA,EAAKt3B,UAClC6E,KAAK,MAEHorG,EAAK83E,WAAa93E,EAAKvjG,aAAe,GArCjD/d,EAAQk/U,UArCR,SAAmB9xS,EAAKk/E,EAAO/gH,EAAQq4U,EAAmBL,GACtD,IAAIz9K,EAAIC,EAGJ89K,OAFsB,IAAtBD,IAAgCA,GAAoB,QACzC,IAAXL,IAAqBA,GAAS,GAG9BM,EADiB,kBAAVv3N,EACQ/gH,EAAO4B,SAASs6B,cAAc6kF,GAG9BA,EAEnB,IAAIw1N,EAAiB96U,OAAO23B,KAAKyO,EAAI2kK,eACjClD,EAAczhK,EAAIyhK,cAClB/mK,EAAO,GAAI5Z,EAAO,GAAIkzT,EAAO,GACjC,IAAKyC,EAED,OADAl0U,QAAQqtB,MAAM,6CAA8CsvF,GACrD,CAAExkF,KAAMA,EAAM5Z,KAAMA,EAAMkzT,KAAMA,GAE3C,IAAK,IAAI16U,EAAI,EAAGA,EAAIm9U,EAAalnP,KAAKh2F,OAAQD,IAAK,CAC/C,IAAI6d,EAAUs/T,EAAalnP,KAAKj2F,GAC5B4oC,EAAoJ,QAAzIy2H,EAAwF,QAAlFD,EAAiB,OAAZvhJ,QAAgC,IAAZA,OAAqB,EAASA,EAAQy5I,qBAAkC,IAAP8H,OAAgB,EAASA,EAAGx2H,eAA4B,IAAPy2H,OAAgB,EAASA,EAAGrjJ,cACxLohE,EAAMu/P,EAAgBvB,EAAgBjzI,EAAatjM,EAAQgZ,EAASq/T,EAAmBL,GACtFz/P,IAEW,UAAZx0C,EACAxH,EAAKn3B,KAAKmzE,GAEO,UAAZx0C,EACL8xS,EAAKzwU,KAAKmzE,GAIV51D,EAAKvd,KAAKmzE,IAGlB,MAAO,CAAEh8C,KAAMA,EAAM5Z,KAAMA,EAAMkzT,KAAMA,KA6CrC0C,IACC,SAASzG,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQs+U,gBAAa,EACrB,IAAIP,EAAeryU,EAAoB,KACnCq4U,EAAcr4U,EAAoB,KAClC+1U,EAAW/1U,EAAoB,KAC/BuyU,EAAoBvyU,EAAoB,KACxCs4U,EAAmBt4U,EAAoB,KAqK3C,SAASu4U,EAAan8S,EAAM5Z,EAAMkzT,GAC9B,IAAI8C,EAAWp8S,EAAK,IAAM5Z,EAAK,IAAMkzT,EAAK,IAAM,GAC5C13U,EAAS,GA2Bb,OA1BA1C,OAAO23B,KAAKulT,GACPpnU,QAAO,SAAU5V,GAAO,MAAe,aAARA,KAC/B03B,SAAQ,SAAU13B,GACnB,IACIolH,EADA2+C,EAAU,EAQO,kBALjB3+C,EADAhiH,MAAMC,QAAQ25U,GACNA,EAASn8T,SAAS7gB,IAGlBg9U,EAASh9U,KAEaoD,MAAMC,QAAQ+hH,KAC5C2+C,GAAqB,OAAV3+C,QAA4B,IAAVA,OAAmB,EAASA,EAAM2+C,UAAY,GAE/E,IAAK,IAAIvkK,EAAI,EAAGA,EAAIukK,EAASvkK,IAAK,CAC9B,IAOIy9U,EAAY,CAAE5pM,QANdjwI,MAAMC,QAAQ25U,GACTx6U,EAAO/C,OAGPO,GAAOR,EAAI,EAAI,IAAI2rB,OAAO3rB,GAAK,KAGxCgD,EAAOiH,KAAKwzU,OAGbz6U,EA3KX1J,EAAQs+U,WAtBR,SAAoBtyU,EAAG6V,GACnB,IAAIurB,EAAM,IAAI6wS,EAAkBY,WAAW7yU,GACvCmB,EAAWigC,EAAI41S,qBACf7yN,EAAS/iF,EAAI21S,oBACjB,EAAIiB,EAAiB3mT,SAAS+P,EAAK+iF,EAAQhjH,EAAU0U,GACrD,IACIo2I,EADA7vH,GAAU,EAAI27S,EAAYxiT,QAAQ,GAAI4uF,EAAQhjH,EAAU0U,GAEtC,qBAAXtW,SACP0sJ,EAAM1sJ,QAEV,IAAI4Q,EAaR,SAAqBioU,EAAQC,EAAQC,GAsBjC,IArBA,IAAIC,EAAe,CACfpoU,OAAQ,GACRqoU,WAAY,GACZC,WAAY,GACZC,WAAY,GACZC,mBAAoB,GACpBC,aAAc,IAEdC,EAAU,SAAUx1U,GACpB,GAAa,iBAATA,EAAyB,CACzB,IAAIy1U,EAAWV,EAAO/0U,GAClB01U,EAAaV,EAAOh1U,GACpBwS,EAAUyiU,EAAOj1U,GACrBk1U,EAAaK,cAAe,EAAIb,EAAYxiT,QAAQ,GAAIujT,EAAUC,EAAYljU,OAE7E,CACD,IACI1F,EADa,CAACioU,EAAQC,EAAQC,GACVhzT,KAAI,SAAUpkB,GAAQ,OAAOA,EAAKmC,IAAS,MACnEk1U,EAAal1U,IAAQ,EAAI00U,EAAYxiT,QAAQ,GAAIplB,EAAO,GAAIA,EAAO,GAAIA,EAAO,MAG7EiwC,EAAK,EAAG05G,EAAK9+J,OAAO23B,KAAK4lT,GAAen4R,EAAK05G,EAAGn/J,OAAQylD,IAAM,CACnE,IAAI/8C,EAAOy2J,EAAG15G,GACdy4R,EAAQx1U,GAEZ,OAAOk1U,EAvCMS,CAAY70N,EAAQhjH,EAAU0U,GACvCojU,EAwCR,SAAoB90N,EAAQhjH,EAAU0U,GAQlC,IAPA,IACInY,EAAS,CACTw7U,aAAc,GACdC,aAAc,GACdC,YAAa,GACbC,YAAa,IAERj5R,EAAK,EAAGk5R,EAPA,CAACn1N,EAAQhjH,EAAU0U,GAOQuqC,EAAKk5R,EAAa3+U,OAAQylD,IAAM,CACxE,IAAIhkB,EAAUk9S,EAAal5R,GACvBhkB,EAAQ88S,cACRx7U,EAAOw7U,aAAav0U,KAAKy3B,EAAQ88S,cACjC98S,EAAQ+8S,cACRz7U,EAAOy7U,aAAax0U,KAAKy3B,EAAQ+8S,cACjC/8S,EAAQg9S,aACR17U,EAAO07U,YAAYz0U,KAAKy3B,EAAQg9S,aAChCh9S,EAAQi9S,aACR37U,EAAO27U,YAAY10U,KAAKy3B,EAAQi9S,aAExC,OAAO37U,EA3DK67U,CAAWp1N,EAAQhjH,EAAU0U,GACrCrP,EA4DR,SAAuB46B,EAAKhF,GACxB,IAAI09H,EAAIC,EAAIC,EAAIlvB,EAAIjsI,EAAI0rQ,EAAIivE,EAAIC,EAAItlQ,EAAIulQ,EAAIC,EAGxCC,EAUAC,EAZAv/P,GAAS,EAAIm7P,EAAStB,cAAc/3S,EAAQk+C,OAAQ,GAAKl5C,EAAIyhK,eAC7DzhG,EAAmD,QAAzC04D,EA4ClB,SAAmB14H,EAAK04S,GACpB,IAAIpwS,EAAWtI,EAAI01S,mBACfiD,EAAK34S,EAAIyhK,cACTuG,EAAchoK,EAAIy7J,aAClBm9I,GAA4B,EAChC,GAAItwS,GAAYA,EAASuwS,gBAAiB,CACtC,IAAIC,EAAaxwS,EAASuwS,gBAAkBvwS,EAASmzJ,WAAa,EAClEm9I,EAA4BE,IAAe9wI,EAE/C,MAA0B,kBAAf0wI,EACAA,EAEY,MAAdA,IAAqC,IAAfA,IACvBE,GAAsG,OAA3D,OAAbtwS,QAAkC,IAAbA,OAAsB,EAASA,EAAS0pS,QAM5F,KAHQ1pS,EAAS0pS,OAAS,GAAK2G,EA5DnB/3O,CAAU5gE,EAAKhF,EAAQglE,eAA4B,IAAP04D,EAAgBA,EAAKx/E,EAAO1lC,IAGvFglS,GADqB,IAArBx9S,EAAQw9S,SACG,aAEe,IAArBx9S,EAAQw9S,SACF,QAG4B,QAA3B7/K,EAAK39H,EAAQw9S,gBAA6B,IAAP7/K,EAAgBA,EAAK,YAIpE8/K,GADqB,IAArBz9S,EAAQy9S,SACG,aAEe,IAArBz9S,EAAQy9S,SACF,QAG4B,QAA3B7/K,EAAK59H,EAAQy9S,gBAA6B,IAAP7/K,EAAgBA,EAAK,YAExE,IAAIu9K,EAAmC,QAAzBzsM,EAAK1uG,EAAQm7S,cAA2B,IAAPzsM,GAAgBA,EAC3DosH,EAAQ96N,EAAQ86N,QAAUqgF,EAAS,QAAU,WAC7C4C,IAAsB/9S,EAAQ+9S,oBAG9BC,EAAyE,QAA5Cv7U,EAAKu9B,EAAQg+S,iCAA8C,IAAPv7U,EAAgBA,EAAK,KAC1G,MAAO,CACH+4U,kBAAwD,QAApCrtE,EAAKnuO,EAAQw7S,yBAAsC,IAAPrtE,GAAgBA,EAChFgtE,OAAQA,EACRrgF,MAAOA,EACP91J,OAAQA,EACR9mB,OAAQA,EACR+/P,UAAwC,QAA5Bb,EAAKp9S,EAAQi+S,iBAA8B,IAAPb,EAAgBA,EAAK,OACrEc,aAA8C,QAA/Bb,EAAKr9S,EAAQk+S,oBAAiC,IAAPb,EAAgBA,EAAK,OAC3E9pK,WAA0C,QAA7Bx7F,EAAK/3C,EAAQuzI,kBAA+B,IAAPx7F,EAAgBA,EAAK,OACvE0lQ,SAAUA,EACVD,SAAUA,EACVpF,eAAkD,QAAjCkF,EAAKt9S,EAAQo4S,sBAAmC,IAAPkF,EAAgBA,EAAK,EAC/EjF,eAAkD,QAAjCkF,EAAKv9S,EAAQq4S,sBAAmC,IAAPkF,EAAgBA,EAAK,IAC/EQ,oBAAqBA,EACrBC,0BAA2BA,GAxGhBG,CAAcn5S,EAAKhF,GAC9B5W,EA+HR,SAAsB4b,EAAKhF,EAAS78B,GAChC,IAAIu8B,EAAOM,EAAQN,MAAQ,GACvB5Z,EAAOka,EAAQla,MAAQ,GACvBkzT,EAAOh5S,EAAQg5S,MAAQ,GAC3B,GAAIh5S,EAAQkX,KAAM,CACd,IAAI06N,EAAS5xO,EAAQw7S,kBACrB,GAAIr4U,EAAQ,CACR,IAAIi7U,GAAc,EAAIzI,EAAamB,WAAW9xS,EAAKhF,EAAQkX,KAAM/zC,EAAQyuQ,EAAQ5xO,EAAQm7S,SAAW,GACpGz7S,EAAO0+S,EAAY1+S,MAAQA,EAC3B5Z,EAAOs4T,EAAYt4T,MAAQ4Z,EAC3Bs5S,EAAOoF,EAAYpF,MAAQt5S,OAG3Bn4B,QAAQqtB,MAAM,gDAItB,MAAO,CACHmlF,QAFU/5E,EAAQ+5E,SAAW8hO,EAAan8S,EAAM5Z,EAAMkzT,GAGtDt5S,KAAMA,EACN5Z,KAAMA,EACNkzT,KAAMA,GApJIqF,CAAar5S,EAAKhF,EAAS6vH,GACzC,MAAO,CACHjqI,GAAInM,EAAQ6kU,QACZl1T,QAASA,EACTyzT,MAAOA,EACP9oU,OAAQA,EACR3J,SAAUA,KAoLZm0U,IACC,SAAStJ,EAAyBr9U,GA0GzC,SAAS4mV,EAAYzqU,GACbA,EAAO0qU,WACPl3U,QAAQqtB,MAAM,sEACT7gB,EAAO8kU,gBACR9kU,EAAO8kU,cAAgB9kU,EAAO0qU,YAG7B1qU,EAAOqjK,cACZ7vK,QAAQqtB,MAAM,oEACT7gB,EAAO4mG,YACR5mG,EAAO4mG,UAAY5mG,EAAOqjK,cAjHtCx4K,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IAsGvDvJ,EAAO,QArGP,SAAmBotC,EAAK+iF,EAAQhjH,EAAU0U,GAgGtC,IA/FA,IAAIgjU,EAAU,SAAUz8S,GAChBA,GAA8B,kBAAZA,GAClBz4B,QAAQqtB,MAAM,8DAAgEoL,GAE/C,qBAAxBA,EAAQ0+S,cACf1+S,EAAQuzI,WAAavzI,EAAQ0+S,YAAc,OAAS,OACpDn3U,QAAQqtB,MAAM,mEAEa,qBAApBoL,EAAQ8/K,UACe,qBAAnB9/K,EAAQk+C,SACfl+C,EAAQk+C,OAASl+C,EAAQ8/K,SAC7Bv4M,QAAQqtB,MAAM,2DAEdoL,EAAQglE,QAAoC,kBAAnBhlE,EAAQglE,SACjCz9F,QAAQqtB,MAAM,kCAAmCoL,EAAQglE,eAClDhlE,EAAQglE,SAEdhlE,EAAQi9S,cACRj9S,EAAQ2+S,kBACL3+S,EAAQ4+S,mBACR5+S,EAAQ6+S,gBACZt3U,QAAQqtB,MAAM,0GACdoL,EAAQi9S,YAAc,SAAUxqU,GAC5BuyB,EAAIkzS,YAAYlzS,EAAIo1S,YAChBp6S,EAAQ4+S,mBACR5+S,EAAQ4+S,kBAAkBnsU,GAC9BuyB,EAAIkzS,YAAYlzS,EAAIo1S,YAChBp6S,EAAQ2+S,kBACR3+S,EAAQ2+S,iBAAiBlsU,GAC7BuyB,EAAIkzS,YAAYlzS,EAAIo1S,YAChBp6S,EAAQ6+S,cAAgBpsU,EAAKguL,WAAa,GAE1ChuL,EAAKosU,aAAapsU,GAEtBuyB,EAAIkzS,YAAYlzS,EAAIo1S,cAI5B,CACI,oBACA,gBACA,UACA,kBACF5jT,SAAQ,SAAU3yB,GACZm8B,EAAQn8B,IACR0D,QAAQqtB,MAAM,QAAS3K,OAAOpmB,EAAM,kFAG5C,CACI,CAAC,WAAY,cACb,CAAC,WAAY,cACb,CAAC,cAAe,kBAChB,CAAC,eAAgB,eACjB,CAAC,aAAc,iBACjB2yB,SAAQ,SAAUknI,GAChB,IAAIjkJ,EAAUikJ,EAAG,GAAIohL,EAAaphL,EAAG,GACjC19H,EAAQ8+S,KACRv3U,QAAQqtB,MAAM,4BAA4B3K,OAAO60T,EAAY,UAAU70T,OAAOxQ,EAAS,aACvFumB,EAAQvmB,GAAWumB,EAAQ8+S,OAGnC,CACI,CAAC,UAAW,eACZ,CAAC,aAAc,aACf,WACA,YACFtoT,SAAQ,SAAUz0B,GAChB,IAAIg9U,EAAgC,kBAANh9U,EAAiBA,EAAIA,EAAE,GACjDoS,EAAqB,kBAANpS,EAAiBA,EAAIA,EAAE,GACD,qBAA9Bi+B,EAAQ++S,KACsB,qBAA1B/+S,EAAQjsB,OAAOI,KACtB6rB,EAAQjsB,OAAOI,GAAS6rB,EAAQ++S,IAEpCx3U,QAAQqtB,MAAM,6BACVmqT,EACA,mBACA5qU,EACA,iBAGZ,IAAK,IAAIwpJ,EAAK,EAAGC,EAAK,CAClB,SACA,aACA,aACA,cACDD,EAAKC,EAAGr/J,OAAQo/J,IAEf6gL,EAAYx+S,EADI49H,EAAGD,KACe,IAGtC,IADA,IAAI6+K,EAAex8S,EAAO,cAAoB,GACrC0uG,EAAK,EAAGjsI,EAAK7D,OAAO23B,KAAKimT,GAAe9tM,EAAKjsI,EAAGlE,OAAQmwI,IAE7D8vM,EAAYhC,EADF/5U,EAAGisI,KACoB,KAGhC1qF,EAAK,EAAG05G,EAAK,CAAC31C,EAAQhjH,EAAU0U,GAAUuqC,EAAK05G,EAAGn/J,OAAQylD,IAE/Dy4R,EADc/+K,EAAG15G,MAuBnBg7R,IACC,SAAS/J,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQ0pK,OAAS1pK,EAAQqnV,KAAOrnV,EAAQsnV,IAAMtnV,EAAQg9H,WAAQ,EAC9D,IAAIomN,EAAW13U,EAAoB,KAC/B67U,EAAa77U,EAAoB,KACjC+1U,EAAW/1U,EAAoB,KAC/BsxH,EAAuB,WACvB,SAASA,EAAM1Q,EAAO96F,GAClB3nB,KAAKg/L,WAAa,EAIlBh/L,KAAK8zU,UAAY,EACjB9zU,KAAKmkB,GAAKs+F,EAAMt+F,GAChBnkB,KAAK2I,SAAW85G,EAAM95G,SACtB3I,KAAKsS,OAASmwG,EAAMnwG,OACpBtS,KAAKo7U,MAAQ34N,EAAM24N,MACnBp7U,KAAKs4G,QAAU3wF,EAAQ2wF,QACvBt4G,KAAKi+B,KAAOtW,EAAQsW,KACpBj+B,KAAKqkB,KAAOsD,EAAQtD,KACpBrkB,KAAKu3U,KAAO5vT,EAAQ4vT,KA4CxB,OA1CApkN,EAAM11H,UAAUkgV,cAAgB,SAAUrlO,GACtC,OAAOt4G,KAAKi+B,KAAK8wC,QAAO,SAAUw4D,EAAKttD,GAAO,OAAOstD,EAAMttD,EAAI2jQ,iBAAiBtlO,KAAa,IAEjG6a,EAAM11H,UAAUogV,cAAgB,SAAUvlO,GACtC,OAAOt4G,KAAKu3U,KAAKxoQ,QAAO,SAAUw4D,EAAKttD,GAAO,OAAOstD,EAAMttD,EAAI2jQ,iBAAiBtlO,KAAa,IAEjG6a,EAAM11H,UAAUqgV,QAAU,WACtB,OAAO99U,KAAKi+B,KAAKzV,OAAOxoB,KAAKqkB,MAAMmE,OAAOxoB,KAAKu3U,OAEnDpkN,EAAM11H,UAAUsgV,cAAgB,SAAUx6S,EAAKy6S,EAAUvmO,EAAMx9B,EAAKF,EAAQr5D,GACxE,IAAK,IAAI6hC,EAAK,EAAG07R,EAAaD,EAAUz7R,EAAK07R,EAAWnhV,OAAQylD,IAAM,CAClE,IAEI1iD,GAA2B,KAAlB4/I,EAFCw+L,EAAW17R,IACd,IAAIm7R,EAAW9J,aAAarwS,EAAKvjC,KAAMy3G,EAAMx9B,EAAKF,EAAQr5D,IAIrE,GADA+2F,EAAKxjG,KAAOxT,MAAMC,QAAQ+2G,EAAKxjG,MAAQwjG,EAAKxjG,KAAO,CAACwjG,EAAKxjG,MACrDpU,EACA,OAAO,EAGf,OAAO,GAEXszH,EAAM11H,UAAUygV,iBAAmB,SAAU36S,EAAK7iB,GAC9C6iB,EAAIkzS,YAAYlzS,EAAIo1S,YACpB,IAAK,IAAIp2R,EAAK,EAAG05G,EAAKj8J,KAAKo7U,MAAMI,YAAaj5R,EAAK05G,EAAGn/J,OAAQylD,KAE1Dk9F,EADcwc,EAAG15G,IACT,IAAIm7R,EAAW7J,SAAStwS,EAAKvjC,KAAM0gB,KAGnDyyG,EAAM11H,UAAUk4C,SAAW,SAAUwoS,GACjC,GAAwC,kBAA7Bn+U,KAAK2I,SAASmpK,WACrB,OAAO9xK,KAAK2I,SAASmpK,WAEpB,GAAiC,SAA7B9xK,KAAK2I,SAASmpK,WAEnB,OADmB9xK,KAAKs4G,QAAQvpC,QAAO,SAAUqvQ,EAAO9jQ,GAAO,OAAO8jQ,EAAQ9jQ,EAAI+jQ,eAAiB,GAInG,IAAI5hQ,EAASz8E,KAAK2I,SAAS8zE,OAC3B,OAAO0hQ,EAAY1hQ,EAAO5lC,KAAO4lC,EAAOoG,OAGzCswC,EA1DgB,GA4D3Bh9H,EAAQg9H,MAAQA,EAChB,IAAIsqN,EAAqB,WACrB,SAASA,EAAItzG,EAAKhpM,EAAO6yS,EAAS3kD,EAAOivD,QACV,IAAvBA,IAAiCA,GAAqB,GAC1Dt+U,KAAK6G,OAAS,EACd7G,KAAKmqO,IAAMA,EACPA,aAAeovG,EAASvC,eACxBh3U,KAAKmqO,IAAMA,EAAI+sG,SACfl3U,KAAK0a,QAAUyvN,EAAI+sG,UAEvBl3U,KAAKmhC,MAAQA,EACbnhC,KAAKg0U,QAAUA,EACfh0U,KAAKqvR,MAAQA,EACbrvR,KAAKs+U,mBAAqBA,EA8B9B,OA5BAb,EAAIhgV,UAAUmgV,iBAAmB,SAAUtlO,GACvC,IAAI/iE,EAAQv1C,KACZ,OAAOs4G,EAAQvpC,QAAO,SAAUw4D,EAAKxtD,GAAU,IAAIkiF,EAAI,OAAO90J,KAAK+K,IAAIq1H,GAA2C,QAApC00B,EAAK1mH,EAAM85O,MAAMt1M,EAAO54C,cAA2B,IAAP86H,OAAgB,EAASA,EAAGp1J,SAAW,KAAO,IAE5K42U,EAAIhgV,UAAU8gV,WAAa,SAAUjmO,GACjC,IAAI/iE,EAAQv1C,KACZ,OAAQs4G,EAAQrlG,QAAO,SAAU8mE,GAC7B,IAAI09B,EAAOliE,EAAM85O,MAAMt1M,EAAO54C,OAC9B,QAAKs2E,GAEEA,EAAK4pD,QAAU,KACvBvkK,OAAS,GAEhB2gV,EAAIhgV,UAAU+gV,gBAAkB,SAAU33U,EAAQyxG,GAC9C,OAAOt4G,KAAK49U,iBAAiBtlO,IAAYzxG,GAE7C42U,EAAIhgV,UAAUghV,oBAAsB,SAAUnmO,EAAS/0E,GACnD,IAAIgS,EAAQv1C,KACZ,OAAOs4G,EAAQvpC,QAAO,SAAUw4D,EAAKxtD,GACjC,IAAI09B,EAAOliE,EAAM85O,MAAMt1M,EAAO54C,OAC9B,IAAKs2E,EACD,OAAO,EACX,IAAIinO,EAAcjnO,EAAKnlG,OAAOtH,SAAWu4B,EAAIyhK,cAAiBu0I,EAAStC,eAEnE0H,EADWlnO,EAAKjrC,QAAQ,YACEkyQ,EAC9B,OAAOC,EAAep3M,EAAMo3M,EAAep3M,IAC5C,IAEAk2M,EA1Cc,GA4CzBtnV,EAAQsnV,IAAMA,EACd,IAAID,EAAsB,WACtB,SAASA,EAAKrzG,EAAK73N,EAAQ0hU,GACvB,IAAI/3K,EAAIC,EACRl8J,KAAK4+U,cAAgB,EACrB5+U,KAAK6+U,aAAe,EACpB7+U,KAAKq+U,aAAe,EACpBr+U,KAAK8+U,iBAAmB,EACxB9+U,KAAK0sD,SAAW,EAChB1sD,KAAK4G,MAAQ,EACb5G,KAAK6G,OAAS,EACd7G,KAAK6M,EAAI,EACT7M,KAAK8M,EAAI,EACT9M,KAAKsS,OAASA,EACdtS,KAAKg0U,QAAUA,EACfh0U,KAAKmqO,IAAMA,EACX,IAAIxiN,EAAUwiN,EACH,MAAPA,GAA8B,kBAARA,GAAqB1pO,MAAMC,QAAQypO,IASzDnqO,KAAKqhK,QAAU,EACfrhK,KAAKohK,QAAU,IATfphK,KAAKqhK,QAAU8oE,EAAI9oE,SAAW,EAC9BrhK,KAAKohK,QAAU+oE,EAAI/oE,SAAW,EAC9Bz5I,EAAmF,QAAxEu0I,EAA4B,QAAtBD,EAAKkuE,EAAIxiN,eAA4B,IAAPs0I,EAAgBA,EAAKkuE,EAAI3lN,aAA0B,IAAP03I,EAAgBA,EAAKiuE,EAC5GA,EAAI+sG,WACJl3U,KAAKmqO,IAAMA,EAAI+sG,WAQvB,IAAIjjU,EAAkB,MAAX0T,EAAkB,GAAKA,EAAU,GAE5C3nB,KAAKiU,KAAOA,EAAK1H,MADA,eA8CrB,OA3CAixU,EAAK//U,UAAUshV,WAAa,WACxB,IAAIjyU,EAWAD,EAVJ,GAA2B,QAAvB7M,KAAKsS,OAAOqlG,OACZ7qG,EAAI9M,KAAK8M,EAAI9M,KAAKwsE,QAAQ,YAEzB,GAA2B,WAAvBxsE,KAAKsS,OAAOqlG,OACjB7qG,EAAI9M,KAAK8M,EAAI9M,KAAK6G,OAAS7G,KAAKwsE,QAAQ,cAEvC,CACD,IAAIwyQ,EAAYh/U,KAAK6G,OAAS7G,KAAKwsE,QAAQ,YAC3C1/D,EAAI9M,KAAK8M,EAAIkyU,EAAY,EAAIh/U,KAAKwsE,QAAQ,OAG9C,GAA2B,UAAvBxsE,KAAKsS,OAAOyjU,OACZlpU,EAAI7M,KAAK6M,EAAI7M,KAAK4G,MAAQ5G,KAAKwsE,QAAQ,cAEtC,GAA2B,WAAvBxsE,KAAKsS,OAAOyjU,OAAqB,CACtC,IAAIkJ,EAAWj/U,KAAK4G,MAAQ5G,KAAKwsE,QAAQ,cACzC3/D,EAAI7M,KAAK6M,EAAIoyU,EAAW,EAAIj/U,KAAKwsE,QAAQ,aAGzC3/D,EAAI7M,KAAK6M,EAAI7M,KAAKwsE,QAAQ,QAE9B,MAAO,CAAE3/D,EAAGA,EAAGC,EAAGA,IAEtB0wU,EAAK//U,UAAUyhV,iBAAmB,SAAUl6I,GACxC,IAEIn+L,GAFYpG,MAAMC,QAAQV,KAAKiU,MAAQjU,KAAKiU,KAAKnX,OAAS,IAC5CkD,KAAKsS,OAAOtH,SAAWg6L,EAAeu0I,EAAStC,gBAC3Bj3U,KAAKwsE,QAAQ,YACnD,OAAOrlE,KAAK+K,IAAIrL,EAAQ7G,KAAKsS,OAAO8kU,gBAExCoG,EAAK//U,UAAU+uE,QAAU,SAAUpqE,GAC/B,IAAIoqE,GAAU,EAAIorQ,EAAStB,cAAct2U,KAAKsS,OAAO6kU,YAAa,GAClE,MAAa,aAAT/0U,EACOoqE,EAAQz1B,IAAMy1B,EAAQoW,OAEf,eAATxgF,EACEoqE,EAAQ31B,KAAO21B,EAAQqW,MAGvBrW,EAAQpqE,IAGhBo7U,EA5Ee,GA8E1BrnV,EAAQqnV,KAAOA,EACf,IAAI39K,EAAwB,WACxB,SAASA,EAAOnvB,EAASy5F,EAAKhpM,GAC1BnhC,KAAKq+U,aAAe,EACpBr+U,KAAK8+U,iBAAmB,EACxB9+U,KAAK0sD,SAAW,EAChB1sD,KAAK4G,MAAQ,EACb5G,KAAK0wI,QAAUA,EACf1wI,KAAKmqO,IAAMA,EACXnqO,KAAKmhC,MAAQA,EAajB,OAXA0+H,EAAOpiK,UAAU0hV,sBAAwB,SAAUhtK,GAE/C,IADA,IAAIjgK,EAAM,EACDqwC,EAAK,EAAG05G,EAAKkW,EAAM2rK,UAAWv7R,EAAK05G,EAAGn/J,OAAQylD,IAAM,CACzD,IACIk1D,EADMwkD,EAAG15G,GACE8sO,MAAMrvR,KAAKmhC,OACtBs2E,GAAyC,kBAA1BA,EAAKnlG,OAAO4mG,YAC3BhnG,EAAM/K,KAAK+K,IAAIA,EAAKulG,EAAKnlG,OAAO4mG,YAGxC,OAAOhnG,GAEJ2tJ,EArBiB,GAuB5B1pK,EAAQ0pK,OAASA,GAKXu/K,IACC,SAAS5L,EAAyBr9U,GAIzCgH,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQuhC,YAAS,EAsBjBvhC,EAAQuhC,OApBR,SAAgB/6B,EAAQiE,EAAG+jG,EAAIC,EAAI8zC,GAC/B,GAAc,MAAV/7I,EACA,MAAM,IAAIF,UAAU,8CAGxB,IADA,IAAI+gB,EAAKrgB,OAAOR,GACPwkC,EAAQ,EAAGA,EAAQhhC,UAAUrD,OAAQqkC,IAAS,CAEnD,IAAIk+S,EAAal/U,UAAUghC,GAC3B,GAAkB,MAAdk+S,EAEA,IAAK,IAAIz0J,KAAWy0J,EAEZliV,OAAOM,UAAUuF,eAAehB,KAAKq9U,EAAYz0J,KACjDptK,EAAGotK,GAAWy0J,EAAWz0J,IAKzC,OAAOptK,IAOL8hU,IACC,SAAS9L,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQu+U,iBAAc,EACtB,IAAIN,EAAoBvyU,EAAoB,KACxC09U,EAAW19U,EAAoB,KAC/B29U,EAAoB39U,EAAoB,KACxC03U,EAAW13U,EAAoB,KAC/Bq4U,EAAcr4U,EAAoB,KAiCtC,SAAS49U,EAAaC,EAAaC,EAAarnO,EAASsnO,EAAYvmF,EAAOr0D,GACxE,IAAI66I,EAAwB,GAgD5B,OA/CaF,EAAYl4T,KAAI,SAAUq4T,EAAQC,GAK3C,IAJA,IAAIC,EAAwB,EACxB3wD,EAAQ,GACR4wD,EAAgB,EAChBC,EAAkB,EACb39R,EAAK,EAAG49R,EAAY7nO,EAAS/1D,EAAK49R,EAAUrjV,OAAQylD,IAAM,CAC/D,IAAIw3B,EAASomQ,EAAU59R,GACvB,GAA2C,MAAvCs9R,EAAsB9lQ,EAAO54C,QACgB,IAA7C0+S,EAAsB9lQ,EAAO54C,OAAO0V,KACpC,GAAwB,IAApBqpS,EAAuB,CACvB,IAAIE,OAAU,EAQVC,EAAkB,GACC,kBAPnBD,EADA3/U,MAAMC,QAAQo/U,GAEVA,EAAO/lQ,EAAO54C,MAAQ8+S,EAAgBD,GAGhCF,EAAO/lQ,EAAO22D,WAGQjwI,MAAMC,QAAQ0/U,KAC9CC,GAA+B,OAAZD,QAAgC,IAAZA,OAAqB,EAASA,EAAQ9tU,SAAW,IAE5F,IAAIA,EAASk4P,EAAWk1E,EAAa3lQ,EAAQgmQ,EAAU1mF,EAAOumF,EAAY56I,EAAaq7I,GACnF5oO,EAAO,IAAI8nO,EAAS/B,KAAK4C,EAAS9tU,EAAQotU,GAG9CrwD,EAAMt1M,EAAO22D,SAAWj5B,EACxB43K,EAAMt1M,EAAO54C,OAASs2E,EACtByoO,EAAkBzoO,EAAK2pD,QAAU,EACjCy+K,EAAsB9lQ,EAAO54C,OAAS,CAClC0V,KAAM4gE,EAAK4pD,QAAU,EACrB5d,MAAOy8L,QAIXA,IACAD,SAIJJ,EAAsB9lQ,EAAO54C,OAAO0V,OACpCqpS,EAAkBL,EAAsB9lQ,EAAO54C,OAAOsiH,MACtDu8L,IAGR,OAAO,IAAIT,EAAS9B,IAAIqC,EAAQC,EAAUL,EAAarwD,MAI/D,SAASixD,EAAmBhoO,EAAS07N,GACjC,IAAIuM,EAAa,GAQjB,OAPAjoO,EAAQvjF,SAAQ,SAAUulD,GACtB,GAAe,MAAXA,EAAI6vJ,IAAa,CACjB,IAAI3lN,EAOhB,SAAyBwvT,EAASj6P,GAC9B,GAAgB,SAAZi6P,EAAoB,CACpB,GAAsB,kBAAXj6P,EACP,OAAOA,EAAOs1C,QAAUt1C,EAAOv1D,OAAS,KAEvC,GAAsB,kBAAXu1D,GAAyC,kBAAXA,EAC1C,OAAOA,OAGV,GAAgB,SAAZi6P,GAAwC,kBAAXj6P,EAClC,OAAOA,EAAO41C,OAElB,OAAO,KAnBa6wN,CAAgBxM,EAAS15P,EAAI6vJ,KAC5B,MAAT3lN,IACA+7T,EAAWjmQ,EAAIo2D,SAAWlsH,OAG/BrnB,OAAO23B,KAAKyrT,GAAYzjV,OAAS,EAAIyjV,EAAa,KA6B7D,SAAS/1E,EAAWk1E,EAAa3lQ,EAAQgmQ,EAAUU,EAAWnuU,EAAQ0yL,EAAaq7I,GAC/E,IACIK,EADArnF,GAAQ,EAAIkgF,EAASzC,UAAU2J,GAEf,SAAhBf,EACAgB,EAAgBpuU,EAAOqoU,WAEF,SAAhB+E,EACLgB,EAAgBpuU,EAAOsoU,WAEF,SAAhB8E,IACLgB,EAAgBpuU,EAAOuoU,YAE3B,IAAI8F,GAAc,EAAIzG,EAAYxiT,QAAQ,GAAI2hO,EAAMlnF,MAAOknF,EAAMqmF,GAAcptU,EAAOA,OAAQouU,GAC1F3F,EAAezoU,EAAOyoU,aAAahhQ,EAAO22D,UAC1Cp+H,EAAOyoU,aAAahhQ,EAAO54C,QAC3B,GACAy/S,EAA4B,SAAhBlB,EAAyB3E,EAAe,GACpD8F,EAA4B,SAAhBnB,GAA0BK,EAAW,IAAM,GACrD,EAAI7F,EAAYxiT,QAAQ,GAAI2hO,EAAMm+E,aAAcllU,EAAOwoU,oBACvD,GACFgG,GAAe,EAAIvH,EAASxC,eAAe/xI,GAC3C+7I,GAAc,EAAI7G,EAAYxiT,QAAQ,GAAIopT,EAAcH,EAAaE,EAAWD,GACpF,OAAO,EAAI1G,EAAYxiT,QAAQqpT,EAAaV,GAvIhDlqV,EAAQu+U,YARR,SAAqBsM,EAAUv+N,GAC3B,IAAIl/E,EAAM,IAAI6wS,EAAkBY,WAAWgM,GACvCr5T,EAOR,SAAsB86F,EAAOy5N,GACzB,IASQqE,EATJ54T,EAAU86F,EAAM96F,QAChB2wF,EAiGR,SAAuBA,GACnB,OAAOA,EAAQ7wF,KAAI,SAAUg7F,EAAOthF,GAChC,IAAI86H,EAAIC,EACJ7+J,EAOJ,OALIA,EADiB,kBAAVolH,GAC0E,QAA1Ey5C,EAA8B,QAAxBD,EAAKx5C,EAAMiuB,eAA4B,IAAPurB,EAAgBA,EAAKx5C,EAAMplH,WAAwB,IAAP6+J,EAAgBA,EAGnG/6H,EAEH,IAAIo+S,EAAS1/K,OAAOxiK,EAAKolH,EAAOthF,MA3G7B8/S,CAAct5T,EAAQ2wF,UAER,IAAxB3wF,EAAQsW,KAAKnhC,SACTyjV,EAAaD,EAAmBhoO,EAAS,UAEzC3wF,EAAQsW,KAAKn3B,KAAKy5U,GAEE,IAAxB54T,EAAQ4vT,KAAKz6U,WACTyjV,EAAaD,EAAmBhoO,EAAS,UAEzC3wF,EAAQ4vT,KAAKzwU,KAAKy5U,IAE1B,IAAIlnF,EAAQ52I,EAAM95G,SAAS0wP,MACvB/mP,EAASmwG,EAAMnwG,OACnB,MAAO,CACHgmG,QAASA,EACTr6E,KAAMwhT,EAAa,OAAQ93T,EAAQsW,KAAMq6E,EAAShmG,EAAQ+mP,EAAO6iF,GACjE73T,KAAMo7T,EAAa,OAAQ93T,EAAQtD,KAAMi0F,EAAShmG,EAAQ+mP,EAAO6iF,GACjE3E,KAAMkI,EAAa,OAAQ93T,EAAQ4vT,KAAMj/N,EAAShmG,EAAQ+mP,EAAO6iF,IA3BvDU,CAAan6N,EAAOl/E,EAAIyhK,eAClC7yB,EAAQ,IAAIotK,EAASpsN,MAAM1Q,EAAO96F,GAGtC,OAFA,EAAI63T,EAAkB0B,iBAAiB39S,EAAK4uI,GAC5C5uI,EAAIkzS,YAAYlzS,EAAIo1S,YACbxmK,IA+ILgvK,GACC,SAAS3N,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQquM,QAAUruM,EAAQw+U,eAAY,EACtC,IAAI4E,EAAW13U,EAAoB,KAC/B+1U,EAAW/1U,EAAoB,KAC/B09U,EAAW19U,EAAoB,KAC/BuyU,EAAoBvyU,EAAoB,KACxCq4U,EAAcr4U,EAAoB,KAClCsyU,EAAkBtyU,EAAoB,KACtCu/U,EAAiBv/U,EAAoB,KAmGzC,SAASw/U,EAAsB5pO,EAAM6pO,EAAoB/9S,GACrD,IAAIm7S,EAAcjnO,EAAKnlG,OAAOtH,SAAWu4B,EAAIyhK,cAAiBu0I,EAAStC,eACnEsK,EAAW9pO,EAAKjrC,QAAQ,YACxBg1Q,EAAiBr6U,KAAK0W,OAAOyjU,EAAqBC,GAAY7C,GAClE,OAAOv3U,KAAK+K,IAAI,EAAGsvU,GA0FvB,SAASC,EAAal+S,EAAK4uI,EAAOl4F,EAAKynQ,EAAWhL,EAAUh2T,EAAQ43F,GAChE,IAAIqpO,EAkGR,SAA+Bp+S,EAAK4uI,EAAOuvK,EAAWhhU,GAClD,IAAIkhU,EAAsBzvK,EAAMxpK,SAAS8zE,OAAOmG,OAC5Cm5P,EAAW5pK,EAAMxpK,SAASozU,SAI9B,OAHiB,cAAbA,GAA0C,aAAbA,GAA2B2F,KACxDE,GAAuBzvK,EAAM0rK,cAAc1rK,EAAM75D,UAE9C/0E,EAAIwiK,WAAWl/L,OAAS6Z,EAAO5T,EAAI80U,EAxGrBC,CAAsBt+S,EAAK4uI,EAAOuvK,EAAWhhU,GAClE,GAAIu5D,EAAIukQ,gBAAgBmD,EAAgBrpO,GACpCwpO,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQ43F,QAGlC,GA5CR,SAAkC/0E,EAAK02C,EAAKqnQ,EAAoBnvK,GAC5D,IAAI4vK,EAAax+S,EAAIwiK,WAAWl/L,OAC5B41E,EAAS01F,EAAMxpK,SAAS8zE,OAExBulQ,EAAeD,GADAtlQ,EAAO1lC,IAAM0lC,EAAOmG,QAEnB,SAAhB3I,EAAI+5P,UAGJgO,GACI7vK,EAAMwrK,cAAcxrK,EAAM75D,SAAW65D,EAAM0rK,cAAc1rK,EAAM75D,UAEvE,IAAI2pO,EAAehoQ,EAAIwkQ,oBAAoBtsK,EAAM75D,QAAS/0E,GACtD2+S,EAAaD,EAAeX,EAChC,GAAIW,EAAeD,EAEf,OADAl8U,QAAQqtB,MAAM,iCAAiC3K,OAAOyxD,EAAI94C,MAAO,qEAC1D,EAEX,IAAK+gT,EACD,OAAO,EAEX,IAAIC,EAAoBloQ,EAAIskQ,WAAWpsK,EAAM75D,SAE7C,OADwBr+B,EAAI2jQ,iBAAiBzrK,EAAM75D,SAAW0pO,GAEtDG,GACAr8U,QAAQqtB,MAAM,sBAAsB3K,OAAOyxD,EAAI94C,MAAO,6IAEnD,IAEPghT,GAIgC,UAAhChwK,EAAMxpK,SAAS8zU,aAYX2F,CAAyB7+S,EAAK02C,EAAK0nQ,EAAgBxvK,GAAQ,CAC3D,IAAIkwK,EA/FhB,SAAwBpoQ,EAAKqnQ,EAAoBnvK,EAAO5uI,GACpD,IAAI8rP,EAAQ,GACZp1M,EAAIqkQ,oBAAqB,EACzBrkQ,EAAIpzE,OAAS,EAEb,IADA,IAAIm2U,EAAY,EACPz6R,EAAK,EAAG05G,EAAKkW,EAAM75D,QAAS/1D,EAAK05G,EAAGn/J,OAAQylD,IAAM,CACvD,IAAIw3B,EAASkiF,EAAG15G,GAEhB,GADIk1D,EAAOx9B,EAAIo1M,MAAMt1M,EAAO54C,OAC5B,CAEK1gC,MAAMC,QAAQ+2G,EAAKxjG,QACpBwjG,EAAKxjG,KAAO,CAACwjG,EAAKxjG,OAEtB,IAAIquU,EAAgB,IAAI/C,EAAS/B,KAAK/lO,EAAK0yH,IAAK1yH,EAAKnlG,OAAQmlG,EAAKu8N,UAClEsO,GAAgB,EAAIpI,EAAYxiT,QAAQ4qT,EAAe7qO,IACzCxjG,KAAO,GACrB,IAAIsuU,EAAqBlB,EAAsB5pO,EAAM6pO,EAAoB/9S,GACrEk0E,EAAKxjG,KAAKnX,OAASylV,IACnBD,EAAcruU,KAAOwjG,EAAKxjG,KAAKyrB,OAAO6iT,EAAoB9qO,EAAKxjG,KAAKnX,SAExE,IAAIkoM,EAAczhK,EAAIyhK,cACtBvtF,EAAKmnO,cAAgBnnO,EAAKynO,iBAAiBl6I,GACvCvtF,EAAKmnO,eAAiB0C,IACtB7pO,EAAKmnO,cAAgB0C,EACrBgB,EAAchwU,OAAO8kU,eAAiBkK,GAEtC7pO,EAAKmnO,cAAgB3kQ,EAAIpzE,SACzBozE,EAAIpzE,OAAS4wG,EAAKmnO,eAEtB0D,EAAc1D,cAAgB0D,EAAcpD,iBAAiBl6I,GACzDs9I,EAAc1D,cAAgB5B,IAC9BA,EAAYsF,EAAc1D,eAE9BvvD,EAAMt1M,EAAO54C,OAASmhT,GAE1B,IAAID,EAAe,IAAI9C,EAAS9B,IAAIxjQ,EAAIkwJ,KAAM,EAAGlwJ,EAAI+5P,QAAS3kD,GAAO,GACrEgzD,EAAax7U,OAASm2U,EACtB,IAAK,IAAI9gL,EAAK,EAAGC,EAAKgW,EAAM75D,QAAS4jD,EAAKC,EAAGr/J,OAAQo/J,IAAM,CACvD,IAKIzkD,EALA19B,EAASoiF,EAAGD,IACZomL,EAAgBD,EAAahzD,MAAMt1M,EAAO54C,UAE1CmhT,EAAcz7U,OAASw7U,EAAax7U,SAEpC4wG,EAAOx9B,EAAIo1M,MAAMt1M,EAAO54C,UAExBs2E,EAAK5wG,OAASozE,EAAIpzE,QAG1B,OAAOw7U,EA+CoBG,CAAevoQ,EAAK0nQ,EAAgBxvK,EAAO5uI,GAC9Du+S,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQ43F,GAClCksF,EAAQjhK,EAAK4uI,EAAOukK,EAAUh2T,EAAQ43F,GACtCmpO,EAAal+S,EAAK4uI,EAAOkwK,EAAcX,EAAWhL,EAAUh2T,EAAQ43F,QAGpEksF,EAAQjhK,EAAK4uI,EAAOukK,EAAUh2T,EAAQ43F,GACtCmpO,EAAal+S,EAAK4uI,EAAOl4F,EAAKynQ,EAAWhL,EAAUh2T,EAAQ43F,GAIvE,SAASwpO,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQ43F,GACvC53F,EAAO7T,EAAIslK,EAAMxpK,SAAS8zE,OAAO5lC,KACjC,IAAK,IAAI0L,EAAK,EAAG49R,EAAY7nO,EAAS/1D,EAAK49R,EAAUrjV,OAAQylD,IAAM,CAC/D,IAAIw3B,EAASomQ,EAAU59R,GACnBk1D,EAAOx9B,EAAIo1M,MAAMt1M,EAAO54C,OAC5B,GAAKs2E,EAQL,GAJAl0E,EAAIkzS,YAAYh/N,EAAKnlG,QACrBmlG,EAAK5qG,EAAI6T,EAAO7T,EAChB4qG,EAAK3qG,EAAI4T,EAAO5T,GAED,IADFqlK,EAAM4rK,cAAcx6S,EAAK4uI,EAAMipK,MAAME,aAAc7jO,EAAMx9B,EAAKF,EAAQr5D,GACnF,CAIA+hU,EAAgBl/S,EAAKk0E,EAAM/2F,GAC3B,IAAIgiU,EAAUjrO,EAAKsnO,cACnB,EAAI5K,EAAgB3gT,SAASikF,EAAKxjG,KAAMyuU,EAAQ71U,EAAG61U,EAAQ51U,EAAG,CAC1DipU,OAAQt+N,EAAKnlG,OAAOyjU,OACpBp+N,OAAQF,EAAKnlG,OAAOqlG,OACpBn4B,SAAUr4E,KAAK4W,KAAK05F,EAAK7wG,MAAQ6wG,EAAKjrC,QAAQ,QAAUirC,EAAKjrC,QAAQ,WACtEjpC,EAAIwwS,eACP5hK,EAAM4rK,cAAcx6S,EAAK4uI,EAAMipK,MAAMG,YAAa9jO,EAAMx9B,EAAKF,EAAQr5D,GACrEA,EAAO7T,GAAKktE,EAAOnzE,WAXf8Z,EAAO7T,GAAKktE,EAAOnzE,WARnB8Z,EAAO7T,GAAKktE,EAAOnzE,MAqB3B8Z,EAAO5T,GAAKmtE,EAAIpzE,OAEpB,SAAS47U,EAAgBl/S,EAAKk0E,EAAM/2F,GAChC,IAAI8pP,EAAa/yJ,EAAKnlG,OAEtB,GADAixB,EAAIwwS,cAAclqI,aAAatmK,EAAIwwS,cAAcnqI,gBACb,kBAAzB4gE,EAAW/1P,UAAwB,CAE1C,IAAIH,GAAY,EAAIsjU,EAASzB,cAAc3rE,EAAW/1P,UAAW+1P,EAAW7gE,WACxEr1L,GACAivB,EAAI7sB,KAAK+gG,EAAK5qG,EAAG6T,EAAO5T,EAAG2qG,EAAK7wG,MAAO6wG,EAAK5wG,OAAQyN,QAGvD,GAAoC,kBAAzBk2P,EAAW/1P,UAAwB,CAC/C8uB,EAAI7sB,KAAK+gG,EAAK5qG,EAAG6T,EAAO5T,EAAG2qG,EAAK7wG,MAAO6wG,EAAK5wG,OAAQ,KACpD,IAAI87U,EAAQxlV,OAAO23B,KAAK01O,EAAW/1P,WAC/BmuU,EAAcp4E,EAAW/1P,UAC7BkuU,EAAMl7T,KAAI,SAAU+sE,GAChB,IAAIlgF,GAAY,EAAIsjU,EAASzB,cAAcyM,EAAYpuP,GAAOg2K,EAAW7gE,YAKrF,SAA2BpmK,EAAKk0E,EAAM/2F,EAAQ8zE,EAAMlgF,EAAWG,GAC3D,IAAIhH,EAAIC,EAAIC,EAAIC,EAChB,OAAQ4mF,GACJ,IAAK,MACD/mF,EAAKiT,EAAO7T,EACZa,EAAKgT,EAAO5T,EACZa,EAAK+S,EAAO7T,EAAI4qG,EAAK7wG,MACrBgH,EAAK8S,EAAO5T,EACZ,MACJ,IAAK,OACDW,EAAKiT,EAAO7T,EACZa,EAAKgT,EAAO5T,EACZa,EAAK+S,EAAO7T,EACZe,EAAK8S,EAAO5T,EAAI2qG,EAAK5wG,OACrB,MACJ,IAAK,QACD4G,EAAKiT,EAAO7T,EAAI4qG,EAAK7wG,MACrB8G,EAAKgT,EAAO5T,EACZa,EAAK+S,EAAO7T,EAAI4qG,EAAK7wG,MACrBgH,EAAK8S,EAAO5T,EAAI2qG,EAAK5wG,OACrB,MACJ,QAEI4G,EAAKiT,EAAO7T,EACZa,EAAKgT,EAAO5T,EAAI2qG,EAAK5wG,OAAS4N,EAC9B9G,EAAK+S,EAAO7T,EAAI4qG,EAAK7wG,MACrBgH,EAAK8S,EAAO5T,EAAI2qG,EAAK5wG,OAAS4N,EAGtC8uB,EAAIwwS,cAAczrI,aAAa7zL,GAC/B8uB,EAAIwwS,cAAc58T,KAAK1J,EAAIC,EAAIC,EAAIC,EAAI0G,GAlC/BuuU,CAAkBt/S,EAAKk0E,EAAM/2F,EAAQ8zE,EAAMlgF,GAAa,IAAKsuU,EAAYpuP,QA4CrF,SAASgwG,EAAQjhK,EAAK4uI,EAAOukK,EAAUh2T,EAAQ43F,QAC3B,IAAZA,IAAsBA,EAAU,IACpC/0E,EAAIkzS,YAAYlzS,EAAIo1S,YACY,cAA5BxmK,EAAMxpK,SAASozU,UACf5pK,EAAMolK,KAAKxiT,SAAQ,SAAUklD,GAAO,OAAO6nQ,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQ43F,MAIjF65D,EAAM+rK,iBAAiB36S,EAAK7iB,GAC5B,IAAI+7D,EAAS01F,EAAMxpK,SAAS8zE,QAC5B,EAAIm7P,EAASrB,gBAAgBhzS,EAAK4uI,EAAOukK,EAAUh2T,GACnDoiU,EAASv/S,GACT4uI,EAAM6sB,aACN7sB,EAAM2hK,YACNpzT,EAAO7T,EAAI4vE,EAAO5lC,KAClBn2B,EAAO5T,EAAI2vE,EAAO1lC,IAClB2/R,EAAS5pU,EAAI2vE,EAAO1lC,IACY,cAA5Bo7H,EAAMxpK,SAASqzU,UACf7pK,EAAMl0I,KAAKlJ,SAAQ,SAAUklD,GAAO,OAAO6nQ,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQ43F,MAIrF,SAASwqO,EAASv/S,GACd,IAAIvrB,EAAUurB,EAAIy7J,aAClBz7J,EAAI8+J,QAAQrqL,EAAU,GACLurB,EAAIy7J,eACFhnL,GACfurB,EAAIihK,UA7QZruM,EAAQw+U,UAzDR,SAAmBqM,EAAU7uK,GACzB,IAAIxpK,EAAWwpK,EAAMxpK,SACjB46F,EAAS56F,EAAS46F,OAClB9mB,EAAS9zE,EAAS8zE,OAClB/7D,EAAS,CACT7T,EAAG4vE,EAAO5lC,KACV/pC,EAAGy2F,GAEHw/O,EAAiB5wK,EAAMwrK,cAAcxrK,EAAM75D,SAAW65D,EAAM0rK,cAAc1rK,EAAM75D,SAChF0qO,EAAoBz/O,EAAS9mB,EAAOmG,OAASmgQ,EACtB,UAAvBp6U,EAAS6zU,YAGTwG,GAFW7wK,EAAM2rK,UACM/uQ,QAAO,SAAUw4D,EAAKttD,GAAO,OAAOstD,EAAMttD,EAAIpzE,SAAW,IAGpF,IAAI08B,EAAM,IAAI6wS,EAAkBY,WAAWgM,IAChB,WAAvBr4U,EAAS6zU,WACW,MAAnB7zU,EAAS46F,QAAkBy/O,EAAoBz/S,EAAIwiK,WAAWl/L,UAC/Di8U,EAASv/S,GACT7iB,EAAO5T,EAAI2vE,EAAO1lC,KAEtB,IAAI2/R,GAAW,EAAIwD,EAAYxiT,QAAQ,GAAIhX,GAC3CyxJ,EAAMiqK,gBAAkB74S,EAAIy7J,cACS,IAAjCr2L,EAAS2zU,oBAmCjB,SAA2C/4S,EAAK4uI,EAAOukK,EAAUh2T,GAEhC0gU,EAAe5tT,QAAQyvT,gCAAgC1/S,EAAK4uI,GAClE1qJ,KAAI,SAAUy7T,EAAgB/hT,GACjDoC,EAAIkzS,YAAYlzS,EAAIo1S,YAEhBx3S,EAAQ,EACRqjK,EAAQjhK,EAAK4uI,EAAOukK,EAAUh2T,EAAQwiU,EAAe5qO,SAYjE,SAAmB/0E,EAAK4uI,EAAOzxJ,EAAQ43F,GACnC,IAAI3vG,EAAWwpK,EAAMxpK,SACrB46B,EAAIkzS,YAAYlzS,EAAIo1S,aACM,cAAtBhwU,EAASqzU,UAAkD,cAAtBrzU,EAASqzU,WAC9C7pK,EAAMl0I,KAAKlJ,SAAQ,SAAUklD,GAAO,OAAO6nQ,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQ43F,MAZzE6qO,CAAU5/S,EAAK4uI,EAAOzxJ,EAAQwiU,EAAe5qO,SAezD,SAAmB/0E,EAAK4uI,EAAOukK,EAAUh2T,EAAQ43F,GAC7C/0E,EAAIkzS,YAAYlzS,EAAIo1S,YACpBxmK,EAAM9tJ,KAAK0Q,SAAQ,SAAUklD,EAAK94C,GAC9B,IAAIugT,EAAYvgT,IAAUgxI,EAAM9tJ,KAAKvnB,OAAS,EAC9C2kV,EAAal+S,EAAK4uI,EAAOl4F,EAAKynQ,EAAWhL,EAAUh2T,EAAQ43F,MAhB3D8qO,CAAU7/S,EAAK4uI,EAAOukK,EAAUh2T,EAAQwiU,EAAe5qO,SAmB/D,SAAmB/0E,EAAK4uI,EAAOzxJ,EAAQ43F,GACnC,IAAI3vG,EAAWwpK,EAAMxpK,SACrB46B,EAAIkzS,YAAYlzS,EAAIo1S,aACM,aAAtBhwU,EAASozU,UAAiD,cAAtBpzU,EAASozU,WAC7C5pK,EAAMolK,KAAKxiT,SAAQ,SAAUklD,GAAO,OAAO6nQ,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQ43F,MArB7E+qO,CAAU9/S,EAAK4uI,EAAOzxJ,EAAQwiU,EAAe5qO,YAjD7CgrO,CAAkC//S,EAAK4uI,EAAOukK,EAAUh2T,IAIxD6iB,EAAIkzS,YAAYlzS,EAAIo1S,YACM,cAAtBhwU,EAASqzU,UACa,cAAtBrzU,EAASqzU,UACT7pK,EAAMl0I,KAAKlJ,SAAQ,SAAUklD,GACzB,OAAO6nQ,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQyxJ,EAAM75D,YAGvD/0E,EAAIkzS,YAAYlzS,EAAIo1S,YACpBxmK,EAAM9tJ,KAAK0Q,SAAQ,SAAUklD,EAAK94C,GAC9B,IAAIugT,EAAYvgT,IAAUgxI,EAAM9tJ,KAAKvnB,OAAS,EAC9C2kV,EAAal+S,EAAK4uI,EAAOl4F,EAAKynQ,EAAWhL,EAAUh2T,EAAQyxJ,EAAM75D,YAErE/0E,EAAIkzS,YAAYlzS,EAAIo1S,YACM,aAAtBhwU,EAASozU,UAAiD,cAAtBpzU,EAASozU,UAC7C5pK,EAAMolK,KAAKxiT,SAAQ,SAAUklD,GACzB,OAAO6nQ,EAASv+S,EAAK4uI,EAAOl4F,EAAKv5D,EAAQyxJ,EAAM75D,cAI3D,EAAIs/N,EAASrB,gBAAgBhzS,EAAK4uI,EAAOukK,EAAUh2T,GACnDyxJ,EAAM+rK,iBAAiB36S,EAAK7iB,GAC5ByxJ,EAAMojK,OAAS70T,EAAO5T,EACtBk0U,EAASpM,cAAgBziK,EACzB6uK,EAASnM,kBAAoB1iK,EACzB6uK,EAASxM,YACTwM,EAASxM,UAAU3oS,SAAWsmI,GAClC5uI,EAAIkzS,YAAYlzS,EAAIo1S,aAyQxBxiV,EAAQquM,QAAUA,GAaZ++I,IACC,SAAS/P,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvD,IAAIk4U,EAAW/1U,EAAoB,KAC/B2hV,EAAwB,SAAUjgT,EAAK4uI,GACvC,IAAIksC,GAAU,EAAIu5H,EAAStB,cAAcnkK,EAAMxpK,SAAS8zE,OAAQ,GAEhE,OADyBl5C,EAAIwiK,WAAWn/L,OAASy3M,EAAQxnK,KAAOwnK,EAAQx7H,QAIxE4gQ,EAAyB,SAAUlgT,EAAK4uI,EAAOz9H,QAChC,IAAXA,IAAqBA,EAAS,IAElC,IACIgvS,EADqBF,EAAsBjgT,EAAK4uI,GAGhDoqK,EAA4BpqK,EAAMxpK,SAAS4zU,0BAC3CoH,EAAe,KACf5wP,EAAO,GACPulB,EAAU,GACVtzE,EAAMmtI,EAAM75D,QAAQx7G,OACpBD,EAAI63C,GAAUA,EAAO58B,MAAQ48B,EAAO58B,MAAQ,EAahD,IAXiC,MAA7BykU,IACAoH,EAAexxK,EAAM75D,QAAQhrC,MAAK,SAAU5lD,GACxC,OAAOA,EAAKgpH,UAAY6rM,GACpB70T,EAAKyZ,QAAUo7S,QAGnBxpP,EAAKjsF,KAAK68U,EAAaxiT,OACvBm3E,EAAQxxG,KAAKqrK,EAAM75D,QAAQqrO,EAAaxiT,QACxCuiT,GAAkCC,EAAatF,cAGhDxhV,EAAImoC,GACP,IAAsB,OAAjB2+S,QAA0C,IAAjBA,OAA0B,EAASA,EAAaxiT,SAAWtkC,EAAzF,CAIA,IAAI+mV,EAAWzxK,EAAM75D,QAAQz7G,GAAGwhV,aAChC,GAAIqF,EAAiBE,EAAU,CAEjB,IAAN/mV,GAAWA,IAAM63C,EAAO58B,QAIxBi7E,EAAKjsF,KAAKjK,GACVy7G,EAAQxxG,KAAKqrK,EAAM75D,QAAQz7G,KAG/B,MAEJk2F,EAAKjsF,KAAKjK,GACVy7G,EAAQxxG,KAAKqrK,EAAM75D,QAAQz7G,IAC3B6mV,GAAkCE,EAClC/mV,SAnBIA,IAqBR,MAAO,CAAEgnV,WAAY9wP,EAAMulB,QAASA,EAASvtE,UAAWluC,IAsB5D1G,EAAO,QAAc,CACjBstV,uBAAwBA,EACxBR,gCAtBkC,SAAU1/S,EAAK4uI,GAMjD,IAHA,IAAI2xK,EAAa,GACb3iT,EAAQ,EACR6D,EAAMmtI,EAAM75D,QAAQx7G,OACjBqkC,EAAQ6D,GAAK,CAChB,IAAInlC,EAAS4jV,EAAuBlgT,EAAK4uI,EAAO,CAC5Cr6J,MAAiB,IAAVqpB,EAAc,EAAIA,IAEzBthC,GAAUA,EAAOy4G,SAAWz4G,EAAOy4G,QAAQx7G,QAC3CqkC,EAAQthC,EAAOkrC,UACf+4S,EAAWh9U,KAAKjH,IAGhBshC,IAGR,OAAO2iT,GAKPN,sBAAuBA,IAMrBO,IACC,SAASvQ,EAAyBr9U,EAAS0L,GAGlD1E,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQ6tV,UAAY7tV,EAAQ8tV,cAAgB9tV,EAAQ+qV,qBAAkB,EACtE,IAAItJ,EAAW/1U,EAAoB,KAC/Bu/U,EAAiBv/U,EAAoB,KAqIzC,SAASoiV,EAAc3rO,EAAS4rO,EAAav1R,GAGzC,IAFA,IAAIw1R,EAAqBD,EACrBE,EAAkB9rO,EAAQvpC,QAAO,SAAUw4D,EAAKxtD,GAAU,OAAOwtD,EAAMxtD,EAAOskQ,eAAiB,GAC1FxhV,EAAI,EAAGA,EAAIy7G,EAAQx7G,OAAQD,IAAK,CACrC,IAAIk9E,EAASu+B,EAAQz7G,GAEjBwnV,EAAkBF,GADVpqQ,EAAOskQ,aAAe+F,GAE9BE,EAAiBvqQ,EAAOnzE,MAAQy9U,EAChC33R,EAAWiC,EAAYorB,GACvB9W,EAAWqhR,EAAiB53R,EAAWA,EAAW43R,EACtDJ,GAAejhR,EAAW8W,EAAOnzE,MACjCmzE,EAAOnzE,MAAQq8D,EAKnB,GAHAihR,EAAc/8U,KAAKi9G,MAAoB,KAAd8/N,GAAsB,KAG9B,CACb,IAAIvzK,EAAmBr4D,EAAQrlG,QAAO,SAAU8mE,GAC5C,QAAOmqQ,EAAc,IACfnqQ,EAAOnzE,MAAQ+nD,EAAYorB,MAGjC42F,EAAiB7zK,SACjBonV,EAAcD,EAActzK,EAAkBuzK,EAAav1R,IAGnE,OAAOu1R,EAwHX,SAASF,EAAU/vU,EAAMrN,EAAO0L,EAAQixB,EAAK28C,GACzC,OAAOjsE,EAAKwT,KAAI,SAAUi8F,GAAO,OAGrC,SAAsBzvG,EAAMrN,EAAO0L,EAAQixB,EAAK28C,GAC5C,IAAIigE,EAAY,IAAQ58G,EAAIyhK,cAE5B,IADAp+L,EAAQO,KAAK4W,KAAKnX,EAAQu5I,GAAaA,KAC1B,EAAIy3L,EAASpB,gBAAgBviU,EAAM3B,EAAQixB,GACpD,OAAOtvB,EAEX,KAAOrN,GAAQ,EAAIgxU,EAASpB,gBAAgBviU,EAAOisE,EAAU5tE,EAAQixB,MAC7DtvB,EAAKnX,QAAU,IAGnBmX,EAAOA,EAAKo9B,UAAU,EAAGp9B,EAAKnX,OAAS,GAE3C,OAAOmX,EAAKzM,OAAS04E,EAfmBqkQ,CAAa7gO,EAAK98G,EAAO0L,EAAQixB,EAAK28C,MAzOlF/pF,EAAQ+qV,gBA3CR,SAAyB39S,EAAK4uI,IA4C9B,SAAmB5uI,EAAK4uI,GACpB,IAAI+pK,EAAK34S,EAAIyhK,cACTs3I,EAAsBnqK,EAAMxpK,SAAS2zU,oBACrCkI,EAAqBpD,EAAe5tT,QAAQgwT,sBAAsBjgT,EAAK4uI,GAC3EA,EAAM2rK,UAAU/oT,SAAQ,SAAUklD,GAC9B,IAAK,IAAI13B,EAAK,EAAG05G,EAAKkW,EAAM75D,QAAS/1D,EAAK05G,EAAGn/J,OAAQylD,IAAM,CACvD,IAAIw3B,EAASkiF,EAAG15G,GACZk1D,EAAOx9B,EAAIo1M,MAAMt1M,EAAO54C,OAC5B,GAAKs2E,EAAL,CAEA,IAAI2jO,EAAQjpK,EAAMipK,MAAMC,aACxBlpK,EAAM4rK,cAAcx6S,EAAK63S,EAAO3jO,EAAMx9B,EAAKF,EAAQ,MACnD,IAAIvN,EAAUirC,EAAKjrC,QAAQ,cAC3BirC,EAAKonO,cAAe,EAAIjH,EAASpB,gBAAgB/+N,EAAKxjG,KAAMwjG,EAAKnlG,OAAQixB,GAAOipC,EAChF,IAAIi4Q,GAAmB,EAAI7M,EAASpB,gBAAgB/+N,EAAKxjG,KAAK5H,KAAK,KAAKE,MAAM,OAAQkrG,EAAKnlG,OAAQixB,GAEnG,GADAk0E,EAAKqnO,iBAAmB2F,EAAmBhtO,EAAKjrC,QAAQ,cACnB,kBAA1BirC,EAAKnlG,OAAO4mG,UACnBzB,EAAK/qD,SAAW+qD,EAAKnlG,OAAO4mG,UAC5BzB,EAAK4mO,aAAe5mO,EAAKnlG,OAAO4mG,eAE/B,GAA8B,SAA1BzB,EAAKnlG,OAAO4mG,YACO,IAAxBojO,EAEI7kO,EAAKonO,aAAe2F,GACpB/sO,EAAK/qD,SAAW83R,EAChB/sO,EAAK4mO,aAAemG,IAGpB/sO,EAAK/qD,SAAW+qD,EAAKonO,aACrBpnO,EAAK4mO,aAAe5mO,EAAKonO,kBAG5B,CAED,IAAI6F,EAAkB,GAAKxI,EAC3BzkO,EAAK/qD,SAAW+qD,EAAKnlG,OAAO+kU,cAAgBqN,EAC5CjtO,EAAK4mO,aAAe5mO,EAAKonO,aACrBpnO,EAAK/qD,SAAW+qD,EAAK4mO,eACrB5mO,EAAK4mO,aAAe5mO,EAAK/qD,gBAKzCylH,EAAM2rK,UAAU/oT,SAAQ,SAAUklD,GAC9B,IAAK,IAAI13B,EAAK,EAAG05G,EAAKkW,EAAM75D,QAAS/1D,EAAK05G,EAAGn/J,OAAQylD,IAAM,CACvD,IAAIw3B,EAASkiF,EAAG15G,GACZk1D,EAAOx9B,EAAIo1M,MAAMt1M,EAAO54C,OAG5B,GAAIs2E,GAAyB,IAAjBA,EAAK2pD,QACbrnF,EAAOskQ,aAAel3U,KAAK+K,IAAI6nE,EAAOskQ,aAAc5mO,EAAK4mO,cACzDtkQ,EAAOrtB,SAAWvlD,KAAK+K,IAAI6nE,EAAOrtB,SAAU+qD,EAAK/qD,UACjDqtB,EAAO+kQ,iBAAmB33U,KAAK+K,IAAI6nE,EAAO+kQ,iBAAkBrnO,EAAKqnO,sBAEhE,CAOD,IAAI/D,EAAe5oK,EAAM7/J,OAAOyoU,aAAahhQ,EAAO22D,UAChDyhC,EAAM7/J,OAAOyoU,aAAahhQ,EAAO54C,QACjC,GACA+3E,EAAY6hO,EAAa7hO,WAAa6hO,EAAa1D,aACnDn+N,GAAkC,kBAAdA,IACpBn/B,EAAOrtB,SAAWwsD,EAClBn/B,EAAOskQ,aAAenlO,GAG1BzB,IAEIA,EAAK2pD,QAAU,IAAMrnF,EAAOrtB,WAC5BqtB,EAAOrtB,SAAW+qD,EAAK/qD,UAEvB+qD,EAAK2pD,QAAU,IAAMrnF,EAAOskQ,eAC5BtkQ,EAAOskQ,aAAe5mO,EAAK/qD,eAvH3CsmQ,CAAUzvR,EAAK4uI,GACf,IAAIxB,EAAmB,GACnBg0K,EAAoB,EACxBxyK,EAAM75D,QAAQvjF,SAAQ,SAAUglD,GAC5B,IAAI+hM,EAAc/hM,EAAOolQ,sBAAsBhtK,GAC3C2pG,EAEA/hM,EAAOnzE,MAAQk1Q,GAIf/hM,EAAOnzE,MAAQmzE,EAAOskQ,aACtB1tK,EAAiB7pK,KAAKizE,IAE1B4qQ,GAAqB5qQ,EAAOnzE,SAGhC,IAAIs9U,EAAc/xK,EAAMx8H,SAASpS,EAAIwiK,WAAWn/L,OAAS+9U,EAErDT,IACAA,EAAcD,EAActzK,EAAkBuzK,GAAa,SAAUnqQ,GACjE,OAAO5yE,KAAK+K,IAAI6nE,EAAO+kQ,iBAAkB/kQ,EAAOrtB,cAIpDw3R,IACAA,EAAcD,EAActzK,EAAkBuzK,GAAa,SAAUnqQ,GAAU,OAAOA,EAAOrtB,aAEjGw3R,EAAc/8U,KAAKwjD,IAAIu5R,IAClB/xK,EAAMxpK,SAAS2zU,qBAChB4H,EAAc,GAAM3gT,EAAIyhK,gBAKxBk/I,EAAcA,EAAc,EAAIA,EAAc/8U,KAAKi9G,MAAM8/N,GACzDp+U,QAAQqtB,MAAM,yBAAyB3K,OAAO07T,EAAa,qCA8JnE,SAAuB/xK,GAEnB,IADA,IAAI10I,EAAM00I,EAAM2rK,UACPiC,EAAW,EAAGA,EAAWtiT,EAAI3gC,OAAQijV,IAK1C,IAJA,IAAI9lQ,EAAMx8C,EAAIsiT,GACV6E,EAAc,KACdC,EAAuB,EACvBC,EAAe,EACVC,EAAc,EAAGA,EAAc5yK,EAAM75D,QAAQx7G,OAAQioV,IAAe,CACzE,IAAIhrQ,EAASo4F,EAAM75D,QAAQysO,GAG3B,IADAD,GAAgB,GACG,GAAK3yK,EAAM75D,QAAQysO,EAAc,GAChDF,GAAwB9qQ,EAAOnzE,aACxBqzE,EAAIo1M,MAAMt1M,EAAO54C,YAEvB,GAAIyjT,EAAa,CAClB,IAAIntO,EAAOmtO,SACJ3qQ,EAAIo1M,MAAMt1M,EAAO54C,OACxByjT,EAAc,KACdntO,EAAK7wG,MAAQmzE,EAAOnzE,MAAQi+U,MAE3B,CAED,KADIptO,EAAOx9B,EAAIo1M,MAAMt1M,EAAO54C,QAExB,SAGJ,GAFA2jT,EAAertO,EAAK2pD,QACpByjL,EAAuB,EACnBptO,EAAK2pD,QAAU,EAAG,CAClBwjL,EAAcntO,EACdotO,GAAwB9qQ,EAAOnzE,MAC/B,SAEJ6wG,EAAK7wG,MAAQmzE,EAAOnzE,MAAQi+U,IA5LxCG,CAAc7yK,GAiMlB,SAAoBA,EAAO5uI,GAEvB,IADA,IAAI0hT,EAAgB,CAAE7zS,MAAO,EAAGvqC,OAAQ,GAC/B07C,EAAK,EAAG05G,EAAKkW,EAAM2rK,UAAWv7R,EAAK05G,EAAGn/J,OAAQylD,IAAM,CAEzD,IADA,IAAI03B,EAAMgiF,EAAG15G,GACJ25G,EAAK,EAAGC,EAAKgW,EAAM75D,QAAS4jD,EAAKC,EAAGr/J,OAAQo/J,IAAM,CACvD,IAAIniF,EAASoiF,EAAGD,GACZzkD,EAAOx9B,EAAIo1M,MAAMt1M,EAAO54C,OAC5B,GAAKs2E,EAAL,CAEAl0E,EAAIkzS,YAAYh/N,EAAKnlG,QAAQ,GAC7B,IAAI4yU,EAAYztO,EAAK7wG,MAAQ6wG,EAAKjrC,QAAQ,cACb,cAAzBirC,EAAKnlG,OAAO4tE,SAEZu3B,EAAKxjG,KAAOsvB,EAAI4hK,gBAAgB1tF,EAAKxjG,KAAMixU,EAAY,EAAI3hT,EAAIyhK,cAAe,CAAEh6L,SAAUysG,EAAKnlG,OAAOtH,WAExE,cAAzBysG,EAAKnlG,OAAO4tE,SACjBu3B,EAAKxjG,KAAO+vU,EAAUvsO,EAAKxjG,KAAMixU,EAAWztO,EAAKnlG,OAAQixB,EAAK,OAEhC,WAAzBk0E,EAAKnlG,OAAO4tE,SACjBu3B,EAAKxjG,KAAO+vU,EAAUvsO,EAAKxjG,KAAMixU,EAAWztO,EAAKnlG,OAAQixB,EAAK,IAEzB,oBAAzBk0E,EAAKnlG,OAAO4tE,WACxBu3B,EAAKxjG,KAAOwjG,EAAKnlG,OAAO4tE,SAASu3B,EAAKxjG,KAAMixU,IAEhDztO,EAAKmnO,cAAgBnnO,EAAKynO,iBAAiB37S,EAAIyhK,eAC/C,IAAImgJ,EAAoB1tO,EAAKmnO,cAAgBnnO,EAAK4pD,QAC9C5pD,EAAK4pD,QAAU,GACf4jL,EAAc7zS,MAAQ6zS,EAAcp+U,OAChCs+U,EAAoB1tO,EAAK4pD,QAC7B4jL,EAAgB,CAAEp+U,OAAQs+U,EAAmB/zS,MAAOqmE,EAAK4pD,SAEpD4jL,GAAiBA,EAAc7zS,MAAQ,GACxC6zS,EAAcp+U,OAASs+U,IACvBA,EAAoBF,EAAcp+U,QAGtCs+U,EAAoBlrQ,EAAIpzE,SACxBozE,EAAIpzE,OAASs+U,IAGrBF,EAAc7zS,SAxOlBg0S,CAAWjzK,EAAO5uI,GAsHtB,SAAuB4uI,GAInB,IAHA,IAAIkzK,EAAe,GACfC,EAAkB,EAClB7nT,EAAM00I,EAAM2rK,UACPiC,EAAW,EAAGA,EAAWtiT,EAAI3gC,OAAQijV,IAE1C,IADA,IAAI9lQ,EAAMx8C,EAAIsiT,GACLx9R,EAAK,EAAG05G,EAAKkW,EAAM75D,QAAS/1D,EAAK05G,EAAGn/J,OAAQylD,IAAM,CACvD,IAAIw3B,EAASkiF,EAAG15G,GACZvxC,EAAOq0U,EAAatrQ,EAAO54C,OAC/B,GAAImkT,EAAkB,EAClBA,WACOrrQ,EAAIo1M,MAAMt1M,EAAO54C,YAEvB,GAAInwB,EACLA,EAAKymG,KAAK5wG,QAAUozE,EAAIpzE,OACxBy+U,EAAkBt0U,EAAKymG,KAAK2pD,eACrBnnF,EAAIo1M,MAAMt1M,EAAO54C,OACxBnwB,EAAK6lC,OACD7lC,EAAK6lC,MAAQ,UACNwuS,EAAatrQ,EAAO54C,WAG9B,CACD,IAAIs2E,EAAOx9B,EAAIo1M,MAAMt1M,EAAO54C,OAC5B,IAAKs2E,EACD,SAGJ,GADAA,EAAK5wG,OAASozE,EAAIpzE,OACd4wG,EAAK4pD,QAAU,EAAG,CAClB,IAAIkmK,EAAY9pS,EAAI3gC,OAASijV,EACzBlpS,EAAO4gE,EAAK4pD,QAAUkmK,EAAYA,EAAY9vN,EAAK4pD,QACvDgkL,EAAatrQ,EAAO54C,OAAS,CAAEs2E,KAAMA,EAAM5gE,KAAMA,EAAMojC,IAAKA,MApJ5EsrQ,CAAcpzK,IAoHlBh8K,EAAQ8tV,cAAgBA,EAyHxB9tV,EAAQ6tV,UAAYA,GAmBdwB,GACC,SAAStvV,GAEhB,GAA8C,qBAApCm9U,EAAiD,CAAE,IAAItyU,EAAI,IAAIm+B,MAAM,kCAAgE,MAA7Bn+B,EAAEwoC,KAAO,mBAA0BxoC,EAErJ7K,EAAOC,QAAUk9U,IAOHoS,EAA2B,GAG/B,SAAS5jV,EAAoBC,GAE5B,IAAI4jV,EAAeD,EAAyB3jV,GAC5C,QAAqB89B,IAAjB8lT,EACH,OAAOA,EAAavvV,QAGrB,IAAID,EAASuvV,EAAyB3jV,GAAY,CAGjD3L,QAAS,IAOV,OAHAm9U,EAAoBxxU,GAAUE,KAAK9L,EAAOC,QAASD,EAAQA,EAAOC,QAAS0L,GAGpE3L,EAAOC,QAIzB,IAAIuwI,EAAsB,GAyDhB,OAvDT,WACD,IAAIvwI,EAAUuwI,EAEdvpI,OAAOC,eAAejH,EAAS,aAAe,CAAEuJ,OAAO,IACvDvJ,EAAQqnV,KAAOrnV,EAAQ0pK,OAAS1pK,EAAQsnV,IAAMtnV,EAAQg9H,MAAQh9H,EAAQy9U,aAAez9U,EAAQwvV,YAAcxvV,EAAQyvV,cAAgBzvV,EAAQ0vV,iBAAc,EACzJ,IAAIC,EAAgBjkV,EAAoB,KACpCwyU,EAAgBxyU,EAAoB,KACpCyyU,EAAgBzyU,EAAoB,IACpC0yU,EAAoB1yU,EAAoB,KACxC09U,EAAW19U,EAAoB,KACnC1E,OAAOC,eAAejH,EAAS,QAAU,CAAE6G,YAAY,EAAMsF,IAAK,WAAc,OAAOi9U,EAASpsN,SAChG,IAAIuqN,EAAa77U,EAAoB,KACrC1E,OAAOC,eAAejH,EAAS,eAAiB,CAAE6G,YAAY,EAAMsF,IAAK,WAAc,OAAOo7U,EAAW9J,gBACzG,IAAImS,EAAWlkV,EAAoB,KAMnC,SAASgkV,EAAYjjI,IACjB,EAAIkjI,EAActyT,SAASovL,GAN/BzlN,OAAOC,eAAejH,EAAS,OAAS,CAAE6G,YAAY,EAAMsF,IAAK,WAAc,OAAOyjV,EAASvI,QAC/FrgV,OAAOC,eAAejH,EAAS,SAAW,CAAE6G,YAAY,EAAMsF,IAAK,WAAc,OAAOyjV,EAASlmL,UACjG1iK,OAAOC,eAAejH,EAAS,MAAQ,CAAE6G,YAAY,EAAMsF,IAAK,WAAc,OAAOyjV,EAAStI,OAM9FtnV,EAAQ0vV,YAAcA,EAMtB1vV,EAAO,QALP,SAAmBgM,EAAGo8B,GAClB,IAAIkkF,GAAQ,EAAI4xN,EAAcI,YAAYtyU,EAAGo8B,GACzC4zI,GAAQ,EAAIoiK,EAAkBG,aAAavyU,EAAGsgH,IAClD,EAAI6xN,EAAcK,WAAWxyU,EAAGgwK,IAQpCh8K,EAAQyvV,cAJR,SAAuBzjV,EAAGo8B,GACtB,IAAIkkF,GAAQ,EAAI4xN,EAAcI,YAAYtyU,EAAGo8B,GAC7C,OAAO,EAAIg2S,EAAkBG,aAAavyU,EAAGsgH,IAMjDtsH,EAAQwvV,YAHR,SAAqBxjV,EAAGgwK,IACpB,EAAImiK,EAAcK,WAAWxyU,EAAGgwK,IAGpC,IAEI,IAAIywC,EAAQ/gN,EAAoB,IAG5B+gN,EAAMA,QACNA,EAAQA,EAAMA,OAClBijI,EAAYjjI,GAEhB,MAAOzvL,KAhDN,GAuDgBuzG,EAtzEV,IARLxwI,EAAOC,QAAUsL,EAAS,WAA+C,IAAM,OAAOrL,EAAQ,IAAY,MAAM2K,KAAtF,K,6BCX5B,wFAAS0mC,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAASqsH,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAU5d,SAASqpV,EAAQppV,GACtB,IAAI4V,EAAW5V,EAAM4V,SACjB5L,EAAQhK,EAAMgK,MACdC,EAASjK,EAAMiK,OACf4P,EAAU7Z,EAAM6Z,QAChBkO,EAAY/nB,EAAM+nB,UAClBjS,EAAQ9V,EAAM8V,MACd4sH,EAAS9S,EAAyB5vH,EAAO,CAAC,WAAY,QAAS,SAAU,UAAW,YAAa,UAEjGqpV,EAAUxvU,GAAW,CACvB7P,MAAOA,EACPC,OAAQA,EACRgG,EAAG,EACHC,EAAG,GAEDsmJ,EAAa9nC,IAAW,mBAAoB3mG,GAChD,OAAoByrG,IAAMx1G,cAAc,MAAO6sB,EAAS,GAAI60G,YAAYhd,GAAQ,GAAM,GAAO,CAC3F36G,UAAWyuI,EACXxsJ,MAAOA,EACPC,OAAQA,EACR6L,MAAOA,EACP+D,QAAS,GAAG+R,OAAOy9T,EAAQp5U,EAAG,KAAK2b,OAAOy9T,EAAQn5U,EAAG,KAAK0b,OAAOy9T,EAAQr/U,MAAO,KAAK4hB,OAAOy9T,EAAQp/U,QACpG+nC,QAAS,QACMwhF,IAAMx1G,cAAc,QAAS,KAAMhe,EAAM4nB,OAAqB4rG,IAAMx1G,cAAc,OAAQ,KAAMhe,EAAM6nB,MAAOjS,K,k4MC/B/G8rT,GAAV,SAAUA,EAAQ7gT,EAAQyoU,GAA1B,2FACWtmT,IAAZsmT,EADC,+BAEezoU,GAFf,8DAGY,OADN/d,EAFN,WAGqBA,GAASA,IAAUA,GAHxC,gBAIC,OAJD,SAIOA,EAJP,qHAAAuB,IAAA,6CAQCkgC,GAAS,EARV,cASe1jB,GATf,8DASM/d,EATN,UAUgD,OAA5CA,EAAQwmV,EAAQxmV,IAASyhC,EAAO1jB,MAAqB/d,GAASA,IAAUA,GAV5E,iBAWC,OAXD,UAWOA,EAXP,wHAAAuB,IAAA,uFAJQ,aAAS4L,GACtB,OAAa,OAANA,EAAaiB,KAAOjB,I,6BCDd,aAASF,EAAGzC,GACzB,OAAOyC,GAAKA,EAAGzC,GAAKA,EAAG,SAASzH,GAC9B,OAAOkK,GAAK,EAAIlK,GAAKyH,EAAIzH,K,6BCF7B,mIAASqxE,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS7D,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAUxM,IAAI6lV,EAAmB,SAA0Bt5U,EAAGC,EAAGlG,EAAOC,EAAQw0B,GACpE,IAII9tB,EAJA64U,EAAYj/U,KAAK6K,IAAI7K,KAAKwjD,IAAI/jD,GAAS,EAAGO,KAAKwjD,IAAI9jD,GAAU,GAC7Dw/U,EAAQx/U,GAAU,EAAI,GAAK,EAC3By/U,EAAQ1/U,GAAS,EAAI,GAAK,EAC1Bm6K,EAAYl6K,GAAU,GAAKD,GAAS,GAAKC,EAAS,GAAKD,EAAQ,EAAI,EAAI,EAG3E,GAAIw/U,EAAY,GAAK/qT,aAAkB56B,MAAO,CAG5C,IAFA,IAAI8lV,EAAY,CAAC,EAAG,EAAG,EAAG,GAEjB1pV,EAAI,EAAYA,EAAH,EAAYA,IAChC0pV,EAAU1pV,GAAKw+B,EAAOx+B,GAAKupV,EAAYA,EAAY/qT,EAAOx+B,GAG5D0Q,EAAO,IAAIib,OAAO3b,EAAG,KAAK2b,OAAO1b,EAAIu5U,EAAQE,EAAU,IAEnDA,EAAU,GAAK,IACjBh5U,GAAQ,KAAKib,OAAO+9T,EAAU,GAAI,KAAK/9T,OAAO+9T,EAAU,GAAI,SAAS/9T,OAAOu4J,EAAW,KAAKv4J,OAAO3b,EAAIy5U,EAAQC,EAAU,GAAI,KAAK/9T,OAAO1b,IAG3IS,GAAQ,KAAKib,OAAO3b,EAAIjG,EAAQ0/U,EAAQC,EAAU,GAAI,KAAK/9T,OAAO1b,GAE9Dy5U,EAAU,GAAK,IACjBh5U,GAAQ,KAAKib,OAAO+9T,EAAU,GAAI,KAAK/9T,OAAO+9T,EAAU,GAAI,SAAS/9T,OAAOu4J,EAAW,eAAev4J,OAAO3b,EAAIjG,EAAO,KAAK4hB,OAAO1b,EAAIu5U,EAAQE,EAAU,KAG5Jh5U,GAAQ,KAAKib,OAAO3b,EAAIjG,EAAO,KAAK4hB,OAAO1b,EAAIjG,EAASw/U,EAAQE,EAAU,IAEtEA,EAAU,GAAK,IACjBh5U,GAAQ,KAAKib,OAAO+9T,EAAU,GAAI,KAAK/9T,OAAO+9T,EAAU,GAAI,SAAS/9T,OAAOu4J,EAAW,eAAev4J,OAAO3b,EAAIjG,EAAQ0/U,EAAQC,EAAU,GAAI,KAAK/9T,OAAO1b,EAAIjG,IAGjK0G,GAAQ,KAAKib,OAAO3b,EAAIy5U,EAAQC,EAAU,GAAI,KAAK/9T,OAAO1b,EAAIjG,GAE1D0/U,EAAU,GAAK,IACjBh5U,GAAQ,KAAKib,OAAO+9T,EAAU,GAAI,KAAK/9T,OAAO+9T,EAAU,GAAI,SAAS/9T,OAAOu4J,EAAW,eAAev4J,OAAO3b,EAAG,KAAK2b,OAAO1b,EAAIjG,EAASw/U,EAAQE,EAAU,KAG7Jh5U,GAAQ,SACH,GAAI64U,EAAY,GAAK/qT,KAAYA,GAAUA,EAAS,EAAG,CAC5D,IAAImrT,EAAar/U,KAAK6K,IAAIo0U,EAAW/qT,GAErC9tB,EAAO,KAAKib,OAAO3b,EAAG,KAAK2b,OAAO1b,EAAIu5U,EAAQG,EAAY,oBAAoBh+T,OAAOg+T,EAAY,KAAKh+T,OAAOg+T,EAAY,SAASh+T,OAAOu4J,EAAW,KAAKv4J,OAAO3b,EAAIy5U,EAAQE,EAAY,KAAKh+T,OAAO1b,EAAG,oBAAoB0b,OAAO3b,EAAIjG,EAAQ0/U,EAAQE,EAAY,KAAKh+T,OAAO1b,EAAG,oBAAoB0b,OAAOg+T,EAAY,KAAKh+T,OAAOg+T,EAAY,SAASh+T,OAAOu4J,EAAW,KAAKv4J,OAAO3b,EAAIjG,EAAO,KAAK4hB,OAAO1b,EAAIu5U,EAAQG,EAAY,oBAAoBh+T,OAAO3b,EAAIjG,EAAO,KAAK4hB,OAAO1b,EAAIjG,EAASw/U,EAAQG,EAAY,oBAAoBh+T,OAAOg+T,EAAY,KAAKh+T,OAAOg+T,EAAY,SAASh+T,OAAOu4J,EAAW,KAAKv4J,OAAO3b,EAAIjG,EAAQ0/U,EAAQE,EAAY,KAAKh+T,OAAO1b,EAAIjG,EAAQ,oBAAoB2hB,OAAO3b,EAAIy5U,EAAQE,EAAY,KAAKh+T,OAAO1b,EAAIjG,EAAQ,oBAAoB2hB,OAAOg+T,EAAY,KAAKh+T,OAAOg+T,EAAY,SAASh+T,OAAOu4J,EAAW,KAAKv4J,OAAO3b,EAAG,KAAK2b,OAAO1b,EAAIjG,EAASw/U,EAAQG,EAAY,WAEx3Bj5U,EAAO,KAAKib,OAAO3b,EAAG,KAAK2b,OAAO1b,EAAG,OAAO0b,OAAO5hB,EAAO,OAAO4hB,OAAO3hB,EAAQ,OAAO2hB,QAAQ5hB,EAAO,MAGxG,OAAO2G,GAGEk5U,EAAgB,SAAuBzrU,EAAOtE,GACvD,IAAKsE,IAAUtE,EACb,OAAO,EAGT,IAAImM,EAAK7H,EAAMnO,EACXiW,EAAK9H,EAAMlO,EACXD,EAAI6J,EAAK7J,EACTC,EAAI4J,EAAK5J,EACTlG,EAAQ8P,EAAK9P,MACbC,EAAS6P,EAAK7P,OAElB,GAAIM,KAAKwjD,IAAI/jD,GAAS,GAAKO,KAAKwjD,IAAI9jD,GAAU,EAAG,CAC/C,IAAI0K,EAAOpK,KAAK6K,IAAInF,EAAGA,EAAIjG,GACvBo/F,EAAO7+F,KAAK+K,IAAIrF,EAAGA,EAAIjG,GACvB4K,EAAOrK,KAAK6K,IAAIlF,EAAGA,EAAIjG,GACvBo/F,EAAO9+F,KAAK+K,IAAIpF,EAAGA,EAAIjG,GAC3B,OAAOgc,GAAMtR,GAAQsR,GAAMmjF,GAAQljF,GAAMtR,GAAQsR,GAAMmjF,EAGzD,OAAO,GAEE/nD,EAAyB,SAAUktQ,IA9F9C,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GA+FjXF,CAAU6+C,EAAWktQ,GAErB,IAnGoB5uT,EAAae,EAAYC,EAmGzCypD,EAAStnD,EAAau+C,GAE1B,SAASA,IACP,IAAI3I,EAEJj5C,EAAgB0D,KAAMk+C,GAEtB,IAAK,IAAIsE,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GAQzB,OALApa,EAAQ0R,EAAOjlD,KAAK5B,MAAM6mD,EAAQ,CAACjnD,MAAMwoB,OAAOk7B,KAC1CqhB,MAAQ,CACZ2hR,aAAc,GAEhBnxS,EAAM1xC,UAAO,EACN0xC,EAgGT,OAnNoB/4C,EAsHP0hD,GAtHoB3gD,EAsHT,CAAC,CACvBF,IAAK,oBACLqC,MAEA,WACE,GAAIM,KAAK6D,MAAQ7D,KAAK6D,KAAK8iV,eACzB,IACE,IAAID,EAAc1mV,KAAK6D,KAAK8iV,iBAExBD,GACF1mV,KAAKqkK,SAAS,CACZqiL,YAAaA,IAGjB,MAAOvlV,OAIZ,CACD9D,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAETs1J,EAAct1J,KAAKpD,MACnBiQ,EAAIyoJ,EAAYzoJ,EAChBC,EAAIwoJ,EAAYxoJ,EAChBlG,EAAQ0uJ,EAAY1uJ,MACpBC,EAASyuJ,EAAYzuJ,OACrBw0B,EAASi6H,EAAYj6H,OACrB1W,EAAY2wI,EAAY3wI,UACxB+hU,EAAc1mV,KAAK+kE,MAAM2hR,YACzB5wL,EAAe91J,KAAKpD,MACpBgqV,EAAkB9wL,EAAa8wL,gBAC/BC,EAAoB/wL,EAAa+wL,kBACjCC,EAAiBhxL,EAAagxL,eAC9BC,EAAoBjxL,EAAaixL,kBACjCC,EAA0BlxL,EAAakxL,wBAE3C,GAAIn6U,KAAOA,GAAKC,KAAOA,GAAKlG,KAAWA,GAASC,KAAYA,GAAoB,IAAVD,GAA0B,IAAXC,EACnF,OAAO,KAGT,IAAIusJ,EAAa9nC,IAAW,qBAAsB3mG,GAElD,OAAKqiU,EAOe52N,IAAMx1G,cAAcuwS,IAAS,CAC/CI,SAAUm7B,EAAc,EACxB3tU,KAAM,CACJnS,MAAOA,EACPC,OAAQA,EACRgG,EAAGA,EACHC,EAAGA,GAEL0Q,GAAI,CACF5W,MAAOA,EACPC,OAAQA,EACRgG,EAAGA,EACHC,EAAGA,GAEL0P,SAAUqqU,EACVD,gBAAiBA,EACjBv+K,SAAU2+K,IACT,SAAUl6N,GACX,IAAIm6N,EAAYn6N,EAAKlmH,MACjBsgV,EAAap6N,EAAKjmH,OAClBkjT,EAAQj9L,EAAKjgH,EACbs6U,EAAQr6N,EAAKhgH,EACjB,OAAoBsjH,IAAMx1G,cAAcuwS,IAAS,CAC/CI,SAAUm7B,EAAc,EACxB3tU,KAAM,OAAOyP,QAAwB,IAAjBk+T,EAAqB,EAAIA,EAAa,MAC1DlpU,GAAI,GAAGgL,OAAOk+T,EAAa,UAC3B7pU,cAAe,kBACfJ,MAAOqqU,EACPtqU,SAAUqqU,EACVx+K,SAAU0+K,EACVnwT,OAAQgwT,GACMx2N,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI60G,YAAYjgG,EAAOz/C,OAAO,GAAO,CACxF+nB,UAAWyuI,EACXjxJ,EAAGgkV,EAAiBp8B,EAAOo9B,EAAOF,EAAWC,EAAY7rT,GACzD+yC,IAAK,SAAavqE,GAChBw4C,EAAOx4C,KAAOA,UAzCEusH,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI60G,YAAYt8I,KAAKpD,OAAO,GAAO,CAC1F+nB,UAAWyuI,EACXjxJ,EAAGgkV,EAAiBt5U,EAAGC,EAAGlG,EAAOC,EAAQw0B,WArK2B3+B,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAmN3K0gD,EAnH2B,CAoHlCuvQ,iBACFvvQ,EAAU0+E,aAAe,CACvB/vH,EAAG,EACHC,EAAG,EACHlG,MAAO,EACPC,OAAQ,EAIRw0B,OAAQ,EACR0rT,mBAAmB,EACnBC,yBAAyB,EACzBF,eAAgB,EAChBD,kBAAmB,KACnBD,gBAAiB,S,wIC1OJ,eCAR,SAAS5rU,EAAM1O,EAAMO,EAAGC,GAC7BR,EAAK86U,SAASlwU,eACX,EAAI5K,EAAK+6U,IAAM/6U,EAAKg7U,KAAO,GAC3B,EAAIh7U,EAAKi7U,IAAMj7U,EAAKk7U,KAAO,GAC3Bl7U,EAAK+6U,IAAM,EAAI/6U,EAAKg7U,KAAO,GAC3Bh7U,EAAKi7U,IAAM,EAAIj7U,EAAKk7U,KAAO,GAC3Bl7U,EAAK+6U,IAAM,EAAI/6U,EAAKg7U,IAAMz6U,GAAK,GAC/BP,EAAKi7U,IAAM,EAAIj7U,EAAKk7U,IAAM16U,GAAK,GAI7B,SAAS26U,EAAMnyR,GACpBt1D,KAAKonV,SAAW9xR,EAGlBmyR,EAAMhqV,UAAY,CAChBiqV,UAAW,WACT1nV,KAAK2nV,MAAQ,GAEfC,QAAS,WACP5nV,KAAK2nV,MAAQ75U,KAEfymC,UAAW,WACTv0C,KAAKqnV,IAAMrnV,KAAKsnV,IAChBtnV,KAAKunV,IAAMvnV,KAAKwnV,IAAM15U,IACtB9N,KAAK6nV,OAAS,GAEhBxzS,QAAS,WACP,OAAQr0C,KAAK6nV,QACX,KAAK,EAAG7sU,EAAMhb,KAAMA,KAAKsnV,IAAKtnV,KAAKwnV,KACnC,KAAK,EAAGxnV,KAAKonV,SAAS7wU,OAAOvW,KAAKsnV,IAAKtnV,KAAKwnV,MAE1CxnV,KAAK2nV,OAAyB,IAAf3nV,KAAK2nV,OAA+B,IAAhB3nV,KAAK6nV,SAAe7nV,KAAKonV,SAAS5wU,YACzExW,KAAK2nV,MAAQ,EAAI3nV,KAAK2nV,OAExB3sU,MAAO,SAASnO,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL9M,KAAK6nV,QACX,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG7nV,KAAK2nV,MAAQ3nV,KAAKonV,SAAS7wU,OAAO1J,EAAGC,GAAK9M,KAAKonV,SAAS9wU,OAAOzJ,EAAGC,GAAI,MAC/F,KAAK,EAAG9M,KAAK6nV,OAAS,EAAG,MACzB,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG7nV,KAAKonV,SAAS7wU,QAAQ,EAAIvW,KAAKqnV,IAAMrnV,KAAKsnV,KAAO,GAAI,EAAItnV,KAAKunV,IAAMvnV,KAAKwnV,KAAO,GACzG,QAASxsU,EAAMhb,KAAM6M,EAAGC,GAE1B9M,KAAKqnV,IAAMrnV,KAAKsnV,IAAKtnV,KAAKsnV,IAAMz6U,EAChC7M,KAAKunV,IAAMvnV,KAAKwnV,IAAKxnV,KAAKwnV,IAAM16U,ICzCpC,SAASg7U,EAAYxyR,GACnBt1D,KAAKonV,SAAW9xR,EAGlBwyR,EAAYrqV,UAAY,CACtBiqV,UAAW1kQ,EACX4kQ,QAAS5kQ,EACTzuC,UAAW,WACTv0C,KAAKqnV,IAAMrnV,KAAKsnV,IAAMtnV,KAAK+nV,IAAM/nV,KAAKgoV,IAAMhoV,KAAKioV,IACjDjoV,KAAKunV,IAAMvnV,KAAKwnV,IAAMxnV,KAAKkoV,IAAMloV,KAAKmoV,IAAMnoV,KAAKooV,IAAMt6U,IACvD9N,KAAK6nV,OAAS,GAEhBxzS,QAAS,WACP,OAAQr0C,KAAK6nV,QACX,KAAK,EACH7nV,KAAKonV,SAAS9wU,OAAOtW,KAAK+nV,IAAK/nV,KAAKkoV,KACpCloV,KAAKonV,SAAS5wU,YACd,MAEF,KAAK,EACHxW,KAAKonV,SAAS9wU,QAAQtW,KAAK+nV,IAAM,EAAI/nV,KAAKgoV,KAAO,GAAIhoV,KAAKkoV,IAAM,EAAIloV,KAAKmoV,KAAO,GAChFnoV,KAAKonV,SAAS7wU,QAAQvW,KAAKgoV,IAAM,EAAIhoV,KAAK+nV,KAAO,GAAI/nV,KAAKmoV,IAAM,EAAInoV,KAAKkoV,KAAO,GAChFloV,KAAKonV,SAAS5wU,YACd,MAEF,KAAK,EACHxW,KAAKgb,MAAMhb,KAAK+nV,IAAK/nV,KAAKkoV,KAC1BloV,KAAKgb,MAAMhb,KAAKgoV,IAAKhoV,KAAKmoV,KAC1BnoV,KAAKgb,MAAMhb,KAAKioV,IAAKjoV,KAAKooV,OAKhCptU,MAAO,SAASnO,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL9M,KAAK6nV,QACX,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG7nV,KAAK+nV,IAAMl7U,EAAG7M,KAAKkoV,IAAMp7U,EAAG,MACrD,KAAK,EAAG9M,KAAK6nV,OAAS,EAAG7nV,KAAKgoV,IAAMn7U,EAAG7M,KAAKmoV,IAAMr7U,EAAG,MACrD,KAAK,EAAG9M,KAAK6nV,OAAS,EAAG7nV,KAAKioV,IAAMp7U,EAAG7M,KAAKooV,IAAMt7U,EAAG9M,KAAKonV,SAAS9wU,QAAQtW,KAAKqnV,IAAM,EAAIrnV,KAAKsnV,IAAMz6U,GAAK,GAAI7M,KAAKunV,IAAM,EAAIvnV,KAAKwnV,IAAM16U,GAAK,GAAI,MACjJ,QAASkO,EAAMhb,KAAM6M,EAAGC,GAE1B9M,KAAKqnV,IAAMrnV,KAAKsnV,IAAKtnV,KAAKsnV,IAAMz6U,EAChC7M,KAAKunV,IAAMvnV,KAAKwnV,IAAKxnV,KAAKwnV,IAAM16U,IC3CpC,SAASu7U,EAAU/yR,GACjBt1D,KAAKonV,SAAW9xR,EAGlB+yR,EAAU5qV,UAAY,CACpBiqV,UAAW,WACT1nV,KAAK2nV,MAAQ,GAEfC,QAAS,WACP5nV,KAAK2nV,MAAQ75U,KAEfymC,UAAW,WACTv0C,KAAKqnV,IAAMrnV,KAAKsnV,IAChBtnV,KAAKunV,IAAMvnV,KAAKwnV,IAAM15U,IACtB9N,KAAK6nV,OAAS,GAEhBxzS,QAAS,YACHr0C,KAAK2nV,OAAyB,IAAf3nV,KAAK2nV,OAA+B,IAAhB3nV,KAAK6nV,SAAe7nV,KAAKonV,SAAS5wU,YACzExW,KAAK2nV,MAAQ,EAAI3nV,KAAK2nV,OAExB3sU,MAAO,SAASnO,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL9M,KAAK6nV,QACX,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG,MACzB,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG,MACzB,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG,IAAIS,GAAMtoV,KAAKqnV,IAAM,EAAIrnV,KAAKsnV,IAAMz6U,GAAK,EAAG07U,GAAMvoV,KAAKunV,IAAM,EAAIvnV,KAAKwnV,IAAM16U,GAAK,EAAG9M,KAAK2nV,MAAQ3nV,KAAKonV,SAAS7wU,OAAO+xU,EAAIC,GAAMvoV,KAAKonV,SAAS9wU,OAAOgyU,EAAIC,GAAK,MACvL,KAAK,EAAGvoV,KAAK6nV,OAAS,EACtB,QAAS7sU,EAAMhb,KAAM6M,EAAGC,GAE1B9M,KAAKqnV,IAAMrnV,KAAKsnV,IAAKtnV,KAAKsnV,IAAMz6U,EAChC7M,KAAKunV,IAAMvnV,KAAKwnV,IAAKxnV,KAAKwnV,IAAM16U,IC9BpC,SAAS07U,EAAalzR,GACpBt1D,KAAKonV,SAAW9xR,EAGlBkzR,EAAa/qV,UAAY,CACvBiqV,UAAW1kQ,EACX4kQ,QAAS5kQ,EACTzuC,UAAW,WACTv0C,KAAK6nV,OAAS,GAEhBxzS,QAAS,WACHr0C,KAAK6nV,QAAQ7nV,KAAKonV,SAAS5wU,aAEjCwE,MAAO,SAASnO,EAAGC,GACjBD,GAAKA,EAAGC,GAAKA,EACT9M,KAAK6nV,OAAQ7nV,KAAKonV,SAAS7wU,OAAO1J,EAAGC,IACpC9M,KAAK6nV,OAAS,EAAG7nV,KAAKonV,SAAS9wU,OAAOzJ,EAAGC,MClBlD,SAAS27U,EAAOnzR,GACdt1D,KAAKonV,SAAW9xR,EAGlBmzR,EAAOhrV,UAAY,CACjBiqV,UAAW,WACT1nV,KAAK2nV,MAAQ,GAEfC,QAAS,WACP5nV,KAAK2nV,MAAQ75U,KAEfymC,UAAW,WACTv0C,KAAK6nV,OAAS,GAEhBxzS,QAAS,YACHr0C,KAAK2nV,OAAyB,IAAf3nV,KAAK2nV,OAA+B,IAAhB3nV,KAAK6nV,SAAe7nV,KAAKonV,SAAS5wU,YACzExW,KAAK2nV,MAAQ,EAAI3nV,KAAK2nV,OAExB3sU,MAAO,SAASnO,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL9M,KAAK6nV,QACX,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG7nV,KAAK2nV,MAAQ3nV,KAAKonV,SAAS7wU,OAAO1J,EAAGC,GAAK9M,KAAKonV,SAAS9wU,OAAOzJ,EAAGC,GAAI,MAC/F,KAAK,EAAG9M,KAAK6nV,OAAS,EACtB,QAAS7nV,KAAKonV,SAAS7wU,OAAO1J,EAAGC,MAKxB,eAASwoD,GACtB,OAAO,IAAImzR,EAAOnzR,IC7BpB,SAAS2iF,EAAKprI,GACZ,OAAOA,EAAI,GAAK,EAAI,EAOtB,SAAS67U,EAAOp8U,EAAMqB,EAAIC,GACxB,IAAI+6U,EAAKr8U,EAAKg7U,IAAMh7U,EAAK+6U,IACrBrgG,EAAKr5O,EAAKrB,EAAKg7U,IACfh3M,GAAMhkI,EAAKk7U,IAAMl7U,EAAKi7U,MAAQoB,GAAM3hG,EAAK,IAAM,GAC/CriJ,GAAM/2F,EAAKtB,EAAKk7U,MAAQxgG,GAAM2hG,EAAK,IAAM,GACzC1lV,GAAKqtI,EAAK02G,EAAKriJ,EAAKgkP,IAAOA,EAAK3hG,GACpC,OAAQ/uG,EAAK3H,GAAM2H,EAAKtzC,IAAOx9F,KAAK6K,IAAI7K,KAAKwjD,IAAI2lF,GAAKnpI,KAAKwjD,IAAIg6C,GAAK,GAAMx9F,KAAKwjD,IAAI1nD,KAAO,EAI5F,SAAS2lV,EAAOt8U,EAAM7J,GACpB,IAAIuxB,EAAI1nB,EAAKg7U,IAAMh7U,EAAK+6U,IACxB,OAAOrzT,GAAK,GAAK1nB,EAAKk7U,IAAMl7U,EAAKi7U,KAAOvzT,EAAIvxB,GAAK,EAAIA,EAMvD,SAASuY,EAAM1O,EAAMu8U,EAAIr5U,GACvB,IAAI84U,EAAKh8U,EAAK+6U,IACVkB,EAAKj8U,EAAKi7U,IACV95U,EAAKnB,EAAKg7U,IACV55U,EAAKpB,EAAKk7U,IACV7iV,GAAM8I,EAAK66U,GAAM,EACrBh8U,EAAK86U,SAASlwU,cAAcoxU,EAAK3jV,EAAI4jV,EAAK5jV,EAAKkkV,EAAIp7U,EAAK9I,EAAI+I,EAAK/I,EAAK6K,EAAI/B,EAAIC,GAGhF,SAASo7U,EAAUxzR,GACjBt1D,KAAKonV,SAAW9xR,EA0ClB,SAASyzR,EAAUzzR,GACjBt1D,KAAKonV,SAAW,IAAI4B,EAAe1zR,GAOrC,SAAS0zR,EAAe1zR,GACtBt1D,KAAKonV,SAAW9xR,ECvFlB,SAAS2zR,EAAQ3zR,GACft1D,KAAKonV,SAAW9xR,EA2ClB,SAASoxD,EAAc75G,GACrB,IAAIhQ,EAEAoF,EADApB,EAAIgM,EAAE/P,OAAS,EAEf6P,EAAI,IAAIlM,MAAMI,GACdqJ,EAAI,IAAIzJ,MAAMI,GACd0B,EAAI,IAAI9B,MAAMI,GAElB,IADA8L,EAAE,GAAK,EAAGzC,EAAE,GAAK,EAAG3H,EAAE,GAAKsK,EAAE,GAAK,EAAIA,EAAE,GACnChQ,EAAI,EAAGA,EAAIgE,EAAI,IAAKhE,EAAG8P,EAAE9P,GAAK,EAAGqN,EAAErN,GAAK,EAAG0F,EAAE1F,GAAK,EAAIgQ,EAAEhQ,GAAK,EAAIgQ,EAAEhQ,EAAI,GAE5E,IADA8P,EAAE9L,EAAI,GAAK,EAAGqJ,EAAErJ,EAAI,GAAK,EAAG0B,EAAE1B,EAAI,GAAK,EAAIgM,EAAEhM,EAAI,GAAKgM,EAAEhM,GACnDhE,EAAI,EAAGA,EAAIgE,IAAKhE,EAAGoF,EAAI0K,EAAE9P,GAAKqN,EAAErN,EAAI,GAAIqN,EAAErN,IAAMoF,EAAGM,EAAE1F,IAAMoF,EAAIM,EAAE1F,EAAI,GAE1E,IADA8P,EAAE9L,EAAI,GAAK0B,EAAE1B,EAAI,GAAKqJ,EAAErJ,EAAI,GACvBhE,EAAIgE,EAAI,EAAGhE,GAAK,IAAKA,EAAG8P,EAAE9P,IAAM0F,EAAE1F,GAAK8P,EAAE9P,EAAI,IAAMqN,EAAErN,GAE1D,IADAqN,EAAErJ,EAAI,IAAMgM,EAAEhM,GAAK8L,EAAE9L,EAAI,IAAM,EAC1BhE,EAAI,EAAGA,EAAIgE,EAAI,IAAKhE,EAAGqN,EAAErN,GAAK,EAAIgQ,EAAEhQ,EAAI,GAAK8P,EAAE9P,EAAI,GACxD,MAAO,CAAC8P,EAAGzC,GDpBb4+U,EAAUrrV,UAAY,CACpBiqV,UAAW,WACT1nV,KAAK2nV,MAAQ,GAEfC,QAAS,WACP5nV,KAAK2nV,MAAQ75U,KAEfymC,UAAW,WACTv0C,KAAKqnV,IAAMrnV,KAAKsnV,IAChBtnV,KAAKunV,IAAMvnV,KAAKwnV,IAChBxnV,KAAKkpV,IAAMp7U,IACX9N,KAAK6nV,OAAS,GAEhBxzS,QAAS,WACP,OAAQr0C,KAAK6nV,QACX,KAAK,EAAG7nV,KAAKonV,SAAS7wU,OAAOvW,KAAKsnV,IAAKtnV,KAAKwnV,KAAM,MAClD,KAAK,EAAGxsU,EAAMhb,KAAMA,KAAKkpV,IAAKN,EAAO5oV,KAAMA,KAAKkpV,OAE9ClpV,KAAK2nV,OAAyB,IAAf3nV,KAAK2nV,OAA+B,IAAhB3nV,KAAK6nV,SAAe7nV,KAAKonV,SAAS5wU,YACzExW,KAAK2nV,MAAQ,EAAI3nV,KAAK2nV,OAExB3sU,MAAO,SAASnO,EAAGC,GACjB,IAAI0C,EAAK1B,IAGT,GADQhB,GAAKA,GAAbD,GAAKA,KACK7M,KAAKsnV,KAAOx6U,IAAM9M,KAAKwnV,IAAjC,CACA,OAAQxnV,KAAK6nV,QACX,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG7nV,KAAK2nV,MAAQ3nV,KAAKonV,SAAS7wU,OAAO1J,EAAGC,GAAK9M,KAAKonV,SAAS9wU,OAAOzJ,EAAGC,GAAI,MAC/F,KAAK,EAAG9M,KAAK6nV,OAAS,EAAG,MACzB,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG7sU,EAAMhb,KAAM4oV,EAAO5oV,KAAMwP,EAAKk5U,EAAO1oV,KAAM6M,EAAGC,IAAK0C,GAAK,MACjF,QAASwL,EAAMhb,KAAMA,KAAKkpV,IAAK15U,EAAKk5U,EAAO1oV,KAAM6M,EAAGC,IAGtD9M,KAAKqnV,IAAMrnV,KAAKsnV,IAAKtnV,KAAKsnV,IAAMz6U,EAChC7M,KAAKunV,IAAMvnV,KAAKwnV,IAAKxnV,KAAKwnV,IAAM16U,EAChC9M,KAAKkpV,IAAM15U,MAQdu5U,EAAUtrV,UAAYN,OAAOqC,OAAOspV,EAAUrrV,YAAYud,MAAQ,SAASnO,EAAGC,GAC7Eg8U,EAAUrrV,UAAUud,MAAMhZ,KAAKhC,KAAM8M,EAAGD,IAO1Cm8U,EAAevrV,UAAY,CACzB6Y,OAAQ,SAASzJ,EAAGC,GAAK9M,KAAKonV,SAAS9wU,OAAOxJ,EAAGD,IACjD2J,UAAW,WAAaxW,KAAKonV,SAAS5wU,aACtCD,OAAQ,SAAS1J,EAAGC,GAAK9M,KAAKonV,SAAS7wU,OAAOzJ,EAAGD,IACjDqK,cAAe,SAASzJ,EAAIC,EAAIC,EAAIC,EAAIf,EAAGC,GAAK9M,KAAKonV,SAASlwU,cAAcxJ,EAAID,EAAIG,EAAID,EAAIb,EAAGD,KC1FjGo8U,EAAQxrV,UAAY,CAClBiqV,UAAW,WACT1nV,KAAK2nV,MAAQ,GAEfC,QAAS,WACP5nV,KAAK2nV,MAAQ75U,KAEfymC,UAAW,WACTv0C,KAAK42E,GAAK,GACV52E,KAAKw2E,GAAK,IAEZniC,QAAS,WACP,IAAIxnC,EAAI7M,KAAK42E,GACT9pE,EAAI9M,KAAKw2E,GACT31E,EAAIgM,EAAE/P,OAEV,GAAI+D,EAEF,GADAb,KAAK2nV,MAAQ3nV,KAAKonV,SAAS7wU,OAAO1J,EAAE,GAAIC,EAAE,IAAM9M,KAAKonV,SAAS9wU,OAAOzJ,EAAE,GAAIC,EAAE,IACnE,IAANjM,EACFb,KAAKonV,SAAS7wU,OAAO1J,EAAE,GAAIC,EAAE,SAI7B,IAFA,IAAI+V,EAAK6jG,EAAc75G,GACnBiW,EAAK4jG,EAAc55G,GACdkuJ,EAAK,EAAGC,EAAK,EAAGA,EAAKp6J,IAAKm6J,IAAMC,EACvCj7J,KAAKonV,SAASlwU,cAAc2L,EAAG,GAAGm4I,GAAKl4I,EAAG,GAAGk4I,GAAKn4I,EAAG,GAAGm4I,GAAKl4I,EAAG,GAAGk4I,GAAKnuJ,EAAEouJ,GAAKnuJ,EAAEmuJ,KAKnFj7J,KAAK2nV,OAAyB,IAAf3nV,KAAK2nV,OAAqB,IAAN9mV,IAAUb,KAAKonV,SAAS5wU,YAC/DxW,KAAK2nV,MAAQ,EAAI3nV,KAAK2nV,MACtB3nV,KAAK42E,GAAK52E,KAAKw2E,GAAK,MAEtBx7D,MAAO,SAASnO,EAAGC,GACjB9M,KAAK42E,GAAG9vE,MAAM+F,GACd7M,KAAKw2E,GAAG1vE,MAAMgG,KCvClB,SAASq8U,EAAK7zR,EAAS7yD,GACrBzC,KAAKonV,SAAW9xR,EAChBt1D,KAAKw0L,GAAK/xL,EAGZ0mV,EAAK1rV,UAAY,CACfiqV,UAAW,WACT1nV,KAAK2nV,MAAQ,GAEfC,QAAS,WACP5nV,KAAK2nV,MAAQ75U,KAEfymC,UAAW,WACTv0C,KAAK42E,GAAK52E,KAAKw2E,GAAK1oE,IACpB9N,KAAK6nV,OAAS,GAEhBxzS,QAAS,WACH,EAAIr0C,KAAKw0L,IAAMx0L,KAAKw0L,GAAK,GAAqB,IAAhBx0L,KAAK6nV,QAAc7nV,KAAKonV,SAAS7wU,OAAOvW,KAAK42E,GAAI52E,KAAKw2E,KACpFx2E,KAAK2nV,OAAyB,IAAf3nV,KAAK2nV,OAA+B,IAAhB3nV,KAAK6nV,SAAe7nV,KAAKonV,SAAS5wU,YACrExW,KAAK2nV,OAAS,IAAG3nV,KAAKw0L,GAAK,EAAIx0L,KAAKw0L,GAAIx0L,KAAK2nV,MAAQ,EAAI3nV,KAAK2nV,QAEpE3sU,MAAO,SAASnO,EAAGC,GAEjB,OADAD,GAAKA,EAAGC,GAAKA,EACL9M,KAAK6nV,QACX,KAAK,EAAG7nV,KAAK6nV,OAAS,EAAG7nV,KAAK2nV,MAAQ3nV,KAAKonV,SAAS7wU,OAAO1J,EAAGC,GAAK9M,KAAKonV,SAAS9wU,OAAOzJ,EAAGC,GAAI,MAC/F,KAAK,EAAG9M,KAAK6nV,OAAS,EACtB,QACE,GAAI7nV,KAAKw0L,IAAM,EACbx0L,KAAKonV,SAAS7wU,OAAOvW,KAAK42E,GAAI9pE,GAC9B9M,KAAKonV,SAAS7wU,OAAO1J,EAAGC,OACnB,CACL,IAAIW,EAAKzN,KAAK42E,IAAM,EAAI52E,KAAKw0L,IAAM3nL,EAAI7M,KAAKw0L,GAC5Cx0L,KAAKonV,SAAS7wU,OAAO9I,EAAIzN,KAAKw2E,IAC9Bx2E,KAAKonV,SAAS7wU,OAAO9I,EAAIX,IAK/B9M,KAAK42E,GAAK/pE,EAAG7M,KAAKw2E,GAAK1pE,I,8BCtCpB,SAASD,EAAE5J,GAChB,OAAOA,EAAE,GAGJ,SAAS6J,EAAE7J,GAChB,OAAOA,EAAE,GCCI,eAAS4J,EAAGC,GACzB,IAAIs8U,EAAUpwM,aAAS,GACnB1jF,EAAU,KACV+zR,EAAQC,EACR1mO,EAAS,KAKb,SAASzrG,EAAKnG,GACZ,IAAInU,EAEAsF,EAEAqrK,EAHA3sK,GAAKmQ,EAAO+xC,YAAM/xC,IAAOlU,OAEzBysV,GAAW,EAKf,IAFe,MAAXj0R,IAAiBstD,EAASymO,EAAM77K,EAASjgK,gBAExC1Q,EAAI,EAAGA,GAAKgE,IAAKhE,IACdA,EAAIgE,GAAKuoV,EAAQjnV,EAAI6O,EAAKnU,GAAIA,EAAGmU,MAAWu4U,KAC5CA,GAAYA,GAAU3mO,EAAOruE,YAC5BquE,EAAOvuE,WAEVk1S,GAAU3mO,EAAO5nG,OAAOnO,EAAE1K,EAAGtF,EAAGmU,IAAQlE,EAAE3K,EAAGtF,EAAGmU,IAGtD,GAAIw8J,EAAQ,OAAO5qD,EAAS,KAAM4qD,EAAS,IAAM,KAuBnD,OA3CA3gK,EAAiB,oBAANA,EAAmBA,OAAW+yB,IAAN/yB,EAAmB28U,EAASxwM,YAASnsI,GACxEC,EAAiB,oBAANA,EAAmBA,OAAW8yB,IAAN9yB,EAAmB28U,EAASzwM,YAASlsI,GAsBxEqK,EAAKtK,EAAI,SAAS0nB,GAChB,OAAOp0B,UAAUrD,QAAU+P,EAAiB,oBAAN0nB,EAAmBA,EAAIykH,aAAUzkH,GAAIpd,GAAQtK,GAGrFsK,EAAKrK,EAAI,SAASynB,GAChB,OAAOp0B,UAAUrD,QAAUgQ,EAAiB,oBAANynB,EAAmBA,EAAIykH,aAAUzkH,GAAIpd,GAAQrK,GAGrFqK,EAAKiyU,QAAU,SAAS70T,GACtB,OAAOp0B,UAAUrD,QAAUssV,EAAuB,oBAAN70T,EAAmBA,EAAIykH,cAAWzkH,GAAIpd,GAAQiyU,GAG5FjyU,EAAKkyU,MAAQ,SAAS90T,GACpB,OAAOp0B,UAAUrD,QAAUusV,EAAQ90T,EAAc,MAAX+gC,IAAoBstD,EAASymO,EAAM/zR,IAAWn+C,GAAQkyU,GAG9FlyU,EAAKm+C,QAAU,SAAS/gC,GACtB,OAAOp0B,UAAUrD,QAAe,MAALy3B,EAAY+gC,EAAUstD,EAAS,KAAOA,EAASymO,EAAM/zR,EAAU/gC,GAAIpd,GAAQm+C,GAGjGn+C,GChDM,WAASmxU,EAAIC,EAAI76U,GAC9B,IAAID,EAAK,KACL27U,EAAUpwM,aAAS,GACnB1jF,EAAU,KACV+zR,EAAQC,EACR1mO,EAAS,KAMb,SAASt0B,EAAKt9E,GACZ,IAAInU,EACAuc,EACAwI,EAEAzf,EAEAqrK,EAHA3sK,GAAKmQ,EAAO+xC,YAAM/xC,IAAOlU,OAEzBysV,GAAW,EAEXG,EAAM,IAAIjpV,MAAMI,GAChB8oV,EAAM,IAAIlpV,MAAMI,GAIpB,IAFe,MAAXy0D,IAAiBstD,EAASymO,EAAM77K,EAASjgK,gBAExC1Q,EAAI,EAAGA,GAAKgE,IAAKhE,EAAG,CACvB,KAAMA,EAAIgE,GAAKuoV,EAAQjnV,EAAI6O,EAAKnU,GAAIA,EAAGmU,MAAWu4U,EAChD,GAAIA,GAAYA,EACdnwU,EAAIvc,EACJ+lH,EAAO8kO,YACP9kO,EAAOruE,gBACF,CAGL,IAFAquE,EAAOvuE,UACPuuE,EAAOruE,YACF3yB,EAAI/kB,EAAI,EAAG+kB,GAAKxI,IAAKwI,EACxBghG,EAAO5nG,MAAM0uU,EAAI9nU,GAAI+nU,EAAI/nU,IAE3BghG,EAAOvuE,UACPuuE,EAAOglO,UAGP2B,IACFG,EAAI7sV,IAAMyrV,EAAGnmV,EAAGtF,EAAGmU,GAAO24U,EAAI9sV,IAAM0rV,EAAGpmV,EAAGtF,EAAGmU,GAC7C4xG,EAAO5nG,MAAMvN,GAAMA,EAAGtL,EAAGtF,EAAGmU,GAAQ04U,EAAI7sV,GAAI6Q,GAAMA,EAAGvL,EAAGtF,EAAGmU,GAAQ24U,EAAI9sV,KAI3E,GAAI2wK,EAAQ,OAAO5qD,EAAS,KAAM4qD,EAAS,IAAM,KAGnD,SAASo8K,IACP,OAAOzyU,IAAOiyU,QAAQA,GAASC,MAAMA,GAAO/zR,QAAQA,GAoDtD,OA/FAgzR,EAAmB,oBAAPA,EAAoBA,OAAa1oT,IAAP0oT,EAAoBkB,EAASxwM,aAAUsvM,GAC7EC,EAAmB,oBAAPA,EAAoBA,OAAa3oT,IAAP2oT,EAAoBvvM,YAAS,GAAKA,aAAUuvM,GAClF76U,EAAmB,oBAAPA,EAAoBA,OAAakyB,IAAPlyB,EAAoB+7U,EAASzwM,aAAUtrI,GA4C7E4gF,EAAKzhF,EAAI,SAAS0nB,GAChB,OAAOp0B,UAAUrD,QAAUwrV,EAAkB,oBAAN/zT,EAAmBA,EAAIykH,aAAUzkH,GAAI9mB,EAAK,KAAM6gF,GAAQg6P,GAGjGh6P,EAAKg6P,GAAK,SAAS/zT,GACjB,OAAOp0B,UAAUrD,QAAUwrV,EAAkB,oBAAN/zT,EAAmBA,EAAIykH,aAAUzkH,GAAI+5D,GAAQg6P,GAGtFh6P,EAAK7gF,GAAK,SAAS8mB,GACjB,OAAOp0B,UAAUrD,QAAU2Q,EAAU,MAAL8mB,EAAY,KAAoB,oBAANA,EAAmBA,EAAIykH,aAAUzkH,GAAI+5D,GAAQ7gF,GAGzG6gF,EAAKxhF,EAAI,SAASynB,GAChB,OAAOp0B,UAAUrD,QAAUyrV,EAAkB,oBAANh0T,EAAmBA,EAAIykH,aAAUzkH,GAAI7mB,EAAK,KAAM4gF,GAAQi6P,GAGjGj6P,EAAKi6P,GAAK,SAASh0T,GACjB,OAAOp0B,UAAUrD,QAAUyrV,EAAkB,oBAANh0T,EAAmBA,EAAIykH,aAAUzkH,GAAI+5D,GAAQi6P,GAGtFj6P,EAAK5gF,GAAK,SAAS6mB,GACjB,OAAOp0B,UAAUrD,QAAU4Q,EAAU,MAAL6mB,EAAY,KAAoB,oBAANA,EAAmBA,EAAIykH,aAAUzkH,GAAI+5D,GAAQ5gF,GAGzG4gF,EAAKu7P,OACLv7P,EAAKw7P,OAAS,WACZ,OAAOF,IAAW/8U,EAAEy7U,GAAIx7U,EAAEy7U,IAG5Bj6P,EAAKy7P,OAAS,WACZ,OAAOH,IAAW/8U,EAAEy7U,GAAIx7U,EAAEY,IAG5B4gF,EAAK07P,OAAS,WACZ,OAAOJ,IAAW/8U,EAAEY,GAAIX,EAAEy7U,IAG5Bj6P,EAAK86P,QAAU,SAAS70T,GACtB,OAAOp0B,UAAUrD,QAAUssV,EAAuB,oBAAN70T,EAAmBA,EAAIykH,cAAWzkH,GAAI+5D,GAAQ86P,GAG5F96P,EAAK+6P,MAAQ,SAAS90T,GACpB,OAAOp0B,UAAUrD,QAAUusV,EAAQ90T,EAAc,MAAX+gC,IAAoBstD,EAASymO,EAAM/zR,IAAWg5B,GAAQ+6P,GAG9F/6P,EAAKh5B,QAAU,SAAS/gC,GACtB,OAAOp0B,UAAUrD,QAAe,MAALy3B,EAAY+gC,EAAUstD,EAAS,KAAOA,EAASymO,EAAM/zR,EAAU/gC,GAAI+5D,GAAQh5B,GAGjGg5B,G,iCC7GT,SAASxa,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAMnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAUxM,IAAI2pV,EAAkB,CACpBC,iBVMa,SAAS50R,GACtB,OAAO,IAAIwyR,EAAYxyR,IUNvB60R,eTRa,SAAS70R,GACtB,OAAO,IAAI+yR,EAAU/yR,ISQrB80R,WXGa,SAAS90R,GACtB,OAAO,IAAImyR,EAAMnyR,IWHjB+0R,kBRxBa,SAAS/0R,GACtB,OAAO,IAAIkzR,EAAalzR,IQwBxBg0R,YAAaA,EACbgB,eNiDK,SAAmBh1R,GACxB,OAAO,IAAIwzR,EAAUxzR,IMjDrBi1R,eNoDK,SAAmBj1R,GACxB,OAAO,IAAIyzR,EAAUzzR,IMpDrBk1R,aLYa,SAASl1R,GACtB,OAAO,IAAI2zR,EAAQ3zR,IKZnBm1R,UJTa,SAASn1R,GACtB,OAAO,IAAI6zR,EAAK7zR,EAAS,KISzBo1R,eJFK,SAAmBp1R,GACxB,OAAO,IAAI6zR,EAAK7zR,EAAS,IIEzBq1R,gBJPK,SAAoBr1R,GACzB,OAAO,IAAI6zR,EAAK7zR,EAAS,KISvB8zR,EAAU,SAAiBnmV,GAC7B,OAAOA,EAAE4J,KAAO5J,EAAE4J,GAAK5J,EAAE6J,KAAO7J,EAAE6J,GAGhC8pC,EAAO,SAAc3zC,GACvB,OAAOA,EAAE4J,GAGPiqC,GAAO,SAAc7zC,GACvB,OAAOA,EAAE6J,GAiBA89U,GAAqB,SAAUx/B,IA9D1C,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GA+DjXF,CAAUurV,EAAOx/B,GAEjB,IAnEoB5uT,EAAae,EAAYC,EAmEzCypD,EAAStnD,EAAairV,GAE1B,SAASA,IAGP,OAFAtuV,EAAgB0D,KAAM4qV,GAEf3jS,EAAO7mD,MAAMJ,KAAMG,WAgF5B,OAxJoB3D,EA2EPouV,GA3EoBrtV,EA2Eb,CAAC,CACnBF,IAAK,UACLqC,MAKA,WACE,IAUImrV,EAVAv1L,EAAct1J,KAAKpD,MACnBqU,EAAOqkJ,EAAYrkJ,KACnBoG,EAASi+I,EAAYj+I,OACrByzU,EAAWx1L,EAAYw1L,SACvB5iS,EAASotG,EAAYptG,OACrB6iS,EAAez1L,EAAYy1L,aAC3BC,EAvCY,SAAyB/5U,EAAMi3C,GACnD,GAAI0oF,IAAY3/H,GACd,OAAOA,EAGT,IAAI7O,EAAO,QAAQomB,OAAOsvH,IAAY7mI,IAEtC,MAAa,kBAAT7O,GAA4B8lD,EACvB+hS,EAAgB,GAAGzhU,OAAOpmB,GAAMomB,OAAkB,aAAX0/B,EAAwB,IAAM,MAGvE+hS,EAAgB7nV,IAASknV,EA4BT2B,CAAgBh6U,EAAMi3C,GACrCgjS,EAAeH,EAAe1zU,EAAOpE,QAAO,SAAUytC,GACxD,OAAO0oS,EAAQ1oS,MACZrpC,EAGL,GAAIuwG,IAASkjO,GAAW,CACtB,IAAIK,EAAiBJ,EAAeD,EAAS73U,QAAO,SAAUtC,GAC5D,OAAOy4U,EAAQz4U,MACZm6U,EACDM,EAAaF,EAAazjU,KAAI,SAAUi5B,EAAOvf,GACjD,OAAO2nG,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CACjD/vC,KAAMw6U,EAAehqT,QAezB,OAVE0pT,EADa,aAAX3iS,EACamjS,IAAYv+U,EAAEgqC,IAAMrpC,GAAGmpC,GAAM0xS,IAAG,SAAUnmV,GACvD,OAAOA,EAAEwO,KAAK9D,KAGDw+U,IAAYx+U,EAAE+pC,GAAMlpC,GAAGopC,IAAMyxS,IAAG,SAAUpmV,GACvD,OAAOA,EAAEwO,KAAK7D,MAILs8U,QAAQA,GAASC,MAAM2B,GAC7BH,EAAaO,GAYtB,OAREP,EADa,aAAX3iS,GAAyB8+D,YAAS8jO,GACrBO,IAAYv+U,EAAEgqC,IAAMrpC,GAAGmpC,GAAM0xS,GAAGwC,GACtC9jO,YAAS8jO,GACHO,IAAYx+U,EAAE+pC,GAAMlpC,GAAGopC,IAAMyxS,GAAGuC,GAEhCQ,IAAYz+U,EAAE+pC,GAAM9pC,EAAEgqC,KAG1BsyS,QAAQA,GAASC,MAAM2B,GAC7BH,EAAaK,KAErB,CACD7tV,IAAK,SACLqC,MAAO,WACL,IAAIo2J,EAAe91J,KAAKpD,MACpB+nB,EAAYmxI,EAAanxI,UACzBtN,EAASy+I,EAAaz+I,OACtB9J,EAAOuoJ,EAAavoJ,KACpBg+U,EAAUz1L,EAAay1L,QAE3B,KAAMl0U,IAAWA,EAAOva,UAAYyQ,EAClC,OAAO,KAGT,IAAIi+U,EAAWn0U,GAAUA,EAAOva,OAASkD,KAAK2gG,UAAYpzF,EAC1D,OAAoB6iH,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI60G,YAAYt8I,KAAKpD,OAAQigJ,YAAmB78I,KAAKpD,OAAQ,CACpH+nB,UAAW2mG,IAAW,iBAAkB3mG,GACxCxiB,EAAGqpV,EACHp9Q,IAAKm9Q,UAnJiE7uV,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAwJ3KotV,EAxFuB,CAyF9Bn9B,iBACFm9B,GAAMhuN,aAAe,CACnB3rH,KAAM,SACNoG,OAAQ,GACR0zU,cAAc,I,mKCtKL/nP,GATM77F,KAAKwjD,IACHxjD,KAAK6F,MACP7F,KAAKiJ,IACLjJ,KAAK+K,IACL/K,KAAK6K,IACL7K,KAAKkJ,IACJlJ,KAAKC,KAGPD,KAAKsE,IAEVggV,EAAM,EAAIzoP,ECTN,OACbt9E,KAAM,SAAS4vC,EAAS4P,GACtB,IAAI3iE,EAAI4E,KAAKC,KAAK89D,EAAO89B,GACzB1tC,EAAQh/C,OAAO/T,EAAG,GAClB+yD,EAAQv+C,IAAI,EAAG,EAAGxU,EAAG,EAAGkpV,KCNb,GACb/lU,KAAM,SAAS4vC,EAAS4P,GACtB,IAAI3iE,EAAI4E,KAAKC,KAAK89D,EAAO,GAAK,EAC9B5P,EAAQh/C,QAAQ,EAAI/T,GAAIA,GACxB+yD,EAAQ/+C,QAAQhU,GAAIA,GACpB+yD,EAAQ/+C,QAAQhU,GAAI,EAAIA,GACxB+yD,EAAQ/+C,OAAOhU,GAAI,EAAIA,GACvB+yD,EAAQ/+C,OAAOhU,GAAIA,GACnB+yD,EAAQ/+C,OAAO,EAAIhU,GAAIA,GACvB+yD,EAAQ/+C,OAAO,EAAIhU,EAAGA,GACtB+yD,EAAQ/+C,OAAOhU,EAAGA,GAClB+yD,EAAQ/+C,OAAOhU,EAAG,EAAIA,GACtB+yD,EAAQ/+C,QAAQhU,EAAG,EAAIA,GACvB+yD,EAAQ/+C,QAAQhU,EAAGA,GACnB+yD,EAAQ/+C,QAAQ,EAAIhU,EAAGA,GACvB+yD,EAAQ9+C,cCfRk1U,EAAQvkV,KAAKC,KAAK,EAAI,GACtBukV,EAAkB,EAARD,EAEC,GACbhmU,KAAM,SAAS4vC,EAAS4P,GACtB,IAAIp4D,EAAI3F,KAAKC,KAAK89D,EAAOymR,GACrB9+U,EAAIC,EAAI4+U,EACZp2R,EAAQh/C,OAAO,GAAIxJ,GACnBwoD,EAAQ/+C,OAAO1J,EAAG,GAClByoD,EAAQ/+C,OAAO,EAAGzJ,GAClBwoD,EAAQ/+C,QAAQ1J,EAAG,GACnByoD,EAAQ9+C,cCXG,GACbkP,KAAM,SAAS4vC,EAAS4P,GACtB,IAAIlwC,EAAI7tB,KAAKC,KAAK89D,GACdr4D,GAAKmoB,EAAI,EACbsgC,EAAQ5+C,KAAK7J,EAAGA,EAAGmoB,EAAGA,KCDtBktK,EAAK/6L,KAAKkJ,IAAI2yF,EAAK,IAAM77F,KAAKkJ,IAAI,EAAI2yF,EAAK,IAC3C4oP,EAAKzkV,KAAKkJ,IAAIo7U,EAAM,IAAMvpJ,EAC1Bs+B,GAAMr5N,KAAKiJ,IAAIq7U,EAAM,IAAMvpJ,EAEhB,GACbx8K,KAAM,SAAS4vC,EAAS4P,GACtB,IAAI3iE,EAAI4E,KAAKC,KAPR,kBAOa89D,GACdr4D,EAAI++U,EAAKrpV,EACTuK,EAAI0zN,EAAKj+N,EACb+yD,EAAQh/C,OAAO,GAAI/T,GACnB+yD,EAAQ/+C,OAAO1J,EAAGC,GAClB,IAAK,IAAIjQ,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAI8P,EAAI8+U,EAAM5uV,EAAI,EACdqF,EAAIiF,KAAKiJ,IAAIzD,GACb/L,EAAIuG,KAAKkJ,IAAI1D,GACjB2oD,EAAQ/+C,OAAO3V,EAAI2B,GAAIL,EAAIK,GAC3B+yD,EAAQ/+C,OAAOrU,EAAI2K,EAAIjM,EAAIkM,EAAGlM,EAAIiM,EAAI3K,EAAI4K,GAE5CwoD,EAAQ9+C,cCrBRq1U,EAAQ1kV,KAAKC,KAAK,GAEP,GACbse,KAAM,SAAS4vC,EAAS4P,GACtB,IAAIp4D,GAAK3F,KAAKC,KAAK89D,GAAgB,EAAR2mR,IAC3Bv2R,EAAQh/C,OAAO,EAAO,EAAJxJ,GAClBwoD,EAAQ/+C,QAAQs1U,EAAQ/+U,GAAIA,GAC5BwoD,EAAQ/+C,OAAOs1U,EAAQ/+U,GAAIA,GAC3BwoD,EAAQ9+C,cCPR5V,EAAIuG,KAAKC,KAAK,GAAK,EACnBwa,EAAI,EAAIza,KAAKC,KAAK,IAClBuF,EAAkB,GAAbiV,EAAI,EAAI,GAEF,GACb8D,KAAM,SAAS4vC,EAAS4P,GACtB,IAAI3iE,EAAI4E,KAAKC,KAAK89D,EAAOv4D,GACrB27U,EAAK/lV,EAAI,EACTgmV,EAAKhmV,EAAIqf,EACTnU,EAAK66U,EACL56U,EAAKnL,EAAIqf,EAAIrf,EACboL,GAAMF,EACNG,EAAKF,EACT4nD,EAAQh/C,OAAOgyU,EAAIC,GACnBjzR,EAAQ/+C,OAAO9I,EAAIC,GACnB4nD,EAAQ/+C,OAAO5I,EAAIC,GACnB0nD,EAAQ/+C,QAjBJ,GAiBe+xU,EAAK1nV,EAAI2nV,EAAI3nV,EAAI0nV,GAjBhC,GAiByCC,GAC7CjzR,EAAQ/+C,QAlBJ,GAkBe9I,EAAK7M,EAAI8M,EAAI9M,EAAI6M,GAlBhC,GAkByCC,GAC7C4nD,EAAQ/+C,QAnBJ,GAmBe5I,EAAK/M,EAAIgN,EAAIhN,EAAI+M,GAnBhC,GAmByCC,GAC7C0nD,EAAQ/+C,QApBJ,GAoBe+xU,EAAK1nV,EAAI2nV,GApBxB,GAoBgCA,EAAK3nV,EAAI0nV,GAC7ChzR,EAAQ/+C,QArBJ,GAqBe9I,EAAK7M,EAAI8M,GArBxB,GAqBgCA,EAAK9M,EAAI6M,GAC7C6nD,EAAQ/+C,QAtBJ,GAsBe5I,EAAK/M,EAAIgN,GAtBxB,GAsBgCA,EAAKhN,EAAI+M,GAC7C2nD,EAAQ9+C,c,yBCvBZ,SAASs9D,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS7D,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GASxM,IAAIwrV,EAAkB,CACpBC,aAAcA,EACdC,YAAaA,EACbC,cAAeA,EACfC,aAAcA,EACdC,WAAYA,EACZC,eAAgBA,EAChBC,UAAWA,GAETngM,EAAS/kJ,KAAKsE,GAAK,IAuCZ6gV,EAAuB,SAAUlhC,IArE5C,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAsEjXF,CAAUitV,EAASlhC,GAEnB,IA1EoB5uT,EAAae,EAAYC,EA0EzCypD,EAAStnD,EAAa2sV,GAE1B,SAASA,IAGP,OAFAhwV,EAAgB0D,KAAMssV,GAEfrlS,EAAO7mD,MAAMJ,KAAMG,WAwC5B,OAvHoB3D,EAkFP8vV,GAlFoB/uV,EAkFX,CAAC,CACrBF,IAAK,UACLqC,MAKA,WACE,IAAI41J,EAAct1J,KAAKpD,MACnBsoE,EAAOowF,EAAYpwF,KACnBqnR,EAAWj3L,EAAYi3L,SACvBt7U,EAAOqkJ,EAAYrkJ,KACnBu7U,EA5Da,SAA0Bv7U,GAC/C,IAAI7O,EAAO,SAASomB,OAAOsvH,IAAY7mI,IACvC,OAAO66U,EAAgB1pV,IAAS2pV,EA0DRU,CAAiBx7U,GAErC,OCtFS,SAASA,EAAMi0D,GAC5B,IAAI5P,EAAU,KAId,SAASj0C,IACP,IAAImsJ,EAGJ,GAFKl4G,IAASA,EAAUk4G,EAASjgK,eACjC0D,EAAK7Q,MAAMJ,KAAMG,WAAWulB,KAAK4vC,GAAU4P,EAAK9kE,MAAMJ,KAAMG,YACxDqtK,EAAQ,OAAOl4G,EAAU,KAAMk4G,EAAS,IAAM,KAepD,OAtBAv8J,EAAuB,oBAATA,EAAsBA,EAAO+nI,YAAS/nI,GAAQ6F,GAC5DouD,EAAuB,oBAATA,EAAsBA,EAAO8zE,iBAAkBp5G,IAATslC,EAAqB,IAAMA,GAS/E7jD,EAAOpQ,KAAO,SAASsjB,GACrB,OAAOp0B,UAAUrD,QAAUmU,EAAoB,oBAANsjB,EAAmBA,EAAIykH,YAASzkH,GAAIlT,GAAUpQ,GAGzFoQ,EAAO6jD,KAAO,SAAS3wC,GACrB,OAAOp0B,UAAUrD,QAAUooE,EAAoB,oBAAN3wC,EAAmBA,EAAIykH,aAAUzkH,GAAIlT,GAAU6jD,GAG1F7jD,EAAOi0C,QAAU,SAAS/gC,GACxB,OAAOp0B,UAAUrD,QAAUw4D,EAAe,MAAL/gC,EAAY,KAAOA,EAAGlT,GAAUi0C,GAGhEj0C,ED6DUqrU,GAAcz7U,KAAKu7U,GAAetnR,KAxD7B,SAA2BA,EAAMqnR,EAAUt7U,GACjE,GAAiB,SAAbs7U,EACF,OAAOrnR,EAGT,OAAQj0D,GACN,IAAK,QACH,OAAO,EAAIi0D,EAAOA,EAAO,EAE3B,IAAK,UACH,MAAO,GAAMA,EAAOA,EAAO/9D,KAAKC,KAAK,GAEvC,IAAK,SACH,OAAO89D,EAAOA,EAEhB,IAAK,OAED,IAAIj1D,EAAQ,GAAKi8I,EACjB,OAAO,KAAOhnF,EAAOA,GAAQ/9D,KAAK0J,IAAIZ,GAAS9I,KAAK0J,IAAY,EAARZ,GAAa9I,KAAKE,IAAIF,KAAK0J,IAAIZ,GAAQ,IAGnG,IAAK,WACH,OAAO9I,KAAKC,KAAK,GAAK89D,EAAOA,EAAO,EAEtC,IAAK,MACH,OAAQ,GAAK,GAAK/9D,KAAKC,KAAK,IAAM89D,EAAOA,EAAO,EAElD,QACE,OAAO/9D,KAAKsE,GAAKy5D,EAAOA,EAAO,GA4BqBynR,CAAkBznR,EAAMqnR,EAAUt7U,GAC/EoQ,KAER,CACDhkB,IAAK,SACLqC,MAAO,WACL,IAAIo2J,EAAe91J,KAAKpD,MACpB+nB,EAAYmxI,EAAanxI,UACzBzU,EAAK4lJ,EAAa5lJ,GAClBC,EAAK2lJ,EAAa3lJ,GAClB+0D,EAAO4wF,EAAa5wF,KAExB,OAAIh1D,KAAQA,GAAMC,KAAQA,GAAM+0D,KAAUA,EACpBkrD,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI60G,YAAYt8I,KAAKpD,OAAO,GAAO,CAC1F+nB,UAAW2mG,IAAW,mBAAoB3mG,GAC1CnU,UAAW,aAAagY,OAAOtY,EAAI,MAAMsY,OAAOrY,EAAI,KACpDhO,EAAGnC,KAAK2gG,aAIL,UAnHiEjkG,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAuH3K8uV,EAhDyB,CAiDhC7+B,iBElIF,SAAS35O,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAI9U,SAASk3B,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,GAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,GAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,GAA2Bv7H,KAAMH,IAE5Z,SAAS07H,GAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,GAAgBh7H,GAAwJ,OAAnJg7H,GAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GFuGxMgsV,EAAQ1vN,aAAe,CACrB3rH,KAAM,SACNi0D,KAAM,GACNqnR,SAAU,QAGZD,EAAQM,eAAiB,SAAUvvV,EAAKoE,GACtCqqV,EAAgB,SAAStjU,OAAOsvH,IAAYz6I,KAASoE,GEpGvD,IACWorV,GAAoC,SAAUzhC,IAvBzD,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAwBjXF,CAAUwtV,EAAsBzhC,GAEhC,IA5BoB5uT,EAAae,EAAYC,EA4BzCypD,EAAStnD,EAAaktV,GAE1B,SAASA,IAGP,OAFAvwV,EAAgB0D,KAAM6sV,GAEf5lS,EAAO7mD,MAAMJ,KAAMG,WAyJ5B,OA1LoB3D,EAoCPqwV,GApCoBtvV,EAoCE,CAAC,CAClCF,IAAK,aACLqC,MAMA,SAAoBsR,GAClB,IAAI87U,EAAgB9sV,KAAKpD,MAAMkwV,cAI3B/iV,EAAQiH,EAAKiiI,SAAW65M,EAAgB97U,EAAKjH,MAEjD,GAAkB,cAAdiH,EAAKC,KACP,OAAoBm/G,IAAMx1G,cAAc,OAAQ,CAC9CsyG,YAAa,EACbv3G,KAAM,OACNC,OAAQ7L,EACRgjV,gBAAiB/7U,EAAK4hI,QAAQm6M,gBAC9Bt/U,GAAI,EACJC,GAZWs/U,GAaXr/U,GAnCC,GAoCDC,GAdWo/U,GAeXroU,UAAW,yBAIf,GAAkB,SAAd3T,EAAKC,KACP,OAAoBm/G,IAAMx1G,cAAc,OAAQ,CAC9CsyG,YAAa,EACbv3G,KAAM,OACNC,OAAQ7L,EACR5H,EAAG,MAAMqmB,OAxBEwkU,GAwBe,KAAKxkU,OA9C9B,GAwBkB,EAsB8B,mBAAmBA,OA9CnE,GAuBkB,EAuBmE,KAAKA,OA9C1F,GAuBkB,EAuB0F,WAAWA,OA9CvH,GAwBkB,EAsB4G,EAAe,KAAKA,OAxBxIwkU,GAwByJ,mBAAmBxkU,OA9CtL,GA8CmM,KAAKA,OA9CxM,GAwBkB,EAsB6L,EAAe,KAAKA,OAxBzNwkU,GAwB0O,mBAAmBxkU,OA9CvQ,GAuBkB,EAuBuQ,KAAKA,OA9C9R,GAuBkB,EAuB8R,WAAWA,OA9C3T,GAwBkB,EAsB2T,KAAKA,OAxBxUwkU,IAyBXroU,UAAW,yBAIf,GAAkB,SAAd3T,EAAKC,KACP,OAAoBm/G,IAAMx1G,cAAc,OAAQ,CAC9ChF,OAAQ,OACRD,KAAM5L,EACN5H,EAAG,MAAMqmB,OAAOwkU,EAAU,KAAKxkU,OAvD9B,GAuD2C,KAAKA,OAAOwkU,GAAc,KAAKxkU,QAvD1E,GAuDwF,KACzF7D,UAAW,yBAIf,GAAkByrG,IAAMoR,eAAexwH,EAAKi8U,YAAa,CACvD,IAAIC,EA7FZ,SAAuBvwV,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EA6FrfmsI,CAAc,GAAI93H,GAGlC,cADOk8U,EAAUD,WACG78N,IAAMkzC,aAAatyJ,EAAKi8U,WAAYC,GAG1D,OAAoB98N,IAAMx1G,cAAc0xU,EAAS,CAC/C32U,KAAM5L,EACNmG,GA/Ca88U,GAgDb78U,GAhDa68U,GAiDb9nR,KAvEG,GAwEHqnR,SAAU,WACVt7U,KAAMD,EAAKC,SAQd,CACD5T,IAAK,cACLqC,MAAO,WACL,IAAI61C,EAAQv1C,KAERs1J,EAAct1J,KAAKpD,MACnBg2I,EAAU0iB,EAAY1iB,QACtBu6M,EAAW73L,EAAY63L,SACvBjlS,EAASotG,EAAYptG,OACrBk0F,EAAYkZ,EAAYlZ,UACxB0wM,EAAgBx3L,EAAYw3L,cAC5Br2U,EAAU,CACZ5J,EAAG,EACHC,EAAG,EACHlG,MA/FG,GAgGHC,OAhGG,IAkGDumV,EAAY,CACdhpU,QAAoB,eAAX8jC,EAA0B,eAAiB,QACpD8lG,YAAa,IAEXq/L,EAAW,CACbjpU,QAAS,eACTgxH,cAAe,SACf4Y,YAAa,GAEf,OAAOpb,EAAQnrH,KAAI,SAAUi5B,EAAO7jD,GAClC,IAAIywV,EAEAC,EAAiB7sS,EAAM07F,WAAaA,EACpCz3H,EAAY2mG,KAEbt/D,EAFyBshS,EAAc,CACxC,wBAAwB,GACM,eAAe9kU,OAAO3rB,IAAI,GAAOmvD,EAAgBshS,EAAa,WAAY5sS,EAAMuyF,UAAWq6M,IAE3H,GAAmB,SAAf5sS,EAAMzvC,KACR,OAAO,KAGT,IAAIlH,EAAQ22C,EAAMuyF,SAAW65M,EAAgBpsS,EAAM32C,MACnD,OAAoBqmH,IAAMx1G,cAAc,KAAM6sB,EAAS,CACrD9iB,UAAWA,EACXjS,MAAO06U,EACP/vV,IAAK,eAAemrB,OAAO3rB,IAE1BkgJ,YAAmBxnG,EAAM34C,MAAO8jD,EAAO7jD,IAAkBuzH,IAAMx1G,cAAcorU,IAAS,CACvFp/U,MAAOumV,EACPtmV,OAAQsmV,EACR12U,QAASA,EACT/D,MAAO26U,GACN93S,EAAMgnF,WAAW77E,IAAsB0vE,IAAMx1G,cAAc,OAAQ,CACpE+J,UAAW,4BACXjS,MAAO,CACL3I,MAAOA,IAERwjV,EAAiBA,EAAe7sS,EAAMhhD,MAAOghD,EAAO7jD,GAAK6jD,EAAMhhD,aAGrE,CACDrC,IAAK,SACLqC,MAAO,WACL,IAAIo2J,EAAe91J,KAAKpD,MACpBg2I,EAAUkjB,EAAaljB,QACvB1qF,EAAS4tG,EAAa5tG,OACtBv2C,EAAQmkJ,EAAankJ,MAEzB,IAAKihI,IAAYA,EAAQ91I,OACvB,OAAO,KAGT,IAAIouT,EAAa,CACf1+O,QAAS,EACTiQ,OAAQ,EACRyxH,UAAsB,eAAXhmJ,EAA0Bv2C,EAAQ,QAE/C,OAAoBy+G,IAAMx1G,cAAc,KAAM,CAC5C+J,UAAW,0BACXjS,MAAOw4S,GACNlrT,KAAKilN,oBAtLgEvoN,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA0L3KqvV,EAjKsC,CAkK7Cp/B,iBACFo/B,GAAqB70T,YAAc,SACnC60T,GAAqBjwN,aAAe,CAClCuwN,SAAU,GACVjlS,OAAQ,aACRv2C,MAAO,SACPyjI,cAAe,SACf03M,cAAe,Q,aChNjB,SAASh5Q,GAAQ9zC,GAAmV,OAAtO8zC,GAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAKnX,SAAS+5F,GAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,GAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,GAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,GAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,GAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,GAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAAS1jC,GAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,GAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,GAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,GAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,GAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,GAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,GAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,GAA2Bv7H,KAAMH,IAE5Z,SAAS07H,GAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,GAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,GAAgBh7H,GAAwJ,OAAnJg7H,GAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAASksH,GAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAWne,SAAS6wV,GAAc9sS,GACrB,OAAOA,EAAMhhD,MAGf,SAAS+tV,GAAexxB,EAAQrpL,GAC9B,OAAe,IAAXqpL,EACKyxB,IAAQ96M,EAAS46M,IAGtB58M,IAAYqrL,GACPyxB,IAAQ96M,EAASqpL,GAGnBrpL,EAkBT,IACWD,GAAsB,SAAUy4K,IAzD3C,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,GAAgB37H,EAAUC,GA0DjXF,CAAUszI,EAAQy4K,GAElB,IA9DoB5uT,EAAae,EAAYC,EA8DzCypD,EAAStnD,GAAagzI,GAE1B,SAASA,IACP,IAAIp9F,EAEJj5C,GAAgB0D,KAAM2yI,GAEtB,IAAK,IAAInwF,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GASzB,OANApa,EAAQ0R,EAAOjlD,KAAK5B,MAAM6mD,EAAQ,CAACjnD,MAAMwoB,OAAOk7B,KAC1CiqS,iBAAc,EACpBp4S,EAAMwvB,MAAQ,CACZ6oR,UAAW,EACXC,WAAY,GAEPt4S,EA0KT,OAzPoB/4C,EAkFPm2I,EAlFgCn1I,EAoOzC,CAAC,CACHH,IAAK,gBACLqC,MAAO,SAAuBgoB,EAAMomU,GAClC,IAAI5lS,EAASxgC,EAAK9qB,MAAMsrD,OAExB,MAAe,aAAXA,GAAyB8+D,aAASt/F,EAAK9qB,MAAMiK,QACxC,CACLA,OAAQ6gB,EAAK9qB,MAAMiK,QAIR,eAAXqhD,EACK,CACLthD,MAAO8gB,EAAK9qB,MAAMgK,OAASknV,GAIxB,SArPsBvwV,EAkFZ,CAAC,CACpBF,IAAK,oBACLqC,MAAO,WACLM,KAAK+tV,eAEN,CACD1wV,IAAK,qBACLqC,MAAO,WACLM,KAAK+tV,eAEN,CACD1wV,IAAK,UACLqC,MAAO,WACL,OAAIM,KAAK2tV,aAAe3tV,KAAK2tV,YAAYp/L,sBAChCvuJ,KAAK2tV,YAAYp/L,wBAGnB,OAER,CACDlxJ,IAAK,kBACLqC,MAAO,WACL,IAAI8tL,EAAcxtL,KAAK+kE,MACnB6oR,EAAWpgK,EAAYogK,SACvBC,EAAYrgK,EAAYqgK,UAE5B,OAAID,GAAY,GAAKC,GAAa,EACzB,CACLjnV,MAAOgnV,EACP/mV,OAAQgnV,GAIL,OAER,CACDxwV,IAAK,qBACLqC,MAAO,SAA4BgT,GACjC,IAOIs7U,EAAMC,EAPN34L,EAAct1J,KAAKpD,MACnBsrD,EAASotG,EAAYptG,OACrBv2C,EAAQ2jJ,EAAY3jJ,MACpByjI,EAAgBkgB,EAAYlgB,cAC5B34D,EAAS64E,EAAY74E,OACrBqxQ,EAAax4L,EAAYw4L,WACzBI,EAAc54L,EAAY44L,YAuC9B,OApCKx7U,SAAyBktB,IAAfltB,EAAMmkC,MAAqC,OAAfnkC,EAAMmkC,WAAmCjX,IAAhBltB,EAAMmwE,OAAuC,OAAhBnwE,EAAMmwE,SAMnGmrQ,EALY,WAAVr8U,GAAiC,aAAXu2C,EAKjB,CACLrR,OAAQi3S,GAAc,IALb9tV,KAAKmuV,mBAAqB,CACnCvnV,MAAO,IAIyBA,OAAS,GAG1B,UAAV+K,EAAoB,CACzBkxE,MAAOpG,GAAUA,EAAOoG,OAAS,GAC/B,CACFhsC,KAAM4lC,GAAUA,EAAO5lC,MAAQ,IAKhCnkC,SAAwBktB,IAAdltB,EAAMqkC,KAAmC,OAAdrkC,EAAMqkC,UAAmCnX,IAAjBltB,EAAMkwE,QAAyC,OAAjBlwE,EAAMkwE,UAMlGqrQ,EALoB,WAAlB74M,EAKK,CACLr+F,MAAOm3S,GAAe,IALZluV,KAAKmuV,mBAAqB,CACpCtnV,OAAQ,IAIyBA,QAAU,GAGpB,WAAlBuuI,EAA6B,CAClCxyD,OAAQnG,GAAUA,EAAOmG,QAAU,GACjC,CACF7rC,IAAK0lC,GAAUA,EAAO1lC,KAAO,IAK5B+xF,GAAcA,GAAc,GAAIklN,GAAOC,KAE/C,CACD5wV,IAAK,aACLqC,MAAO,WACL,IAAI0uV,EAAepuV,KAAK+kE,MACpB6oR,EAAWQ,EAAaR,SACxBC,EAAYO,EAAaP,UACzBQ,EAAeruV,KAAKpD,MAAMyxV,aAE9B,GAAIruV,KAAK2tV,aAAe3tV,KAAK2tV,YAAYp/L,sBAAuB,CAC9D,IAAI+/L,EAAQtuV,KAAK2tV,YAAYp/L,yBAEzBpnJ,KAAKwjD,IAAI2jS,EAAM1nV,MAAQgnV,GAxHzB,GAwH4CzmV,KAAKwjD,IAAI2jS,EAAMznV,OAASgnV,GAxHpE,IAyHA7tV,KAAKqkK,SAAS,CACZupL,SAAUU,EAAM1nV,MAChBinV,UAAWS,EAAMznV,SAChB,WACGwnV,GACFA,EAAaC,WAII,IAAdV,IAAkC,IAAfC,GAC5B7tV,KAAKqkK,SAAS,CACZupL,UAAW,EACXC,WAAY,IACX,WACGQ,GACFA,EAAa,WAKpB,CACDhxV,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAET81J,EAAe91J,KAAKpD,MACpB+qB,EAAUmuI,EAAanuI,QACvB/gB,EAAQkvJ,EAAalvJ,MACrBC,EAASivJ,EAAajvJ,OACtB0nV,EAAez4L,EAAay4L,aAC5BC,EAAgB14L,EAAa04L,cAC7B57M,EAAUkjB,EAAaljB,QAEvB67M,EAAa3lN,GAAcA,GAAc,CAC3CnmG,SAAU,WACV/7B,MAAOA,GAAS,OAChBC,OAAQA,GAAU,QACjB7G,KAAK0uV,mBAAmBH,IAAgBA,GAE3C,OAAoBn+N,IAAMx1G,cAAc,MAAO,CAC7C+J,UAAW,0BACXjS,MAAO+7U,EACPrgR,IAAK,SAAavqE,GAChBw4C,EAAOsxS,YAAc9pV,IAnL/B,SAAuB8jB,EAAS/qB,GAC9B,GAAkBwzH,IAAMoR,eAAe75G,GACrC,OAAoByoG,IAAMkzC,aAAa37I,EAAS/qB,GAGlD,GAAIg0I,IAAYjpH,GACd,OAAoByoG,IAAMx1G,cAAc+M,EAAS/qB,GAGzCA,EAAMwxE,IAAhB,IACIugR,EAAaniO,GAAyB5vH,EAAO,CAAC,QAElD,OAAoBwzH,IAAMx1G,cAAciyU,GAAsB8B,GAyKvDC,CAAcjnU,EAASmhH,GAAcA,GAAc,GAAI9oI,KAAKpD,OAAQ,GAAI,CACzEg2I,QAAS66M,GAAee,EAAe57M,YAjO+Bl2I,GAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,GAAkBF,EAAagB,GAyP3Km1I,EA9LwB,CA+L/B86K,iBACF96K,GAAO36G,YAAc,SACrB26G,GAAO/V,aAAe,CACpBuwN,SAAU,GACVjlS,OAAQ,aACRv2C,MAAO,SACPyjI,cAAe,W,6BC/QjB,oEASA,IAWIy5M,EAAKr3Q,WAAYs3Q,EAAM/4I,YAAag5I,EAAMn5I,YAE1Co5I,EAAO,IAAIH,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAgB,EAAG,EAAoB,IAG1II,EAAO,IAAIJ,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAiB,EAAG,IAEjIK,EAAO,IAAIL,EAAG,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAE7EM,EAAO,SAAUnlI,EAAIlyM,GAErB,IADA,IAAI5N,EAAI,IAAI4kV,EAAI,IACPjyV,EAAI,EAAGA,EAAI,KAAMA,EACtBqN,EAAErN,GAAKib,GAAS,GAAKkyM,EAAGntN,EAAI,GAGhC,IAAI0F,EAAI,IAAIwsV,EAAI7kV,EAAE,KAClB,IAASrN,EAAI,EAAGA,EAAI,KAAMA,EACtB,IAAK,IAAIuc,EAAIlP,EAAErN,GAAIuc,EAAIlP,EAAErN,EAAI,KAAMuc,EAC/B7W,EAAE6W,GAAOA,EAAIlP,EAAErN,IAAO,EAAKA,EAGnC,MAAO,CAACqN,EAAG3H,IAEX05J,EAAKkzL,EAAKH,EAAM,GAAI9mD,EAAKjsI,EAAG,GAAImzL,EAAQnzL,EAAG,GAE/CisI,EAAG,IAAM,IAAKknD,EAAM,KAAO,GAI3B,IAHA,IAAIlzL,EAAKizL,EAAKF,EAAM,GAAIlkI,EAAK7uD,EAAG,GAAImzL,EAAQnzL,EAAG,GAE3C4oF,EAAM,IAAIgqG,EAAI,OACTjyV,EAAI,EAAGA,EAAI,QAASA,EAAG,CAE5B,IAAIgQ,GAAU,MAAJhQ,KAAgB,GAAW,MAAJA,IAAe,EAEhDgQ,GAAU,OADVA,GAAU,MAAJA,KAAgB,GAAW,MAAJA,IAAe,MACtB,GAAW,KAAJA,IAAe,EAC5Ci4O,EAAIjoP,KAAY,MAAJgQ,KAAgB,GAAW,IAAJA,IAAe,KAAQ,EAK9D,IAAIyiV,EAAQ,SAAUjkI,EAAIgL,EAAI9zN,GAO1B,IANA,IAAI3B,EAAIyqN,EAAGvuN,OAEPD,EAAI,EAEJkF,EAAI,IAAI+sV,EAAIz4H,GAETx5N,EAAI+D,IAAK/D,IACVkF,EAAEspN,EAAGxuN,GAAK,GAEhB,IAII8iO,EAJAhgC,EAAK,IAAImvJ,EAAIz4H,GACjB,IAAKx5N,EAAI,EAAGA,EAAIw5N,IAAMx5N,EAClB8iM,EAAG9iM,GAAM8iM,EAAG9iM,EAAI,GAAKkF,EAAElF,EAAI,IAAO,EAGtC,GAAI0F,EAAG,CAEHo9N,EAAK,IAAImvH,EAAI,GAAKz4H,GAElB,IAAIk5H,EAAM,GAAKl5H,EACf,IAAKx5N,EAAI,EAAGA,EAAI+D,IAAK/D,EAEjB,GAAIwuN,EAAGxuN,GAQH,IANA,IAAI8kO,EAAM9kO,GAAK,EAAKwuN,EAAGxuN,GAEnB2yV,EAAMn5H,EAAKhL,EAAGxuN,GAEdqQ,EAAIyyL,EAAG0rB,EAAGxuN,GAAK,MAAQ2yV,EAElBvtV,EAAIiL,GAAM,GAAKsiV,GAAO,EAAItiV,GAAKjL,IAAKiL,EAEzCyyN,EAAGmlB,EAAI53O,KAAOqiV,GAAO5tH,OAOjC,IADAhC,EAAK,IAAImvH,EAAIluV,GACR/D,EAAI,EAAGA,EAAI+D,IAAK/D,EACjB8iO,EAAG9iO,GAAKioP,EAAInlD,EAAG0rB,EAAGxuN,GAAK,QAAW,GAAKwuN,EAAGxuN,GAElD,OAAO8iO,GAGP8vH,EAAM,IAAIZ,EAAG,KACjB,IAAShyV,EAAI,EAAGA,EAAI,MAAOA,EACvB4yV,EAAI5yV,GAAK,EACb,IAASA,EAAI,IAAKA,EAAI,MAAOA,EACzB4yV,EAAI5yV,GAAK,EACb,IAASA,EAAI,IAAKA,EAAI,MAAOA,EACzB4yV,EAAI5yV,GAAK,EACb,IAASA,EAAI,IAAKA,EAAI,MAAOA,EACzB4yV,EAAI5yV,GAAK,EAEb,IAAI6yV,EAAM,IAAIb,EAAG,IACjB,IAAShyV,EAAI,EAAGA,EAAI,KAAMA,EACtB6yV,EAAI7yV,GAAK,EAEb,IAAI8yV,EAAoBL,EAAKG,EAAK,EAAG,GAAIG,EAAqBN,EAAKG,EAAK,EAAG,GAEvEI,EAAoBP,EAAKI,EAAK,EAAG,GAAII,EAAqBR,EAAKI,EAAK,EAAG,GAEvEx9U,EAAM,SAAUvF,GAEhB,IADA,IAAI1K,EAAI0K,EAAE,GACD9P,EAAI,EAAGA,EAAI8P,EAAE7P,SAAUD,EACxB8P,EAAE9P,GAAKoF,IACPA,EAAI0K,EAAE9P,IAEd,OAAOoF,GAGPiwB,EAAO,SAAU/vB,EAAGc,EAAGhB,GACvB,IAAI3B,EAAK2C,EAAI,GAAM,EACnB,OAASd,EAAE7B,GAAM6B,EAAE7B,EAAI,IAAM,MAAa,EAAJ2C,GAAUhB,GAGhD8tV,EAAS,SAAU5tV,EAAGc,GACtB,IAAI3C,EAAK2C,EAAI,GAAM,EACnB,OAASd,EAAE7B,GAAM6B,EAAE7B,EAAI,IAAM,EAAM6B,EAAE7B,EAAI,IAAM,OAAc,EAAJ2C,IAGzD+sV,EAAO,SAAU/sV,GAAK,OAASA,EAAI,GAAM,IAAU,EAAJA,GAAS,IAGxDgtV,EAAM,SAAU/iV,EAAGtM,EAAGG,IACb,MAALH,GAAaA,EAAI,KACjBA,EAAI,IACC,MAALG,GAAaA,EAAImM,EAAEpQ,UACnBiE,EAAImM,EAAEpQ,QAEV,IAAI+D,EAAI,IAAKqM,aAAa4hV,EAAMA,EAAM5hV,aAAa6hV,EAAMA,EAAMF,GAAI9tV,EAAIH,GAEvE,OADAC,EAAE2L,IAAIU,EAAEmpM,SAASz1M,EAAGG,IACbF,GAGPqvV,EAAQ,SAAUC,EAAKhjT,EAAKg5B,GAE5B,IAAIo7J,EAAK4uH,EAAIrzV,OAETszV,GAASjjT,GAAOg5B,EAEhBkqR,GAAQlqR,GAAMA,EAAGtpE,EAChBspE,IACDA,EAAK,IAEJh5B,IACDA,EAAM,IAAI0hT,EAAQ,EAALttH,IAEjB,IAAI+uH,EAAO,SAAUvuV,GACjB,IAAIijP,EAAK73M,EAAIrwC,OAEb,GAAIiF,EAAIijP,EAAI,CAER,IAAIurG,EAAO,IAAI1B,EAAG1nV,KAAK+K,IAAS,EAAL8yO,EAAQjjP,IACnCwuV,EAAK/jV,IAAI2gC,GACTA,EAAMojT,IAIVC,EAAQrqR,EAAGllE,GAAK,EAAGkyC,EAAMgzB,EAAGljE,GAAK,EAAGi1L,EAAK/xH,EAAGj8D,GAAK,EAAGumV,EAAKtqR,EAAGpkE,EAAG2uV,EAAKvqR,EAAGhkE,EAAGwuV,EAAMxqR,EAAGlkE,EAAG2uV,EAAMzqR,EAAGtlE,EAE/FgwV,EAAY,EAALtvH,EACX,EAAG,CACC,IAAKkvH,EAAI,CAELtqR,EAAGllE,EAAIuvV,EAAQt+T,EAAKi+T,EAAKh9S,EAAK,GAE9B,IAAIliC,EAAOihB,EAAKi+T,EAAKh9S,EAAM,EAAG,GAE9B,GADAA,GAAO,GACFliC,EAAM,CAEP,IAAuBlP,EAAIouV,GAAvBvvV,EAAIovV,EAAK78S,GAAO,GAAe,GAAMg9S,EAAIvvV,EAAI,IAAM,EAAI6B,EAAI7B,EAAImB,EACnE,GAAIU,EAAI8+N,EAAI,CACR,GAAI8uH,EACA,KAAM,iBACV,MAGAD,GACAE,EAAKp4J,EAAKn2L,GAEdorC,EAAI3gC,IAAI2jV,EAAI95I,SAASz1M,EAAG6B,GAAIy1L,GAE5B/xH,EAAGj8D,EAAIguL,GAAMn2L,EAAGokE,EAAGljE,EAAIkwC,EAAU,EAAJ1wC,EAC7B,SAEC,GAAY,GAARwO,EACLw/U,EAAKb,EAAMc,EAAKZ,EAAMa,EAAM,EAAGC,EAAM,MACpC,IAAY,GAAR3/U,EAqDL,KAAM,qBAnDN,IAAI6/U,EAAO5+T,EAAKi+T,EAAKh9S,EAAK,IAAM,IAAK49S,EAAQ7+T,EAAKi+T,EAAKh9S,EAAM,GAAI,IAAM,EACnE69S,EAAKF,EAAO5+T,EAAKi+T,EAAKh9S,EAAM,EAAG,IAAM,EACzCA,GAAO,GAKP,IAHA,IAAI89S,EAAM,IAAIpC,EAAGmC,GAEbE,EAAM,IAAIrC,EAAG,IACRhyV,EAAI,EAAGA,EAAIk0V,IAASl0V,EAEzBq0V,EAAIhC,EAAKryV,IAAMq1B,EAAKi+T,EAAKh9S,EAAU,EAAJt2C,EAAO,GAE1Cs2C,GAAe,EAAR49S,EAEP,IAAII,EAAMj/U,EAAIg/U,GAAME,GAAU,GAAKD,GAAO,EAC1C,IAAKd,GAAQl9S,EAAM69S,GAAMG,EAAM,GAAKN,EAChC,MAEJ,IAAIQ,EAAM/B,EAAK4B,EAAKC,EAAK,GACzB,IAASt0V,EAAI,EAAGA,EAAIm0V,GAAK,CACrB,IAIIpwV,EAJA2B,EAAI8uV,EAAIn/T,EAAKi+T,EAAKh9S,EAAKi+S,IAM3B,GAJAj+S,GAAW,GAAJ5wC,GAEH3B,EAAI2B,IAAM,GAEN,GACJ0uV,EAAIp0V,KAAO+D,MAEV,CAED,IAAIsB,EAAI,EAAGrB,EAAI,EAOf,IANS,IAALD,GACAC,EAAI,EAAIqxB,EAAKi+T,EAAKh9S,EAAK,GAAIA,GAAO,EAAGjxC,EAAI+uV,EAAIp0V,EAAI,IACvC,IAAL+D,GACLC,EAAI,EAAIqxB,EAAKi+T,EAAKh9S,EAAK,GAAIA,GAAO,GACxB,IAALvyC,IACLC,EAAI,GAAKqxB,EAAKi+T,EAAKh9S,EAAK,KAAMA,GAAO,GAClCtyC,KACHowV,EAAIp0V,KAAOqF,GAIvB,IAAIqqI,EAAK0kN,EAAI56I,SAAS,EAAGy6I,GAAO3pT,EAAK8pT,EAAI56I,SAASy6I,GAElDH,EAAMz+U,EAAIq6H,GAEVqkN,EAAM1+U,EAAIi1B,GACVspT,EAAKnB,EAAK/iN,EAAIokN,EAAK,GACnBD,EAAKpB,EAAKnoT,EAAIypT,EAAK,GAIvB,GAAIz9S,EAAM09S,EACN,KAAM,iBAIVT,GACAE,EAAKp4J,EAAK,QAGd,IAFA,IAAIo5J,GAAO,GAAKX,GAAO,EAAGY,GAAO,GAAKX,GAAO,EACzCY,EAAMb,EAAMC,EAAM,GACfP,GAAQl9S,EAAMq+S,EAAMX,GAAM,CAE7B,IAAoC32N,GAAhCh4H,EAAIuuV,EAAGV,EAAOI,EAAKh9S,GAAOm+S,MAAkB,EAEhD,IADAn+S,GAAW,GAAJjxC,GACG2uV,EACN,KAAM,iBACV,IAAK3uV,EACD,KAAM,yBACV,GAAIg4H,EAAM,IACN/sF,EAAI+qJ,KAAQh+D,MACX,IAAW,KAAPA,EAAY,CACjBu2N,EAAK,KACL,MAGA,IAAIl+S,EAAM2nF,EAAM,IAEhB,GAAIA,EAAM,IAAK,CAEX,IAAmBhwH,EAAI8kV,EAAnBnyV,EAAIq9H,EAAM,KACd3nF,EAAMrgB,EAAKi+T,EAAKh9S,GAAM,GAAKjpC,GAAK,GAAKg+R,EAAGrrS,GACxCs2C,GAAOjpC,EAGX,IAAI/H,EAAIuuV,EAAGX,EAAOI,EAAKh9S,GAAOo+S,GAAME,GAAOtvV,IAAM,EACjD,IAAKA,EACD,KAAM,mBACVgxC,GAAW,GAAJhxC,EACHglC,EAAK4jL,EAAG0mI,IACZ,GAAIA,GAAO,EAAG,CACNvnV,EAAI+kV,EAAKwC,IACbtqT,GAAM4oT,EAAOI,EAAKh9S,IAAS,GAAKjpC,GAAK,EAAIipC,GAAOjpC,EAEpD,GAAIipC,EAAM09S,EACN,KAAM,iBACNT,GACAE,EAAKp4J,EAAK,QAEd,IADA,IAAI5kJ,GAAM4kJ,EAAK3lJ,EACR2lJ,EAAK5kJ,GAAK4kJ,GAAM,EACnB/qJ,EAAI+qJ,GAAM/qJ,EAAI+qJ,EAAK/wJ,GACnBgG,EAAI+qJ,EAAK,GAAK/qJ,EAAI+qJ,EAAK,EAAI/wJ,GAC3BgG,EAAI+qJ,EAAK,GAAK/qJ,EAAI+qJ,EAAK,EAAI/wJ,GAC3BgG,EAAI+qJ,EAAK,GAAK/qJ,EAAI+qJ,EAAK,EAAI/wJ,GAE/B+wJ,EAAK5kJ,IAGb6yB,EAAGpkE,EAAI0uV,EAAItqR,EAAGljE,EAAIkwC,EAAKgzB,EAAGj8D,EAAIguL,EAC1Bu4J,IACAD,EAAQ,EAAGrqR,EAAGlkE,EAAI0uV,EAAKxqR,EAAGhkE,EAAIuuV,EAAIvqR,EAAGtlE,EAAI+vV,UACvCJ,GACV,OAAOt4J,GAAM/qJ,EAAIrwC,OAASqwC,EAAM8iT,EAAI9iT,EAAK,EAAG+qJ,IAG5Cw5J,EAAQ,SAAUvvV,EAAGc,EAAGiK,GACxBA,IAAU,EAAJjK,EACN,IAAI3C,EAAK2C,EAAI,GAAM,EACnBd,EAAE7B,IAAM4M,EACR/K,EAAE7B,EAAI,IAAM4M,IAAM,GAGlBykV,EAAU,SAAUxvV,EAAGc,EAAGiK,GAC1BA,IAAU,EAAJjK,EACN,IAAI3C,EAAK2C,EAAI,GAAM,EACnBd,EAAE7B,IAAM4M,EACR/K,EAAE7B,EAAI,IAAM4M,IAAM,EAClB/K,EAAE7B,EAAI,IAAM4M,IAAM,IAGlB0kV,EAAQ,SAAUzvV,EAAGk0N,GAGrB,IADA,IAAI5zN,EAAI,GACC5F,EAAI,EAAGA,EAAIsF,EAAErF,SAAUD,EACxBsF,EAAEtF,IACF4F,EAAEqE,KAAK,CAAElG,EAAG/D,EAAGoE,EAAGkB,EAAEtF,KAE5B,IAAI+D,EAAI6B,EAAE3F,OACN2S,EAAKhN,EAAEuvC,QACX,IAAKpxC,EACD,MAAO,CAAC,IAAIiuV,EAAG,GAAI,GACvB,GAAS,GAALjuV,EAAQ,CACR,IAAIsM,EAAI,IAAI2hV,EAAGpsV,EAAE,GAAG7B,EAAI,GAExB,OADAsM,EAAEzK,EAAE,GAAG7B,GAAK,EACL,CAACsM,EAAG,GAEfzK,EAAEugD,MAAK,SAAUr2C,EAAGzC,GAAK,OAAOyC,EAAE1L,EAAIiJ,EAAEjJ,KAGxCwB,EAAEqE,KAAK,CAAElG,GAAI,EAAGK,EAAG,QACnB,IAAIc,EAAIU,EAAE,GAAIF,EAAIE,EAAE,GAAIu4J,EAAK,EAAGC,EAAK,EAAG42L,EAAK,EAO7C,IANApvV,EAAE,GAAK,CAAE7B,GAAI,EAAGK,EAAGc,EAAEd,EAAIsB,EAAEtB,EAAGc,EAAGA,EAAGQ,EAAGA,GAMhC04J,GAAMr6J,EAAI,GACbmB,EAAIU,EAAEA,EAAEu4J,GAAI/5J,EAAIwB,EAAEovV,GAAI5wV,EAAI+5J,IAAO62L,KACjCtvV,EAAIE,EAAEu4J,GAAMC,GAAMx4J,EAAEu4J,GAAI/5J,EAAIwB,EAAEovV,GAAI5wV,EAAI+5J,IAAO62L,KAC7CpvV,EAAEw4J,KAAQ,CAAEr6J,GAAI,EAAGK,EAAGc,EAAEd,EAAIsB,EAAEtB,EAAGc,EAAGA,EAAGQ,EAAGA,GAE9C,IAAIuvV,EAASriV,EAAG,GAAG7O,EACnB,IAAS/D,EAAI,EAAGA,EAAI+D,IAAK/D,EACjB4S,EAAG5S,GAAG+D,EAAIkxV,IACVA,EAASriV,EAAG5S,GAAG+D,GAGvB,IAAI+lM,EAAK,IAAImoJ,EAAIgD,EAAS,GAEtBC,EAAMzuM,EAAG7gJ,EAAEw4J,EAAK,GAAI0rC,EAAI,GAC5B,GAAIorJ,EAAM17H,EAAI,CAINx5N,EAAI,EAAR,IAAWsqC,EAAK,EAEZ6qT,EAAMD,EAAM17H,EAAI47H,EAAM,GAAKD,EAE/B,IADAviV,EAAGuzC,MAAK,SAAUr2C,EAAGzC,GAAK,OAAOy8L,EAAGz8L,EAAEtJ,GAAK+lM,EAAGh6L,EAAE/L,IAAM+L,EAAE1L,EAAIiJ,EAAEjJ,KACvDpE,EAAI+D,IAAK/D,EAAG,CACf,IAAIq1V,EAAOziV,EAAG5S,GAAG+D,EACjB,KAAI+lM,EAAGurJ,GAAQ77H,GAKX,MAJAlvL,GAAM8qT,GAAO,GAAMF,EAAMprJ,EAAGurJ,IAC5BvrJ,EAAGurJ,GAAQ77H,EAMnB,IADAlvL,KAAQ6qT,EACD7qT,EAAK,GAAG,CACX,IAAIgrT,EAAO1iV,EAAG5S,GAAG+D,EACb+lM,EAAGwrJ,GAAQ97H,EACXlvL,GAAM,GAAMkvL,EAAK1vB,EAAGwrJ,KAAU,IAE5Bt1V,EAEV,KAAOA,GAAK,GAAKsqC,IAAMtqC,EAAG,CACtB,IAAIu1V,EAAO3iV,EAAG5S,GAAG+D,EACb+lM,EAAGyrJ,IAAS/7H,MACV1vB,EAAGyrJ,KACHjrT,GAGV4qT,EAAM17H,EAEV,MAAO,CAAC,IAAIw4H,EAAGloJ,GAAKorJ,IAGpBzuM,EAAK,SAALA,EAAeziJ,EAAGkB,EAAGI,GACrB,OAAe,GAARtB,EAAED,EACHuG,KAAK+K,IAAIoxI,EAAGziJ,EAAEkB,EAAGA,EAAGI,EAAI,GAAImhJ,EAAGziJ,EAAE0B,EAAGR,EAAGI,EAAI,IAC1CJ,EAAElB,EAAED,GAAKuB,GAGhB2wN,EAAK,SAAU5wN,GAGf,IAFA,IAAItB,EAAIsB,EAAEpF,OAEH8D,IAAMsB,IAAItB,KAMjB,IAJA,IAAI2lR,EAAK,IAAIuoE,IAAMluV,GAEfyxV,EAAM,EAAGC,EAAMpwV,EAAE,GAAIqwV,EAAM,EAC3Bv9T,EAAI,SAAU9nB,GAAKq5Q,EAAG8rE,KAASnlV,GAC1BrQ,EAAI,EAAGA,GAAK+D,IAAK/D,EACtB,GAAIqF,EAAErF,IAAMy1V,GAAOz1V,GAAK+D,IAClB2xV,MACD,CACD,IAAKD,GAAOC,EAAM,EAAG,CACjB,KAAOA,EAAM,IAAKA,GAAO,IACrBv9T,EAAE,OACFu9T,EAAM,IACNv9T,EAAEu9T,EAAM,GAAOA,EAAM,IAAO,EAAK,MAAUA,EAAM,GAAM,EAAK,OAC5DA,EAAM,QAGT,GAAIA,EAAM,EAAG,CAEd,IADAv9T,EAAEs9T,KAAQC,EACHA,EAAM,EAAGA,GAAO,EACnBv9T,EAAE,MACFu9T,EAAM,IACNv9T,EAAIu9T,EAAM,GAAM,EAAK,MAAOA,EAAM,GAE1C,KAAOA,KACHv9T,EAAEs9T,GACNC,EAAM,EACND,EAAMpwV,EAAErF,GAGhB,MAAO,CAAC0pR,EAAGlwE,SAAS,EAAGg8I,GAAMzxV,IAG7B4xV,EAAO,SAAUxrF,EAAIuf,GAErB,IADA,IAAIxkR,EAAI,EACClF,EAAI,EAAGA,EAAI0pR,EAAGzpR,SAAUD,EAC7BkF,GAAKilQ,EAAGnqQ,GAAK0pR,EAAG1pR,GACpB,OAAOkF,GAIP0wV,EAAQ,SAAUr8S,EAAKjD,EAAKg9S,GAE5B,IAAIvvV,EAAIuvV,EAAIrzV,OACRwD,EAAI0vV,EAAK78S,EAAM,GACnBiD,EAAI91C,GAAS,IAAJM,EACTw1C,EAAI91C,EAAI,GAAKM,IAAM,EACnBw1C,EAAI91C,EAAI,GAAc,IAAT81C,EAAI91C,GACjB81C,EAAI91C,EAAI,GAAkB,IAAb81C,EAAI91C,EAAI,GACrB,IAAK,IAAIzD,EAAI,EAAGA,EAAI+D,IAAK/D,EACrBu5C,EAAI91C,EAAIzD,EAAI,GAAKszV,EAAItzV,GACzB,OAAqB,GAAbyD,EAAI,EAAIM,IAGhB8xV,EAAO,SAAUvC,EAAK/5S,EAAKo6S,EAAOmC,EAAMC,EAAIC,EAAI7oI,EAAI0O,EAAI6G,EAAIylB,EAAI/hP,GAChEyuV,EAAMt7S,EAAKnzC,IAAKutV,KACdoC,EAAG,KAML,IALA,IAAI32L,EAAK21L,EAAMgB,EAAI,IAAKE,EAAM72L,EAAG,GAAI82L,EAAM92L,EAAG,GAC1CC,EAAK01L,EAAMiB,EAAI,IAAKG,EAAM92L,EAAG,GAAI+2L,EAAM/2L,EAAG,GAC1CC,EAAK22D,EAAGggI,GAAMI,EAAO/2L,EAAG,GAAIg3L,EAAMh3L,EAAG,GACrClvB,EAAK6lF,EAAGkgI,GAAMI,EAAOnmN,EAAG,GAAIomN,EAAMpmN,EAAG,GACrCqmN,EAAS,IAAIxE,EAAI,IACZjyV,EAAI,EAAGA,EAAIq2V,EAAKp2V,SAAUD,EAC/By2V,EAAiB,GAAVJ,EAAKr2V,MAChB,IAASA,EAAI,EAAGA,EAAIu2V,EAAKt2V,SAAUD,EAC/By2V,EAAiB,GAAVF,EAAKv2V,MAGhB,IAFA,IAAImE,EAAK4wV,EAAM0B,EAAQ,GAAIC,EAAMvyV,EAAG,GAAIwyV,EAAOxyV,EAAG,GAC9CyyV,EAAO,GACJA,EAAO,IAAMF,EAAIrE,EAAKuE,EAAO,MAAOA,GAE3C,IAKIhD,EAAI5wD,EAAI6wD,EAAI58J,EALZ6nD,EAAQqJ,EAAK,GAAM,EACnB0uG,EAAQlB,EAAKI,EAAInD,GAAO+C,EAAKK,EAAInD,GAAO1lI,EACxC2pI,EAAQnB,EAAKI,EAAIE,GAAON,EAAKK,EAAIG,GAAOhpI,EAAK,GAAK,EAAIypI,EAAOjB,EAAKc,EAAQC,IAAQ,EAAID,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,KACnI,GAAI33G,GAAQ+3G,GAAS/3G,GAAQg4G,EACzB,OAAOlB,EAAMr8S,EAAKnzC,EAAGktV,EAAI95I,SAASkpB,EAAIA,EAAKylB,IAG/C,GADA0sG,EAAMt7S,EAAKnzC,EAAG,GAAK0wV,EAAQD,IAASzwV,GAAK,EACrC0wV,EAAQD,EAAO,CACfjD,EAAKnB,EAAKwD,EAAKC,EAAK,GAAIlzD,EAAKizD,EAAKpC,EAAKpB,EAAK0D,EAAKC,EAAK,GAAIn/J,EAAKk/J,EAC/D,IAAIY,EAAMtE,EAAKiE,EAAKC,EAAM,GAC1B9B,EAAMt7S,EAAKnzC,EAAGkwV,EAAM,KACpBzB,EAAMt7S,EAAKnzC,EAAI,EAAGowV,EAAM,GACxB3B,EAAMt7S,EAAKnzC,EAAI,GAAIwwV,EAAO,GAC1BxwV,GAAK,GACL,IAASpG,EAAI,EAAGA,EAAI42V,IAAQ52V,EACxB60V,EAAMt7S,EAAKnzC,EAAI,EAAIpG,EAAG02V,EAAIrE,EAAKryV,KACnCoG,GAAK,EAAIwwV,EAET,IADA,IAAII,EAAO,CAACX,EAAME,GACTlyV,EAAK,EAAGA,EAAK,IAAKA,EACvB,KAAI4yV,GAAOD,EAAK3yV,GAChB,IAASrE,EAAI,EAAGA,EAAIi3V,GAAKh3V,SAAUD,EAAG,CAClC,IAAImoC,GAAgB,GAAV8uT,GAAKj3V,GACf60V,EAAMt7S,EAAKnzC,EAAG2wV,EAAI5uT,KAAO/hC,GAAKswV,EAAIvuT,IAC9BA,GAAM,KACN0sT,EAAMt7S,EAAKnzC,EAAI6wV,GAAKj3V,KAAO,EAAK,KAAMoG,GAAK6wV,GAAKj3V,KAAO,WAKnE4zV,EAAKd,EAAK9vD,EAAK4vD,EAAKiB,EAAKb,EAAK/7J,EAAK47J,EAEvC,IAAS7yV,EAAI,EAAGA,EAAI67N,IAAM77N,EACtB,GAAI81V,EAAK91V,GAAK,IAAK,CACXmoC,GAAO2tT,EAAK91V,KAAO,GAAM,GAC7B80V,EAAQv7S,EAAKnzC,EAAGwtV,EAAGzrT,GAAM,MAAO/hC,GAAK48R,EAAG76P,GAAM,KAC1CA,GAAM,IACN0sT,EAAMt7S,EAAKnzC,EAAI0vV,EAAK91V,KAAO,GAAM,IAAKoG,GAAK+rV,EAAKhqT,KACpD,IAAIyiN,GAAgB,GAAVkrG,EAAK91V,GACf80V,EAAQv7S,EAAKnzC,EAAGytV,EAAGjpG,KAAOxkP,GAAK6wL,EAAG2zD,IAC9BA,GAAM,IACNkqG,EAAQv7S,EAAKnzC,EAAI0vV,EAAK91V,KAAO,EAAK,MAAOoG,GAAKgsV,EAAKxnG,UAGvDkqG,EAAQv7S,EAAKnzC,EAAGwtV,EAAGkC,EAAK91V,KAAMoG,GAAK48R,EAAG8yD,EAAK91V,IAInD,OADA80V,EAAQv7S,EAAKnzC,EAAGwtV,EAAG,MACZxtV,EAAI48R,EAAG,MAGdk0D,EAAoB,IAAIhF,EAAI,CAAC,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,UAE/F93J,EAAmB,IAAI43J,EAAG,GAE1BmF,EAAO,SAAU7D,EAAKz7B,EAAKu/B,EAAM7nT,EAAKq7L,EAAMmU,GAC5C,IAAIh7O,EAAIuvV,EAAIrzV,OACRwD,EAAI,IAAIuuV,EAAGziT,EAAMxrC,EAAI,GAAK,EAAIuG,KAAK0W,MAAMjd,EAAI,MAAS6mO,GAEtDzyM,EAAI10B,EAAE+1M,SAASjqK,EAAK9rC,EAAExD,OAAS2qO,GAC/Bt0L,EAAM,EACV,IAAKuhR,GAAO9zT,EAAI,EACZ,IAAK,IAAI/D,EAAI,EAAGA,GAAK+D,EAAG/D,GAAK,MAAO,CAEhC,IAAIkE,EAAIlE,EAAI,MACRkE,EAAIH,EAEJuyC,EAAMs/S,EAAMz9T,EAAGme,EAAKg9S,EAAI95I,SAASx5M,EAAGkE,KAIpCi0B,EAAEn4B,GAAK++O,EACPzoM,EAAMs/S,EAAMz9T,EAAGme,EAAKg9S,EAAI95I,SAASx5M,EAAG+D,SAI3C,CAeD,IAdA,IAAI+hF,EAAMoxQ,EAAIr/B,EAAM,GAChB7zT,EAAI8hF,IAAQ,GAAIzgF,EAAU,KAANygF,EACpBuxQ,GAAS,GAAKD,GAAQ,EAEtBt6Q,EAAO,IAAIm1Q,EAAI,OAAQ7wT,EAAO,IAAI6wT,EAAIoF,EAAQ,GAC9CC,EAAQhtV,KAAK4W,KAAKk2U,EAAO,GAAIG,EAAQ,EAAID,EACzCE,EAAM,SAAUx3V,GAAK,OAAQszV,EAAItzV,GAAMszV,EAAItzV,EAAI,IAAMs3V,EAAUhE,EAAItzV,EAAI,IAAMu3V,GAAUF,GAGvFvB,EAAO,IAAI5D,EAAI,MAEf6D,EAAK,IAAI9D,EAAI,KAAM+D,EAAK,IAAI/D,EAAI,IAEhCwF,EAAO,EAAGtqI,EAAK,EAAU0O,GAAP77N,EAAI,EAAQ,GAAG+8N,EAAK,EAAG2F,EAAK,EAC3C1iO,EAAI+D,IAAK/D,EAAG,CAEf,IAAI03V,EAAKF,EAAIx3V,GAET23V,EAAW,MAAJ33V,EAEP43V,EAAQx2T,EAAKs2T,GAKjB,GAJA56Q,EAAK66Q,GAAQC,EACbx2T,EAAKs2T,GAAMC,EAGP56H,GAAM/8N,EAAG,CAET,IAAI4oJ,EAAM7kJ,EAAI/D,EACd,IAAKy3V,EAAO,KAAQ57H,EAAK,QAAUjzE,EAAM,IAAK,CAC1CtyG,EAAMu/S,EAAKvC,EAAKn7T,EAAG,EAAG29T,EAAMC,EAAIC,EAAI7oI,EAAI0O,EAAI6G,EAAI1iO,EAAI0iO,EAAIpsL,GACxDulL,EAAK47H,EAAOtqI,EAAK,EAAGuV,EAAK1iO,EACzB,IAAK,IAAIuc,EAAI,EAAGA,EAAI,MAAOA,EACvBw5U,EAAGx5U,GAAK,EACZ,IAASA,EAAI,EAAGA,EAAI,KAAMA,EACtBy5U,EAAGz5U,GAAK,EAGhB,IAAIrX,EAAI,EAAGI,EAAI,EAAGuyV,EAAOxyV,EAAGyyV,EAAOH,EAAOC,EAAS,MACnD,GAAIhvM,EAAM,GAAK8uM,GAAMF,EAAIx3V,EAAI83V,GAMzB,IALA,IAAIC,EAAOztV,KAAK6K,IAAInR,EAAG4kJ,GAAO,EAC1BovM,EAAO1tV,KAAK6K,IAAI,MAAOnV,GAGvBgkO,EAAK15N,KAAK6K,IAAI,IAAKyzI,GAChBkvM,GAAOE,KAAUH,GAAQF,GAAQC,GAAO,CAC3C,GAAItE,EAAItzV,EAAIkF,IAAMouV,EAAItzV,EAAIkF,EAAI4yV,GAAM,CAEhC,IADA,IAAI/0H,GAAK,EACFA,GAAKiB,GAAMsvH,EAAItzV,EAAI+iO,KAAOuwH,EAAItzV,EAAI+iO,GAAK+0H,KAAQ/0H,IAEtD,GAAIA,GAAK79N,EAAG,CAGR,GAFAA,EAAI69N,GAAIz9N,EAAIwyV,EAER/0H,GAAKg1H,EACL,MAIJ,IAAIE,GAAM3tV,KAAK6K,IAAI2iV,EAAK/0H,GAAK,GACzB9R,GAAK,EACT,IAAS10M,EAAI,EAAGA,EAAI07U,KAAO17U,EAAG,CAC1B,IAAI62M,GAAMpzN,EAAI83V,EAAMv7U,EAAI,MAAS,MAE7BiyM,GAAM4E,GADAt2I,EAAKs2I,IACM,MAAS,MAC1B5E,GAAKyC,KACLA,GAAKzC,GAAIopI,EAAQxkI,MAMjC0kI,IADAH,EAAOC,IAAOA,EAAQ96Q,EAAK66Q,IACJ,MAAS,MAIxC,GAAIryV,EAAG,CAGHwwV,EAAKj6H,KAAQ,UAAa02H,EAAMrtV,IAAM,GAAMstV,EAAMltV,GAClD,IAAI4yV,GAAiB,GAAX3F,EAAMrtV,GAASizV,GAAiB,GAAX3F,EAAMltV,GACrC6nN,GAAMglI,EAAK+F,IAAO9F,EAAK+F,MACrBpC,EAAG,IAAMmC,MACTlC,EAAGmC,IACLp7H,EAAK/8N,EAAIkF,IACPuyV,OAGF3B,EAAKj6H,KAAQy3H,EAAItzV,KACf+1V,EAAGzC,EAAItzV,KAIrBs2C,EAAMu/S,EAAKvC,EAAKn7T,EAAG4mN,EAAK+2G,EAAMC,EAAIC,EAAI7oI,EAAI0O,EAAI6G,EAAI1iO,EAAI0iO,EAAIpsL,GAErDyoM,IACDzoM,EAAMs/S,EAAMz9T,EAAGme,EAAK8jJ,IAE5B,OAAOg5J,EAAI3vV,EAAG,EAAG8rC,EAAM4jT,EAAK78S,GAAOs0L,IA4BnCwtH,EAAQ,WACR,IAAItoV,EAAI,EAAGzC,EAAI,EACf,MAAO,CACHjH,EAAG,SAAUd,GAIT,IAFA,IAAItB,EAAI8L,EAAG1K,EAAIiI,EACXnI,EAAII,EAAErF,OACDD,EAAI,EAAGA,GAAKkF,GAAI,CAErB,IADA,IAAIhB,EAAIoG,KAAK6K,IAAInV,EAAI,KAAMkF,GACpBlF,EAAIkE,IAAKlE,EACDoF,GAAXpB,GAAKsB,EAAEtF,GACXgE,GAAK,MAAOoB,GAAK,MAErB0K,EAAI9L,EAAGqJ,EAAIjI,GAEfE,EAAG,WAAc,OAASwK,IAAM,GAAM,IAAU,IAAJzC,IAAY,EAAKA,IAAM,GAA0B,IAAd,IAAJyC,IAAY,OAK3FuoV,EAAO,SAAU/E,EAAKxtQ,EAAKv2C,EAAKq7L,EAAMthK,GACtC,OAAO6tR,EAAK7D,EAAkB,MAAbxtQ,EAAIqiC,MAAgB,EAAIriC,EAAIqiC,MAAkB,MAAXriC,EAAIwyQ,IAAchuV,KAAK4W,KAAuD,IAAlD5W,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,GAAI7K,KAAKvB,IAAIuqV,EAAIrzV,WAAoB,GAAK6lF,EAAIwyQ,IAAM/oT,EAAKq7L,GAAOthK,IA+HrKivR,EAAS,SAAUjzV,EAAG+H,EAAGgD,GACzB,KAAOA,IAAKhD,EACR/H,EAAE+H,GAAKgD,EAAGA,KAAO,GAmCrBmoV,EAAM,SAAUnzV,EAAG5B,GACnB,IAAIqgO,EAAKrgO,EAAE0kH,MAAOkjL,EAAW,GAANvnE,EAAU,EAAIA,EAAK,EAAI,EAAU,GAANA,EAAU,EAAI,EAChEz+N,EAAE,GAAK,IAAKA,EAAE,GAAMgmS,GAAM,GAAMA,EAAM,GAAK,EAAIA,EAAM,IAGrDotD,EAAM,SAAUnzV,GAChB,GAAmB,IAAP,GAAPA,EAAE,KAAkBA,EAAE,KAAO,EAAK,IAAOA,EAAE,IAAM,EAAIA,EAAE,IAAM,GAC9D,KAAM,oBACV,GAAW,GAAPA,EAAE,GACF,KAAM,wDAgXP,SAASozV,EAASvkV,EAAM3N,QACd,IAATA,IAAmBA,EAAO,IAC9B,IAAIsJ,EAAIsoV,IACRtoV,EAAE1J,EAAE+N,GACJ,IAAI7O,EAAI+yV,EAAKlkV,EAAM3N,EAAM,EAAG,GAC5B,OAAOgyV,EAAIlzV,EAAGkB,GAAO+xV,EAAOjzV,EAAGA,EAAErF,OAAS,EAAG6P,EAAExK,KAAMA,EA6ElD,SAASqzV,EAAWxkV,EAAMolC,GAC7B,OAAO85S,GAAOoF,EAAItkV,GAAOA,EAAKqlM,SAAS,GAAI,IAAKjgK,K,gBC/zCpD,IAAIq/S,EAAer/V,EAAQ,KACvBs/V,EAASt/V,EAAQ,KACjB00I,EAAW10I,EAAQ,KA0BvBF,EAAOC,QANP,SAAa4sD,GACX,OAAQA,GAASA,EAAMjmD,OACnB24V,EAAa1yS,EAAO+nF,EAAU4qN,QAC9B91T,I,gBCzBN,IAAI61T,EAAer/V,EAAQ,KACvBu/V,EAASv/V,EAAQ,KACjB00I,EAAW10I,EAAQ,KA0BvBF,EAAOC,QANP,SAAa4sD,GACX,OAAQA,GAASA,EAAMjmD,OACnB24V,EAAa1yS,EAAO+nF,EAAU6qN,QAC9B/1T,I,wQCzBFg2T,EAAkB,iDAClBC,EAAe,CACjB,QAAS,IACT,QAAS,IACT,OAAQ,IACR,QAAS,IACT,OAAQ,IACR,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,QAAS,KAGPC,EAAqB,SAA4B7zV,GACnD,OAAO4zV,EAAa5zV,ICXtB,SAAS83H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAkBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAkB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAElV,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,IAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAI7gB,IAUIo5V,EAVAC,EAAiB,CACnBC,SAAU,kBACVC,cAAe,GACfC,oBAAqB,GACrBC,4BAA4B,EAC5BC,mBAAoB,GACpBC,2BAA4B,CAAC,KAAM,SAAU,IAAK,KAClDC,aAAa,EACbvuU,SDAoB,SAAkB/T,GACtC,OAAOA,EAAKxM,QAAQmuV,EAAiBE,KCE5BU,EAAc3rO,0BAKlB,SAAS4rO,IACd,OAAOT,EAEF,IAAIU,EAAmB,WAC5B,SAASA,IACPp6V,IAAgB0D,KAAM02V,GAEtB12V,KAAK22V,eAAiB,GAmBxB,OAhBAr5V,IAAao5V,EAAkB,CAAC,CAC9Br5V,IAAK,oBACLqC,MAAO,SAA2BmiF,GAChC,IAAItsC,EAAQv1C,KAEZ6hF,EAAW9sD,SAAQ,SAAUnyB,GACtB2yC,EAAMohT,eAAe/zV,KAAK2yC,EAAMohT,eAAe/zV,IAAM,QAG7D,CACDvF,IAAK,oBACLqC,MAAO,WACL,OAAOvC,OAAO23B,KAAK90B,KAAK22V,oBAIrBD,EAvBqB,GA4BvB,SAASE,IACd,OAAOb,EAEF,IAAIc,EAAmB,CAC5B5lV,KAAM,WACNlL,KAAM,SAAcxJ,IAxCf,WACL,IAAIgiC,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAClF61V,EAAiBltN,EAAcA,EAAc,GAAIktN,GAAiBz3T,GAuChE02S,CAAY14U,EAASgiC,QAAQu4T,OAT1B,SAAiBv6V,GACtBw5V,EAAex5V,EASbw6V,CAAQx6V,M,4MChEZ,SAASu3E,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAMnX,SAAS6sG,EAAe53F,EAAKp4C,GAAK,OAUlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAVtB63F,CAAgB73F,IAQzD,SAA+BA,EAAKp4C,GAAK,GAAsB,qBAAX0D,UAA4BA,OAAOC,YAAYrD,OAAO83C,IAAO,OAAQ,IAAI83F,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWjsI,OAAK4+B,EAAW,IAAM,IAAK,IAAiCstG,EAA7B3qF,EAAKtN,EAAI10C,OAAOC,cAAmBwsI,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAAtL,QAAuM,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EARjaI,CAAsBl4F,EAAKp4C,IAI5F,SAAqCyD,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJpTC,CAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAMzI,SAAS7C,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAMhL,SAAS6kF,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAMxM,SAAS02V,EAAiBt3V,GACxB,OAAOkoH,IAASloH,IAAUynH,YAAWznH,EAAM,KAAOynH,YAAWznH,EAAM,IAAMA,EAAM2M,KAAK,OAAS3M,EAGxF,IAAIu3V,EAAqC,SAAU7rC,IAtB1D,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAuBjXF,CAAU43V,EAAuB7rC,GAEjC,IA3BoB5uT,EAAae,EAAYC,EA2BzCypD,EAAStnD,EAAas3V,GAE1B,SAASA,IAGP,OAFA36V,EAAgB0D,KAAMi3V,GAEfhwS,EAAO7mD,MAAMJ,KAAMG,WAsH5B,OAtJoB3D,EAmCPy6V,GAnCoB15V,EAmCG,CAAC,CACnCF,IAAK,gBACLqC,MAAO,WACL,IAAI41J,EAAct1J,KAAKpD,MACnBg2I,EAAU0iB,EAAY1iB,QACtBskN,EAAY5hM,EAAY4hM,UACxB96M,EAAYkZ,EAAYlZ,UACxBgxM,EAAY93L,EAAY83L,UACxB+J,EAAa7hM,EAAY6hM,WAE7B,GAAIvkN,GAAWA,EAAQ91I,OAAQ,CAC7B,IAIImmF,GAASk0Q,EAAax7M,IAAQ/I,EAASukN,GAAcvkN,GAASnrH,KAAI,SAAUi5B,EAAO7jD,GACrF,GAAmB,SAAf6jD,EAAMzvC,KACR,OAAO,KAGT,IAAImmV,EAAiBtuN,EAAc,CACjC1kH,QAAS,QACTsqI,WAAY,EACZC,cAAe,EACf5kJ,MAAO22C,EAAM32C,OAAS,QACrBqjV,GAECG,EAAiB7sS,EAAM07F,WAAaA,GAAa46M,EACjDt3V,EAAQghD,EAAMhhD,MACd0C,EAAOs+C,EAAMt+C,KAEjB,GAAImrV,GAA2B,MAAT7tV,GAAyB,MAAR0C,EAAc,CACnD,IAAIiqE,EAAYkhR,EAAe7tV,EAAO0C,EAAMs+C,EAAO7jD,EAAG+1I,GAEtD,GAAInyI,MAAMC,QAAQ2rE,GAAY,CAC5B,IAEI06D,EAAQ8F,EAFDxgE,EAEsB,GAEjC3sE,EAAQqnI,EAAM,GACd3kI,EAAO2kI,EAAM,QAEbrnI,EAAQ2sE,EAIZ,OAGE+jD,IAAMx1G,cAAc,KAAM,CACxB+J,UAAW,wBACXtnB,IAAK,gBAAgBmrB,OAAO3rB,GAC5B6V,MAAO0kV,GACNjwO,YAAW/kH,GAAqBguH,IAAMx1G,cAAc,OAAQ,CAC7D+J,UAAW,8BACVviB,GAAQ,KAAM+kH,YAAW/kH,GAAqBguH,IAAMx1G,cAAc,OAAQ,CAC3E+J,UAAW,mCACVuyU,GAAa,KAAmB9mO,IAAMx1G,cAAc,OAAQ,CAC7D+J,UAAW,+BACVjlB,GAAqB0wH,IAAMx1G,cAAc,OAAQ,CAClD+J,UAAW,8BACV+7B,EAAMy7F,MAAQ,QAGrB,OAAoB/rB,IAAMx1G,cAAc,KAAM,CAC5C+J,UAAW,6BACXjS,MAvDc,CACd85D,QAAS,EACTiQ,OAAQ,IAsDPwG,GAGL,OAAO,OAER,CACD5lF,IAAK,SACLqC,MAAO,WACL,IAAIo2J,EAAe91J,KAAKpD,MACpBy6V,EAAmBvhM,EAAauhM,iBAChCC,EAAexhM,EAAawhM,aAC5BC,EAAiBzhM,EAAayhM,eAC9BC,EAAa1hM,EAAa0hM,WAC1Bz4R,EAAQ+2F,EAAa/2F,MACrB04R,EAAiB3hM,EAAa2hM,eAC9B7kN,EAAUkjB,EAAaljB,QAEvBs4K,EAAapiL,EAAc,CAC7BrsD,OAAQ,EACRjQ,QAAS,GACTpG,gBAAiB,OACjB25G,OAAQ,iBACRx/F,WAAY,UACX+2Q,GAECI,EAAkB5uN,EAAc,CAClCrsD,OAAQ,GACP+6Q,GAECG,GAAYhnN,IAAO5xE,GACnB64R,EAAaD,EAAW54R,EAAQ,GAChC84R,EAAYvsO,IAAW,2BAA4B+rO,GACnDS,EAAUxsO,IAAW,yBAA0BisO,GAMnD,OAJII,GAAYF,QAA8B73T,IAAZgzG,GAAqC,OAAZA,IACzDglN,EAAaH,EAAe14R,EAAO6zE,IAGjBxiB,IAAMx1G,cAAc,MAAO,CAC7C+J,UAAWkzU,EACXnlV,MAAOw4S,GACO96L,IAAMx1G,cAAc,IAAK,CACvC+J,UAAWmzU,EACXplV,MAAOglV,GACOtnO,IAAMoR,eAAeo2N,GAAcA,EAAa,GAAGpvU,OAAOovU,IAAc53V,KAAK4uV,sBAlJrBlyV,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAsJ3Ky5V,EA9HuC,CA+H9CxpC,iBACFwpC,EAAsBj/T,YAAc,wBACpCi/T,EAAsBr6N,aAAe,CACnCs6N,UAAW,MACXI,aAAc,GACdlK,UAAW,GACXoK,WAAY,I,YCzLd,SAAS1jR,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAMnX,SAAS+5F,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAWxM,IAAIy3V,EAAa,2BAGjB,SAASvK,EAAc9sS,GACrB,OAAOA,EAAMgwF,QA2BR,IAAIyyB,EAAuB,SAAUioJ,IAtD5C,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAuDjXF,CAAU8jK,EAASioJ,GAEnB,IA3DoB5uT,EAAae,EAAYC,EA2DzCypD,EAAStnD,EAAawjK,GAE1B,SAASA,IACP,IAAI5tH,EAEJj5C,EAAgB0D,KAAMmjK,GAEtB,IAAK,IAAI3gH,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GA4DzB,OAzDApa,EAAQ0R,EAAOjlD,KAAK5B,MAAM6mD,EAAQ,CAACjnD,MAAMwoB,OAAOk7B,KAC1CqhB,MAAQ,CACZ6oR,UAAW,EACXC,WAAY,EACZmK,WAAW,EACXC,sBAAuB,CACrBprV,EAAG,EACHC,EAAG,IAGPyoC,EAAMo4S,iBAAc,EAEpBp4S,EAAM2iT,aAAe,SAAUprO,GAC7B,IAAIzvH,EAAMyvH,EAAKzvH,IACX86V,EAAmBrrO,EAAKqrO,iBACxBC,EAAmBtrO,EAAKsrO,iBACxB9iM,EAAc//G,EAAM34C,MACpBy7V,EAAqB/iM,EAAY+iM,mBACjCC,EAAmBhjM,EAAYgjM,iBAC/BjnN,EAAaikB,EAAYjkB,WACzBp8H,EAASqgJ,EAAYrgJ,OACrB0tB,EAAW2yH,EAAY3yH,SACvBlsB,EAAU6+I,EAAY7+I,QAE1B,GAAIksB,GAAYqkF,YAASrkF,EAAStlC,IAChC,OAAOslC,EAAStlC,GAGlB,IAAI86I,EAAW9G,EAAWh0I,GAAO86V,EAAmBljV,EAChDijI,EAAW7G,EAAWh0I,GAAO4X,EAEjC,OAAIojV,EAAmBh7V,GACdi7V,EAAiBj7V,GAAO86I,EAAWD,EAGxCogN,EAAiBj7V,GACG86I,EACA1hI,EAAQpZ,GAGrB8J,KAAK+K,IAAIgmI,EAAUzhI,EAAQpZ,IAG7B8J,KAAK+K,IAAIimI,EAAU1hI,EAAQpZ,IAEX66I,EAAWigN,EAEX1hV,EAAQpZ,GAAO+6V,EAG7BjxV,KAAK+K,IAAIimI,EAAU1hI,EAAQpZ,IAG7B8J,KAAK+K,IAAIgmI,EAAUzhI,EAAQpZ,KAI/Bk4C,EAwJT,OAvRoB/4C,EAkIP2mK,GAlIoB5lK,EAkIX,CAAC,CACrBF,IAAK,oBACLqC,MAAO,WACLM,KAAK+tV,eAEN,CACD1wV,IAAK,qBACLqC,MAAO,WACLM,KAAK+tV,eAEN,CACD1wV,IAAK,aACLqC,MAAO,WACL,IAAI8tL,EAAcxtL,KAAK+kE,MACnB6oR,EAAWpgK,EAAYogK,SACvBC,EAAYrgK,EAAYqgK,UAiB5B,GAhBgBrgK,EAAYwqK,WAG1Bh4V,KAAK2tV,YAAYroQ,OAEbtlF,KAAKpD,MAAMy0I,WAAWxkI,IAAM7M,KAAK+kE,MAAMkzR,sBAAsBprV,GAAK7M,KAAKpD,MAAMy0I,WAAWvkI,IAAM9M,KAAK+kE,MAAMkzR,sBAAsBnrV,GACjI9M,KAAKqkK,SAAS,CACZ2zL,WAAW,KAIfh4V,KAAK2tV,YAAYvnQ,MAAM,CACrBmyQ,eAAe,IAIfv4V,KAAK2tV,aAAe3tV,KAAK2tV,YAAYp/L,sBAAuB,CAC9D,IAAIt4E,EAAMj2E,KAAK2tV,YAAYp/L,yBAEvBpnJ,KAAKwjD,IAAIsrB,EAAIrvE,MAAQgnV,GA3IvB,GA2I0CzmV,KAAKwjD,IAAIsrB,EAAIpvE,OAASgnV,GA3IhE,IA4IA7tV,KAAKqkK,SAAS,CACZupL,SAAU33Q,EAAIrvE,MACdinV,UAAW53Q,EAAIpvE,cAGI,IAAd+mV,IAAkC,IAAfC,GAC5B7tV,KAAKqkK,SAAS,CACZupL,UAAW,EACXC,WAAY,MAIjB,CACDxwV,IAAK,SACLqC,MAAO,WACL,IAAI4tV,EA8BAkL,EAAYC,EA7BZp8S,EAASr8C,KAET81J,EAAe91J,KAAKpD,MACpBg2I,EAAUkjB,EAAaljB,QACvBm0M,EAAoBjxL,EAAaixL,kBACjCF,EAAoB/wL,EAAa+wL,kBACjCD,EAAkB9wL,EAAa8wL,gBAC/B8R,EAAa5iM,EAAa4iM,WAE1BC,EA/JV,SAAwB18B,EAAQrpL,GAC9B,OAAe,IAAXqpL,EACKyxB,IAAQ96M,EAAS46M,GAGtB58M,IAAYqrL,GACPyxB,IAAQ96M,EAASqpL,GAGnBrpL,EAsJgB66M,CADC33L,EAAa04L,cACgBkK,GAAc9lN,GAAWA,EAAQ91I,OAAS81I,EAAQ3/H,QAAO,SAAUytC,GAClH,OAAQiwF,IAAOjwF,EAAMhhD,UAClBkzI,GACDgmN,EAAaD,GAAgBA,EAAa77V,OAC1C2uT,EAAezrT,KAAKpD,MACpB+qB,EAAU8jS,EAAa9jS,QACvBlR,EAAUg1S,EAAah1S,QACvB46H,EAAao6K,EAAap6K,WAC1B1uG,EAAW8oR,EAAa9oR,SACxB0vF,EAASo5L,EAAap5L,OACtBk8N,EAAe9iC,EAAa8iC,aAE5BE,EAAa3lN,EAAc,CAC7B+vN,cAAe,OACfznM,YAAapxJ,KAAK+kE,MAAMizR,WAAa3lO,GAAUumO,EAAa,UAAY,SACxEj2T,SAAU,WACVoU,IAAK,EACLF,KAAM,GACL03S,GAIH,GAAI5rT,GAAYqkF,YAASrkF,EAAS91B,IAAMm6G,YAASrkF,EAAS71B,GACxD0rV,EAAa71T,EAAS91B,EACtB4rV,EAAa91T,EAAS71B,MACjB,CACL,IAAIshV,EAAepuV,KAAK+kE,MACpB6oR,EAAWQ,EAAaR,SACxBC,EAAYO,EAAaP,UAEzBD,EAAW,GAAKC,EAAY,GAAKx8M,GACnCmnN,EAAax4V,KAAKk4V,aAAa,CAC7B76V,IAAK,IACL86V,iBAAkBvK,EAClBwK,iBAAkB3hV,EAAQ7P,QAE5B6xV,EAAaz4V,KAAKk4V,aAAa,CAC7B76V,IAAK,IACL86V,iBAAkBtK,EAClBuK,iBAAkB3hV,EAAQ5P,UAG5B4nV,EAAWr9L,WAAa,SAI5Bq9L,EAAa3lN,EAAcA,EAAc,GAAIo/K,YAAe,CAC1D13S,UAAWxQ,KAAKpD,MAAMk8V,eAAiB,eAAetwU,OAAOgwU,EAAY,QAAQhwU,OAAOiwU,EAAY,UAAY,aAAajwU,OAAOgwU,EAAY,QAAQhwU,OAAOiwU,EAAY,UACxKhK,GAED1H,GAAqB10N,IACvBo8N,EAAa3lN,EAAcA,EAAc,GAAIo/K,YAAe,CAC1D8E,WAAY,aAAaxkS,OAAOq+T,EAAmB,OAAOr+T,OAAOo+T,MAC9D6H,IAGP,IAAI8D,EAAMjnO,IAAWysO,GAA+B/rS,EAAlBshS,EAAc,GAAiC,GAAG9kU,OAAOuvU,EAAY,UAAW/wO,YAASwxO,IAAennN,GAAcrqB,YAASqqB,EAAWxkI,IAAM2rV,GAAcnnN,EAAWxkI,GAAIm/C,EAAgBshS,EAAa,GAAG9kU,OAAOuvU,EAAY,SAAU/wO,YAASwxO,IAAennN,GAAcrqB,YAASqqB,EAAWxkI,IAAM2rV,EAAannN,EAAWxkI,GAAIm/C,EAAgBshS,EAAa,GAAG9kU,OAAOuvU,EAAY,WAAY/wO,YAASyxO,IAAepnN,GAAcrqB,YAASqqB,EAAWvkI,IAAM2rV,GAAcpnN,EAAWvkI,GAAIk/C,EAAgBshS,EAAa,GAAG9kU,OAAOuvU,EAAY,QAAS/wO,YAASyxO,IAAepnN,GAAcrqB,YAASqqB,EAAWvkI,IAAM2rV,EAAapnN,EAAWvkI,GAAIwgV,IAC5pB,OAKEl9N,IAAMx1G,cAAc,MAAO,CACzBwzG,UAAW,EACXsxD,KAAM,SACN5jI,UAAW,SAAmBx2B,GACV,WAAdA,EAAMjoB,KACRg/C,EAAOgoH,SAAS,CACd2zL,WAAW,EACXC,sBAAuBnvN,EAAcA,EAAc,GAAIzsF,EAAO0oB,MAAMkzR,uBAAwB,GAAI,CAC9FprV,EAAGwvC,EAAOz/C,MAAMy0I,WAAWxkI,EAC3BC,EAAGuvC,EAAOz/C,MAAMy0I,WAAWvkI,OAKnC6X,UAAW4tU,EACX7/U,MAAO+7U,EACPrgR,IAAK,SAAavqE,GAChBw4C,EAAOsxS,YAAc9pV,IAlOjC,SAAuB8jB,EAAS/qB,GAC9B,OAAkBwzH,IAAMoR,eAAe75G,GACjByoG,IAAMkzC,aAAa37I,EAAS/qB,GAG9Cg0I,IAAYjpH,GACMyoG,IAAMx1G,cAAc+M,EAAS/qB,GAG/BwzH,IAAMx1G,cAAcq8U,EAAuBr6V,GA2NtDgyV,CAAcjnU,EAASmhH,EAAcA,EAAc,GAAI9oI,KAAKpD,OAAQ,GAAI,CACzEg2I,QAAS+lN,WAjR2Dj8V,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAuR3K2lK,EA/NyB,CAgOhCsqJ,iBACFtqJ,EAAQnrI,YAAc,UACtBmrI,EAAQvmC,aAAe,CACrBvK,QAAQ,EACRgmO,mBAAoB,CAClBxrV,GAAG,EACHC,GAAG,GAELwrV,iBAAkB,CAChBzrV,GAAG,EACHC,GAAG,GAELmI,OAAQ,GACRwB,QAAS,CACPhJ,GAAI,EACJE,GAAI,EACJD,GAAI,EACJE,GAAI,GAENyjI,WAAY,CACVxkI,EAAG,EACHC,EAAG,GAELisV,YAAa,GACb7B,UAAW,MACX3I,aAAc,GACd+I,aAAc,GACdlK,UAAW,GACXoK,WAAY,GACZ92U,QAAQ,EACRshE,QAAS,QACT+kQ,mBAAoB5mK,IAAOC,MAC3BwmK,gBAAiB,OACjBC,kBAAmB,IACnB6R,YAAY,EACZI,gBAAgB,I,cC1UlB,IAOIE,EACAC,EARAhnU,EAAU/7B,EAAOC,QAAU,GAU/B,SAAS+iW,IACL,MAAM,IAAIh6T,MAAM,mCAEpB,SAASi6T,IACL,MAAM,IAAIj6T,MAAM,qCAsBpB,SAASk6T,EAAWC,GAChB,GAAIL,IAAqBnkU,WAErB,OAAOA,WAAWwkU,EAAK,GAG3B,IAAKL,IAAqBE,IAAqBF,IAAqBnkU,WAEhE,OADAmkU,EAAmBnkU,WACZA,WAAWwkU,EAAK,GAE3B,IAEI,OAAOL,EAAiBK,EAAK,GAC/B,MAAMt4V,GACJ,IAEI,OAAOi4V,EAAiBh3V,KAAK,KAAMq3V,EAAK,GAC1C,MAAMt4V,GAEJ,OAAOi4V,EAAiBh3V,KAAKhC,KAAMq5V,EAAK,MAvCnD,WACG,IAEQL,EADsB,oBAAfnkU,WACYA,WAEAqkU,EAEzB,MAAOn4V,GACLi4V,EAAmBE,EAEvB,IAEQD,EADwB,oBAAjB3kU,aACcA,aAEA6kU,EAE3B,MAAOp4V,GACLk4V,EAAqBE,GAjB5B,GAwED,IAEIG,EAFAl4B,EAAQ,GACRm4B,GAAW,EAEXC,GAAc,EAElB,SAASC,IACAF,GAAaD,IAGlBC,GAAW,EACPD,EAAax8V,OACbskU,EAAQk4B,EAAa9wU,OAAO44S,GAE5Bo4B,GAAc,EAEdp4B,EAAMtkU,QACN48V,KAIR,SAASA,IACL,IAAIH,EAAJ,CAGA,IAAIphQ,EAAUihQ,EAAWK,GACzBF,GAAW,EAGX,IADA,IAAIv0T,EAAMo8R,EAAMtkU,OACVkoC,GAAK,CAGP,IAFAs0T,EAAel4B,EACfA,EAAQ,KACCo4B,EAAax0T,GACds0T,GACAA,EAAaE,GAAY9yU,MAGjC8yU,GAAc,EACdx0T,EAAMo8R,EAAMtkU,OAEhBw8V,EAAe,KACfC,GAAW,EAnEf,SAAyBxjV,GACrB,GAAIkjV,IAAuB3kU,aAEvB,OAAOA,aAAave,GAGxB,IAAKkjV,IAAuBE,IAAwBF,IAAuB3kU,aAEvE,OADA2kU,EAAqB3kU,aACdA,aAAave,GAExB,IAEWkjV,EAAmBljV,GAC5B,MAAOhV,GACL,IAEI,OAAOk4V,EAAmBj3V,KAAK,KAAM+T,GACvC,MAAOhV,GAGL,OAAOk4V,EAAmBj3V,KAAKhC,KAAM+V,KAgD7C4jV,CAAgBxhQ,IAiBpB,SAASyhQ,EAAKP,EAAKt2S,GACf/iD,KAAKq5V,IAAMA,EACXr5V,KAAK+iD,MAAQA,EAYjB,SAASigC,KA5BT/wD,EAAQ4nU,SAAW,SAAUR,GACzB,IAAI31S,EAAO,IAAIjjD,MAAMN,UAAUrD,OAAS,GACxC,GAAIqD,UAAUrD,OAAS,EACnB,IAAK,IAAID,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAClC6mD,EAAK7mD,EAAI,GAAKsD,UAAUtD,GAGhCukU,EAAMt6T,KAAK,IAAI8yV,EAAKP,EAAK31S,IACJ,IAAjB09Q,EAAMtkU,QAAiBy8V,GACvBH,EAAWM,IASnBE,EAAKn8V,UAAUipB,IAAM,WACjB1mB,KAAKq5V,IAAIj5V,MAAM,KAAMJ,KAAK+iD,QAE9B9wB,EAAQzN,MAAQ,UAChByN,EAAQ2gI,SAAU,EAClB3gI,EAAQw6Q,IAAM,GACdx6Q,EAAQ6nU,KAAO,GACf7nU,EAAQ2c,QAAU,GAClB3c,EAAQ4c,SAAW,GAInB5c,EAAQipB,GAAK8nC,EACb/wD,EAAQisI,YAAcl7E,EACtB/wD,EAAQytH,KAAO18D,EACf/wD,EAAQ2xB,IAAMo/B,EACd/wD,EAAQksI,eAAiBn7E,EACzB/wD,EAAQ8nU,mBAAqB/2Q,EAC7B/wD,EAAQukS,KAAOxzO,EACf/wD,EAAQ+nU,gBAAkBh3Q,EAC1B/wD,EAAQgoU,oBAAsBj3Q,EAE9B/wD,EAAQktI,UAAY,SAAU/8J,GAAQ,MAAO,IAE7C6vB,EAAQioU,QAAU,SAAU93V,GACxB,MAAM,IAAI88B,MAAM,qCAGpBjN,EAAQkoU,IAAM,WAAc,MAAO,KACnCloU,EAAQmoU,MAAQ,SAAUhgV,GACtB,MAAM,IAAI8kB,MAAM,mCAEpBjN,EAAQooU,MAAQ,WAAa,OAAO,I,6BCrLpCl9V,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQmkW,UA4CR,SAAmB19V,EAEjB2sH,EAEAL,GAKA,GAAItsH,EAAM2sH,GACR,OAAO,IAAIrqF,MAAM,gBAAgB1W,OAAO+gG,EAAU,eAAe/gG,OAAO0gG,EAAe,8CArD3F/yH,EAAQokW,YAMR,SAAqBx3S,EAEnBxX,GAKA,IAAK,IAAI1uC,EAAI,EAAGC,EAASimD,EAAMjmD,OAAQD,EAAIC,EAAQD,IACjD,GAAI0uC,EAASnrC,MAAMmrC,EAAU,CAACwX,EAAMlmD,GAAIA,EAAGkmD,IAAS,OAAOA,EAAMlmD,IAbrE1G,EAAQqkW,IAkCR,SAAa7tV,GAKX,OAAOuR,SAASvR,EAAG,KAtCrBxW,EAAQ4wF,WAgBR,SAAoBt3B,GAMlB,MAAuB,oBAATA,GAAgE,sBAAzCtyD,OAAOM,UAAU2O,SAASpK,KAAKytD,IArBtEt5D,EAAQskW,MAwBR,SAAepuN,GAKb,MAAsB,kBAARA,IAAqBr+H,MAAMq+H,K,gBCtC3C,IAAIquN,EAAgBtkW,EAAQ,KACxBukW,EAAWvkW,EAAQ,KACnBwkW,EAAcxkW,EAAQ,KAkC1BF,EAAOC,QAJP,SAAc2M,GACZ,OAAO83V,EAAY93V,GAAU43V,EAAc53V,GAAU63V,EAAS73V,K,gBCjChE,IAAI+3V,EAAiBzkW,EAAQ,KACzB0kW,EAAkB1kW,EAAQ,KAC1B2kW,EAAe3kW,EAAQ,KACvB4kW,EAAe5kW,EAAQ,KACvB6kW,EAAe7kW,EAAQ,KAS3B,SAAS8kW,EAAU3mQ,GACjB,IAAIpzD,GAAS,EACTrkC,EAAoB,MAAXy3F,EAAkB,EAAIA,EAAQz3F,OAG3C,IADAkD,KAAKg8C,UACI7a,EAAQrkC,GAAQ,CACvB,IAAI4jD,EAAQ6zC,EAAQpzD,GACpBnhC,KAAKwM,IAAIk0C,EAAM,GAAIA,EAAM,KAK7Bw6S,EAAUz9V,UAAUu+C,MAAQ6+S,EAC5BK,EAAUz9V,UAAV,OAAgCq9V,EAChCI,EAAUz9V,UAAU6E,IAAMy4V,EAC1BG,EAAUz9V,UAAUunF,IAAMg2Q,EAC1BE,EAAUz9V,UAAU+O,IAAMyuV,EAE1B/kW,EAAOC,QAAU+kW,G,gBC/BjB,IAAI74M,EAAKjsJ,EAAQ,KAoBjBF,EAAOC,QAVP,SAAsB4sD,EAAO1lD,GAE3B,IADA,IAAIP,EAASimD,EAAMjmD,OACZA,KACL,GAAIulJ,EAAGt/F,EAAMjmD,GAAQ,GAAIO,GACvB,OAAOP,EAGX,OAAQ,I,gBCjBV,IAGIq+V,EAHY/kW,EAAQ,IAGLglW,CAAUj+V,OAAQ,UAErCjH,EAAOC,QAAUglW,G,gBCLjB,IAAIE,EAAYjlW,EAAQ,KAiBxBF,EAAOC,QAPP,SAAoBsxB,EAAKpqB,GACvB,IAAI2T,EAAOyW,EAAI6zU,SACf,OAAOD,EAAUh+V,GACb2T,EAAmB,iBAAP3T,EAAkB,SAAW,QACzC2T,EAAKyW,M,gBCdX,IAAI87G,EAAWntI,EAAQ,KAoBvBF,EAAOC,QARP,SAAeuJ,GACb,GAAoB,iBAATA,GAAqB6jI,EAAS7jI,GACvC,OAAOA,EAET,IAAIG,EAAUH,EAAQ,GACtB,MAAkB,KAAVG,GAAkB,EAAIH,IAdjB,IAcwC,KAAOG,I,gBCjB9D,IAAIwiJ,EAAKjsJ,EAAQ,KACbwkW,EAAcxkW,EAAQ,KACtBmlW,EAAUnlW,EAAQ,KAClB+mJ,EAAW/mJ,EAAQ,IA0BvBF,EAAOC,QAdP,SAAwBuJ,EAAOyhC,EAAOr+B,GACpC,IAAKq6I,EAASr6I,GACZ,OAAO,EAET,IAAImO,SAAckwB,EAClB,SAAY,UAARlwB,EACK2pV,EAAY93V,IAAWy4V,EAAQp6T,EAAOr+B,EAAOhG,QACrC,UAARmU,GAAoBkwB,KAASr+B,IAE7Bu/I,EAAGv/I,EAAOq+B,GAAQzhC,K,iBCxB7B,YAGA,IAAI87V,EAAaplW,EAAQ,MAKzBD,EAAUD,EAAOC,QAAU,SAASwxB,EAAS4W,GAC3C,IAAIzZ,EAAM3uB,EAAQslW,SAAS9zU,EAAS4W,GAEhCloB,EAAOlgB,EAAQslW,SAAS,gBAAiBl9T,GAAS,GAOtD,OALAloB,EAAKpF,KAAO,OAGZ9a,EAAQ+mB,OAAO4H,EAAKzO,GAEbA,IAGDolV,SAAW,SAAS9zU,EAAS4W,GAWnC,MANuB,kBAAZ5W,GAAwB8sN,EAAOvnE,SAASvlJ,GAC3C6zU,EAAWlqB,SAAS3pT,EAAS4W,GAE7B5W,GASVxxB,EAAQ+mB,OAAS,SAAS+3B,EAAKriC,GAExBnS,MAAMC,QAAQu0C,KAAMA,EAAM,CAACA,IAG5BriC,EACFA,EAAOJ,SAAWyiC,EAElBriC,EAAS,KAIX,IAAK,IAAI/V,EAAI,EAAGA,EAAIo4C,EAAIn4C,OAAQD,IAAK,CACnC,IAAIgH,EAAOoxC,EAAIp4C,GAGXwlB,EAAYxe,EAAK+O,QAAU/O,EAAKwS,KAChCqlV,EAAcr5U,GAAaA,EAAU7P,SACrCkpV,GAAeA,IAAgBzmT,IACjCymT,EAAYh8T,OAAOg8T,EAAYrxV,QAAQxG,GAAO,GAC1CA,EAAK81E,OACP91E,EAAK81E,KAAKp4E,KAAOsC,EAAKtC,MAEpBsC,EAAKtC,OACPsC,EAAKtC,KAAKo4E,KAAO91E,EAAK81E,OAItB/mE,GACF/O,EAAK81E,KAAO1kC,EAAIp4C,EAAI,IAAM,KAC1BgH,EAAKtC,KAAO0zC,EAAIp4C,EAAI,IAAM,MAE1BgH,EAAK81E,KAAO91E,EAAKtC,KAAO,KAGtBqR,GAA0B,SAAhBA,EAAO3B,MACnBpN,EAAKwS,KAAOzD,EACZ/O,EAAK+O,OAAS,OAEd/O,EAAKwS,KAAO,KACZxS,EAAK+O,OAASA,GAIlB,OAAOA,K,wCClFoB,oBAAlBzV,OAAOqC,OAEhBtJ,EAAOC,QAAU,SAAkBwlW,EAAMC,GACnCA,IACFD,EAAKE,OAASD,EACdD,EAAKl+V,UAAYN,OAAOqC,OAAOo8V,EAAUn+V,UAAW,CAClDgC,YAAa,CACXC,MAAOi8V,EACP3+V,YAAY,EACZE,UAAU,EACVD,cAAc,OAOtB/G,EAAOC,QAAU,SAAkBwlW,EAAMC,GACvC,GAAIA,EAAW,CACbD,EAAKE,OAASD,EACd,IAAIE,EAAW,aACfA,EAASr+V,UAAYm+V,EAAUn+V,UAC/Bk+V,EAAKl+V,UAAY,IAAIq+V,EACrBH,EAAKl+V,UAAUgC,YAAck8V,K,cCbnC,IAQII,EAAW,mBAWf,SAASC,EAAUj5S,EAAO6qR,GAIxB,IAHA,IAAIzsS,GAAS,EACTrkC,EAASimD,EAAQA,EAAMjmD,OAAS,IAE3BqkC,EAAQrkC,IAC8B,IAAzC8wU,EAAS7qR,EAAM5hB,GAAQA,EAAO4hB,KAIpC,OAAOA,EAqCT,IAPiB0M,EAAMj/C,EAOnByrV,EAAc9+V,OAAOM,UAGrBuF,EAAiBi5V,EAAYj5V,eAO7Bk7S,EAAiB+9C,EAAY7vV,SAG7BqrB,EAAuBwkU,EAAYxkU,qBAGnCykU,GAvBazsS,EAuBQtyD,OAAO23B,KAvBTtkB,EAuBerT,OAtB7B,SAASu2H,GACd,OAAOjkE,EAAKj/C,EAAUkjH,MA+B1B,SAASgnO,EAAch7V,EAAOy8V,GAG5B,IAAIt8V,EAAUa,EAAQhB,IA8MxB,SAAqBA,GAEnB,OAmFF,SAA2BA,GACzB,OAgHF,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,EAjHlBwnT,CAAaxnT,IAAUk7V,EAAYl7V,GApFnC08V,CAAkB18V,IAAUsD,EAAehB,KAAKtC,EAAO,aAC1D+3B,EAAqBz1B,KAAKtC,EAAO,WA5SzB,sBA4SsCw+S,EAAel8S,KAAKtC,IAjNtC28V,CAAY38V,GAtD9C,SAAmBmB,EAAG+sU,GAIpB,IAHA,IAAIzsS,GAAS,EACTthC,EAASY,MAAMI,KAEVsgC,EAAQtgC,GACfhB,EAAOshC,GAASysS,EAASzsS,GAE3B,OAAOthC,EAgDHy8V,CAAU58V,EAAM5C,OAAQ66B,QACxB,GAEA76B,EAAS+C,EAAO/C,OAChBy/V,IAAgBz/V,EAEpB,IAAK,IAAIO,KAAOqC,GACTy8V,IAAan5V,EAAehB,KAAKtC,EAAOrC,IACvCk/V,IAAuB,UAAPl/V,GAAmBk+V,EAAQl+V,EAAKP,KACpD+C,EAAOiH,KAAKzJ,GAGhB,OAAOwC,EAWT,IAuDwB28V,EAAUC,EAvD9BC,GAuDoBF,EAhCxB,SAAoB15V,EAAQ8qU,GAC1B,OAAO9qU,GAAU65V,EAAQ75V,EAAQ8qU,EAAU94S,IAgCpC,SAAS+vB,EAAY+oR,GAC1B,GAAkB,MAAd/oR,EACF,OAAOA,EAET,IAAK+1S,EAAY/1S,GACf,OAAO23S,EAAS33S,EAAY+oR,GAM9B,IAJA,IAAI9wU,EAAS+nD,EAAW/nD,OACpBqkC,EAAQs7T,EAAY3/V,GAAU,EAC9B8/V,EAAWz/V,OAAO0nD,IAEd43S,EAAYt7T,MAAYA,EAAQrkC,KACa,IAA/C8wU,EAASgvB,EAASz7T,GAAQA,EAAOy7T,KAIvC,OAAO/3S,IA3DP83S,EAsEJ,SAAuBF,GACrB,OAAO,SAAS35V,EAAQ8qU,EAAUivB,GAMhC,IALA,IAAI17T,GAAS,EACTy7T,EAAWz/V,OAAO2F,GAClBlG,EAAQigW,EAAS/5V,GACjBhG,EAASF,EAAME,OAEZA,KAAU,CACf,IAAIO,EAAMT,EAAM6/V,EAAY3/V,IAAWqkC,GACvC,IAA+C,IAA3CysS,EAASgvB,EAASv/V,GAAMA,EAAKu/V,GAC/B,MAGJ,OAAO95V,GAnFGg6V,GAqBd,SAASnC,EAAS73V,GAChB,IAuFF,SAAqBpD,GACnB,IAAI0hJ,EAAO1hJ,GAASA,EAAMD,YACtBs9V,EAAwB,mBAAR37M,GAAsBA,EAAK3jJ,WAAcw+V,EAE7D,OAAOv8V,IAAUq9V,EA3FZC,CAAYl6V,GACf,OAAOo5V,EAAWp5V,GAEpB,IAAIjD,EAAS,GACb,IAAK,IAAIxC,KAAOF,OAAO2F,GACjBE,EAAehB,KAAKc,EAAQzF,IAAe,eAAPA,GACtCwC,EAAOiH,KAAKzJ,GAGhB,OAAOwC,EAgET,SAAS07V,EAAQ77V,EAAO5C,GAEtB,SADAA,EAAmB,MAAVA,EAnOY,iBAmOwBA,KAE1B,iBAAT4C,GAAqBq8V,EAASx5T,KAAK7iC,KAC1CA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQ5C,EAmG7C,IAAI4D,EAAUD,MAAMC,QA2BpB,SAASk6V,EAAYl7V,GACnB,OAAgB,MAATA,GAkFT,SAAkBA,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GAzbb,iBAqWGqxU,CAASrxU,EAAM5C,UAiDzC,SAAoB4C,GAGlB,IAAIuqI,EA4DN,SAAkBvqI,GAChB,IAAIuR,SAAcvR,EAClB,QAASA,IAAkB,UAARuR,GAA4B,YAARA,GA9D7BksI,CAASz9I,GAASw+S,EAAel8S,KAAKtC,GAAS,GACzD,MAtZY,qBAsZLuqI,GArZI,8BAqZcA,EArD0BljD,CAAWrnF,GA6KhE,SAASo1B,EAAKhyB,GACZ,OAAO83V,EAAY93V,GAAU43V,EAAc53V,GAAU63V,EAAS73V,GAmBhE,SAASgoI,EAASprI,GAChB,OAAOA,EAGTxJ,EAAOC,QArRP,SAAiB0uD,EAAY+oR,GAE3B,OADWltU,EAAQmkD,GAAcm3S,EAAYU,GACjC73S,EAA+B,mBAAZ+oR,EAAyBA,EAAW9iM,K,6BC9RnE50I,EAAOC,QAAUC,EAAQ,M,sGCAZ,SAASwkK,EAAW9iJ,EAAOrU,EAAM2tC,EAAOypH,GACrD,IACI1a,EADA7+I,EAAO27V,YAASnlV,EAAOrU,EAAM2tC,GAGjC,QADAypH,EAAYqiM,YAA6B,MAAbriM,EAAoB,KAAOA,IACrC5pJ,MAChB,IAAK,IACH,IAAIvR,EAAQyH,KAAK+K,IAAI/K,KAAKwjD,IAAI7yC,GAAQ3Q,KAAKwjD,IAAIlnD,IAE/C,OAD2B,MAAvBo3J,EAAU1a,WAAsBnyI,MAAMmyI,ECRjC,SAAS7+I,EAAM5B,GAC5B,OAAOyH,KAAK+K,IAAI,EAAgE,EAA7D/K,KAAK+K,KAAK,EAAG/K,KAAK6K,IAAI,EAAG7K,KAAK0W,MAAMykI,YAAS5iJ,GAAS,KAAW4iJ,YAASn7I,KAAKwjD,IAAIrpD,KDO5C67V,CAAgB77V,EAAM5B,MAASm7J,EAAU1a,UAAYA,GACpGi9M,YAAaviM,EAAWn7J,GAEjC,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACwB,MAAvBm7J,EAAU1a,WAAsBnyI,MAAMmyI,EEhBjC,SAAS7+I,EAAM4Q,GAE5B,OADA5Q,EAAO6F,KAAKwjD,IAAIrpD,GAAO4Q,EAAM/K,KAAKwjD,IAAIz4C,GAAO5Q,EACtC6F,KAAK+K,IAAI,EAAGowI,YAASpwI,GAAOowI,YAAShhJ,IAAS,EFcK+7V,CAAe/7V,EAAM6F,KAAK+K,IAAI/K,KAAKwjD,IAAI7yC,GAAQ3Q,KAAKwjD,IAAIlnD,QAAUo3J,EAAU1a,UAAYA,GAAgC,MAAnB0a,EAAU5pJ,OACrK,MAEF,IAAK,IACL,IAAK,IACwB,MAAvB4pJ,EAAU1a,WAAsBnyI,MAAMmyI,EGrBjC,SAAS7+I,GACtB,OAAO6F,KAAK+K,IAAI,GAAIowI,YAASn7I,KAAKwjD,IAAIrpD,KHoBoBg8V,CAAeh8V,MAAQu5J,EAAU1a,UAAYA,EAAuC,GAAP,MAAnB0a,EAAU5pJ,OAI9H,OAAOyzH,YAAOm2B,K,6BI3BD,SAASx/B,IACtB,GAAuB,qBAAZp7H,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EAExC,IAEE,OADA7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAClD,EACP,MAAOx2B,GACP,OAAO,GATX,mC,6BCAe,SAASk6H,EAAgB36H,EAAG2C,GAKzC,OAJAg4H,EAAkB99H,OAAO65H,eAAiB75H,OAAO65H,eAAen0H,OAAS,SAAyBvC,EAAG2C,GAEnG,OADA3C,EAAEsnC,UAAY3kC,EACP3C,IAEcA,EAAG2C,GAL5B,mC,gBCAA/M,EAAOC,QAAUC,EAAQ,M,gBCAzB,IAAImnW,EAAiB,EAAQ,KAEzBC,EAAuB,EAAQ,KAE/B1/M,EAA6B,EAAQ,KAErC2/M,EAAkB,EAAQ,KAM9BvnW,EAAOC,QAJP,SAAwB8+C,EAAKp4C,GAC3B,OAAO0gW,EAAetoT,IAAQuoT,EAAqBvoT,EAAKp4C,IAAMihJ,EAA2B7oG,EAAKp4C,IAAM4gW,KAGrEvnW,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,qGCU1FunW,E,gBAAZ,SAAYA,GACR,qBACA,yBACA,mBACA,yBACA,qBALJ,CAAYA,MAMX,KAYD,iBAoBI,WAAYC,EAA8BC,EAAsBC,GAdxD,KAAA74O,MAAkB04O,EAASpwO,KAe/B,IAGMwwO,EAAmBH,GAAiBppC,EAAOwpC,6BACjD/9V,KAAKg+V,cAAgBF,EAAiBG,gBAJR,aAK9Bj+V,KAAKk+V,kBAAoBJ,EAAiBI,oBAAqB,EAC/Dl+V,KAAKglH,MAA8C,kBAA/B84O,EAAiBK,SAAyBL,EAAiBK,SAAWT,EAASpwO,KACnGttH,KAAKw9I,cAAgBsgN,EAAiBtgN,eAAiB,IAAUplJ,aACjE4H,KAAK49V,YAAcA,GAAe,IAAUxlW,aAC5C4H,KAAK69V,eAAiBA,GAAkB,IAAUzlW,aAyK1D,OAtKmB,EAAA2lW,2BAAf,WACI,MAAO,CACHE,eAAgB,aAGhBC,mBAAmB,EACnBC,SAAUT,EAASpwO,OAOpB,YAAA15F,MAAP,SAAagqU,EAAqBC,EAAwBrgN,GACtD,OAAO,IAAI+2K,EAAO,CAAC0pC,eAAgBj+V,KAAKg+V,cAAeE,kBAAmBl+V,KAAKk+V,kBAAmBC,SAAUn+V,KAAKglH,MAAOw4B,cAAeA,GAAiBx9I,KAAKw9I,eAAgBogN,EAAaC,IAMtL,YAAAO,WAAR,SAAmBA,EAAoB7/T,GACnC,KAAKA,EAAQ4/T,SAAWn+V,KAAKglH,QAAYhlH,KAAKk+V,mBAAqB3/T,EAAQ8/T,aAA3E,CAGA,IAAM5sH,GAAY,IAAIl6M,MAAO+mU,cAYvB14V,GARD,IAAY67D,QAAQljC,EAAQi/G,eAErB,IAAY/7E,QAAQzhE,KAAKw9I,eAGrB,IAAIi0F,EAAS,IAFb,IAAIA,EAAS,QAAQzxO,KAAKw9I,cAAa,IAFvC,IAAIi0F,EAAS,QAAQlzM,EAAQi/G,cAAa,KAOlC,MAAMx9I,KAAK49V,YAAW,IAAI59V,KAAK69V,eAAoB,MAAAH,EAASn/T,EAAQ4/T,UAAS,MAAMC,EAE3Gp+V,KAAKu+V,gBAAgBhgU,EAAQ4/T,SAAUv4V,EAAK24B,EAAQ8/T,cAAe,KAMvE,YAAAE,gBAAA,SAAgBv5O,EAAiBx7E,EAAiB60T,GAC1Cr+V,KAAKg+V,eACLh+V,KAAKg+V,cAAch5O,EAAOx7E,EAAS60T,IAO3C,YAAAlrU,MAAA,SAAMqW,EAAiBg0G,GACnBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAASx+T,MACnBm/T,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAAomW,SAAA,SAASh1T,EAAiBg0G,GACtBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAASx+T,MACnBm/T,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAAgvC,QAAA,SAAQoC,EAAiBg0G,GACrBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAAS/mP,QACnB0nP,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAAqmW,WAAA,SAAWj1T,EAAiBg0G,GACxBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAAS/mP,QACnB0nP,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAA4hF,KAAA,SAAKxwC,EAAiBg0G,GAClBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAASpwO,KACnB+wO,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAAsmW,QAAA,SAAQl1T,EAAiBg0G,GACrBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAASpwO,KACnB+wO,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAAi5T,QAAA,SAAQ7nR,EAAiBg0G,GACrBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAASiB,QACnBN,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAAwmW,WAAA,SAAWp1T,EAAiBg0G,GACxBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAASiB,QACnBN,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAAymW,MAAA,SAAMr1T,EAAiBg0G,GACnBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAASoB,MACnBT,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAA2mW,SAAA,SAASv1T,EAAiBg0G,GACtBx9I,KAAKo+V,WAAW50T,EAAS,CACrB20T,SAAUT,EAASoB,MACnBT,aAAa,EACb7gN,cAAeA,GAAiB,IAAUplJ,gBAOlD,YAAA4mW,oBAAA,WACI,OAAOh/V,KAAKk+V,oBAAqB,GAExC,EAvMD,I,kDCxBA,IAAI,EAAgB,SAAS/7V,EAAG+H,GAI5B,OAHA,EAAgB/M,OAAO65H,gBAClB,CAAEpvF,UAAW,cAAgBnnC,OAAS,SAAU0B,EAAG+H,GAAK/H,EAAEylC,UAAY19B,IACvE,SAAU/H,EAAG+H,GAAK,IAAK,IAAIjH,KAAKiH,EAAO/M,OAAOM,UAAUuF,eAAehB,KAAKkI,EAAGjH,KAAId,EAAEc,GAAKiH,EAAEjH,MAC3Ed,EAAG+H,IAGrB,SAASupU,EAAUtxU,EAAG+H,GACzB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIzN,UAAU,uBAAyBk7B,OAAOztB,GAAK,iCAE7D,SAASypU,IAAO3zU,KAAKP,YAAc0C,EADnC,EAAcA,EAAG+H,GAEjB/H,EAAE1E,UAAkB,OAANyM,EAAa/M,OAAOqC,OAAO0K,IAAMypU,EAAGl2U,UAAYyM,EAAEzM,UAAW,IAAIk2U,GAG5E,IAAI,EAAW,WAQlB,OAPA,EAAWx2U,OAAOu6B,QAAU,SAAkBj1B,GAC1C,IAAK,IAAI7B,EAAG/D,EAAI,EAAGgE,EAAIV,UAAUrD,OAAQD,EAAIgE,EAAGhE,IAE5C,IAAK,IAAIoG,KADTrC,EAAIT,UAAUtD,GACOM,OAAOM,UAAUuF,eAAehB,KAAKpB,EAAGqC,KAAIR,EAAEQ,GAAKrC,EAAEqC,IAE9E,OAAOR,IAEKrC,MAAMJ,KAAMG,YA8BzB,SAAS8+V,EAAU7wL,EAASl2E,EAAYz9D,EAAGuvH,GAE9C,OAAO,IAAKvvH,IAAMA,EAAI3D,WAAU,SAAUw8F,EAASC,GAC/C,SAAS2rO,EAAUx/V,GAAS,IAAM4B,EAAK0oJ,EAAUzoJ,KAAK7B,IAAW,MAAOqB,GAAKwyH,EAAOxyH,IACpF,SAASo+V,EAASz/V,GAAS,IAAM4B,EAAK0oJ,EAAS,MAAUtqJ,IAAW,MAAOqB,GAAKwyH,EAAOxyH,IACvF,SAASO,EAAKzB,GAJlB,IAAeH,EAIaG,EAAOiB,KAAOwyH,EAAQzzH,EAAOH,QAJ1CA,EAIyDG,EAAOH,MAJhDA,aAAiB+6B,EAAI/6B,EAAQ,IAAI+6B,GAAE,SAAU64F,GAAWA,EAAQ5zH,OAITi0H,KAAKurO,EAAWC,GAClG79V,GAAM0oJ,EAAYA,EAAU5pJ,MAAMguK,EAASl2E,GAAc,KAAK32F,WAI/D,SAAS69V,EAAYhxL,EAAS/pJ,GACjC,IAAsGpjB,EAAG6L,EAAGrK,EAAGwH,EAA3GsqB,EAAI,CAAEwqC,MAAO,EAAGsgS,KAAM,WAAa,GAAW,EAAP58V,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAO68V,KAAM,GAAIC,IAAK,IAChG,OAAOt1V,EAAI,CAAE1I,KAAMi+V,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXj/V,SAA0B0J,EAAE1J,OAAOC,UAAY,WAAa,OAAOR,OAAUiK,EACvJ,SAASu1V,EAAK3+V,GAAK,OAAO,SAAUqM,GAAK,OACzC,SAAc42E,GACV,GAAI7iF,EAAG,MAAM,IAAIxE,UAAU,mCAC3B,KAAO83B,GAAG,IACN,GAAItzB,EAAI,EAAG6L,IAAMrK,EAAY,EAARqhF,EAAG,GAASh3E,EAAC,OAAag3E,EAAG,GAAKh3E,EAAC,SAAerK,EAAIqK,EAAC,SAAerK,EAAET,KAAK8K,GAAI,GAAKA,EAAEvL,SAAWkB,EAAIA,EAAET,KAAK8K,EAAGg3E,EAAG,KAAKhjF,KAAM,OAAO2B,EAE3J,OADIqK,EAAI,EAAGrK,IAAGqhF,EAAK,CAAS,EAARA,EAAG,GAAQrhF,EAAE/C,QACzBokF,EAAG,IACP,KAAK,EAAG,KAAK,EAAGrhF,EAAIqhF,EAAI,MACxB,KAAK,EAAc,OAAXvvD,EAAEwqC,QAAgB,CAAEr/D,MAAOokF,EAAG,GAAIhjF,MAAM,GAChD,KAAK,EAAGyzB,EAAEwqC,QAASjyD,EAAIg3E,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKvvD,EAAEgrU,IAAIv4V,MAAOutB,EAAE+qU,KAAKt4V,MAAO,SACxC,QACI,KAAkBvE,GAAZA,EAAI8xB,EAAE+qU,MAAYxiW,OAAS,GAAK2F,EAAEA,EAAE3F,OAAS,MAAkB,IAAVgnF,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEvvD,EAAI,EAAG,SACjG,GAAc,IAAVuvD,EAAG,MAAcrhF,GAAMqhF,EAAG,GAAKrhF,EAAE,IAAMqhF,EAAG,GAAKrhF,EAAE,IAAM,CAAE8xB,EAAEwqC,MAAQ+kB,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYvvD,EAAEwqC,MAAQt8D,EAAE,GAAI,CAAE8xB,EAAEwqC,MAAQt8D,EAAE,GAAIA,EAAIqhF,EAAI,MAC7D,GAAIrhF,GAAK8xB,EAAEwqC,MAAQt8D,EAAE,GAAI,CAAE8xB,EAAEwqC,MAAQt8D,EAAE,GAAI8xB,EAAEgrU,IAAIz4V,KAAKg9E,GAAK,MACvDrhF,EAAE,IAAI8xB,EAAEgrU,IAAIv4V,MAChButB,EAAE+qU,KAAKt4V,MAAO,SAEtB88E,EAAKz/D,EAAKriB,KAAKosK,EAAS75I,GAC1B,MAAOxzB,GAAK+iF,EAAK,CAAC,EAAG/iF,GAAI+L,EAAI,EAjBrB,QAiBoC7L,EAAIwB,EAAI,EACtD,GAAY,EAARqhF,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEpkF,MAAOokF,EAAG,GAAKA,EAAG,QAAK,EAAQhjF,MAAM,GArB9BQ,CAAK,CAACT,EAAGqM,MAkFtD,SAAS,EAAc,EAAI,EAAM,GACpC,GAAI,GAA6B,IAArB,UAAU,OAAc,IAAK,IAA4B,EAAxB,EAAI,EAAG,EAAI,EAAK,OAAY,EAAI,EAAG,KACxE,GAAQ,KAAK,IACR,IAAI,EAAK,MAAM,UAAU,MAAM,KAAK,EAAM,EAAG,IAClD,EAAG,GAAK,EAAK,IAGrB,OAAO,EAAG,OAAOi6L,GAAM,GCpH3B,ICrDA,iBACI,WAAqBtwJ,EAAuBE,EAAsBnwC,EAAwBC,GAArE,KAAAgwC,OAAuB,KAAAE,MAAsB,KAAAnwC,QAAwB,KAAAC,SA4B9F,OA1BI,YAAA0rC,IAAA,SAAI1lC,EAAWC,EAAWkoB,EAAWhB,GACjC,OAAO,IAAIyrU,EAAOz/V,KAAK62C,KAAOhqC,EAAG7M,KAAK+2C,IAAMjqC,EAAG9M,KAAK4G,MAAQouB,EAAGh1B,KAAK6G,OAASmtB,IAG1E,EAAA0rU,eAAP,SAAsBpqS,EAAkBqqS,GACpC,OAAO,IAAIF,EACPE,EAAW9oT,KAAOye,EAAQsqS,aAAa/oT,KACvC8oT,EAAW5oT,IAAMue,EAAQsqS,aAAa7oT,IACtC4oT,EAAW/4V,MACX+4V,EAAW94V,SAIZ,EAAAg5V,gBAAP,SAAuBvqS,EAAkBwqS,GACrC,IAAMC,EAAUt/V,MAAMsY,KAAK+mV,GAAaxyR,MAAK,SAAC52D,GAAS,OAAe,IAAfA,EAAK9P,SAC5D,OAAOm5V,EACD,IAAIN,EACAM,EAAQlpT,KAAOye,EAAQsqS,aAAa/oT,KACpCkpT,EAAQhpT,IAAMue,EAAQsqS,aAAa7oT,IACnCgpT,EAAQn5V,MACRm5V,EAAQl5V,QAEZ44V,EAAOO,OAGV,EAAAA,MAAQ,IAAIP,EAAO,EAAG,EAAG,EAAG,GACvC,EA7BA,GA+BaQ,EAAc,SAAC3qS,EAAkBzxD,GAC1C,OAAO47V,EAAOC,eAAepqS,EAASzxD,EAAK0qJ,0BDlClC2xM,EAAe,SAACx8O,GAIzB,IAHA,IAAMmlN,EAAa,GACfhsU,EAAI,EACFC,EAAS4mH,EAAI5mH,OACZD,EAAIC,GAAQ,CACf,IAAM4C,EAAQgkH,EAAIr4E,WAAWxuC,KAC7B,GAAI6C,GAAS,OAAUA,GAAS,OAAU7C,EAAIC,EAAQ,CAClD,IAAM2oQ,EAAQ/hJ,EAAIr4E,WAAWxuC,KACJ,SAAZ,MAAR4oQ,GACDojE,EAAW/hU,OAAe,KAARpH,IAAkB,KAAe,KAAR+lQ,GAAiB,QAE5DojE,EAAW/hU,KAAKpH,GAChB7C,UAGJgsU,EAAW/hU,KAAKpH,GAGxB,OAAOmpU,GAGEs3B,EAAgB,W,IAAC,sDAC1B,GAAIxoU,OAAOwoU,cACP,OAAOxoU,OAAOwoU,cAAa,MAApBxoU,OAAwBkxS,GAGnC,IAAM/rU,EAAS+rU,EAAW/rU,OAC1B,IAAKA,EACD,MAAO,GAOX,IAJA,IAAMsjW,EAAY,GAEdj/T,GAAS,EACTthC,EAAS,KACJshC,EAAQrkC,GAAQ,CACrB,IAAI6rU,EAAYE,EAAW1nS,GACvBwnS,GAAa,MACby3B,EAAUt5V,KAAK6hU,IAEfA,GAAa,MACby3B,EAAUt5V,KAAyB,OAAnB6hU,GAAa,IAAeA,EAAY,KAAS,SAEjExnS,EAAQ,IAAMrkC,GAAUsjW,EAAUtjW,OAAS,SAC3C+C,GAAU83B,OAAOE,aAAY,MAAnBF,OAAuByoU,GACjCA,EAAUtjW,OAAS,GAG3B,OAAO+C,GAGLojC,EAAQ,mEAGRo9T,EAA+B,qBAAf7oR,WAA6B,GAAK,IAAIA,WAAW,KAC9D36E,EAAI,EAAGA,EAAIomC,EAAMnmC,OAAQD,IAC9BwjW,EAAOp9T,EAAMoI,WAAWxuC,IAAMA,EEpDlC,IAJA,IAAMomC,EAAQ,mEAGRo9T,EAA+B,qBAAf7oR,WAA6B,GAAK,IAAIA,WAAW,KAC9D36E,EAAI,EAAGA,EAAIomC,EAAMnmC,OAAQD,IAC9BwjW,EAAOp9T,EAAMoI,WAAWxuC,IAAMA,ECDlC,IDIO,IE+DDyjW,EAAU,SAACnrH,EAA8Br9N,EAAew7B,GAC1D,OAAI6hM,EAAKnjM,MACEmjM,EAAKnjM,MAAMl6B,EAAOw7B,GAGtB,IAAIyiK,YAAYt1M,MAAMhD,UAAUu0C,MAAMhwC,KAAKmzO,EAAMr9N,EAAOw7B,K,aAkC/D,WACIx2B,EACAg5H,EACAyqN,EACAC,EACAr/T,EACAnwB,GAEAhR,KAAK8c,aAAeA,EACpB9c,KAAK81I,WAAaA,EAClB91I,KAAKugW,UAAYA,EACjBvgW,KAAKwgW,eAAiBA,EACtBxgW,KAAKmhC,MAAQA,EACbnhC,KAAKgR,KAAOA,EAkDpB,OAzCI,YAAA1O,IAAA,SAAIqmU,GACA,IAAI83B,EACJ,GAAI93B,GAAa,EAAG,CAChB,GAAIA,EAAY,OAAYA,EAAY,OAAWA,GAAa,MAM5D,OADA83B,IADAA,EAAKzgW,KAAKmhC,MAAMwnS,GAtIF,KAWI,IAmBF+3B,GAyGmB/3B,GAC5B3oU,KAAKgR,KAAKyvV,GAGrB,GAAI93B,GAAa,MASb,OADA83B,IADAA,EAAKzgW,KAAKmhC,MAzHgB,MAyHqBwnS,EAAY,OAlJ7C,MAWI,IAmBF+3B,GAqHmB/3B,GAC5B3oU,KAAKgR,KAAKyvV,GAGrB,GAAI93B,EAAY3oU,KAAKugW,UAOjB,OALAE,EAAKE,MAA6Dh4B,GAtJpD,IAuJd83B,EAAKzgW,KAAKmhC,MAAMs/T,GAChBA,GAAO93B,GA3JO,EAgEKi4B,GA6FnBH,IADAA,EAAKzgW,KAAKmhC,MAAMs/T,KAjJE,IAmBFC,GA+HmB/3B,GAC5B3oU,KAAKgR,KAAKyvV,GAErB,GAAI93B,GAAa,QACb,OAAO3oU,KAAKgR,KAAKhR,KAAKwgW,gBAK9B,OAAOxgW,KAAK81I,YAEpB,E,GD7KM7yG,EAAQ,mEAGRo9T,EAA+B,qBAAf7oR,WAA6B,GAAK,IAAIA,WAAW,KAC9D36E,EAAI,EAAGA,EAAIomC,EAAMnmC,OAAQD,IAC9BwjW,EAAOp9T,EAAMoI,WAAWxuC,IAAMA,EEL3B,ICkBDgkW,EAAK,GAIL9zF,EAAK,GAEL+zF,EAAK,GAGLC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GAGLC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GAGLC,EAAK,GAELC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GAELvnE,EAAK,GACLwnE,EAAK,GACLC,EAAK,GACLC,EAAK,GAELC,EAAK,GAGLC,EAAQ,CAAC,KAAQ,OAmDVC,EFrBuB,SAACtpD,EAAgBupD,GACjD,IATaltH,EAA8Br9N,EAAew7B,EASpDk6H,EFhFY,SAACsrI,GACnB,IAEIj8S,EAEAylW,EACAC,EACAC,EACAC,EAPAC,EAA+B,IAAhB5pD,EAAOh8S,OACtBkoC,EAAM8zQ,EAAOh8S,OAEbmG,EAAI,EAM0B,MAA9B61S,EAAOA,EAAOh8S,OAAS,KACvB4lW,IACkC,MAA9B5pD,EAAOA,EAAOh8S,OAAS,IACvB4lW,KAIR,IAAMl1L,EACqB,qBAAhBF,aACe,qBAAf91F,YAC+B,qBAA/BA,WAAW/5E,UAAUu0C,MACtB,IAAIs7H,YAAYo1L,GAChB,IAAIjiW,MAAMiiW,GACdjhG,EAAQhhQ,MAAMC,QAAQ8sK,GAAUA,EAAS,IAAIh2F,WAAWg2F,GAE9D,IAAK3wK,EAAI,EAAGA,EAAImoC,EAAKnoC,GAAK,EACtBylW,EAAWjC,EAAOvnD,EAAOztQ,WAAWxuC,IACpC0lW,EAAWlC,EAAOvnD,EAAOztQ,WAAWxuC,EAAI,IACxC2lW,EAAWnC,EAAOvnD,EAAOztQ,WAAWxuC,EAAI,IACxC4lW,EAAWpC,EAAOvnD,EAAOztQ,WAAWxuC,EAAI,IAExC4kQ,EAAMx+P,KAAQq/V,GAAY,EAAMC,GAAY,EAC5C9gG,EAAMx+P,MAAoB,GAAXs/V,IAAkB,EAAMC,GAAY,EACnD/gG,EAAMx+P,MAAoB,EAAXu/V,IAAiB,EAAiB,GAAXC,EAG1C,OAAOj1L,EE4CQjqD,CAAOu1L,GAChB6pD,EAASliW,MAAMC,QAAQ8sK,GFjCF,SAACA,GAG5B,IAFA,IAAM1wK,EAAS0wK,EAAO1wK,OAChB2kQ,EAAQ,GACL5kQ,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EAC7B4kQ,EAAM36P,KAAM0mK,EAAO3wK,EAAI,IAAM,GAAO2wK,EAAO3wK,EAAI,IAAM,GAAO2wK,EAAO3wK,EAAI,IAAM,EAAK2wK,EAAO3wK,IAE7F,OAAO4kQ,EE2BgCmhG,CAAgBp1L,GAAU,IAAIooC,YAAYpoC,GAC3Eq1L,EAASpiW,MAAMC,QAAQ8sK,GF3CF,SAACA,GAG5B,IAFA,IAAM1wK,EAAS0wK,EAAO1wK,OAChB2kQ,EAAQ,GACL5kQ,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EAC7B4kQ,EAAM36P,KAAM0mK,EAAO3wK,EAAI,IAAM,EAAK2wK,EAAO3wK,IAE7C,OAAO4kQ,EEqCgCqhG,CAAgBt1L,GAAU,IAAIuoC,YAAYvoC,GAG3ErsI,EAAQm/T,EAAQuC,EAAQE,GAAkBJ,EAAO,GAAK,GACtD3xV,EACY,IAAd2xV,EAAO,GACDrC,EAAQuC,GALG,GAKqBF,EAAO,IAAM,IAjB1CxtH,EAkBKwtH,EAlByB7qV,EAkBjB3Q,KAAK4W,MANV,GAM+B4kV,EAAO,IAAM,GAjB7DxtH,EAAKnjM,MACEmjM,EAAKnjM,MAAMl6B,EAAOw7B,GAGtB,IAAIsiK,YAAYn1M,MAAMhD,UAAUu0C,MAAMhwC,KAAKmzO,EAAMr9N,EAAOw7B,KAe/D,OAAO,IAAI0vT,EAAKL,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIxhU,EAAOnwB,GES5CiyV,CD3GvB,4pnDC6GEC,EAAc,CAACxB,EA9DV,IA+DLyB,EAAmB,CAtGd,EACA,EACA,EAEA,GAmGLC,EAAQ,CAACvC,EAhGJ,GAiGLwC,EAAiB,CAAC7B,EAAID,GACtB+B,EAAcH,EAAiB36U,OAAO46U,GACtCG,EAAwB,CAACxB,EAAIC,EAAIC,EAAIJ,EAAIC,GACzC0B,EAAS,CAAC1C,EAAI/zF,GA2Ed02F,GAA6B,SAC/B92V,EACAzC,EACAw5V,EACAC,GAEA,IAAM3rV,EAAU2rV,EAAWD,GAC3B,GAAIjjW,MAAMC,QAAQiM,IAA6B,IAAxBA,EAAEtC,QAAQ2N,GAAkBrL,IAAMqL,EAErD,IADA,IAAInb,EAAI6mW,EACD7mW,GAAK8mW,EAAW7mW,QAAQ,CAI3B,IAFIyE,EAAOoiW,IADX9mW,MAGaqN,EACT,OAAO,EAGX,GAAI3I,IAASs/V,EACT,MAKZ,GAAI7oV,IAAY6oV,EAGZ,IAFIhkW,EAAI6mW,EAED7mW,EAAI,GAAG,CAEV,IAAM88E,EAAOgqR,IADb9mW,GAGA,GAAI4D,MAAMC,QAAQiM,IAA0B,IAArBA,EAAEtC,QAAQsvE,GAAehtE,IAAMgtE,EAElD,IADA,IAAI94E,EAAI6iW,EACD7iW,GAAK8iW,EAAW7mW,QAAQ,CAE3B,IAAIyE,EAEJ,IAFIA,EAAOoiW,IADX9iW,MAGaqJ,EACT,OAAO,EAGX,GAAI3I,IAASs/V,EACT,MAKZ,GAAIlnR,IAASknR,EACT,MAIZ,OAAO,GAGL+C,GAA4B,SAACF,EAAsBC,GAErD,IADA,IAAI9mW,EAAI6mW,EACD7mW,GAAK,GAAG,CACX,IAAIoU,EAAO0yV,EAAW9mW,GACtB,GAAIoU,IAAS4vV,EAGT,OAAO5vV,EAFPpU,IAKR,OAAO,GAKLgnW,GAAoB,SACtBh7B,EACA86B,EACAG,EACA3iU,EACA4iU,GAEA,GAAwB,IAApBD,EAAS3iU,GACT,MAlKyB,OAqK7B,IAAIuiU,EAAeviU,EAAQ,EAC3B,GAAI1gC,MAAMC,QAAQqjW,KAAsD,IAAlCA,EAAgBL,GAClD,MAvKyB,OA0K7B,IAAIM,EAAcN,EAAe,EAC7BO,EAAaP,EAAe,EAC5B1rV,EAAU2rV,EAAWD,GAIrBnkU,EAASykU,GAAe,EAAIL,EAAWK,GAAe,EACtDziW,EAAOoiW,EAAWM,GAEtB,GAnRO,IAmRHjsV,GAlRG,IAkRezW,EAClB,MApLyB,OAuL7B,IAA2C,IAAvC4hW,EAAiB94V,QAAQ2N,GACzB,MAzLuB,IA6L3B,IAAwC,IAApCmrV,EAAiB94V,QAAQ9I,GACzB,MA7LyB,OAiM7B,IAA6B,IAAzB6hW,EAAM/4V,QAAQ9I,GACd,MAlMyB,OAsM7B,GAhSO,IAgSHqiW,GAA0BF,EAAcC,GACxC,MAtMqB,OA0MzB,GAlSQ,KAkSJvB,EAAY9/V,IAAIumU,EAAW66B,IAC3B,MA5MyB,OAgN7B,IAAK1rV,IAAY2pV,GAAM3pV,IAAY4pV,IAvS3B,KAuSkCQ,EAAY9/V,IAAIumU,EAAWo7B,IACjE,MAjNyB,OAqN7B,GAhTO,IAgTHjsV,GAhTG,IAgTezW,EAClB,MAtNyB,OA0N7B,GAnTO,IAmTHyW,EACA,MA3NyB,OA+N7B,IAAuC,IAAnC,CAAC6oV,EAAI9zF,EAAI+zF,GAAIz2V,QAAQ2N,IAxTlB,IAwTqCzW,EACxC,MAhOyB,OAoO7B,IAA4C,IAAxC,CAACw/V,EAAIC,EAAIC,EAAII,EAAII,GAAIp3V,QAAQ9I,GAC7B,MArOyB,OAyO7B,GAAIqiW,GAA0BF,EAAcC,KAAgBvC,EACxD,MA1OyB,OA8O7B,GAAIqC,GAvTG,GAuT4BrC,EAAIsC,EAAcC,GACjD,MA/OyB,OAmP7B,GAAIF,GAA2B,CAAC1C,EAAIC,GAAKG,EAAIuC,EAAcC,GACvD,MApPyB,OAwP7B,GAAIF,GA7UG,MA6UgCC,EAAcC,GACjD,MAzPyB,OA6P7B,GAAI3rV,IAAY6oV,EACZ,MA7PqB,OAiQzB,GA3UO,KA2UH7oV,GA3UG,KA2UezW,EAClB,MAnQyB,OAuQ7B,GAxVO,KAwVHA,GAxVG,KAwVYyW,EACf,MAvQqB,OA2QzB,IAAoC,IAAhC,CAAC+0P,EAAI+zF,EAAIK,GAAI92V,QAAQ9I,IA/VlB,KA+VkCyW,EACrC,MA7QyB,OAiR7B,GA3UO,KA2UHunB,IAA8C,IAA7BikU,EAAOn5V,QAAQ2N,GAChC,MAlRyB,OAsR7B,GAAIA,IAAYypV,GAhVT,KAgVelgW,EAClB,MAvRyB,OA2R7B,GAAIA,IAAS2/V,EACT,MA5RyB,OAgS7B,IAAoC,IAA/BgC,EAAY74V,QAAQ9I,IAAgByW,IAAYspV,IAA0C,IAAlC4B,EAAY74V,QAAQ2N,IAAmBzW,IAAS+/V,EACzG,MAjSyB,OAqS7B,GACKtpV,IAAYwpV,IAAsC,IAAhC,CAACjnE,EAAIonE,EAAIC,GAAIv3V,QAAQ9I,KACJ,IAAnC,CAACg5R,EAAIonE,EAAIC,GAAIv3V,QAAQ2N,IAAmBzW,IAASggW,EAElD,MAzSyB,OA6S7B,IACuC,IAAlC2B,EAAY74V,QAAQ2N,KAAqD,IAAlCqrV,EAAeh5V,QAAQ9I,KACzB,IAArC8hW,EAAeh5V,QAAQ2N,KAAkD,IAA/BkrV,EAAY74V,QAAQ9I,GAE/D,MAjTyB,OAqT7B,IAEoC,IAA/B,CAACigW,EAAID,GAAIl3V,QAAQ2N,KACbzW,IAAS+/V,IAAmC,IAA5B,CAACF,EAAIN,GAAIz2V,QAAQ9I,IAAgBoiW,EAAWM,EAAa,KAAO3C,KAErD,IAA/B,CAACF,EAAIN,GAAIz2V,QAAQ2N,IAAmBzW,IAAS+/V,GAE7CtpV,IAAYspV,IAAsC,IAAhC,CAACA,EAAIG,EAAIJ,GAAIh3V,QAAQ9I,GAExC,MA9TyB,OAkU7B,IAA4C,IAAxC,CAAC+/V,EAAIG,EAAIJ,EAAIN,EAAIC,GAAI32V,QAAQ9I,GAE7B,IADA,IAAIqpK,EAAY84L,EACT94L,GAAa,GAAG,CAEnB,IADI35J,EAAO0yV,EAAW/4L,MACT02L,EACT,MAvUiB,OAwUd,IAAgC,IAA5B,CAACG,EAAIJ,GAAIh3V,QAAQ4G,GAGxB,MAFA25J,IAQZ,IAAgC,IAA5B,CAAC42L,EAAID,GAAIl3V,QAAQ9I,GAEjB,IADIqpK,GAA2C,IAA/B,CAACm2L,EAAIC,GAAI32V,QAAQ2N,GAAkBgsV,EAAcN,EAC1D94L,GAAa,GAAG,CACnB,IAAI35J,EACJ,IADIA,EAAO0yV,EAAW/4L,MACT02L,EACT,MAtViB,OAuVd,IAAgC,IAA5B,CAACG,EAAIJ,GAAIh3V,QAAQ4G,GAGxB,MAFA25J,IAQZ,GACKm3L,IAAO/pV,IAA+C,IAApC,CAAC+pV,EAAIC,EAAIH,EAAIC,GAAIz3V,QAAQ9I,KACZ,IAA/B,CAACygW,EAAIH,GAAIx3V,QAAQ2N,KAA+C,IAA5B,CAACgqV,EAAIC,GAAI53V,QAAQ9I,KACtB,IAA/B,CAAC0gW,EAAIH,GAAIz3V,QAAQ2N,IAAmBzW,IAAS0gW,EAE9C,MArWyB,OAyW7B,IACiD,IAA5CsB,EAAsBl5V,QAAQ2N,KAA+C,IAA5B,CAACkpV,EAAIK,GAAIl3V,QAAQ9I,KACzB,IAAzCgiW,EAAsBl5V,QAAQ9I,IAAgByW,IAAYwpV,EAE3D,MA7WyB,OAiX7B,IAAsC,IAAlC0B,EAAY74V,QAAQ2N,KAAkD,IAA/BkrV,EAAY74V,QAAQ9I,GAC3D,MAlXyB,OAsX7B,GAAIyW,IAAYqpV,IAAqC,IAA/B6B,EAAY74V,QAAQ9I,GACtC,MAvXyB,OA2X7B,IACkD,IAA7C2hW,EAAY16U,OAAO84U,GAAIj3V,QAAQ2N,IAC5BzW,IAAS6/V,IACkC,IAA3Ce,EAAM93V,QAAQw+T,EAAWo7B,MACc,IAA1Cf,EAAY16U,OAAO84U,GAAIj3V,QAAQ9I,IAAgByW,IAAYgpV,EAE5D,MAjYyB,OAsY7B,GA3bO,KA2bHhpV,GA3bG,KA2bezW,EAAa,CAG/B,IAFA,IAAI1E,EAAIinW,EAASJ,GACbtyT,EAAQ,EACLv0C,EAAI,GA9bR,KAgcK8mW,IADJ9mW,IAEIu0C,IAKR,GAAIA,EAAQ,IAAM,EACd,MAlZqB,OAuZ7B,OAAIp5B,IAAY2pV,GAAMpgW,IAASqgW,EAvZF,OACJ,QAqbvBsC,GAAsB,SAACr7B,EAAsBtqS,GAC1CA,IACDA,EAAU,CAAC4lU,UAAW,SAAUC,UAAW,WAE3C,MA9aoC,SACxCv7B,EACAs7B,QAAA,IAAAA,MAAA,UAEA,IAAMpiR,EAAkB,GAClBsiR,EAAoB,GACpBC,EAAwB,GAgE9B,OA/DAz7B,EAAW9zS,SAAQ,SAAC4zS,EAAWxnS,GAC3B,IAAIojU,EAAYnC,EAAY9/V,IAAIqmU,GAQhC,GAPI47B,EAzH0B,IA0H1BD,EAAWx9V,MAAK,GAChBy9V,GA3H0B,IA6H1BD,EAAWx9V,MAAK,IAGoC,IAApD,CAAC,SAAU,OAAQ,SAASuD,QAAQ85V,KAEyB,IAAzD,CAAC,KAAQ,KAAQ,MAAQ,OAAQ95V,QAAQs+T,GAEzC,OADA07B,EAAQv9V,KAAKq6B,GACN4gD,EAAMj7E,KAjHlB,IAqHH,GAlIG,IAkICy9V,GA3HA,KA2HoBA,EAAmB,CAEvC,GAAc,IAAVpjU,EAEA,OADAkjU,EAAQv9V,KAAKq6B,GACN4gD,EAAMj7E,KAAK46V,GAKtB,IAAM/nR,EAAOoI,EAAM5gD,EAAQ,GAC3B,OAAmC,IAA/BmiU,EAAYj5V,QAAQsvE,IACpB0qR,EAAQv9V,KAAKu9V,EAAQljU,EAAQ,IACtB4gD,EAAMj7E,KAAK6yE,KAEtB0qR,EAAQv9V,KAAKq6B,GACN4gD,EAAMj7E,KAAK46V,IAKtB,OAFA2C,EAAQv9V,KAAKq6B,GArHV,KAuHCojU,EACOxiR,EAAMj7E,KAAmB,WAAdq9V,EAAyBhD,EAAK5mE,GAGhDgqE,IAAcrC,GA7Hf,KAiICqC,EAHOxiR,EAAMj7E,KAAK46V,GAhHnB,KA0HC6C,EACK57B,GAAa,QAAWA,GAAa,QAAaA,GAAa,QAAWA,GAAa,OACjF5mP,EAAMj7E,KAAKyzR,GAEXx4M,EAAMj7E,KAAK46V,QAI1B3/Q,EAAMj7E,KAAKy9V,MAGR,CAACF,EAAStiR,EAAOuiR,GAwWqBE,CAA6B37B,EAAYtqS,EAAQ4lU,WAAzFL,EAAQ,KAAEH,EAAU,KAAEc,EAAc,KAazC,MAX0B,cAAtBlmU,EAAQ6lU,WAAmD,eAAtB7lU,EAAQ6lU,YAC7CT,EAAaA,EAAWl8U,KAAI,SAACxW,GAAS,OAAiC,IAAhC,CAACqwV,EAAII,EAAIQ,GAAI73V,QAAQ4G,GAAespR,EAAKtpR,MAU7E,CAAC6yV,EAAUH,EANQ,aAAtBplU,EAAQ6lU,UACFK,EAAeh9U,KAAI,SAACi9U,EAAc7nW,GAC9B,OAAO6nW,GAAgB77B,EAAWhsU,IAAM,OAAUgsU,EAAWhsU,IAAM,cAEvE+iC,IAqBd,cAMI,WAAYipS,EAAsBs7B,EAAmBrsV,EAAew7B,GAChEtzC,KAAK6oU,WAAaA,EAClB7oU,KAAKquH,SAnekB,MAmeP81O,EAChBnkW,KAAK8X,MAAQA,EACb9X,KAAKszC,IAAMA,EAMnB,OAHI,YAAAtB,MAAA,WACI,OAAOmuT,EAAa,aAAIngW,KAAK6oU,WAAW72R,MAAMhyC,KAAK8X,MAAO9X,KAAKszC,OAEvE,EAhBA,GC9ZMqxT,GAAU,SAACh8B,GAAsB,OAAAA,GAZ1B,IAY+CA,GAAa,IAEnExiI,GAAQ,SAACwiI,GACX,OAAAg8B,GAAQh8B,IAAeA,GATjB,IASmCA,GAPnC,IAOuDA,GAdvD,IAcyEA,GAZzE,KAiBJi8B,GAAe,SAACj8B,GAClB,OA/Dc,KA+DdA,GA5DyB,IA4DEA,GA3DjB,KA2DuDA,GAC/Dk8B,GAAuB,SAACl8B,GAC1B,OALa,SAACA,GAAsB,OAFd,SAACA,GAAsB,OAAAA,GAfvC,IAeyDA,GAXzD,IAa8Bm8B,CAAkBn8B,IADhC,SAACA,GAAsB,OAAAA,GAXvC,IAWyDA,GAPzD,GAQ8Do8B,CAAkBp8B,GAKtFq8B,CAASr8B,IAJe,SAACA,GAAsB,OAAAA,GAlCnC,IAsCWs8B,CAAoBt8B,IApD9B,KAoD4CA,GACvDu8B,GAAkB,SAACv8B,GACrB,OAAAk8B,GAAqBl8B,IAAcg8B,GAAQh8B,IArD1B,KAqDwCA,GACvDw8B,GAA0B,SAACx8B,GAC7B,OACKA,GAnCI,GAmCiBA,GAlCZ,GACM,KAkChBA,GACCA,GAlCS,IAkCiBA,GAjCD,IACnB,MAiCPA,GAGFy8B,GAAgB,SAAChyK,EAAYC,GAC/B,OA3EoB,KA2EhBD,GA7EU,KAiFPC,GAELgyK,GAAoB,SAACjyK,EAAYC,EAAYC,GAC/C,OAtEiB,KAsEbF,EACOyxK,GAAqBxxK,IAAO+xK,GAAc/xK,EAAIC,KAC9CuxK,GAAqBzxK,MApFZ,KAsFTA,IAA0BgyK,GAAchyK,EAAIC,KAMrDiyK,GAAgB,SAAClyK,EAAYC,EAAYC,GAC3C,OAjEc,KAiEVF,GAjFa,KAiFOA,IAChBuxK,GAAQtxK,IA9DF,KAkEHA,GAAoBsxK,GAAQrxK,GAI5BqxK,GAtEG,KAqEVvxK,EACeC,EAGJD,IAGbmyK,GAAiB,SAAC18B,GACpB,IAAI3mU,EAAI,EACJ+1I,EAAO,EAlFG,KAmFV4wL,EAAW3mU,IAnGE,KAmGkB2mU,EAAW3mU,KAnG7B,KAoGT2mU,EAAW3mU,KACX+1I,GAAQ,GAEZ/1I,KAKJ,IAFA,IAAMsjW,EAAW,GAEVb,GAAQ97B,EAAW3mU,KACtBsjW,EAAS1+V,KAAK+hU,EAAW3mU,MAG7B,IAAMs4V,EAAMgL,EAAS1oW,OAASohB,SAASiiV,EAAa,aAAIqF,GAAW,IAAM,EA5F3D,KA8FV38B,EAAW3mU,IACXA,IAIJ,IADA,IAAMmiH,EAAW,GACVsgP,GAAQ97B,EAAW3mU,KACtBmiH,EAASv9G,KAAK+hU,EAAW3mU,MAG7B,IAAMujW,EAAQphP,EAASvnH,OACjB85O,EAAO6uH,EAAQvnV,SAASiiV,EAAa,aAAI97O,GAAW,IAAM,EAzF1D,KA2FFwkN,EAAW3mU,IAhGT,MAgGqB2mU,EAAW3mU,IAClCA,IAGJ,IAAIwjW,EAAU,EAlHA,KAoHV78B,EAAW3mU,IApIE,KAoIkB2mU,EAAW3mU,KApI7B,KAqIT2mU,EAAW3mU,KACXwjW,GAAW,GAEfxjW,KAKJ,IAFA,IAAMogJ,EAAW,GAEVqiN,GAAQ97B,EAAW3mU,KACtBogJ,EAASx7I,KAAK+hU,EAAW3mU,MAG7B,IAAMyhJ,EAAMrB,EAASxlJ,OAASohB,SAASiiV,EAAa,aAAI79M,GAAW,IAAM,EAEzE,OAAOrK,GAAQuiN,EAAM5jH,EAAOzvO,KAAKE,IAAI,IAAKo+V,IAAUt+V,KAAKE,IAAI,GAAIq+V,EAAU/hN,IAGzEgiN,GAAgC,CAClC10V,KAAM,GAEJ20V,GAAiC,CACnC30V,KAAM,GAEJ40V,GAAqB,CAAC50V,KAAM,GAC5B60V,GAA4B,CAAC70V,KAAM,IACnC80V,GAA4B,CAAC90V,KAAM,GACnC+0V,GAAsB,CAAC/0V,KAAM,IAC7Bg1V,GAA0B,CAACh1V,KAAM,GACjCi1V,GAA6B,CAACj1V,KAAM,IACpCk1V,GAAkC,CACpCl1V,KAAM,IAEJm1V,GAAmC,CACrCn1V,KAAM,IAEJo1V,GAA+B,CAACp1V,KAAM,IACtCq1V,GAAuB,CAACr1V,KAAM,IAC9Bs1V,GAA0B,CAACt1V,KAAM,GACjCu1V,GAAmB,CAACv1V,KAAM,IAC1Bw1V,GAAmB,CAACx1V,KAAM,IAC1By1V,GAAqB,CAACz1V,KAAM,IAC5B01V,GAAyB,CAAC11V,KAAM,IAChC21V,GAAmC,CACrC31V,KAAM,IAEJ41V,GAAoC,CACtC51V,KAAM,IAEJ61V,GAA0B,CAAC71V,KAAM,IAC1B81V,GAAmB,CAAC91V,KAAM,IAEvC,cAGI,aACIjR,KAAKs7I,OAAS,GAyetB,OAteI,YAAAu8C,MAAA,SAAMmvK,GACFhnW,KAAKs7I,OAASt7I,KAAKs7I,OAAO9yH,OAAO03U,EAAa8G,KAGlD,YAAA/gJ,KAAA,WAGI,IAFA,IAAMvuM,EAAS,GACX4f,EAAQt3B,KAAKinW,eACV3vU,IAAUyvU,IACbrvV,EAAO5Q,KAAKwwB,GACZA,EAAQt3B,KAAKinW,eAEjB,OAAOvvV,GAGH,YAAAuvV,aAAR,WACI,IAAMt+B,EAAY3oU,KAAKknW,mBAEvB,OAAQv+B,GACJ,KA1NW,GA2NP,OAAO3oU,KAAKmnW,mBA3NL,IA4NX,KA1NQ,GA2NJ,IAAM/zK,EAAKpzL,KAAKonW,cAAc,GACxB/zK,EAAKrzL,KAAKonW,cAAc,GACxB9zK,EAAKtzL,KAAKonW,cAAc,GAC9B,GAAIlC,GAAgB9xK,IAAOgyK,GAAc/xK,EAAIC,GAAK,CAC9C,IAAMuR,EAAQwgK,GAAkBjyK,EAAIC,EAAIC,GA1OrC,EADU,EA8Ob,MAAO,CAACriL,KAAM,EAAsBvR,MAFtBM,KAAKqnW,cAEwBxiK,MAAK,GAEpD,MACJ,KApOQ,GAqOJ,GAvOI,KAuOA7kM,KAAKonW,cAAc,GAEnB,OADApnW,KAAKknW,mBACEpB,GAEX,MACJ,KAxOO,GAyOH,OAAO9lW,KAAKmnW,mBAzOT,IA0OP,KAzOa,GA0OT,OAAOxB,GACX,KA1Oc,GA2OV,OAAOC,GACX,KA3NK,GA4ND,GAnPI,KAmPA5lW,KAAKonW,cAAc,GAEnB,OADApnW,KAAKknW,mBACEb,GAEX,MACJ,KAhOM,GAiOF,GAAIf,GAAc38B,EAAW3oU,KAAKonW,cAAc,GAAIpnW,KAAKonW,cAAc,IAEnE,OADApnW,KAAKsnW,mBAAmB3+B,GACjB3oU,KAAKunW,sBAEhB,MACJ,KArOE,GAsOE,OAAO1B,GACX,KAxPS,GAyPL,IAAMzxH,EAAKu0F,EACLt0F,EAAKr0O,KAAKonW,cAAc,GACxB9yH,EAAKt0O,KAAKonW,cAAc,GAE9B,GAAI9B,GAAclxH,EAAIC,EAAIC,GAEtB,OADAt0O,KAAKsnW,mBAAmB3+B,GACjB3oU,KAAKunW,sBAGhB,GAAIlC,GAAkBjxH,EAAIC,EAAIC,GAE1B,OADAt0O,KAAKsnW,mBAAmB3+B,GACjB3oU,KAAKwnW,wBAGhB,GAvQK,KAuQDnzH,GApQM,KAoQiBC,EAGvB,OAFAt0O,KAAKknW,mBACLlnW,KAAKknW,mBACET,GAEX,MAEJ,KA1PM,GA2PF,GAAInB,GAAc38B,EAAW3oU,KAAKonW,cAAc,GAAIpnW,KAAKonW,cAAc,IAEnE,OADApnW,KAAKsnW,mBAAmB3+B,GACjB3oU,KAAKunW,sBAEhB,MACJ,KAjSI,GAkSA,GAtQC,KAsQGvnW,KAAKonW,cAAc,GAEnB,IADApnW,KAAKknW,qBACQ,CACT,IAAIhlW,EAAIlC,KAAKknW,mBACb,GA1QP,KA0QWhlW,GAtSZ,MAuSYA,EAAIlC,KAAKknW,oBAEL,OAAOlnW,KAAKinW,eAGpB,IApQZ,IAoQgB/kW,EACA,OAAOlC,KAAKinW,eAIxB,MACJ,KAnRE,GAoRE,OAAOP,GACX,KApRM,GAqRF,OAAOC,GACX,KAvSW,GAwSP,GAzSS,KA0SL3mW,KAAKonW,cAAc,IA3SlB,KA4SDpnW,KAAKonW,cAAc,IA5SlB,KA6SDpnW,KAAKonW,cAAc,GAInB,OAFApnW,KAAKknW,mBACLlnW,KAAKknW,mBACEV,GAEX,MACJ,KAhTU,GAiTN,IAAMtsV,EAAKla,KAAKonW,cAAc,GACxBrnQ,EAAK//F,KAAKonW,cAAc,GACxBj1K,EAAKnyL,KAAKonW,cAAc,GAC9B,GAAI/B,GAAkBnrV,EAAI6lF,EAAIoyF,GAE1B,MAAO,CAAClhL,KAAM,EAA4BvR,MAD5BM,KAAKqnW,eAGvB,MACJ,KAxTgB,GAyTZ,OAAOT,GACX,KA3UY,GA4UR,GAAIxB,GAAcz8B,EAAW3oU,KAAKonW,cAAc,IAE5C,OADApnW,KAAKsnW,mBAAmB3+B,GACjB3oU,KAAKwnW,wBAEhB,MACJ,KA/TiB,GAgUb,OAAOX,GACX,KAhUc,GAiUV,GAhVI,KAgVA7mW,KAAKonW,cAAc,GAEnB,OADApnW,KAAKknW,mBACEnB,GAEX,MACJ,KArUe,IAsUX,OAAOI,GACX,KArUgB,IAsUZ,OAAOC,GACX,KAjTF,IAkTE,KA7SF,GA8SM,IAAMqB,EAAKznW,KAAKonW,cAAc,GACxBM,EAAK1nW,KAAKonW,cAAc,GAM9B,OA1UE,KAqUEK,IAAqBthK,GAAMuhK,IA5UzB,KA4UgCA,IAClC1nW,KAAKknW,mBACLlnW,KAAK2nW,4BAET3nW,KAAKsnW,mBAAmB3+B,GACjB3oU,KAAKwnW,wBAChB,KAhVU,IAiVN,GApWI,KAoWAxnW,KAAKonW,cAAc,GAEnB,OADApnW,KAAKknW,mBACEjB,GAEX,GArVM,MAqVFjmW,KAAKonW,cAAc,GAEnB,OADApnW,KAAKknW,mBACElB,GAEX,MACJ,KAzVE,IA0VE,GA9WI,KA8WAhmW,KAAKonW,cAAc,GAEnB,OADApnW,KAAKknW,mBACEhB,GAEX,MACJ,KAhVA,EAiVI,OAAOa,GAGf,OAAInC,GAAaj8B,IACb3oU,KAAK4nW,oBACEd,IAGPnC,GAAQh8B,IACR3oU,KAAKsnW,mBAAmB3+B,GACjB3oU,KAAKunW,uBAGZ1C,GAAqBl8B,IACrB3oU,KAAKsnW,mBAAmB3+B,GACjB3oU,KAAKwnW,yBAGT,CAACv2V,KAAM,EAAuBvR,MAAOygW,EAAcx3B,KAGtD,YAAAu+B,iBAAR,WACI,IAAMxnW,EAAQM,KAAKs7I,OAAO1mE,QAE1B,MAAwB,qBAAVl1E,GAAyB,EAAIA,GAGvC,YAAA4nW,mBAAR,SAA2B3+B,GACvB3oU,KAAKs7I,OAAOzgH,QAAQ8tS,IAGhB,YAAAy+B,cAAR,SAAsBjqV,GAClB,OAAIA,GAASnd,KAAKs7I,OAAOx+I,QACb,EAGLkD,KAAKs7I,OAAOn+H,IAGf,YAAAwqV,yBAAR,WAGI,IAFA,IAAME,EAAS,GACXl/B,EAAY3oU,KAAKknW,mBACd/gK,GAAMwiI,IAAck/B,EAAO/qW,OAAS,GACvC+qW,EAAO/gW,KAAK6hU,GACZA,EAAY3oU,KAAKknW,mBAGrB,IADA,IAAIY,GAAgB,EAjZN,KAkZPn/B,GAA+Bk/B,EAAO/qW,OAAS,GAClD+qW,EAAO/gW,KAAK6hU,GACZA,EAAY3oU,KAAKknW,mBACjBY,GAAgB,EAGpB,GAAIA,EAMA,MAAO,CAAC72V,KAAM,GAA+B6G,MAL/BoG,SACViiV,EAAa,aAAI0H,EAAOpgV,KAAI,SAACsgV,GAAU,OA1ZjC,KA0ZkCA,EAvY3C,GAuY4EA,MACzE,IAGgDz0T,IADxCp1B,SAASiiV,EAAa,aAAI0H,EAAOpgV,KAAI,SAACsgV,GAAU,OA7ZlD,KA6ZmDA,EAlY/D,GAkY6FA,MAAU,KAIzG,IAAMjwV,EAAQoG,SAASiiV,EAAa,aAAI0H,GAAS,IACjD,GA3aa,KA2aT7nW,KAAKonW,cAAc,IAAuBjhK,GAAMnmM,KAAKonW,cAAc,IAAK,CACxEpnW,KAAKknW,mBACLv+B,EAAY3oU,KAAKknW,mBAEjB,IADA,IAAMc,EAAY,GACX7hK,GAAMwiI,IAAcq/B,EAAUlrW,OAAS,GAC1CkrW,EAAUlhW,KAAK6hU,GACfA,EAAY3oU,KAAKknW,mBAIrB,MAAO,CAACj2V,KAAM,GAA+B6G,MAAK,EAAEw7B,IAFxCp1B,SAASiiV,EAAa,aAAI6H,GAAY,KAIlD,MAAO,CAAC/2V,KAAM,GAA+B6G,MAAK,EAAEw7B,IAAKx7B,IAIzD,YAAA0vV,sBAAR,WACI,IAAM9nW,EAAQM,KAAKqnW,cACnB,MAA4B,QAAxB3nW,EAAMmZ,eAhcO,KAgcoB7Y,KAAKonW,cAAc,IACpDpnW,KAAKknW,mBACElnW,KAAKioW,mBAlcC,KAmcNjoW,KAAKonW,cAAc,IAC1BpnW,KAAKknW,mBACE,CAACj2V,KAAM,GAA0BvR,MAAK,IAG1C,CAACuR,KAAM,GAAuBvR,MAAK,IAGtC,YAAAuoW,gBAAR,WACI,IAAMvoW,EAAQ,GAGd,GAFAM,KAAK4nW,qBA/aD,IAibA5nW,KAAKonW,cAAc,GACnB,MAAO,CAACn2V,KAAM,GAAqBvR,MAAO,IAG9C,IAAM6B,EAAOvB,KAAKonW,cAAc,GAChC,GArdW,KAqdP7lW,GA1dW,KA0dYA,EAAyB,CAChD,IAAM2mW,EAAcloW,KAAKmnW,mBAAmBnnW,KAAKknW,oBACjD,OAAoB,IAAhBgB,EAAYj3V,OACZjR,KAAK4nW,qBAzbT,IA2bQ5nW,KAAKonW,cAAc,IAxdb,KAwd2BpnW,KAAKonW,cAAc,KACpDpnW,KAAKknW,mBACE,CAACj2V,KAAM,GAAqBvR,MAAOwoW,EAAYxoW,SAI9DM,KAAKmoW,wBACE7B,IAGX,OAAa,CACT,IAAM39B,EAAY3oU,KAAKknW,mBACvB,IAvcA,IAucIv+B,GApeU,KAoeWA,EACrB,MAAO,CAAC13T,KAAM,GAAqBvR,MAAOygW,EAAa,aAAIzgW,IACxD,GAAIklW,GAAaj8B,GAEpB,OADA3oU,KAAK4nW,qBA1cT,IA2cQ5nW,KAAKonW,cAAc,IAxeb,KAwe2BpnW,KAAKonW,cAAc,IACpDpnW,KAAKknW,mBACE,CAACj2V,KAAM,GAAqBvR,MAAOygW,EAAa,aAAIzgW,MAE/DM,KAAKmoW,wBACE7B,IACJ,GArfI,KAsfP39B,GAjfG,KAkfHA,GAjfS,KAkfTA,GACAw8B,GAAwBx8B,GAGxB,OADA3oU,KAAKmoW,wBACE7B,GACJ,GAhgBK,KAggBD39B,EAA+B,CACtC,IAAIy8B,GAAcz8B,EAAW3oU,KAAKonW,cAAc,IAI5C,OADApnW,KAAKmoW,wBACE7B,GAHP5mW,EAAMoH,KAAK9G,KAAKooW,gCAMpB1oW,EAAMoH,KAAK6hU,KAKf,YAAAi/B,kBAAR,WACI,KAAOhD,GAAa5kW,KAAKonW,cAAc,KACnCpnW,KAAKknW,oBAIL,YAAAiB,sBAAR,WACI,OAAa,CACT,IAAMx/B,EAAY3oU,KAAKknW,mBACvB,GA5gBc,KA4gBVv+B,IA/eJ,IA+euCA,EACnC,OAGAy8B,GAAcz8B,EAAW3oU,KAAKonW,cAAc,KAC5CpnW,KAAKooW,4BAKT,YAAAC,mBAAR,SAA2Bj3T,GAGvB,IAFA,IACI1xC,EAAQ,GACL0xC,EAAQ,GAAG,CACd,IAAMk3T,EAASnhW,KAAK6K,IAHC,IAGqBo/B,GAC1C1xC,GAASygW,EAAa,aAAIngW,KAAKs7I,OAAO57G,OAAO,EAAG4oU,IAChDl3T,GAASk3T,EAIb,OAFAtoW,KAAKs7I,OAAO1mE,QAELl1E,GAGH,YAAAynW,mBAAR,SAA2BoB,GAIvB,IAHA,IAAI7oW,EAAQ,GACR7C,EAAI,IAEL,CACC,IAAM8rU,EAAY3oU,KAAKs7I,OAAOz+I,GAC9B,IA5gBA,IA4gBI8rU,QAAmC/oS,IAAd+oS,GAA2BA,IAAc4/B,EAE9D,MAAO,CAACt3V,KAAM,EAAwBvR,MADtCA,GAASM,KAAKqoW,mBAAmBxrW,IAIrC,GA1jBM,KA0jBF8rU,EAEA,OADA3oU,KAAKs7I,OAAO57G,OAAO,EAAG7iC,GACf0pW,GAGX,GA7jBY,KA6jBR59B,EAA+B,CAC/B,IAAMpnU,EAAOvB,KAAKs7I,OAAOz+I,EAAI,IAvhBjC,IAwhBQ0E,QAAyBq+B,IAATr+B,IAjkBlB,KAkkBMA,GACA7B,GAASM,KAAKqoW,mBAAmBxrW,GACjCA,GAAK,EACLmD,KAAKs7I,OAAO1mE,SACLwwR,GAAcz8B,EAAWpnU,KAChC7B,GAASM,KAAKqoW,mBAAmBxrW,GACjC6C,GAASygW,EAAcngW,KAAKooW,2BAC5BvrW,GAAK,IAKjBA,MAIA,YAAA2rW,cAAR,WACI,IAAMC,EAAO,GACTx3V,EAvlBgB,EAwlBhBmiL,EAAKpzL,KAAKonW,cAAc,GAK5B,IA5jBU,KAwjBNh0K,GAxkBS,KAwkBWA,GACpBq1K,EAAK3hW,KAAK9G,KAAKknW,oBAGZvC,GAAQ3kW,KAAKonW,cAAc,KAC9BqB,EAAK3hW,KAAK9G,KAAKknW,oBAEnB9zK,EAAKpzL,KAAKonW,cAAc,GACxB,IAAI/zK,EAAKrzL,KAAKonW,cAAc,GAC5B,GA7jBU,KA6jBNh0K,GAAoBuxK,GAAQtxK,GAG5B,IAFAo1K,EAAK3hW,KAAK9G,KAAKknW,mBAAoBlnW,KAAKknW,oBACxCj2V,EAnmBe,EAomBR0zV,GAAQ3kW,KAAKonW,cAAc,KAC9BqB,EAAK3hW,KAAK9G,KAAKknW,oBAIvB9zK,EAAKpzL,KAAKonW,cAAc,GACxB/zK,EAAKrzL,KAAKonW,cAAc,GACxB,IAAM9zK,EAAKtzL,KAAKonW,cAAc,GAC9B,IAzjBE,KAyjBGh0K,GA9jBH,MA8jBeA,MA5kBP,KA4kBuBC,GA5lBpB,KA4lBwCA,IAAwBsxK,GAAQrxK,IAAQqxK,GAAQtxK,IAGjG,IAFAo1K,EAAK3hW,KAAK9G,KAAKknW,mBAAoBlnW,KAAKknW,oBACxCj2V,EA9mBe,EA+mBR0zV,GAAQ3kW,KAAKonW,cAAc,KAC9BqB,EAAK3hW,KAAK9G,KAAKknW,oBAIvB,MAAO,CAAC3B,GAAekD,GAAOx3V,IAG1B,YAAAs2V,oBAAR,WACU,MAAkBvnW,KAAKwoW,gBAAtBz+O,EAAM,KAAE86E,EAAK,KACdzR,EAAKpzL,KAAKonW,cAAc,GACxB/zK,EAAKrzL,KAAKonW,cAAc,GACxB9zK,EAAKtzL,KAAKonW,cAAc,GAE9B,OAAI/B,GAAkBjyK,EAAIC,EAAIC,GAEnB,CAACriL,KAAM,GAA2B84G,OAAM,EAAE86E,MAAK,EAAE1oD,KAD3Cn8I,KAAKqnW,eAnnBN,KAunBZj0K,GACApzL,KAAKknW,mBACE,CAACj2V,KAAM,GAA4B84G,OAAM,EAAE86E,MAAK,IAGpD,CAAC5zL,KAAM,GAAwB84G,OAAM,EAAE86E,MAAK,IAG/C,YAAAujK,wBAAR,WACI,IAAMz/B,EAAY3oU,KAAKknW,mBAEvB,GAAI/gK,GAAMwiI,GAAY,CAElB,IADA,IAAIz/Q,EAAMi3S,EAAcx3B,GACjBxiI,GAAMnmM,KAAKonW,cAAc,KAAOl+S,EAAIpsD,OAAS,GAChDosD,GAAOi3S,EAAcngW,KAAKknW,oBAG1BtC,GAAa5kW,KAAKonW,cAAc,KAChCpnW,KAAKknW,mBAGT,IAAMwB,EAAexqV,SAASgrC,EAAK,IAEnC,OAAqB,IAAjBw/S,GAhmBa,SAAC//B,GAAsB,OAAAA,GAAa,OAAUA,GAAa,MAgmBlDggC,CAAqBD,IAAiBA,EAAe,QA3nB7D,MA+nBXA,EAGX,OArnBI,IAqnBA//B,EAloBkB,MAsoBfA,GAGH,YAAA0+B,YAAR,WAEI,IADA,IAAIxnW,EAAS,KACA,CACT,IAAM8oU,EAAY3oU,KAAKknW,mBACvB,GAAIhC,GAAgBv8B,GAChB9oU,GAAUsgW,EAAcx3B,OACrB,KAAIy8B,GAAcz8B,EAAW3oU,KAAKonW,cAAc,IAInD,OADApnW,KAAKsnW,mBAAmB3+B,GACjB9oU,EAHPA,GAAUsgW,EAAcngW,KAAKooW,8BAO7C,EA7eA,GC1RA,cAGI,WAAY1wV,GACR1X,KAAK4oW,QAAUlxV,EA6GvB,OA1GW,EAAAlY,OAAP,SAAcE,GACV,IAAMmpW,EAAY,IAAI33B,GAEtB,OADA23B,EAAUhxK,MAAMn4L,GACT,IAAIsxU,EAAO63B,EAAU5iJ,SAGzB,EAAA6iJ,WAAP,SAAkBppW,GACd,OAAOsxU,EAAOxxU,OAAOE,GAAOqpW,uBAGzB,EAAAC,YAAP,SAAmBtpW,GACf,OAAOsxU,EAAOxxU,OAAOE,GAAOupW,wBAGhC,YAAAF,oBAAA,WAEI,IADA,IAAIzxU,EAAQt3B,KAAKinW,eACA,KAAV3vU,EAAMrmB,MACTqmB,EAAQt3B,KAAKinW,eAGjB,GAAc,KAAV3vU,EAAMrmB,KACN,MAAM,IAAIi4V,YAAY,qDAG1BlpW,KAAKmpW,eAAe7xU,GACpB,IAAM53B,EAAQM,KAAKopW,wBAEnB,GACI9xU,EAAQt3B,KAAKinW,qBACE,KAAV3vU,EAAMrmB,MAEf,GAAc,KAAVqmB,EAAMrmB,KACN,OAAOvR,EAGX,MAAM,IAAIwpW,YAAY,qFAG1B,YAAAD,qBAAA,WAEI,IADA,IAAMxrV,EAAS,KACF,CACT,IAAM/d,EAAQM,KAAKopW,wBACnB,GAAc,KAAV1pW,EAAMuR,KACN,OAAOwM,EAEXA,EAAO3W,KAAKpH,GACZ+d,EAAO3W,SAIP,YAAAsiW,sBAAR,WACI,IAAM9xU,EAAQt3B,KAAKinW,eAEnB,OAAQ3vU,EAAMrmB,MACV,KAAK,GACL,KAAK,GACL,KAAK,EACD,OAAOjR,KAAKqpW,mBAAmB/xU,EAAMrmB,MACzC,KAAK,GACD,OAAOjR,KAAKspW,gBAAgBhyU,GAGpC,OAAOA,GAGH,YAAA+xU,mBAAR,SAA2Bp4V,GAIvB,IAHA,IAAMo6G,EAAkB,CAACp6G,KAAI,EAAEwM,OAAQ,IAEnC6Z,EAAQt3B,KAAKinW,iBACJ,CACT,GAAc,KAAV3vU,EAAMrmB,MAAgCs4V,GAAiBjyU,EAAOrmB,GAC9D,OAAOo6G,EAGXrrH,KAAKmpW,eAAe7xU,GACpB+zF,EAAM5tG,OAAO3W,KAAK9G,KAAKopW,yBACvB9xU,EAAQt3B,KAAKinW,iBAIb,YAAAqC,gBAAR,SAAwBE,GAOpB,IANA,IAAMC,EAA2B,CAC7BrnW,KAAMonW,EAAc9pW,MACpB+d,OAAQ,GACRxM,KAAM,MAGG,CACT,IAAMqmB,EAAQt3B,KAAKinW,eACnB,GAAc,KAAV3vU,EAAMrmB,MAA0C,IAAVqmB,EAAMrmB,KAC5C,OAAOw4V,EAGXzpW,KAAKmpW,eAAe7xU,GACpBmyU,EAAYhsV,OAAO3W,KAAK9G,KAAKopW,2BAI7B,YAAAnC,aAAR,WACI,IAAM3vU,EAAQt3B,KAAK4oW,QAAQh0R,QAC3B,MAAwB,qBAAVt9C,EAAwByvU,GAAYzvU,GAG9C,YAAA6xU,eAAR,SAAuB7xU,GACnBt3B,KAAK4oW,QAAQ/tU,QAAQvD,IAE7B,EAjHA,GAmHaoyU,GAAmB,SAACpyU,GAA6C,OAAU,KAAVA,EAAMrmB,MACvE04V,GAAgB,SAACryU,GAA+C,OAAU,KAAVA,EAAMrmB,MACtE24V,GAAe,SAACtyU,GAA+C,OAAU,KAAVA,EAAMrmB,MACrE44V,GAAgB,SAACvyU,GAA+C,OAAU,IAAVA,EAAMrmB,MACtE64V,GAAmB,SAACxyU,EAAiB53B,GAC9C,OAAAkqW,GAAatyU,IAAUA,EAAM53B,QAAUA,GAE9BqqW,GAAgB,SAACzyU,GAA6B,OAAU,KAAVA,EAAMrmB,MACpD+4V,GAA0B,SAAC1yU,GACpC,OAAU,KAAVA,EAAMrmB,MAAiD,IAAVqmB,EAAMrmB,MAE1Cg5V,GAAoB,SAACvyV,GAC9B,IAAMgsC,EAAqB,GACvBgwE,EAAkB,GAmBtB,OAlBAh8G,EAAOqd,SAAQ,SAACuC,GACZ,GAAc,IAAVA,EAAMrmB,KAAgC,CACtC,GAAmB,IAAfyiH,EAAI52H,OACJ,MAAM,IAAIoiC,MAAM,oDAIpB,OAFAwkB,EAAK58C,KAAK4sH,QACVA,EAAM,IAII,KAAVp8F,EAAMrmB,MACNyiH,EAAI5sH,KAAKwwB,MAGbo8F,EAAI52H,QACJ4mD,EAAK58C,KAAK4sH,GAGPhwE,GAGL6lT,GAAmB,SAACjyU,EAAiBrmB,GACvC,OAAa,KAATA,GAAyD,KAAVqmB,EAAMrmB,MAG5C,KAATA,GAA0D,KAAVqmB,EAAMrmB,MAI1C,IAATA,GAAuD,IAAVqmB,EAAMrmB,MCrLjD8/T,GAAW,SAACz5S,GACrB,OAAU,KAAVA,EAAMrmB,MAA6C,KAAVqmB,EAAMrmB,MCAtCi5V,GAAqB,SAAC5yU,GAC/B,OAAU,KAAVA,EAAMrmB,MAAuC8/T,GAASz5S,IAC7C6yU,GAA6B,SAACzyV,GACvC,OAAAA,EAAO5a,OAAS,EAAI,CAAC4a,EAAO,GAAIA,EAAO,IAAM,CAACA,EAAO,KAC5C0yV,GAAgC,CACzCn5V,KAAM,GACN84G,OAAQ,EACR86E,MHgGwB,GG7FfwlK,GAAkC,CAC3Cp5V,KAAM,GACN84G,OAAQ,GACR86E,MH0FwB,GGvFfylK,GAAoC,CAC7Cr5V,KAAM,GACN84G,OAAQ,IACR86E,MHoFwB,GGjFf0lK,GAA2B,SACpCC,EACA5jW,EACAC,GAEO,IAAAgG,EAAQ29V,EAAP,GAAE19V,EAAK09V,EAAJ,GACX,MAAO,CAACC,GAAiB59V,EAAGjG,GAAQ6jW,GAA8B,qBAAN39V,EAAoBA,EAAID,EAAGhG,KAE9E4jW,GAAmB,SAACnzU,EAAyB1kB,GACtD,GAAc,KAAV0kB,EAAMrmB,KACN,OAAQqmB,EAAMyyF,OAAS,IAAOn3G,EAGlC,GAAI82V,GAAiBpyU,GACjB,OAAQA,EAAM6kH,MACV,IAAK,MACL,IAAK,KACD,OAAO,GAAK7kH,EAAMyyF,OACtB,IAAK,KACL,QACI,OAAOzyF,EAAMyyF,OAIzB,OAAOzyF,EAAMyyF,QCxCJ95G,GAEF,SAACm3U,EAAmB1nV,GACvB,GAAc,KAAVA,EAAMuR,KACN,OAAQvR,EAAMy8I,MACV,IAVJ,MAWQ,OAAQh1I,KAAKsE,GAAK/L,EAAMqqH,OAAU,IACtC,IAXH,OAYO,OAAQ5iH,KAAKsE,GAAK,IAAO/L,EAAMqqH,OACnC,IAZJ,MAaQ,OAAOrqH,EAAMqqH,OACjB,IAbH,OAcO,OAAiB,EAAV5iH,KAAKsE,GAAS/L,EAAMqqH,OAIvC,MAAM,IAAI7qF,MAAM,2BAIXwrU,GAAU,SAAChrW,GACpB,OAAc,KAAVA,EAAMuR,OA1BF,QA2BAvR,EAAMy8I,MA1BL,SA0BqBz8I,EAAMy8I,MAzB5B,QAyB6Cz8I,EAAMy8I,MAxBlD,SAwBkEz8I,EAAMy8I,OAOxEwuN,GAAiB,SAACjzV,GAM3B,OALqBA,EAChBzE,OAAO22V,IACPniV,KAAI,SAACmjV,GAAU,OAAAA,EAAMlrW,SACrB2M,KAAK,MAGN,IAAK,kBACL,IAAK,kBACL,IAAK,WACL,IAAK,WACD,MAAO,CAAC+9V,GAAaA,IACzB,IAAK,SACL,IAAK,SACD,OAAOS,GAAI,GACf,IAAK,iBACL,IAAK,iBACL,IAAK,YACL,IAAK,YACD,MAAO,CAACT,GAAaE,IACzB,IAAK,WACL,IAAK,OACD,OAAOO,GAAI,IACf,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,eACD,MAAO,CAACP,GAAiBA,IAC7B,IAAK,YACL,IAAK,MACD,OAAOO,GAAI,KACf,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,cACD,MAAO,CAACP,GAAiBF,IAC7B,IAAK,UACL,IAAK,QACD,OAAOS,GAAI,KAGnB,OAAO,GAGEA,GAAM,SAAC,GAAwB,OAAC1jW,KAAKsE,GAAK,EAAO,KC7EjD1B,GAEF,SAACurD,EAAkB51D,GACtB,GAAc,KAAVA,EAAMuR,KAA6B,CACnC,IAAM65V,EAAgBC,GAA0BrrW,EAAM0C,MACtD,GAA6B,qBAAlB0oW,EACP,MAAM,IAAI5rU,MAAM,sDAAsDx/B,EAAM0C,KAAI,KAEpF,OAAO0oW,EAAcx1S,EAAS51D,EAAM+d,QAGxC,GAAc,IAAV/d,EAAMuR,KAA+B,CACrC,GAA2B,IAAvBvR,EAAMA,MAAM5C,OAAc,CAC1B,IAAMyF,EAAI7C,EAAMA,MAAM2xC,UAAU,EAAG,GAC7BpnC,EAAIvK,EAAMA,MAAM2xC,UAAU,EAAG,GAC7BnnC,EAAIxK,EAAMA,MAAM2xC,UAAU,EAAG,GACnC,OAAOslR,GAAKz4S,SAAS3b,EAAIA,EAAG,IAAK2b,SAASjU,EAAIA,EAAG,IAAKiU,SAAShU,EAAIA,EAAG,IAAK,GAG/E,GAA2B,IAAvBxK,EAAMA,MAAM5C,OAAc,CACpByF,EAAI7C,EAAMA,MAAM2xC,UAAU,EAAG,GAC7BpnC,EAAIvK,EAAMA,MAAM2xC,UAAU,EAAG,GAC7BnnC,EAAIxK,EAAMA,MAAM2xC,UAAU,EAAG,GAFnC,IAGM1kC,EAAIjN,EAAMA,MAAM2xC,UAAU,EAAG,GACnC,OAAOslR,GAAKz4S,SAAS3b,EAAIA,EAAG,IAAK2b,SAASjU,EAAIA,EAAG,IAAKiU,SAAShU,EAAIA,EAAG,IAAKgU,SAASvR,EAAIA,EAAG,IAAM,KAGrG,GAA2B,IAAvBjN,EAAMA,MAAM5C,OAIZ,OAHMyF,EAAI7C,EAAMA,MAAM2xC,UAAU,EAAG,GAC7BpnC,EAAIvK,EAAMA,MAAM2xC,UAAU,EAAG,GAC7BnnC,EAAIxK,EAAMA,MAAM2xC,UAAU,EAAG,GAC5BslR,GAAKz4S,SAAS3b,EAAG,IAAK2b,SAASjU,EAAG,IAAKiU,SAAShU,EAAG,IAAK,GAGnE,GAA2B,IAAvBxK,EAAMA,MAAM5C,OAKZ,OAJMyF,EAAI7C,EAAMA,MAAM2xC,UAAU,EAAG,GAC7BpnC,EAAIvK,EAAMA,MAAM2xC,UAAU,EAAG,GAC7BnnC,EAAIxK,EAAMA,MAAM2xC,UAAU,EAAG,GAC7B1kC,EAAIjN,EAAMA,MAAM2xC,UAAU,EAAG,GAC5BslR,GAAKz4S,SAAS3b,EAAG,IAAK2b,SAASjU,EAAG,IAAKiU,SAAShU,EAAG,IAAKgU,SAASvR,EAAG,IAAM,KAIzF,GAAc,KAAVjN,EAAMuR,KAAgC,CACtC,IAAM+5V,EAAariQ,GAAOjpG,EAAMA,MAAM+lF,eACtC,GAA0B,qBAAfulR,EACP,OAAOA,EAIf,OAAOriQ,GAAOsiQ,aAITC,GAAgB,SAACnhW,GAA0B,OAAmB,KAAlB,IAAOA,IAEnDohW,GAAW,SAACphW,GACrB,IAAM8e,EAAQ,IAAO9e,EACf0f,EAAO,IAAQ1f,GAAS,EACxBqiB,EAAQ,IAAQriB,GAAS,GACzBomB,EAAM,IAAQpmB,GAAS,GAC7B,OAAO8e,EAAQ,IAAM,QAAQsH,EAAG,IAAI/D,EAAK,IAAI3C,EAAI,IAAIZ,EAAQ,IAAG,IAAM,OAAOsH,EAAG,IAAI/D,EAAK,IAAI3C,EAAI,KAGxFktS,GAAO,SAACp0T,EAAW0H,EAAWC,EAAWyC,GAClD,OAAEpK,GAAK,GAAO0H,GAAK,GAAOC,GAAK,EAAM/C,KAAKi9G,MAAU,IAAJz3G,IAAY,KAAQ,GAElEy+V,GAAqB,SAAC9zU,EAAiBz6B,GACzC,GAAc,KAAVy6B,EAAMrmB,KACN,OAAOqmB,EAAMyyF,OAGjB,GAAc,KAAVzyF,EAAMrmB,KAAqC,CAC3C,IAAMiB,EAAY,IAANrV,EAAU,EAAI,IAC1B,OAAa,IAANA,EAAWy6B,EAAMyyF,OAAS,IAAO73G,EAAM/K,KAAKi9G,MAAO9sF,EAAMyyF,OAAS,IAAO73G,GAGpF,OAAO,GAGLq0M,GAAM,SAAC6gI,EAAmB1jS,GAC5B,IAAMhsC,EAASgsC,EAAKzwC,OAAO+2V,IAE3B,GAAsB,IAAlBtyV,EAAO5a,OAAc,CACf,MAAY4a,EAAO+P,IAAI2jV,IAAtB7oW,EAAC,KAAE0H,EAAC,KAAEC,EAAC,KACd,OAAOysT,GAAKp0T,EAAG0H,EAAGC,EAAG,GAGzB,GAAsB,IAAlBwN,EAAO5a,OAAc,CACf,MAAe4a,EAAO+P,IAAI2jV,IAAhBz+V,GAATpK,EAAC,KAAE0H,EAAC,KAAEC,EAAC,KAAG,MACjB,OAAOysT,GAAKp0T,EAAG0H,EAAGC,EAAGyC,GAGzB,OAAO,GAGX,SAAS0+V,GAAQ77V,EAAYC,EAAY67V,GAQrC,OAPIA,EAAM,IACNA,GAAO,GAEPA,GAAO,IACPA,GAAO,GAGPA,EAAM,EAAI,GACF77V,EAAKD,GAAM87V,EAAM,EAAI97V,EACtB87V,EAAM,GACN77V,EACA67V,EAAM,EAAI,EACE,GAAX77V,EAAKD,IAAW,EAAI,EAAI87V,GAAO97V,EAEhCA,EAIf,ICrHY+7V,GDqHNxwF,GAAM,SAACzlN,EAAkB5R,GAC3B,IAAMhsC,EAASgsC,EAAKzwC,OAAO+2V,IACpBsB,EAAqC5zV,EAAlC,GAAE8zV,EAAgC9zV,EAAtB,GAAE+zV,EAAoB/zV,EAAX,GAAEmR,EAASnR,EAAJ,GAElCsc,GAAa,KAARs3U,EAAIr6V,KAAkC45V,GAAIS,EAAIvhP,QAAU95G,GAAYqlD,EAASg2S,KAAmB,EAAVnkW,KAAKsE,IAChG7K,EAAIspW,GAAmBsB,GAAcA,EAAWzhP,OAAS,IAAM,EAC/DhoH,EAAImoW,GAAmBuB,GAAaA,EAAU1hP,OAAS,IAAM,EAC7Dp9G,EAAqB,qBAAVkc,GAAyBqhV,GAAmBrhV,GAAS4hV,GAAiB5hV,EAAO,GAAK,EAEnG,GAAU,IAANjoB,EACA,OAAO+1T,GAAS,IAAJ50T,EAAa,IAAJA,EAAa,IAAJA,EAAS,GAG3C,IAAM0N,EAAK1N,GAAK,GAAMA,GAAKnB,EAAI,GAAKmB,EAAInB,EAAImB,EAAInB,EAE1C4O,EAAS,EAAJzN,EAAQ0N,EACblN,EAAI8oW,GAAQ77V,EAAIC,EAAIukB,EAAI,EAAI,GAC5B/pB,EAAIohW,GAAQ77V,EAAIC,EAAIukB,GACpB9pB,EAAImhW,GAAQ77V,EAAIC,EAAIukB,EAAI,EAAI,GAClC,OAAO2iS,GAAS,IAAJp0T,EAAa,IAAJ0H,EAAa,IAAJC,EAASyC,IAGrCo+V,GAEF,CACAhwF,IAAKA,GACL2wF,KAAM3wF,GACNx0D,IAAKA,GACL/iM,KAAM+iM,IAGGsxH,GAAa,SAACviR,EAAkB51D,GACzC,UAAY41D,EAAS07Q,GAAOxxU,OAAOE,GAAOqpW,wBAEjCpgQ,GAAiC,CAC1CgjQ,UAAW,WACXC,aAAc,WACdC,KAAM,SACNC,WAAY,WACZC,MAAO,WACPC,MAAO,WACPC,OAAQ,WACRC,MAAO,IACPC,eAAgB,WAChBC,KAAM,MACNC,WAAY,WACZC,MAAO,WACPC,UAAW,WACXC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,MAAO,WACPC,eAAgB,WAChBC,SAAU,WACVC,QAAS,WACTC,KAAM,SACNC,SAAU,MACVC,SAAU,QACVC,cAAe,WACfC,SAAU,WACVC,UAAW,QACXC,SAAU,WACVC,UAAW,WACXC,YAAa,WACbC,eAAgB,WAChBC,WAAY,WACZC,WAAY,WACZC,QAAS,WACTC,WAAY,WACZC,aAAc,WACdC,cAAe,WACfC,cAAe,UACfC,cAAe,UACfC,cAAe,SACfC,WAAY,WACZC,SAAU,WACVC,YAAa,SACbC,QAAS,WACTC,QAAS,WACTC,WAAY,UACZC,UAAW,WACXC,YAAa,WACbC,YAAa,UACbC,QAAS,WACTC,UAAW,WACXC,WAAY,WACZC,KAAM,WACNC,UAAW,WACXC,KAAM,WACNC,MAAO,QACPC,YAAa,WACbC,KAAM,WACNC,SAAU,WACVC,QAAS,WACTC,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,SAAU,WACVC,cAAe,WACfC,UAAW,WACXC,aAAc,WACdC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,qBAAsB,WACtBC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,cAAe,UACfC,aAAc,WACdC,eAAgB,WAChBC,eAAgB,WAChBC,eAAgB,WAChBC,YAAa,WACbC,KAAM,SACNC,UAAW,UACXC,MAAO,WACPC,QAAS,WACTC,OAAQ,WACRC,iBAAkB,WAClBC,WAAY,MACZC,aAAc,WACdC,aAAc,WACdC,eAAgB,WAChBC,gBAAiB,WACjBC,kBAAmB,SACnBC,gBAAiB,WACjBC,gBAAiB,WACjBC,aAAc,UACdC,UAAW,WACXC,UAAW,WACXC,SAAU,WACVC,YAAa,WACbC,KAAM,MACNC,QAAS,WACTC,MAAO,WACPC,UAAW,WACXC,OAAQ,WACRC,UAAW,WACXC,OAAQ,WACRC,cAAe,WACfC,UAAW,WACXC,cAAe,WACfC,cAAe,WACfC,WAAY,WACZC,UAAW,WACXC,KAAM,WACNC,KAAM,WACNC,KAAM,WACNC,WAAY,WACZC,OAAQ,WACRC,cAAe,WACfC,IAAK,WACLC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,OAAQ,WACRC,WAAY,WACZC,SAAU,UACVC,SAAU,WACVC,OAAQ,WACRC,OAAQ,WACRC,QAAS,WACTC,UAAW,WACXC,UAAW,WACXC,UAAW,WACXC,KAAM,WACNC,YAAa,SACbC,UAAW,WACXC,IAAK,WACLC,KAAM,QACNC,QAAS,WACTC,OAAQ,WACRtJ,YAAa,EACbuJ,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,WAAY,WACZC,OAAQ,WACRC,YAAa,YEvSJC,GAA0D,CACnE3yW,KAAM,kBACN0a,aAAc,aACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOA,EAAO+P,KAAI,SAAC6P,GACf,GAAIsyU,GAAatyU,GACb,OAAQA,EAAM53B,OACV,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EAGnB,OAAO,OCxBN0mE,GAAgD,CACzDhkE,KAAM,mBACN0a,aAAc,cACd6oB,QAAQ,EACR10B,KAAM,EACNyzH,OAAQ,SCMCswO,GAAiB,SAAC1/S,EAAkB5R,GAC7C,IAAM35C,EAAQ27M,GAAgBpwJ,EAAS5R,EAAK,IACtCjgD,EAAOigD,EAAK,GAClB,OAAOjgD,GAAQymW,GAAmBzmW,GAAQ,CAACsG,MAAK,EAAEtG,KAAI,GAAI,CAACsG,MAAK,EAAEtG,KAAM,OAG/DwxW,GAAoB,SAAC95V,EAAuC+5V,GACrE,IAAMrsT,EAAQ1tC,EAAM,GACdguC,EAAOhuC,EAAMA,EAAMre,OAAS,GACf,OAAf+rD,EAAMplD,OACNolD,EAAMplD,KAAO2mW,IAGC,OAAdjhT,EAAK1lD,OACL0lD,EAAK1lD,KAAO6mW,IAKhB,IAFA,IAAM6K,EAAkC,GACpCtpU,EAAW,EACNhvC,EAAI,EAAGA,EAAIse,EAAMre,OAAQD,IAAK,CACnC,IAAM,EAAOse,EAAMte,GAAG4G,KACtB,GAAa,OAAT,EAAe,CACf,IAAMi+I,EAAgB+oN,GAAiB,EAAMyK,GACzCxzN,EAAgB71G,EAChBspU,EAAaruW,KAAK46I,GAElByzN,EAAaruW,KAAK+kC,GAEtBA,EAAW61G,OAEXyzN,EAAaruW,KAAK,MAI1B,IAAIsuW,EAAW,KACf,IAASv4W,EAAI,EAAGA,EAAIs4W,EAAar4W,OAAQD,IAAK,CAC1C,IAAM,EAAOs4W,EAAat4W,GAC1B,GAAa,OAAT,EACiB,OAAbu4W,IACAA,EAAWv4W,QAEZ,GAAiB,OAAbu4W,EAAmB,CAI1B,IAHA,IAAMC,EAAYx4W,EAAIu4W,EAEhBE,GAAY,EADAH,EAAaC,EAAW,KACHC,EAAY,GAC1CprW,EAAI,EAAGA,GAAKorW,EAAWprW,IAC5BkrW,EAAaC,EAAWnrW,EAAI,GAAKqrW,EAAWrrW,EAEhDmrW,EAAW,MAInB,OAAOj6V,EAAMsM,KAAI,SAAC,EAAS5qB,GACvB,MAAO,CAACkN,MADY,QACLtG,KAAM0D,KAAK+K,IAAI/K,KAAK6K,IAAI,EAAImjW,EAAat4W,GAAgBq4W,GAAa,QAahFK,GAA6B,SACtCtlW,EACArJ,EACAC,GAEA,IAAMm2E,EAA0B,kBAAV/sE,EAAqBA,EAdpB,SAACulW,EAAwB5uW,EAAeC,GAC/D,IAAM+wF,EAAUhxF,EAAQ,EAClB+wF,EAAU9wF,EAAS,EACnBgG,EAAI49V,GAAiB+K,EAAO,GAAI5uW,GAASgxF,EACzC9qF,EAAI6qF,EAAU8yQ,GAAiB+K,EAAO,GAAI3uW,GAEhD,OAAQM,KAAK6F,MAAMF,EAAGD,GAAe,EAAV1F,KAAKsE,KAAqB,EAAVtE,KAAKsE,IAQGgqW,CAAmBxlW,EAAOrJ,EAAOC,GAE9EquW,EAAa/tW,KAAKwjD,IAAI/jD,EAAQO,KAAKkJ,IAAI2sE,IAAW71E,KAAKwjD,IAAI9jD,EAASM,KAAKiJ,IAAI4sE,IAE7E04R,EAAY9uW,EAAQ,EACpB+uW,EAAa9uW,EAAS,EACtB+uW,EAAiBV,EAAa,EAE9BrhS,EAAQ1sE,KAAKkJ,IAAI2sE,EAAS71E,KAAKsE,GAAK,GAAKmqW,EACzChiS,EAAQzsE,KAAKiJ,IAAI4sE,EAAS71E,KAAKsE,GAAK,GAAKmqW,EAE/C,MAAO,CAACV,EAAYQ,EAAY9hS,EAAO8hS,EAAY9hS,EAAO+hS,EAAa9hS,EAAO8hS,EAAa9hS,IAGzFvM,GAAW,SAAC36D,EAAWzC,GAAsB,OAAA/C,KAAKC,KAAKuF,EAAIA,EAAIzC,EAAIA,IAEnE2rW,GAAa,SAACjvW,EAAeC,EAAgBgG,EAAWC,EAAW03E,GAQrE,MAPgB,CACZ,CAAC,EAAG,GACJ,CAAC,EAAG39E,GACJ,CAACD,EAAO,GACR,CAACA,EAAOC,IAGGkoE,QACX,SAAC+mS,EAAMN,GACI,IAAAtlW,EAAUslW,EAAR,GAAErlW,EAAMqlW,EAAJ,GACPrzW,EAAImlE,GAASz6D,EAAIqD,EAAIpD,EAAIqD,GAC/B,OAAIq0E,EAAUriF,EAAI2zW,EAAKC,gBAAkB5zW,EAAI2zW,EAAKC,iBACvC,CACHC,cAAeR,EACfO,gBAAiB5zW,GAIlB2zW,IAEX,CACIC,gBAAiBvxR,EAAU8U,KAAW,IACtC08Q,cAAe,OAErBA,eCtHOC,GAAuB,SAAC3gT,EAAkB59C,GACnD,IAAIzH,EAAiC46V,GAAI,KACnC1vV,EAAwC,GAoB9C,OAlBA8uV,GAAkBvyV,GAAQqd,SAAQ,SAAC2+F,EAAK72H,GACpC,GAAU,IAANA,EAAS,CACT,IAAMq5W,EAAaxiP,EAAI,GACvB,GACmB,KAAfwiP,EAAWjlW,OACuD,IAAlE,CAAC,MAAO,OAAQ,QAAS,UAAU5G,QAAQ6rW,EAAWx2W,OAGtD,YADAuQ,EAAQ06V,GAAej3O,IAEpB,GAAIg3O,GAAQwL,GAEf,YADAjmW,GAASkmW,GAAgB7gT,EAAS4gT,GAAcrL,GAAI,MAAQA,GAAI,MAIxE,IAAMuL,EAAYpB,GAAe1/S,EAASo+D,GAC1Cv4G,EAAMrU,KAAKsvW,MAGR,CACHnmW,MAAK,EACLkL,MAAK,EACLlK,KAAM,ICRDolW,GAAuB,SAAC/gT,EAAkB59C,GACnD,IAAIioC,EAAK,EACLulB,EAAI,EACF/pD,EAAwC,GACxCwnB,EAA+B,GAsErC,OApEAsnU,GAAkBvyV,GAAQqd,SAAQ,SAAC2+F,EAAK72H,GACpC,IAAIy5W,GAAc,EA6DlB,GA5DU,IAANz5W,EACAy5W,EAAc5iP,EAAI3kD,QAAO,SAACw4D,EAAKjwG,GAC3B,GAAIsyU,GAAatyU,GACb,OAAQA,EAAM53B,OACV,IAAK,SAED,OADAijC,EAAS77B,KAAKujW,KACP,EACX,IAAK,MACL,IAAK,OAED,OADA1nU,EAAS77B,KAAKsjW,KACP,EACX,IAAK,QACL,IAAK,SAED,OADAznU,EAAS77B,KAAKwjW,KACP,OAEZ,GAAIJ,GAAmB5yU,IAAUy5S,GAASz5S,GAE7C,OADAqL,EAAS77B,KAAKwwB,IACP,EAGX,OAAOiwG,IACR+uO,GACU,IAANz5W,IACPy5W,EAAc5iP,EAAI3kD,QAAO,SAACw4D,EAAKjwG,GAC3B,GAAIsyU,GAAatyU,GACb,OAAQA,EAAM53B,OACV,IC1CF,SD4CM,OADAigD,EAAQ,GACD,EACX,IC5CD,UD8CK,OADAA,EAAQ,GACD,EACX,IC7CD,UD8CC,ICrDI,eDuDA,OADAulB,EAAO,GACA,EACX,ICvDK,gBDyDD,OADAA,EAAO,GACA,EACX,ICzDM,iBD2DF,OADAA,EAAO,GACA,EACX,ICxDH,QDyDG,IC5DO,kBD8DH,OADAA,EAAO,GACA,OAEZ,GAAI6rQ,GAASz5S,IAAU4yU,GAAmB5yU,GAK7C,OAJK72B,MAAMC,QAAQwkE,KACfA,EAAO,IAEXA,EAAKp+D,KAAKwwB,IACH,EAGX,OAAOiwG,IACR+uO,IAGHA,EAAa,CACb,IAAMF,EAAYpB,GAAe1/S,EAASo+D,GAC1Cv4G,EAAMrU,KAAKsvW,OAIZ,CAAClxS,KAAI,EAAEvlB,MAAK,EAAExkC,MAAK,EAAEwnB,SAAQ,EAAE1xB,KAAM,IEnBnC0P,GAEF,SAAC20C,EAAkB51D,GACtB,GAAc,KAAVA,EAAMuR,KAA8B,CACpC,IAAM,EAAqB,CAACrJ,IAAKlI,EAAMA,MAAOuR,KAAM,GAEpD,OADAqkD,EAAQizC,MAAM+tG,SAAS52M,EAAMA,OACtB,EAGX,GAAc,KAAVA,EAAMuR,KAA6B,CACnC,IAAMslW,EAAgBC,GAA0B92W,EAAM0C,MACtD,GAA6B,qBAAlBm0W,EACP,MAAM,IAAIr3U,MAAM,sDAAsDx/B,EAAM0C,KAAI,KAEpF,OAAOm0W,EAAcjhT,EAAS51D,EAAM+d,QAGxC,MAAM,IAAIyhB,MAAM,0BAA0Bx/B,EAAMuR,OAWlDulW,GAA+F,CACjG,kBCrG0B,SAAClhT,EAAkB59C,GAC7C,IAAIzH,EAAiC46V,GAAI,KACnC1vV,EAAwC,GAiB9C,OAfA8uV,GAAkBvyV,GAAQqd,SAAQ,SAAC2+F,EAAK72H,GACpC,GAAU,IAANA,EAAS,CACT,IAAMq5W,EAAaxiP,EAAI,GACvB,GAAmB,KAAfwiP,EAAWjlW,MAAuD,OAArBilW,EAAWx2W,MAExD,YADAuQ,EAAQ06V,GAAej3O,IAEpB,GAAIg3O,GAAQwL,GAEf,YADAjmW,EAAQkmW,GAAgB7gT,EAAS4gT,IAIzC,IAAME,EAAYpB,GAAe1/S,EAASo+D,GAC1Cv4G,EAAMrU,KAAKsvW,MAGR,CAACnmW,MAAK,EAAEkL,MAAK,EAAElK,KAAM,IDmF5B,uBAAwBglW,GACxB,sBAAuBA,GACvB,qBAAsBA,GACtB,0BAA2BA,GAC3B,kBD3F0B,SAAC3gT,EAAkB59C,GAC7C,IAAIioC,EAAK,EACLulB,EAAI,EACF/pD,EAAwC,GACxCwnB,EAA+B,GAmErC,OAlEAsnU,GAAkBvyV,GAAQqd,SAAQ,SAAC2+F,EAAK72H,GACpC,IAAIy5W,GAAc,EAClB,GAAU,IAANz5W,EAAS,CACT,IAAI,GAAe,EACnBy5W,EAAc5iP,EAAI3kD,QAAO,SAACw4D,EAAKjwG,GAC3B,GAAI,EACA,GAAIsyU,GAAatyU,GACb,OAAQA,EAAM53B,OACV,IAAK,SAED,OADAijC,EAAS77B,KAAKujW,IACP9iO,EACX,IAAK,MACL,IAAK,OAED,OADA5kG,EAAS77B,KAAKsjW,IACP7iO,EACX,IAAK,QACL,IAAK,SAED,OADA5kG,EAAS77B,KAAKwjW,IACP/iO,OAER2iO,GAAmB5yU,IAAUy5S,GAASz5S,KAC7CqL,EAAS77B,KAAKwwB,QAEf,GAAIsyU,GAAatyU,GACpB,OAAQA,EAAM53B,OACV,IAnCF,SAqCM,OADAigD,EAAQ,GACD,EACX,IArCD,UAuCK,OADAA,EAAQ,GACD,EACX,IAAK,KAED,OADA,GAAe,GACR,EACX,IAhDI,eAkDA,OADAulB,EAAO,GACA,EACX,IA7CH,QA8CG,IAnDK,gBAqDD,OADAA,EAAO,GACA,EACX,IAhDD,UAiDC,IAtDM,iBAwDF,OADAA,EAAO,GACA,EACX,IAxDO,kBA0DH,OADAA,EAAO,GACA,OAEZ,GAAI6rQ,GAASz5S,IAAU4yU,GAAmB5yU,GAK7C,OAJK72B,MAAMC,QAAQwkE,KACfA,EAAO,IAEXA,EAAKp+D,KAAKwwB,IACH,EAEX,OAAOiwG,IACR+uO,GAGP,GAAIA,EAAa,CACb,IAAMF,EAAYpB,GAAe1/S,EAASo+D,GAC1Cv4G,EAAMrU,KAAKsvW,OAIZ,CAAClxS,KAAI,EAAEvlB,MAAK,EAAExkC,MAAK,EAAEwnB,SAAQ,EAAE1xB,KAAM,ICqB5C,uBAAwBolW,GACxB,sBAAuBA,GACvB,qBAAsBA,GACtB,0BAA2BA,GAC3B,mBEtG0B,SAC1B/gT,EACA59C,GAEA,IAAMzH,EAAQ46V,GAAI,KACZ1vV,EAAwC,GAC1ClK,EAAO,EAuCX,OAnCAg5V,GAAkBvyV,GAAQqd,SAAQ,SAAC2+F,EAAK72H,GACpC,IAAMq5W,EAAaxiP,EAAI,GACvB,GAAU,IAAN72H,EAAS,CACT,GAAI+sW,GAAasM,IAAoC,WAArBA,EAAWx2W,MAEvC,YADAuR,EAAO,GAEJ,GAAI24V,GAAasM,IAAoC,WAArBA,EAAWx2W,MAE9C,YADAuR,EAAO,GAKf,GAAmB,KAAfilW,EAAWjlW,KACX,GAAwB,SAApBilW,EAAW9zW,KAAiB,CAC5B,IAAM2H,EAAQ27M,GAAgBpwJ,EAAS4gT,EAAWz4V,OAAO,IACzDtC,EAAMrU,KAAK,CAACrD,KAAM2mW,GAAargW,MAAK,SACjC,GAAwB,OAApBmsW,EAAW9zW,KACZ2H,EAAQ27M,GAAgBpwJ,EAAS4gT,EAAWz4V,OAAO,IACzDtC,EAAMrU,KAAK,CAACrD,KAAM6mW,GAAiBvgW,MAAK,SACrC,GAAwB,eAApBmsW,EAAW9zW,KAAuB,CACzC,IAAMqb,EAASy4V,EAAWz4V,OAAOxK,OAAO+2V,IACxC,GAAsB,IAAlBvsV,EAAO3gB,OAAc,CACfiN,EAAQ27M,GAAgBpwJ,EAAS73C,EAAO,IAA9C,IACM,EAAOA,EAAO,GAChBksV,GAAc,IACdxuV,EAAMrU,KAAK,CACPrD,KAAM,CAACwN,KAAM,GAA4B84G,OAAsB,IAAd,EAAKA,OAAc86E,MAAO,EAAKA,OAChF96L,MAAK,SAQb,IAATkH,EACD,CACIhB,OAAQA,EAAQ46V,GAAI,MAAQA,GAAI,KAChC1vV,MAAK,EACLlK,KAAI,GAER,CAACi0D,KA3CG,EA2CGvlB,MA5CF,EA4CSxkC,MAAK,EAAEwnB,SA1CU,GA0CA1xB,KAAI,KC7DhC06G,GAAwD,CACjEvpH,KAAM,mBACN0a,aAAc,OACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAACgxB,EAAkB59C,GACtB,GAAsB,IAAlBA,EAAO5a,OACP,MAAO,GAGX,IAAM+rD,EAAQnxC,EAAO,GAErB,OAAc,KAAVmxC,EAAM53C,MAAkD,SAAhB43C,EAAMnpD,MACvC,GAGJgY,EACFzE,QAAO,SAACvT,GAAU,OAAAsqW,GAAwBtqW,I,SH6EtBA,GAC7B,QACgB,KAAVA,EAAMuR,MAAkD,SAAhBvR,EAAMA,SACrC,KAAVA,EAAMuR,QAAiCulW,GAA0B92W,EAAM0C,OGhFfq0W,CAAiB/2W,MACrE+nB,KAAI,SAAC/nB,GAAU,OAAAihB,GAAY20C,EAAS51D,QCZpCg3W,GAA8D,CACvEt0W,KAAM,oBACN0a,aAAc,aACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOA,EAAO+P,KAAI,SAAC6P,GACf,GAAIsyU,GAAatyU,GACb,OAAQA,EAAM53B,OACV,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EAGnB,OAAO,OCnBNyvF,GAAkE,CAC3E/sF,KAAM,sBACN0a,aAAc,QACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOuyV,GAAkBvyV,GACpB+P,KAAI,SAAChK,GAAuB,OAAAA,EAAOxK,OAAOi3V,OAC1CziV,IAAI0iV,MCJJwM,GAA8D,CACvEv0W,KAAM,oBACN0a,aAAc,SACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOuyV,GAAkBvyV,GACpB+P,KAAI,SAAChK,GACF,OAAAA,EACKxK,OAAO22V,IACPniV,KAAI,SAAC6P,GAAU,OAAAA,EAAM53B,SACrB2M,KAAK,QAEbob,IAAImvV,MAIXA,GAAwB,SAACl3W,GAC3B,OAAQA,GACJ,IAAK,YACD,OAAO,EACX,IAAK,WACL,IAAK,mBACD,OAAO,EACX,IAAK,WACL,IAAK,mBACD,OAAO,EACX,IAAK,SACL,QACI,OAAO,KbnCnB,SAAY6rW,GACR,cACA,oBACA,gBAHJ,CAAYA,QAAe,KASpB,IcbKsL,GdaC3nR,GAA0D,CACnE9sF,KAAM,kBACN0a,aAAc,IACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOuyV,GAAkBvyV,GAAQ+P,KAAI,SAAChK,GAAW,OAAAA,EAAOxK,OAAO6jW,SAIjEA,GAA4B,SAACp3W,GAC/B,OAAAkqW,GAAalqW,IAAUwqW,GAAmBxqW,IezBxCq3W,GAAqB,SAACviR,GAA+C,MAAC,CACxEpyF,KAAM,UAAUoyF,EAAI,SACpB13E,aAAc,cACd6oB,QAAQ,EACR10B,KAAM,EACNyzH,OAAQ,UAGCsyO,GAA+CD,GAAmB,OAClEE,GAAiDF,GAAmB,SACpEG,GAAkDH,GAAmB,UACrEI,GAAgDJ,GAAmB,QCN1EK,GAAsB,SAAC5iR,GAAwD,MAAC,CAClFpyF,KAAM,iBAAiBoyF,EACvB13E,aAAc,MACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAAyyV,GAA2BzyV,EAAOzE,OAAOi3V,QAGpCmN,GAA6DD,GAAoB,YACjFE,GAA8DF,GAAoB,aAClFG,GAAiEH,GAAoB,gBACrFI,GAAgEJ,GAAoB,eCR3FK,GAAqB,SAACjjR,GAA8D,MAAC,CACvFpyF,KAAM,UAAUoyF,EAAI,SACpB13E,aAAc,QACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB10U,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EAEf,OAAO,KAIFglW,GAA8DD,GAAmB,OACjFE,GAAgEF,GAAmB,SACnFG,GAAiEH,GAAmB,UACpFI,GAA+DJ,GAAmB,QC9BzFK,GAAqB,SAACtjR,GAAmD,MAAC,CAC5EpyF,KAAM,UAAUoyF,EAAI,SACpB13E,aAAc,IACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAAC8iT,EAAmB9vT,GACvB,OAAIoyU,GAAiBpyU,GACVA,EAAMyyF,OAEV,KAIF6kC,GAAmDkpN,GAAmB,OACtE/oN,GAAqD+oN,GAAmB,SACxEjpN,GAAsDipN,GAAmB,UACzEhpN,GAAoDgpN,GAAmB,QCjBvE/tW,GAAsC,CAC/C3H,KAAM,QACN0a,aAAc,cACd6oB,QAAQ,EACR10B,KAAM,EACNyzH,OAAQ,SCCCjsE,GAAsD,CAC/Dr2D,KAAM,YACN0a,aAAc,MACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB3uR,GACvB,OAAQA,GACJ,IAAK,MACD,OAAO,EACX,IAAK,MACL,QACI,OAAO,KCmBVr0C,GAA4C,CACrDhiB,KAAM,UACN0a,aAAc,eACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOA,EAAOzE,OAAO22V,IAAc76R,QAAO,SAACid,EAAK10D,GAC5C,OAAO00D,EAAM+rR,GAAkBzgV,EAAM53B,SACxC,KAIHq4W,GAAoB,SAAC3zV,GACvB,OAAQA,GACJ,IAAK,QACL,IAAK,cACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,OACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,OACL,IAAK,eACD,OAAO,IACX,IAAK,OACL,IAAK,WACD,OAAO,IACX,IAAK,OACD,OAAO,IACX,IAAK,UACD,OAAO,KACX,IAAK,YACD,OAAO,KACX,IAAK,kBACD,OAAO,KACX,IAAK,qBACD,OAAO,KACX,IAAK,qBACD,OAAO,MACX,IAAK,YACD,OAAO,MACX,IAAK,aACD,OAAO,MACX,IAAK,qBACD,OAAO,OACX,IAAK,eACD,OAAO,OACX,IAAK,gBACD,OAAO,OACX,IAAK,YACD,OAAO,QACX,IAAK,YACD,OAAO,QACX,IAAK,sBACD,OAAO,QACX,IAAK,sBACD,OAAO,QACX,IAAK,WACD,OAAO,SACX,IAAK,eACD,OAAO,SACX,IAAK,mBACD,OAAO,SACX,IAAK,eACD,OAAO,UACX,IAAK,cACD,OAAO,UACX,IAAK,cACD,OAAO,UAGf,OAAO,GCzGEi/L,GAA8C,CACvDjhN,KAAM,QACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB/jI,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,eACD,OAAO,EACX,IAAK,aACD,OAAO,EAEf,OAAO,ICtBF0qH,GAAkD,CAC3D3rU,KAAM,iBACN0a,aAAc,IACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB9vT,GACvB,OAAc,KAAVA,EAAMrmB,MAAkD,WAAhBqmB,EAAM53B,MACvC,EAGG,KAAV43B,EAAMrmB,MAII,KAAVqmB,EAAMrmB,KAHCqmB,EAAMyyF,OAOV,KTpBf,SAAY8sP,GACR,kBACA,kBAFJ,CAAYA,QAAU,KAKf,IULKmB,GVKC7T,GAAuD,CAChE/hW,KAAM,aACN0a,aAAc,SACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB+c,GACvB,OAAQA,GACJ,IAAK,SACD,OAAO0S,GAAWoB,OACtB,IAAK,SACL,QACI,OAAOpB,GAAWqB,UWdrBpvK,GAA4C,CACrD1mM,KAAM,cACN0a,aAAc,SACd6oB,QAAQ,EACR10B,KAAM,GAGGknW,GAAoB,SAAC7gV,EAAiBtsB,GAC/C,OAAI4+V,GAAatyU,IAA0B,WAAhBA,EAAM53B,MACtB,IAAMsL,EACI,KAAVssB,EAAMrmB,KACNjG,EAAWssB,EAAMyyF,OACjBmgP,GAAmB5yU,GACnBmzU,GAAiBnzU,EAAOtsB,GAG5BA,GCdEotW,GAA6D,CACtEh2W,KAAM,mBACN0a,aAAc,OACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAACgxB,EAAkBh+B,GACtB,OAAc,KAAVA,EAAMrmB,MAAkD,SAAhBqmB,EAAM53B,MACvC,KAGJihB,GAAY20C,EAASh+B,KCTvB+gV,GAAwE,CACjFj2W,KAAM,sBACN0a,aAAc,UACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBzkT,GACvB,OAAQA,GACJ,IAAK,SACD,OAAO,EACX,IAAK,UACL,QACI,OAAO,KCyCV21U,GAAgE,CACzEl2W,KAAM,kBACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBn2U,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,UACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,uBACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,GACX,IAAK,eACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,qBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,aACD,OAAO,GACX,IAAK,mBACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WAEL,IAAK,SACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,uBACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,MACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,SACD,OAAO,GACX,IAAK,OACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,OACL,QACI,YC5KVsnW,GAAgB,SAAC/jR,GAAgD,MAAC,CACpEpyF,KAAM,UAAUoyF,EAChB13E,aAAc,IACd6oB,QAAQ,EACR10B,KAAM,IAGGi9I,GAA2CqqN,GAAc,OACzDvqN,GAA6CuqN,GAAc,SAC3DpqN,GAA8CoqN,GAAc,UAC5DxqN,GAA4CwqN,GAAc,QCD1Dr4R,GAAgD,CACzD99E,KAAM,WACN0a,aAAc,UACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOA,EAAOzE,OAAO22V,IAAcniV,KAAI,SAACy4D,GACpC,OAAQA,EAASxgF,OACb,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,OACD,OAAO,EACX,IAAK,OACD,OAAO,EACX,IAAK,UACL,QACI,OAAO,QCtBd84W,GAA6D,CACtEp2W,KAAM,gBACN0a,aAAc,SACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBlnQ,GACvB,OAAQA,GACJ,IAAK,aACD,MAAO,aACX,IAAK,SACL,QACI,MAAO,YChBjBu4R,GAAiB,SAACjkR,GAA+C,MAAC,CACpEpyF,KAAM,WAAWoyF,EACjB13E,aAAc,IACd6oB,QAAQ,EACR10B,KAAM,EACNyzH,OAAQ,sBAGCgqB,GAA2C+pN,GAAe,OAC1D/qN,GAA6C+qN,GAAe,SAC5D9pN,GAA8C8pN,GAAe,UAC7DhrN,GAA4CgrN,GAAe,QCL3DvqK,GAAuD,CAChE9rM,KAAM,aACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBl5I,GACvB,OAAQA,GACJ,IAAK,QACD,OAAO,EACX,IAAK,SACL,IAAK,UACD,OAAO,EACX,IAAK,OACL,QACI,OAAO,KCZVvrK,GAAoD,CAC7DvgC,KAAM,WACN0a,aAAc,SACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBzkT,GACvB,OAAQA,GACJ,IAAK,WACD,OAAO,EACX,IAAK,WACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,SACD,OAAO,EAGf,OAAO,ICZF+1U,GAAkD,CAC3Dt2W,KAAM,cACN0a,aAAc,OACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAACgxB,EAAkB59C,GACtB,OAAsB,IAAlBA,EAAO5a,QAAgBgtW,GAAiBpyV,EAAO,GAAI,QAC5C,GAGJuyV,GAAkBvyV,GAAQ+P,KAAI,SAAChK,GAQlC,IAPA,IAAMm3P,EAAyB,CAC3B7qQ,MAAO4+F,GAAOsiQ,YACd7lW,QAASglW,GACT/kW,QAAS+kW,GACT9kR,KAAM8kR,IAENloW,EAAI,EACCrF,EAAI,EAAGA,EAAI4gB,EAAO3gB,OAAQD,IAAK,CACpC,IAAMy6B,EAAQ7Z,EAAO5gB,GACjBk0U,GAASz5S,IACC,IAANp1B,EACA0yQ,EAAOxvQ,QAAUkyB,EACJ,IAANp1B,EACP0yQ,EAAOvvQ,QAAUiyB,EAEjBs9O,EAAOtvL,KAAOhuD,EAElBp1B,KAEA0yQ,EAAO7qQ,MAAQA,GAAYurD,EAASh+B,GAG5C,OAAOs9O,OCvCN+jG,GAA+D,CACxEv2W,KAAM,iBACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBuxB,GACvB,OAAQA,GACJ,IAAK,YACD,OAAO,EACX,IAAK,YACD,OAAO,EACX,IAAK,aACD,OAAO,EAGf,OAAO,ICjBFnoW,GAAiD,CAC1DpO,KAAM,YACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB9vT,GACvB,GAAc,KAAVA,EAAMrmB,MAAkD,SAAhBqmB,EAAM53B,MAC9C,OAAO,KAGX,GAAc,KAAV43B,EAAMrmB,KAA6B,CACnC,IAAM2nW,EAAoBC,GAA8BvhV,EAAMl1B,MAC9D,GAAiC,qBAAtBw2W,EACP,MAAM,IAAI15U,MAAM,0DAA0D5H,EAAMl1B,KAAI,KAExF,OAAOw2W,EAAkBthV,EAAM7Z,QAGnC,OAAO,OAmBTo7V,GAEF,CACAtoW,OAlBW,SAACmzC,GACZ,IAAMjmC,EAASimC,EAAKzwC,QAAO,SAACygH,GAAQ,OAAQ,KAARA,EAAIziH,QAAiCwW,KAAI,SAACisG,GAA0B,OAAAA,EAAI3J,UAE5G,OAAyB,IAAlBtsG,EAAO3gB,OAAgB2gB,EAAoB,MAgBlDq7V,SAZa,SAACp1T,GACd,IAAMjmC,EAASimC,EAAKzwC,QAAO,SAACygH,GAAQ,OAAQ,KAARA,EAAIziH,QAAiCwW,KAAI,SAACisG,GAA0B,OAAAA,EAAI3J,UAErG7vG,EAAkEuD,EAAhE,GAAEonF,EAA8DpnF,EAA5D,GAA4DA,EAAxD,GAAwDA,EAApD,OAAEsiF,EAAkDtiF,EAAhD,GAAEqnF,EAA8CrnF,EAA5C,GAA4CA,EAAxC,GAAwCA,EAApC,GAAoCA,EAAhC,GAAgCA,EAA5B,GAA4BA,EAAxB,IAAwBA,EAApB,QAAE20K,EAAkB30K,EAAhB,IAAEo1K,EAAcp1K,EAAZ,IAE7D,OAFyEA,EAAR,IAAQA,EAAM,IAEtD,KAAlBA,EAAO3gB,OAAgB,CAACod,EAAI2qF,EAAI9E,EAAI+E,EAAIstF,EAAIS,GAAM,OClCvDkmL,GAAkC,CACpC9nW,KAAM,GACN84G,OAAQ,GACR86E,M5CmGwB,G4CjGtBm0K,GAA2B,CAACD,GAAeA,IAEpClpN,GAA4D,CACrEztJ,KAAM,mBACN0a,aAAc,UACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,IAAMuhW,EAA8BvhW,EAAOzE,OAAOi3V,IAElD,OAAuB,IAAnB+O,EAAQn8W,OACDk8W,GAGJ,CAACC,EAAQ,GAAIA,EAAQ,MClBvB7nN,GAAwD,CACjEhvJ,KAAM,UACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBh2L,GACvB,OAAQA,GACJ,IAAK,SACD,OAAO,EACX,IAAK,WACD,OAAO,EACX,IAAK,UACL,QACI,OAAO,MfnBvB,SAAY4mN,GACR,kBACA,wBACA,sBAHJ,CAAYA,QAAU,KgBEtB,IhBIO,IAAM5T,GAAuD,CAChEhiW,KAAM,aACN0a,aAAc,SACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBgd,GACvB,OAAQA,GACJ,IAAK,YACD,OAAO4T,GAAWkB,UACtB,IAAK,WACD,OAAOlB,GAAWmB,SACtB,IAAK,SACL,QACI,OAAOnB,GAAWE,UiBXrB/gU,GAA2C,CACpD/0C,KAAM,UACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB9vT,GACvB,GAAc,KAAVA,EAAMrmB,KACN,MAAO,CAACmoP,MAAM,EAAM/oH,MAAO,GAG/B,GAAIs5N,GAAcryU,GACd,MAAO,CAAC8hO,MAAM,EAAO/oH,MAAO/4G,EAAMyyF,QAGtC,MAAM,IAAI7qF,MAAM,mCCnBXm4M,GAEF,SAAC+vG,EAAmB1nV,GACvB,GAAc,KAAVA,EAAMuR,KACN,OAAQvR,EAAMy8I,KAAKtjI,eACf,IAAK,IACD,OAAO,IAAOnZ,EAAMqqH,OACxB,IAAK,KACD,OAAOrqH,EAAMqqH,OAIzB,MAAM,IAAI7qF,MAAM,0BCdX6pB,GAA4C,CACrD3mD,KAAM,UACN0a,aAAc,IACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAAC8iT,EAAmB9vT,GACvB,OAAIqyU,GAAcryU,GACPA,EAAMyyF,OAEV,ICVFqvP,GAAoD,CAC7Dh3W,KAAM,wBACN0a,aAAc,cACd6oB,QAAQ,EACR10B,KAAM,EACNyzH,OAAQ,SCOC20O,GAAkE,CAC3Ej3W,KAAM,uBACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOA,EACFzE,OAAO22V,IACPniV,KAAI,SAAC6P,GACF,OAAQA,EAAM53B,OACV,IAAK,YACD,OAAO,EACX,IAAK,WACD,OAAO,EACX,IAAK,eACD,OAAO,EACX,IAAK,OACD,OAAO,EAEf,OAAO,KAEVuT,QAAO,SAACkE,GAAS,OAAS,IAATA,OC1BjBjL,GAAkD,CAC3D9J,KAAM,cACN0a,aAAc,GACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,IAAM4hW,EAAwB,GACxB35N,EAAoB,GAmB1B,OAlBAjoI,EAAOqd,SAAQ,SAACuC,GACZ,OAAQA,EAAMrmB,MACV,KAAK,GACL,KAAK,EACDqoW,EAAYxyW,KAAKwwB,EAAM53B,OACvB,MACJ,KAAK,GACD45W,EAAYxyW,KAAKwwB,EAAMyyF,OAAO39G,YAC9B,MACJ,KAAK,EACDuzI,EAAQ74I,KAAKwyW,EAAYjtW,KAAK,MAC9BitW,EAAYx8W,OAAS,MAI7Bw8W,EAAYx8W,QACZ6iJ,EAAQ74I,KAAKwyW,EAAYjtW,KAAK,MAE3BszI,EAAQl4H,KAAI,SAAC5nB,GAAW,OAA0B,IAAzBA,EAAOwK,QAAQ,KAAcxK,EAAS,IAAIA,EAAM,SCjC3EmL,GAAyC,CAClD5I,KAAM,YACN0a,aAAc,IACd6oB,QAAQ,EACR10B,KAAM,EACNyzH,OAAQ,UCJCz4H,GAA+C,CACxD7J,KAAM,cACN0a,aAAc,SACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAAC8iT,EAAmB9vT,GACvB,GAAIqyU,GAAcryU,GACd,OAAOA,EAAMyyF,OAGjB,GAAI6/O,GAAatyU,GACb,OAAQA,EAAM53B,OACV,IAAK,OACD,OAAO,IACX,IAAK,SACL,QACI,OAAO,IAInB,OAAO,MCpBFsM,GAAiD,CAC1D5J,KAAM,eACN0a,aAAc,OACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAAC8iT,EAAmB1vU,GACvB,OAAOA,EAAOzE,OAAO22V,IAAcniV,KAAI,SAAC6P,GAAU,OAAAA,EAAM53B,WCDnDqM,GAAuD,CAChE3J,KAAM,aACN0a,aAAc,SACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmBlnQ,GACvB,OAAQA,GACJ,IAAK,UACD,MAAO,UACX,IAAK,SACD,MAAO,SACX,IAAK,SACL,QACI,MAAO,YCrBV//B,GAAW,SAAC6rC,EAAatsF,GAA2B,OAAkB,KAAjBssF,EAAMtsF,ICO3DioB,GAA4C,CACrDvlB,KAAM,UACN0a,aAAc,OACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAAC8iT,EAAmB1vU,GACvB,GAAsB,IAAlBA,EAAO5a,OACP,MAAO,GAGX,IAAM+rD,EAAQnxC,EAAO,GAErB,OAAc,KAAVmxC,EAAM53C,MAAkD,SAAhB43C,EAAMnpD,MACvC,GAGJgY,ICXF6hW,GAA8D,CACvEn3W,KAAM,oBACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,GAAsB,IAAlBA,EAAO5a,OACP,OAAO,KAGX,IAAM+rD,EAAQnxC,EAAO,GAErB,GAAc,KAAVmxC,EAAM53C,MAAkD,SAAhB43C,EAAMnpD,MAC9C,OAAO,KAMX,IAHA,IAAM85W,EAAa,GACbC,EAAW/hW,EAAOzE,OAAO82V,IAEtBltW,EAAI,EAAGA,EAAI48W,EAAS38W,OAAQD,IAAK,CACtC,IAAM+kF,EAAU63R,EAAS58W,GACnB0E,EAAOk4W,EAAS58W,EAAI,GAC1B,GAAgB,KAAZ+kF,EAAQ3wE,KAAgC,CACxC,IAAM28G,EAAYrsH,GAAQooW,GAAcpoW,GAAQA,EAAKwoH,OAAS,EAC9DyvP,EAAW1yW,KAAK,CAAC86E,QAASA,EAAQliF,MAAOkuH,UAAS,KAI1D,OAAO4rP,IC7BFE,GAAsD,CAC/Dt3W,KAAM,gBACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,GAAsB,IAAlBA,EAAO5a,OACP,MAAO,GAMX,IAHA,IAAM68W,EAAS,GACTF,EAAW/hW,EAAOzE,OAAO82V,IAEtBltW,EAAI,EAAGA,EAAI48W,EAAS38W,OAAQD,IAAK,CACtC,IAAM+kF,EAAU63R,EAAS58W,GACnB0E,EAAOk4W,EAAS58W,EAAI,GAC1B,GAAI+sW,GAAahoR,IAA8B,SAAlBA,EAAQliF,MAAkB,CACnD,IAAMiY,EAAQpW,GAAQooW,GAAcpoW,GAAQA,EAAKwoH,OAAS,EAC1D4vP,EAAO7yW,KAAK,CAAC86E,QAASA,EAAQliF,MAAOiY,MAAK,KAIlD,OAAOgiW,IC5BFn9V,GAA8C,CACvDpa,KAAM,WACN0a,aAAc,KACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAACgxB,EAAkB59C,GACtB,OAAOA,EAAOzE,OAAOy2V,IAAkBjiV,KAAI,SAAC6P,GAAU,OAAA+/M,GAAW/hL,EAASh+B,QCCrEsiV,GAA0C,CACnDx3W,KAAM,SACN0a,aAAc,OACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,GAAsB,IAAlBA,EAAO5a,OACP,OAAO,KAGX,IAAM+rD,EAAQnxC,EAAO,GAErB,GAAc,KAAVmxC,EAAM53C,MAAkD,SAAhB43C,EAAMnpD,MAC9C,OAAO,KAGX,IAAMk6W,EAAS,GACTH,EAAW/hW,EAAOzE,OAAO42V,IAE/B,GAAI4P,EAAS38W,OAAS,IAAM,EACxB,OAAO,KAGX,IAAK,IAAID,EAAI,EAAGA,EAAI48W,EAAS38W,OAAQD,GAAK,EAAG,CACzC,IAAM,EAAO48W,EAAS58W,GAAG6C,MACnB,EAAQ+5W,EAAS58W,EAAI,GAAG6C,MAC9Bk6W,EAAO9yW,KAAK,CAACkB,KAAI,EAAE8+L,MAAK,IAG5B,OAAO8yK,IAIFC,GAAW,SAACD,EAAgBE,EAAe9xW,GACpD,IAAK4xW,EACD,MAAO,GAGX,IAAMG,EAAQH,EAAOzyW,KAAK6K,IAAI8nW,EAAOF,EAAO98W,OAAS,IACrD,OAAKi9W,EAIE/xW,EAAO+xW,EAAM/xW,KAAO+xW,EAAMjzK,MAHtB,ICnCFkzK,GAAgD,CACzD53W,KAAM,aACN0a,aAAc,OACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAACgxB,EAAkB59C,GACtB,OAAsB,IAAlBA,EAAO5a,QAAgBgtW,GAAiBpyV,EAAO,GAAI,QAC5C,GAGJuyV,GAAkBvyV,GAAQ+P,KAAI,SAAChK,GAUlC,IATA,IAAMm3P,EAAwB,CAC1B7qQ,MAAO,IACP3E,QAASglW,GACT/kW,QAAS+kW,GACT9kR,KAAM8kR,GACN6P,OAAQ7P,GACRl5R,OAAO,GAEPhvE,EAAI,EACCrF,EAAI,EAAGA,EAAI4gB,EAAO3gB,OAAQD,IAAK,CACpC,IAAMy6B,EAAQ7Z,EAAO5gB,GACjBitW,GAAiBxyU,EAAO,SACxBs9O,EAAO1jM,OAAQ,EACR6/P,GAASz5S,IACN,IAANp1B,EACA0yQ,EAAOxvQ,QAAUkyB,EACJ,IAANp1B,EACP0yQ,EAAOvvQ,QAAUiyB,EACJ,IAANp1B,EACP0yQ,EAAOtvL,KAAOhuD,EAEds9O,EAAOqlG,OAAS3iV,EAEpBp1B,KAEA0yQ,EAAO7qQ,MAAQA,GAAYurD,EAASh+B,GAG5C,OAAOs9O,OC7CNslG,GAAkD,CAC3D93W,KAAM,cACN0a,aAAc,SACd6oB,QAAQ,EACR10B,KAAM,EACNqzB,MAAO,SAAC8iT,EAAmB1vU,GACvB,IACMyiW,EAAqB,GAqB3B,OAnBAziW,EAAOzE,OAAO22V,IAAc70U,SAAQ,SAACuC,GACjC,OAAQA,EAAM53B,OACV,IAAK,SACDy6W,EAAOrzW,KAAI,GACX,MACJ,IAAK,OACDqzW,EAAOrzW,KAAI,GACX,MACJ,IAAK,UACDqzW,EAAOrzW,KAAI,OAZD,CAAC,EAAD,KAgBRiuB,SAAQ,SAACr1B,IACY,IAA3By6W,EAAO9vW,QAAQ3K,IACfy6W,EAAOrzW,KAAKpH,MAIby6W,ICtCFC,GAAsD,CAC/Dh4W,KAAM,4BACN0a,aAAc,eACd6oB,QAAQ,EACR10B,KAAM,EACNyzH,OAAQ,SCHC21O,GAA0D,CACnEj4W,KAAM,4BACN0a,aAAc,IACd7L,KAAM,EACN00B,QAAQ,EACRrB,MAAO,SAAC8iT,EAAmB9vT,GACvB,OAAIoyU,GAAiBpyU,GACVA,EAAMyyF,OAEV,ICuEf,cAoEI,WAAYz0D,EAAkBglT,G,QAC1Bt6W,KAAK6mV,kBAAoBviT,GAAMgxB,EAAS94C,GAAU89V,EAAYzzB,mBAC9D7mV,KAAK+0W,eAAiBzwU,GAAMgxB,EAASy/S,GAAgBuF,EAAYvF,gBACjE/0W,KAAKomE,gBAAkB9hC,GAAMgxB,EAAS8Q,GAAiBk0S,EAAYl0S,iBACnEpmE,KAAK2rH,gBAAkBrnF,GAAMgxB,EAASq2D,GAAiB2uP,EAAY3uP,iBACnE3rH,KAAK02W,iBAAmBpyU,GAAMgxB,EAASohT,GAAkB4D,EAAY5D,kBACrE12W,KAAKmvF,mBAAqB7qD,GAAMgxB,EAAS65B,GAAoBmrR,EAAYnrR,oBACzEnvF,KAAK22W,iBAAmBryU,GAAMgxB,EAASqhT,GAAkB2D,EAAY3D,kBACrE32W,KAAKkvF,eAAiB5qD,GAAMgxB,EAAS45B,GAAgBorR,EAAYprR,gBACjElvF,KAAKg3W,eAAiB1yU,GAAMgxB,EAAS0hT,GAAgBsD,EAAYtD,gBACjEh3W,KAAKi3W,iBAAmB3yU,GAAMgxB,EAAS2hT,GAAkBqD,EAAYrD,kBACrEj3W,KAAKk3W,kBAAoB5yU,GAAMgxB,EAAS4hT,GAAmBoD,EAAYpD,mBACvEl3W,KAAKm3W,gBAAkB7yU,GAAMgxB,EAAS6hT,GAAiBmD,EAAYnD,iBACnEn3W,KAAKq3W,oBAAsB/yU,GAAMgxB,EAAS+hT,GAAqBiD,EAAYjD,qBAC3Er3W,KAAKs3W,qBAAuBhzU,GAAMgxB,EAASgiT,GAAsBgD,EAAYhD,sBAC7Et3W,KAAKu3W,wBAA0BjzU,GAAMgxB,EAASiiT,GAAyB+C,EAAY/C,yBACnFv3W,KAAKw3W,uBAAyBlzU,GAAMgxB,EAASkiT,GAAwB8C,EAAY9C,wBACjFx3W,KAAK03W,eAAiBpzU,GAAMgxB,EAASoiT,GAAgB4C,EAAY5C,gBACjE13W,KAAK23W,iBAAmBrzU,GAAMgxB,EAASqiT,GAAkB2C,EAAY3C,kBACrE33W,KAAK43W,kBAAoBtzU,GAAMgxB,EAASsiT,GAAmB0C,EAAY1C,mBACvE53W,KAAK63W,gBAAkBvzU,GAAMgxB,EAASuiT,GAAiByC,EAAYzC,iBACnE73W,KAAK4uJ,eAAiBtqH,GAAMgxB,EAASs5F,GAAgB0rN,EAAY1rN,gBACjE5uJ,KAAK+uJ,iBAAmBzqH,GAAMgxB,EAASy5F,GAAkBurN,EAAYvrN,kBACrE/uJ,KAAK6uJ,kBAAoBvqH,GAAMgxB,EAASu5F,GAAmByrN,EAAYzrN,mBACvE7uJ,KAAK8uJ,gBAAkBxqH,GAAMgxB,EAASw5F,GAAiBwrN,EAAYxrN,iBACnE9uJ,KAAKg6W,UAAY11U,GAAMgxB,EAAS0kT,GAAWM,EAAYN,WACvDh6W,KAAK+J,MAAQu6B,GAAMgxB,EAASvrD,GAAOuwW,EAAYvwW,OAC/C/J,KAAKy4D,UAAYn0B,GAAMgxB,EAASmD,GAAW6hT,EAAY7hT,WACvDz4D,KAAKokB,QAAUkgB,GAAMgxB,EAASlxC,GAASk2V,EAAYl2V,SACnDpkB,KAAKqjN,MAAQ/+K,GAAMgxB,EAAS+tJ,GAAOi3J,EAAYC,UAC/Cv6W,KAAKkM,WAAao4B,GAAMgxB,EAASppD,GAAYouW,EAAYpuW,YACzDlM,KAAKgL,SAAWs5B,GAAMgxB,EAAStqD,GAAUsvW,EAAYtvW,UACrDhL,KAAK+L,UAAYu4B,GAAMgxB,EAASvpD,GAAWuuW,EAAYvuW,WACvD/L,KAAKgM,YAAcs4B,GAAMgxB,EAAStpD,GAAasuW,EAAYtuW,aAC3DhM,KAAKiM,WAAaq4B,GAAMgxB,EAASrpD,GAAYquW,EAAYruW,YACzDjM,KAAK+tU,cAAgBzpS,GAAMgxB,EAASy4Q,GAAeusC,EAAYvsC,eAC/D/tU,KAAKmkW,UAAY7/T,GAAMgxB,EAAS6uS,GAAWmW,EAAYnW,WACvDnkW,KAAK8oM,WAAaxkK,GAAMgxB,EAASwzI,GAAYwxK,EAAYxxK,YACzD9oM,KAAKo4W,eAAiB9zU,GAAMgxB,EAAS8iT,GAAgBkC,EAAYlC,gBACjEp4W,KAAKq4W,kBAAoB/zU,GAAMgxB,EAAS+iT,GAAmBiC,EAAYjC,mBACvEr4W,KAAKs4W,cAAgBh0U,GAAMgxB,EAASgjT,GAAegC,EAAYhC,eAC/Dt4W,KAAKkuJ,UAAY5pH,GAAMgxB,EAAS44F,GAAWosN,EAAYpsN,WACvDluJ,KAAKguJ,YAAc1pH,GAAMgxB,EAAS04F,GAAassN,EAAYtsN,aAC3DhuJ,KAAKmuJ,aAAe7pH,GAAMgxB,EAAS64F,GAAcmsN,EAAYnsN,cAC7DnuJ,KAAK+tJ,WAAazpH,GAAMgxB,EAASy4F,GAAYusN,EAAYvsN,YACzD/tJ,KAAK+oD,QAAUzkB,GAAMgxB,EAASvM,GAASuxT,EAAYvxT,SACnD,IAAMyxT,EAAgBl2U,GAAMgxB,EAAS4qB,GAAUo6R,EAAYp6R,UAC3DlgF,KAAKy6W,UAAYD,EAAc,GAC/Bx6W,KAAK0/E,UAAY86R,EAAcA,EAAc19W,OAAS,EAAI,EAAI,GAC9DkD,KAAKw4W,aAAel0U,GAAMgxB,EAASkjT,GAAc8B,EAAY9B,cAC7Dx4W,KAAK0uJ,WAAapqH,GAAMgxB,EAASo5F,GAAY4rN,EAAY5rN,YACzD1uJ,KAAK0tJ,aAAeppH,GAAMgxB,EAASo4F,GAAc4sN,EAAY5sN,cAC7D1tJ,KAAK2uJ,cAAgBrqH,GAAMgxB,EAASq5F,GAAe2rN,EAAY3rN,eAC/D3uJ,KAAKytJ,YAAcnpH,GAAMgxB,EAASm4F,GAAa6sN,EAAY7sN,aAC3DztJ,KAAKk6W,WAAa51U,GAAMgxB,EAAS4kT,GAAYI,EAAYJ,YACzDl6W,KAAK2iC,SAAW2B,GAAMgxB,EAAS3yB,GAAU23U,EAAY33U,UACrD3iC,KAAKkuM,UAAY5pK,GAAMgxB,EAAS44I,GAAWosK,EAAYpsK,WACvDluM,KAAKo5W,oBAAsB90U,GACvBgxB,EACA8jT,GAC+B,QAA/B,EAAAkB,EAAYlB,2BAAmB,QAAIkB,EAAYvwW,OAEnD/J,KAAKq5W,mBAAqB/0U,GACtBgxB,EACA+jT,GAC8B,QAA9B,EAAAiB,EAAYjB,0BAAkB,QAAIiB,EAAYI,gBAElD16W,KAAK04W,WAAap0U,GAAMgxB,EAASojT,GAAY4B,EAAY5B,YACzD14W,KAAK24W,cAAgBr0U,GAAMgxB,EAASqjT,GAAe2B,EAAY3B,eAC/D34W,KAAKwQ,UAAY8zB,GAAMgxB,EAAS9kD,GAAW8pW,EAAY9pW,WACvDxQ,KAAK6vJ,gBAAkBvrH,GAAMgxB,EAASu6F,GAAiByqN,EAAYzqN,iBACnE7vJ,KAAKoxJ,WAAa9sH,GAAMgxB,EAAS87F,GAAYkpN,EAAYlpN,YACzDpxJ,KAAKo6W,sBAAwB91U,GAAMgxB,EAAS8kT,GAAuBE,EAAYF,uBAC/Ep6W,KAAKq6W,sBAAwB/1U,GAAMgxB,EAAS+kT,GAAuBC,EAAYD,uBAC/Er6W,KAAKokW,UAAY9/T,GAAMgxB,EAAS8uS,GAAWkW,EAAYlW,WACvDpkW,KAAKm3C,OAAS7S,GAAMgxB,EAASne,GAAQmjU,EAAYnjU,QAqCzD,OAlCI,YAAAkL,UAAA,WACI,OAAOriD,KAAKokB,QAAU,GAAKpkB,KAAK+oD,QAAU,GAAoB,IAAf/oD,KAAKoxJ,YAGxD,YAAA85M,cAAA,WACI,OAAOA,GAAclrW,KAAKomE,kBAG9B,YAAAu0S,cAAA,WACI,OAA0B,OAAnB36W,KAAKwQ,WAGhB,YAAAoqW,aAAA,WACI,OAAoB,IAAb56W,KAAK2iC,UAGhB,YAAAk4U,uBAAA,WACI,OAAO76W,KAAK46W,iBAAmB56W,KAAKm3C,OAAOiiN,MAG/C,YAAA0hH,WAAA,WACI,OAAiB,IAAV96W,KAAKqjN,OAGhB,YAAA03J,cAAA,WACI,OACI56T,GAASngD,KAAKokB,QAAO,IACrB+7B,GAASngD,KAAKokB,QAAO,WACrB+7B,GAASngD,KAAKokB,QAAO,YACrB+7B,GAASngD,KAAKokB,QAAO,YACrB+7B,GAASngD,KAAKokB,QAAO,WACrB+7B,GAASngD,KAAKokB,QAAO,YAGjC,EApLA,GAsLA,GAII,SAAYkxC,EAAkBglT,GAC1Bt6W,KAAK2nB,QAAU2c,GAAMgxB,EAAS3tC,GAAS2yV,EAAY3yV,SACnD3nB,KAAK45W,OAASt1U,GAAMgxB,EAASskT,GAAQU,EAAYV,SAIzD,GAII,SAAYtkT,EAAkBglT,GAC1Bt6W,KAAKu5W,iBAAmBj1U,GAAMgxB,EAASikT,GAAkBe,EAAYf,kBACrEv5W,KAAK05W,aAAep1U,GAAMgxB,EAASokT,GAAcY,EAAYZ,eAK/Dp1U,GAAQ,SAACgxB,EAAkBv4D,EAAwC2V,GACrE,IAAMm2V,EAAY,IAAI33B,GAChBxxU,EAAkB,OAAVgT,GAAmC,qBAAVA,EAAwBA,EAAMtG,WAAarP,EAAW+f,aAC7F+rV,EAAUhxK,MAAMn4L,GAChB,IAAMs7W,EAAS,IAAIhqC,GAAO63B,EAAU5iJ,QACpC,OAAQlpN,EAAWkU,MACf,KAAK,EACD,IAAMqmB,EAAQ0jV,EAAOjS,sBACrB,OAAOhsW,EAAWunC,MAAMgxB,EAASs0S,GAAatyU,GAASA,EAAM53B,MAAQ3C,EAAW+f,cACpF,KAAK,EACD,OAAO/f,EAAWunC,MAAMgxB,EAAS0lT,EAAOjS,uBAC5C,KAAK,EACD,OAAOhsW,EAAWunC,MAAMgxB,EAAS0lT,EAAO/R,wBAC5C,KAAK,EACD,OAAO+R,EAAOjS,sBAClB,KAAK,EACD,OAAQhsW,EAAW2nI,QACf,IAAK,QACD,OAAOz0H,GAAYqlD,EAAS0lT,EAAOjS,uBACvC,IAAK,QACD,OAAOrjJ,GAAgBpwJ,EAAS0lT,EAAOjS,uBAC3C,IAAK,QACD,OAAOpoV,GAAY20C,EAAS0lT,EAAOjS,uBACvC,IAAK,SACD,IAAM,EAASiS,EAAOjS,sBACtB,OAAOh4B,GAAS,GAAU,EAASq5B,GACvC,IAAK,oBACD,IAAM,EAAQ4Q,EAAOjS,sBACrB,OAAOmB,GAAmB,GAAS,EAAQE,GAC/C,IAAK,OACD,OAAO/yH,GAAW/hL,EAAS0lT,EAAOjS,0BCnSzCkS,GAAc,SAACvgW,EAAkBzJ,GAC1C,IAAMk5G,EAjBkB,SAACzvG,GAEzB,OADkBA,EAAQs1B,aAVG,2BAYzB,IAAK,MACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,QACI,OAAO,GAKKkrU,CAAoBxgW,GACxC,OAAuB,IAAhByvG,GAAoCl5G,IAASk5G,GCbxD,GAOI,SAA+B70D,EAAkB56C,GAAlB,KAAA46C,UALtB,KAAA6lT,UAA6B,GAC7B,KAAAr5P,SAA+B,GAExC,KAAA+iF,MAAQ,EAGAo2K,GAAYvgW,EAAO,GAIvB1a,KAAKsS,OAAS,IAAI8oW,GAAqB9lT,EAAS5zD,OAAOyU,iBAAiBuE,EAAS,OAE7E2gW,GAAkB3gW,KACd1a,KAAKsS,OAAOu0U,kBAAkB5oN,MAAK,SAACzhH,GAAa,OAAAA,EAAW,OAC5D9B,EAAQhI,MAAMm0U,kBAAoB,MAGR,OAA1B7mV,KAAKsS,OAAO9B,YAEZkK,EAAQhI,MAAMlC,UAAY,SAIlCxQ,KAAK0zF,OAASusQ,EAAYjgW,KAAKs1D,QAAS56C,GAEpCugW,GAAYvgW,EAAO,KACnB1a,KAAK6kM,OAAK,KvB1ChB5hK,GAAQ,mEAGRo9T,GAA+B,qBAAf7oR,WAA6B,GAAK,IAAIA,WAAW,KAC9D36E,GAAI,EAAGA,GAAIomC,GAAMnmC,OAAQD,KAC9BwjW,GAAOp9T,GAAMoI,WAAWxuC,KAAMA,GwBDlC,IxBIO,IyB+DDyjW,GAAU,SAACnrH,EAA8Br9N,EAAew7B,GAC1D,OAAI6hM,EAAKnjM,MACEmjM,EAAKnjM,MAAMl6B,EAAOw7B,GAGtB,IAAIyiK,YAAYt1M,MAAMhD,UAAUu0C,MAAMhwC,KAAKmzO,EAAMr9N,EAAOw7B,K,cAkC/D,WACIx2B,EACAg5H,EACAyqN,EACAC,EACAr/T,EACAnwB,GAEAhR,KAAK8c,aAAeA,EACpB9c,KAAK81I,WAAaA,EAClB91I,KAAKugW,UAAYA,EACjBvgW,KAAKwgW,eAAiBA,EACtBxgW,KAAKmhC,MAAQA,EACbnhC,KAAKgR,KAAOA,EAkDpB,OAzCI,YAAA1O,IAAA,SAAIqmU,GACA,IAAI83B,EACJ,GAAI93B,GAAa,EAAG,CAChB,GAAIA,EAAY,OAAYA,EAAY,OAAWA,GAAa,MAM5D,OADA83B,IADAA,EAAKzgW,KAAKmhC,MAAMwnS,GAtIF,KAWI,IAmBF+3B,GAyGmB/3B,GAC5B3oU,KAAKgR,KAAKyvV,GAGrB,GAAI93B,GAAa,MASb,OADA83B,IADAA,EAAKzgW,KAAKmhC,MAzHgB,MAyHqBwnS,EAAY,OAlJ7C,MAWI,IAmBF+3B,GAqHmB/3B,GAC5B3oU,KAAKgR,KAAKyvV,GAGrB,GAAI93B,EAAY3oU,KAAKugW,UAOjB,OALAE,EAAKE,MAA6Dh4B,GAtJpD,IAuJd83B,EAAKzgW,KAAKmhC,MAAMs/T,GAChBA,GAAO93B,GA3JO,EAgEKi4B,GA6FnBH,IADAA,EAAKzgW,KAAKmhC,MAAMs/T,KAjJE,IAmBFC,GA+HmB/3B,GAC5B3oU,KAAKgR,KAAKyvV,GAErB,GAAI93B,GAAa,QACb,OAAO3oU,KAAKgR,KAAKhR,KAAKwgW,gBAK9B,OAAOxgW,KAAK81I,YAEpB,E,GD7KM7yG,GAAQ,mEAGRo9T,GAA+B,qBAAf7oR,WAA6B,GAAK,IAAIA,WAAW,KAC9D36E,GAAI,EAAGA,GAAIomC,GAAMnmC,OAAQD,KAC9BwjW,GAAOp9T,GAAMoI,WAAWxuC,KAAMA,GEDlC,ICqeKy+W,GD9dCzrL,GAAI,EACJ4F,GAAI,EAEJ8lL,GAAK,GACLC,GAAM,GA6CCrb,GAAgB,W,IAAC,sDAC1B,GAAIxoU,OAAOwoU,cACP,OAAOxoU,OAAOwoU,cAAa,MAApBxoU,OAAwBkxS,GAGnC,IAAM/rU,EAAS+rU,EAAW/rU,OAC1B,IAAKA,EACD,MAAO,GAOX,IAJA,IAAMsjW,EAAY,GAEdj/T,GAAS,EACTthC,EAAS,KACJshC,EAAQrkC,GAAQ,CACrB,IAAI6rU,EAAYE,EAAW1nS,GACvBwnS,GAAa,MACby3B,EAAUt5V,KAAK6hU,IAEfA,GAAa,MACby3B,EAAUt5V,KAAyB,OAAnB6hU,GAAa,IAAeA,EAAY,KAAS,SAEjExnS,EAAQ,IAAMrkC,GAAUsjW,EAAUtjW,OAAS,SAC3C+C,GAAU83B,OAAOE,aAAY,MAAnBF,OAAuByoU,GACjCA,EAAUtjW,OAAS,GAG3B,OAAO+C,GAGEuiW,GDHuB,SAACtpD,EAAgBupD,GACjD,IATaltH,EAA8Br9N,EAAew7B,EASpDk6H,EzBhFY,SAACsrI,GACnB,IAEIj8S,EAEAylW,EACAC,EACAC,EACAC,EAPAC,EAA+B,IAAhB5pD,EAAOh8S,OACtBkoC,EAAM8zQ,EAAOh8S,OAEbmG,EAAI,EAM0B,MAA9B61S,EAAOA,EAAOh8S,OAAS,KACvB4lW,IACkC,MAA9B5pD,EAAOA,EAAOh8S,OAAS,IACvB4lW,KAIR,IAAMl1L,EACqB,qBAAhBF,aACe,qBAAf91F,YAC+B,qBAA/BA,WAAW/5E,UAAUu0C,MACtB,IAAIs7H,YAAYo1L,GAChB,IAAIjiW,MAAMiiW,GACdjhG,EAAQhhQ,MAAMC,QAAQ8sK,GAAUA,EAAS,IAAIh2F,WAAWg2F,GAE9D,IAAK3wK,EAAI,EAAGA,EAAImoC,EAAKnoC,GAAK,EACtBylW,EAAWjC,GAAOvnD,EAAOztQ,WAAWxuC,IACpC0lW,EAAWlC,GAAOvnD,EAAOztQ,WAAWxuC,EAAI,IACxC2lW,EAAWnC,GAAOvnD,EAAOztQ,WAAWxuC,EAAI,IACxC4lW,EAAWpC,GAAOvnD,EAAOztQ,WAAWxuC,EAAI,IAExC4kQ,EAAMx+P,KAAQq/V,GAAY,EAAMC,GAAY,EAC5C9gG,EAAMx+P,MAAoB,GAAXs/V,IAAkB,EAAMC,GAAY,EACnD/gG,EAAMx+P,MAAoB,EAAXu/V,IAAiB,EAAiB,GAAXC,EAG1C,OAAOj1L,EyB4CQjqD,CAAOu1L,GAChB6pD,EAASliW,MAAMC,QAAQ8sK,GzBjCF,SAACA,GAG5B,IAFA,IAAM1wK,EAAS0wK,EAAO1wK,OAChB2kQ,EAAQ,GACL5kQ,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EAC7B4kQ,EAAM36P,KAAM0mK,EAAO3wK,EAAI,IAAM,GAAO2wK,EAAO3wK,EAAI,IAAM,GAAO2wK,EAAO3wK,EAAI,IAAM,EAAK2wK,EAAO3wK,IAE7F,OAAO4kQ,EyB2BgCmhG,CAAgBp1L,GAAU,IAAIooC,YAAYpoC,GAC3Eq1L,EAASpiW,MAAMC,QAAQ8sK,GzB3CF,SAACA,GAG5B,IAFA,IAAM1wK,EAAS0wK,EAAO1wK,OAChB2kQ,EAAQ,GACL5kQ,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EAC7B4kQ,EAAM36P,KAAM0mK,EAAO3wK,EAAI,IAAM,EAAK2wK,EAAO3wK,IAE7C,OAAO4kQ,EyBqCgCqhG,CAAgBt1L,GAAU,IAAIuoC,YAAYvoC,GAG3ErsI,EAAQm/T,GAAQuC,EAAQE,GAAkBJ,EAAO,GAAK,GACtD3xV,EACY,IAAd2xV,EAAO,GACDrC,GAAQuC,GALG,GAKqBF,EAAO,IAAM,IAjB1CxtH,EAkBKwtH,EAlByB7qV,EAkBjB3Q,KAAK4W,MANV,GAM+B4kV,EAAO,IAAM,GAjB7DxtH,EAAKnjM,MACEmjM,EAAKnjM,MAAMl6B,EAAOw7B,GAGtB,IAAIsiK,YAAYn1M,MAAMhD,UAAUu0C,MAAMhwC,KAAKmzO,EAAMr9N,EAAOw7B,KAe/D,OAAO,IAAI0vT,GAAKL,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIxhU,EAAOnwB,GCT5CiyV,CEzFvB,gjzBFgGSwY,GAAmB,SAAC9yC,GAA8B,OAAAy5B,GAAY9/V,IAAIqmU,IAEzE+yC,GAAwB,SAACC,EAAuBhY,EAAsBxiU,GACxE,IAAIypI,EAAYzpI,EAAQ,EACpBw4C,EAAOgqR,EAAW/4L,GAChB5yJ,EAAU2rV,EAAWxiU,EAAQ,GAC7B5/B,EAAOoiW,EAAWxiU,GAExB,GApGO,IAoGHnpB,GAnGG,IAmGezW,EAClB,MAdyB,OAkB7B,GAzGO,IAyGHyW,GAxGG,IAwGeA,GAvGV,IAuG4BA,EACpC,MAlBqB,OAsBzB,GA9GO,IA8GHzW,GA7GG,IA6GYA,GA5GP,IA4GsBA,EAC9B,MAvBqB,OA4BzB,GAAIyW,IAAY63K,KAAwC,IAAnC,CAACA,GAAG4F,GAAG8lL,GAAIC,IAAKnxW,QAAQ9I,GACzC,MA9ByB,OAkC7B,IAAKyW,IAAYujW,IAAMvjW,IAAYy9K,MAAOl0L,IAASk0L,IAjH7C,KAiHkDl0L,GACpD,MAnCyB,OAuC7B,IAAKyW,IAAYwjW,IAtHX,KAsHkBxjW,IAtHlB,KAsHoCzW,EACtC,MAxCyB,OA4C7B,GAxHQ,KAwHJA,GAhIO,IAgISA,EAChB,MA7CyB,OAiD7B,GAnIgB,IAmIZA,EACA,MAlDyB,OAsD7B,GA9IY,IA8IRyW,EACA,MAvDyB,OA2D7B,GAvIQ,KAuIJA,GAtIsB,KAsIHzW,EAAgC,CACnD,KAhJO,IAgJAo4E,GACHA,EAAOgqR,IAAa/4L,GAExB,GA1IsB,KA0IlBjxF,EACA,MAhEqB,OAuE7B,GAjJO,KAiJH3hE,GAjJG,KAiJezW,EAAa,CAE/B,IADA,IAAIq6W,EAAU,EAlJX,KAmJIjiS,GACHiiS,IACAjiS,EAAOgqR,IAAa/4L,GAExB,GAAIgxM,EAAU,IAAM,EAChB,MA9EqB,OAkF7B,MAjFyB,QAmGhBC,GAAkB,SAACn4P,GAC5B,IAAMmlN,EA1JkB,SAACnlN,GAIzB,IAHA,IAAMmlN,EAAa,GACfhsU,EAAI,EACFC,EAAS4mH,EAAI5mH,OACZD,EAAIC,GAAQ,CACf,IAAM4C,EAAQgkH,EAAIr4E,WAAWxuC,KAC7B,GAAI6C,GAAS,OAAUA,GAAS,OAAU7C,EAAIC,EAAQ,CAClD,IAAM2oQ,EAAQ/hJ,EAAIr4E,WAAWxuC,KACJ,SAAZ,MAAR4oQ,GACDojE,EAAW/hU,OAAe,KAARpH,IAAkB,KAAe,KAAR+lQ,GAAiB,QAE5DojE,EAAW/hU,KAAKpH,GAChB7C,UAGJgsU,EAAW/hU,KAAKpH,GAGxB,OAAOmpU,EAwIYq3B,CAAax8O,GAC1B5mH,EAAS+rU,EAAW/rU,OACtBqkC,EAAQ,EACR26U,EAAU,EACRnY,EAAa96B,EAAWphT,IAAIg0V,IAElC,MAAO,CACHl6W,KAAM,WACF,GAAI4/B,GAASrkC,EACT,MAAO,CAACgE,MAAM,EAAMpB,MAAO,MAI/B,IADA,IAAIq8W,EAjHiB,OAmHjB56U,EAAQrkC,GAnHS,UAoHhBi/W,EAAgBL,GAAsB7yC,EAAY86B,IAAcxiU,MAGrE,GAvHqB,SAuHjB46U,GAAuC56U,IAAUrkC,EAAQ,CACzD,IAAM4C,EAAQygW,GAAc//V,MAAM,KAAMyoU,EAAW72R,MAAM8pU,EAAS36U,IAElE,OADA26U,EAAU36U,EACH,CAACzhC,MAAK,EAAEoB,MAAM,GAGzB,MAAO,CAACA,MAAM,EAAMpB,MAAO,SGjIjCs8W,GAAe,SAAChrW,GAClB,OAAY,IAAZA,EAAK,IAAwB,MAAZA,EAAK,IAA0B,IAAZA,EAAK,IAAwB,MAAZA,EAAK,IA4CjDirW,GAAyB,SAClCr1W,EACAC,EACAgG,EACAC,EACAjJ,GAEA,IAAMigC,EAAQ,6BACRtgC,EAAMF,SAASyhC,gBAAgBjB,EAAO,OACtCo4U,EAAgB54W,SAASyhC,gBAAgBjB,EAAO,iBAatD,OAZAtgC,EAAIytC,eAAe,KAAM,QAASrqC,EAAMwF,YACxC5I,EAAIytC,eAAe,KAAM,SAAUpqC,EAAOuF,YAE1C8vW,EAAcjrU,eAAe,KAAM,QAAS,QAC5CirU,EAAcjrU,eAAe,KAAM,SAAU,QAC7CirU,EAAcjrU,eAAe,KAAM,IAAKpkC,EAAET,YAC1C8vW,EAAcjrU,eAAe,KAAM,IAAKnkC,EAAEV,YAC1C8vW,EAAcjrU,eAAe,KAAM,4BAA6B,QAChEztC,EAAI8gB,YAAY43V,GAEhBA,EAAc53V,YAAYzgB,GAEnBL,GAGE24W,GAAoB,SAAC34W,GAC9B,OAAO,IAAIszB,SAAQ,SAACw8F,EAASC,GACzB,IAAMzyG,EAAM,IAAI2/E,MAChB3/E,EAAIG,OAAS,WAAM,OAAAqyG,EAAQxyG,IAC3BA,EAAII,QAAUqyG,EAEdzyG,EAAIK,IAAM,oCAAoC8G,oBAAmB,IAAIsf,eAAgBiG,kBAAkBhqC,QAIlG44W,GAAW,CACpB,2BAEI,IAAM18W,EAzKU,SAAC4D,GAGrB,GAAIA,EAASmqU,YAAa,CACtB,IAAMjiM,EAAQloI,EAASmqU,cACvB,GAAIjiM,EAAM+iB,sBAAuB,CAC7B,IAAM8tN,EAAc/4W,EAASsX,cAAc,aAC3CyhW,EAAY3pW,MAAM7L,OAAYy1W,QAC9BD,EAAY3pW,MAAM0R,QAAU,QAC5B9gB,EAAS+gB,KAAKC,YAAY+3V,GAE1B7wO,EAAM+wO,WAAWF,GACjB,IAAMG,EAAchxO,EAAM+iB,wBACpBkuN,EAAct1W,KAAKi9G,MAAMo4P,EAAY31W,QAE3C,GADAvD,EAAS+gB,KAAKE,YAAY83V,GAbd,MAcRI,EACA,OAAO,GAKnB,OAAO,EAoJWC,CAAgBp5W,UAE9B,OADAnG,OAAOC,eAAeg/W,GAAU,uBAAwB,CAAC18W,MAAK,IACvDA,GAEX,4BAEI,IAAMA,EAAQ08W,GAASO,sBAvJN,SAACr5W,GACtB,IAAM+4W,EAAc/4W,EAASsX,cAAc,aAC3CyhW,EAAY3pW,MAAM9L,MAAQ,OAC1By1W,EAAY3pW,MAAM0R,QAAU,QAC5Bi4V,EAAY3pW,MAAM1H,SAAW,OAC7BqxW,EAAY3pW,MAAMq7T,cAAgB,MAClCsuC,EAAY3pW,MAAMkqW,YAAc,MAChCt5W,EAAS+gB,KAAKC,YAAY+3V,GAC1B,IAAM7wO,EAAQloI,EAASmqU,cAEvB4uC,EAAYl1V,UAAiC,mBAAd,GAAGkyE,OAAwB,YAAYA,OAAO,IAAM,GAEnF,IAAMx1F,EAAOw4W,EAAY/8U,WAEnBu9U,EAAW3c,EAAar8V,EAAKmN,MAAMyW,KAAI,SAAC5qB,GAAM,SAAcA,MAC9DoY,EAAS,EACT0kE,EAAgB,GAGdmjS,EAAWD,EAAS15O,OAAM,SAAClvH,EAAMpX,GACnC2uI,EAAM17C,SAASjsF,EAAMoR,GACrBu2H,EAAMuxO,OAAOl5W,EAAMoR,EAAShB,EAAKnX,QACjC,IAAM4Z,EAAO80H,EAAM+iB,wBAEnBt5I,GAAUhB,EAAKnX,OACf,IAAMkgX,EAAatmW,EAAK7J,EAAI8sE,EAAK9sE,GAAK6J,EAAK5J,EAAI6sE,EAAK7sE,EAGpD,OADA6sE,EAAOjjE,EACG,IAAN7Z,GAIGmgX,KAIX,OADA15W,EAAS+gB,KAAKE,YAAY83V,GACnBS,EAmH4CG,CAAiB35W,UAEhE,OADAnG,OAAOC,eAAeg/W,GAAU,wBAAyB,CAAC18W,MAAK,IACxDA,GAEX,0BAEI,IAAMA,EAlHE,SAAC4D,GACb,IAAMwd,EAAM,IAAI2/E,MACVh7F,EAASnC,EAASsX,cAAc,UAChC5U,EAAMP,EAAOqV,WAAW,MAC9B,IAAK9U,EACD,OAAO,EAGX8a,EAAIK,IAAM,oEAEV,IACInb,EAAIob,UAAUN,EAAK,EAAG,GACtBrb,EAAOwoE,YACT,MAAOltE,GACL,OAAO,EAEX,OAAO,EAkGWm8W,CAAQ55W,UAEtB,OADAnG,OAAOC,eAAeg/W,GAAU,sBAAuB,CAAC18W,MAAK,IACtDA,GAEX,oCAEI,IAAMA,EACoB,oBAAfe,MAAMsY,MAA+C,oBAAjBrX,OAAOy7W,MAnGpC,SAAC75W,GACvB,IAAMmC,EAASnC,EAASsX,cAAc,UAEtCnV,EAAOmB,MADM,IAEbnB,EAAOoB,OAFM,IAGb,IAAMb,EAAMP,EAAOqV,WAAW,MAC9B,IAAK9U,EACD,OAAO8wB,QAAQy8F,QAAO,GAE1BvtH,EAAIsO,UAAY,iBAChBtO,EAAIyc,SAAS,EAAG,EARH,SAUb,IAAM3B,EAAM,IAAI2/E,MACV28Q,EAAgB33W,EAAOwoE,YAC7BntD,EAAIK,IAAMi8V,EACV,IAAM55W,EAAMy4W,GAbC,QAakC,EAAG,EAAGn7V,GAIrD,OAHA9a,EAAIsO,UAAY,MAChBtO,EAAIyc,SAAS,EAAG,EAfH,SAiBN05V,GAAkB34W,GACpBmwH,MAAK,SAAC7yG,GACH9a,EAAIob,UAAUN,EAAK,EAAG,GACtB,IAAM9P,EAAOhL,EAAI6d,aAAa,EAAG,EApB5B,SAoB2C7S,KAChDhL,EAAIsO,UAAY,MAChBtO,EAAIyc,SAAS,EAAG,EAtBX,SAwBL,IAAM5e,EAAOP,EAASsX,cAAc,OAIpC,OAHA/W,EAAK6O,MAAMi5G,gBAAkB,OAAOyxP,EAAa,IACjDv5W,EAAK6O,MAAM7L,OAAYq+D,QAEhB82S,GAAahrW,GACdmrW,GAAkBF,GA7BnB,QA6BsD,EAAG,EAAGp4W,IAC3DizB,QAAQy8F,QAAO,MAExBI,MAAK,SAAC7yG,GAGH,OAFA9a,EAAIob,UAAUN,EAAK,EAAG,GAEfk7V,GAAah2W,EAAI6d,aAAa,EAAG,EAnCnC,SAmCkD7S,SAE1DkmB,OAAM,WAAM,YA6DHmmV,CAAkB/5W,UAClBwzB,QAAQw8F,SAAQ,GAE1B,OADAn2H,OAAOC,eAAeg/W,GAAU,gCAAiC,CAAC18W,MAAK,IAChEA,GAEX,0BAEI,IAAMA,EArIqD,qBAA5B,IAAI+gG,OAAQ1/E,YAuI3C,OADA5jB,OAAOC,eAAeg/W,GAAU,sBAAuB,CAAC18W,MAAK,IACtDA,GAEX,4BAEI,IAAMA,EAzIuE,kBAAtC,IAAIoI,gBAAiB+mL,aA2I5D,OADA1xL,OAAOC,eAAeg/W,GAAU,wBAAyB,CAAC18W,MAAK,IACxDA,GAEX,uBAEI,IAAMA,EAAQ,oBAAqB,IAAIoI,eAEvC,OADA3K,OAAOC,eAAeg/W,GAAU,mBAAoB,CAAC18W,MAAK,IACnDA,GAEX,uCAGI,IAAMA,IAA2B,qBAAT49W,OAAyBA,KAAaC,WAE9D,OADApgX,OAAOC,eAAeg/W,GAAU,mCAAoC,CAAC18W,MAAK,IACnEA,ICnNf,GAII,SAAYuU,EAAcy/E,GACtB1zF,KAAKiU,KAAOA,EACZjU,KAAK0zF,OAASA,GAiDhB8pR,GAAmB,SAACloT,EAAkBzxD,GACxC,IAAMqmC,EAAgBrmC,EAAKqmC,cAC3B,GAAIA,EAAe,CACf,IAAM+zH,EAAU/zH,EAActvB,cAAc,sBAC5CqjJ,EAAQ35I,YAAYzgB,EAAKurC,WAAU,IACnC,IAAMzpB,EAAa9hB,EAAK8hB,WACxB,GAAIA,EAAY,CACZA,EAAWspB,aAAagvH,EAASp6J,GACjC,IAAM6vF,EAASusQ,EAAY3qS,EAAS2oG,GAIpC,OAHIA,EAAQ3+H,YACR3Z,EAAWspB,aAAagvH,EAAQ3+H,WAAY2+H,GAEzCvqE,GAIf,OAAO+rQ,EAAOO,OAGZvyB,GAAc,SAAC5pU,EAAYoR,EAAgBnY,GAC7C,IAAMotC,EAAgBrmC,EAAKqmC,cAC3B,IAAKA,EACD,MAAM,IAAIhL,MAAM,8BAEpB,IAAMssG,EAAQthG,EAAcujS,cAG5B,OAFAjiM,EAAM17C,SAASjsF,EAAMoR,GACrBu2H,EAAMuxO,OAAOl5W,EAAMoR,EAASnY,GACrB0uI,GAGEiyO,GAAmB,SAAC/9W,GAC7B,GAAI08W,GAASsB,iCAAkC,CAE3C,IAAMC,EAAY,IAAKL,KAAaC,eAAU,EAAQ,CAACK,YAAa,aAEpE,OAAOn9W,MAAMsY,KAAK4kW,EAAUz/Q,QAAQx+F,IAAQ+nB,KAAI,SAACy2E,GAAiB,OAAAA,EAAQA,WAG9E,OJ4H0B,SAACwlB,GAM3B,IALA,IAGIm6P,EAHEC,EAAUjC,GAAgBn4P,GAE1Bq6P,EAAY,KAGTF,EAAKC,EAAQv8W,QAAQT,MACtB+8W,EAAGn+W,OACHq+W,EAAUj3W,KAAK+2W,EAAGn+W,MAAMsyC,SAIhC,OAAO+rU,EIxIAC,CAAet+W,IAgBpBu+W,GAAY,SAACv+W,EAAe4S,GAC9B,OAAgC,IAAzBA,EAAOy7T,cAAsB0vC,GAAiB/9W,GAdpC,SAACA,EAAe4S,GACjC,GAAI8pW,GAASsB,iCAAkC,CAE3C,IAAMC,EAAY,IAAKL,KAAaC,eAAU,EAAQ,CAClDK,YAAa,SAGjB,OAAOn9W,MAAMsY,KAAK4kW,EAAUz/Q,QAAQx+F,IAAQ+nB,KAAI,SAACy2E,GAAiB,OAAAA,EAAQA,WAG9E,OAAOggR,GAAWx+W,EAAO4S,GAIqC6rW,CAAaz+W,EAAO4S,IAIhF8rW,GAAiB,CAAC,GAAQ,IAAQ,KAAQ,MAAS,MAAS,KAAQ,MAEpEF,GAAa,SAACx6P,EAAapxG,GAS7B,IARA,IAMIurW,EANEC,E7EueiB,SAACp6P,EAAanlF,GACrC,IAAMsqS,EAAaq3B,EAAax8O,GAC1B,EAA+CwgP,GAAoBr7B,EAAYtqS,GAA9EulU,EAAQ,KAAEH,EAAU,KAAE0a,EAAoB,KAC3CvhX,EAAS+rU,EAAW/rU,OACtBg/W,EAAU,EACVjvM,EAAY,EAEhB,MAAO,CACHtrK,KAAM,WACF,GAAIsrK,GAAa/vK,EACb,MAAO,CAACgE,MAAM,EAAMpB,MAAO,MAG/B,IADA,IAAIykW,EAtgBiB,OAwgBjBt3L,EAAY/vK,GAxgBK,UAygBhBqnW,EAAYN,GAAkBh7B,EAAY86B,EAAYG,IAAYj3L,EAAWwxM,MAIlF,GA7gBqB,SA6gBjBla,GAAmCt3L,IAAc/vK,EAAQ,CACzD,IAAM4C,EAAQ,IAAI4+W,GAAMz1C,EAAYs7B,EAAW2X,EAASjvM,GAExD,OADAivM,EAAUjvM,EACH,CAACntK,MAAK,EAAEoB,MAAM,GAGzB,MAAO,CAACA,MAAM,EAAMpB,MAAO,Q6EhgBnB6+W,CAAY76P,EAAK,CAC7BygP,UAAW7xV,EAAO6xV,UAClBC,UAA8B,eAAnB9xV,EAAOkmW,aAA4C,aAAelmW,EAAO8xV,YAGlFn9P,EAAQ,G,aAIV,GAAI42Q,EAAGn+W,MAAO,CACV,IAAMA,EAAQm+W,EAAGn+W,MAAMsyC,QACjB62R,EAAaq3B,EAAaxgW,GAC5B,EAAO,GACXmpU,EAAW9zS,SAAQ,SAAC4zS,IAC2B,IAAvCy1C,GAAe/zW,QAAQs+T,GACvB,GAAQw3B,EAAcx3B,IAElB,EAAK7rU,QACLmqG,EAAMngG,KAAK,GAEfmgG,EAAMngG,KAAKq5V,EAAcx3B,IACzB,EAAO,OAIX,EAAK7rU,QACLmqG,EAAMngG,KAAK,OAlBd+2W,EAAKC,EAAQv8W,QAAQT,M,IAuB9B,OAAOmmG,GCvJX,GAII,SAAY3xC,EAAkBzxD,EAAYyO,GACtCtS,KAAKiU,KAAOzD,GAAU3M,EAAKmN,KAAMsB,EAAOqmW,eACxC34W,KAAKw+W,WDOkB,SAC3BlpT,EACA51D,EACA4S,EACAzO,GAEA,IAAMg5W,EAAWoB,GAAUv+W,EAAO4S,GAC5BksW,EAA2B,GAC7BvpW,EAAS,EAkCb,OAjCA4nW,EAAS9nV,SAAQ,SAAC9gB,GACd,GAAI3B,EAAO+mW,mBAAmBv8W,QAAUmX,EAAKzM,OAAO1K,OAAS,EACzD,GAAIs/W,GAASO,qBAAsB,CAC/B,IAAM8B,EAAchxC,GAAY5pU,EAAMoR,EAAQhB,EAAKnX,QAAQ01J,iBAC3D,GAAIisN,EAAY3hX,OAAS,EAAG,CACxB,IAAM4hX,EAAcjB,GAAiBxpW,GACjC,EAAY,EAChByqW,EAAY3pV,SAAQ,SAAC4pV,GACjBH,EAAW13W,KACP,IAAI83W,GACAD,EACAlf,EAAOI,gBACHvqS,EACAm4Q,GAAY5pU,EAAM,EAAYoR,EAAQ0pW,EAAW7hX,QAAQ01J,oBAIrE,GAAamsN,EAAW7hX,eAG5B0hX,EAAW13W,KAAK,IAAI83W,GAAW3qW,EAAMwrV,EAAOI,gBAAgBvqS,EAASmpT,SAEtE,CACH,IAAMI,EAAkBh7W,EAAK4tC,UAAUx9B,EAAKnX,QAC5C0hX,EAAW13W,KAAK,IAAI83W,GAAW3qW,EAAMupW,GAAiBloT,EAASzxD,KAC/DA,EAAOg7W,OAEHzC,GAASO,uBACjB94W,EAAOA,EAAK4tC,UAAUx9B,EAAKnX,SAE/BmY,GAAUhB,EAAKnX,UAGZ0hX,ECjDeM,CAAgBxpT,EAASt1D,KAAKiU,KAAM3B,EAAQzO,IAIhE2M,GAAY,SAACyD,EAAc,GAC7B,OAAQ,GACJ,KAAK,EACD,OAAOA,EAAK4E,cAChB,KAAK,EACD,OAAO5E,EAAKxM,QAAQs3W,GAAY7iD,IACpC,KAAK,EACD,OAAOjoT,EAAKwxE,cAChB,QACI,OAAOxxE,IAIb8qW,GAAa,2BAEb7iD,GAAa,SAACj6T,EAAWmN,EAAYC,GACvC,OAAIpN,EAAEnF,OAAS,EACJsS,EAAKC,EAAGo2E,cAGZxjF,GChCX,eAKI,WAAYqzD,EAAkBx0C,GAA9B,MACI,YAAMw0C,EAASx0C,IAAI,K,OACnB,EAAKK,IAAML,EAAIk+V,YAAcl+V,EAAIK,IACjC,EAAK89V,eAAiBn+V,EAAIo+V,aAC1B,EAAKC,gBAAkBr+V,EAAIs+V,cAC3B,EAAK9pT,QAAQizC,MAAM+tG,SAAS,EAAKn1L,K,EAEzC,OAZ2C,OAY3C,EAZA,CAA2Ck+V,ICA3C,eAKI,WAAY/pT,EAAkB7vD,GAA9B,MACI,YAAM6vD,EAAS7vD,IAAO,K,OACtB,EAAKA,OAASA,EACd,EAAKw5W,eAAiBx5W,EAAOmB,MAC7B,EAAKu4W,gBAAkB15W,EAAOoB,O,EAEtC,OAX4C,OAW5C,EAXA,CAA4Cw4W,ICC5C,eAKI,WAAY/pT,EAAkBx0C,GAA9B,MACI,YAAMw0C,EAASx0C,IAAI,KACblgB,EAAI,IAAI2mC,cACRmsD,EAASusQ,EAAY3qS,EAASx0C,G,OACpCA,EAAI8R,aAAa,QAAY8gE,EAAO9sF,MAAK,MACzCka,EAAI8R,aAAa,SAAa8gE,EAAO7sF,OAAM,MAE3C,EAAKrD,IAAM,sBAAsBykB,mBAAmBrnB,EAAE4sC,kBAAkB1sB,IACxE,EAAKm+V,eAAiBn+V,EAAIla,MAAMoiL,QAAQtpL,MACxC,EAAKy/W,gBAAkBr+V,EAAIja,OAAOmiL,QAAQtpL,MAE1C,EAAK41D,QAAQizC,MAAM+tG,SAAS,EAAK9yM,K,EAEzC,OAlByC,OAkBzC,EAlBA,CAAyC67W,ICFzC,eAGI,WAAY/pT,EAAkB56C,GAA9B,MACI,YAAM46C,EAAS56C,IAAQ,K,OACvB,EAAKhb,MAAQgb,EAAQhb,M,EAE7B,OAPwC,OAOxC,EAPA,CAAwC2/W,ICAxC,eAII,WAAY/pT,EAAkB56C,GAA9B,MACI,YAAM46C,EAAS56C,IAAQ,K,OACvB,EAAK5C,MAAQ4C,EAAQ5C,MACrB,EAAKssK,SAAuC,mBAArB1pK,EAAQ0pK,WAA+C,IAArB1pK,EAAQ0pK,S,EAEzE,OATwC,OASxC,EATA,CAAwCi7L,ICOlCC,GAAgD,CAClD,CACIruW,KAAM,GACN4zL,MAAO,EACP1oD,KAAM,KACNpyB,OAAQ,IAIVw1P,GAA6C,CAC/C,CACItuW,KAAM,GACN4zL,MAAO,EACP96E,OAAQ,KAqBHy1P,GAAW,WAGxB,eAKI,WAAYlqT,EAAkBmtD,GAA9B,IAzByB/uB,EAyBzB,EACI,YAAMp+B,EAASmtD,IAAM,KA2BrB,OA1BA,EAAKxxG,KAAOwxG,EAAMxxG,KAAK4H,cACvB,EAAKszG,QAAU1J,EAAM0J,QACrB,EAAKzsH,MApBS,SAACmE,GACnB,IAAMnE,EAAQmE,EAAKoN,OAASuuW,GAAW,IAAI/+W,MAAMoD,EAAKnE,MAAM5C,OAAS,GAAGuP,KAAK,UAAYxI,EAAKnE,MAE9F,OAAwB,IAAjBA,EAAM5C,OAAe+G,EAAK4qH,aAAe,GAAK/uH,EAiBpC+/W,CAAch9P,GAdX,aAgBZ,EAAKxxG,MAfI,UAeiB,EAAKA,OAC/B,EAAKqB,OAAO8zD,gBAAkB,WAC9B,EAAK9zD,OAAO0kW,eACR,EAAK1kW,OAAO2kW,iBACZ,EAAK3kW,OAAO4kW,kBACZ,EAAK5kW,OAAO6kW,gBACR,WACR,EAAK7kW,OAAOs8I,eACR,EAAKt8I,OAAOy8I,iBACZ,EAAKz8I,OAAOu8I,kBACZ,EAAKv8I,OAAOw8I,gBACR,EACR,EAAKx8I,OAAOolW,eACR,EAAKplW,OAAOqlW,iBACZ,EAAKrlW,OAAOslW,kBACZ,EAAKtlW,OAAOulW,gB,EAEhB,EAAKvlW,OAAOyiW,eAAiB,CAAC,GAC9B,EAAKziW,OAAOokW,iBAAmB,CAAC,GAChC,EAAKhjR,QAlDYA,EAkDiB,EAAKA,QAjDpC9sF,MAAQ8sF,EAAO7sF,OACf,IAAI44V,EAAO/rQ,EAAO78C,MAAQ68C,EAAO9sF,MAAQ8sF,EAAO7sF,QAAU,EAAG6sF,EAAO38C,IAAK28C,EAAO7sF,OAAQ6sF,EAAO7sF,QAC/F6sF,EAAO9sF,MAAQ8sF,EAAO7sF,OACtB,IAAI44V,EAAO/rQ,EAAO78C,KAAM68C,EAAO38C,KAAO28C,EAAO7sF,OAAS6sF,EAAO9sF,OAAS,EAAG8sF,EAAO9sF,MAAO8sF,EAAO9sF,OAElG8sF,GA+CK,EAAKziF,MACT,IAvCY,WAwCR,EAAKqB,OAAOglW,qBACR,EAAKhlW,OAAO+kW,oBACZ,EAAK/kW,OAAOilW,wBACZ,EAAKjlW,OAAOklW,uBACR8H,GACR,MACJ,IA7CS,QA8CL,EAAKhtW,OAAOglW,qBACR,EAAKhlW,OAAO+kW,oBACZ,EAAK/kW,OAAOilW,wBACZ,EAAKjlW,OAAOklW,uBACR+H,G,SAIxB,OAlD2C,OAkD3C,EAlDA,CAA2CF,IC5C3C,eAEI,WAAY/pT,EAAkB56C,GAA9B,MACI,YAAM46C,EAAS56C,IAAQ,KACjBuhT,EAASvhT,EAAQ6jB,QAAQ7jB,EAAQglW,eAAiB,G,OACxD,EAAKhgX,MAAQu8T,GAASA,EAAOhoT,MAAa,G,EAElD,OAP4C,OAO5C,EAPA,CAA4CorW,ICA5C,eAEI,WAAY/pT,EAAkB56C,GAA9B,MACI,YAAM46C,EAAS56C,IAAQ,K,OACvB,EAAKhb,MAAQgb,EAAQhb,M,EAE7B,OAN8C,OAM9C,EANA,CAA8C2/W,ICG9C,eAOI,WAAY/pT,EAAkBqqT,GAA9B,MACI,YAAMrqT,EAASqqT,IAAO,KACtB,EAAKx+V,IAAMw+V,EAAOx+V,IAClB,EAAKva,MAAQsX,SAASyhW,EAAO/4W,MAAO,KAAO,EAC3C,EAAKC,OAASqX,SAASyhW,EAAO94W,OAAQ,KAAO,EAC7C,EAAKu/D,gBAAkB,EAAK9zD,OAAO8zD,gBACnC,IACI,GACIu5S,EAAO77K,eACP67K,EAAO77K,cAAcxgM,UACrBq8W,EAAO77K,cAAcxgM,SAASkiB,gBAChC,CACE,EAAKo6V,KAAOC,GAAUvqT,EAASqqT,EAAO77K,cAAcxgM,SAASkiB,iBAG7D,IAAMs6V,EAA0BH,EAAO77K,cAAcxgM,SAASkiB,gBACxDqyT,GACIviR,EACAn/C,iBAAiBwpW,EAAO77K,cAAcxgM,SAASkiB,iBAAiB4gD,iBAEpEuiC,GAAOsiQ,YACP8U,EAAsBJ,EAAO77K,cAAcxgM,SAAS+gB,KACpDwzT,GACIviR,EACAn/C,iBAAiBwpW,EAAO77K,cAAcxgM,SAAS+gB,MAAM+hD,iBAEzDuiC,GAAOsiQ,YAEb,EAAK7kS,gBAAkB8kS,GAAc4U,GAC/B5U,GAAc6U,GACV,EAAKztW,OAAO8zD,gBACZ25S,EACJD,GAEZ,MAAO/+W,I,SAEjB,OA3C4C,OA2C5C,EA3CA,CAA4Cs+W,ICStCW,GAAc,CAAC,KAAM,KAAM,QAyC3BC,GAAkB,SAAC3qT,EAAkB56C,GACvC,OAAIwlW,GAAexlW,GACR,IAAIylW,GAAsB7qT,EAAS56C,GAG1C0lW,GAAgB1lW,GACT,IAAI2lW,GAAuB/qT,EAAS56C,GAG3C4lW,GAAa5lW,GACN,IAAI6lW,GAAoBjrT,EAAS56C,GAGxC8lW,GAAY9lW,GACL,IAAI+lW,GAAmBnrT,EAAS56C,GAGvCgmW,GAAYhmW,GACL,IAAIimW,GAAmBrrT,EAAS56C,GAGvCkmW,GAAelmW,GACR,IAAImmW,GAAsBvrT,EAAS56C,GAG1ComW,GAAgBpmW,GACT,IAAIqmW,GAAuBzrT,EAAS56C,GAG3CsmW,GAAkBtmW,GACX,IAAIumW,GAAyB3rT,EAAS56C,GAG7CwmW,GAAgBxmW,GACT,IAAIymW,GAAuB7rT,EAAS56C,GAGxC,IAAI2kW,GAAiB/pT,EAAS56C,IAG5BmlW,GAAY,SAACvqT,EAAkB56C,GACxC,IAAMo0G,EAAYmxP,GAAgB3qT,EAAS56C,GAG3C,OAFAo0G,EAAU+1E,OAAK,EAjFG,SAAhBu8K,EAAiB9rT,EAAkBzxD,EAAY+O,EAA0ByD,GAC3E,IAAK,IAAI9C,EAAY1P,EAAKy7B,WAAY+hV,OAAQ,EAAE9tW,EAAWA,EAAY8tW,EAGnE,GAFAA,EAAW9tW,EAAU8rB,YAEjBiiV,GAAW/tW,IAAcA,EAAUvC,KAAKxJ,OAAO1K,OAAS,EACxD8V,EAAOuoW,UAAUr0W,KAAK,IAAIy6W,GAAcjsT,EAAS/hD,EAAWX,EAAON,cAChE,GAAIkvW,GAAcjuW,GACrB,GAAIkuW,GAAcluW,IAAcA,EAAUmuW,cACtCnuW,EAAUmuW,gBAAgB3sV,SAAQ,SAACxhB,GAAc,OAAA6tW,EAAc9rT,EAAS/hD,EAAWX,EAAQyD,UACxF,CACH,IAAMy4G,EAAYmxP,GAAgB3qT,EAAS/hD,GACvCu7G,EAAUx8G,OAAO+vC,cACbs/T,GAA2BpuW,EAAWu7G,EAAWz4G,GACjDy4G,EAAU+1E,OAAK,EACR+8K,GAAuB9yP,EAAUx8G,UACxCw8G,EAAU+1E,OAAK,IAG6B,IAA5Cm7K,GAAY31W,QAAQkJ,EAAUkyB,WAC9BqpF,EAAU+1E,OAAK,GAGnBjyL,EAAOkvG,SAASh7G,KAAKgoH,GACrBv7G,EAAUsuW,KACNtuW,EAAUuuW,WACVV,EAAc9rT,EAAS/hD,EAAUuuW,WAAYhzP,EAAWz4G,GAEvD2qW,GAAkBztW,IAClB+sW,GAAa/sW,IACbutW,GAAgBvtW,IAEjB6tW,EAAc9rT,EAAS/hD,EAAWu7G,EAAWz4G,KAmDjE+qW,CAAc9rT,EAAS56C,EAASo0G,EAAWA,GACpCA,GAGL6yP,GAA6B,SAAC99W,EAAeirH,EAA6Bz4G,GAC5E,OACIy4G,EAAUx8G,OAAOuoW,0BACjB/rP,EAAUx8G,OAAOy2C,QAAU,GAC3B+lE,EAAUx8G,OAAOqoW,iBAChBoH,GAAcl+W,IAASwS,EAAK/D,OAAO44V,iBAItC0W,GAAyB,SAACtvW,GAA0C,OAAAA,EAAOsoW,gBAAkBtoW,EAAOwoW,cAE7FwG,GAAa,SAACz9W,GAA6B,OAAAA,EAAKgQ,WAAas3B,KAAKnD,WAClEw5U,GAAgB,SAAC39W,GAAgC,OAAAA,EAAKgQ,WAAas3B,KAAKrD,cACxEuzU,GAAoB,SAACx3W,GAC9B,OAAA29W,GAAc39W,IAAgD,qBAA/BA,EAAqB6O,QAA0BsvW,GAAiBn+W,IACtFm+W,GAAmB,SAACtnW,GAC7B,MAA6C,kBAArCA,EAAuBiK,WACtB67V,GAAc,SAAC38W,GAAyC,MAAiB,OAAjBA,EAAK4hC,SAC7Di7U,GAAc,SAAC78W,GAA4C,MAAiB,OAAjBA,EAAK4hC,SAChEm7U,GAAiB,SAAC/8W,GAA4C,MAAiB,UAAjBA,EAAK4hC,SAEnE66U,GAAe,SAACz8W,GAAyC,MAAiB,QAAjBA,EAAK4hC,SAC9Ds8U,GAAgB,SAACl+W,GAA2C,MAAiB,SAAjBA,EAAK4hC,SACjE26U,GAAkB,SAACv8W,GAA6C,MAAiB,WAAjBA,EAAK4hC,SACrEw8U,GAAiB,SAACp+W,GAA4C,MAAiB,UAAjBA,EAAK4hC,SACnEy6U,GAAiB,SAACr8W,GAA4C,MAAiB,QAAjBA,EAAK4hC,SACnEy7U,GAAkB,SAACr9W,GAA6C,MAAiB,WAAjBA,EAAK4hC,SACrEy8U,GAAiB,SAACr+W,GAA4C,MAAiB,UAAjBA,EAAK4hC,SAEnEu7U,GAAoB,SAACn9W,GAA+C,MAAiB,aAAjBA,EAAK4hC,SACzEq7U,GAAkB,SAACj9W,GAA6C,MAAiB,WAAjBA,EAAK4hC,SACrEg8U,GAAgB,SAAC59W,GAA2C,MAAiB,SAAjBA,EAAK4hC,SAEjE08U,GAAkB,SAACt+W,GAAuC,OAAAA,EAAK4hC,QAAQp7B,QAAQ,KAAO,GClInG,2BACqB,KAAA+3W,SAAsC,GAoD3D,OAlDI,YAAAC,gBAAA,SAAgBjgX,GACZ,IAAMw/E,EAAU5hF,KAAKoiX,SAAShgX,GAE9B,OAAIw/E,GAAWA,EAAQ9kF,OACZ8kF,EAAQA,EAAQ9kF,OAAS,GAE7B,GAGX,YAAAwlX,iBAAA,SAAiBlgX,GACb,IAAMw/E,EAAU5hF,KAAKoiX,SAAShgX,GAC9B,OAAOw/E,GAAoB,IAG/B,YAAA56E,IAAA,SAAIo7W,GAAJ,WACIA,EAASrtV,SAAQ,SAAC6sD,GAAY,SAAKwgS,SAASxgS,GAAS56E,UAGzD,YAAAs9B,MAAA,SAAM5xB,GAAN,WACU6mW,EAAmB7mW,EAAM6mW,iBACzBG,EAAehnW,EAAMgnW,aACvB6I,GAAW,EAEU,OAArBhJ,GACAA,EAAiBxkV,SAAQ,SAAC2rB,GACtB,IAAMkhC,EAAU,EAAKwgS,SAAS1hU,EAAMkhC,SAChCA,GAA+B,IAApBlhC,EAAMktE,YACjB20P,GAAW,EACN3gS,EAAQ9kF,QACT8kF,EAAQ96E,KAAK,GAEjB86E,EAAQz6E,KAAK+K,IAAI,EAAG0vE,EAAQ9kF,OAAS,KAAO4jD,EAAMktE,cAK9D,IAAM40P,EAAyB,GAY/B,OAXID,GACA7I,EAAa3kV,SAAQ,SAAC2rB,GAClB,IAAIkhC,EAAU,EAAKwgS,SAAS1hU,EAAMkhC,SAClC4gS,EAAa17W,KAAK45C,EAAMkhC,SACnBA,IACDA,EAAU,EAAKwgS,SAAS1hU,EAAMkhC,SAAW,IAE7CA,EAAQ96E,KAAK45C,EAAM/oC,UAIpB6qW,GAEf,EArDA,GA4DMC,GAA8B,CAChCjd,SAAU,CAAC,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAC9D/nV,OAAQ,CAAC,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,MAGzEilW,GAA2B,CAC7Bld,SAAU,CACN,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAC3G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD/nV,OAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIFklW,GAAyB,CAC3Bnd,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD/nV,OAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,eACA,eACA,eACA,eACA,eACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIFmlW,GAA2B,CAC7Bpd,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5D/nV,OAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIFolW,GAAwB,SAC1BnjX,EACAsS,EACAE,EACA+nH,EACA6oP,EACAzoD,GAEA,OAAI36T,EAAQsS,GAAOtS,EAAQwS,EAChB6wW,GAAkBrjX,EAAOojX,EAAUzoD,EAAOv9T,OAAS,GAI1Dm9H,EAAQurO,SAASz2R,QAAO,SAACi7C,EAAQg5P,EAAS7hV,GACtC,KAAOzhC,GAASsjX,GACZtjX,GAASsjX,EACTh5P,GAAUiQ,EAAQx8G,OAAO0jB,GAE7B,OAAO6oF,IACR,IAAMqwM,GAIX4oD,GAAuC,SACzCvjX,EACAwjX,EACAC,EACAC,GAEA,IAAIp5P,EAAS,GAEb,GACSm5P,GACDzjX,IAEJsqH,EAASo5P,EAAS1jX,GAASsqH,EAC3BtqH,GAASwjX,QACJxjX,EAAQwjX,GAAwBA,GAEzC,OAAOl5P,GAGLq5P,GAA8B,SAChC3jX,EACA4jX,EACAC,EACAJ,EACA9oD,GAEA,IAAM6oD,EAAuBK,EAAoBD,EAAsB,EAEvE,OACK5jX,EAAQ,EAAI,IAAM,KAClBujX,GAAqC97W,KAAKwjD,IAAIjrD,GAAQwjX,EAAsBC,GAAW,SAACx6C,GACrF,SAAcxhU,KAAK0W,MAAM8qT,EAAYu6C,GAAwBI,MAE7DjpD,IAINmpD,GAAgC,SAAC9jX,EAAeu6H,EAAiBogM,QAAA,IAAAA,MAAS,MAC5E,IAAM6oD,EAAuBjpP,EAAQn9H,OACrC,OACImmX,GACI97W,KAAKwjD,IAAIjrD,GACTwjX,GACA,GACA,SAACv6C,GAAc,OAAA1uM,EAAQ9yH,KAAK0W,MAAM8qT,EAAYu6C,OAC9C7oD,GASNopD,GAAmB,SACrB/jX,EACA4+T,EACAolD,EACAC,EACAtpD,EACAx1H,GAEA,GAAInlM,GAAS,MAAQA,EAAQ,KACzB,OAAOqjX,GAAkBrjX,EAAK,EAA+B26T,EAAOv9T,OAAS,GAEjF,IAAIy+R,EAAMp0R,KAAKwjD,IAAIjrD,GACfsqH,EAASqwM,EAEb,GAAY,IAAR9+B,EACA,OAAO+iC,EAAQ,GAAKt0M,EAGxB,IAAK,IAAI+9O,EAAQ,EAAGxsE,EAAM,GAAKwsE,GAAS,EAAGA,IAAS,CAChD,IAAM52H,EAAcoqD,EAAM,GAEN,IAAhBpqD,GAAqBhxL,GAAS0kJ,EA1BxB,IA0BwD,KAAX76E,EACnDA,EAASs0M,EAAQntF,GAAennH,EAEhCmnH,EAAc,GACG,IAAhBA,GAA+B,IAAV42H,GACL,IAAhB52H,GAA+B,IAAV42H,GAAe5nT,GAAS0kJ,EA9B7B,IA+BA,IAAhBssC,GAA+B,IAAV42H,GAAe5nT,GAAS0kJ,EA9BxB,IA8B6DnlM,EAAQ,KAC1E,IAAhByxO,GAAqB42H,EAAQ,GAAK5nT,GAAS0kJ,EA9BvB,GAgCrB76E,EAASs0M,EAAQntF,IAAgB42H,EAAQ,EAAI2b,EAAY3b,EAAQ,GAAK,IAAM/9O,EACrD,IAAhBmnH,GAAqB42H,EAAQ,IACpC/9O,EAAS05P,EAAY3b,EAAQ,GAAK/9O,GAEtCuxK,EAAMp0R,KAAK0W,MAAM09Q,EAAM,IAG3B,OAAQ77R,EAAQ,EAAIikX,EAAe,IAAM35P,GAQhC+4P,GAAoB,SAACrjX,EAAeuR,EAAuB2yW,GACpE,IAAMC,EAAgBD,EAAe,KAAO,GACtCE,EAAYF,EAAe,SAAM,GACjCG,EAAeH,EAAe,KAAO,GACrCI,EAAcJ,EAAe,IAAM,GACzC,OAAQ3yW,GACJ,KAAK,EACD,MAAO,SAAM+yW,EACjB,KAAK,EACD,MAAO,SAAMA,EACjB,KAAK,EACD,MAAO,SAAMA,EACjB,KAAK,EACD,IAAMh6P,EAASq5P,GAA4B3jX,EAAO,GAAI,IAAI,EAAMmkX,GAChE,OAAO75P,EAAOltH,OAAS,EAAI,IAAIktH,EAAWA,EAC9C,KAAK,EACD,OAAOw5P,GAA8B9jX,EAAO,+DAAcokX,GAC9D,KAAK,EACD,OAAOjB,GACHnjX,EACA,EACA,KACA+iX,GAAW,EAEXoB,GACFhrW,cACN,KAAK,EACD,OAAOgqW,GAAsBnjX,EAAO,EAAG,KAAM+iX,GAAW,EAA2BoB,GACvF,KAAK,EACD,OAAOR,GAA4B3jX,EAAO,IAAK,KAAK,EAAOmkX,GAC/D,KAAK,EACD,OAAOR,GAA4B3jX,EAAO,GAAI,KAAK,EAAOmkX,GAC9D,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,GAAI,IAAI,EAAOmkX,GAC7D,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAM,MAAM,EAAMmkX,GAChE,KAAK,GACL,KAAK,GACD,OAAOhB,GAAsBnjX,EAAO,EAAG,KAAMgjX,GAAQ,EAA2BmB,GACpF,KAAK,GACD,OAAOhB,GACHnjX,EACA,EACA,KACAgjX,GAAQ,EAERmB,GACFhrW,cACN,KAAK,GACD,OAAOwqW,GAA4B3jX,EAAO,KAAM,MAAM,EAAMmkX,GAChE,KAAK,GACL,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAM,MAAM,EAAMmkX,GAChE,KAAK,GACD,OAAOL,GAA8B9jX,EAAO,2EAAgBokX,GAChE,KAAK,GACD,OAAON,GAA8B9jX,EAAO,+DAAcokX,GAC9D,KAAK,GACL,KAAK,GACD,OAAOL,GACH/jX,EACA,+DAlEqB,2BAoErB,SACAokX,EACAG,IAER,KAAK,GACD,OAAOR,GACH/jX,EACA,+DA1EmB,2BA4EnB,SACAokX,EACAI,IAER,KAAK,GACD,OAAOT,GACH/jX,EACA,+DApFqB,2BAsFrB,SACAokX,EACAG,IAER,KAAK,GACD,OAAOR,GACH/jX,EACA,+DA5FmB,2BA8FnB,SACAokX,EACAI,IAER,KAAK,GACD,OAAOT,GAAiB/jX,EAAO,+DAAc,2BAlG/B,2BAkG0DokX,EAAW,GACvF,KAAK,GACD,OAAOL,GACH/jX,EACA,+DACA,2BAvGU,2BAyGVokX,EACAI,GAER,KAAK,GACD,OAAOT,GACH/jX,EACA,+DACA,2BA/GQ,2BAiHRqkX,EACAG,GAER,KAAK,GACD,OAAOT,GAAiB/jX,EAAO,+DAAc,2BArHjC,2BAqH0DqkX,EAAc,GACxF,KAAK,GACD,OAAON,GACH/jX,EACA,+DACA,qBA1HQ,2BA4HRqkX,EACAG,GAER,KAAK,GACD,OAAOb,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOhB,GAAsBnjX,EAAO,EAAG,MAAOkjX,GAAQ,EAA2BiB,GACrF,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOhB,GAAsBnjX,EAAO,EAAG,MAAOijX,GAAM,EAA2BkB,GACnF,KAAK,GACD,OAAOL,GACH9jX,EACA,oSAER,KAAK,GACD,OAAO8jX,GACH9jX,EACA,8RAER,KAAK,GACD,OAAO2jX,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOL,GACH9jX,EACA,mSACAokX,GAER,KAAK,GACD,OAAON,GACH9jX,EACA,6RACAokX,GAER,KAAK,GACD,OAAOT,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAQ,MAAQ,EAAMmkX,GACpE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAQ,MAAQ,EAAMmkX,GACpE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,GACD,OAAOR,GAA4B3jX,EAAO,KAAO,MAAO,EAAMmkX,GAClE,KAAK,EACL,QACI,OAAOR,GAA4B3jX,EAAO,GAAI,IAAI,EAAMmkX,Kf7cpE,cAQI,WACqBvuT,EACjB56C,EACiB6jB,GAMjB,GARiB,KAAA+2B,UAEA,KAAA/2B,UAEjBv+B,KAAKmkX,iBAAmB,GACxBnkX,KAAKokX,iBAAmB1pW,EACxB1a,KAAKoiX,SAAW,IAAIiC,GACpBrkX,KAAKskX,WAAa,GACb5pW,EAAQwvB,cACT,MAAM,IAAIhL,MAAM,kDAGpBl/B,KAAKwlB,gBAAkBxlB,KAAKovC,UAAU10B,EAAQwvB,cAAc1kB,iBAAiB,GAmarF,OAhaI,YAAA++V,SAAA,SAASr6U,EAAyBs6U,GAAlC,WACU7E,EAA4B8E,GAAsBv6U,EAAes6U,GAEvE,IAAK7E,EAAO77K,cACR,OAAOhtK,QAAQy8F,OAAO,gCAG1B,IAAMpuG,EAAW+kB,EAAcumQ,YAAuB5iJ,YAChDzoI,EAAW8kB,EAAcumQ,YAAuB9iJ,YAEhD+2N,EAAc/E,EAAO77K,cACrB6gL,EAA0BD,EAAYphX,SAMtCshX,EAAaC,GAAalF,GAAQhsP,MAAK,gD,0DAsBzC,OArBA3zH,KAAKmkX,iBAAiBpvV,QAAQ+vV,IAC1BJ,IACAA,EAAYjlU,SAAS+kU,EAAW3tU,KAAM2tU,EAAWztU,MAE7C,sBAAsBxU,KAAKunD,UAAU6nE,YACpC+yN,EAAYt/V,UAAYo/V,EAAWztU,KAAO2tU,EAAYv/V,UAAYq/V,EAAW3tU,OAE9E72C,KAAKs1D,QAAQ27P,OAAO5pR,KAAK,yDACzBrnC,KAAKs1D,QAAQsqS,aAAe5/V,KAAKs1D,QAAQsqS,aAAartT,IAClDmyU,EAAYv/V,QAAUq/V,EAAW3tU,KACjC6tU,EAAYt/V,QAAUo/V,EAAWztU,IACjC,EACA,KAKNguU,EAAU/kX,KAAKu+B,QAAQwmV,QAIG,qBAF1BX,EAAmBpkX,KAAKglX,wBAGnB,CAAP,EAAOluV,QAAQy8F,OAAO,qBAAqBvzH,KAAKokX,iBAAiBtwW,SAAQ,4BAGzE6wW,EAAcziW,OAASyiW,EAAcziW,MAAM0lH,MAC3C,GAAM+8O,EAAcziW,MAAM0lH,OAD1B,M,OACA,S,uBAGA,iBAAiBrlG,KAAKunD,UAAU6nE,WAChC,GAAMszN,GAAYN,IADlB,M,OACA,S,iBAGJ,MAAuB,oBAAZI,EACA,CAAP,EAAOjuV,QAAQw8F,UACVK,MAAK,WAAM,OAAAoxP,EAAQJ,EAAeP,MAClCzwP,MAAK,WAAM,OAAAgsP,MAGb,CAAP,EAAOA,aAUX,OAPAgF,EAAc38W,OACd28W,EAAc9sL,MAASqtL,GAAiB5hX,SAASyrC,SAAQ,iBAEzDo2U,GAAmBnlX,KAAKokX,iBAAiBl6U,cAAe/kB,EAASC,GACjEu/V,EAAc11U,aAAa01U,EAAcS,UAAUplX,KAAKwlB,iBAAkBm/V,EAAcn/V,iBACxFm/V,EAAc79K,QAEP89K,GAGX,YAAAS,mBAAA,SAAuDxhX,GAInD,GAHIo3W,GAAYp3W,EAAI,GAGhBu8W,GAAgBv8W,GAChB,OAAO7D,KAAKslX,kBAAkBzhX,GAElC,GAAIo+W,GAAep+W,GACf,OAAO7D,KAAKulX,iBAAiB1hX,GAEjC,GAAIq+W,GAAer+W,GACf,OAAO7D,KAAKwlX,iBAAiB3hX,GAGjC,IAAM+vB,EAAQ/vB,EAAKurC,WAAU,GAY7B,OAXI8wU,GAAetsV,KACXssV,GAAer8W,IAASA,EAAKm7W,YAAcn7W,EAAKm7W,aAAen7W,EAAKsd,MACpEyS,EAAMzS,IAAMtd,EAAKm7W,WACjBprV,EAAM6xV,OAAS,IAGG,SAAlB7xV,EAAM+nJ,UACN/nJ,EAAM+nJ,QAAU,UAIpBwmM,GAAgBvuV,GACT5zB,KAAK0lX,yBAAyB9xV,GAGlCA,GAGX,YAAA8xV,yBAAA,SAAyB7hX,GACrB,IAAM+vB,EAAQtwB,SAASsX,cAAc,4BAGrC,OAFA+qW,GAAc9hX,EAAK6O,MAAOkhB,GAEnBA,GAGX,YAAA4xV,iBAAA,SAAiB3hX,GACb,IACI,IAAM8xP,EAAQ9xP,EAAK8xP,MACnB,GAAIA,GAASA,EAAMiwH,SAAU,CACzB,IAAMtkW,EAAc,GAAG0wB,MAAMhwC,KAAK2zP,EAAMiwH,SAAU,GAAG72S,QAAO,SAACztD,EAAam9S,GACtE,OAAIA,GAAgC,kBAAjBA,EAAKzrS,QACb1R,EAAMm9S,EAAKzrS,QAEf1R,IACR,IACG5O,EAAQ7O,EAAKurC,WAAU,GAE7B,OADA18B,EAAMwB,YAAcoN,EACb5O,GAEb,MAAO3R,GAGL,GADAf,KAAKs1D,QAAQ27P,OAAO99R,MAAM,qCAAsCpyB,GACjD,kBAAXA,EAAEqB,KACF,MAAMrB,EAGd,OAAO8C,EAAKurC,WAAU,IAG1B,YAAAk2U,kBAAA,SAAkB7/W,G,MACd,GAAIzF,KAAKu+B,QAAQsnV,cAAgBpgX,EAAOykC,cAAe,CACnD,IAAMppB,EAAMrb,EAAOykC,cAActvB,cAAc,OAC/C,IAEI,OADAkG,EAAIK,IAAM1b,EAAOwoE,YACVntD,EACT,MAAO/f,GACLf,KAAKs1D,QAAQ27P,OAAOj3O,KAAK,sDAAuDv0E,IAIxF,IAAMqgX,EAAergX,EAAO2pC,WAAU,GAEtC,IACI02U,EAAal/W,MAAQnB,EAAOmB,MAC5Bk/W,EAAaj/W,OAASpB,EAAOoB,OAC7B,IAAMb,EAAMP,EAAOqV,WAAW,MACxBirW,EAAYD,EAAahrW,WAAW,MAC1C,GAAIirW,EACA,IAAK/lX,KAAKu+B,QAAQilL,YAAcx9M,EAC5B+/W,EAAUhiW,aAAa/d,EAAI6d,aAAa,EAAG,EAAGpe,EAAOmB,MAAOnB,EAAOoB,QAAS,EAAG,OAC5E,CACH,IAAMo5N,EAAgC,QAA3B,EAAAx6N,EAAOqV,WAAW,iBAAS,QAAIrV,EAAOqV,WAAW,SAC5D,GAAImlN,EAAI,CACJ,IAAM+lJ,EAAU/lJ,EAAGgmJ,wBACoB,KAA5B,OAAPD,QAAO,IAAPA,OAAO,EAAPA,EAASE,wBACTlmX,KAAKs1D,QAAQ27P,OAAO5pR,KAChB,sEACA5hC,GAKZsgX,EAAU3kW,UAAU3b,EAAQ,EAAG,GAGvC,OAAOqgX,EACT,MAAO/kX,GACLf,KAAKs1D,QAAQ27P,OAAOj3O,KAAK,0CAA2Cv0E,GAGxE,OAAOqgX,GAGX,YAAAP,iBAAA,SAAiBY,GACb,IAAM1gX,EAAS0gX,EAAMj8U,cAActvB,cAAc,UAEjDnV,EAAOmB,MAAQu/W,EAAM34N,YACrB/nJ,EAAOoB,OAASs/W,EAAMl4N,aACtB,IAAMjoJ,EAAMP,EAAOqV,WAAW,MAE9B,IAOI,OANI9U,IACAA,EAAIob,UAAU+kW,EAAO,EAAG,EAAG1gX,EAAOmB,MAAOnB,EAAOoB,QAC3C7G,KAAKu+B,QAAQilL,YACdx9M,EAAI6d,aAAa,EAAG,EAAGpe,EAAOmB,MAAOnB,EAAOoB,SAG7CpB,EACT,MAAO1E,GACLf,KAAKs1D,QAAQ27P,OAAOj3O,KAAK,yCAA0CmsS,GAGvE,IAAMC,EAAcD,EAAMj8U,cAActvB,cAAc,UAItD,OAFAwrW,EAAYx/W,MAAQu/W,EAAM34N,YAC1B44N,EAAYv/W,OAASs/W,EAAMl4N,aACpBm4N,GAGX,YAAAC,gBAAA,SAAgBzyV,EAAiCpgB,EAAa8yW,GAErD9E,GAAchuW,KcnJmE,WdoJhEA,EcpJoDiyB,SdqJjEjyB,EAAM88B,aA1OE,4BA2O+B,oBAAhCtwC,KAAKu+B,QAAQgoV,gBAAkCvmX,KAAKu+B,QAAQgoV,eAAe/yW,KAElFxT,KAAKu+B,QAAQ+nV,YAAe9E,GAAchuW,IAAW0uW,GAAe1uW,IACrEogB,EAAMtP,YAAYtkB,KAAKovC,UAAU57B,EAAO8yW,KAKpD,YAAAE,gBAAA,SAAgB3iX,EAAe+vB,EAAiC0yV,GAC5D,IADJ,WAEY9yW,EAAQ3P,EAAKi+W,WAAaj+W,EAAKi+W,WAAWxiV,WAAaz7B,EAAKy7B,WAChE9rB,EACAA,EAAQA,EAAM6rB,YAEd,GAAImiV,GAAchuW,IAAUiuW,GAAcjuW,IAAyC,oBAAxBA,EAAMkuW,cAA8B,CAC3F,IAAMA,EAAgBluW,EAAMkuW,gBACxBA,EAAc5kX,QACd4kX,EAAc3sV,SAAQ,SAAC0xV,GAAiB,SAAKJ,gBAAgBzyV,EAAO6yV,EAAcH,WAGtFtmX,KAAKqmX,gBAAgBzyV,EAAOpgB,EAAO8yW,IAK/C,YAAAl3U,UAAA,SAAUvrC,EAAYyiX,GAClB,GAAIhF,GAAWz9W,GACX,OAAOP,SAAS2vB,eAAepvB,EAAKmN,MAGxC,IAAKnN,EAAKqmC,cACN,OAAOrmC,EAAKurC,WAAU,GAG1B,IAAM1tC,EAASmC,EAAKqmC,cAAcumQ,YAElC,GAAI/uS,GAAU8/W,GAAc39W,KAAUw3W,GAAkBx3W,IAASm+W,GAAiBn+W,IAAQ,CACtF,IAAM+vB,EAAQ5zB,KAAKqlX,mBAAmBxhX,GACtC+vB,EAAMlhB,MAAMg0W,mBAAqB,OAEjC,IAAMh0W,EAAQhR,EAAOyU,iBAAiBtS,GAChC8iX,EAAcjlX,EAAOyU,iBAAiBtS,EAAM,WAC5C+iX,EAAallX,EAAOyU,iBAAiBtS,EAAM,UAE7C7D,KAAKokX,mBAAqBvgX,GAAQw3W,GAAkBznV,KACpD5zB,KAAKglX,uBAAyBpxV,GAE9BmuV,GAAcnuV,IACdizV,GAAuBjzV,GAG3B,IAAMwuV,EAAWpiX,KAAKoiX,SAAS99U,MAAM,IAAIwiV,GAA4B9mX,KAAKs1D,QAAS5iD,IAC7E6sB,EAASv/B,KAAK+mX,qBAAqBljX,EAAM+vB,EAAO+yV,EAAarL,GAAkB0L,QAEjF7E,GAAgBt+W,KAChByiX,GAAa,GAGZrE,GAAep+W,IAChB7D,KAAKwmX,gBAAgB3iX,EAAM+vB,EAAO0yV,GAGlC/mV,GACA3L,EAAM3M,aAAasY,EAAQ3L,EAAM0L,YAGrC,IAAMsyG,EAAQ5xI,KAAK+mX,qBAAqBljX,EAAM+vB,EAAOgzV,EAAYtL,GAAkB2L,OAyBnF,OAxBIr1O,GACAh+G,EAAMtP,YAAYstH,GAGtB5xI,KAAKoiX,SAASp7W,IAAIo7W,IAGb1vW,IAAU1S,KAAKu+B,QAAQ+nV,YAActE,GAAiBn+W,MAAWq9W,GAAgBr9W,IAClFyiX,IAEAX,GAAcjzW,EAAOkhB,GAGF,IAAnB/vB,EAAKy7C,WAAuC,IAApBz7C,EAAKw7C,YAC7Br/C,KAAKmkX,iBAAiBr9W,KAAK,CAAC8sB,EAAO/vB,EAAKw7C,WAAYx7C,EAAKy7C,aAIxD0hU,GAAkBn9W,IAASi9W,GAAgBj9W,MAC3Cm9W,GAAkBptV,IAAUktV,GAAgBltV,MAE7CA,EAAMl0B,MAAQmE,EAAKnE,OAGhBk0B,EAGX,OAAO/vB,EAAKurC,WAAU,IAG1B,YAAA23U,qBAAA,SACIljX,EACA+vB,EACAlhB,EACAw0W,GAJJ,WAMI,GAAKx0W,EAAL,CAIA,IAAMhT,EAAQgT,EAAMiV,QACdrkB,EAAWswB,EAAMsW,cACvB,GAAK5mC,GAAa5D,GAAmB,SAAVA,GAA8B,qBAAVA,GAAkD,SAAlBgT,EAAM0R,QAArF,CAIApkB,KAAKoiX,SAAS99U,MAAM,IAAIwiV,GAA4B9mX,KAAKs1D,QAAS5iD,IAClE,IAAM4nW,EAAc,IAAI6M,GAA2BnnX,KAAKs1D,QAAS5iD,GAE3D00W,EAA2B9jX,EAASsX,cAAc,4BACxD+qW,GAAcjzW,EAAO00W,GAErB9M,EAAY3yV,QAAQoN,SAAQ,SAACuC,GACzB,GAAc,IAAVA,EAAMrmB,KACNm2W,EAAyB9iW,YAAYhhB,EAAS2vB,eAAeqE,EAAM53B,aAChE,GAAc,KAAV43B,EAAMrmB,KAA8B,CAC3C,IAAM6P,EAAMxd,EAASsX,cAAc,OACnCkG,EAAIK,IAAMmW,EAAM53B,MAChBohB,EAAIpO,MAAMq2C,QAAU,IACpBq+T,EAAyB9iW,YAAYxD,QAClC,GAAc,KAAVwW,EAAMrmB,MACb,GAAmB,SAAfqmB,EAAMl1B,KAAiB,CACvB,IAAM8iC,EAAO5N,EAAM7Z,OAAOxK,OAAO22V,IAC7B1kU,EAAKpoC,QACLsqX,EAAyB9iW,YACrBhhB,EAAS2vB,eAAepvB,EAAKmsC,aAAa9K,EAAK,GAAGxlC,QAAU,UAGjE,GAAmB,YAAf43B,EAAMl1B,KAAoB,CAC3B,MAA0Bk1B,EAAM7Z,OAAOxK,OAAO+2V,IAA7CpoR,EAAO,KAAEylS,EAAY,KAC5B,GAAIzlS,GAAWgoR,GAAahoR,GAAU,CAClC,IAAM0lS,EAAe,EAAKlF,SAASC,gBAAgBzgS,EAAQliF,OACrD6nX,EACFF,GAAgBzd,GAAayd,GACvB/O,GAAch0U,MAAM,EAAKgxB,QAAS+xT,EAAa3nX,O,EAGzD0nX,EAAyB9iW,YACrBhhB,EAAS2vB,eAAe8vV,GAAkBuE,EAAcC,GAAa,WAG1E,GAAmB,aAAfjwV,EAAMl1B,KAAqB,CAC5B,MAAiCk1B,EAAM7Z,OAAOxK,OAAO+2V,IAA3Cwd,GAAT5lS,EAAO,KAAO,MACrB,GADuBylS,EAAY,KAC/BzlS,GAAWgoR,GAAahoR,GAAU,CAClC,IAAM6lS,EAAgB,EAAKrF,SAASE,iBAAiB1gS,EAAQliF,OACvD,EACF2nX,GAAgBzd,GAAayd,GACvB/O,GAAch0U,MAAM,EAAKgxB,QAAS+xT,EAAa3nX,O,EAEnDw3V,EAAYswB,GAAmB,IAAVA,EAAMv2W,KAAkCu2W,EAAM9nX,MAAQ,GAC3EuU,EAAOwzW,EACRhgW,KAAI,SAAC/nB,GAAU,OAAAqjX,GAAkBrjX,EAAO,GAAa,MACrD2M,KAAK6qV,GAEVkwB,EAAyB9iW,YAAYhhB,EAAS2vB,eAAehf,WAKlE,GAAc,KAAVqjB,EAAMrmB,KACb,OAAQqmB,EAAM53B,OACV,IAAK,aACD0nX,EAAyB9iW,YACrBhhB,EAAS2vB,eAAe4mV,GAASS,EAAYV,OAAQ,EAAK0K,cAAc,KAE5E,MACJ,IAAK,cACD8C,EAAyB9iW,YACrBhhB,EAAS2vB,eAAe4mV,GAASS,EAAYV,SAAU,EAAK0K,YAAY,KAE5E,MACJ,QAEI8C,EAAyB9iW,YAAYhhB,EAAS2vB,eAAeqE,EAAM53B,YAKnF0nX,EAAyBziW,UAAe+iW,GAAgC,IAAIC,GAC5E,IAAMC,EACFV,IAAc5L,GAAkB0L,OAC1B,IAAIU,GACJ,IAAIC,GAQd,OANI3F,GAAiBpuV,GACjBA,EAAMjP,UAAUkjW,WAAaD,EAE7Bh0V,EAAMjP,WAAaijW,EAGhBR,KAGJ,EAAArrU,QAAP,SAAe+yE,GACX,QAAIA,EAAUnpG,aACVmpG,EAAUnpG,WAAWpB,YAAYuqG,IAC1B,IAInB,EAxbA,IA0bA,SAAKwsP,GACD,uBACA,qBAFJ,CAAKA,QAAiB,KAKtB,IgB9KKwM,GhB8KCrD,GAAwB,SAACv6U,EAAyBwpD,GACpD,IAAMq0R,EAAuB79U,EAActvB,cAAc,UAczD,OAZAmtW,EAAqBpjW,UAAY,wBACjCojW,EAAqBr1W,MAAM0+I,WAAa,SACxC22N,EAAqBr1W,MAAMiwB,SAAW,QACtColV,EAAqBr1W,MAAMmkC,KAAO,WAClCkxU,EAAqBr1W,MAAMqkC,IAAM,MACjCgxU,EAAqBr1W,MAAMqtK,OAAS,IACpCgoM,EAAqBnhX,MAAQ8sF,EAAO9sF,MAAMwF,WAC1C27W,EAAqBlhX,OAAS6sF,EAAO7sF,OAAOuF,WAC5C27W,EAAqBC,UAAY,KACjCD,EAAqBn1V,aA7cA,0BA6c+B,QACpDsX,EAAc7lB,KAAKC,YAAYyjW,GAExBA,GAGLE,GAAa,SAACnnW,GAChB,OAAO,IAAIgW,SAAQ,SAACw8F,GACZxyG,EAAI6+D,SACJ2zC,IAGCxyG,EAAIK,KAITL,EAAIG,OAASqyG,EACbxyG,EAAII,QAAUoyG,GAJVA,QAQN2xP,GAAc,SAAC3hX,GACjB,OAAOwzB,QAAQ2G,IAAI,GAAGuU,MAAMhwC,KAAKsB,EAAS4kX,OAAQ,GAAGzgW,IAAIwgW,MAGvDpD,GAAe,SAAClF,GAClB,OAAO,IAAI7oV,SAAQ,SAACw8F,EAASC,GACzB,IAAMmxP,EAAc/E,EAAO77K,cAE3B,IAAK4gL,EACD,OAAOnxP,EAAO,iCAGlB,IAAMoxP,EAAgBD,EAAYphX,SAElCohX,EAAYzjW,OAAS0+V,EAAO1+V,OAAS,WACjCyjW,EAAYzjW,OAAS0+V,EAAO1+V,OAAS,KACrC,IAAM+sG,EAAW5nG,aAAY,WACrBu+V,EAActgW,KAAKtQ,WAAWjX,OAAS,GAAkC,aAA7B6nX,EAAcwD,aAC1D3hW,cAAcwnG,GACdsF,EAAQqsP,MAEb,SAKTyI,GAAyB,CAC3B,MACA,IACA,WAGSzC,GAAgB,SAAqCjzW,EAA4B/V,GAE1F,IAAK,IAAIE,EAAI6V,EAAM5V,OAAS,EAAGD,GAAK,EAAGA,IAAK,CACxC,IAAMkG,EAAW2P,EAAMgV,KAAK7qB,IACsB,IAA9CurX,GAAuB/9W,QAAQtH,IAC/BpG,EAAO+V,MAAM21W,YAAYtlX,EAAU2P,EAAM0D,iBAAiBrT,IAGlE,OAAOpG,GAGLuoX,GAAmB,SAACn2U,GACtB,IAAI20E,EAAM,GAsBV,OArBI30E,IACA20E,GAAO,aACH30E,EAAQ3sC,OACRshH,GAAO30E,EAAQ3sC,MAGf2sC,EAAQjB,iBACR41E,GAAO30E,EAAQjB,gBAGfiB,EAAQhI,WACR28E,GAAO,IAAI30E,EAAQhI,SAAQ,KAG3BgI,EAAQhM,WACR2gF,GAAO,IAAI30E,EAAQhM,SAAQ,KAG/B2gF,GAAO,KAGJA,GAGLyhQ,GAAqB,SAACj7U,EAAgCr9B,EAAWC,GAE/Do9B,GACAA,EAAcumQ,cACb5jS,IAAMq9B,EAAcumQ,YAAY5iJ,aAAe/gJ,IAAMo9B,EAAcumQ,YAAY9iJ,cAEhFzjH,EAAcumQ,YAAYhxP,SAAS5yC,EAAGC,IAIxCg4W,GAAoB,SAAC,G,IAACpqW,EAAO,KAAE7N,EAAC,KAAEC,EAAC,KACrC4N,EAAQ2kC,WAAaxyC,EACrB6N,EAAQ4kC,UAAYxyC,GAKlB46W,GAAmC,wCACnCC,GAAkC,uCAOlCd,GAAyB,SAACxiW,GAC5BikW,GACIjkW,EACA,IAAIqjW,GAAJ,sFACIC,GADJ,2EAKFW,GAAe,SAACjkW,EAAmB/R,GACrC,IAAMhP,EAAW+gB,EAAK6lB,cACtB,GAAI5mC,EAAU,CACV,IAAMoP,EAAQpP,EAASsX,cAAc,SACrClI,EAAMwB,YAAc5B,EACpB+R,EAAKC,YAAY5R,KiBvnBzB,4BAuBA,OAnBW,EAAA61W,UAAP,SAAiB3gX,GACb,IAAM44B,EAAOgoV,EAAaC,MAC1B,OAAKjoV,GAILA,EAAK5f,KAAOhZ,EACZ44B,EAAK5f,KAAO4f,EAAK5f,KACV4f,EAAKsB,SAAWtB,EAAKkoV,SAAWloV,EAAK0gB,MALjC,eAQR,EAAAynU,aAAP,SAAoBxnW,GAChB,OAAOqnW,EAAaD,UAAUpnW,KAASqnW,EAAapyH,SAGjD,EAAAljP,WAAP,SAAkBxR,GACd8mX,EAAaC,MAAQ/mX,EAAO4B,SAASsX,cAAc,KACnD4tW,EAAapyH,QAAUoyH,EAAaD,UAAU7mX,EAAOkgC,SAAShhB,OAnBnD,EAAAw1O,QAAU,cAqB7B,EAvBA,GAgCA,cAII,WAA6B9gM,EAAmCszT,GAAnC,KAAAtzT,UAAmC,KAAAszT,WAF/C,KAAAC,OAAwC,GAgI7D,OA5HI,YAAAvyK,SAAA,SAASn1L,GACL,IAAMthB,EAASi3B,QAAQw8F,UACvB,OAAItzH,KAAKglF,IAAI7jE,GACFthB,EAGPipX,GAAY3nW,IAAQ4nW,GAAa5nW,KAChCnhB,KAAK6oX,OAAO1nW,GAAOnhB,KAAKgpX,UAAU7nW,IAAM+V,OAAM,eAGxCr3B,GAGJA,GAIX,YAAA2J,MAAA,SAAM2X,GACF,OAAOnhB,KAAK6oX,OAAO1nW,IAGT,YAAA6nW,UAAd,SAAwB3rX,G,6GAWpB,OAVMsrX,EAAeH,GAAaG,aAAatrX,GACzCwmN,GACDolK,GAAc5rX,KAAkC,IAA1B2C,KAAK4oX,SAAS/kK,SAAoBu4J,GAAS8M,sBAAwBP,EACxFQ,GACDF,GAAc5rX,KACdsrX,IACAG,GAAYzrX,IACkB,kBAAxB2C,KAAK4oX,SAASxoS,OACrBg8R,GAASgN,mBACRvlK,EAEA8kK,IAC4B,IAA7B3oX,KAAK4oX,SAASplK,YACbylK,GAAc5rX,IACdyrX,GAAYzrX,IACZ8rX,GACAtlK,GAKD1iM,EAAM9jB,EACN8rX,EACM,GAAMnpX,KAAKogF,MAAMj/D,IADvB,OAJA,I,OAKAA,EAAM,S,iBAKH,OAFPnhB,KAAKs1D,QAAQ27P,OAAOz/P,MAAM,eAAen0D,EAAIg0C,UAAU,EAAG,MAEnD,GAAM,IAAIva,SAAQ,SAACw8F,EAASC,GAC/B,IAAMzyG,EAAM,IAAI2/E,MAChB3/E,EAAIG,OAAS,WAAM,OAAAqyG,EAAQxyG,IAC3BA,EAAII,QAAUqyG,GAEV81P,GAAoBloW,IAAQ0iM,KAC5B/iM,EAAIC,YAAc,aAEtBD,EAAIK,IAAMA,GACW,IAAjBL,EAAI6+D,UAEJ9qD,YAAW,WAAM,OAAAy+F,EAAQxyG,KAAM,KAE/B,EAAK8nW,SAASnlK,aAAe,GAC7B5uL,YACI,WAAM,OAAA0+F,EAAO,cAAc,EAAKq1P,SAASnlK,aAAY,uBACrD,EAAKmlK,SAASnlK,kB,OAhB1B,MAAO,CAAP,EAAO,kBAsBH,YAAAz+H,IAAR,SAAY3nF,GACR,MAAmC,qBAArB2C,KAAK6oX,OAAOxrX,IAG9B,YAAAy3B,KAAA,WACI,OAAOgC,QAAQw8F,QAAQn2H,OAAO23B,KAAK90B,KAAK6oX,UAGpC,YAAAzoS,MAAR,SAAcj/D,GAAd,WACUi/D,EAAQpgF,KAAK4oX,SAASxoS,MAE5B,IAAKA,EACD,MAAM,IAAIlhD,MAAM,oBAGpB,IAAM7hC,EAAM8jB,EAAIkwB,UAAU,EAAG,KAE7B,OAAO,IAAIva,SAAQ,SAACw8F,EAASC,GACzB,IAAMs7D,EAAeutL,GAASkN,sBAAwB,OAAS,OACzDC,EAAM,IAAIzhX,eAChByhX,EAAItoW,OAAS,WACT,GAAmB,MAAfsoW,EAAI/iM,OACJ,GAAqB,SAAjBqI,EACAv7D,EAAQi2P,EAAIz6L,cACT,CACH,IAAM,EAAS,IAAIW,WACnB,EAAOn8J,iBAAiB,QAAQ,WAAM,OAAAggG,EAAQ,EAAOzzH,WAAmB,GACxE,EAAOyzB,iBAAiB,SAAS,SAACvyB,GAAM,OAAAwyH,EAAOxyH,MAAI,GACnD,EAAO4uL,cAAc45L,EAAIz6L,eAG7Bv7D,EAAO,4BAA4Bl2H,EAAG,qBAAqBksX,EAAI/iM,SAIvE+iM,EAAIroW,QAAUqyG,EACd,IAAMi2P,EAAcppS,EAAM/1E,QAAQ,MAAQ,EAAI,IAAM,IAOpD,GANAk/W,EAAIvhX,KAAK,MAAO,GAAGo4E,EAAQopS,EAAW,OAAOvhW,mBAAmB9G,GAAI,iBAAiB0tK,GAEhE,SAAjBA,GAA2B06L,aAAezhX,iBAC1CyhX,EAAI16L,aAAeA,GAGnB,EAAK+5L,SAASnlK,aAAc,CAC5B,IAAM,EAAU,EAAKmlK,SAASnlK,aAC9B8lK,EAAIpxR,QAAU,EACdoxR,EAAIE,UAAY,WAAM,OAAAl2P,EAAO,cAAc,EAAO,gBAAgBl2H,IAGtEksX,EAAIthX,WAGhB,EAlIA,GAoIMyhX,GAAa,yBACbC,GAAgB,2BAChBC,GAAa,mBAEbb,GAAe,SAAC5nW,GAAyB,OAAAi7V,GAASyN,sBAAwBC,GAAM3oW,IAChF8nW,GAAgB,SAAC9nW,GAAyB,OAAAyoW,GAAWrnV,KAAKphB,IAC1DkoW,GAAsB,SAACloW,GAAyB,OAAAwoW,GAAcpnV,KAAKphB,IACnE2nW,GAAc,SAAC3nW,GAAyB,MAAqB,SAArBA,EAAIU,OAAO,EAAG,IAEtDioW,GAAQ,SAAC3oW,GAAyB,MAAiC,QAAjCA,EAAIU,QAAQ,GAAGhJ,eAA2B6wW,GAAWnnV,KAAKphB,IC9KlG,cAKI,WAAYtU,EAAWC,GACnB9M,KAAKiR,KAAI,EACTjR,KAAK6M,EAAIA,EACT7M,KAAK8M,EAAIA,EAMjB,OAHI,YAAAylC,IAAA,SAAIw3U,EAAgBC,GAChB,OAAO,IAAIC,EAAOjqX,KAAK6M,EAAIk9W,EAAQ/pX,KAAK8M,EAAIk9W,IAEpD,EAdA,GCCMvhT,GAAO,SAAC97D,EAAWzC,EAAWzH,GAChC,OAAO,IAAIwnX,GAAOt9W,EAAEE,GAAK3C,EAAE2C,EAAIF,EAAEE,GAAKpK,EAAGkK,EAAEG,GAAK5C,EAAE4C,EAAIH,EAAEG,GAAKrK,IAGjE,cAOI,WAAYqV,EAAeoyW,EAAsBC,EAAoB72U,GACjEtzC,KAAKiR,KAAI,EACTjR,KAAK8X,MAAQA,EACb9X,KAAKkqX,aAAeA,EACpBlqX,KAAKmqX,WAAaA,EAClBnqX,KAAKszC,IAAMA,EAyBnB,OAtBI,YAAA82U,UAAA,SAAU3nX,EAAW4nX,GACjB,IAAMp8J,EAAKxlJ,GAAKzoE,KAAK8X,MAAO9X,KAAKkqX,aAAcznX,GACzCm0N,EAAKnuJ,GAAKzoE,KAAKkqX,aAAclqX,KAAKmqX,WAAY1nX,GAC9C4oN,EAAK5iJ,GAAKzoE,KAAKmqX,WAAYnqX,KAAKszC,IAAK7wC,GACrC6nX,EAAO7hT,GAAKwlJ,EAAI2I,EAAIn0N,GACpB8nX,EAAO9hT,GAAKmuJ,EAAIvL,EAAI5oN,GACpB+kC,EAAOihC,GAAK6hT,EAAMC,EAAM9nX,GAC9B,OAAO4nX,EAAY,IAAIG,EAAYxqX,KAAK8X,MAAOm2M,EAAIq8J,EAAM9iV,GAAQ,IAAIgjV,EAAYhjV,EAAM+iV,EAAMl/J,EAAIrrN,KAAKszC,MAG1G,YAAAf,IAAA,SAAIw3U,EAAgBC,GAChB,OAAO,IAAIQ,EACPxqX,KAAK8X,MAAMy6B,IAAIw3U,EAAQC,GACvBhqX,KAAKkqX,aAAa33U,IAAIw3U,EAAQC,GAC9BhqX,KAAKmqX,WAAW53U,IAAIw3U,EAAQC,GAC5BhqX,KAAKszC,IAAIf,IAAIw3U,EAAQC,KAI7B,YAAAhqW,QAAA,WACI,OAAO,IAAIwqW,EAAYxqX,KAAKszC,IAAKtzC,KAAKmqX,WAAYnqX,KAAKkqX,aAAclqX,KAAK8X,QAElF,EArCA,GAuCa2yW,GAAgB,SAACl9W,GAAoC,OAAS,IAATA,EAAK0D,MHxCvE,GA0BI,SAAYyJ,GACR,IAAMpI,EAASoI,EAAQpI,OACjBohF,EAASh5E,EAAQg5E,OAEnB,EAAa62Q,GAAyBj4V,EAAO+kW,oBAAqB3jR,EAAO9sF,MAAO8sF,EAAO7sF,QAAtF45N,EAAG,KAAEiqJ,EAAG,KACT,EAAangB,GAAyBj4V,EAAOglW,qBAAsB5jR,EAAO9sF,MAAO8sF,EAAO7sF,QAAvF8jX,EAAG,KAAEC,EAAG,KACT,EAAargB,GAAyBj4V,EAAOilW,wBAAyB7jR,EAAO9sF,MAAO8sF,EAAO7sF,QAA1FgkX,EAAG,KAAEC,EAAG,KACT,EAAavgB,GAAyBj4V,EAAOklW,uBAAwB9jR,EAAO9sF,MAAO8sF,EAAO7sF,QAAzFkkX,EAAG,KAAEC,EAAG,KAEPC,EAAU,GAChBA,EAAQnkX,MAAM25N,EAAMkqJ,GAAOj3R,EAAO9sF,OAClCqkX,EAAQnkX,MAAMikX,EAAMF,GAAOn3R,EAAO9sF,OAClCqkX,EAAQnkX,MAAM4jX,EAAMM,GAAOt3R,EAAO7sF,QAClCokX,EAAQnkX,MAAM8jX,EAAME,GAAOp3R,EAAO7sF,QAClC,IAAMqkX,EAAY/jX,KAAK+K,IAAG,MAAR/K,KAAY8jX,GAE1BC,EAAY,IACZzqJ,GAAOyqJ,EACPR,GAAOQ,EACPP,GAAOO,EACPN,GAAOM,EACPL,GAAOK,EACPJ,GAAOI,EACPH,GAAOG,EACPF,GAAOE,GAGX,IAAMC,EAAWz3R,EAAO9sF,MAAQ+jX,EAC1BS,EAAc13R,EAAO7sF,OAASikX,EAC9BO,EAAc33R,EAAO9sF,MAAQikX,EAC7BS,EAAa53R,EAAO7sF,OAASmkX,EAE7Bp8N,EAAiBt8I,EAAOs8I,eACxBG,EAAmBz8I,EAAOy8I,iBAC1BF,EAAoBv8I,EAAOu8I,kBAC3BC,EAAkBx8I,EAAOw8I,gBAEzBJ,EAAa+7M,GAAiBn4V,EAAOo8I,WAAYh0I,EAAQg5E,OAAO9sF,OAChE8mJ,EAAe+8M,GAAiBn4V,EAAOo7I,aAAchzI,EAAQg5E,OAAO9sF,OACpE+nJ,EAAgB87M,GAAiBn4V,EAAOq8I,cAAej0I,EAAQg5E,OAAO9sF,OACtE6mJ,EAAcg9M,GAAiBn4V,EAAOm7I,YAAa/yI,EAAQg5E,OAAO9sF,OAExE5G,KAAKurX,4BACD9qJ,EAAM,GAAKiqJ,EAAM,EACXc,GACI93R,EAAO78C,KAAOi4G,EAAkB,EAChCp7D,EAAO38C,IAAM63G,EAAiB,EAC9B6xE,EAAM3xE,EAAkB,EACxB47N,EAAM97N,EAAiB,EACvBk5N,GAAO2D,UAEX,IAAIxB,GAAOv2R,EAAO78C,KAAOi4G,EAAkB,EAAGp7D,EAAO38C,IAAM63G,EAAiB,GACtF5uJ,KAAK0rX,6BACDjrJ,EAAM,GAAKiqJ,EAAM,EACXc,GACI93R,EAAO78C,KAAOs0U,EACdz3R,EAAO38C,IAAM63G,EAAiB,EAC9B+7N,EAAM57N,EAAmB,EACzB67N,EAAMh8N,EAAiB,EACvBk5N,GAAO6D,WAEX,IAAI1B,GAAOv2R,EAAO78C,KAAO68C,EAAO9sF,MAAQmoJ,EAAmB,EAAGr7D,EAAO38C,IAAM63G,EAAiB,GACtG5uJ,KAAK4rX,gCACDf,EAAM,GAAKC,EAAM,EACXU,GACI93R,EAAO78C,KAAOw0U,EACd33R,EAAO38C,IAAMq0U,EACbP,EAAM97N,EAAmB,EACzB+7N,EAAMj8N,EAAoB,EAC1Bi5N,GAAO+D,cAEX,IAAI5B,GACAv2R,EAAO78C,KAAO68C,EAAO9sF,MAAQmoJ,EAAmB,EAChDr7D,EAAO38C,IAAM28C,EAAO7sF,OAASgoJ,EAAoB,GAE/D7uJ,KAAK8rX,+BACDf,EAAM,GAAKC,EAAM,EACXQ,GACI93R,EAAO78C,KAAOi4G,EAAkB,EAChCp7D,EAAO38C,IAAMu0U,EACbP,EAAMj8N,EAAkB,EACxBk8N,EAAMn8N,EAAoB,EAC1Bi5N,GAAOiE,aAEX,IAAI9B,GAAOv2R,EAAO78C,KAAOi4G,EAAkB,EAAGp7D,EAAO38C,IAAM28C,EAAO7sF,OAASgoJ,EAAoB,GACzG7uJ,KAAKgsX,4BACDvrJ,EAAM,GAAKiqJ,EAAM,EACXc,GACI93R,EAAO78C,KAA0B,EAAlBi4G,EAAuB,EACtCp7D,EAAO38C,IAAwB,EAAjB63G,EAAsB,EACpC6xE,EAAyB,EAAlB3xE,EAAuB,EAC9B47N,EAAwB,EAAjB97N,EAAsB,EAC7Bk5N,GAAO2D,UAEX,IAAIxB,GAAOv2R,EAAO78C,KAA0B,EAAlBi4G,EAAuB,EAAGp7D,EAAO38C,IAAwB,EAAjB63G,EAAsB,GAClG5uJ,KAAKisX,6BACDxrJ,EAAM,GAAKiqJ,EAAM,EACXc,GACI93R,EAAO78C,KAAOs0U,EACdz3R,EAAO38C,IAAwB,EAAjB63G,EAAsB,EACpC+7N,EAA0B,EAAnB57N,EAAwB,EAC/B67N,EAAwB,EAAjBh8N,EAAsB,EAC7Bk5N,GAAO6D,WAEX,IAAI1B,GACAv2R,EAAO78C,KAAO68C,EAAO9sF,MAA4B,EAAnBmoJ,EAAwB,EACtDr7D,EAAO38C,IAAwB,EAAjB63G,EAAsB,GAElD5uJ,KAAKksX,gCACDrB,EAAM,GAAKC,EAAM,EACXU,GACI93R,EAAO78C,KAAOw0U,EACd33R,EAAO38C,IAAMq0U,EACbP,EAA0B,EAAnB97N,EAAwB,EAC/B+7N,EAA2B,EAApBj8N,EAAyB,EAChCi5N,GAAO+D,cAEX,IAAI5B,GACAv2R,EAAO78C,KAAO68C,EAAO9sF,MAA4B,EAAnBmoJ,EAAwB,EACtDr7D,EAAO38C,IAAM28C,EAAO7sF,OAA8B,EAApBgoJ,EAAyB,GAErE7uJ,KAAKmsX,+BACDpB,EAAM,GAAKC,EAAM,EACXQ,GACI93R,EAAO78C,KAA0B,EAAlBi4G,EAAuB,EACtCp7D,EAAO38C,IAAMu0U,EACbP,EAAyB,EAAlBj8N,EAAuB,EAC9Bk8N,EAA2B,EAApBn8N,EAAyB,EAChCi5N,GAAOiE,aAEX,IAAI9B,GACAv2R,EAAO78C,KAA0B,EAAlBi4G,EAAuB,EACtCp7D,EAAO38C,IAAM28C,EAAO7sF,OAA8B,EAApBgoJ,EAAyB,GAErE7uJ,KAAKosX,oBACD3rJ,EAAM,GAAKiqJ,EAAM,EACXc,GACI93R,EAAO78C,KAAOi4G,EAAkB,EAChCp7D,EAAO38C,IAAM63G,EAAiB,EAC9B6xE,EAAM3xE,EAAkB,EACxB47N,EAAM97N,EAAiB,EACvBk5N,GAAO2D,UAEX,IAAIxB,GAAOv2R,EAAO78C,KAAOi4G,EAAkB,EAAGp7D,EAAO38C,IAAM63G,EAAiB,GACtF5uJ,KAAKqsX,qBACD5rJ,EAAM,GAAKiqJ,EAAM,EACXc,GACI93R,EAAO78C,KAAOs0U,EACdz3R,EAAO38C,IAAM63G,EAAiB,EAC9B+7N,EAAM57N,EAAmB,EACzB67N,EAAMh8N,EAAiB,EACvBk5N,GAAO6D,WAEX,IAAI1B,GAAOv2R,EAAO78C,KAAO68C,EAAO9sF,MAAQmoJ,EAAmB,EAAGr7D,EAAO38C,IAAM63G,EAAiB,GACtG5uJ,KAAKssX,wBACDzB,EAAM,GAAKC,EAAM,EACXU,GACI93R,EAAO78C,KAAOw0U,EACd33R,EAAO38C,IAAMq0U,EACbP,EAAM97N,EAAmB,EACzB+7N,EAAMj8N,EAAoB,EAC1Bi5N,GAAO+D,cAEX,IAAI5B,GACAv2R,EAAO78C,KAAO68C,EAAO9sF,MAAQmoJ,EAAmB,EAChDr7D,EAAO38C,IAAM28C,EAAO7sF,OAASgoJ,EAAoB,GAE/D7uJ,KAAKusX,uBACDxB,EAAM,GAAKC,EAAM,EACXQ,GACI93R,EAAO78C,KAAOi4G,EAAkB,EAChCp7D,EAAO38C,IAAMu0U,EACbP,EAAMj8N,EAAkB,EACxBk8N,EAAMn8N,EAAoB,EAC1Bi5N,GAAOiE,aAEX,IAAI9B,GAAOv2R,EAAO78C,KAAOi4G,EAAkB,EAAGp7D,EAAO38C,IAAM28C,EAAO7sF,OAASgoJ,EAAoB,GACzG7uJ,KAAKwsX,iBACD/rJ,EAAM,GAAKiqJ,EAAM,EACXc,GAAe93R,EAAO78C,KAAM68C,EAAO38C,IAAK0pL,EAAKiqJ,EAAK5C,GAAO2D,UACzD,IAAIxB,GAAOv2R,EAAO78C,KAAM68C,EAAO38C,KACzC/2C,KAAKysX,kBACD9B,EAAM,GAAKC,EAAM,EACXY,GAAe93R,EAAO78C,KAAOs0U,EAAUz3R,EAAO38C,IAAK4zU,EAAKC,EAAK9C,GAAO6D,WACpE,IAAI1B,GAAOv2R,EAAO78C,KAAO68C,EAAO9sF,MAAO8sF,EAAO38C,KACxD/2C,KAAK0sX,qBACD7B,EAAM,GAAKC,EAAM,EACXU,GAAe93R,EAAO78C,KAAOw0U,EAAa33R,EAAO38C,IAAMq0U,EAAaP,EAAKC,EAAKhD,GAAO+D,cACrF,IAAI5B,GAAOv2R,EAAO78C,KAAO68C,EAAO9sF,MAAO8sF,EAAO38C,IAAM28C,EAAO7sF,QACrE7G,KAAK2sX,oBACD5B,EAAM,GAAKC,EAAM,EACXQ,GAAe93R,EAAO78C,KAAM68C,EAAO38C,IAAMu0U,EAAYP,EAAKC,EAAKlD,GAAOiE,aACtE,IAAI9B,GAAOv2R,EAAO78C,KAAM68C,EAAO38C,IAAM28C,EAAO7sF,QACtD7G,KAAK4sX,kBACDnsJ,EAAM,GAAKiqJ,EAAM,EACXc,GACI93R,EAAO78C,KAAOi4G,EACdp7D,EAAO38C,IAAM63G,EACbznJ,KAAK+K,IAAI,EAAGuuN,EAAM3xE,GAClB3nJ,KAAK+K,IAAI,EAAGw4W,EAAM97N,GAClBk5N,GAAO2D,UAEX,IAAIxB,GAAOv2R,EAAO78C,KAAOi4G,EAAiBp7D,EAAO38C,IAAM63G,GACjE5uJ,KAAK6sX,mBACDlC,EAAM,GAAKC,EAAM,EACXY,GACI93R,EAAO78C,KAAO1vC,KAAK6K,IAAIm5W,EAAUz3R,EAAO9sF,MAAQmoJ,GAChDr7D,EAAO38C,IAAM63G,EACbu8N,EAAWz3R,EAAO9sF,MAAQmoJ,EAAmB,EAAI5nJ,KAAK+K,IAAI,EAAGy4W,EAAM57N,GACnE5nJ,KAAK+K,IAAI,EAAG04W,EAAMh8N,GAClBk5N,GAAO6D,WAEX,IAAI1B,GAAOv2R,EAAO78C,KAAO68C,EAAO9sF,MAAQmoJ,EAAkBr7D,EAAO38C,IAAM63G,GACjF5uJ,KAAK8sX,sBACDjC,EAAM,GAAKC,EAAM,EACXU,GACI93R,EAAO78C,KAAO1vC,KAAK6K,IAAIq5W,EAAa33R,EAAO9sF,MAAQkoJ,GACnDp7D,EAAO38C,IAAM5vC,KAAK6K,IAAIo5W,EAAa13R,EAAO7sF,OAASgoJ,GACnD1nJ,KAAK+K,IAAI,EAAG24W,EAAM97N,GAClB5nJ,KAAK+K,IAAI,EAAG44W,EAAMj8N,GAClBi5N,GAAO+D,cAEX,IAAI5B,GACAv2R,EAAO78C,KAAO68C,EAAO9sF,MAAQmoJ,EAC7Br7D,EAAO38C,IAAM28C,EAAO7sF,OAASgoJ,GAE3C7uJ,KAAK+sX,qBACDhC,EAAM,GAAKC,EAAM,EACXQ,GACI93R,EAAO78C,KAAOi4G,EACdp7D,EAAO38C,IAAM5vC,KAAK6K,IAAIs5W,EAAY53R,EAAO7sF,OAASgoJ,GAClD1nJ,KAAK+K,IAAI,EAAG64W,EAAMj8N,GAClB3nJ,KAAK+K,IAAI,EAAG84W,EAAMn8N,GAClBi5N,GAAOiE,aAEX,IAAI9B,GAAOv2R,EAAO78C,KAAOi4G,EAAiBp7D,EAAO38C,IAAM28C,EAAO7sF,OAASgoJ,GACjF7uJ,KAAKgtX,kBACDvsJ,EAAM,GAAKiqJ,EAAM,EACXc,GACI93R,EAAO78C,KAAOi4G,EAAkBrB,EAChC/5D,EAAO38C,IAAM63G,EAAiBF,EAC9BvnJ,KAAK+K,IAAI,EAAGuuN,GAAO3xE,EAAkBrB,IACrCtmJ,KAAK+K,IAAI,EAAGw4W,GAAO97N,EAAiBF,IACpCo5N,GAAO2D,UAEX,IAAIxB,GAAOv2R,EAAO78C,KAAOi4G,EAAkBrB,EAAa/5D,EAAO38C,IAAM63G,EAAiBF,GAChG1uJ,KAAKitX,mBACDtC,EAAM,GAAKC,EAAM,EACXY,GACI93R,EAAO78C,KAAO1vC,KAAK6K,IAAIm5W,EAAUz3R,EAAO9sF,MAAQkoJ,EAAkBrB,GAClE/5D,EAAO38C,IAAM63G,EAAiBF,EAC9By8N,EAAWz3R,EAAO9sF,MAAQkoJ,EAAkBrB,EAAc,EAAIk9N,EAAM77N,EAAkBrB,EACtFm9N,GAAOh8N,EAAiBF,GACxBo5N,GAAO6D,WAEX,IAAI1B,GACAv2R,EAAO78C,KAAO68C,EAAO9sF,OAASmoJ,EAAmBrB,GACjDh6D,EAAO38C,IAAM63G,EAAiBF,GAE5C1uJ,KAAKktX,sBACDrC,EAAM,GAAKC,EAAM,EACXU,GACI93R,EAAO78C,KAAO1vC,KAAK6K,IAAIq5W,EAAa33R,EAAO9sF,OAASkoJ,EAAkBrB,IACtE/5D,EAAO38C,IAAM5vC,KAAK6K,IAAIo5W,EAAa13R,EAAO7sF,OAAS+nJ,EAAiBF,GACpEvnJ,KAAK+K,IAAI,EAAG24W,GAAO97N,EAAmBrB,IACtCo9N,GAAOj8N,EAAoBF,GAC3Bm5N,GAAO+D,cAEX,IAAI5B,GACAv2R,EAAO78C,KAAO68C,EAAO9sF,OAASmoJ,EAAmBrB,GACjDh6D,EAAO38C,IAAM28C,EAAO7sF,QAAUgoJ,EAAoBF,IAEhE3uJ,KAAKmtX,qBACDpC,EAAM,GAAKC,EAAM,EACXQ,GACI93R,EAAO78C,KAAOi4G,EAAkBrB,EAChC/5D,EAAO38C,IAAMu0U,EACbnkX,KAAK+K,IAAI,EAAG64W,GAAOj8N,EAAkBrB,IACrCu9N,GAAOn8N,EAAoBF,GAC3Bm5N,GAAOiE,aAEX,IAAI9B,GACAv2R,EAAO78C,KAAOi4G,EAAkBrB,EAChC/5D,EAAO38C,IAAM28C,EAAO7sF,QAAUgoJ,EAAoBF,MAKxE,SAAKm5N,GACD,2BACA,6BACA,mCACA,iCAJJ,CAAKA,QAAM,KAOX,IAAM0D,GAAiB,SAAC3+W,EAAWC,EAAWmyE,EAAY3U,EAAY3nC,GAClE,IAAMyqV,GAAcjmX,KAAKC,KAAK,GAAK,GAAK,EAA1B,EACR0nD,EAAKmwB,EAAKmuS,EACVr+T,EAAKub,EAAK8iT,EACVjwS,EAAKtwE,EAAIoyE,EACT7B,EAAKtwE,EAAIw9D,EAEf,OAAQ3nC,GACJ,KAAKmlV,GAAO2D,SACR,OAAO,IAAIjB,GACP,IAAIP,GAAOp9W,EAAGuwE,GACd,IAAI6sS,GAAOp9W,EAAGuwE,EAAKruB,GACnB,IAAIk7T,GAAO9sS,EAAKruB,EAAIhiD,GACpB,IAAIm9W,GAAO9sS,EAAIrwE,IAEvB,KAAKg7W,GAAO6D,UACR,OAAO,IAAInB,GACP,IAAIP,GAAOp9W,EAAGC,GACd,IAAIm9W,GAAOp9W,EAAIiiD,EAAIhiD,GACnB,IAAIm9W,GAAO9sS,EAAIC,EAAKruB,GACpB,IAAIk7T,GAAO9sS,EAAIC,IAEvB,KAAK0qS,GAAO+D,aACR,OAAO,IAAIrB,GACP,IAAIP,GAAO9sS,EAAIrwE,GACf,IAAIm9W,GAAO9sS,EAAIrwE,EAAIiiD,GACnB,IAAIk7T,GAAOp9W,EAAIiiD,EAAIsuB,GACnB,IAAI6sS,GAAOp9W,EAAGuwE,IAEtB,KAAK0qS,GAAOiE,YACZ,QACI,OAAO,IAAIvB,GACP,IAAIP,GAAO9sS,EAAIC,GACf,IAAI6sS,GAAO9sS,EAAKruB,EAAIsuB,GACpB,IAAI6sS,GAAOp9W,EAAGC,EAAIiiD,GAClB,IAAIk7T,GAAOp9W,EAAGC,MAKjBugX,GAAyB,SAACC,GACnC,MAAO,CAACA,EAAOd,iBAAkBc,EAAOb,kBAAmBa,EAAOZ,qBAAsBY,EAAOX,sBAYtFY,GAA0B,SAACD,GACpC,MAAO,CACHA,EAAOV,kBACPU,EAAOT,mBACPS,EAAOR,sBACPQ,EAAOP,uBI9Wf,GAII,SAAqB3nX,EAA0BC,EAA0BkL,GAApD,KAAAnL,UAA0B,KAAAC,UAA0B,KAAAkL,SAHhE,KAAAU,KAAI,EACJ,KAAAtU,OAAiB,GAK9B,GAGI,SAAqB4Q,EAAuB5Q,GAAvB,KAAA4Q,OAAuB,KAAA5Q,SAFnC,KAAAsU,KAAI,GAKjB,GAII,SAAqB83C,GAAA,KAAAA,UAHZ,KAAA93C,KAAI,EACJ,KAAAtU,OAAiB,GAOjB6wX,GAAe,SAACvrE,GAAiD,OAAW,IAAXA,EAAOhxS,MC7BxEw8W,GAAY,SAAC9gX,EAAWzC,GACjC,OAAIyC,EAAE7P,SAAWoN,EAAEpN,QACR6P,EAAEsxH,MAAK,SAAC/wH,EAAGrQ,GAAM,OAAAqQ,IAAMhD,EAAErN,OCFxC,GAUI,SAAYiyH,GACR9uH,KAAK0a,QAAUo0G,EACf9uH,KAAK0tX,YAAc,GACnB1tX,KAAK2tX,eAAiB,GACtB3tX,KAAK4tX,eAAiB,GACtB5tX,KAAK6tX,uCAAyC,GAC9C7tX,KAAK8tX,eAAiB,GACtB9tX,KAAK+tX,oBAAsB,GAC3B/tX,KAAKguX,yBAA2B,IAIxC,cAKI,WAAqBl/P,EAAsCl8G,GAMvD,GANiB,KAAAk8G,YAAsC,KAAAl8G,SAJlD,KAAAq7W,QAA4B,GAKjCjuX,KAAKstX,OAAS,IAAIY,GAAYluX,KAAK8uH,WAC/B9uH,KAAK8uH,UAAUx8G,OAAOy2C,QAAU,GAChC/oD,KAAKiuX,QAAQnnX,KAAK,IAAIqnX,GAAcnuX,KAAK8uH,UAAUx8G,OAAOy2C,UAGtB,OAApC/oD,KAAK8uH,UAAUx8G,OAAO9B,UAAoB,CAC1C,IAAMpL,EAAUpF,KAAK8uH,UAAUp7B,OAAO78C,KAAO72C,KAAK8uH,UAAUx8G,OAAOu9I,gBAAgB,GAAG9lC,OAChF1kH,EAAUrF,KAAK8uH,UAAUp7B,OAAO38C,IAAM/2C,KAAK8uH,UAAUx8G,OAAOu9I,gBAAgB,GAAG9lC,OAC/Ex5G,EAASvQ,KAAK8uH,UAAUx8G,OAAO9B,UACrCxQ,KAAKiuX,QAAQnnX,KAAK,IAAIsnX,GAAgBhpX,EAASC,EAASkL,IAG5D,GAAmC,IAA/BvQ,KAAK8uH,UAAUx8G,OAAOmoW,UAAgC,CACtD,IAAM4T,EAAYhB,GAAuBrtX,KAAKstX,QACxCgB,EAAaf,GAAwBvtX,KAAKstX,QAE5CG,GAAUY,EAAWC,GACrBtuX,KAAKiuX,QAAQnnX,KAAK,IAAIynX,GAAWF,EAAW,KAE5CruX,KAAKiuX,QAAQnnX,KAAK,IAAIynX,GAAWF,EAAS,IAC1CruX,KAAKiuX,QAAQnnX,KAAK,IAAIynX,GAAWD,EAAU,MAgC3D,OA3BI,YAAAE,WAAA,SAAW7xX,GAIP,IAHA,IAAI8xX,GAA0F,IAAjF,CAAC,EAAD,GAAoCpkX,QAAQrK,KAAK8uH,UAAUx8G,OAAOqwB,UAC3E/vB,EAAS5S,KAAK4S,OACZq7W,EAAUjuX,KAAKiuX,QAAQj8U,MAAM,GAC5Bp/B,GAAQ,CACX,IAAM87W,EAAkB97W,EAAOq7W,QAAQh7W,QAAO,SAACgvS,GAAW,OAACurE,GAAavrE,MACxE,GAAIwsE,GAA0C,IAAhC77W,EAAOk8G,UAAUx8G,OAAOqwB,WAAiC/vB,EAAOA,QAG1E,GAFAq7W,EAAQpzV,QAAO,MAAfozV,EAAmBS,GACnBD,GAA4F,IAAnF,CAAC,EAAD,GAAoCpkX,QAAQuI,EAAOk8G,UAAUx8G,OAAOqwB,UACxC,IAAjC/vB,EAAOk8G,UAAUx8G,OAAOmoW,UAAgC,CACxD,IAAM4T,EAAYhB,GAAuBz6W,EAAO06W,QAC1CgB,EAAaf,GAAwB36W,EAAO06W,QAC7CG,GAAUY,EAAWC,IACtBL,EAAQpzV,QACJ,IAAI0zV,GAAWD,EAAY,UAKvCL,EAAQpzV,QAAO,MAAfozV,EAAmBS,GAGvB97W,EAASA,EAAOA,OAGpB,OAAOq7W,EAAQh7W,QAAO,SAACgvS,GAAW,OAAA9hQ,GAAS8hQ,EAAOtlT,OAAQA,OAElE,EA1DA,GAgJMgyX,GAAmB,SAACppU,EAAyBu8D,GAG/C,IAFA,IAAI8sQ,EAAYrpU,aAAiBo7T,GAAqBp7T,EAAMztC,MAAQ,EAC9DssK,EAAW7+H,aAAiBo7T,IAAqBp7T,EAAM6+H,SACpDvnL,EAAI,EAAGA,EAAIilH,EAAShlH,OAAQD,IAAK,CACtC,IAAM6qB,EAAOo6F,EAASjlH,GAElB6qB,EAAKonG,qBAAqB2xP,IACM,kBAAzB/4V,EAAKonG,UAAUpvH,OACG,IAAzBgoB,EAAKonG,UAAUpvH,QAEfkvX,EAAYlnW,EAAKonG,UAAUpvH,OAG/BgoB,EAAKmnW,UAAY9L,GAAkB6L,EAAWlnW,EAAKonG,UAAUx8G,OAAOgmW,eAAe,GAEnFsW,GAAaxqM,GAAY,EAAI,IAIxB0qM,GAAwB,SAAChgQ,GAClC,IAAMigQ,EAAiB,IAAIC,GAAalgQ,EAAW,MAC7Cz4G,EAAO,IAAI44W,GAAgBF,GAC3BG,EAA4B,GAGlC,OA7GmB,SAAjBC,EACFv8W,EACAw8W,EACAC,EACAH,GAEAt8W,EAAOk8G,UAAUhN,SAAS/sF,SAAQ,SAACvhB,GAC/B,IAAM87W,EAA6BnvU,GAAS3sC,EAAMqxL,MAAK,GACjD+8K,EAAyBzhU,GAAS3sC,EAAMqxL,MAAK,GAC7CkqL,EAAiB,IAAIC,GAAax7W,EAAOZ,GAC3CutC,GAAS3sC,EAAMlB,OAAO8R,QAAO,OAC7B8qW,EAAUpoX,KAAKioX,GAGnB,IAAMQ,EAAiBpvU,GAAS3sC,EAAMqxL,MAAK,GAAyB,GAAKqqL,EAEzE,GAAII,GAA8B1N,EAAwB,CACtD,IAAM4N,EACFF,GAA8B97W,EAAMlB,OAAOsoW,eAAiByU,EAAsBD,EAEhFtyV,EAAQ,IAAImyV,GAAgBF,GAElC,GAAIv7W,EAAMlB,OAAOsoW,gBAAkBpnW,EAAMlB,OAAOy2C,QAAU,GAAKv1C,EAAMlB,OAAOqoW,gBAAiB,CACzF,IAAM,EAAQnnW,EAAMlB,OAAO6kC,OAAOk5F,MAClC,GAAI,EAAQ,EAAG,CACX,IAAI,EAAQ,EAEZm/O,EAAY5B,eAAe3vP,MAAK,SAACjmH,EAASnb,GACtC,OAAI,EAAQmb,EAAQ0C,QAAQo0G,UAAUx8G,OAAO6kC,OAAOk5F,OAChD,EAAQxzI,GACD,GACA,EAAQ,KAMvB2yX,EAAY5B,eAAeluV,OAAO,EAAO,EAAG5C,QACzC,GAAI,EAAQ,EAAG,CAClB,IAAI,EAAQ,EACZ0yV,EAAY1B,eAAe7vP,MAAK,SAACjmH,EAASnb,GACtC,OAAI,GAASmb,EAAQ0C,QAAQo0G,UAAUx8G,OAAO6kC,OAAOk5F,OACjD,EAAQxzI,EAAI,GACL,GACA,EAAQ,KAMvB2yX,EAAY1B,eAAepuV,OAAO,EAAO,EAAG5C,QAE5C0yV,EAAY3B,uCAAuC/mX,KAAKg2B,QAGxDtpB,EAAMlB,OAAOwoW,aACb0U,EAAYzB,oBAAoBjnX,KAAKg2B,GAErC0yV,EAAYxB,yBAAyBlnX,KAAKg2B,GAIlDqyV,EACIJ,EACAjyV,EACAwyV,EAA6BxyV,EAAQuyV,EACrCE,QAGA/7W,EAAMlB,OAAOyoW,gBACbqU,EAAgB1B,YAAY5mX,KAAKioX,GAEjCK,EAAgBzB,eAAe7mX,KAAKioX,GAGxCI,EAAeJ,EAAgBK,EAAiBC,EAAqBE,GAGrEpvU,GAAS3sC,EAAMqxL,MAAK,IACpB8pL,GAAiBn7W,EAAO+7W,MA4BhCJ,CAAeJ,EAAgB14W,EAAMA,EAAM64W,GAC3CP,GAAiBI,EAAejgQ,UAAWogQ,GACpC74W,GCvMEo5W,GAAqB,SAACnC,EAAqBoC,GACpD,OAAQA,GACJ,KAAK,EACD,OAAOC,GACHrC,EAAOd,iBACPc,EAAOV,kBACPU,EAAOb,kBACPa,EAAOT,oBAEf,KAAK,EACD,OAAO8C,GACHrC,EAAOb,kBACPa,EAAOT,mBACPS,EAAOZ,qBACPY,EAAOR,uBAEf,KAAK,EACD,OAAO6C,GACHrC,EAAOZ,qBACPY,EAAOR,sBACPQ,EAAOX,oBACPW,EAAOP,sBAEf,KAAK,EACL,QACI,OAAO4C,GACHrC,EAAOX,oBACPW,EAAOP,qBACPO,EAAOd,iBACPc,EAAOV,qBAuFjBgD,GAA6B,SAACC,EAAcC,GAC9C,IAAMviX,EAAO,GAab,OAZIk9W,GAAcoF,GACdtiX,EAAKzG,KAAK+oX,EAAOzF,UAAU,IAAK,IAEhC78W,EAAKzG,KAAK+oX,GAGVpF,GAAcqF,GACdviX,EAAKzG,KAAKgpX,EAAO1F,UAAU,IAAK,IAEhC78W,EAAKzG,KAAKgpX,GAGPviX,GAGLoiX,GAAuB,SAACE,EAAcE,EAAcD,EAAcE,GACpE,IAAMziX,EAAO,GAyBb,OAxBIk9W,GAAcoF,GACdtiX,EAAKzG,KAAK+oX,EAAOzF,UAAU,IAAK,IAEhC78W,EAAKzG,KAAK+oX,GAGVpF,GAAcqF,GACdviX,EAAKzG,KAAKgpX,EAAO1F,UAAU,IAAK,IAEhC78W,EAAKzG,KAAKgpX,GAGVrF,GAAcuF,GACdziX,EAAKzG,KAAKkpX,EAAO5F,UAAU,IAAK,GAAMpqW,WAEtCzS,EAAKzG,KAAKkpX,GAGVvF,GAAcsF,GACdxiX,EAAKzG,KAAKipX,EAAO3F,UAAU,IAAK,GAAOpqW,WAEvCzS,EAAKzG,KAAKipX,GAGPxiX,GC/JE+gX,GAAa,SAAC5zW,GACvB,IAAMg5E,EAASh5E,EAAQg5E,OACjBphF,EAASoI,EAAQpI,OACvB,OAAOohF,EAAOnhD,IACVjgC,EAAOw8I,gBACPx8I,EAAOs8I,iBACLt8I,EAAOy8I,iBAAmBz8I,EAAOw8I,mBACjCx8I,EAAOs8I,eAAiBt8I,EAAOu8I,qBAI5BohO,GAAa,SAACv1W,GACvB,IAAMpI,EAASoI,EAAQpI,OACjBohF,EAASh5E,EAAQg5E,OAEjB+5D,EAAcg9M,GAAiBn4V,EAAOm7I,YAAa/5D,EAAO9sF,OAC1D8mJ,EAAe+8M,GAAiBn4V,EAAOo7I,aAAch6D,EAAO9sF,OAC5D8nJ,EAAa+7M,GAAiBn4V,EAAOo8I,WAAYh7D,EAAO9sF,OACxD+nJ,EAAgB87M,GAAiBn4V,EAAOq8I,cAAej7D,EAAO9sF,OAEpE,OAAO8sF,EAAOnhD,IACVk7G,EAAcn7I,EAAOw8I,gBACrBJ,EAAap8I,EAAOs8I,iBAClBt8I,EAAOy8I,iBAAmBz8I,EAAOw8I,gBAAkBrB,EAAcC,KACjEp7I,EAAOs8I,eAAiBt8I,EAAOu8I,kBAAoBH,EAAaC,KCW7DuhO,GAA+B,SACxCphQ,EACA3tF,EACAgvV,GAEA,IAAMC,EAhCwC,SAC9C1Z,EACAh8V,GAEA,OAAyB,IAArBg8V,EACOh8V,EAAQg5E,OAGM,IAArBgjR,EACOuZ,GAAWv1W,GAGf4zW,GAAW5zW,GAoBgB21W,CAC9BC,GAA2BxhQ,EAAUx8G,OAAOokW,iBAAkBv1U,GAC9D2tF,GAGEyhQ,EAtBqC,SAACxb,EAAiCr6V,GAC7E,OAAuB,IAAnBq6V,EACOr6V,EAAQg5E,OAGI,IAAnBqhR,EACOkb,GAAWv1W,GAGf4zW,GAAW5zW,GAaa81W,CAC3BF,GAA2BxhQ,EAAUx8G,OAAOyiW,eAAgB5zU,GAC5D2tF,GAGE2hQ,EAAsBC,GACxBJ,GAA2BxhQ,EAAUx8G,OAAO48E,eAAgB/tD,GAC5DgvV,EACAC,GAGGO,EAAyBF,EAAhB,GAAEG,EAAcH,EAAJ,GAEtB9tV,EAAW4nU,GACb+lB,GAA2BxhQ,EAAUx8G,OAAO68E,mBAAoBhuD,GAChEivV,EAA0BxpX,MAAQ+pX,EAClCP,EAA0BvpX,OAAS+pX,GAcvC,MAAO,CAXMC,GACTP,GAA2BxhQ,EAAUx8G,OAAOqkW,iBAAkBx1U,GAC9DwB,EACA8tV,EACAL,EACAG,GAGYppX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOlU,EAAS,IACrDx7B,KAAKi9G,MAAMgsQ,EAA0Br5U,IAAMpU,EAAS,IAEpCguV,EAAWC,IAGlCE,GAAS,SAACx5V,GAA6B,OAAAsyU,GAAatyU,IAAUA,EAAM53B,QAAU6rW,GAAgBwlB,MAErGC,GAAoB,SAACtxX,GAA0C,MAAiB,kBAAVA,GAE/DgxX,GAA0B,SACnCxrT,EACA,EACAwuB,G,IADCurR,EAAc,KAAEE,EAAe,KAAE8R,EAAmB,KAG9CpoU,EAAiBqc,EAAZ,GAAE2V,EAAU3V,EAAJ,GAEpB,IAAKrc,EACD,MAAO,CAAC,EAAG,GAGf,GAAIqhT,GAAmBrhT,IAAUgyB,GAAUqvR,GAAmBrvR,GAC1D,MAAO,CAAC4vR,GAAiB5hT,EAAO6qC,EAAO9sF,OAAQ6jW,GAAiB5vR,EAAQ6Y,EAAO7sF,SAGnF,IAAMqqX,EAAyBF,GAAkBC,GAEjD,GAAIrnB,GAAa/gT,KAAWA,EAAMnpD,QAAU6rW,GAAgB4lB,SAAWtoU,EAAMnpD,QAAU6rW,GAAgB6lB,OACnG,OAAIJ,GAAkBC,GACEv9R,EAAO9sF,MAAQ8sF,EAAO7sF,OAErBoqX,KAAyBpoU,EAAMnpD,QAAU6rW,GAAgB6lB,OACxE,CAAC19R,EAAO9sF,MAAO8sF,EAAO9sF,MAAQqqX,GAC9B,CAACv9R,EAAO7sF,OAASoqX,EAAqBv9R,EAAO7sF,QAGhD,CAAC6sF,EAAO9sF,MAAO8sF,EAAO7sF,QAGjC,IAAMwqX,EAAoBL,GAAkB/R,GACtCqS,EAAqBN,GAAkB7R,GACvCoS,EAAyBF,GAAqBC,EAGpD,GAAIR,GAAOjoU,MAAYgyB,GAAUi2S,GAAOj2S,IAEpC,OAAIw2S,GAAqBC,EACd,CAACrS,EAA0BE,GAMjC+R,GAA2BK,EAQ5BA,GAA0BL,EAOnB,CANOG,EACPpS,EACAE,EAA8B8R,EACtBK,EACRnS,EACAF,EAA6BgS,GAQjC,CAFOI,EAAqBpS,EAA4BvrR,EAAO9sF,MACvD0qX,EAAsBnS,EAA6BzrR,EAAO7sF,QApB9D,CAAC6sF,EAAO9sF,MAAO8sF,EAAO7sF,QA0BrC,GAAIqqX,EAAwB,CACxB,IAAI,EAAQ,EACR,EAAS,EAab,OAZIhnB,GAAmBrhT,GACnB,EAAQ4hT,GAAiB5hT,EAAO6qC,EAAO9sF,OAChCsjW,GAAmBrvR,KAC1B,EAAS4vR,GAAiB5vR,EAAQ6Y,EAAO7sF,SAGzCiqX,GAAOjoU,GACP,EAAQ,EAAUooU,EACVp2S,IAAUi2S,GAAOj2S,KACzB,EAAS,EAASo2S,GAGf,CAAC,EAAO,GAQnB,IAAIrqX,EAAQ,KACRC,EAAS,KAsBb,GApBIqjW,GAAmBrhT,GACnBjiD,EAAQ6jW,GAAiB5hT,EAAO6qC,EAAO9sF,OAChCi0E,GAAUqvR,GAAmBrvR,KACpCh0E,EAAS4jW,GAAiB5vR,EAAQ6Y,EAAO7sF,SAG/B,OAAVD,GAAoBi0E,IAAUi2S,GAAOj2S,KACrCh0E,EACIwqX,GAAqBC,EACd1qX,EAASq4W,EAA8BE,EACxCzrR,EAAO7sF,QAGN,OAAXA,GAAmBiqX,GAAOjoU,KAC1BjiD,EACIyqX,GAAqBC,EACdzqX,EAAUs4W,EAA+BF,EAC1CvrR,EAAO9sF,OAGP,OAAVA,GAA6B,OAAXC,EAClB,MAAO,CAACD,EAAOC,GAGnB,MAAM,IAAIq4B,MAAM,oDAGPoxV,GAA6B,SAAI7yW,EAAa0jB,GACvD,IAAMzhC,EAAQ+d,EAAO0jB,GACrB,MAAqB,qBAAVzhC,EACA+d,EAAO,GAGX/d,GAGEmxX,GAAgC,SACzCx3R,EACA,EACA,EACA+2R,EACAG,G,IAHC1jX,EAAC,KAAEC,EAAC,KACJlG,EAAK,KAAEC,EAAM,KAId,OAAQwyF,GACJ,KAAK,EACD,MAAO,CACH,IAAI4wR,GAAO9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,MAAO1vC,KAAKi9G,MAAMgsQ,EAA0Br5U,IAAMjqC,IAClG,IAAIm9W,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOu5U,EAA0BxpX,OACtEO,KAAKi9G,MAAMgsQ,EAA0Br5U,IAAMjqC,IAE/C,IAAIm9W,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOu5U,EAA0BxpX,OACtEO,KAAKi9G,MAAMv9G,EAASupX,EAA0Br5U,IAAMjqC,IAExD,IAAIm9W,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,MACrC1vC,KAAKi9G,MAAMv9G,EAASupX,EAA0Br5U,IAAMjqC,KAGhE,KAAK,EACD,MAAO,CACH,IAAIm9W,GAAO9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOhqC,GAAI1F,KAAKi9G,MAAMgsQ,EAA0Br5U,MAChG,IAAIkzU,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOhqC,EAAIjG,GAChDO,KAAKi9G,MAAMgsQ,EAA0Br5U,MAEzC,IAAIkzU,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOhqC,EAAIjG,GAChDO,KAAKi9G,MAAMgsQ,EAA0BvpX,OAASupX,EAA0Br5U,MAE5E,IAAIkzU,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOhqC,GAC5C1F,KAAKi9G,MAAMgsQ,EAA0BvpX,OAASupX,EAA0Br5U,OAGpF,KAAK,EACD,MAAO,CACH,IAAIkzU,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOhqC,GAC5C1F,KAAKi9G,MAAMgsQ,EAA0Br5U,IAAMjqC,IAE/C,IAAIm9W,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOhqC,EAAIjG,GAChDO,KAAKi9G,MAAMgsQ,EAA0Br5U,IAAMjqC,IAE/C,IAAIm9W,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOhqC,EAAIjG,GAChDO,KAAKi9G,MAAMgsQ,EAA0Br5U,IAAMjqC,EAAIjG,IAEnD,IAAIojX,GACA9iX,KAAKi9G,MAAMgsQ,EAA0Bv5U,KAAOhqC,GAC5C1F,KAAKi9G,MAAMgsQ,EAA0Br5U,IAAMjqC,EAAIjG,KAG3D,QACI,MAAO,CACH,IAAIojX,GAAO9iX,KAAKi9G,MAAMmsQ,EAAuB15U,MAAO1vC,KAAKi9G,MAAMmsQ,EAAuBx5U,MACtF,IAAIkzU,GACA9iX,KAAKi9G,MAAMmsQ,EAAuB15U,KAAO05U,EAAuB3pX,OAChEO,KAAKi9G,MAAMmsQ,EAAuBx5U,MAEtC,IAAIkzU,GACA9iX,KAAKi9G,MAAMmsQ,EAAuB15U,KAAO05U,EAAuB3pX,OAChEO,KAAKi9G,MAAMmsQ,EAAuB1pX,OAAS0pX,EAAuBx5U,MAEtE,IAAIkzU,GACA9iX,KAAKi9G,MAAMmsQ,EAAuB15U,MAClC1vC,KAAKi9G,MAAMmsQ,EAAuB1pX,OAAS0pX,EAAuBx5U,SC1RtF,cAII,WAAYzzC,GACRtD,KAAK4hH,MAAQ,GACb5hH,KAAKwxX,UAAYluX,EAyDzB,OAtDY,YAAAmuX,aAAR,SAAqBvlX,EAAoBlB,GACrC,IAAM8jH,EAAY9uH,KAAKwxX,UAAU52W,cAAc,OACzCkG,EAAM9gB,KAAKwxX,UAAU52W,cAAc,OACnCukH,EAAOn/H,KAAKwxX,UAAU52W,cAAc,QAEpCyJ,EAAOrkB,KAAKwxX,UAAUntW,KAE5ByqG,EAAUp8G,MAAM0+I,WAAa,SAC7BtiC,EAAUp8G,MAAMxG,WAAaA,EAC7B4iH,EAAUp8G,MAAM1H,SAAWA,EAC3B8jH,EAAUp8G,MAAM+pE,OAAS,IACzBqyC,EAAUp8G,MAAM85D,QAAU,IAC1BsiD,EAAUp8G,MAAM6tE,WAAa,SAE7Bl8D,EAAKC,YAAYwqG,GAEjBhuG,EAAIK,ICjCe,iFDkCnBL,EAAIla,MAAQ,EACZka,EAAIja,OAAS,EAEbia,EAAIpO,MAAM+pE,OAAS,IACnB37D,EAAIpO,MAAM85D,QAAU,IACpB1rD,EAAIpO,MAAM0iI,cAAgB,WAE1BjW,EAAKzsH,MAAMxG,WAAaA,EACxBizH,EAAKzsH,MAAM1H,SAAWA,EACtBm0H,EAAKzsH,MAAM+pE,OAAS,IACpB0iD,EAAKzsH,MAAM85D,QAAU,IAErB2yD,EAAK76G,YAAYtkB,KAAKwxX,UAAUv+V,eAxCpB,gBAyCZ67F,EAAUxqG,YAAY66G,GACtBrQ,EAAUxqG,YAAYxD,GACtB,IAAMokL,EAAWpkL,EAAImE,UAAYk6G,EAAKl6G,UAAY,EAElD6pG,EAAUvqG,YAAY46G,GACtBrQ,EAAUxqG,YAAYtkB,KAAKwxX,UAAUv+V,eA9CzB,gBAgDZ67F,EAAUp8G,MAAMo2L,WAAa,SAC7BhoL,EAAIpO,MAAM0iI,cAAgB,QAE1B,IAAM9G,EAASxtH,EAAImE,UAAY6pG,EAAU7pG,UAAY,EAIrD,OAFAZ,EAAKE,YAAYuqG,GAEV,CAACo2E,SAAQ,EAAE52D,OAAM,IAE5B,YAAAojP,WAAA,SAAWxlX,EAAoBlB,GAC3B,IAAM3N,EAAS6O,EAAU,IAAIlB,EAK7B,MAJ+B,qBAApBhL,KAAK4hH,MAAMvkH,KAClB2C,KAAK4hH,MAAMvkH,GAAO2C,KAAKyxX,aAAavlX,EAAYlB,IAG7ChL,KAAK4hH,MAAMvkH,IAE1B,EA/DA,GELA,GACI,SAA+Bi4D,EAAqC/2B,GAArC,KAAA+2B,UAAqC,KAAA/2B,WC0DxE,eAMI,WAAY+2B,EAAkB/2B,GAA9B,MACI,YAAM+2B,EAAS/2B,IAAQ,K,OAJV,EAAAozV,eAAmC,GAKhD,EAAKlsX,OAAS84B,EAAQ94B,OAAS84B,EAAQ94B,OAASnC,SAASsX,cAAc,UACvE,EAAK5U,IAAM,EAAKP,OAAOqV,WAAW,MAC7ByjB,EAAQ94B,SACT,EAAKA,OAAOmB,MAAQO,KAAK0W,MAAM0gB,EAAQ33B,MAAQ23B,EAAQjuB,OACvD,EAAK7K,OAAOoB,OAASM,KAAK0W,MAAM0gB,EAAQ13B,OAAS03B,EAAQjuB,OACzD,EAAK7K,OAAOiN,MAAM9L,MAAW23B,EAAQ33B,MAAK,KAC1C,EAAKnB,OAAOiN,MAAM7L,OAAY03B,EAAQ13B,OAAM,MAEhD,EAAK+qX,YAAc,IAAIC,GAAYvuX,UACnC,EAAK0C,IAAIsK,MAAM,EAAKiuB,QAAQjuB,MAAO,EAAKiuB,QAAQjuB,OAChD,EAAKtK,IAAI6J,WAAW0uB,EAAQ1xB,GAAI0xB,EAAQzxB,GACxC,EAAK9G,IAAIkZ,aAAe,SACxB,EAAKyyW,eAAiB,GACtB,EAAKr8T,QAAQ27P,OAAOz/P,MAChB,gCAAgCjzB,EAAQ33B,MAAK,IAAI23B,EAAQ13B,OAAM,gBAAgB03B,EAAQjuB,O,EA0zBnG,OAh1BoC,OA0BhC,YAAAwhX,aAAA,SAAa7D,GACT,IADJ,WACWjuX,KAAK2xX,eAAe70X,QACvBkD,KAAK+xX,YAGT9D,EAAQl5V,SAAQ,SAACktR,GAAW,SAAK+vE,YAAY/vE,OAGjD,YAAA+vE,YAAA,SAAY/vE,GACRjiT,KAAKgG,IAAI+M,OTvDc,SAACkvS,GAAoD,OAAW,IAAXA,EAAOhxS,KSwD/EghX,CAAgBhwE,KAChBjiT,KAAKgG,IAAIsP,YAAc2sS,EAAOl5P,ST5DT,SAACk5P,GAC9B,OAAW,IAAXA,EAAOhxS,KS8DCihX,CAAkBjwE,KAClBjiT,KAAKgG,IAAI6J,UAAUoyS,EAAO78S,QAAS68S,EAAO58S,SAC1CrF,KAAKgG,IAAIwK,UACLyxS,EAAO1xS,OAAO,GACd0xS,EAAO1xS,OAAO,GACd0xS,EAAO1xS,OAAO,GACd0xS,EAAO1xS,OAAO,GACd0xS,EAAO1xS,OAAO,GACd0xS,EAAO1xS,OAAO,IAElBvQ,KAAKgG,IAAI6J,WAAWoyS,EAAO78S,SAAU68S,EAAO58S,UAG5CmoX,GAAavrE,KACbjiT,KAAKuN,KAAK00S,EAAO10S,MACjBvN,KAAKgG,IAAIqP,QAGbrV,KAAK2xX,eAAe7qX,KAAKm7S,IAG7B,YAAA8vE,UAAA,WACI/xX,KAAK2xX,eAAe3qX,MACpBhH,KAAKgG,IAAIqN,WAGP,YAAA8+W,YAAN,SAAkBr1V,G,iGACCA,EAAMpiB,QAAQo0G,UAAUx8G,OAC5B+vC,YACP,GAAMriD,KAAKoyX,mBAAmBt1V,IAD9B,M,OACA,S,mCAIF,YAAAu1V,WAAN,SAAiB1pU,G,iGACTxI,GAASwI,EAAMmmE,UAAU+1E,MAAK,IAI9Bl8I,EAAMmmE,UAAUx8G,OAAO+vC,YACvB,GAAMriD,KAAKsyX,+BAA+B3pU,IAD1C,M,OAEA,OADA,SACA,GAAM3oD,KAAKuyX,kBAAkB5pU,I,OAA7B,S,mCAIR,YAAA6pU,4BAAA,SAA4Bv+W,EAAkB85T,EAAuB7oI,GAArE,WAC0B,IAAlB6oI,EACA/tU,KAAKgG,IAAI8Z,SAAS7L,EAAKA,KAAMA,EAAKy/E,OAAO78C,KAAM5iC,EAAKy/E,OAAO38C,IAAMmuJ,GAEjDu4K,GAAiBxpW,EAAKA,MAC9B86D,QAAO,SAACl4B,EAAMiyE,GAGlB,OAFA,EAAK9iH,IAAI8Z,SAASgpG,EAAQjyE,EAAM5iC,EAAKy/E,OAAO38C,IAAMmuJ,GAE3CruJ,EAAO,EAAK7wC,IAAI0Z,YAAYopG,GAAQliH,QAC5CqN,EAAKy/E,OAAO78C,OAIf,YAAA47U,gBAAR,SAAwBngX,GACpB,IAAMtG,EAAcsG,EAAOtG,YACtBiH,QAAO,SAACm4G,GAAY,MAAY,WAAZA,GAAoC,eAAZA,KAC5C/+G,KAAK,IACJH,EAAawmX,GAAkBpgX,EAAOpG,YAAYG,KAAK,MACvDrB,EAAW0+V,GAAiBp3V,EAAOtH,UACnC,GAAGsH,EAAOtH,SAAS++G,OAASz3G,EAAOtH,SAASmxI,KACzC7pI,EAAOtH,SAAS++G,OAAM,KAE/B,MAAO,CACH,CAACz3G,EAAOvG,UAAWC,EAAasG,EAAOrG,WAAYjB,EAAUkB,GAAYG,KAAK,KAC9EH,EACAlB,IAIF,YAAA2nX,eAAN,SAAqB1+W,EAAqB3B,G,qGAChC,EAA+BtS,KAAKyyX,gBAAgBngX,GAAnDnH,EAAI,KAAEe,EAAU,KAAElB,EAAQ,KAEjChL,KAAKgG,IAAImF,KAAOA,EAEhBnL,KAAKgG,IAAIyyD,UAA4B,IAAhBnmD,EAAOmmD,UAA8B,MAAQ,MAClEz4D,KAAKgG,IAAIkoM,UAAY,OACrBluM,KAAKgG,IAAIkZ,aAAe,aAClB,EAAqBlf,KAAK4xX,YAAYF,WAAWxlX,EAAYlB,GAA5Dk6L,EAAQ,WAAE52D,EAAM,SACjB4rO,EAAa5nW,EAAO4nW,WAE1BjmW,EAAKuqW,WAAWzpV,SAAQ,SAAC9gB,GACrBimW,EAAWnlV,SAAQ,SAAC69V,GAChB,OAAQA,GACJ,KAAK,EACD,EAAK5sX,IAAIsO,UAAY62V,GAAS74V,EAAOvI,OACrC,EAAKyoX,4BAA4Bv+W,EAAM3B,EAAOy7T,cAAe7oI,GAC7D,IAAM2tL,EAA0BvgX,EAAOomW,WAEnCma,EAAY/1X,QAAUmX,EAAKA,KAAKzM,OAAO1K,SACvC+1X,EACK7gV,MAAM,GACNhyB,UACA+U,SAAQ,SAAC2jV,GACN,EAAK1yW,IAAI8sX,YAAc3nB,GAASuN,EAAW3uW,OAC3C,EAAK/D,IAAI+sX,cAAgBra,EAAWtzW,QAAQ2kH,OAAS,EAAKxrF,QAAQjuB,MAClE,EAAKtK,IAAIgtX,cAAgBta,EAAWrzW,QAAQ0kH,OAAS,EAAKxrF,QAAQjuB,MAClE,EAAKtK,IAAIitX,WAAava,EAAWpzR,KAAKykC,OAEtC,EAAKyoQ,4BAA4Bv+W,EAAM3B,EAAOy7T,cAAe7oI,MAGrE,EAAKl/L,IAAI8sX,YAAc,GACvB,EAAK9sX,IAAI+sX,cAAgB,EACzB,EAAK/sX,IAAIgtX,cAAgB,EACzB,EAAKhtX,IAAIitX,WAAa,GAGtB3gX,EAAO+mW,mBAAmBv8W,SAC1B,EAAKkJ,IAAIsO,UAAY62V,GAAS74V,EAAO8mW,qBAAuB9mW,EAAOvI,OACnEuI,EAAO+mW,mBAAmBtkV,SAAQ,SAACskV,GAC/B,OAAQA,GACJ,KAAK,EAID,EAAKrzW,IAAIyc,SACLxO,EAAKy/E,OAAO78C,KACZ1vC,KAAKi9G,MAAMnwG,EAAKy/E,OAAO38C,IAAMmuJ,GAC7BjxL,EAAKy/E,OAAO9sF,MACZ,GAGJ,MACJ,KAAK,EACD,EAAKZ,IAAIyc,SACLxO,EAAKy/E,OAAO78C,KACZ1vC,KAAKi9G,MAAMnwG,EAAKy/E,OAAO38C,KACvB9iC,EAAKy/E,OAAO9sF,MACZ,GAEJ,MACJ,KAAK,EAED,EAAKZ,IAAIyc,SACLxO,EAAKy/E,OAAO78C,KACZ1vC,KAAK4W,KAAK9J,EAAKy/E,OAAO38C,IAAMu3F,GAC5Br6H,EAAKy/E,OAAO9sF,MACZ,QAMpB,MACJ,KAAK,EACG0L,EAAO+nW,uBAAyBpmW,EAAKA,KAAKzM,OAAO1K,SACjD,EAAKkJ,IAAIuO,YAAc42V,GAAS74V,EAAO8nW,uBACvC,EAAKp0W,IAAIyO,UAAYnC,EAAO+nW,sBAE5B,EAAKr0W,IAAI2O,SAAcjT,OAAeupP,OAAS,QAAU,QACzD,EAAKjlP,IAAI+Z,WAAW9L,EAAKA,KAAMA,EAAKy/E,OAAO78C,KAAM5iC,EAAKy/E,OAAO38C,IAAMmuJ,IAEvE,EAAKl/L,IAAIuO,YAAc,GACvB,EAAKvO,IAAIyO,UAAY,EACrB,EAAKzO,IAAI2O,SAAW,e,WAOxC,YAAAu+W,sBAAA,SACIpkQ,EACAw+P,EACA3sW,GAEA,GAAIA,GAASmuG,EAAUmwP,eAAiB,GAAKnwP,EAAUqwP,gBAAkB,EAAG,CACxE,IAAMlpS,EAAMg6S,GAAWnhQ,GACjBvhH,EAAOggX,GAAwBD,GACrCttX,KAAKuN,KAAKA,GACVvN,KAAKgG,IAAI+M,OACT/S,KAAKgG,IAAIqP,OACTrV,KAAKgG,IAAIob,UACLT,EACA,EACA,EACAmuG,EAAUmwP,eACVnwP,EAAUqwP,gBACVlpS,EAAIp/B,KACJo/B,EAAIl/B,IACJk/B,EAAIrvE,MACJqvE,EAAIpvE,QAER7G,KAAKgG,IAAIqN,YAIX,YAAAk/W,kBAAN,SAAwB5pU,G,kIACpB3oD,KAAK8xX,aAAanpU,EAAM6lU,WAAU,IAC5B1/P,EAAYnmE,EAAMmmE,UAClBw+P,EAAS3kU,EAAM2kU,OACfh7W,EAASw8G,EAAUx8G,O,EACc,EAAnB,EAAAw8G,EAAUqsP,U,wBAAV,YAAT3nW,EAAK,KACZ,GAAMxT,KAAK2yX,eAAen/W,EAAOlB,KADE,M,OACnC,S,wBADgB,I,kBAIhBw8G,aAAqBqxP,IAArB,Y,iBAEkB,O,sBAAA,GAAMngX,KAAKs1D,QAAQizC,MAAM/+F,MAAMslH,EAAU3tG,M,cAAjDR,EAAQ,SACd3gB,KAAKkzX,sBAAsBpkQ,EAAWw+P,EAAQ3sW,G,6BAE9C3gB,KAAKs1D,QAAQ27P,OAAO99R,MAAM,uBAAuB27F,EAAU3tG,K,gBAI/D2tG,aAAqBuxP,IACrBrgX,KAAKkzX,sBAAsBpkQ,EAAWw+P,EAAQx+P,EAAUrpH,UAGxDqpH,aAAqByxP,IAArB,a,iBAEkB,O,wBAAA,GAAMvgX,KAAKs1D,QAAQizC,MAAM/+F,MAAMslH,EAAUtrH,M,eAAjDmd,EAAQ,SACd3gB,KAAKkzX,sBAAsBpkQ,EAAWw+P,EAAQ3sW,G,+BAE9C3gB,KAAKs1D,QAAQ27P,OAAO99R,MAAM,qBAAqB27F,EAAUtrH,IAAI6tC,UAAU,EAAG,M,sBAI9Ey9E,aAAqBqyP,IAA0BryP,EAAU8wP,KAU1C,GATQ,IAAIuT,EAAenzX,KAAKs1D,QAAS,CACpDhlD,MAAOtQ,KAAKu+B,QAAQjuB,MACpB81D,gBAAiB0oD,EAAU1oD,gBAC3Bv5D,EAAG,EACHC,EAAG,EACHlG,MAAOkoH,EAAUloH,MACjBC,OAAQioH,EAAUjoH,SAGciM,OAAOg8G,EAAU8wP,OAVrD,O,QAUMn6W,EAAS,SACXqpH,EAAUloH,OAASkoH,EAAUjoH,QAC7B7G,KAAKgG,IAAIob,UACL3b,EACA,EACA,EACAqpH,EAAUloH,MACVkoH,EAAUjoH,OACVioH,EAAUp7B,OAAO78C,KACjBi4E,EAAUp7B,OAAO38C,IACjB+3E,EAAUp7B,OAAO9sF,MACjBkoH,EAAUp7B,OAAO7sF,Q,mBA4C7B,GAvCIioH,aAAqB+xP,KACf37S,EAAO/9D,KAAK6K,IAAI88G,EAAUp7B,OAAO9sF,MAAOkoH,EAAUp7B,OAAO7sF,QnBtTnD,amBwTRioH,EAAU79G,KACN69G,EAAU3C,UACVnsH,KAAKgG,IAAI+M,OACT/S,KAAKuN,KAAK,CACN,IAAI08W,GAAOn7P,EAAUp7B,OAAO78C,KAAc,OAAPquB,EAAgB4pD,EAAUp7B,OAAO38C,IAAa,IAAPmuB,GAC1E,IAAI+kT,GAAOn7P,EAAUp7B,OAAO78C,KAAc,IAAPquB,EAAa4pD,EAAUp7B,OAAO38C,IAAa,MAAPmuB,GACvE,IAAI+kT,GAAOn7P,EAAUp7B,OAAO78C,KAAc,OAAPquB,EAAgB4pD,EAAUp7B,OAAO38C,IAAa,OAAPmuB,GAC1E,IAAI+kT,GAAOn7P,EAAUp7B,OAAO78C,KAAc,OAAPquB,EAAgB4pD,EAAUp7B,OAAO38C,IAAa,MAAPmuB,GAC1E,IAAI+kT,GAAOn7P,EAAUp7B,OAAO78C,KAAc,OAAPquB,EAAgB4pD,EAAUp7B,OAAO38C,IAAa,IAAPmuB,GAC1E,IAAI+kT,GAAOn7P,EAAUp7B,OAAO78C,KAAc,IAAPquB,EAAa4pD,EAAUp7B,OAAO38C,IAAa,OAAPmuB,GACvE,IAAI+kT,GAAOn7P,EAAUp7B,OAAO78C,KAAc,OAAPquB,EAAgB4pD,EAAUp7B,OAAO38C,IAAa,IAAPmuB,KAG9EllE,KAAKgG,IAAIsO,UAAY62V,GnBlUd,WmBmUPnrW,KAAKgG,IAAI2P,OACT3V,KAAKgG,IAAIqN,WnBtUR,UmBwUEy7G,EAAU79G,MACb69G,EAAU3C,UACVnsH,KAAKgG,IAAI+M,OACT/S,KAAKgG,IAAIwP,YACTxV,KAAKgG,IAAI+Q,IACL+3G,EAAUp7B,OAAO78C,KAAOquB,EAAO,EAC/B4pD,EAAUp7B,OAAO38C,IAAMmuB,EAAO,EAC9BA,EAAO,EACP,EACU,EAAV/9D,KAAKsE,IACL,GAEJzL,KAAKgG,IAAIsO,UAAY62V,GnBlVd,WmBmVPnrW,KAAKgG,IAAI2P,OACT3V,KAAKgG,IAAIqN,YAKjB+/W,GAAmBtkQ,IAAcA,EAAUpvH,MAAM5C,OAAQ,CAczD,OAbM,EAAyBkD,KAAKyyX,gBAAgBngX,GAA7CpG,EAAU,KAAElB,EAAQ,KACpBk6L,EAAYllM,KAAK4xX,YAAYF,WAAWxlX,EAAYlB,GAA5C,SAEfhL,KAAKgG,IAAImF,KAAOe,EAChBlM,KAAKgG,IAAIsO,UAAY62V,GAAS74V,EAAOvI,OAErC/J,KAAKgG,IAAIkZ,aAAe,aACxBlf,KAAKgG,IAAIkoM,UAAYmlL,GAAgBvkQ,EAAUx8G,OAAO47L,WAEhDx6G,EAASu8R,GAAWnhQ,GAEtBjiH,EAAI,EAEAiiH,EAAUx8G,OAAO47L,WACrB,KAAK,EACDrhM,GAAK6mF,EAAO9sF,MAAQ,EACpB,MACJ,KAAK,EACDiG,GAAK6mF,EAAO9sF,MAId43W,EAAa9qR,EAAOnhD,IAAI1lC,EAAG,EAAG,GAAI6mF,EAAO7sF,OAAS,EAAI,GAE5D7G,KAAKgG,IAAI+M,OACT/S,KAAKuN,KAAK,CACN,IAAI08W,GAAOv2R,EAAO78C,KAAM68C,EAAO38C,KAC/B,IAAIkzU,GAAOv2R,EAAO78C,KAAO68C,EAAO9sF,MAAO8sF,EAAO38C,KAC9C,IAAIkzU,GAAOv2R,EAAO78C,KAAO68C,EAAO9sF,MAAO8sF,EAAO38C,IAAM28C,EAAO7sF,QAC3D,IAAIojX,GAAOv2R,EAAO78C,KAAM68C,EAAO38C,IAAM28C,EAAO7sF,UAGhD7G,KAAKgG,IAAIqP,OACTrV,KAAKwyX,4BACD,IAAI5T,GAAW9vP,EAAUpvH,MAAO8+W,GAChClsW,EAAOy7T,cACP7oI,GAEJllM,KAAKgG,IAAIqN,UACTrT,KAAKgG,IAAIkZ,aAAe,aACxBlf,KAAKgG,IAAIkoM,UAAY,O,IAGrB/tJ,GAAS2uE,EAAUx8G,OAAO8R,QAAO,MAAjC,a,GACwC,OAApC0qG,EAAUx8G,OAAO8lW,eAAjB,a,GAEY,KADNt3V,EAAMguG,EAAUx8G,OAAO8lW,gBACrBnnW,KAAJ,aACI0P,OAAK,EACH/Y,EAAOkZ,EAAoBlZ,I,mBAErB,O,yBAAA,GAAM5H,KAAKs1D,QAAQizC,MAAM/+F,MAAM5B,I,eAAvC+Y,EAAQ,SACR3gB,KAAKgG,IAAIob,UAAUT,EAAOmuG,EAAUp7B,OAAO78C,MAAQl2B,EAAM/Z,MAAQ,IAAKkoH,EAAUp7B,OAAO38C,K,+BAEvF/2C,KAAKs1D,QAAQ27P,OAAO99R,MAAM,kCAAkCvrB,G,oCAG7D+gD,EAAMkmU,YAA2C,IAA9B//P,EAAUx8G,OAAOgmW,gBACpCpsW,EAAclM,KAAKyyX,gBAAgBngX,GAAzB,GAEjBtS,KAAKgG,IAAImF,KAAOe,EAChBlM,KAAKgG,IAAIsO,UAAY62V,GAAS74V,EAAOvI,OAErC/J,KAAKgG,IAAIkZ,aAAe,SACxBlf,KAAKgG,IAAIkoM,UAAY,QACfx6G,EAAS,IAAI+rQ,EACf3wO,EAAUp7B,OAAO78C,KACjBi4E,EAAUp7B,OAAO38C,IAAM0zT,GAAiB37O,EAAUx8G,OAAOo8I,WAAY5/B,EAAUp7B,OAAO9sF,OACtFkoH,EAAUp7B,OAAO9sF,MACjBuxW,GAAkB7lW,EAAOw2L,WAAYx2L,EAAOtH,SAAS++G,QAAU,EAAI,GAGvE/pH,KAAKwyX,4BACD,IAAI5T,GAAWj2T,EAAMkmU,UAAWn7R,GAChCphF,EAAOy7T,cACPoqC,GAAkB7lW,EAAOw2L,WAAYx2L,EAAOtH,SAAS++G,QAAU,EAAI,GAEvE/pH,KAAKgG,IAAIkZ,aAAe,SACxBlf,KAAKgG,IAAIkoM,UAAY,Q,qCAK3B,YAAAkkL,mBAAN,SAAyBt1V,G,4HAMrB,OALIqjB,GAASrjB,EAAMpiB,QAAQo0G,UAAU+1E,MAAK,IAK1C,GAAM7kM,KAAKsyX,+BAA+Bx1V,EAAMpiB,U,OAAhD,S,EAEwC,EAApB,EAAAoiB,EAAM8wV,e,wBAAN,YAATp6W,EAAK,KACZ,GAAMxT,KAAKmyX,YAAY3+W,KADa,M,OACpC,S,wBADgB,I,aAIpB,SAAMxT,KAAKuyX,kBAAkBz1V,EAAMpiB,U,OAAnC,S,EAEwC,EAApB,EAAAoiB,EAAM6wV,e,wBAAN,YAATn6W,EAAK,KACZ,GAAMxT,KAAKqyX,WAAW7+W,KADc,O,OACpC,S,wBADgB,I,gBAOyB,EAAzB,EAAAspB,EAAMixV,oB,0BAAN,YAATv6W,EAAK,KACZ,GAAMxT,KAAKmyX,YAAY3+W,KADkB,O,QACzC,S,0BADgB,I,iBAI8B,EAA9B,EAAAspB,EAAMkxV,yB,0BAAN,YAATx6W,EAAK,KACZ,GAAMxT,KAAKmyX,YAAY3+W,KADuB,O,QAC9C,S,0BADgB,I,iBAGiB,EAAjB,EAAAspB,EAAM4wV,Y,0BAAN,YAATl6W,EAAK,KACZ,GAAMxT,KAAKqyX,WAAW7+W,KADW,O,QACjC,S,0BADgB,I,iBAa4C,EAA5C,EAAAspB,EAAM+wV,uC,0BAAN,YAATr6W,EAAK,KACZ,GAAMxT,KAAKmyX,YAAY3+W,KADqC,O,QAC5D,S,0BADgB,I,iBAKoB,EAApB,EAAAspB,EAAMgxV,e,0BAAN,YAATt6W,EAAK,KACZ,GAAMxT,KAAKmyX,YAAY3+W,KADa,O,QACpC,S,0BADgB,I,iCAKxB,YAAAR,KAAA,SAAK4yG,GACD5lH,KAAKgG,IAAIwP,YACTxV,KAAKgG,IAAIsQ,OAAO,EAAG,GACnBtW,KAAKgG,IAAIuQ,OAAOvW,KAAKyF,OAAOmB,MAAO,GACnC5G,KAAKgG,IAAIuQ,OAAOvW,KAAKyF,OAAOmB,MAAO5G,KAAKyF,OAAOoB,QAC/C7G,KAAKgG,IAAIuQ,OAAO,EAAGvW,KAAKyF,OAAOoB,QAC/B7G,KAAKgG,IAAIuQ,OAAO,EAAG,GACnBvW,KAAKszX,WAAW1tQ,EAAM5zE,MAAM,GAAGhyB,WAC/BhgB,KAAKgG,IAAIwQ,aAGb,YAAAjJ,KAAA,SAAKq4G,GACD5lH,KAAKgG,IAAIwP,YACTxV,KAAKszX,WAAW1tQ,GAChB5lH,KAAKgG,IAAIwQ,aAGb,YAAA88W,WAAA,SAAW1tQ,GAAX,WACIA,EAAM7wF,SAAQ,SAAC/Z,EAAOmmB,GAClB,IAAMrpB,EAAgB2yW,GAAczvW,GAASA,EAAMlD,MAAQkD,EAC7C,IAAVmmB,EACA,EAAKn7B,IAAIsQ,OAAOwB,EAAMjL,EAAGiL,EAAMhL,GAE/B,EAAK9G,IAAIuQ,OAAOuB,EAAMjL,EAAGiL,EAAMhL,GAG/B29W,GAAczvW,IACd,EAAKhV,IAAIkR,cACL8D,EAAMkvW,aAAar9W,EACnBmO,EAAMkvW,aAAap9W,EACnBkO,EAAMmvW,WAAWt9W,EACjBmO,EAAMmvW,WAAWr9W,EACjBkO,EAAMs4B,IAAIzmC,EACVmO,EAAMs4B,IAAIxmC,OAM1B,YAAAymX,aAAA,SAAahmX,EAAckN,EAAyCrV,EAAiBC,GACjFrF,KAAKuN,KAAKA,GACVvN,KAAKgG,IAAIsO,UAAYmG,EACrBza,KAAKgG,IAAI6J,UAAUzK,EAASC,GAC5BrF,KAAKgG,IAAI2P,OACT3V,KAAKgG,IAAI6J,WAAWzK,GAAUC,IAGlC,YAAAmuX,YAAA,SAAY7yW,EAAyB/Z,EAAeC,G,MAChD,GAAI8Z,EAAM/Z,QAAUA,GAAS+Z,EAAM9Z,SAAWA,EAC1C,OAAO8Z,EAGX,IACMlb,GADyC,QAAzB,EAAAzF,KAAKyF,OAAOykC,qBAAa,QAAI5mC,UACtBsX,cAAc,UAK3C,OAJAnV,EAAOmB,MAAQO,KAAK+K,IAAI,EAAGtL,GAC3BnB,EAAOoB,OAASM,KAAK+K,IAAI,EAAGrL,GAChBpB,EAAOqV,WAAW,MAC1BsG,UAAUT,EAAO,EAAG,EAAGA,EAAM/Z,MAAO+Z,EAAM9Z,OAAQ,EAAG,EAAGD,EAAOC,GAC5DpB,GAGL,YAAAguX,sBAAN,SAA4B3kQ,G,0GACpB3tF,EAAQ2tF,EAAUx8G,OAAOq5G,gBAAgB7uH,OAAS,E,WAC3C6uH,G,uHACiB,IAApBA,EAAgB16G,KAAhB,YACI0P,OAAK,EACH/Y,EAAO+jH,EAAgC/jH,I,iBAEjC,O,sBAAA,GAAM,EAAK0tD,QAAQizC,MAAM/+F,MAAM5B,I,cAAvC+Y,EAAQ,S,6BAER,EAAK20C,QAAQ27P,OAAO99R,MAAM,kCAAkCvrB,G,oBAG5D+Y,IACM,EAA8BuvW,GAA6BphQ,EAAW3tF,EAAO,CAC/ExgB,EAAM/Z,MACN+Z,EAAM9Z,OACN8Z,EAAM/Z,MAAQ+Z,EAAM9Z,SAHjB0G,EAAI,KAAEV,EAAC,KAAEC,EAAC,KAAElG,EAAK,KAAEC,EAAM,KAK1B4T,EAAU,EAAKzU,IAAIwE,cACrB,EAAKgpX,YAAY7yW,EAAO/Z,EAAOC,GAC/B,UAEJ,EAAK0sX,aAAahmX,EAAMkN,EAAS5N,EAAGC,I,azF3kB9B,IyF6kBc6+G,EzF7kBlB16G,MyF8kBA,EAA8Bi/W,GAA6BphQ,EAAW3tF,EAAO,CAAC,KAAM,KAAM,OAAzF5zB,EAAI,KAAEV,EAAC,KAAEC,EAAC,KAAElG,EAAK,KAAEC,EAAM,KAC1B,EAA+B0uW,GAA2B5pP,EAAgB17G,MAAOrJ,EAAOC,GAAvFquW,EAAU,KAAE5sB,EAAE,KAAE76U,EAAE,KAAE86U,EAAE,KAAE76U,EAAE,MAE3BjI,EAASnC,SAASsX,cAAc,WAC/BhU,MAAQA,EACfnB,EAAOoB,OAASA,EACVb,EAAMP,EAAOqV,WAAW,MACxB,EAAW9U,EAAIiW,qBAAqBqsU,EAAIC,EAAI96U,EAAIC,GAEtDunW,GAAkBtpP,EAAgBxwG,MAAO+5V,GAAYngV,SAAQ,SAACqhV,GAC1D,SAASx6V,aAAaw6V,EAAU3yW,KAAM0nW,GAASiL,EAAUrsW,WAG7D/D,EAAIsO,UAAY,EAChBtO,EAAIyc,SAAS,EAAG,EAAG7b,EAAOC,GACtBD,EAAQ,GAAKC,EAAS,IAChB4T,EAAU,EAAKzU,IAAIwE,cAAc/E,EAAQ,UAC/C,EAAK8tX,aAAahmX,EAAMkN,EAAS5N,EAAGC,KzF5lBxB,SAACmiF,GAC7B,OAAsB,IAAfA,EAAWh+E,KyF6lBCyiX,CAAiB/nQ,KAClB,EAAmCukQ,GAA6BphQ,EAAW3tF,EAAO,CACpF,KACA,KACA,OAHG5zB,EAAI,KAAEspC,EAAI,KAAE,OAAKjwC,EAAK,KAAEC,EAAM,KAK/B87B,EAA+C,IAApCgpF,EAAgBhpF,SAAS7lC,OAAe,CAACutW,IAAiB1+O,EAAgBhpF,SACrF91B,EAAI49V,GAAiB9nU,EAAS,GAAI/7B,GAClCkG,EAAI29V,GAAiB9nU,EAASA,EAAS7lC,OAAS,GAAI+J,GAEpD,E7F9fS,SAC3B8sX,EACA9mX,EACAC,EACAlG,EACAC,GAEA,IAAI8P,EAAK,EACLC,EAAK,EAET,OAAQ+8W,EAASzuT,MACb,KAAK,EAGiB,IAAdyuT,EAASh0U,MACThpC,EAAKC,EAAKzP,KAAK6K,IAAI7K,KAAKwjD,IAAI99C,GAAI1F,KAAKwjD,IAAI99C,EAAIjG,GAAQO,KAAKwjD,IAAI79C,GAAI3F,KAAKwjD,IAAI79C,EAAIjG,IAC1D,IAAd8sX,EAASh0U,QAChBhpC,EAAKxP,KAAK6K,IAAI7K,KAAKwjD,IAAI99C,GAAI1F,KAAKwjD,IAAI99C,EAAIjG,IACxCgQ,EAAKzP,KAAK6K,IAAI7K,KAAKwjD,IAAI79C,GAAI3F,KAAKwjD,IAAI79C,EAAIjG,KAE5C,MAEJ,KAAK,EAGD,GAAkB,IAAd8sX,EAASh0U,MACThpC,EAAKC,EAAKzP,KAAK6K,IACXs1D,GAASz6D,EAAGC,GACZw6D,GAASz6D,EAAGC,EAAIjG,GAChBygE,GAASz6D,EAAIjG,EAAOkG,GACpBw6D,GAASz6D,EAAIjG,EAAOkG,EAAIjG,SAEzB,GAAkB,IAAd8sX,EAASh0U,MAAkC,CAElD,IAAMz9C,EAAIiF,KAAK6K,IAAI7K,KAAKwjD,IAAI79C,GAAI3F,KAAKwjD,IAAI79C,EAAIjG,IAAWM,KAAK6K,IAAI7K,KAAKwjD,IAAI99C,GAAI1F,KAAKwjD,IAAI99C,EAAIjG,IACrF,EAAWivW,GAAWjvW,EAAOC,EAAQgG,EAAGC,GAAG,GAA1CoD,EAAE,KAAEC,EAAE,KAEbyG,EAAK1U,GADLyU,EAAK2wD,GAASp3D,EAAKrD,GAAIsD,EAAKrD,GAAK5K,IAGrC,MAEJ,KAAK,EAEiB,IAAdyxX,EAASh0U,MACThpC,EAAKC,EAAKzP,KAAK+K,IAAI/K,KAAKwjD,IAAI99C,GAAI1F,KAAKwjD,IAAI99C,EAAIjG,GAAQO,KAAKwjD,IAAI79C,GAAI3F,KAAKwjD,IAAI79C,EAAIjG,IAC1D,IAAd8sX,EAASh0U,QAChBhpC,EAAKxP,KAAK+K,IAAI/K,KAAKwjD,IAAI99C,GAAI1F,KAAKwjD,IAAI99C,EAAIjG,IACxCgQ,EAAKzP,KAAK+K,IAAI/K,KAAKwjD,IAAI79C,GAAI3F,KAAKwjD,IAAI79C,EAAIjG,KAE5C,MAEJ,KAAK,EAGD,GAAkB,IAAd8sX,EAASh0U,MACThpC,EAAKC,EAAKzP,KAAK+K,IACXo1D,GAASz6D,EAAGC,GACZw6D,GAASz6D,EAAGC,EAAIjG,GAChBygE,GAASz6D,EAAIjG,EAAOkG,GACpBw6D,GAASz6D,EAAIjG,EAAOkG,EAAIjG,SAEzB,GAAkB,IAAd8sX,EAASh0U,MAAkC,CAE5Cz9C,EAAIiF,KAAK+K,IAAI/K,KAAKwjD,IAAI79C,GAAI3F,KAAKwjD,IAAI79C,EAAIjG,IAAWM,KAAK+K,IAAI/K,KAAKwjD,IAAI99C,GAAI1F,KAAKwjD,IAAI99C,EAAIjG,IAA3F,IACM,EAAWivW,GAAWjvW,EAAOC,EAAQgG,EAAGC,GAAG,GAA1CoD,EAAE,KAAEC,EAAE,KAEbyG,EAAK1U,GADLyU,EAAK2wD,GAASp3D,EAAKrD,GAAIsD,EAAKrD,GAAK5K,KAW7C,OALIzB,MAAMC,QAAQizX,EAASzuT,QACvBvuD,EAAK8zV,GAAiBkpB,EAASzuT,KAAK,GAAIt+D,GACxCgQ,EAA8B,IAAzB+8W,EAASzuT,KAAKpoE,OAAe2tW,GAAiBkpB,EAASzuT,KAAK,GAAIr+D,GAAU8P,GAG5E,CAACA,EAAIC,G6FkbiBg9W,CAAgBjoQ,EAAiB9+G,EAAGC,EAAGlG,EAAOC,GAAxD8P,EAAE,KAAEC,EAAE,KACTD,EAAK,GAAKC,EAAK,IACT,EAAiB,EAAK5Q,IAAIqW,qBAAqBw6B,EAAOhqC,EAAG,EAAMC,EAAG,EAAG+pC,EAAOhqC,EAAG,EAAMC,EAAG6J,GAE9Fs+V,GAAkBtpP,EAAgBxwG,MAAY,EAALxE,GAAQoe,SAAQ,SAACqhV,GACtD,SAAex6V,aAAaw6V,EAAU3yW,KAAM0nW,GAASiL,EAAUrsW,WAGnE,EAAKwD,KAAKA,GACV,EAAKvH,IAAIsO,UAAY,EACjBqC,IAAOC,GAEDi9W,EAAO/kQ,EAAUp7B,OAAO78C,KAAO,GAAMi4E,EAAUp7B,OAAO9sF,MACtDktX,EAAOhlQ,EAAUp7B,OAAO38C,IAAM,GAAM+3E,EAAUp7B,OAAO7sF,OAErDktX,EAAO,GADP9yX,EAAI2V,EAAKD,GAGf,EAAK3Q,IAAI+M,OACT,EAAK/M,IAAI6J,UAAUgkX,EAAMC,GACzB,EAAK9tX,IAAIwK,UAAU,EAAG,EAAG,EAAGvP,EAAG,EAAG,GAClC,EAAK+E,IAAI6J,WAAWgkX,GAAOC,GAE3B,EAAK9tX,IAAIyc,SAASo0B,EAAMk9U,GAAQ,EAAMD,GAAQA,EAAMltX,EAAOC,EAASktX,GACpE,EAAK/tX,IAAIqN,WAET,EAAKrN,IAAI2P,S,wBAIrBwrB,I,kBAjF6E,EAAnD,EAAA2tF,EAAUx8G,OAAOq5G,gBAAgB35E,MAAM,GAAGhyB,U,wBAA1C,YAAnB2rG,EAAe,K,KAAfA,KAAsE,M,wCAAnD,I,+BAqF5B,YAAAqoQ,kBAAN,SAAwBjqX,EAAcyqF,EAAcy/R,G,0EAChDj0X,KAAKuN,KAAKkiX,GAAmBwE,EAAaz/R,IAC1Cx0F,KAAKgG,IAAIsO,UAAY62V,GAASphW,GAC9B/J,KAAKgG,IAAI2P,O,WAGP,YAAAu+W,mBAAN,SAAyBnqX,EAAcnD,EAAe4tF,EAAcy/R,G,yGAC5DrtX,EAAQ,EACR,GAAM5G,KAAKg0X,kBAAkBjqX,EAAOyqF,EAAMy/R,IAD1C,M,OAEA,OADA,SACA,I,cAGEE,ENroB+B,SAAC7G,EAAqBoC,GAC/D,OAAQA,GACJ,KAAK,EACD,OAAOC,GACHrC,EAAOd,iBACPc,EAAO/B,4BACP+B,EAAOb,kBACPa,EAAO5B,8BAEf,KAAK,EACD,OAAOiE,GACHrC,EAAOb,kBACPa,EAAO5B,6BACP4B,EAAOZ,qBACPY,EAAO1B,iCAEf,KAAK,EACD,OAAO+D,GACHrC,EAAOZ,qBACPY,EAAO1B,gCACP0B,EAAOX,oBACPW,EAAOxB,gCAEf,KAAK,EACL,QACI,OAAO6D,GACHrC,EAAOX,oBACPW,EAAOxB,+BACPwB,EAAOd,iBACPc,EAAO/B,8BMwmBI6I,CAA8BH,EAAaz/R,GAC9Dx0F,KAAKuN,KAAK4mX,GACVn0X,KAAKgG,IAAIsO,UAAY62V,GAASphW,GAC9B/J,KAAKgG,IAAI2P,OACH0+W,ENvmB+B,SAAC/G,EAAqBoC,GAC/D,OAAQA,GACJ,KAAK,EACD,OAAOC,GACHrC,EAAOtB,4BACPsB,EAAOV,kBACPU,EAAOrB,6BACPqB,EAAOT,oBAEf,KAAK,EACD,OAAO8C,GACHrC,EAAOrB,6BACPqB,EAAOT,mBACPS,EAAOpB,gCACPoB,EAAOR,uBAEf,KAAK,EACD,OAAO6C,GACHrC,EAAOpB,gCACPoB,EAAOR,sBACPQ,EAAOnB,+BACPmB,EAAOP,sBAEf,KAAK,EACL,QACI,OAAO4C,GACHrC,EAAOnB,+BACPmB,EAAOP,qBACPO,EAAOtB,4BACPsB,EAAOV,oBM0kBI0H,CAA8BL,EAAaz/R,GAC9Dx0F,KAAKuN,KAAK8mX,GACVr0X,KAAKgG,IAAI2P,O,YAGP,YAAA28W,+BAAN,SAAqC3pU,G,4HACjC3oD,KAAK8xX,aAAanpU,EAAM6lU,WAAU,IAC5Bl8W,EAASq2C,EAAMmmE,UAAUx8G,OACzBiiX,GAAiBrpB,GAAc54V,EAAO8zD,kBAAoB9zD,EAAOq5G,gBAAgB7uH,OAEjF03X,EAAU,CACZ,CAAC9hX,MAAOJ,EAAOolW,eAAgB3tW,MAAOuI,EAAO0kW,eAAgBpwW,MAAO0L,EAAOs8I,gBAC3E,CAACl8I,MAAOJ,EAAOqlW,iBAAkB5tW,MAAOuI,EAAO2kW,iBAAkBrwW,MAAO0L,EAAOy8I,kBAC/E,CAACr8I,MAAOJ,EAAOslW,kBAAmB7tW,MAAOuI,EAAO4kW,kBAAmBtwW,MAAO0L,EAAOu8I,mBACjF,CAACn8I,MAAOJ,EAAOulW,gBAAiB9tW,MAAOuI,EAAO6kW,gBAAiBvwW,MAAO0L,EAAOw8I,kBAG3EyhO,EAAyBkE,GAC3BnE,GAA2Bh+W,EAAOyiW,eAAgB,GAClDpsT,EAAM2kU,QAGNiH,GAAiBjiX,EAAO0nW,UAAUl9W,QAClCkD,KAAKgG,IAAI+M,OACT/S,KAAKuN,KAAKgjX,GACVvwX,KAAKgG,IAAIqP,OAEJ61V,GAAc54V,EAAO8zD,mBACtBpmE,KAAKgG,IAAIsO,UAAY62V,GAAS74V,EAAO8zD,iBACrCpmE,KAAKgG,IAAI2P,QAGb,GAAM3V,KAAKyzX,sBAAsB9qU,EAAMmmE,aAVvC,M,OAUA,SAEA9uH,KAAKgG,IAAIqN,UAETf,EAAO0nW,UACFhoU,MAAM,GACNhyB,UACA+U,SAAQ,SAAC6/O,GACN,EAAK5uQ,IAAI+M,OACT,IRpsBUxF,EAAcw8W,EAAgBC,EAAgB0K,EAAgBC,EQosBlEC,EAAgBvH,GAAuB1kU,EAAM2kU,QAC7CuH,EAAajgH,EAAO1jM,MAAQ,EA7pBlC,IA8pBM4jT,GRtsBIvnX,EQusBNqnX,ERvsBoB7K,GQwsBnB8K,GAAcjgH,EAAO1jM,MAAQ,GAAK,GAAK0jM,EAAOqlG,OAAOlwP,ORxsBlBigQ,GQysBnCp1G,EAAO1jM,MAAQ,GAAK,GAAK0jM,EAAOqlG,OAAOlwP,ORzsBY2qQ,EQ0sBpD9/G,EAAOqlG,OAAOlwP,QAAU6qJ,EAAO1jM,OAAS,EAAI,GR1sBwByjT,EQ2sBpE//G,EAAOqlG,OAAOlwP,QAAU6qJ,EAAO1jM,OAAS,EAAI,GR1sBzD3jE,EAAKka,KAAI,SAACzM,EAAOmmB,GACpB,OAAQA,GACJ,KAAK,EACD,OAAOnmB,EAAMu3B,IAAIw3U,EAAQC,GAC7B,KAAK,EACD,OAAOhvW,EAAMu3B,IAAIw3U,EAAS2K,EAAQ1K,GACtC,KAAK,EACD,OAAOhvW,EAAMu3B,IAAIw3U,EAAS2K,EAAQ1K,EAAS2K,GAC/C,KAAK,EACD,OAAO35W,EAAMu3B,IAAIw3U,EAAQC,EAAS2K,GAE1C,OAAO35W,MQksBS45P,EAAO1jM,OACP,EAAK3jE,KAAKqnX,GACV,EAAK5uX,IAAIqP,OACT,EAAKrC,KAAK8hX,KAEV,EAAK9hX,KAAK4hX,GACV,EAAK5uX,IAAIqP,OACT,EAAK9H,KAAKunX,IAGd,EAAK9uX,IAAI+sX,cAAgBn+G,EAAOxvQ,QAAQ2kH,OAAS8qQ,EACjD,EAAK7uX,IAAIgtX,cAAgBp+G,EAAOvvQ,QAAQ0kH,OACxC,EAAK/jH,IAAI8sX,YAAc3nB,GAASv2F,EAAO7qQ,OACvC,EAAK/D,IAAIitX,WAAar+G,EAAOtvL,KAAKykC,OAClC,EAAK/jH,IAAIsO,UAAYsgQ,EAAO1jM,MAAQi6R,GAASv2F,EAAO7qQ,OAAS,gBAE7D,EAAK/D,IAAI2P,OACT,EAAK3P,IAAIqN,a,iBAIjBmhF,EAAO,E,EACiB,EAAP,EAAAggS,E,wBAAA,WACD,KADTz0M,EAAM,MACFrtK,QAAgCw4V,GAAcnrL,EAAOh2K,QAAUg2K,EAAOn5K,MAAQ,EACrE,IAAZm5K,EAAOrtK,MAAP,MACA,GAAM1S,KAAK+0X,yBACPh1M,EAAOh2K,MACPg2K,EAAOn5K,MACP4tF,EACA7rC,EAAM2kU,OAAM,IANpB,OADoB,O,cAGhB,S,qBAOmB,IAAZvtM,EAAOrtK,MAAP,MACP,GAAM1S,KAAK+0X,yBACPh1M,EAAOh2K,MACPg2K,EAAOn5K,MACP4tF,EACA7rC,EAAM2kU,OAAM,I,cAJhB,S,qBAOmB,IAAZvtM,EAAOrtK,MAAP,MACP,GAAM1S,KAAKk0X,mBAAmBn0M,EAAOh2K,MAAOg2K,EAAOn5K,MAAO4tF,EAAM7rC,EAAM2kU,S,cAAtE,S,cAEA,SAAMttX,KAAKg0X,kBAAkBj0M,EAAOh2K,MAAOyqF,EAAM7rC,EAAM2kU,S,QAAvD,S,mBAGR94R,I,0BAxBiB,I,gCA4BnB,YAAAugS,yBAAN,SACIhrX,EACAnD,EACA4tF,EACAy/R,EACAvhX,G,8GAEA1S,KAAKgG,IAAI+M,OAEHiiX,ENnrB0B,SAAC1H,EAAqBoC,GAC1D,OAAQA,GACJ,KAAK,EACD,OAAOE,GAA2BtC,EAAOlB,oBAAqBkB,EAAOjB,sBACzE,KAAK,EACD,OAAOuD,GAA2BtC,EAAOjB,qBAAsBiB,EAAOhB,yBAC1E,KAAK,EACD,OAAOsD,GAA2BtC,EAAOhB,wBAAyBgB,EAAOf,wBAC7E,KAAK,EACL,QACI,OAAOqD,GAA2BtC,EAAOf,uBAAwBe,EAAOlB,sBMyqBxD6I,CAAyBhB,EAAaz/R,GACpD0gS,EAAWzF,GAAmBwE,EAAaz/R,GAEnC,IAAV9hF,IACA1S,KAAKuN,KAAK2nX,GACVl1X,KAAKgG,IAAIqP,QAITo1W,GAAcyK,EAAS,KACvB7xR,EAAU6xR,EAAS,GAAmBp9W,MAAMjL,EAC5C02F,EAAU2xR,EAAS,GAAmBp9W,MAAMhL,IAE5Cu2F,EAAU6xR,EAAS,GAAcroX,EACjC02F,EAAU2xR,EAAS,GAAcpoX,GAEjC29W,GAAcyK,EAAS,KACvBzxR,EAAQyxR,EAAS,GAAmB5hV,IAAIzmC,EACxC82F,EAAQuxR,EAAS,GAAmB5hV,IAAIxmC,IAExC22F,EAAQyxR,EAAS,GAAcroX,EAC/B82F,EAAQuxR,EAAS,GAAcpoX,GAK/BhQ,EADS,IAAT03F,GAAuB,IAATA,EACLrtF,KAAKwjD,IAAI04C,EAASI,GAElBt8F,KAAKwjD,IAAI44C,EAASI,GAG/B3jG,KAAKgG,IAAIwP,YACK,IAAV9C,EACA1S,KAAKszX,WAAW0B,GAEhBh1X,KAAKszX,WAAW4B,EAASljV,MAAM,EAAG,IAGlCmjV,EAAavuX,EAAQ,EAAY,EAARA,EAAoB,EAARA,EACrCwuX,EAAcxuX,EAAQ,EAAY,EAARA,EAAYA,EAC5B,IAAV8L,IACAyiX,EAAavuX,EACbwuX,EAAcxuX,GAGdyuX,GAAc,EACdv4X,GAAuB,EAAbq4X,EACVE,GAAc,EACPv4X,GAAuB,EAAbq4X,EAAiBC,GAElCD,GADMG,EAAax4X,GAAU,EAAIq4X,EAAaC,GAE9CA,GAAeE,IAETC,EAAiBpuX,KAAK0W,OAAO/gB,EAASs4X,IAAgBD,EAAaC,IACnEI,GAAY14X,EAASy4X,EAAiBJ,IAAeI,EAAiB,GAE5EH,GADMK,GAAY34X,GAAUy4X,EAAiB,GAAKJ,GAAcI,IAEhD,GAAKpuX,KAAKwjD,IAAIyqU,EAAcI,GAAYruX,KAAKwjD,IAAIyqU,EAAcK,GACrED,EACAC,GAGVJ,IACc,IAAV3iX,EACA1S,KAAKgG,IAAI8O,YAAY,CAAC,EAAGqgX,EAAaC,IAEtCp1X,KAAKgG,IAAI8O,YAAY,CAACqgX,EAAYC,KAI5B,IAAV1iX,GACA1S,KAAKgG,IAAI0O,QAAU,QACnB1U,KAAKgG,IAAIyO,UAAY7N,GAErB5G,KAAKgG,IAAIyO,UAAoB,EAAR7N,EAAY,IAErC5G,KAAKgG,IAAIuO,YAAc42V,GAASphW,GAChC/J,KAAKgG,IAAI4P,SACT5V,KAAKgG,IAAI8O,YAAY,IAGP,IAAVpC,IACI+3W,GAAcyK,EAAS,MACjBQ,EAAQR,EAAS,GACjBS,EAAQT,EAAS,GACvBl1X,KAAKgG,IAAIwP,YACTxV,KAAKszX,WAAW,CAAC,IAAIrJ,GAAOyL,EAAMpiV,IAAIzmC,EAAG6oX,EAAMpiV,IAAIxmC,GAAI,IAAIm9W,GAAO0L,EAAM79W,MAAMjL,EAAG8oX,EAAM79W,MAAMhL,KAC7F9M,KAAKgG,IAAI4P,UAET60W,GAAcyK,EAAS,MACjBQ,EAAQR,EAAS,GACjBS,EAAQT,EAAS,GACvBl1X,KAAKgG,IAAIwP,YACTxV,KAAKszX,WAAW,CAAC,IAAIrJ,GAAOyL,EAAMpiV,IAAIzmC,EAAG6oX,EAAMpiV,IAAIxmC,GAAI,IAAIm9W,GAAO0L,EAAM79W,MAAMjL,EAAG8oX,EAAM79W,MAAMhL,KAC7F9M,KAAKgG,IAAI4P,WAIjB5V,KAAKgG,IAAIqN,U,WAGP,YAAAP,OAAN,SAAa4H,G,gGAQT,OAPI1a,KAAKu+B,QAAQ6nC,kBACbpmE,KAAKgG,IAAIsO,UAAY62V,GAASnrW,KAAKu+B,QAAQ6nC,iBAC3CpmE,KAAKgG,IAAIyc,SAASziB,KAAKu+B,QAAQ1xB,EAAG7M,KAAKu+B,QAAQzxB,EAAG9M,KAAKu+B,QAAQ33B,MAAO5G,KAAKu+B,QAAQ13B,SAGjFi2B,EAAQgyV,GAAsBp0W,GAEpC,GAAM1a,KAAKmyX,YAAYr1V,I,OAEvB,OAFA,SACA98B,KAAK8xX,aAAa,IACX,CAAP,EAAO9xX,KAAKyF,gBAEpB,EAh1BA,CAAoCmwX,IAk1B9BxC,GAAqB,SACvBtkQ,GAEA,OAAIA,aAAqBmyP,IAEdnyP,aAAqBiyP,IAErBjyP,aAAqB+xP,InB72Bf,UmB62BwC/xP,EAAU79G,MnB92B/C,amB82BiE69G,EAAU79G,MAM7FwjX,GAAwC,SAACp/W,EAAuBi4W,GAClE,OAAQj4W,GACJ,KAAK,EACD,OAAOg4W,GAAuBC,GAClC,KAAK,EACD,Ob/iB2B,SAACA,GACpC,MAAO,CACHA,EAAON,kBACPM,EAAOL,mBACPK,EAAOJ,sBACPI,EAAOH,sBa0iBI0I,CAAwBvI,GACnC,KAAK,EACL,QACI,OAAOC,GAAwBD,KAIrC+F,GAAkB,SAACnlL,GACrB,OAAQA,GACJ,KAAK,EACD,MAAO,SACX,KAAK,EACD,MAAO,QACX,KAAK,EACL,QACI,MAAO,SAKb4nL,GAAiB,CAAC,gBAAiB,aAEnCpD,GAAoB,SAACqD,GACvB,MAAO,qBAAqBxzV,KAAK7gC,OAAOooF,UAAU6nE,WAC5CokO,EAAa9iX,QAAO,SAAC/G,GAAe,OAAwC,IAAxC4pX,GAAezrX,QAAQ6B,MAC3D6pX,GCr7BV,eAKI,WAAYzgU,EAAkB/2B,GAA9B,MACI,YAAM+2B,EAAS/2B,IAAQ,K,OACvB,EAAK94B,OAAS84B,EAAQ94B,OAAS84B,EAAQ94B,OAASnC,SAASsX,cAAc,UACvE,EAAK5U,IAAM,EAAKP,OAAOqV,WAAW,MAClC,EAAKyjB,QAAUA,EACf,EAAK94B,OAAOmB,MAAQO,KAAK0W,MAAM0gB,EAAQ33B,MAAQ23B,EAAQjuB,OACvD,EAAK7K,OAAOoB,OAASM,KAAK0W,MAAM0gB,EAAQ13B,OAAS03B,EAAQjuB,OACzD,EAAK7K,OAAOiN,MAAM9L,MAAW23B,EAAQ33B,MAAK,KAC1C,EAAKnB,OAAOiN,MAAM7L,OAAY03B,EAAQ13B,OAAM,KAE5C,EAAKb,IAAIsK,MAAM,EAAKiuB,QAAQjuB,MAAO,EAAKiuB,QAAQjuB,OAChD,EAAKtK,IAAI6J,WAAW0uB,EAAQ1xB,GAAI0xB,EAAQzxB,GACxC,EAAKwoD,QAAQ27P,OAAOz/P,MAChB,oDAAoDjzB,EAAQ33B,MAAK,IAAI23B,EAAQ13B,OAAM,OAAO03B,EAAQ1xB,EAAC,IAAI0xB,EAAQzxB,EAAC,gBAAgByxB,EAAQjuB,O,EAwBpJ,OA1C2C,OAsBjC,YAAAwC,OAAN,SAAa4H,G,kGASG,OARNlX,EAAMy4W,GACRj8W,KAAKu+B,QAAQ33B,MAAQ5G,KAAKu+B,QAAQjuB,MAClCtQ,KAAKu+B,QAAQ13B,OAAS7G,KAAKu+B,QAAQjuB,MACnCtQ,KAAKu+B,QAAQjuB,MACbtQ,KAAKu+B,QAAQjuB,MACboK,GAGQ,GAAMyhW,GAAkB34W,I,OASpC,OATMsd,EAAM,SAER9gB,KAAKu+B,QAAQ6nC,kBACbpmE,KAAKgG,IAAIsO,UAAY62V,GAASnrW,KAAKu+B,QAAQ6nC,iBAC3CpmE,KAAKgG,IAAIyc,SAAS,EAAG,EAAGziB,KAAKu+B,QAAQ33B,MAAQ5G,KAAKu+B,QAAQjuB,MAAOtQ,KAAKu+B,QAAQ13B,OAAS7G,KAAKu+B,QAAQjuB,QAGxGtQ,KAAKgG,IAAIob,UAAUN,GAAM9gB,KAAKu+B,QAAQ1xB,EAAI7M,KAAKu+B,QAAQjuB,OAAQtQ,KAAKu+B,QAAQzxB,EAAI9M,KAAKu+B,QAAQjuB,OAEtF,CAAP,EAAOtQ,KAAKyF,gBAEpB,EA1CA,CAA2CmwX,IA4C9BzZ,GAAoB,SAAC34W,GAC9B,WAAIszB,SAAQ,SAACw8F,EAASC,GAClB,IAAMzyG,EAAM,IAAI2/E,MAChB3/E,EAAIG,OAAS,WACTqyG,EAAQxyG,IAEZA,EAAII,QAAUqyG,EAEdzyG,EAAIK,IAAM,oCAAoC8G,oBAAmB,IAAIsf,eAAgBiG,kBAAkBhqC,QCrD/G,cAOI,WAAY,G,IAAC2gB,EAAE,KAAE6xW,EAAO,UACpBh2X,KAAKmkB,GAAKA,EACVnkB,KAAKg2X,QAAUA,EACfh2X,KAAK8X,MAAQyf,KAAKzB,MAwD1B,OApDI,YAAA07B,MAAA,W,IAAM,sDACExxD,KAAKg2X,UAEiB,qBAAXt0X,QAA0BA,OAAOoE,SAAoC,oBAAlBA,QAAQ0rD,MAElE1rD,QAAQ0rD,MAAK,MAAb1rD,QAAO,GAAO9F,KAAKmkB,GAAOnkB,KAAK4gI,UAAS,MAASl9E,IAEjD1jD,KAAKg6E,KAAI,MAATh6E,KAAa0jD,KAKzB,YAAAk9E,QAAA,WACI,OAAOrpG,KAAKzB,MAAQ91B,KAAK8X,OAI7B,YAAAkiE,KAAA,W,IAAK,sDACGh6E,KAAKg2X,SAEiB,qBAAXt0X,QAA0BA,OAAOoE,SAAmC,oBAAjBA,QAAQk0E,MAElEl0E,QAAQk0E,KAAI,MAAZl0E,QAAO,GAAM9F,KAAKmkB,GAAOnkB,KAAK4gI,UAAS,MAASl9E,KAM5D,YAAArc,KAAA,W,IAAK,sDACGrnC,KAAKg2X,UAEiB,qBAAXt0X,QAA0BA,OAAOoE,SAAmC,oBAAjBA,QAAQuhC,KAElEvhC,QAAQuhC,KAAI,MAAZvhC,QAAO,GAAM9F,KAAKmkB,GAAOnkB,KAAK4gI,UAAS,MAASl9E,IAEhD1jD,KAAKg6E,KAAI,MAATh6E,KAAa0jD,KAMzB,YAAAvwB,MAAA,W,IAAM,sDACEnzB,KAAKg2X,UAEiB,qBAAXt0X,QAA0BA,OAAOoE,SAAoC,oBAAlBA,QAAQqtB,MAElErtB,QAAQqtB,MAAK,MAAbrtB,QAAO,GAAO9F,KAAKmkB,GAAOnkB,KAAK4gI,UAAS,MAASl9E,IAEjD1jD,KAAKg6E,KAAI,MAATh6E,KAAa0jD,KA7DlB,EAAAuyU,UAAqC,GAiEhD,EAlEA,GCIA,cAOI,WAAY13V,EAAgCqhU,G,MAAA,KAAAA,eAN3B,KAAAs2B,aAAe,IAAIC,EAAQC,gBAOxCp2X,KAAKixT,OAAS,IAAIsD,GAAO,CAACpwS,GAAInkB,KAAKk2X,aAAcF,QAASz3V,EAAQmlL,UAClE1jN,KAAKuoG,MAAqB,QAAb,EAAAhqE,EAAQgqE,aAAK,QAAI,IAAI8tR,GAAMr2X,KAAMu+B,GAEtD,OANmB,EAAA63V,cAAgB,EAMnC,EAXA,GCesB,qBAAX,QACP,GAAa,WAAW,QAG5B,IAAM,GAAgB,SAAO,EAAsB,GAAsB,0C,kIACrE,IAAK,GAA8B,kBAAZ,EACnB,SAAO,QAAQ,OAAO,+CAI1B,KAFM,EAAgB,EAAQ,eAG1B,MAAM,IAAI,MAAM,yCAKpB,KAFM,EAAc,EAAc,aAG9B,MAAM,IAAI,MAAM,wCAkDpB,OA/CM,EAAkB,CACpB,WAA2B,QAAf,IAAK,kBAAU,SAC3B,aAA+B,QAAjB,IAAK,oBAAY,QAAI,KACnC,MAAO,EAAK,MACZ,QAAqB,QAAZ,IAAK,eAAO,UAGnB,EAAc,GAChB,QAAqB,QAAZ,IAAK,eAAO,SACrB,MAAO,EAAK,OACT,GAGD,EAAgB,CAClB,YAA6B,QAAhB,IAAK,mBAAW,QAAI,EAAY,WAC7C,aAA+B,QAAjB,IAAK,oBAAY,QAAI,EAAY,YAC/C,QAAqB,QAAZ,IAAK,eAAO,QAAI,EAAY,YACrC,QAAqB,QAAZ,IAAK,eAAO,QAAI,EAAY,aAGnC,EAAe,IAAI,EACrB,EAAc,QACd,EAAc,QACd,EAAc,YACd,EAAc,cAGZ,EAAU,IAAI,GAAQ,EAAgB,GAEtC,EAAoD,QAA3B,IAAK,8BAAsB,SAEpD,EAAoC,CACtC,WAA2B,QAAf,IAAK,kBAAU,SAC3B,QAAS,EAAK,QACd,eAAgB,EAAK,eACrB,aAAc,EACd,WAAY,GAGhB,EAAQ,OAAO,MACX,qCAAqC,EAAa,MAAK,IACnD,EAAa,OAAM,iBACN,EAAa,KAAI,KAAK,EAAa,KAGlD,EAAiB,IAAI,GAAe,EAAS,EAAS,IACtD,EAAgB,EAAe,wBAKnB,GAAM,EAAe,SAAS,EAAe,IAH3D,GAAO,QAAQ,OAAO,4C,cAGpB,EAAY,SAEZ,EACF,GAAc,InBwBoE,SmBxBpC,EnBwBwB3wV,Q7FrF7C,SAACniC,GAC9B,IAAM+gB,EAAO/gB,EAAS+gB,KAChBmB,EAAkBliB,EAASkiB,gBAEjC,IAAKnB,IAASmB,EACV,MAAM,IAAI0Z,MAAM,+BAEpB,IAAMt4B,EAAQO,KAAK+K,IACf/K,KAAK+K,IAAImS,EAAKqzE,YAAalyE,EAAgBkyE,aAC3CvwF,KAAK+K,IAAImS,EAAKmpI,YAAahoI,EAAgBgoI,aAC3CrmJ,KAAK+K,IAAImS,EAAKuB,YAAaJ,EAAgBI,cAGzC/e,EAASM,KAAK+K,IAChB/K,KAAK+K,IAAImS,EAAKg5J,aAAc73J,EAAgB63J,cAC5Cl2K,KAAK+K,IAAImS,EAAK4pI,aAAczoI,EAAgByoI,cAC5C9mJ,KAAK+K,IAAImS,EAAKwB,aAAcL,EAAgBK,eAGhD,OAAO,IAAI45U,EAAO,EAAG,EAAG74V,EAAOC,GgH2CrB,CAAkB,EAAc,eAChC,EAAY,EAAS,GAHxB,EAAK,QAAE,EAAM,SAAE,EAAI,OAAE,EAAG,MAKzB,EAAkB,GAAqB,EAAS,EAAe,EAAK,iBAEpE,EAAsC,CACxC,OAAQ,EAAK,OACb,gBAAe,EACf,MAAiD,QAA1C,EAAU,QAAV,IAAK,aAAK,QAAI,EAAY,wBAAgB,QAAI,EACrD,GAAU,QAAN,IAAK,SAAC,QAAI,GAAK,EACnB,GAAU,QAAN,IAAK,SAAC,QAAI,GAAK,EACnB,MAAiB,QAAV,IAAK,aAAK,QAAI,KAAK,KAAK,GAC/B,OAAmB,QAAX,IAAK,cAAM,QAAI,KAAK,KAAK,IAKjC,GACA,EAAQ,OAAO,MAAM,mDAEZ,GADQ,IAAI,GAAsB,EAAS,GAC5B,OAAO,KAH/B,M,cAGA,EAAS,S,aAkBA,OAhBT,EAAQ,OAAO,MACX,uCAAuC,EAAI,IAAI,EAAG,cAAc,EAAK,IAAI,EAAM,6BAGnF,EAAQ,OAAO,MAAM,wBACf,EAAO,GAAU,EAAS,GAE5B,IAAoB,EAAK,OAAO,kBAChC,EAAK,OAAO,gBAAkB,GAAO,aAGzC,EAAQ,OAAO,MACX,oCAAoC,EAAc,EAAC,IAAI,EAAc,EAAC,cAAc,EAAc,MAAK,IAAI,EAAc,QAIpH,GADQ,IAAI,GAAe,EAAS,GACrB,OAAO,I,OAA/B,EAAS,S,iBAUb,OAPwB,QAApB,IAAK,uBAAe,YACf,GAAe,QAAQ,IACxB,EAAQ,OAAO,MAAM,gEAI7B,EAAQ,OAAO,MAAM,sBACrB,GAAO,WAGL,GAAuB,SAAC,EAAkB,EAAsB,GAClE,IAAM,EAAgB,EAAQ,cAExB,EAA0B,EAAc,gBACxC,GAAW,EAAS,iBAAiB,EAAc,iBAAiB,iBACpE,GAAO,YACP,EAAsB,EAAc,KACpC,GAAW,EAAS,iBAAiB,EAAc,MAAM,iBACzD,GAAO,YAEP,EACiC,kBAA5B,EACD,GAAW,EAAS,GACQ,OAA5B,EACA,GAAO,YACP,WAEV,OAAO,IAAY,EAAc,gBAC3B,GAAc,GACV,GAAc,GACV,EACA,EACJ,EACJ,G,OA3JU,SAAC,EAAsB,GACvC,YADuC,cAChC,GAAc,EAAS,I,oBCnBlC,IAAIyvX,EAAalgY,EAAQ,KACrBmgY,EAAYngY,EAAQ,KACpBs3U,EAAet3U,EAAQ,KACvBsK,EAAUtK,EAAQ,IAClBi3U,EAAiBj3U,EAAQ,KAmD7BF,EAAOC,QARP,SAAe0uD,EAAY2xU,EAAWC,GACpC,IAAIhnU,EAAO/uD,EAAQmkD,GAAcyxU,EAAaC,EAI9C,OAHIE,GAASppD,EAAexoR,EAAY2xU,EAAWC,KACjDD,OAAY52V,GAEP6vB,EAAK5K,EAAY6oR,EAAa8oD,EAAW,M,gBCpDlD,IAAIE,EAActgY,EAAQ,KAkC1BF,EAAOC,QAJP,SAAiBuJ,EAAOq9C,GACtB,OAAO25U,EAAYh3X,EAAOq9C,K,6BC7B5B,IAAI45U,EAAiBvwU,EAAuBhwD,EAAQ,MAEhDwgY,EAAqBxwU,EAAuBhwD,EAAQ,MAEpDygY,EAAmBzwU,EAAuBhwD,EAAQ,MAElD0gY,EAAc1wU,EAAuBhwD,EAAQ,MAEjD,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF9pC,EAAOC,QAAU,CACf2vL,WAAYgxM,EAAYtjW,QACxB03J,gBAAiB2rM,EAAiBrjW,QAClCi4J,kBAAmBmrM,EAAmBpjW,QACtCy1J,cAAe0tM,EAAenjW,U,6BCdhCt9B,EAAOC,QAAUC,EAAQ,M,6BCAzBF,EAAOC,QAAUC,EAAQ,M,s3CCCV,SAAS00I,EAASmG,GAC/B,IAAIgX,EAEJ,SAAS33I,EAAMzD,GACb,OAAY,MAALA,GAAamB,MAAMnB,GAAKA,GAAKo7I,EAAUp7I,EAmBhD,OAhBAyD,EAAMk4I,OAASl4I,EAEfA,EAAM2gI,OAAS3gI,EAAMk7H,MAAQ,SAASj3G,GACpC,OAAOp0B,UAAUrD,QAAUm0I,EAASxwI,MAAMsY,KAAKwb,EAAGw1F,KAASz5G,GAAS2gI,EAAOj/F,SAG7E1hC,EAAM23I,QAAU,SAAS1zH,GACvB,OAAOp0B,UAAUrD,QAAUmrJ,EAAU1zH,EAAGjkB,GAAS23I,GAGnD33I,EAAM+zB,KAAO,WACX,OAAOymG,EAASmG,GAAQgX,QAAQA,IAGlChX,EAAS9wI,UAAUrD,OAAS2D,MAAMsY,KAAKk4H,EAAQlnB,KAAU,CAAC,EAAG,GAEtD4wC,YAAUrqJ,G,sBC1BJ,SAASwqJ,EAAK7pB,EAAQjjB,GAGnC,IAIIvrH,EAJAu4J,EAAK,EACLC,GAHJhqB,EAASA,EAAOj/F,SAGAl1C,OAAS,EACrBwrV,EAAKr3M,EAAO+pB,GACZvtJ,EAAKwjI,EAAOgqB,GAUhB,OAPIxtJ,EAAK66U,IACP7lV,EAAIu4J,EAAIA,EAAKC,EAAIA,EAAKx4J,EACtBA,EAAI6lV,EAAIA,EAAK76U,EAAIA,EAAKhL,GAGxBwuI,EAAO+pB,GAAMhtC,EAASnwG,MAAMyqU,GAC5Br3M,EAAOgqB,GAAMjtC,EAASjwG,KAAKtQ,GACpBwjI,E,oBCVT,SAAS8lP,EAAalqX,GACpB,OAAO1F,KAAKvB,IAAIiH,GAGlB,SAASmqX,EAAanqX,GACpB,OAAO1F,KAAKw8I,IAAI92I,GAGlB,SAASoqX,EAAcpqX,GACrB,OAAQ1F,KAAKvB,KAAKiH,GAGpB,SAASqqX,EAAcrqX,GACrB,OAAQ1F,KAAKw8I,KAAK92I,GAGpB,SAASsqX,EAAMtqX,GACb,OAAO8hI,SAAS9hI,KAAO,KAAOA,GAAKA,EAAI,EAAI,EAAIA,EAgBjD,SAASuqX,EAAQn2X,GACf,OAAO,SAAS4L,GACd,OAAQ5L,GAAG4L,IAIR,SAASwqX,EAAQ7mX,GACtB,IAGIs0G,EACAwyQ,EAJAhnX,EAAQE,EAAUumX,EAAcC,GAChC/lP,EAAS3gI,EAAM2gI,OACftgI,EAAO,GAIX,SAAS23I,IAQP,OAPAxjC,EArBJ,SAAcn0G,GACZ,OAAOA,IAASxJ,KAAK+pL,EAAI/pL,KAAKvB,IACf,KAAT+K,GAAexJ,KAAKowX,OACV,IAAT5mX,GAAcxJ,KAAKqwX,OAClB7mX,EAAOxJ,KAAKvB,IAAI+K,GAAO,SAAS9D,GAAK,OAAO1F,KAAKvB,IAAIiH,GAAK8D,IAiBzD8mX,CAAK9mX,GAAO2mX,EA3BvB,SAAc3mX,GACZ,OAAgB,KAATA,EAAcwmX,EACfxmX,IAASxJ,KAAK+pL,EAAI/pL,KAAKw8I,IACvB,SAAS92I,GAAK,OAAO1F,KAAKE,IAAIsJ,EAAM9D,IAwBd6qX,CAAK/mX,GAC3BsgI,IAAS,GAAK,GAChBnsB,EAAOsyQ,EAAQtyQ,GAAOwyQ,EAAOF,EAAQE,GACrC9mX,EAAUymX,EAAeC,IAEzB1mX,EAAUumX,EAAcC,GAEnB1mX,EAwET,OArEAA,EAAMK,KAAO,SAAS4jB,GACpB,OAAOp0B,UAAUrD,QAAU6T,GAAQ4jB,EAAG+zH,KAAa33I,GAGrDL,EAAM2gI,OAAS,SAAS18G,GACtB,OAAOp0B,UAAUrD,QAAUm0I,EAAO18G,GAAI+zH,KAAarX,KAGrD3gI,EAAMihI,MAAQ,SAASngG,GACrB,IAGI7uC,EAHAJ,EAAI8uI,IACJj3H,EAAI7X,EAAE,GACN+K,EAAI/K,EAAEA,EAAErF,OAAS,IAGjByF,EAAI2K,EAAI8M,KAAGnd,EAAImd,EAAGA,EAAI9M,EAAGA,EAAIrQ,GAEjC,IAEIoG,EACA2e,EACAnf,EAJA5F,EAAIioH,EAAK9qG,GACTZ,EAAI0rG,EAAK53G,GAITrM,EAAa,MAATuwC,EAAgB,IAAMA,EAC1BinD,EAAI,GAER,KAAM1nF,EAAO,IAAMyI,EAAIvc,EAAIgE,EAAG,CAE5B,GADAhE,EAAIsK,KAAK0W,MAAMhhB,GAAIuc,EAAIjS,KAAK4W,KAAK3E,GAC7BY,EAAI,GAAG,KAAOnd,GAAKuc,IAAKvc,EAC1B,IAAK+kB,EAAI,EAAG3e,EAAIq0X,EAAKz6X,GAAI+kB,EAAIjR,IAAQiR,EAEnC,MADAnf,EAAIQ,EAAI2e,GACA5H,GAAR,CACA,GAAIvX,EAAIyK,EAAG,MACXmrF,EAAEvxF,KAAKrE,SAEJ,KAAO5F,GAAKuc,IAAKvc,EACtB,IAAK+kB,EAAIjR,EAAO,EAAG1N,EAAIq0X,EAAKz6X,GAAI+kB,GAAK,IAAKA,EAExC,MADAnf,EAAIQ,EAAI2e,GACA5H,GAAR,CACA,GAAIvX,EAAIyK,EAAG,MACXmrF,EAAEvxF,KAAKrE,GAGI,EAAX41F,EAAEv7F,OAAa+D,IAAGw3F,EAAIk5C,YAAMv3H,EAAG9M,EAAGrM,SAEtCw3F,EAAIk5C,YAAM10I,EAAGuc,EAAGjS,KAAK6K,IAAIoH,EAAIvc,EAAGgE,IAAI4mB,IAAI6vW,GAG1C,OAAO/0X,EAAI81F,EAAEr4E,UAAYq4E,GAG3B/nF,EAAMsqJ,WAAa,SAASxpH,EAAOypH,GAGjC,GAFiB,MAAbA,IAAmBA,EAAqB,KAATlqJ,EAAc,MAAQ,KAChC,oBAAdkqJ,IAA0BA,EAAYn2B,YAAOm2B,IACpDzpH,IAAUkoD,IAAU,OAAOuhE,EAClB,MAATzpH,IAAeA,EAAQ,IAC3B,IAAIxvB,EAAIza,KAAK+K,IAAI,EAAGvB,EAAOygC,EAAQ9gC,EAAMihI,QAAQz0I,QACjD,OAAO,SAASqF,GACd,IAAItF,EAAIsF,EAAIm1X,EAAKnwX,KAAKi9G,MAAMU,EAAK3iH,KAEjC,OADItF,EAAI8T,EAAOA,EAAO,KAAK9T,GAAK8T,GACzB9T,GAAK+kB,EAAIi5I,EAAU14J,GAAK,KAInCmO,EAAMwqJ,KAAO,WACX,OAAO7pB,EAAO6pB,EAAK7pB,IAAU,CAC3BpzH,MAAO,SAAShR,GAAK,OAAOyqX,EAAKnwX,KAAK0W,MAAMinG,EAAKj4G,MACjDkR,KAAM,SAASlR,GAAK,OAAOyqX,EAAKnwX,KAAK4W,KAAK+mG,EAAKj4G,UAI5CyD,EAGM,SAAS1K,IACtB,IAAI0K,EAAQ+mX,EAAQnvO,eAAejX,OAAO,CAAC,EAAG,KAQ9C,OANA3gI,EAAM+zB,KAAO,WACX,OAAOA,YAAK/zB,EAAO1K,KAAO+K,KAAKL,EAAMK,SAGvCmvI,IAAU1/I,MAAMkQ,EAAOnQ,WAEhBmQ,EC5IT,SAASqnX,EAAgBz1X,GACvB,OAAO,SAAS2K,GACd,OAAO1F,KAAK8wI,KAAKprI,GAAK1F,KAAKywX,MAAMzwX,KAAKwjD,IAAI99C,EAAI3K,KAIlD,SAAS21X,EAAgB31X,GACvB,OAAO,SAAS2K,GACd,OAAO1F,KAAK8wI,KAAKprI,GAAK1F,KAAK2wX,MAAM3wX,KAAKwjD,IAAI99C,IAAM3K,GAI7C,SAAS61X,EAAUvnX,GACxB,IAAItO,EAAI,EAAGoO,EAAQE,EAAUmnX,EAAgBz1X,GAAI21X,EAAgB31X,IAMjE,OAJAoO,EAAM0oI,SAAW,SAASzkH,GACxB,OAAOp0B,UAAUrD,OAAS0T,EAAUmnX,EAAgBz1X,GAAKqyB,GAAIsjW,EAAgB31X,IAAMA,GAG9Ey4J,YAAUrqJ,GAGJ,SAAS0nX,IACtB,IAAI1nX,EAAQynX,EAAU7vO,eAMtB,OAJA53I,EAAM+zB,KAAO,WACX,OAAOA,YAAK/zB,EAAO0nX,KAAUh/O,SAAS1oI,EAAM0oI,aAGvC8G,IAAU1/I,MAAMkQ,EAAOnQ,W,aC7BhC,SAAS83X,EAAa31O,GACpB,OAAO,SAASz1I,GACd,OAAOA,EAAI,GAAK1F,KAAKE,KAAKwF,EAAGy1I,GAAYn7I,KAAKE,IAAIwF,EAAGy1I,IAIzD,SAAS41O,EAAcrrX,GACrB,OAAOA,EAAI,GAAK1F,KAAKC,MAAMyF,GAAK1F,KAAKC,KAAKyF,GAG5C,SAASsrX,EAAgBtrX,GACvB,OAAOA,EAAI,GAAKA,EAAIA,EAAIA,EAAIA,EAGvB,SAASurX,EAAO5nX,GACrB,IAAIF,EAAQE,EAAUs6H,IAAUA,KAC5BwX,EAAW,EAEf,SAASgG,IACP,OAAoB,IAAbhG,EAAiB9xI,EAAUs6H,IAAUA,KACzB,KAAbwX,EAAmB9xI,EAAU0nX,EAAeC,GAC5C3nX,EAAUynX,EAAa31O,GAAW21O,EAAa,EAAI31O,IAO3D,OAJAhyI,EAAMgyI,SAAW,SAAS/tH,GACxB,OAAOp0B,UAAUrD,QAAUwlJ,GAAY/tH,EAAG+zH,KAAahG,GAGlDqY,YAAUrqJ,GAGJ,SAASjJ,IACtB,IAAIiJ,EAAQ8nX,EAAOlwO,eAQnB,OANA53I,EAAM+zB,KAAO,WACX,OAAOA,YAAK/zB,EAAOjJ,KAAOi7I,SAAShyI,EAAMgyI,aAG3CxC,IAAU1/I,MAAMkQ,EAAOnQ,WAEhBmQ,EAGF,SAASlJ,IACd,OAAOC,EAAIjH,MAAM,KAAMD,WAAWmiJ,SAAS,IC3C7C,SAASsoD,EAAO/9L,GACd,OAAO1F,KAAK8wI,KAAKprI,GAAKA,EAAIA,EAG5B,SAASwrX,EAASxrX,GAChB,OAAO1F,KAAK8wI,KAAKprI,GAAK1F,KAAKC,KAAKD,KAAKwjD,IAAI99C,IAG5B,SAASyrX,IACtB,IAGIrwO,EAHAswO,EAAU5vO,cACVnd,EAAQ,CAAC,EAAG,GACZpnB,GAAQ,EAGZ,SAAS9zG,EAAMzD,GACb,IAAIC,EAAIurX,EAASE,EAAQ1rX,IACzB,OAAOmB,MAAMlB,GAAKm7I,EAAU7jC,EAAQj9G,KAAKi9G,MAAMt3G,GAAKA,EAwCtD,OArCAwD,EAAMk4I,OAAS,SAAS17I,GACtB,OAAOyrX,EAAQ/vO,OAAOoiD,EAAO99L,KAG/BwD,EAAM2gI,OAAS,SAAS18G,GACtB,OAAOp0B,UAAUrD,QAAUy7X,EAAQtnP,OAAO18G,GAAIjkB,GAASioX,EAAQtnP,UAGjE3gI,EAAMk7H,MAAQ,SAASj3G,GACrB,OAAOp0B,UAAUrD,QAAUy7X,EAAQ/sP,OAAOA,EAAQ/qI,MAAMsY,KAAKwb,EAAGw1F,MAAStiG,IAAImjL,IAAUt6L,GAASk7H,EAAMx5F,SAGxG1hC,EAAMm4I,WAAa,SAASl0H,GAC1B,OAAOjkB,EAAMk7H,MAAMj3G,GAAG6vF,OAAM,IAG9B9zG,EAAM8zG,MAAQ,SAAS7vF,GACrB,OAAOp0B,UAAUrD,QAAUsnH,IAAU7vF,EAAGjkB,GAAS8zG,GAGnD9zG,EAAM03I,MAAQ,SAASzzH,GACrB,OAAOp0B,UAAUrD,QAAUy7X,EAAQvwO,MAAMzzH,GAAIjkB,GAASioX,EAAQvwO,SAGhE13I,EAAM23I,QAAU,SAAS1zH,GACvB,OAAOp0B,UAAUrD,QAAUmrJ,EAAU1zH,EAAGjkB,GAAS23I,GAGnD33I,EAAM+zB,KAAO,WACX,OAAOi0V,EAAOC,EAAQtnP,SAAUzF,GAC3BpnB,MAAMA,GACN4jC,MAAMuwO,EAAQvwO,SACdC,QAAQA,IAGfnI,IAAU1/I,MAAMkQ,EAAOnQ,WAEhBw6J,YAAUrqJ,G,WC7DJ,SAAS4B,EAAIuL,EAAQyoU,GAClC,IAAIh0U,EACJ,QAAgB0tB,IAAZsmT,EAAuB,qBACLzoU,GADK,IACzB,IAAK,EAAL,qBAA4B,KAAjB/d,EAAiB,QACb,MAATA,IACIwS,EAAMxS,QAAkBkgC,IAAR1tB,GAAqBxS,GAASA,KACpDwS,EAAMxS,IAJe,mCAOpB,CACL,IADK,EACDyhC,GAAS,EADR,cAEa1jB,GAFb,IAEL,IAAK,EAAL,qBAA0B,KAAjB/d,EAAiB,QACyB,OAA5CA,EAAQwmV,EAAQxmV,IAASyhC,EAAO1jB,MAC7BvL,EAAMxS,QAAkBkgC,IAAR1tB,GAAqBxS,GAASA,KACpDwS,EAAMxS,IALL,+BASP,OAAOwS,EClBM,SAASF,EAAIyL,EAAQyoU,GAClC,IAAIl0U,EACJ,QAAgB4tB,IAAZsmT,EAAuB,qBACLzoU,GADK,IACzB,IAAK,EAAL,qBAA4B,KAAjB/d,EAAiB,QACb,MAATA,IACIsS,EAAMtS,QAAkBkgC,IAAR5tB,GAAqBtS,GAASA,KACpDsS,EAAMtS,IAJe,mCAOpB,CACL,IADK,EACDyhC,GAAS,EADR,cAEa1jB,GAFb,IAEL,IAAK,EAAL,qBAA0B,KAAjB/d,EAAiB,QACyB,OAA5CA,EAAQwmV,EAAQxmV,IAASyhC,EAAO1jB,MAC7BzL,EAAMtS,QAAkBkgC,IAAR5tB,GAAqBtS,GAASA,KACpDsS,EAAMtS,IALL,+BASP,OAAOsS,E,aCqBT,SAAS80T,EAAK/jR,EAAOlmD,EAAGuc,GACtB,IAAM3W,EAAIsgD,EAAMlmD,GAChBkmD,EAAMlmD,GAAKkmD,EAAM3pC,GACjB2pC,EAAM3pC,GAAK3W,E,aCrCE,SAAS+1X,EAAS/6W,EAAQxa,EAAGijV,GAE1C,GAAMrlV,GADN4c,EAASy4L,aAAan9L,KAAKulT,YAAQ7gT,EAAQyoU,KAC1BppV,OAAjB,CACA,IAAKmG,GAAKA,IAAM,GAAKpC,EAAI,EAAG,OAAOmR,EAAIyL,GACvC,GAAIxa,GAAK,EAAG,OAAOiP,EAAIuL,GACvB,IAAI5c,EACAhE,GAAKgE,EAAI,GAAKoC,EACd+3J,EAAK7zJ,KAAK0W,MAAMhhB,GAChB47X,EAASvmX,EDTA,SAASwmX,EAAY31U,EAAOnhC,GACzC,IADqG,IAAzDi1B,EAAyD,uDAAlD,EAAGgsC,EAA+C,uDAAvC9/B,EAAMjmD,OAAS,EAAGqoJ,EAAqB,uDAAXwzO,IACnF91S,EAAQhsC,GAAM,CACnB,GAAIgsC,EAAQhsC,EAAO,IAAK,CACtB,IAAMh2C,EAAIgiF,EAAQhsC,EAAO,EACnB50C,EAAI2f,EAAIi1B,EAAO,EACfwhD,EAAIlxF,KAAKvB,IAAI/E,GACbD,EAAI,GAAMuG,KAAKw8I,IAAI,EAAItrD,EAAI,GAC3B2rD,EAAK,GAAM78I,KAAKC,KAAKixF,EAAIz3F,GAAKC,EAAID,GAAKC,IAAMoB,EAAIpB,EAAI,EAAI,GAAK,EAAI,GAClE+3X,EAAUzxX,KAAK+K,IAAI2kC,EAAM1vC,KAAK0W,MAAM+D,EAAI3f,EAAIrB,EAAIC,EAAImjJ,IACpD60O,EAAW1xX,KAAK6K,IAAI6wE,EAAO17E,KAAK0W,MAAM+D,GAAK/gB,EAAIoB,GAAKrB,EAAIC,EAAImjJ,IAClE00O,EAAY31U,EAAOnhC,EAAGg3W,EAASC,EAAU1zO,GAG3C,IAAM1iJ,EAAIsgD,EAAMnhC,GACZ/kB,EAAIg6C,EACJz9B,EAAIypE,EAKR,IAHAikP,EAAK/jR,EAAOlM,EAAMj1B,GACdujI,EAAQpiG,EAAM8/B,GAAQpgF,GAAK,GAAGqkU,EAAK/jR,EAAOlM,EAAMgsC,GAE7ChmF,EAAIuc,GAAG,CAEZ,IADA0tT,EAAK/jR,EAAOlmD,EAAGuc,KAAMvc,IAAKuc,EACnB+rI,EAAQpiG,EAAMlmD,GAAI4F,GAAK,KAAK5F,EACnC,KAAOsoJ,EAAQpiG,EAAM3pC,GAAI3W,GAAK,KAAK2W,EAGL,IAA5B+rI,EAAQpiG,EAAMlM,GAAOp0C,GAAUqkU,EAAK/jR,EAAOlM,EAAMz9B,GAC3C0tT,EAAK/jR,IAAR3pC,EAAkBypE,GAErBzpE,GAAKwI,IAAGi1B,EAAOz9B,EAAI,GACnBwI,GAAKxI,IAAGypE,EAAQzpE,EAAI,GAE1B,OAAO2pC,ECvBU21U,CAAYj7W,EAAQu9I,GAAIq7C,SAAS,EAAGr7C,EAAK,IAE1D,OAAOy9N,GADMzmX,EAAIyL,EAAO44L,SAASr7C,EAAK,IACZy9N,IAAW57X,EAAIm+J,IAGpC,SAAS89N,EAAer7W,EAAQxa,GAAqB,IAAlBijV,EAAkB,uDAARn8N,IAClD,GAAMlpH,EAAI4c,EAAO3gB,OAAjB,CACA,IAAKmG,GAAKA,IAAM,GAAKpC,EAAI,EAAG,OAAQqlV,EAAQzoU,EAAO,GAAI,EAAGA,GAC1D,GAAIxa,GAAK,EAAG,OAAQijV,EAAQzoU,EAAO5c,EAAI,GAAIA,EAAI,EAAG4c,GAClD,IAAI5c,EACAhE,GAAKgE,EAAI,GAAKoC,EACd+3J,EAAK7zJ,KAAK0W,MAAMhhB,GAChB47X,GAAUvyC,EAAQzoU,EAAOu9I,GAAKA,EAAIv9I,GAClC42J,GAAU6xK,EAAQzoU,EAAOu9I,EAAK,GAAIA,EAAK,EAAGv9I,GAC9C,OAAOg7W,GAAUpkN,EAASokN,IAAW57X,EAAIm+J,I,aCxB5B,SAASw9N,IACtB,IAGIvwO,EAHAhX,EAAS,GACTzF,EAAQ,GACRutP,EAAa,GAGjB,SAASzwO,IACP,IAAIzrJ,EAAI,EAAGgE,EAAIsG,KAAK+K,IAAI,EAAGs5H,EAAM1uI,QAEjC,IADAi8X,EAAa,IAAIt4X,MAAMI,EAAI,KAClBhE,EAAIgE,GAAGk4X,EAAWl8X,EAAI,GAAKm8X,EAAU/nP,EAAQp0I,EAAIgE,GAC1D,OAAOyP,EAGT,SAASA,EAAMzD,GACb,OAAY,MAALA,GAAamB,MAAMnB,GAAKA,GAAKo7I,EAAUzc,EAAMuc,YAAOgxO,EAAYlsX,IAsCzE,OAnCAyD,EAAM2oX,aAAe,SAASnsX,GAC5B,IAAIjQ,EAAI2uI,EAAMnhI,QAAQyC,GACtB,OAAOjQ,EAAI,EAAI,CAACiR,IAAKA,KAAO,CAC1BjR,EAAI,EAAIk8X,EAAWl8X,EAAI,GAAKo0I,EAAO,GACnCp0I,EAAIk8X,EAAWj8X,OAASi8X,EAAWl8X,GAAKo0I,EAAOA,EAAOn0I,OAAS,KAInEwT,EAAM2gI,OAAS,SAAS18G,GACtB,IAAKp0B,UAAUrD,OAAQ,OAAOm0I,EAAOj/F,QACrCi/F,EAAS,GAFgB,oBAGX18G,GAHW,IAGzB,IAAK,EAAL,qBAAiB,KAARpyB,EAAQ,QAAS,MAALA,GAAc6L,MAAM7L,GAAKA,IAAI8uI,EAAOnqI,KAAK3E,IAHrC,8BAKzB,OADA8uI,EAAOjuF,KAAK21U,KACLrwO,KAGTh4I,EAAMk7H,MAAQ,SAASj3G,GACrB,OAAOp0B,UAAUrD,QAAU0uI,EAAQ/qI,MAAMsY,KAAKwb,GAAI+zH,KAAa9c,EAAMx5F,SAGvE1hC,EAAM23I,QAAU,SAAS1zH,GACvB,OAAOp0B,UAAUrD,QAAUmrJ,EAAU1zH,EAAGjkB,GAAS23I,GAGnD33I,EAAM4oX,UAAY,WAChB,OAAOH,EAAW/mV,SAGpB1hC,EAAM+zB,KAAO,WACX,OAAOm0V,IACFvnP,OAAOA,GACPzF,MAAMA,GACNyc,QAAQA,IAGRnI,IAAU1/I,MAAMkQ,EAAOnQ,W,YCnDjB,SAASg5X,IACtB,IAKIlxO,EALAqgM,EAAK,EACL76U,EAAK,EACL5M,EAAI,EACJowI,EAAS,CAAC,IACVzF,EAAQ,CAAC,EAAG,GAGhB,SAASl7H,EAAMzD,GACb,OAAY,MAALA,GAAaA,GAAKA,EAAI2+H,EAAMuc,YAAO9W,EAAQpkI,EAAG,EAAGhM,IAAMonJ,EAGhE,SAASK,IACP,IAAIzrJ,GAAK,EAET,IADAo0I,EAAS,IAAIxwI,MAAMI,KACVhE,EAAIgE,GAAGowI,EAAOp0I,KAAOA,EAAI,GAAK4Q,GAAM5Q,EAAIgE,GAAKynV,IAAOznV,EAAI,GACjE,OAAOyP,EAkCT,OA/BAA,EAAM2gI,OAAS,SAAS18G,GAAG,MACzB,OAAOp0B,UAAUrD,QAAU,cAAWy3B,EAAX,GAAC+zT,EAAD,KAAK76U,EAAL,KAAc66U,GAAMA,EAAI76U,GAAMA,EAAI66I,KAAa,CAACggM,EAAI76U,IAGjF6C,EAAMk7H,MAAQ,SAASj3G,GACrB,OAAOp0B,UAAUrD,QAAU+D,GAAK2qI,EAAQ/qI,MAAMsY,KAAKwb,IAAIz3B,OAAS,EAAGwrJ,KAAa9c,EAAMx5F,SAGxF1hC,EAAM2oX,aAAe,SAASnsX,GAC5B,IAAIjQ,EAAI2uI,EAAMnhI,QAAQyC,GACtB,OAAOjQ,EAAI,EAAI,CAACiR,IAAKA,KACfjR,EAAI,EAAI,CAACyrV,EAAIr3M,EAAO,IACpBp0I,GAAKgE,EAAI,CAACowI,EAAOpwI,EAAI,GAAI4M,GACzB,CAACwjI,EAAOp0I,EAAI,GAAIo0I,EAAOp0I,KAG/ByT,EAAM23I,QAAU,SAAS1zH,GACvB,OAAOp0B,UAAUrD,QAAUmrJ,EAAU1zH,EAAGjkB,GAASA,GAGnDA,EAAMyoX,WAAa,WACjB,OAAO9nP,EAAOj/F,SAGhB1hC,EAAM+zB,KAAO,WACX,OAAO80V,IACFloP,OAAO,CAACq3M,EAAI76U,IACZ+9H,MAAMA,GACNyc,QAAQA,IAGRnI,IAAU1/I,MAAMu6J,YAAUrqJ,GAAQnQ,WCnD5B,SAAS64X,IACtB,IAEI/wO,EAFAhX,EAAS,CAAC,IACVzF,EAAQ,CAAC,EAAG,GAEZ3qI,EAAI,EAER,SAASyP,EAAMzD,GACb,OAAY,MAALA,GAAaA,GAAKA,EAAI2+H,EAAMuc,YAAO9W,EAAQpkI,EAAG,EAAGhM,IAAMonJ,EA2BhE,OAxBA33I,EAAM2gI,OAAS,SAAS18G,GACtB,OAAOp0B,UAAUrD,QAAUm0I,EAASxwI,MAAMsY,KAAKwb,GAAI1zB,EAAIsG,KAAK6K,IAAIi/H,EAAOn0I,OAAQ0uI,EAAM1uI,OAAS,GAAIwT,GAAS2gI,EAAOj/F,SAGpH1hC,EAAMk7H,MAAQ,SAASj3G,GACrB,OAAOp0B,UAAUrD,QAAU0uI,EAAQ/qI,MAAMsY,KAAKwb,GAAI1zB,EAAIsG,KAAK6K,IAAIi/H,EAAOn0I,OAAQ0uI,EAAM1uI,OAAS,GAAIwT,GAASk7H,EAAMx5F,SAGlH1hC,EAAM2oX,aAAe,SAASnsX,GAC5B,IAAIjQ,EAAI2uI,EAAMnhI,QAAQyC,GACtB,MAAO,CAACmkI,EAAOp0I,EAAI,GAAIo0I,EAAOp0I,KAGhCyT,EAAM23I,QAAU,SAAS1zH,GACvB,OAAOp0B,UAAUrD,QAAUmrJ,EAAU1zH,EAAGjkB,GAAS23I,GAGnD33I,EAAM+zB,KAAO,WACX,OAAO20V,IACF/nP,OAAOA,GACPzF,MAAMA,GACNyc,QAAQA,IAGRnI,IAAU1/I,MAAMkQ,EAAOnQ,W,aCrC5B0oV,EAAK,IAAItxT,KACT/nB,EAAK,IAAI+nB,KAEE,SAAS6hW,EAAYC,EAAQC,EAASloV,EAAOqjH,GAE1D,SAASzmC,EAASopH,GAChB,OAAOiiJ,EAAOjiJ,EAA4B,IAArBj3O,UAAUrD,OAAe,IAAIy6B,KAAO,IAAIA,MAAM6/M,IAAQA,EA8D7E,OA3DAppH,EAASnwG,MAAQ,SAASu5N,GACxB,OAAOiiJ,EAAOjiJ,EAAO,IAAI7/M,MAAM6/M,IAAQA,GAGzCppH,EAASjwG,KAAO,SAASq5N,GACvB,OAAOiiJ,EAAOjiJ,EAAO,IAAI7/M,KAAK6/M,EAAO,IAAKkiJ,EAAQliJ,EAAM,GAAIiiJ,EAAOjiJ,GAAOA,GAG5EppH,EAAS5J,MAAQ,SAASgzH,GACxB,IAAIzvF,EAAK35B,EAASopH,GACdxvF,EAAK55B,EAASjwG,KAAKq5N,GACvB,OAAOA,EAAOzvF,EAAKC,EAAKwvF,EAAOzvF,EAAKC,GAGtC55B,EAAS/4G,OAAS,SAASmiO,EAAM91O,GAC/B,OAAOg4X,EAAQliJ,EAAO,IAAI7/M,MAAM6/M,GAAe,MAAR91O,EAAe,EAAI6F,KAAK0W,MAAMvc,IAAQ81O,GAG/EppH,EAASwd,MAAQ,SAAS1zH,EAAOrU,EAAMnC,GACrC,IAAgBuqC,EAAZ2/F,EAAQ,GAGZ,GAFA1zH,EAAQk2G,EAASjwG,KAAKjG,GACtBxW,EAAe,MAARA,EAAe,EAAI6F,KAAK0W,MAAMvc,KAC/BwW,EAAQrU,MAAWnC,EAAO,GAAI,OAAOkqI,EAC3C,GAAGA,EAAM1kI,KAAK+kC,EAAW,IAAItU,MAAMzf,IAASwhX,EAAQxhX,EAAOxW,GAAO+3X,EAAOvhX,SAClE+zB,EAAW/zB,GAASA,EAAQrU,GACnC,OAAO+nI,GAGTxd,EAAS/6G,OAAS,SAASsvB,GACzB,OAAO62V,GAAY,SAAShiJ,GAC1B,GAAIA,GAAQA,EAAM,KAAOiiJ,EAAOjiJ,IAAQ70M,EAAK60M,IAAOA,EAAKwU,QAAQxU,EAAO,MACvE,SAASA,EAAM91O,GAChB,GAAI81O,GAAQA,EACV,GAAI91O,EAAO,EAAG,OAASA,GAAQ,GAC7B,KAAOg4X,EAAQliJ,GAAO,IAAK70M,EAAK60M,UAC3B,OAAS91O,GAAQ,GACtB,KAAOg4X,EAAQliJ,EAAM,IAAM70M,EAAK60M,UAMpChmM,IACF48E,EAAS58E,MAAQ,SAASt5B,EAAOw7B,GAG/B,OAFAu1S,EAAGj9F,SAAS9zO,GAAQtI,EAAGo8O,SAASt4M,GAChC+lV,EAAOxwC,GAAKwwC,EAAO7pX,GACZrI,KAAK0W,MAAMuzB,EAAMy3S,EAAIr5U,KAG9Bw+G,EAASmV,MAAQ,SAAS7hI,GAExB,OADAA,EAAO6F,KAAK0W,MAAMvc,GACVqtI,SAASrtI,IAAWA,EAAO,EAC3BA,EAAO,EACT0sH,EAAS/6G,OAAOwhJ,EACZ,SAAStyJ,GAAK,OAAOsyJ,EAAMtyJ,GAAKb,IAAS,GACzC,SAASa,GAAK,OAAO6rH,EAAS58E,MAAM,EAAGjvC,GAAKb,IAAS,IAH3C0sH,EADoB,OAQrCA,EClET,IAAIurQ,EAAcvrQ,GAAS,eAExB,SAASopH,EAAM91O,GAChB81O,EAAKwU,SAASxU,EAAO91O,MACpB,SAASwW,EAAOw7B,GACjB,OAAOA,EAAMx7B,KAIfyhX,EAAYp2P,MAAQ,SAASvhH,GAE3B,OADAA,EAAIza,KAAK0W,MAAM+D,GACV+sH,SAAS/sH,IAAQA,EAAI,EACpBA,EAAI,EACHosG,GAAS,SAASopH,GACvBA,EAAKwU,QAAQzkP,KAAK0W,MAAMu5N,EAAOx1N,GAAKA,MACnC,SAASw1N,EAAM91O,GAChB81O,EAAKwU,SAASxU,EAAO91O,EAAOsgB,MAC3B,SAAS9J,EAAOw7B,GACjB,OAAQA,EAAMx7B,GAAS8J,KANJ23W,EADgB,MAWxBA,QCrBX1+S,GDsBsB0+S,EAAY/tP,MCtBzBxd,GAAS,SAASopH,GAC7BA,EAAKwU,QAAQxU,EAAOA,EAAKoiJ,sBACxB,SAASpiJ,EAAM91O,GAChB81O,EAAKwU,SAASxU,ECNc,IDMP91O,MACpB,SAASwW,EAAOw7B,GACjB,OAAQA,EAAMx7B,GCRc,ODS3B,SAASs/N,GACV,OAAOA,EAAKlG,oBAGCr2J,KEVX4+S,IFWiB5+S,EAAO2wD,MEXfxd,GAAS,SAASopH,GAC7BA,EAAKwU,QAAQxU,EAAOA,EAAKoiJ,kBDJG,ICIiBpiJ,EAAK5gD,iBACjD,SAAS4gD,EAAM91O,GAChB81O,EAAKwU,SAASxU,EDLcsiJ,ICKPp4X,MACpB,SAASwW,EAAOw7B,GACjB,OAAQA,EAAMx7B,GDPc4hX,OCQ3B,SAAStiJ,GACV,OAAOA,EAAK7gD,iBAGCkjM,MCVXE,IDWiBF,GAAOjuP,MCXjBxd,GAAS,SAASopH,GAC3BA,EAAKwU,QAAQxU,EAAOA,EAAKoiJ,kBFJG,IEIiBpiJ,EAAK5gD,aFHtBkjM,IEGsDtiJ,EAAK7gD,iBACtF,SAAS6gD,EAAM91O,GAChB81O,EAAKwU,SAASxU,EFJYwiJ,KEILt4X,MACpB,SAASwW,EAAOw7B,GACjB,OAAQA,EAAMx7B,GFNY8hX,QEOzB,SAASxiJ,GACV,OAAOA,EAAK9gD,eAGCqjM,MCVX7oF,IDWe6oF,GAAKnuP,MCXdxd,GACR,SAAAopH,GAAI,OAAIA,EAAKkR,SAAS,EAAG,EAAG,EAAG,MAC/B,SAAClR,EAAM91O,GAAP,OAAgB81O,EAAKK,QAAQL,EAAK/gD,UAAY/0L,MAC9C,SAACwW,EAAOw7B,GAAR,OAAiBA,EAAMx7B,EHLK4hX,KGKIpmV,EAAI2iJ,oBAAsBn+K,EAAMm+K,sBHHvC4jM,SGIzB,SAAAziJ,GAAI,OAAIA,EAAK/gD,UAAY,MAGZy6G,MACGA,GAAItlK,MCRtB,SAASsuP,GAAQj9X,GACf,OAAOmxH,GAAS,SAASopH,GACvBA,EAAKK,QAAQL,EAAK/gD,WAAa+gD,EAAKM,SAAW,EAAI76O,GAAK,GACxDu6O,EAAKkR,SAAS,EAAG,EAAG,EAAG,MACtB,SAASlR,EAAM91O,GAChB81O,EAAKK,QAAQL,EAAK/gD,UAAmB,EAAP/0L,MAC7B,SAASwW,EAAOw7B,GACjB,OAAQA,EAAMx7B,EJTY4hX,KISHpmV,EAAI2iJ,oBAAsBn+K,EAAMm+K,sBJN/B8jM,UIUrB,IAAIC,GAASF,GAAQ,GACjBG,GAASH,GAAQ,GACjBI,GAAUJ,GAAQ,GAClBK,GAAYL,GAAQ,GACpBM,GAAWN,GAAQ,GACnBO,GAASP,GAAQ,GACjBQ,GAAWR,GAAQ,GClB1B/oF,IDoBiBipF,GAAOxuP,MACPyuP,GAAOzuP,MACN0uP,GAAQ1uP,MACN2uP,GAAU3uP,MACX4uP,GAAS5uP,MACX6uP,GAAO7uP,MACL8uP,GAAS9uP,MC1BpBxd,GAAS,SAASopH,GAC5BA,EAAKK,QAAQ,GACbL,EAAKkR,SAAS,EAAG,EAAG,EAAG,MACtB,SAASlR,EAAM91O,GAChB81O,EAAKiR,SAASjR,EAAKhhD,WAAa90L,MAC/B,SAASwW,EAAOw7B,GACjB,OAAOA,EAAI8iJ,WAAat+K,EAAMs+K,WAAyD,IAA3C9iJ,EAAI6iJ,cAAgBr+K,EAAMq+K,kBACrE,SAASihD,GACV,OAAOA,EAAKhhD,eAGC26G,MCXXC,IDYgBD,GAAMvlK,MCZfxd,GAAS,SAASopH,GAC3BA,EAAKiR,SAAS,EAAG,GACjBjR,EAAKkR,SAAS,EAAG,EAAG,EAAG,MACtB,SAASlR,EAAM91O,GAChB81O,EAAKgR,YAAYhR,EAAKjhD,cAAgB70L,MACrC,SAASwW,EAAOw7B,GACjB,OAAOA,EAAI6iJ,cAAgBr+K,EAAMq+K,iBAChC,SAASihD,GACV,OAAOA,EAAKjhD,kBAId66G,GAAK7tK,MAAQ,SAASvhH,GACpB,OAAQ+sH,SAAS/sH,EAAIza,KAAK0W,MAAM+D,KAASA,EAAI,EAAYosG,GAAS,SAASopH,GACzEA,EAAKgR,YAAYjhP,KAAK0W,MAAMu5N,EAAKjhD,cAAgBv0K,GAAKA,GACtDw1N,EAAKiR,SAAS,EAAG,GACjBjR,EAAKkR,SAAS,EAAG,EAAG,EAAG,MACtB,SAASlR,EAAM91O,GAChB81O,EAAKgR,YAAYhR,EAAKjhD,cAAgB70L,EAAOsgB,MALG,MASrCovR,UCrBXupF,IDsBevpF,GAAKxlK,MCtBRxd,GAAS,SAASopH,GAChCA,EAAKojJ,cAAc,EAAG,MACrB,SAASpjJ,EAAM91O,GAChB81O,EAAKwU,SAASxU,EPLcsiJ,IOKPp4X,MACpB,SAASwW,EAAOw7B,GACjB,OAAQA,EAAMx7B,GPPc4hX,OOQ3B,SAAStiJ,GACV,OAAOA,EAAKnG,oBAGCspJ,MCVXE,IDWoBF,GAAU/uP,MCXpBxd,GAAS,SAASopH,GAC9BA,EAAKsjJ,cAAc,EAAG,EAAG,MACxB,SAAStjJ,EAAM91O,GAChB81O,EAAKwU,SAASxU,ERJYwiJ,KQILt4X,MACpB,SAASwW,EAAOw7B,GACjB,OAAQA,EAAMx7B,GRNY8hX,QQOzB,SAASxiJ,GACV,OAAOA,EAAKpG,kBAGCypJ,MCVXE,IDWkBF,GAAQjvP,MCXjBxd,GAAS,SAASopH,GAC7BA,EAAKwjJ,YAAY,EAAG,EAAG,EAAG,MACzB,SAASxjJ,EAAM91O,GAChB81O,EAAKyjJ,WAAWzjJ,EAAKrG,aAAezvO,MACnC,SAASwW,EAAOw7B,GACjB,OAAQA,EAAMx7B,GTLW+hX,SSMxB,SAASziJ,GACV,OAAOA,EAAKrG,aAAe,MAGd4pJ,MACMA,GAAOnvP,MCX5B,SAASsvP,GAAWj+X,GAClB,OAAOmxH,GAAS,SAASopH,GACvBA,EAAKyjJ,WAAWzjJ,EAAKrG,cAAgBqG,EAAK2jJ,YAAc,EAAIl+X,GAAK,GACjEu6O,EAAKwjJ,YAAY,EAAG,EAAG,EAAG,MACzB,SAASxjJ,EAAM91O,GAChB81O,EAAKyjJ,WAAWzjJ,EAAKrG,aAAsB,EAAPzvO,MACnC,SAASwW,EAAOw7B,GACjB,OAAQA,EAAMx7B,GVNUiiX,UUUrB,IAAIiB,GAAYF,GAAW,GACvBG,GAAYH,GAAW,GACvBI,GAAaJ,GAAW,GACxBK,GAAeL,GAAW,GAC1BM,GAAcN,GAAW,GACzBO,GAAYP,GAAW,GACvBQ,GAAcR,GAAW,GClBhCS,IDoBoBP,GAAUxvP,MACVyvP,GAAUzvP,MACT0vP,GAAW1vP,MACT2vP,GAAa3vP,MACd4vP,GAAY5vP,MACd6vP,GAAU7vP,MACR8vP,GAAY9vP,MC1BvBxd,GAAS,SAASopH,GAC/BA,EAAKyjJ,WAAW,GAChBzjJ,EAAKwjJ,YAAY,EAAG,EAAG,EAAG,MACzB,SAASxjJ,EAAM91O,GAChB81O,EAAKokJ,YAAYpkJ,EAAKtG,cAAgBxvO,MACrC,SAASwW,EAAOw7B,GACjB,OAAOA,EAAIw9L,cAAgBh5N,EAAMg5N,cAAkE,IAAjDx9L,EAAIu9L,iBAAmB/4N,EAAM+4N,qBAC9E,SAASuG,GACV,OAAOA,EAAKtG,kBAGCyqJ,MCXXE,IDYmBF,GAAS/vP,MCZlBxd,GAAS,SAASopH,GAC9BA,EAAKokJ,YAAY,EAAG,GACpBpkJ,EAAKwjJ,YAAY,EAAG,EAAG,EAAG,MACzB,SAASxjJ,EAAM91O,GAChB81O,EAAKskJ,eAAetkJ,EAAKvG,iBAAmBvvO,MAC3C,SAASwW,EAAOw7B,GACjB,OAAOA,EAAIu9L,iBAAmB/4N,EAAM+4N,oBACnC,SAASuG,GACV,OAAOA,EAAKvG,qBAId4qJ,GAAQt4P,MAAQ,SAASvhH,GACvB,OAAQ+sH,SAAS/sH,EAAIza,KAAK0W,MAAM+D,KAASA,EAAI,EAAYosG,GAAS,SAASopH,GACzEA,EAAKskJ,eAAev0X,KAAK0W,MAAMu5N,EAAKvG,iBAAmBjvN,GAAKA,GAC5Dw1N,EAAKokJ,YAAY,EAAG,GACpBpkJ,EAAKwjJ,YAAY,EAAG,EAAG,EAAG,MACzB,SAASxjJ,EAAM91O,GAChB81O,EAAKskJ,eAAetkJ,EAAKvG,iBAAmBvvO,EAAOsgB,MALH,MASrC65W,UACOA,GAAQjwP,MCR9B,SAASmwP,GAAO3qF,EAAMD,EAAO6qF,EAAM9qF,EAAK6oF,EAAMF,GAE5C,IAAMoC,EAAgB,CACpB,CAAChhT,GAAS,EbpBgB,KaqB1B,CAACA,GAAS,EAAI,KACd,CAACA,GAAQ,GAAI,MACb,CAACA,GAAQ,GAAI,KACb,CAAC4+S,EAAS,EbvBgBC,KawB1B,CAACD,EAAS,EAAI,KACd,CAACA,EAAQ,GAAI,KACb,CAACA,EAAQ,GAAI,MACb,CAAGE,EAAO,Eb1BcC,Ma2BxB,CAAGD,EAAO,EAAI,OACd,CAAGA,EAAO,EAAI,OACd,CAAGA,EAAM,GAAI,OACb,CAAI7oF,EAAM,Eb7Ba+oF,Oa8BvB,CAAI/oF,EAAM,EAAI,QACd,CAAG8qF,EAAO,Eb9Bc7B,Qa+BxB,CAAEhpF,EAAQ,Eb9BegpF,Qa+BzB,CAAEhpF,EAAQ,EAAI,QACd,CAAGC,EAAO,Eb/Bc+oF,Ua0C1B,SAAS+B,EAAahkX,EAAOrU,EAAM2tC,GACjC,IAAMz0C,EAASwK,KAAKwjD,IAAIlnD,EAAOqU,GAASs5B,EAClCv0C,EAAIk/X,aAAS,0CAAqBl5S,MAAMg5S,EAAel/X,GAC7D,GAAIE,IAAMg/X,EAAc/+X,OAAQ,OAAOk0S,EAAK7tK,MAAM85N,YAASnlV,Eb7CnCiiX,Qa6CyDt2X,Eb7CzDs2X,Qa6C8E3oV,IACtG,GAAU,IAANv0C,EAAS,OAAO08X,EAAYp2P,MAAMh8H,KAAK+K,IAAI+qV,YAASnlV,EAAOrU,EAAM2tC,GAAQ,IAC7E,kBAAkByqV,EAAcl/X,EAASk/X,EAAch/X,EAAI,GAAG,GAAKg/X,EAAch/X,GAAG,GAAKF,EAASE,EAAI,EAAIA,GAA1G,GAAO4F,EAAP,KAAUnB,EAAV,KACA,OAAOmB,EAAE0gI,MAAM7hI,GAGjB,MAAO,CAjBP,SAAewW,EAAOrU,EAAM2tC,GAC1B,IAAMpxB,EAAUvc,EAAOqU,EACvB,GAAIkI,EAAJ,OAA6B,CAACvc,EAAMqU,GAAtBA,EAAd,KAAqBrU,EAArB,KACA,IAAMuqH,EAAW58E,GAAgC,oBAAhBA,EAAMo6F,MAAuBp6F,EAAQ0qV,EAAahkX,EAAOrU,EAAM2tC,GAC1FmgG,EAAQvjB,EAAWA,EAASwd,MAAM1zH,GAAQrU,EAAO,GAAK,GAC5D,OAAOuc,EAAUuxH,EAAMvxH,UAAYuxH,GAYtBuqP,GAGjB,OAAoCH,GAAOF,GAASF,GAAUS,GAASrB,GAAQF,GAASF,IAAxF,qBAAO0B,GAAP,MAAiBC,GAAjB,MACA,GAAsCP,GAAO3qF,GAAMD,GAAO6qF,GAAM9qF,GAAK6oF,GAAMF,IAA3E,qBAAO0C,GAAP,MAAkBC,GAAlB,MChDA,SAASC,GAAUl6X,GACjB,GAAI,GAAKA,EAAE2K,GAAK3K,EAAE2K,EAAI,IAAK,CACzB,IAAIsqO,EAAO,IAAI7/M,MAAM,EAAGp1B,EAAEF,EAAGE,EAAEA,EAAGA,EAAEmzL,EAAGnzL,EAAE+yB,EAAG/yB,EAAEw4B,EAAGx4B,EAAE0tL,GAEnD,OADAunD,EAAKgR,YAAYjmP,EAAE2K,GACZsqO,EAET,OAAO,IAAI7/M,KAAKp1B,EAAE2K,EAAG3K,EAAEF,EAAGE,EAAEA,EAAGA,EAAEmzL,EAAGnzL,EAAE+yB,EAAG/yB,EAAEw4B,EAAGx4B,EAAE0tL,GAGlD,SAASysM,GAAQn6X,GACf,GAAI,GAAKA,EAAE2K,GAAK3K,EAAE2K,EAAI,IAAK,CACzB,IAAIsqO,EAAO,IAAI7/M,KAAKA,KAAKsjQ,KAAK,EAAG14R,EAAEF,EAAGE,EAAEA,EAAGA,EAAEmzL,EAAGnzL,EAAE+yB,EAAG/yB,EAAEw4B,EAAGx4B,EAAE0tL,IAE5D,OADAunD,EAAKskJ,eAAev5X,EAAE2K,GACfsqO,EAET,OAAO,IAAI7/M,KAAKA,KAAKsjQ,IAAI14R,EAAE2K,EAAG3K,EAAEF,EAAGE,EAAEA,EAAGA,EAAEmzL,EAAGnzL,EAAE+yB,EAAG/yB,EAAEw4B,EAAGx4B,EAAE0tL,IAG3D,SAAS0sM,GAAQzvX,EAAG7K,EAAGE,GACrB,MAAO,CAAC2K,EAAGA,EAAG7K,EAAGA,EAAGE,EAAGA,EAAGmzL,EAAG,EAAGpgK,EAAG,EAAGyF,EAAG,EAAGk1J,EAAG,GAmWjD,ICjYI2sM,GACOC,GAEAC,GD8XPC,GAAO,CAAC,IAAK,GAAI,EAAK,IAAK,EAAK,KAChCC,GAAW,UACXC,GAAY,KACZC,GAAY,sBAEhB,SAASxwT,GAAI5sE,EAAOiW,EAAM/O,GACxB,IAAIqxI,EAAOv4I,EAAQ,EAAI,IAAM,GACzBsqH,GAAUiuB,GAAQv4I,EAAQA,GAAS,GACnC5C,EAASktH,EAAOltH,OACpB,OAAOm7I,GAAQn7I,EAAS8J,EAAQ,IAAInG,MAAMmG,EAAQ9J,EAAS,GAAGuP,KAAKsJ,GAAQq0G,EAASA,GAGtF,SAAS+yQ,GAAQn8X,GACf,OAAOA,EAAE6G,QAAQq1X,GAAW,QAG9B,SAASE,GAASjvJ,GAChB,OAAO,IAAInzM,OAAO,OAASmzM,EAAMtmN,IAAIs1W,IAAS1wX,KAAK,KAAO,IAAK,KAGjE,SAAS4wX,GAAalvJ,GACpB,OAAO,IAAIzyE,IAAIyyE,EAAMtmN,KAAI,SAACrlB,EAAMvF,GAAP,MAAa,CAACuF,EAAKyW,cAAehc,OAG7D,SAASqgY,GAAyB/6X,EAAG6nH,EAAQntH,GAC3C,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAE6yB,GAAKn0B,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASqgY,GAAyBh7X,EAAG6nH,EAAQntH,GAC3C,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAE6X,GAAKnZ,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASsgY,GAAsBj7X,EAAG6nH,EAAQntH,GACxC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEklE,GAAKxmE,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASugY,GAAmBl7X,EAAG6nH,EAAQntH,GACrC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEszL,GAAK50L,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASwgY,GAAsBn7X,EAAG6nH,EAAQntH,GACxC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEqzL,GAAK30L,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASygY,GAAcp7X,EAAG6nH,EAAQntH,GAChC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAE2K,GAAKjM,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAAS0gY,GAAUr7X,EAAG6nH,EAAQntH,GAC5B,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAE2K,GAAKjM,EAAE,KAAOA,EAAE,GAAK,GAAK,KAAO,KAAOhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG5E,SAAS2gY,GAAUt7X,EAAG6nH,EAAQntH,GAC5B,IAAIgE,EAAI,+BAA+BuxB,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAChE,OAAOgE,GAAKsB,EAAEy0L,EAAI/1L,EAAE,GAAK,IAAMA,EAAE,IAAMA,EAAE,IAAM,OAAQhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG7E,SAAS4gY,GAAav7X,EAAG6nH,EAAQntH,GAC/B,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEkmH,EAAW,EAAPxnH,EAAE,GAAS,EAAGhE,EAAIgE,EAAE,GAAG/D,SAAW,EAGtD,SAAS6gY,GAAiBx7X,EAAG6nH,EAAQntH,GACnC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEF,EAAIpB,EAAE,GAAK,EAAGhE,EAAIgE,EAAE,GAAG/D,SAAW,EAGlD,SAAS8gY,GAAgBz7X,EAAG6nH,EAAQntH,GAClC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEA,GAAKtB,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAAS+gY,GAAe17X,EAAG6nH,EAAQntH,GACjC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEF,EAAI,EAAGE,EAAEA,GAAKtB,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAGxD,SAASghY,GAAY37X,EAAG6nH,EAAQntH,GAC9B,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEmzL,GAAKz0L,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASihY,GAAa57X,EAAG6nH,EAAQntH,GAC/B,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAE+yB,GAAKr0B,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASkhY,GAAa77X,EAAG6nH,EAAQntH,GAC/B,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAEw4B,GAAK95B,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASmhY,GAAkB97X,EAAG6nH,EAAQntH,GACpC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAE0tL,GAAKhvL,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASohY,GAAkB/7X,EAAG6nH,EAAQntH,GACpC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC1C,OAAOgE,GAAKsB,EAAE0tL,EAAI1oL,KAAK0W,MAAMhd,EAAE,GAAK,KAAOhE,EAAIgE,EAAE,GAAG/D,SAAW,EAGjE,SAASqhY,GAAoBh8X,EAAG6nH,EAAQntH,GACtC,IAAIgE,EAAIg8X,GAAUzqW,KAAK43F,EAAOh4E,MAAMn1C,EAAGA,EAAI,IAC3C,OAAOgE,EAAIhE,EAAIgE,EAAE,GAAG/D,QAAU,EAGhC,SAASshY,GAAmBj8X,EAAG6nH,EAAQntH,GACrC,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,IACnC,OAAOgE,GAAKsB,EAAE+zL,GAAKr1L,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASuhY,GAA0Bl8X,EAAG6nH,EAAQntH,GAC5C,IAAIgE,EAAI+7X,GAASxqW,KAAK43F,EAAOh4E,MAAMn1C,IACnC,OAAOgE,GAAKsB,EAAEvB,GAAKC,EAAE,GAAIhE,EAAIgE,EAAE,GAAG/D,SAAW,EAG/C,SAASwhY,GAAiBn8X,EAAGc,GAC3B,OAAOqpE,GAAInqE,EAAEk0L,UAAWpzL,EAAG,GAG7B,SAASs7X,GAAap8X,EAAGc,GACvB,OAAOqpE,GAAInqE,EAAEm0L,WAAYrzL,EAAG,GAG9B,SAASu7X,GAAar8X,EAAGc,GACvB,OAAOqpE,GAAInqE,EAAEm0L,WAAa,IAAM,GAAIrzL,EAAG,GAGzC,SAASw7X,GAAgBt8X,EAAGc,GAC1B,OAAOqpE,GAAI,EAAIoyT,GAAQttV,MAAMutV,GAASx8X,GAAIA,GAAIc,EAAG,GAGnD,SAAS27X,GAAmBz8X,EAAGc,GAC7B,OAAOqpE,GAAInqE,EAAEq3X,kBAAmBv2X,EAAG,GAGrC,SAAS47X,GAAmB18X,EAAGc,GAC7B,OAAO27X,GAAmBz8X,EAAGc,GAAK,MAGpC,SAAS67X,GAAkB38X,EAAGc,GAC5B,OAAOqpE,GAAInqE,EAAEi0L,WAAa,EAAGnzL,EAAG,GAGlC,SAAS87X,GAAc58X,EAAGc,GACxB,OAAOqpE,GAAInqE,EAAEo0L,aAActzL,EAAG,GAGhC,SAAS+7X,GAAc78X,EAAGc,GACxB,OAAOqpE,GAAInqE,EAAEq0L,aAAcvzL,EAAG,GAGhC,SAASg8X,GAA0B98X,GACjC,IAAI2uS,EAAM3uS,EAAEu1O,SACZ,OAAe,IAARo5D,EAAY,EAAIA,EAGzB,SAASouF,GAAuB/8X,EAAGc,GACjC,OAAOqpE,GAAI6yT,GAAW/tV,MAAMutV,GAASx8X,GAAK,EAAGA,GAAIc,EAAG,GAGtD,SAASm8X,GAAKj9X,GACZ,IAAI2uS,EAAM3uS,EAAEu1O,SACZ,OAAQo5D,GAAO,GAAa,IAARA,EAAauuF,GAAal9X,GAAKk9X,GAAathX,KAAK5b,GAGvE,SAASm9X,GAAoBn9X,EAAGc,GAE9B,OADAd,EAAIi9X,GAAKj9X,GACFmqE,GAAI+yT,GAAajuV,MAAMutV,GAASx8X,GAAIA,IAA+B,IAAzBw8X,GAASx8X,GAAGu1O,UAAiBz0O,EAAG,GAGnF,SAASs8X,GAA0Bp9X,GACjC,OAAOA,EAAEu1O,SAGX,SAAS8nJ,GAAuBr9X,EAAGc,GACjC,OAAOqpE,GAAImzT,GAAWruV,MAAMutV,GAASx8X,GAAK,EAAGA,GAAIc,EAAG,GAGtD,SAASy8X,GAAWv9X,EAAGc,GACrB,OAAOqpE,GAAInqE,EAAEg0L,cAAgB,IAAKlzL,EAAG,GAGvC,SAAS08X,GAAcx9X,EAAGc,GAExB,OAAOqpE,IADPnqE,EAAIi9X,GAAKj9X,IACIg0L,cAAgB,IAAKlzL,EAAG,GAGvC,SAAS28X,GAAez9X,EAAGc,GACzB,OAAOqpE,GAAInqE,EAAEg0L,cAAgB,IAAOlzL,EAAG,GAGzC,SAAS48X,GAAkB19X,EAAGc,GAC5B,IAAI6tS,EAAM3uS,EAAEu1O,SAEZ,OAAOprK,IADPnqE,EAAK2uS,GAAO,GAAa,IAARA,EAAauuF,GAAal9X,GAAKk9X,GAAathX,KAAK5b,IACrDg0L,cAAgB,IAAOlzL,EAAG,GAGzC,SAAS68X,GAAW39X,GAClB,IAAIk2F,EAAIl2F,EAAE8zL,oBACV,OAAQ59F,EAAI,EAAI,KAAOA,IAAM,EAAG,MAC1B/rB,GAAI+rB,EAAI,GAAK,EAAG,IAAK,GACrB/rB,GAAI+rB,EAAI,GAAI,IAAK,GAGzB,SAAS0nS,GAAoB59X,EAAGc,GAC9B,OAAOqpE,GAAInqE,EAAE4uO,aAAc9tO,EAAG,GAGhC,SAAS+8X,GAAgB79X,EAAGc,GAC1B,OAAOqpE,GAAInqE,EAAE6uO,cAAe/tO,EAAG,GAGjC,SAASg9X,GAAgB99X,EAAGc,GAC1B,OAAOqpE,GAAInqE,EAAE6uO,cAAgB,IAAM,GAAI/tO,EAAG,GAG5C,SAASi9X,GAAmB/9X,EAAGc,GAC7B,OAAOqpE,GAAI,EAAIquT,GAAOvpV,MAAMqqV,GAAQt5X,GAAIA,GAAIc,EAAG,GAGjD,SAASk9X,GAAsBh+X,EAAGc,GAChC,OAAOqpE,GAAInqE,EAAEi+X,qBAAsBn9X,EAAG,GAGxC,SAASo9X,GAAsBl+X,EAAGc,GAChC,OAAOk9X,GAAsBh+X,EAAGc,GAAK,MAGvC,SAASq9X,GAAqBn+X,EAAGc,GAC/B,OAAOqpE,GAAInqE,EAAE2uO,cAAgB,EAAG7tO,EAAG,GAGrC,SAASs9X,GAAiBp+X,EAAGc,GAC3B,OAAOqpE,GAAInqE,EAAE8uO,gBAAiBhuO,EAAG,GAGnC,SAASu9X,GAAiBr+X,EAAGc,GAC3B,OAAOqpE,GAAInqE,EAAE+uO,gBAAiBjuO,EAAG,GAGnC,SAASw9X,GAA6Bt+X,GACpC,IAAIm1O,EAAMn1O,EAAE44X,YACZ,OAAe,IAARzjJ,EAAY,EAAIA,EAGzB,SAASopJ,GAA0Bv+X,EAAGc,GACpC,OAAOqpE,GAAI0uT,GAAU5pV,MAAMqqV,GAAQt5X,GAAK,EAAGA,GAAIc,EAAG,GAGpD,SAAS09X,GAAQx+X,GACf,IAAI2uS,EAAM3uS,EAAE44X,YACZ,OAAQjqF,GAAO,GAAa,IAARA,EAAasqF,GAAYj5X,GAAKi5X,GAAYr9W,KAAK5b,GAGrE,SAASy+X,GAAuBz+X,EAAGc,GAEjC,OADAd,EAAIw+X,GAAQx+X,GACLmqE,GAAI8uT,GAAYhqV,MAAMqqV,GAAQt5X,GAAIA,IAAiC,IAA3Bs5X,GAAQt5X,GAAG44X,aAAoB93X,EAAG,GAGnF,SAAS49X,GAA6B1+X,GACpC,OAAOA,EAAE44X,YAGX,SAAS+F,GAA0B3+X,EAAGc,GACpC,OAAOqpE,GAAI2uT,GAAU7pV,MAAMqqV,GAAQt5X,GAAK,EAAGA,GAAIc,EAAG,GAGpD,SAAS89X,GAAc5+X,EAAGc,GACxB,OAAOqpE,GAAInqE,EAAE0uO,iBAAmB,IAAK5tO,EAAG,GAG1C,SAAS+9X,GAAiB7+X,EAAGc,GAE3B,OAAOqpE,IADPnqE,EAAIw+X,GAAQx+X,IACC0uO,iBAAmB,IAAK5tO,EAAG,GAG1C,SAASg+X,GAAkB9+X,EAAGc,GAC5B,OAAOqpE,GAAInqE,EAAE0uO,iBAAmB,IAAO5tO,EAAG,GAG5C,SAASi+X,GAAqB/+X,EAAGc,GAC/B,IAAI6tS,EAAM3uS,EAAE44X,YAEZ,OAAOzuT,IADPnqE,EAAK2uS,GAAO,GAAa,IAARA,EAAasqF,GAAYj5X,GAAKi5X,GAAYr9W,KAAK5b,IACnD0uO,iBAAmB,IAAO5tO,EAAG,GAG5C,SAASk+X,KACP,MAAO,QAGT,SAASC,KACP,MAAO,IAGT,SAASC,GAAoBl/X,GAC3B,OAAQA,EAGV,SAASm/X,GAA2Bn/X,GAClC,OAAOgF,KAAK0W,OAAO1b,EAAI,KEjrBzB,SAASi1O,GAAK30O,GACZ,OAAO,IAAI80B,KAAK90B,GAGlB,SAASsnH,GAAOtnH,GACd,OAAOA,aAAa80B,MAAQ90B,GAAK,IAAI80B,MAAM90B,GAGtC,SAAS8+X,GAAShwP,EAAOuqP,EAAc9qF,EAAMD,EAAO6qF,EAAM9qF,EAAK6oF,EAAMF,EAAQ5+S,EAAQ6pD,GAC1F,IAAIp0H,EAAQq4I,cACRH,EAASl4I,EAAMk4I,OACfvX,EAAS3gI,EAAM2gI,OAEfuwP,EAAoB98P,EAAO,OAC3B+8P,EAAe/8P,EAAO,OACtBg9P,EAAeh9P,EAAO,SACtBi9P,EAAaj9P,EAAO,SACpBk9P,EAAYl9P,EAAO,SACnBm9P,EAAan9P,EAAO,SACpBo9P,EAAcp9P,EAAO,MACrBg7P,EAAah7P,EAAO,MAExB,SAASk2B,EAAWw8E,GAClB,OAAQv8J,EAAOu8J,GAAQA,EAAOoqJ,EACxB/H,EAAOriJ,GAAQA,EAAOqqJ,EACtB9H,EAAKviJ,GAAQA,EAAOsqJ,EACpB5wF,EAAI15D,GAAQA,EAAOuqJ,EACnB5wF,EAAM35D,GAAQA,EAAQwkJ,EAAKxkJ,GAAQA,EAAOwqJ,EAAYC,EACtD7wF,EAAK55D,GAAQA,EAAO0qJ,EACpBpC,GAAYtoJ,GA8BpB,OA3BA9mO,EAAMk4I,OAAS,SAAS17I,GACtB,OAAO,IAAIyqB,KAAKixH,EAAO17I,KAGzBwD,EAAM2gI,OAAS,SAAS18G,GACtB,OAAOp0B,UAAUrD,OAASm0I,EAAOxwI,MAAMsY,KAAKwb,EAAGw1F,KAAWknB,IAASxpH,IAAI2vN,KAGzE9mO,EAAMihI,MAAQ,SAASvjB,GACrB,IAAI7rH,EAAI8uI,IACR,OAAOM,EAAMpvI,EAAE,GAAIA,EAAEA,EAAErF,OAAS,GAAgB,MAAZkxH,EAAmB,GAAKA,IAG9D19G,EAAMsqJ,WAAa,SAASxpH,EAAOypH,GACjC,OAAoB,MAAbA,EAAoBD,EAAal2B,EAAOm2B,IAGjDvqJ,EAAMwqJ,KAAO,SAAS9sC,GACpB,IAAI7rH,EAAI8uI,IAER,OADKjjB,GAAsC,oBAAnBA,EAASwd,QAAsBxd,EAAW8tQ,EAAa35X,EAAE,GAAIA,EAAEA,EAAErF,OAAS,GAAgB,MAAZkxH,EAAmB,GAAKA,IACvHA,EAAWijB,EAAO6pB,EAAK34J,EAAG6rH,IAAa19G,GAGhDA,EAAM+zB,KAAO,WACX,OAAOA,YAAK/zB,EAAOixX,GAAShwP,EAAOuqP,EAAc9qF,EAAMD,EAAO6qF,EAAM9qF,EAAK6oF,EAAMF,EAAQ5+S,EAAQ6pD,KAG1Fp0H,EAGM,SAAS+mO,KACtB,OAAOv3F,IAAU1/I,MAAMmhY,GAASpF,GAAWC,GAAkBuC,GAAUoD,GAAWC,GAAUtD,GAASuD,GAAUC,GAAYC,GAAY1F,IAAYxrP,OAAO,CAAC,IAAI15G,KAAK,IAAM,EAAG,GAAI,IAAIA,KAAK,IAAM,EAAG,KAAMp3B,WChE5L,SAASiiY,KACtB,OAAOtiP,IAAU1/I,MAAMmhY,GAAStF,GAAUC,GAAiBT,GAASF,GAAUS,GAASrB,GAAQF,GAASF,GAAW8H,GAAW3F,IAAWzrP,OAAO,CAAC15G,KAAKsjQ,IAAI,IAAM,EAAG,GAAItjQ,KAAKsjQ,IAAI,IAAM,EAAG,KAAM16R,WFc/Lq8X,GDea,SAAsBA,GACnC,IAAI8F,EAAkB9F,EAAO+F,SACzBC,EAAchG,EAAOplJ,KACrBqrJ,EAAcjG,EAAOnlJ,KACrBqrJ,EAAiBlG,EAAOmG,QACxBC,EAAkBpG,EAAOnmJ,KACzBwsJ,EAAuBrG,EAAOsG,UAC9BC,EAAgBvG,EAAOlmJ,OACvB0sJ,EAAqBxG,EAAOyG,YAE5BC,EAAWlG,GAAS0F,GACpBS,EAAelG,GAAayF,GAC5BU,EAAYpG,GAAS4F,GACrBS,EAAgBpG,GAAa2F,GAC7BU,EAAiBtG,GAAS6F,GAC1BU,EAAqBtG,GAAa4F,GAClCW,EAAUxG,GAAS+F,GACnBU,EAAcxG,GAAa8F,GAC3BW,EAAe1G,GAASgG,GACxBW,EAAmB1G,GAAa+F,GAEhCzzH,EAAU,CACZ,EAkQF,SAA4BptQ,GAC1B,OAAO0gY,EAAqB1gY,EAAEu1O,WAlQ9B,EAqQF,SAAuBv1O,GACrB,OAAOygY,EAAgBzgY,EAAEu1O,WArQzB,EAwQF,SAA0Bv1O,GACxB,OAAO6gY,EAAmB7gY,EAAEi0L,aAxQ5B,EA2QF,SAAqBj0L,GACnB,OAAO4gY,EAAc5gY,EAAEi0L,aA3QvB,EAAK,KACL,EAAKkoM,GACL,EAAKA,GACL,EAAKO,GACL,EAAKc,GACL,EAAKE,GACL,EAAKtB,GACL,EAAKC,GACL,EAAKC,GACL,EAAKG,GACL,EAAKE,GACL,EAAKC,GACL,EAkQF,SAAsB58X,GACpB,OAAOugY,IAAiBvgY,EAAEm0L,YAAc,MAlQxC,EAqQF,SAAuBn0L,GACrB,OAAO,KAAOA,EAAEi0L,WAAa,IArQ7B,EAAKirM,GACL,EAAKC,GACL,EAAKtC,GACL,EAAKC,GACL,EAAKC,GACL,EAAKI,GACL,EAAKC,GACL,EAAKC,GACL,EAAK,KACL,EAAK,KACL,EAAKE,GACL,EAAKE,GACL,EAAKE,GACL,IAAKsB,IAGHwC,EAAa,CACf,EAuPF,SAA+BzhY,GAC7B,OAAO0gY,EAAqB1gY,EAAE44X,cAvP9B,EA0PF,SAA0B54X,GACxB,OAAOygY,EAAgBzgY,EAAE44X,cA1PzB,EA6PF,SAA6B54X,GAC3B,OAAO6gY,EAAmB7gY,EAAE2uO,gBA7P5B,EAgQF,SAAwB3uO,GACtB,OAAO4gY,EAAc5gY,EAAE2uO,gBAhQvB,EAAK,KACL,EAAKivJ,GACL,EAAKA,GACL,EAAKM,GACL,EAAKW,GACL,EAAKE,GACL,EAAKlB,GACL,EAAKC,GACL,EAAKC,GACL,EAAKC,GACL,EAAKG,GACL,EAAKC,GACL,EAuPF,SAAyBp+X,GACvB,OAAOugY,IAAiBvgY,EAAE6uO,eAAiB,MAvP3C,EA0PF,SAA0B7uO,GACxB,OAAO,KAAOA,EAAE2uO,cAAgB,IA1PhC,EAAKuwJ,GACL,EAAKC,GACL,EAAKd,GACL,EAAKC,GACL,EAAKC,GACL,EAAKE,GACL,EAAKC,GACL,EAAKC,GACL,EAAK,KACL,EAAK,KACL,EAAKC,GACL,EAAKE,GACL,EAAKE,GACL,IAAKC,IAGHyC,EAAS,CACX,EA4JF,SAA2B1hY,EAAG6nH,EAAQntH,GACpC,IAAIgE,EAAIyiY,EAAelxW,KAAK43F,EAAOh4E,MAAMn1C,IACzC,OAAOgE,GAAKsB,EAAE6yB,EAAIuuW,EAAmBjhY,IAAIzB,EAAE,GAAGgY,eAAgBhc,EAAIgE,EAAE,GAAG/D,SAAW,GA7JlF,EAgKF,SAAsBqF,EAAG6nH,EAAQntH,GAC/B,IAAIgE,EAAIuiY,EAAUhxW,KAAK43F,EAAOh4E,MAAMn1C,IACpC,OAAOgE,GAAKsB,EAAE6yB,EAAIquW,EAAc/gY,IAAIzB,EAAE,GAAGgY,eAAgBhc,EAAIgE,EAAE,GAAG/D,SAAW,GAjK7E,EAoKF,SAAyBqF,EAAG6nH,EAAQntH,GAClC,IAAIgE,EAAI6iY,EAAatxW,KAAK43F,EAAOh4E,MAAMn1C,IACvC,OAAOgE,GAAKsB,EAAEF,EAAI0hY,EAAiBrhY,IAAIzB,EAAE,GAAGgY,eAAgBhc,EAAIgE,EAAE,GAAG/D,SAAW,GArKhF,EAwKF,SAAoBqF,EAAG6nH,EAAQntH,GAC7B,IAAIgE,EAAI2iY,EAAQpxW,KAAK43F,EAAOh4E,MAAMn1C,IAClC,OAAOgE,GAAKsB,EAAEF,EAAIwhY,EAAYnhY,IAAIzB,EAAE,GAAGgY,eAAgBhc,EAAIgE,EAAE,GAAG/D,SAAW,GAzK3E,EA4KF,SAA6BqF,EAAG6nH,EAAQntH,GACtC,OAAOinY,EAAe3hY,EAAGmgY,EAAiBt4Q,EAAQntH,IA5KlD,EAAK+gY,GACL,EAAKA,GACL,EAAKM,GACL,EAAKV,GACL,EAAKD,GACL,EAAKO,GACL,EAAKA,GACL,EAAKD,GACL,EAAKI,GACL,EAAKN,GACL,EAAKI,GACL,EAuIF,SAAqB57X,EAAG6nH,EAAQntH,GAC9B,IAAIgE,EAAIqiY,EAAS9wW,KAAK43F,EAAOh4E,MAAMn1C,IACnC,OAAOgE,GAAKsB,EAAEc,EAAIkgY,EAAa7gY,IAAIzB,EAAE,GAAGgY,eAAgBhc,EAAIgE,EAAE,GAAG/D,SAAW,GAxI5E,EAAK4gY,GACL,EAAKU,GACL,EAAKC,GACL,EAAKL,GACL,EAAKb,GACL,EAAKC,GACL,EAAKC,GACL,EAAKH,GACL,EAAKI,GACL,EA0JF,SAAyBn7X,EAAG6nH,EAAQntH,GAClC,OAAOinY,EAAe3hY,EAAGqgY,EAAax4Q,EAAQntH,IA1J9C,EA6JF,SAAyBsF,EAAG6nH,EAAQntH,GAClC,OAAOinY,EAAe3hY,EAAGsgY,EAAaz4Q,EAAQntH,IA7J9C,EAAK2gY,GACL,EAAKD,GACL,EAAKE,GACL,IAAKU,IAWP,SAAS4F,EAAUlpO,EAAW00G,GAC5B,OAAO,SAASn4B,GACd,IAIIl1O,EACAoqE,EACAo4D,EANA1a,EAAS,GACTntH,GAAK,EACLuc,EAAI,EACJvY,EAAIg6J,EAAU/9J,OAOlB,IAFMs6O,aAAgB7/M,OAAO6/M,EAAO,IAAI7/M,MAAM6/M,MAErCv6O,EAAIgE,GACqB,KAA5Bg6J,EAAUxvH,WAAWxuC,KACvBmtH,EAAOljH,KAAK+zJ,EAAU7oH,MAAM54B,EAAGvc,IACgB,OAA1CyvE,EAAMqwT,GAAKz6X,EAAI24J,EAAU/xI,SAASjsB,KAAcqF,EAAI24J,EAAU/xI,SAASjsB,GACvEyvE,EAAY,MAANpqE,EAAY,IAAM,KACzBwiI,EAAS6qI,EAAQrtQ,MAAIA,EAAIwiI,EAAO0yG,EAAM9qK,IAC1C09C,EAAOljH,KAAK5E,GACZkX,EAAIvc,EAAI,GAKZ,OADAmtH,EAAOljH,KAAK+zJ,EAAU7oH,MAAM54B,EAAGvc,IACxBmtH,EAAO39G,KAAK,KAIvB,SAAS23X,EAASnpO,EAAW+7B,GAC3B,OAAO,SAAS5sE,GACd,IAEI4xQ,EAAM9qF,EAFN3uS,EAAIo6X,GAAQ,UAAM38V,EAAW,GAGjC,GAFQkkW,EAAe3hY,EAAG04J,EAAW7wC,GAAU,GAAI,IAE1CA,EAAOltH,OAAQ,OAAO,KAG/B,GAAI,MAAOqF,EAAG,OAAO,IAAIo1B,KAAKp1B,EAAE+zL,GAChC,GAAI,MAAO/zL,EAAG,OAAO,IAAIo1B,KAAW,IAANp1B,EAAEvB,GAAY,MAAOuB,EAAIA,EAAE0tL,EAAI,IAY7D,GATI+G,KAAO,MAAOz0L,KAAIA,EAAEy0L,EAAI,GAGxB,MAAOz0L,IAAGA,EAAEmzL,EAAInzL,EAAEmzL,EAAI,GAAW,GAANnzL,EAAEc,QAGrB28B,IAARz9B,EAAEF,IAAiBE,EAAEF,EAAI,MAAOE,EAAIA,EAAEkmH,EAAI,GAG1C,MAAOlmH,EAAG,CACZ,GAAIA,EAAEszL,EAAI,GAAKtzL,EAAEszL,EAAI,GAAI,OAAO,KAC1B,MAAOtzL,IAAIA,EAAE6yB,EAAI,GACnB,MAAO7yB,GAC2B2uS,GAApC8qF,EAAOU,GAAQC,GAAQp6X,EAAE2K,EAAG,EAAG,KAAgBiuX,YAC/Ca,EAAO9qF,EAAM,GAAa,IAARA,EAAYmqF,GAAUl9W,KAAK69W,GAAQX,GAAUW,GAC/DA,EAAOjB,GAAO1lX,OAAO2mX,EAAkB,GAAXz5X,EAAEszL,EAAI,IAClCtzL,EAAE2K,EAAI8uX,EAAK/qJ,iBACX1uO,EAAEF,EAAI25X,EAAK9qJ,cACX3uO,EAAEA,EAAIy5X,EAAK7qJ,cAAgB5uO,EAAE6yB,EAAI,GAAK,IAEA87Q,GAAtC8qF,EAAOS,GAAUE,GAAQp6X,EAAE2K,EAAG,EAAG,KAAgB4qO,SACjDkkJ,EAAO9qF,EAAM,GAAa,IAARA,EAAY2uF,GAAW1hX,KAAK69W,GAAQ6D,GAAW7D,GACjEA,EAAO8C,GAAQzpX,OAAO2mX,EAAkB,GAAXz5X,EAAEszL,EAAI,IACnCtzL,EAAE2K,EAAI8uX,EAAKzlM,cACXh0L,EAAEF,EAAI25X,EAAKxlM,WACXj0L,EAAEA,EAAIy5X,EAAKvlM,WAAal0L,EAAE6yB,EAAI,GAAK,QAE5B,MAAO7yB,GAAK,MAAOA,KACtB,MAAOA,IAAIA,EAAE6yB,EAAI,MAAO7yB,EAAIA,EAAE6X,EAAI,EAAI,MAAO7X,EAAI,EAAI,GAC3D2uS,EAAM,MAAO3uS,EAAIm6X,GAAQC,GAAQp6X,EAAE2K,EAAG,EAAG,IAAIiuX,YAAcsB,GAAUE,GAAQp6X,EAAE2K,EAAG,EAAG,IAAI4qO,SACzFv1O,EAAEF,EAAI,EACNE,EAAEA,EAAI,MAAOA,GAAKA,EAAE6yB,EAAI,GAAK,EAAU,EAAN7yB,EAAEqzL,GAASs7G,EAAM,GAAK,EAAI3uS,EAAE6yB,EAAU,EAAN7yB,EAAEklE,GAASypO,EAAM,GAAK,GAKzF,MAAI,MAAO3uS,GACTA,EAAEmzL,GAAKnzL,EAAEy0L,EAAI,IAAM,EACnBz0L,EAAE+yB,GAAK/yB,EAAEy0L,EAAI,IACN0lM,GAAQn6X,IAIVk6X,GAAUl6X,IAIrB,SAAS2hY,EAAe3hY,EAAG04J,EAAW7wC,EAAQ5wG,GAO5C,IANA,IAGIlX,EACAoiC,EAJAznC,EAAI,EACJgE,EAAIg6J,EAAU/9J,OACdmF,EAAI+nH,EAAOltH,OAIRD,EAAIgE,GAAG,CACZ,GAAIuY,GAAKnX,EAAG,OAAQ,EAEpB,GAAU,MADVC,EAAI24J,EAAUxvH,WAAWxuC,OAIvB,GAFAqF,EAAI24J,EAAU/xI,OAAOjsB,OACrBynC,EAAQu/V,EAAO3hY,KAAKy6X,GAAO9hO,EAAU/xI,OAAOjsB,KAAOqF,MACnCkX,EAAIkrB,EAAMniC,EAAG6nH,EAAQ5wG,IAAM,EAAI,OAAQ,OAClD,GAAIlX,GAAK8nH,EAAO3+E,WAAWjyB,KAChC,OAAQ,EAIZ,OAAOA,EAwFT,OAzMAm2P,EAAQ1iQ,EAAIk3X,EAAUvB,EAAajzH,GACnCA,EAAQ/hJ,EAAIu2Q,EAAUtB,EAAalzH,GACnCA,EAAQrtQ,EAAI6hY,EAAUzB,EAAiB/yH,GACvCq0H,EAAW/2X,EAAIk3X,EAAUvB,EAAaoB,GACtCA,EAAWp2Q,EAAIu2Q,EAAUtB,EAAamB,GACtCA,EAAW1hY,EAAI6hY,EAAUzB,EAAiBsB,GAoMnC,CACLl/P,OAAQ,SAASm2B,GACf,IAAI55J,EAAI8iY,EAAUlpO,GAAa,GAAI00G,GAEnC,OADAtuQ,EAAEmL,SAAW,WAAa,OAAOyuJ,GAC1B55J,GAETqjC,MAAO,SAASu2H,GACd,IAAI53J,EAAI+gY,EAASnpO,GAAa,IAAI,GAElC,OADA53J,EAAEmJ,SAAW,WAAa,OAAOyuJ,GAC1B53J,GAETy5X,UAAW,SAAS7hO,GAClB,IAAI55J,EAAI8iY,EAAUlpO,GAAa,GAAI+oO,GAEnC,OADA3iY,EAAEmL,SAAW,WAAa,OAAOyuJ,GAC1B55J,GAETgjY,SAAU,SAASppO,GACjB,IAAI53J,EAAI+gY,EAASnpO,GAAa,IAAI,GAElC,OADA53J,EAAEmJ,SAAW,WAAa,OAAOyuJ,GAC1B53J,IC1WFihY,CAZG,CACZ3B,SAAU,SACVnrJ,KAAM,aACNC,KAAM,eACNsrJ,QAAS,CAAC,KAAM,MAChBtsJ,KAAM,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YACzEysJ,UAAW,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtDxsJ,OAAQ,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YACvH2sJ,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,SAK3FxG,GAAaD,GAAO93P,OACR83P,GAAOl4V,MACnBo4V,GAAYF,GAAOE,UACRF,GAAOyH,S,wBGhBpB,SAAS/7O,KACP,IAEI2gM,EACAr5U,EACA20X,EACA3zX,EAGAy3I,EARAqgM,EAAK,EACL76U,EAAK,EAKLuyI,EAAelV,IACfkd,GAAQ,EAGZ,SAAS13I,EAAMzD,GACb,OAAY,MAALA,GAAamB,MAAMnB,GAAKA,GAAKo7I,EAAUjI,EAAqB,IAARmkP,EAAY,IAAOt3X,GAAK2D,EAAU3D,GAAKg8U,GAAMs7C,EAAKn8O,EAAQ7gJ,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,EAAGnF,IAAMA,IAerJ,SAAS2+H,EAAMvzG,GACb,OAAO,SAAS1D,GAAG,MACbszH,EAAI5oE,EACR,OAAO9+E,UAAUrD,QAAW+qJ,GAAD,cAAWtzH,EAAX,OAAK0qD,EAAL,KAAc+gE,EAAe/nH,EAAY4vH,EAAI5oE,GAAK3uE,GAAS,CAAC0vI,EAAa,GAAIA,EAAa,KAYzH,OA3BA1vI,EAAM2gI,OAAS,SAAS18G,GAAG,MACzB,OAAOp0B,UAAUrD,QAAU,cAAWy3B,EAAX,GAAC+zT,EAAD,KAAK76U,EAAL,KAAco7U,EAAKr4U,EAAU83U,GAAMA,GAAK94U,EAAKgB,EAAU/C,GAAMA,GAAK02X,EAAMt7C,IAAOr5U,EAAK,EAAI,GAAKA,EAAKq5U,GAAKv4U,GAAS,CAACg4U,EAAI76U,IAGlJ6C,EAAM03I,MAAQ,SAASzzH,GACrB,OAAOp0B,UAAUrD,QAAUkrJ,IAAUzzH,EAAGjkB,GAAS03I,GAGnD13I,EAAM0vI,aAAe,SAASzrH,GAC5B,OAAOp0B,UAAUrD,QAAUkjJ,EAAezrH,EAAGjkB,GAAS0vI,GAUxD1vI,EAAMk7H,MAAQA,EAAMvzG,MAEpB3nB,EAAMm4I,WAAajd,EAAMkd,MAEzBp4I,EAAM23I,QAAU,SAAS1zH,GACvB,OAAOp0B,UAAUrD,QAAUmrJ,EAAU1zH,EAAGjkB,GAAS23I,GAG5C,SAASxlJ,GAEd,OADA+N,EAAY/N,EAAGomV,EAAKpmV,EAAE6lV,GAAK94U,EAAK/M,EAAEgL,GAAK02X,EAAMt7C,IAAOr5U,EAAK,EAAI,GAAKA,EAAKq5U,GAChEv4U,GAIJ,SAAS+zB,GAAK/b,EAAQ3rB,GAC3B,OAAOA,EACFs0I,OAAO3oH,EAAO2oH,UACd+O,aAAa13H,EAAO03H,gBACpBgI,MAAM1/H,EAAO0/H,SACbC,QAAQ3/H,EAAO2/H,WAGP,SAASm8O,KACtB,IAAI9zX,EAAQqqJ,YAAUzS,KAAcpd,MAMpC,OAJAx6H,EAAM+zB,KAAO,WACX,OAAOA,GAAK/zB,EAAO8zX,OAGdrkP,IAAiB3/I,MAAMkQ,EAAOnQ,WAGhC,SAASkkY,KACd,IAAI/zX,EAAQ+mX,EAAQnvO,MAAejX,OAAO,CAAC,EAAG,KAM9C,OAJA3gI,EAAM+zB,KAAO,WACX,OAAOA,GAAK/zB,EAAO+zX,MAAiB1zX,KAAKL,EAAMK,SAG1CovI,IAAiB3/I,MAAMkQ,EAAOnQ,WAGhC,SAASmkY,KACd,IAAIh0X,EAAQynX,EAAU7vO,MAMtB,OAJA53I,EAAM+zB,KAAO,WACX,OAAOA,GAAK/zB,EAAOg0X,MAAoBtrP,SAAS1oI,EAAM0oI,aAGjD+G,IAAiB3/I,MAAMkQ,EAAOnQ,WAGhC,SAASokY,KACd,IAAIj0X,EAAQ8nX,EAAOlwO,MAMnB,OAJA53I,EAAM+zB,KAAO,WACX,OAAOA,GAAK/zB,EAAOi0X,MAAiBjiP,SAAShyI,EAAMgyI,aAG9CvC,IAAiB3/I,MAAMkQ,EAAOnQ,WAGhC,SAASqkY,KACd,OAAOD,GAAcnkY,MAAM,KAAMD,WAAWmiJ,SAAS,ICrGxC,SAASmiP,KACtB,IAAIxzP,EAAS,GACT+O,EAAelV,IAEnB,SAASx6H,EAAMzD,GACb,GAAS,MAALA,IAAcmB,MAAMnB,GAAKA,GAAI,OAAOmzI,GAAc+H,YAAO9W,EAAQpkI,EAAG,GAAK,IAAMokI,EAAOn0I,OAAS,IA2BrG,OAxBAwT,EAAM2gI,OAAS,SAAS18G,GACtB,IAAKp0B,UAAUrD,OAAQ,OAAOm0I,EAAOj/F,QACrCi/F,EAAS,GAFgB,oBAGX18G,GAHW,IAGzB,IAAK,EAAL,qBAAiB,KAARpyB,EAAQ,QAAS,MAALA,GAAc6L,MAAM7L,GAAKA,IAAI8uI,EAAOnqI,KAAK3E,IAHrC,8BAKzB,OADA8uI,EAAOjuF,KAAK21U,KACLroX,GAGTA,EAAM0vI,aAAe,SAASzrH,GAC5B,OAAOp0B,UAAUrD,QAAUkjJ,EAAezrH,EAAGjkB,GAAS0vI,GAGxD1vI,EAAMk7H,MAAQ,WACZ,OAAOyF,EAAOxpH,KAAI,SAACtlB,EAAGtF,GAAJ,OAAUmjJ,EAAanjJ,GAAKo0I,EAAOn0I,OAAS,QAGhEwT,EAAM4oX,UAAY,SAASr4X,GACzB,OAAOJ,MAAMsY,KAAK,CAACjc,OAAQ+D,EAAI,IAAI,SAAC0zB,EAAG13B,GAAJ,OAAU27X,EAASvnP,EAAQp0I,EAAIgE,OAGpEyP,EAAM+zB,KAAO,WACX,OAAOogW,GAAmBzkP,GAAc/O,OAAOA,IAG1C8O,IAAiB3/I,MAAMkQ,EAAOnQ,WClCxB,SAASioJ,GAAUnwH,EAAaxa,QAC9BmiB,IAAXniB,IAAsBA,EAASwa,EAAaA,EAAcv4B,MAE9D,IADA,IAAI7C,EAAI,EAAGgE,EAAI4c,EAAO3gB,OAAS,EAAGoQ,EAAIuQ,EAAO,GAAIuyK,EAAI,IAAIvvL,MAAMI,EAAI,EAAI,EAAIA,GACpEhE,EAAIgE,GAAGmvL,EAAEnzL,GAAKo7B,EAAY/qB,EAAGA,EAAIuQ,IAAS5gB,IACjD,OAAO,SAAS4F,GACd,IAAI5F,EAAIsK,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAInR,EAAI,EAAGsG,KAAK0W,MAAMpb,GAAK5B,KACpD,OAAOmvL,EAAEnzL,GAAG4F,EAAI5F,ICCpB,SAASqrJ,KACP,IAII2gM,EACAr5U,EACAC,EACA00X,EACAO,EAEAl0X,EAEAy3I,EAZAqgM,EAAK,EACL76U,EAAK,GACLE,EAAK,EACL/M,EAAI,EAMJo/I,EAAelV,IAEfkd,GAAQ,EAGZ,SAAS13I,EAAMzD,GACb,OAAOmB,MAAMnB,GAAKA,GAAKo7I,GAAWp7I,EAAI,KAAQA,GAAK2D,EAAU3D,IAAM2C,IAAO5O,EAAIiM,EAAIjM,EAAI4O,EAAK20X,EAAMO,GAAM1kP,EAAagI,EAAQ7gJ,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,EAAGnF,IAAMA,IAe5J,SAAS2+H,EAAMvzG,GACb,OAAO,SAAS1D,GAAG,MACbszH,EAAI5oE,EAAI3U,EACZ,OAAOnqE,UAAUrD,QAAW+qJ,GAAD,cAAetzH,EAAf,OAAK0qD,EAAL,KAAS3U,EAAT,KAAkB01E,EAAeoI,GAAUnwH,EAAa,CAAC4vH,EAAI5oE,EAAI3U,IAAMh6D,GAAS,CAAC0vI,EAAa,GAAIA,EAAa,IAAMA,EAAa,KAYjK,OA3BA1vI,EAAM2gI,OAAS,SAAS18G,GAAG,MACzB,OAAOp0B,UAAUrD,QAAU,cAAey3B,EAAf,GAAC+zT,EAAD,KAAK76U,EAAL,KAASE,EAAT,KAAkBk7U,EAAKr4U,EAAU83U,GAAMA,GAAK94U,EAAKgB,EAAU/C,GAAMA,GAAKgC,EAAKe,EAAU7C,GAAMA,GAAKw2X,EAAMt7C,IAAOr5U,EAAK,EAAI,IAAOA,EAAKq5U,GAAK67C,EAAMl1X,IAAOC,EAAK,EAAI,IAAOA,EAAKD,GAAK5O,EAAI4O,EAAKq5U,GAAM,EAAI,EAAGv4U,GAAS,CAACg4U,EAAI76U,EAAIE,IAGnP2C,EAAM03I,MAAQ,SAASzzH,GACrB,OAAOp0B,UAAUrD,QAAUkrJ,IAAUzzH,EAAGjkB,GAAS03I,GAGnD13I,EAAM0vI,aAAe,SAASzrH,GAC5B,OAAOp0B,UAAUrD,QAAUkjJ,EAAezrH,EAAGjkB,GAAS0vI,GAUxD1vI,EAAMk7H,MAAQA,EAAMvzG,MAEpB3nB,EAAMm4I,WAAajd,EAAMkd,MAEzBp4I,EAAM23I,QAAU,SAAS1zH,GACvB,OAAOp0B,UAAUrD,QAAUmrJ,EAAU1zH,EAAGjkB,GAAS23I,GAG5C,SAASxlJ,GAEd,OADA+N,EAAY/N,EAAGomV,EAAKpmV,EAAE6lV,GAAK94U,EAAK/M,EAAEgL,GAAKgC,EAAKhN,EAAEkL,GAAKw2X,EAAMt7C,IAAOr5U,EAAK,EAAI,IAAOA,EAAKq5U,GAAK67C,EAAMl1X,IAAOC,EAAK,EAAI,IAAOA,EAAKD,GAAK5O,EAAI4O,EAAKq5U,GAAM,EAAI,EAC7Iv4U,GAII,SAASq0X,KACtB,IAAIr0X,EAAQqqJ,YAAUzS,KAAcpd,MAMpC,OAJAx6H,EAAM+zB,KAAO,WACX,OAAOA,GAAK/zB,EAAOq0X,OAGd5kP,IAAiB3/I,MAAMkQ,EAAOnQ,WAGhC,SAASykY,KACd,IAAIt0X,EAAQ+mX,EAAQnvO,MAAejX,OAAO,CAAC,GAAK,EAAG,KAMnD,OAJA3gI,EAAM+zB,KAAO,WACX,OAAOA,GAAK/zB,EAAOs0X,MAAgBj0X,KAAKL,EAAMK,SAGzCovI,IAAiB3/I,MAAMkQ,EAAOnQ,WAGhC,SAAS0kY,KACd,IAAIv0X,EAAQynX,EAAU7vO,MAMtB,OAJA53I,EAAM+zB,KAAO,WACX,OAAOA,GAAK/zB,EAAOu0X,MAAmB7rP,SAAS1oI,EAAM0oI,aAGhD+G,IAAiB3/I,MAAMkQ,EAAOnQ,WAGhC,SAAS2kY,KACd,IAAIx0X,EAAQ8nX,EAAOlwO,MAMnB,OAJA53I,EAAM+zB,KAAO,WACX,OAAOA,GAAK/zB,EAAOw0X,MAAgBxiP,SAAShyI,EAAMgyI,aAG7CvC,IAAiB3/I,MAAMkQ,EAAOnQ,WAGhC,SAAS4kY,KACd,OAAOD,GAAa1kY,MAAM,KAAMD,WAAWmiJ,SAAS,I,+BCtGtDpsJ,EAAOC,QAAU,IAA0B,sC,6BCE3CgH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAGT,IAEIslY,EAAuB5+U,EAFDhwD,EAAQ,MAI9B6uY,EAAU7uY,EAAQ,KAIlB8uY,EAAY9+U,EAFDhwD,EAAQ,MAMnB+uY,EAAgB/+U,EAFDhwD,EAAQ,MAI3B,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAGvF,IAAIolW,EAAa,wBAEjBjvY,EAAQq9B,QAAU,SAAU9zB,GAC1B,IAAIygJ,EAAYhgJ,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,EAEpF,OAAO,EAAI6kY,EAAqBxxW,SAAS9zB,GAAO2lY,MAAK,SAAUxhY,GAE7D,GAAkB,aAAdA,EAAKoN,MAAwBm0X,EAAW7iW,KAAK1+B,EAAKnE,OAAtD,CAGA,IAAIk3M,EAAWouL,EAAqBxxW,QAAQrL,UAAUtkB,EAAKy8O,OAG3D,KAAI1pC,EAASvsM,QAAQ,aAAe,GAAKusM,EAASvsM,QAAQ,QAAU,GAApE,CAEA,IAAI+0N,EAAM6lK,EAAQjqB,OAAO12U,MAAMsyK,GAI3B0uL,GAAa,EAAIJ,EAAU1xW,SAAS4rM,EAAKj/E,GAG7Ct8I,EAAKoN,KAAO,OACZpN,EAAKnE,OAAQ,EAAIylY,EAAc3xW,SAAS3vB,EAAKnE,MAAO4lY,EAAYnlP,QAC/D,GAAM/zI,YAGXlW,EAAOC,QAAUA,EAAO,S,6BChDxBD,EAAOC,QAAUC,EAAQ,M,6BCAzB+G,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQovY,SAAWpvY,EAAQqvY,QAAUrvY,EAAQsvY,YAAS7lW,EAEtD,IAQgCI,EAR5B1iC,EAAe,WAAc,SAASg9H,EAAiB39H,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAAiB,OAAO,SAAUP,EAAae,EAAYC,GAAiJ,OAA9HD,GAAY+8H,EAAiB99H,EAAYiB,UAAWF,GAAiBC,GAAa88H,EAAiB99H,EAAagB,GAAqBhB,GAA7gB,GAEf+9H,EAASnkI,EAAQ,GAEjBukI,EAAavkI,EAAQ,GAErBsvY,GAE4B1lW,EAFS26F,IAEY36F,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAIvF,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAAS8+H,EAA2Bv6G,EAAMhf,GAAQ,IAAKgf,EAAQ,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx5H,GAAyB,kBAATA,GAAqC,oBAATA,EAA8Bgf,EAAPhf,EAElO,SAAS3C,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,kEAAoE8C,GAAeD,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUtC,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAesC,IAAYpC,OAAO65H,eAAiB75H,OAAO65H,eAAe13H,EAAUC,GAAcD,EAASsoC,UAAYroC,GAEje,IAAIomY,EAAiC,qBAAd77S,UAKnB87S,EAAO,SAAc94Q,GACvB,IAAIllH,EAAMklH,EAAKllH,IACXuwF,EAAU20B,EAAK30B,QAEnB,OAAO,IAAIrhE,SAAQ,SAAUw8F,GAC3B,IAGIuyQ,EAAY,WACd,OAAOvyQ,GAAQ,IAGbi2P,EAAM,IAAIzhX,eAEdyhX,EAAIroW,QAAU2kX,EACdtc,EAAIE,UAAYoc,EAChBtc,EAAIuc,mBAAqB,WACnBvc,EAAIpB,aAAeoB,EAAIwc,mBACrBxc,EAAI/iM,OAZHlzD,GAAQ,GAeXuyQ,MAKNtc,EAAIvhX,KAAK,MAAOJ,GAChB2hX,EAAIpxR,QAAUA,EACdoxR,EAAIthX,WAIJolH,EAAY,CACd76G,SAAUkzX,EAAYlyW,QAAQ3vB,KAC9BuoH,SAAUs5Q,EAAYlyW,QAAQi8B,KAC9Bu2U,QAASN,EAAYlyW,QAAQ+2F,UAAU,CAACm7Q,EAAYlyW,QAAQmsB,MAAM,CAChE/3C,IAAK89X,EAAYlyW,QAAQw2F,OACzBgE,SAAU03Q,EAAYlyW,QAAQu2F,OAC9B5xB,QAASutS,EAAYlyW,QAAQu2F,SAC3B27Q,EAAYlyW,QAAQs2F,OACxBm8Q,YAAaP,EAAYlyW,QAAQw2F,QAG/B4S,EAAe,CACjBopQ,SAAS,EACTC,YAAa,QAGXC,EAAuB,CACzBlQ,QAAS2P,GAnDwB,iDAmDkBpjW,KAAKunD,UAAU6nE,WAClE/pJ,IAAK,0BACLuwF,QAAS,IACT61B,SAAU,KAKRm4Q,EAAO,SAAUxqQ,GAGnB,SAASwqQ,IACP7pY,EAAgB0D,KAAMmmY,GAEtB,IAAI5wV,EAAQgmF,EAA2Bv7H,MAAOmmY,EAAKv+V,WAAazqC,OAAOu+H,eAAeyqQ,IAAOnkY,KAAKhC,OAQlG,OANAu1C,EAAMwvB,MAAQ,CACZqhU,QAAQT,GAAyC,mBAArB77S,UAAUu8S,QAAuBv8S,UAAUu8S,QAGzE9wV,EAAM+wV,SAAW/wV,EAAM+wV,SAASzjY,KAAK0yC,GACrCA,EAAMgxV,UAAYhxV,EAAMgxV,UAAU1jY,KAAK0yC,GAChCA,EAwGT,OArHAl2C,EAAU8mY,EAAMxqQ,GAgBhBr+H,EAAa6oY,EAAM,CAAC,CAClB9oY,IAAK,oBACLqC,MAAO,WACLgC,OAAO4xB,iBAAiB,SAAUtzB,KAAKsmY,UACvC5kY,OAAO4xB,iBAAiB,UAAWtzB,KAAKumY,WAEpCvmY,KAAKwmY,mBAAmBxQ,SAC1Bh2X,KAAKymY,iBAGR,CACDppY,IAAK,uBACLqC,MAAO,WACLgC,OAAOojE,oBAAoB,SAAU9kE,KAAKsmY,UAC1C5kY,OAAOojE,oBAAoB,UAAW9kE,KAAKumY,WAEvCvmY,KAAK0mY,WACP1mY,KAAK2mY,gBAGR,CACDtpY,IAAK,iBACLqC,MAAO,WACL,IAAIqpK,EAAS/oK,KAAKpD,MACd4V,EAAWu2J,EAAOv2J,SAClByzX,EAAcl9N,EAAOk9N,YAIzB,OAAI,EAAI1rQ,EAAOiH,gBAAgBhvH,GACtBA,EAIJA,EAKE+nH,EAAO3/G,cAAcxa,WAAMw/B,EAAW,CAACqmW,EAAa,IAAIz9W,OA9HrE,SAA4BysB,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,CAAE,IAAK,IAAIp4C,EAAI,EAAGq4C,EAAOz0C,MAAMw0C,EAAIn4C,QAASD,EAAIo4C,EAAIn4C,OAAQD,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAAe,OAAOz0C,MAAMsY,KAAKk8B,GA8H9GD,CAAmBulF,EAAOkkB,SAASD,QAAQhsI,MAJxG,OAMV,CACDnV,IAAK,mBACLqC,MAAO,WACL,OAAQM,KAAKpD,MAAMopY,SACjB,KAAK,EACH,OAAOE,EACT,KAAK,EACH,MAAO,CAAElQ,SAAS,GACpB,QACE,OAAO74X,OAAOu6B,OAAO,GAAIwuW,EAAsBlmY,KAAKpD,MAAMopY,YAG/D,CACD3oY,IAAK,WACLqC,MAAO,WACAM,KAAK+kE,MAAMqhU,SACdpmY,KAAK4mY,qBAAoB,GACzB5mY,KAAKqkK,SAAS,CAAE+hO,QAAQ,OAG3B,CACD/oY,IAAK,YACLqC,MAAO,WACDM,KAAK+kE,MAAMqhU,SACbpmY,KAAK4mY,qBAAoB,GACzB5mY,KAAKqkK,SAAS,CAAE+hO,QAAQ,OAG3B,CACD/oY,IAAK,sBACLqC,MAAO,SAA6B0mY,GAC9BpmY,KAAKpD,MAAMwvH,UACbpsH,KAAKpD,MAAMwvH,SAASg6Q,KAGvB,CACD/oY,IAAK,eACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAGTguH,EADoBhuH,KAAKwmY,mBACIx4Q,SAEjChuH,KAAK0mY,UAAYtgX,aAAY,WAC3B,IAAIygX,EAAqBxqV,EAAOmqV,mBAC5B5+X,EAAMi/X,EAAmBj/X,IACzBuwF,EAAU0uS,EAAmB1uS,QAEjCytS,EAAK,CAAEh+X,IAAKA,EAAKuwF,QAASA,IAAWw7B,MAAK,SAAUyyQ,GAClDA,EAAS/pV,EAAOiqV,WAAajqV,EAAOkqV,iBAErCv4Q,KAEJ,CACD3wH,IAAK,cACLqC,MAAO,WACL8mB,cAAcxmB,KAAK0mY,eAIhBP,EAtHE,CAuHT5rQ,EAAOuC,WAETqpQ,EAAK94Q,UAAYA,EACjB84Q,EAAKvpQ,aAAeA,EAEpB,IAAI6oQ,EAAStvY,EAAQsvY,OAAS,SAAUqB,GAGtC,SAASrB,IAGP,OAFAnpY,EAAgB0D,KAAMylY,GAEflqQ,EAA2Bv7H,MAAOylY,EAAO79V,WAAazqC,OAAOu+H,eAAe+pQ,IAASrlY,MAAMJ,KAAMG,YAU1G,OAfAd,EAAUomY,EAAQqB,GAQlBxpY,EAAamoY,EAAQ,CAAC,CACpBpoY,IAAK,SACLqC,MAAO,WACL,OAAOM,KAAK+kE,MAAMqhU,OAASpmY,KAAKmT,iBAAmB,SAIhDsyX,EAhBqB,CAiB5BU,GAEFV,EAAOp4Q,UAAYA,EACnBo4Q,EAAO7oQ,aAAeA,EAEtB,IAAI4oQ,EAAUrvY,EAAQqvY,QAAU,SAAUuB,GAGxC,SAASvB,IAGP,OAFAlpY,EAAgB0D,KAAMwlY,GAEfjqQ,EAA2Bv7H,MAAOwlY,EAAQ59V,WAAazqC,OAAOu+H,eAAe8pQ,IAAUplY,MAAMJ,KAAMG,YAU5G,OAfAd,EAAUmmY,EAASuB,GAQnBzpY,EAAakoY,EAAS,CAAC,CACrBnoY,IAAK,SACLqC,MAAO,WACL,OAAQM,KAAK+kE,MAAMqhU,OAAiC,KAAxBpmY,KAAKmT,qBAI9BqyX,EAhBuB,CAiB9BW,GAEFX,EAAQn4Q,UAAYA,EACpBm4Q,EAAQ5oQ,aAAeA,EAEvB,IAAI2oQ,EAAWpvY,EAAQovY,SAAW,SAAUyB,GAG1C,SAASzB,IAGP,OAFAjpY,EAAgB0D,KAAMulY,GAEfhqQ,EAA2Bv7H,MAAOulY,EAAS39V,WAAazqC,OAAOu+H,eAAe6pQ,IAAWnlY,MAAMJ,KAAMG,YAU9G,OAfAd,EAAUkmY,EAAUyB,GAQpB1pY,EAAaioY,EAAU,CAAC,CACtBloY,IAAK,SACLqC,MAAO,WACL,OAAOM,KAAKpD,MAAMkW,OAAO,CAAEszX,OAAQpmY,KAAK+kE,MAAMqhU,aAI3Cb,EAhByB,CAiBhCY,GAEFZ,EAASl4Q,UAAYlwH,OAAOu6B,OAAO,GAAI21F,EAAW,CAChDv6G,OAAQ4yX,EAAYlyW,QAAQi8B,KAAKm6D,aAEnC27Q,EAAS3oQ,aAAeA,G,2E/CjRlB,EAAU,YAA8B,UAAW,CACvD,IAAK,kBAAM,8BAAgB,MAAK,YAAC,OAAI,IAAI,EAAE,kB,iLgDL7C,SAAS7C,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI8nR,EAAc,CAAC,SAAU,MAAO,IAAK,M,QCNzC,SAASh0O,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAKnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAI3M,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAexM,IA4BI2mY,EAAU,SAAiBlmY,GAC7B,OAAOA,EAAEk+C,kBAAoBl+C,EAAEk+C,eAAeniD,QAGrCoqY,EAAqB,SAAU97E,IA3D1C,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GA4DjXF,CAAU6nY,EAAO97E,GAEjB,IAhEoB5uT,EAAae,EAAYC,EAgEzCypD,EAAStnD,EAAaunY,GAE1B,SAASA,EAAMtqY,GACb,IAAI24C,EAuEJ,OA9IJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAyE5GH,CAAgB0D,KAAMknY,IAEtB3xV,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBuqY,gBAAa,EACnB5xV,EAAM6xV,gCAA6B,EAEnC7xV,EAAM8xV,WAAa,SAAUtmY,GACvBw0C,EAAM4xV,aACR7yW,aAAaihB,EAAM4xV,YACnB5xV,EAAM4xV,WAAa,MAGjB5xV,EAAMwvB,MAAMuiU,kBACd/xV,EAAMgyV,oBAAoBxmY,GACjBw0C,EAAMwvB,MAAMyiU,eACrBjyV,EAAMkyV,gBAAgB1mY,IAI1Bw0C,EAAMmyV,gBAAkB,SAAU3mY,GACR,MAApBA,EAAEk+C,gBAA0Bl+C,EAAEk+C,eAAeniD,OAAS,GACxDy4C,EAAM8xV,WAAWtmY,EAAEk+C,eAAe,KAItC1J,EAAMoyV,cAAgB,WACpBpyV,EAAM8uH,SAAS,CACbijO,mBAAmB,EACnBE,eAAe,IAGjBjyV,EAAMqyV,yBAGRryV,EAAMsyV,mBAAqB,YACrBtyV,EAAMwvB,MAAMuiU,mBAAqB/xV,EAAMwvB,MAAMyiU,iBAC/CjyV,EAAM4xV,WAAazlY,OAAOmzB,WAAW0gB,EAAMoyV,cAAepyV,EAAM34C,MAAMkrY,gBAI1EvyV,EAAMwyV,4BAA8B,WAClCxyV,EAAM8uH,SAAS,CACb2jO,cAAc,KAIlBzyV,EAAM0yV,4BAA8B,WAClC1yV,EAAM8uH,SAAS,CACb2jO,cAAc,KAIlBzyV,EAAM2yV,qBAAuB,SAAUnnY,GACrC,IAAIukB,EAAQ2hX,EAAQlmY,GAAKA,EAAEk+C,eAAe,GAAKl+C,EAE/Cw0C,EAAM8uH,SAAS,CACbijO,mBAAmB,EACnBE,eAAe,EACfW,gBAAiB7iX,EAAM89D,QAGzB7tC,EAAM6yV,yBAGR7yV,EAAM6xV,2BAA6B,CACjC/jS,OAAQ9tD,EAAM8yV,yBAAyBxlY,KAAK44H,EAAuBlmF,GAAQ,UAC3EkuD,KAAMluD,EAAM8yV,yBAAyBxlY,KAAK44H,EAAuBlmF,GAAQ,SAE3EA,EAAMwvB,MAAQ,GACPxvB,EA2bT,OArkBoB/4C,EA6IP0qY,EA7IgC1pY,EA+czC,CAAC,CACHH,IAAK,yBACLqC,MAAO,SAAgC9C,GACrC,IAAIiQ,EAAIjQ,EAAMiQ,EACVC,EAAIlQ,EAAMkQ,EACVlG,EAAQhK,EAAMgK,MACdC,EAASjK,EAAMiK,OACf+O,EAAShZ,EAAMgZ,OACf0yX,EAAQnhY,KAAK0W,MAAM/Q,EAAIjG,EAAS,GAAK,EACzC,OAAoBupH,IAAMx1G,cAAcw1G,IAAMmV,SAAU,KAAmBnV,IAAMx1G,cAAc,OAAQ,CACrG/N,EAAGA,EACHC,EAAGA,EACHlG,MAAOA,EACPC,OAAQA,EACR8O,KAAMC,EACNA,OAAQ,SACOw6G,IAAMx1G,cAAc,OAAQ,CAC3CnN,GAAIZ,EAAI,EACRa,GAAI46X,EACJ36X,GAAId,EAAIjG,EAAQ,EAChBgH,GAAI06X,EACJ3yX,KAAM,OACNC,OAAQ,SACOw6G,IAAMx1G,cAAc,OAAQ,CAC3CnN,GAAIZ,EAAI,EACRa,GAAI46X,EAAQ,EACZ36X,GAAId,EAAIjG,EAAQ,EAChBgH,GAAI06X,EAAQ,EACZ3yX,KAAM,OACNC,OAAQ,YAGX,CACDvY,IAAK,kBACLqC,MAAO,SAAyBu8T,EAAQr/T,GAWtC,OARkBwzH,IAAMoR,eAAey6L,GACZ7rM,IAAMkzC,aAAa24J,EAAQr/T,GAC3Cg0I,IAAYqrL,GACTA,EAAOr/T,GAEPsqY,EAAMqB,uBAAuB3rY,KAK5C,CACDS,IAAK,2BACLqC,MAAO,SAAkC0/I,EAAW2mB,GAClD,IAAI/0J,EAAOouI,EAAUpuI,KACjBpK,EAAQw4I,EAAUx4I,MAClBiG,EAAIuyI,EAAUvyI,EACd27X,EAAiBppP,EAAUopP,eAC3BC,EAAWrpP,EAAUqpP,SACrB3tP,EAAasE,EAAUtE,WACvBC,EAAWqE,EAAUrE,SAEzB,GAAI/pI,IAAS+0J,EAAU2iO,UAAYD,IAAa1iO,EAAU4iO,aACxD,OAAO7/P,EAAc,CACnB4/P,SAAU13X,EACV43X,mBAAoBJ,EACpBG,aAAcF,EACdI,MAAOh8X,EACP+mT,UAAWhtT,GACVoK,GAAQA,EAAKlU,OAnfN,SAAqBgwH,GACrC,IAAI97G,EAAO87G,EAAK97G,KACZ8pI,EAAahuB,EAAKguB,WAClBC,EAAWjuB,EAAKiuB,SAChBluI,EAAIigH,EAAKjgH,EACTjG,EAAQkmH,EAAKlmH,MACb4hY,EAAiB17Q,EAAK07Q,eAE1B,IAAKx3X,IAASA,EAAKlU,OACjB,MAAO,GAGT,IAAIkoC,EAAMh0B,EAAKlU,OACXwT,EAAQw4X,cAAa73P,OAAOolH,IAAO,EAAGrxN,IAAMwmG,MAAM,CAAC3+H,EAAGA,EAAIjG,EAAQ4hY,IAClEO,EAAcz4X,EAAM2gI,SAASxpH,KAAI,SAAUi5B,GAC7C,OAAOpwC,EAAMowC,MAEf,MAAO,CACLsnV,cAAc,EACdR,eAAe,EACfF,mBAAmB,EACnBjkS,OAAQ/yF,EAAMwqI,GACdr3C,KAAMnzF,EAAMyqI,GACZzqI,MAAOA,EACPy4X,YAAaA,GA2dgBC,CAAY,CACnCh4X,KAAMA,EACNpK,MAAOA,EACPiG,EAAGA,EACH27X,eAAgBA,EAChB1tP,WAAYA,EACZC,SAAUA,IACP,CACHzqI,MAAO,KACPy4X,YAAa,OAIjB,GAAIhjO,EAAUz1J,QAAU1J,IAAUm/J,EAAU6tJ,WAAa/mT,IAAMk5J,EAAU8iO,OAASL,IAAmBziO,EAAU6iO,oBAAqB,CAClI7iO,EAAUz1J,MAAMk7H,MAAM,CAAC3+H,EAAGA,EAAIjG,EAAQ4hY,IACtC,IAAIO,EAAchjO,EAAUz1J,MAAM2gI,SAASxpH,KAAI,SAAUi5B,GACvD,OAAOqlH,EAAUz1J,MAAMowC,MAEzB,MAAO,CACLgoV,SAAU13X,EACV43X,mBAAoBJ,EACpBG,aAAcF,EACdI,MAAOh8X,EACP+mT,UAAWhtT,EACXy8F,OAAQ0iE,EAAUz1J,MAAM8uI,EAAUtE,YAClCr3C,KAAMsiE,EAAUz1J,MAAM8uI,EAAUrE,UAChCguP,YAAaA,GAIjB,OAAO,OAER,CACD1rY,IAAK,kBACLqC,MAAO,SAAyB8rI,EAAO3+H,GAKrC,IAJA,IACIiL,EAAQ,EACRw7B,EAFMk4F,EAAM1uI,OAEA,EAETw2C,EAAMx7B,EAAQ,GAAG,CACtB,IAAIw2H,EAASnnI,KAAK0W,OAAO/F,EAAQw7B,GAAO,GAEpCk4F,EAAM8C,GAAUzhI,EAClBymC,EAAMg7F,EAENx2H,EAAQw2H,EAIZ,OAAOzhI,GAAK2+H,EAAMl4F,GAAOA,EAAMx7B,MAjkBFva,EA6Ib,CAAC,CACnBF,IAAK,uBACLqC,MAAO,WACDM,KAAKmnY,aACP7yW,aAAat0B,KAAKmnY,YAClBnnY,KAAKmnY,WAAa,MAGpBnnY,KAAK4nY,0BAEN,CACDvqY,IAAK,WACLqC,MAAO,SAAkBqnI,GACvB,IAAI1jC,EAAS0jC,EAAM1jC,OACfI,EAAOsjC,EAAMtjC,KACbslS,EAAc/oY,KAAK+kE,MAAMgkU,YACzBzzO,EAAct1J,KAAKpD,MACnB88G,EAAM47C,EAAY57C,IAElB3uE,EADOuqH,EAAYtkJ,KACFlU,OAAS,EAC1BkV,EAAM7K,KAAK6K,IAAIqxF,EAAQI,GACvBvxF,EAAM/K,KAAK+K,IAAImxF,EAAQI,GACvBwlS,EAAW/B,EAAMgC,gBAAgBH,EAAa/2X,GAC9Cm3X,EAAWjC,EAAMgC,gBAAgBH,EAAa72X,GAClD,MAAO,CACL4oI,WAAYmuP,EAAWA,EAAWvvR,EAClCqhC,SAAUouP,IAAap+V,EAAYA,EAAYo+V,EAAWA,EAAWzvR,KAGxE,CACDr8G,IAAK,gBACLqC,MAAO,SAAuByhC,GAC5B,IAAI20H,EAAe91J,KAAKpD,MACpBoU,EAAO8kJ,EAAa9kJ,KACpBi9T,EAAgBn4K,EAAam4K,cAC7Bv9L,EAAUolB,EAAaplB,QACvBz8H,EAAOw8H,YAAkBz/H,EAAKmwB,GAAQuvG,EAASvvG,GACnD,OAAOyvG,IAAYq9L,GAAiBA,EAAch6T,EAAMktB,GAASltB,IAElE,CACD5W,IAAK,wBACLqC,MAAO,WACLgC,OAAO4xB,iBAAiB,UAAWtzB,KAAK2nY,eAAe,GACvDjmY,OAAO4xB,iBAAiB,WAAYtzB,KAAK2nY,eAAe,GACxDjmY,OAAO4xB,iBAAiB,YAAatzB,KAAKqnY,YAAY,KAEvD,CACDhqY,IAAK,wBACLqC,MAAO,WACLgC,OAAOojE,oBAAoB,UAAW9kE,KAAK2nY,eAAe,GAC1DjmY,OAAOojE,oBAAoB,WAAY9kE,KAAK2nY,eAAe,GAC3DjmY,OAAOojE,oBAAoB,YAAa9kE,KAAKqnY,YAAY,KAE1D,CACDhqY,IAAK,kBACLqC,MAAO,SAAyBqB,GAC9B,IAAIysL,EAAcxtL,KAAK+kE,MACnBojU,EAAkB36M,EAAY26M,gBAC9B9kS,EAASmqF,EAAYnqF,OACrBI,EAAO+pF,EAAY/pF,KACnBgoN,EAAezrT,KAAKpD,MACpBiQ,EAAI4+S,EAAa5+S,EACjBjG,EAAQ6kT,EAAa7kT,MACrB4hY,EAAiB/8E,EAAa+8E,eAC9B1tP,EAAa2wK,EAAa3wK,WAC1BC,EAAW0wK,EAAa1wK,SACxB3uB,EAAWq/L,EAAar/L,SACxBjvG,EAAQpc,EAAEqiF,MAAQ+kT,EAElBhrX,EAAQ,EACVA,EAAQhW,KAAK6K,IAAImL,EAAOtQ,EAAIjG,EAAQ4hY,EAAiB/kS,EAAM52F,EAAIjG,EAAQ4hY,EAAiBnlS,GAC/ElmF,EAAQ,IACjBA,EAAQhW,KAAK+K,IAAIiL,EAAOtQ,EAAIw2F,EAAQx2F,EAAI42F,IAG1C,IAAI2lS,EAAWppY,KAAKslG,SAAS,CAC3BjC,OAAQA,EAASlmF,EACjBsmF,KAAMA,EAAOtmF,IAGVisX,EAAStuP,aAAeA,GAAcsuP,EAASruP,WAAaA,IAAa3uB,GAC5EA,EAASg9Q,GAGXppY,KAAKqkK,SAAS,CACZhhE,OAAQA,EAASlmF,EACjBsmF,KAAMA,EAAOtmF,EACbgrX,gBAAiBpnY,EAAEqiF,UAGtB,CACD/lF,IAAK,2BACLqC,MAAO,SAAkCykB,EAAIpjB,GAC3C,IAAIukB,EAAQ2hX,EAAQlmY,GAAKA,EAAEk+C,eAAe,GAAKl+C,EAC/Cf,KAAKqkK,SAAS,CACZmjO,eAAe,EACfF,mBAAmB,EACnB+B,kBAAmBllX,EACnBmlX,gBAAiBhkX,EAAM89D,QAEzBpjF,KAAKooY,0BAEN,CACD/qY,IAAK,sBACLqC,MAAO,SAA6BqB,GAClC,IAAIwoY,EAEAn7C,EAAepuV,KAAK+kE,MACpBukU,EAAkBl7C,EAAak7C,gBAC/BD,EAAoBj7C,EAAai7C,kBACjC5lS,EAAO2qP,EAAa3qP,KACpBJ,EAAS+qP,EAAa/qP,OACtB3iB,EAAY1gF,KAAK+kE,MAAMskU,GACvBj8E,EAAeptT,KAAKpD,MACpBiQ,EAAIugT,EAAavgT,EACjBjG,EAAQwmT,EAAaxmT,MACrB4hY,EAAiBp7E,EAAao7E,eAC9Bp8Q,EAAWghM,EAAahhM,SACxB1S,EAAM0zM,EAAa1zM,IACnB1oG,EAAOo8S,EAAap8S,KACpB6mF,EAAS,CACXwL,OAAQrjG,KAAK+kE,MAAMs+B,OACnBI,KAAMzjG,KAAK+kE,MAAM0+B,MAEftmF,EAAQpc,EAAEqiF,MAAQkmT,EAElBnsX,EAAQ,EACVA,EAAQhW,KAAK6K,IAAImL,EAAOtQ,EAAIjG,EAAQ4hY,EAAiB9nT,GAC5CvjE,EAAQ,IACjBA,EAAQhW,KAAK+K,IAAIiL,EAAOtQ,EAAI6zE,IAG9BmX,EAAOwxS,GAAqB3oT,EAAYvjE,EACxC,IAAIisX,EAAWppY,KAAKslG,SAASzN,GACzBijD,EAAasuP,EAAStuP,WACtBC,EAAWquP,EAASruP,SAYxB/6I,KAAKqkK,UAA+Br4G,EAArBu9U,EAAiB,GAAoCF,EAAmB3oT,EAAYvjE,GAAQ6uC,EAAgBu9U,EAAgB,kBAAmBxoY,EAAEqiF,OAAQmmT,IAAiB,WACnLn9Q,GAXU,WACd,IAAIrhF,EAAY/5B,EAAKlU,OAAS,EAE9B,MAA0B,WAAtBusY,IAAmC5lS,EAAOJ,EAASy3C,EAAaphC,IAAQ,EAAIqhC,EAAWrhC,IAAQ,IAAMjW,EAAOJ,GAAU03C,IAAahwG,GAAmC,SAAtBs+V,IAAiC5lS,EAAOJ,EAAS03C,EAAWrhC,IAAQ,EAAIohC,EAAaphC,IAAQ,IAAMjW,EAAOJ,GAAU03C,IAAahwG,EAS/Qy+V,IACFp9Q,EAASg9Q,QAKhB,CACD/rY,IAAK,mBACLqC,MAAO,WACL,IAAI4vU,EAAetvU,KAAKpD,MACpBiQ,EAAIyiU,EAAaziU,EACjBC,EAAIwiU,EAAaxiU,EACjBlG,EAAQ0oU,EAAa1oU,MACrBC,EAASyoU,EAAazoU,OACtB8O,EAAO25T,EAAa35T,KACpBC,EAAS05T,EAAa15T,OAC1B,OAAoBw6G,IAAMx1G,cAAc,OAAQ,CAC9ChF,OAAQA,EACRD,KAAMA,EACN9I,EAAGA,EACHC,EAAGA,EACHlG,MAAOA,EACPC,OAAQA,MAGX,CACDxJ,IAAK,iBACLqC,MAAO,WACL,IAAIgwU,EAAe1vU,KAAKpD,MACpBiQ,EAAI6iU,EAAa7iU,EACjBC,EAAI4iU,EAAa5iU,EACjBlG,EAAQ8oU,EAAa9oU,MACrBC,EAAS6oU,EAAa7oU,OACtBmK,EAAO0+T,EAAa1+T,KACpBwB,EAAWk9T,EAAal9T,SACxBg6D,EAAUkjQ,EAAaljQ,QACvBi9T,EAAehrP,WAASkqC,KAAKn2K,GAEjC,OAAKi3X,EAIer5Q,IAAMkzC,aAAammO,EAAc,CACnD58X,EAAGA,EACHC,EAAGA,EACHlG,MAAOA,EACPC,OAAQA,EACR41E,OAAQjQ,EACRk9T,SAAS,EACT14X,KAAMA,IAVC,OAaV,CACD3T,IAAK,uBACLqC,MAAO,SAA8BiqY,EAAYxlX,GAC/C,IAAIssT,EAAezwU,KAAKpD,MACpBkQ,EAAI2jU,EAAa3jU,EACjB07X,EAAiB/3D,EAAa+3D,eAC9B3hY,EAAS4pU,EAAa5pU,OACtB+iY,EAAYn5D,EAAam5D,UACzB/8X,EAAI1F,KAAK+K,IAAIy3X,EAAY3pY,KAAKpD,MAAMiQ,GAEpCg9X,EAAiB/gQ,EAAcA,EAAc,GAAIwT,YAAYt8I,KAAKpD,QAAS,GAAI,CACjFiQ,EAAGA,EACHC,EAAGA,EACHlG,MAAO4hY,EACP3hY,OAAQA,IAGV,OAAoBupH,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW,2BACX21B,aAAct6C,KAAK+nY,4BACnB3tV,aAAcp6C,KAAKioY,4BACnBltV,YAAa/6C,KAAKonY,2BAA2BjjX,GAC7C2lX,aAAc9pY,KAAKonY,2BAA2BjjX,GAC9CzR,MAAO,CACLgO,OAAQ,eAETwmX,EAAM6C,gBAAgBH,EAAWC,MAErC,CACDxsY,IAAK,cACLqC,MAAO,SAAqB2jG,EAAQI,GAClC,IAAIktO,EAAe3wU,KAAKpD,MACpBkQ,EAAI6jU,EAAa7jU,EACjBjG,EAAS8pU,EAAa9pU,OACtB+O,EAAS+6T,EAAa/6T,OACtB4yX,EAAiB73D,EAAa63D,eAC9B37X,EAAI1F,KAAK6K,IAAIqxF,EAAQI,GAAQ+kS,EAC7B5hY,EAAQO,KAAK+K,IAAI/K,KAAKwjD,IAAI84C,EAAOJ,GAAUmlS,EAAgB,GAC/D,OAAoBp4Q,IAAMx1G,cAAc,OAAQ,CAC9C+J,UAAW,uBACX21B,aAAct6C,KAAK+nY,4BACnB3tV,aAAcp6C,KAAKioY,4BACnBltV,YAAa/6C,KAAKkoY,qBAClB4B,aAAc9pY,KAAKkoY,qBACnBx1X,MAAO,CACLgO,OAAQ,QAEV9K,OAAQ,OACRD,KAAMC,EACNyqM,YAAa,GACbxzM,EAAGA,EACHC,EAAGA,EACHlG,MAAOA,EACPC,OAAQA,MAGX,CACDxJ,IAAK,aACLqC,MAAO,WACL,IAAIsqY,EAAehqY,KAAKpD,MACpBk+I,EAAakvP,EAAalvP,WAC1BC,EAAWivP,EAAajvP,SACxBjuI,EAAIk9X,EAAal9X,EACjBjG,EAASmjY,EAAanjY,OACtB2hY,EAAiBwB,EAAaxB,eAC9B5yX,EAASo0X,EAAap0X,OACtBq0X,EAAejqY,KAAK+kE,MACpBs+B,EAAS4mS,EAAa5mS,OACtBI,EAAOwmS,EAAaxmS,KAEpB5jE,EAAQ,CACVg5T,cAAe,OACfljV,KAAMC,GAER,OAAoBw6G,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW,wBACGyrG,IAAMx1G,cAAc2xB,IAAM9E,EAAS,CACjDloB,WAAY,MACZoiK,eAAgB,SAChB90K,EAAG1F,KAAK6K,IAAIqxF,EAAQI,GAVT,EAWX32F,EAAGA,EAAIjG,EAAS,GACfg5B,GAAQ7/B,KAAKkqY,cAAcpvP,IAA2B1qB,IAAMx1G,cAAc2xB,IAAM9E,EAAS,CAC1FloB,WAAY,QACZoiK,eAAgB,SAChB90K,EAAG1F,KAAK+K,IAAImxF,EAAQI,GAAQ+kS,EAfjB,EAgBX17X,EAAGA,EAAIjG,EAAS,GACfg5B,GAAQ7/B,KAAKkqY,cAAcnvP,OAE/B,CACD19I,IAAK,SACLqC,MAAO,WACL,IAAIyqY,EAAgBnqY,KAAKpD,MACrBoU,EAAOm5X,EAAcn5X,KACrB2T,EAAYwlX,EAAcxlX,UAC1BnS,EAAW23X,EAAc33X,SACzB3F,EAAIs9X,EAAct9X,EAClBC,EAAIq9X,EAAcr9X,EAClBlG,EAAQujY,EAAcvjY,MACtBC,EAASsjY,EAActjY,OACvBujY,EAAiBD,EAAcC,eAC/BC,EAAerqY,KAAK+kE,MACpBs+B,EAASgnS,EAAahnS,OACtBI,EAAO4mS,EAAa5mS,KACpBukS,EAAeqC,EAAarC,aAC5BR,EAAgB6C,EAAa7C,cAC7BF,EAAoB+C,EAAa/C,kBAErC,IAAKt2X,IAASA,EAAKlU,SAAWkqH,YAASn6G,KAAOm6G,YAASl6G,KAAOk6G,YAASpgH,KAAWogH,YAASngH,IAAWD,GAAS,GAAKC,GAAU,EAC5H,OAAO,KAGT,IAAIusJ,EAAa9nC,IAAW,iBAAkB3mG,GAC1C2lX,EAAiD,IAAnCl6Q,IAAMquB,SAASrtG,MAAM5+B,GACnCE,EDjduB,SAA6BtQ,EAAM1C,GAClE,IAAK0C,EACH,OAAO,KAGT,IAAIgmT,EAAYhmT,EAAKqF,QAAQ,QAAQ,SAAUyF,GAC7C,OAAOA,EAAEu4E,iBAEP5lF,EAASioT,EAAY/4O,QAAO,SAAUg9D,EAAKrrF,GAC7C,OAAOooF,EAAcA,EAAc,GAAIiD,GAAM,GAAI//E,EAAgB,GAAItL,EAAQ0nQ,EAAW1oT,MACvF,IAEH,OADAG,EAAOuC,GAAQ1C,EACRG,ECqcSyoT,CAAoB,aAAc,QAC9C,OAAoBl4L,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAWyuI,EACXh5G,aAAcp6C,KAAK6nY,mBACnB0C,YAAavqY,KAAK0nY,gBAClBh1X,MAAOA,GACN1S,KAAKwqY,mBAAoBF,GAAetqY,KAAKyqY,iBAAkBzqY,KAAK0qY,YAAYrnS,EAAQI,GAAOzjG,KAAK2qY,qBAAqBtnS,EAAQ,UAAWrjG,KAAK2qY,qBAAqBlnS,EAAM,SAAUukS,GAAgBR,GAAiBF,GAAqB8C,IAAmBpqY,KAAK4qY,mBA7c/LluY,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAqkB3K0pY,EAxgBuB,CAygB9Bz5E,iBACFy5E,EAAMlvW,YAAc,QACpBkvW,EAAMtqQ,aAAe,CACnB/1H,OAAQ,GACR2hY,eAAgB,EAChB9uR,IAAK,EACL/jG,KAAM,OACNC,OAAQ,OACR42D,QAAS,CACPz1B,IAAK,EACL8rC,MAAO,EACPD,OAAQ,EACR/rC,KAAM,GAERixV,aAAc,IACdsC,gBAAgB,I,wMCpmBlB,SAAS3iW,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAoDpM,SAAS6qW,EAAcjuY,GAC5B,IAAI6Q,EAAK7Q,EAAM6Q,GACXE,EAAK/Q,EAAM+Q,GACXD,EAAK9Q,EAAM8Q,GACXE,EAAKhR,EAAMgR,GACX+W,EAAY/nB,EAAM+nB,UAClB4hJ,EAAa3pK,EAAM2pK,WACnBukO,EAAaluY,EAAMkuY,WACvBzjW,iBAAoBzH,IAAf2mI,EAA0B,oFAC/B,IAAIwkO,EAAQ5jR,YAAW15G,GACnBu9X,EAAQ7jR,YAAWx5G,GACnBs9X,EAAQ9jR,YAAWz5G,GACnBw9X,EAAQ/jR,YAAWv5G,GACnB+xC,EAAQ/iD,EAAM+iD,MAElB,IAAKorV,IAAUC,IAAUC,IAAUC,IAAUvrV,EAC3C,OAAO,KAGT,IAAIjpC,EAvDQ,SAAiBq0X,EAAOC,EAAOC,EAAOC,EAAOtuY,GACzD,IAAIuuY,EAAUvuY,EAAM6Q,GAChB29X,EAAUxuY,EAAM+Q,GAChB09X,EAAUzuY,EAAM8Q,GAChB49X,EAAU1uY,EAAMgR,GAChB29X,EAAQ3uY,EAAM2uY,MACdC,EAAQ5uY,EAAM4uY,MAClB,IAAKD,IAAUC,EAAO,OAAO,KAC7B,IAAIpmN,EAASD,YAAoB,CAC/Bt4K,EAAG0+X,EAAMj7X,MACTxD,EAAG0+X,EAAMl7X,QAEPlB,EAAK,CACPvC,EAAGk+X,EAAQ3lN,EAAOv4K,EAAEzM,MAAM+qY,EAAS,CACjCxoW,SAAU,UACPyiJ,EAAOv4K,EAAE4+X,SACd3+X,EAAGm+X,EAAQ7lN,EAAOt4K,EAAE1M,MAAMirY,EAAS,CACjC1oW,SAAU,UACPyiJ,EAAOt4K,EAAE2+X,UAEZp8X,EAAK,CACPxC,EAAGm+X,EAAQ5lN,EAAOv4K,EAAEzM,MAAMgrY,EAAS,CACjCzoW,SAAU,QACPyiJ,EAAOv4K,EAAE6+X,SACd5+X,EAAGo+X,EAAQ9lN,EAAOt4K,EAAE1M,MAAMkrY,EAAS,CACjC3oW,SAAU,QACPyiJ,EAAOt4K,EAAE4+X,UAGhB,OAAIplO,YAAkB1pK,EAAO,YAAgBwoL,EAAOG,UAAUn2K,IAAQg2K,EAAOG,UAAUl2K,GAIhFw1K,YAAez1K,EAAIC,GAHjB,KAyBEs8X,CAAQZ,EAAOC,EAAOC,EAAOC,EAAOtuY,GAE/C,IAAK8Z,IAASipC,EACZ,OAAO,KAGT,IAAIj9B,EAAW4jJ,YAAkB1pK,EAAO,UAAY,QAAQ4rB,OAAOsiX,EAAY,UAAOlrW,EACtF,OAAoBwwF,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW2mG,IAAW,0BAA2B3mG,IAChDkmX,EAAce,WAAWjsV,EAAOmpF,EAAcA,EAAc,CAC7DpmH,SAAUA,GACT45H,YAAY1/I,GAAO,IAAQ8Z,IAAQkqF,IAAMmiF,mBAAmBnmL,EAAO8Z,IAExEm0X,EAAc7yW,YAAc,gBAC5B6yW,EAAcjuQ,aAAe,CAC3BivQ,SAAS,EACTrlO,WAAY,UACZslO,QAAS,EACTC,QAAS,EACTxpY,EAAG,GACHoT,KAAM,OACN0qM,YAAa,GACbzqM,OAAQ,OACRs3G,YAAa,GAGf29Q,EAAce,WAAa,SAAU3vE,EAAQr/T,GAa3C,OAVkBwzH,IAAMoR,eAAey6L,GACjB7rM,IAAMkzC,aAAa24J,EAAQr/T,GACtCg0I,IAAYqrL,GACdA,EAAOr/T,GAEMwzH,IAAMx1G,cAAcsjC,IAAWzW,EAAS,GAAI7qC,EAAO,CACrE+nB,UAAW,mC,YC5GNqnX,EAAgC,SAAuCx5X,EAAUy+H,EAAQ4I,EAAQnI,EAAUu6P,GACpH,IAAIzzV,EAAQ+8F,YAAc/iI,EAAU05X,IAAcl0W,aAC9Cm0W,EAAO52P,YAAc/iI,EAAU45X,IAAap0W,aAC5C8pF,EAAWtpE,EAAMhwB,OAAO2jX,GACxBE,EAAQ92P,YAAc/iI,EAAUq4X,EAAc7yW,aAC9Cs0W,EAAQ,GAAG9jX,OAAOkpH,EAAU,MAC5B66P,EAAW76P,EAAS,GACpB86P,EAAcv7P,EAalB,GAXInvB,EAAShlH,SACX0vY,EAAc1qR,EAAS/yC,QAAO,SAAUlvE,EAAQkgC,GAC9C,GAAIA,EAAGnjC,MAAM0vY,KAAWzyP,GAAUysB,YAAkBvmI,EAAGnjC,MAAO,iBAAmBoqH,YAASjnF,EAAGnjC,MAAM2vY,IAAY,CAC7G,IAAI7sY,EAAQqgC,EAAGnjC,MAAM2vY,GACrB,MAAO,CAACplY,KAAK6K,IAAInS,EAAO,GAAIH,GAAQyH,KAAK+K,IAAIrS,EAAO,GAAIH,IAG1D,OAAOG,IACN2sY,IAGDH,EAAMvvY,OAAQ,CAChB,IAAI2vY,EAAO,GAAGjkX,OAAO+jX,EAAU,KAC3BG,EAAO,GAAGlkX,OAAO+jX,EAAU,KAC/BC,EAAcH,EAAMt9T,QAAO,SAAUlvE,EAAQkgC,GAC3C,GAAIA,EAAGnjC,MAAM0vY,KAAWzyP,GAAUysB,YAAkBvmI,EAAGnjC,MAAO,iBAAmBoqH,YAASjnF,EAAGnjC,MAAM6vY,KAAUzlR,YAASjnF,EAAGnjC,MAAM8vY,IAAQ,CACrI,IAAIr4N,EAASt0I,EAAGnjC,MAAM6vY,GAClBn4N,EAASv0I,EAAGnjC,MAAM8vY,GACtB,MAAO,CAACvlY,KAAK6K,IAAInS,EAAO,GAAIw0K,EAAQC,GAASntK,KAAK+K,IAAIrS,EAAO,GAAIw0K,EAAQC,IAG3E,OAAOz0K,IACN2sY,GAaL,OAVIP,GAAkBA,EAAenvY,SACnC0vY,EAAcP,EAAel9T,QAAO,SAAUlvE,EAAQ2xJ,GACpD,OAAIxqC,YAASwqC,GACJ,CAACrqJ,KAAK6K,IAAInS,EAAO,GAAI2xJ,GAAOrqJ,KAAK+K,IAAIrS,EAAO,GAAI2xJ,IAGlD3xJ,IACN2sY,IAGEA,I,8BC1CT,IAAIh1W,EAAwBr6B,OAAOq6B,sBAC/Bx0B,EAAiB7F,OAAOM,UAAUuF,eAClCylH,EAAmBtrH,OAAOM,UAAUg6B,qBAExC,SAASixF,EAAShlG,GACjB,GAAY,OAARA,QAAwBkc,IAARlc,EACnB,MAAM,IAAIjnB,UAAU,yDAGrB,OAAOU,OAAOumB,GA+CfxtB,EAAOC,QA5CP,WACC,IACC,IAAKgH,OAAOu6B,OACX,OAAO,EAMR,IAAIixF,EAAQ,IAAIhxF,OAAO,OAEvB,GADAgxF,EAAM,GAAK,KACkC,MAAzCxrH,OAAOy6B,oBAAoB+wF,GAAO,GACrC,OAAO,EAKR,IADA,IAAIC,EAAQ,GACH/rH,EAAI,EAAGA,EAAI,GAAIA,IACvB+rH,EAAM,IAAMjxF,OAAOE,aAAah7B,IAAMA,EAKvC,GAAwB,eAHXM,OAAOy6B,oBAAoBgxF,GAAOnhG,KAAI,SAAU5mB,GAC5D,OAAO+nH,EAAM/nH,MAEHwL,KAAK,IACf,OAAO,EAIR,IAAIw8G,EAAQ,GAIZ,MAHA,uBAAuBt8G,MAAM,IAAIwoB,SAAQ,SAAU+zF,GAClDD,EAAMC,GAAUA,KAGf,yBADE3rH,OAAO23B,KAAK33B,OAAOu6B,OAAO,GAAImxF,IAAQx8G,KAAK,IAM9C,MAAOlL,GAER,OAAO,GAIQ4nH,GAAoB5rH,OAAOu6B,OAAS,SAAU/6B,EAAQ2rB,GAKtE,IAJA,IAAIvP,EAEAkhH,EADAz8G,EAAKkrG,EAAS/rH,GAGTiE,EAAI,EAAGA,EAAIT,UAAUrD,OAAQ8D,IAAK,CAG1C,IAAK,IAAIvD,KAFT0b,EAAO5b,OAAOgD,UAAUS,IAGnBoC,EAAehB,KAAK+W,EAAM1b,KAC7BmgB,EAAGngB,GAAO0b,EAAK1b,IAIjB,GAAIm6B,EAAuB,CAC1ByiG,EAAUziG,EAAsBze,GAChC,IAAK,IAAIlc,EAAI,EAAGA,EAAIo9H,EAAQn9H,OAAQD,IAC/B4rH,EAAiBzmH,KAAK+W,EAAMkhH,EAAQp9H,MACvC2gB,EAAGy8G,EAAQp9H,IAAMkc,EAAKkhH,EAAQp9H,MAMlC,OAAO2gB,I,6BCtFRrgB,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQq9B,aAAU,EAElB,IAEgCwM,EAF5B86F,GAE4B96F,EAFU5pC,EAAQ,MAEG4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAAS3/B,EAA2BC,EAAG+sJ,GAAkB,IAAInsJ,EAAI,GAAsB,qBAAXX,QAAgD,MAAtBD,EAAEC,OAAOC,UAAmB,CAAE,GAAIC,MAAMC,QAAQJ,KAAOY,EAE7J,SAAqCZ,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAFpPC,CAA4BtqI,KAAO+sJ,GAAkB/sJ,GAAyB,kBAAbA,EAAExD,OAAqB,CAAMoE,IAAIZ,EAAIY,GAAI,IAAIrE,EAAI,EAAO8D,EAAI,aAAiB,MAAO,CAAEC,EAAGD,EAAGE,EAAG,WAAe,OAAIhE,GAAKyD,EAAExD,OAAe,CAAEgE,MAAM,GAAe,CAAEA,MAAM,EAAOpB,MAAOY,EAAEzD,OAAWkE,EAAG,SAAWC,GAAM,MAAMA,GAAOC,EAAGN,GAAO,MAAM,IAAIlE,UAAU,yIAA4I,IAA6C0E,EAAzCC,GAAmB,EAAMC,GAAS,EAAY,MAAO,CAAET,EAAG,WAAeM,EAAKZ,EAAEC,OAAOC,aAAgBK,EAAG,WAAe,IAAIS,EAAOJ,EAAGK,OAAsC,OAA9BH,EAAmBE,EAAKR,KAAaQ,GAASP,EAAG,SAAWS,GAAOH,GAAS,EAAMF,EAAMK,GAAQP,EAAG,WAAe,IAAWG,GAAiC,MAAbF,EAAGosJ,QAAgBpsJ,EAAGosJ,SAArD,QAA2E,GAAIjsJ,EAAQ,MAAMF,KAIl9B,SAASopI,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAIhL,SAASx4C,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAI7S,IAAI4vY,EAA2B,WAC7B,SAASA,KAPX,SAAyBpwY,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAQ5GH,CAAgB0D,KAAM2sY,GAJ1B,IAAsBnwY,EAAae,EAAYC,EAyM7C,OAzMoBhB,EAOPmwY,EAPgCnvY,EAOb,CAAC,CAC/BH,IAAK,SACLqC,MAAO,SAAgBA,EAAOw1J,EAAQ0kB,EAAaxZ,EAAiB0Z,GAClE,IAAI8yN,EAAgB,GAEhBC,EAAa/xQ,EAAatnG,QAAQs5W,cAAclzN,GAAamzN,kBAAkBjzN,GAEnF,GAAIp6K,EAAO,CACT,IACIi2B,EADAm7H,EAAYzwJ,EAA2BX,GAG3C,IACE,IAAKoxJ,EAAUlwJ,MAAO+0B,EAAQm7H,EAAUjwJ,KAAKC,MAAO,CAClD,IAGImwJ,EAHAvpI,EAAOiO,EAAMj2B,MAEbwxJ,EAAa7wJ,EAA2B60J,GAG5C,IACE,IAAKhE,EAAWtwJ,MAAOqwJ,EAASC,EAAWrwJ,KAAKC,MAAO,CACrD,IAAI2zJ,EAAQxD,EAAOvxJ,MAEfstY,EAAalyQ,EAAatnG,QAAQs5W,cAAcn1W,OAAOmjG,EAAatnG,QAAQkhI,iBAAiBhtI,EAAM+sI,KAASs4O,kBAAkBjzN,GAElI,GAAI6yN,EAAYvsO,GAAiB4sO,EAAYH,EAAY/yN,GAAe,CACtE8yN,EAAc9lY,KAAK4gB,GACnB,QAGJ,MAAOvmB,GACP+vJ,EAAWnwJ,EAAEI,GAZf,QAcE+vJ,EAAWjwJ,MAGf,MAAOE,GACP2vJ,EAAU/vJ,EAAEI,GAzBd,QA2BE2vJ,EAAU7vJ,KAId,OAAO2rY,IAER,CACDvvY,IAAK,aACLqC,MAAO,SAAoBA,EAAOuT,EAAQ6mK,GACxC,QAAel6I,IAAX3sB,GAAmC,OAAXA,GAAqC,KAAlBA,EAAOzL,OACpD,OAAO,EAGT,QAAco4B,IAAVlgC,GAAiC,OAAVA,EACzB,OAAO,EAGT,IAAIk6K,EAAc9+C,EAAatnG,QAAQs5W,cAAc75X,EAAO7G,YAAY2gY,kBAAkBjzN,GAI1F,OAFkBh/C,EAAatnG,QAAQs5W,cAAcptY,EAAM0M,YAAY2gY,kBAAkBjzN,GAEtE9nI,MAAM,EAAG4nI,EAAY98K,UAAY88K,IAErD,CACDv8K,IAAK,WACLqC,MAAO,SAAkBA,EAAOuT,EAAQ6mK,GACtC,QAAel6I,IAAX3sB,GAAmC,OAAXA,GAAqC,kBAAXA,GAAyC,KAAlBA,EAAOzL,OAClF,OAAO,EAGT,QAAco4B,IAAVlgC,GAAiC,OAAVA,EACzB,OAAO,EAGT,IAAIk6K,EAAc9+C,EAAatnG,QAAQs5W,cAAc75X,EAAO7G,YAAY2gY,kBAAkBjzN,GAI1F,OAA6C,IAF3Bh/C,EAAatnG,QAAQs5W,cAAcptY,EAAM0M,YAAY2gY,kBAAkBjzN,GAEtEzvK,QAAQuvK,KAE5B,CACDv8K,IAAK,WACLqC,MAAO,SAAkBA,EAAOuT,EAAQ6mK,GACtC,QAAel6I,IAAX3sB,GAAmC,OAAXA,GAAqC,KAAlBA,EAAOzL,OACpD,OAAO,EAGT,QAAco4B,IAAVlgC,GAAiC,OAAVA,EACzB,OAAO,EAGT,IAAIk6K,EAAc9+C,EAAatnG,QAAQs5W,cAAc75X,EAAO7G,YAAY2gY,kBAAkBjzN,GAEtFmzN,EAAcnyQ,EAAatnG,QAAQs5W,cAAcptY,EAAM0M,YAAY2gY,kBAAkBjzN,GAEzF,OAAsF,IAA/EmzN,EAAY5iY,QAAQuvK,EAAaqzN,EAAYnwY,OAAS88K,EAAY98K,UAE1E,CACDO,IAAK,SACLqC,MAAO,SAAgBA,EAAOuT,EAAQ6mK,GACpC,YAAel6I,IAAX3sB,GAAmC,OAAXA,GAAqC,kBAAXA,GAAyC,KAAlBA,EAAOzL,aAItEo4B,IAAVlgC,GAAiC,OAAVA,IAIvBA,EAAMkhI,SAAW3tH,EAAO2tH,QAAgBlhI,EAAMkhI,YAAc3tH,EAAO2tH,UAAsB9F,EAAatnG,QAAQs5W,cAAcptY,EAAM0M,YAAY2gY,kBAAkBjzN,KAAkBh/C,EAAatnG,QAAQs5W,cAAc75X,EAAO7G,YAAY2gY,kBAAkBjzN,MAE/P,CACDz8K,IAAK,YACLqC,MAAO,SAAmBA,EAAOuT,EAAQ6mK,GACvC,YAAel6I,IAAX3sB,GAAmC,OAAXA,IAAqC,kBAAXA,GAAyC,KAAlBA,EAAOzL,eAItEo4B,IAAVlgC,GAAiC,OAAVA,IAIvBA,EAAMkhI,SAAW3tH,EAAO2tH,QAAgBlhI,EAAMkhI,YAAc3tH,EAAO2tH,UAAsB9F,EAAatnG,QAAQs5W,cAAcptY,EAAM0M,YAAY2gY,kBAAkBjzN,KAAkBh/C,EAAatnG,QAAQs5W,cAAc75X,EAAO7G,YAAY2gY,kBAAkBjzN,OAE/P,CACDz8K,IAAK,KACLqC,MAAO,SAAaA,EAAOuT,EAAQ6mK,GACjC,QAAel6I,IAAX3sB,GAAmC,OAAXA,GAAqC,IAAlBA,EAAOnW,OACpD,OAAO,EAGT,QAAc8iC,IAAVlgC,GAAiC,OAAVA,EACzB,OAAO,EAGT,IAAK,IAAI7C,EAAI,EAAGA,EAAIoW,EAAOnW,OAAQD,IACjC,GAAIi+H,EAAatnG,QAAQ+sC,OAAO7gE,EAAOuT,EAAOpW,IAC5C,OAAO,EAIX,OAAO,IAER,CACDQ,IAAK,KACLqC,MAAO,SAAYA,EAAOuT,EAAQ6mK,GAChC,cAAel6I,IAAX3sB,GAAmC,OAAXA,GAAmBA,EAAOzL,MAAiC,IAAzByL,EAAOzL,OAAO1K,cAI9D8iC,IAAVlgC,GAAiC,OAAVA,IAIvBA,EAAMkhI,SAAW3tH,EAAO2tH,QAAgBlhI,EAAMkhI,UAAY3tH,EAAO2tH,UAAsBlhI,EAAQ6J,WAAW0J,MAE/G,CACD5V,IAAK,MACLqC,MAAO,SAAaA,EAAOuT,EAAQ6mK,GACjC,cAAel6I,IAAX3sB,GAAmC,OAAXA,GAAmBA,EAAOzL,MAAiC,IAAzByL,EAAOzL,OAAO1K,cAI9D8iC,IAAVlgC,GAAiC,OAAVA,IAIvBA,EAAMkhI,SAAW3tH,EAAO2tH,QAAgBlhI,EAAMkhI,WAAa3tH,EAAO2tH,UAAsBlhI,GAAS6J,WAAW0J,MAEjH,CACD5V,IAAK,KACLqC,MAAO,SAAYA,EAAOuT,EAAQ6mK,GAChC,cAAel6I,IAAX3sB,GAAmC,OAAXA,GAAmBA,EAAOzL,MAAiC,IAAzByL,EAAOzL,OAAO1K,cAI9D8iC,IAAVlgC,GAAiC,OAAVA,IAIvBA,EAAMkhI,SAAW3tH,EAAO2tH,QAAgBlhI,EAAMkhI,UAAY3tH,EAAO2tH,UAAsBlhI,EAAQ6J,WAAW0J,MAE/G,CACD5V,IAAK,MACLqC,MAAO,SAAaA,EAAOuT,EAAQ6mK,GACjC,cAAel6I,IAAX3sB,GAAmC,OAAXA,GAAmBA,EAAOzL,MAAiC,IAAzByL,EAAOzL,OAAO1K,cAI9D8iC,IAAVlgC,GAAiC,OAAVA,IAIvBA,EAAMkhI,SAAW3tH,EAAO2tH,QAAgBlhI,EAAMkhI,WAAa3tH,EAAO2tH,UAAsBlhI,GAAS6J,WAAW0J,QArMnF1V,EAOP,OAPkDb,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAyM3KmvY,EAvMsB,GA0M/Bx2Y,EAAQq9B,QAAUm5W,G,8BC/NlB,SAAS74T,EAAQ9zC,GAAkC,OAAO8zC,EAAU,mBAAqBvzE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUw/B,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBz/B,QAAUy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAgBA,GAEzU7iC,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ+2Y,aAAeA,EACvB/2Y,EAAQg3Y,SA4ER,SAAkBptW,EAEhBza,EAEAm6H,EAEA2tP,GAKA,IAAKrtW,EAAI,OAET,IAAIxB,EAAUuqG,EAAc,CAC1BukQ,SAAS,GACRD,GAGCrtW,EAAGzM,iBACLyM,EAAGzM,iBAAiBhO,EAAOm6H,EAASlhH,GAC3BwB,EAAG1M,YACZ0M,EAAG1M,YAAY,KAAO/N,EAAOm6H,GAG7B1/G,EAAG,KAAOza,GAASm6H,GAnGvBtpJ,EAAQm3Y,oBAuRR,SAA6B/pW,GAG3B,IAAKA,EAAK,OACV,IAAIgqW,EAAUhqW,EAAIhgC,eAAe,4BAE5BgqY,KACHA,EAAUhqW,EAAI3oB,cAAc,UACpB3J,KAAO,WACfs8X,EAAQppX,GAAK,2BACbopX,EAAQpmX,UAAY,6EACpBomX,EAAQpmX,WAAa,wEACrBoc,EAAIphB,qBAAqB,QAAQ,GAAGmC,YAAYipX,IAG9ChqW,EAAIlf,MAAM6oX,EAAa3pW,EAAIlf,KAAM,0CArSvCluB,EAAQq3Y,mBAiNR,SAA4BC,EAE1BC,GAKA,IAAIC,EAAcC,EAAeH,EAAYC,EAAgB,MAC7D,OAAO1hV,EAAgB,IAAI,EAAI6hV,EAAWC,oBAAoB,YAAaD,EAAWr6W,SAAUm6W,IAxNlGx3Y,EAAQ43Y,mBA2NR,SAA4BN,EAE1BC,GAMA,OADkBE,EAAeH,EAAYC,EAAgB,KAjO/Dv3Y,EAAQ63Y,SAyPR,SAAkBjtY,EAEhBktY,GAKA,OAAOltY,EAAEmtY,gBAAiB,EAAIC,EAAO5zC,aAAax5V,EAAEmtY,eAAe,SAAUzrY,GAC3E,OAAOwrY,IAAexrY,EAAEwrY,eACpBltY,EAAEk+C,iBAAkB,EAAIkvV,EAAO5zC,aAAax5V,EAAEk+C,gBAAgB,SAAUx8C,GAC5E,OAAOwrY,IAAexrY,EAAEwrY,eAlQ5B93Y,EAAQi4Y,mBAsQR,SAA4BrtY,GAK1B,GAAIA,EAAEmtY,eAAiBntY,EAAEmtY,cAAc,GAAI,OAAOntY,EAAEmtY,cAAc,GAAGD,WACrE,GAAIltY,EAAEk+C,gBAAkBl+C,EAAEk+C,eAAe,GAAI,OAAOl+C,EAAEk+C,eAAe,GAAGgvV,YA3Q1E93Y,EAAQy3Y,eAAiBA,EACzBz3Y,EAAQm4J,YAyJR,SAAqBzqJ,GAKnB,IAAIgD,EAAShD,EAAKgiB,aACdwoX,EAAgBxqY,EAAKqmC,cAAcumQ,YAAYt6R,iBAAiBtS,GAGpE,OAFAgD,IAAU,EAAIsnY,EAAO3zC,KAAK6zC,EAAc3/O,YACxC7nJ,IAAU,EAAIsnY,EAAO3zC,KAAK6zC,EAAc1/O,gBAhK1Cx4J,EAAQk4J,WAoKR,SAAoBxqJ,GAKlB,IAAI+C,EAAQ/C,EAAK+hB,YACbyoX,EAAgBxqY,EAAKqmC,cAAcumQ,YAAYt6R,iBAAiBtS,GAGpE,OAFA+C,IAAS,EAAIunY,EAAO3zC,KAAK6zC,EAAc5gP,aACvC7mJ,IAAS,EAAIunY,EAAO3zC,KAAK6zC,EAAc3gP,eA3KzCv3J,EAAQuN,gBAAkBA,EAC1BvN,EAAQm4Y,4BA8CR,SAAqCvuW,EAEnCj8B,EAEAyqY,GAKA,IAAI1qY,EAAOk8B,EAEX,EAAG,CACD,GAAIr8B,EAAgBG,EAAMC,GAAW,OAAO,EAC5C,GAAID,IAAS0qY,EAAU,OAAO,EAC9B1qY,EAAOA,EAAK8hB,iBACL9hB,GAET,OAAO,GA9DT1N,EAAQq4Y,mBAkLR,SAA4BC,EAE1BvpX,EAEA5U,GAKA,IACIo+X,EADSxpX,IAAiBA,EAAaglB,cAAc7lB,KACzB,CAC9BwyB,KAAM,EACNE,IAAK,GACH7xB,EAAaqpI,wBACb1hJ,GAAK4hY,EAAIppX,QAAUH,EAAam6B,WAAaqvV,EAAiB73V,MAAQvmC,EACtExD,GAAK2hY,EAAIlpX,QAAUL,EAAao6B,UAAYovV,EAAiB33V,KAAOzmC,EACxE,MAAO,CACLzD,EAAGA,EACHC,EAAGA,IAnMP3W,EAAQssF,YAwHR,SAAqB5+E,GAOnB,IAAIgD,EAAShD,EAAKgiB,aACdwoX,EAAgBxqY,EAAKqmC,cAAcumQ,YAAYt6R,iBAAiBtS,GAGpE,OAFAgD,IAAU,EAAIsnY,EAAO3zC,KAAK6zC,EAAcz/O,gBACxC/nJ,IAAU,EAAIsnY,EAAO3zC,KAAK6zC,EAAcx/O,oBAjI1C14J,EAAQusF,WAqIR,SAAoB7+E,GAOlB,IAAI+C,EAAQ/C,EAAK+hB,YACbyoX,EAAgBxqY,EAAKqmC,cAAcumQ,YAAYt6R,iBAAiBtS,GAGpE,OAFA+C,IAAS,EAAIunY,EAAO3zC,KAAK6zC,EAAcv/O,iBACvCloJ,IAAS,EAAIunY,EAAO3zC,KAAK6zC,EAAct/O,mBA9IzC54J,EAAQw4Y,gBAAkBA,EAC1Bx4Y,EAAQy4Y,YAyFR,SAAqB7uW,EAEnBza,EAEAm6H,EAEA2tP,GAKA,IAAKrtW,EAAI,OAET,IAAIxB,EAAUuqG,EAAc,CAC1BukQ,SAAS,GACRD,GAGCrtW,EAAG+kC,oBACL/kC,EAAG+kC,oBAAoBx/C,EAAOm6H,EAASlhH,GAC9BwB,EAAG8uW,YACZ9uW,EAAG8uW,YAAY,KAAOvpX,EAAOm6H,GAG7B1/G,EAAG,KAAOza,GAAS,MAhHvBnvB,EAAQ24Y,uBA0RR,SAAgCvrW,GAG9B,IAAKA,EAAK,OAEV,IAGE,GAFIA,EAAIlf,MAAMsqX,EAAgBprW,EAAIlf,KAAM,yCAEpCkf,EAAIoU,UAENpU,EAAIoU,UAAUy6G,YACT,CAGL,IAAIz6G,GAAapU,EAAIktQ,aAAe/uS,QAAQw7C,eAExCvF,GAAgC,UAAnBA,EAAU1mC,MACzB0mC,EAAU06G,mBAGd,MAAOtxJ,MA5SX,IAAIotY,EAAS/3Y,EAAQ,KAEjBy3Y,EAIJ,SAAiC7tW,EAAK+uW,GAAe,IAAKA,GAAe/uW,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,EAAyBu0Q,GAAc,GAAIxmS,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAY,YAAR3iC,GAAqBF,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAJ5wB65F,CAAwBtkI,EAAQ,MAEjD,SAASokI,EAAyBu0Q,GAAe,GAAuB,oBAAZ/zQ,QAAwB,OAAO,KAAM,IAAIg0Q,EAAoB,IAAIh0Q,QAAei0Q,EAAmB,IAAIj0Q,QAAW,OAAQR,EAA2B,SAAkCu0Q,GAAe,OAAOA,EAAcE,EAAmBD,IAAsBD,GAIhU,SAASh1Q,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAASk3H,IAAmBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAiB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAS,MAAQnoB,UAAUtD,GAAKsD,UAAUtD,GAAK,GAAIA,EAAI,EAAIk9H,EAAQ58H,OAAOmrB,IAAS,GAAIyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAYF,OAAOk9H,0BAA4Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAWyxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAa,OAAOV,EAEjf,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIkvW,EAAsB,GAE1B,SAASxrY,EAAgBq8B,EAEvBj8B,GAcA,OATKorY,IACHA,GAAsB,EAAIf,EAAO5zC,aAAa,CAAC,UAAW,wBAAyB,qBAAsB,oBAAqB,qBAAqB,SAAUx1O,GAE3J,OAAO,EAAIopR,EAAOpnT,YAAYhnD,EAAGglF,WAMhC,EAAIopR,EAAOpnT,YAAYhnD,EAAGmvW,KAExBnvW,EAAGmvW,GAAqBprY,GAqLjC,SAAS8pY,EAAe7mQ,EAAO2mQ,EAE7ByB,GAKA,IAAItiY,EAAIk6H,EAAMl6H,EACVC,EAAIi6H,EAAMj6H,EACV6gY,EAAc,aAAanlX,OAAO3b,GAAG2b,OAAO2mX,EAAY,KAAK3mX,OAAO1b,GAAG0b,OAAO2mX,EAAY,KAE9F,GAAIzB,EAAgB,CAClB,IAAI0B,EAAW,GAAG5mX,OAAmC,kBAArBklX,EAAe7gY,EAAiB6gY,EAAe7gY,EAAI6gY,EAAe7gY,EAAIsiY,GAClGE,EAAW,GAAG7mX,OAAmC,kBAArBklX,EAAe5gY,EAAiB4gY,EAAe5gY,EAAI4gY,EAAe5gY,EAAIqiY,GACtGxB,EAAc,aAAanlX,OAAO4mX,EAAU,MAAM5mX,OAAO6mX,EAAU,KAAO1B,EAG5E,OAAOA,EAwET,SAAST,EAAantW,EAEpBpb,GAGIob,EAAGyuH,UACLzuH,EAAGyuH,UAAUj8G,IAAI5tB,GAEZob,EAAGpb,UAAUnb,MAAM,IAAIoxB,OAAO,YAAYpS,OAAO7D,EAAW,eAC/Dob,EAAGpb,WAAa,IAAI6D,OAAO7D,IAKjC,SAASgqX,EAAgB5uW,EAEvBpb,GAGIob,EAAGyuH,UACLzuH,EAAGyuH,UAAUvuH,OAAOtb,GAEpBob,EAAGpb,UAAYob,EAAGpb,UAAUld,QAAQ,IAAImzB,OAAO,YAAYpS,OAAO7D,EAAW,WAAY,KAAM,M,gBChWnG,IAAI2qX,EAAal5Y,EAAQ,KAWrBsmW,EAViBtmW,EAAQ,IAUdm5Y,CAAeD,GAE9Bp5Y,EAAOC,QAAUumW,G,gBCbjB,IAAI8yC,EAAkBp5Y,EAAQ,KAC1B8wT,EAAe9wT,EAAQ,KAGvB6lW,EAAc9+V,OAAOM,UAGrBuF,EAAiBi5V,EAAYj5V,eAG7By0B,EAAuBwkU,EAAYxkU,qBAoBnC4kU,EAAcmzC,EAAgB,WAAa,OAAOrvY,UAApB,IAAsCqvY,EAAkB,SAAS9vY,GACjG,OAAOwnT,EAAaxnT,IAAUsD,EAAehB,KAAKtC,EAAO,YACtD+3B,EAAqBz1B,KAAKtC,EAAO,WAGtCxJ,EAAOC,QAAUkmW,G,cClCjB,IAGIN,EAAW,mBAoBf7lW,EAAOC,QAVP,SAAiBuJ,EAAO5C,GACtB,IAAImU,SAAcvR,EAGlB,SAFA5C,EAAmB,MAAVA,EAfY,iBAewBA,KAGlC,UAARmU,GACU,UAARA,GAAoB8qV,EAASx5T,KAAK7iC,KAChCA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQ5C,I,cCajD5G,EAAOC,QALP,SAAkBuJ,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GA9Bb,mB,cCmCvBxJ,EAAOC,QAJP,SAAYuJ,EAAOq9C,GACjB,OAAOr9C,IAAUq9C,GAAUr9C,IAAUA,GAASq9C,IAAUA,I,gBCjC1D,IAIIu+G,EAJYllK,EAAQ,IAIdglW,CAHChlW,EAAQ,IAGO,OAE1BF,EAAOC,QAAUmlK,G,gBCNjB,IAAIm0O,EAAgBr5Y,EAAQ,KACxBs5Y,EAAiBt5Y,EAAQ,KACzBu5Y,EAAcv5Y,EAAQ,KACtBw5Y,EAAcx5Y,EAAQ,KACtBy5Y,EAAcz5Y,EAAQ,KAS1B,SAAS05Y,EAASv7S,GAChB,IAAIpzD,GAAS,EACTrkC,EAAoB,MAAXy3F,EAAkB,EAAIA,EAAQz3F,OAG3C,IADAkD,KAAKg8C,UACI7a,EAAQrkC,GAAQ,CACvB,IAAI4jD,EAAQ6zC,EAAQpzD,GACpBnhC,KAAKwM,IAAIk0C,EAAM,GAAIA,EAAM,KAK7BovV,EAASryY,UAAUu+C,MAAQyzV,EAC3BK,EAASryY,UAAT,OAA+BiyY,EAC/BI,EAASryY,UAAU6E,IAAMqtY,EACzBG,EAASryY,UAAUunF,IAAM4qT,EACzBE,EAASryY,UAAU+O,IAAMqjY,EAEzB35Y,EAAOC,QAAU25Y,G,gBC/BjB,IAAIC,EAAkB35Y,EAAQ,KAC1B8wT,EAAe9wT,EAAQ,KA0B3BF,EAAOC,QAVP,SAASugY,EAAYh3X,EAAOq9C,EAAOizV,EAASC,EAAYnzW,GACtD,OAAIp9B,IAAUq9C,IAGD,MAATr9C,GAA0B,MAATq9C,IAAmBmqQ,EAAaxnT,KAAWwnT,EAAanqQ,GACpEr9C,IAAUA,GAASq9C,IAAUA,EAE/BgzV,EAAgBrwY,EAAOq9C,EAAOizV,EAASC,EAAYvZ,EAAa55V,M,cCPzE5mC,EAAOC,QAVP,SAAoBqW,GAClB,IAAI20B,GAAS,EACTthC,EAASY,MAAM+L,EAAI04D,MAKvB,OAHA14D,EAAIuoB,SAAQ,SAASr1B,GACnBG,IAASshC,GAASzhC,KAEbG,I,gBCdT,IAAIqwY,EAAW95Y,EAAQ,KACnB+5Y,EAAQ/5Y,EAAQ,KAsBpBF,EAAOC,QAZP,SAAiB2M,EAAQyK,GAMvB,IAHA,IAAI4zB,EAAQ,EACRrkC,GAHJyQ,EAAO2iY,EAAS3iY,EAAMzK,IAGJhG,OAED,MAAVgG,GAAkBq+B,EAAQrkC,GAC/BgG,EAASA,EAAOqtY,EAAM5iY,EAAK4zB,OAE7B,OAAQA,GAASA,GAASrkC,EAAUgG,OAAS88B,I,gBCpB/C,IAAIl/B,EAAUtK,EAAQ,IAClBmtI,EAAWntI,EAAQ,KAGnBg6Y,EAAe,mDACfC,EAAgB,QAuBpBn6Y,EAAOC,QAbP,SAAeuJ,EAAOoD,GACpB,GAAIpC,EAAQhB,GACV,OAAO,EAET,IAAIuR,SAAcvR,EAClB,QAAY,UAARuR,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAATvR,IAAiB6jI,EAAS7jI,MAGvB2wY,EAAc9tW,KAAK7iC,KAAW0wY,EAAa7tW,KAAK7iC,IAC1C,MAAVoD,GAAkBpD,KAASvC,OAAO2F,M,cCLvC5M,EAAOC,QAXP,SAAkB4sD,EAAO6qR,GAKvB,IAJA,IAAIzsS,GAAS,EACTrkC,EAAkB,MAATimD,EAAgB,EAAIA,EAAMjmD,OACnC+C,EAASY,MAAM3D,KAEVqkC,EAAQrkC,GACf+C,EAAOshC,GAASysS,EAAS7qR,EAAM5hB,GAAQA,EAAO4hB,GAEhD,OAAOljD,I,gBCbT,IAAIykC,EAAQluC,EAAQ,KAChB62C,EAAS72C,EAAQ,KAAW62C,OAC5B1Y,EAAI,CACF6gB,OAAQh/C,EAAQ,KAChByM,KAAMzM,EAAQ,KACd2+B,QAAS3+B,EAAQ,KACjBkpF,SAAUlpF,EAAQ,MAOpBk6Y,EAAM,CACRl6Y,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,MAONm6Y,EAAUr6Y,EAAOC,QAAU,SAAS2N,EAAUwxD,EAASj/C,EAAMkoB,GAC/D,OAAMv+B,gBAAgBuwY,GAEtBvwY,KAAKu+B,QAAUhK,EAAE+qD,SAAS/gD,GAAW,GAAIv+B,KAAKu+B,SAGzCz6B,GAEDuS,IACkB,kBAATA,IAAmBA,EAAOiuB,EAAMjuB,EAAMrW,KAAKu+B,UACtDv+B,KAAKwwY,MAAQD,EAAQvuY,KAAKhC,KAAMqW,IAI9BvS,EAAS+uU,QAAgB/uU,GAGzB87D,EAAO97D,KACTA,EAAW,CAACA,IAGVrD,MAAMC,QAAQoD,IAChBywB,EAAEQ,QAAQjxB,EAAUywB,EAAE1xB,MAAK,SAAS0+E,EAAM9hD,GACxCz/B,KAAKy/B,GAAO8hD,IACXvhF,OACHA,KAAKlD,OAASgH,EAAShH,OAChBkD,MAIe,kBAAb8D,GAAyBmpC,EAAOnpC,GAClCysY,EAAQvuY,KAAKhC,KAAMskC,EAAMxgC,EAAU9D,KAAKu+B,SAAS/rB,WAIrD8iD,EAEyB,kBAAZA,EACZroB,EAAOqoB,IAETA,EAAUhxB,EAAMgxB,EAASt1D,KAAKu+B,SAC9B+2B,EAAUi7U,EAAQvuY,KAAKhC,KAAMs1D,KAG7BxxD,EAAW,CAACwxD,EAASxxD,GAAUuI,KAAK,KACpCipD,EAAUt1D,KAAKwwY,OAGPl7U,EAAQu9Q,UAClBv9Q,EAAUi7U,EAAQvuY,KAAKhC,KAAMs1D,IAb7BA,EAAUt1D,KAAKwwY,MAiBZl7U,EAGEA,EAAQgY,KAAKxpE,GAHC9D,QA/CCA,MALiB,IAAIuwY,EAAQzsY,EAAUwxD,EAASj/C,EAAMkoB,IA8D9EhK,EAAE6gB,OAAOm7V,EAASn6Y,EAAQ,MAM1Bm6Y,EAAQ9yY,UAAUo1U,QAAU,mBAM5B09D,EAAQ9yY,UAAU8gC,QAAU,CAC1BkyW,aAAa,EACbC,qBAAqB,EACrBC,SAAS,EACTC,gBAAgB,GAOlBL,EAAQ9yY,UAAUX,OAAS,EAC3ByzY,EAAQ9yY,UAAUiiC,OAASj/B,MAAMhD,UAAUiiC,OAQ3C6wW,EAAQ9yY,UAAUozY,MAAQ,SAAS/rX,EAAKwwC,GACtC,IAAIu9Q,EAAU,IAAI7yU,KAAKP,YAAYqlB,EAAKwwC,EAASt1D,KAAKwwY,MAAOxwY,KAAKu+B,SAElE,OADAs0S,EAAQi+D,WAAa9wY,KACd6yU,GAOT09D,EAAQ9yY,UAAU+gJ,QAAU,WAC1B,OAAOx+I,KAAKsC,OAMdguY,EAAIv7W,SAAQ,SAAS+5G,GACnBv6G,EAAE6gB,OAAOm7V,EAAQ9yY,UAAWqxI,MAG9B,IAAIlvE,EAAS,SAAS5/B,GACpB,OAAOA,EAAI59B,MAAqB,SAAb49B,EAAI/uB,MAAgC,YAAb+uB,EAAI/uB,O,iBClJhD,YAUA,IAwBI8/X,EAAY,CACd,CAAC,MAZY,KAab,CAAC,OApBa,GAqBd,CAAC,UApBiB,GAqBlB,CAAC,QAnBc,GAoBf,CAAC,aAnBoB,IAoBrB,CAAC,OAfa,KAgBd,CAAC,UApBgB,IAqBjB,CAAC,eApBsB,IAqBvB,CAAC,QAnBc,MAkCbC,EAAS,aAGTC,EAAgB,4CAChBC,EAAgB,oCAChBC,EAAiB,QAGjBC,EAAa,qBAGbC,EAAa,aAGbC,EAAe,8BAGfC,EAAY,cAGZx1C,EAAW,mBAGXy1C,EAAetzX,SAGfklK,EAA8B,iBAAV98D,GAAsBA,GAAUA,EAAOnpH,SAAWA,QAAUmpH,EAGhF+8D,EAA0B,iBAARriK,MAAoBA,MAAQA,KAAK7jB,SAAWA,QAAU6jB,KAGxE3K,EAAO+sK,GAAcC,GAAYnrJ,SAAS,cAATA,GAYrC,SAAS93B,EAAMqvD,EAAM2+G,EAAS1qH,GAC5B,OAAQA,EAAK5mD,QACX,KAAK,EAAG,OAAO2yD,EAAKztD,KAAKosK,GACzB,KAAK,EAAG,OAAO3+G,EAAKztD,KAAKosK,EAAS1qH,EAAK,IACvC,KAAK,EAAG,OAAO+L,EAAKztD,KAAKosK,EAAS1qH,EAAK,GAAIA,EAAK,IAChD,KAAK,EAAG,OAAO+L,EAAKztD,KAAKosK,EAAS1qH,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE3D,OAAO+L,EAAKrvD,MAAMguK,EAAS1qH,GAiC7B,SAAS+tV,EAAc1uV,EAAOrjD,GAE5B,SADaqjD,EAAQA,EAAMjmD,OAAS,IAoCtC,SAAqBimD,EAAOrjD,EAAOyqK,GACjC,GAAIzqK,IAAUA,EACZ,OAvBJ,SAAuBqjD,EAAOyzU,EAAWrsN,EAAWsyL,GAClD,IAAI3/V,EAASimD,EAAMjmD,OACfqkC,EAAQgpI,GAAasyL,EAAY,GAAK,GAE1C,KAAQA,EAAYt7T,MAAYA,EAAQrkC,GACtC,GAAI05X,EAAUzzU,EAAM5hB,GAAQA,EAAO4hB,GACjC,OAAO5hB,EAGX,OAAQ,EAcCuwW,CAAc3uV,EAAO4uV,EAAWxnO,GAEzC,IAAIhpI,EAAQgpI,EAAY,EACpBrtK,EAASimD,EAAMjmD,OAEnB,OAASqkC,EAAQrkC,GACf,GAAIimD,EAAM5hB,KAAWzhC,EACnB,OAAOyhC,EAGX,OAAQ,EA/CWywW,CAAY7uV,EAAOrjD,EAAO,IAAM,EAyDrD,SAASiyY,EAAUjyY,GACjB,OAAOA,IAAUA,EAWnB,SAASmyY,EAAa9uV,EAAO0rE,GAI3B,IAHA,IAAI3xH,EAASimD,EAAMjmD,OACf+C,EAAS,EAEN/C,KACDimD,EAAMjmD,KAAY2xH,GACpB5uH,IAGJ,OAAOA,EA2CT,SAASiyY,EAAe/uV,EAAO0rE,GAM7B,IALA,IAAIttF,GAAS,EACTrkC,EAASimD,EAAMjmD,OACfi1Y,EAAW,EACXlyY,EAAS,KAEJshC,EAAQrkC,GAAQ,CACvB,IAAI4C,EAAQqjD,EAAM5hB,GACdzhC,IAAU+uH,GApQA,2BAoQe/uH,IAC3BqjD,EAAM5hB,GArQM,yBAsQZthC,EAAOkyY,KAAc5wW,GAGzB,OAAOthC,EAIT,IAAImyY,EAAY95W,SAASz6B,UACrBw+V,EAAc9+V,OAAOM,UAGrBw0Y,EAAa57X,EAAK,sBAGlB67X,EAAc,WAChB,IAAIhzT,EAAM,SAAS9sD,KAAK6/W,GAAcA,EAAWn9W,MAAQm9W,EAAWn9W,KAAKq9W,UAAY,IACrF,OAAOjzT,EAAO,iBAAmBA,EAAO,GAFxB,GAMdkzT,EAAeJ,EAAU5lY,SAGzBpJ,EAAiBi5V,EAAYj5V,eAO7Bk7S,EAAiB+9C,EAAY7vV,SAG7BimY,EAAaz3W,OAAO,IACtBw3W,EAAapwY,KAAKgB,GAAgByE,QA9PjB,sBA8PuC,QACvDA,QAAQ,yDAA0D,SAAW,KAI5E6qY,EAAen1Y,OAAOqC,OAGtB+yY,EAAYprY,KAAK+K,IACjBsgY,EAAYrrY,KAAK6K,IAGjB5U,EAAkB,WACpB,IAAIqyD,EAAO2rS,EAAUj+V,OAAQ,kBACzBiF,EAAOg5V,EAAUh5V,KAErB,OAAQA,GAAQA,EAAKtF,OAAS,EAAK2yD,OAAO7vB,EAJtB,GAetB,SAAS6yW,EAAW11C,GAClB,OAAO5/M,EAAS4/M,GAASu1C,EAAav1C,GAAS,GAWjD,SAAS/qC,EAAatyT,GACpB,SAAKy9I,EAASz9I,KAkgBE+vD,EAlgBiB/vD,EAmgBxBwyY,GAAeA,KAAcziV,MA8IxC,SAAoB/vD,GAGlB,IAAIuqI,EAAMkT,EAASz9I,GAASw+S,EAAel8S,KAAKtC,GAAS,GACzD,MAn8BY,qBAm8BLuqI,GAl8BI,8BAk8BcA,EAlpBVljD,CAAWrnF,IA5G5B,SAAsBA,GAGpB,IAAIG,GAAS,EACb,GAAa,MAATH,GAA0C,mBAAlBA,EAAM0M,SAChC,IACEvM,KAAYH,EAAQ,IACpB,MAAOqB,IAEX,OAAOlB,EAmG6B6yY,CAAahzY,GAAU2yY,EAAaf,GACzD/uW,KAkjBjB,SAAkBktB,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAO2iV,EAAapwY,KAAKytD,GACzB,MAAO1uD,IACT,IACE,OAAQ0uD,EAAO,GACf,MAAO1uD,KAEX,MAAO,GA3jBa4xY,CAASjzY,IA8f/B,IAAkB+vD,EAndlB,SAASmjV,EAAYlvV,EAAMmvV,EAAUC,EAASC,GAU5C,IATA,IAAIC,GAAa,EACb3nQ,EAAa3nF,EAAK5mD,OAClBm2Y,EAAgBH,EAAQh2Y,OACxBo2Y,GAAa,EACbC,EAAaN,EAAS/1Y,OACtBs2Y,EAAcb,EAAUlnQ,EAAa4nQ,EAAe,GACpDpzY,EAASY,MAAM0yY,EAAaC,GAC5BC,GAAeN,IAEVG,EAAYC,GACnBtzY,EAAOqzY,GAAaL,EAASK,GAE/B,OAASF,EAAYC,IACfI,GAAeL,EAAY3nQ,KAC7BxrI,EAAOizY,EAAQE,IAActvV,EAAKsvV,IAGtC,KAAOI,KACLvzY,EAAOqzY,KAAexvV,EAAKsvV,KAE7B,OAAOnzY,EAcT,SAASyzY,EAAiB5vV,EAAMmvV,EAAUC,EAASC,GAWjD,IAVA,IAAIC,GAAa,EACb3nQ,EAAa3nF,EAAK5mD,OAClBy2Y,GAAgB,EAChBN,EAAgBH,EAAQh2Y,OACxB02Y,GAAc,EACdC,EAAcZ,EAAS/1Y,OACvBs2Y,EAAcb,EAAUlnQ,EAAa4nQ,EAAe,GACpDpzY,EAASY,MAAM2yY,EAAcK,GAC7BJ,GAAeN,IAEVC,EAAYI,GACnBvzY,EAAOmzY,GAAatvV,EAAKsvV,GAG3B,IADA,IAAI/9X,EAAS+9X,IACJQ,EAAaC,GACpB5zY,EAAOoV,EAASu+X,GAAcX,EAASW,GAEzC,OAASD,EAAeN,IAClBI,GAAeL,EAAY3nQ,KAC7BxrI,EAAOoV,EAAS69X,EAAQS,IAAiB7vV,EAAKsvV,MAGlD,OAAOnzY,EAmDT,SAAS6zY,EAAWtyP,GAClB,OAAO,WAIL,IAAI19F,EAAOvjD,UACX,OAAQujD,EAAK5mD,QACX,KAAK,EAAG,OAAO,IAAIskJ,EACnB,KAAK,EAAG,OAAO,IAAIA,EAAK19F,EAAK,IAC7B,KAAK,EAAG,OAAO,IAAI09F,EAAK19F,EAAK,GAAIA,EAAK,IACtC,KAAK,EAAG,OAAO,IAAI09F,EAAK19F,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAC/C,KAAK,EAAG,OAAO,IAAI09F,EAAK19F,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACxD,KAAK,EAAG,OAAO,IAAI09F,EAAK19F,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACjE,KAAK,EAAG,OAAO,IAAI09F,EAAK19F,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAC1E,KAAK,EAAG,OAAO,IAAI09F,EAAK19F,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAErF,IAAIiwV,EAAclB,EAAWrxP,EAAK3jJ,WAC9BoC,EAASuhJ,EAAKhhJ,MAAMuzY,EAAajwV,GAIrC,OAAOy5F,EAASt9I,GAAUA,EAAS8zY,GA4DvC,SAASC,EAAankV,EAAMugV,EAAS5hO,EAASykO,EAAUC,EAASe,EAAeC,EAAcC,EAAQpsR,EAAKqsR,GACzG,IAAIC,EApjBS,IAojBDjE,EACRkE,EA5jBU,EA4jBDlE,EACTmE,EA5jBc,EA4jBFnE,EACZ+C,EAAsB,GAAV/C,EACZoE,EAtjBU,IAsjBDpE,EACT5uP,EAAO+yP,OAAYv0W,EAAY8zW,EAAWjkV,GA6C9C,OA3CA,SAASwuG,IAKP,IAJA,IAAInhK,EAASqD,UAAUrD,OACnB4mD,EAAOjjD,MAAM3D,GACbqkC,EAAQrkC,EAELqkC,KACLuiB,EAAKviB,GAAShhC,UAAUghC,GAE1B,GAAI4xW,EACF,IAAItkR,EAAc4lR,EAAUp2O,GACxBq2O,EAAezC,EAAanuV,EAAM+qE,GASxC,GAPIokR,IACFnvV,EAAOkvV,EAAYlvV,EAAMmvV,EAAUC,EAASC,IAE1Cc,IACFnwV,EAAO4vV,EAAiB5vV,EAAMmwV,EAAeC,EAAcf,IAE7Dj2Y,GAAUw3Y,EACNvB,GAAaj2Y,EAASk3Y,EAAO,CAC/B,IAAIO,EAAazC,EAAepuV,EAAM+qE,GACtC,OAAO+lR,EACL/kV,EAAMugV,EAAS4D,EAAc31O,EAAQxvC,YAAa2/C,EAClD1qH,EAAM6wV,EAAYR,EAAQpsR,EAAKqsR,EAAQl3Y,GAG3C,IAAI62Y,EAAcO,EAAS9lO,EAAUpuK,KACjCs9B,EAAK62W,EAAYR,EAAYlkV,GAAQA,EAczC,OAZA3yD,EAAS4mD,EAAK5mD,OACVi3Y,EACFrwV,EAAO+wV,EAAQ/wV,EAAMqwV,GACZK,GAAUt3Y,EAAS,GAC5B4mD,EAAK1jC,UAEHi0X,GAAStsR,EAAM7qH,IACjB4mD,EAAK5mD,OAAS6qH,GAEZ3nH,MAAQA,OAASqW,GAAQrW,gBAAgBi+J,IAC3C3gI,EAAK8jH,GAAQsyP,EAAWp2W,IAEnBA,EAAGl9B,MAAMuzY,EAAajwV,IAyDjC,SAAS8wV,EAAc/kV,EAAMugV,EAAS0E,EAAUjmR,EAAa2/C,EAASykO,EAAUC,EAASiB,EAAQpsR,EAAKqsR,GACpG,IAAIW,EAlqBW,EAkqBD3E,EAMdA,GAAY2E,EAtqBK,GACM,GAJF,GA0qBrB3E,KAAa2E,EAtqBU,GADN,OA0qBf3E,IAAW,GAGb,IAAInwY,EAAS60Y,EAASjlV,EAAMugV,EAAS5hO,EAVnBumO,EAAU9B,OAAWjzW,EAFtB+0W,EAAU7B,OAAUlzW,EAGd+0W,OAAU/0W,EAAYizW,EAFvB8B,OAAU/0W,EAAYkzW,EAW8DiB,EAAQpsR,EAAKqsR,GAEvH,OADAn0Y,EAAO4uH,YAAcA,EACdmmR,EAAgB/0Y,EAAQ4vD,EAAMugV,GA6BvC,SAAS6E,EAAWplV,EAAMugV,EAAS5hO,EAASykO,EAAUC,EAASiB,EAAQpsR,EAAKqsR,GAC1E,IAAIG,EAjtBc,EAitBFnE,EAChB,IAAKmE,GAA4B,mBAAR1kV,EACvB,MAAM,IAAIhzD,UA1tBQ,uBA4tBpB,IAAIK,EAAS+1Y,EAAWA,EAAS/1Y,OAAS,EAS1C,GARKA,IACHkzY,IAAW,GACX6C,EAAWC,OAAUlzW,GAEvB+nF,OAAc/nF,IAAR+nF,EAAoBA,EAAM4qR,EAAUhuP,EAAU58B,GAAM,GAC1DqsR,OAAkBp0W,IAAVo0W,EAAsBA,EAAQzvP,EAAUyvP,GAChDl3Y,GAAUg2Y,EAAUA,EAAQh2Y,OAAS,EAvtBd,GAytBnBkzY,EAA8B,CAChC,IAAI6D,EAAgBhB,EAChBiB,EAAehB,EAEnBD,EAAWC,OAAUlzW,EAGvB,IAAIk1W,EAAU,CACZrlV,EAAMugV,EAAS5hO,EAASykO,EAAUC,EAASe,EAAeC,EAC1DC,EAAQpsR,EAAKqsR,GAef,GAZAvkV,EAAOqlV,EAAQ,GACf9E,EAAU8E,EAAQ,GAClB1mO,EAAU0mO,EAAQ,GAClBjC,EAAWiC,EAAQ,GACnBhC,EAAUgC,EAAQ,KAClBd,EAAQc,EAAQ,GAAmB,MAAdA,EAAQ,GACxBX,EAAY,EAAI1kV,EAAK3yD,OACtBy1Y,EAAUuC,EAAQ,GAAKh4Y,EAAQ,KAEX,GAAVkzY,IACZA,IAAW,IAERA,GAvvBS,GAuvBEA,EAGdnwY,EAvvBa,GAsvBJmwY,GArvBU,IAqvBeA,EA9OtC,SAAqBvgV,EAAMugV,EAASgE,GAClC,IAAI5yP,EAAOsyP,EAAWjkV,GAwBtB,OAtBA,SAASwuG,IAMP,IALA,IAAInhK,EAASqD,UAAUrD,OACnB4mD,EAAOjjD,MAAM3D,GACbqkC,EAAQrkC,EACR2xH,EAAc4lR,EAAUp2O,GAErB98H,KACLuiB,EAAKviB,GAAShhC,UAAUghC,GAE1B,IAAI2xW,EAAWh2Y,EAAS,GAAK4mD,EAAK,KAAO+qE,GAAe/qE,EAAK5mD,EAAS,KAAO2xH,EACzE,GACAqjR,EAAepuV,EAAM+qE,GAGzB,IADA3xH,GAAUg2Y,EAAQh2Y,QACLk3Y,EACX,OAAOQ,EACL/kV,EAAMugV,EAAS4D,EAAc31O,EAAQxvC,iBAAa7uF,EAClD8jB,EAAMovV,OAASlzW,OAAWA,EAAWo0W,EAAQl3Y,GAEjD,IAAIwgC,EAAMt9B,MAAQA,OAASqW,GAAQrW,gBAAgBi+J,EAAW7c,EAAO3xF,EACrE,OAAOrvD,EAAMk9B,EAAIt9B,KAAM0jD,IAwNdqxV,CAAYtlV,EAAMugV,EAASgE,GArvBrB,IAsvBLhE,GAAsC,IAAXA,GAA2C8C,EAAQh2Y,OAG/E82Y,EAAaxzY,WAAMw/B,EAAWk1W,GAlI3C,SAAuBrlV,EAAMugV,EAAS5hO,EAASykO,GAC7C,IAAIqB,EA7nBU,EA6nBDlE,EACT5uP,EAAOsyP,EAAWjkV,GAkBtB,OAhBA,SAASwuG,IAQP,IAPA,IAAI+0O,GAAa,EACb3nQ,EAAalrI,UAAUrD,OACvBo2Y,GAAa,EACbC,EAAaN,EAAS/1Y,OACtB4mD,EAAOjjD,MAAM0yY,EAAa9nQ,GAC1B/tG,EAAMt9B,MAAQA,OAASqW,GAAQrW,gBAAgBi+J,EAAW7c,EAAO3xF,IAE5DyjV,EAAYC,GACnBzvV,EAAKwvV,GAAaL,EAASK,GAE7B,KAAO7nQ,KACL3nF,EAAKwvV,KAAe/yY,YAAY6yY,GAElC,OAAO5yY,EAAMk9B,EAAI42W,EAAS9lO,EAAUpuK,KAAM0jD,IA8GjCsxV,CAAcvlV,EAAMugV,EAAS5hO,EAASykO,QAJ/C,IAAIhzY,EAlSR,SAAoB4vD,EAAMugV,EAAS5hO,GACjC,IAAI8lO,EAvdU,EAudDlE,EACT5uP,EAAOsyP,EAAWjkV,GAMtB,OAJA,SAASwuG,IACP,IAAI3gI,EAAMt9B,MAAQA,OAASqW,GAAQrW,gBAAgBi+J,EAAW7c,EAAO3xF,EACrE,OAAOnyB,EAAGl9B,MAAM8zY,EAAS9lO,EAAUpuK,KAAMG,YA4R5B80Y,CAAWxlV,EAAMugV,EAAS5hO,GAQzC,OAAOwmO,EAAgB/0Y,EAAQ4vD,EAAMugV,GAUvC,SAASqE,EAAU5kV,GAEjB,OADaA,EACCg/D,YAWhB,SAAS2sO,EAAUt4V,EAAQzF,GACzB,IAAIqC,EA/jBN,SAAkBoD,EAAQzF,GACxB,OAAiB,MAAVyF,OAAiB88B,EAAY98B,EAAOzF,GA8jB/B+L,CAAStG,EAAQzF,GAC7B,OAAO20T,EAAatyT,GAASA,OAAQkgC,EAUvC,SAASs1W,EAAe5sX,GACtB,IAAI9e,EAAQ8e,EAAO9e,MAAM0nY,GACzB,OAAO1nY,EAAQA,EAAM,GAAG+C,MAAM4kY,GAAkB,GAWlD,SAASgE,EAAkB7sX,EAAQg9C,GACjC,IAAIxoE,EAASwoE,EAAQxoE,OACjBiuC,EAAYjuC,EAAS,EAIzB,OAFAwoE,EAAQv6B,IAAcjuC,EAAS,EAAI,KAAO,IAAMwoE,EAAQv6B,GACxDu6B,EAAUA,EAAQj5D,KAAKvP,EAAS,EAAI,KAAO,KACpCwrB,EAAO7gB,QAAQwpY,EAAe,uBAAyB3rU,EAAU,UAW1E,SAASi2R,EAAQ77V,EAAO5C,GAEtB,SADAA,EAAmB,MAAVA,EArzBY,iBAqzBwBA,KAE1B,iBAAT4C,GAAqBq8V,EAASx5T,KAAK7iC,KAC1CA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQ5C,EAwB7C,SAAS23Y,EAAQ1xV,EAAOqyV,GAKtB,IAJA,IAAIluE,EAAYnkR,EAAMjmD,OAClBA,EAAS01Y,EAAU4C,EAAQt4Y,OAAQoqU,GACnCmuE,EA/ZN,SAAmB/sX,EAAQy6B,GACzB,IAAI5hB,GAAS,EACTrkC,EAASwrB,EAAOxrB,OAGpB,IADAimD,IAAUA,EAAQtiD,MAAM3D,MACfqkC,EAAQrkC,GACfimD,EAAM5hB,GAAS7Y,EAAO6Y,GAExB,OAAO4hB,EAuZQuyV,CAAUvyV,GAElBjmD,KAAU,CACf,IAAIqkC,EAAQi0W,EAAQt4Y,GACpBimD,EAAMjmD,GAAUy+V,EAAQp6T,EAAO+lS,GAAamuE,EAASl0W,QAASvB,EAEhE,OAAOmjB,EAaT,IAAI6xV,EAAmBx3Y,EAA4B,SAAS6gK,EAASzvF,EAAWwhU,GAC9E,IAoUgBtwY,EApUZ4oB,EAAUkmD,EAAY,GAC1B,OAAOpxE,EAAe6gK,EAAS,WAAY,CACzC,cAAgB,EAChB,YAAc,EACd,OAgUcv+J,EAhUIy1Y,EAAkB7sX,EAAQitX,EAAkBL,EAAe5sX,GAAS0nX,IAiUjF,WACL,OAAOtwY,OAoBX,SAAkBA,GAChB,OAAOA,GAxTT,SAAS61Y,EAAkBjwU,EAAS0qU,GAOlC,OArzBF,SAAmBjtV,EAAO6qR,GAIxB,IAHA,IAAIzsS,GAAS,EACTrkC,EAASimD,EAAQA,EAAMjmD,OAAS,IAE3BqkC,EAAQrkC,IAC8B,IAAzC8wU,EAAS7qR,EAAM5hB,GAAQA,EAAO4hB,MA0yBpCi5S,CAAU+0C,GAAW,SAASpzQ,GAC5B,IAAIj+H,EAAQ,KAAOi+H,EAAK,GACnBqyQ,EAAUryQ,EAAK,KAAQ8zQ,EAAcnsU,EAAS5lE,IACjD4lE,EAAQx+D,KAAKpH,MAGV4lE,EAAQtiB,OAsCjB,IAAIngD,EAxmBJ,SAAkB4sD,EAAM33C,GAEtB,OADAA,EAAQy6X,OAAoB3yW,IAAV9nB,EAAuB23C,EAAK3yD,OAAS,EAAKgb,EAAO,GAC5D,WAML,IALA,IAAI4rC,EAAOvjD,UACPghC,GAAS,EACTrkC,EAASy1Y,EAAU7uV,EAAK5mD,OAASgb,EAAO,GACxCirC,EAAQtiD,MAAM3D,KAETqkC,EAAQrkC,GACfimD,EAAM5hB,GAASuiB,EAAK5rC,EAAQqpB,GAE9BA,GAAS,EAET,IADA,IAAIq0W,EAAY/0Y,MAAMqX,EAAQ,KACrBqpB,EAAQrpB,GACf09X,EAAUr0W,GAASuiB,EAAKviB,GAG1B,OADAq0W,EAAU19X,GAASirC,EACZ3iD,EAAMqvD,EAAMzvD,KAAMw1Y,IAulBlBpoE,EAAS,SAAS39Q,EAAM2+G,EAASykO,GAC1C,IAAI7C,EAr8BU,EAs8Bd,GAAI6C,EAAS/1Y,OAAQ,CACnB,IAAIg2Y,EAAUhB,EAAee,EAAUwB,EAAUxxY,IACjDmtY,GAn8Be,GAq8BjB,OAAO6E,EAAWplV,EAAMugV,EAAS5hO,EAASykO,EAAUC,MAoDtD,SAAS31P,EAASz9I,GAChB,IAAIuR,SAAcvR,EAClB,QAASA,IAAkB,UAARuR,GAA4B,YAARA,GA4EzC,SAASwkY,EAAS/1Y,GAChB,OAAKA,GAGLA,EAgEF,SAAkBA,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GApGF,SAAkBA,GAChB,MAAuB,iBAATA,GAtBhB,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,EAsBtBwnT,CAAaxnT,IAjhCF,mBAihCYw+S,EAAel8S,KAAKtC,GAkG1C6jI,CAAS7jI,GACX,OAtoCM,IAwoCR,GAAIy9I,EAASz9I,GAAQ,CACnB,IAAIq9C,EAAgC,mBAAjBr9C,EAAMslJ,QAAwBtlJ,EAAMslJ,UAAYtlJ,EACnEA,EAAQy9I,EAASpgG,GAAUA,EAAQ,GAAMA,EAE3C,GAAoB,iBAATr9C,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQA,EAAM+H,QAAQupY,EAAQ,IAC9B,IAAI0E,EAAWrE,EAAW9uW,KAAK7iC,GAC/B,OAAQg2Y,GAAYnE,EAAUhvW,KAAK7iC,GAC/B8xY,EAAa9xY,EAAMsyC,MAAM,GAAI0jW,EAAW,EAAI,GAC3CtE,EAAW7uW,KAAK7iC,GAnpCb,KAmpC6BA,EAlF7B8sI,CAAS9sI,MApkCJ,KAqkCaA,KArkCb,IAEG,uBAokCFA,EAAQ,GAAK,EAAI,GAGxBA,IAAUA,EAAQA,EAAQ,EAPd,IAAVA,EAAcA,EAAQ,EAoCjC,SAAS6kJ,EAAU7kJ,GACjB,IAAIG,EAAS41Y,EAAS/1Y,GAClBi2Y,EAAY91Y,EAAS,EAEzB,OAAOA,IAAWA,EAAU81Y,EAAY91Y,EAAS81Y,EAAY91Y,EAAU,EA6FzEgD,EAAK4rH,YAAc,GAEnBv4H,EAAOC,QAAU0M,I,kCCjuCjB,IAAIm+H,EAAY5qI,EAAQ,KACpBwrD,EAASxrD,EAAQ,KACjBkuC,EAAQluC,EAAQ,KAChBm+B,EAAI,CACFigC,MAAOp+D,EAAQ,KACfkpF,SAAUlpF,EAAQ,MAiDxB,SAAS0c,EAAOxG,EAAMwY,EAAKyZ,GACzB,GAAKzZ,EAMqB,kBAARA,IAChBA,EAAM88B,EAAO98B,EAAKxY,EAAKkkY,MAAOjyW,QAPtB,CACR,IAAIjyB,EAAKkkY,QAASlkY,EAAKkkY,MAAMh+X,SAG3B,MAAO,GAFPsS,EAAMxY,EAAKkkY,MAAMh+X,SAQrB,OAAOwuH,EAAUl8G,EAAKyZ,GArDxBpoC,EAAQyuB,KAAO,SAAS+C,EAAS4W,GAC/B,IAAIgyW,EAAUn6Y,EAAQ,KAEtBmoC,EAAUhK,EAAE+qD,SAAS/gD,GAAW,GAAIgyW,EAAQ9yY,UAAU8gC,SAEtD,IAAIloB,EAAOiuB,EAAM3c,EAAS4W,GAEtBs5H,EAAa,SAAbA,EAAsB/zJ,EAAUwxD,EAAS/yD,EAAGc,GAC9C,OAAMrD,gBAAgB63J,GAGtBx0J,EAAOkxB,EAAE+qD,SAASj8E,GAAQ,GAAIk7B,GACvBgyW,EAAQvuY,KAAKhC,KAAM8D,EAAUwxD,EAAS/yD,GAAK8T,EAAMhT,IAH/C,IAAIw0J,EAAW/zJ,EAAUwxD,EAAS/yD,EAAGc,IA0BhD,OAlBAw0J,EAAWp6J,UAAYN,OAAOqC,OAAO+wY,EAAQ9yY,YACxBgC,YAAco4J,EAGnCA,EAAWv6H,GAAKu6H,EAAWp6J,UAI3Bo6J,EAAWp6J,UAAUm4Y,cAAgBv/X,EAGrCke,EAAEigC,MAAMqjG,EAAY1hK,GAGpB0hK,EAAW24O,MAAQn6X,EAEnBwhJ,EAAW+wN,SAAWrqV,EAEfs5H,GAyBT1hK,EAAQs/C,KAAO,SAAS3wB,EAAKyZ,GAC3B,IAAIgyW,EAAUn6Y,EAAQ,KAgBtB,MAV4C,oBAAxC+G,OAAOM,UAAU2O,SAASpK,KAAK8iB,IAA+ByZ,GAAa,WAAYzZ,GAAU,SAAUA,IAE7GyZ,EAAUzZ,EACVA,OAAM8a,GAOD9sB,EAAO9S,KAAM8kB,EAFpByZ,EAAUhK,EAAE+qD,SAAS/gD,GAAW,GAAIv+B,KAAK4oX,SAAU2nB,EAAQ9yY,UAAU8gC,WASvEpoC,EAAQiS,IAAM,SAAS0c,GAGrB,OAAOhS,EAAO9S,KAAM8kB,EAFNyP,EAAE+qD,SAAS,CAACqxT,SAAS,GAAO3wY,KAAK4oX,YASjDzyX,EAAQ8d,KAAO,SAASqtE,GACjBA,IACHA,EAAQthF,KAAKqW,QAOf,IAJA,IAEIkrE,EAFA5jE,EAAM,GACNqnB,EAAMs8C,EAAMxkF,OAGPD,EAAI,EAAGA,EAAImoC,EAAKnoC,IAEL,UADlB0kF,EAAOD,EAAMzkF,IACJoU,KAAiB0M,GAAO4jE,EAAKvwE,KAC7BuwE,EAAK/uE,UAA0B,YAAd+uE,EAAKtwE,OAC7B0M,GAAOxnB,EAAQ8d,KAAKstE,EAAK/uE,WAI7B,OAAOmL,GAQTxnB,EAAQ0/Y,UAAY,SAAS7kY,EAAMskD,EAASwgV,GAC1C,IAAIruE,EAEJ,OAAKz2T,GAAwB,kBAATA,GAIG,mBAAZskD,IACTwgV,EAAcxgV,GAGhBmyQ,EAASznU,KAAK4kB,KAAK5T,GACd8kY,GACHruE,EAAO,UAAUxnS,SAQZwnS,EAAOpxT,OAAO,GAAG7D,SAASw/B,SAjBxB,MAuBX77C,EAAQkgB,KAAO,WACb,OAAOrW,KAAKA,KAAKwwY,QAMnBr6Y,EAAQgqD,SAAW,SAAS2uE,EAAWinR,GAGrC,GAAIA,IAAcjnR,EAChB,OAAO,EAKT,KAAOinR,GAAaA,IAAcA,EAAUnjY,QAE1C,IADAmjY,EAAYA,EAAUnjY,UACJk8G,EAChB,OAAO,EAIX,OAAO,I,gBC5KT,IAAIkkN,EAAc58U,EAAQ,KACtBo8U,EAAcQ,EAASR,MACvBrzT,EAAc6zT,EAAS7zT,QACvBqsC,EAAcwnR,EAASxnR,UACvBiG,EAAcuhR,EAASvhR,YACvBukV,EAAchjE,EAASgjE,YACvBC,EAAcjjE,EAASijE,UACvBxqV,EAAcunR,EAASvnR,QACvBzb,EAAcgjS,EAASkjE,kBACvBC,EAAc//Y,EAAQ,KACtBggZ,EAAchgZ,EAAQ,KAAmBioU,MAAM99P,OAC/C81U,EAAcjgZ,EAAQ,KACtB68U,EAAcojE,EAAUpjE,SACxBC,EAAcmjE,EAAUnjE,UAS5B,SAASojE,EAAcl0Y,EAAM1C,GAC5B,IAAIsR,EAAO,CAAC5O,KAAMA,EAAM1C,MAAOA,GAC/B,OAAO,SAAoB6B,GAC1B,OAAO60Y,EAAY70Y,EAAMyP,IAI3B,SAASulY,EAAah1Y,GACrB,OAAO,SAASggF,GACf,QAAS/1B,EAAU+1B,IAAShgF,EAAKggF,IAInC,IAAIhsD,EAAU,CACb4qB,SAAU,SAAS5+C,EAAM0S,GACxB,OAAO,SAAkBstE,GACxB,OAAOhgF,EAAKggF,IAASpiE,EAAQoiE,GAAMl3E,QAAQ4J,IAAS,IAGtDuiY,UAAW,SAASj1Y,EAAM0S,GACzB,IAAIwiY,EAAQxiY,EAAK4E,cACjB,OAAO,SAAmB0oE,GACzB,OAAOhgF,EAAKggF,IACXpiE,EAAQoiE,GAAM1oE,cAAcxO,QAAQosY,IAAU,IAKjD,YAAa,SAASl1Y,EAAMk9T,GAC3B,IAAIhvQ,EAAO0mV,EAAU13E,GAErB,OAAGhvQ,IAASyjR,EAAkBzjR,EAC3BA,IAASwjR,EAAkBsjE,EAAah1Y,GAEpC,SAAkBggF,GAGxB,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnB1kF,EAAI,EAAGs2C,EAAM,EAAGt2C,EAAIwqF,EAASvqF,OAAQD,IAC5C,GAAG21U,EAAMnrP,EAASxqF,IAAI,CACrB,GAAGwqF,EAASxqF,KAAO0kF,EAAM,MACpBpuC,IAIP,OAAOsc,EAAKtc,IAAQ5xC,EAAKggF,KAG3B,iBAAkB,SAAShgF,EAAMk9T,GAChC,IAAIhvQ,EAAO0mV,EAAU13E,GAErB,OAAGhvQ,IAASyjR,EAAkBzjR,EAC3BA,IAASwjR,EAAkBsjE,EAAah1Y,GAEpC,SAAsBggF,GAG5B,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnBpuC,EAAM,EAAGt2C,EAAIwqF,EAASvqF,OAAS,EAAGD,GAAK,EAAGA,IACjD,GAAG21U,EAAMnrP,EAASxqF,IAAI,CACrB,GAAGwqF,EAASxqF,KAAO0kF,EAAM,MACpBpuC,IAIP,OAAOsc,EAAKtc,IAAQ5xC,EAAKggF,KAG3B,cAAe,SAAShgF,EAAMk9T,GAC7B,IAAIhvQ,EAAO0mV,EAAU13E,GAErB,OAAGhvQ,IAASyjR,EAAkBzjR,EAC3BA,IAASwjR,EAAkBsjE,EAAah1Y,GAEpC,SAAmBggF,GAGzB,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnBpuC,EAAM,EAAGt2C,EAAI,EAAGA,EAAIwqF,EAASvqF,OAAQD,IAC5C,GAAG21U,EAAMnrP,EAASxqF,IAAI,CACrB,GAAGwqF,EAASxqF,KAAO0kF,EAAM,MACtB91B,EAAQ47B,EAASxqF,MAAQ4uD,EAAQ81B,IAAOpuC,IAI7C,OAAOsc,EAAKtc,IAAQ5xC,EAAKggF,KAG3B,mBAAoB,SAAShgF,EAAMk9T,GAClC,IAAIhvQ,EAAO0mV,EAAU13E,GAErB,OAAGhvQ,IAASyjR,EAAkBzjR,EAC3BA,IAASwjR,EAAkBsjE,EAAah1Y,GAEpC,SAAuBggF,GAG7B,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnBpuC,EAAM,EAAGt2C,EAAIwqF,EAASvqF,OAAS,EAAGD,GAAK,EAAGA,IACjD,GAAG21U,EAAMnrP,EAASxqF,IAAI,CACrB,GAAGwqF,EAASxqF,KAAO0kF,EAAM,MACtB91B,EAAQ47B,EAASxqF,MAAQ4uD,EAAQ81B,IAAOpuC,IAI7C,OAAOsc,EAAKtc,IAAQ5xC,EAAKggF,KAKxBlrE,KAAM,SAAS9U,GACX,OAAO,SAASggF,GACZ,OAAQ/1B,EAAU+1B,IAAShgF,EAAKggF,KAIxCqjH,MAAO,SAASrjM,EAAMk9T,EAAMlgS,EAAS+2B,GACjC,OAAIA,GAA8B,IAAnBA,EAAQx4D,OAKD,IAAnBw4D,EAAQx4D,OAEA,SAASykF,GACZ,OAAOjsB,EAAQ,KAAOisB,GAAQhgF,EAAKggF,IAIpC,SAASA,GACZ,OAAOjsB,EAAQjrD,QAAQk3E,IAAS,GAAKhgF,EAAKggF,IAXnChsD,EAAQlf,KAAK9U,IAgB/ByqH,SAAUsqR,EAAc,OAAQ,YAChCpsK,KAAMosK,EAAc,OAAQ,QAC5B7lM,SAAU6lM,EAAc,OAAQ,YAChC/tT,MAAO+tT,EAAc,OAAQ,SAC7B3+X,MAAO2+X,EAAc,OAAQ,SAC7B31X,MAAO21X,EAAc,OAAQ,SAC7BI,OAAQJ,EAAc,OAAQ,WAI3BK,EAAU,CACbvkP,MAAO,SAAS7wE,GACf,OAAQ9vB,EAAY8vB,GAAM08C,MAAK,SAAS18C,GACvC,OAAOixP,EAAMjxP,IAAuB,SAAdA,EAAKtwE,SAI7B,cAAe,SAASswE,GACvB,OA3JF,SAAyBD,GACxB,IAAI,IAAIzkF,EAAI,EAAGykF,GAASzkF,EAAIykF,EAAMxkF,OAAQD,IACzC,GAAG21U,EAAMlxP,EAAMzkF,IAAK,OAAOykF,EAAMzkF,GAyJ1B+5Y,CAAgBZ,EAAYz0T,MAAWA,GAE/C,aAAc,SAASA,GAGtB,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnB1kF,EAAIwqF,EAASvqF,OAAS,EAAGD,GAAK,EAAGA,IAAI,CAC5C,GAAGwqF,EAASxqF,KAAO0kF,EAAM,OAAO,EAChC,GAAGixP,EAAMnrP,EAASxqF,IAAK,MAGxB,OAAO,GAER,gBAAiB,SAAS0kF,GAGzB,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnB1kF,EAAI,EAAGA,EAAIwqF,EAASvqF,OAAQD,IACnC,GAAG21U,EAAMnrP,EAASxqF,IAAI,CACrB,GAAGwqF,EAASxqF,KAAO0kF,EAAM,OAAO,EAChC,GAAG91B,EAAQ47B,EAASxqF,MAAQ4uD,EAAQ81B,GAAO,MAI7C,OAAO,GAER,eAAgB,SAASA,GAGxB,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnB1kF,EAAIwqF,EAASvqF,OAAO,EAAGD,GAAK,EAAGA,IACtC,GAAG21U,EAAMnrP,EAASxqF,IAAI,CACrB,GAAGwqF,EAASxqF,KAAO0kF,EAAM,OAAO,EAChC,GAAG91B,EAAQ47B,EAASxqF,MAAQ4uD,EAAQ81B,GAAO,MAI7C,OAAO,GAER,eAAgB,SAASA,GAGxB,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnB1kF,EAAI,EAAGuc,EAAIiuE,EAASvqF,OAAQD,EAAIuc,EAAGvc,IAC1C,GAAG21U,EAAMnrP,EAASxqF,IAAI,CACrB,GAAGwqF,EAASxqF,KAAO0kF,EAAM,SACzB,GAAG91B,EAAQ47B,EAASxqF,MAAQ4uD,EAAQ81B,GAAO,OAAO,EAIpD,OAAO,GAER,aAAc,SAASA,GAGtB,IAFA,IAAI8F,EAAW2uT,EAAYz0T,GAEnB1kF,EAAI,EAAGA,EAAIwqF,EAASvqF,OAAQD,IACnC,GAAG21U,EAAMnrP,EAASxqF,KAAOwqF,EAASxqF,KAAO0kF,EAAM,OAAO,EAGvD,OAAO,GAIR/gD,KAAM,SAAS+gD,GACd,OAAO00T,EAAU10T,EAAM,SAExBs1T,QAAS3jE,EAOT7qP,SAAU,SAAS9G,GAClB,GAAG00T,EAAU10T,EAAM,YAAa,OAAO,EAClC,GAAqB,WAAlB91B,EAAQ81B,GAAoB,OAAO,EAG3C,IAAI3uE,EAAS44C,EAAU+1B,GAEvB,IACE3uE,GACmB,WAApB64C,EAAQ74C,IACRqjY,EAAUrjY,EAAQ,YACjB,OAAO,EAKT,IAHA,IAAIy0E,EAAW51B,EAAY7+C,GAC1BkkY,GAAW,EAEJj6Y,EAAI,EAAGA,EAAIwqF,EAASvqF,OAAQD,IACnC,GAAG21U,EAAMnrP,EAASxqF,IACjB,GAAGwqF,EAASxqF,KAAO0kF,EAClBu1T,GAAU,MACJ,KAAIA,EACV,OAAO,EACD,GAAGb,EAAU5uT,EAASxqF,GAAI,YAChC,OAAO,EAKV,OAAOi6Y,GAQRluT,SAAU,SAASrH,GAClB,OAAO00T,EAAU10T,EAAM,aAExBy0S,QAAS,SAASz0S,GACjB,OAAQ00T,EAAU10T,EAAM,aAGzB4qC,QAAS,SAAS5qC,GACjB,OAAO00T,EAAU10T,EAAM,YAAco1T,EAAQtuT,SAAS9G,IAGvD8sC,SAAU,SAAS9sC,GAClB,OAAO00T,EAAU10T,EAAM,aAGxBw1T,SAAU,SAASx1T,GAClB,OAAQ00T,EAAU10T,EAAM,aAMzB3uE,OAAQ,SAAS2uE,GAChB,OAAQo1T,EAAQvkP,MAAM7wE,IAGvB8tC,OAAQ,SAAS9tC,GAChB,IAAIn/E,EAAOqpD,EAAQ81B,GACnB,MAAgB,OAATn/E,GACS,OAATA,GACS,OAATA,GACS,OAATA,GACS,OAATA,GACS,OAATA,GAIR8hF,OAAQ,SAAS3C,GAChB,IAAIn/E,EAAOqpD,EAAQ81B,GACnB,MAAgB,WAATn/E,GACS,UAATA,GAC+B,WAA/B4tC,EAAauxC,EAAM,SAG3BkhC,MAAO,SAASlhC,GACf,IAAIn/E,EAAOqpD,EAAQ81B,GACnB,MAAgB,UAATn/E,GACS,aAATA,GACS,WAATA,GACS,WAATA,GAGR6R,KAAM,SAASstE,GACd,IAAIr8C,EACJ,MAAyB,UAAlBumB,EAAQ81B,OACZr8C,EAAO8K,EAAauxC,EAAM,UACL,SAAvBr8C,EAAKrsB,iBAKR,SAASm+X,EAAWvnV,EAAMrtD,EAAM60Y,GAC/B,GAAiB,OAAdA,GACF,GAAGxnV,EAAK3yD,OAAS,GAAc,UAATsF,EACrB,MAAM,IAAI8mW,YAAY,oBAAsB9mW,EAAO,8BAGpD,GAAmB,IAAhBqtD,EAAK3yD,OACP,MAAM,IAAIosW,YAAY,oBAAsB9mW,EAAO,+BAMtD,IAAI80Y,EAAU,yFAEdhhZ,EAAOC,QAAU,CAChBghZ,QAAS,SAAS51Y,EAAMyP,EAAMutB,EAAS+2B,GACtC,IAAIlzD,EAAO4O,EAAK5O,KACf60Y,EAAYjmY,EAAKA,KAElB,GAAGutB,GAAWA,EAAQmsH,SAAWwsP,EAAQ30W,KAAKngC,GAC7C,MAAM8mW,YAAY,IAAM9mW,EAAO,uBAGhC,GAA4B,oBAAlBmzB,EAAQnzB,GAEjB,OADA40Y,EAAWzhX,EAAQnzB,GAAOA,EAAO60Y,GAC1B1hX,EAAQnzB,GAAMb,EAAM01Y,EAAW14W,EAAS+2B,GACzC,GAA4B,oBAAlBqhV,EAAQv0Y,GAAqB,CAC7C,IAAIqtD,EAAOknV,EAAQv0Y,GAGnB,OAFA40Y,EAAWvnV,EAAMrtD,EAAM60Y,GAEpB11Y,IAAS0xU,EAAiBxjR,EAEtB,SAAoB8xB,GAC1B,OAAO9xB,EAAK8xB,EAAM01T,IAAc11Y,EAAKggF,IAGtC,MAAM,IAAI2nR,YAAY,2BAA6B9mW,IAGrDmzB,QAASA,EACTohX,QAASA,I,cCtYVzgZ,EAAOC,QAAU,CAChBo2C,KAAM,OACN4lS,UAAW,YACX3lS,QAAS,UACT4lS,OAAQ,SACRC,MAAO,QACP/8N,IAAK,MACLg9N,MAAO,QACPC,QAAS,UAETC,MAAO,SAASjxP,GACf,MAAqB,QAAdA,EAAKtwE,MAAgC,WAAdswE,EAAKtwE,MAAmC,UAAdswE,EAAKtwE,Q,6BCN/D,IAAImmY,EAAShhZ,EAAQ,KACjBihZ,EAAM,GAAGr0Y,eACTs0Y,EAAWlhZ,EAAQ,KACnB+S,EAAW/S,EAAQ,KAEvBD,EAAQmhZ,SAAWA,EACnBnhZ,EAAQgT,SAAWA,EAUnBhT,EAAQohZ,QAAU,SAAiBC,GAKjC,IAJA,IAAItyW,EAAO,EACPuyW,EAAO,GACPzpT,EAAM,GAEDnxF,EAAI,EAAGkF,EAAIy1Y,EAAa16Y,OAAQD,EAAIkF,EAAGlF,IAAK,CACnD,IAAIqF,EAAIs1Y,EAAa1uX,OAAOjsB,GAExBqoC,GACE,MAAQhjC,GAAK,MAAQA,GAAKgjC,IAC9B8oD,GAAO9rF,GAEH,MAAQA,GACVu1Y,EAAK3wY,KAAKknF,GACVA,EAAM,KAEF,MAAQ9rF,GAAK,MAAQA,GAAKgjC,KAC1B8oD,EAAIlxF,QAAiB,MAANoF,GAAmB,OAANA,GAAoB,MAANA,KAAc8rF,GAAO9rF,IASzE,OAJI8rF,EAAIlxF,QACN26Y,EAAK3wY,KAAKknF,GAGLypT,GAYTthZ,EAAQuhZ,SAAW,SAASp2X,GAK1B,IAJA,IAAImmT,EAAS2vE,EAAO9yW,MAAMhjB,EAAK,CAACqhB,UAAU,EAAMs4N,UAAU,IACtDojE,EAAoC,oBAArBoJ,EAAOkwE,YAA6BlwE,EAAOkwE,WAAWt5E,MAAQoJ,EAAOkwE,WAAWt5E,MAAQ,GACvG1gT,EAAM,GAED9gB,EAAI,EAAGkF,EAAIs8T,EAAMvhU,OAAQD,EAAIkF,EAAGlF,IACvC,GAAqB,QAAjBwhU,EAAMxhU,GAAGoU,KAIX,IAHA,IAAIwtT,EAAOJ,EAAMxhU,GACb+6Y,EAAYn5E,EAAKm5E,UAEZl7V,EAAK,EAAGmjP,EAAK+3G,EAAU96Y,OAAQ4/C,EAAKmjP,EAAInjP,IAC/C/+B,EAAI7W,KAAK,CAAC8wY,EAAUl7V,GAAK+hR,EAAKo5E,eAKpC,OAAOl6X,GAWTxnB,EAAQ2hZ,iBAAmB,SAASx2X,EAAKid,EAASw5W,GAMhD,IALA,IAAItwE,EAAS2vE,EAAO9yW,MAAMhjB,EAAK,CAACqhB,UAAU,EAAMs4N,UAAU,IACtDojE,EAAoC,oBAArBoJ,EAAOkwE,YAA6BlwE,EAAOkwE,WAAWt5E,MAAQoJ,EAAOkwE,WAAWt5E,MAAQ,GACvG25E,EAAY,GAGPn7Y,EAAIwhU,EAAMvhU,OAAS,EAAGD,GAAK,EAAGA,KAChC0hC,EAAQqiL,WAA+B,cAAlBy9G,EAAMxhU,GAAGoU,MAC9BstB,EAAQ05W,cAAkC,UAAlB55E,EAAMxhU,GAAGoU,MACjCstB,EAAQ25W,WAA+B,cAAlB75E,EAAMxhU,GAAGoU,MAC9BstB,EAAQo4W,SAAWt4E,EAAMxhU,GAAG+6Y,WAAa53Y,KAAKm4Y,cAAc95E,EAAMxhU,GAAG+6Y,UAAU,GAAIG,KACtFC,EAAUn9W,QACRu8W,EAAOjvX,UACL,CAAEwvX,WAAY,CAAEt5E,MAAO,CAAEA,EAAMxhU,MAC/B,CAAEo+P,UAAU,EAAOm9I,YAAa,QAI1B/5E,EAAMxhU,GAAG8lC,SAAS7qB,MAGhC,OAAyB,IAArBkgY,EAAUl7Y,QAGP,KAAOk7Y,EAAU3rY,KAAK,MAAQ,MAGvClW,EAAQkiZ,qBAAuB,SAASpkY,GACtC,OAAOA,EAAKxM,QAAQ,QAAS,MAAMA,QAAQ,MAAO,SAGpDtR,EAAQgiZ,cAAgB,SAASG,EAAQC,GACvC,OAAOA,EAASjrU,MAAK,SAAU5yD,GAC7B,OAAO49X,EAAOjuY,QAAQqQ,IAAY,MAatCvkB,EAAQqiZ,YAAc,SAAS7rY,EAAGzC,GAEhC,IADA,IAAI8H,EAAM7K,KAAK6K,IAAIrF,EAAE7P,OAAQoN,EAAEpN,QACtBD,EAAI,EAAGA,EAAImV,EAAKnV,IACvB,GAAI8P,EAAE9P,KAAOqN,EAAErN,GACf,OAAI8P,EAAE9P,GAAKqN,EAAErN,GAAa,GAClB,EAGV,OAAO8P,EAAE7P,OAASoN,EAAEpN,QAGtB3G,EAAQgvJ,QAAU,SAASx4I,EAAGzC,GAC5B,OAAoC,GAA7B/T,EAAQqiZ,YAAY7rY,EAAGzC,GAAUyC,EAAIzC,GAG9C/T,EAAQi/C,OAAS,SAASpV,EAAK7e,GAC7B,IAAK,IAAI9jB,KAAO8jB,EACVk2X,EAAIr1Y,KAAKmf,EAAK9jB,KAChB2iC,EAAI3iC,GAAO8jB,EAAI9jB,IAGnB,OAAO2iC,GAGT7pC,EAAQsiZ,kBAAoB,SAASl6W,GACnC,IAAI1+B,EAAS1J,EAAQi/C,OAAO,CAC1BsjW,SAAU,GACVC,yBAAyB,EACzBC,gBAAgB,EAChBC,iBAAiB,EACjBC,sBAAsB,EACtBC,mBAAmB,EACnBC,mBAAmB,EACnBC,iBAAiB,EACjBC,sBAAsB,EACtBC,uBAAuB,EACvBC,8BAA8B,EAC9BxxY,IAAK,IACJ22B,GAIH,OAFA1+B,EAAOw5Y,aAAex5Y,EAAOw5Y,cAAgB,GAEtCx5Y,I,iBC/KT1J,YAMA,SAASsgK,EAAO13F,GACd,IAAIrb,EAAO,GAAG1R,MAAMhwC,KAAK7B,UAAW,GACpCujD,EAAK7oB,QAAQ,IAAMkkC,EAAQ,KAC3B9sC,EAAQqnX,OAAOzhN,MAAMn0I,EAAKr3C,KAAK,KAAO,MAT9BnW,EAAOC,QAEjB,SAAe4oE,GACb,OAAO03F,EAAO5zJ,KAAK,KAAMk8D,M,gICHZ,WAASjnD,EAAOrU,EAAMnC,GACnCwW,GAASA,EAAOrU,GAAQA,EAAMnC,GAAQT,EAAIV,UAAUrD,QAAU,GAAK2G,EAAOqU,EAAOA,EAAQ,EAAG,GAAKjX,EAAI,EAAI,GAAKS,EAM9G,IAJA,IAAIzE,GAAK,EACLgE,EAAoD,EAAhDsG,KAAK+K,IAAI,EAAG/K,KAAK4W,MAAMta,EAAOqU,GAASxW,IAC3CkqI,EAAQ,IAAI/qI,MAAMI,KAEbhE,EAAIgE,GACX2qI,EAAM3uI,GAAKib,EAAQjb,EAAIyE,EAGzB,OAAOkqI,G,iBCPM,SAAS+tQ,IACtB,IAKIj4Y,EACAw1I,EANAxmI,EAAQ8iU,cAAUnrL,aAAQroH,GAC1BqxG,EAAS3gI,EAAM2gI,OACfuoQ,EAAelpY,EAAMk7H,MACrBqc,EAAK,EACL5oE,EAAK,EAGLmlC,GAAQ,EACRq1R,EAAe,EACfC,EAAe,EACf/nY,EAAQ,GAIZ,SAAS22I,IACP,IAAIznJ,EAAIowI,IAASn0I,OACbkjB,EAAUi/D,EAAK4oE,EACf/vI,EAAQkI,EAAUi/D,EAAK4oE,EACvBpkJ,EAAOuc,EAAU6nI,EAAK5oE,EAC1B39E,GAAQmC,EAAOqU,GAAS3Q,KAAK+K,IAAI,EAAGrR,EAAI44Y,EAA8B,EAAfC,GACnDt1R,IAAO9iH,EAAO6F,KAAK0W,MAAMvc,IAC7BwW,IAAUrU,EAAOqU,EAAQxW,GAAQT,EAAI44Y,IAAiB9nY,EACtDmlI,EAAYx1I,GAAQ,EAAIm4Y,GACpBr1R,IAAOtsG,EAAQ3Q,KAAKi9G,MAAMtsG,GAAQg/H,EAAY3vI,KAAKi9G,MAAM0yB,IAC7D,IAAIr5H,EAASivS,EAAS7rT,GAAG4mB,KAAI,SAAS5qB,GAAK,OAAOib,EAAQxW,EAAOzE,KACjE,OAAO28Y,EAAax5X,EAAUvC,EAAOuC,UAAYvC,GAmDnD,cAhEOnN,EAAM23I,QAgBb33I,EAAM2gI,OAAS,SAAS18G,GACtB,OAAOp0B,UAAUrD,QAAUm0I,EAAO18G,GAAI+zH,KAAarX,KAGrD3gI,EAAMk7H,MAAQ,SAASj3G,GAAG,MACxB,OAAOp0B,UAAUrD,QAAU,cAAWy3B,EAAX,GAACszH,EAAD,KAAK5oE,EAAL,KAAc4oE,GAAMA,EAAI5oE,GAAMA,EAAIqpE,KAAa,CAACT,EAAI5oE,IAGjF3uE,EAAMm4I,WAAa,SAASl0H,GAAG,MAC7B,OAAO,cAAWA,EAAX,GAACszH,EAAD,KAAK5oE,EAAL,KAAc4oE,GAAMA,EAAI5oE,GAAMA,EAAImlC,GAAQ,EAAMkkC,KAGzDh4I,EAAMwmI,UAAY,WAChB,OAAOA,GAGTxmI,EAAMhP,KAAO,WACX,OAAOA,GAGTgP,EAAM8zG,MAAQ,SAAS7vF,GACrB,OAAOp0B,UAAUrD,QAAUsnH,IAAU7vF,EAAG+zH,KAAalkC,GAGvD9zG,EAAMk8D,QAAU,SAASj4C,GACvB,OAAOp0B,UAAUrD,QAAU28Y,EAAetyY,KAAK6K,IAAI,EAAG0nY,GAAgBnlX,GAAI+zH,KAAamxP,GAGzFnpY,EAAMmpY,aAAe,SAASllX,GAC5B,OAAOp0B,UAAUrD,QAAU28Y,EAAetyY,KAAK6K,IAAI,EAAGuiB,GAAI+zH,KAAamxP,GAGzEnpY,EAAMopY,aAAe,SAASnlX,GAC5B,OAAOp0B,UAAUrD,QAAU48Y,GAAgBnlX,EAAG+zH,KAAaoxP,GAG7DppY,EAAMqB,MAAQ,SAAS4iB,GACrB,OAAOp0B,UAAUrD,QAAU6U,EAAQxK,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,EAAGuiB,IAAK+zH,KAAa32I,GAG/ErB,EAAM+zB,KAAO,WACX,OAAOk1W,EAAKtoQ,IAAU,CAAC4W,EAAI5oE,IACtBmlC,MAAMA,GACNq1R,aAAaA,GACbC,aAAaA,GACb/nY,MAAMA,IAGNmuI,IAAU1/I,MAAMkoJ,IAAWnoJ,WAGpC,SAASw5Y,EAASrpY,GAChB,IAAI+zB,EAAO/zB,EAAM+zB,KAUjB,OARA/zB,EAAMk8D,QAAUl8D,EAAMopY,oBACfppY,EAAMmpY,oBACNnpY,EAAMopY,aAEbppY,EAAM+zB,KAAO,WACX,OAAOs1W,EAASt1W,MAGX/zB,EAGF,SAAS0K,IACd,OAAO2+X,EAASJ,EAAKn5Y,MAAM,KAAMD,WAAWs5Y,aAAa,M,gBCnG3D,IAAIt8P,EAAW/mJ,EAAQ,IACnB0/B,EAAM1/B,EAAQ,KACdo2I,EAAWp2I,EAAQ,KAMnBm8Y,EAAYprY,KAAK+K,IACjBsgY,EAAYrrY,KAAK6K,IAqLrB9b,EAAOC,QA7HP,SAAkBs5D,EAAMwoC,EAAM15D,GAC5B,IAAIytG,EACA4tQ,EACAC,EACAh6Y,EACA0uD,EACAurV,EACAC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAARzqV,EACT,MAAM,IAAIhzD,UAzEQ,uBAmFpB,SAAS09Y,EAAW9iK,GAClB,IAAI3zL,EAAOsoF,EACPoiC,EAAUwrO,EAKd,OAHA5tQ,EAAW4tQ,OAAWh6W,EACtBm6W,EAAiB1iK,EACjBx3O,EAAS4vD,EAAKrvD,MAAMguK,EAAS1qH,GAI/B,SAAS02V,EAAY/iK,GAMnB,OAJA0iK,EAAiB1iK,EAEjB9oL,EAAU15B,WAAWwlX,EAAcpiT,GAE5B+hT,EAAUG,EAAW9iK,GAAQx3O,EAatC,SAASy6Y,EAAajjK,GACpB,IAAIkjK,EAAoBljK,EAAOyiK,EAM/B,YAAyBl6W,IAAjBk6W,GAA+BS,GAAqBtiT,GACzDsiT,EAAoB,GAAON,GANJ5iK,EAAO0iK,GAM8BF,EAGjE,SAASQ,IACP,IAAIhjK,EAAOvhN,IACX,GAAIwkX,EAAajjK,GACf,OAAOmjK,EAAanjK,GAGtB9oL,EAAU15B,WAAWwlX,EA3BvB,SAAuBhjK,GACrB,IAEIojK,EAAcxiT,GAFMo/I,EAAOyiK,GAI/B,OAAOG,EACHzH,EAAUiI,EAAaZ,GAJDxiK,EAAO0iK,IAK7BU,EAoB+BC,CAAcrjK,IAGnD,SAASmjK,EAAanjK,GAKpB,OAJA9oL,OAAU3uB,EAINs6W,GAAYluQ,EACPmuQ,EAAW9iK,IAEpBrrG,EAAW4tQ,OAAWh6W,EACf//B,GAeT,SAAS86Y,IACP,IAAItjK,EAAOvhN,IACP8kX,EAAaN,EAAajjK,GAM9B,GAJArrG,EAAW7rI,UACXy5Y,EAAW55Y,KACX85Y,EAAeziK,EAEXujK,EAAY,CACd,QAAgBh7W,IAAZ2uB,EACF,OAAO6rV,EAAYN,GAErB,GAAIG,EAIF,OAFA3lX,aAAai6B,GACbA,EAAU15B,WAAWwlX,EAAcpiT,GAC5BkiT,EAAWL,GAMtB,YAHgBl6W,IAAZ2uB,IACFA,EAAU15B,WAAWwlX,EAAcpiT,IAE9Bp4F,EAIT,OA3GAo4F,EAAOu0C,EAASv0C,IAAS,EACrBklD,EAAS5+G,KACXy7W,IAAYz7W,EAAQy7W,QAEpBH,GADAI,EAAS,YAAa17W,GACHg0W,EAAU/lQ,EAASjuG,EAAQs7W,UAAY,EAAG5hT,GAAQ4hT,EACrEK,EAAW,aAAc37W,IAAYA,EAAQ27W,SAAWA,GAoG1DS,EAAUz7U,OApCV,gBACkBt/B,IAAZ2uB,GACFj6B,aAAai6B,GAEfwrV,EAAiB,EACjB/tQ,EAAW8tQ,EAAeF,EAAWrrV,OAAU3uB,GAgCjD+6W,EAAUE,MA7BV,WACE,YAAmBj7W,IAAZ2uB,EAAwB1uD,EAAS26Y,EAAa1kX,MA6BhD6kX,I,gBC3LT,IAAIz9P,EAAa9mJ,EAAQ,KACrB8wT,EAAe9wT,EAAQ,KAoC3BF,EAAOC,QALP,SAAkBuJ,GAChB,MAAuB,iBAATA,GACXwnT,EAAaxnT,IA9BF,mBA8BYw9I,EAAWx9I,K,gBClCvC,OAaA,SAAY4mH,EAAQ7kH,GAEnB,aAE6D,kBAAnBvL,EAAOC,QAShDD,EAAOC,QAAUmwH,EAAOhjH,SACvB7B,EAAS6kH,GAAQ,GACjB,SAAUtxF,GACT,IAAMA,EAAE1xB,SACP,MAAM,IAAI47B,MAAO,4CAElB,OAAOz9B,EAASuzB,IAGlBvzB,EAAS6kH,GAtBX,CA0BuB,qBAAX5kH,OAAyBA,OAAS1B,MAAM,SAAU0B,EAAQo5Y,GAMtE,aAEA,IAAI7lW,EAAM,GAEN8lW,EAAW59Y,OAAOu+H,eAElB1pF,EAAQiD,EAAIjD,MAEZgpW,EAAO/lW,EAAI+lW,KAAO,SAAUj4V,GAC/B,OAAO9N,EAAI+lW,KAAKh5Y,KAAM+gD,IACnB,SAAUA,GACb,OAAO9N,EAAIzsB,OAAOpoB,MAAO,GAAI2iD,IAI1Bj8C,EAAOmuC,EAAInuC,KAEXuD,EAAU4qC,EAAI5qC,QAEd4wY,EAAa,GAEb7uY,EAAW6uY,EAAW7uY,SAEtBwxI,EAASq9P,EAAWj4Y,eAEpBk4Y,EAAat9P,EAAOxxI,SAEpB+uY,EAAuBD,EAAWl5Y,KAAM7E,QAExC4jF,EAAU,GAEVgG,EAAa,SAAqB/mD,GASpC,MAAsB,oBAARA,GAA8C,kBAAjBA,EAAInsB,UAC1B,oBAAbmsB,EAAItY,MAIV0zX,EAAW,SAAmBp7W,GAChC,OAAc,MAAPA,GAAeA,IAAQA,EAAIt+B,QAIhC4B,EAAW5B,EAAO4B,SAIjB+3Y,EAA4B,CAC/BpqY,MAAM,EACNkQ,KAAK,EACL4wS,OAAO,EACPupF,UAAU,GAGX,SAASC,EAAShyW,EAAM1lC,EAAM0/B,GAG7B,IAAI1mC,EAAG6mB,EACNo9R,GAHDv9Q,EAAMA,GAAOjgC,GAGCsX,cAAe,UAG7B,GADAkmS,EAAO7sS,KAAOs1B,EACT1lC,EACJ,IAAMhH,KAAKw+Y,GAYV33X,EAAM7f,EAAMhH,IAAOgH,EAAKmsC,cAAgBnsC,EAAKmsC,aAAcnzC,KAE1DikT,EAAOluR,aAAc/1B,EAAG6mB,GAI3B6f,EAAItF,KAAK3Z,YAAaw8R,GAASn7R,WAAWpB,YAAau8R,GAIzD,SAAS06F,EAAQx7W,GAChB,OAAY,MAAPA,EACGA,EAAM,GAIQ,kBAARA,GAAmC,oBAARA,EACxCi7W,EAAY7uY,EAASpK,KAAMg+B,KAAW,gBAC/BA,EAQT,IAIC77B,EAAS,SAATA,EAAmBL,EAAUwxD,GAI5B,OAAO,IAAInxD,EAAOm5B,GAAGv3B,KAAMjC,EAAUwxD,IA0VvC,SAASslS,EAAa56T,GAMrB,IAAIljC,IAAWkjC,GAAO,WAAYA,GAAOA,EAAIljC,OAC5CmU,EAAOuqY,EAAQx7W,GAEhB,OAAK+mD,EAAY/mD,KAASo7W,EAAUp7W,KAIpB,UAAT/uB,GAA+B,IAAXnU,GACR,kBAAXA,GAAuBA,EAAS,GAAOA,EAAS,KAAOkjC,GArWhE77B,EAAOm5B,GAAKn5B,EAAO1G,UAAY,CAG9Bg+Y,OAbU,QAeVh8Y,YAAa0E,EAGbrH,OAAQ,EAER0hJ,QAAS,WACR,OAAOxsG,EAAMhwC,KAAMhC,OAKpBsC,IAAK,SAAU+pI,GAGd,OAAY,MAAPA,EACGr6F,EAAMhwC,KAAMhC,MAIbqsI,EAAM,EAAIrsI,KAAMqsI,EAAMrsI,KAAKlD,QAAWkD,KAAMqsI,IAKpDqvQ,UAAW,SAAUp6T,GAGpB,IAAI3jE,EAAMxZ,EAAOqwD,MAAOx0D,KAAKP,cAAe6hF,GAM5C,OAHA3jE,EAAImzX,WAAa9wY,KAGV2d,GAIRkW,KAAM,SAAU0X,GACf,OAAOpnC,EAAO0vB,KAAM7zB,KAAMurC,IAG3B9jB,IAAK,SAAU8jB,GACd,OAAOvrC,KAAK07Y,UAAWv3Y,EAAOsjB,IAAKznB,MAAM,SAAUuhF,EAAM1kF,GACxD,OAAO0uC,EAASvpC,KAAMu/E,EAAM1kF,EAAG0kF,QAIjCvvC,MAAO,WACN,OAAOhyC,KAAK07Y,UAAW1pW,EAAM5xC,MAAOJ,KAAMG,aAG3C0oD,MAAO,WACN,OAAO7oD,KAAKqiJ,GAAI,IAGjBl5F,KAAM,WACL,OAAOnpD,KAAKqiJ,IAAK,IAGlBs5P,KAAM,WACL,OAAO37Y,KAAK07Y,UAAWv3Y,EAAOk5C,KAAMr9C,MAAM,SAAU47Y,EAAO/+Y,GAC1D,OAASA,EAAI,GAAM,OAIrBg/Y,IAAK,WACJ,OAAO77Y,KAAK07Y,UAAWv3Y,EAAOk5C,KAAMr9C,MAAM,SAAU47Y,EAAO/+Y,GAC1D,OAAOA,EAAI,OAIbwlJ,GAAI,SAAUxlJ,GACb,IAAImoC,EAAMhlC,KAAKlD,OACdsc,GAAKvc,GAAMA,EAAI,EAAImoC,EAAM,GAC1B,OAAOhlC,KAAK07Y,UAAWtiY,GAAK,GAAKA,EAAI4rB,EAAM,CAAEhlC,KAAMoZ,IAAQ,KAG5Dk6B,IAAK,WACJ,OAAOtzC,KAAK8wY,YAAc9wY,KAAKP,eAKhCqH,KAAMA,EACNk8C,KAAM/N,EAAI+N,KACVtjB,OAAQuV,EAAIvV,QAGbv7B,EAAOixC,OAASjxC,EAAOm5B,GAAG8X,OAAS,WAClC,IAAI7W,EAASn8B,EAAM+e,EAAKkjB,EAAMy3W,EAAaloX,EAC1Cj3B,EAASwD,UAAW,IAAO,GAC3BtD,EAAI,EACJC,EAASqD,UAAUrD,OACnBuyC,GAAO,EAsBR,IAnBuB,mBAAX1yC,IACX0yC,EAAO1yC,EAGPA,EAASwD,UAAWtD,IAAO,GAC3BA,KAIsB,kBAAXF,GAAwBoqF,EAAYpqF,KAC/CA,EAAS,IAILE,IAAMC,IACVH,EAASqD,KACTnD,KAGOA,EAAIC,EAAQD,IAGnB,GAAqC,OAA9B0hC,EAAUp+B,UAAWtD,IAG3B,IAAMuF,KAAQm8B,EACb8F,EAAO9F,EAASn8B,GAIF,cAATA,GAAwBzF,IAAW0nC,IAKnCgL,GAAQhL,IAAUlgC,EAAOqrD,cAAenrB,KAC1Cy3W,EAAcr7Y,MAAMC,QAAS2jC,MAC/BljB,EAAMxkB,EAAQyF,GAIbwxB,EADIkoX,IAAgBr7Y,MAAMC,QAASygB,GAC3B,GACI26X,GAAgB33Y,EAAOqrD,cAAeruC,GAG1CA,EAFA,GAIT26X,GAAc,EAGdn/Y,EAAQyF,GAAS+B,EAAOixC,OAAQ/F,EAAMzb,EAAOyQ,SAGzBzE,IAATyE,IACX1nC,EAAQyF,GAASiiC,IAOrB,OAAO1nC,GAGRwH,EAAOixC,OAAQ,CAGd2mW,QAAS,UAlLC,QAkLsB50Y,KAAKk/G,UAAW5+G,QAAS,MAAO,IAGhEu0Y,SAAS,EAET7oX,MAAO,SAAUttB,GAChB,MAAM,IAAIq5B,MAAOr5B,IAGlBm9E,KAAM,aAENxzB,cAAe,SAAUxvB,GACxB,IAAI+8T,EAAO37M,EAIX,SAAMphH,GAAgC,oBAAzB5zB,EAASpK,KAAMg+B,QAI5B+8T,EAAQg+C,EAAU/6W,KASK,oBADvBohH,EAAOxD,EAAO57I,KAAM+6V,EAAO,gBAAmBA,EAAMt9V,cACfy7Y,EAAWl5Y,KAAMo/I,KAAW+5P,IAGlEv3T,cAAe,SAAU5jD,GACxB,IAAI59B,EAEJ,IAAMA,KAAQ49B,EACb,OAAO,EAER,OAAO,GAKRi8W,WAAY,SAAU1yW,EAAMhL,EAASgF,GACpCg4W,EAAShyW,EAAM,CAAEwoR,MAAOxzR,GAAWA,EAAQwzR,OAASxuR,IAGrD1P,KAAM,SAAUmM,EAAKuL,GACpB,IAAIzuC,EAAQD,EAAI,EAEhB,GAAK+9V,EAAa56T,GAEjB,IADAljC,EAASkjC,EAAIljC,OACLD,EAAIC,IACqC,IAA3CyuC,EAASvpC,KAAMg+B,EAAKnjC,GAAKA,EAAGmjC,EAAKnjC,IADnBA,UAMpB,IAAMA,KAAKmjC,EACV,IAAgD,IAA3CuL,EAASvpC,KAAMg+B,EAAKnjC,GAAKA,EAAGmjC,EAAKnjC,IACrC,MAKH,OAAOmjC,GAIRk8W,UAAW,SAAUjnW,EAAK0qG,GACzB,IAAIhiI,EAAMgiI,GAAW,GAarB,OAXY,MAAP1qG,IACC2lT,EAAaz9V,OAAQ83C,IACzB9wC,EAAOqwD,MAAO72C,EACE,kBAARs3B,EACN,CAAEA,GAAQA,GAGZnuC,EAAK9E,KAAM2b,EAAKs3B,IAIXt3B,GAGRwlC,QAAS,SAAUo+B,EAAMtsC,EAAKp4C,GAC7B,OAAc,MAAPo4C,GAAe,EAAI5qC,EAAQrI,KAAMizC,EAAKssC,EAAM1kF,IAKpD23D,MAAO,SAAU3L,EAAOgyB,GAKvB,IAJA,IAAI71C,GAAO61C,EAAO/9E,OACjBsc,EAAI,EACJvc,EAAIgsD,EAAM/rD,OAEHsc,EAAI4rB,EAAK5rB,IAChByvC,EAAOhsD,KAAQg+E,EAAQzhE,GAKxB,OAFAyvC,EAAM/rD,OAASD,EAERgsD,GAGRxL,KAAM,SAAUikC,EAAO/1C,EAAUi9G,GAShC,IARA,IACC5kJ,EAAU,GACV/G,EAAI,EACJC,EAASwkF,EAAMxkF,OACfq/Y,GAAkB3zP,EAIX3rJ,EAAIC,EAAQD,KACA0uC,EAAU+1C,EAAOzkF,GAAKA,KAChBs/Y,GACxBv4Y,EAAQkD,KAAMw6E,EAAOzkF,IAIvB,OAAO+G,GAIR6jB,IAAK,SAAU65D,EAAO/1C,EAAUmoF,GAC/B,IAAI52H,EAAQ4C,EACX7C,EAAI,EACJ8gB,EAAM,GAGP,GAAKi9U,EAAat5Q,GAEjB,IADAxkF,EAASwkF,EAAMxkF,OACPD,EAAIC,EAAQD,IAGL,OAFd6C,EAAQ6rC,EAAU+1C,EAAOzkF,GAAKA,EAAG62H,KAGhC/1G,EAAI7W,KAAMpH,QAMZ,IAAM7C,KAAKykF,EAGI,OAFd5hF,EAAQ6rC,EAAU+1C,EAAOzkF,GAAKA,EAAG62H,KAGhC/1G,EAAI7W,KAAMpH,GAMb,OAAOs7Y,EAAMr9X,IAIdm7Q,KAAM,EAIN/3M,QAASA,IAGa,oBAAXxgF,SACX4D,EAAOm5B,GAAI/8B,OAAOC,UAAay0C,EAAK10C,OAAOC,WAI5C2D,EAAO0vB,KAAM,uEAAuEtnB,MAAO,MAC1F,SAAUg2C,EAAIngD,GACb64Y,EAAY,WAAa74Y,EAAO,KAAQA,EAAKyW,iBAmB/C,IAAItU,EAWF,SAAU7C,GACZ,IAAI7E,EACHkkF,EACAq7T,EACAj9X,EACAk9X,EACAC,EACAnF,EACAv1V,EACA26V,EACAC,EACA90R,EAGA+0R,EACAn5Y,EACAo5Y,EACAC,EACAC,EACAC,EACAj5Y,EACAu8C,EAGA47V,EAAU,SAAW,EAAI,IAAIxkX,KAC7BulX,EAAep7Y,EAAO4B,SACtBy5Y,EAAU,EACVj8Y,EAAO,EACPk8Y,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAyBH,KACzBjuO,EAAY,SAAUriK,EAAGzC,GAIxB,OAHKyC,IAAMzC,IACVw9G,GAAe,GAET,GAIRk2B,EAAW,GAAK56I,eAChBiyC,EAAM,GACNjuC,EAAMiuC,EAAIjuC,IACVq2Y,EAAapoW,EAAInuC,KACjBA,EAAOmuC,EAAInuC,KACXkrC,EAAQiD,EAAIjD,MAIZ3nC,EAAU,SAAUmd,EAAM+5D,GAGzB,IAFA,IAAI1kF,EAAI,EACPmoC,EAAMxd,EAAK1qB,OACJD,EAAImoC,EAAKnoC,IAChB,GAAK2qB,EAAM3qB,KAAQ0kF,EAClB,OAAO1kF,EAGT,OAAQ,GAGTygZ,EAAW,6HAMXC,EAAa,sBAGbtP,EAAa,0BAA4BsP,EACxC,0CAGDlrY,EAAa,MAAQkrY,EAAa,KAAOtP,EAAa,OAASsP,EAG9D,gBAAkBA,EAIlB,2DAA6DtP,EAAa,OAC1EsP,EAAa,OAEd5G,EAAU,KAAO1I,EAAP,wFAOoB57X,EAPpB,eAcVmrY,EAAc,IAAI5iX,OAAQ2iX,EAAa,IAAK,KAC5CE,EAAQ,IAAI7iX,OAAQ,IAAM2iX,EAAa,8BACtCA,EAAa,KAAM,KAEpBG,EAAS,IAAI9iX,OAAQ,IAAM2iX,EAAa,KAAOA,EAAa,KAC5DI,EAAe,IAAI/iX,OAAQ,IAAM2iX,EAAa,WAAaA,EAAa,IAAMA,EAC7E,KACDK,EAAW,IAAIhjX,OAAQ2iX,EAAa,MAEpCM,EAAU,IAAIjjX,OAAQ+7W,GACtBmH,EAAc,IAAIljX,OAAQ,IAAMqzW,EAAa,KAE7C8P,EAAY,CACX,GAAM,IAAInjX,OAAQ,MAAQqzW,EAAa,KACvC,MAAS,IAAIrzW,OAAQ,QAAUqzW,EAAa,KAC5C,IAAO,IAAIrzW,OAAQ,KAAOqzW,EAAa,SACvC,KAAQ,IAAIrzW,OAAQ,IAAMvoB,GAC1B,OAAU,IAAIuoB,OAAQ,IAAM+7W,GAC5B,MAAS,IAAI/7W,OAAQ,yDACpB2iX,EAAa,+BAAiCA,EAAa,cAC3DA,EAAa,aAAeA,EAAa,SAAU,KACpD,KAAQ,IAAI3iX,OAAQ,OAAS0iX,EAAW,KAAM,KAI9C,aAAgB,IAAI1iX,OAAQ,IAAM2iX,EACjC,mDAAqDA,EACrD,mBAAqBA,EAAa,mBAAoB,MAGxDS,EAAQ,SACRC,EAAU,sCACVC,EAAU,SAEVC,EAAU,yBAGVC,EAAa,mCAEbC,GAAW,OAIXC,GAAY,IAAI1jX,OAAQ,uBAAyB2iX,EAAa,uBAAwB,KACtFgB,GAAY,SAAUxoF,EAAQyoF,GAC7B,IAAIC,EAAO,KAAO1oF,EAAO/jR,MAAO,GAAM,MAEtC,OAAOwsW,IASNC,EAAO,EACN9mX,OAAOE,aAAc4mX,EAAO,OAC5B9mX,OAAOE,aAAc4mX,GAAQ,GAAK,MAAe,KAAPA,EAAe,SAK5DC,GAAa,sDACbC,GAAa,SAAUz4W,EAAI04W,GAC1B,OAAKA,EAGQ,OAAP14W,EACG,SAIDA,EAAG8L,MAAO,GAAI,GAAM,KAC1B9L,EAAGmF,WAAYnF,EAAGppC,OAAS,GAAIsP,SAAU,IAAO,IAI3C,KAAO85B,GAOf24W,GAAgB,WACfpC,KAGDqC,GAAqBC,IACpB,SAAUx9T,GACT,OAAyB,IAAlBA,EAAKqH,UAAqD,aAAhCrH,EAAKztE,SAAS+E,gBAEhD,CAAEuB,IAAK,aAAc7Y,KAAM,WAI7B,IACCuF,EAAK1G,MACF60C,EAAMjD,EAAMhwC,KAAM86Y,EAAa/oY,YACjC+oY,EAAa/oY,YAMdkhC,EAAK6nW,EAAa/oY,WAAWjX,QAAS+W,SACrC,MAAQ9S,IACT+F,EAAO,CAAE1G,MAAO60C,EAAIn4C,OAGnB,SAAUH,EAAQqiZ,GACjB3B,EAAWj9Y,MAAOzD,EAAQq1C,EAAMhwC,KAAMg9Y,KAKvC,SAAUriZ,EAAQqiZ,GAKjB,IAJA,IAAI5lY,EAAIzc,EAAOG,OACdD,EAAI,EAGKF,EAAQyc,KAAQ4lY,EAAKniZ,OAC/BF,EAAOG,OAASsc,EAAI,IAKvB,SAAS7U,GAAQT,EAAUwxD,EAASqqF,EAAS+9F,GAC5C,IAAIz7O,EAAGpF,EAAG0kF,EAAM09T,EAAKz1Y,EAAO01Y,EAAQC,EACnCC,EAAa9pV,GAAWA,EAAQprB,cAGhCr2B,EAAWyhD,EAAUA,EAAQzhD,SAAW,EAKzC,GAHA8rI,EAAUA,GAAW,GAGI,kBAAb77I,IAA0BA,GACxB,IAAb+P,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,OAAO8rI,EAIR,IAAM+9F,IACL++J,EAAannV,GACbA,EAAUA,GAAWhyD,EAEhBq5Y,GAAiB,CAIrB,GAAkB,KAAb9oY,IAAqBrK,EAAQ40Y,EAAWhsX,KAAMtuB,IAGlD,GAAO7B,EAAIuH,EAAO,IAGjB,GAAkB,IAAbqK,EAAiB,CACrB,KAAO0tE,EAAOjsB,EAAQ/xD,eAAgBtB,IAUrC,OAAO09I,EALP,GAAKp+D,EAAKp9D,KAAOliB,EAEhB,OADA09I,EAAQ74I,KAAMy6E,GACPo+D,OAYT,GAAKy/P,IAAgB79T,EAAO69T,EAAW77Y,eAAgBtB,KACtDk+C,EAAUmV,EAASisB,IACnBA,EAAKp9D,KAAOliB,EAGZ,OADA09I,EAAQ74I,KAAMy6E,GACPo+D,MAKH,IAAKn2I,EAAO,GAElB,OADA1C,EAAK1G,MAAOu/I,EAASrqF,EAAQnzC,qBAAsBre,IAC5C67I,EAGD,IAAO19I,EAAIuH,EAAO,KAASu3E,EAAQmuP,wBACzC55Q,EAAQ45Q,uBAGR,OADApoU,EAAK1G,MAAOu/I,EAASrqF,EAAQ45Q,uBAAwBjtU,IAC9C09I,EAKT,GAAK5+D,EAAQs+T,MACXjC,EAAwBt5Y,EAAW,QACjC84Y,IAAcA,EAAUr6W,KAAMz+B,MAIlB,IAAb+P,GAAqD,WAAnCyhD,EAAQxhD,SAAS+E,eAA+B,CAYpE,GAVAsmY,EAAcr7Y,EACds7Y,EAAa9pV,EASK,IAAbzhD,IACF+pY,EAASr7W,KAAMz+B,IAAc65Y,EAAap7W,KAAMz+B,IAAe,CAqBjE,KAlBAs7Y,EAAaf,GAAS97W,KAAMz+B,IAAcw7Y,GAAahqV,EAAQ3vC,aAC9D2vC,KAImBA,GAAYyrB,EAAQ6jH,SAGhCq6M,EAAM3pV,EAAQtlB,aAAc,OAClCivW,EAAMA,EAAIx3Y,QAASi3Y,GAAYC,IAE/BrpV,EAAQ1iC,aAAc,KAAQqsX,EAAMlD,IAMtCl/Y,GADAqiZ,EAAS5C,EAAUx4Y,IACRhH,OACHD,KACPqiZ,EAAQriZ,IAAQoiZ,EAAM,IAAMA,EAAM,UAAa,IAC9CM,GAAYL,EAAQriZ,IAEtBsiZ,EAAcD,EAAO7yY,KAAM,KAG5B,IAIC,OAHAvF,EAAK1G,MAAOu/I,EACXy/P,EAAWr4X,iBAAkBo4X,IAEvBx/P,EACN,MAAQ6/P,GACTpC,EAAwBt5Y,GAAU,GANnC,QAQMm7Y,IAAQlD,GACZzmV,EAAQ9kB,gBAAiB,QAQ9B,OAAOoR,EAAQ99C,EAAS2D,QAASg2Y,EAAO,MAAQnoV,EAASqqF,EAAS+9F,GASnE,SAASu/J,KACR,IAAInoX,EAAO,GAYX,OAVA,SAASyzE,EAAOlrG,EAAKqC,GAQpB,OALKo1B,EAAKhuB,KAAMzJ,EAAM,KAAQ++Y,EAAKqD,oBAG3Bl3S,EAAOzzE,EAAK8/C,SAEX2zB,EAAOlrG,EAAM,KAAQqC,GAShC,SAASggZ,GAAcpiX,GAEtB,OADAA,EAAIy+W,IAAY,EACTz+W,EAOR,SAASqiX,GAAQriX,GAChB,IAAIyC,EAAKz8B,EAASsX,cAAe,YAEjC,IACC,QAAS0iB,EAAIyC,GACZ,MAAQh/B,IACT,OAAO,EAHR,QAOMg/B,EAAGpa,YACPoa,EAAGpa,WAAWpB,YAAawb,GAI5BA,EAAK,MASP,SAAS6/W,GAAW//W,EAAO4/G,GAI1B,IAHA,IAAIxqG,EAAMpV,EAAMtzB,MAAO,KACtB1P,EAAIo4C,EAAIn4C,OAEDD,KACPu/Y,EAAKyD,WAAY5qW,EAAKp4C,IAAQ4iJ,EAUhC,SAASqgQ,GAAcnzY,EAAGzC,GACzB,IAAIynI,EAAMznI,GAAKyC,EACdilF,EAAO+/C,GAAsB,IAAfhlI,EAAEkH,UAAiC,IAAf3J,EAAE2J,UACnClH,EAAEozY,YAAc71Y,EAAE61Y,YAGpB,GAAKnuT,EACJ,OAAOA,EAIR,GAAK+/C,EACJ,KAAUA,EAAMA,EAAItyG,aACnB,GAAKsyG,IAAQznI,EACZ,OAAQ,EAKX,OAAOyC,EAAI,GAAK,EAOjB,SAASqzY,GAAmB/uY,GAC3B,OAAO,SAAUswE,GAEhB,MAAgB,UADLA,EAAKztE,SAAS+E,eACE0oE,EAAKtwE,OAASA,GAQ3C,SAASgvY,GAAoBhvY,GAC5B,OAAO,SAAUswE,GAChB,IAAIn/E,EAAOm/E,EAAKztE,SAAS+E,cACzB,OAAkB,UAATzW,GAA6B,WAATA,IAAuBm/E,EAAKtwE,OAASA,GAQpE,SAASivY,GAAsBt3T,GAG9B,OAAO,SAAUrH,GAKhB,MAAK,SAAUA,EASTA,EAAK57D,aAAgC,IAAlB47D,EAAKqH,SAGvB,UAAWrH,EACV,UAAWA,EAAK57D,WACb47D,EAAK57D,WAAWijE,WAAaA,EAE7BrH,EAAKqH,WAAaA,EAMpBrH,EAAK4+T,aAAev3T,GAI1BrH,EAAK4+T,cAAgBv3T,GACrBk2T,GAAoBv9T,KAAWqH,EAG1BrH,EAAKqH,WAAaA,EAKd,UAAWrH,GACfA,EAAKqH,WAAaA,GAY5B,SAASw3T,GAAwB9iX,GAChC,OAAOoiX,IAAc,SAAUW,GAE9B,OADAA,GAAYA,EACLX,IAAc,SAAUhiK,EAAM95O,GAMpC,IALA,IAAIwV,EACHknY,EAAehjX,EAAI,GAAIogN,EAAK5gP,OAAQujZ,GACpCxjZ,EAAIyjZ,EAAaxjZ,OAGVD,KACF6gP,EAAQtkO,EAAIknY,EAAczjZ,MAC9B6gP,EAAMtkO,KAASxV,EAASwV,GAAMskO,EAAMtkO,WAYzC,SAASkmY,GAAahqV,GACrB,OAAOA,GAAmD,qBAAjCA,EAAQnzC,sBAAwCmzC,EAkrC1E,IAAMz4D,KA9qCNkkF,EAAUx8E,GAAOw8E,QAAU,GAO3Bs7T,EAAQ93Y,GAAO83Y,MAAQ,SAAU96T,GAChC,IAAIh0C,EAAYg0C,GAAQA,EAAK38C,aAC5B83W,EAAUn7T,IAAUA,EAAKr3C,eAAiBq3C,GAAO/7D,gBAKlD,OAAQw4X,EAAMz7W,KAAMgL,GAAamvW,GAAWA,EAAQ5oY,UAAY,SAQjE2oY,EAAcl4Y,GAAOk4Y,YAAc,SAAU54Y,GAC5C,IAAI08Y,EAAYC,EACfj9W,EAAM1/B,EAAOA,EAAKqmC,eAAiBrmC,EAAOi5Y,EAO3C,OAAKv5W,GAAOjgC,GAA6B,IAAjBigC,EAAI1vB,UAAmB0vB,EAAI/d,iBAMnDk3X,GADAp5Y,EAAWigC,GACQ/d,gBACnBm3X,GAAkBN,EAAO/4Y,GAQpBw5Y,GAAgBx5Y,IAClBk9Y,EAAYl9Y,EAASmtS,cAAiB+vG,EAAUzpW,MAAQypW,IAGrDA,EAAUltX,iBACdktX,EAAUltX,iBAAkB,SAAUurX,IAAe,GAG1C2B,EAAUntX,aACrBmtX,EAAUntX,YAAa,WAAYwrX,KASrC99T,EAAQ6jH,MAAQ+6M,IAAQ,SAAU5/W,GAEjC,OADA28W,EAAQp4X,YAAayb,GAAKzb,YAAahhB,EAASsX,cAAe,QACzB,qBAAxBmlB,EAAGhZ,mBACfgZ,EAAGhZ,iBAAkB,uBAAwBjqB,UAShDikF,EAAQ1uE,WAAastY,IAAQ,SAAU5/W,GAEtC,OADAA,EAAGpb,UAAY,KACPob,EAAGiQ,aAAc,gBAO1B+wC,EAAQ5+D,qBAAuBw9X,IAAQ,SAAU5/W,GAEhD,OADAA,EAAGzb,YAAahhB,EAASqjC,cAAe,MAChC5G,EAAG5d,qBAAsB,KAAMrlB,UAIxCikF,EAAQmuP,uBAAyBivE,EAAQ57W,KAAMj/B,EAAS4rU,wBAMxDnuP,EAAQ0/T,QAAUd,IAAQ,SAAU5/W,GAEnC,OADA28W,EAAQp4X,YAAayb,GAAK5b,GAAK43X,GACvBz4Y,EAASo9Y,oBAAsBp9Y,EAASo9Y,kBAAmB3E,GAAUj/Y,UAIzEikF,EAAQ0/T,SACZrE,EAAKnpY,OAAL,GAAsB,SAAUkR,GAC/B,IAAIw8X,EAASx8X,EAAG1c,QAAS62Y,GAAWC,IACpC,OAAO,SAAUh9T,GAChB,OAAOA,EAAKvxC,aAAc,QAAW2wW,IAGvCvE,EAAK9uU,KAAL,GAAoB,SAAUnpD,EAAImxC,GACjC,GAAuC,qBAA3BA,EAAQ/xD,gBAAkCo5Y,EAAiB,CACtE,IAAIp7T,EAAOjsB,EAAQ/xD,eAAgB4gB,GACnC,OAAOo9D,EAAO,CAAEA,GAAS,OAI3B66T,EAAKnpY,OAAL,GAAuB,SAAUkR,GAChC,IAAIw8X,EAASx8X,EAAG1c,QAAS62Y,GAAWC,IACpC,OAAO,SAAUh9T,GAChB,IAAI19E,EAAwC,qBAA1B09E,EAAKhxC,kBACtBgxC,EAAKhxC,iBAAkB,MACxB,OAAO1sC,GAAQA,EAAKnE,QAAUihZ,IAMhCvE,EAAK9uU,KAAL,GAAoB,SAAUnpD,EAAImxC,GACjC,GAAuC,qBAA3BA,EAAQ/xD,gBAAkCo5Y,EAAiB,CACtE,IAAI94Y,EAAMhH,EAAGykF,EACZC,EAAOjsB,EAAQ/xD,eAAgB4gB,GAEhC,GAAKo9D,EAAO,CAIX,IADA19E,EAAO09E,EAAKhxC,iBAAkB,QACjB1sC,EAAKnE,QAAUykB,EAC3B,MAAO,CAAEo9D,GAMV,IAFAD,EAAQhsB,EAAQorV,kBAAmBv8X,GACnCtnB,EAAI,EACM0kF,EAAOD,EAAOzkF,MAEvB,IADAgH,EAAO09E,EAAKhxC,iBAAkB,QACjB1sC,EAAKnE,QAAUykB,EAC3B,MAAO,CAAEo9D,GAKZ,MAAO,MAMV66T,EAAK9uU,KAAL,IAAqByT,EAAQ5+D,qBAC5B,SAAU8nH,EAAK30E,GACd,MAA6C,qBAAjCA,EAAQnzC,qBACZmzC,EAAQnzC,qBAAsB8nH,GAG1BlpD,EAAQs+T,IACZ/pV,EAAQvuC,iBAAkBkjH,QAD3B,GAKR,SAAUA,EAAK30E,GACd,IAAIisB,EACHg6M,EAAM,GACN1+R,EAAI,EAGJ8iJ,EAAUrqF,EAAQnzC,qBAAsB8nH,GAGzC,GAAa,MAARA,EAAc,CAClB,KAAU1oD,EAAOo+D,EAAS9iJ,MACF,IAAlB0kF,EAAK1tE,UACT0nR,EAAIz0R,KAAMy6E,GAIZ,OAAOg6M,EAER,OAAO57I,GAITy8P,EAAK9uU,KAAL,MAAuByT,EAAQmuP,wBAA0B,SAAUvqT,EAAW2wC,GAC7E,GAA+C,qBAAnCA,EAAQ45Q,wBAA0CytE,EAC7D,OAAOrnV,EAAQ45Q,uBAAwBvqT,IAUzCk4X,EAAgB,GAOhBD,EAAY,IAEL77T,EAAQs+T,IAAMlB,EAAQ57W,KAAMj/B,EAASyjB,qBAI3C44X,IAAQ,SAAU5/W,GAEjB,IAAI0iF,EAOJi6R,EAAQp4X,YAAayb,GAAK5Y,UAAY,UAAY40X,EAAZ,qBACpBA,EADoB,kEAQjCh8W,EAAGhZ,iBAAkB,wBAAyBjqB,QAClD8/Y,EAAU91Y,KAAM,SAAWy2Y,EAAa,gBAKnCx9W,EAAGhZ,iBAAkB,cAAejqB,QACzC8/Y,EAAU91Y,KAAM,MAAQy2Y,EAAa,aAAeD,EAAW,KAI1Dv9W,EAAGhZ,iBAAkB,QAAUg1X,EAAU,MAAOj/Y,QACrD8/Y,EAAU91Y,KAAM,OAQjB27G,EAAQn/G,EAASsX,cAAe,UAC1BgY,aAAc,OAAQ,IAC5BmN,EAAGzb,YAAam+F,GACV1iF,EAAGhZ,iBAAkB,aAAcjqB,QACxC8/Y,EAAU91Y,KAAM,MAAQy2Y,EAAa,QAAUA,EAAa,KAC3DA,EAAa,gBAMTx9W,EAAGhZ,iBAAkB,YAAajqB,QACvC8/Y,EAAU91Y,KAAM,YAMXi5B,EAAGhZ,iBAAkB,KAAOg1X,EAAU,MAAOj/Y,QAClD8/Y,EAAU91Y,KAAM,YAKjBi5B,EAAGhZ,iBAAkB,QACrB61X,EAAU91Y,KAAM,kBAGjB64Y,IAAQ,SAAU5/W,GACjBA,EAAG5Y,UAAY,oFAKf,IAAIs7F,EAAQn/G,EAASsX,cAAe,SACpC6nG,EAAM7vF,aAAc,OAAQ,UAC5BmN,EAAGzb,YAAam+F,GAAQ7vF,aAAc,OAAQ,KAIzCmN,EAAGhZ,iBAAkB,YAAajqB,QACtC8/Y,EAAU91Y,KAAM,OAASy2Y,EAAa,eAKW,IAA7Cx9W,EAAGhZ,iBAAkB,YAAajqB,QACtC8/Y,EAAU91Y,KAAM,WAAY,aAK7B41Y,EAAQp4X,YAAayb,GAAK6oD,UAAW,EACc,IAA9C7oD,EAAGhZ,iBAAkB,aAAcjqB,QACvC8/Y,EAAU91Y,KAAM,WAAY,aAK7Bi5B,EAAGhZ,iBAAkB,QACrB61X,EAAU91Y,KAAM,aAIXi6E,EAAQr9E,gBAAkBy6Y,EAAQ57W,KAAQ3+B,EAAU84Y,EAAQ94Y,SAClE84Y,EAAQ34Y,uBACR24Y,EAAQ14Y,oBACR04Y,EAAQx4Y,kBACRw4Y,EAAQz4Y,qBAER07Y,IAAQ,SAAU5/W,GAIjBghD,EAAQ6/T,kBAAoBh9Y,EAAQ5B,KAAM+9B,EAAI,KAI9Cn8B,EAAQ5B,KAAM+9B,EAAI,aAClB88W,EAAc/1Y,KAAM,KAAM6vY,MAI5BiG,EAAYA,EAAU9/Y,QAAU,IAAI89B,OAAQgiX,EAAUvwY,KAAM,MAC5DwwY,EAAgBA,EAAc//Y,QAAU,IAAI89B,OAAQiiX,EAAcxwY,KAAM,MAIxEk0Y,EAAapC,EAAQ57W,KAAMm6W,EAAQmE,yBAKnC1gW,EAAWogW,GAAcpC,EAAQ57W,KAAMm6W,EAAQv8V,UAC9C,SAAUxzC,EAAGzC,GACZ,IAAI42Y,EAAuB,IAAfn0Y,EAAEkH,SAAiBlH,EAAE6Y,gBAAkB7Y,EAClDo0Y,EAAM72Y,GAAKA,EAAEyb,WACd,OAAOhZ,IAAMo0Y,MAAWA,GAAwB,IAAjBA,EAAIltY,YAClCitY,EAAM3gW,SACL2gW,EAAM3gW,SAAU4gW,GAChBp0Y,EAAEk0Y,yBAA8D,GAAnCl0Y,EAAEk0Y,wBAAyBE,MAG3D,SAAUp0Y,EAAGzC,GACZ,GAAKA,EACJ,KAAUA,EAAIA,EAAEyb,YACf,GAAKzb,IAAMyC,EACV,OAAO,EAIV,OAAO,GAOTqiK,EAAYuxO,EACZ,SAAU5zY,EAAGzC,GAGZ,GAAKyC,IAAMzC,EAEV,OADAw9G,GAAe,EACR,EAIR,IAAIy9B,GAAWx4I,EAAEk0Y,yBAA2B32Y,EAAE22Y,wBAC9C,OAAK17P,IAgBU,GAPfA,GAAYx4I,EAAEu9B,eAAiBv9B,KAASzC,EAAEggC,eAAiBhgC,GAC1DyC,EAAEk0Y,wBAAyB32Y,GAG3B,KAIG62E,EAAQigU,cAAgB92Y,EAAE22Y,wBAAyBl0Y,KAAQw4I,EAOzDx4I,GAAKrJ,GAAYqJ,EAAEu9B,eAAiB4yW,GACxC38V,EAAU28V,EAAcnwY,IAChB,EAOJzC,GAAK5G,GAAY4G,EAAEggC,eAAiB4yW,GACxC38V,EAAU28V,EAAc5yY,GACjB,EAIDsyY,EACJnyY,EAASmyY,EAAW7vY,GAAMtC,EAASmyY,EAAWtyY,GAChD,EAGe,EAAVi7I,GAAe,EAAI,IAE3B,SAAUx4I,EAAGzC,GAGZ,GAAKyC,IAAMzC,EAEV,OADAw9G,GAAe,EACR,EAGR,IAAIiqB,EACH90I,EAAI,EACJokZ,EAAMt0Y,EAAEgZ,WACRo7X,EAAM72Y,EAAEyb,WACRu7X,EAAK,CAAEv0Y,GACPw0Y,EAAK,CAAEj3Y,GAGR,IAAM+2Y,IAAQF,EAMb,OAAOp0Y,GAAKrJ,GAAY,EACvB4G,GAAK5G,EAAW,EAEhB29Y,GAAO,EACPF,EAAM,EACNvE,EACEnyY,EAASmyY,EAAW7vY,GAAMtC,EAASmyY,EAAWtyY,GAChD,EAGK,GAAK+2Y,IAAQF,EACnB,OAAOjB,GAAcnzY,EAAGzC,GAKzB,IADAynI,EAAMhlI,EACIglI,EAAMA,EAAIhsH,YACnBu7X,EAAGrmX,QAAS82G,GAGb,IADAA,EAAMznI,EACIynI,EAAMA,EAAIhsH,YACnBw7X,EAAGtmX,QAAS82G,GAIb,KAAQuvQ,EAAIrkZ,KAAQskZ,EAAItkZ,IACvBA,IAGD,OAAOA,EAGNijZ,GAAcoB,EAAIrkZ,GAAKskZ,EAAItkZ,IAO3BqkZ,EAAIrkZ,IAAOigZ,GAAgB,EAC3BqE,EAAItkZ,IAAOigZ,EAAe,EAE1B,GAGKx5Y,GA/cCA,GAkdTiB,GAAOX,QAAU,SAAUw9Y,EAAMt/R,GAChC,OAAOv9G,GAAQ68Y,EAAM,KAAM,KAAMt/R,IAGlCv9G,GAAOb,gBAAkB,SAAU69E,EAAM6/T,GAGxC,GAFA3E,EAAal7T,GAERR,EAAQr9E,iBAAmBi5Y,IAC9BS,EAAwBgE,EAAO,QAC7BvE,IAAkBA,EAAct6W,KAAM6+W,OACtCxE,IAAkBA,EAAUr6W,KAAM6+W,IAErC,IACC,IAAIzjY,EAAM/Z,EAAQ5B,KAAMu/E,EAAM6/T,GAG9B,GAAKzjY,GAAOojE,EAAQ6/T,mBAInBr/T,EAAKj+E,UAAuC,KAA3Bi+E,EAAKj+E,SAASuQ,SAC/B,OAAO8J,EAEP,MAAQ5c,IACTq8Y,EAAwBgE,GAAM,GAIhC,OAAO78Y,GAAQ68Y,EAAM99Y,EAAU,KAAM,CAAEi+E,IAASzkF,OAAS,GAG1DyH,GAAO47C,SAAW,SAAUmV,EAASisB,GAUpC,OAHOjsB,EAAQprB,eAAiBorB,IAAahyD,GAC5Cm5Y,EAAannV,GAEPnV,EAAUmV,EAASisB,IAG3Bh9E,GAAO2gC,KAAO,SAAUq8C,EAAMn/E,IAOtBm/E,EAAKr3C,eAAiBq3C,IAAUj+E,GACtCm5Y,EAAal7T,GAGd,IAAIjkD,EAAK8+W,EAAKyD,WAAYz9Y,EAAKyW,eAG9B6K,EAAM4Z,GAAMsgH,EAAO57I,KAAMo6Y,EAAKyD,WAAYz9Y,EAAKyW,eAC9CykB,EAAIikD,EAAMn/E,GAAOu6Y,QACjB/8W,EAEF,YAAeA,IAARlc,EACNA,EACAq9D,EAAQ1uE,aAAesqY,EACtBp7T,EAAKvxC,aAAc5tC,IACjBshB,EAAM69D,EAAKhxC,iBAAkBnuC,KAAYshB,EAAIysB,UAC9CzsB,EAAIhkB,MACJ,MAGJ6E,GAAOwxT,OAAS,SAAU/nO,GACzB,OAASA,EAAM,IAAKvmF,QAASi3Y,GAAYC,KAG1Cp6Y,GAAO4uB,MAAQ,SAAUttB,GACxB,MAAM,IAAIq5B,MAAO,0CAA4Cr5B,IAO9DtB,GAAO88Y,WAAa,SAAU1hQ,GAC7B,IAAIp+D,EACH+/T,EAAa,GACbloY,EAAI,EACJvc,EAAI,EAOL,GAJA6qH,GAAgB3mC,EAAQwgU,iBACxB/E,GAAaz7T,EAAQygU,YAAc7hQ,EAAQ3tG,MAAO,GAClD2tG,EAAQ38F,KAAMgsH,GAETtnD,EAAe,CACnB,KAAUnmC,EAAOo+D,EAAS9iJ,MACpB0kF,IAASo+D,EAAS9iJ,KACtBuc,EAAIkoY,EAAWx6Y,KAAMjK,IAGvB,KAAQuc,KACPumI,EAAQjgH,OAAQ4hX,EAAYloY,GAAK,GAQnC,OAFAojY,EAAY,KAEL78P,GAORxgI,EAAU5a,GAAO4a,QAAU,SAAUoiE,GACpC,IAAI19E,EACH8Z,EAAM,GACN9gB,EAAI,EACJgX,EAAW0tE,EAAK1tE,SAEjB,GAAMA,GAQC,GAAkB,IAAbA,GAA+B,IAAbA,GAA+B,KAAbA,EAAkB,CAIjE,GAAiC,kBAArB0tE,EAAKrtE,YAChB,OAAOqtE,EAAKrtE,YAIZ,IAAMqtE,EAAOA,EAAKjiD,WAAYiiD,EAAMA,EAAOA,EAAKliD,YAC/C1hB,GAAOwB,EAASoiE,QAGZ,GAAkB,IAAb1tE,GAA+B,IAAbA,EAC7B,OAAO0tE,EAAKj8C,eAnBZ,KAAUzhC,EAAO09E,EAAM1kF,MAGtB8gB,GAAOwB,EAAStb,GAqBlB,OAAO8Z,IAGRy+X,EAAO73Y,GAAOqzY,UAAY,CAGzB6H,YAAa,GAEbgC,aAAc/B,GAEdl2Y,MAAOu0Y,EAEP8B,WAAY,GAEZvyU,KAAM,GAENo0U,SAAU,CACT,IAAK,CAAEtnY,IAAK,aAAcyuC,OAAO,GACjC,IAAK,CAAEzuC,IAAK,cACZ,IAAK,CAAEA,IAAK,kBAAmByuC,OAAO,GACtC,IAAK,CAAEzuC,IAAK,oBAGbunY,UAAW,CACV,KAAQ,SAAUn4Y,GAWjB,OAVAA,EAAO,GAAMA,EAAO,GAAI/B,QAAS62Y,GAAWC,IAG5C/0Y,EAAO,IAAQA,EAAO,IAAOA,EAAO,IACnCA,EAAO,IAAO,IAAK/B,QAAS62Y,GAAWC,IAEpB,OAAf/0Y,EAAO,KACXA,EAAO,GAAM,IAAMA,EAAO,GAAM,KAG1BA,EAAMwoC,MAAO,EAAG,IAGxB,MAAS,SAAUxoC,GAiClB,OArBAA,EAAO,GAAMA,EAAO,GAAIqP,cAEU,QAA7BrP,EAAO,GAAIwoC,MAAO,EAAG,IAGnBxoC,EAAO,IACZjF,GAAO4uB,MAAO3pB,EAAO,IAKtBA,EAAO,KAASA,EAAO,GACtBA,EAAO,IAAQA,EAAO,IAAO,GAC7B,GAAqB,SAAfA,EAAO,IAAiC,QAAfA,EAAO,KACvCA,EAAO,KAAWA,EAAO,GAAMA,EAAO,IAAwB,QAAfA,EAAO,KAG3CA,EAAO,IAClBjF,GAAO4uB,MAAO3pB,EAAO,IAGfA,GAGR,OAAU,SAAUA,GACnB,IAAIo4Y,EACHC,GAAYr4Y,EAAO,IAAOA,EAAO,GAElC,OAAKu0Y,EAAS,MAAYx7W,KAAM/4B,EAAO,IAC/B,MAIHA,EAAO,GACXA,EAAO,GAAMA,EAAO,IAAOA,EAAO,IAAO,GAG9Bq4Y,GAAYhE,EAAQt7W,KAAMs/W,KAGnCD,EAAStF,EAAUuF,GAAU,MAG7BD,EAASC,EAASx3Y,QAAS,IAAKw3Y,EAAS/kZ,OAAS8kZ,GAAWC,EAAS/kZ,UAGxE0M,EAAO,GAAMA,EAAO,GAAIwoC,MAAO,EAAG4vW,GAClCp4Y,EAAO,GAAMq4Y,EAAS7vW,MAAO,EAAG4vW,IAI1Bp4Y,EAAMwoC,MAAO,EAAG,MAIzB/+B,OAAQ,CAEP,IAAO,SAAU6uY,GAChB,IAAIhuY,EAAWguY,EAAiBr6Y,QAAS62Y,GAAWC,IAAY1lY,cAChE,MAA4B,MAArBipY,EACN,WACC,OAAO,GAER,SAAUvgU,GACT,OAAOA,EAAKztE,UAAYytE,EAAKztE,SAAS+E,gBAAkB/E,IAI3D,MAAS,SAAU6Q,GAClB,IAAIlK,EAAUuiY,EAAYr4X,EAAY,KAEtC,OAAOlK,IACJA,EAAU,IAAImgB,OAAQ,MAAQ2iX,EAC/B,IAAM54X,EAAY,IAAM44X,EAAa,SAAaP,EACjDr4X,GAAW,SAAU48D,GACpB,OAAO9mE,EAAQ8nB,KACY,kBAAnBg/C,EAAK58D,WAA0B48D,EAAK58D,WACd,qBAAtB48D,EAAKvxC,cACXuxC,EAAKvxC,aAAc,UACpB,QAKN,KAAQ,SAAU5tC,EAAM2/Y,EAAU5hU,GACjC,OAAO,SAAUoB,GAChB,IAAI1hF,EAAS0E,GAAO2gC,KAAMq8C,EAAMn/E,GAEhC,OAAe,MAAVvC,EACgB,OAAbkiZ,GAEFA,IAINliZ,GAAU,GAIU,MAAbkiZ,EAAmBliZ,IAAWsgF,EACvB,OAAb4hU,EAAoBliZ,IAAWsgF,EAClB,OAAb4hU,EAAoB5hU,GAAqC,IAA5BtgF,EAAOwK,QAAS81E,GAChC,OAAb4hU,EAAoB5hU,GAAStgF,EAAOwK,QAAS81E,IAAW,EAC3C,OAAb4hU,EAAoB5hU,GAAStgF,EAAOmyC,OAAQmuC,EAAMrjF,UAAaqjF,EAClD,OAAb4hU,GAAsB,IAAMliZ,EAAO4H,QAAS+1Y,EAAa,KAAQ,KAAMnzY,QAAS81E,IAAW,EAC9E,OAAb4hU,IAAoBliZ,IAAWsgF,GAAStgF,EAAOmyC,MAAO,EAAGmuC,EAAMrjF,OAAS,KAAQqjF,EAAQ,QAO3F,MAAS,SAAUlvE,EAAM+wT,EAAMggF,EAAWn5V,EAAOM,GAChD,IAAI84V,EAAgC,QAAvBhxY,EAAK+gC,MAAO,EAAG,GAC3ByiR,EAA+B,SAArBxjT,EAAK+gC,OAAQ,GACvBkwW,EAAkB,YAATlgF,EAEV,OAAiB,IAAVn5Q,GAAwB,IAATM,EAGrB,SAAUo4B,GACT,QAASA,EAAK57D,YAGf,SAAU47D,EAAM6lQ,EAAUh/U,GACzB,IAAImgG,EAAO45S,EAAaC,EAAYv+Y,EAAMw+Y,EAAWvqY,EACpDsC,EAAM6nY,IAAWxtF,EAAU,cAAgB,kBAC3C7hT,EAAS2uE,EAAK57D,WACdvjB,EAAO8/Y,GAAU3gU,EAAKztE,SAAS+E,cAC/BypY,GAAYl6Y,IAAQ85Y,EACpBtwT,GAAO,EAER,GAAKh/E,EAAS,CAGb,GAAKqvY,EAAS,CACb,KAAQ7nY,GAAM,CAEb,IADAvW,EAAO09E,EACG19E,EAAOA,EAAMuW,IACtB,GAAK8nY,EACJr+Y,EAAKiQ,SAAS+E,gBAAkBzW,EACd,IAAlByB,EAAKgQ,SAEL,OAAO,EAKTiE,EAAQsC,EAAe,SAATnJ,IAAoB6G,GAAS,cAE5C,OAAO,EAMR,GAHAA,EAAQ,CAAE28S,EAAU7hT,EAAO0sB,WAAa1sB,EAAOm5B,WAG1C0oR,GAAW6tF,GAkBf,IAHA1wT,GADAywT,GADA95S,GAHA45S,GAJAC,GADAv+Y,EAAO+O,GACYmpY,KAAel4Y,EAAMk4Y,GAAY,KAI1Bl4Y,EAAK0+Y,YAC5BH,EAAYv+Y,EAAK0+Y,UAAa,KAEZtxY,IAAU,IACZ,KAAQ8rY,GAAWx0S,EAAO,KACzBA,EAAO,GAC3B1kG,EAAOw+Y,GAAazvY,EAAOmB,WAAYsuY,GAE7Bx+Y,IAASw+Y,GAAax+Y,GAAQA,EAAMuW,KAG3Cw3E,EAAOywT,EAAY,IAAOvqY,EAAM9Q,OAGlC,GAAuB,IAAlBnD,EAAKgQ,YAAoB+9E,GAAQ/tF,IAAS09E,EAAO,CACrD4gU,EAAalxY,GAAS,CAAE8rY,EAASsF,EAAWzwT,GAC5C,YAyBF,GAlBK0wT,IAaJ1wT,EADAywT,GADA95S,GAHA45S,GAJAC,GADAv+Y,EAAO09E,GACYw6T,KAAel4Y,EAAMk4Y,GAAY,KAI1Bl4Y,EAAK0+Y,YAC5BH,EAAYv+Y,EAAK0+Y,UAAa,KAEZtxY,IAAU,IACZ,KAAQ8rY,GAAWx0S,EAAO,KAMhC,IAAT3W,EAGJ,MAAU/tF,IAASw+Y,GAAax+Y,GAAQA,EAAMuW,KAC3Cw3E,EAAOywT,EAAY,IAAOvqY,EAAM9Q,UAE3Bk7Y,EACNr+Y,EAAKiQ,SAAS+E,gBAAkBzW,EACd,IAAlByB,EAAKgQ,cACH+9E,IAGG0wT,KAMJH,GALAC,EAAav+Y,EAAMk4Y,KAChBl4Y,EAAMk4Y,GAAY,KAIKl4Y,EAAK0+Y,YAC5BH,EAAYv+Y,EAAK0+Y,UAAa,KAEpBtxY,GAAS,CAAE8rY,EAASnrT,IAG7B/tF,IAAS09E,MAUlB,OADAqQ,GAAQzoC,KACQN,GAAW+oC,EAAO/oC,IAAU,GAAK+oC,EAAO/oC,GAAS,KAKrE,OAAU,SAAU25V,EAAQnC,GAM3B,IAAI38V,EACHpmB,EAAK8+W,EAAKzF,QAAS6L,IAAYpG,EAAKqG,WAAYD,EAAO3pY,gBACtDtU,GAAO4uB,MAAO,uBAAyBqvX,GAKzC,OAAKllX,EAAIy+W,GACDz+W,EAAI+iX,GAIP/iX,EAAGxgC,OAAS,GAChB4mD,EAAO,CAAE8+V,EAAQA,EAAQ,GAAInC,GACtBjE,EAAKqG,WAAWz/Y,eAAgBw/Y,EAAO3pY,eAC7C6mY,IAAc,SAAUhiK,EAAM95O,GAI7B,IAHA,IAAI67B,EACHmrH,EAAUttH,EAAIogN,EAAM2iK,GACpBxjZ,EAAI+tJ,EAAQ9tJ,OACLD,KAEP6gP,EADAj+M,EAAMp1B,EAASqzO,EAAM9yF,EAAS/tJ,OACb+G,EAAS67B,GAAQmrH,EAAS/tJ,OAG7C,SAAU0kF,GACT,OAAOjkD,EAAIikD,EAAM,EAAG79B,KAIhBpmB,IAITq5W,QAAS,CAGR,IAAO+I,IAAc,SAAU57Y,GAK9B,IAAI2+G,EAAQ,GACXk9B,EAAU,GACV+iQ,EAAUvL,EAASrzY,EAAS2D,QAASg2Y,EAAO,OAE7C,OAAOiF,EAAS3G,GACf2D,IAAc,SAAUhiK,EAAM95O,EAASwjV,EAAUh/U,GAMhD,IALA,IAAIm5E,EACHohU,EAAYD,EAAShlK,EAAM,KAAMt1O,EAAK,IACtCvL,EAAI6gP,EAAK5gP,OAGFD,MACA0kF,EAAOohU,EAAW9lZ,MACxB6gP,EAAM7gP,KAAS+G,EAAS/G,GAAM0kF,OAIjC,SAAUA,EAAM6lQ,EAAUh/U,GAMzB,OALAq6G,EAAO,GAAMlhC,EACbmhU,EAASjgS,EAAO,KAAMr6G,EAAKu3I,GAG3Bl9B,EAAO,GAAM,MACLk9B,EAAQ34I,UAInB,IAAO04Y,IAAc,SAAU57Y,GAC9B,OAAO,SAAUy9E,GAChB,OAAOh9E,GAAQT,EAAUy9E,GAAOzkF,OAAS,MAI3C,SAAY4iZ,IAAc,SAAUzrY,GAEnC,OADAA,EAAOA,EAAKxM,QAAS62Y,GAAWC,IACzB,SAAUh9T,GAChB,OAASA,EAAKrtE,aAAeiL,EAASoiE,IAASl3E,QAAS4J,IAAU,MAWpE,KAAQyrY,IAAc,SAAUv8W,GAO/B,OAJM26W,EAAYv7W,KAAMY,GAAQ,KAC/B5+B,GAAO4uB,MAAO,qBAAuBgQ,GAEtCA,EAAOA,EAAK17B,QAAS62Y,GAAWC,IAAY1lY,cACrC,SAAU0oE,GAChB,IAAIqhU,EACJ,GACC,GAAOA,EAAWjG,EACjBp7T,EAAKp+C,KACLo+C,EAAKvxC,aAAc,aAAgBuxC,EAAKvxC,aAAc,QAGtD,OADA4yW,EAAWA,EAAS/pY,iBACAsqB,GAA2C,IAAnCy/W,EAASv4Y,QAAS84B,EAAO,YAE3Co+C,EAAOA,EAAK57D,aAAkC,IAAlB47D,EAAK1tE,UAC7C,OAAO,MAKT,OAAU,SAAU0tE,GACnB,IAAIxoB,EAAOr3D,EAAOkgC,UAAYlgC,EAAOkgC,SAASm3B,KAC9C,OAAOA,GAAQA,EAAK/mB,MAAO,KAAQuvC,EAAKp9D,IAGzC,KAAQ,SAAUo9D,GACjB,OAAOA,IAASm7T,GAGjB,MAAS,SAAUn7T,GAClB,OAAOA,IAASj+E,EAASu/Y,iBACrBv/Y,EAASw/Y,UAAYx/Y,EAASw/Y,gBAC7BvhU,EAAKtwE,MAAQswE,EAAK3gE,OAAS2gE,EAAK6sC,WAItC,QAAW8xR,IAAsB,GACjC,SAAYA,IAAsB,GAElC,QAAW,SAAU3+T,GAIpB,IAAIztE,EAAWytE,EAAKztE,SAAS+E,cAC7B,MAAsB,UAAb/E,KAA0BytE,EAAK4qC,SACxB,WAAbr4G,KAA2BytE,EAAK8G,UAGpC,SAAY,SAAU9G,GASrB,OALKA,EAAK57D,YAET47D,EAAK57D,WAAW+5V,eAGQ,IAAlBn+R,EAAK8G,UAIb,MAAS,SAAU9G,GAMlB,IAAMA,EAAOA,EAAKjiD,WAAYiiD,EAAMA,EAAOA,EAAKliD,YAC/C,GAAKkiD,EAAK1tE,SAAW,EACpB,OAAO,EAGT,OAAO,GAGR,OAAU,SAAU0tE,GACnB,OAAQ66T,EAAKzF,QAAL,MAAyBp1T,IAIlC,OAAU,SAAUA,GACnB,OAAO28T,EAAQ37W,KAAMg/C,EAAKztE,WAG3B,MAAS,SAAUytE,GAClB,OAAO08T,EAAQ17W,KAAMg/C,EAAKztE,WAG3B,OAAU,SAAUytE,GACnB,IAAIn/E,EAAOm/E,EAAKztE,SAAS+E,cACzB,MAAgB,UAATzW,GAAkC,WAAdm/E,EAAKtwE,MAA8B,WAAT7O,GAGtD,KAAQ,SAAUm/E,GACjB,IAAIr8C,EACJ,MAAuC,UAAhCq8C,EAAKztE,SAAS+E,eACN,SAAd0oE,EAAKtwE,OAIuC,OAAxCi0B,EAAOq8C,EAAKvxC,aAAc,UACN,SAAvB9K,EAAKrsB,gBAIR,MAASunY,IAAwB,WAChC,MAAO,CAAE,MAGV,KAAQA,IAAwB,SAAU2C,EAAejmZ,GACxD,MAAO,CAAEA,EAAS,MAGnB,GAAMsjZ,IAAwB,SAAU2C,EAAejmZ,EAAQujZ,GAC9D,MAAO,CAAEA,EAAW,EAAIA,EAAWvjZ,EAASujZ,MAG7C,KAAQD,IAAwB,SAAUE,EAAcxjZ,GAEvD,IADA,IAAID,EAAI,EACAA,EAAIC,EAAQD,GAAK,EACxByjZ,EAAax5Y,KAAMjK,GAEpB,OAAOyjZ,KAGR,IAAOF,IAAwB,SAAUE,EAAcxjZ,GAEtD,IADA,IAAID,EAAI,EACAA,EAAIC,EAAQD,GAAK,EACxByjZ,EAAax5Y,KAAMjK,GAEpB,OAAOyjZ,KAGR,GAAMF,IAAwB,SAAUE,EAAcxjZ,EAAQujZ,GAM7D,IALA,IAAIxjZ,EAAIwjZ,EAAW,EAClBA,EAAWvjZ,EACXujZ,EAAWvjZ,EACVA,EACAujZ,IACQxjZ,GAAK,GACdyjZ,EAAax5Y,KAAMjK,GAEpB,OAAOyjZ,KAGR,GAAMF,IAAwB,SAAUE,EAAcxjZ,EAAQujZ,GAE7D,IADA,IAAIxjZ,EAAIwjZ,EAAW,EAAIA,EAAWvjZ,EAASujZ,IACjCxjZ,EAAIC,GACbwjZ,EAAax5Y,KAAMjK,GAEpB,OAAOyjZ,QAKL3J,QAAL,IAAwByF,EAAKzF,QAAL,GAGb,CAAEpuT,OAAO,EAAMyjC,UAAU,EAAMk+G,MAAM,EAAMz5B,UAAU,EAAM9vL,OAAO,GAC5Ey7X,EAAKzF,QAAS95Y,GAAMmjZ,GAAmBnjZ,GAExC,IAAMA,IAAK,CAAE65Y,QAAQ,EAAM/+X,OAAO,GACjCykY,EAAKzF,QAAS95Y,GAAMojZ,GAAoBpjZ,GAIzC,SAAS4lZ,MA0ET,SAASlD,GAAY7nY,GAIpB,IAHA,IAAI7a,EAAI,EACPmoC,EAAMttB,EAAO5a,OACbgH,EAAW,GACJjH,EAAImoC,EAAKnoC,IAChBiH,GAAY4T,EAAQ7a,GAAI6C,MAEzB,OAAOoE,EAGR,SAASi7Y,GAAe2D,EAASM,EAAYryY,GAC5C,IAAIyJ,EAAM4oY,EAAW5oY,IACpBokR,EAAOwkH,EAAWzhZ,KAClBlE,EAAMmhS,GAAQpkR,EACd6oY,EAAmBtyY,GAAgB,eAARtT,EAC3B6lZ,EAAWpiZ,IAEZ,OAAOkiZ,EAAWn6V,MAGjB,SAAU04B,EAAMjsB,EAASltD,GACxB,KAAUm5E,EAAOA,EAAMnnE,IACtB,GAAuB,IAAlBmnE,EAAK1tE,UAAkBovY,EAC3B,OAAOP,EAASnhU,EAAMjsB,EAASltD,GAGjC,OAAO,GAIR,SAAUm5E,EAAMjsB,EAASltD,GACxB,IAAI+6Y,EAAUhB,EAAaC,EAC1BgB,EAAW,CAAErG,EAASmG,GAGvB,GAAK96Y,GACJ,KAAUm5E,EAAOA,EAAMnnE,IACtB,IAAuB,IAAlBmnE,EAAK1tE,UAAkBovY,IACtBP,EAASnhU,EAAMjsB,EAASltD,GAC5B,OAAO,OAKV,KAAUm5E,EAAOA,EAAMnnE,IACtB,GAAuB,IAAlBmnE,EAAK1tE,UAAkBovY,EAQ3B,GAHAd,GAJAC,EAAa7gU,EAAMw6T,KAAex6T,EAAMw6T,GAAY,KAI1Bx6T,EAAKghU,YAC5BH,EAAY7gU,EAAKghU,UAAa,IAE5B/jH,GAAQA,IAASj9M,EAAKztE,SAAS+E,cACnC0oE,EAAOA,EAAMnnE,IAASmnE,MAChB,KAAO4hU,EAAWhB,EAAa9kZ,KACrC8lZ,EAAU,KAAQpG,GAAWoG,EAAU,KAAQD,EAG/C,OAASE,EAAU,GAAMD,EAAU,GAOnC,GAHAhB,EAAa9kZ,GAAQ+lZ,EAGdA,EAAU,GAAMV,EAASnhU,EAAMjsB,EAASltD,GAC9C,OAAO,EAMZ,OAAO,GAIV,SAASi7Y,GAAgBC,GACxB,OAAOA,EAASxmZ,OAAS,EACxB,SAAUykF,EAAMjsB,EAASltD,GAExB,IADA,IAAIvL,EAAIymZ,EAASxmZ,OACTD,KACP,IAAMymZ,EAAUzmZ,GAAK0kF,EAAMjsB,EAASltD,GACnC,OAAO,EAGT,OAAO,GAERk7Y,EAAU,GAYZ,SAASxmI,GAAU6lI,EAAWl7X,EAAKxU,EAAQqiD,EAASltD,GAOnD,IANA,IAAIm5E,EACHgiU,EAAe,GACf1mZ,EAAI,EACJmoC,EAAM29W,EAAU7lZ,OAChB0mZ,EAAgB,MAAP/7X,EAEF5qB,EAAImoC,EAAKnoC,KACT0kF,EAAOohU,EAAW9lZ,MAClBoW,IAAUA,EAAQsuE,EAAMjsB,EAASltD,KACtCm7Y,EAAaz8Y,KAAMy6E,GACdiiU,GACJ/7X,EAAI3gB,KAAMjK,KAMd,OAAO0mZ,EAGR,SAASE,GAAY9B,EAAW79Y,EAAU4+Y,EAASgB,EAAYC,EAAYC,GAO1E,OANKF,IAAeA,EAAY3H,KAC/B2H,EAAaD,GAAYC,IAErBC,IAAeA,EAAY5H,KAC/B4H,EAAaF,GAAYE,EAAYC,IAE/BlE,IAAc,SAAUhiK,EAAM/9F,EAASrqF,EAASltD,GACtD,IAAI88I,EAAMroJ,EAAG0kF,EACZsiU,EAAS,GACTC,EAAU,GACVC,EAAcpkQ,EAAQ7iJ,OAGtBwkF,EAAQo8J,GA5CX,SAA2B55O,EAAUkgZ,EAAUrkQ,GAG9C,IAFA,IAAI9iJ,EAAI,EACPmoC,EAAMg/W,EAASlnZ,OACRD,EAAImoC,EAAKnoC,IAChB0H,GAAQT,EAAUkgZ,EAAUnnZ,GAAK8iJ,GAElC,OAAOA,EAsCWskQ,CACfngZ,GAAY,IACZwxD,EAAQzhD,SAAW,CAAEyhD,GAAYA,EACjC,IAID4uV,GAAYvC,IAAejkK,GAAS55O,EAEnCw9E,EADAw7L,GAAUx7L,EAAOuiU,EAAQlC,EAAWrsV,EAASltD,GAG9C+7Y,EAAazB,EAGZiB,IAAgBjmK,EAAOikK,EAAYoC,GAAeL,GAGjD,GAGA/jQ,EACDukQ,EAQF,GALKxB,GACJA,EAASwB,EAAWC,EAAY7uV,EAASltD,GAIrCs7Y,EAMJ,IALAx+P,EAAO43H,GAAUqnI,EAAYL,GAC7BJ,EAAYx+P,EAAM,GAAI5vF,EAASltD,GAG/BvL,EAAIqoJ,EAAKpoJ,OACDD,MACA0kF,EAAO2jE,EAAMroJ,MACnBsnZ,EAAYL,EAASjnZ,MAAWqnZ,EAAWJ,EAASjnZ,IAAQ0kF,IAK/D,GAAKm8J,GACJ,GAAKimK,GAAchC,EAAY,CAC9B,GAAKgC,EAAa,CAKjB,IAFAz+P,EAAO,GACProJ,EAAIsnZ,EAAWrnZ,OACPD,MACA0kF,EAAO4iU,EAAYtnZ,KAGzBqoJ,EAAKp+I,KAAQo9Y,EAAWrnZ,GAAM0kF,GAGhCoiU,EAAY,KAAQQ,EAAa,GAAMj/P,EAAM98I,GAK9C,IADAvL,EAAIsnZ,EAAWrnZ,OACPD,MACA0kF,EAAO4iU,EAAYtnZ,MACvBqoJ,EAAOy+P,EAAat5Y,EAASqzO,EAAMn8J,GAASsiU,EAAQhnZ,KAAS,IAE/D6gP,EAAMx4F,KAAYvF,EAASuF,GAAS3jE,UAOvC4iU,EAAarnI,GACZqnI,IAAexkQ,EACdwkQ,EAAWzkX,OAAQqkX,EAAaI,EAAWrnZ,QAC3CqnZ,GAEGR,EACJA,EAAY,KAAMhkQ,EAASwkQ,EAAY/7Y,GAEvCtB,EAAK1G,MAAOu/I,EAASwkQ,MAMzB,SAASC,GAAmB1sY,GAyB3B,IAxBA,IAAI2sY,EAAc3B,EAAStpY,EAC1B4rB,EAAMttB,EAAO5a,OACbwnZ,EAAkBlI,EAAKsF,SAAUhqY,EAAQ,GAAIzG,MAC7CszY,EAAmBD,GAAmBlI,EAAKsF,SAAU,KACrD7kZ,EAAIynZ,EAAkB,EAAI,EAG1BE,EAAezF,IAAe,SAAUx9T,GACvC,OAAOA,IAAS8iU,IACdE,GAAkB,GACrBE,EAAkB1F,IAAe,SAAUx9T,GAC1C,OAAOl3E,EAASg6Y,EAAc9iU,IAAU,IACtCgjU,GAAkB,GACrBjB,EAAW,CAAE,SAAU/hU,EAAMjsB,EAASltD,GACrC,IAAIuV,GAAS2mY,IAAqBl8Y,GAAOktD,IAAYinV,MAClD8H,EAAe/uV,GAAUzhD,SAC1B2wY,EAAcjjU,EAAMjsB,EAASltD,GAC7Bq8Y,EAAiBljU,EAAMjsB,EAASltD,IAIlC,OADAi8Y,EAAe,KACR1mY,IAGD9gB,EAAImoC,EAAKnoC,IAChB,GAAO6lZ,EAAUtG,EAAKsF,SAAUhqY,EAAQ7a,GAAIoU,MAC3CqyY,EAAW,CAAEvE,GAAesE,GAAgBC,GAAYZ,QAClD,CAIN,IAHAA,EAAUtG,EAAKnpY,OAAQyE,EAAQ7a,GAAIoU,MAAO7Q,MAAO,KAAMsX,EAAQ7a,GAAI+G,UAGrDm4Y,GAAY,CAIzB,IADA3iY,IAAMvc,EACEuc,EAAI4rB,IACNo3W,EAAKsF,SAAUhqY,EAAQ0B,GAAInI,MADhBmI,KAKjB,OAAOqqY,GACN5mZ,EAAI,GAAKwmZ,GAAgBC,GACzBzmZ,EAAI,GAAK0iZ,GAGT7nY,EACEs6B,MAAO,EAAGn1C,EAAI,GACd2rB,OAAQ,CAAE9oB,MAAgC,MAAzBgY,EAAQ7a,EAAI,GAAIoU,KAAe,IAAM,MACtDxJ,QAASg2Y,EAAO,MAClBiF,EACA7lZ,EAAIuc,GAAKgrY,GAAmB1sY,EAAOs6B,MAAOn1C,EAAGuc,IAC7CA,EAAI4rB,GAAOo/W,GAAqB1sY,EAASA,EAAOs6B,MAAO54B,IACvDA,EAAI4rB,GAAOu6W,GAAY7nY,IAGzB4rY,EAASx8Y,KAAM47Y,GAIjB,OAAOW,GAAgBC,GAoTxB,OAtpBAb,GAAWhlZ,UAAY2+Y,EAAK7mX,QAAU6mX,EAAKzF,QAC3CyF,EAAKqG,WAAa,IAAIA,GAEtBnG,EAAW/3Y,GAAO+3Y,SAAW,SAAUx4Y,EAAU4gZ,GAChD,IAAI95P,EAASphJ,EAAOkO,EAAQzG,EAC3B0zY,EAAOzF,EAAQ0F,EACfC,EAAS3H,EAAYp5Y,EAAW,KAEjC,GAAK+gZ,EACJ,OAAOH,EAAY,EAAIG,EAAO7yW,MAAO,GAOtC,IAJA2yW,EAAQ7gZ,EACRo7Y,EAAS,GACT0F,EAAaxI,EAAKuF,UAEVgD,GAAQ,CA2Bf,IAAM1zY,KAxBA25I,KAAaphJ,EAAQk0Y,EAAOtrX,KAAMuyX,MAClCn7Y,IAGJm7Y,EAAQA,EAAM3yW,MAAOxoC,EAAO,GAAI1M,SAAY6nZ,GAE7CzF,EAAOp4Y,KAAQ4Q,EAAS,KAGzBkzI,GAAU,GAGHphJ,EAAQm0Y,EAAavrX,KAAMuyX,MACjC/5P,EAAUphJ,EAAMorE,QAChBl9D,EAAO5Q,KAAM,CACZpH,MAAOkrJ,EAGP35I,KAAMzH,EAAO,GAAI/B,QAASg2Y,EAAO,OAElCkH,EAAQA,EAAM3yW,MAAO44G,EAAQ9tJ,SAIhBs/Y,EAAKnpY,SACXzJ,EAAQu0Y,EAAW9sY,GAAOmhB,KAAMuyX,KAAgBC,EAAY3zY,MAChEzH,EAAQo7Y,EAAY3zY,GAAQzH,MAC9BohJ,EAAUphJ,EAAMorE,QAChBl9D,EAAO5Q,KAAM,CACZpH,MAAOkrJ,EACP35I,KAAMA,EACNrN,QAAS4F,IAEVm7Y,EAAQA,EAAM3yW,MAAO44G,EAAQ9tJ,SAI/B,IAAM8tJ,EACL,MAOF,OAAO85P,EACNC,EAAM7nZ,OACN6nZ,EACCpgZ,GAAO4uB,MAAOrvB,GAGdo5Y,EAAYp5Y,EAAUo7Y,GAASltW,MAAO,IA4ZzCmlW,EAAU5yY,GAAO4yY,QAAU,SAAUrzY,EAAU0F,GAC9C,IAAI3M,EACHioZ,EAAc,GACdC,EAAkB,GAClBF,EAAS1H,EAAer5Y,EAAW,KAEpC,IAAM+gZ,EAAS,CAOd,IAJMr7Y,IACLA,EAAQ8yY,EAAUx4Y,IAEnBjH,EAAI2M,EAAM1M,OACFD,MACPgoZ,EAAST,GAAmB56Y,EAAO3M,KACtBk/Y,GACZ+I,EAAYh+Y,KAAM+9Y,GAElBE,EAAgBj+Y,KAAM+9Y,IAKxBA,EAAS1H,EACRr5Y,EArJH,SAAmCihZ,EAAiBD,GACnD,IAAIE,EAAQF,EAAYhoZ,OAAS,EAChCmoZ,EAAYF,EAAgBjoZ,OAAS,EACrCooZ,EAAe,SAAUxnK,EAAMpoL,EAASltD,EAAKu3I,EAASwlQ,GACrD,IAAI5jU,EAAMnoE,EAAGspY,EACZ0C,EAAe,EACfvoZ,EAAI,IACJ8lZ,EAAYjlK,GAAQ,GACpB2nK,EAAa,GACbC,EAAgB/I,EAGhBj7T,EAAQo8J,GAAQunK,GAAa7I,EAAK9uU,KAAL,IAAoB,IAAK63U,GAGtDI,EAAkBxI,GAA4B,MAAjBuI,EAAwB,EAAIn+Y,KAAKk/G,UAAY,GAC1ErhF,EAAMs8C,EAAMxkF,OAcb,IAZKqoZ,IAMJ5I,EAAmBjnV,GAAWhyD,GAAYgyD,GAAW6vV,GAM9CtoZ,IAAMmoC,GAAgC,OAAvBu8C,EAAOD,EAAOzkF,IAAeA,IAAM,CACzD,GAAKooZ,GAAa1jU,EAAO,CAWxB,IAVAnoE,EAAI,EAMEk8C,GAAWisB,EAAKr3C,eAAiB5mC,IACtCm5Y,EAAal7T,GACbn5E,GAAOu0Y,GAEE+F,EAAUqC,EAAiB3rY,MACpC,GAAKspY,EAASnhU,EAAMjsB,GAAWhyD,EAAU8E,GAAQ,CAChDu3I,EAAQ74I,KAAMy6E,GACd,MAGG4jU,IACJpI,EAAUwI,GAKPP,KAGGzjU,GAAQmhU,GAAWnhU,IACzB6jU,IAII1nK,GACJilK,EAAU77Y,KAAMy6E,IAgBnB,GATA6jU,GAAgBvoZ,EASXmoZ,GAASnoZ,IAAMuoZ,EAAe,CAElC,IADAhsY,EAAI,EACMspY,EAAUoC,EAAa1rY,MAChCspY,EAASC,EAAW0C,EAAY/vV,EAASltD,GAG1C,GAAKs1O,EAAO,CAGX,GAAK0nK,EAAe,EACnB,KAAQvoZ,KACC8lZ,EAAW9lZ,IAAOwoZ,EAAYxoZ,KACrCwoZ,EAAYxoZ,GAAMmK,EAAIhF,KAAM29I,IAM/B0lQ,EAAavoI,GAAUuoI,GAIxBv+Y,EAAK1G,MAAOu/I,EAAS0lQ,GAGhBF,IAAcznK,GAAQ2nK,EAAWvoZ,OAAS,GAC5CsoZ,EAAeN,EAAYhoZ,OAAW,GAExCyH,GAAO88Y,WAAY1hQ,GAUrB,OALKwlQ,IACJpI,EAAUwI,EACVhJ,EAAmB+I,GAGb3C,GAGT,OAAOqC,EACNtF,GAAcwF,GACdA,EA4BCM,CAA0BT,EAAiBD,KAIrChhZ,SAAWA,EAEnB,OAAO+gZ,GAYRjjW,EAASr9C,GAAOq9C,OAAS,SAAU99C,EAAUwxD,EAASqqF,EAAS+9F,GAC9D,IAAI7gP,EAAG6a,EAAQ4f,EAAOrmB,EAAMq8D,EAC3Bm4U,EAA+B,oBAAb3hZ,GAA2BA,EAC7C0F,GAASk0O,GAAQ4+J,EAAYx4Y,EAAW2hZ,EAAS3hZ,UAAYA,GAM9D,GAJA67I,EAAUA,GAAW,GAIC,IAAjBn2I,EAAM1M,OAAe,CAIzB,IADA4a,EAASlO,EAAO,GAAMA,EAAO,GAAIwoC,MAAO,IAC5Bl1C,OAAS,GAAsC,QAA/Bw6B,EAAQ5f,EAAQ,IAAMzG,MAC5B,IAArBqkD,EAAQzhD,UAAkB8oY,GAAkBP,EAAKsF,SAAUhqY,EAAQ,GAAIzG,MAAS,CAIhF,KAFAqkD,GAAY8mV,EAAK9uU,KAAL,GAAmBh2C,EAAM1zB,QAAS,GAC5C6D,QAAS62Y,GAAWC,IAAajpV,IAAa,IAAM,IAErD,OAAOqqF,EAGI8lQ,IACXnwV,EAAUA,EAAQ3vC,YAGnB7hB,EAAWA,EAASkuC,MAAOt6B,EAAOk9D,QAAQl1E,MAAM5C,QAKjD,IADAD,EAAIkhZ,EAAS,aAAmBx7W,KAAMz+B,GAAa,EAAI4T,EAAO5a,OACtDD,MACPy6B,EAAQ5f,EAAQ7a,IAGXu/Y,EAAKsF,SAAYzwY,EAAOqmB,EAAMrmB,QAGnC,IAAOq8D,EAAO8uU,EAAK9uU,KAAMr8D,MAGjBysO,EAAOpwK,EACbh2C,EAAM1zB,QAAS,GAAI6D,QAAS62Y,GAAWC,IACvCF,GAAS97W,KAAM7qB,EAAQ,GAAIzG,OAAUquY,GAAahqV,EAAQ3vC,aACzD2vC,IACI,CAKL,GAFA59C,EAAOgoB,OAAQ7iC,EAAG,KAClBiH,EAAW45O,EAAK5gP,QAAUyiZ,GAAY7nY,IAGrC,OADA5Q,EAAK1G,MAAOu/I,EAAS+9F,GACd/9F,EAGR,OAeJ,OAPE8lQ,GAAYtO,EAASrzY,EAAU0F,IAChCk0O,EACApoL,GACCqnV,EACDh9P,GACCrqF,GAAW+oV,GAAS97W,KAAMz+B,IAAcw7Y,GAAahqV,EAAQ3vC,aAAgB2vC,GAExEqqF,GAMR5+D,EAAQygU,WAAazF,EAAQxvY,MAAO,IAAKy2C,KAAMgsH,GAAY3iK,KAAM,MAAS0vY,EAI1Eh7T,EAAQwgU,mBAAqB75R,EAG7B+0R,IAIA17T,EAAQigU,aAAerB,IAAQ,SAAU5/W,GAGxC,OAA4E,EAArEA,EAAG8gX,wBAAyBv9Y,EAASsX,cAAe,gBAMtD+kY,IAAQ,SAAU5/W,GAEvB,OADAA,EAAG5Y,UAAY,mBACiC,MAAzC4Y,EAAGT,WAAW0Q,aAAc,YAEnC4vW,GAAW,0BAA0B,SAAUr+T,EAAMn/E,EAAMi6Y,GAC1D,IAAMA,EACL,OAAO96T,EAAKvxC,aAAc5tC,EAA6B,SAAvBA,EAAKyW,cAA2B,EAAI,MAOjEkoE,EAAQ1uE,YAAestY,IAAQ,SAAU5/W,GAG9C,OAFAA,EAAG5Y,UAAY,WACf4Y,EAAGT,WAAW1M,aAAc,QAAS,IACY,KAA1CmN,EAAGT,WAAW0Q,aAAc,aAEnC4vW,GAAW,SAAS,SAAUr+T,EAAM2G,EAAOm0T,GAC1C,IAAMA,GAAyC,UAAhC96T,EAAKztE,SAAS+E,cAC5B,OAAO0oE,EAAKgmC,gBAOTo4R,IAAQ,SAAU5/W,GACvB,OAAwC,MAAjCA,EAAGiQ,aAAc,gBAExB4vW,GAAWtC,GAAU,SAAU/7T,EAAMn/E,EAAMi6Y,GAC1C,IAAI34X,EACJ,IAAM24X,EACL,OAAwB,IAAjB96T,EAAMn/E,GAAkBA,EAAKyW,eACjC6K,EAAM69D,EAAKhxC,iBAAkBnuC,KAAYshB,EAAIysB,UAC9CzsB,EAAIhkB,MACJ,QAKE6E,GA14EL,CA44EG7C,GAILyC,EAAOmpE,KAAO/oE,GACdJ,EAAOi9Y,KAAO78Y,EAAOqzY,WAGR,KAAQzzY,EAAOi9Y,KAAKzK,QACjCxyY,EAAOk9Y,WAAal9Y,EAAOy8D,OAASr8D,EAAO88Y,WAC3Cl9Y,EAAO8P,KAAO1P,EAAO4a,QACrBhb,EAAOuhZ,SAAWnhZ,EAAO83Y,MACzBl4Y,EAAOg8C,SAAW57C,EAAO47C,SACzBh8C,EAAOwhZ,eAAiBphZ,EAAOwxT,OAK/B,IAAI37S,EAAM,SAAUmnE,EAAMnnE,EAAKwrY,GAI9B,IAHA,IAAIh7P,EAAU,GACbhG,OAAqBhlH,IAAVgmX,GAEFrkU,EAAOA,EAAMnnE,KAA6B,IAAlBmnE,EAAK1tE,UACtC,GAAuB,IAAlB0tE,EAAK1tE,SAAiB,CAC1B,GAAK+wI,GAAYzgJ,EAAQo9E,GAAOj9E,GAAIshZ,GACnC,MAEDh7P,EAAQ9jJ,KAAMy6E,GAGhB,OAAOqpE,GAIJvjE,EAAW,SAAUxmF,EAAG0gF,GAG3B,IAFA,IAAIqpE,EAAU,GAEN/pJ,EAAGA,EAAIA,EAAEw+B,YACI,IAAfx+B,EAAEgT,UAAkBhT,IAAM0gF,GAC9BqpE,EAAQ9jJ,KAAMjG,GAIhB,OAAO+pJ,GAIJi7P,EAAgB1hZ,EAAOi9Y,KAAK53Y,MAAMs8Y,aAItC,SAAShyY,EAAUytE,EAAMn/E,GAExB,OAAOm/E,EAAKztE,UAAYytE,EAAKztE,SAAS+E,gBAAkBzW,EAAKyW,cAG9D,IAAIktY,EAAe,kEAKnB,SAASC,EAAQlkS,EAAUmkS,EAAWC,GACrC,OAAKn/T,EAAYk/T,GACT9hZ,EAAOk5C,KAAMykE,GAAU,SAAUvgC,EAAM1kF,GAC7C,QAASopZ,EAAUjkZ,KAAMu/E,EAAM1kF,EAAG0kF,KAAW2kU,KAK1CD,EAAUpyY,SACP1P,EAAOk5C,KAAMykE,GAAU,SAAUvgC,GACvC,OAASA,IAAS0kU,IAAgBC,KAKV,kBAAdD,EACJ9hZ,EAAOk5C,KAAMykE,GAAU,SAAUvgC,GACvC,OAASl3E,EAAQrI,KAAMikZ,EAAW1kU,IAAU,IAAQ2kU,KAK/C/hZ,EAAO8O,OAAQgzY,EAAWnkS,EAAUokS,GAG5C/hZ,EAAO8O,OAAS,SAAUmuY,EAAM9/T,EAAO4kU,GACtC,IAAI3kU,EAAOD,EAAO,GAMlB,OAJK4kU,IACJ9E,EAAO,QAAUA,EAAO,KAGH,IAAjB9/T,EAAMxkF,QAAkC,IAAlBykF,EAAK1tE,SACxB1P,EAAOmpE,KAAK5pE,gBAAiB69E,EAAM6/T,GAAS,CAAE7/T,GAAS,GAGxDp9E,EAAOmpE,KAAK1pE,QAASw9Y,EAAMj9Y,EAAOk5C,KAAMikC,GAAO,SAAUC,GAC/D,OAAyB,IAAlBA,EAAK1tE,cAId1P,EAAOm5B,GAAG8X,OAAQ,CACjBk4B,KAAM,SAAUxpE,GACf,IAAIjH,EAAG8gB,EACNqnB,EAAMhlC,KAAKlD,OACXkkB,EAAOhhB,KAER,GAAyB,kBAAb8D,EACX,OAAO9D,KAAK07Y,UAAWv3Y,EAAQL,GAAWmP,QAAQ,WACjD,IAAMpW,EAAI,EAAGA,EAAImoC,EAAKnoC,IACrB,GAAKsH,EAAOg8C,SAAUn/B,EAAMnkB,GAAKmD,MAChC,OAAO,MAQX,IAFA2d,EAAM3d,KAAK07Y,UAAW,IAEhB7+Y,EAAI,EAAGA,EAAImoC,EAAKnoC,IACrBsH,EAAOmpE,KAAMxpE,EAAUkd,EAAMnkB,GAAK8gB,GAGnC,OAAOqnB,EAAM,EAAI7gC,EAAOk9Y,WAAY1jY,GAAQA,GAE7C1K,OAAQ,SAAUnP,GACjB,OAAO9D,KAAK07Y,UAAWsK,EAAQhmZ,KAAM8D,GAAY,IAAI,KAEtDoiZ,IAAK,SAAUpiZ,GACd,OAAO9D,KAAK07Y,UAAWsK,EAAQhmZ,KAAM8D,GAAY,IAAI,KAEtDQ,GAAI,SAAUR,GACb,QAASkiZ,EACRhmZ,KAIoB,kBAAb8D,GAAyB+hZ,EAActjX,KAAMz+B,GACnDK,EAAQL,GACRA,GAAY,IACb,GACChH,UASJ,IAAIqpZ,EAMH/H,EAAa,uCAENj6Y,EAAOm5B,GAAGv3B,KAAO,SAAUjC,EAAUwxD,EAASj/C,GACpD,IAAI7M,EAAO+3E,EAGX,IAAMz9E,EACL,OAAO9D,KAQR,GAHAqW,EAAOA,GAAQ8vY,EAGU,kBAAbriZ,EAAwB,CAanC,KAPC0F,EALsB,MAAlB1F,EAAU,IACsB,MAApCA,EAAUA,EAAShH,OAAS,IAC5BgH,EAAShH,QAAU,EAGX,CAAE,KAAMgH,EAAU,MAGlBs6Y,EAAWhsX,KAAMtuB,MAIV0F,EAAO,IAAQ8rD,EA6CxB,OAAMA,GAAWA,EAAQmmV,QACtBnmV,GAAWj/C,GAAOi3D,KAAMxpE,GAK1B9D,KAAKP,YAAa61D,GAAUgY,KAAMxpE,GAhDzC,GAAK0F,EAAO,GAAM,CAYjB,GAXA8rD,EAAUA,aAAmBnxD,EAASmxD,EAAS,GAAMA,EAIrDnxD,EAAOqwD,MAAOx0D,KAAMmE,EAAO0xY,UAC1BrsY,EAAO,GACP8rD,GAAWA,EAAQzhD,SAAWyhD,EAAQprB,eAAiBorB,EAAUhyD,GACjE,IAIIyiZ,EAAWxjX,KAAM/4B,EAAO,KAASrF,EAAOqrD,cAAe8F,GAC3D,IAAM9rD,KAAS8rD,EAGTyxB,EAAY/mF,KAAMwJ,IACtBxJ,KAAMwJ,GAAS8rD,EAAS9rD,IAIxBxJ,KAAKklC,KAAM17B,EAAO8rD,EAAS9rD,IAK9B,OAAOxJ,KAYP,OARAuhF,EAAOj+E,EAASC,eAAgBiG,EAAO,OAKtCxJ,KAAM,GAAMuhF,EACZvhF,KAAKlD,OAAS,GAERkD,KAcH,OAAK8D,EAAS+P,UACpB7T,KAAM,GAAM8D,EACZ9D,KAAKlD,OAAS,EACPkD,MAII+mF,EAAYjjF,QACD87B,IAAfvpB,EAAKuxH,MACXvxH,EAAKuxH,MAAO9jI,GAGZA,EAAUK,GAGLA,EAAO+3Y,UAAWp4Y,EAAU9D,QAIhCvC,UAAY0G,EAAOm5B,GAGxB6oX,EAAahiZ,EAAQb,GAGrB,IAAI8iZ,EAAe,iCAGlBC,EAAmB,CAClB7zY,UAAU,EACVokM,UAAU,EACVr1M,MAAM,EACNo4E,MAAM,GAoFR,SAAS2sU,EAAS30Q,EAAKv3H,GACtB,MAAUu3H,EAAMA,EAAKv3H,KAA4B,IAAjBu3H,EAAI99H,WACpC,OAAO89H,EAnFRxtI,EAAOm5B,GAAG8X,OAAQ,CACjB4vC,IAAK,SAAUroF,GACd,IAAI4pZ,EAAUpiZ,EAAQxH,EAAQqD,MAC7B+B,EAAIwkZ,EAAQzpZ,OAEb,OAAOkD,KAAKiT,QAAQ,WAEnB,IADA,IAAIpW,EAAI,EACAA,EAAIkF,EAAGlF,IACd,GAAKsH,EAAOg8C,SAAUngD,KAAMumZ,EAAS1pZ,IACpC,OAAO,MAMX2nF,QAAS,SAAUozT,EAAWtiV,GAC7B,IAAIq8E,EACH90I,EAAI,EACJkF,EAAI/B,KAAKlD,OACT8tJ,EAAU,GACV27P,EAA+B,kBAAd3O,GAA0BzzY,EAAQyzY,GAGpD,IAAMiO,EAActjX,KAAMq1W,GACzB,KAAQ/6Y,EAAIkF,EAAGlF,IACd,IAAM80I,EAAM3xI,KAAMnD,GAAK80I,GAAOA,IAAQr8E,EAASq8E,EAAMA,EAAIhsH,WAGxD,GAAKgsH,EAAI99H,SAAW,KAAQ0yY,EAC3BA,EAAQplX,MAAOwwG,IAAS,EAGP,IAAjBA,EAAI99H,UACH1P,EAAOmpE,KAAK5pE,gBAAiBiuI,EAAKimQ,IAAgB,CAEnDhtP,EAAQ9jJ,KAAM6qI,GACd,MAMJ,OAAO3xI,KAAK07Y,UAAW9wP,EAAQ9tJ,OAAS,EAAIqH,EAAOk9Y,WAAYz2P,GAAYA,IAI5EzpH,MAAO,SAAUogD,GAGhB,OAAMA,EAKe,kBAATA,EACJl3E,EAAQrI,KAAMmC,EAAQo9E,GAAQvhF,KAAM,IAIrCqK,EAAQrI,KAAMhC,KAGpBuhF,EAAKk6T,OAASl6T,EAAM,GAAMA,GAZjBvhF,KAAM,IAAOA,KAAM,GAAI2lB,WAAe3lB,KAAK6oD,QAAQ29V,UAAU1pZ,QAAU,GAgBlFy1C,IAAK,SAAUzuC,EAAUwxD,GACxB,OAAOt1D,KAAK07Y,UACXv3Y,EAAOk9Y,WACNl9Y,EAAOqwD,MAAOx0D,KAAKsC,MAAO6B,EAAQL,EAAUwxD,OAK/CmxV,QAAS,SAAU3iZ,GAClB,OAAO9D,KAAKuyC,IAAiB,MAAZzuC,EAChB9D,KAAK8wY,WAAa9wY,KAAK8wY,WAAW79X,OAAQnP,OAU7CK,EAAO0vB,KAAM,CACZjhB,OAAQ,SAAU2uE,GACjB,IAAI3uE,EAAS2uE,EAAK57D,WAClB,OAAO/S,GAA8B,KAApBA,EAAOiB,SAAkBjB,EAAS,MAEpD49I,QAAS,SAAUjvE,GAClB,OAAOnnE,EAAKmnE,EAAM,eAEnBmlU,aAAc,SAAUnlU,EAAMh/B,EAAIqjW,GACjC,OAAOxrY,EAAKmnE,EAAM,aAAcqkU,IAEjCrkZ,KAAM,SAAUggF,GACf,OAAO+kU,EAAS/kU,EAAM,gBAEvB5H,KAAM,SAAU4H,GACf,OAAO+kU,EAAS/kU,EAAM,oBAEvBolU,QAAS,SAAUplU,GAClB,OAAOnnE,EAAKmnE,EAAM,gBAEnBilU,QAAS,SAAUjlU,GAClB,OAAOnnE,EAAKmnE,EAAM,oBAEnBqlU,UAAW,SAAUrlU,EAAMh/B,EAAIqjW,GAC9B,OAAOxrY,EAAKmnE,EAAM,cAAeqkU,IAElCiB,UAAW,SAAUtlU,EAAMh/B,EAAIqjW,GAC9B,OAAOxrY,EAAKmnE,EAAM,kBAAmBqkU,IAEtCv+T,SAAU,SAAU9F,GACnB,OAAO8F,GAAY9F,EAAK57D,YAAc,IAAK2Z,WAAYiiD,IAExD/uE,SAAU,SAAU+uE,GACnB,OAAO8F,EAAU9F,EAAKjiD,aAEvBs3K,SAAU,SAAUr1H,GACnB,OAA6B,MAAxBA,EAAKvjD,iBAKT+8W,EAAUx5T,EAAKvjD,iBAERujD,EAAKvjD,iBAMRlqB,EAAUytE,EAAM,cACpBA,EAAOA,EAAK55D,SAAW45D,GAGjBp9E,EAAOqwD,MAAO,GAAI+sB,EAAKxtE,gBAE7B,SAAU3R,EAAMk7B,GAClBn5B,EAAOm5B,GAAIl7B,GAAS,SAAUwjZ,EAAO9hZ,GACpC,IAAI8mJ,EAAUzmJ,EAAOsjB,IAAKznB,KAAMs9B,EAAIsoX,GAuBpC,MArB0B,UAArBxjZ,EAAK4vC,OAAQ,KACjBluC,EAAW8hZ,GAGP9hZ,GAAgC,kBAAbA,IACvB8mJ,EAAUzmJ,EAAO8O,OAAQnP,EAAU8mJ,IAG/B5qJ,KAAKlD,OAAS,IAGZupZ,EAAkBjkZ,IACvB+B,EAAOk9Y,WAAYz2P,GAIfw7P,EAAa7jX,KAAMngC,IACvBwoJ,EAAQ5qI,WAIHhgB,KAAK07Y,UAAW9wP,OAGzB,IAAIk8P,EAAkB,oBAsOtB,SAASC,EAAU75Y,GAClB,OAAOA,EAER,SAAS85Y,EAAS3lR,GACjB,MAAMA,EAGP,SAAS4lR,EAAYvnZ,EAAO4zH,EAASC,EAAQ2zR,GAC5C,IAAIniS,EAEJ,IAGMrlH,GAASqnF,EAAcg+B,EAASrlH,EAAMm3B,SAC1CkuF,EAAO/iH,KAAMtC,GAAQoB,KAAMwyH,GAAUkvI,KAAMjvI,GAGhC7zH,GAASqnF,EAAcg+B,EAASrlH,EAAMi0H,MACjD5O,EAAO/iH,KAAMtC,EAAO4zH,EAASC,GAQ7BD,EAAQlzH,WAAOw/B,EAAW,CAAElgC,GAAQsyC,MAAOk1W,IAM3C,MAAQxnZ,GAIT6zH,EAAOnzH,WAAOw/B,EAAW,CAAElgC,KAvO7ByE,EAAOgjZ,UAAY,SAAU5oX,GAI5BA,EAA6B,kBAAZA,EAlClB,SAAwBA,GACvB,IAAIz7B,EAAS,GAIb,OAHAqB,EAAO0vB,KAAM0K,EAAQ/0B,MAAOs9Y,IAAmB,IAAI,SAAUvyX,EAAG49B,GAC/DrvD,EAAQqvD,IAAS,KAEXrvD,EA8BNskZ,CAAe7oX,GACfp6B,EAAOixC,OAAQ,GAAI7W,GAEpB,IACC8oX,EAGA16L,EAGA26L,EAGAC,EAGA//X,EAAO,GAGP45S,EAAQ,GAGRomF,GAAe,EAGfC,EAAO,WAQN,IALAF,EAASA,GAAUhpX,EAAQmhH,KAI3B4nQ,EAAQD,GAAS,EACTjmF,EAAMtkU,OAAQ0qZ,GAAe,EAEpC,IADA76L,EAASy0G,EAAMxsP,UACL4yU,EAAchgY,EAAK1qB,SAGmC,IAA1D0qB,EAAMggY,GAAcpnZ,MAAOusN,EAAQ,GAAKA,EAAQ,KACpDpuL,EAAQmpX,cAGRF,EAAchgY,EAAK1qB,OACnB6vN,GAAS,GAMNpuL,EAAQouL,SACbA,GAAS,GAGV06L,GAAS,EAGJE,IAIH//X,EADImlM,EACG,GAIA,KAMV3rM,EAAO,CAGNuxB,IAAK,WA2BJ,OA1BK/qB,IAGCmlM,IAAW06L,IACfG,EAAchgY,EAAK1qB,OAAS,EAC5BskU,EAAMt6T,KAAM6lN,IAGb,SAAWp6K,EAAKmR,GACfv/C,EAAO0vB,KAAM6vB,GAAM,SAAUnvB,EAAGm/F,GAC1B3sC,EAAY2sC,GACVn1F,EAAQqiC,QAAW5/C,EAAKgkE,IAAK0uC,IAClClsG,EAAK1gB,KAAM4sH,GAEDA,GAAOA,EAAI52H,QAA4B,WAAlB0+Y,EAAQ9nR,IAGxCnhF,EAAKmhF,MATR,CAYKvzH,WAEAwsN,IAAW06L,GACfI,KAGKznZ,MAIRigC,OAAQ,WAYP,OAXA97B,EAAO0vB,KAAM1zB,WAAW,SAAUo0B,EAAGm/F,GAEpC,IADA,IAAIvyF,GACMA,EAAQh9B,EAAOg/C,QAASuwE,EAAKlsG,EAAM2Z,KAAa,GACzD3Z,EAAKkY,OAAQyB,EAAO,GAGfA,GAASqmX,GACbA,OAIIxnZ,MAKRglF,IAAK,SAAU1nD,GACd,OAAOA,EACNn5B,EAAOg/C,QAAS7lB,EAAI9V,IAAU,EAC9BA,EAAK1qB,OAAS,GAIhBs1J,MAAO,WAIN,OAHK5qI,IACJA,EAAO,IAEDxnB,MAMR2nZ,QAAS,WAGR,OAFAJ,EAASnmF,EAAQ,GACjB55S,EAAOmlM,EAAS,GACT3sN,MAER4oF,SAAU,WACT,OAAQphE,GAMTogY,KAAM,WAKL,OAJAL,EAASnmF,EAAQ,GACXz0G,GAAW06L,IAChB7/X,EAAOmlM,EAAS,IAEV3sN,MAERunZ,OAAQ,WACP,QAASA,GAIVM,SAAU,SAAUvyV,EAAS5R,GAS5B,OARM6jW,IAEL7jW,EAAO,CAAE4R,GADT5R,EAAOA,GAAQ,IACQ1R,MAAQ0R,EAAK1R,QAAU0R,GAC9C09Q,EAAMt6T,KAAM48C,GACN2jW,GACLI,KAGKznZ,MAIRynZ,KAAM,WAEL,OADAzmY,EAAK6mY,SAAU7nZ,KAAMG,WACdH,MAIRsnZ,MAAO,WACN,QAASA,IAIZ,OAAOtmY,GA4CR7c,EAAOixC,OAAQ,CAEd0yW,SAAU,SAAUr4V,GACnB,IAAIs4V,EAAS,CAIX,CAAE,SAAU,WAAY5jZ,EAAOgjZ,UAAW,UACzChjZ,EAAOgjZ,UAAW,UAAY,GAC/B,CAAE,UAAW,OAAQhjZ,EAAOgjZ,UAAW,eACtChjZ,EAAOgjZ,UAAW,eAAiB,EAAG,YACvC,CAAE,SAAU,OAAQhjZ,EAAOgjZ,UAAW,eACrChjZ,EAAOgjZ,UAAW,eAAiB,EAAG,aAExCpiV,EAAQ,UACRluC,EAAU,CACTkuC,MAAO,WACN,OAAOA,GAERijV,OAAQ,WAEP,OADAtkF,EAAS5iU,KAAMX,WAAYqiQ,KAAMriQ,WAC1BH,MAER,MAAS,SAAUs9B,GAClB,OAAOzG,EAAQ88F,KAAM,KAAMr2F,IAI5BwwI,KAAM,WACL,IAAIliC,EAAMzrI,UAEV,OAAOgE,EAAO2jZ,UAAU,SAAUG,GACjC9jZ,EAAO0vB,KAAMk0X,GAAQ,SAAUxlW,EAAIioT,GAGlC,IAAIltU,EAAKypD,EAAY6kD,EAAK4+N,EAAO,MAAW5+N,EAAK4+N,EAAO,IAKxD9mC,EAAU8mC,EAAO,KAAO,WACvB,IAAI09C,EAAW5qX,GAAMA,EAAGl9B,MAAOJ,KAAMG,WAChC+nZ,GAAYnhU,EAAYmhU,EAASrxX,SACrCqxX,EAASrxX,UACPnZ,SAAUuqY,EAASE,QACnBrnZ,KAAMmnZ,EAAS30R,SACfkvI,KAAMylJ,EAAS10R,QAEjB00R,EAAUz9C,EAAO,GAAM,QACtBxqW,KACAs9B,EAAK,CAAE4qX,GAAa/nZ,iBAKxByrI,EAAM,QACH/0G,WAEL88F,KAAM,SAAUy0R,EAAaC,EAAYC,GACxC,IAAIC,EAAW,EACf,SAASj1R,EAASwmP,EAAOp2C,EAAUjkL,EAAS+oQ,GAC3C,OAAO,WACN,IAAIl8Y,EAAOtM,KACV0jD,EAAOvjD,UACPsoZ,EAAa,WACZ,IAAIP,EAAUv0R,EAKd,KAAKmmP,EAAQyuC,GAAb,CAQA,IAJAL,EAAWzoQ,EAAQr/I,MAAOkM,EAAMo3C,MAIdggR,EAAS7sS,UAC1B,MAAM,IAAIp6B,UAAW,4BAOtBk3H,EAAOu0R,IAKgB,kBAAbA,GACY,oBAAbA,IACRA,EAASv0R,KAGL5sC,EAAY4sC,GAGX60R,EACJ70R,EAAK3xH,KACJkmZ,EACA50R,EAASi1R,EAAU7kF,EAAUqjF,EAAUyB,GACvCl1R,EAASi1R,EAAU7kF,EAAUsjF,EAASwB,KAOvCD,IAEA50R,EAAK3xH,KACJkmZ,EACA50R,EAASi1R,EAAU7kF,EAAUqjF,EAAUyB,GACvCl1R,EAASi1R,EAAU7kF,EAAUsjF,EAASwB,GACtCl1R,EAASi1R,EAAU7kF,EAAUqjF,EAC5BrjF,EAASglF,eASPjpQ,IAAYsnQ,IAChBz6Y,OAAOszB,EACP8jB,EAAO,CAAEwkW,KAKRM,GAAW9kF,EAASilF,aAAer8Y,EAAMo3C,MAK7CzxB,EAAUu2X,EACTC,EACA,WACC,IACCA,IACC,MAAQ1nZ,GAEJoD,EAAO2jZ,SAASc,eACpBzkZ,EAAO2jZ,SAASc,cAAe7nZ,EAC9BkxB,EAAQ42X,YAML/uC,EAAQ,GAAKyuC,IAIZ9oQ,IAAYunQ,IAChB16Y,OAAOszB,EACP8jB,EAAO,CAAE3iD,IAGV2iU,EAASolF,WAAYx8Y,EAAMo3C,MAS3Bo2T,EACJ7nV,KAKK9tB,EAAO2jZ,SAASiB,eACpB92X,EAAQ42X,WAAa1kZ,EAAO2jZ,SAASiB,gBAEtCrnZ,EAAOmzB,WAAY5C,KAKtB,OAAO9tB,EAAO2jZ,UAAU,SAAUG,GAGjCF,EAAQ,GAAK,GAAIx1W,IAChB+gF,EACC,EACA20R,EACAlhU,EAAYuhU,GACXA,EACAvB,EACDkB,EAASS,aAKXX,EAAQ,GAAK,GAAIx1W,IAChB+gF,EACC,EACA20R,EACAlhU,EAAYqhU,GACXA,EACArB,IAKHgB,EAAQ,GAAK,GAAIx1W,IAChB+gF,EACC,EACA20R,EACAlhU,EAAYshU,GACXA,EACArB,OAGAnwX,WAKLA,QAAS,SAAUmJ,GAClB,OAAc,MAAPA,EAAc77B,EAAOixC,OAAQpV,EAAKnJ,GAAYA,IAGvD6sS,EAAW,GAkEZ,OA/DAv/T,EAAO0vB,KAAMk0X,GAAQ,SAAUlrZ,EAAG2tW,GACjC,IAAIhjV,EAAOgjV,EAAO,GACjB/4L,EAAc+4L,EAAO,GAKtB3zU,EAAS2zU,EAAO,IAAQhjV,EAAK+qB,IAGxBk/H,GACJjqJ,EAAK+qB,KACJ,WAICwyB,EAAQ0sG,IAKTs2O,EAAQ,EAAIlrZ,GAAK,GAAI8qZ,QAIrBI,EAAQ,EAAIlrZ,GAAK,GAAI8qZ,QAGrBI,EAAQ,GAAK,GAAIH,KAGjBG,EAAQ,GAAK,GAAIH,MAOnBpgY,EAAK+qB,IAAKi4T,EAAO,GAAIi9C,MAKrB/jF,EAAU8mC,EAAO,IAAQ,WAExB,OADA9mC,EAAU8mC,EAAO,GAAM,QAAUxqW,OAAS0jU,OAAW9jS,EAAY5/B,KAAMG,WAChEH,MAMR0jU,EAAU8mC,EAAO,GAAM,QAAWhjV,EAAKqgY,YAIxChxX,EAAQA,QAAS6sS,GAGZj0Q,GACJA,EAAKztD,KAAM0hU,EAAUA,GAIfA,GAIRslF,KAAM,SAAUC,GACf,IAGC1hF,EAAYpnU,UAAUrD,OAGtBD,EAAI0qU,EAGJ2hF,EAAkBzoZ,MAAO5D,GACzBssZ,EAAgBn3W,EAAMhwC,KAAM7B,WAG5Bk9D,EAAUl5D,EAAO2jZ,WAGjBsB,EAAa,SAAUvsZ,GACtB,OAAO,SAAU6C,GAChBwpZ,EAAiBrsZ,GAAMmD,KACvBmpZ,EAAetsZ,GAAMsD,UAAUrD,OAAS,EAAIk1C,EAAMhwC,KAAM7B,WAAcT,IAC5D6nU,GACTlqQ,EAAQsrV,YAAaO,EAAiBC,KAM1C,GAAK5hF,GAAa,IACjB0/E,EAAYgC,EAAa5rV,EAAQv8D,KAAMsoZ,EAAYvsZ,IAAMy2H,QAASj2D,EAAQk2D,QACxEg0M,GAGuB,YAApBlqQ,EAAQ0H,SACZgiB,EAAYoiU,EAAetsZ,IAAOssZ,EAAetsZ,GAAI82H,OAErD,OAAOt2D,EAAQs2D,OAKjB,KAAQ92H,KACPoqZ,EAAYkC,EAAetsZ,GAAKusZ,EAAYvsZ,GAAKwgE,EAAQk2D,QAG1D,OAAOl2D,EAAQxmC,aAOjB,IAAIwyX,EAAc,yDAElBllZ,EAAO2jZ,SAASc,cAAgB,SAAUz1X,EAAO2J,GAI3Cp7B,EAAOoE,SAAWpE,EAAOoE,QAAQuhC,MAAQlU,GAASk2X,EAAY9mX,KAAMpP,EAAM/wB,OAC9EV,EAAOoE,QAAQuhC,KAAM,8BAAgClU,EAAMqW,QAASrW,EAAM2J,MAAOA,IAOnF34B,EAAOmlZ,eAAiB,SAAUn2X,GACjCzxB,EAAOmzB,YAAY,WAClB,MAAM1B,MAQR,IAAIo2X,EAAYplZ,EAAO2jZ,WAkDvB,SAAS0B,IACRlmZ,EAASwhE,oBAAqB,mBAAoB0kV,GAClD9nZ,EAAOojE,oBAAqB,OAAQ0kV,GACpCrlZ,EAAOyjI,QAnDRzjI,EAAOm5B,GAAGsqG,MAAQ,SAAUtqG,GAY3B,OAVAisX,EACE51R,KAAMr2F,GAKNpG,OAAO,SAAU/D,GACjBhvB,EAAOmlZ,eAAgBn2X,MAGlBnzB,MAGRmE,EAAOixC,OAAQ,CAGd4mW,SAAS,EAITyN,UAAW,EAGX7hR,MAAO,SAAU3vC,KAGF,IAATA,IAAkB9zF,EAAOslZ,UAAYtlZ,EAAO63Y,WAKjD73Y,EAAO63Y,SAAU,GAGH,IAAT/jT,KAAmB9zF,EAAOslZ,UAAY,GAK3CF,EAAUZ,YAAarlZ,EAAU,CAAEa,QAIrCA,EAAOyjI,MAAMjU,KAAO41R,EAAU51R,KAaD,aAAxBrwH,EAAS6kX,YACa,YAAxB7kX,EAAS6kX,aAA6B7kX,EAASkiB,gBAAgBkkY,SAGjEhoZ,EAAOmzB,WAAY1wB,EAAOyjI,QAK1BtkI,EAASgwB,iBAAkB,mBAAoBk2X,GAG/C9nZ,EAAO4xB,iBAAkB,OAAQk2X,IAQlC,IAAIG,EAAS,SAATA,EAAmBroU,EAAOhkD,EAAIjgC,EAAKqC,EAAOkqZ,EAAWC,EAAU1/K,GAClE,IAAIttO,EAAI,EACPmoC,EAAMs8C,EAAMxkF,OACZgtZ,EAAc,MAAPzsZ,EAGR,GAAuB,WAAlBm+Y,EAAQn+Y,GAEZ,IAAMR,KADN+sZ,GAAY,EACDvsZ,EACVssZ,EAAQroU,EAAOhkD,EAAIzgC,EAAGQ,EAAKR,IAAK,EAAMgtZ,EAAU1/K,QAI3C,QAAevqM,IAAVlgC,IACXkqZ,GAAY,EAEN7iU,EAAYrnF,KACjByqO,GAAM,GAGF2/K,IAGC3/K,GACJ7sM,EAAGt7B,KAAMs/E,EAAO5hF,GAChB49B,EAAK,OAILwsX,EAAOxsX,EACPA,EAAK,SAAUikD,EAAM5xB,EAAMjwD,GAC1B,OAAOoqZ,EAAK9nZ,KAAMmC,EAAQo9E,GAAQ7hF,MAKhC49B,GACJ,KAAQzgC,EAAImoC,EAAKnoC,IAChBygC,EACCgkD,EAAOzkF,GAAKQ,EAAK8sO,EAChBzqO,EACAA,EAAMsC,KAAMs/E,EAAOzkF,GAAKA,EAAGygC,EAAIgkD,EAAOzkF,GAAKQ,KAMhD,OAAKusZ,EACGtoU,EAIHwoU,EACGxsX,EAAGt7B,KAAMs/E,GAGVt8C,EAAM1H,EAAIgkD,EAAO,GAAKjkF,GAAQwsZ,GAKlCE,EAAY,QACfC,EAAa,YAGd,SAASC,EAAYC,EAAMphS,GAC1B,OAAOA,EAAOrjC,cAMf,SAASitP,EAAW1oN,GACnB,OAAOA,EAAOviH,QAASsiZ,EAAW,OAAQtiZ,QAASuiZ,EAAYC,GAEhE,IAAIE,EAAa,SAAU5kW,GAQ1B,OAA0B,IAAnBA,EAAM1xC,UAAqC,IAAnB0xC,EAAM1xC,YAAsB0xC,EAAM1xC,UAMlE,SAASvL,IACRtI,KAAK+7Y,QAAU53Y,EAAO43Y,QAAUzzY,EAAK42E,MAGtC52E,EAAK42E,IAAM,EAEX52E,EAAK7K,UAAY,CAEhB8qG,MAAO,SAAUhjD,GAGhB,IAAI7lD,EAAQ6lD,EAAOvlD,KAAK+7Y,SA4BxB,OAzBMr8Y,IACLA,EAAQ,GAKHyqZ,EAAY5kW,KAIXA,EAAM1xC,SACV0xC,EAAOvlD,KAAK+7Y,SAAYr8Y,EAMxBvC,OAAOC,eAAgBmoD,EAAOvlD,KAAK+7Y,QAAS,CAC3Cr8Y,MAAOA,EACPzC,cAAc,MAMXyC,GAER8M,IAAK,SAAU+4C,EAAOv0C,EAAMtR,GAC3B,IAAI8F,EACH+iG,EAAQvoG,KAAKuoG,MAAOhjD,GAIrB,GAAqB,kBAATv0C,EACXu3F,EAAOmqO,EAAW1hU,IAAWtR,OAM7B,IAAM8F,KAAQwL,EACbu3F,EAAOmqO,EAAWltU,IAAWwL,EAAMxL,GAGrC,OAAO+iG,GAERjmG,IAAK,SAAUijD,EAAOloD,GACrB,YAAeuiC,IAARviC,EACN2C,KAAKuoG,MAAOhjD,GAGZA,EAAOvlD,KAAK+7Y,UAAax2V,EAAOvlD,KAAK+7Y,SAAWrpE,EAAWr1U,KAE7DssZ,OAAQ,SAAUpkW,EAAOloD,EAAKqC,GAa7B,YAAakgC,IAARviC,GACCA,GAAsB,kBAARA,QAAgCuiC,IAAVlgC,EAElCM,KAAKsC,IAAKijD,EAAOloD,IASzB2C,KAAKwM,IAAK+4C,EAAOloD,EAAKqC,QAILkgC,IAAVlgC,EAAsBA,EAAQrC,IAEtC4iC,OAAQ,SAAUslB,EAAOloD,GACxB,IAAIR,EACH0rG,EAAQhjD,EAAOvlD,KAAK+7Y,SAErB,QAAen8W,IAAV2oE,EAAL,CAIA,QAAa3oE,IAARviC,EAAoB,CAkBxBR,GAXCQ,EAJIoD,MAAMC,QAASrD,GAIbA,EAAIoqB,IAAKirT,IAEfr1U,EAAMq1U,EAAWr1U,MAIJkrG,EACZ,CAAElrG,GACAA,EAAImM,MAAOs9Y,IAAmB,IAG1BhqZ,OAER,KAAQD,YACA0rG,EAAOlrG,EAAKR,UAKR+iC,IAARviC,GAAqB8G,EAAOy/E,cAAe2kB,MAM1ChjD,EAAM1xC,SACV0xC,EAAOvlD,KAAK+7Y,cAAYn8W,SAEjB2lB,EAAOvlD,KAAK+7Y,YAItBqO,QAAS,SAAU7kW,GAClB,IAAIgjD,EAAQhjD,EAAOvlD,KAAK+7Y,SACxB,YAAiBn8W,IAAV2oE,IAAwBpkG,EAAOy/E,cAAe2kB,KAGvD,IAAI8hT,EAAW,IAAI/hZ,EAEfgiZ,EAAW,IAAIhiZ,EAcfiiZ,EAAS,gCACZC,GAAa,SA2Bd,SAASC,GAAUlpU,EAAMlkF,EAAK2T,GAC7B,IAAI5O,EAIJ,QAAcw9B,IAAT5uB,GAAwC,IAAlBuwE,EAAK1tE,SAI/B,GAHAzR,EAAO,QAAU/E,EAAIoK,QAAS+iZ,GAAY,OAAQ3xY,cAG7B,kBAFrB7H,EAAOuwE,EAAKvxC,aAAc5tC,IAEM,CAC/B,IACC4O,EApCJ,SAAkBA,GACjB,MAAc,SAATA,GAIS,UAATA,IAIS,SAATA,EACG,KAIHA,KAAUA,EAAO,IACbA,EAGJu5Y,EAAOhoX,KAAMvxB,GACVkX,KAAKoc,MAAOtzB,GAGbA,GAcGy3F,CAASz3F,GACf,MAAQjQ,IAGVupZ,EAAS99Y,IAAK+0E,EAAMlkF,EAAK2T,QAEzBA,OAAO4uB,EAGT,OAAO5uB,EAGR7M,EAAOixC,OAAQ,CACdg1W,QAAS,SAAU7oU,GAClB,OAAO+oU,EAASF,QAAS7oU,IAAU8oU,EAASD,QAAS7oU,IAGtDvwE,KAAM,SAAUuwE,EAAMn/E,EAAM4O,GAC3B,OAAOs5Y,EAASX,OAAQpoU,EAAMn/E,EAAM4O,IAGrC6vE,WAAY,SAAUU,EAAMn/E,GAC3BkoZ,EAASrqX,OAAQshD,EAAMn/E,IAKxBw/G,MAAO,SAAUrgC,EAAMn/E,EAAM4O,GAC5B,OAAOq5Y,EAASV,OAAQpoU,EAAMn/E,EAAM4O,IAGrC05Y,YAAa,SAAUnpU,EAAMn/E,GAC5BioZ,EAASpqX,OAAQshD,EAAMn/E,MAIzB+B,EAAOm5B,GAAG8X,OAAQ,CACjBpkC,KAAM,SAAU3T,EAAKqC,GACpB,IAAI7C,EAAGuF,EAAM4O,EACZuwE,EAAOvhF,KAAM,GACb6/B,EAAQ0hD,GAAQA,EAAKlvE,WAGtB,QAAautB,IAARviC,EAAoB,CACxB,GAAK2C,KAAKlD,SACTkU,EAAOs5Y,EAAShoZ,IAAKi/E,GAEE,IAAlBA,EAAK1tE,WAAmBw2Y,EAAS/nZ,IAAKi/E,EAAM,iBAAmB,CAEnE,IADA1kF,EAAIgjC,EAAM/iC,OACFD,KAIFgjC,EAAOhjC,IAEsB,KADjCuF,EAAOy9B,EAAOhjC,GAAIuF,MACRiI,QAAS,WAClBjI,EAAOswU,EAAWtwU,EAAK4vC,MAAO,IAC9By4W,GAAUlpU,EAAMn/E,EAAM4O,EAAM5O,KAI/BioZ,EAAS79Y,IAAK+0E,EAAM,gBAAgB,GAItC,OAAOvwE,EAIR,MAAoB,kBAAR3T,EACJ2C,KAAK6zB,MAAM,WACjBy2X,EAAS99Y,IAAKxM,KAAM3C,MAIfssZ,EAAQ3pZ,MAAM,SAAUN,GAC9B,IAAIsR,EAOJ,GAAKuwE,QAAkB3hD,IAAVlgC,EAKZ,YAAckgC,KADd5uB,EAAOs5Y,EAAShoZ,IAAKi/E,EAAMlkF,UAQbuiC,KADd5uB,EAAOy5Y,GAAUlpU,EAAMlkF,IALf2T,OAWR,EAIDhR,KAAK6zB,MAAM,WAGVy2X,EAAS99Y,IAAKxM,KAAM3C,EAAKqC,QAExB,KAAMA,EAAOS,UAAUrD,OAAS,EAAG,MAAM,IAG7C+jF,WAAY,SAAUxjF,GACrB,OAAO2C,KAAK6zB,MAAM,WACjBy2X,EAASrqX,OAAQjgC,KAAM3C,SAM1B8G,EAAOixC,OAAQ,CACdgsR,MAAO,SAAU7/O,EAAMtwE,EAAMD,GAC5B,IAAIowT,EAEJ,GAAK7/O,EAYJ,OAXAtwE,GAASA,GAAQ,MAAS,QAC1BmwT,EAAQipF,EAAS/nZ,IAAKi/E,EAAMtwE,GAGvBD,KACEowT,GAAS3gU,MAAMC,QAASsQ,GAC7BowT,EAAQipF,EAASV,OAAQpoU,EAAMtwE,EAAM9M,EAAO+3Y,UAAWlrY,IAEvDowT,EAAMt6T,KAAMkK,IAGPowT,GAAS,IAIlBupF,QAAS,SAAUppU,EAAMtwE,GAGxB,IAAImwT,EAAQj9T,EAAOi9T,MAAO7/O,EAF1BtwE,EAAOA,GAAQ,MAGd25Y,EAAcxpF,EAAMtkU,OACpBwgC,EAAK8jS,EAAMxsP,QACXwmQ,EAAQj3U,EAAO0mZ,YAAatpU,EAAMtwE,GAMvB,eAAPqsB,IACJA,EAAK8jS,EAAMxsP,QACXg2U,KAGIttX,IAIU,OAATrsB,GACJmwT,EAAMvmS,QAAS,qBAITugT,EAAM33U,KACb65B,EAAGt7B,KAAMu/E,GApBF,WACNp9E,EAAOwmZ,QAASppU,EAAMtwE,KAmBFmqU,KAGhBwvE,GAAexvE,GACpBA,EAAMhpL,MAAMq1P,QAKdoD,YAAa,SAAUtpU,EAAMtwE,GAC5B,IAAI5T,EAAM4T,EAAO,aACjB,OAAOo5Y,EAAS/nZ,IAAKi/E,EAAMlkF,IAASgtZ,EAASV,OAAQpoU,EAAMlkF,EAAK,CAC/D+0J,MAAOjuJ,EAAOgjZ,UAAW,eAAgB50W,KAAK,WAC7C83W,EAASpqX,OAAQshD,EAAM,CAAEtwE,EAAO,QAAS5T,YAM7C8G,EAAOm5B,GAAG8X,OAAQ,CACjBgsR,MAAO,SAAUnwT,EAAMD,GACtB,IAAIu1C,EAAS,EAQb,MANqB,kBAATt1C,IACXD,EAAOC,EACPA,EAAO,KACPs1C,KAGIpmD,UAAUrD,OAASypD,EAChBpiD,EAAOi9T,MAAOphU,KAAM,GAAKiR,QAGjB2uB,IAAT5uB,EACNhR,KACAA,KAAK6zB,MAAM,WACV,IAAIutS,EAAQj9T,EAAOi9T,MAAOphU,KAAMiR,EAAMD,GAGtC7M,EAAO0mZ,YAAa7qZ,KAAMiR,GAEZ,OAATA,GAAgC,eAAfmwT,EAAO,IAC5Bj9T,EAAOwmZ,QAAS3qZ,KAAMiR,OAI1B05Y,QAAS,SAAU15Y,GAClB,OAAOjR,KAAK6zB,MAAM,WACjB1vB,EAAOwmZ,QAAS3qZ,KAAMiR,OAGxB65Y,WAAY,SAAU75Y,GACrB,OAAOjR,KAAKohU,MAAOnwT,GAAQ,KAAM,KAKlC4lB,QAAS,SAAU5lB,EAAM+uB,GACxB,IAAIu7P,EACHnqP,EAAQ,EACR6jR,EAAQ9wT,EAAO2jZ,WACfhmS,EAAW9hH,KACXnD,EAAImD,KAAKlD,OACTw2H,EAAU,aACCliF,GACT6jR,EAAM0zF,YAAa7mS,EAAU,CAAEA,KAUlC,IANqB,kBAAT7wG,IACX+uB,EAAM/uB,EACNA,OAAO2uB,GAER3uB,EAAOA,GAAQ,KAEPpU,MACP0+R,EAAM8uH,EAAS/nZ,IAAKw/G,EAAUjlH,GAAKoU,EAAO,gBAC9BsqR,EAAInpI,QACfhhH,IACAmqP,EAAInpI,MAAM7/G,IAAK+gF,IAIjB,OADAA,IACO2hM,EAAMp+R,QAASmJ,MAGxB,IAAI+qX,GAAS,sCAAwCziY,OAEjD0iY,GAAU,IAAIpwX,OAAQ,iBAAmBmwX,GAAO,cAAe,KAG/DE,GAAY,CAAE,MAAO,QAAS,SAAU,QAExCzlY,GAAkBliB,EAASkiB,gBAI1B0lY,GAAa,SAAU3pU,GACzB,OAAOp9E,EAAOg8C,SAAUohC,EAAKr3C,cAAeq3C,IAE7C4pU,GAAW,CAAEA,UAAU,GAOnB3lY,GAAgB4lY,cACpBF,GAAa,SAAU3pU,GACtB,OAAOp9E,EAAOg8C,SAAUohC,EAAKr3C,cAAeq3C,IAC3CA,EAAK6pU,YAAaD,MAAe5pU,EAAKr3C,gBAG1C,IAAImhX,GAAqB,SAAU9pU,EAAMxhD,GAOvC,MAA8B,UAH9BwhD,EAAOxhD,GAAMwhD,GAGD7uE,MAAM0R,SACM,KAAvBm9D,EAAK7uE,MAAM0R,SAMX8mY,GAAY3pU,IAEsB,SAAlCp9E,EAAOmd,IAAKigE,EAAM,YAKrB,SAAS+pU,GAAW/pU,EAAM/7E,EAAM+lZ,EAAYz3X,GAC3C,IAAI03X,EAAUl7Y,EACbm7Y,EAAgB,GAChBhrS,EAAe3sF,EACd,WACC,OAAOA,EAAM69G,OAEd,WACC,OAAOxtI,EAAOmd,IAAKigE,EAAM/7E,EAAM,KAEjC65S,EAAU5+L,IACV07B,EAAOovQ,GAAcA,EAAY,KAASpnZ,EAAOunZ,UAAWlmZ,GAAS,GAAK,MAG1EmmZ,EAAgBpqU,EAAK1tE,WAClB1P,EAAOunZ,UAAWlmZ,IAAmB,OAAT22I,IAAkBkjK,IAChD2rG,GAAQ54X,KAAMjuB,EAAOmd,IAAKigE,EAAM/7E,IAElC,GAAKmmZ,GAAiBA,EAAe,KAAQxvQ,EAAO,CAYnD,IARAkjK,GAAoB,EAGpBljK,EAAOA,GAAQwvQ,EAAe,GAG9BA,GAAiBtsG,GAAW,EAEpBosG,KAIPtnZ,EAAOuO,MAAO6uE,EAAM/7E,EAAMmmZ,EAAgBxvQ,IACnC,EAAI7rI,IAAY,GAAMA,EAAQmwG,IAAiB4+L,GAAW,MAAW,IAC3EosG,EAAgB,GAEjBE,GAAgCr7Y,EAKjCnM,EAAOuO,MAAO6uE,EAAM/7E,GADpBmmZ,GAAgC,GACUxvQ,GAG1CovQ,EAAaA,GAAc,GAgB5B,OAbKA,IACJI,GAAiBA,IAAkBtsG,GAAW,EAG9CmsG,EAAWD,EAAY,GACtBI,GAAkBJ,EAAY,GAAM,GAAMA,EAAY,IACrDA,EAAY,GACTz3X,IACJA,EAAMqoH,KAAOA,EACbroH,EAAMhc,MAAQ6zY,EACd73X,EAAMwf,IAAMk4W,IAGPA,EAIR,IAAII,GAAoB,GAExB,SAASC,GAAmBtqU,GAC3B,IAAI2jE,EACH3hH,EAAMg+C,EAAKr3C,cACXp2B,EAAWytE,EAAKztE,SAChBsQ,EAAUwnY,GAAmB93Y,GAE9B,OAAKsQ,IAIL8gI,EAAO3hH,EAAIlf,KAAKC,YAAaif,EAAI3oB,cAAe9G,IAChDsQ,EAAUjgB,EAAOmd,IAAK4jI,EAAM,WAE5BA,EAAKv/H,WAAWpB,YAAa2gI,GAEZ,SAAZ9gI,IACJA,EAAU,SAEXwnY,GAAmB93Y,GAAasQ,EAEzBA,GAGR,SAAS0nY,GAAUhqS,EAAU/vD,GAO5B,IANA,IAAI3tC,EAASm9D,EACZ9jE,EAAS,GACT0jB,EAAQ,EACRrkC,EAASglH,EAAShlH,OAGXqkC,EAAQrkC,EAAQqkC,KACvBogD,EAAOugC,EAAU3gF,IACNzuB,QAIX0R,EAAUm9D,EAAK7uE,MAAM0R,QAChB2tC,GAKa,SAAZ3tC,IACJ3G,EAAQ0jB,GAAUkpX,EAAS/nZ,IAAKi/E,EAAM,YAAe,KAC/C9jE,EAAQ0jB,KACbogD,EAAK7uE,MAAM0R,QAAU,KAGK,KAAvBm9D,EAAK7uE,MAAM0R,SAAkBinY,GAAoB9pU,KACrD9jE,EAAQ0jB,GAAU0qX,GAAmBtqU,KAGrB,SAAZn9D,IACJ3G,EAAQ0jB,GAAU,OAGlBkpX,EAAS79Y,IAAK+0E,EAAM,UAAWn9D,KAMlC,IAAM+c,EAAQ,EAAGA,EAAQrkC,EAAQqkC,IACR,MAAnB1jB,EAAQ0jB,KACZ2gF,EAAU3gF,GAAQzuB,MAAM0R,QAAU3G,EAAQ0jB,IAI5C,OAAO2gF,EAGR39G,EAAOm5B,GAAG8X,OAAQ,CACjB2c,KAAM,WACL,OAAO+5V,GAAU9rZ,MAAM,IAExB4xD,KAAM,WACL,OAAOk6V,GAAU9rZ,OAElB+rZ,OAAQ,SAAUhnV,GACjB,MAAsB,mBAAVA,EACJA,EAAQ/kE,KAAK+xD,OAAS/xD,KAAK4xD,OAG5B5xD,KAAK6zB,MAAM,WACZw3X,GAAoBrrZ,MACxBmE,EAAQnE,MAAO+xD,OAEf5tD,EAAQnE,MAAO4xD,aAKnB,IAAIo6V,GAAmB,wBAEnBC,GAAa,iCAEbC,GAAgB,sCAIpB,WACC,IACChlY,EADc5jB,EAAS2sC,yBACR3rB,YAAahhB,EAASsX,cAAe,QACpD6nG,EAAQn/G,EAASsX,cAAe,SAMjC6nG,EAAM7vF,aAAc,OAAQ,SAC5B6vF,EAAM7vF,aAAc,UAAW,WAC/B6vF,EAAM7vF,aAAc,OAAQ,KAE5B1L,EAAI5C,YAAam+F,GAIjB1hC,EAAQorU,WAAajlY,EAAIkoB,WAAW,GAAOA,WAAW,GAAOrD,UAAUogF,QAIvEjlG,EAAIC,UAAY,yBAChB45D,EAAQqrU,iBAAmBllY,EAAIkoB,WAAW,GAAOrD,UAAUw7E,aAK3DrgG,EAAIC,UAAY,oBAChB45D,EAAQk7O,SAAW/0S,EAAI6kB,UA5BxB,GAiCA,IAAIsgX,GAAU,CAKbC,MAAO,CAAE,EAAG,UAAW,YACvBhyU,IAAK,CAAE,EAAG,oBAAqB,uBAC/BqsH,GAAI,CAAE,EAAG,iBAAkB,oBAC3BqqB,GAAI,CAAE,EAAG,qBAAsB,yBAE/Bu7L,SAAU,CAAE,EAAG,GAAI,KAYpB,SAASpvW,GAAQmY,EAAS20E,GAIzB,IAAItsH,EAYJ,OATCA,EAD4C,qBAAjC23C,EAAQnzC,qBACbmzC,EAAQnzC,qBAAsB8nH,GAAO,KAEI,qBAA7B30E,EAAQvuC,iBACpBuuC,EAAQvuC,iBAAkBkjH,GAAO,KAGjC,QAGMrqG,IAARqqG,GAAqBA,GAAOn2H,EAAUwhD,EAAS20E,GAC5C9lI,EAAOqwD,MAAO,CAAEc,GAAW33C,GAG5BA,EAKR,SAAS6uY,GAAelrU,EAAOmrU,GAI9B,IAHA,IAAI5vZ,EAAI,EACPkF,EAAIu/E,EAAMxkF,OAEHD,EAAIkF,EAAGlF,IACdwtZ,EAAS79Y,IACR80E,EAAOzkF,GACP,cACC4vZ,GAAepC,EAAS/nZ,IAAKmqZ,EAAa5vZ,GAAK,eA1CnDwvZ,GAAQK,MAAQL,GAAQM,MAAQN,GAAQO,SAAWP,GAAQt8M,QAAUs8M,GAAQC,MAC7ED,GAAQzqL,GAAKyqL,GAAQr7L,GAGfjwI,EAAQk7O,SACbowF,GAAQQ,SAAWR,GAAQpwF,OAAS,CAAE,EAAG,+BAAgC,cA2C1E,IAAI+hF,GAAQ,YAEZ,SAAS8O,GAAexrU,EAAOhsB,EAASy3V,EAASp1W,EAAWq1W,GAO3D,IANA,IAAIzrU,EAAMg6M,EAAKtxJ,EAAKgjR,EAAMC,EAAU9zY,EACnC+zY,EAAW73V,EAAQrlB,yBACnBqwM,EAAQ,GACRzjP,EAAI,EACJkF,EAAIu/E,EAAMxkF,OAEHD,EAAIkF,EAAGlF,IAGd,IAFA0kF,EAAOD,EAAOzkF,KAEQ,IAAT0kF,EAGZ,GAAwB,WAAnBi6T,EAAQj6T,GAIZp9E,EAAOqwD,MAAO8rL,EAAO/+J,EAAK1tE,SAAW,CAAE0tE,GAASA,QAG1C,GAAMy8T,GAAMz7W,KAAMg/C,GAIlB,CAUN,IATAg6M,EAAMA,GAAO4xH,EAAS7oY,YAAagxC,EAAQ16C,cAAe,QAG1DqvH,GAAQgiR,GAAS75X,KAAMmvD,IAAU,CAAE,GAAI,KAAQ,GAAI1oE,cACnDo0Y,EAAOZ,GAASpiR,IAASoiR,GAAQE,SACjChxH,EAAIp0Q,UAAY8lY,EAAM,GAAM9oZ,EAAOipZ,cAAe7rU,GAAS0rU,EAAM,GAGjE7zY,EAAI6zY,EAAM,GACF7zY,KACPmiR,EAAMA,EAAIxvP,UAKX5nC,EAAOqwD,MAAO8rL,EAAOi7C,EAAIxnR,aAGzBwnR,EAAM4xH,EAAS7tX,YAGXprB,YAAc,QAzBlBosO,EAAMx5O,KAAMwuD,EAAQriC,eAAgBsuD,IAkCvC,IAHA4rU,EAASj5Y,YAAc,GAEvBrX,EAAI,EACM0kF,EAAO++J,EAAOzjP,MAGvB,GAAK86C,GAAaxzC,EAAOg/C,QAASo+B,EAAM5pC,IAAe,EACjDq1W,GACJA,EAAQlmZ,KAAMy6E,QAgBhB,GAXA2rU,EAAWhC,GAAY3pU,GAGvBg6M,EAAMp+O,GAAQgwW,EAAS7oY,YAAai9D,GAAQ,UAGvC2rU,GACJV,GAAejxH,GAIXwxH,EAEJ,IADA3zY,EAAI,EACMmoE,EAAOg6M,EAAKniR,MAChB8yY,GAAY3pX,KAAMg/C,EAAKtwE,MAAQ,KACnC87Y,EAAQjmZ,KAAMy6E,GAMlB,OAAO4rU,EAIR,IAAIE,GAAiB,sBAErB,SAASC,KACR,OAAO,EAGR,SAASC,KACR,OAAO,EASR,SAASC,GAAYjsU,EAAMtwE,GAC1B,OAASswE,IAMV,WACC,IACC,OAAOj+E,EAASu/Y,cACf,MAAQ1hZ,KATQssZ,MAAqC,UAATx8Y,GAY/C,SAASiqC,GAAIqmC,EAAMQ,EAAOj+E,EAAUkN,EAAMssB,EAAI2nD,GAC7C,IAAIyoU,EAAQz8Y,EAGZ,GAAsB,kBAAV8wE,EAAqB,CAShC,IAAM9wE,IANmB,kBAAbnN,IAGXkN,EAAOA,GAAQlN,EACfA,OAAW87B,GAEEmiD,EACb7mC,GAAIqmC,EAAMtwE,EAAMnN,EAAUkN,EAAM+wE,EAAO9wE,GAAQg0E,GAEhD,OAAO1D,EAsBR,GAnBa,MAARvwE,GAAsB,MAANssB,GAGpBA,EAAKx5B,EACLkN,EAAOlN,OAAW87B,GACD,MAANtC,IACc,kBAAbx5B,GAGXw5B,EAAKtsB,EACLA,OAAO4uB,IAIPtC,EAAKtsB,EACLA,EAAOlN,EACPA,OAAW87B,KAGD,IAAPtC,EACJA,EAAKiwX,QACC,IAAMjwX,EACZ,OAAOikD,EAeR,OAZa,IAAR0D,IACJyoU,EAASpwX,GACTA,EAAK,SAAUhY,GAId,OADAnhB,IAASy/C,IAAKt+B,GACPooY,EAAOttZ,MAAOJ,KAAMG,aAIzB24R,KAAO40H,EAAO50H,OAAU40H,EAAO50H,KAAO30R,EAAO20R,SAE1Cv3M,EAAK1tD,MAAM,WACjB1vB,EAAOmhB,MAAMitB,IAAKvyC,KAAM+hF,EAAOzkD,EAAItsB,EAAMlN,MA+a3C,SAAS6pZ,GAAgB5tX,EAAI9uB,EAAMu8Y,GAG5BA,GAQNnD,EAAS79Y,IAAKuzB,EAAI9uB,GAAM,GACxB9M,EAAOmhB,MAAMitB,IAAKxS,EAAI9uB,EAAM,CAC3Bs8B,WAAW,EACXkyG,QAAS,SAAUn6H,GAClB,IAAIsoY,EAAU/tZ,EACbguZ,EAAQxD,EAAS/nZ,IAAKtC,KAAMiR,GAE7B,GAAyB,EAAlBqU,EAAMwoY,WAAmB9tZ,KAAMiR,IAKrC,GAAM48Y,EAAM/wZ,QAuCEqH,EAAOmhB,MAAMkjY,QAASv3Y,IAAU,IAAK88Y,cAClDzoY,EAAM01B,uBArBN,GAdA6yW,EAAQ77W,EAAMhwC,KAAM7B,WACpBkqZ,EAAS79Y,IAAKxM,KAAMiR,EAAM48Y,GAK1BD,EAAWJ,EAAYxtZ,KAAMiR,GAC7BjR,KAAMiR,KAED48Y,KADLhuZ,EAASwqZ,EAAS/nZ,IAAKtC,KAAMiR,KACJ28Y,EACxBvD,EAAS79Y,IAAKxM,KAAMiR,GAAM,GAE1BpR,EAAS,GAELguZ,IAAUhuZ,EAWd,OARAylB,EAAMi+D,2BACNj+D,EAAMw1B,iBAOCj7C,GAAUA,EAAOH,WAefmuZ,EAAM/wZ,SAGjButZ,EAAS79Y,IAAKxM,KAAMiR,EAAM,CACzBvR,MAAOyE,EAAOmhB,MAAM08D,QAInB79E,EAAOixC,OAAQy4W,EAAO,GAAK1pZ,EAAO6/E,MAAMvmF,WACxCowZ,EAAM77W,MAAO,GACbhyC,QAKFslB,EAAMi+D,qCA/E0B3jD,IAA7ByqX,EAAS/nZ,IAAKy9B,EAAI9uB,IACtB9M,EAAOmhB,MAAMitB,IAAKxS,EAAI9uB,EAAMq8Y,IA5a/BnpZ,EAAOmhB,MAAQ,CAEdghG,OAAQ,GAER/zE,IAAK,SAAUgvC,EAAMQ,EAAO09D,EAASzuI,EAAMlN,GAE1C,IAAIkqZ,EAAaC,EAAa1yH,EAC7B90Q,EAAQhkB,EAAGyrZ,EACX1F,EAASxqE,EAAU/sU,EAAM4wE,EAAYssU,EACrCC,EAAW/D,EAAS/nZ,IAAKi/E,GAG1B,GAAM4oU,EAAY5oU,GAuClB,IAlCKk+D,EAAQA,UAEZA,GADAuuQ,EAAcvuQ,GACQA,QACtB37I,EAAWkqZ,EAAYlqZ,UAKnBA,GACJK,EAAOmpE,KAAK5pE,gBAAiB8hB,GAAiB1hB,GAIzC27I,EAAQq5I,OACbr5I,EAAQq5I,KAAO30R,EAAO20R,SAIfryQ,EAAS2nY,EAAS3nY,UACzBA,EAAS2nY,EAAS3nY,OAAStpB,OAAOqC,OAAQ,QAEnCyuZ,EAAcG,EAAS/8V,UAC9B48V,EAAcG,EAAS/8V,OAAS,SAAUtwD,GAIzC,OAAwCoD,EAAOmhB,MAAM+oY,YAActtZ,EAAEkQ,KACpE9M,EAAOmhB,MAAMgpY,SAASluZ,MAAOmhF,EAAMphF,gBAAcy/B,IAMpDn9B,GADAs/E,GAAUA,GAAS,IAAKv4E,MAAOs9Y,IAAmB,CAAE,KAC1ChqZ,OACF2F,KAEPwO,EAAOk9Y,GADP5yH,EAAM8xH,GAAej7X,KAAM2vD,EAAOt/E,KAAS,IACpB,GACvBo/E,GAAe05M,EAAK,IAAO,IAAKhvR,MAAO,KAAMy2C,OAGvC/xC,IAKNu3Y,EAAUrkZ,EAAOmhB,MAAMkjY,QAASv3Y,IAAU,GAG1CA,GAASnN,EAAW0kZ,EAAQuF,aAAevF,EAAQ+F,WAAct9Y,EAGjEu3Y,EAAUrkZ,EAAOmhB,MAAMkjY,QAASv3Y,IAAU,GAG1Ci9Y,EAAY/pZ,EAAOixC,OAAQ,CAC1BnkC,KAAMA,EACNk9Y,SAAUA,EACVn9Y,KAAMA,EACNyuI,QAASA,EACTq5I,KAAMr5I,EAAQq5I,KACdh1R,SAAUA,EACVgiZ,aAAchiZ,GAAYK,EAAOi9Y,KAAK53Y,MAAMs8Y,aAAavjX,KAAMz+B,GAC/DypC,UAAWs0C,EAAWx1E,KAAM,MAC1B2hZ,IAGKhwE,EAAWv3T,EAAQxV,OAC1B+sU,EAAWv3T,EAAQxV,GAAS,IACnBu9Y,cAAgB,EAGnBhG,EAAQiG,QACiD,IAA9DjG,EAAQiG,MAAMzsZ,KAAMu/E,EAAMvwE,EAAM6wE,EAAYosU,IAEvC1sU,EAAKjuD,kBACTiuD,EAAKjuD,iBAAkBriB,EAAMg9Y,IAK3BzF,EAAQj2W,MACZi2W,EAAQj2W,IAAIvwC,KAAMu/E,EAAM2sU,GAElBA,EAAUzuQ,QAAQq5I,OACvBo1H,EAAUzuQ,QAAQq5I,KAAOr5I,EAAQq5I,OAK9Bh1R,EACJk6U,EAASt+S,OAAQs+S,EAASwwE,gBAAiB,EAAGN,GAE9ClwE,EAASl3U,KAAMonZ,GAIhB/pZ,EAAOmhB,MAAMghG,OAAQr1G,IAAS,IAMhCgvB,OAAQ,SAAUshD,EAAMQ,EAAO09D,EAAS37I,EAAU4qZ,GAEjD,IAAIt1Y,EAAGu1Y,EAAWpzH,EACjB90Q,EAAQhkB,EAAGyrZ,EACX1F,EAASxqE,EAAU/sU,EAAM4wE,EAAYssU,EACrCC,EAAW/D,EAASD,QAAS7oU,IAAU8oU,EAAS/nZ,IAAKi/E,GAEtD,GAAM6sU,IAAe3nY,EAAS2nY,EAAS3nY,QAAvC,CAOA,IADAhkB,GADAs/E,GAAUA,GAAS,IAAKv4E,MAAOs9Y,IAAmB,CAAE,KAC1ChqZ,OACF2F,KAMP,GAJAwO,EAAOk9Y,GADP5yH,EAAM8xH,GAAej7X,KAAM2vD,EAAOt/E,KAAS,IACpB,GACvBo/E,GAAe05M,EAAK,IAAO,IAAKhvR,MAAO,KAAMy2C,OAGvC/xC,EAAN,CAeA,IARAu3Y,EAAUrkZ,EAAOmhB,MAAMkjY,QAASv3Y,IAAU,GAE1C+sU,EAAWv3T,EADXxV,GAASnN,EAAW0kZ,EAAQuF,aAAevF,EAAQ+F,WAAct9Y,IACpC,GAC7BsqR,EAAMA,EAAK,IACV,IAAI3gQ,OAAQ,UAAYinD,EAAWx1E,KAAM,iBAAoB,WAG9DsiZ,EAAYv1Y,EAAI4kU,EAASlhV,OACjBsc,KACP80Y,EAAYlwE,EAAU5kU,IAEfs1Y,GAAeP,IAAaD,EAAUC,UACzC1uQ,GAAWA,EAAQq5I,OAASo1H,EAAUp1H,MACtCyC,IAAOA,EAAIh5P,KAAM2rX,EAAU3gX,YAC3BzpC,GAAYA,IAAaoqZ,EAAUpqZ,WACxB,OAAbA,IAAqBoqZ,EAAUpqZ,YAChCk6U,EAASt+S,OAAQtmB,EAAG,GAEf80Y,EAAUpqZ,UACdk6U,EAASwwE,gBAELhG,EAAQvoX,QACZuoX,EAAQvoX,OAAOj+B,KAAMu/E,EAAM2sU,IAOzBS,IAAc3wE,EAASlhV,SACrB0rZ,EAAQoG,WACkD,IAA/DpG,EAAQoG,SAAS5sZ,KAAMu/E,EAAMM,EAAYusU,EAAS/8V,SAElDltD,EAAOyqY,YAAartT,EAAMtwE,EAAMm9Y,EAAS/8V,eAGnC5qC,EAAQxV,SA1Cf,IAAMA,KAAQwV,EACbtiB,EAAOmhB,MAAM2a,OAAQshD,EAAMtwE,EAAO8wE,EAAOt/E,GAAKg9I,EAAS37I,GAAU,GA8C/DK,EAAOy/E,cAAen9D,IAC1B4jY,EAASpqX,OAAQshD,EAAM,mBAIzB+sU,SAAU,SAAUO,GAEnB,IAAIhyZ,EAAGuc,EAAGuE,EAAKitI,EAASsjQ,EAAWY,EAClCprW,EAAO,IAAIjjD,MAAON,UAAUrD,QAG5BwoB,EAAQnhB,EAAOmhB,MAAMypY,IAAKF,GAE1B7wE,GACCqsE,EAAS/nZ,IAAKtC,KAAM,WAAc7C,OAAOqC,OAAQ,OAC/C8lB,EAAMrU,OAAU,GACnBu3Y,EAAUrkZ,EAAOmhB,MAAMkjY,QAASljY,EAAMrU,OAAU,GAKjD,IAFAyyC,EAAM,GAAMp+B,EAENzoB,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAClC6mD,EAAM7mD,GAAMsD,UAAWtD,GAMxB,GAHAyoB,EAAM4tC,eAAiBlzD,MAGlBwoZ,EAAQwG,cAA2D,IAA5CxG,EAAQwG,YAAYhtZ,KAAMhC,KAAMslB,GAA5D,CASA,IAJAwpY,EAAe3qZ,EAAOmhB,MAAM04T,SAASh8U,KAAMhC,KAAMslB,EAAO04T,GAGxDnhV,EAAI,GACM+tJ,EAAUkkQ,EAAcjyZ,QAAYyoB,EAAM2pY,wBAInD,IAHA3pY,EAAMk0E,cAAgBoxD,EAAQrpE,KAE9BnoE,EAAI,GACM80Y,EAAYtjQ,EAAQozL,SAAU5kU,QACtCkM,EAAM4pY,iCAID5pY,EAAM6pY,aAAsC,IAAxBjB,EAAU3gX,YACnCjoB,EAAM6pY,WAAW5sX,KAAM2rX,EAAU3gX,aAEjCjoB,EAAM4oY,UAAYA,EAClB5oY,EAAMtU,KAAOk9Y,EAAUl9Y,UAKV4uB,KAHbjiB,IAAUxZ,EAAOmhB,MAAMkjY,QAAS0F,EAAUC,WAAc,IAAK98V,QAC5D68V,EAAUzuQ,SAAUr/I,MAAOwqJ,EAAQrpE,KAAM79B,MAGT,KAAzBp+B,EAAMzlB,OAAS8d,KACrB2H,EAAMw1B,iBACNx1B,EAAM01B,oBAYX,OAJKwtW,EAAQ4G,cACZ5G,EAAQ4G,aAAaptZ,KAAMhC,KAAMslB,GAG3BA,EAAMzlB,SAGdm+U,SAAU,SAAU14T,EAAO04T,GAC1B,IAAInhV,EAAGqxZ,EAAWlgU,EAAKqhU,EAAiBC,EACvCR,EAAe,GACfN,EAAgBxwE,EAASwwE,cACzB78Q,EAAMrsH,EAAM3oB,OAGb,GAAK6xZ,GAIJ78Q,EAAI99H,YAOc,UAAfyR,EAAMrU,MAAoBqU,EAAM4+D,QAAU,GAE7C,KAAQytD,IAAQ3xI,KAAM2xI,EAAMA,EAAIhsH,YAAc3lB,KAI7C,GAAsB,IAAjB2xI,EAAI99H,WAAoC,UAAfyR,EAAMrU,OAAqC,IAAjB0gI,EAAI/oD,UAAsB,CAGjF,IAFAymU,EAAkB,GAClBC,EAAmB,GACbzyZ,EAAI,EAAGA,EAAI2xZ,EAAe3xZ,SAME+iC,IAA5B0vX,EAFLthU,GAHAkgU,EAAYlwE,EAAUnhV,IAGNiH,SAAW,OAG1BwrZ,EAAkBthU,GAAQkgU,EAAUpI,aACnC3hZ,EAAQ6pF,EAAKhuF,MAAOmhC,MAAOwwG,IAAS,EACpCxtI,EAAOmpE,KAAM0gB,EAAKhuF,KAAM,KAAM,CAAE2xI,IAAQ70I,QAErCwyZ,EAAkBthU,IACtBqhU,EAAgBvoZ,KAAMonZ,GAGnBmB,EAAgBvyZ,QACpBgyZ,EAAahoZ,KAAM,CAAEy6E,KAAMowD,EAAKqsM,SAAUqxE,IAY9C,OALA19Q,EAAM3xI,KACDwuZ,EAAgBxwE,EAASlhV,QAC7BgyZ,EAAahoZ,KAAM,CAAEy6E,KAAMowD,EAAKqsM,SAAUA,EAAShsS,MAAOw8W,KAGpDM,GAGRS,QAAS,SAAUntZ,EAAMqzU,GACxBt4U,OAAOC,eAAgB+G,EAAO6/E,MAAMvmF,UAAW2E,EAAM,CACpDpF,YAAY,EACZC,cAAc,EAEdqF,IAAKykF,EAAY0uP,GAChB,WACC,GAAKz1U,KAAKq7C,cACT,OAAOo6R,EAAMz1U,KAAKq7C,gBAGpB,WACC,GAAKr7C,KAAKq7C,cACT,OAAOr7C,KAAKq7C,cAAej5C,IAI9BoK,IAAK,SAAU9M,GACdvC,OAAOC,eAAgB4C,KAAMoC,EAAM,CAClCpF,YAAY,EACZC,cAAc,EACdC,UAAU,EACVwC,MAAOA,QAMXqvZ,IAAK,SAAU1zW,GACd,OAAOA,EAAel3C,EAAO43Y,SAC5B1gW,EACA,IAAIl3C,EAAO6/E,MAAO3oC,IAGpBmtW,QAAS,CACR5jY,KAAM,CAGL4qY,UAAU,GAEXzrU,MAAO,CAGN0qU,MAAO,SAAUz9Y,GAIhB,IAAI+uB,EAAK//B,MAAQgR,EAWjB,OARKg7Y,GAAezpX,KAAMxC,EAAG9uB,OAC5B8uB,EAAGgkD,OAASjwE,EAAUisB,EAAI,UAG1B4tX,GAAgB5tX,EAAI,QAASutX,KAIvB,GAERtrU,QAAS,SAAUhxE,GAIlB,IAAI+uB,EAAK//B,MAAQgR,EAUjB,OAPKg7Y,GAAezpX,KAAMxC,EAAG9uB,OAC5B8uB,EAAGgkD,OAASjwE,EAAUisB,EAAI,UAE1B4tX,GAAgB5tX,EAAI,UAId,GAKRwsX,SAAU,SAAUjnY,GACnB,IAAI3oB,EAAS2oB,EAAM3oB,OACnB,OAAOqvZ,GAAezpX,KAAM5lC,EAAOsU,OAClCtU,EAAOonF,OAASjwE,EAAUnX,EAAQ,UAClC0tZ,EAAS/nZ,IAAK3F,EAAQ,UACtBmX,EAAUnX,EAAQ,OAIrB8yZ,aAAc,CACbL,aAAc,SAAU9pY,QAIDsa,IAAjBta,EAAMzlB,QAAwBylB,EAAM+1B,gBACxC/1B,EAAM+1B,cAAcoI,YAAcn+B,EAAMzlB,YAoG7CsE,EAAOyqY,YAAc,SAAUrtT,EAAMtwE,EAAMogD,GAGrCkwB,EAAKzc,qBACTyc,EAAKzc,oBAAqB7zD,EAAMogD,KAIlCltD,EAAO6/E,MAAQ,SAAU7iE,EAAKvkB,GAG7B,KAAQoD,gBAAgBmE,EAAO6/E,OAC9B,OAAO,IAAI7/E,EAAO6/E,MAAO7iE,EAAKvkB,GAI1BukB,GAAOA,EAAIlQ,MACfjR,KAAKq7C,cAAgBl6B,EACrBnhB,KAAKiR,KAAOkQ,EAAIlQ,KAIhBjR,KAAK0vZ,mBAAqBvuY,EAAIwuY,uBACH/vX,IAAzBze,EAAIwuY,mBAGgB,IAApBxuY,EAAIsiC,YACL6pW,GACAC,GAKDvtZ,KAAKrD,OAAWwkB,EAAIxkB,QAAkC,IAAxBwkB,EAAIxkB,OAAOkX,SACxCsN,EAAIxkB,OAAOgpB,WACXxE,EAAIxkB,OAELqD,KAAKw5F,cAAgBr4E,EAAIq4E,cACzBx5F,KAAKskF,cAAgBnjE,EAAImjE,eAIzBtkF,KAAKiR,KAAOkQ,EAIRvkB,GACJuH,EAAOixC,OAAQp1C,KAAMpD,GAItBoD,KAAK4vZ,UAAYzuY,GAAOA,EAAIyuY,WAAar4X,KAAKzB,MAG9C91B,KAAMmE,EAAO43Y,UAAY,IAKbt+Y,UAAY,CACxBgC,YAAa0E,EAAO6/E,MACpB0rU,mBAAoBnC,GACpB0B,qBAAsB1B,GACtB2B,8BAA+B3B,GAC/BsC,aAAa,EAEb/0W,eAAgB,WACf,IAAI/5C,EAAIf,KAAKq7C,cAEbr7C,KAAK0vZ,mBAAqBpC,GAErBvsZ,IAAMf,KAAK6vZ,aACf9uZ,EAAE+5C,kBAGJE,gBAAiB,WAChB,IAAIj6C,EAAIf,KAAKq7C,cAEbr7C,KAAKivZ,qBAAuB3B,GAEvBvsZ,IAAMf,KAAK6vZ,aACf9uZ,EAAEi6C,mBAGJuoC,yBAA0B,WACzB,IAAIxiF,EAAIf,KAAKq7C,cAEbr7C,KAAKkvZ,8BAAgC5B,GAEhCvsZ,IAAMf,KAAK6vZ,aACf9uZ,EAAEwiF,2BAGHvjF,KAAKg7C,oBAKP72C,EAAO0vB,KAAM,CACZi8X,QAAQ,EACRjiS,SAAS,EACT81L,YAAY,EACZ1kQ,gBAAgB,EAChBhI,SAAS,EACTsE,QAAQ,EACRw0W,YAAY,EACZn6P,SAAS,EACTxyE,OAAO,EACPC,OAAO,EACPrsC,UAAU,EACVm+L,MAAM,EACN,MAAQ,EACR5rM,MAAM,EACNymX,UAAU,EACV3yZ,KAAK,EACLu+C,SAAS,EACTsoC,QAAQ,EACR+rU,SAAS,EACT5qY,SAAS,EACTE,SAAS,EACTngB,SAAS,EACTC,SAAS,EACT6qZ,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTniB,eAAe,EACfoiB,WAAW,EACXtxW,SAAS,EACTnE,OAAO,GACL12C,EAAOmhB,MAAMiqY,SAEhBprZ,EAAO0vB,KAAM,CAAEuyD,MAAO,UAAWd,KAAM,aAAc,SAAUr0E,EAAM88Y,GACpE5pZ,EAAOmhB,MAAMkjY,QAASv3Y,GAAS,CAG9Bw9Y,MAAO,WAQN,OAHAd,GAAgB3tZ,KAAMiR,EAAMu8Y,KAGrB,GAERxrU,QAAS,WAMR,OAHA2rU,GAAgB3tZ,KAAMiR,IAGf,GAKRs7Y,SAAU,WACT,OAAO,GAGRwB,aAAcA,MAYhB5pZ,EAAO0vB,KAAM,CACZuwD,WAAY,YACZM,WAAY,WACZ6rU,aAAc,cACdC,aAAc,eACZ,SAAU1vW,EAAMiuW,GAClB5qZ,EAAOmhB,MAAMkjY,QAAS1nW,GAAS,CAC9BitW,aAAcgB,EACdR,SAAUQ,EAEV19V,OAAQ,SAAU/rC,GACjB,IAAI3H,EACHhhB,EAASqD,KACTywZ,EAAUnrY,EAAMg/D,cAChB4pU,EAAY5oY,EAAM4oY,UASnB,OALMuC,IAAaA,IAAY9zZ,GAAWwH,EAAOg8C,SAAUxjD,EAAQ8zZ,MAClEnrY,EAAMrU,KAAOi9Y,EAAUC,SACvBxwY,EAAMuwY,EAAUzuQ,QAAQr/I,MAAOJ,KAAMG,WACrCmlB,EAAMrU,KAAO89Y,GAEPpxY,OAKVxZ,EAAOm5B,GAAG8X,OAAQ,CAEjB8F,GAAI,SAAU6mC,EAAOj+E,EAAUkN,EAAMssB,GACpC,OAAO4d,GAAIl7C,KAAM+hF,EAAOj+E,EAAUkN,EAAMssB,IAEzC2nD,IAAK,SAAUlD,EAAOj+E,EAAUkN,EAAMssB,GACrC,OAAO4d,GAAIl7C,KAAM+hF,EAAOj+E,EAAUkN,EAAMssB,EAAI,IAE7CsmB,IAAK,SAAUm+B,EAAOj+E,EAAUw5B,GAC/B,IAAI4wX,EAAWj9Y,EACf,GAAK8wE,GAASA,EAAMjnC,gBAAkBinC,EAAMmsU,UAW3C,OARAA,EAAYnsU,EAAMmsU,UAClB/pZ,EAAQ49E,EAAM7uB,gBAAiBtP,IAC9BsqW,EAAU3gX,UACT2gX,EAAUC,SAAW,IAAMD,EAAU3gX,UACrC2gX,EAAUC,SACXD,EAAUpqZ,SACVoqZ,EAAUzuQ,SAEJz/I,KAER,GAAsB,kBAAV+hF,EAAqB,CAGhC,IAAM9wE,KAAQ8wE,EACb/hF,KAAK4jD,IAAK3yC,EAAMnN,EAAUi+E,EAAO9wE,IAElC,OAAOjR,KAWR,OATkB,IAAb8D,GAA0C,oBAAbA,IAGjCw5B,EAAKx5B,EACLA,OAAW87B,IAEA,IAAPtC,IACJA,EAAKiwX,IAECvtZ,KAAK6zB,MAAM,WACjB1vB,EAAOmhB,MAAM2a,OAAQjgC,KAAM+hF,EAAOzkD,EAAIx5B,SAMzC,IAKC4sZ,GAAe,wBAGfC,GAAW,oCACXC,GAAe,2CAGhB,SAASC,GAAoBtvU,EAAM55D,GAClC,OAAK7T,EAAUytE,EAAM,UACpBztE,EAA+B,KAArB6T,EAAQ9T,SAAkB8T,EAAUA,EAAQ2X,WAAY,OAE3Dn7B,EAAQo9E,GAAO/uE,SAAU,SAAW,IAGrC+uE,EAIR,SAASuvU,GAAevvU,GAEvB,OADAA,EAAKtwE,MAAyC,OAAhCswE,EAAKvxC,aAAc,SAAsB,IAAMuxC,EAAKtwE,KAC3DswE,EAER,SAASwvU,GAAexvU,GAOvB,MAN2C,WAApCA,EAAKtwE,MAAQ,IAAK+gC,MAAO,EAAG,GAClCuvC,EAAKtwE,KAAOswE,EAAKtwE,KAAK+gC,MAAO,GAE7BuvC,EAAK/wC,gBAAiB,QAGhB+wC,EAGR,SAASyvU,GAAgB7vY,EAAKqmB,GAC7B,IAAI3qC,EAAGkF,EAAGkP,EAAgBggZ,EAAUC,EAAUzqY,EAE9C,GAAuB,IAAlB+gB,EAAK3zB,SAAV,CAKA,GAAKw2Y,EAASD,QAASjpY,KAEtBsF,EADW4jY,EAAS/nZ,IAAK6e,GACPsF,QAKjB,IAAMxV,KAFNo5Y,EAASpqX,OAAQuH,EAAM,iBAET/gB,EACb,IAAM5pB,EAAI,EAAGkF,EAAI0kB,EAAQxV,GAAOnU,OAAQD,EAAIkF,EAAGlF,IAC9CsH,EAAOmhB,MAAMitB,IAAK/K,EAAMv2B,EAAMwV,EAAQxV,GAAQpU,IAO7CytZ,EAASF,QAASjpY,KACtB8vY,EAAW3G,EAASX,OAAQxoY,GAC5B+vY,EAAW/sZ,EAAOixC,OAAQ,GAAI67W,GAE9B3G,EAAS99Y,IAAKg7B,EAAM0pX,KAKtB,SAASC,GAAUhwY,EAAKqmB,GACvB,IAAI1zB,EAAW0zB,EAAK1zB,SAAS+E,cAGX,UAAb/E,GAAwBk4Y,GAAezpX,KAAMphB,EAAIlQ,MACrDu2B,EAAK2kF,QAAUhrG,EAAIgrG,QAGK,UAAbr4G,GAAqC,aAAbA,IACnC0zB,EAAK+/E,aAAepmG,EAAIomG,cAI1B,SAAS6pS,GAAUvsW,EAAYnB,EAAMnY,EAAUyhX,GAG9CtpW,EAAOs3V,EAAMt3V,GAEb,IAAIypW,EAAUtkW,EAAOkkW,EAASsE,EAAYxtZ,EAAM0/B,EAC/C1mC,EAAI,EACJkF,EAAI8iD,EAAW/nD,OACfw0Z,EAAWvvZ,EAAI,EACfrC,EAAQgkD,EAAM,GACd6tW,EAAkBxqU,EAAYrnF,GAG/B,GAAK6xZ,GACDxvZ,EAAI,GAAsB,kBAAVrC,IAChBqhF,EAAQorU,YAAcwE,GAASpuX,KAAM7iC,GACxC,OAAOmlD,EAAWhxB,MAAM,SAAUsN,GACjC,IAAIngB,EAAO6jC,EAAWw9F,GAAIlhH,GACrBowX,IACJ7tW,EAAM,GAAMhkD,EAAMsC,KAAMhC,KAAMmhC,EAAOngB,EAAKy0B,SAE3C27W,GAAUpwY,EAAM0iC,EAAMnY,EAAUyhX,MAIlC,GAAKjrZ,IAEJ8mD,GADAskW,EAAWL,GAAeppW,EAAMmB,EAAY,GAAI3a,eAAe,EAAO2a,EAAYmoW,IACjE1tX,WAEmB,IAA/B6tX,EAASp5Y,WAAWjX,SACxBqwZ,EAAWtkW,GAIPA,GAASmkW,GAAU,CAOvB,IALAqE,GADAtE,EAAU5oZ,EAAOsjB,IAAK01B,GAAQgwW,EAAU,UAAY2D,KAC/Bh0Z,OAKbD,EAAIkF,EAAGlF,IACdgH,EAAOspZ,EAEFtwZ,IAAMy0Z,IACVztZ,EAAOM,EAAOyvB,MAAO/vB,GAAM,GAAM,GAG5BwtZ,GAIJltZ,EAAOqwD,MAAOu4V,EAAS5vW,GAAQt5C,EAAM,YAIvC0nC,EAASvpC,KAAM6iD,EAAYhoD,GAAKgH,EAAMhH,GAGvC,GAAKw0Z,EAOJ,IANA9tX,EAAMwpX,EAASA,EAAQjwZ,OAAS,GAAIotC,cAGpC/lC,EAAOsjB,IAAKslY,EAASgE,IAGfl0Z,EAAI,EAAGA,EAAIw0Z,EAAYx0Z,IAC5BgH,EAAOkpZ,EAASlwZ,GACXqvZ,GAAY3pX,KAAM1+B,EAAKoN,MAAQ,MAClCo5Y,EAASV,OAAQ9lZ,EAAM,eACxBM,EAAOg8C,SAAU5c,EAAK1/B,KAEjBA,EAAKsd,KAA8C,YAArCtd,EAAKoN,MAAQ,IAAK4H,cAG/B1U,EAAOqtZ,WAAa3tZ,EAAKy3Y,UAC7Bn3Y,EAAOqtZ,SAAU3tZ,EAAKsd,IAAK,CAC1B4wS,MAAOluT,EAAKkuT,OAASluT,EAAKmsC,aAAc,UACtCzM,GAGJg4W,EAAS13Y,EAAKqQ,YAAYzM,QAASmpZ,GAAc,IAAM/sZ,EAAM0/B,IAQnE,OAAOshB,EAGR,SAAS5kB,GAAQshD,EAAMz9E,EAAU2tZ,GAKhC,IAJA,IAAI5tZ,EACHy8O,EAAQx8O,EAAWK,EAAO8O,OAAQnP,EAAUy9E,GAASA,EACrD1kF,EAAI,EAE4B,OAAvBgH,EAAOy8O,EAAOzjP,IAAeA,IAChC40Z,GAA8B,IAAlB5tZ,EAAKgQ,UACtB1P,EAAOk9E,UAAWlkC,GAAQt5C,IAGtBA,EAAK8hB,aACJ8rY,GAAYvG,GAAYrnZ,IAC5B2oZ,GAAervW,GAAQt5C,EAAM,WAE9BA,EAAK8hB,WAAWpB,YAAa1gB,IAI/B,OAAO09E,EAGRp9E,EAAOixC,OAAQ,CACdg4W,cAAe,SAAU33W,GACxB,OAAOA,GAGR7hB,MAAO,SAAU2tD,EAAMmwU,EAAeC,GACrC,IAAI90Z,EAAGkF,EAAG6vZ,EAAaC,EACtBj+X,EAAQ2tD,EAAKnyC,WAAW,GACxB0iX,EAAS5G,GAAY3pU,GAGtB,IAAMR,EAAQqrU,iBAAsC,IAAlB7qU,EAAK1tE,UAAoC,KAAlB0tE,EAAK1tE,YAC3D1P,EAAOuhZ,SAAUnkU,GAMnB,IAHAswU,EAAe10W,GAAQvpB,GAGjB/2B,EAAI,EAAGkF,GAFb6vZ,EAAcz0W,GAAQokC,IAEOzkF,OAAQD,EAAIkF,EAAGlF,IAC3Cs0Z,GAAUS,EAAa/0Z,GAAKg1Z,EAAch1Z,IAK5C,GAAK60Z,EACJ,GAAKC,EAIJ,IAHAC,EAAcA,GAAez0W,GAAQokC,GACrCswU,EAAeA,GAAgB10W,GAAQvpB,GAEjC/2B,EAAI,EAAGkF,EAAI6vZ,EAAY90Z,OAAQD,EAAIkF,EAAGlF,IAC3Cm0Z,GAAgBY,EAAa/0Z,GAAKg1Z,EAAch1Z,SAGjDm0Z,GAAgBzvU,EAAM3tD,GAWxB,OANAi+X,EAAe10W,GAAQvpB,EAAO,WACZ92B,OAAS,GAC1B0vZ,GAAeqF,GAAeC,GAAU30W,GAAQokC,EAAM,WAIhD3tD,GAGRytD,UAAW,SAAUC,GAKpB,IAJA,IAAItwE,EAAMuwE,EAAMtwE,EACfu3Y,EAAUrkZ,EAAOmhB,MAAMkjY,QACvB3rZ,EAAI,OAE6B+iC,KAAxB2hD,EAAOD,EAAOzkF,IAAqBA,IAC5C,GAAKstZ,EAAY5oU,GAAS,CACzB,GAAOvwE,EAAOuwE,EAAM8oU,EAAStO,SAAc,CAC1C,GAAK/qY,EAAKyV,OACT,IAAMxV,KAAQD,EAAKyV,OACb+hY,EAASv3Y,GACb9M,EAAOmhB,MAAM2a,OAAQshD,EAAMtwE,GAI3B9M,EAAOyqY,YAAartT,EAAMtwE,EAAMD,EAAKqgD,QAOxCkwB,EAAM8oU,EAAStO,cAAYn8W,EAEvB2hD,EAAM+oU,EAASvO,WAInBx6T,EAAM+oU,EAASvO,cAAYn8W,OAOhCz7B,EAAOm5B,GAAG8X,OAAQ,CACjB28W,OAAQ,SAAUjuZ,GACjB,OAAOm8B,GAAQjgC,KAAM8D,GAAU,IAGhCm8B,OAAQ,SAAUn8B,GACjB,OAAOm8B,GAAQjgC,KAAM8D,IAGtBmQ,KAAM,SAAUvU,GACf,OAAOiqZ,EAAQ3pZ,MAAM,SAAUN,GAC9B,YAAiBkgC,IAAVlgC,EACNyE,EAAO8P,KAAMjU,MACbA,KAAKoyJ,QAAQv+H,MAAM,WACK,IAAlB7zB,KAAK6T,UAAoC,KAAlB7T,KAAK6T,UAAqC,IAAlB7T,KAAK6T,WACxD7T,KAAKkU,YAAcxU,QAGpB,KAAMA,EAAOS,UAAUrD,SAG3B0wE,OAAQ,WACP,OAAO4jV,GAAUpxZ,KAAMG,WAAW,SAAUohF,GACpB,IAAlBvhF,KAAK6T,UAAoC,KAAlB7T,KAAK6T,UAAqC,IAAlB7T,KAAK6T,UAC3Cg9Y,GAAoB7wZ,KAAMuhF,GAChCj9D,YAAai9D,OAKvBu9O,QAAS,WACR,OAAOsyF,GAAUpxZ,KAAMG,WAAW,SAAUohF,GAC3C,GAAuB,IAAlBvhF,KAAK6T,UAAoC,KAAlB7T,KAAK6T,UAAqC,IAAlB7T,KAAK6T,SAAiB,CACzE,IAAIlX,EAASk0Z,GAAoB7wZ,KAAMuhF,GACvC5kF,EAAOsqB,aAAcs6D,EAAM5kF,EAAO2iC,iBAKrCC,OAAQ,WACP,OAAO6xX,GAAUpxZ,KAAMG,WAAW,SAAUohF,GACtCvhF,KAAK2lB,YACT3lB,KAAK2lB,WAAWsB,aAAcs6D,EAAMvhF,UAKvC4xI,MAAO,WACN,OAAOw/Q,GAAUpxZ,KAAMG,WAAW,SAAUohF,GACtCvhF,KAAK2lB,YACT3lB,KAAK2lB,WAAWsB,aAAcs6D,EAAMvhF,KAAKq/B,iBAK5C+yH,MAAO,WAIN,IAHA,IAAI7wE,EACH1kF,EAAI,EAE2B,OAAtB0kF,EAAOvhF,KAAMnD,IAAeA,IACd,IAAlB0kF,EAAK1tE,WAGT1P,EAAOk9E,UAAWlkC,GAAQokC,GAAM,IAGhCA,EAAKrtE,YAAc,IAIrB,OAAOlU,MAGR4zB,MAAO,SAAU89X,EAAeC,GAI/B,OAHAD,EAAiC,MAAjBA,GAAgCA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EAEzD3xZ,KAAKynB,KAAK,WAChB,OAAOtjB,EAAOyvB,MAAO5zB,KAAM0xZ,EAAeC,OAI5Cl8W,KAAM,SAAU/1C,GACf,OAAOiqZ,EAAQ3pZ,MAAM,SAAUN,GAC9B,IAAI6hF,EAAOvhF,KAAM,IAAO,GACvBnD,EAAI,EACJkF,EAAI/B,KAAKlD,OAEV,QAAe8iC,IAAVlgC,GAAyC,IAAlB6hF,EAAK1tE,SAChC,OAAO0tE,EAAKp6D,UAIb,GAAsB,kBAAVznB,IAAuBgxZ,GAAanuX,KAAM7iC,KACpD2sZ,IAAWJ,GAAS75X,KAAM1yB,IAAW,CAAE,GAAI,KAAQ,GAAImZ,eAAkB,CAE1EnZ,EAAQyE,EAAOipZ,cAAe1tZ,GAE9B,IACC,KAAQ7C,EAAIkF,EAAGlF,IAIS,KAHvB0kF,EAAOvhF,KAAMnD,IAAO,IAGVgX,WACT1P,EAAOk9E,UAAWlkC,GAAQokC,GAAM,IAChCA,EAAKp6D,UAAYznB,GAInB6hF,EAAO,EAGN,MAAQxgF,KAGNwgF,GACJvhF,KAAKoyJ,QAAQ5kF,OAAQ9tE,KAEpB,KAAMA,EAAOS,UAAUrD,SAG3Bk1Z,YAAa,WACZ,IAAIhF,EAAU,GAGd,OAAOoE,GAAUpxZ,KAAMG,WAAW,SAAUohF,GAC3C,IAAI3uE,EAAS5S,KAAK2lB,WAEbxhB,EAAOg/C,QAASnjD,KAAMgtZ,GAAY,IACtC7oZ,EAAOk9E,UAAWlkC,GAAQn9C,OACrB4S,GACJA,EAAOq8B,aAAcsyC,EAAMvhF,SAK3BgtZ,MAIL7oZ,EAAO0vB,KAAM,CACZqjB,SAAU,SACVoxC,UAAW,UACXrhE,aAAc,SACd6iC,YAAa,QACbmoW,WAAY,gBACV,SAAU7vZ,EAAMugT,GAClBx+S,EAAOm5B,GAAIl7B,GAAS,SAAU0B,GAO7B,IANA,IAAIw9E,EACH3jE,EAAM,GACNu0Y,EAAS/tZ,EAAQL,GACjBqlD,EAAO+oW,EAAOp1Z,OAAS,EACvBD,EAAI,EAEGA,GAAKssD,EAAMtsD,IAClBykF,EAAQzkF,IAAMssD,EAAOnpD,KAAOA,KAAK4zB,OAAO,GACxCzvB,EAAQ+tZ,EAAQr1Z,IAAO8lT,GAAYrhO,GAInCx6E,EAAK1G,MAAOud,EAAK2jE,EAAMh/E,OAGxB,OAAOtC,KAAK07Y,UAAW/9X,OAGzB,IAAIw0Y,GAAY,IAAIv3X,OAAQ,KAAOmwX,GAAO,kBAAmB,KAEzDqH,GAAY,SAAU7wU,GAKxB,IAAI4zJ,EAAO5zJ,EAAKr3C,cAAcumQ,YAM9B,OAJMt7D,GAASA,EAAKk9K,SACnBl9K,EAAOzzO,GAGDyzO,EAAKh/N,iBAAkBorE,IAG5BulP,GAAO,SAAUvlP,EAAMhjD,EAASgN,GACnC,IAAI5tB,EAAKvb,EACRyuC,EAAM,GAGP,IAAMzuC,KAAQm8B,EACbsS,EAAKzuC,GAASm/E,EAAK7uE,MAAOtQ,GAC1Bm/E,EAAK7uE,MAAOtQ,GAASm8B,EAASn8B,GAM/B,IAAMA,KAHNub,EAAM4tB,EAASvpC,KAAMu/E,GAGPhjD,EACbgjD,EAAK7uE,MAAOtQ,GAASyuC,EAAKzuC,GAG3B,OAAOub,GAIJ20Y,GAAY,IAAI13X,OAAQqwX,GAAU5+Y,KAAM,KAAO,KAiJnD,SAASkmZ,GAAQhxU,EAAMn/E,EAAMowZ,GAC5B,IAAI5rZ,EAAO8lD,EAAU8yB,EAAU7hE,EAM9BjL,EAAQ6uE,EAAK7uE,MAqCd,OAnCA8/Y,EAAWA,GAAYJ,GAAW7wU,MAQpB,MAFb5jE,EAAM60Y,EAASp8Y,iBAAkBhU,IAAUowZ,EAAUpwZ,KAEjC8oZ,GAAY3pU,KAC/B5jE,EAAMxZ,EAAOuO,MAAO6uE,EAAMn/E,KAQrB2+E,EAAQ0xU,kBAAoBN,GAAU5vX,KAAM5kB,IAAS20Y,GAAU/vX,KAAMngC,KAG1EwE,EAAQ8L,EAAM9L,MACd8lD,EAAWh6C,EAAMg6C,SACjB8yB,EAAW9sE,EAAM8sE,SAGjB9sE,EAAMg6C,SAAWh6C,EAAM8sE,SAAW9sE,EAAM9L,MAAQ+W,EAChDA,EAAM60Y,EAAS5rZ,MAGf8L,EAAM9L,MAAQA,EACd8L,EAAMg6C,SAAWA,EACjBh6C,EAAM8sE,SAAWA,SAIJ5/C,IAARjiB,EAINA,EAAM,GACNA,EAIF,SAAS+0Y,GAAcC,EAAaC,GAGnC,MAAO,CACNtwZ,IAAK,WACJ,IAAKqwZ,IASL,OAAS3yZ,KAAKsC,IAAMswZ,GAASxyZ,MAAOJ,KAAMG,kBALlCH,KAAKsC,OA3MhB,WAIC,SAASuwZ,IAGR,GAAM3rY,EAAN,CAIA4nG,EAAUp8G,MAAMsgB,QAAU,+EAE1B9L,EAAIxU,MAAMsgB,QACT,4HAGDxN,GAAgBlB,YAAawqG,GAAYxqG,YAAa4C,GAEtD,IAAI4rY,EAAWpxZ,EAAOyU,iBAAkB+Q,GACxC6rY,EAAoC,OAAjBD,EAAS/7W,IAG5Bi8W,EAAsE,KAA9CC,EAAoBH,EAAS/kQ,YAIrD7mI,EAAIxU,MAAMmwE,MAAQ,MAClBqwU,EAA6D,KAAzCD,EAAoBH,EAASjwU,OAIjDswU,EAAgE,KAAzCF,EAAoBH,EAASlsZ,OAMpDsgB,EAAIxU,MAAMiwB,SAAW,WACrBywX,EAAiE,KAA9CH,EAAoB/rY,EAAIsmI,YAAc,GAEzDhoI,GAAgBjB,YAAauqG,GAI7B5nG,EAAM,MAGP,SAAS+rY,EAAoB/yY,GAC5B,OAAO/Y,KAAKi9G,MAAO76G,WAAY2W,IAGhC,IAAI6yY,EAAkBI,EAAsBC,EAAkBF,EAC7DG,EAAyBL,EACzBlkS,EAAYxrH,EAASsX,cAAe,OACpCsM,EAAM5jB,EAASsX,cAAe,OAGzBsM,EAAIxU,QAMVwU,EAAIxU,MAAMqiW,eAAiB,cAC3B7tV,EAAIkoB,WAAW,GAAO18B,MAAMqiW,eAAiB,GAC7Ch0R,EAAQuyU,gBAA+C,gBAA7BpsY,EAAIxU,MAAMqiW,eAEpC5wW,EAAOixC,OAAQ2rC,EAAS,CACvBwyU,kBAAmB,WAElB,OADAV,IACOM,GAERV,eAAgB,WAEf,OADAI,IACOK,GAERM,cAAe,WAEd,OADAX,IACOE,GAERU,mBAAoB,WAEnB,OADAZ,IACOG,GAERU,cAAe,WAEd,OADAb,IACOO,GAYRO,qBAAsB,WACrB,IAAIxhP,EAAOw0B,EAAIitN,EAASC,EAmCxB,OAlCgC,MAA3BR,IACJlhP,EAAQ7uK,EAASsX,cAAe,SAChC+rL,EAAKrjM,EAASsX,cAAe,MAC7Bg5Y,EAAUtwZ,EAASsX,cAAe,OAElCu3J,EAAMz/J,MAAMsgB,QAAU,2DACtB2zK,EAAGj0L,MAAMsgB,QAAU,mBAKnB2zK,EAAGj0L,MAAM7L,OAAS,MAClB+sZ,EAAQlhZ,MAAM7L,OAAS,MAQvB+sZ,EAAQlhZ,MAAM0R,QAAU,QAExBoB,GACElB,YAAa6tJ,GACb7tJ,YAAaqiL,GACbriL,YAAasvY,GAEfC,EAAUnyZ,EAAOyU,iBAAkBwwL,GACnC0sN,EAA4Bn1Y,SAAU21Y,EAAQhtZ,OAAQ,IACrDqX,SAAU21Y,EAAQjlQ,eAAgB,IAClC1wI,SAAU21Y,EAAQhlQ,kBAAmB,MAAW83C,EAAG14C,aAEpDzoI,GAAgBjB,YAAa4tJ,IAEvBkhP,MAvIV,GAsNA,IAAIS,GAAc,CAAE,SAAU,MAAO,MACpCC,GAAazwZ,EAASsX,cAAe,OAAQlI,MAC7CshZ,GAAc,GAkBf,SAASC,GAAe7xZ,GACvB,IAAIouV,EAAQrsV,EAAOud,SAAUtf,IAAU4xZ,GAAa5xZ,GAEpD,OAAKouV,IAGApuV,KAAQ2xZ,GACL3xZ,EAED4xZ,GAAa5xZ,GAxBrB,SAAyBA,GAMxB,IAHA,IAAI8xZ,EAAU9xZ,EAAM,GAAIqjF,cAAgBrjF,EAAK4vC,MAAO,GACnDn1C,EAAIi3Z,GAAYh3Z,OAETD,KAEP,IADAuF,EAAO0xZ,GAAaj3Z,GAAMq3Z,KACbH,GACZ,OAAO3xZ,EAeoB+xZ,CAAgB/xZ,IAAUA,GAIxD,IAKCgyZ,GAAe,4BACfC,GAAc,MACdC,GAAU,CAAE3xX,SAAU,WAAYyuH,WAAY,SAAUhtI,QAAS,SACjEmwY,GAAqB,CACpBxmF,cAAe,IACf9hU,WAAY,OAGd,SAASuoZ,GAAmB5Y,EAAOl8Y,EAAO4oE,GAIzC,IAAI1kE,EAAUonZ,GAAQ54X,KAAM1yB,GAC5B,OAAOkE,EAGNuD,KAAK+K,IAAK,EAAGtO,EAAS,IAAQ0kE,GAAY,KAAU1kE,EAAS,IAAO,MACpElE,EAGF,SAAS+0Z,GAAoBlzU,EAAMmzU,EAAWz+U,EAAK0+U,EAAariZ,EAAQsiZ,GACvE,IAAI/3Z,EAAkB,UAAd63Z,EAAwB,EAAI,EACnCjvJ,EAAQ,EACRtoP,EAAQ,EAGT,GAAK84D,KAAU0+U,EAAc,SAAW,WACvC,OAAO,EAGR,KAAQ93Z,EAAI,EAAGA,GAAK,EAGN,WAARo5E,IACJ94D,GAAShZ,EAAOmd,IAAKigE,EAAMtL,EAAMg1U,GAAWpuZ,IAAK,EAAMyV,IAIlDqiZ,GAmBQ,YAAR1+U,IACJ94D,GAAShZ,EAAOmd,IAAKigE,EAAM,UAAY0pU,GAAWpuZ,IAAK,EAAMyV,IAIjD,WAAR2jE,IACJ94D,GAAShZ,EAAOmd,IAAKigE,EAAM,SAAW0pU,GAAWpuZ,GAAM,SAAS,EAAMyV,MAtBvE6K,GAAShZ,EAAOmd,IAAKigE,EAAM,UAAY0pU,GAAWpuZ,IAAK,EAAMyV,GAGhD,YAAR2jE,EACJ94D,GAAShZ,EAAOmd,IAAKigE,EAAM,SAAW0pU,GAAWpuZ,GAAM,SAAS,EAAMyV,GAItEmzP,GAASthQ,EAAOmd,IAAKigE,EAAM,SAAW0pU,GAAWpuZ,GAAM,SAAS,EAAMyV,IAoCzE,OAhBMqiZ,GAAeC,GAAe,IAInCz3Y,GAAShW,KAAK+K,IAAK,EAAG/K,KAAK4W,KAC1BwjE,EAAM,SAAWmzU,EAAW,GAAIjvU,cAAgBivU,EAAU1iX,MAAO,IACjE4iX,EACAz3Y,EACAsoP,EACA,MAIM,GAGDtoP,EAGR,SAAS03Y,GAAkBtzU,EAAMmzU,EAAWjvJ,GAG3C,IAAInzP,EAAS8/Y,GAAW7wU,GAKvBozU,IADmB5zU,EAAQwyU,qBAAuB9tJ,IAEE,eAAnDthQ,EAAOmd,IAAKigE,EAAM,aAAa,EAAOjvE,GACvCwiZ,EAAmBH,EAEnBjxY,EAAM6uY,GAAQhxU,EAAMmzU,EAAWpiZ,GAC/ByiZ,EAAa,SAAWL,EAAW,GAAIjvU,cAAgBivU,EAAU1iX,MAAO,GAIzE,GAAKmgX,GAAU5vX,KAAM7e,GAAQ,CAC5B,IAAM+hP,EACL,OAAO/hP,EAERA,EAAM,OAyCP,QAlCQq9D,EAAQwyU,qBAAuBoB,IAMrC5zU,EAAQ4yU,wBAA0B7/Y,EAAUytE,EAAM,OAI3C,SAAR79D,IAICna,WAAYma,IAA0D,WAAjDvf,EAAOmd,IAAKigE,EAAM,WAAW,EAAOjvE,KAG1DivE,EAAKixE,iBAAiB11J,SAEtB63Z,EAAiE,eAAnDxwZ,EAAOmd,IAAKigE,EAAM,aAAa,EAAOjvE,IAKpDwiZ,EAAmBC,KAAcxzU,KAEhC79D,EAAM69D,EAAMwzU,MAKdrxY,EAAMna,WAAYma,IAAS,GAI1B+wY,GACClzU,EACAmzU,EACAjvJ,IAAWkvJ,EAAc,SAAW,WACpCG,EACAxiZ,EAGAoR,GAEE,KA+SL,SAASsxY,GAAOzzU,EAAMhjD,EAAS/4B,EAAM8tC,EAAK1c,GACzC,OAAO,IAAIo+X,GAAMv3Z,UAAUsI,KAAMw7E,EAAMhjD,EAAS/4B,EAAM8tC,EAAK1c,GA7S5DzyB,EAAOixC,OAAQ,CAId6/W,SAAU,CACTlsW,QAAS,CACRzmD,IAAK,SAAUi/E,EAAMixU,GACpB,GAAKA,EAAW,CAGf,IAAI70Y,EAAM40Y,GAAQhxU,EAAM,WACxB,MAAe,KAAR5jE,EAAa,IAAMA,MAO9B+tY,UAAW,CACV,yBAA2B,EAC3B,aAAe,EACf,aAAe,EACf,UAAY,EACZ,YAAc,EACd,YAAc,EACd,UAAY,EACZ,YAAc,EACd,eAAiB,EACjB,iBAAmB,EACnB,SAAW,EACX,YAAc,EACd,cAAgB,EAChB,YAAc,EACd,SAAW,EACX,OAAS,EACT,SAAW,EACX,QAAU,EACV,QAAU,EACV,MAAQ,GAKThqY,SAAU,GAGVhP,MAAO,SAAU6uE,EAAMn/E,EAAM1C,EAAO+lQ,GAGnC,GAAMlkL,GAA0B,IAAlBA,EAAK1tE,UAAoC,IAAlB0tE,EAAK1tE,UAAmB0tE,EAAK7uE,MAAlE,CAKA,IAAIiL,EAAK1M,EAAMmqU,EACd85E,EAAWxiF,EAAWtwU,GACtB+yZ,EAAed,GAAY9xX,KAAMngC,GACjCsQ,EAAQ6uE,EAAK7uE,MAad,GARMyiZ,IACL/yZ,EAAO6xZ,GAAeiB,IAIvB95E,EAAQj3U,EAAO8wZ,SAAU7yZ,IAAU+B,EAAO8wZ,SAAUC,QAGrCt1X,IAAVlgC,EA0CJ,OAAK07U,GAAS,QAASA,QACwBx7S,KAA5CjiB,EAAMy9T,EAAM94U,IAAKi/E,GAAM,EAAOkkL,IAEzB9nP,EAIDjL,EAAOtQ,GA7CA,YAHd6O,SAAcvR,KAGcie,EAAMqtY,GAAQ54X,KAAM1yB,KAAaie,EAAK,KACjEje,EAAQ4rZ,GAAW/pU,EAAMn/E,EAAMub,GAG/B1M,EAAO,UAIM,MAATvR,GAAiBA,IAAUA,IAOlB,WAATuR,GAAsBkkZ,IAC1Bz1Z,GAASie,GAAOA,EAAK,KAASxZ,EAAOunZ,UAAWwJ,GAAa,GAAK,OAI7Dn0U,EAAQuyU,iBAA6B,KAAV5zZ,GAAiD,IAAjC0C,EAAKiI,QAAS,gBAC9DqI,EAAOtQ,GAAS,WAIXg5U,GAAY,QAASA,QACsBx7S,KAA9ClgC,EAAQ07U,EAAM5uU,IAAK+0E,EAAM7hF,EAAO+lQ,MAE7B0vJ,EACJziZ,EAAM21W,YAAajmX,EAAM1C,GAEzBgT,EAAOtQ,GAAS1C,MAkBpB4hB,IAAK,SAAUigE,EAAMn/E,EAAMqjQ,EAAOnzP,GACjC,IAAIoR,EAAK2oH,EAAK+uM,EACb85E,EAAWxiF,EAAWtwU,GA6BvB,OA5BgBiyZ,GAAY9xX,KAAMngC,KAMjCA,EAAO6xZ,GAAeiB,KAIvB95E,EAAQj3U,EAAO8wZ,SAAU7yZ,IAAU+B,EAAO8wZ,SAAUC,KAGtC,QAAS95E,IACtB13T,EAAM03T,EAAM94U,IAAKi/E,GAAM,EAAMkkL,SAIjB7lO,IAARlc,IACJA,EAAM6uY,GAAQhxU,EAAMn/E,EAAMkQ,IAId,WAARoR,GAAoBthB,KAAQmyZ,KAChC7wY,EAAM6wY,GAAoBnyZ,IAIZ,KAAVqjQ,GAAgBA,GACpBp5H,EAAM9iI,WAAYma,IACD,IAAV+hP,GAAkB92H,SAAUtC,GAAQA,GAAO,EAAI3oH,GAGhDA,KAITvf,EAAO0vB,KAAM,CAAE,SAAU,UAAW,SAAU0uB,EAAImyW,GACjDvwZ,EAAO8wZ,SAAUP,GAAc,CAC9BpyZ,IAAK,SAAUi/E,EAAMixU,EAAU/sJ,GAC9B,GAAK+sJ,EAIJ,OAAO4B,GAAa7xX,KAAMp+B,EAAOmd,IAAKigE,EAAM,aAQxCA,EAAKixE,iBAAiB11J,QAAWykF,EAAKgtE,wBAAwB3nJ,MAIjEiuZ,GAAkBtzU,EAAMmzU,EAAWjvJ,GAHnCqhE,GAAMvlP,EAAM+yU,IAAS,WACpB,OAAOO,GAAkBtzU,EAAMmzU,EAAWjvJ,OAM9Cj5P,IAAK,SAAU+0E,EAAM7hF,EAAO+lQ,GAC3B,IAAI7hQ,EACH0O,EAAS8/Y,GAAW7wU,GAIpB6zU,GAAsBr0U,EAAQ2yU,iBACT,aAApBphZ,EAAOqwB,SAIRgyX,GADkBS,GAAsB3vJ,IAEY,eAAnDthQ,EAAOmd,IAAKigE,EAAM,aAAa,EAAOjvE,GACvCg2D,EAAWm9L,EACVgvJ,GACClzU,EACAmzU,EACAjvJ,EACAkvJ,EACAriZ,GAED,EAqBF,OAjBKqiZ,GAAeS,IACnB9sV,GAAYnhE,KAAK4W,KAChBwjE,EAAM,SAAWmzU,EAAW,GAAIjvU,cAAgBivU,EAAU1iX,MAAO,IACjEzoC,WAAY+I,EAAQoiZ,IACpBD,GAAoBlzU,EAAMmzU,EAAW,UAAU,EAAOpiZ,GACtD,KAKGg2D,IAAc1kE,EAAUonZ,GAAQ54X,KAAM1yB,KACb,QAA3BkE,EAAS,IAAO,QAElB29E,EAAK7uE,MAAOgiZ,GAAch1Z,EAC1BA,EAAQyE,EAAOmd,IAAKigE,EAAMmzU,IAGpBF,GAAmBjzU,EAAM7hF,EAAO4oE,QAK1CnkE,EAAO8wZ,SAASlnQ,WAAa2kQ,GAAc3xU,EAAQ0yU,oBAClD,SAAUlyU,EAAMixU,GACf,GAAKA,EACJ,OAASjpZ,WAAYgpZ,GAAQhxU,EAAM,gBAClCA,EAAKgtE,wBAAwB13G,KAC5BiwR,GAAMvlP,EAAM,CAAEwsE,WAAY,IAAK,WAC9B,OAAOxsE,EAAKgtE,wBAAwB13G,SAEnC,QAMP1yC,EAAO0vB,KAAM,CACZ4oD,OAAQ,GACRjQ,QAAS,GACTuzG,OAAQ,UACN,SAAUp6I,EAAQ00R,GACpBl2T,EAAO8wZ,SAAUtvX,EAAS00R,GAAW,CACpC58P,OAAQ,SAAU/9D,GAOjB,IANA,IAAI7C,EAAI,EACPo0H,EAAW,GAGXvyF,EAAyB,kBAAVh/B,EAAqBA,EAAM6M,MAAO,KAAQ,CAAE7M,GAEpD7C,EAAI,EAAGA,IACdo0H,EAAUtrF,EAASslX,GAAWpuZ,GAAMw9T,GACnC37R,EAAO7hC,IAAO6hC,EAAO7hC,EAAI,IAAO6hC,EAAO,GAGzC,OAAOuyF,IAIO,WAAXtrF,IACJxhC,EAAO8wZ,SAAUtvX,EAAS00R,GAAS7tT,IAAMgoZ,OAI3CrwZ,EAAOm5B,GAAG8X,OAAQ,CACjB9zB,IAAK,SAAUlf,EAAM1C,GACpB,OAAOiqZ,EAAQ3pZ,MAAM,SAAUuhF,EAAMn/E,EAAM1C,GAC1C,IAAI4S,EAAQ0yB,EACXvd,EAAM,GACN5qB,EAAI,EAEL,GAAK4D,MAAMC,QAAS0B,GAAS,CAI5B,IAHAkQ,EAAS8/Y,GAAW7wU,GACpBv8C,EAAM5iC,EAAKtF,OAEHD,EAAImoC,EAAKnoC,IAChB4qB,EAAKrlB,EAAMvF,IAAQsH,EAAOmd,IAAKigE,EAAMn/E,EAAMvF,IAAK,EAAOyV,GAGxD,OAAOmV,EAGR,YAAiBmY,IAAVlgC,EACNyE,EAAOuO,MAAO6uE,EAAMn/E,EAAM1C,GAC1ByE,EAAOmd,IAAKigE,EAAMn/E,KACjBA,EAAM1C,EAAOS,UAAUrD,OAAS,MAQrCqH,EAAO6wZ,MAAQA,GAEfA,GAAMv3Z,UAAY,CACjBgC,YAAau1Z,GACbjvZ,KAAM,SAAUw7E,EAAMhjD,EAAS/4B,EAAM8tC,EAAK1c,EAAQulH,GACjDn8I,KAAKuhF,KAAOA,EACZvhF,KAAKwF,KAAOA,EACZxF,KAAK42B,OAASA,GAAUzyB,EAAOyyB,OAAO21X,SACtCvsZ,KAAKu+B,QAAUA,EACfv+B,KAAK8X,MAAQ9X,KAAK81B,IAAM91B,KAAK2xI,MAC7B3xI,KAAKszC,IAAMA,EACXtzC,KAAKm8I,KAAOA,IAAUh4I,EAAOunZ,UAAWlmZ,GAAS,GAAK,OAEvDmsI,IAAK,WACJ,IAAIypM,EAAQ45E,GAAMK,UAAWr1Z,KAAKwF,MAElC,OAAO41U,GAASA,EAAM94U,IACrB84U,EAAM94U,IAAKtC,MACXg1Z,GAAMK,UAAU9I,SAASjqZ,IAAKtC,OAEhC0mB,IAAK,SAAU8sC,GACd,IAAI8hW,EACHl6E,EAAQ45E,GAAMK,UAAWr1Z,KAAKwF,MAoB/B,OAlBKxF,KAAKu+B,QAAQ/hB,SACjBxc,KAAKmzC,IAAMmiX,EAAQnxZ,EAAOyyB,OAAQ52B,KAAK42B,QACtC48B,EAASxzD,KAAKu+B,QAAQ/hB,SAAWg3C,EAAS,EAAG,EAAGxzD,KAAKu+B,QAAQ/hB,UAG9Dxc,KAAKmzC,IAAMmiX,EAAQ9hW,EAEpBxzD,KAAK81B,KAAQ91B,KAAKszC,IAAMtzC,KAAK8X,OAAUw9Y,EAAQt1Z,KAAK8X,MAE/C9X,KAAKu+B,QAAQj9B,MACjBtB,KAAKu+B,QAAQj9B,KAAKU,KAAMhC,KAAKuhF,KAAMvhF,KAAK81B,IAAK91B,MAGzCo7U,GAASA,EAAM5uU,IACnB4uU,EAAM5uU,IAAKxM,MAEXg1Z,GAAMK,UAAU9I,SAAS//Y,IAAKxM,MAExBA,OAITg1Z,GAAMv3Z,UAAUsI,KAAKtI,UAAYu3Z,GAAMv3Z,UAEvCu3Z,GAAMK,UAAY,CACjB9I,SAAU,CACTjqZ,IAAK,SAAUwxB,GACd,IAAIj0B,EAIJ,OAA6B,IAAxBi0B,EAAMytD,KAAK1tE,UACa,MAA5BigB,EAAMytD,KAAMztD,EAAMtuB,OAAoD,MAAlCsuB,EAAMytD,KAAK7uE,MAAOohB,EAAMtuB,MACrDsuB,EAAMytD,KAAMztD,EAAMtuB,OAO1B3F,EAASsE,EAAOmd,IAAKwS,EAAMytD,KAAMztD,EAAMtuB,KAAM,MAGhB,SAAX3F,EAAwBA,EAAJ,GAEvC2M,IAAK,SAAUsnB,GAKT3vB,EAAOgY,GAAG7a,KAAMwyB,EAAMtuB,MAC1BrB,EAAOgY,GAAG7a,KAAMwyB,EAAMtuB,MAAQsuB,GACK,IAAxBA,EAAMytD,KAAK1tE,WACtB1P,EAAO8wZ,SAAUnhY,EAAMtuB,OAC6B,MAAnDsuB,EAAMytD,KAAK7uE,MAAOuhZ,GAAengY,EAAMtuB,OAGxCsuB,EAAMytD,KAAMztD,EAAMtuB,MAASsuB,EAAMgC,IAFjC3xB,EAAOuO,MAAOohB,EAAMytD,KAAMztD,EAAMtuB,KAAMsuB,EAAMgC,IAAMhC,EAAMqoH,SAU5D64Q,GAAMK,UAAU/1W,UAAY01W,GAAMK,UAAUh2W,WAAa,CACxD7yC,IAAK,SAAUsnB,GACTA,EAAMytD,KAAK1tE,UAAYigB,EAAMytD,KAAK57D,aACtCmO,EAAMytD,KAAMztD,EAAMtuB,MAASsuB,EAAMgC,OAKpC3xB,EAAOyyB,OAAS,CACfuB,OAAQ,SAAUl1B,GACjB,OAAOA,GAERsyZ,MAAO,SAAUtyZ,GAChB,MAAO,GAAMkE,KAAKiJ,IAAKnN,EAAIkE,KAAKsE,IAAO,GAExC8gZ,SAAU,UAGXpoZ,EAAOgY,GAAK64Y,GAAMv3Z,UAAUsI,MAGlBzE,KAAO,GAKjB,IACCk0Z,GAAOC,GACPC,GAAW,yBACXC,GAAO,cAER,SAASC,KACHH,MACqB,IAApBnyZ,EAAS6sQ,QAAoBzuQ,EAAO8yB,sBACxC9yB,EAAO8yB,sBAAuBohY,IAE9Bl0Z,EAAOmzB,WAAY+gY,GAAUzxZ,EAAOgY,GAAG6xG,UAGxC7pH,EAAOgY,GAAGq1I,QAKZ,SAASqkQ,KAIR,OAHAn0Z,EAAOmzB,YAAY,WAClB2gY,QAAQ51X,KAEA41X,GAAQj+X,KAAKzB,MAIvB,SAASggY,GAAO7kZ,EAAM8kZ,GACrB,IAAIl7W,EACHh+C,EAAI,EACJgjC,EAAQ,CAAEh5B,OAAQoK,GAKnB,IADA8kZ,EAAeA,EAAe,EAAI,EAC1Bl5Z,EAAI,EAAGA,GAAK,EAAIk5Z,EAEvBl2X,EAAO,UADPgb,EAAQowW,GAAWpuZ,KACSgjC,EAAO,UAAYgb,GAAU5pC,EAO1D,OAJK8kZ,IACJl2X,EAAMkpB,QAAUlpB,EAAMj5B,MAAQqK,GAGxB4uB,EAGR,SAASm2X,GAAat2Z,EAAO8F,EAAMu9E,GAKlC,IAJA,IAAIjvD,EACH+wB,GAAeoxW,GAAUC,SAAU1wZ,IAAU,IAAKgjB,OAAQytY,GAAUC,SAAU,MAC9E/0X,EAAQ,EACRrkC,EAAS+nD,EAAW/nD,OACbqkC,EAAQrkC,EAAQqkC,IACvB,GAAOrN,EAAQ+wB,EAAY1jB,GAAQn/B,KAAM+gF,EAAWv9E,EAAM9F,GAGzD,OAAOo0B,EAsNV,SAASmiY,GAAW10U,EAAMsrO,EAAYtuR,GACrC,IAAI1+B,EACHs2Z,EACAh1X,EAAQ,EACRrkC,EAASm5Z,GAAUG,WAAWt5Z,OAC9B4mU,EAAWv/T,EAAO2jZ,WAAWE,QAAQ,kBAG7Bx2P,EAAKjwE,QAEbiwE,EAAO,WACN,GAAK2kQ,EACJ,OAAO,EAYR,IAVA,IAAIE,EAAcb,IAASK,KAC1BtuF,EAAYpgU,KAAK+K,IAAK,EAAG6wE,EAAUuzU,UAAYvzU,EAAUvmE,SAAW65Y,GAKpE7iW,EAAU,GADH+zQ,EAAYxkP,EAAUvmE,UAAY,GAEzC2kB,EAAQ,EACRrkC,EAASimF,EAAUwzU,OAAOz5Z,OAEnBqkC,EAAQrkC,EAAQqkC,IACvB4hD,EAAUwzU,OAAQp1X,GAAQza,IAAK8sC,GAMhC,OAHAkwQ,EAASglF,WAAYnnU,EAAM,CAAEwB,EAAWvvB,EAAS+zQ,IAG5C/zQ,EAAU,GAAK12D,EACZyqU,GAIFzqU,GACL4mU,EAASglF,WAAYnnU,EAAM,CAAEwB,EAAW,EAAG,IAI5C2gP,EAASilF,YAAapnU,EAAM,CAAEwB,KACvB,IAERA,EAAY2gP,EAAS7sS,QAAS,CAC7B0qD,KAAMA,EACN3kF,MAAOuH,EAAOixC,OAAQ,GAAIy3Q,GAC1BxpT,KAAMc,EAAOixC,QAAQ,EAAM,CAC1BohX,cAAe,GACf5/X,OAAQzyB,EAAOyyB,OAAO21X,UACpBhuX,GACHk4X,mBAAoB5pG,EACpB6pG,gBAAiBn4X,EACjB+3X,UAAWd,IAASK,KACpBr5Y,SAAU+hB,EAAQ/hB,SAClB+5Y,OAAQ,GACRP,YAAa,SAAUxwZ,EAAM8tC,GAC5B,IAAIxf,EAAQ3vB,EAAO6wZ,MAAOzzU,EAAMwB,EAAU1/E,KAAMmC,EAAM8tC,EACrDyvC,EAAU1/E,KAAKmzZ,cAAehxZ,IAAUu9E,EAAU1/E,KAAKuzB,QAExD,OADAmsD,EAAUwzU,OAAOzvZ,KAAMgtB,GAChBA,GAERrwB,KAAM,SAAUkzZ,GACf,IAAIx1X,EAAQ,EAIXrkC,EAAS65Z,EAAU5zU,EAAUwzU,OAAOz5Z,OAAS,EAC9C,GAAKq5Z,EACJ,OAAOn2Z,KAGR,IADAm2Z,GAAU,EACFh1X,EAAQrkC,EAAQqkC,IACvB4hD,EAAUwzU,OAAQp1X,GAAQza,IAAK,GAUhC,OANKiwY,GACJjzF,EAASglF,WAAYnnU,EAAM,CAAEwB,EAAW,EAAG,IAC3C2gP,EAASilF,YAAapnU,EAAM,CAAEwB,EAAW4zU,KAEzCjzF,EAASolF,WAAYvnU,EAAM,CAAEwB,EAAW4zU,IAElC32Z,QAGTpD,EAAQmmF,EAAUnmF,MAInB,KA/HD,SAAqBA,EAAO45Z,GAC3B,IAAIr1X,EAAO/+B,EAAMw0B,EAAQl3B,EAAO07U,EAGhC,IAAMj6S,KAASvkC,EAed,GAbAg6B,EAAS4/X,EADTp0Z,EAAOswU,EAAWvxS,IAElBzhC,EAAQ9C,EAAOukC,GACV1gC,MAAMC,QAAShB,KACnBk3B,EAASl3B,EAAO,GAChBA,EAAQ9C,EAAOukC,GAAUzhC,EAAO,IAG5ByhC,IAAU/+B,IACdxF,EAAOwF,GAAS1C,SACT9C,EAAOukC,KAGfi6S,EAAQj3U,EAAO8wZ,SAAU7yZ,KACX,WAAYg5U,EAMzB,IAAMj6S,KALNzhC,EAAQ07U,EAAM39Q,OAAQ/9D,UACf9C,EAAOwF,GAIC1C,EACNyhC,KAASvkC,IAChBA,EAAOukC,GAAUzhC,EAAOyhC,GACxBq1X,EAAer1X,GAAUvK,QAI3B4/X,EAAep0Z,GAASw0B,EA6F1BggY,CAAYh6Z,EAAOmmF,EAAU1/E,KAAKmzZ,eAE1Br1X,EAAQrkC,EAAQqkC,IAEvB,GADAthC,EAASo2Z,GAAUG,WAAYj1X,GAAQn/B,KAAM+gF,EAAWxB,EAAM3kF,EAAOmmF,EAAU1/E,MAM9E,OAJK0jF,EAAYlnF,EAAO4D,QACvBU,EAAO0mZ,YAAa9nU,EAAUxB,KAAMwB,EAAU1/E,KAAK+9T,OAAQ39T,KAC1D5D,EAAO4D,KAAKZ,KAAMhD,IAEbA,EAyBT,OArBAsE,EAAOsjB,IAAK7qB,EAAOo5Z,GAAajzU,GAE3BgE,EAAYhE,EAAU1/E,KAAKyU,QAC/BirE,EAAU1/E,KAAKyU,MAAM9V,KAAMu/E,EAAMwB,GAIlCA,EACErlE,SAAUqlE,EAAU1/E,KAAKqa,UACzB5c,KAAMiiF,EAAU1/E,KAAKvC,KAAMiiF,EAAU1/E,KAAKs8E,UAC1C6iL,KAAMz/K,EAAU1/E,KAAKm/P,MACrBwlJ,OAAQjlU,EAAU1/E,KAAK2kZ,QAEzB7jZ,EAAOgY,GAAGgnE,MACTh/E,EAAOixC,OAAQo8G,EAAM,CACpBjwE,KAAMA,EACN0X,KAAMlW,EACNq+O,MAAOr+O,EAAU1/E,KAAK+9T,SAIjBr+O,EAGR5+E,EAAO8xZ,UAAY9xZ,EAAOixC,OAAQ6gX,GAAW,CAE5CC,SAAU,CACT,IAAK,CAAE,SAAU1wZ,EAAM9F,GACtB,IAAIo0B,EAAQ9zB,KAAKg2Z,YAAaxwZ,EAAM9F,GAEpC,OADA4rZ,GAAWx3X,EAAMytD,KAAM/7E,EAAMwlZ,GAAQ54X,KAAM1yB,GAASo0B,GAC7CA,KAIT+iY,QAAS,SAAUj6Z,EAAO2uC,GACpBw7C,EAAYnqF,IAChB2uC,EAAW3uC,EACXA,EAAQ,CAAE,MAEVA,EAAQA,EAAM4M,MAAOs9Y,GAOtB,IAJA,IAAIthZ,EACH27B,EAAQ,EACRrkC,EAASF,EAAME,OAERqkC,EAAQrkC,EAAQqkC,IACvB37B,EAAO5I,EAAOukC,GACd80X,GAAUC,SAAU1wZ,GAASywZ,GAAUC,SAAU1wZ,IAAU,GAC3DywZ,GAAUC,SAAU1wZ,GAAOq1B,QAAS0Q,IAItC6qX,WAAY,CA3Wb,SAA2B70U,EAAM3kF,EAAOyG,GACvC,IAAImC,EAAM9F,EAAOqsZ,EAAQ3wE,EAAO07E,EAASC,EAAWC,EAAgB5yY,EACnE6yY,EAAQ,UAAWr6Z,GAAS,WAAYA,EACxCq8F,EAAOj5F,KACP8gD,EAAO,GACPpuC,EAAQ6uE,EAAK7uE,MACby9P,EAAS5uL,EAAK1tE,UAAYw3Y,GAAoB9pU,GAC9C21U,EAAW7M,EAAS/nZ,IAAKi/E,EAAM,UA6BhC,IAAM/7E,KA1BAnC,EAAK+9T,QAEa,OADvBga,EAAQj3U,EAAO0mZ,YAAatpU,EAAM,OACvB41U,WACV/7E,EAAM+7E,SAAW,EACjBL,EAAU17E,EAAMhpL,MAAMq1P,KACtBrsE,EAAMhpL,MAAMq1P,KAAO,WACZrsE,EAAM+7E,UACXL,MAIH17E,EAAM+7E,WAENl+T,EAAK+uT,QAAQ,WAGZ/uT,EAAK+uT,QAAQ,WACZ5sE,EAAM+7E,WACAhzZ,EAAOi9T,MAAO7/O,EAAM,MAAOzkF,QAChCs+U,EAAMhpL,MAAMq1P,cAOF7qZ,EAEb,GADA8C,EAAQ9C,EAAO4I,GACVkwZ,GAASnzX,KAAM7iC,GAAU,CAG7B,UAFO9C,EAAO4I,GACdumZ,EAASA,GAAoB,WAAVrsZ,EACdA,KAAYywQ,EAAS,OAAS,QAAW,CAI7C,GAAe,SAAVzwQ,IAAoBw3Z,QAAiCt3X,IAArBs3X,EAAU1xZ,GAK9C,SAJA2qQ,GAAS,EAOXrvN,EAAMt7C,GAAS0xZ,GAAYA,EAAU1xZ,IAAUrB,EAAOuO,MAAO6uE,EAAM/7E,GAMrE,IADAuxZ,GAAa5yZ,EAAOy/E,cAAehnF,MAChBuH,EAAOy/E,cAAe9iC,GA8DzC,IAAMt7C,KAzDDyxZ,GAA2B,IAAlB11U,EAAK1tE,WAMlBxQ,EAAK68E,SAAW,CAAExtE,EAAMwtE,SAAUxtE,EAAM+nW,UAAW/nW,EAAMgtE,WAIlC,OADvBs3U,EAAiBE,GAAYA,EAAS9yY,WAErC4yY,EAAiB3M,EAAS/nZ,IAAKi/E,EAAM,YAGrB,UADjBn9D,EAAUjgB,EAAOmd,IAAKigE,EAAM,cAEtBy1U,EACJ5yY,EAAU4yY,GAIVlL,GAAU,CAAEvqU,IAAQ,GACpBy1U,EAAiBz1U,EAAK7uE,MAAM0R,SAAW4yY,EACvC5yY,EAAUjgB,EAAOmd,IAAKigE,EAAM,WAC5BuqU,GAAU,CAAEvqU,OAKG,WAAZn9D,GAAoC,iBAAZA,GAAgD,MAAlB4yY,IACrB,SAAhC7yZ,EAAOmd,IAAKigE,EAAM,WAGhBw1U,IACL99T,EAAKn4F,MAAM,WACV4R,EAAM0R,QAAU4yY,KAEM,MAAlBA,IACJ5yY,EAAU1R,EAAM0R,QAChB4yY,EAA6B,SAAZ5yY,EAAqB,GAAKA,IAG7C1R,EAAM0R,QAAU,iBAKd/gB,EAAK68E,WACTxtE,EAAMwtE,SAAW,SACjB+Y,EAAK+uT,QAAQ,WACZt1Y,EAAMwtE,SAAW78E,EAAK68E,SAAU,GAChCxtE,EAAM+nW,UAAYp3W,EAAK68E,SAAU,GACjCxtE,EAAMgtE,UAAYr8E,EAAK68E,SAAU,OAKnC62U,GAAY,EACEj2W,EAGPi2W,IACAG,EACC,WAAYA,IAChB/mJ,EAAS+mJ,EAAS/mJ,QAGnB+mJ,EAAW7M,EAASV,OAAQpoU,EAAM,SAAU,CAAEn9D,QAAS4yY,IAInDjL,IACJmL,EAAS/mJ,QAAUA,GAIfA,GACJ27I,GAAU,CAAEvqU,IAAQ,GAKrB0X,EAAKn4F,MAAM,WASV,IAAM0E,KAJA2qQ,GACL27I,GAAU,CAAEvqU,IAEb8oU,EAASpqX,OAAQshD,EAAM,UACTzgC,EACb38C,EAAOuO,MAAO6uE,EAAM/7E,EAAMs7C,EAAMt7C,QAMnCuxZ,EAAYf,GAAa7lJ,EAAS+mJ,EAAU1xZ,GAAS,EAAGA,EAAMyzF,GACtDzzF,KAAQ0xZ,IACfA,EAAU1xZ,GAASuxZ,EAAUj/Y,MACxBq4P,IACJ4mJ,EAAUzjX,IAAMyjX,EAAUj/Y,MAC1Bi/Y,EAAUj/Y,MAAQ,MAuMrBs/Y,UAAW,SAAU7rX,EAAUuzR,GACzBA,EACJm3F,GAAUG,WAAWv7X,QAAS0Q,GAE9B0qX,GAAUG,WAAWtvZ,KAAMykC,MAK9BpnC,EAAOkzZ,MAAQ,SAAUA,EAAOzgY,EAAQ0G,GACvC,IAAIqlD,EAAM00U,GAA0B,kBAAVA,EAAqBlzZ,EAAOixC,OAAQ,GAAIiiX,GAAU,CAC3E13U,SAAUriD,IAAOA,GAAM1G,GACtBmwD,EAAYswU,IAAWA,EACxB76Y,SAAU66Y,EACVzgY,OAAQ0G,GAAM1G,GAAUA,IAAWmwD,EAAYnwD,IAAYA,GAoC5D,OAhCKzyB,EAAOgY,GAAGynC,IACd++B,EAAInmE,SAAW,EAGc,kBAAjBmmE,EAAInmE,WACVmmE,EAAInmE,YAAYrY,EAAOgY,GAAGm7Y,OAC9B30U,EAAInmE,SAAWrY,EAAOgY,GAAGm7Y,OAAQ30U,EAAInmE,UAGrCmmE,EAAInmE,SAAWrY,EAAOgY,GAAGm7Y,OAAO/K,UAMjB,MAAb5pU,EAAIy+O,QAA+B,IAAdz+O,EAAIy+O,QAC7Bz+O,EAAIy+O,MAAQ,MAIbz+O,EAAI9xC,IAAM8xC,EAAIhD,SAEdgD,EAAIhD,SAAW,WACToH,EAAYpE,EAAI9xC,MACpB8xC,EAAI9xC,IAAI7uC,KAAMhC,MAGV2iF,EAAIy+O,OACRj9T,EAAOwmZ,QAAS3qZ,KAAM2iF,EAAIy+O,QAIrBz+O,GAGRx+E,EAAOm5B,GAAG8X,OAAQ,CACjBkvE,OAAQ,SAAU+yS,EAAO75Y,EAAIoZ,EAAQ2U,GAGpC,OAAOvrC,KAAKiT,OAAQo4Y,IAAqB/pY,IAAK,UAAW,GAAIywC,OAG3Dze,MAAMt1B,QAAS,CAAE+qC,QAASvrC,GAAM65Y,EAAOzgY,EAAQ2U,IAElDvtB,QAAS,SAAUxY,EAAM6xZ,EAAOzgY,EAAQ2U,GACvC,IAAI6mH,EAAQjuJ,EAAOy/E,cAAep+E,GACjC+xZ,EAASpzZ,EAAOkzZ,MAAOA,EAAOzgY,EAAQ2U,GACtCisX,EAAc,WAGb,IAAIv+T,EAAOg9T,GAAWj2Z,KAAMmE,EAAOixC,OAAQ,GAAI5vC,GAAQ+xZ,IAGlDnlQ,GAASi4P,EAAS/nZ,IAAKtC,KAAM,YACjCi5F,EAAKx1F,MAAM,IAMd,OAFA+zZ,EAAY1/T,OAAS0/T,EAEdplQ,IAA0B,IAAjBmlQ,EAAOn2F,MACtBphU,KAAK6zB,KAAM2jY,GACXx3Z,KAAKohU,MAAOm2F,EAAOn2F,MAAOo2F,IAE5B/zZ,KAAM,SAAUwN,EAAM65Y,EAAY6L,GACjC,IAAIc,EAAY,SAAUr8E,GACzB,IAAI33U,EAAO23U,EAAM33U,YACV23U,EAAM33U,KACbA,EAAMkzZ,IAYP,MATqB,kBAAT1lZ,IACX0lZ,EAAU7L,EACVA,EAAa75Y,EACbA,OAAO2uB,GAEHkrX,GACJ9qZ,KAAKohU,MAAOnwT,GAAQ,KAAM,IAGpBjR,KAAK6zB,MAAM,WACjB,IAAI82X,GAAU,EACbxpX,EAAgB,MAARlwB,GAAgBA,EAAO,aAC/BymZ,EAASvzZ,EAAOuzZ,OAChB1mZ,EAAOq5Y,EAAS/nZ,IAAKtC,MAEtB,GAAKmhC,EACCnwB,EAAMmwB,IAAWnwB,EAAMmwB,GAAQ19B,MACnCg0Z,EAAWzmZ,EAAMmwB,SAGlB,IAAMA,KAASnwB,EACTA,EAAMmwB,IAAWnwB,EAAMmwB,GAAQ19B,MAAQkyZ,GAAKpzX,KAAMpB,IACtDs2X,EAAWzmZ,EAAMmwB,IAKpB,IAAMA,EAAQu2X,EAAO56Z,OAAQqkC,KACvBu2X,EAAQv2X,GAAQogD,OAASvhF,MACnB,MAARiR,GAAgBymZ,EAAQv2X,GAAQigS,QAAUnwT,IAE5CymZ,EAAQv2X,GAAQ83D,KAAKx1F,KAAMkzZ,GAC3BhM,GAAU,EACV+M,EAAOh4X,OAAQyB,EAAO,KAOnBwpX,GAAYgM,GAChBxyZ,EAAOwmZ,QAAS3qZ,KAAMiR,OAIzB6mF,OAAQ,SAAU7mF,GAIjB,OAHc,IAATA,IACJA,EAAOA,GAAQ,MAETjR,KAAK6zB,MAAM,WACjB,IAAIsN,EACHnwB,EAAOq5Y,EAAS/nZ,IAAKtC,MACrBohU,EAAQpwT,EAAMC,EAAO,SACrBmqU,EAAQpqU,EAAMC,EAAO,cACrBymZ,EAASvzZ,EAAOuzZ,OAChB56Z,EAASskU,EAAQA,EAAMtkU,OAAS,EAajC,IAVAkU,EAAK8mF,QAAS,EAGd3zF,EAAOi9T,MAAOphU,KAAMiR,EAAM,IAErBmqU,GAASA,EAAM33U,MACnB23U,EAAM33U,KAAKzB,KAAMhC,MAAM,GAIlBmhC,EAAQu2X,EAAO56Z,OAAQqkC,KACvBu2X,EAAQv2X,GAAQogD,OAASvhF,MAAQ03Z,EAAQv2X,GAAQigS,QAAUnwT,IAC/DymZ,EAAQv2X,GAAQ83D,KAAKx1F,MAAM,GAC3Bi0Z,EAAOh4X,OAAQyB,EAAO,IAKxB,IAAMA,EAAQ,EAAGA,EAAQrkC,EAAQqkC,IAC3BigS,EAAOjgS,IAAWigS,EAAOjgS,GAAQ22D,QACrCspO,EAAOjgS,GAAQ22D,OAAO91F,KAAMhC,aAKvBgR,EAAK8mF,aAKf3zF,EAAO0vB,KAAM,CAAE,SAAU,OAAQ,SAAU,SAAU0uB,EAAIngD,GACxD,IAAIu1Z,EAAQxzZ,EAAOm5B,GAAIl7B,GACvB+B,EAAOm5B,GAAIl7B,GAAS,SAAUi1Z,EAAOzgY,EAAQ2U,GAC5C,OAAgB,MAAT8rX,GAAkC,mBAAVA,EAC9BM,EAAMv3Z,MAAOJ,KAAMG,WACnBH,KAAKge,QAAS83Y,GAAO1zZ,GAAM,GAAQi1Z,EAAOzgY,EAAQ2U,OAKrDpnC,EAAO0vB,KAAM,CACZ+jY,UAAW9B,GAAO,QAClB+B,QAAS/B,GAAO,QAChBgC,YAAahC,GAAO,UACpB9jW,OAAQ,CAAEjJ,QAAS,QACnB+I,QAAS,CAAE/I,QAAS,QACpBgvW,WAAY,CAAEhvW,QAAS,YACrB,SAAU3mD,EAAMxF,GAClBuH,EAAOm5B,GAAIl7B,GAAS,SAAUi1Z,EAAOzgY,EAAQ2U,GAC5C,OAAOvrC,KAAKge,QAASphB,EAAOy6Z,EAAOzgY,EAAQ2U,OAI7CpnC,EAAOuzZ,OAAS,GAChBvzZ,EAAOgY,GAAGq1I,KAAO,WAChB,IAAIruE,EACHtmF,EAAI,EACJ66Z,EAASvzZ,EAAOuzZ,OAIjB,IAFAlC,GAAQj+X,KAAKzB,MAELj5B,EAAI66Z,EAAO56Z,OAAQD,KAC1BsmF,EAAQu0U,EAAQ76Z,OAGC66Z,EAAQ76Z,KAAQsmF,GAChCu0U,EAAOh4X,OAAQ7iC,IAAK,GAIhB66Z,EAAO56Z,QACZqH,EAAOgY,GAAG1Y,OAEX+xZ,QAAQ51X,GAGTz7B,EAAOgY,GAAGgnE,MAAQ,SAAUA,GAC3Bh/E,EAAOuzZ,OAAO5wZ,KAAMq8E,GACpBh/E,EAAOgY,GAAGrE,SAGX3T,EAAOgY,GAAG6xG,SAAW,GACrB7pH,EAAOgY,GAAGrE,MAAQ,WACZ29Y,KAILA,IAAa,EACbG,OAGDzxZ,EAAOgY,GAAG1Y,KAAO,WAChBgyZ,GAAa,MAGdtxZ,EAAOgY,GAAGm7Y,OAAS,CAClBU,KAAM,IACN5lU,KAAM,IAGNm6T,SAAU,KAMXpoZ,EAAOm5B,GAAG3G,MAAQ,SAAU0gN,EAAMpmO,GAIjC,OAHAomO,EAAOlzO,EAAOgY,IAAKhY,EAAOgY,GAAGm7Y,OAAQjgL,IAAiBA,EACtDpmO,EAAOA,GAAQ,KAERjR,KAAKohU,MAAOnwT,GAAM,SAAU1P,EAAM65U,GACxC,IAAIjjP,EAAUz2F,EAAOmzB,WAAYtzB,EAAM81O,GACvC+jG,EAAM33U,KAAO,WACZ/B,EAAO4yB,aAAc6jE,QAMxB,WACC,IAAIsqB,EAAQn/G,EAASsX,cAAe,SAEnC+nE,EADSr/E,EAASsX,cAAe,UACpB0J,YAAahhB,EAASsX,cAAe,WAEnD6nG,EAAMxxG,KAAO,WAIb8vE,EAAQk3U,QAA0B,KAAhBx1S,EAAM/iH,MAIxBqhF,EAAQm3U,YAAcv1U,EAAI0F,UAI1Bo6B,EAAQn/G,EAASsX,cAAe,UAC1Blb,MAAQ,IACd+iH,EAAMxxG,KAAO,QACb8vE,EAAQo3U,WAA6B,MAAhB11S,EAAM/iH,MApB5B,GAwBA,IAAI04Z,GACHvY,GAAa17Y,EAAOi9Y,KAAKvB,WAE1B17Y,EAAOm5B,GAAG8X,OAAQ,CACjBlQ,KAAM,SAAU9iC,EAAM1C,GACrB,OAAOiqZ,EAAQ3pZ,KAAMmE,EAAO+gC,KAAM9iC,EAAM1C,EAAOS,UAAUrD,OAAS,IAGnEwjF,WAAY,SAAUl+E,GACrB,OAAOpC,KAAK6zB,MAAM,WACjB1vB,EAAOm8E,WAAYtgF,KAAMoC,SAK5B+B,EAAOixC,OAAQ,CACdlQ,KAAM,SAAUq8C,EAAMn/E,EAAM1C,GAC3B,IAAIie,EAAKy9T,EACRi9E,EAAQ92U,EAAK1tE,SAGd,GAAe,IAAVwkZ,GAAyB,IAAVA,GAAyB,IAAVA,EAKnC,MAAkC,qBAAtB92U,EAAKvxC,aACT7rC,EAAOqB,KAAM+7E,EAAMn/E,EAAM1C,IAKlB,IAAV24Z,GAAgBl0Z,EAAOuhZ,SAAUnkU,KACrC65P,EAAQj3U,EAAOm0Z,UAAWl2Z,EAAKyW,iBAC5B1U,EAAOi9Y,KAAK53Y,MAAMsgH,KAAKvnF,KAAMngC,GAASg2Z,QAAWx4X,SAGtCA,IAAVlgC,EACW,OAAVA,OACJyE,EAAOm8E,WAAYiB,EAAMn/E,GAIrBg5U,GAAS,QAASA,QACuBx7S,KAA3CjiB,EAAMy9T,EAAM5uU,IAAK+0E,EAAM7hF,EAAO0C,IACzBub,GAGR4jE,EAAK3uD,aAAcxwB,EAAM1C,EAAQ,IAC1BA,GAGH07U,GAAS,QAASA,GAA+C,QAApCz9T,EAAMy9T,EAAM94U,IAAKi/E,EAAMn/E,IACjDub,EAMM,OAHdA,EAAMxZ,EAAOmpE,KAAKpoC,KAAMq8C,EAAMn/E,SAGTw9B,EAAYjiB,IAGlC26Y,UAAW,CACVrnZ,KAAM,CACLzE,IAAK,SAAU+0E,EAAM7hF,GACpB,IAAMqhF,EAAQo3U,YAAwB,UAAVz4Z,GAC3BoU,EAAUytE,EAAM,SAAY,CAC5B,IAAI79D,EAAM69D,EAAK7hF,MAKf,OAJA6hF,EAAK3uD,aAAc,OAAQlzB,GACtBgkB,IACJ69D,EAAK7hF,MAAQgkB,GAEPhkB,MAMX4gF,WAAY,SAAUiB,EAAM7hF,GAC3B,IAAI0C,EACHvF,EAAI,EAIJ07Z,EAAY74Z,GAASA,EAAM8J,MAAOs9Y,GAEnC,GAAKyR,GAA+B,IAAlBh3U,EAAK1tE,SACtB,KAAUzR,EAAOm2Z,EAAW17Z,MAC3B0kF,EAAK/wC,gBAAiBpuC,MAO1Bg2Z,GAAW,CACV5rZ,IAAK,SAAU+0E,EAAM7hF,EAAO0C,GAQ3B,OAPe,IAAV1C,EAGJyE,EAAOm8E,WAAYiB,EAAMn/E,GAEzBm/E,EAAK3uD,aAAcxwB,EAAMA,GAEnBA,IAIT+B,EAAO0vB,KAAM1vB,EAAOi9Y,KAAK53Y,MAAMsgH,KAAKxhG,OAAO9e,MAAO,SAAU,SAAU+4C,EAAIngD,GACzE,IAAIC,EAASw9Y,GAAYz9Y,IAAU+B,EAAOmpE,KAAKpoC,KAE/C26W,GAAYz9Y,GAAS,SAAUm/E,EAAMn/E,EAAMi6Y,GAC1C,IAAI1+X,EAAK0zC,EACRmnW,EAAgBp2Z,EAAKyW,cAYtB,OAVMwjY,IAGLhrV,EAASwuV,GAAY2Y,GACrB3Y,GAAY2Y,GAAkB76Y,EAC9BA,EAAqC,MAA/Btb,EAAQk/E,EAAMn/E,EAAMi6Y,GACzBmc,EACA,KACD3Y,GAAY2Y,GAAkBnnW,GAExB1zC,MAOT,IAAI86Y,GAAa,sCAChBC,GAAa,gBAyIb,SAASC,GAAkBj5Z,GAE1B,OADaA,EAAM8J,MAAOs9Y,IAAmB,IAC/Bz6Y,KAAM,KAItB,SAASusZ,GAAUr3U,GAClB,OAAOA,EAAKvxC,cAAgBuxC,EAAKvxC,aAAc,UAAa,GAG7D,SAAS6oX,GAAgBn5Z,GACxB,OAAKe,MAAMC,QAAShB,GACZA,EAEc,kBAAVA,GACJA,EAAM8J,MAAOs9Y,IAEd,GAxJR3iZ,EAAOm5B,GAAG8X,OAAQ,CACjB5vC,KAAM,SAAUpD,EAAM1C,GACrB,OAAOiqZ,EAAQ3pZ,KAAMmE,EAAOqB,KAAMpD,EAAM1C,EAAOS,UAAUrD,OAAS,IAGnEg8Z,WAAY,SAAU12Z,GACrB,OAAOpC,KAAK6zB,MAAM,kBACV7zB,KAAMmE,EAAO40Z,QAAS32Z,IAAUA,SAK1C+B,EAAOixC,OAAQ,CACd5vC,KAAM,SAAU+7E,EAAMn/E,EAAM1C,GAC3B,IAAIie,EAAKy9T,EACRi9E,EAAQ92U,EAAK1tE,SAGd,GAAe,IAAVwkZ,GAAyB,IAAVA,GAAyB,IAAVA,EAWnC,OAPe,IAAVA,GAAgBl0Z,EAAOuhZ,SAAUnkU,KAGrCn/E,EAAO+B,EAAO40Z,QAAS32Z,IAAUA,EACjCg5U,EAAQj3U,EAAOkxZ,UAAWjzZ,SAGZw9B,IAAVlgC,EACC07U,GAAS,QAASA,QACuBx7S,KAA3CjiB,EAAMy9T,EAAM5uU,IAAK+0E,EAAM7hF,EAAO0C,IACzBub,EAGC4jE,EAAMn/E,GAAS1C,EAGpB07U,GAAS,QAASA,GAA+C,QAApCz9T,EAAMy9T,EAAM94U,IAAKi/E,EAAMn/E,IACjDub,EAGD4jE,EAAMn/E,IAGdizZ,UAAW,CACVjnS,SAAU,CACT9rH,IAAK,SAAUi/E,GAOd,IAAIy3U,EAAW70Z,EAAOmpE,KAAKpoC,KAAMq8C,EAAM,YAEvC,OAAKy3U,EACG96Y,SAAU86Y,EAAU,IAI3BP,GAAWl2X,KAAMg/C,EAAKztE,WACtB4kZ,GAAWn2X,KAAMg/C,EAAKztE,WACtBytE,EAAK3gE,KAEE,GAGA,KAKXm4Y,QAAS,CACR,IAAO,UACP,MAAS,eAYLh4U,EAAQm3U,cACb/zZ,EAAOkxZ,UAAUhtU,SAAW,CAC3B/lF,IAAK,SAAUi/E,GAId,IAAI3uE,EAAS2uE,EAAK57D,WAIlB,OAHK/S,GAAUA,EAAO+S,YACrB/S,EAAO+S,WAAW+5V,cAEZ,MAERlzW,IAAK,SAAU+0E,GAId,IAAI3uE,EAAS2uE,EAAK57D,WACb/S,IACJA,EAAO8sW,cAEF9sW,EAAO+S,YACX/S,EAAO+S,WAAW+5V,kBAOvBv7W,EAAO0vB,KAAM,CACZ,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,oBACE,WACF1vB,EAAO40Z,QAAS/4Z,KAAK6Y,eAAkB7Y,QA4BxCmE,EAAOm5B,GAAG8X,OAAQ,CACjBkC,SAAU,SAAU53C,GACnB,IAAIg+I,EAASn8D,EAAMowD,EAAKsnR,EAAUC,EAAO9/Y,EAAG+/Y,EAC3Ct8Z,EAAI,EAEL,GAAKkqF,EAAYrnF,GAChB,OAAOM,KAAK6zB,MAAM,SAAUza,GAC3BjV,EAAQnE,MAAOs3C,SAAU53C,EAAMsC,KAAMhC,KAAMoZ,EAAGw/Y,GAAU54Z,WAM1D,IAFA09I,EAAUm7Q,GAAgBn5Z,IAEb5C,OACZ,KAAUykF,EAAOvhF,KAAMnD,MAItB,GAHAo8Z,EAAWL,GAAUr3U,GACrBowD,EAAwB,IAAlBpwD,EAAK1tE,UAAoB,IAAM8kZ,GAAkBM,GAAa,IAEzD,CAEV,IADA7/Y,EAAI,EACM8/Y,EAAQx7Q,EAAStkI,MACrBu4H,EAAItnI,QAAS,IAAM6uZ,EAAQ,KAAQ,IACvCvnR,GAAOunR,EAAQ,KAMZD,KADLE,EAAaR,GAAkBhnR,KAE9BpwD,EAAK3uD,aAAc,QAASumY,GAMhC,OAAOn5Z,MAGRunF,YAAa,SAAU7nF,GACtB,IAAIg+I,EAASn8D,EAAMowD,EAAKsnR,EAAUC,EAAO9/Y,EAAG+/Y,EAC3Ct8Z,EAAI,EAEL,GAAKkqF,EAAYrnF,GAChB,OAAOM,KAAK6zB,MAAM,SAAUza,GAC3BjV,EAAQnE,MAAOunF,YAAa7nF,EAAMsC,KAAMhC,KAAMoZ,EAAGw/Y,GAAU54Z,WAI7D,IAAMG,UAAUrD,OACf,OAAOkD,KAAKklC,KAAM,QAAS,IAK5B,IAFAw4G,EAAUm7Q,GAAgBn5Z,IAEb5C,OACZ,KAAUykF,EAAOvhF,KAAMnD,MAMtB,GALAo8Z,EAAWL,GAAUr3U,GAGrBowD,EAAwB,IAAlBpwD,EAAK1tE,UAAoB,IAAM8kZ,GAAkBM,GAAa,IAEzD,CAEV,IADA7/Y,EAAI,EACM8/Y,EAAQx7Q,EAAStkI,MAG1B,KAAQu4H,EAAItnI,QAAS,IAAM6uZ,EAAQ,MAAS,GAC3CvnR,EAAMA,EAAIlqI,QAAS,IAAMyxZ,EAAQ,IAAK,KAMnCD,KADLE,EAAaR,GAAkBhnR,KAE9BpwD,EAAK3uD,aAAc,QAASumY,GAMhC,OAAOn5Z,MAGRo5Z,YAAa,SAAU15Z,EAAO25Z,GAC7B,IAAIpoZ,SAAcvR,EACjB45Z,EAAwB,WAATroZ,GAAqBxQ,MAAMC,QAAShB,GAEpD,MAAyB,mBAAb25Z,GAA0BC,EAC9BD,EAAWr5Z,KAAKs3C,SAAU53C,GAAUM,KAAKunF,YAAa7nF,GAGzDqnF,EAAYrnF,GACTM,KAAK6zB,MAAM,SAAUh3B,GAC3BsH,EAAQnE,MAAOo5Z,YACd15Z,EAAMsC,KAAMhC,KAAMnD,EAAG+7Z,GAAU54Z,MAAQq5Z,GACvCA,MAKIr5Z,KAAK6zB,MAAM,WACjB,IAAIlP,EAAW9nB,EAAGmkB,EAAMsqG,EAExB,GAAKguS,EAOJ,IAJAz8Z,EAAI,EACJmkB,EAAO7c,EAAQnE,MACfsrH,EAAautS,GAAgBn5Z,GAEnBilB,EAAY2mG,EAAYzuH,MAG5BmkB,EAAK0iE,SAAU/+D,GACnB3D,EAAKumE,YAAa5iE,GAElB3D,EAAKs2B,SAAU3yB,aAKIib,IAAVlgC,GAAgC,YAATuR,KAClC0T,EAAYi0Y,GAAU54Z,QAIrBqqZ,EAAS79Y,IAAKxM,KAAM,gBAAiB2kB,GAOjC3kB,KAAK4yB,cACT5yB,KAAK4yB,aAAc,QAClBjO,IAAuB,IAAVjlB,EACZ,GACA2qZ,EAAS/nZ,IAAKtC,KAAM,kBAAqB,SAO/C0jF,SAAU,SAAU5/E,GACnB,IAAI6gB,EAAW48D,EACd1kF,EAAI,EAGL,IADA8nB,EAAY,IAAM7gB,EAAW,IACnBy9E,EAAOvhF,KAAMnD,MACtB,GAAuB,IAAlB0kF,EAAK1tE,WACP,IAAM8kZ,GAAkBC,GAAUr3U,IAAW,KAAMl3E,QAASsa,IAAe,EAC7E,OAAO,EAIT,OAAO,KAOT,IAAI40Y,GAAU,MAEdp1Z,EAAOm5B,GAAG8X,OAAQ,CACjB1xB,IAAK,SAAUhkB,GACd,IAAI07U,EAAOz9T,EAAK4zY,EACfhwU,EAAOvhF,KAAM,GAEd,OAAMG,UAAUrD,QA0BhBy0Z,EAAkBxqU,EAAYrnF,GAEvBM,KAAK6zB,MAAM,SAAUh3B,GAC3B,IAAI6mB,EAEmB,IAAlB1jB,KAAK6T,WAWE,OANX6P,EADI6tY,EACE7xZ,EAAMsC,KAAMhC,KAAMnD,EAAGsH,EAAQnE,MAAO0jB,OAEpChkB,GAKNgkB,EAAM,GAEoB,kBAARA,EAClBA,GAAO,GAEIjjB,MAAMC,QAASgjB,KAC1BA,EAAMvf,EAAOsjB,IAAK/D,GAAK,SAAUhkB,GAChC,OAAgB,MAATA,EAAgB,GAAKA,EAAQ,QAItC07U,EAAQj3U,EAAOq1Z,SAAUx5Z,KAAKiR,OAAU9M,EAAOq1Z,SAAUx5Z,KAAK8T,SAAS+E,iBAGrD,QAASuiU,QAA+Cx7S,IAApCw7S,EAAM5uU,IAAKxM,KAAM0jB,EAAK,WAC3D1jB,KAAKN,MAAQgkB,QAzDT69D,GACJ65P,EAAQj3U,EAAOq1Z,SAAUj4U,EAAKtwE,OAC7B9M,EAAOq1Z,SAAUj4U,EAAKztE,SAAS+E,iBAG/B,QAASuiU,QACgCx7S,KAAvCjiB,EAAMy9T,EAAM94U,IAAKi/E,EAAM,UAElB5jE,EAMY,kBAHpBA,EAAM4jE,EAAK7hF,OAIHie,EAAIlW,QAAS8xZ,GAAS,IAIhB,MAAP57Y,EAAc,GAAKA,OAG3B,KAyCHxZ,EAAOixC,OAAQ,CACdokX,SAAU,CACTv9F,OAAQ,CACP35T,IAAK,SAAUi/E,GAEd,IAAI79D,EAAMvf,EAAOmpE,KAAKpoC,KAAMq8C,EAAM,SAClC,OAAc,MAAP79D,EACNA,EAMAi1Y,GAAkBx0Z,EAAO8P,KAAMstE,MAGlC3/B,OAAQ,CACPt/C,IAAK,SAAUi/E,GACd,IAAI7hF,EAAOu8T,EAAQp/T,EAClB0hC,EAAUgjD,EAAKhjD,QACf4C,EAAQogD,EAAKm+R,cACbz6R,EAAoB,eAAd1D,EAAKtwE,KACXwM,EAASwnE,EAAM,KAAO,GACtB/yE,EAAM+yE,EAAM9jD,EAAQ,EAAI5C,EAAQzhC,OAUjC,IAPCD,EADIskC,EAAQ,EACRjvB,EAGA+yE,EAAM9jD,EAAQ,EAIXtkC,EAAIqV,EAAKrV,IAKhB,KAJAo/T,EAAS19R,EAAS1hC,IAIJwrF,UAAYxrF,IAAMskC,KAG7B86R,EAAOrzO,YACLqzO,EAAOt2S,WAAWijE,WACnB90E,EAAUmoT,EAAOt2S,WAAY,aAAiB,CAMjD,GAHAjmB,EAAQyE,EAAQ83T,GAASv4S,MAGpBuhE,EACJ,OAAOvlF,EAIR+d,EAAO3W,KAAMpH,GAIf,OAAO+d,GAGRjR,IAAK,SAAU+0E,EAAM7hF,GAMpB,IALA,IAAI+5Z,EAAWx9F,EACd19R,EAAUgjD,EAAKhjD,QACf9gB,EAAStZ,EAAO+3Y,UAAWx8Y,GAC3B7C,EAAI0hC,EAAQzhC,OAELD,OACPo/T,EAAS19R,EAAS1hC,IAINwrF,SACXlkF,EAAOg/C,QAASh/C,EAAOq1Z,SAASv9F,OAAO35T,IAAK25T,GAAUx+S,IAAY,KAElEg8Y,GAAY,GAUd,OAHMA,IACLl4U,EAAKm+R,eAAiB,GAEhBjiW,OAOXtZ,EAAO0vB,KAAM,CAAE,QAAS,aAAc,WACrC1vB,EAAOq1Z,SAAUx5Z,MAAS,CACzBwM,IAAK,SAAU+0E,EAAM7hF,GACpB,GAAKe,MAAMC,QAAShB,GACnB,OAAS6hF,EAAK4qC,QAAUhoH,EAAOg/C,QAASh/C,EAAQo9E,GAAO79D,MAAOhkB,IAAW,IAItEqhF,EAAQk3U,UACb9zZ,EAAOq1Z,SAAUx5Z,MAAOsC,IAAM,SAAUi/E,GACvC,OAAwC,OAAjCA,EAAKvxC,aAAc,SAAqB,KAAOuxC,EAAK7hF,WAW9DqhF,EAAQ24U,QAAU,cAAeh4Z,EAGjC,IAAIi4Z,GAAc,kCACjBC,GAA0B,SAAU74Z,GACnCA,EAAEi6C,mBAGJ72C,EAAOixC,OAAQjxC,EAAOmhB,MAAO,CAE5B08D,QAAS,SAAU18D,EAAOtU,EAAMuwE,EAAMs4U,GAErC,IAAIh9Z,EAAG80I,EAAK4pJ,EAAKu+H,EAAYC,EAAQ1oW,EAAQm3V,EAASwR,EACrDC,EAAY,CAAE14U,GAAQj+E,GACtB2N,EAAO2sI,EAAO57I,KAAMsjB,EAAO,QAAWA,EAAMrU,KAAOqU,EACnDu8D,EAAa+7D,EAAO57I,KAAMsjB,EAAO,aAAgBA,EAAMioB,UAAUhhC,MAAO,KAAQ,GAKjF,GAHAolI,EAAMqoR,EAAcz+H,EAAMh6M,EAAOA,GAAQj+E,EAGlB,IAAlBi+E,EAAK1tE,UAAoC,IAAlB0tE,EAAK1tE,WAK5B8lZ,GAAYp3X,KAAMtxB,EAAO9M,EAAOmhB,MAAM+oY,aAItCp9Y,EAAK5G,QAAS,MAAS,IAG3Bw3E,EAAa5wE,EAAK1E,MAAO,KACzB0E,EAAO4wE,EAAWjN,QAClBiN,EAAW7+B,QAEZ+2W,EAAS9oZ,EAAK5G,QAAS,KAAQ,GAAK,KAAO4G,GAG3CqU,EAAQA,EAAOnhB,EAAO43Y,SACrBz2X,EACA,IAAInhB,EAAO6/E,MAAO/yE,EAAuB,kBAAVqU,GAAsBA,IAGhDwoY,UAAY+L,EAAe,EAAI,EACrCv0Y,EAAMioB,UAAYs0C,EAAWx1E,KAAM,KACnCiZ,EAAM6pY,WAAa7pY,EAAMioB,UACxB,IAAI3S,OAAQ,UAAYinD,EAAWx1E,KAAM,iBAAoB,WAC7D,KAGDiZ,EAAMzlB,YAAS+/B,EACTta,EAAM3oB,SACX2oB,EAAM3oB,OAAS4kF,GAIhBvwE,EAAe,MAARA,EACN,CAAEsU,GACFnhB,EAAO+3Y,UAAWlrY,EAAM,CAAEsU,IAG3BkjY,EAAUrkZ,EAAOmhB,MAAMkjY,QAASv3Y,IAAU,GACpC4oZ,IAAgBrR,EAAQxmU,UAAmD,IAAxCwmU,EAAQxmU,QAAQ5hF,MAAOmhF,EAAMvwE,IAAtE,CAMA,IAAM6oZ,IAAiBrR,EAAQgH,WAAapU,EAAU75T,GAAS,CAM9D,IAJAu4U,EAAatR,EAAQuF,cAAgB98Y,EAC/B0oZ,GAAYp3X,KAAMu3X,EAAa7oZ,KACpC0gI,EAAMA,EAAIhsH,YAEHgsH,EAAKA,EAAMA,EAAIhsH,WACtBs0Y,EAAUnzZ,KAAM6qI,GAChB4pJ,EAAM5pJ,EAIF4pJ,KAAUh6M,EAAKr3C,eAAiB5mC,IACpC22Z,EAAUnzZ,KAAMy0R,EAAIkV,aAAelV,EAAI2+H,cAAgBx4Z,GAMzD,IADA7E,EAAI,GACM80I,EAAMsoR,EAAWp9Z,QAAYyoB,EAAM2pY,wBAC5C+K,EAAcroR,EACdrsH,EAAMrU,KAAOpU,EAAI,EAChBi9Z,EACAtR,EAAQ+F,UAAYt9Y,GAGrBogD,GAAWg5V,EAAS/nZ,IAAKqvI,EAAK,WAAcx0I,OAAOqC,OAAQ,OAAU8lB,EAAMrU,OAC1Eo5Y,EAAS/nZ,IAAKqvI,EAAK,YAEnBtgF,EAAOjxD,MAAOuxI,EAAK3gI,IAIpBqgD,EAAS0oW,GAAUpoR,EAAKooR,KACT1oW,EAAOjxD,OAAS+pZ,EAAYx4Q,KAC1CrsH,EAAMzlB,OAASwxD,EAAOjxD,MAAOuxI,EAAK3gI,IACZ,IAAjBsU,EAAMzlB,QACVylB,EAAMw1B,kBA8CT,OA1CAx1B,EAAMrU,KAAOA,EAGP4oZ,GAAiBv0Y,EAAMoqY,sBAEpBlH,EAAQ+D,WACqC,IAApD/D,EAAQ+D,SAASnsZ,MAAO65Z,EAAUjzZ,MAAOgK,KACzCm5Y,EAAY5oU,IAIPw4U,GAAUhzU,EAAYxF,EAAMtwE,MAAamqY,EAAU75T,MAGvDg6M,EAAMh6M,EAAMw4U,MAGXx4U,EAAMw4U,GAAW,MAIlB51Z,EAAOmhB,MAAM+oY,UAAYp9Y,EAEpBqU,EAAM2pY,wBACV+K,EAAY1mY,iBAAkBriB,EAAM2oZ,IAGrCr4U,EAAMtwE,KAEDqU,EAAM2pY,wBACV+K,EAAYl1V,oBAAqB7zD,EAAM2oZ,IAGxCz1Z,EAAOmhB,MAAM+oY,eAAYzuX,EAEpB27P,IACJh6M,EAAMw4U,GAAWx+H,IAMdj2Q,EAAMzlB,SAKds6Z,SAAU,SAAUlpZ,EAAMswE,EAAMj8D,GAC/B,IAAIvkB,EAAIoD,EAAOixC,OACd,IAAIjxC,EAAO6/E,MACX1+D,EACA,CACCrU,KAAMA,EACN4+Y,aAAa,IAIf1rZ,EAAOmhB,MAAM08D,QAASjhF,EAAG,KAAMwgF,MAKjCp9E,EAAOm5B,GAAG8X,OAAQ,CAEjB4sC,QAAS,SAAU/wE,EAAMD,GACxB,OAAOhR,KAAK6zB,MAAM,WACjB1vB,EAAOmhB,MAAM08D,QAAS/wE,EAAMD,EAAMhR,UAGpCwhF,eAAgB,SAAUvwE,EAAMD,GAC/B,IAAIuwE,EAAOvhF,KAAM,GACjB,GAAKuhF,EACJ,OAAOp9E,EAAOmhB,MAAM08D,QAAS/wE,EAAMD,EAAMuwE,GAAM,MAc5CR,EAAQ24U,SACbv1Z,EAAO0vB,KAAM,CAAEuyD,MAAO,UAAWd,KAAM,aAAc,SAAUxkC,EAAMiuW,GAGpE,IAAItvQ,EAAU,SAAUn6H,GACvBnhB,EAAOmhB,MAAM60Y,SAAUpL,EAAKzpY,EAAM3oB,OAAQwH,EAAOmhB,MAAMypY,IAAKzpY,KAG7DnhB,EAAOmhB,MAAMkjY,QAASuG,GAAQ,CAC7BN,MAAO,WAIN,IAAIlrX,EAAMvjC,KAAKkqC,eAAiBlqC,KAAKsD,UAAYtD,KAChDo6Z,EAAW/P,EAASV,OAAQpmX,EAAKwrX,GAE5BqL,GACL72X,EAAIjQ,iBAAkBwtB,EAAM2+F,GAAS,GAEtC4qQ,EAASV,OAAQpmX,EAAKwrX,GAAOqL,GAAY,GAAM,IAEhDxL,SAAU,WACT,IAAIrrX,EAAMvjC,KAAKkqC,eAAiBlqC,KAAKsD,UAAYtD,KAChDo6Z,EAAW/P,EAASV,OAAQpmX,EAAKwrX,GAAQ,EAEpCqL,EAKL/P,EAASV,OAAQpmX,EAAKwrX,EAAKqL,IAJ3B72X,EAAIuhC,oBAAqBhkB,EAAM2+F,GAAS,GACxC4qQ,EAASpqX,OAAQsD,EAAKwrX,SAS3B,IAAIntX,GAAWlgC,EAAOkgC,SAElBmwR,GAAQ,CAAEj5B,KAAMvhQ,KAAKzB,OAErBukY,GAAW,KAKfl2Z,EAAOm2Z,SAAW,SAAUtpZ,GAC3B,IAAI5I,EAAKmyZ,EACT,IAAMvpZ,GAAwB,kBAATA,EACpB,OAAO,KAKR,IACC5I,GAAQ,IAAI1G,EAAOqH,WAAcC,gBAAiBgI,EAAM,YACvD,MAAQjQ,IAYV,OAVAw5Z,EAAkBnyZ,GAAOA,EAAI+Z,qBAAsB,eAAiB,GAC9D/Z,IAAOmyZ,GACZp2Z,EAAOgvB,MAAO,iBACbonY,EACCp2Z,EAAOsjB,IAAK8yY,EAAgBxmZ,YAAY,SAAUgsB,GACjD,OAAOA,EAAG7rB,eACP7H,KAAM,MACV2E,IAGI5I,GAIR,IACCoyZ,GAAW,QACXC,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,qCAEhB,SAASC,GAAaj1X,EAAQ3F,EAAK66X,EAAatoX,GAC/C,IAAInwC,EAEJ,GAAK3B,MAAMC,QAASs/B,GAGnB77B,EAAO0vB,KAAMmM,GAAK,SAAUnjC,EAAGqQ,GACzB2tZ,GAAeL,GAASj4X,KAAMoD,GAGlC4M,EAAK5M,EAAQz4B,GAKb0tZ,GACCj1X,EAAS,KAAqB,kBAANz4B,GAAuB,MAALA,EAAYrQ,EAAI,IAAO,IACjEqQ,EACA2tZ,EACAtoX,WAKG,GAAMsoX,GAAiC,WAAlBrf,EAAQx7W,GAUnCuS,EAAK5M,EAAQ3F,QAPb,IAAM59B,KAAQ49B,EACb46X,GAAaj1X,EAAS,IAAMvjC,EAAO,IAAK49B,EAAK59B,GAAQy4Z,EAAatoX,GAYrEpuC,EAAOurD,MAAQ,SAAU/iD,EAAGkuZ,GAC3B,IAAIl1X,EACH/kC,EAAI,GACJ2xC,EAAM,SAAUl1C,EAAKy9Z,GAGpB,IAAIp7Z,EAAQqnF,EAAY+zU,GACvBA,IACAA,EAEDl6Z,EAAGA,EAAE9D,QAAWmrB,mBAAoB5qB,GAAQ,IAC3C4qB,mBAA6B,MAATvoB,EAAgB,GAAKA,IAG5C,GAAU,MAALiN,EACJ,MAAO,GAIR,GAAKlM,MAAMC,QAASiM,IAASA,EAAE8uY,SAAWt3Y,EAAOqrD,cAAe7iD,GAG/DxI,EAAO0vB,KAAMlnB,GAAG,WACf4lC,EAAKvyC,KAAKoC,KAAMpC,KAAKN,eAOtB,IAAMimC,KAAUh5B,EACfiuZ,GAAaj1X,EAAQh5B,EAAGg5B,GAAUk1X,EAAatoX,GAKjD,OAAO3xC,EAAEyL,KAAM,MAGhBlI,EAAOm5B,GAAG8X,OAAQ,CACjB4rF,UAAW,WACV,OAAO78H,EAAOurD,MAAO1vD,KAAK+6Z,mBAE3BA,eAAgB,WACf,OAAO/6Z,KAAKynB,KAAK,WAGhB,IAAIq6F,EAAW39G,EAAOqB,KAAMxF,KAAM,YAClC,OAAO8hH,EAAW39G,EAAO+3Y,UAAWp6R,GAAa9hH,QAC9CiT,QAAQ,WACX,IAAIhC,EAAOjR,KAAKiR,KAGhB,OAAOjR,KAAKoC,OAAS+B,EAAQnE,MAAOsE,GAAI,cACvCq2Z,GAAap4X,KAAMviC,KAAK8T,YAAe4mZ,GAAgBn4X,KAAMtxB,KAC3DjR,KAAKmsH,UAAY6/R,GAAezpX,KAAMtxB,OACtCwW,KAAK,SAAU86B,EAAIg/B,GACtB,IAAI79D,EAAMvf,EAAQnE,MAAO0jB,MAEzB,OAAY,MAAPA,EACG,KAGHjjB,MAAMC,QAASgjB,GACZvf,EAAOsjB,IAAK/D,GAAK,SAAUA,GACjC,MAAO,CAAEthB,KAAMm/E,EAAKn/E,KAAM1C,MAAOgkB,EAAIjc,QAASgzZ,GAAO,YAIhD,CAAEr4Z,KAAMm/E,EAAKn/E,KAAM1C,MAAOgkB,EAAIjc,QAASgzZ,GAAO,YAClDn4Z,SAKN,IACC04Z,GAAM,OACNC,GAAQ,OACRC,GAAa,gBACbC,GAAW,6BAIXC,GAAa,iBACbC,GAAY,QAWZjF,GAAa,GAObkF,GAAa,GAGbC,GAAW,KAAK/yY,OAAQ,KAGxBgzY,GAAel4Z,EAASsX,cAAe,KAKxC,SAAS6gZ,GAA6BC,GAGrC,OAAO,SAAUC,EAAoBlsW,GAED,kBAAvBksW,IACXlsW,EAAOksW,EACPA,EAAqB,KAGtB,IAAIC,EACH/+Z,EAAI,EACJg/Z,EAAYF,EAAmB9iZ,cAAcrP,MAAOs9Y,IAAmB,GAExE,GAAK//T,EAAYt3B,GAGhB,KAAUmsW,EAAWC,EAAWh/Z,MAGR,MAAlB++Z,EAAU,IACdA,EAAWA,EAAS5pX,MAAO,IAAO,KAChC0pX,EAAWE,GAAaF,EAAWE,IAAc,IAAK/gY,QAAS40B,KAI/DisW,EAAWE,GAAaF,EAAWE,IAAc,IAAK90Z,KAAM2oD,IAQnE,SAASqsW,GAA+BJ,EAAWn9X,EAASm4X,EAAiBqF,GAE5E,IAAIC,EAAY,GACfC,EAAqBP,IAAcJ,GAEpC,SAAS5xF,EAASkyF,GACjB,IAAIvzU,EAcJ,OAbA2zU,EAAWJ,IAAa,EACxBz3Z,EAAO0vB,KAAM6nY,EAAWE,IAAc,IAAI,SAAUrnY,EAAG2nY,GACtD,IAAIC,EAAsBD,EAAoB39X,EAASm4X,EAAiBqF,GACxE,MAAoC,kBAAxBI,GACVF,GAAqBD,EAAWG,GAKtBF,IACD5zU,EAAW8zU,QADf,GAHN59X,EAAQs9X,UAAUhhY,QAASshY,GAC3BzyF,EAASyyF,IACF,MAKF9zU,EAGR,OAAOqhP,EAASnrS,EAAQs9X,UAAW,MAAUG,EAAW,MAAStyF,EAAS,KAM3E,SAAS0yF,GAAYz/Z,EAAQwkB,GAC5B,IAAI9jB,EAAKgyC,EACRgtX,EAAcl4Z,EAAOm4Z,aAAaD,aAAe,GAElD,IAAMh/Z,KAAO8jB,OACQye,IAAfze,EAAK9jB,MACPg/Z,EAAah/Z,GAAQV,EAAW0yC,IAAUA,EAAO,KAAUhyC,GAAQ8jB,EAAK9jB,IAO5E,OAJKgyC,GACJlrC,EAAOixC,QAAQ,EAAMz4C,EAAQ0yC,GAGvB1yC,EA/ER6+Z,GAAa56Y,KAAOghB,GAAShhB,KAgP7Bzc,EAAOixC,OAAQ,CAGdi9E,OAAQ,EAGRkqS,aAAc,GACdC,KAAM,GAENF,aAAc,CACb10Z,IAAKg6B,GAAShhB,KACd3P,KAAM,MACNwrZ,QAxRgB,4DAwRQl6X,KAAMX,GAASE,UACvCwkF,QAAQ,EACR0tD,aAAa,EACb/qK,OAAO,EACPyzZ,YAAa,mDAcbC,QAAS,CACR,IAAKpB,GACLtnZ,KAAM,aACNwhC,KAAM,YACNrtC,IAAK,4BACLqkE,KAAM,qCAGPmqI,SAAU,CACTxuM,IAAK,UACLqtC,KAAM,SACNg3B,KAAM,YAGPmwV,eAAgB,CACfx0Z,IAAK,cACL6L,KAAM,eACNw4D,KAAM,gBAKPowV,WAAY,CAGX,SAAUllY,OAGV,aAAa,EAGb,YAAazP,KAAKoc,MAGlB,WAAYngC,EAAOm2Z,UAOpB+B,YAAa,CACZz0Z,KAAK,EACL0tD,SAAS,IAOXwnW,UAAW,SAAUnga,EAAQgM,GAC5B,OAAOA,EAGNyzZ,GAAYA,GAAYz/Z,EAAQwH,EAAOm4Z,cAAgB3zZ,GAGvDyzZ,GAAYj4Z,EAAOm4Z,aAAc3/Z,IAGnCoga,cAAetB,GAA6BrF,IAC5C4G,cAAevB,GAA6BH,IAG5C3zZ,KAAM,SAAUC,EAAK22B,GAGA,kBAAR32B,IACX22B,EAAU32B,EACVA,OAAMg4B,GAMP,IAAI05H,EAGH2jQ,EAGAC,EACAC,EAGAC,EAGAC,EAGA7T,EAGA8T,EAGAzga,EAGA0ga,EAGA38Z,EAAIuD,EAAO24Z,UAAW,GA9BvBv+X,EAAUA,GAAW,IAiCpBi/X,EAAkB58Z,EAAE00D,SAAW10D,EAG/B68Z,EAAqB78Z,EAAE00D,UACpBkoW,EAAgB3pZ,UAAY2pZ,EAAgB/hB,QAC9Ct3Y,EAAQq5Z,GACRr5Z,EAAOmhB,MAGRo+S,EAAWv/T,EAAO2jZ,WAClB4V,EAAmBv5Z,EAAOgjZ,UAAW,eAGrCwW,EAAa/8Z,EAAE+8Z,YAAc,GAG7BC,EAAiB,GACjBC,EAAsB,GAGtBC,EAAW,WAGX/B,EAAQ,CACP5zC,WAAY,EAGZ41C,kBAAmB,SAAU1ga,GAC5B,IAAImM,EACJ,GAAKggZ,EAAY,CAChB,IAAM2T,EAEL,IADAA,EAAkB,GACR3zZ,EAAQ2xZ,GAAS/oY,KAAM8qY,IAChCC,EAAiB3zZ,EAAO,GAAIqP,cAAgB,MACzCskZ,EAAiB3zZ,EAAO,GAAIqP,cAAgB,MAAS,IACrD2P,OAAQhf,EAAO,IAGpBA,EAAQ2zZ,EAAiB9/Z,EAAIwb,cAAgB,KAE9C,OAAgB,MAATrP,EAAgB,KAAOA,EAAM6C,KAAM,OAI3C2xZ,sBAAuB,WACtB,OAAOxU,EAAY0T,EAAwB,MAI5Ce,iBAAkB,SAAU77Z,EAAM1C,GAMjC,OALkB,MAAb8pZ,IACJpnZ,EAAOy7Z,EAAqBz7Z,EAAKyW,eAChCglZ,EAAqBz7Z,EAAKyW,gBAAmBzW,EAC9Cw7Z,EAAgBx7Z,GAAS1C,GAEnBM,MAIRmiN,iBAAkB,SAAUlxM,GAI3B,OAHkB,MAAbu4Y,IACJ5oZ,EAAE4iC,SAAWvyB,GAEPjR,MAIR29Z,WAAY,SAAUl2Y,GACrB,IAAI8hB,EACJ,GAAK9hB,EACJ,GAAK+hY,EAGJuS,EAAM/T,OAAQvgY,EAAKs0Y,EAAMv1O,cAIzB,IAAMj9I,KAAQ9hB,EACbk2Y,EAAYp0X,GAAS,CAAEo0X,EAAYp0X,GAAQ9hB,EAAK8hB,IAInD,OAAOvpC,MAIRk+Z,MAAO,SAAUC,GAChB,IAAIC,EAAYD,GAAcL,EAK9B,OAJKxkQ,GACJA,EAAU4kQ,MAAOE,GAElBt9Z,EAAM,EAAGs9Z,GACFp+Z,OAoBV,GAfA0jU,EAAS7sS,QAASklY,GAKlBn7Z,EAAEgH,MAAUA,GAAOhH,EAAEgH,KAAOg6B,GAAShhB,MAAS,IAC5CnZ,QAAS4zZ,GAAWz5X,GAASE,SAAW,MAG1ClhC,EAAEqQ,KAAOstB,EAAQwmF,QAAUxmF,EAAQttB,MAAQrQ,EAAEmkH,QAAUnkH,EAAEqQ,KAGzDrQ,EAAEi7Z,WAAcj7Z,EAAEg7Z,UAAY,KAAM/iZ,cAAcrP,MAAOs9Y,IAAmB,CAAE,IAGxD,MAAjBlmZ,EAAEy9Z,YAAsB,CAC5BhB,EAAY/5Z,EAASsX,cAAe,KAKpC,IACCyiZ,EAAUz8Y,KAAOhgB,EAAEgH,IAInBy1Z,EAAUz8Y,KAAOy8Y,EAAUz8Y,KAC3BhgB,EAAEy9Z,YAAc7C,GAAa15X,SAAW,KAAO05X,GAAaz5X,OAC3Ds7X,EAAUv7X,SAAW,KAAOu7X,EAAUt7X,KACtC,MAAQhhC,GAITH,EAAEy9Z,aAAc,GAalB,GARKz9Z,EAAEoQ,MAAQpQ,EAAEozK,aAAiC,kBAAXpzK,EAAEoQ,OACxCpQ,EAAEoQ,KAAO7M,EAAOurD,MAAO9uD,EAAEoQ,KAAMpQ,EAAEi6Z,cAIlCiB,GAA+B1F,GAAYx1Z,EAAG29B,EAASw9X,GAGlDvS,EACJ,OAAOuS,EA8ER,IAAMl/Z,KAzENyga,EAAcn5Z,EAAOmhB,OAAS1kB,EAAE0lH,SAGQ,IAApBniH,EAAOkuH,UAC1BluH,EAAOmhB,MAAM08D,QAAS,aAIvBphF,EAAEqQ,KAAOrQ,EAAEqQ,KAAKw0E,cAGhB7kF,EAAE09Z,YAAclD,GAAW74X,KAAM3hC,EAAEqQ,MAKnCgsZ,EAAWr8Z,EAAEgH,IAAIH,QAASwzZ,GAAO,IAG3Br6Z,EAAE09Z,WAwBI19Z,EAAEoQ,MAAQpQ,EAAEozK,aACoD,KAAzEpzK,EAAE87Z,aAAe,IAAKryZ,QAAS,uCACjCzJ,EAAEoQ,KAAOpQ,EAAEoQ,KAAKvJ,QAASuzZ,GAAK,OAvB9BuC,EAAW38Z,EAAEgH,IAAIoqC,MAAOirX,EAASnga,QAG5B8D,EAAEoQ,OAAUpQ,EAAEozK,aAAiC,kBAAXpzK,EAAEoQ,QAC1CisZ,IAAc5C,GAAO93X,KAAM06X,GAAa,IAAM,KAAQr8Z,EAAEoQ,YAGjDpQ,EAAEoQ,OAIO,IAAZpQ,EAAE2nG,QACN00T,EAAWA,EAASx1Z,QAASyzZ,GAAY,MACzCqC,GAAalD,GAAO93X,KAAM06X,GAAa,IAAM,KAAQ,KAASlrG,GAAMj5B,OACnEykI,GAIF38Z,EAAEgH,IAAMq1Z,EAAWM,GASf38Z,EAAE29Z,aACDp6Z,EAAOo4Z,aAAcU,IACzBlB,EAAMkC,iBAAkB,oBAAqB95Z,EAAOo4Z,aAAcU,IAE9D94Z,EAAOq4Z,KAAMS,IACjBlB,EAAMkC,iBAAkB,gBAAiB95Z,EAAOq4Z,KAAMS,MAKnDr8Z,EAAEoQ,MAAQpQ,EAAE09Z,aAAgC,IAAlB19Z,EAAE87Z,aAAyBn+X,EAAQm+X,cACjEX,EAAMkC,iBAAkB,eAAgBr9Z,EAAE87Z,aAI3CX,EAAMkC,iBACL,SACAr9Z,EAAEi7Z,UAAW,IAAOj7Z,EAAE+7Z,QAAS/7Z,EAAEi7Z,UAAW,IAC3Cj7Z,EAAE+7Z,QAAS/7Z,EAAEi7Z,UAAW,KACA,MAArBj7Z,EAAEi7Z,UAAW,GAAc,KAAON,GAAW,WAAa,IAC7D36Z,EAAE+7Z,QAAS,MAIF/7Z,EAAEwrQ,QACZ2vJ,EAAMkC,iBAAkBpha,EAAG+D,EAAEwrQ,QAASvvQ,IAIvC,GAAK+D,EAAE49Z,cAC+C,IAAnD59Z,EAAE49Z,WAAWx8Z,KAAMw7Z,EAAiBzB,EAAOn7Z,IAAiB4oZ,GAG9D,OAAOuS,EAAMmC,QAed,GAXAJ,EAAW,QAGXJ,EAAiBnrX,IAAK3xC,EAAE++E,UACxBo8U,EAAMj7Z,KAAMF,EAAE69Z,SACd1C,EAAMv5J,KAAM5hQ,EAAEuyB,OAGdmmI,EAAYwiQ,GAA+BR,GAAY16Z,EAAG29B,EAASw9X,GAK5D,CASN,GARAA,EAAM5zC,WAAa,EAGdm1C,GACJG,EAAmBz7U,QAAS,WAAY,CAAE+5U,EAAOn7Z,IAI7C4oZ,EACJ,OAAOuS,EAIHn7Z,EAAEqI,OAASrI,EAAEu3F,QAAU,IAC3BilU,EAAe17Z,EAAOmzB,YAAY,WACjCknY,EAAMmC,MAAO,aACXt9Z,EAAEu3F,UAGN,IACCqxT,GAAY,EACZlwP,EAAUrxJ,KAAM21Z,EAAgB98Z,GAC/B,MAAQC,GAGT,GAAKyoZ,EACJ,MAAMzoZ,EAIPD,GAAO,EAAGC,SAhCXD,GAAO,EAAG,gBAqCX,SAASA,EAAM0lL,EAAQk4O,EAAkBC,EAAWvyJ,GACnD,IAAIwyJ,EAAWH,EAAStrY,EAAO27J,EAAU07C,EACxC2zL,EAAaO,EAGTlV,IAILA,GAAY,EAGP4T,GACJ17Z,EAAO4yB,aAAc8oY,GAKtB9jQ,OAAY15H,EAGZs9X,EAAwB9wJ,GAAW,GAGnC2vJ,EAAM5zC,WAAa3hM,EAAS,EAAI,EAAI,EAGpCo4O,EAAYp4O,GAAU,KAAOA,EAAS,KAAkB,MAAXA,EAGxCm4O,IACJ7vO,EA7lBJ,SAA8BluL,EAAGm7Z,EAAO4C,GAOvC,IALA,IAAIjlU,EAAIzoF,EAAM4tZ,EAAeC,EAC5BloN,EAAWh2M,EAAEg2M,SACbilN,EAAYj7Z,EAAEi7Z,UAGY,MAAnBA,EAAW,IAClBA,EAAUjnV,aACEh1C,IAAP85D,IACJA,EAAK94F,EAAE4iC,UAAYu4X,EAAMgC,kBAAmB,iBAK9C,GAAKrkU,EACJ,IAAMzoF,KAAQ2lM,EACb,GAAKA,EAAU3lM,IAAU2lM,EAAU3lM,GAAOsxB,KAAMm3D,GAAO,CACtDmiU,EAAUhhY,QAAS5pB,GACnB,MAMH,GAAK4qZ,EAAW,KAAO8C,EACtBE,EAAgBhD,EAAW,OACrB,CAGN,IAAM5qZ,KAAQ0tZ,EAAY,CACzB,IAAM9C,EAAW,IAAOj7Z,EAAEi8Z,WAAY5rZ,EAAO,IAAM4qZ,EAAW,IAAQ,CACrEgD,EAAgB5tZ,EAChB,MAEK6tZ,IACLA,EAAgB7tZ,GAKlB4tZ,EAAgBA,GAAiBC,EAMlC,GAAKD,EAIJ,OAHKA,IAAkBhD,EAAW,IACjCA,EAAUhhY,QAASgkY,GAEbF,EAAWE,GA0iBLE,CAAqBn+Z,EAAGm7Z,EAAO4C,KAIrCC,GACLz6Z,EAAOg/C,QAAS,SAAUviD,EAAEi7Z,YAAe,GAC3C13Z,EAAOg/C,QAAS,OAAQviD,EAAEi7Z,WAAc,IACxCj7Z,EAAEi8Z,WAAY,eAAkB,cAIjC/tO,EA9iBH,SAAsBluL,EAAGkuL,EAAUitO,EAAO6C,GACzC,IAAII,EAAOhnZ,EAASinZ,EAAM1jI,EAAK5hN,EAC9BkjV,EAAa,GAGbhB,EAAYj7Z,EAAEi7Z,UAAU7pX,QAGzB,GAAK6pX,EAAW,GACf,IAAMoD,KAAQr+Z,EAAEi8Z,WACfA,EAAYoC,EAAKpmZ,eAAkBjY,EAAEi8Z,WAAYoC,GAOnD,IAHAjnZ,EAAU6jZ,EAAUjnV,QAGZ58D,GAcP,GAZKpX,EAAEg8Z,eAAgB5kZ,KACtB+jZ,EAAOn7Z,EAAEg8Z,eAAgB5kZ,IAAc82K,IAIlCn1G,GAAQilV,GAAah+Z,EAAEs+Z,aAC5BpwO,EAAWluL,EAAEs+Z,WAAYpwO,EAAUluL,EAAEg7Z,WAGtCjiV,EAAO3hE,EACPA,EAAU6jZ,EAAUjnV,QAKnB,GAAiB,MAAZ58D,EAEJA,EAAU2hE,OAGJ,GAAc,MAATA,GAAgBA,IAAS3hE,EAAU,CAM9C,KAHAinZ,EAAOpC,EAAYljV,EAAO,IAAM3hE,IAAa6kZ,EAAY,KAAO7kZ,IAI/D,IAAMgnZ,KAASnC,EAId,IADAthI,EAAMyjI,EAAMzyZ,MAAO,MACT,KAAQyL,IAGjBinZ,EAAOpC,EAAYljV,EAAO,IAAM4hN,EAAK,KACpCshI,EAAY,KAAOthI,EAAK,KACb,EAGG,IAAT0jI,EACJA,EAAOpC,EAAYmC,IAGgB,IAAxBnC,EAAYmC,KACvBhnZ,EAAUujR,EAAK,GACfsgI,EAAUhhY,QAAS0gQ,EAAK,KAEzB,MAOJ,IAAc,IAAT0jI,EAGJ,GAAKA,GAAQr+Z,EAAEu+Z,OACdrwO,EAAWmwO,EAAMnwO,QAEjB,IACCA,EAAWmwO,EAAMnwO,GAChB,MAAQ/tL,GACT,MAAO,CACNgkE,MAAO,cACP5xC,MAAO8rY,EAAOl+Z,EAAI,sBAAwB44E,EAAO,OAAS3hE,IASjE,MAAO,CAAE+sD,MAAO,UAAW/zD,KAAM89K,GAidpBswO,CAAax+Z,EAAGkuL,EAAUitO,EAAO6C,GAGvCA,GAGCh+Z,EAAE29Z,cACN/zL,EAAWuxL,EAAMgC,kBAAmB,oBAEnC55Z,EAAOo4Z,aAAcU,GAAazyL,IAEnCA,EAAWuxL,EAAMgC,kBAAmB,WAEnC55Z,EAAOq4Z,KAAMS,GAAazyL,IAKZ,MAAXhkD,GAA6B,SAAX5lL,EAAEqQ,KACxBktZ,EAAa,YAGS,MAAX33O,EACX23O,EAAa,eAIbA,EAAarvO,EAAS/pH,MACtB05V,EAAU3vO,EAAS99K,KAEnB4tZ,IADAzrY,EAAQ27J,EAAS37J,UAMlBA,EAAQgrY,GACH33O,GAAW23O,IACfA,EAAa,QACR33O,EAAS,IACbA,EAAS,KAMZu1O,EAAMv1O,OAASA,EACfu1O,EAAMoC,YAAeO,GAAoBP,GAAe,GAGnDS,EACJl7F,EAASilF,YAAa6U,EAAiB,CAAEiB,EAASN,EAAYpC,IAE9Dr4F,EAASolF,WAAY0U,EAAiB,CAAEzB,EAAOoC,EAAYhrY,IAI5D4oY,EAAM4B,WAAYA,GAClBA,OAAa/9X,EAER09X,GACJG,EAAmBz7U,QAAS48U,EAAY,cAAgB,YACvD,CAAE7C,EAAOn7Z,EAAGg+Z,EAAYH,EAAUtrY,IAIpCuqY,EAAiB7V,SAAU2V,EAAiB,CAAEzB,EAAOoC,IAEhDb,IACJG,EAAmBz7U,QAAS,eAAgB,CAAE+5U,EAAOn7Z,MAG3CuD,EAAOkuH,QAChBluH,EAAOmhB,MAAM08D,QAAS,cAKzB,OAAO+5U,GAGRsD,QAAS,SAAUz3Z,EAAKoJ,EAAMu6B,GAC7B,OAAOpnC,EAAO7B,IAAKsF,EAAKoJ,EAAMu6B,EAAU,SAGzC+zX,UAAW,SAAU13Z,EAAK2jC,GACzB,OAAOpnC,EAAO7B,IAAKsF,OAAKg4B,EAAW2L,EAAU,aAI/CpnC,EAAO0vB,KAAM,CAAE,MAAO,SAAU,SAAU0uB,EAAIwiE,GAC7C5gH,EAAQ4gH,GAAW,SAAUn9G,EAAKoJ,EAAMu6B,EAAUt6B,GAUjD,OAPK81E,EAAY/1E,KAChBC,EAAOA,GAAQs6B,EACfA,EAAWv6B,EACXA,OAAO4uB,GAIDz7B,EAAOwD,KAAMxD,EAAOixC,OAAQ,CAClCxtC,IAAKA,EACLqJ,KAAM8zG,EACN62S,SAAU3qZ,EACVD,KAAMA,EACNytZ,QAASlzX,GACPpnC,EAAOqrD,cAAe5nD,IAASA,QAIpCzD,EAAO44Z,eAAe,SAAUn8Z,GAC/B,IAAI/D,EACJ,IAAMA,KAAK+D,EAAEwrQ,QACa,iBAApBvvQ,EAAEgc,gBACNjY,EAAE87Z,YAAc97Z,EAAEwrQ,QAASvvQ,IAAO,OAMrCsH,EAAOqtZ,SAAW,SAAU5pZ,EAAK22B,EAASgF,GACzC,OAAOp/B,EAAOwD,KAAM,CACnBC,IAAKA,EAGLqJ,KAAM,MACN2qZ,SAAU,SACVrzT,OAAO,EACPt/F,OAAO,EACPq9G,QAAQ,EAKRu2S,WAAY,CACX,cAAe,cAEhBqC,WAAY,SAAUpwO,GACrB3qL,EAAO83Y,WAAYntN,EAAUvwJ,EAASgF,OAMzCp/B,EAAOm5B,GAAG8X,OAAQ,CACjBmqX,QAAS,SAAU9pX,GAClB,IAAIw3W,EAyBJ,OAvBKjtZ,KAAM,KACL+mF,EAAYtxC,KAChBA,EAAOA,EAAKzzC,KAAMhC,KAAM,KAIzBitZ,EAAO9oZ,EAAQsxC,EAAMz1C,KAAM,GAAIkqC,eAAgBm4G,GAAI,GAAIzuH,OAAO,GAEzD5zB,KAAM,GAAI2lB,YACdsnY,EAAKhmY,aAAcjnB,KAAM,IAG1BitZ,EAAKxlY,KAAK,WAGT,IAFA,IAAI85D,EAAOvhF,KAEHuhF,EAAKi+U,mBACZj+U,EAAOA,EAAKi+U,kBAGb,OAAOj+U,KACJ/T,OAAQxtE,OAGNA,MAGRy/Z,UAAW,SAAUhqX,GACpB,OAAKsxC,EAAYtxC,GACTz1C,KAAK6zB,MAAM,SAAUh3B,GAC3BsH,EAAQnE,MAAOy/Z,UAAWhqX,EAAKzzC,KAAMhC,KAAMnD,OAItCmD,KAAK6zB,MAAM,WACjB,IAAI7S,EAAO7c,EAAQnE,MAClB42M,EAAW51L,EAAK41L,WAEZA,EAAS95M,OACb85M,EAAS2oN,QAAS9pX,GAGlBz0B,EAAKwsD,OAAQ/3B,OAKhBw3W,KAAM,SAAUx3W,GACf,IAAIiqX,EAAiB34U,EAAYtxC,GAEjC,OAAOz1C,KAAK6zB,MAAM,SAAUh3B,GAC3BsH,EAAQnE,MAAOu/Z,QAASG,EAAiBjqX,EAAKzzC,KAAMhC,KAAMnD,GAAM44C,OAIlEkqX,OAAQ,SAAU77Z,GAIjB,OAHA9D,KAAK4S,OAAQ9O,GAAWoiZ,IAAK,QAASryX,MAAM,WAC3C1vB,EAAQnE,MAAOgyZ,YAAahyZ,KAAK+T,eAE3B/T,QAKTmE,EAAOi9Y,KAAKzK,QAAQxmI,OAAS,SAAU5uL,GACtC,OAAQp9E,EAAOi9Y,KAAKzK,QAAQjpV,QAAS6zB,IAEtCp9E,EAAOi9Y,KAAKzK,QAAQjpV,QAAU,SAAU6zB,GACvC,SAAWA,EAAKisE,aAAejsE,EAAK0sE,cAAgB1sE,EAAKixE,iBAAiB11J,SAM3EqH,EAAOm4Z,aAAa/yC,IAAM,WACzB,IACC,OAAO,IAAI7nX,EAAOoG,eACjB,MAAQ/G,MAGX,IAAI6+Z,GAAmB,CAGrBv1R,EAAG,IAIHw1R,KAAM,KAEPC,GAAe37Z,EAAOm4Z,aAAa/yC,MAEpCxoS,EAAQg/U,OAASD,IAAkB,oBAAqBA,GACxD/+U,EAAQp5E,KAAOm4Z,KAAiBA,GAEhC37Z,EAAO64Z,eAAe,SAAUz+X,GAC/B,IAAIgN,EAAUy0X,EAGd,GAAKj/U,EAAQg/U,MAAQD,KAAiBvhY,EAAQ8/X,YAC7C,MAAO,CACNp2Z,KAAM,SAAUmkQ,EAASzsL,GACxB,IAAI9iF,EACH0sX,EAAMhrV,EAAQgrV,MAWf,GATAA,EAAIvhX,KACHu2B,EAAQttB,KACRstB,EAAQ32B,IACR22B,EAAQt1B,MACRs1B,EAAQywR,SACRzwR,EAAQkyK,UAIJlyK,EAAQ0hY,UACZ,IAAMpja,KAAK0hC,EAAQ0hY,UAClB12C,EAAK1sX,GAAM0hC,EAAQ0hY,UAAWpja,GAmBhC,IAAMA,KAdD0hC,EAAQiF,UAAY+lV,EAAIpnK,kBAC5BonK,EAAIpnK,iBAAkB5jL,EAAQiF,UAQzBjF,EAAQ8/X,aAAgBjyJ,EAAS,sBACtCA,EAAS,oBAAuB,kBAItBA,EACVm9G,EAAI00C,iBAAkBpha,EAAGuvQ,EAASvvQ,IAInC0uC,EAAW,SAAUt6B,GACpB,OAAO,WACDs6B,IACJA,EAAWy0X,EAAgBz2C,EAAItoW,OAC9BsoW,EAAIroW,QAAUqoW,EAAI22C,QAAU32C,EAAIE,UAC/BF,EAAIuc,mBAAqB,KAEb,UAAT70X,EACJs4W,EAAI20C,QACgB,UAATjtZ,EAKgB,kBAAfs4W,EAAI/iM,OACf7mG,EAAU,EAAG,SAEbA,EAGC4pS,EAAI/iM,OACJ+iM,EAAI40C,YAINx+U,EACCigV,GAAkBr2C,EAAI/iM,SAAY+iM,EAAI/iM,OACtC+iM,EAAI40C,WAK+B,UAAjC50C,EAAI16L,cAAgB,SACM,kBAArB06L,EAAIrhX,aACV,CAAEi4Z,OAAQ52C,EAAIz6L,UACd,CAAE76K,KAAMs1W,EAAIrhX,cACbqhX,EAAIy0C,4BAQTz0C,EAAItoW,OAASsqB,IACby0X,EAAgBz2C,EAAIroW,QAAUqoW,EAAIE,UAAYl+U,EAAU,cAKnC3L,IAAhB2pV,EAAI22C,QACR32C,EAAI22C,QAAUF,EAEdz2C,EAAIuc,mBAAqB,WAGA,IAAnBvc,EAAIpB,YAMRzmX,EAAOmzB,YAAY,WACb0W,GACJy0X,QAQLz0X,EAAWA,EAAU,SAErB,IAGCg+U,EAAIthX,KAAMs2B,EAAQ+/X,YAAc//X,EAAQvtB,MAAQ,MAC/C,MAAQjQ,GAGT,GAAKwqC,EACJ,MAAMxqC,IAKTm9Z,MAAO,WACD3yX,GACJA,SAWLpnC,EAAO44Z,eAAe,SAAUn8Z,GAC1BA,EAAEy9Z,cACNz9Z,EAAEg2M,SAASkqG,QAAS,MAKtB38S,EAAO24Z,UAAW,CACjBH,QAAS,CACR77G,OAAQ,6FAGTlqG,SAAU,CACTkqG,OAAQ,2BAET+7G,WAAY,CACX,cAAe,SAAU5oZ,GAExB,OADA9P,EAAO83Y,WAAYhoY,GACZA,MAMV9P,EAAO44Z,cAAe,UAAU,SAAUn8Z,QACxBg/B,IAAZh/B,EAAE2nG,QACN3nG,EAAE2nG,OAAQ,GAEN3nG,EAAEy9Z,cACNz9Z,EAAEqQ,KAAO,UAKX9M,EAAO64Z,cAAe,UAAU,SAAUp8Z,GAIxC,IAAIkgT,EAAQv1Q,EADb,GAAK3qC,EAAEy9Z,aAAez9Z,EAAEw/Z,YAEvB,MAAO,CACNn4Z,KAAM,SAAUssB,EAAGorD,GAClBmhO,EAAS38S,EAAQ,YACf+gC,KAAMtkC,EAAEw/Z,aAAe,IACvB56Z,KAAM,CAAEkwM,QAAS90M,EAAEy/Z,cAAel/Y,IAAKvgB,EAAEgH,MACzCszC,GAAI,aAAc3P,EAAW,SAAUkjW,GACvC3tF,EAAO7gR,SACPsL,EAAW,KACNkjW,GACJ9uT,EAAuB,UAAb8uT,EAAIx9X,KAAmB,IAAM,IAAKw9X,EAAIx9X,QAKnD3N,EAAS26B,KAAK3Z,YAAaw8R,EAAQ,KAEpCo9G,MAAO,WACD3yX,GACJA,SAUL,IAAI+0X,GAAe,GAClBC,GAAS,oBAGVp8Z,EAAO24Z,UAAW,CACjB0D,MAAO,WACPC,cAAe,WACd,IAAIl1X,EAAW+0X,GAAat5Z,OAAW7C,EAAO43Y,QAAU,IAAQhqF,GAAMj5B,OAEtE,OADA94R,KAAMurC,IAAa,EACZA,KAKTpnC,EAAO44Z,cAAe,cAAc,SAAUn8Z,EAAG8/Z,EAAkB3E,GAElE,IAAI4E,EAAcC,EAAaC,EAC9BC,GAAuB,IAAZlga,EAAE4/Z,QAAqBD,GAAOh+X,KAAM3hC,EAAEgH,KAChD,MACkB,kBAAXhH,EAAEoQ,MAE6C,KADnDpQ,EAAE87Z,aAAe,IACjBryZ,QAAS,sCACXk2Z,GAAOh+X,KAAM3hC,EAAEoQ,OAAU,QAI5B,GAAK8vZ,GAAiC,UAArBlga,EAAEi7Z,UAAW,GA8D7B,OA3DA8E,EAAe//Z,EAAE6/Z,cAAgB15U,EAAYnmF,EAAE6/Z,eAC9C7/Z,EAAE6/Z,gBACF7/Z,EAAE6/Z,cAGEK,EACJlga,EAAGkga,GAAalga,EAAGkga,GAAWr5Z,QAAS84Z,GAAQ,KAAOI,IAC/B,IAAZ//Z,EAAE4/Z,QACb5/Z,EAAEgH,MAASyyZ,GAAO93X,KAAM3hC,EAAEgH,KAAQ,IAAM,KAAQhH,EAAE4/Z,MAAQ,IAAMG,GAIjE//Z,EAAEi8Z,WAAY,eAAkB,WAI/B,OAHMgE,GACL18Z,EAAOgvB,MAAOwtY,EAAe,mBAEvBE,EAAmB,IAI3Bjga,EAAEi7Z,UAAW,GAAM,OAGnB+E,EAAcl/Z,EAAQi/Z,GACtBj/Z,EAAQi/Z,GAAiB,WACxBE,EAAoB1ga,WAIrB47Z,EAAM/T,QAAQ,gBAGQpoX,IAAhBghY,EACJz8Z,EAAQzC,GAASo3Z,WAAY6H,GAI7Bj/Z,EAAQi/Z,GAAiBC,EAIrBhga,EAAG+/Z,KAGP//Z,EAAE6/Z,cAAgBC,EAAiBD,cAGnCH,GAAax5Z,KAAM65Z,IAIfE,GAAqB95U,EAAY65U,IACrCA,EAAaC,EAAmB,IAGjCA,EAAoBD,OAAchhY,KAI5B,YAYTmhD,EAAQggV,mBAAuB,WAC9B,IAAI18Y,EAAO/gB,EAAS2jC,eAAe85X,mBAAoB,IAAK18Y,KAE5D,OADAA,EAAK8C,UAAY,6BACiB,IAA3B9C,EAAKtQ,WAAWjX,OAHO,GAW/BqH,EAAO0xY,UAAY,SAAU7kY,EAAMskD,EAASwgV,GAC3C,MAAqB,kBAAT9kY,EACJ,IAEgB,mBAAZskD,IACXwgV,EAAcxgV,EACdA,GAAU,GAKLA,IAIAyrB,EAAQggV,qBAMZpwZ,GALA2kD,EAAUhyD,EAAS2jC,eAAe85X,mBAAoB,KAKvCnmZ,cAAe,SACzBgG,KAAOtd,EAASs+B,SAAShhB,KAC9B00C,EAAQr3B,KAAK3Z,YAAa3T,IAE1B2kD,EAAUhyD,GAKZypZ,GAAWjX,GAAe,IAD1BruE,EAASs+E,EAAW3zX,KAAMphB,IAKlB,CAAEskD,EAAQ16C,cAAe6sT,EAAQ,MAGzCA,EAASqlF,GAAe,CAAE97Y,GAAQskD,EAASy3V,GAEtCA,GAAWA,EAAQjwZ,QACvBqH,EAAQ4oZ,GAAU9sX,SAGZ97B,EAAOqwD,MAAO,GAAIizQ,EAAO1zT,cAlChC,IAAIpD,EAAM82T,EAAQslF,GAyCnB5oZ,EAAOm5B,GAAG1Y,KAAO,SAAUhd,EAAKiwF,EAAQtsD,GACvC,IAAIznC,EAAUmN,EAAM69K,EACnB9tK,EAAOhhB,KACP4jD,EAAMh8C,EAAIyC,QAAS,KAsDpB,OApDKu5C,GAAO,IACX9/C,EAAW60Z,GAAkB/wZ,EAAIoqC,MAAO4R,IACxCh8C,EAAMA,EAAIoqC,MAAO,EAAG4R,IAIhBmjC,EAAY8Q,IAGhBtsD,EAAWssD,EACXA,OAASj4D,GAGEi4D,GAA4B,kBAAXA,IAC5B5mF,EAAO,QAIH+P,EAAKlkB,OAAS,GAClBqH,EAAOwD,KAAM,CACZC,IAAKA,EAKLqJ,KAAMA,GAAQ,MACd2qZ,SAAU,OACV5qZ,KAAM6mF,IACH/2F,MAAM,SAAUoH,GAGnB4mL,EAAW3uL,UAEX6gB,EAAKy0B,KAAM3xC,EAIVK,EAAQ,SAAUqpE,OAAQrpE,EAAO0xY,UAAW3tY,IAAiBolE,KAAMxpE,GAGnEoE,MAKE8/Y,OAAQz8W,GAAY,SAAUwwX,EAAOv1O,GACxCxlK,EAAK6S,MAAM,WACV0X,EAASnrC,MAAOJ,KAAM8uL,GAAY,CAAEitO,EAAM7zZ,aAAcs+K,EAAQu1O,SAK5D/7Z,MAMRmE,EAAOi9Y,KAAKzK,QAAQ74V,SAAW,SAAUyjC,GACxC,OAAOp9E,EAAOk5C,KAAMl5C,EAAOuzZ,QAAQ,SAAUp6X,GAC5C,OAAOikD,IAASjkD,EAAGikD,QAChBzkF,QAMLqH,EAAO8Q,OAAS,CACf+rZ,UAAW,SAAUz/U,EAAMhjD,EAAS1hC,GACnC,IAAIoka,EAAaC,EAASC,EAAWC,EAAQC,EAAWC,EACvD3+X,EAAWx+B,EAAOmd,IAAKigE,EAAM,YAC7BggV,EAAUp9Z,EAAQo9E,GAClB3kF,EAAQ,GAGS,WAAb+lC,IACJ4+C,EAAK7uE,MAAMiwB,SAAW,YAGvB0+X,EAAYE,EAAQtsZ,SACpBksZ,EAAYh9Z,EAAOmd,IAAKigE,EAAM,OAC9B+/U,EAAan9Z,EAAOmd,IAAKigE,EAAM,SACI,aAAb5+C,GAAwC,UAAbA,KAC9Cw+X,EAAYG,GAAaj3Z,QAAS,SAAY,GAMhD+2Z,GADAH,EAAcM,EAAQ5+X,YACDoU,IACrBmqX,EAAUD,EAAYpqX,OAGtBuqX,EAAS73Z,WAAY43Z,IAAe,EACpCD,EAAU33Z,WAAY+3Z,IAAgB,GAGlCv6U,EAAYxoD,KAGhBA,EAAUA,EAAQv8B,KAAMu/E,EAAM1kF,EAAGsH,EAAOixC,OAAQ,GAAIisX,KAGjC,MAAf9iY,EAAQwY,MACZn6C,EAAMm6C,IAAQxY,EAAQwY,IAAMsqX,EAAUtqX,IAAQqqX,GAE1B,MAAhB7iY,EAAQsY,OACZj6C,EAAMi6C,KAAStY,EAAQsY,KAAOwqX,EAAUxqX,KAASqqX,GAG7C,UAAW3iY,EACfA,EAAQkmL,MAAMziN,KAAMu/E,EAAM3kF,GAG1B2ka,EAAQjgZ,IAAK1kB,KAKhBuH,EAAOm5B,GAAG8X,OAAQ,CAGjBngC,OAAQ,SAAUspB,GAGjB,GAAKp+B,UAAUrD,OACd,YAAmB8iC,IAAZrB,EACNv+B,KACAA,KAAK6zB,MAAM,SAAUh3B,GACpBsH,EAAO8Q,OAAO+rZ,UAAWhha,KAAMu+B,EAAS1hC,MAI3C,IAAI6Z,EAAM03I,EACT7sE,EAAOvhF,KAAM,GAEd,OAAMuhF,EAQAA,EAAKixE,iBAAiB11J,QAK5B4Z,EAAO6qE,EAAKgtE,wBACZH,EAAM7sE,EAAKr3C,cAAcumQ,YAClB,CACN15P,IAAKrgC,EAAKqgC,IAAMq3G,EAAIT,YACpB92G,KAAMngC,EAAKmgC,KAAOu3G,EAAIP,cARf,CAAE92G,IAAK,EAAGF,KAAM,QATxB,GAuBDlU,SAAU,WACT,GAAM3iC,KAAM,GAAZ,CAIA,IAAIklB,EAAcjQ,EAAQsuB,EACzBg+C,EAAOvhF,KAAM,GACbwha,EAAe,CAAEzqX,IAAK,EAAGF,KAAM,GAGhC,GAAwC,UAAnC1yC,EAAOmd,IAAKigE,EAAM,YAGtBtsE,EAASssE,EAAKgtE,4BAER,CAON,IANAt5I,EAASjV,KAAKiV,SAIdsuB,EAAMg+C,EAAKr3C,cACXhlB,EAAeq8D,EAAKr8D,cAAgBqe,EAAI/d,gBAChCN,IACLA,IAAiBqe,EAAIlf,MAAQa,IAAiBqe,EAAI/d,kBACT,WAA3CrhB,EAAOmd,IAAK4D,EAAc,aAE1BA,EAAeA,EAAaS,WAExBT,GAAgBA,IAAiBq8D,GAAkC,IAA1Br8D,EAAarR,YAG1D2tZ,EAAer9Z,EAAQ+gB,GAAejQ,UACzB8hC,KAAO5yC,EAAOmd,IAAK4D,EAAc,kBAAkB,GAChEs8Y,EAAa3qX,MAAQ1yC,EAAOmd,IAAK4D,EAAc,mBAAmB,IAKpE,MAAO,CACN6xB,IAAK9hC,EAAO8hC,IAAMyqX,EAAazqX,IAAM5yC,EAAOmd,IAAKigE,EAAM,aAAa,GACpE1qC,KAAM5hC,EAAO4hC,KAAO2qX,EAAa3qX,KAAO1yC,EAAOmd,IAAKigE,EAAM,cAAc,MAc1Er8D,aAAc,WACb,OAAOllB,KAAKynB,KAAK,WAGhB,IAFA,IAAIvC,EAAellB,KAAKklB,aAEhBA,GAA2D,WAA3C/gB,EAAOmd,IAAK4D,EAAc,aACjDA,EAAeA,EAAaA,aAG7B,OAAOA,GAAgBM,SAM1BrhB,EAAO0vB,KAAM,CAAEwrB,WAAY,cAAeC,UAAW,gBAAiB,SAAUylE,EAAQv/G,GACvF,IAAIuxC,EAAM,gBAAkBvxC,EAE5BrB,EAAOm5B,GAAIynF,GAAW,SAAUrhG,GAC/B,OAAOimY,EAAQ3pZ,MAAM,SAAUuhF,EAAMwjC,EAAQrhG,GAG5C,IAAI0qI,EAOJ,GANKgtP,EAAU75T,GACd6sE,EAAM7sE,EACuB,IAAlBA,EAAK1tE,WAChBu6I,EAAM7sE,EAAKkvN,kBAGC7wQ,IAARlc,EACJ,OAAO0qI,EAAMA,EAAK5oJ,GAAS+7E,EAAMwjC,GAG7BqpC,EACJA,EAAI3uG,SACF1I,EAAYq3G,EAAIP,YAAVnqI,EACPqzB,EAAMrzB,EAAM0qI,EAAIT,aAIjBpsE,EAAMwjC,GAAWrhG,IAEhBqhG,EAAQrhG,EAAKvjB,UAAUrD,YAU5BqH,EAAO0vB,KAAM,CAAE,MAAO,SAAU,SAAU0uB,EAAI/8C,GAC7CrB,EAAO8wZ,SAAUzvZ,GAASktZ,GAAc3xU,EAAQyyU,eAC/C,SAAUjyU,EAAMixU,GACf,GAAKA,EAIJ,OAHAA,EAAWD,GAAQhxU,EAAM/7E,GAGlB2sZ,GAAU5vX,KAAMiwX,GACtBruZ,EAAQo9E,GAAO5+C,WAAYn9B,GAAS,KACpCgtZ,QAQLruZ,EAAO0vB,KAAM,CAAE2oQ,OAAQ,SAAUG,MAAO,UAAW,SAAUv6R,EAAM6O,GAClE9M,EAAO0vB,KAAM,CACZ24C,QAAS,QAAUpqE,EACnBulB,QAAS1W,EACT,GAAI,QAAU7O,IACZ,SAAUq/Z,EAAcC,GAG1Bv9Z,EAAOm5B,GAAIokY,GAAa,SAAUjlV,EAAQ/8E,GACzC,IAAIkqZ,EAAYzpZ,UAAUrD,SAAY2ka,GAAkC,mBAAXhlV,GAC5DgpL,EAAQg8J,KAA6B,IAAXhlV,IAA6B,IAAV/8E,EAAiB,SAAW,UAE1E,OAAOiqZ,EAAQ3pZ,MAAM,SAAUuhF,EAAMtwE,EAAMvR,GAC1C,IAAI6jC,EAEJ,OAAK63W,EAAU75T,GAGyB,IAAhCmgV,EAASr3Z,QAAS,SACxBk3E,EAAM,QAAUn/E,GAChBm/E,EAAKj+E,SAASkiB,gBAAiB,SAAWpjB,GAIrB,IAAlBm/E,EAAK1tE,UACT0vB,EAAMg+C,EAAK/7D,gBAIJre,KAAK+K,IACXqvE,EAAKl9D,KAAM,SAAWjiB,GAAQmhC,EAAK,SAAWnhC,GAC9Cm/E,EAAKl9D,KAAM,SAAWjiB,GAAQmhC,EAAK,SAAWnhC,GAC9CmhC,EAAK,SAAWnhC,UAIDw9B,IAAVlgC,EAGNyE,EAAOmd,IAAKigE,EAAMtwE,EAAMw0P,GAGxBthQ,EAAOuO,MAAO6uE,EAAMtwE,EAAMvR,EAAO+lQ,KAChCx0P,EAAM24Y,EAAYntU,OAAS78C,EAAWgqX,UAM5CzlZ,EAAO0vB,KAAM,CACZ,YACA,WACA,eACA,YACA,cACA,aACE,SAAU0uB,EAAItxC,GAChB9M,EAAOm5B,GAAIrsB,GAAS,SAAUqsB,GAC7B,OAAOt9B,KAAKk7C,GAAIjqC,EAAMqsB,OAOxBn5B,EAAOm5B,GAAG8X,OAAQ,CAEjBvyC,KAAM,SAAUk/E,EAAO/wE,EAAMssB,GAC5B,OAAOt9B,KAAKk7C,GAAI6mC,EAAO,KAAM/wE,EAAMssB,IAEpC2e,OAAQ,SAAU8lC,EAAOzkD,GACxB,OAAOt9B,KAAK4jD,IAAKm+B,EAAO,KAAMzkD,IAG/B+1B,SAAU,SAAUvvD,EAAUi+E,EAAO/wE,EAAMssB,GAC1C,OAAOt9B,KAAKk7C,GAAI6mC,EAAOj+E,EAAUkN,EAAMssB,IAExCqkY,WAAY,SAAU79Z,EAAUi+E,EAAOzkD,GAGtC,OAA4B,IAArBn9B,UAAUrD,OAChBkD,KAAK4jD,IAAK9/C,EAAU,MACpB9D,KAAK4jD,IAAKm+B,EAAOj+E,GAAY,KAAMw5B,IAGrC4c,MAAO,SAAU0nX,EAAQC,GACxB,OAAO7ha,KAAKokF,WAAYw9U,GAASl9U,WAAYm9U,GAASD,MAIxDz9Z,EAAO0vB,KACN,wLAE4DtnB,MAAO,MACnE,SAAUg2C,EAAIngD,GAGb+B,EAAOm5B,GAAIl7B,GAAS,SAAU4O,EAAMssB,GACnC,OAAOn9B,UAAUrD,OAAS,EACzBkD,KAAKk7C,GAAI94C,EAAM,KAAM4O,EAAMssB,GAC3Bt9B,KAAKgiF,QAAS5/E,OAUlB,IAAIq7Y,GAAQ,qCAMZt5Y,EAAOi8E,MAAQ,SAAU9iD,EAAIg4B,GAC5B,IAAIimO,EAAK73O,EAAM08B,EAUf,GARwB,kBAAZ9qB,IACXimO,EAAMj+P,EAAIg4B,GACVA,EAAUh4B,EACVA,EAAKi+P,GAKAx0M,EAAYzpD,GAalB,OARAomB,EAAO1R,EAAMhwC,KAAM7B,UAAW,IAC9BigF,EAAQ,WACP,OAAO9iD,EAAGl9B,MAAOk1D,GAAWt1D,KAAM0jD,EAAKl7B,OAAQwpB,EAAMhwC,KAAM7B,eAItD24R,KAAOx7P,EAAGw7P,KAAOx7P,EAAGw7P,MAAQ30R,EAAO20R,OAElC14M,GAGRj8E,EAAO29Z,UAAY,SAAUC,GACvBA,EACJ59Z,EAAOslZ,YAEPtlZ,EAAOyjI,OAAO,IAGhBzjI,EAAOzD,QAAUD,MAAMC,QACvByD,EAAO69Z,UAAY95Y,KAAKoc,MACxBngC,EAAO2P,SAAWA,EAClB3P,EAAO4iF,WAAaA,EACpB5iF,EAAOi3Y,SAAWA,EAClBj3Y,EAAOuuU,UAAYA,EACnBvuU,EAAO8M,KAAOuqY,EAEdr3Y,EAAO2xB,IAAMyB,KAAKzB,IAElB3xB,EAAOg/W,UAAY,SAAUnjV,GAK5B,IAAI/uB,EAAO9M,EAAO8M,KAAM+uB,GACxB,OAAkB,WAAT/uB,GAA8B,WAATA,KAK5BjD,MAAOgyB,EAAMz2B,WAAYy2B,KAG5B77B,EAAOqD,KAAO,SAAUyM,GACvB,OAAe,MAARA,EACN,IACEA,EAAO,IAAKxM,QAASg2Y,GAAO,UAmBzB,kBACL,OAAOt5Y,GADF,QAAY,OAAZ,aAQP,IAGC89Z,GAAUvga,EAAOyC,OAGjB+9Z,GAAKxga,EAAO2C,EAwBb,OAtBAF,EAAOg+Z,WAAa,SAAU9yX,GAS7B,OARK3tC,EAAO2C,IAAMF,IACjBzC,EAAO2C,EAAI69Z,IAGP7yX,GAAQ3tC,EAAOyC,SAAWA,IAC9BzC,EAAOyC,OAAS89Z,IAGV99Z,GAMiB,qBAAb22Y,IACXp5Y,EAAOyC,OAASzC,EAAO2C,EAAIF,GAMrBA,M,gBC/nVP,IAAIi+Z,EAAUhsa,EAAQ,KAKtBF,EAAOC,QAAU8zJ,EACjB/zJ,EAAOC,QAAQmuC,MAAQA,EACvBpuC,EAAOC,QAAQghZ,QAsGf,SAAkBzzR,EAAKnlF,GACrB,OAAO8jY,EAAiB/9X,EAAMo/E,EAAKnlF,GAAUA,IAtG/CroC,EAAOC,QAAQksa,iBAAmBA,EAClCnsa,EAAOC,QAAQmsa,eAAiBA,EAOhC,IAAIC,EAAc,IAAI3nY,OAAO,CAG3B,UAOA,0GACAvuB,KAAK,KAAM,KASb,SAASi4B,EAAOo/E,EAAKnlF,GAQnB,IAPA,IAKIwtG,EALAr0H,EAAS,GACTra,EAAM,EACN8jC,EAAQ,EACR5zB,EAAO,GACPi1Z,EAAmBjkY,GAAWA,EAAQkkY,WAAa,IAGf,OAAhC12R,EAAMw2R,EAAYnwY,KAAKsxF,KAAe,CAC5C,IAAIzhH,EAAI8pI,EAAI,GACR22R,EAAU32R,EAAI,GACd92H,EAAS82H,EAAI5qG,MAKjB,GAJA5zB,GAAQm2G,EAAI1xE,MAAM7Q,EAAOlsB,GACzBksB,EAAQlsB,EAAShT,EAAEnF,OAGf4la,EACFn1Z,GAAQm1Z,EAAQ,OADlB,CAKA,IAAInha,EAAOmiH,EAAIviF,GACXwE,EAASomG,EAAI,GACb3pI,EAAO2pI,EAAI,GACXshQ,EAAUthQ,EAAI,GACdjwH,EAAQiwH,EAAI,GACZ42R,EAAW52R,EAAI,GACf62R,EAAW72R,EAAI,GAGfx+H,IACFmK,EAAO5Q,KAAKyG,GACZA,EAAO,IAGT,IAAIs1Z,EAAoB,MAAVl9X,GAA0B,MAARpkC,GAAgBA,IAASokC,EACrD0zD,EAAsB,MAAbspU,GAAiC,MAAbA,EAC7B5rB,EAAwB,MAAb4rB,GAAiC,MAAbA,EAC/BF,EAAY12R,EAAI,IAAMy2R,EACtB/nZ,EAAU4yX,GAAWvxX,EAEzBpE,EAAO5Q,KAAK,CACV1E,KAAMA,GAAQ/E,IACdsoC,OAAQA,GAAU,GAClB88X,UAAWA,EACX1rB,SAAUA,EACV19S,OAAQA,EACRwpU,QAASA,EACTD,WAAYA,EACZnoZ,QAASA,EAAUqoZ,EAAYroZ,GAAYmoZ,EAAW,KAAO,KAAOG,EAAaN,GAAa,SAclG,OATIthY,EAAQuiF,EAAI5mH,SACdyQ,GAAQm2G,EAAI7hG,OAAOsf,IAIjB5zB,GACFmK,EAAO5Q,KAAKyG,GAGPmK,EAoBT,SAASsrZ,EAA0Bt/S,GACjC,OAAO21D,UAAU31D,GAAKj8G,QAAQ,WAAW,SAAUvF,GACjD,MAAO,IAAMA,EAAEmpC,WAAW,GAAGj/B,SAAS,IAAIq5E,iBAmB9C,SAAS48U,EAAkB3qZ,EAAQ6mB,GAKjC,IAHA,IAAI36B,EAAU,IAAInD,MAAMiX,EAAO5a,QAGtBD,EAAI,EAAGA,EAAI6a,EAAO5a,OAAQD,IACR,kBAAd6a,EAAO7a,KAChB+G,EAAQ/G,GAAK,IAAI+9B,OAAO,OAASljB,EAAO7a,GAAG4d,QAAU,KAAMoqL,EAAMtmK,KAIrE,OAAO,SAAUyB,EAAK38B,GAMpB,IALA,IAAIkK,EAAO,GACPyD,EAAOgvB,GAAO,GAEd+sC,GADU1pE,GAAQ,IACD8mJ,OAAS64Q,EAA2B/6Y,mBAEhDprB,EAAI,EAAGA,EAAI6a,EAAO5a,OAAQD,IAAK,CACtC,IAAIy6B,EAAQ5f,EAAO7a,GAEnB,GAAqB,kBAAVy6B,EAAX,CAMA,IACI4mE,EADAx+F,EAAQsR,EAAKsmB,EAAMl1B,MAGvB,GAAa,MAAT1C,EAAe,CACjB,GAAI43B,EAAMy/W,SAAU,CAEdz/W,EAAMurY,UACRt1Z,GAAQ+pB,EAAMqO,QAGhB,SAEA,MAAM,IAAIlpC,UAAU,aAAe66B,EAAMl1B,KAAO,mBAIpD,GAAIgga,EAAQ1ia,GAAZ,CACE,IAAK43B,EAAM+hE,OACT,MAAM,IAAI58F,UAAU,aAAe66B,EAAMl1B,KAAO,kCAAoC8lB,KAAKC,UAAUzoB,GAAS,KAG9G,GAAqB,IAAjBA,EAAM5C,OAAc,CACtB,GAAIw6B,EAAMy/W,SACR,SAEA,MAAM,IAAIt6Y,UAAU,aAAe66B,EAAMl1B,KAAO,qBAIpD,IAAK,IAAIgX,EAAI,EAAGA,EAAI1Z,EAAM5C,OAAQsc,IAAK,CAGrC,GAFA8kF,EAAUnxB,EAAOrtE,EAAM0Z,KAElBxV,EAAQ/G,GAAG0lC,KAAK27D,GACnB,MAAM,IAAIzhG,UAAU,iBAAmB66B,EAAMl1B,KAAO,eAAiBk1B,EAAM7c,QAAU,oBAAsByN,KAAKC,UAAU+1E,GAAW,KAGvI3wF,IAAe,IAAN6L,EAAUke,EAAMqO,OAASrO,EAAMmrY,WAAavkU,OApBzD,CA4BA,GAFAA,EAAU5mE,EAAMsrY,SA5EbvpP,UA4EuC35K,GA5ExB+H,QAAQ,SAAS,SAAUvF,GAC/C,MAAO,IAAMA,EAAEmpC,WAAW,GAAGj/B,SAAS,IAAIq5E,iBA2EW1Y,EAAOrtE,IAErDkE,EAAQ/G,GAAG0lC,KAAK27D,GACnB,MAAM,IAAIzhG,UAAU,aAAe66B,EAAMl1B,KAAO,eAAiBk1B,EAAM7c,QAAU,oBAAsByjF,EAAU,KAGnH3wF,GAAQ+pB,EAAMqO,OAASu4D,QArDrB3wF,GAAQ+pB,EAwDZ,OAAO/pB,GAUX,SAASw1Z,EAAcr/S,GACrB,OAAOA,EAAIj8G,QAAQ,6BAA8B,QASnD,SAASq7Z,EAAahnZ,GACpB,OAAOA,EAAMrU,QAAQ,gBAAiB,QAUxC,SAASw7Z,EAAYlxY,EAAI+C,GAEvB,OADA/C,EAAG+C,KAAOA,EACH/C,EAST,SAAS8yK,EAAOtmK,GACd,OAAOA,GAAWA,EAAQosH,UAAY,GAAK,IAwE7C,SAAS23Q,EAAgB5qZ,EAAQod,EAAMyJ,GAChC6jY,EAAQttY,KACXyJ,EAAkCzJ,GAAQyJ,EAC1CzJ,EAAO,IAUT,IALA,IAAI41H,GAFJnsH,EAAUA,GAAW,IAEAmsH,OACjBp3G,GAAsB,IAAhB/U,EAAQ+U,IACdw8B,EAAQ,GAGHjzE,EAAI,EAAGA,EAAI6a,EAAO5a,OAAQD,IAAK,CACtC,IAAIy6B,EAAQ5f,EAAO7a,GAEnB,GAAqB,kBAAVy6B,EACTw4C,GAASizV,EAAazrY,OACjB,CACL,IAAIqO,EAASo9X,EAAazrY,EAAMqO,QAC5B0nW,EAAU,MAAQ/1W,EAAM7c,QAAU,IAEtCqa,EAAKhuB,KAAKwwB,GAENA,EAAM+hE,SACRg0S,GAAW,MAAQ1nW,EAAS0nW,EAAU,MAaxCv9T,GANIu9T,EAJA/1W,EAAMy/W,SACHz/W,EAAMurY,QAGCl9X,EAAS,IAAM0nW,EAAU,KAFzB,MAAQ1nW,EAAS,IAAM0nW,EAAU,MAKnC1nW,EAAS,IAAM0nW,EAAU,KAOzC,IAAIo1B,EAAYM,EAAaxkY,EAAQkkY,WAAa,KAC9CS,EAAoBpzV,EAAM99B,OAAOywX,EAAU3la,UAAY2la,EAkB3D,OAZK/3Q,IACH56E,GAASozV,EAAoBpzV,EAAM99B,MAAM,GAAIywX,EAAU3la,QAAUgzE,GAAS,MAAQ2yV,EAAY,WAI9F3yV,GADEx8B,EACO,IAIAo3G,GAAUw4Q,EAAoB,GAAK,MAAQT,EAAY,MAG3DQ,EAAW,IAAIroY,OAAO,IAAMk1C,EAAO+0H,EAAMtmK,IAAWzJ,GAe7D,SAASm1H,EAAc18I,EAAMunB,EAAMyJ,GAQjC,OAPK6jY,EAAQttY,KACXyJ,EAAkCzJ,GAAQyJ,EAC1CzJ,EAAO,IAGTyJ,EAAUA,GAAW,GAEjBhxB,aAAgBqtB,OAlJtB,SAAyBrtB,EAAMunB,GAE7B,IAAIoqX,EAAS3xY,EAAK+a,OAAO9e,MAAM,aAE/B,GAAI01Y,EACF,IAAK,IAAIriZ,EAAI,EAAGA,EAAIqiZ,EAAOpiZ,OAAQD,IACjCi4B,EAAKhuB,KAAK,CACR1E,KAAMvF,EACN8oC,OAAQ,KACR88X,UAAW,KACX1rB,UAAU,EACV19S,QAAQ,EACRwpU,SAAS,EACTD,UAAU,EACVnoZ,QAAS,OAKf,OAAOwoZ,EAAW11Z,EAAMunB,GAgIfquY,CAAe51Z,EAA6BunB,GAGjDstY,EAAQ70Z,GAxHd,SAAwBA,EAAMunB,EAAMyJ,GAGlC,IAFA,IAAIG,EAAQ,GAEH7hC,EAAI,EAAGA,EAAI0Q,EAAKzQ,OAAQD,IAC/B6hC,EAAM53B,KAAKmjJ,EAAa18I,EAAK1Q,GAAIi4B,EAAMyJ,GAASjW,QAKlD,OAAO26Y,EAFM,IAAIroY,OAAO,MAAQ8D,EAAMryB,KAAK,KAAO,IAAKw4L,EAAMtmK,IAEnCzJ,GAgHjBsuY,CAAqC71Z,EAA8BunB,EAAOyJ,GArGrF,SAAyBhxB,EAAMunB,EAAMyJ,GACnC,OAAO+jY,EAAeh+X,EAAM/2B,EAAMgxB,GAAUzJ,EAAMyJ,GAuG3C8kY,CAAsC91Z,EAA8BunB,EAAOyJ,K,6BCxapF,kCACA,IAAIxM,EAAK,2EAEM,SAASmrU,EAAgBriM,GACtC,KAAMrxJ,EAAQuoB,EAAGK,KAAKyoI,IAAa,MAAM,IAAI37H,MAAM,mBAAqB27H,GACxE,IAAIrxJ,EACJ,OAAO,IAAI85Z,EAAgB,CACzB3tZ,KAAMnM,EAAM,GACZmI,MAAOnI,EAAM,GACbyuI,KAAMzuI,EAAM,GACZ6X,OAAQ7X,EAAM,GACd+5Z,KAAM/5Z,EAAM,GACZ5C,MAAO4C,EAAM,GACbg6Z,MAAOh6Z,EAAM,GACb22I,UAAW32I,EAAM,IAAMA,EAAM,GAAGwoC,MAAM,GACtCxqC,KAAMgC,EAAM,GACZyH,KAAMzH,EAAM,MAMT,SAAS85Z,EAAgBzoQ,GAC9B76J,KAAK2V,UAA0BiqB,IAAnBi7H,EAAUllJ,KAAqB,IAAMklJ,EAAUllJ,KAAO,GAClE3V,KAAK2R,WAA4BiuB,IAApBi7H,EAAUlpJ,MAAsB,IAAMkpJ,EAAUlpJ,MAAQ,GACrE3R,KAAKi4I,UAA0Br4G,IAAnBi7H,EAAU5iB,KAAqB,IAAM4iB,EAAU5iB,KAAO,GAClEj4I,KAAKqhB,YAA8Bue,IAArBi7H,EAAUx5I,OAAuB,GAAKw5I,EAAUx5I,OAAS,GACvErhB,KAAKuja,OAAS1oQ,EAAU0oQ,KACxBvja,KAAK4G,WAA4Bg5B,IAApBi7H,EAAUj0J,WAAsBg5B,GAAai7H,EAAUj0J,MACpE5G,KAAKwja,QAAU3oQ,EAAU2oQ,MACzBxja,KAAKmgJ,eAAoCvgH,IAAxBi7H,EAAU1a,eAA0BvgH,GAAai7H,EAAU1a,UAC5EngJ,KAAKwH,OAASqzJ,EAAUrzJ,KACxBxH,KAAKiR,UAA0B2uB,IAAnBi7H,EAAU5pJ,KAAqB,GAAK4pJ,EAAU5pJ,KAAO,GAZnEisV,EAAgBz/V,UAAY6la,EAAgB7la,UAe5C6la,EAAgB7la,UAAU2O,SAAW,WACnC,OAAOpM,KAAK2V,KACN3V,KAAK2R,MACL3R,KAAKi4I,KACLj4I,KAAKqhB,QACJrhB,KAAKuja,KAAO,IAAM,UACH3jY,IAAf5/B,KAAK4G,MAAsB,GAAKO,KAAK+K,IAAI,EAAgB,EAAblS,KAAK4G,SACjD5G,KAAKwja,MAAQ,IAAM,UACA5jY,IAAnB5/B,KAAKmgJ,UAA0B,GAAK,IAAMh5I,KAAK+K,IAAI,EAAoB,EAAjBlS,KAAKmgJ,aAC3DngJ,KAAKwH,KAAO,IAAM,IACnBxH,KAAKiR,O,6BC7Cb,aAEe,aAAShQ,GACtB,IAAIkc,EAAQlc,EACRkkJ,EAAUlkJ,EAOd,SAAS41C,EAAKlqC,EAAGE,EAAGs7T,EAAIlxG,GAGtB,IAFU,MAANkxG,IAAYA,EAAK,GACX,MAANlxG,IAAYA,EAAKtqN,EAAE7P,QAChBqrU,EAAKlxG,GAAI,CACd,IAAMwsM,EAAOt7F,EAAKlxG,IAAQ,EACtB9xE,EAAQx4I,EAAE82Z,GAAM52Z,GAAK,EAAGs7T,EAAKs7F,EAAM,EAClCxsM,EAAKwsM,EAEZ,OAAOt7F,EAqBT,OAlCiB,IAAblnU,EAAEnE,SACJqgB,EAAQ,SAAChb,EAAG0K,GAAJ,OAAU5L,EAAEkB,GAAK0K,GACzBs4I,EAmCJ,SAA6BlkJ,GAC3B,OAAO,SAACkB,EAAG0K,GAAJ,OAAU8rX,YAAU13X,EAAEkB,GAAI0K,IApCrB62Z,CAAoBzia,IAgCzB,CAAC41C,OAAMw3B,OAPd,SAAgB1hE,EAAGE,EAAGs7T,EAAIlxG,GACd,MAANkxG,IAAYA,EAAK,GACX,MAANlxG,IAAYA,EAAKtqN,EAAE7P,QACvB,IAAMD,EAAIg6C,EAAKlqC,EAAGE,EAAGs7T,EAAIlxG,EAAK,GAC9B,OAAOp6N,EAAIsrU,GAAMhrT,EAAMxQ,EAAE9P,EAAI,GAAIgQ,IAAMsQ,EAAMxQ,EAAE9P,GAAIgQ,GAAKhQ,EAAI,EAAIA,GAG5CgmF,MAlBtB,SAAel2E,EAAGE,EAAGs7T,EAAIlxG,GAGvB,IAFU,MAANkxG,IAAYA,EAAK,GACX,MAANlxG,IAAYA,EAAKtqN,EAAE7P,QAChBqrU,EAAKlxG,GAAI,CACd,IAAMwsM,EAAOt7F,EAAKlxG,IAAQ,EACtB9xE,EAAQx4I,EAAE82Z,GAAM52Z,GAAK,EAAGoqN,EAAKwsM,EAC5Bt7F,EAAKs7F,EAAM,EAElB,OAAOt7F,M,2EjF1BL,EAAU,YAA8B,UAAW,CACvD,IAAK,kBAAM,8BAAgB,MAAK,YAAC,OAAI,IAAI,EAAE,kB,kCkFH7ChrU,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQwta,cAAW,EAEnB,IAAIppS,EA4BJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EA5BntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5C49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7C0kI,EAAe10E,EAAuBhwD,EAAQ,KAE9Co4K,EAAepoH,EAAuBhwD,EAAQ,MAE9CwkI,EAAcxkI,EAAQ,IAEtBwta,EAAiBxta,EAAQ,KAEzByta,EAAgBzta,EAAQ,KAExBykI,EAAWzkI,EAAQ,IAEnB0ta,EAAwB1ta,EAAQ,IAEhC2ta,EAAqB39W,EAAuBhwD,EAAQ,MAEpDmtK,EAAiCn9G,EAAuBhwD,EAAQ,MAEpE,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI2jY,EAAwB,SAAUhoS,IAhBtC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUska,EAAUhoS,GAEpB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAagka,GAE1B,SAASA,EAAS/ma,GAChB,IAAI24C,EA2BJ,OAvDJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAM2ja,IAEtBpuX,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZ9xD,OAAQ,GACR+wZ,SAAS,EACTC,gBAAgB,GAElB1uX,EAAM6F,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAM2uX,aAAe3uX,EAAM2uX,aAAarha,KAAK44H,EAAuBlmF,IACpEA,EAAM4uX,YAAc5uX,EAAM4uX,YAAYtha,KAAK44H,EAAuBlmF,IAClEA,EAAM6uX,eAAiB7uX,EAAM6uX,eAAevha,KAAK44H,EAAuBlmF,IACxEA,EAAM8uX,qBAAuB9uX,EAAM8uX,qBAAqBxha,KAAK44H,EAAuBlmF,IACpFA,EAAM+uX,sBAAwB/uX,EAAM+uX,sBAAsBzha,KAAK44H,EAAuBlmF,IACtFA,EAAMgvX,qBAAuBhvX,EAAMgvX,qBAAqB1ha,KAAK44H,EAAuBlmF,IACpFA,EAAMivX,cAAgBjvX,EAAMivX,cAAc3ha,KAAK44H,EAAuBlmF,IACtEA,EAAMkvX,oBAAsBlvX,EAAMkvX,oBAAoB5ha,KAAK44H,EAAuBlmF,IAClFA,EAAMmvX,qBAAuBnvX,EAAMmvX,qBAAqB7ha,KAAK44H,EAAuBlmF,IACpFA,EAAMovX,aAAepvX,EAAMovX,aAAa9ha,KAAK44H,EAAuBlmF,IACpEA,EAAMqvX,eAAiBrvX,EAAMqvX,eAAe/ha,KAAK44H,EAAuBlmF,IACxEA,EAAMsvX,iBAAmBtvX,EAAMsvX,iBAAiBhia,KAAK44H,EAAuBlmF,IAC5EA,EAAMuvX,cAAgBvvX,EAAMuvX,cAAcjia,KAAK44H,EAAuBlmF,IACtEA,EAAMwvX,gBAAkBxvX,EAAMwvX,gBAAgBlia,KAAK44H,EAAuBlmF,IAC1EA,EAAMyG,MAAQzG,EAAMyG,MAAMn5C,KAAK44H,EAAuBlmF,IACtDA,EAAMpxB,GAAKoxB,EAAM34C,MAAMunB,KAAM,EAAI4/Y,EAAmBvwY,WAC7C+hB,EAi3BT,OAp6BoB/4C,EAsDPmna,GAtDoBpma,EAsDV,CAAC,CACtBF,IAAK,UACLqC,MAAO,SAAiB4lB,GAClBtlB,KAAKpD,MAAMgsF,UAIV5oF,KAAKgla,eAAe1/Y,KACvBtlB,KAAKumF,WAAWH,QAEZpmF,KAAK+kE,MAAMk/V,eACbjka,KAAKila,cAELjla,KAAKkla,iBAIV,CACD7na,IAAK,eACLqC,MAAO,SAAsB4lB,GAC3B,IAAI+2B,EAASr8C,KAEbslB,EAAM6/Y,UACNnla,KAAKqkK,SAAS,CACZ2/P,SAAS,IACR,WACG3nX,EAAOz/C,MAAMwoa,SACf/oX,EAAOz/C,MAAMwoa,QAAQ9/Y,QAI1B,CACDjoB,IAAK,cACLqC,MAAO,SAAqB4lB,GAC1B,IAAI03B,EAASh9C,KAEbslB,EAAM6/Y,UACNnla,KAAKqkK,SAAS,CACZ2/P,SAAS,IACR,WACGhnX,EAAOpgD,MAAMsxH,QACflxE,EAAOpgD,MAAMsxH,OAAO5oG,QAIzB,CACDjoB,IAAK,eACLqC,MAAO,SAAsB4lB,GAC3BA,EAAM01B,oBAEP,CACD39C,IAAK,iBACLqC,MAAO,SAAwB4lB,GAC7B,OAAQA,EAAMu1B,OAEZ,KAAK,GACH76C,KAAKqla,UAAU//Y,GACf,MAGF,KAAK,GACHtlB,KAAKsla,QAAQhgZ,GACb,MAGF,KAAK,GACEtlB,KAAK+kE,MAAMk/V,iBACdjka,KAAKkla,cACL5/Y,EAAMw1B,kBAGR,MAGF,KAAK,GACH96C,KAAKila,cACL3/Y,EAAMw1B,iBACN,MAGF,KAAK,GACL,KAAK,EACH96C,KAAKila,cACL,MAEF,QACEjla,KAAKu9H,OAAOj4G,MAIjB,CACDjoB,IAAK,uBACLqC,MAAO,SAA8B4lB,GACnC,OAAQA,EAAMu1B,OAEZ,KAAK,GACH76C,KAAKqla,UAAU//Y,GACf,MAGF,KAAK,GACHtlB,KAAKsla,QAAQhgZ,GACb,MAGF,KAAK,GACL,KAAK,GACHtlB,KAAKila,cACL3/Y,EAAMw1B,oBAOX,CACDz9C,IAAK,UACLqC,MAAO,SAAiB4lB,GACtB,GAAItlB,KAAKpD,MAAM2hC,QAAS,CACtB,IAAIgnY,EAAiBvla,KAAKwla,oBACtBC,EAAoBzla,KAAK0la,gBAAgB1la,KAAKpD,MAAM8C,MAAO6la,GAC3D3/U,EAAW5lF,KAAK2la,oBAAoBF,EAAmBF,GAEvD3/U,GACF5lF,KAAK4la,WAAW,CACdvqX,cAAe/1B,EACf22S,OAAQr2O,IAKdtgE,EAAMw1B,mBAEP,CACDz9C,IAAK,YACLqC,MAAO,SAAmB4lB,GACxB,GAAItlB,KAAKpD,MAAM2hC,QACb,IAAKv+B,KAAK+kE,MAAMk/V,gBAAkB3+Y,EAAMwqY,OACtC9vZ,KAAKkla,kBACA,CACL,IAAIK,EAAiBvla,KAAKwla,oBACtBC,EAAoBzla,KAAK0la,gBAAgB1la,KAAKpD,MAAM8C,MAAO6la,GAC3Dl/U,EAAWrmF,KAAK6la,oBAAoBJ,EAAmBF,GAEvDl/U,GACFrmF,KAAK4la,WAAW,CACdvqX,cAAe/1B,EACf22S,OAAQ51O,IAMhB/gE,EAAMw1B,mBAEP,CACDz9C,IAAK,SACLqC,MAAO,SAAgB4lB,GACrB,IAAI46B,EAASlgD,KAETA,KAAK8la,eACPxxY,aAAat0B,KAAK8la,eAGpB,IAAIC,EAAOpuY,OAAOE,aAAavS,EAAMs2B,SACrC57C,KAAKgma,mBAAqBhma,KAAKima,kBAC/Bjma,KAAKima,kBAAoBF,EACrB/la,KAAKgma,qBAAuBhma,KAAKima,kBAAmBjma,KAAKkma,YAAclma,KAAKima,kBAAuBjma,KAAKkma,YAAclma,KAAKkma,YAAclma,KAAKkma,YAAcH,EAAOA,EACvK,IAAIp+P,EAAc3nK,KAAKpD,MAAM8C,MAAQM,KAAK0la,gBAAgB1la,KAAKpD,MAAM8C,MAAOM,KAAKpD,MAAM2hC,UAAY,EAC/F4nY,EAAYnma,KAAKoma,eAAez+P,GAEhCw+P,IACFnma,KAAK4la,WAAW,CACdvqX,cAAe/1B,EACf22S,OAAQkqG,IAEVnma,KAAKqma,uBAAwB,GAG/Brma,KAAK8la,cAAgBjxY,YAAW,WAC9BqrB,EAAOgmX,YAAc,OACpB,OAEJ,CACD7oa,IAAK,eACLqC,MAAO,SAAsByhC,GAC3B,IAAI86R,EAUJ,OARIj8T,KAAKkma,eACPjqG,EAASj8T,KAAKsma,oBAAoBnlY,EAAOnhC,KAAKpD,MAAM2hC,QAAQzhC,WAG1Dm/T,EAASj8T,KAAKsma,oBAAoB,EAAGnlY,KAIlC86R,IAER,CACD5+T,IAAK,sBACLqC,MAAO,SAA6BoY,EAAOw7B,GACzC,IAAK,IAAIz2C,EAAIib,EAAOjb,EAAIy2C,EAAKz2C,IAAK,CAChC,IAAI8lF,EAAM3iF,KAAKpD,MAAM2hC,QAAQ1hC,GAG7B,GAFYmD,KAAKuma,eAAe5jV,GAAKv2E,WAAW2gY,kBAAkB/sY,KAAKpD,MAAMk9K,cAEnEx8C,WAAWt9H,KAAKkma,YAAYn5B,kBAAkB/sY,KAAKpD,MAAMk9K,eACjE,OAAOn3F,EAIX,OAAO,OAER,CACDtlF,IAAK,SACLqC,MAAO,SAAgB6+B,GACrB,IAAIq7I,EAAc55K,KAAK+kE,MAAM9xD,OAAOzL,OAAOulY,kBAAkB/sY,KAAKpD,MAAMk9K,cACpE0sP,EAAexma,KAAKpD,MAAM6pa,SAAWzma,KAAKpD,MAAM6pa,SAASl6Z,MAAM,KAAO,CAACvM,KAAKpD,MAAM8pa,aAAe,SAEjGzjV,EAAQurF,EAAah7I,QAAQvgB,OAAOsrB,EAASioY,EAAc5sP,EAAa55K,KAAKpD,MAAMwjK,gBAAiBpgK,KAAKpD,MAAMk9K,cAEnH,OAAO72F,GAASA,EAAMnmF,OAASmmF,EAAQ,OAExC,CACD5lF,IAAK,sBACLqC,MAAO,SAA6ByhC,EAAO5C,GACzC,IAAI1hC,EAAIskC,EAAQ,EAEhB,GAAItkC,IAAM0hC,EAAQzhC,OAChB,OAAO,KAGT,IAAIm/T,EAAS19R,EAAQ1hC,GACrB,OAAIo/T,EAAOrzO,SAAiB5oF,KAAK6la,oBAAoBhpa,GAAeo/T,IAErE,CACD5+T,IAAK,sBACLqC,MAAO,SAA6ByhC,EAAO5C,GACzC,IAAI1hC,EAAIskC,EAAQ,EAEhB,GAAItkC,EAAI,EACN,OAAO,KAGT,IAAIo/T,EAAS19R,EAAQ1hC,GACrB,OAAIo/T,EAAOrzO,SAAiB5oF,KAAK2la,oBAAoB9oa,GAAeo/T,IAErE,CACD5+T,IAAK,uBACLqC,MAAO,SAA8B4lB,GACnCtlB,KAAK2ma,4BACLrhZ,EAAM01B,oBAEP,CACD39C,IAAK,wBACLqC,MAAO,SAA+B4lB,GACpCtlB,KAAKpD,MAAMwvH,SAAS,CAClB/wE,cAAe/1B,EAAM+1B,cACrB37C,MAAO4lB,EAAM3oB,OAAO+C,MACpBs7C,gBAAiB,aACjBF,eAAgB,aAChBn+C,OAAQ,CACNyF,KAAMpC,KAAKpD,MAAMwF,KACjB+hB,GAAInkB,KAAKmkB,GACTzkB,MAAO4lB,EAAM3oB,OAAO+C,WAIzB,CACDrC,IAAK,uBACLqC,MAAO,SAA8B4lB,GACnC,IAAIu7B,EAAS7gD,KAEbslB,EAAM6/Y,UACNnla,KAAKqkK,SAAS,CACZ2/P,SAAS,IACR,WACDnjX,EAAOokX,cAEHpkX,EAAOjkD,MAAMwoa,SACfvkX,EAAOjkD,MAAMwoa,QAAQ9/Y,QAI1B,CACDjoB,IAAK,gBACLqC,MAAO,SAAuB4lB,GAC5B,IAAIm8B,EAASzhD,KAEAslB,EAAM22S,OAEPrzO,WACV5oF,KAAK4la,WAAWtgZ,GAChBtlB,KAAKumF,WAAWH,SAGlBvxD,YAAW,WACT4sB,EAAOwjX,gBACN,OAEJ,CACD5na,IAAK,sBACLqC,MAAO,SAA6B4lB,GAClCtlB,KAAKqkK,SAAS,CACZpxJ,OAAQqS,EAAM3oB,OAAO+C,UAGxB,CACDrC,IAAK,cACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZpxJ,OAAQ,OAGX,CACD5V,IAAK,QACLqC,MAAO,SAAe4lB,GACpBtlB,KAAKpD,MAAMwvH,SAAS,CAClB/wE,cAAe/1B,EACf5lB,MAAO,KACPs7C,gBAAiB,aACjBF,eAAgB,aAChBn+C,OAAQ,CACNyF,KAAMpC,KAAKpD,MAAMwF,KACjB+hB,GAAInkB,KAAKmkB,GACTzkB,MAAO,QAGXM,KAAK4ma,wBAEN,CACDvpa,IAAK,aACLqC,MAAO,SAAoB4lB,GAGzB,GAF4BtlB,KAAK6ma,WAAW7ma,KAAKpD,MAAM8C,SAEzB4lB,EAAM22S,OAAQ,CAC1Cj8T,KAAK4ma,oBAAoBthZ,EAAM22S,QAC/B,IAAI6qG,EAAc9ma,KAAK+ma,eAAezhZ,EAAM22S,QAC5Cj8T,KAAKpD,MAAMwvH,SAAS,CAClB/wE,cAAe/1B,EAAM+1B,cACrB37C,MAAOona,EACP9rX,gBAAiB,aACjBF,eAAgB,aAChBn+C,OAAQ,CACNyF,KAAMpC,KAAKpD,MAAMwF,KACjB+hB,GAAInkB,KAAKmkB,GACTzkB,MAAOona,QAKd,CACDzpa,IAAK,kBACLqC,MAAO,SAAyBA,EAAO6+B,GACrC,IAAIyoY,GAAuB,EAE3B,GAAIzoY,EACF,IAAK,IAAI1hC,EAAI,EAAGA,EAAI0hC,EAAQzhC,OAAQD,IAAK,CACvC,IAAIiqa,EAAc9ma,KAAK+ma,eAAexoY,EAAQ1hC,IAE9C,GAAc,OAAV6C,GAAiC,MAAfona,GAAuBhsS,EAAatnG,QAAQ+sC,OAAO7gE,EAAOona,EAAa9ma,KAAKpD,MAAM8zI,SAAU,CAChHs2R,EAAsBnqa,EACtB,OAKN,OAAOmqa,IAER,CACD3pa,IAAK,aACLqC,MAAO,SAAoBA,GACzB,IAAIyhC,EAAQnhC,KAAK0la,gBAAgBhma,EAAOM,KAAKpD,MAAM2hC,SACnD,OAAkB,IAAX4C,EAAenhC,KAAKpD,MAAM2hC,QAAQ4C,GAAS,OAEnD,CACD9jC,IAAK,cACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ4/P,gBAAgB,MAGnB,CACD5ma,IAAK,cACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ4/P,gBAAgB,MAGnB,CACD5ma,IAAK,iBACLqC,MAAO,WACLM,KAAKina,MAAMvsZ,QAAQhI,MAAMykC,OAASxf,OAAOq8H,EAAYxgI,QAAQywI,kBAC7DjkK,KAAKkna,eAEN,CACD7pa,IAAK,mBACLqC,MAAO,WACLM,KAAKmna,eACLnna,KAAK2ma,4BACL3ma,KAAKwkK,qBACLxkK,KAAKona,qBAEDpna,KAAKpD,MAAMqW,QAAUjT,KAAKpD,MAAMyqa,sBAClCrna,KAAKsna,YAAYlhV,UAGpB,CACD/oF,IAAK,gBACLqC,MAAO,WACLM,KAAKuna,8BACLvna,KAAK4kK,uBACL5kK,KAAKwna,yBAEN,CACDnqa,IAAK,kBACLqC,MAAO,WACDM,KAAKpD,MAAMqW,QAAUjT,KAAKpD,MAAM6qa,mBAClCzna,KAAK0na,gBAGR,CACDrqa,IAAK,aACLqC,MAAO,WACL,IAAIovH,EAAY9uH,KAAKyiH,MAAM0xC,cAEvBn0J,KAAKpD,MAAMs6C,UACbl3C,KAAKina,MAAMvsZ,QAAQhI,MAAMg6C,SAAWsnG,EAAYxgI,QAAQmiB,SAASm5E,GAAa,KAE9EklC,EAAYxgI,QAAQm0Y,iBAAiB3na,KAAKina,MAAMvsZ,QAASo0G,IAEzDklC,EAAYxgI,QAAQo0Y,iBAAiB5na,KAAKina,MAAMvsZ,QAASo0G,KAG5D,CACDzxH,IAAK,eACLqC,MAAO,WACL,IAAImoa,EAAgB7zQ,EAAYxgI,QAAQ29H,WAAWnxJ,KAAKina,MAAMvsZ,QAAS,kBAEnEmtZ,GACF7zQ,EAAYxgI,QAAQ2zY,aAAanna,KAAKina,MAAMa,aAAcD,KAG7D,CACDxqa,IAAK,4BACLqC,MAAO,WACL,IAAIiiD,EAAS3hD,KAERA,KAAK+na,wBACR/na,KAAK+na,sBAAwB,SAAUziZ,GACjCq8B,EAAOojB,MAAMk/V,gBAAkBtiX,EAAOqmX,iBAAiB1iZ,IACzDq8B,EAAOsjX,eAIX3ha,SAASgwB,iBAAiB,QAAStzB,KAAK+na,0BAG3C,CACD1qa,IAAK,8BACLqC,MAAO,WACDM,KAAK+na,wBACPzka,SAASwhE,oBAAoB,QAAS9kE,KAAK+na,uBAC3C/na,KAAK+na,sBAAwB,QAGhC,CACD1qa,IAAK,qBACLqC,MAAO,WACL,IAAI0zD,EAASpzD,KAERA,KAAK6kK,gBACR7kK,KAAK6kK,cAAgB,IAAItB,EAA+B/vI,QAAQxzB,KAAK8uH,WAAW,WAC1E17D,EAAO2R,MAAMk/V,gBACf7wW,EAAO6xW,kBAKbjla,KAAK6kK,cAAcL,uBAEpB,CACDnnK,IAAK,uBACLqC,MAAO,WACDM,KAAK6kK,eACP7kK,KAAK6kK,cAAcD,yBAGtB,CACDvnK,IAAK,qBACLqC,MAAO,WACL,IAAI+zD,EAASzzD,KAERA,KAAKq4G,iBACRr4G,KAAKq4G,eAAiB,WAChB5kD,EAAOsR,MAAMk/V,gBACfxwW,EAAOwxW,eAIXvja,OAAO4xB,iBAAiB,SAAUtzB,KAAKq4G,mBAG1C,CACDh7G,IAAK,uBACLqC,MAAO,WACDM,KAAKq4G,iBACP32G,OAAOojE,oBAAoB,SAAU9kE,KAAKq4G,gBAC1Cr4G,KAAKq4G,eAAiB,QAGzB,CACDh7G,IAAK,mBACLqC,MAAO,SAA0B4lB,GAC/B,OAAOtlB,KAAK8uH,aAAe9uH,KAAK8uH,UAAUm5S,WAAW3iZ,EAAM3oB,SAAWqD,KAAKgla,eAAe1/Y,IAAUtlB,KAAK8uH,UAAU3uE,SAAS76B,EAAM3oB,SAAWqD,KAAKina,OAASjna,KAAKina,MAAMvsZ,SAAW1a,KAAKina,MAAMvsZ,QAAQylC,SAAS76B,EAAM3oB,WAEpN,CACDU,IAAK,iBACLqC,MAAO,SAAwB4lB,GAC7B,OAAO0uI,EAAYxgI,QAAQkwD,SAASp+D,EAAM3oB,OAAQ,2BAEnD,CACDU,IAAK,sBACLqC,MAAO,SAA6Bu8T,GAC9Bj8T,KAAKyiH,QACPziH,KAAKyiH,MAAM/iH,MAAQu8T,EAASj8T,KAAKuma,eAAetqG,GAAUj8T,KAAKpD,MAAM8C,OAAS,MAGjF,CACDrC,IAAK,YACLqC,MAAO,WACL,OAAOM,KAAK+kE,MAAM9xD,QAAUjT,KAAK+kE,MAAM9xD,OAAOzL,OAAO1K,OAAS,IAE/D,CACDO,IAAK,iBACLqC,MAAO,SAAwBu8T,GAC7B,OAAOj8T,KAAKpD,MAAM8pa,YAAc5rS,EAAatnG,QAAQkhI,iBAAiBunK,EAAQj8T,KAAKpD,MAAM8pa,kBAAmC9mY,IAApBq8R,EAAM,MAA0BA,EAAM,MAAYA,IAE3J,CACD5+T,IAAK,iBACLqC,MAAO,SAAwBu8T,GAC7B,OAAOj8T,KAAKpD,MAAMkqa,YAAchsS,EAAatnG,QAAQkhI,iBAAiBunK,EAAQj8T,KAAKpD,MAAMkqa,kBAAmClnY,IAApBq8R,EAAM,MAA0BA,EAAM,MAAYA,IAE3J,CACD5+T,IAAK,eACLqC,MAAO,SAAsBu8T,EAAQ96R,GACnC,OAAOnhC,KAAKpD,MAAM8zI,QAAU5V,EAAatnG,QAAQkhI,iBAAiBunK,EAAQj8T,KAAKpD,MAAM8zI,SAAW,UAAUloH,OAAOxoB,KAAKuma,eAAetqG,GAAS,KAAKzzS,OAAO2Y,KAE3J,CACD9jC,IAAK,gBACLqC,MAAO,WACL,OAAOM,KAAKkoa,aAAaC,kBAE1B,CACD9qa,IAAK,oBACLqC,MAAO,WACL,OAAIM,KAAKpD,MAAM2hC,SAAWv+B,KAAKywK,YACtBzwK,KAAKiT,OAAOjT,KAAKpD,MAAM2hC,SAGzBv+B,KAAKpD,MAAM2hC,UAEnB,CACDlhC,IAAK,mBACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAM+yS,UAAY3vS,KAAKyiH,MAAO,CACrC,IAAI2lT,EAAiBpoa,KAAK6ma,WAAW7ma,KAAKpD,MAAM8C,OAE5CA,GADQ0oa,EAAiBpoa,KAAKuma,eAAe6B,GAAkB,OAC9Cpoa,KAAKpD,MAAM8C,OAAS,GACzCM,KAAKyiH,MAAM/iH,MAAQA,KAGtB,CACDrC,IAAK,oBACLqC,MAAO,WACDM,KAAKpD,MAAMyra,WAAaroa,KAAKumF,YAC/BvmF,KAAKumF,WAAWH,QAGdpmF,KAAKpD,MAAMg/H,SACb57H,KAAK67H,gBAGP77H,KAAKsoa,mBACLtoa,KAAKkoa,aAAaxoD,cAAgB,IAEnC,CACDriX,IAAK,uBACLqC,MAAO,WACLM,KAAKuna,8BACLvna,KAAKwna,uBAEDxna,KAAK6kK,gBACP7kK,KAAK6kK,cAAc9oH,UACnB/7C,KAAK6kK,cAAgB,MAGnB7kK,KAAK47H,UACP57H,KAAK47H,QAAQ7/E,UACb/7C,KAAK47H,QAAU,MAGb57H,KAAKuoa,cACPj0Y,aAAat0B,KAAKuoa,aAClBvoa,KAAKuoa,YAAc,QAGtB,CACDlra,IAAK,qBACLqC,MAAO,SAA4Bo8H,GAC7B97H,KAAK+kE,MAAMk/V,iBACTjka,KAAKpD,MAAMqW,QACbjT,KAAKkna,aAGHprS,EAAUp8H,QAAUM,KAAKpD,MAAM8C,OACjCM,KAAKmna,gBAILrrS,EAAUF,UAAY57H,KAAKpD,MAAMg/H,UAC/B57H,KAAK47H,QAAS57H,KAAK47H,QAAQG,cAAc/7H,KAAKpD,MAAMg/H,SAAc57H,KAAK67H,kBAGzE77H,KAAK+kE,MAAM9xD,QAAYjT,KAAKpD,MAAM2hC,SAAyC,IAA9Bv+B,KAAKpD,MAAM2hC,QAAQzhC,QAClEkD,KAAKqkK,SAAS,CACZpxJ,OAAQ,KAIZjT,KAAKsoa,mBACLtoa,KAAKkoa,aAAaxoD,cAAgB,IAEnC,CACDriX,IAAK,qBACLqC,MAAO,SAA4B0oa,GACjC,IAAIr0W,EAAU/zD,KAEVwoa,EAAiCjuS,EAAO/mG,QAAQ5Y,cAAc,SAAU,CAC1Elb,MAAO,IACNM,KAAKpD,MAAM6xH,aAEVwtM,EAASmsG,EAA8B7tS,EAAO/mG,QAAQ5Y,cAAc,SAAU,CAChFlb,MAAO0oa,EAAe1oa,OACrBM,KAAKuma,eAAe6B,IAAmB,KAC1C,OAAoB7tS,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,gDACG41G,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACrDwzD,IAAK,SAAaruC,GAChB,OAAOg0B,EAAQm0W,aAAenoY,GAEhCsuF,SAAUruH,KAAKpD,MAAMyxH,SACrBjsH,KAAMpC,KAAKpD,MAAMwF,KACjBgsH,SAAU,KACV,cAAe,QACdo6S,EAAmBvsG,MAEvB,CACD5+T,IAAK,gBACLqC,MAAO,WACLM,KAAK47H,SAAU,EAAIf,EAASmB,KAAK,CAC/Br/H,OAAQqD,KAAK8uH,UACbnnG,QAAS3nB,KAAKpD,MAAMg/H,QACpBr9F,QAASv+B,KAAKpD,MAAMq/H,mBAGvB,CACD5+H,IAAK,uBACLqC,MAAO,WACL,IAAIw0D,EAAUl0D,KAEd,OAAoBu6H,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,uBACG41G,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpDwzD,IAAK,SAAaruC,GAChB,OAAOm0B,EAAQqyB,WAAaxmD,GAE9B5b,GAAInkB,KAAKpD,MAAM6ra,QACfx3Z,KAAM,OACNmzS,UAAU,EACV,gBAAiB,UACjBghH,QAASpla,KAAKkka,aACdh2S,OAAQluH,KAAKmka,YACbroX,UAAW97C,KAAKoka,eAChBx7U,SAAU5oF,KAAKpD,MAAMgsF,SACrBwlC,SAAUpuH,KAAKpD,MAAMwxH,SACrB,aAAcpuH,KAAKpD,MAAM8ra,UACzB,kBAAmB1oa,KAAKpD,MAAM+ra,oBAGjC,CACDtra,IAAK,cACLqC,MAAO,SAAqB0oa,GAC1B,IAAIQ,EAAU5oa,KAEV++D,EAAQqpW,EAAiBpoa,KAAKuma,eAAe6B,GAAkB,KAEnE,GAAIpoa,KAAKpD,MAAM+yS,SAAU,CACvB,IAAIjwS,EAAQq/D,GAAS/+D,KAAKpD,MAAM8C,OAAS,GACzC,OAAoB66H,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACxDwzD,IAAK,SAAaruC,GAChB,OAAO6oY,EAAQnmT,MAAQ1iF,GAEzB9uB,KAAM,OACNs2G,aAAc7nH,EACdilB,UAAW,+BACXikE,SAAU5oF,KAAKpD,MAAMgsF,SACrB6lC,YAAazuH,KAAKpD,MAAM6xH,YACxB15B,UAAW/0F,KAAKpD,MAAMm4F,UACtB35C,QAASp7C,KAAKqka,qBACdn/F,QAASllU,KAAKska,sBACdc,QAASpla,KAAKuka,qBACdr2S,OAAQluH,KAAKmka,YACb,aAAcnka,KAAKpD,MAAM8ra,UACzB,kBAAmB1oa,KAAKpD,MAAM+ra,eAC9B,gBAAiB,YAGnB,IAAIhkZ,GAAY,EAAIi2G,EAAYtP,YAAY,+BAAgC,CAC1E,gBAA2B,OAAVvsD,GAAkB/+D,KAAKpD,MAAM6xH,YAC9C,yBAAoC,OAAV1vD,IAAmB/+D,KAAKpD,MAAM6xH,cAEtD9mG,EAAU3nB,KAAKpD,MAAMisa,cAAgB/tS,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAMisa,cAAeT,EAAgBpoa,KAAKpD,OAASmiE,GAAS/+D,KAAKpD,MAAM6xH,aAAe,QACvK,OAAoB8L,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACvDwzD,IAAK,SAAaruC,GAChB,OAAO6oY,EAAQnmT,MAAQ1iF,GAEzBpb,UAAWA,GACVgD,KAGN,CACDtqB,IAAK,kBACLqC,MAAO,WACL,OAAwB,MAApBM,KAAKpD,MAAM8C,OAAiBM,KAAKpD,MAAMmsa,YAAc/oa,KAAKpD,MAAMgsF,SAC9C2xC,EAAO/mG,QAAQ5Y,cAAc,IAAK,CACpD+J,UAAW,oCACXy2B,QAASp7C,KAAKg8C,QAIX,OAER,CACD3+C,IAAK,qBACLqC,MAAO,WACL,IAAIspa,EAAUhpa,KAEd,OAAoBu6H,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChB,OAAOipY,EAAQhnV,QAAUjiD,GAE3Bpb,UAAW,qBACX+6J,KAAM,SACN,gBAAiB,UACjB,gBAAiB1/K,KAAK+kE,MAAMk/V,gBACd1pS,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,8DAGd,CACDtnB,IAAK,cACLqC,MAAO,SAAqB0oa,GAC1B,IAAIa,EAAUjpa,KAEVula,EAAiBvla,KAAKwla,oBAE1B,GAAID,GAAkBA,EAAezoa,OACnC,OAAOyoa,EAAe99Y,KAAI,SAAUw0S,EAAQ96R,GAC1C,IAAIulY,EAAcuC,EAAQ1C,eAAetqG,GAErCitG,EAAYD,EAAQE,aAAaltG,EAAQ96R,GAE7C,OAAoBo5F,EAAO/mG,QAAQ5Y,cAAcipZ,EAAcuF,aAAc,CAC3E/ra,IAAK6ra,EACLnqW,MAAO2nW,EACPzqG,OAAQA,EACRvpJ,SAAUu2P,EAAQrsa,MAAMysa,aACxBhhV,SAAU+/U,IAAmBnsG,EAC7BrzO,SAAUqzO,EAAOrzO,SACjBxtC,QAAS6tX,EAAQzE,mBAKvB,GAAIxka,KAAKywK,YAAa,CACpB,IAAI64P,EAAqBxuS,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAM0sa,mBAAoBtpa,KAAKpD,OAEhG,OAAoB29H,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrD+J,UAAW,4BACV2kZ,GAGL,OAAO,OAER,CACDjsa,IAAK,eACLqC,MAAO,WACL,IAAI6pa,EAAUvpa,KAEd,OAAIA,KAAKpD,MAAMqW,OACOsnH,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,qBACG41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,+BACG41G,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpDwzD,IAAK,SAAaruC,GAChB,OAAOwpY,EAAQjC,YAAcvnY,GAE/B9uB,KAAM,OACNk9G,aAAc,MACdxpG,UAAW,4CACX8pG,YAAazuH,KAAKpD,MAAMyjK,kBACxBvkH,UAAW97C,KAAK0ka,qBAChBt4S,SAAUpsH,KAAKyka,oBACf/ka,MAAOM,KAAK+kE,MAAM9xD,SACHsnH,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACpD+J,UAAW,0CAIR,OAER,CACDtnB,IAAK,SACLqC,MAAO,WACL,IAAI8pa,EAAUxpa,KAEV2kB,GAAY,EAAIi2G,EAAYtP,YAAY,wCAAyCtrH,KAAKpD,MAAM+nB,UAAW,CACzG,aAAc3kB,KAAKpD,MAAMgsF,SACzB,UAAW5oF,KAAK+kE,MAAMi/V,QACtB,uBAAwBhka,KAAKpD,MAAMmsa,YAAc/oa,KAAKpD,MAAMgsF,SAC5D,wBAAyB5oF,KAAKpD,MAAM8C,MACpC,uBAAwBM,KAAK+kE,MAAMi/V,UAEjCoE,EAAiBpoa,KAAK6ma,WAAW7ma,KAAKpD,MAAM8C,OAC5C+pa,EAAezpa,KAAK0pa,mBAAmBtB,GACvCuB,EAAiB3pa,KAAK4pa,uBACtBC,EAAe7pa,KAAKw8H,YAAY4rS,GAChC0B,EAAe9pa,KAAK+pa,qBACpB9mV,EAAQjjF,KAAKilN,YAAYmjN,GACzB5nQ,EAAgBxgK,KAAKgqa,eACrBC,EAAYjqa,KAAKkqa,kBACrB,OAAoB3vS,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDuJ,GAAInkB,KAAKmkB,GACTiqD,IAAK,SAAaruC,GAChB,OAAOypY,EAAQ16S,UAAY/uF,GAE7Bpb,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,MAClB0oC,QAASp7C,KAAKo7C,QACdL,YAAa/6C,KAAKpD,MAAMm+C,YACxByI,cAAexjD,KAAKpD,MAAM4mD,eACzBmmX,EAAgBF,EAAcI,EAAcI,EAAWH,EAA2BvvS,EAAO/mG,QAAQ5Y,cAAckpZ,EAAsB76O,cAAe,CACrJ39D,WAAY,sBACZ+6D,GAAIrmL,KAAK+kE,MAAMk/V,eACf9rU,QAAS,CACPguF,MAAO,IACPa,KAAM,KAERV,eAAe,EACfwB,QAAS9nL,KAAK4ka,eACd/8O,UAAW7nL,KAAK6ka,iBAChB58O,OAAQjoL,KAAK8ka,cACb38O,SAAUnoL,KAAK+ka,iBACDxqS,EAAO/mG,QAAQ5Y,cAAcgpZ,EAAeuG,cAAe,CACzE/7V,IAAK,SAAaruC,GAChB,OAAOypY,EAAQvC,MAAQlnY,GAEzBmX,SAAUl3C,KAAKpD,MAAMs6C,SACrBkzX,WAAYpqa,KAAKpD,MAAMwta,WACvBC,eAAgBrqa,KAAKpD,MAAMyta,eAC3BhtP,aAAcr9K,KAAKpD,MAAMygL,aACzBpqK,OAAQutJ,EACRplH,QAASp7C,KAAK2ka,cACb1hV,UAh6BqEvmF,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAo6B3Kmma,EAl5BmB,CAm5B1BppS,EAAOuC,WAET3mI,EAAQwta,SAAWA,EAEnB33W,EAAgB23W,EAAU,eAAgB,CACxCx/Y,GAAI,KACJ/hB,KAAM,KACN1C,MAAO,KACP6+B,QAAS,KACTmoY,YAAa,KACbI,YAAa,KACb+B,cAAe,KACfQ,aAAc,KACd32Z,MAAO,KACPiS,UAAW,KACX04J,aAAc,QACdpqK,QAAQ,EACRwzZ,SAAU,KACVrmQ,gBAAiB,WACjBC,kBAAmB,KACnByZ,kBAAcl6I,EACd0pY,mBAAoB,mBACpB35H,UAAU,EACVlhL,YAAa,KACbJ,UAAU,EACVzlC,UAAU,EACV1xC,SAAU,KACVk3E,SAAU,KACVi6S,WAAW,EACXhB,sBAAsB,EACtBI,mBAAmB,EACnB4C,eAAgB,KAChBD,WAAY,KACZ15R,QAAS,KACT+3R,QAAS,KACTM,WAAW,EACXh0U,UAAW,KACX6mC,QAAS,KACTK,eAAgB,KAChBysS,UAAW,KACXC,eAAgB,KAChBv8S,SAAU,KACVg5S,QAAS,KACTl3S,OAAQ,KACRnzE,YAAa,KACbyI,cAAe,OAGjBwI,EAAgB23W,EAAU,YAAa,CACrCx/Y,GAAIw2G,EAAWnnG,QAAQw2F,OACvB5nH,KAAMu4H,EAAWnnG,QAAQw2F,OACzBtqH,MAAOi7H,EAAWnnG,QAAQy2F,IAC1B1rF,QAASo8F,EAAWnnG,QAAQuvB,MAC5B2jX,YAAa/rS,EAAWnnG,QAAQw2F,OAChC88S,YAAansS,EAAWnnG,QAAQw2F,OAChC6+S,cAAeluS,EAAWnnG,QAAQy2F,IAClCo/S,aAAc1uS,EAAWnnG,QAAQy2F,IACjCv3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,OAC9BqzD,aAAc1iD,EAAWnnG,QAAQw2F,OACjC/2G,OAAQ0nH,EAAWnnG,QAAQs2F,KAC3B28S,SAAU9rS,EAAWnnG,QAAQw2F,OAC7Bo2C,gBAAiBzlC,EAAWnnG,QAAQw2F,OACpCq2C,kBAAmB1lC,EAAWnnG,QAAQw2F,OACtC8vD,aAAcn/C,EAAWnnG,QAAQw2F,OACjCs/S,mBAAoB3uS,EAAWnnG,QAAQy2F,IACvC0lL,SAAUh1K,EAAWnnG,QAAQs2F,KAC7B2E,YAAakM,EAAWnnG,QAAQw2F,OAChCqE,SAAUsM,EAAWnnG,QAAQs2F,KAC7BlhC,SAAU+xC,EAAWnnG,QAAQs2F,KAC7B5yE,SAAUyjF,EAAWnnG,QAAQy2F,IAC7BmE,SAAUuM,EAAWnnG,QAAQu2F,OAC7Bs+S,UAAW1tS,EAAWnnG,QAAQs2F,KAC9Bu9S,qBAAsB1sS,EAAWnnG,QAAQs2F,KACzC29S,kBAAmB9sS,EAAWnnG,QAAQs2F,KACtCkwD,KAAMr/C,EAAWnnG,QAAQs2F,KACzBugT,eAAgB1vS,EAAWnnG,QAAQw2F,OACnCogT,WAAYzvS,EAAWnnG,QAAQ1wB,OAC/B4tI,QAAS/V,EAAWnnG,QAAQw2F,OAC5By+S,QAAS9tS,EAAWnnG,QAAQw2F,OAC5B++S,UAAWpuS,EAAWnnG,QAAQs2F,KAC9B/0B,UAAW4lC,EAAWnnG,QAAQu2F,OAC9B6R,QAASjB,EAAWnnG,QAAQw2F,OAC5BiS,eAAgBtB,EAAWnnG,QAAQ1wB,OACnC4la,UAAW/tS,EAAWnnG,QAAQw2F,OAC9B2+S,eAAgBhuS,EAAWnnG,QAAQw2F,OACnCoC,SAAUuO,EAAWnnG,QAAQi8B,KAC7B21W,QAASzqS,EAAWnnG,QAAQi8B,KAC5By+D,OAAQyM,EAAWnnG,QAAQi8B,KAC3B1U,YAAa4/E,EAAWnnG,QAAQi8B,KAChCjM,cAAem3E,EAAWnnG,QAAQi8B,Q,6BCxiCpCtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQm0a,iBAAc,EAEtB,IAMgCtqY,EAN5Bu6F,EAUJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAVntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAI4B36F,EAJQ5pC,EAAQ,KAIK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAFnF46F,EAAcxkI,EAAQ,IAI1B,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIsqY,EAA2B,SAAU3uS,IAhBzC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUira,EAAa3uS,GAEvB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa2qa,GAE1B,SAASA,EAAY1ta,GACnB,IAAI24C,EAYJ,OAxCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMsqa,IAEtB/0X,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZi/V,SAAS,GAEXzuX,EAAM6F,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAM6vX,QAAU7vX,EAAM6vX,QAAQvia,KAAK44H,EAAuBlmF,IAC1DA,EAAM24E,OAAS34E,EAAM24E,OAAOrrH,KAAK44H,EAAuBlmF,IACxDA,EAAMuG,UAAYvG,EAAMuG,UAAUj5C,KAAK44H,EAAuBlmF,IACvDA,EAsET,OA1GoB/4C,EAuCP8ta,GAvCoB/sa,EAuCP,CAAC,CACzBF,IAAK,UACLqC,MAAO,SAAiB4lB,GAClBtlB,KAAKpD,MAAMw+C,UAAYp7C,KAAKpD,MAAMgsF,UACpC5oF,KAAKpD,MAAMw+C,QAAQ,CACjBC,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,QACjBp+S,QAASnsH,KAAKpD,MAAMyrF,aAIzB,CACDhrF,IAAK,UACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ2/P,SAAS,MAGZ,CACD3ma,IAAK,SACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ2/P,SAAS,MAGZ,CACD3ma,IAAK,YACLqC,MAAO,SAAmB4lB,GACN,UAAdA,EAAMjoB,MACR2C,KAAKo7C,QAAQ91B,GACbA,EAAMw1B,oBAGT,CACDz9C,IAAK,SACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,yCAA0C,CACpF,cAAetrH,KAAKpD,MAAMyrF,SAC1B,aAAcroF,KAAKpD,MAAMgsF,SACzB,UAAW5oF,KAAK+kE,MAAMi/V,UAEpBlmP,GAAgB,EAAIljD,EAAYtP,YAAY,8BAA+B,CAC7E,cAAetrH,KAAKpD,MAAMyrF,WAE5B,OAAoBkyC,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,0BACG41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,uBACG41G,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpD3J,KAAM,WACNu5Z,eAAgBxqa,KAAKpD,MAAMyrF,SAC3BO,SAAU5oF,KAAKpD,MAAMgsF,SACrB,eAAgB5oF,KAAKpD,MAAMyrF,SAC3BvsC,UAAW97C,KAAK87C,UAChBspX,QAASpla,KAAKola,QACdl3S,OAAQluH,KAAKkuH,UACGqM,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACpD+J,UAAWA,EACXy2B,QAASp7C,KAAKo7C,QACdskI,KAAM,WACN,eAAgB1/K,KAAKpD,MAAMyrF,UACbkyC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAWm5J,WArG2DphL,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA0G3K8sa,EAxFsB,CAyF7B/vS,EAAOuC,WAET3mI,EAAQm0a,YAAcA,EAEtBt+W,EAAgBs+W,EAAa,eAAgB,CAC3CC,QAAS,KACTnvX,QAAS,KACTwtC,UAAU,IAGZ58B,EAAgBs+W,EAAa,YAAa,CACxCC,QAAS5vS,EAAWnnG,QAAQ1wB,OAC5Bs4C,QAASu/E,EAAWnnG,QAAQi8B,KAC5Bm5B,SAAU+xC,EAAWnnG,QAAQs2F,Q,6BC/I/B3sH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQs0a,cAAW,EAEnB,IAQgCzqY,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF0qY,EAAat0a,EAAQ,KAErB0ta,EAAwB1ta,EAAQ,IAIpC,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASgV,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAItF,SAAqC30C,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJxTC,CAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAUlI,SAASN,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAIhL,SAASx4C,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI2qY,EAAa,EAEbF,EAAwB,SAAU9uS,IAlBtC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAmBjXF,CAAUora,EAAU9uS,GAEpB,IAvBoBn/H,EAAae,EAAYC,EAuBzCypD,EAAStnD,EAAa8qa,GAE1B,SAASA,EAAS7ta,GAChB,IAAI24C,EASJ,OAvCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAgC5GH,CAAgB0D,KAAMyqa,IAEtBl1X,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZ6lW,SAAU,IAEZr1X,EAAMs1X,QAAUt1X,EAAMs1X,QAAQhoa,KAAK44H,EAAuBlmF,IACnDA,EAmFT,OAtHoB/4C,EAsCPiua,GAtCoBlta,EAsCV,CAAC,CACtBF,IAAK,OACLqC,MAAO,SAAcA,GACnB,GAAIA,EAAO,CACT,IAAIora,EAAc,GAElB,GAAIrqa,MAAMC,QAAQhB,GAChB,IAAK,IAAI7C,EAAI,EAAGA,EAAI6C,EAAM5C,OAAQD,IAChC6C,EAAM7C,GAAGsnB,GAAKwmZ,IACdG,EAAc,GAAGtiZ,OAAOwsB,EAAmBh1C,KAAK+kE,MAAM6lW,UAAW51X,EAAmBt1C,SAGtFA,EAAMykB,GAAKwmZ,IACXG,EAAc9qa,KAAK+kE,MAAM6lW,SAAW,GAAGpiZ,OAAOwsB,EAAmBh1C,KAAK+kE,MAAM6lW,UAAW,CAAClra,IAAU,CAACA,GAGrGM,KAAKqkK,SAAS,CACZumQ,SAAUE,OAIf,CACDzta,IAAK,QACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZumQ,SAAU,OAGb,CACDvta,IAAK,UACLqC,MAAO,SAAiBA,GACtB,IAAI28C,EAASr8C,KAEbA,KAAKqkK,SAAS,CACZumQ,SAAU,KACT,WACD,OAAOvuX,EAAO0V,KAAKryD,QAGtB,CACDrC,IAAK,UACLqC,MAAO,SAAiB8pC,GACtB,IAAIshY,EAAc9qa,KAAK+kE,MAAM6lW,SAAS33Z,QAAO,SAAUpN,GACrD,OAAOA,EAAIse,KAAOqlB,EAAQrlB,MAE5BnkB,KAAKqkK,SAAS,CACZumQ,SAAUE,IAGR9qa,KAAKpD,MAAMmua,UACb/qa,KAAKpD,MAAMmua,SAASvhY,KAGvB,CACDnsC,IAAK,SACLqC,MAAO,WACL,IAAIs9C,EAASh9C,KAEb,OAAoBu6H,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDuJ,GAAInkB,KAAKpD,MAAMunB,GACfQ,UAAW3kB,KAAKpD,MAAM+nB,UACtBjS,MAAO1S,KAAKpD,MAAM8V,OACJ6nH,EAAO/mG,QAAQ5Y,cAAckpZ,EAAsB54O,gBAAiB,KAAMlrL,KAAK+kE,MAAM6lW,SAASnjZ,KAAI,SAAU+hB,GAC1H,OAAoB+wF,EAAO/mG,QAAQ5Y,cAAckpZ,EAAsB76O,cAAe,CACpF5rL,IAAKmsC,EAAQrlB,GACbmnG,WAAY,YACZg7D,eAAe,EACfnuF,QAAS,CACPguF,MAAO,IACPa,KAAM,MAEMzsD,EAAO/mG,QAAQ5Y,cAAc8vZ,EAAWM,UAAW,CACjExhY,QAASA,EACT4R,QAAS4B,EAAOpgD,MAAMw+C,QACtByvX,QAAS7tX,EAAO6tX,qBAhHoDnua,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAsH3Kita,EAlGmB,CAmG1BlwS,EAAOuC,WAET3mI,EAAQs0a,SAAWA,EAEnBz+W,EAAgBy+W,EAAU,eAAgB,CACxCtmZ,GAAI,KACJQ,UAAW,KACXjS,MAAO,KACPq4Z,SAAU,KACV3vX,QAAS,OAGX4Q,EAAgBy+W,EAAU,YAAa,CACrCtmZ,GAAIw2G,EAAWnnG,QAAQw2F,OACvBrlG,UAAWg2G,EAAWnnG,QAAQw2F,OAC9Bt3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1Bioa,SAAUpwS,EAAWnnG,QAAQi8B,KAC7BrU,QAASu/E,EAAWnnG,QAAQi8B,Q,6BC7K9Bv5D,EAAOC,QAAU,SAAcmnC,EAAI8wI,GACjC,OAAO,WAEL,IADA,IAAI1qH,EAAO,IAAIjjD,MAAMN,UAAUrD,QACtBD,EAAI,EAAGA,EAAI6mD,EAAK5mD,OAAQD,IAC/B6mD,EAAK7mD,GAAKsD,UAAUtD,GAEtB,OAAOygC,EAAGl9B,MAAMguK,EAAS1qH,M,6BCN7B,IAAIywL,EAAQ/9O,EAAQ,IAEpB,SAAS22E,EAAOrpD,GACd,OAAOuE,mBAAmBvE,GACxBjc,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KAUrBvR,EAAOC,QAAU,SAAkByR,EAAKiwF,EAAQozU,GAE9C,IAAKpzU,EACH,OAAOjwF,EAGT,IAAIsja,EACJ,GAAID,EACFC,EAAmBD,EAAiBpzU,QAC/B,GAAIs8I,EAAMpmE,kBAAkBl2E,GACjCqzU,EAAmBrzU,EAAOzrF,eACrB,CACL,IAAIsyB,EAAQ,GAEZy1M,EAAMp/M,QAAQ8iE,GAAQ,SAAmBn0E,EAAKrmB,GAChC,OAARqmB,GAA+B,qBAARA,IAIvBywN,EAAMzzO,QAAQgjB,GAChBrmB,GAAY,KAEZqmB,EAAM,CAACA,GAGTywN,EAAMp/M,QAAQrR,GAAK,SAAoBxW,GACjCinO,EAAMzmE,OAAOxgK,GACfA,EAAIA,EAAEujP,cACGtc,EAAMh3F,SAASjwI,KACxBA,EAAIgb,KAAKC,UAAUjb,IAErBwxB,EAAM53B,KAAKimE,EAAO1vE,GAAO,IAAM0vE,EAAO7/D,WAI1Cg+Z,EAAmBxsY,EAAMryB,KAAK,KAGhC,GAAI6+Z,EAAkB,CACpB,IAAIC,EAAgBvja,EAAIyC,QAAQ,MACT,IAAnB8ga,IACFvja,EAAMA,EAAIoqC,MAAM,EAAGm5X,IAGrBvja,KAA8B,IAAtBA,EAAIyC,QAAQ,KAAc,IAAM,KAAO6ga,EAGjD,OAAOtja,I,6BClET1R,EAAOC,QAAU,SAAkBuJ,GACjC,SAAUA,IAASA,EAAM0ra,c,8BCH3B,YAEA,IAAIj3L,EAAQ/9O,EAAQ,IAChBi1a,EAAsBj1a,EAAQ,KAE9Bk1a,EAAuB,CACzB,eAAgB,qCAGlB,SAASC,EAAsBn/J,EAAS1sQ,IACjCy0O,EAAMnnE,YAAYo/F,IAAYj4B,EAAMnnE,YAAYo/F,EAAQ,mBAC3DA,EAAQ,gBAAkB1sQ,GAgB9B,IAAI4/E,EAAW,CACbpvB,QAbF,WACE,IAAIA,EAQJ,OAP8B,qBAAnBpoD,gBAGmB,qBAAZmqB,GAAuE,qBAA5C90B,OAAOM,UAAU2O,SAASpK,KAAKiwB,MAD1Ei+B,EAAU95D,EAAQ,MAKb85D,EAIEs7W,GAETC,iBAAkB,CAAC,SAA0Bz6Z,EAAMo7P,GAGjD,OAFAi/J,EAAoBj/J,EAAS,UAC7Bi/J,EAAoBj/J,EAAS,gBACzBj4B,EAAMhnE,WAAWn8J,IACnBmjO,EAAMlnE,cAAcj8J,IACpBmjO,EAAMjnE,SAASl8J,IACfmjO,EAAMtmE,SAAS78J,IACfmjO,EAAMxmE,OAAO38J,IACbmjO,EAAMvmE,OAAO58J,GAENA,EAELmjO,EAAM9mE,kBAAkBr8J,GACnBA,EAAKw8J,OAEV2mE,EAAMpmE,kBAAkB/8J,IAC1Bu6Z,EAAsBn/J,EAAS,mDACxBp7P,EAAK5E,YAEV+nO,EAAMh3F,SAASnsI,IACjBu6Z,EAAsBn/J,EAAS,kCACxBlkP,KAAKC,UAAUnX,IAEjBA,IAGT06Z,kBAAmB,CAAC,SAA2B16Z,GAE7C,GAAoB,kBAATA,EACT,IACEA,EAAOkX,KAAKoc,MAAMtzB,GAClB,MAAOjQ,IAEX,OAAOiQ,IAOTmnF,QAAS,EAETwzU,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhBC,eAAgB,SAAwBvlP,GACtC,OAAOA,GAAU,KAAOA,EAAS,KAIrClnG,QAAmB,CACjB0sV,OAAQ,CACN,OAAU,uCAId73L,EAAMp/M,QAAQ,CAAC,SAAU,MAAO,SAAS,SAA6BgwF,GACpEzlC,EAAS8sL,QAAQrnJ,GAAU,MAG7BovH,EAAMp/M,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BgwF,GACrEzlC,EAAS8sL,QAAQrnJ,GAAUovH,EAAM3/K,MAAM82W,MAGzCp1a,EAAOC,QAAUmpF,I,gDC/FjB,IAAI60J,EAAQ/9O,EAAQ,IAChB61a,EAAS71a,EAAQ,KACjB81a,EAAU91a,EAAQ,KAClB+1a,EAAW/1a,EAAQ,KACnBg2a,EAAgBh2a,EAAQ,KACxBi2a,EAAej2a,EAAQ,KACvBk2a,EAAkBl2a,EAAQ,KAC1Bm2a,EAAcn2a,EAAQ,KAE1BF,EAAOC,QAAU,SAAoBu+C,GACnC,OAAO,IAAI5d,SAAQ,SAA4Bw8F,EAASC,GACtD,IAAIi5S,EAAc93X,EAAO1jC,KACrB4sZ,EAAiBlpX,EAAO03N,QAExBj4B,EAAMhnE,WAAWq/P,WACZ5O,EAAe,iBAIrBzpL,EAAMvmE,OAAO4+P,IAAgBr4L,EAAMxmE,OAAO6+P,KAC3CA,EAAYv7Z,aAEL2sZ,EAAe,gBAGxB,IAAI7yW,EAAU,IAAIjjD,eAGlB,GAAI4sC,EAAO+3X,KAAM,CACf,IAAIz9G,EAAWt6Q,EAAO+3X,KAAKz9G,UAAY,GACnCv+G,EAAWzoL,SAASC,mBAAmBysB,EAAO+3X,KAAKh8N,YAAc,GACrEmtN,EAAe8O,cAAgB,SAAW5kZ,KAAKknS,EAAW,IAAMv+G,GAGlE,IAAIk8N,EAAWP,EAAc13X,EAAOk4X,QAASl4X,EAAO9sC,KA4EpD,GA3EAmjD,EAAQ/iD,KAAK0sC,EAAOqwE,OAAOt/B,cAAe0mV,EAASQ,EAAUj4X,EAAOmjD,OAAQnjD,EAAOu2X,mBAAmB,GAGtGlgX,EAAQotC,QAAUzjD,EAAOyjD,QAGzBptC,EAAQ+6U,mBAAqB,WAC3B,GAAK/6U,GAAkC,IAAvBA,EAAQo9T,aAQD,IAAnBp9T,EAAQy7H,QAAkBz7H,EAAQ8hX,aAAwD,IAAzC9hX,EAAQ8hX,YAAYxia,QAAQ,UAAjF,CAKA,IAAI8yZ,EAAkB,0BAA2BpyW,EAAUshX,EAAathX,EAAQizW,yBAA2B,KAEvGlvO,EAAW,CACb99K,KAFkB0jC,EAAOm6I,cAAwC,SAAxBn6I,EAAOm6I,aAAiD9jI,EAAQ+jI,SAA/B/jI,EAAQ7iD,aAGlFs+K,OAAQz7H,EAAQy7H,OAChB23O,WAAYpzW,EAAQozW,WACpB/xJ,QAAS+wJ,EACTzoX,OAAQA,EACRqW,QAASA,GAGXkhX,EAAO34S,EAASC,EAAQu7D,GAGxB/jI,EAAU,OAIZA,EAAQm1W,QAAU,WACXn1W,IAILwoE,EAAOg5S,EAAY,kBAAmB73X,EAAQ,eAAgBqW,IAG9DA,EAAU,OAIZA,EAAQ7pC,QAAU,WAGhBqyG,EAAOg5S,EAAY,gBAAiB73X,EAAQ,KAAMqW,IAGlDA,EAAU,MAIZA,EAAQ0+T,UAAY,WAClB,IAAIqjD,EAAsB,cAAgBp4X,EAAOyjD,QAAU,cACvDzjD,EAAOo4X,sBACTA,EAAsBp4X,EAAOo4X,qBAE/Bv5S,EAAOg5S,EAAYO,EAAqBp4X,EAAQ,eAC9CqW,IAGFA,EAAU,MAMRopL,EAAMlmE,uBAAwB,CAEhC,IAAI8+P,GAAar4X,EAAOs4X,iBAAmBV,EAAgBK,KAAcj4X,EAAOi3X,eAC9EO,EAAQjmN,KAAKvxK,EAAOi3X,qBACpB/rY,EAEEmtY,IACFnP,EAAelpX,EAAOk3X,gBAAkBmB,GAuB5C,GAlBI,qBAAsBhiX,GACxBopL,EAAMp/M,QAAQ6oY,GAAgB,SAA0Bl6Y,EAAKrmB,GAChC,qBAAhBmva,GAAqD,iBAAtBnva,EAAIwb,qBAErC+kZ,EAAevga,GAGtB0tD,EAAQkzW,iBAAiB5ga,EAAKqmB,MAM/BywN,EAAMnnE,YAAYt4H,EAAOs4X,mBAC5BjiX,EAAQiiX,kBAAoBt4X,EAAOs4X,iBAIjCt4X,EAAOm6I,aACT,IACE9jI,EAAQ8jI,aAAen6I,EAAOm6I,aAC9B,MAAO9tL,GAGP,GAA4B,SAAxB2zC,EAAOm6I,aACT,MAAM9tL,EAM6B,oBAA9B2zC,EAAOu4X,oBAChBliX,EAAQz3B,iBAAiB,WAAYohB,EAAOu4X,oBAIP,oBAA5Bv4X,EAAOw4X,kBAAmCniX,EAAQoiX,QAC3DpiX,EAAQoiX,OAAO75Y,iBAAiB,WAAYohB,EAAOw4X,kBAGjDx4X,EAAO04X,aAET14X,EAAO04X,YAAYv2Y,QAAQ88F,MAAK,SAAoBz0D,GAC7CnU,IAILA,EAAQmzW,QACR3qS,EAAOr0D,GAEPnU,EAAU,SAITyhX,IACHA,EAAc,MAIhBzhX,EAAQ9iD,KAAKuka,Q,6BCrLjB,IAAIa,EAAej3a,EAAQ,KAY3BF,EAAOC,QAAU,SAAqBqzC,EAASkL,EAAQnL,EAAMwhB,EAAS+jI,GACpE,IAAI37J,EAAQ,IAAI+L,MAAMsK,GACtB,OAAO6jY,EAAal6Y,EAAOuhB,EAAQnL,EAAMwhB,EAAS+jI,K,6BCdpD,IAAIqlD,EAAQ/9O,EAAQ,IAUpBF,EAAOC,QAAU,SAAqBm3a,EAASC,GAE7CA,EAAUA,GAAW,GACrB,IAAI74X,EAAS,GAET84X,EAAuB,CAAC,MAAO,SAAU,QACzCC,EAA0B,CAAC,UAAW,OAAQ,QAAS,UACvDC,EAAuB,CACzB,UAAW,mBAAoB,oBAAqB,mBACpD,UAAW,iBAAkB,kBAAmB,UAAW,eAAgB,iBAC3E,iBAAkB,mBAAoB,qBAAsB,aAC5D,mBAAoB,gBAAiB,eAAgB,YAAa,YAClE,aAAc,cAAe,aAAc,oBAEzCC,EAAkB,CAAC,kBAEvB,SAASC,EAAejxa,EAAQ2rB,GAC9B,OAAI6rN,EAAM3kL,cAAc7yD,IAAWw3O,EAAM3kL,cAAclnC,GAC9C6rN,EAAM3/K,MAAM73D,EAAQ2rB,GAClB6rN,EAAM3kL,cAAclnC,GACtB6rN,EAAM3/K,MAAM,GAAIlsC,GACd6rN,EAAMzzO,QAAQ4nB,GAChBA,EAAO0pB,QAET1pB,EAGT,SAASulZ,EAAoBroa,GACtB2uO,EAAMnnE,YAAYugQ,EAAQ/na,IAEnB2uO,EAAMnnE,YAAYsgQ,EAAQ9na,MACpCkvC,EAAOlvC,GAAQooa,OAAehuY,EAAW0tY,EAAQ9na,KAFjDkvC,EAAOlvC,GAAQooa,EAAeN,EAAQ9na,GAAO+na,EAAQ/na,IAMzD2uO,EAAMp/M,QAAQy4Y,GAAsB,SAA0Bhoa,GACvD2uO,EAAMnnE,YAAYugQ,EAAQ/na,MAC7BkvC,EAAOlvC,GAAQooa,OAAehuY,EAAW2tY,EAAQ/na,QAIrD2uO,EAAMp/M,QAAQ04Y,EAAyBI,GAEvC15L,EAAMp/M,QAAQ24Y,GAAsB,SAA0Bloa,GACvD2uO,EAAMnnE,YAAYugQ,EAAQ/na,IAEnB2uO,EAAMnnE,YAAYsgQ,EAAQ9na,MACpCkvC,EAAOlvC,GAAQooa,OAAehuY,EAAW0tY,EAAQ9na,KAFjDkvC,EAAOlvC,GAAQooa,OAAehuY,EAAW2tY,EAAQ/na,OAMrD2uO,EAAMp/M,QAAQ44Y,GAAiB,SAAenoa,GACxCA,KAAQ+na,EACV74X,EAAOlvC,GAAQooa,EAAeN,EAAQ9na,GAAO+na,EAAQ/na,IAC5CA,KAAQ8na,IACjB54X,EAAOlvC,GAAQooa,OAAehuY,EAAW0tY,EAAQ9na,QAIrD,IAAIsoa,EAAYN,EACbhlZ,OAAOilZ,GACPjlZ,OAAOklZ,GACPllZ,OAAOmlZ,GAENI,EAAY5wa,OACb23B,KAAKw4Y,GACL9kZ,OAAOrrB,OAAO23B,KAAKy4Y,IACnBt6Z,QAAO,SAAyB5V,GAC/B,OAAmC,IAA5Bywa,EAAUzja,QAAQhN,MAK7B,OAFA82O,EAAMp/M,QAAQg5Y,EAAWF,GAElBn5X,I,6BC7ET,SAASs5X,EAAOxkY,GACdxpC,KAAKwpC,QAAUA,EAGjBwkY,EAAOvwa,UAAU2O,SAAW,WAC1B,MAAO,UAAYpM,KAAKwpC,QAAU,KAAOxpC,KAAKwpC,QAAU,KAG1DwkY,EAAOvwa,UAAU2ta,YAAa,EAE9Bl1a,EAAOC,QAAU63a,G,iBClBjB,YAEA,IAAIz7L,EAAU,CAAC3jM,QAAQ,UACvB2jM,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,g3BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,84BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,88BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,0xBAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,s4BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,syBAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,g3BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,g3BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,k9BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,w9BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAsb,IAA1a,IAAIpwO,EAAI,05BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAChBw9C,EAAQ,KAAQ,WAAY,IAA4Bn5N,EAAxBjX,EAAI,GAAIpB,EAAI,GAAIg0L,EAAI,GAEpD,IADAA,EAAE,GAAK,09BAAiZxoL,MAAM,IAC1Z6M,EAAI,EAAGA,GAAK27K,EAAE,GAAGj4L,SAAUsc,EAAgC,QAA1B27K,EAAE,GAAG37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,GAAG37K,IAAM,EAAIA,EAAGjX,EAAE,EAAIiX,GAAK27K,EAAE,GAAG37K,IAE7G,IADA27K,EAAE,KAAO,m/CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,KAAQA,EAAGjX,EAAE,KAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAC7H,MAAO,CAAC,IAAOrY,EAAG,IAAOoB,GA7FT,GA8FhBowO,EAAQ,KAAQ,WAAY,IAA4Bn5N,EAAxBjX,EAAI,GAAIpB,EAAI,GAAIg0L,EAAI,GAEpD,IADAA,EAAE,GAAK,09BAAiZxoL,MAAM,IAC1Z6M,EAAI,EAAGA,GAAK27K,EAAE,GAAGj4L,SAAUsc,EAAgC,QAA1B27K,EAAE,GAAG37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,GAAG37K,IAAM,EAAIA,EAAGjX,EAAE,EAAIiX,GAAK27K,EAAE,GAAG37K,IAE7G,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,m/CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,2+CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,KAAQA,EAAGjX,EAAE,KAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAC7H,MAAO,CAAC,IAAOrY,EAAG,IAAOoB,GA/PT,GAgQhBowO,EAAQ,KAAQ,WAAY,IAA4Bn5N,EAAxBjX,EAAI,GAAIpB,EAAI,GAAIg0L,EAAI,GAEpD,IADAA,EAAE,GAAK,09BAAiZxoL,MAAM,IAC1Z6M,EAAI,EAAGA,GAAK27K,EAAE,GAAGj4L,SAAUsc,EAAgC,QAA1B27K,EAAE,GAAG37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,GAAG37K,IAAM,EAAIA,EAAGjX,EAAE,EAAIiX,GAAK27K,EAAE,GAAG37K,IAE7G,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,m/CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,q/CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,i/CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,m/CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,KAAQA,EAAGjX,EAAE,KAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAC7H,MAAO,CAAC,IAAOrY,EAAG,IAAOoB,GA3PT,GA4PhBowO,EAAQ,KAAQ,WAAY,IAA4Bn5N,EAAxBjX,EAAI,GAAIpB,EAAI,GAAIg0L,EAAI,GAEpD,IADAA,EAAE,GAAK,09BAAiZxoL,MAAM,IAC1Z6M,EAAI,EAAGA,GAAK27K,EAAE,GAAGj4L,SAAUsc,EAAgC,QAA1B27K,EAAE,GAAG37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,GAAG37K,IAAM,EAAIA,EAAGjX,EAAE,EAAIiX,GAAK27K,EAAE,GAAG37K,IAE7G,IADA27K,EAAE,KAAO,u/CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,igDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAC7H,MAAO,CAAC,IAAOrY,EAAG,IAAOoB,GAjLT,GAkLhBowO,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,w3BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,47BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,0xBAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,g7BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,syBAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,45BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,o4BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,03BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,MAAS,WAAsb,IAA1a,IAAIpwO,EAAI,szBAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GACjBw9C,EAAQ,KAAU,WAAsb,IAA1a,IAAIpwO,EAAI,wzBAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAClBw9C,EAAQ,OAAU,WAAsb,IAA1a,IAAIpwO,EAAI,44BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAClBw9C,EAAQ,OAAU,WAAsb,IAA1a,IAAIpwO,EAAI,47BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAClBw9C,EAAQ,OAAU,WAAY,IAA4Bn5N,EAAxBjX,EAAI,GAAIpB,EAAI,GAAIg0L,EAAI,GAEtD,IADAA,EAAE,GAAK,w9BAAiZxoL,MAAM,IAC1Z6M,EAAI,EAAGA,GAAK27K,EAAE,GAAGj4L,SAAUsc,EAAgC,QAA1B27K,EAAE,GAAG37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,GAAG37K,IAAM,EAAIA,EAAGjX,EAAE,EAAIiX,GAAK27K,EAAE,GAAG37K,IAE7G,IADA27K,EAAE,KAAO,q/CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,2+CAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAE7H,IADA27K,EAAE,KAAO,mgDAAmQxoL,MAAM,IAC9Q6M,EAAI,EAAGA,GAAK27K,EAAE,KAAKj4L,SAAUsc,EAAkC,QAA5B27K,EAAE,KAAK37K,GAAGiyB,WAAW,KAAiBtqC,EAAEg0L,EAAE,KAAK37K,IAAM,MAAQA,EAAGjX,EAAE,MAAQiX,GAAK27K,EAAE,KAAK37K,IAC7H,MAAO,CAAC,IAAOrY,EAAG,IAAOoB,GArKP,GAsKlBowO,EAAQ,OAAU,WAAsb,IAA1a,IAAIpwO,EAAI,o5BAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAClBw9C,EAAQ,OAAU,WAAsb,IAA1a,IAAIpwO,EAAI,4yBAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAClBw9C,EAAQ,OAAU,WAAsb,IAA1a,IAAIpwO,EAAI,0zBAAkZ4yL,EAAI,GAAIh0L,EAAI,GAAYlE,EAAE,EAAEA,GAAGsF,EAAErF,SAASD,EAA4B,QAApBsF,EAAEkpC,WAAWxuC,KAAekE,EAAEoB,EAAE2mB,OAAOjsB,IAAMA,GAAGk4L,EAAEl4L,GAAKsF,EAAE2mB,OAAOjsB,GAAM,MAAO,CAAC,IAAOkE,EAAG,IAAOg0L,GAAvjB,GAEmB7+L,EAAOC,SAA6C,qBAA3B83a,yBAAwC/3a,EAAOC,QAAUo8O,GAItH,SAASl8N,EAAM5U,GAGd,aACA,GAAsB,qBAAZ8wO,EAAyB,CAE/B,IAAI27L,EAAM37L,EAC2Br8O,EAAOC,SAA6C,qBAA3B83a,uBAAwC/3a,EAAOC,QAAUsL,EAAQysa,GAC1H73Z,EAAKk8N,QAAU9wO,EAAQysa,QAEzB37L,EAAU9wO,EAAQ8wO,GAV1B,CAaCvyO,MAAM,SAASkua,GACf,aAEA,IAAIC,EAAQ,CACV,KAAO,UACP,KAAO,UACP,KAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,QACR,KAAQ,OACR,MAAQ,QAGNC,EAAa,CAAC,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KACrDC,EAAa,CAAC,IAAI,IAAI,IAAI,KAC1BC,EAAc,CAAC,OACfC,EAAe,GACfC,EAAe,GACfC,EAAW,GACXC,EAAW,GAEXC,EAAO,SAAc9ha,GAAK,OAAO8qB,OAAOE,aAAahrB,IACrD+ha,EAAM,SAAa/ha,GAAK,OAAOA,EAAEw+B,WAAW,IAE5CmpM,EAA6B,qBAAXC,EAClBC,EAAc,aAClB,GAAGF,EAAS,CACV,IAAIG,GAAQF,EAAO17N,KACnB,IAAI47N,EAAM,IAAMF,EAAO17N,KAAK,MAAO,QAAW,MAAMhY,GAAK4zO,GAAO,EAChED,EAAcC,EAAO,SAASxnM,EAAKynM,GAAO,OAAQA,EAAO,IAAIH,EAAOtnM,EAAKynM,GAAO,IAAIH,EAAOtnM,IAAUsnM,EAAO17N,KAAKlW,KAAK4xO,GAElHA,EAAOK,cAAaL,EAAOK,YAAc,SAASj0O,GAAK,OAAO,IAAI4zO,EAAO5zO,KAE7E,IAAIgua,EAAM,KAAM57E,EAAMx+G,EAAOK,YAAY+5L,GAWrCC,EAAc,SAA0Br1Z,GAC1C,IAAIs1Z,EAXQ,SAAiB79O,GAE7B,IADA,IAAI69O,EAAKt6L,EAAOK,YAAY,OACpBj4O,EAAI,EAAGA,EAAI,QAAQA,EAAGkya,EAAGlya,GAAK,EAEtC,IADA,IAAIi4B,EAAO33B,OAAO23B,KAAKo8J,GAAIlsJ,EAAMlQ,EAAKh4B,OAC9BggM,EAAK,EAAG/7L,EAAI+zB,EAAKgoK,GAAKA,EAAK93J,IAAO83J,GACnC/7L,EAAI+zB,EAAKgoK,MACdiyO,EAAGhua,EAAEsqC,WAAW,IAAM6lJ,EAAEnwL,IAE1B,OAAOgua,EAGEC,CAAQd,EAAIz0Z,GAAIm7N,KACzB,OAAO,SAAgB5jO,EAAMi+Z,GAC3B,IACI74X,EADApR,EAAMh0B,EAAKlU,OACND,EAAE,EAAGuc,EAAE,EAAG27K,EAAE,EAAG//J,EAAE,EAC1B,GAAmB,kBAAThkB,EAER,IADAolC,EAAMq+L,EAAOK,YAAY9vM,GACrBnoC,EAAI,EAAGA,EAAImoC,IAAOnoC,EAAGu5C,EAAIv5C,GAAKkya,EAAG/9Z,EAAKq6B,WAAWxuC,SAChD,GAAG43O,EAAOvnE,SAASl8J,GAAO,CAG/B,IAFAolC,EAAMq+L,EAAOK,YAAY,EAAE9vM,GAC3B5rB,EAAI,EACAvc,EAAI,EAAGA,EAAImoC,IAAOnoC,GACpBk4L,EAAI/jL,EAAKnU,IACF,IAAKu5C,EAAIh9B,KAAO21Z,EAAGh6O,GAClBA,EAAI,KAAO3+I,EAAIh9B,KAAO21Z,IAAO,GAAFh6O,IAAO,IAAc,GAAV/jL,EAAKnU,EAAE,OAAWA,GACxDk4L,EAAI,KAAO3+I,EAAIh9B,KAAO21Z,IAAO,GAAFh6O,IAAO,MAAgB,GAAV/jL,EAAKnU,EAAE,KAAQ,IAAc,GAAVmU,EAAKnU,EAAE,KAASA,GAAG,IAEpFm4B,IAAQ,EAAF+/J,IAAM,MAAgB,GAAV/jL,EAAKnU,EAAE,KAAQ,MAAgB,GAAVmU,EAAKnU,EAAE,KAAQ,IAAc,GAAVmU,EAAKnU,EAAE,IAAQA,GAAG,EACzEm4B,EAAI,MAAOohB,EAAIh9B,KAAO21Z,EAAG/5Y,IACrBA,GAAK,MAAOohB,EAAIh9B,KAAO21Z,EAAG,OAAW/5Y,GAAG,GAAI,OAAQohB,EAAIh9B,KAAO21Z,EAAG,OAAY,KAAF/5Y,MAGvFohB,EAAMA,EAAIpE,MAAM,EAAE54B,QAGlB,IADAg9B,EAAMq+L,EAAOK,YAAY9vM,GACrBnoC,EAAI,EAAGA,EAAImoC,IAAOnoC,EAAGu5C,EAAIv5C,GAAKkya,EAAG/9Z,EAAKnU,GAAGwuC,WAAW,IAE1D,OAAI4jY,GAAiB,QAATA,EACA,QAATA,EAAuB74X,EAAIhqC,SAAS,UAChC,GAAG4lC,MAAMhwC,KAAKo0C,GAFcA,IAKnC84X,EAAc,SAA0Bz1Z,GAC1C,IAAIs7K,EAAIm5O,EAAIz0Z,GAAImgO,IACZu1L,EAAK16L,EAAOK,YAAY,QAAS3yO,EAAE,EAAGD,EAAE,GAC5C,IAAIC,EAAE,EAAEA,EAAE4yL,EAAEj4L,SAASqF,EACnB,GAAKD,EAAE6yL,EAAE5yL,GAAT,CACA,IAAI6yB,EAAI9yB,EAAEmpC,WAAW,GACrB8jY,EAAG,EAAEhta,GAAO,IAAF6yB,EAAOm6Y,EAAG,EAAEhta,EAAE,GAAK6yB,GAAG,EAElC,OAAO,SAAgBhkB,GACrB,IAAIg0B,EAAMh0B,EAAKlU,OAAQD,EAAE,EAAGuc,EAAE,EAE9B,GADG,EAAI4rB,EAAM6pY,IAAOA,EAAM,EAAI7pY,EAAKiuT,EAAMx+G,EAAOK,YAAY+5L,IACzDp6L,EAAOvnE,SAASl8J,GACjB,IAAInU,EAAI,EAAGA,EAAImoC,EAAKnoC,IAClBuc,EAAI,EAAEpI,EAAKnU,GACXo2V,EAAI,EAAEp2V,GAAKsya,EAAG/1Z,GAAI65U,EAAI,EAAEp2V,EAAE,GAAKsya,EAAG/1Z,EAAE,QAEjC,GAAmB,kBAATpI,EACf,IAAInU,EAAI,EAAGA,EAAImoC,EAAKnoC,IAClBuc,EAAI,EAAEpI,EAAKq6B,WAAWxuC,GACtBo2V,EAAI,EAAEp2V,GAAKsya,EAAG/1Z,GAAI65U,EAAI,EAAEp2V,EAAE,GAAKsya,EAAG/1Z,EAAE,QAGtC,IAAIvc,EAAI,EAAGA,EAAImoC,EAAKnoC,IAClBuc,EAAI,EAAEpI,EAAKnU,GACXo2V,EAAI,EAAEp2V,GAAKsya,EAAG/1Z,GAAI65U,EAAI,EAAEp2V,EAAE,GAAKsya,EAAG/1Z,EAAE,GAGxC,OAAO65U,EAAIjhT,MAAM,EAAG,EAAIhN,GAAK54B,SAAS,UAGtCgja,EAAc,SAA0B31Z,GAG1C,IAFA,IAAIy3K,EAAIg9O,EAAIz0Z,GAAIm7N,IACZm6L,EAAKt6L,EAAOK,YAAY,QACpBj4O,EAAI,EAAGA,EAAI,SAAUA,EAAGkya,EAAGlya,GAAK,EAExC,IADA,IAAIi4B,EAAO33B,OAAO23B,KAAKo8J,GACf4L,EAAK,EAAG/7L,EAAI+zB,EAAKgoK,GAAKA,EAAKhoK,EAAKh4B,SAAUggM,EAChD,GAAK/7L,EAAI+zB,EAAKgoK,GAAd,CACA,IAAI77L,EAAIF,EAAEsqC,WAAW,GACrB0jY,EAAG,EAAE9ta,GAAY,IAAPiwL,EAAEnwL,GAAUgua,EAAG,EAAE9ta,EAAE,GAAKiwL,EAAEnwL,IAAI,EAE1C,OAAO,SAAgBiQ,EAAMi+Z,GAC3B,IAAIjqY,EAAMh0B,EAAKlU,OAAQs5C,EAAMq+L,EAAOK,YAAY,EAAE9vM,GAAMnoC,EAAE,EAAGuc,EAAE,EAAG0iO,EAAG,EAAGl6N,EAAE,EAAGmzK,EAAE,EAC/E,GAAmB,kBAAT/jL,EAAmB,CAC3B,IAAInU,EAAI+kB,EAAI,EAAG/kB,EAAImoC,IAAOnoC,EACxBuc,EAAuB,EAAnBpI,EAAKq6B,WAAWxuC,GACpBu5C,EAAIx0B,KAAOmtZ,EAAG31Z,EAAE,IAAM21Z,EAAG31Z,GAAO21Z,EAAG31Z,EAAE,GAAK,IAAGg9B,EAAIx0B,KAAOmtZ,EAAG31Z,IAE7Dg9B,EAAMA,EAAIpE,MAAM,EAAEpwB,QACb,GAAG6yN,EAAOvnE,SAASl8J,GAAO,CAC/B,IAAInU,EAAI+kB,EAAI,EAAG/kB,EAAImoC,IAAOnoC,GACxBk4L,EAAI/jL,EAAKnU,IACF,IAAKuc,EAAI27K,EACRA,EAAI,KAAO37K,IAAQ,GAAF27K,IAAO,IAAc,GAAV/jL,EAAKnU,EAAE,MAAUA,GAC7Ck4L,EAAI,KAAO37K,IAAQ,GAAF27K,IAAO,MAAgB,GAAV/jL,EAAKnU,EAAE,KAAQ,IAAc,GAAVmU,EAAKnU,EAAE,IAAQA,GAAG,IACpEuc,IAAQ,EAAF27K,IAAM,MAAgB,GAAV/jL,EAAKnU,EAAE,KAAQ,MAAgB,GAAVmU,EAAKnU,EAAE,KAAQ,IAAc,GAAVmU,EAAKnU,EAAE,IAAQA,GAAG,GAChFuc,EAAE,OAASA,GAAG,EAAGg9B,EAAIx0B,KAAOmtZ,EAAG31Z,EAAE,IAAM21Z,EAAG31Z,GAAO21Z,EAAG31Z,EAAE,GAAK,IAAGg9B,EAAIx0B,KAAOmtZ,EAAG31Z,MAE7EA,EAAE,GAAG,QADA0iO,EAAK1iO,EAAE,QACQ,GAAI,OAAQg9B,EAAIx0B,KAAOmtZ,EAAG31Z,EAAE,IAAM21Z,EAAG31Z,GAAO21Z,EAAG31Z,EAAE,GAAK,IAAGg9B,EAAIx0B,KAAOmtZ,EAAG31Z,IAC3FA,EAAE,GAAG,OAAa,KAAH0iO,IAAW1lM,EAAIx0B,KAAOmtZ,EAAG31Z,EAAE,IAAM21Z,EAAG31Z,GAAO21Z,EAAG31Z,EAAE,GAAK,IAAGg9B,EAAIx0B,KAAOmtZ,EAAG31Z,KAGzFg9B,EAAMA,EAAIpE,MAAM,EAAEpwB,QAElB,IAAI/kB,EAAI+kB,EAAI,EAAG/kB,EAAImoC,EAAKnoC,IACtBuc,EAA0B,EAAtBpI,EAAKnU,GAAGwuC,WAAW,GACvB+K,EAAIx0B,KAAOmtZ,EAAG31Z,EAAE,IAAM21Z,EAAG31Z,GAAO21Z,EAAG31Z,EAAE,GAAK,IAAGg9B,EAAIx0B,KAAOmtZ,EAAG31Z,IAG/D,OAAI61Z,GAAiB,QAATA,EACA,QAATA,EAAuB74X,EAAIhqC,SAAS,UAChC,GAAG4lC,MAAMhwC,KAAKo0C,GAFcA,IAKnCi5X,EAAc,SAA0B51Z,GAC1C,IAC0CvX,EADtC6yL,EAAIm5O,EAAIz0Z,GAAImgO,IACZu1L,EAAK16L,EAAOK,YAAY,QAAS3yO,EAAE,EAAM6yB,EAAE,EAAG5b,EAAE,EAAGvc,EAAE,EACzD,IAAIA,EAAI,EAAGA,EAAI,QAASA,EAAKsya,EAAG,EAAEtya,GAAK,IAAMsya,EAAG,EAAEtya,EAAE,GAAK,IACzD,IAAIsF,EAAI,EAAGA,EAAI4yL,EAAEj4L,SAAUqF,GACpBD,EAAE6yL,EAAE5yL,MACT6yB,EAAI9yB,EAAEmpC,WAAW,GAEjB8jY,EADA/1Z,EAAI,EAAEjX,GACI,IAAF6yB,EAAOm6Y,EAAG/1Z,EAAE,GAAK4b,GAAG,GAE9B,OAAO,SAAgBhkB,GACrB,IAAIg0B,EAAMh0B,EAAKlU,OAAQs5C,EAAMq+L,EAAOK,YAAY,EAAE9vM,GAAMnoC,EAAE,EAAGuc,EAAE,EAAGwI,EAAE,EACpE,GAAG6yN,EAAOvnE,SAASl8J,GACjB,IAAInU,EAAI,EAAGA,EAAImoC,EAAKnoC,IAClBuc,EAAI,EAAEpI,EAAKnU,GACA,MAARsya,EAAG/1Z,IAAuB,MAAV+1Z,EAAG/1Z,EAAE,KAAaA,EAAE,IAAIpI,EAAKnU,IAAI,GAAGmU,EAAKnU,EAAE,MAAOA,GACrEu5C,EAAIx0B,KAAOutZ,EAAG/1Z,GAAIg9B,EAAIx0B,KAAOutZ,EAAG/1Z,EAAE,QAE/B,GAAmB,kBAATpI,EACf,IAAInU,EAAI,EAAGA,EAAImoC,EAAKnoC,IAClBuc,EAAI,EAAEpI,EAAKq6B,WAAWxuC,GACX,MAARsya,EAAG/1Z,IAAuB,MAAV+1Z,EAAG/1Z,EAAE,KAAaA,EAAE,IAAIpI,EAAKq6B,WAAWxuC,IAAI,GAAGmU,EAAKq6B,WAAWxuC,EAAE,MAAOA,GAC3Fu5C,EAAIx0B,KAAOutZ,EAAG/1Z,GAAIg9B,EAAIx0B,KAAOutZ,EAAG/1Z,EAAE,QAGpC,IAAIvc,EAAI,EAAGA,EAAImoC,EAAKnoC,IAClBuc,EAAI,EAAEpI,EAAKnU,GACA,MAARsya,EAAG/1Z,IAAuB,MAAV+1Z,EAAG/1Z,EAAE,KAAaA,EAAE,IAAIpI,EAAKnU,IAAI,GAAGmU,EAAKnU,EAAE,MAAOA,GACrEu5C,EAAIx0B,KAAOutZ,EAAG/1Z,GAAIg9B,EAAIx0B,KAAOutZ,EAAG/1Z,EAAE,GAGtC,OAAOg9B,EAAIpE,MAAM,EAAEpwB,GAAGxV,SAAS,UAGnCmia,EAAa,OAAS,SAASe,EAAOt+Z,GACpC,GAAmB,kBAATA,EAAmB,OAAOs+Z,EAAOt+Z,EAAKzE,MAAM,IAAIkb,IAAImnZ,IAC9D,IAAI5pY,EAAMh0B,EAAKlU,OAAQk4B,EAAI,EAAGs6N,EAAK,EAChC,EAAItqN,EAAM6pY,IAAOA,EAAM,EAAI7pY,EAAKiuT,EAAMx+G,EAAOK,YAAY+5L,IAC5D,IAAIhya,EAAI,EACLmoC,GAAO,GAAgB,KAAXh0B,EAAK,IAA0B,KAAXA,EAAK,IAAyB,KAAXA,EAAK,KAAYnU,EAAI,GAC3E,IAAI,IAAIuc,EAAI,EAAGwI,EAAI,EAAGmzK,EAAI,EAAGl4L,EAAImoC,EAAKnoC,GAAGuc,EACvCA,EAAI,GAAG27K,EAAI/jL,EAAKnU,IACT,IAAKm4B,EAAI+/J,EACRA,EAAI,KAAO//J,EAAS,IAAJ,GAAF+/J,IAAoB,GAAV/jL,EAAKnU,EAAE,IAAQuc,EAAE,GACzC27K,EAAI,KAAO//J,IAAM,GAAF+/J,IAAO,IAAmB,IAAJ,GAAV/jL,EAAKnU,EAAE,KAAqB,GAAVmU,EAAKnU,EAAE,IAAQuc,EAAE,IAC/D4b,EAAQ,QAAH,EAAF+/J,KAAwB,GAAV/jL,EAAKnU,EAAE,KAAQ,IAAmB,IAAJ,GAAVmU,EAAKnU,EAAE,KAAqB,GAAVmU,EAAKnU,EAAE,IAAQuc,EAAE,GAC5E4b,EAAI,OAASi+T,EAAIrxU,KAAS,IAAFoT,EAAOi+T,EAAIrxU,KAAOoT,GAAG,IAElCs6N,EAAK,QAAjBt6N,GAAK,QAA0B,GAAI,MAAOA,EAAI,OAAY,KAAFA,GACxDi+T,EAAIrxU,KAAU,IAAH0tO,EAAQ2jG,EAAIrxU,KAAO0tO,IAAK,EAAG2jG,EAAIrxU,KAAS,IAAFoT,EAAOi+T,EAAIrxU,KAAQoT,IAAI,EAAG,KAG/E,OAAOi+T,EAAIjhT,MAAM,EAAEpwB,GAAGxV,SAAS,SAEjCoia,EAAa,OAAS,SAAgBx9Z,EAAMi+Z,GAC1C,GAAGz6L,GAAWC,EAAOvnE,SAASl8J,GAC5B,OAAIi+Z,GAAiB,QAATA,EACA,QAATA,EAAuBj+Z,EAAK5E,SAAS,UACjC,GAAG4lC,MAAMhwC,KAAKgP,GAFcA,EAIrC,IAAIg0B,EAAMh0B,EAAKlU,OAAQk4B,EAAI,EAAGs6N,EAAK,EAAGl2O,EAAI,EACtCm2Z,EAAyB,kBAATv+Z,EACjB,EAAIg0B,EAAM6pY,IAAOA,EAAM,EAAI7pY,EAAKiuT,EAAMx+G,EAAOK,YAAY+5L,IAC5D,IAAI,IAAIhya,EAAI,EAAGA,EAAImoC,IAAOnoC,GACxBm4B,EAAIu6Y,EAASv+Z,EAAKq6B,WAAWxuC,GAAKmU,EAAKnU,GAAGwuC,WAAW,KAC7C,IAAQ4nT,EAAI75U,KAAO4b,EACnBA,GAAK,MACXi+T,EAAI75U,KAAO,KAAO4b,GAAK,GACvBi+T,EAAI75U,KAAO,KAAS,GAAF4b,IACVA,GAAK,OAAUA,GAAK,OAC5BA,GAAK,QAAUn4B,EACfyyP,GAAMigL,EAASv+Z,EAAKq6B,WAAWxuC,GAAKmU,EAAKnU,GAAGwuC,WAAW,IAAM,OAAUrW,GAAK,IAC5Ei+T,EAAI75U,KAAO,KAAQk2O,IAAK,GAAM,GAC9B2jG,EAAI75U,KAAO,KAAQk2O,IAAK,GAAM,IAC9B2jG,EAAI75U,KAAO,KAAQk2O,IAAK,EAAK,IAC7B2jG,EAAI75U,KAAO,KAAY,GAALk2O,KAElB2jG,EAAI75U,KAAO,KAAO4b,GAAK,IACvBi+T,EAAI75U,KAAO,KAAQ4b,GAAK,EAAG,IAC3Bi+T,EAAI75U,KAAO,KAAS,GAAF4b,IAGtB,OAAIi6Y,GAAiB,QAATA,EACA,QAATA,EAAuBh8E,EAAIjhT,MAAM,EAAE54B,GAAGhN,SAAS,UAC3C,GAAG4lC,MAAMhwC,KAAKixV,EAAK,EAAG75U,GAFM65U,EAAIjhT,MAAM,EAAE54B,IAMnD,IAAIo2Z,EAAU,WACZ,GAAGh7L,EAAS,CACV,GAAGi6L,EAASL,EAAW,IAAK,OAC5B,IAAIvxa,EAAE,EAAG+D,EAAE,EACX,IAAI/D,EAAI,EAAGA,EAAIuxa,EAAWtxa,SAAUD,EAClC+D,EAAIwta,EAAWvxa,GACZqxa,EAAItta,KACL6ta,EAAS7ta,GAAKsua,EAAYtua,GAC1B8ta,EAAS9ta,GAAKkua,EAAYlua,IAG9B,IAAI/D,EAAI,EAAGA,EAAIwxa,EAAWvxa,SAAUD,EAClC+D,EAAIyta,EAAWxxa,GACZqxa,EAAItta,KACL6ta,EAAS7ta,GAAKyua,EAAYzua,GAC1B8ta,EAAS9ta,GAAKwua,EAAYxua,IAG9B,IAAI/D,EAAI,EAAGA,EAAIyxa,EAAYxxa,SAAUD,EACnC+D,EAAI0ta,EAAYzxa,GACb0xa,EAAa3ta,KAAI6ta,EAAS7ta,GAAK2ta,EAAa3ta,IAC5C4ta,EAAa5ta,KAAI8ta,EAAS9ta,GAAK4ta,EAAa5ta,MAIjD6ua,EAAW,SAASz+Z,EAAMi+Z,GAAmB,MAAO,IACpDS,EAAa,SAAoBj2Z,UAAag1Z,EAASh1Z,UAAYi1Z,EAASj1Z,IAU5E8uF,EAAQ,CACVinU,QAASA,EACTG,QAXY,WACZ,GAAGn7L,EAAS,CACV,IAAIi6L,EAASL,EAAW,IAAK,OAC7BA,EAAWr5Y,QAAQ26Y,GACnBrB,EAAWt5Y,QAAQ26Y,GACnBpB,EAAYv5Y,QAAQ26Y,GAEtBE,EAAWH,EAAUI,EAAU,GAK/BC,KAAM1B,EACN2B,KAAM1B,GAGRmB,IAEA,IAAIQ,EAAK,mEAELJ,EAAWH,EAAUI,EAAU,EAiOnC,OADA3B,EAAI/5L,MAAQ,CAAE5wH,OAvHD,SAASA,EAAO9pG,EAAIzI,GAC/B,IAAIrQ,EAAG,GAAIA,EAAE8ta,EAASh1Z,GAAM,OAAO9Y,EAAEqQ,GACrC,GAAmB,kBAATA,EAAmB,OAAOuyG,EAAO9pG,EAAIzI,EAAKzE,MAAM,IAAIkb,IAAImnZ,IAClE,IACiB75O,EADb/vJ,EAAMh0B,EAAKlU,OAAQs5C,EAAM,IAAI31C,MAAMukC,GAAMpkC,EAAE,GAAIo0B,EAAE,EAAGn4B,EAAE,EAAGuc,EAAE,EAAGwI,EAAE,EAAG0tO,EAAG,EACtE1jG,EAAIsiR,EAAIz0Z,GAAQyb,EAAE,GACtB,GAAG02H,IAAMmpC,EAAEnpC,EAAEguF,KACX,IAAI/8O,EAAI,EAAGA,EAAImoC,EAAKnoC,GAAGuc,EAAG,CAOxB,GANAA,EAAI,GACJxY,EAAIm0L,GAAG/jL,EAAKnU,IAAI,GAAImU,EAAKnU,EAAE,OAEzBuc,EAAI,EACJxY,EAAIm0L,EAAE/jL,EAAKnU,MAET+D,EAAG,MAAM,IAAIs+B,MAAM,sBAAwBluB,EAAKnU,GAAK,IAAMmU,EAAKnU,EAAEuc,EAAE,GAAK,IAAMvc,EAAI,IAAMuc,EAAI,IAAM27K,EAAE/jL,EAAKnU,KAC9Gu5C,EAAIx0B,KAAOhhB,MAGV,MAAIs0B,EAAEi5Y,EAAM10Z,IAkGZ,MAAM,IAAIylB,MAAM,oBAAsBzlB,GAlGpB,OAAOyb,GAC5B,IAAK,OAEH,IADG8P,GAAO,GAAgB,KAAXh0B,EAAK,IAA0B,KAAXA,EAAK,IAAyB,KAAXA,EAAK,KAAYnU,EAAI,GACrEA,EAAImoC,EAAKnoC,GAAGuc,EAChBA,EAAI,EACDpI,EAAKnU,GAAK,IAAKm4B,EAAIhkB,EAAKnU,GACnBmU,EAAKnU,GAAK,KAAOm4B,EAAe,IAAJ,GAARhkB,EAAKnU,KAAqB,GAAVmU,EAAKnU,EAAE,IAAQuc,EAAE,GACrDpI,EAAKnU,GAAK,KAAOm4B,IAAY,GAARhkB,EAAKnU,KAAQ,IAAmB,IAAJ,GAAVmU,EAAKnU,EAAE,KAAqB,GAAVmU,EAAKnU,EAAE,IAAQuc,EAAE,IAC3E4b,EAAc,QAAH,EAARhkB,EAAKnU,MAAyB,GAAVmU,EAAKnU,EAAE,KAAQ,IAAmB,IAAJ,GAAVmU,EAAKnU,EAAE,KAAqB,GAAVmU,EAAKnU,EAAE,IAAQuc,EAAE,GAClF4b,EAAI,QAEOs6N,EAAK,QAAjBt6N,GAAK,QAA0B,GAAI,MAAOA,EAAI,OAAY,KAAFA,GACxDohB,EAAIx0B,KAAO+V,OAAOE,aAAay3N,IAHjBl5M,EAAIx0B,KAAO+V,OAAOE,aAAa7C,GAMjD,MACF,IAAK,QACH,GAAGw/M,GAAWC,EAAOvnE,SAASl8J,GAAO,OAAOA,EAAK5E,SAAS8oB,GAC1D,IAAIr4B,EAAI,EAAGA,EAAImoC,EAAKnoC,IAAKu5C,EAAIv5C,GAAK86B,OAAOE,aAAa7mB,EAAKnU,IAC3D+kB,EAAIojB,EAAK,MACX,IAAK,UAEH,GADGA,GAAO,GAAgB,KAAXh0B,EAAK,IAA0B,KAAXA,EAAK,KAAYnU,EAAI,GACrD23O,GAAWC,EAAOvnE,SAASl8J,GAAO,OAAOA,EAAK5E,SAAS8oB,GAE1D,IADA9b,EAAI,EACEvc,EAAE,EAAImoC,EAAKnoC,GAAGuc,EAClBg9B,EAAIx0B,KAAO+V,OAAOE,cAAc7mB,EAAKnU,EAAE,IAAI,GAAKmU,EAAKnU,IAEvD,MACF,IAAK,UAGH,IAFGmoC,GAAO,GAAgB,KAAXh0B,EAAK,IAA0B,KAAXA,EAAK,KAAYnU,EAAI,GACxDuc,EAAI,EACEvc,EAAE,EAAImoC,EAAKnoC,GAAGuc,EAClBg9B,EAAIx0B,KAAO+V,OAAOE,cAAc7mB,EAAKnU,IAAI,GAAKmU,EAAKnU,EAAE,IAEvD,MACF,IAAK,UAGH,IAFGmoC,GAAO,GAAgB,KAAXh0B,EAAK,IAA0B,KAAXA,EAAK,IAA0B,IAAZA,EAAK,IAAwB,IAAZA,EAAK,KAAUnU,EAAI,GAC1Fuc,EAAI,EACEvc,EAAImoC,EAAKnoC,GAAGuc,GAChB4b,GAAKhkB,EAAKnU,EAAE,IAAI,KAAOmU,EAAKnU,EAAE,IAAI,KAAOmU,EAAKnU,EAAE,IAAI,GAAMmU,EAAKnU,IACxD,OACLm4B,GAAK,MACLohB,EAAIx0B,KAAO+V,OAAOE,aAAa,OAAW7C,GAAK,GAAM,OACrDohB,EAAIx0B,KAAO+V,OAAOE,aAAa,OAAc,KAAJ7C,KAEtCohB,EAAIx0B,KAAO+V,OAAOE,aAAa7C,GAEtC,MACF,IAAK,UAGH,IAFGgQ,GAAO,GAAgB,KAAXh0B,EAAK,IAA0B,KAAXA,EAAK,IAA0B,IAAZA,EAAK,IAAwB,IAAZA,EAAK,KAAUnU,EAAI,GAC1Fuc,EAAI,EACEvc,EAAImoC,EAAKnoC,GAAGuc,GAChB4b,GAAKhkB,EAAKnU,IAAI,KAAOmU,EAAKnU,EAAE,IAAI,KAAOmU,EAAKnU,EAAE,IAAI,GAAMmU,EAAKnU,EAAE,IACxD,OACLm4B,GAAK,MACLohB,EAAIx0B,KAAO+V,OAAOE,aAAa,OAAW7C,GAAK,GAAM,OACrDohB,EAAIx0B,KAAO+V,OAAOE,aAAa,OAAc,KAAJ7C,KAEtCohB,EAAIx0B,KAAO+V,OAAOE,aAAa7C,GAEtC,MACF,IAAK,OAKH,IAJGgQ,GAAO,GAAgB,IAAXh0B,EAAK,IAAyB,IAAXA,EAAK,IAAyB,KAAXA,EAAK,KACrDg0B,GAAO,GAAgB,IAAXh0B,EAAK,IAAyB,IAAXA,EAAK,GAAYnU,EAAI,EACpC,IAAXmU,EAAK,IAAyB,IAAXA,EAAK,IAAyB,IAAXA,EAAK,IAAyB,IAAXA,EAAK,KAAYnU,EAAI,IAElFA,EAAImoC,EAAKnoC,GAAGuc,EAChB,GAAe,KAAZpI,EAAKnU,GAER,GADAuc,EAAE,EACe,KAAdpI,EAAKnU,EAAE,GAAV,CAEA,KAAM86B,OAAOE,aAAa7mB,EAAKnU,EAAEuc,IAAI5P,MAAM,mBAAmB4P,IAC9D,IAAIoyE,EAAO,EACM,KAAdx6E,EAAKnU,EAAEuc,OAAiBA,EAAGoyE,EAAK,GAKnC,IAJA,IAAIurG,EAAK,GACLk5O,EAAM,GACN78O,EAAG,EAAGC,EAAG,EAAGC,EAAG,EACT+gD,EAAG,EAAGC,EAAG,EAAGC,EAAG,EACjBxyO,EAAI,EAAGA,EAAIqX,EAAIoyE,IAGrB4nG,EAFK48O,EAAG3la,QAAQstB,OAAOE,aAAa7mB,EAAKnU,EAAEkF,QAEhC,GADXsyO,EAAK27L,EAAG3la,QAAQstB,OAAOE,aAAa7mB,EAAKnU,EAAEkF,SACtB,EACrBg1L,EAAGjwL,KAAKssL,IAEG,KADXkhD,EAAK07L,EAAG3la,QAAQstB,OAAOE,aAAa7mB,EAAKnU,EAAEkF,WAE3CsxL,GAAW,GAALghD,IAAY,EAAIC,GAAM,EAC5Bv9C,EAAGjwL,KAAKusL,IAEG,KADXkhD,EAAKy7L,EAAG3la,QAAQstB,OAAOE,aAAa7mB,EAAKnU,EAAEkF,UAE3CuxL,GAAW,EAALghD,IAAW,EAAIC,EAClBA,EAAK,IAAIx9C,EAAGjwL,KAAKwsL,GAGtB,IADA28O,EAAM1sT,EAAO,KAAMwzE,GACfh1L,EAAI,EAAGA,EAAIkua,EAAInza,SAAUiF,EAAGq0C,EAAIx0B,KAAOquZ,EAAInnZ,OAAO/mB,QAxB7BqX,EAAI,EAAGg9B,EAAIx0B,KAAO,SAFpBxI,EAAE,EAAGg9B,EAAIx0B,KAAO+V,OAAOE,aAAa7mB,EAAKnU,IA4BlE,MACF,QAAS,MAAM,IAAIqiC,MAAM,sBAAwBzlB,EAAK,IAAM00Z,EAAM10Z,KAGpE,OAAO28B,EAAIpE,MAAM,EAAEpwB,GAAGvV,KAAK,KAGC0gE,OA/NjB,SAASA,EAAOtzD,EAAIzI,EAAMi+Z,GACrC,GAAGx1Z,IAAOo2Z,GAAWD,EAAY,OAAOA,EAAS5+Z,EAAMi+Z,GACvD,GAAGP,EAASj1Z,GAAwC,OAAjCm2Z,EAAWlB,EAASmB,EAAQp2Z,IAAqBzI,EAAMi+Z,GACvEz6L,GAAWC,EAAOvnE,SAASl8J,KAAOA,EAAOA,EAAK5E,SAAS,SAC1D,IAEiB8kL,EAFblsJ,EAAMh0B,EAAKlU,OACXs5C,EAAMo+L,EAAUC,EAAOK,YAAY,EAAE9vM,GAAO,GAAIhQ,EAAE,EAAGn4B,EAAE,EAAGuc,EAAI,EAAGk2O,EAAG,EACpE1jG,EAAIsiR,EAAIz0Z,GAAQyb,EAAI,GACpBg7Y,EAAwB,kBAATl/Z,EACnB,GAAG46I,IAAMslC,EAAEtlC,EAAEgpF,KAAM,IAAI/3O,EAAI,EAAGA,EAAImoC,IAAOnoC,IAAKuc,GAC5C4b,EAAIk8J,EAAEg/O,EAAOl/Z,EAAK8X,OAAOjsB,GAAKmU,EAAKnU,KAC5B,KACLu5C,EAAIh9B,GAAK4b,GAAG,EACZohB,IAAMh9B,GAAO,IAAF4b,GACNohB,EAAIh9B,GAAO,IAAF4b,MAEb,MAAIE,EAAEi5Y,EAAM10Z,IAkFZ,MAAM,IAAIylB,MAAM,oBAAsBzlB,GAlFpB,OAAOyb,GAC5B,IAAK,OACH,GAAGs/M,GAAW07L,EAAO,CAA8B92Z,GAA5Bg9B,EAAMs+L,EAAY1jO,EAAMkkB,IAAYp4B,OAAQ,MACnE,IAAID,EAAI,EAAGA,EAAImoC,IAAOnoC,IAAKuc,GACzB4b,EAAIk7Y,EAAQl/Z,EAAKq6B,WAAWxuC,GAAKmU,EAAKnU,GAAGwuC,WAAW,KAC5C,IAAQ+K,EAAIh9B,GAAK4b,EACjBA,GAAK,MACXohB,EAAIh9B,GAAO,KAAO4b,GAAK,GACvBohB,IAAMh9B,GAAK,KAAS,GAAF4b,IACVA,GAAK,OAAUA,GAAK,OAC5BA,GAAK,MACLs6N,GAAM4gL,EAAQl/Z,EAAKq6B,aAAaxuC,GAAKmU,IAAOnU,GAAGwuC,WAAW,IAAM,OAAUrW,GAAK,IAC/EohB,EAAIh9B,GAAO,KAAQk2O,IAAK,GAAM,GAC9Bl5M,IAAMh9B,GAAK,KAAQk2O,IAAK,GAAM,IAC9Bl5M,IAAMh9B,GAAK,KAAQk2O,IAAK,EAAK,IAC7Bl5M,IAAMh9B,GAAK,KAAY,GAALk2O,KAElBl5M,EAAIh9B,GAAO,KAAO4b,GAAK,IACvBohB,IAAMh9B,GAAK,KAAQ4b,GAAK,EAAG,IAC3BohB,IAAMh9B,GAAK,KAAS,GAAF4b,IAGtB,MACF,IAAK,QACH,GAAGw/M,GAA2B,kBAATxjO,EAAmB,CAA8BoI,GAA5Bg9B,EAAMs+L,EAAY1jO,EAAMkkB,IAAYp4B,OAAQ,MACtF,IAAID,EAAI,EAAGA,EAAImoC,IAAOnoC,IAAKuc,EAAG,CAE5B,MADA4b,EAAIk7Y,EAAQl/Z,EAAKq6B,WAAWxuC,GAAKmU,EAAKnU,GAAGwuC,WAAW,KAC5C,KACH,MAAM,IAAInM,MAAM,aAAelK,GADpBohB,EAAIh9B,GAAK4b,EAG3B,MACF,IAAK,UACH,GAAGw/M,GAA2B,kBAATxjO,EAAmB,CAA8BoI,GAA5Bg9B,EAAMs+L,EAAY1jO,EAAMkkB,IAAYp4B,OAAQ,MACtF,IAAID,EAAI,EAAGA,EAAImoC,IAAOnoC,EACpBm4B,EAAIk7Y,EAAQl/Z,EAAKq6B,WAAWxuC,GAAKmU,EAAKnU,GAAGwuC,WAAW,GACpD+K,EAAIh9B,KAAS,IAAF4b,EACXohB,EAAIh9B,KAAO4b,GAAG,EAEhB,MACF,IAAK,UACH,IAAIn4B,EAAI,EAAGA,EAAImoC,IAAOnoC,EACpBm4B,EAAIk7Y,EAAQl/Z,EAAKq6B,WAAWxuC,GAAKmU,EAAKnU,GAAGwuC,WAAW,GACpD+K,EAAIh9B,KAAO4b,GAAG,EACdohB,EAAIh9B,KAAS,IAAF4b,EAEb,MACF,IAAK,UACH,IAAIn4B,EAAI,EAAGA,EAAImoC,IAAOnoC,GACpBm4B,EAAIk7Y,EAAQl/Z,EAAKq6B,WAAWxuC,GAAKmU,EAAKnU,GAAGwuC,WAAW,KAC5C,OAAUrW,GAAK,QAAQA,EAAI,OAAYA,EAAI,OAAW,KAAOhkB,IAAOnU,GAAGwuC,WAAW,GAAK,QAC/F+K,EAAIh9B,KAAS,IAAF4b,EAAOA,IAAM,EACxBohB,EAAIh9B,KAAS,IAAF4b,EAAOA,IAAM,EACxBohB,EAAIh9B,KAAS,IAAF4b,EAAOA,IAAM,EACxBohB,EAAIh9B,KAAS,IAAF4b,EAEb,MACF,IAAK,UACH,IAAIn4B,EAAI,EAAGA,EAAImoC,IAAOnoC,GACpBm4B,EAAIk7Y,EAAQl/Z,EAAKq6B,WAAWxuC,GAAKmU,EAAKnU,GAAGwuC,WAAW,KAC5C,OAAUrW,GAAK,QAAQA,EAAI,OAAYA,EAAI,OAAW,KAAOhkB,IAAOnU,GAAGwuC,WAAW,GAAK,QAC/F+K,EAAIh9B,EAAE,GAAO,IAAF4b,EAAOA,IAAM,EACxBohB,EAAIh9B,EAAE,GAAO,IAAF4b,EAAOA,IAAM,EACxBohB,EAAIh9B,EAAE,GAAO,IAAF4b,EAAOA,IAAM,EACxBohB,EAAIh9B,GAAO,IAAF4b,EACT5b,GAAG,EAEL,MACF,IAAK,OACH,IAAIvc,EAAI,EAAGA,EAAImoC,EAAKnoC,IAAK,CACvB,IAAIqF,EAAIgua,EAAQl/Z,EAAK8X,OAAOjsB,GAAKmU,EAAKnU,GAAGisB,OAAO,GAChD,GAAS,MAAN5mB,EACH,GAxFG,0EAwFKmI,QAAQnI,IAAM,EAAKk0C,EAAIh9B,KAAOlX,EAAEmpC,WAAW,OAAnD,CACA,IAAI0rJ,EAAKhqH,EAAO,KAAM7qE,GACtBk0C,EAAIh9B,KAAO,GACXg9B,EAAIh9B,KAAO42Z,EAAG3kY,WAAW0rJ,EAAG,IAAI,GAChC3gJ,EAAIh9B,KAAO42Z,EAAG3kY,aAAmB,EAAN0rJ,EAAG,KAAU,KAAOA,EAAG,IAAI,IAAI,IAC1D3gJ,EAAIh9B,KAAO42Z,EAAG3kY,aAAmB,GAAN0rJ,EAAG,KAAU,KAAOA,EAAG,IAAI,IAAI,IAC1D3gJ,EAAIh9B,KAAO,QAPKg9B,EAAIh9B,KAAO,GAAMg9B,EAAIh9B,KAAO,GAS9C,MACF,QAAS,MAAM,IAAI8lB,MAAM,sBAAwBzlB,EAAK,IAAM00Z,EAAM10Z,KAIpE,OADA28B,EAAMA,EAAIpE,MAAM,EAAE54B,GACdo7N,EACAy6L,GAAiB,QAATA,EACA,QAATA,EAAuB74X,EAAIhqC,SAAS,UAChC,GAAG4lC,MAAMhwC,KAAKo0C,GAFcA,EADN,OAAR64X,EAAkB74X,EAAK3uB,IAAIknZ,GAAMtia,KAAK,IAAM+pC,GA4HrB+5X,MADlC,SAAe12Z,GAAM,SAAUy0Z,EAAIz0Z,KAAO00Z,EAAM10Z,KACA00Z,MAAOA,EAAO5lU,MAAMA,GACzE2lU,O,wDC79CT/wa,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQi6a,SAiFR,SAAkBj6X,GAKhB,MAAgC,SAAzBA,EAAUv5C,MAAM60I,MAA4C,MAAzBt7F,EAAUv5C,MAAM60I,MArF5Dt7I,EAAQk6a,SAwFR,SAAkBl6X,GAKhB,MAAgC,SAAzBA,EAAUv5C,MAAM60I,MAA4C,MAAzBt7F,EAAUv5C,MAAM60I,MA5F5Dt7I,EAAQm6a,eAmHR,SAAwBn6X,EAEtBtpC,EAEAC,GAKA,IAAIi4D,EAAQ5uB,EAAU4uB,MAClBwrW,IAAW,EAAIpiC,EAAO1zC,OAAO11R,EAAMyrW,OACnC3sa,EAAO0jL,EAAYpxI,GAEvB,OAAIo6X,EAEK,CACL1sa,KAAMA,EACNkmX,OAAQ,EACRC,OAAQ,EACRwmD,MAAO3ja,EACP4ja,MAAO3ja,EACPD,EAAGA,EACHC,EAAGA,GAIE,CACLjJ,KAAMA,EACNkmX,OAAQl9W,EAAIk4D,EAAMyrW,MAClBxmD,OAAQl9W,EAAIi4D,EAAM0rW,MAClBD,MAAOzrW,EAAMyrW,MACbC,MAAO1rW,EAAM0rW,MACb5ja,EAAGA,EACHC,EAAGA,IAnJT3W,EAAQu6a,oBAyJR,SAA6Bv6X,EAE3Bw6X,GAKA,IAAIrga,EAAQ6lC,EAAUv5C,MAAM0T,MAC5B,MAAO,CACLzM,KAAM8sa,EAAS9sa,KACfgJ,EAAGspC,EAAU4uB,MAAMl4D,EAAI8ja,EAAS5mD,OAASz5W,EACzCxD,EAAGqpC,EAAU4uB,MAAMj4D,EAAI6ja,EAAS3mD,OAAS15W,EACzCy5W,OAAQ4mD,EAAS5mD,OAASz5W,EAC1B05W,OAAQ2mD,EAAS3mD,OAAS15W,EAC1Bkga,MAAOr6X,EAAU4uB,MAAMl4D,EACvB4ja,MAAOt6X,EAAU4uB,MAAMj4D,IAvK3B3W,EAAQy6a,iBAQR,SAA0Bz6X,EAExBtpC,EAEAC,GAMA,IAAKqpC,EAAUv5C,MAAM82F,OAAQ,MAAO,CAAC7mF,EAAGC,GAExC,IAAI4mF,EAASv9C,EAAUv5C,MAAM82F,OAC7BA,EAA2B,kBAAXA,EAAsBA,EAuJxC,SAAqBA,GAKnB,MAAO,CACL78C,KAAM68C,EAAO78C,KACbE,IAAK28C,EAAO38C,IACZ8rC,MAAO6Q,EAAO7Q,MACdD,OAAQ8Q,EAAO9Q,QAhK8BiuV,CAAYn9U,GAC3D,IAAI7vF,EAAO0jL,EAAYpxI,GAEvB,GAAsB,kBAAXu9C,EAAqB,CAC9B,IAEIo9U,EAFA5mY,EAAgBrmC,EAAKqmC,cACrB6mY,EAAc7mY,EAAcumQ,YAShC,MALEqgI,EADa,WAAXp9U,EACU7vF,EAAK8hB,WAELukB,EAActM,cAAc81D,cAGfq9U,EAAYl/Q,aACrC,MAAM,IAAI3yH,MAAM,oBAAsBw0D,EAAS,gCAGjD,IAAIs9U,EAEFF,EAEEG,EAAYF,EAAY56Z,iBAAiBtS,GACzCqta,EAAiBH,EAAY56Z,iBAAiB66Z,GAElDt9U,EAAS,CACP78C,MAAOhzC,EAAKmhB,YAAa,EAAImpX,EAAO3zC,KAAK02E,EAAezjR,cAAe,EAAI0gP,EAAO3zC,KAAKy2E,EAAUljR,YACjGh3G,KAAMlzC,EAAKohB,WAAY,EAAIkpX,EAAO3zC,KAAK02E,EAAexiR,aAAc,EAAIy/O,EAAO3zC,KAAKy2E,EAAU/iR,WAC9FrrE,OAAO,EAAIsuV,EAAQ9iR,YAAY2iR,IAAe,EAAIG,EAAQzuV,YAAY7+E,GAAQA,EAAKmhB,YAAa,EAAImpX,EAAO3zC,KAAK02E,EAAexjR,eAAgB,EAAIygP,EAAO3zC,KAAKy2E,EAAUjjR,aACzKprE,QAAQ,EAAIuuV,EAAQ7iR,aAAa0iR,IAAe,EAAIG,EAAQ1uV,aAAa5+E,GAAQA,EAAKohB,WAAY,EAAIkpX,EAAO3zC,KAAK02E,EAAeviR,gBAAiB,EAAIw/O,EAAO3zC,KAAKy2E,EAAU9iR,gBAK5K,EAAIggP,EAAO1zC,OAAO/mQ,EAAO7Q,SAAQh2E,EAAI1F,KAAK6K,IAAInF,EAAG6mF,EAAO7Q,SACxD,EAAIsrT,EAAO1zC,OAAO/mQ,EAAO9Q,UAAS91E,EAAI3F,KAAK6K,IAAIlF,EAAG4mF,EAAO9Q,UAEzD,EAAIurT,EAAO1zC,OAAO/mQ,EAAO78C,QAAOhqC,EAAI1F,KAAK+K,IAAIrF,EAAG6mF,EAAO78C,QACvD,EAAIs3V,EAAO1zC,OAAO/mQ,EAAO38C,OAAMjqC,EAAI3F,KAAK+K,IAAIpF,EAAG4mF,EAAO38C,MAC1D,MAAO,CAAClqC,EAAGC,IA3Db3W,EAAQi7a,mBA6FR,SAA4Brwa,EAE1Bswa,EAEAC,GAKA,IAAIC,EAAsC,kBAApBF,GAA+B,EAAIF,EAAQnjC,UAAUjtY,EAAGswa,GAAmB,KACjG,GAA+B,kBAApBA,IAAiCE,EAAU,OAAO,KAE7D,IAAI1ta,EAAO0jL,EAAY+pP,GAEnBpsZ,EAAeosZ,EAAc10a,MAAMsoB,cAAgBrhB,EAAKqhB,cAAgBrhB,EAAKqmC,cAAc7lB,KAC/F,OAAO,EAAI8sZ,EAAQ3iC,oBAAoB+iC,GAAYxwa,EAAGmkB,EAAcosZ,EAAc10a,MAAM0T,QA3G1Fna,EAAQq7a,WA6DR,SAAoBx8V,EAElBy8V,EAEAC,GAKA,IAAI7ka,EAAI1F,KAAKi9G,MAAMqtT,EAAWz8V,EAAK,IAAMA,EAAK,GAC1CloE,EAAI3F,KAAKi9G,MAAMstT,EAAW18V,EAAK,IAAMA,EAAK,GAC9C,MAAO,CAACnoE,EAAGC,IAtEb,IAAIqhY,EAAS/3Y,EAAQ,KAEjB+6a,EAAU/6a,EAAQ,KAmLtB,SAASmxL,EAAYpxI,GAKnB,IAAItyC,EAAOsyC,EAAUoxI,cAErB,IAAK1jL,EACH,MAAM,IAAIq7B,MAAM,4CAIlB,OAAOr7B,I,6BC5MT1G,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQq9B,QAGR,gBAGMoM,I,6BCTNziC,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ41H,cAAW,EAEnB,IAQgC/rF,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF46F,EAAcxkI,EAAQ,IAEtBykI,EAAWzkI,EAAQ,IAIvB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI+rF,EAAwB,SAAU4P,IAhBtC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU0sH,EAAU4P,GAEpB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAaosH,GAE1B,SAASA,EAASnvH,GAChB,IAAI24C,EAYJ,OAxCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAM+rH,IAEtBx2E,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZi/V,SAAS,GAEXzuX,EAAM6F,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAM6vX,QAAU7vX,EAAM6vX,QAAQvia,KAAK44H,EAAuBlmF,IAC1DA,EAAM24E,OAAS34E,EAAM24E,OAAOrrH,KAAK44H,EAAuBlmF,IACxDA,EAAMuG,UAAYvG,EAAMuG,UAAUj5C,KAAK44H,EAAuBlmF,IACvDA,EA2IT,OA/KoB/4C,EAuCPuvH,GAvCoBxuH,EAuCV,CAAC,CACtBF,IAAK,UACLqC,MAAO,SAAiBqB,GACjBf,KAAKpD,MAAMgsF,UAAa5oF,KAAKpD,MAAMwnT,WAAYpkT,KAAKpD,MAAMwvH,WAC7DpsH,KAAKpD,MAAMwvH,SAAS,CAClB/wE,cAAet6C,EACfrB,MAAOM,KAAKpD,MAAM8C,MAClBysH,SAAUnsH,KAAKpD,MAAMuvH,QACrBnxE,gBAAiB,aACjBF,eAAgB,aAChBn+C,OAAQ,CACNsU,KAAM,WACN7O,KAAMpC,KAAKpD,MAAMwF,KACjB+hB,GAAInkB,KAAKpD,MAAMunB,GACfzkB,MAAOM,KAAKpD,MAAM8C,MAClBysH,SAAUnsH,KAAKpD,MAAMuvH,WAGzBnsH,KAAKyiH,MAAM0J,SAAWnsH,KAAKpD,MAAMuvH,QACjCnsH,KAAKyiH,MAAMr8B,QACXrlF,EAAE+5C,oBAGL,CACDz9C,IAAK,oBACLqC,MAAO,WACDM,KAAKpD,MAAMg/H,SACb57H,KAAK67H,kBAGR,CACDx+H,IAAK,uBACLqC,MAAO,WACDM,KAAK47H,UACP57H,KAAK47H,QAAQ7/E,UACb/7C,KAAK47H,QAAU,QAGlB,CACDv+H,IAAK,qBACLqC,MAAO,SAA4Bo8H,GACjC97H,KAAKyiH,MAAM0J,QAAUnsH,KAAKpD,MAAMuvH,QAE5B2P,EAAUF,UAAY57H,KAAKpD,MAAMg/H,UAC/B57H,KAAK47H,QAAS57H,KAAK47H,QAAQG,cAAc/7H,KAAKpD,MAAMg/H,SAAc57H,KAAK67H,mBAG9E,CACDx+H,IAAK,UACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ2/P,SAAS,MAGZ,CACD3ma,IAAK,SACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ2/P,SAAS,MAGZ,CACD3ma,IAAK,YACLqC,MAAO,SAAmB4lB,GACN,UAAdA,EAAMjoB,MACR2C,KAAKo7C,QAAQ91B,GACbA,EAAMw1B,oBAGT,CACDz9C,IAAK,gBACLqC,MAAO,WACLM,KAAK47H,SAAU,EAAIf,EAASmB,KAAK,CAC/Br/H,OAAQqD,KAAK0a,QACbiN,QAAS3nB,KAAKpD,MAAMg/H,QACpBr9F,QAASv+B,KAAKpD,MAAMq/H,mBAGvB,CACD5+H,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAET2xa,GAAiB,EAAI/2S,EAAYtP,YAAY,yBAA0B,CACzE,qBAAsBtrH,KAAKpD,MAAMuvH,QACjC,sBAAuBnsH,KAAKpD,MAAMgsF,SAClC,qBAAsB5oF,KAAK+kE,MAAMi/V,SAChChka,KAAKpD,MAAM+nB,WACVitZ,GAAW,EAAIh3S,EAAYtP,YAAY,iBAAkB,CAC3D,cAAetrH,KAAKpD,MAAMuvH,QAC1B,aAAcnsH,KAAKpD,MAAMgsF,SACzB,UAAW5oF,KAAK+kE,MAAMi/V,UAEpB6N,GAAY,EAAIj3S,EAAYtP,YAAY,sBAAuB,CACjE,cAAetrH,KAAKpD,MAAMuvH,UAE5B,OAAoBoO,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChB,OAAOsc,EAAO3hC,QAAUqlB,GAE1B5b,GAAInkB,KAAKpD,MAAMunB,GACfQ,UAAWgtZ,EACXj/Z,MAAO1S,KAAKpD,MAAM8V,MAClB0oC,QAASp7C,KAAKo7C,QACdoI,cAAexjD,KAAKpD,MAAM4mD,cAC1BzI,YAAa/6C,KAAKpD,MAAMm+C,aACVw/E,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,uBACG41G,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpD3J,KAAM,WACN,kBAAmBjR,KAAKpD,MAAM+ra,eAC9Bv6V,IAAK,SAAaruC,GAChB,OAAOsc,EAAOomE,MAAQ1iF,GAExB5b,GAAInkB,KAAKpD,MAAM6ra,QACfrma,KAAMpC,KAAKpD,MAAMwF,KACjBooa,eAAgBxqa,KAAKpD,MAAMuvH,QAC3BrwE,UAAW97C,KAAK87C,UAChBspX,QAASpla,KAAKola,QACdl3S,OAAQluH,KAAKkuH,OACbtlC,SAAU5oF,KAAKpD,MAAMgsF,SACrBw7N,SAAUpkT,KAAKpD,MAAMwnT,SACrB/1L,SAAUruH,KAAKpD,MAAMyxH,YACLkM,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACpD+J,UAAWitZ,EACXxjW,IAAK,SAAaruC,GAChB,OAAOsc,EAAO45B,IAAMl2C,GAEtB2/I,KAAM,WACN,eAAgB1/K,KAAKpD,MAAMuvH,SACboO,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAWktZ,WA1K2Dn1a,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA+K3KuuH,EA7JmB,CA8J1BwO,EAAOuC,WAET3mI,EAAQ41H,SAAWA,EAEnB//D,EAAgB+/D,EAAU,eAAgB,CACxC5nG,GAAI,KACJskZ,QAAS,KACT/oa,MAAO,KACP0C,KAAM,KACN+pH,SAAS,EACTz5G,MAAO,KACPiS,UAAW,KACXikE,UAAU,EACVylC,UAAU,EACV+1L,UAAU,EACVxoL,QAAS,KACTK,eAAgB,KAChB0sS,eAAgB,KAChBv8S,SAAU,KACVrxE,YAAa,KACbyI,cAAe,OAGjBwI,EAAgB+/D,EAAU,YAAa,CACrC5nG,GAAIw2G,EAAWnnG,QAAQw2F,OACvBy+S,QAAS9tS,EAAWnnG,QAAQw2F,OAC5BtqH,MAAOi7H,EAAWnnG,QAAQy2F,IAC1B7nH,KAAMu4H,EAAWnnG,QAAQw2F,OACzBmC,QAASwO,EAAWnnG,QAAQs2F,KAC5Bp3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,OAC9BphC,SAAU+xC,EAAWnnG,QAAQs2F,KAC7BuE,SAAUsM,EAAWnnG,QAAQs2F,KAC7Bs6L,SAAUzpL,EAAWnnG,QAAQs2F,KAC7B8R,QAASjB,EAAWnnG,QAAQw2F,OAC5BiS,eAAgBtB,EAAWnnG,QAAQ1wB,OACnC6la,eAAgBhuS,EAAWnnG,QAAQw2F,OACnCoC,SAAUuO,EAAWnnG,QAAQi8B,KAC7B1U,YAAa4/E,EAAWnnG,QAAQi8B,KAChCjM,cAAem3E,EAAWnnG,QAAQi8B,Q,iBClPpC,gBAAIm1I,EAA2B,qBAAXt+E,GAA0BA,GACjB,qBAATtlG,MAAwBA,MAChCtf,OACRtB,EAAQ83B,SAASz6B,UAAU2C,MAiB/B,SAAS0xa,EAAQ3tZ,EAAI4tZ,GACnB/xa,KAAKgya,IAAM7tZ,EACXnkB,KAAKiya,SAAWF,EAflB57a,EAAQ0+B,WAAa,WACnB,OAAO,IAAIi9Y,EAAQ1xa,EAAM4B,KAAK6yB,WAAY+vK,EAAOzkM,WAAYm0B,eAE/Dn+B,EAAQiwB,YAAc,WACpB,OAAO,IAAI0rZ,EAAQ1xa,EAAM4B,KAAKokB,YAAaw+K,EAAOzkM,WAAYqmB,gBAEhErwB,EAAQm+B,aACRn+B,EAAQqwB,cAAgB,SAAS2xE,GAC3BA,GACFA,EAAQ2uG,SAQZgrO,EAAQr0a,UAAUy0a,MAAQJ,EAAQr0a,UAAU2wE,IAAM,aAClD0jW,EAAQr0a,UAAUqpM,MAAQ,WACxB9mM,KAAKiya,SAASjwa,KAAK4iM,EAAO5kM,KAAKgya,MAIjC77a,EAAQg8a,OAAS,SAASzqZ,EAAM0qZ,GAC9B99Y,aAAa5M,EAAK2qZ,gBAClB3qZ,EAAK4qZ,aAAeF,GAGtBj8a,EAAQo8a,SAAW,SAAS7qZ,GAC1B4M,aAAa5M,EAAK2qZ,gBAClB3qZ,EAAK4qZ,cAAgB,GAGvBn8a,EAAQq8a,aAAer8a,EAAQk8H,OAAS,SAAS3qG,GAC/C4M,aAAa5M,EAAK2qZ,gBAElB,IAAID,EAAQ1qZ,EAAK4qZ,aACbF,GAAS,IACX1qZ,EAAK2qZ,eAAiBx9Y,YAAW,WAC3BnN,EAAK+qZ,YACP/qZ,EAAK+qZ,eACNL,KAKPh8a,EAAQ,KAIRD,EAAQu8a,aAAgC,qBAAT1xZ,MAAwBA,KAAK0xZ,cAClB,qBAAXpsT,GAA0BA,EAAOosT,cACxC1ya,MAAQA,KAAK0ya,aACrCv8a,EAAQw8a,eAAkC,qBAAT3xZ,MAAwBA,KAAK2xZ,gBAClB,qBAAXrsT,GAA0BA,EAAOqsT,gBACxC3ya,MAAQA,KAAK2ya,iB,kCC9DvC,IAAIh2E,EAAUvmW,EAAQ,KAClB0+B,EAAO1+B,EAAQ,KAcnBF,EAAOC,QAJP,SAAoB2M,EAAQ8qU,GAC1B,OAAO9qU,GAAU65V,EAAQ75V,EAAQ8qU,EAAU94S,K,iBCZ7C,YACA,IAAIsuJ,EAA8B,iBAAV98D,GAAsBA,GAAUA,EAAOnpH,SAAWA,QAAUmpH,EAEpFpwH,EAAOC,QAAUitL,I,mCCHjB,gBAAI/sK,EAAOjgB,EAAQ,IACfw8a,EAAYx8a,EAAQ,KAGpBy8a,EAA4C18a,IAAYA,EAAQ0d,UAAY1d,EAG5E28a,EAAaD,GAAgC,iBAAV38a,GAAsBA,IAAWA,EAAO2d,UAAY3d,EAMvFu+O,EAHgBq+L,GAAcA,EAAW38a,UAAY08a,EAG5Bx8Z,EAAKo+N,YAAS70M,EAsBvCstI,GAnBiBunE,EAASA,EAAOvnE,cAAWttI,IAmBfgzY,EAEjC18a,EAAOC,QAAU+2K,I,sCCrCjB,IAAI6lQ,EAAmB38a,EAAQ,KAC3B48a,EAAY58a,EAAQ,KACpB68a,EAAW78a,EAAQ,KAGnB88a,EAAmBD,GAAYA,EAASE,aAmBxCA,EAAeD,EAAmBF,EAAUE,GAAoBH,EAEpE78a,EAAOC,QAAUg9a,G,cCbjBj9a,EAAOC,QANP,SAAmBs5D,GACjB,OAAO,SAAS/vD,GACd,OAAO+vD,EAAK/vD,M,gBCThB,IAAIw7V,EAAY9kW,EAAQ,KACpBg9a,EAAah9a,EAAQ,KACrBi9a,EAAcj9a,EAAQ,KACtBk9a,EAAWl9a,EAAQ,KACnBm9a,EAAWn9a,EAAQ,KACnBo9a,EAAWp9a,EAAQ,KASvB,SAASq9a,EAAMl/U,GACb,IAAIvjF,EAAOhR,KAAKs7V,SAAW,IAAIJ,EAAU3mQ,GACzCv0F,KAAKklE,KAAOl0D,EAAKk0D,KAInBuuW,EAAMh2a,UAAUu+C,MAAQo3X,EACxBK,EAAMh2a,UAAN,OAA4B41a,EAC5BI,EAAMh2a,UAAU6E,IAAMgxa,EACtBG,EAAMh2a,UAAUunF,IAAMuuV,EACtBE,EAAMh2a,UAAU+O,IAAMgna,EAEtBt9a,EAAOC,QAAUs9a,G,cCzBjB,IAGIrhC,EAHYl6W,SAASz6B,UAGI2O,SAqB7BlW,EAAOC,QAZP,SAAkBs5D,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAO2iV,EAAapwY,KAAKytD,GACzB,MAAO1uD,IACT,IACE,OAAQ0uD,EAAO,GACf,MAAO1uD,KAEX,MAAO,K,gBCtBT,IAAI2ya,EAAWt9a,EAAQ,KACnBu9a,EAAYv9a,EAAQ,KACpBw9a,EAAWx9a,EAAQ,KAiFvBF,EAAOC,QA9DP,SAAqB4sD,EAAOhG,EAAOizV,EAASC,EAAY4jC,EAAW/2Y,GACjE,IAAIg3Y,EAjBqB,EAiBT9jC,EACZ9oE,EAAYnkR,EAAMjmD,OAClBi3a,EAAYh3X,EAAMjgD,OAEtB,GAAIoqU,GAAa6sG,KAAeD,GAAaC,EAAY7sG,GACvD,OAAO,EAGT,IAAI8sG,EAAal3Y,EAAMx6B,IAAIygD,GACvBkxX,EAAan3Y,EAAMx6B,IAAIy6C,GAC3B,GAAIi3X,GAAcC,EAChB,OAAOD,GAAcj3X,GAASk3X,GAAclxX,EAE9C,IAAI5hB,GAAS,EACTthC,GAAS,EACTugP,EA/BuB,EA+Bf4vJ,EAAoC,IAAI0jC,OAAW9zY,EAM/D,IAJA9C,EAAMtwB,IAAIu2C,EAAOhG,GACjBjgB,EAAMtwB,IAAIuwC,EAAOgG,KAGR5hB,EAAQ+lS,GAAW,CAC1B,IAAIgtG,EAAWnxX,EAAM5hB,GACjBgzY,EAAWp3X,EAAM5b,GAErB,GAAI8uW,EACF,IAAImkC,EAAWN,EACX7jC,EAAWkkC,EAAUD,EAAU/yY,EAAO4b,EAAOgG,EAAOjmB,GACpDmzW,EAAWikC,EAAUC,EAAUhzY,EAAO4hB,EAAOhG,EAAOjgB,GAE1D,QAAiB8C,IAAbw0Y,EAAwB,CAC1B,GAAIA,EACF,SAEFv0a,GAAS,EACT,MAGF,GAAIugP,GACF,IAAKuzL,EAAU52X,GAAO,SAASo3X,EAAUE,GACnC,IAAKT,EAASxzL,EAAMi0L,KACfH,IAAaC,GAAYN,EAAUK,EAAUC,EAAUnkC,EAASC,EAAYnzW,IAC/E,OAAOsjN,EAAKt5O,KAAKuta,MAEjB,CACNx0a,GAAS,EACT,YAEG,GACDq0a,IAAaC,IACXN,EAAUK,EAAUC,EAAUnkC,EAASC,EAAYnzW,GACpD,CACLj9B,GAAS,EACT,OAKJ,OAFAi9B,EAAK,OAAWimB,GAChBjmB,EAAK,OAAWigB,GACTl9C,I,gBChFT,IAAIiwY,EAAW15Y,EAAQ,KACnBk+a,EAAcl+a,EAAQ,KACtBm+a,EAAcn+a,EAAQ,KAU1B,SAASs9a,EAASj2Z,GAChB,IAAI0jB,GAAS,EACTrkC,EAAmB,MAAV2gB,EAAiB,EAAIA,EAAO3gB,OAGzC,IADAkD,KAAKs7V,SAAW,IAAIw0C,IACX3uW,EAAQrkC,GACfkD,KAAKuyC,IAAI90B,EAAO0jB,IAKpBuyY,EAASj2a,UAAU80C,IAAMmhY,EAASj2a,UAAUqJ,KAAOwta,EACnDZ,EAASj2a,UAAUunF,IAAMuvV,EAEzBr+a,EAAOC,QAAUu9a,G,cCJjBx9a,EAAOC,QAZP,SAAmB4sD,EAAOyzU,GAIxB,IAHA,IAAIr1V,GAAS,EACTrkC,EAAkB,MAATimD,EAAgB,EAAIA,EAAMjmD,SAE9BqkC,EAAQrkC,GACf,GAAI05X,EAAUzzU,EAAM5hB,GAAQA,EAAO4hB,GACjC,OAAO,EAGX,OAAO,I,cCPT7sD,EAAOC,QAJP,SAAkBoyG,EAAOlrG,GACvB,OAAOkrG,EAAMvjB,IAAI3nF,K,cCUnBnH,EAAOC,QAXP,SAAmB4sD,EAAOtlC,GAKxB,IAJA,IAAI0jB,GAAS,EACTrkC,EAAS2gB,EAAO3gB,OAChBmY,EAAS8tC,EAAMjmD,SAEVqkC,EAAQrkC,GACfimD,EAAM9tC,EAASksB,GAAS1jB,EAAO0jB,GAEjC,OAAO4hB,I,gBChBT,IAIIw7G,EAJYnoK,EAAQ,IAIdglW,CAHChlW,EAAQ,IAGO,OAE1BF,EAAOC,QAAUooK,G,gBCNjB,IAAIphB,EAAW/mJ,EAAQ,IAcvBF,EAAOC,QAJP,SAA4BuJ,GAC1B,OAAOA,IAAUA,IAAUy9I,EAASz9I,K,cCQtCxJ,EAAOC,QAVP,SAAiCkH,EAAKm3a,GACpC,OAAO,SAAS1xa,GACd,OAAc,MAAVA,IAGGA,EAAOzF,KAASm3a,SACP50Y,IAAb40Y,GAA2Bn3a,KAAOF,OAAO2F,Q,gBCfhD,IAAIpC,EAAUtK,EAAQ,IAClBq+a,EAAQr+a,EAAQ,KAChBs+a,EAAet+a,EAAQ,KACvBgW,EAAWhW,EAAQ,KAiBvBF,EAAOC,QAPP,SAAkBuJ,EAAOoD,GACvB,OAAIpC,EAAQhB,GACHA,EAEF+0a,EAAM/0a,EAAOoD,GAAU,CAACpD,GAASg1a,EAAatoa,EAAS1M,M,gBCjBhE,IAAIi1a,EAAev+a,EAAQ,KA2B3BF,EAAOC,QAJP,SAAkBuJ,GAChB,OAAgB,MAATA,EAAgB,GAAKi1a,EAAaj1a,K,cCD3CxJ,EAAOC,QAZP,SAAuB4sD,EAAOyzU,EAAWrsN,EAAWsyL,GAIlD,IAHA,IAAI3/V,EAASimD,EAAMjmD,OACfqkC,EAAQgpI,GAAasyL,EAAY,GAAK,GAElCA,EAAYt7T,MAAYA,EAAQrkC,GACtC,GAAI05X,EAAUzzU,EAAM5hB,GAAQA,EAAO4hB,GACjC,OAAO5hB,EAGX,OAAQ,I,gBCpBV,IAAIqrG,EAAWp2I,EAAQ,KAyCvBF,EAAOC,QAZP,SAAkBuJ,GAChB,OAAKA,GAGLA,EAAQ8sI,EAAS9sI,MA9BJ,KA+BaA,KA/Bb,IACG,uBA+BFA,EAAQ,GAAK,EAAI,GAGxBA,IAAUA,EAAQA,EAAQ,EAPd,IAAVA,EAAcA,EAAQ,I,gBC/BjC,IAAIk1a,EAAWx+a,EAAQ,KACnB+mJ,EAAW/mJ,EAAQ,IACnBmtI,EAAWntI,EAAQ,KAMnBg7Y,EAAa,qBAGbC,EAAa,aAGbE,EAAY,cAGZC,EAAetzX,SA8CnBhoB,EAAOC,QArBP,SAAkBuJ,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAI6jI,EAAS7jI,GACX,OA1CM,IA4CR,GAAIy9I,EAASz9I,GAAQ,CACnB,IAAIq9C,EAAgC,mBAAjBr9C,EAAMslJ,QAAwBtlJ,EAAMslJ,UAAYtlJ,EACnEA,EAAQy9I,EAASpgG,GAAUA,EAAQ,GAAMA,EAE3C,GAAoB,iBAATr9C,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQk1a,EAASl1a,GACjB,IAAIg2Y,EAAWrE,EAAW9uW,KAAK7iC,GAC/B,OAAQg2Y,GAAYnE,EAAUhvW,KAAK7iC,GAC/B8xY,EAAa9xY,EAAMsyC,MAAM,GAAI0jW,EAAW,EAAI,GAC3CtE,EAAW7uW,KAAK7iC,GAvDb,KAuD6BA,I,gBC5DvC,IAAIm1a,EAAYz+a,EAAQ,KACpB0+a,EAAgB1+a,EAAQ,KAoC5BF,EAAOC,QAvBP,SAAS+2U,EAAYnqR,EAAO+2T,EAAO0c,EAAWu+C,EAAUl1a,GACtD,IAAIshC,GAAS,EACTrkC,EAASimD,EAAMjmD,OAKnB,IAHA05X,IAAcA,EAAYs+C,GAC1Bj1a,IAAWA,EAAS,MAEXshC,EAAQrkC,GAAQ,CACvB,IAAI4C,EAAQqjD,EAAM5hB,GACd24U,EAAQ,GAAK0c,EAAU92X,GACrBo6W,EAAQ,EAEV5sC,EAAYxtU,EAAOo6W,EAAQ,EAAG0c,EAAWu+C,EAAUl1a,GAEnDg1a,EAAUh1a,EAAQH,GAEVq1a,IACVl1a,EAAOA,EAAO/C,QAAU4C,GAG5B,OAAOG,I,gBClCT,IAAI68V,EAAWtmW,EAAQ,KACnBwkW,EAAcxkW,EAAQ,KAoB1BF,EAAOC,QAVP,SAAiB0uD,EAAY+oR,GAC3B,IAAIzsS,GAAS,EACTthC,EAAS+6V,EAAY/1S,GAAcpkD,MAAMokD,EAAW/nD,QAAU,GAKlE,OAHA4/V,EAAS73S,GAAY,SAASnlD,EAAOrC,EAAKwnD,GACxChlD,IAASshC,GAASysS,EAASluU,EAAOrC,EAAKwnD,MAElChlD,I,gBClBT,IAAIu7V,EAAYhlW,EAAQ,KAEpBgH,EAAkB,WACpB,IACE,IAAIqyD,EAAO2rS,EAAUj+V,OAAQ,kBAE7B,OADAsyD,EAAK,GAAI,GAAI,IACNA,EACP,MAAO1uD,KALW,GAQtB7K,EAAOC,QAAUiH,G,cCTjB,IAWI43a,EAAep6Y,OAAO,uFAa1B1kC,EAAOC,QAJP,SAAoB6zH,GAClB,OAAOgrT,EAAazyY,KAAKynF,K,gBCtB3B,IAAIuZ,EAAWntI,EAAQ,KA+BvBF,EAAOC,QAnBP,SAAsB4sD,EAAO6qR,EAAUqnG,GAIrC,IAHA,IAAI9zY,GAAS,EACTrkC,EAASimD,EAAMjmD,SAEVqkC,EAAQrkC,GAAQ,CACvB,IAAI4C,EAAQqjD,EAAM5hB,GACdnpB,EAAU41T,EAASluU,GAEvB,GAAe,MAAXsY,SAAiC4nB,IAAb4yX,EACfx6Y,IAAYA,IAAYurH,EAASvrH,GAClCi9Z,EAAWj9Z,EAASw6Y,IAE1B,IAAIA,EAAWx6Y,EACXnY,EAASH,EAGjB,OAAOG,I,6BC1BT1C,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ++a,KAAOA,EAEf,IAIgCl1Y,EAJ5Bm1Y,EAAW/+a,EAAQ,KAEnBg/a,GAE4Bp1Y,EAFOm1Y,IAEcn1Y,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAAS+uC,EAAOlrE,EAAMs8I,GACpB,MAAkB,mBAAdt8I,EAAKoN,KAoOX,SAA8BpN,EAAMs8I,GAGlC,QAFAt8I,EArMF,SAA+BA,EAAMs8I,GACnC,IAAImgG,GAAQ,EAAI80L,EAAU5hZ,SAAS3vB,EAAKgzC,KAAMhzC,EAAKg/E,MAAOs9D,GACtDtpG,EAAOk4B,EAAOuxK,EAAMzpM,KAAMspG,GAC1Bt9D,EAAQ9T,EAAOuxK,EAAMz9J,MAAOs9D,GAEd,mBAAdtpG,EAAK5lC,MAA4C,mBAAf4xE,EAAM5xE,OAEpB,MAAlB4lC,EAAKkrW,UAAuC,MAAnBl/T,EAAMk/T,UAAsC,MAAlBlrW,EAAKkrW,UAAuC,MAAnBl/T,EAAMk/T,UAAsC,MAAlBlrW,EAAKkrW,UAAuC,MAAnBl/T,EAAMk/T,UAAsC,MAAlBlrW,EAAKkrW,UAAuC,MAAnBl/T,EAAMk/T,YAEtLszB,EAAQx+X,EAAKgsC,MAAOA,EAAMA,OAAQy9J,GAAQ,EAAI80L,EAAU5hZ,SAASqjB,EAAKA,KAAMgsC,EAAMhsC,KAAMspG,GAAoBk1R,EAAQx+X,EAAKgsC,MAAOA,EAAMhsC,QAAOypM,GAAQ,EAAI80L,EAAU5hZ,SAASqjB,EAAKA,KAAMgsC,EAAMA,MAAOs9D,IAExMtpG,EAAOk4B,EAAOuxK,EAAMzpM,KAAMspG,GAC1Bt9D,EAAQ9T,EAAOuxK,EAAMz9J,MAAOs9D,IAMhC,OAFAt8I,EAAKgzC,KAAOA,EACZhzC,EAAKg/E,MAAQA,EACNh/E,EAmLAyxa,CAAsBzxa,EAAMs8I,IAEtB4hQ,UACX,IAAK,IACL,IAAK,IACH,OAzKN,SAAgCl+Y,EAAMs8I,GACpC,IAAIt2G,EAAQhmC,EACRgzC,EAAOhN,EAAMgN,KACbgsC,EAAQh5C,EAAMg5C,MACdiB,EAAKj6C,EAAMk4W,SAGf,GAAkB,gBAAdlrW,EAAK5lC,MAAyC,gBAAf4xE,EAAM5xE,KAAwB,OAAOpN,EAIxE,GAAoB,IAAhBg/E,EAAMnjF,MAAa,OAAOm3C,EAG9B,GAAmB,IAAfA,EAAKn3C,OAAsB,MAAPokF,EAAY,OAAOjB,EAG3C,GAAmB,IAAfhsC,EAAKn3C,OAAsB,MAAPokF,EAAY,OAzBtC,SAASyxV,EAAU1xa,GACb2xa,EAAY3xa,EAAKoN,MAAOpN,EAAKnE,OAASmE,EAAKnE,MAA4B,kBAAbmE,EAAKoN,OACjEpN,EAAKgzC,KAAO0+X,EAAU1xa,EAAKgzC,MAC3BhzC,EAAKg/E,MAAQ0yV,EAAU1xa,EAAKg/E,QAE9B,OAAOh/E,EAoBoC0xa,CAAU1yV,GAIjDhsC,EAAK5lC,OAAS4xE,EAAM5xE,MAAQuka,EAAY3+X,EAAK5lC,SAC/CpN,EAAO1G,OAAOu6B,OAAO,GAAImf,IACJn3C,MAAV,MAAPokF,EAAyBjtC,EAAKn3C,MAAQmjF,EAAMnjF,MAAwBm3C,EAAKn3C,MAAQmjF,EAAMnjF,OAI7F,GAAI81a,EAAY3+X,EAAK5lC,QAA6B,MAAnB4xE,EAAMk/T,UAAuC,MAAnBl/T,EAAMk/T,WAAoC,mBAAfl/T,EAAM5xE,KAA2B,CAKnH,GAAI4lC,EAAK5lC,OAAS4xE,EAAMhsC,KAAK5lC,KAU3B,OATApN,EAAO1G,OAAOu6B,OAAO,GAAI7zB,IACpBgzC,KAAOk4B,EAAO,CACjB99D,KAAM,iBACN8wY,SAAUj+T,EACVjtC,KAAMA,EACNgsC,MAAOA,EAAMhsC,MACZspG,GACHt8I,EAAKg/E,MAAQA,EAAMA,MACnBh/E,EAAKk+Y,SAAkB,MAAPj+T,EAAaoxV,EAAKryV,EAAMk/T,UAAYl/T,EAAMk/T,SACnDhzU,EAAOlrE,EAAMs8I,GAMjB,GAAItpG,EAAK5lC,OAAS4xE,EAAMA,MAAM5xE,KAS/B,OARApN,EAAO1G,OAAOu6B,OAAO,GAAI7zB,IACpBgzC,KAAOk4B,EAAO,CACjB99D,KAAM,iBACN8wY,SAAiB,MAAPj+T,EAAaoxV,EAAKryV,EAAMk/T,UAAYl/T,EAAMk/T,SACpDlrW,KAAMA,EACNgsC,MAAOA,EAAMA,OACZs9D,GACHt8I,EAAKg/E,MAAQA,EAAMhsC,KACZk4B,EAAOlrE,EAAMs8I,GAK1B,GAAkB,mBAAdtpG,EAAK5lC,OAAgD,MAAlB4lC,EAAKkrW,UAAsC,MAAlBlrW,EAAKkrW,WAAqByzB,EAAY3yV,EAAM5xE,MAAO,CAKjH,GAAI4xE,EAAM5xE,OAAS4lC,EAAKA,KAAK5lC,KAQ3B,OAPApN,EAAO1G,OAAOu6B,OAAO,GAAImf,IACpBA,KAAOk4B,EAAO,CACjB99D,KAAM,iBACN8wY,SAAUj+T,EACVjtC,KAAMA,EAAKA,KACXgsC,MAAOA,GACNs9D,GACIpxE,EAAOlrE,EAAMs8I,GAMjB,GAAIt9D,EAAM5xE,OAAS4lC,EAAKgsC,MAAM5xE,KAsB/B,OArBApN,EAAO1G,OAAOu6B,OAAO,GAAImf,GACH,MAAlBA,EAAKkrW,UACPl+Y,EAAKg/E,MAAQ9T,EAAO,CAClB99D,KAAM,iBACN8wY,SAAiB,MAAPj+T,EAAa,IAAM,IAC7BjtC,KAAMgsC,EACNA,MAAOhsC,EAAKgsC,OACXs9D,GACHt8I,EAAKk+Y,SAAkB,MAAPj+T,EAAa,IAAM,KAEnCjgF,EAAKg/E,MAAQ9T,EAAO,CAClB99D,KAAM,iBACN8wY,SAAUj+T,EACVjtC,KAAMA,EAAKgsC,MACXA,MAAOA,GACNs9D,GAEDt8I,EAAKg/E,MAAMnjF,MAAQ,IACrBmE,EAAKg/E,MAAMnjF,QAAU,EACrBmE,EAAKk+Y,SAA6B,MAAlBl+Y,EAAKk+Y,SAAmB,IAAM,KAEzChzU,EAAOlrE,EAAMs8I,GAG1B,OAAOt8I,EA+DI4xa,CAAuB5xa,EAAMs8I,GACtC,IAAK,IACH,OA9DN,SAAkCt8I,EAAMs8I,GACtC,IAAKq1R,EAAY3xa,EAAKg/E,MAAM5xE,MAAO,OAAOpN,EAE1C,GAAwB,UAApBA,EAAKg/E,MAAM5xE,KAAkB,MAAM,IAAIiuB,MAAM,qBAAwBr7B,EAAKg/E,MAAMs5D,KAAO,sBAE3F,GAAyB,IAArBt4I,EAAKg/E,MAAMnjF,MAAa,MAAM,IAAIw/B,MAAM,yBAG5C,GAAuB,mBAAnBr7B,EAAKgzC,KAAK5lC,KACZ,OAAIuka,EAAY3xa,EAAKgzC,KAAKA,KAAK5lC,OAASuka,EAAY3xa,EAAKgzC,KAAKgsC,MAAM5xE,OAClEpN,EAAKgzC,KAAKA,KAAKn3C,OAASmE,EAAKg/E,MAAMnjF,MACnCmE,EAAKgzC,KAAKgsC,MAAMnjF,OAASmE,EAAKg/E,MAAMnjF,MAC7BqvE,EAAOlrE,EAAKgzC,KAAMspG,IAEpBt8I,EAGJ,GAAI2xa,EAAY3xa,EAAKgzC,KAAK5lC,MAE3B,OADApN,EAAKgzC,KAAKn3C,OAASmE,EAAKg/E,MAAMnjF,MACvBmE,EAAKgzC,KAEhB,OAAOhzC,EAyCI6xa,CAAyB7xa,EAAMs8I,GACxC,IAAK,IACH,OAxCN,SAAwCt8I,GAEtC,GAAuB,mBAAnBA,EAAKgzC,KAAK5lC,MAAiD,UAApBpN,EAAKg/E,MAAM5xE,MACpD,GAAIuka,EAAY3xa,EAAKgzC,KAAKA,KAAK5lC,OAASuka,EAAY3xa,EAAKgzC,KAAKgsC,MAAM5xE,MAGlE,OAFApN,EAAKgzC,KAAKA,KAAKn3C,OAASmE,EAAKg/E,MAAMnjF,MACnCmE,EAAKgzC,KAAKgsC,MAAMnjF,OAASmE,EAAKg/E,MAAMnjF,MAC7BmE,EAAKgzC,SAIX,IAAI2+X,EAAY3xa,EAAKgzC,KAAK5lC,OAA6B,UAApBpN,EAAKg/E,MAAM5xE,KAE/C,OADApN,EAAKgzC,KAAKn3C,OAASmE,EAAKg/E,MAAMnjF,MACvBmE,EAAKgzC,KAGT,GAAuB,UAAnBhzC,EAAKgzC,KAAK5lC,MAAwC,mBAApBpN,EAAKg/E,MAAM5xE,MAC9C,GAAIuka,EAAY3xa,EAAKg/E,MAAMhsC,KAAK5lC,OAASuka,EAAY3xa,EAAKg/E,MAAMA,MAAM5xE,MAGpE,OAFApN,EAAKg/E,MAAMhsC,KAAKn3C,OAASmE,EAAKgzC,KAAKn3C,MACnCmE,EAAKg/E,MAAMA,MAAMnjF,OAASmE,EAAKgzC,KAAKn3C,MAC7BmE,EAAKg/E,WAIX,GAAuB,UAAnBh/E,EAAKgzC,KAAK5lC,MAAoBuka,EAAY3xa,EAAKg/E,MAAM5xE,MAE1D,OADApN,EAAKg/E,MAAMnjF,OAASmE,EAAKgzC,KAAKn3C,MACvBmE,EAAKg/E,MAEpB,OAAOh/E,EAaI8xa,CAA+B9xa,GAE1C,OAAOA,EAhPoC+xa,CAAqB/xa,EAAMs8I,GACpD,SAAdt8I,EAAKoN,KAAwB89D,EAAOlrE,EAAKnE,MAAOygJ,GAE7Ct8I,EAGT,SAASwxa,EAAQx+X,EAAMgsC,GACrB,OAAOhsC,EAAK5lC,OAAS4xE,EAAM5xE,MAAQ4lC,EAAKn3C,QAAUmjF,EAAMnjF,MAG1D,SAAS81a,EAAYvka,GACnB,OAAQA,GACN,IAAK,cACL,IAAK,aACL,IAAK,YACL,IAAK,iBACL,IAAK,kBACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,YACL,IAAK,YACL,IAAK,kBACL,IAAK,QACH,OAAO,EAEX,OAAO,EAwBT,SAASika,EAAKnzB,GACZ,MAAoB,MAAbA,EAAmB,IAAM,IA6LlC5rZ,EAAQq9B,QAAUu7C,G,6BC/PlB54E,EAAQwM,YAAa,EACrBxM,EAAQq9B,QAAUr9B,EAAQ4yL,QAAU5yL,EAAQ0vL,QAAU1vL,EAAQyvL,SAAWzvL,EAAQ2yL,OAAS3yL,EAAQ0yL,eAAY,EAE9G,IAAIp+D,EAYJ,SAAiCzqF,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAc,IAAIa,EAAS,GAAI,GAAW,MAAPb,EAAe,IAAK,IAAI3iC,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOtnB,OAAOC,gBAAkBD,OAAOg9H,yBAA2Bh9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,GAAQonB,EAAKniB,KAAOmiB,EAAKjY,IAAOrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAoC,OAAtBwjC,EAAOrN,QAAUwM,EAAYa,EAZ7b65F,CAAwBtkI,EAAQ,IAE5CmkI,EAASn0E,EAAuBhwD,EAAQ,IAExCgtK,EAAYh9G,EAAuBhwD,EAAQ,KAE3Cy/a,EAAyBz/a,EAAQ,KAEpBA,EAAQ,KAEzB,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GASvF7pC,EAAQ0yL,UADQ,YAGhB1yL,EAAQ2yL,OADK,SAGb3yL,EAAQyvL,SADO,WAGfzvL,EAAQ0vL,QADM,UA6Fd1vL,EAAQ4yL,QA3FM,UA6Fd,IAAIjD,EAEJ,SAAUC,GAzGV,IAAwBzmL,EAAUC,EA4GhC,SAASumL,EAAWlpL,EAAO04D,GACzB,IAAI/f,EAEJA,EAAQwwI,EAAiB/jL,KAAKhC,KAAMpD,EAAO04D,IAAYt1D,KACvD,IAGIgmL,EAHAlsC,EAAcxkF,EAAQwgX,gBAEtB7vP,EAASnsC,IAAgBA,EAAYosC,WAAatpL,EAAMupL,MAAQvpL,EAAMqpL,OAuB1E,OArBA1wI,EAAM6wI,aAAe,KAEjBxpL,EAAMypL,GACJJ,GACFD,EApHK,SAqHLzwI,EAAM6wI,aAnHC,YAqHPJ,EAnHM,UAuHNA,EADEppL,EAAM0pL,eAAiB1pL,EAAM2pL,aA5HvB,YAEH,SAiIThxI,EAAMwvB,MAAQ,CACZyhH,OAAQR,GAEVzwI,EAAMkxI,aAAe,KACdlxI,EAzIuBh2C,EA0GLwmL,GA1GLzmL,EA0GPwmL,GA1GwCroL,UAAYN,OAAOqC,OAAOD,EAAW9B,WAAY6B,EAAS7B,UAAUgC,YAAcH,EAAUA,EAASsoC,UAAYroC,EA4IxK,IAAIonL,EAASb,EAAWroL,UAqQxB,OAnQAkpL,EAAOovP,gBAAkB,WACvB,MAAO,CACLD,gBAAiB,OAKrBhwP,EAAWY,yBAA2B,SAAkC55D,EAAMi5C,GAG5E,OAFaj5C,EAAKu5D,IApJN,cAsJEtgB,EAAUygB,OACf,CACLA,OAtJK,UA0JF,MAmBTG,EAAO19B,kBAAoB,WACzBjpJ,KAAK4mL,cAAa,EAAM5mL,KAAKomL,eAG/BO,EAAOh9B,mBAAqB,SAA4B7tB,GACtD,IAAI+qD,EAAa,KAEjB,GAAI/qD,IAAc97H,KAAKpD,MAAO,CAC5B,IAAI4pL,EAASxmL,KAAK+kE,MAAMyhH,OAEpBxmL,KAAKpD,MAAMypL,GArLN,aAsLHG,GApLE,YAoLqBA,IACzBK,EAvLK,yBA0LHL,GAxLE,YAwLqBA,IACzBK,EAvLI,WA4LV7mL,KAAK4mL,cAAa,EAAOC,IAG3BF,EAAOt9B,qBAAuB,WAC5BrpJ,KAAK8mL,sBAGPH,EAAOI,YAAc,WACnB,IACIC,EAAMb,EAAOF,EADb9tF,EAAUn4F,KAAKpD,MAAMu7F,QAWzB,OATA6uF,EAAOb,EAAQF,EAAS9tF,EAET,MAAXA,GAAsC,kBAAZA,IAC5B6uF,EAAO7uF,EAAQ6uF,KACfb,EAAQhuF,EAAQguF,MAEhBF,OAA4BrmJ,IAAnBu4D,EAAQ8tF,OAAuB9tF,EAAQ8tF,OAASE,GAGpD,CACLa,KAAMA,EACNb,MAAOA,EACPF,OAAQA,IAIZU,EAAOC,aAAe,SAAsBK,EAAUJ,GAKpD,QAJiB,IAAbI,IACFA,GAAW,GAGM,OAAfJ,EAAqB,CAEvB7mL,KAAK8mL,qBAEL,IAAIjjL,EAAOu/J,EAAU5vI,QAAQ+zJ,YAAYvnL,MAnOhC,aAqOL6mL,EACF7mL,KAAKknL,aAAarjL,EAAMojL,GAExBjnL,KAAKmnL,YAAYtjL,QAEV7D,KAAKpD,MAAM0pL,eA5Ob,WA4O8BtmL,KAAK+kE,MAAMyhH,QAChDxmL,KAAKqkK,SAAS,CACZmiB,OAhPQ,eAqPdG,EAAOO,aAAe,SAAsBrjL,EAAMojL,GAChD,IAAI5qI,EAASr8C,KAETmmL,EAAQnmL,KAAKpD,MAAMupL,MACnBiB,EAAYpnL,KAAKs1D,QAAQwgX,gBAAkB91a,KAAKs1D,QAAQwgX,gBAAgB5vP,WAAae,EACrFS,EAAW1nL,KAAK+mL,cAChBY,EAAeP,EAAYM,EAASzB,OAASyB,EAASvB,MAGrDc,GAAad,GASlBnmL,KAAKpD,MAAMkrL,QAAQjkL,EAAMujL,GACzBpnL,KAAK4nL,aAAa,CAChBpB,OArQS,aAsQR,WACDnqI,EAAOz/C,MAAMmrL,WAAWlkL,EAAMujL,GAE9B/qI,EAAO2rI,gBAAgBnkL,EAAM8jL,GAAc,WACzCtrI,EAAOurI,aAAa,CAClBpB,OAzQI,YA0QH,WACDnqI,EAAOz/C,MAAMirL,UAAUhkL,EAAMujL,aAlBjCpnL,KAAK4nL,aAAa,CAChBpB,OA1PM,YA2PL,WACDnqI,EAAOz/C,MAAMirL,UAAUhkL,OAqB7B8iL,EAAOQ,YAAc,SAAqBtjL,GACxC,IAAIm5C,EAASh9C,KAETgnL,EAAOhnL,KAAKpD,MAAMoqL,KAClBU,EAAW1nL,KAAK+mL,cAEfC,GASLhnL,KAAKpD,MAAMqrL,OAAOpkL,GAClB7D,KAAK4nL,aAAa,CAChBpB,OAhSQ,YAiSP,WACDxpI,EAAOpgD,MAAMsrL,UAAUrkL,GAEvBm5C,EAAOgrI,gBAAgBnkL,EAAM6jL,EAASV,MAAM,WAC1ChqI,EAAO4qI,aAAa,CAClBpB,OA5SG,WA6SF,WACDxpI,EAAOpgD,MAAMurL,SAAStkL,aAlB1B7D,KAAK4nL,aAAa,CAChBpB,OA7RK,WA8RJ,WACDxpI,EAAOpgD,MAAMurL,SAAStkL,OAqB5B8iL,EAAOG,mBAAqB,WACA,OAAtB9mL,KAAKymL,eACPzmL,KAAKymL,aAAavnH,SAClBl/D,KAAKymL,aAAe,OAIxBE,EAAOiB,aAAe,SAAsBle,EAAWn+H,GAIrDA,EAAWvrC,KAAKooL,gBAAgB78I,GAChCvrC,KAAKqkK,SAASqF,EAAWn+H,IAG3Bo7I,EAAOyB,gBAAkB,SAAyB78I,GAChD,IAAI2U,EAASlgD,KAETqyH,GAAS,EAcb,OAZAryH,KAAKymL,aAAe,SAAUnhK,GACxB+sG,IACFA,GAAS,EACTnyE,EAAOumI,aAAe,KACtBl7I,EAASjmB,KAIbtlB,KAAKymL,aAAavnH,OAAS,WACzBmzD,GAAS,GAGJryH,KAAKymL,cAGdE,EAAOqB,gBAAkB,SAAyBnkL,EAAMs0F,EAASsnD,GAC/Dz/I,KAAKooL,gBAAgB3oC,GACrB,IAAI4oC,EAA0C,MAAXlwF,IAAoBn4F,KAAKpD,MAAM0rL,eAE7DzkL,IAAQwkL,GAKTroL,KAAKpD,MAAM0rL,gBACbtoL,KAAKpD,MAAM0rL,eAAezkL,EAAM7D,KAAKymL,cAGxB,MAAXtuF,GACFtjE,WAAW70B,KAAKymL,aAActuF,IAT9BtjE,WAAW70B,KAAKymL,aAAc,IAalCE,EAAO7zK,OAAS,WACd,IAAI0zK,EAASxmL,KAAK+kE,MAAMyhH,OAExB,GA9WY,cA8WRA,EACF,OAAO,KAGT,IAAIlxB,EAAct1J,KAAKpD,MACnB4V,EAAW8iJ,EAAY9iJ,SACvBg2K,EAxXR,SAAuClgK,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAwXrRgwH,CAA8B2oC,EAAa,CAAC,aAkB7D,UAfOkzB,EAAWnC,UACXmC,EAAWjC,oBACXiC,EAAWlC,qBACXkC,EAAWvC,cACXuC,EAAWrC,aACXqC,EAAWxB,YACXwB,EAAWrwF,eACXqwF,EAAWF,sBACXE,EAAWV,eACXU,EAAWT,kBACXS,EAAWX,iBACXW,EAAWP,cACXO,EAAWN,iBACXM,EAAWL,SAEM,oBAAb31K,EACT,OAAOA,EAASg0K,EAAQgC,GAG1B,IAAIh1K,EAAQ+mH,EAAO/mG,QAAQirH,SAASkqC,KAAKn2K,GAEzC,OAAO+nH,EAAO/mG,QAAQ8vI,aAAa9vJ,EAAOg1K,IAGrC1C,EAxST,CAySEvrD,EAAO/mG,QAAQspG,WAiKjB,SAAS95C,KA/JT8iG,EAAWkwP,aAAe,CACxBF,gBAAiBrrT,EAAU3nH,QAE7BgjL,EAAWmwP,kBAAoB,CAC7BH,gBAAiB,cAEnBhwP,EAAWz4D,UAuJP,GAIJy4D,EAAWlpD,aAAe,CACxBypD,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRE,OAAO,EACPa,MAAM,EACNc,QAAS9kG,EACT+kG,WAAY/kG,EACZ6kG,UAAW7kG,EACXilG,OAAQjlG,EACRklG,UAAWllG,EACXmlG,SAAUnlG,GAEZ8iG,EAAW+C,UAAY,EACvB/C,EAAWgD,OAAS,EACpBhD,EAAWF,SAAW,EACtBE,EAAWD,QAAU,EACrBC,EAAWiD,QAAU,EAErB,IAAIwjO,GAAW,EAAIspB,EAAuBK,UAAUpwP,GAEpD3vL,EAAQq9B,QAAU+4X,G,6BCzlBlB,SAAS4pB,IAEP,IAAIpxW,EAAQ/kE,KAAKP,YAAYinL,yBAAyB1mL,KAAKpD,MAAOoD,KAAK+kE,OACzD,OAAVA,QAA4BnlC,IAAVmlC,GACpB/kE,KAAKqkK,SAASt/F,GAIlB,SAASqxW,EAA0Bh3R,GAQjCp/I,KAAKqkK,SALL,SAAiB0B,GACf,IAAIhhG,EAAQ/kE,KAAKP,YAAYinL,yBAAyBtnC,EAAW2mB,GACjE,OAAiB,OAAVhhG,QAA4BnlC,IAAVmlC,EAAsBA,EAAQ,MAGnCliE,KAAK7C,OAG7B,SAASq2a,EAAoBj3R,EAAWsqB,GACtC,IACE,IAAI5tC,EAAY97H,KAAKpD,MACjBmpK,EAAY/lK,KAAK+kE,MACrB/kE,KAAKpD,MAAQwiJ,EACbp/I,KAAK+kE,MAAQ2kG,EACb1pK,KAAKs2a,6BAA8B,EACnCt2a,KAAKu2a,wBAA0Bv2a,KAAKw2a,wBAClC16S,EACAiqC,GARJ,QAWE/lK,KAAKpD,MAAQk/H,EACb97H,KAAK+kE,MAAQghG,GAUjB,SAASmwQ,EAASp5S,GAChB,IAAIr/H,EAAYq/H,EAAUr/H,UAE1B,IAAKA,IAAcA,EAAUg5a,iBAC3B,MAAM,IAAIv3Y,MAAM,sCAGlB,GACgD,oBAAvC49F,EAAU4pD,0BAC4B,oBAAtCjpL,EAAU+4a,wBAEjB,OAAO15S,EAMT,IAAI45S,EAAqB,KACrBC,EAA4B,KAC5BC,EAAsB,KAgB1B,GAf4C,oBAAjCn5a,EAAU04a,mBACnBO,EAAqB,qBACmC,oBAAxCj5a,EAAUo5a,4BAC1BH,EAAqB,6BAE4B,oBAAxCj5a,EAAU24a,0BACnBO,EAA4B,4BACmC,oBAA/Cl5a,EAAUq5a,mCAC1BH,EAA4B,oCAEe,oBAAlCl5a,EAAU44a,oBACnBO,EAAsB,sBACmC,oBAAzCn5a,EAAUs5a,6BAC1BH,EAAsB,8BAGC,OAAvBF,GAC8B,OAA9BC,GACwB,OAAxBC,EACA,CACA,IAAI1tT,EAAgB4T,EAAU9kG,aAAe8kG,EAAU16H,KACnD40a,EAC4C,oBAAvCl6S,EAAU4pD,yBACb,6BACA,4BAEN,MAAMxnJ,MACJ,2FACEgqF,EACA,SACA8tT,EACA,uDACwB,OAAvBN,EAA8B,OAASA,EAAqB,KAC9B,OAA9BC,EACG,OAASA,EACT,KACqB,OAAxBC,EAA+B,OAASA,EAAsB,IATjE,wIA0BJ,GARkD,oBAAvC95S,EAAU4pD,2BACnBjpL,EAAU04a,mBAAqBA,EAC/B14a,EAAU24a,0BAA4BA,GAMS,oBAAtC34a,EAAU+4a,wBAAwC,CAC3D,GAA4C,oBAAjC/4a,EAAUksJ,mBACnB,MAAM,IAAIzqH,MACR,qHAIJzhC,EAAU44a,oBAAsBA,EAEhC,IAAI1sR,EAAqBlsJ,EAAUksJ,mBAEnClsJ,EAAUksJ,mBAAqB,SAC7B7tB,EACAiqC,EACAkxQ,GAUA,IAAIC,EAAWl3a,KAAKs2a,4BAChBt2a,KAAKu2a,wBACLU,EAEJttR,EAAmB3nJ,KAAKhC,KAAM87H,EAAWiqC,EAAWmxQ,IAIxD,OAAOp6S,EA1JT,gDA6CAq5S,EAAmBgB,8BAA+B,EAClDf,EAA0Be,8BAA+B,EACzDd,EAAoBc,8BAA+B,G,6BC7CnDhhb,EAAQwM,YAAa,EACrBxM,EAAQihb,gBAAkBjhb,EAAQkhb,mBAAgB,EAElD,IAEgCr3Y,KAFQ5pC,EAAQ,KAEK4pC,EAAIr9B,WAOzDxM,EAAQkhb,cADU,KAclBlhb,EAAQihb,gBADD,M,6BCxBPjhb,EAAQwM,YAAa,EACrBxM,EAAQq9B,aAAU,EAElB,IAAImnG,EAAav0E,EAAuBhwD,EAAQ,IAE5CmkI,EAASn0E,EAAuBhwD,EAAQ,IAExCy/a,EAAyBz/a,EAAQ,KAEjCkhb,EAAgBlhb,EAAQ,KAE5B,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAIvF,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAIhT,SAASs7H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAE/J,IAAIvD,EAAStgB,OAAOsgB,QAAU,SAAUuiB,GACtC,OAAO7iC,OAAO23B,KAAKkL,GAAKvY,KAAI,SAAU7F,GACpC,OAAOoe,EAAIpe,OA0BXspK,EAEJ,SAAUnF,GAlCV,IAAwBzmL,EAAUC,EAqChC,SAAS2rL,EAAgBtuL,EAAO04D,GAC9B,IAAI/f,EAIA41I,GAFJ51I,EAAQwwI,EAAiB/jL,KAAKhC,KAAMpD,EAAO04D,IAAYt1D,MAE9BmrL,aAAatoL,KAAK44H,EAAuBA,EAAuBlmF,KAOzF,OAJAA,EAAMwvB,MAAQ,CACZomH,aAAcA,EACdE,aAAa,GAER91I,EAjDuBh2C,EAmCAwmL,GAnCVzmL,EAmCP4rL,GAnCwCztL,UAAYN,OAAOqC,OAAOD,EAAW9B,WAAY6B,EAAS7B,UAAUgC,YAAcH,EAAUA,EAASsoC,UAAYroC,EAoDxK,IAAIonL,EAASuE,EAAgBztL,UAmE7B,OAjEAkpL,EAAOovP,gBAAkB,WACvB,MAAO,CACLD,gBAAiB,CACf5vP,YAAalmL,KAAKqtL,YAKxB1G,EAAO19B,kBAAoB,WACzBjpJ,KAAKqtL,UAAW,EAChBrtL,KAAKsrL,SAAU,GAGjB3E,EAAOt9B,qBAAuB,WAC5BrpJ,KAAKsrL,SAAU,GAGjBJ,EAAgBxE,yBAA2B,SAAkCtnC,EAAWtyB,GACtF,IAAIu9D,EAAmBv9D,EAAKt6G,SACxB24K,EAAer+D,EAAKq+D,aAExB,MAAO,CACL34K,SAFgBs6G,EAAKu+D,aAEG,EAAIisP,EAAcC,wBAAwBn4R,EAAW+rC,IAAgB,EAAImsP,EAAcltP,qBAAqBhrC,EAAWirC,EAAkBc,GACjKE,aAAa,IAIjB1E,EAAOwE,aAAe,SAAsB33K,EAAO3P,GACjD,IAAI0nL,GAAsB,EAAI+rP,EAActtP,iBAAiBhqL,KAAKpD,MAAM4V,UACpEgB,EAAMnW,OAAOkuL,IAEb/3K,EAAM5W,MAAMurL,UACd30K,EAAM5W,MAAMurL,SAAStkL,GAGnB7D,KAAKsrL,SACPtrL,KAAKqkK,UAAS,SAAUt/F,GACtB,IAAIvyD,EAAWi1B,EAAS,GAAIs9B,EAAMvyD,UAGlC,cADOA,EAASgB,EAAMnW,KACf,CACLmV,SAAUA,QAMlBm0K,EAAO7zK,OAAS,WACd,IAAIwiJ,EAAct1J,KAAKpD,MACnBkgI,EAAYw4B,EAAYtK,UACxBwgC,EAAel2B,EAAYk2B,aAC3B5uL,EA7GR,SAAuC0rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EA6G1RgwH,CAA8B2oC,EAAa,CAAC,YAAa,iBAEjE9iJ,EAAWiL,EAAOzd,KAAK+kE,MAAMvyD,UAAUiV,IAAI+jK,GAK/C,cAJO5uL,EAAMqpL,cACNrpL,EAAMupL,aACNvpL,EAAMoqL,KAEK,OAAdlqD,EACKtqH,EAGF+nH,EAAO/mG,QAAQ5Y,cAAckiH,EAAWlgI,EAAO4V,IAGjD04K,EArFT,CAsFE3wD,EAAO/mG,QAAQspG,WAEjBouD,EAAgB+qP,kBAAoB,CAClCH,gBAAiBn7S,EAAWnnG,QAAQ1wB,OAAO8mH,YAE7CshE,EAAgB79D,UAyDZ,GACJ69D,EAAgBtuD,aA7KG,CACjBouB,UAAW,MACXwgC,aAAc,SAAsBh4K,GAClC,OAAOA,IA4KX,IAAI+4Y,GAAW,EAAIspB,EAAuBK,UAAUhrP,GAEpD/0L,EAAQq9B,QAAU+4X,EAClBr2Z,EAAOC,QAAUA,EAAO,S,gBC/MxB,IAAI+6U,EAAY96U,EAAQ,KAyBpBohb,EAAW,CACX/0T,OAAO,EACPw5M,QAAQ,EACR4wF,UAAU,EACVjrW,QAAQ,EACRsiC,QAAQ,EACRuzV,UAAU,EACVC,UAAU,GAGVC,EAAmB,CACnBhxO,GAAI,CAAEA,IAAI,EAAMi7B,IAAI,EAAM5Q,IAAI,GAC9B4Q,GAAI,CAAEA,IAAI,GACV5Q,GAAI,CAAEs7L,OAAO,EAAM1qL,IAAI,EAAM5Q,IAAI,GACjC3sM,KAAM,CAAE4Z,MAAM,EAAMuC,MAAM,EAAMsgR,QAAQ,GACxCpoF,GAAI,CAAEA,IAAI,GACVz1N,EAAG,CAAEA,GAAG,GACR+jP,GAAI,CAAE/jP,GAAG,GACTg9F,GAAI,CAAEh9F,GAAG,GACT20a,GAAI,CAAE30a,GAAG,GACT40a,GAAI,CAAE50a,GAAG,GACT60a,GAAI,CAAE70a,GAAG,GACTm4Q,GAAI,CAAEn4Q,GAAG,GACT2+C,OAAQ41X,EACR/0T,MAAO+0T,EACP50T,OAAQ40T,EACRtzV,OAAQszV,EACRC,SAAUD,EACVE,SAAUF,EACVv7G,OAAQ,CAAEA,QAAQ,GAClB4wF,SAAU,CAAEA,UAAU,IAGtBkrB,EAAe,CACfnwY,UAAW,KACX0mD,MAAM,EACN39E,MAAM,EACNqna,UAAU,EACVjuS,IAAI,EACJzvD,KAAK,EACL1iE,SAAS,EACTqnH,OAAO,EACPg5S,OAAO,EACPjwO,IAAI,EACJlnL,KAAK,EACL2hG,OAAO,EACPy1T,SAAS,EACTC,QAAQ,EACR33Y,MAAM,EACN0zI,MAAM,EACNxkH,OAAO,EACPpnC,QAAQ,EACR8vZ,OAAO,EACPC,KAAK,GAGLC,EAAyB,CACzB1wY,UAAW,KACX2wY,MAAM,EACN/0a,KAAK,GAELg1a,EAA0B,CAC1B5wY,UAAW,KACXjkB,IAAI,EACJm9M,IAAI,EACJ3I,IAAI,EACJ1mE,IAAI,EACJgnR,OAAO,EACP,kBAAkB,EAClBv8D,eAAe,EACfz3V,MAAM,EACND,OAAO,GAGPk0Z,EAAa,QAEjB,SAAS1nG,EAAO2nG,EAAKp6Y,GACjBv+B,KAAK4oX,SAAWrqV,GAAW,GAC3Bv+B,KAAK44a,KAAOD,GAAO,GAEnB34a,KAAK64a,SAAW,GAChB74a,KAAK84a,YAAc,GACnB94a,KAAK+4a,aAAe,GACpB/4a,KAAKg5a,SAAW,KAChBh5a,KAAKi5a,OAAS,GACdj5a,KAAKk5a,gBAAkB,GAEvBl5a,KAAK86I,WAAa,EAClB96I,KAAK+6I,SAAW,KAEhB/6I,KAAKm5a,mBACD,kBAAmBn5a,KAAK4oX,WAChB5oX,KAAK4oX,SAASwwD,eACfp5a,KAAK4oX,SAAS+nB,QACzB3wY,KAAKq5a,yBACD,4BAA6Br5a,KAAK4oX,WAC1B5oX,KAAK4oX,SAAS0wD,yBACft5a,KAAK4oX,SAAS+nB,QAErB3wY,KAAK4oX,SAAS13C,YACdA,EAAYlxU,KAAK4oX,SAAS13C,WAE9BlxU,KAAKu5a,WAAa,IAAIroG,EAAUlxU,KAAK4oX,SAAU5oX,MAE3CA,KAAK44a,KAAKY,cAAcx5a,KAAK44a,KAAKY,aAAax5a,MAGvD5J,EAAQ,IAARA,CAAoB46U,EAAQ56U,EAAQ,KAAU0sK,cAE9CkuK,EAAOvzU,UAAUg8a,gBAAkB,SAASC,GAClB,OAAlB15a,KAAK+6I,SACD/6I,KAAKu5a,WAAWI,eAAiBD,EACjC15a,KAAK86I,WAAa,EAElB96I,KAAK86I,WAAa96I,KAAKu5a,WAAWI,cAAgBD,EAEnD15a,KAAK86I,WAAa96I,KAAK+6I,SAAW,EACzC/6I,KAAK+6I,SAAW/6I,KAAKu5a,WAAWK,oBAIpC5oG,EAAOvzU,UAAUo8a,OAAS,SAAS7oa,GAC/BhR,KAAKy5a,gBAAgB,GACrBz5a,KAAK+6I,WAED/6I,KAAK44a,KAAKiB,QAAQ75a,KAAK44a,KAAKiB,OAAO7oa,IAG3CggU,EAAOvzU,UAAUq8a,cAAgB,SAAS13a,GAOtC,GANIpC,KAAKm5a,qBACL/2a,EAAOA,EAAKyW,eAGhB7Y,KAAK64a,SAAWz2a,GAEXpC,KAAK4oX,SAAS+nB,SAAWvuY,KAAQu1a,EAClC,IACI,IAAI53Y,GACHA,EAAK//B,KAAKi5a,OAAOj5a,KAAKi5a,OAAOn8a,OAAS,MACvC66a,EAAiBv1a,GACjBpC,KAAK+5a,WAAWh6Y,KAIpB//B,KAAK4oX,SAAS+nB,SAAavuY,KAAQ21a,IACnC/3a,KAAKi5a,OAAOnya,KAAK1E,GACbA,KAAQk2a,EAAwBt4a,KAAKk5a,gBAAgBpya,MAAK,GACrD1E,KAAQo2a,GACbx4a,KAAKk5a,gBAAgBpya,MAAK,IAG9B9G,KAAK44a,KAAKkB,eAAe95a,KAAK44a,KAAKkB,cAAc13a,GACjDpC,KAAK44a,KAAKoB,YAAWh6a,KAAKg5a,SAAW,KAG7ChoG,EAAOvzU,UAAUw8a,aAAe,WAC5Bj6a,KAAKy5a,gBAAgB,GAEjBz5a,KAAKg5a,WACDh5a,KAAK44a,KAAKoB,WACVh6a,KAAK44a,KAAKoB,UAAUh6a,KAAK64a,SAAU74a,KAAKg5a,UAC5Ch5a,KAAKg5a,SAAW,OAIfh5a,KAAK4oX,SAAS+nB,SACf3wY,KAAK44a,KAAKmB,YACV/5a,KAAK64a,YAAYd,GAEjB/3a,KAAK44a,KAAKmB,WAAW/5a,KAAK64a,UAG9B74a,KAAK64a,SAAW,IAGpB7nG,EAAOvzU,UAAUs8a,WAAa,SAAS33a,GAWnC,GAVApC,KAAKy5a,gBAAgB,GAEjBz5a,KAAKm5a,qBACL/2a,EAAOA,EAAKyW,gBAGZzW,KAAQk2a,GAA0Bl2a,KAAQo2a,IAC1Cx4a,KAAKk5a,gBAAgBlya,OAIrBhH,KAAKi5a,OAAOn8a,QACTsF,KAAQ21a,IAAiB/3a,KAAK4oX,SAAS+nB,QAYlC3wY,KAAK4oX,SAAS+nB,SAAqB,OAATvuY,GAA0B,MAATA,IACnDpC,KAAK85a,cAAc13a,GACnBpC,KAAKk6a,wBAbP,CACE,IAAI/mY,EAAMnzC,KAAKi5a,OAAO7lY,YAAYhxC,GAClC,IAAa,IAAT+wC,EACA,GAAInzC,KAAK44a,KAAKmB,WAEV,IADA5mY,EAAMnzC,KAAKi5a,OAAOn8a,OAASq2C,EACpBA,KAAOnzC,KAAK44a,KAAKmB,WAAW/5a,KAAKi5a,OAAOjya,YAC5ChH,KAAKi5a,OAAOn8a,OAASq2C,MACZ,MAAT/wC,GAAiBpC,KAAK4oX,SAAS+nB,UACtC3wY,KAAK85a,cAAc13a,GACnBpC,KAAKk6a,sBAQjBlpG,EAAOvzU,UAAU08a,iBAAmB,WAE5Bn6a,KAAK4oX,SAAS+nB,SACd3wY,KAAK4oX,SAASwxD,sBACdp6a,KAAKk5a,gBAAgBl5a,KAAKk5a,gBAAgBp8a,OAAS,GAEnDkD,KAAKk6a,mBAELl6a,KAAKi6a,gBAIbjpG,EAAOvzU,UAAUy8a,iBAAmB,WAChC,IAAI93a,EAAOpC,KAAK64a,SAEhB74a,KAAKi6a,eAIDj6a,KAAKi5a,OAAOj5a,KAAKi5a,OAAOn8a,OAAS,KAAOsF,IACpCpC,KAAK44a,KAAKmB,YACV/5a,KAAK44a,KAAKmB,WAAW33a,GAEzBpC,KAAKi5a,OAAOjya,QAKpBgqU,EAAOvzU,UAAU48a,aAAe,SAASj4a,GACjCpC,KAAKq5a,2BACLj3a,EAAOA,EAAKyW,eAEhB7Y,KAAK84a,YAAc12a,GAGvB4uU,EAAOvzU,UAAU68a,aAAe,SAAS56a,GACrCM,KAAK+4a,cAAgBr5a,GAGzBsxU,EAAOvzU,UAAU88a,YAAc,WACvBv6a,KAAK44a,KAAK4B,aACVx6a,KAAK44a,KAAK4B,YAAYx6a,KAAK84a,YAAa94a,KAAK+4a,cAE7C/4a,KAAKg5a,WACJ77a,OAAOM,UAAUuF,eAAehB,KAAKhC,KAAKg5a,SAAUh5a,KAAK84a,eAE1D94a,KAAKg5a,SAASh5a,KAAK84a,aAAe94a,KAAK+4a,cAE3C/4a,KAAK84a,YAAc,GACnB94a,KAAK+4a,aAAe,IAGxB/nG,EAAOvzU,UAAUg9a,oBAAsB,SAAS/6a,GAC5C,IAAI+/B,EAAM//B,EAAM69H,OAAOm7S,GACnBt2a,EAAOq9B,EAAM,EAAI//B,EAAQA,EAAMmiB,OAAO,EAAG4d,GAM7C,OAJIz/B,KAAKm5a,qBACL/2a,EAAOA,EAAKyW,eAGTzW,GAGX4uU,EAAOvzU,UAAUi9a,cAAgB,SAASh7a,GACtC,GAAIM,KAAK44a,KAAK+B,wBAAyB,CACnC,IAAIv4a,EAAOpC,KAAKy6a,oBAAoB/6a,GACpCM,KAAK44a,KAAK+B,wBAAwB,IAAMv4a,EAAM,IAAM1C,KAI5DsxU,EAAOvzU,UAAUk9a,wBAA0B,SAASj7a,GAChD,GAAIM,KAAK44a,KAAK+B,wBAAyB,CACnC,IAAIv4a,EAAOpC,KAAKy6a,oBAAoB/6a,GACpCM,KAAK44a,KAAK+B,wBAAwB,IAAMv4a,EAAM,IAAM1C,KAI5DsxU,EAAOvzU,UAAUm9a,UAAY,SAASl7a,GAClCM,KAAKy5a,gBAAgB,GAEjBz5a,KAAK44a,KAAKgC,WAAW56a,KAAK44a,KAAKgC,UAAUl7a,GACzCM,KAAK44a,KAAKiC,cAAc76a,KAAK44a,KAAKiC,gBAG1C7pG,EAAOvzU,UAAUq9a,QAAU,SAASp7a,GAChCM,KAAKy5a,gBAAgB,GAEjBz5a,KAAK4oX,SAAS+nB,SAAW3wY,KAAK4oX,SAASmyD,gBACnC/6a,KAAK44a,KAAKoC,cAAch7a,KAAK44a,KAAKoC,eAClCh7a,KAAK44a,KAAKiB,QAAQ75a,KAAK44a,KAAKiB,OAAOn6a,GACnCM,KAAK44a,KAAKqC,YAAYj7a,KAAK44a,KAAKqC,cAEpCj7a,KAAK46a,UAAU,UAAYl7a,EAAQ,OAI3CsxU,EAAOvzU,UAAUyjB,QAAU,SAAS/f,GAC5BnB,KAAK44a,KAAK13Z,SAASlhB,KAAK44a,KAAK13Z,QAAQ/f,IAG7C6vU,EAAOvzU,UAAUy9a,MAAQ,WACrB,GAAIl7a,KAAK44a,KAAKmB,WACV,IACI,IAAIl9a,EAAImD,KAAKi5a,OAAOn8a,OACpBD,EAAI,EACJmD,KAAK44a,KAAKmB,WAAW/5a,KAAKi5a,SAASp8a,KAGvCmD,KAAK44a,KAAKsC,OAAOl7a,KAAK44a,KAAKsC,SAInClqG,EAAOvzU,UAAUka,MAAQ,WACjB3X,KAAK44a,KAAKuC,SAASn7a,KAAK44a,KAAKuC,UACjCn7a,KAAKu5a,WAAW5ha,QAEhB3X,KAAK64a,SAAW,GAChB74a,KAAK84a,YAAc,GACnB94a,KAAKg5a,SAAW,KAChBh5a,KAAKi5a,OAAS,GAEVj5a,KAAK44a,KAAKY,cAAcx5a,KAAK44a,KAAKY,aAAax5a,OAIvDgxU,EAAOvzU,UAAU29a,cAAgB,SAASpqa,GACtChR,KAAK2X,QACL3X,KAAKszC,IAAItiC,IAGbggU,EAAOvzU,UAAUo6L,MAAQ,SAASmvK,GAC9BhnW,KAAKu5a,WAAW1hP,MAAMmvK,IAG1Bh2B,EAAOvzU,UAAU61C,IAAM,SAAS0zT,GAC5BhnW,KAAKu5a,WAAWjmY,IAAI0zT,IAGxBh2B,EAAOvzU,UAAU25B,MAAQ,WACrBp3B,KAAKu5a,WAAWniZ,SAGpB45S,EAAOvzU,UAAU+4B,OAAS,WACtBx2B,KAAKu5a,WAAW/iZ,UAIpBw6S,EAAOvzU,UAAU49a,WAAarqG,EAAOvzU,UAAUo6L,MAC/Cm5I,EAAOvzU,UAAUqD,KAAOkwU,EAAOvzU,UAAU61C,IAEzCp9C,EAAOC,QAAU66U,G,gBC7XjB96U,EAAOC,QAAU+6U,GAEjB,IAAIoqG,EAAkBllb,EAAQ,KAC1B2tC,EAAY3tC,EAAQ,KACpBmlb,EAAYnlb,EAAQ,KACpBolb,EAASplb,EAAQ,KAEjByG,EAAI,EAEJ4+a,EAAO5+a,IACP6+a,EAAkB7+a,IAClB8+a,EAAc9+a,IACd++a,EAAsB/+a,IACtBg/a,EAA0Bh/a,IAC1Bi/a,EAAsBj/a,IACtBk/a,EAAyBl/a,IAGzBm/a,EAAwBn/a,IACxBo/a,EAAoBp/a,IACpBq/a,EAAuBr/a,IACvBs/a,EAAyBt/a,IACzBu/a,EAAwBv/a,IACxBw/a,EAAwBx/a,IACxBy/a,EAAwBz/a,IAGxB0/a,EAAqB1/a,IACrB2/a,EAAiB3/a,IAGjB4/a,EAA4B5/a,IAG5B6/a,EAAiB7/a,IACjB8/a,EAAa9/a,IACb+/a,EAAkB//a,IAClBggb,EAAkBhgb,IAGlBigb,EAAiBjgb,IACjBkgb,EAAiBlgb,IACjBmgb,EAAiBngb,IACjBogb,EAAiBpgb,IACjBqgb,EAAiBrgb,IACjBsgb,EAAiBtgb,IACjBugb,EAAWvgb,IACXwgb,EAAgBxgb,IAChBygb,EAAgBzgb,IAGhB0gb,EAAiB1gb,IACjB2gb,EAAqB3gb,IAErB4gb,EAAkB5gb,IAClB6gb,EAAkB7gb,IAClB8gb,EAAkB9gb,IAClB+gb,EAAkB/gb,IAClBghb,EAAkBhhb,IAClBihb,EAAiBjhb,IACjBkhb,EAAiBlhb,IACjBmhb,EAAiBnhb,IACjBohb,EAAiBphb,IACjBqhb,EAAiBrhb,IAEjBshb,EAAiBthb,IACjBuhb,EAAiBvhb,IACjBwhb,EAAiBxhb,IACjByhb,EAAiBzhb,IACjB0hb,GAAgB1hb,IAChB2hb,GAAgB3hb,IAChB4hb,GAAgB5hb,IAChB6hb,GAAgB7hb,IAEhB8hb,GAAgB9hb,IAChB+hb,GAAwB/hb,IACxBgib,GAAkBhib,IAClBiib,GAAoBjib,IACpBkib,GAAgBlib,IAEhBuc,GAAI,EAEJ4la,GAAe5la,KACf6la,GAAiB7la,KACjB8la,GAAgB9la,KAEpB,SAASmkY,GAAWr7Y,GAChB,MAAa,MAANA,GAAmB,OAANA,GAAoB,OAANA,GAAoB,OAANA,GAAoB,OAANA,EAGlE,SAASi9a,GAAY3/S,EAAO4/S,EAASC,GACjC,IAAI9/S,EAAQC,EAAM3mH,cAElB,OAAI2mH,IAAUD,EACH,SAASr9H,GACRA,IAAMq9H,EACNv/H,KAAKs/a,OAASF,GAEdp/a,KAAKs/a,OAASD,EACdr/a,KAAKu/a,WAIN,SAASr9a,GACRA,IAAMq9H,GAASr9H,IAAMs9H,EACrBx/H,KAAKs/a,OAASF,GAEdp/a,KAAKs/a,OAASD,EACdr/a,KAAKu/a,WAMrB,SAASC,GAAuBhgT,EAAOigT,GACnC,IAAIlgT,EAAQC,EAAM3mH,cAElB,OAAO,SAAS3W,GACRA,IAAMq9H,GAASr9H,IAAMs9H,EACrBx/H,KAAKs/a,OAASG,GAEdz/a,KAAKs/a,OAAS3D,EACd37a,KAAKu/a,WAKjB,SAASruG,GAAU3yS,EAASo6Y,GACxB34a,KAAKs/a,OAAS7D,EACdz7a,KAAK0/a,QAAU,GACf1/a,KAAK25a,cAAgB,EACrB35a,KAAKu/a,OAAS,EACdv/a,KAAK2/a,cAAgB,EACrB3/a,KAAK4/a,WAAanE,EAClBz7a,KAAK6/a,SAAWb,GAChBh/a,KAAK44a,KAAOD,EACZ34a,KAAK8/a,UAAW,EAChB9/a,KAAK+/a,QAAS,EACd//a,KAAKggb,YAAczhZ,IAAWA,EAAQoyW,SACtC3wY,KAAKigb,mBAAqB1hZ,IAAWA,EAAQqyW,gBAGjD1/D,GAAUzzU,UAAUyib,WAAa,SAASh+a,GAC5B,MAANA,GACIlC,KAAKu/a,OAASv/a,KAAK25a,eACnB35a,KAAK44a,KAAKiB,OAAO75a,KAAKmgb,eAE1Bngb,KAAKs/a,OAAS5D,EACd17a,KAAK25a,cAAgB35a,KAAKu/a,QAE1Bv/a,KAAKigb,iBACLjgb,KAAK6/a,WAAab,IACZ,MAAN98a,IAEIlC,KAAKu/a,OAASv/a,KAAK25a,eACnB35a,KAAK44a,KAAKiB,OAAO75a,KAAKmgb,eAE1Bngb,KAAK4/a,WAAanE,EAClBz7a,KAAKs/a,OAASX,GACd3+a,KAAK25a,cAAgB35a,KAAKu/a,SAIlCruG,GAAUzzU,UAAU2ib,oBAAsB,SAASl+a,GACrC,MAANA,EACAlC,KAAKs/a,OAASzD,EACD,MAAN35a,GACPlC,KAAK44a,KAAKiB,OAAO75a,KAAKmgb,eACtBngb,KAAK25a,cAAgB35a,KAAKu/a,QACb,MAANr9a,GAAalC,KAAK6/a,WAAab,IAAgBzhC,GAAWr7Y,GACjElC,KAAKs/a,OAAS7D,EACD,MAANv5a,GACPlC,KAAKs/a,OAAS/C,EACdv8a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,GACtB,MAANr9a,GACPlC,KAAKs/a,OAAS7C,EACdz8a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,IAEnCv/a,KAAKs/a,OACAt/a,KAAKggb,UAAmB,MAAN99a,GAAmB,MAANA,EAE1By5a,EADA4B,EAEVv9a,KAAK25a,cAAgB35a,KAAKu/a,SAIlCruG,GAAUzzU,UAAU4ib,gBAAkB,SAASn+a,IACjC,MAANA,GAAmB,MAANA,GAAaq7Y,GAAWr7Y,MACrClC,KAAKsgb,WAAW,iBAChBtgb,KAAKs/a,OAAStD,EACdh8a,KAAKu/a,WAIbruG,GAAUzzU,UAAU8ib,4BAA8B,SAASr+a,GACnDq7Y,GAAWr7Y,KACA,MAANA,EACLlC,KAAKs/a,OAAS7D,EACPz7a,KAAK6/a,WAAab,GACf,MAAN98a,GAAmB,MAANA,EACblC,KAAKs/a,OAAS9B,GAEdx9a,KAAKs/a,OAAS7D,EACdz7a,KAAKu/a,WAGTv/a,KAAKs/a,OAASxD,EACd97a,KAAK25a,cAAgB35a,KAAKu/a,UAIlCruG,GAAUzzU,UAAU+ib,wBAA0B,SAASt+a,IACzC,MAANA,GAAaq7Y,GAAWr7Y,MACxBlC,KAAKsgb,WAAW,cAChBtgb,KAAKs/a,OAASvD,EACd/7a,KAAKu/a,WAIbruG,GAAUzzU,UAAUgjb,2BAA6B,SAASv+a,GAE5C,MAANA,IACAlC,KAAKs/a,OAAS7D,EACdz7a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,IAI3CruG,GAAUzzU,UAAUijb,0BAA4B,SAASx+a,GAC3C,MAANA,GACAlC,KAAK44a,KAAKqB,eACVj6a,KAAKs/a,OAAS7D,EACdz7a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,GACtB,MAANr9a,EACPlC,KAAKs/a,OAAS1D,EACNr+B,GAAWr7Y,KACnBlC,KAAKs/a,OAASrD,EACdj8a,KAAK25a,cAAgB35a,KAAKu/a,SAIlCruG,GAAUzzU,UAAUkjb,uBAAyB,SAASz+a,GACxC,MAANA,GACAlC,KAAK44a,KAAKuB,mBACVn6a,KAAKs/a,OAAS7D,EACdz7a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,GAC3BhiC,GAAWr7Y,KACnBlC,KAAKs/a,OAAStD,EACdh8a,KAAKu/a,WAIbruG,GAAUzzU,UAAUmjb,sBAAwB,SAAS1+a,IACvC,MAANA,GAAmB,MAANA,GAAmB,MAANA,GAAaq7Y,GAAWr7Y,MAClDlC,KAAK44a,KAAKyB,aAAar6a,KAAKmgb,eAC5Bngb,KAAK25a,eAAiB,EACtB35a,KAAKs/a,OAASpD,EACdl8a,KAAKu/a,WAIbruG,GAAUzzU,UAAUojb,yBAA2B,SAAS3+a,GAC1C,MAANA,EACAlC,KAAKs/a,OAASnD,EACD,MAANj6a,GAAmB,MAANA,GACpBlC,KAAK44a,KAAK2B,cACVv6a,KAAKs/a,OAAStD,EACdh8a,KAAKu/a,UACGhiC,GAAWr7Y,KACnBlC,KAAK44a,KAAK2B,cACVv6a,KAAKs/a,OAASrD,EACdj8a,KAAK25a,cAAgB35a,KAAKu/a,SAIlCruG,GAAUzzU,UAAUqjb,2BAA6B,SAAS5+a,GAC5C,MAANA,GACAlC,KAAKs/a,OAASlD,EACdp8a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,GACtB,MAANr9a,GACPlC,KAAKs/a,OAASjD,EACdr8a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,GAC3BhiC,GAAWr7Y,KACnBlC,KAAKs/a,OAAShD,EACdt8a,KAAK25a,cAAgB35a,KAAKu/a,OAC1Bv/a,KAAKu/a,WAIbruG,GAAUzzU,UAAUsjb,mCAAqC,SAAS7+a,GACpD,MAANA,GACAlC,KAAKsgb,WAAW,gBAChBtgb,KAAK44a,KAAK2B,cACVv6a,KAAKs/a,OAAStD,GACPh8a,KAAKigb,iBAAyB,MAAN/9a,IAC/BlC,KAAKsgb,WAAW,gBAChBtgb,KAAK4/a,WAAa5/a,KAAKs/a,OACvBt/a,KAAKs/a,OAASX,GACd3+a,KAAK25a,cAAgB35a,KAAKu/a,SAIlCruG,GAAUzzU,UAAUujb,mCAAqC,SAAS9+a,GACpD,MAANA,GACAlC,KAAKsgb,WAAW,gBAChBtgb,KAAK44a,KAAK2B,cACVv6a,KAAKs/a,OAAStD,GACPh8a,KAAKigb,iBAAyB,MAAN/9a,IAC/BlC,KAAKsgb,WAAW,gBAChBtgb,KAAK4/a,WAAa5/a,KAAKs/a,OACvBt/a,KAAKs/a,OAASX,GACd3+a,KAAK25a,cAAgB35a,KAAKu/a,SAIlCruG,GAAUzzU,UAAUwjb,+BAAiC,SAAS/+a,GACtDq7Y,GAAWr7Y,IAAY,MAANA,GACjBlC,KAAKsgb,WAAW,gBAChBtgb,KAAK44a,KAAK2B,cACVv6a,KAAKs/a,OAAStD,EACdh8a,KAAKu/a,UACEv/a,KAAKigb,iBAAyB,MAAN/9a,IAC/BlC,KAAKsgb,WAAW,gBAChBtgb,KAAK4/a,WAAa5/a,KAAKs/a,OACvBt/a,KAAKs/a,OAASX,GACd3+a,KAAK25a,cAAgB35a,KAAKu/a,SAIlCruG,GAAUzzU,UAAUyjb,wBAA0B,SAASh/a,GACnDlC,KAAKs/a,OACK,MAANp9a,EACM46a,EACM,MAAN56a,EACIw6a,EACAF,GAGlBtrG,GAAUzzU,UAAU0jb,oBAAsB,SAASj/a,GACrC,MAANA,IACAlC,KAAK44a,KAAK8B,cAAc16a,KAAKmgb,eAC7Bngb,KAAKs/a,OAAS7D,EACdz7a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,IAI3CruG,GAAUzzU,UAAU2jb,8BAAgC,SAASl/a,GAC/C,MAANA,IACAlC,KAAK44a,KAAK+B,wBAAwB36a,KAAKmgb,eACvCngb,KAAKs/a,OAAS7D,EACdz7a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,IAI3CruG,GAAUzzU,UAAU4jb,oBAAsB,SAASn/a,GACrC,MAANA,GACAlC,KAAKs/a,OAAS3C,EACd38a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,GAEnCv/a,KAAKs/a,OAAS9C,GAItBtrG,GAAUzzU,UAAU6jb,gBAAkB,SAASp/a,GACjC,MAANA,IAAWlC,KAAKs/a,OAAS1C,IAGjC1rG,GAAUzzU,UAAU8jb,oBAAsB,SAASr/a,GAE3ClC,KAAKs/a,OADC,MAANp9a,EACc26a,EAEAF,GAItBzrG,GAAUzzU,UAAU+jb,oBAAsB,SAASt/a,GACrC,MAANA,GAEAlC,KAAK44a,KAAKgC,UACN56a,KAAK0/a,QAAQruY,UAAUrxC,KAAK25a,cAAe35a,KAAKu/a,OAAS,IAE7Dv/a,KAAKs/a,OAAS7D,EACdz7a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,GACtB,MAANr9a,IACPlC,KAAKs/a,OAAS3C,IAKtBzrG,GAAUzzU,UAAUgkb,mBAAqBtC,GACrC,IACApC,EACAP,GAEJtrG,GAAUzzU,UAAUikb,mBAAqBvC,GACrC,IACAnC,EACAR,GAEJtrG,GAAUzzU,UAAUkkb,mBAAqBxC,GACrC,IACAlC,EACAT,GAEJtrG,GAAUzzU,UAAUmkb,mBAAqBzC,GACrC,IACAjC,EACAV,GAEJtrG,GAAUzzU,UAAUokb,mBAAqB1C,GACrC,IACAhC,EACAX,GAGJtrG,GAAUzzU,UAAUqkb,mBAAqB,SAAS5/a,GACpC,MAANA,GACAlC,KAAKs/a,OAASlC,EACdp9a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,IAEnCv/a,KAAKs/a,OAAS9C,EACdx8a,KAAKu/a,WAIbruG,GAAUzzU,UAAUskb,cAAgB,SAAS7/a,GAC/B,MAANA,IAAWlC,KAAKs/a,OAASjC,IAGjCnsG,GAAUzzU,UAAUukb,kBAAoB,SAAS9/a,GAC9BlC,KAAKs/a,OAAV,MAANp9a,EAAyBo7a,EACVF,GAGvBlsG,GAAUzzU,UAAUwkb,kBAAoB,SAAS//a,GACnC,MAANA,GAEAlC,KAAK44a,KAAKkC,QACN96a,KAAK0/a,QAAQruY,UAAUrxC,KAAK25a,cAAe35a,KAAKu/a,OAAS,IAE7Dv/a,KAAKs/a,OAAS7D,EACdz7a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,GACtB,MAANr9a,IACPlC,KAAKs/a,OAASlC,IAKtBlsG,GAAUzzU,UAAUykb,oBAAsB,SAAShgb,GACrC,MAANA,GAAmB,MAANA,EACblC,KAAKs/a,OAAS7B,EACD,MAANv7a,GAAmB,MAANA,EACpBlC,KAAKs/a,OAASnB,GAEdn+a,KAAKs/a,OAAS3D,EACd37a,KAAKu/a,WAIbruG,GAAUzzU,UAAU0kb,uBAAyB,SAASjgb,GAC9ClC,KAAK6/a,WAAaZ,IAAyB,MAAN/8a,GAAmB,MAANA,EAE3ClC,KAAK6/a,WAAaX,IAAwB,MAANh9a,GAAmB,MAANA,EAErDlC,KAAKs/a,OAAS7D,EADjBz7a,KAAKs/a,OAASf,GAFdv+a,KAAKs/a,OAASxB,GAMtB5sG,GAAUzzU,UAAU2kb,oBAAsB5C,GACtC,IACA9B,GAEJxsG,GAAUzzU,UAAU4kb,oBAAsB7C,GACtC,IACA7B,GAEJzsG,GAAUzzU,UAAU6kb,oBAAsB9C,GACtC,IACA5B,GAEJ1sG,GAAUzzU,UAAU8kb,oBAAsB/C,GACtC,IACA3B,GAGJ3sG,GAAUzzU,UAAU+kb,oBAAsB,SAAStgb,IACrC,MAANA,GAAmB,MAANA,GAAaq7Y,GAAWr7Y,MACrClC,KAAK6/a,SAAWZ,IAEpBj/a,KAAKs/a,OAAS3D,EACd37a,KAAKu/a,UAGTruG,GAAUzzU,UAAUglb,mBAAqBtD,GAAY,IAAKpB,EAAgBtC,GAC1EvqG,GAAUzzU,UAAUilb,mBAAqBvD,GAAY,IAAKnB,EAAgBvC,GAC1EvqG,GAAUzzU,UAAUklb,mBAAqBxD,GAAY,IAAKlB,EAAgBxC,GAC1EvqG,GAAUzzU,UAAUmlb,mBAAqBzD,GAAY,IAAKjB,EAAgBzC,GAE1EvqG,GAAUzzU,UAAUolb,mBAAqB,SAAS3gb,GACpC,MAANA,GAAaq7Y,GAAWr7Y,IACxBlC,KAAK6/a,SAAWb,GAChBh/a,KAAKs/a,OAASxD,EACd97a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,EACnCv/a,KAAKu/a,UACFv/a,KAAKs/a,OAAS7D,GAGzBvqG,GAAUzzU,UAAUqlb,mBAAqBtD,GACrC,IACApB,GAEJltG,GAAUzzU,UAAUslb,mBAAqBvD,GACrC,IACAnB,GAEJntG,GAAUzzU,UAAUulb,mBAAqBxD,GACrC,IACAlB,GAGJptG,GAAUzzU,UAAUwlb,mBAAqB,SAAS/gb,IACpC,MAANA,GAAmB,MAANA,GAAaq7Y,GAAWr7Y,MACrClC,KAAK6/a,SAAWX,IAEpBl/a,KAAKs/a,OAAS3D,EACd37a,KAAKu/a,UAGTruG,GAAUzzU,UAAUylb,kBAAoB/D,GAAY,IAAKX,GAAe/C,GACxEvqG,GAAUzzU,UAAU0lb,kBAAoBhE,GAAY,IAAKV,GAAehD,GACxEvqG,GAAUzzU,UAAU2lb,kBAAoBjE,GAAY,IAAKT,GAAejD,GAExEvqG,GAAUzzU,UAAU4lb,kBAAoB,SAASnhb,GACnC,MAANA,GAAaq7Y,GAAWr7Y,IACxBlC,KAAK6/a,SAAWb,GAChBh/a,KAAKs/a,OAASxD,EACd97a,KAAK25a,cAAgB35a,KAAKu/a,OAAS,EACnCv/a,KAAKu/a,UACFv/a,KAAKs/a,OAAS7D,GAGzBvqG,GAAUzzU,UAAU6lb,mBAAqBnE,GACrC,IACAP,GACAC,IAEJ3tG,GAAUzzU,UAAU8lb,0BAA4BpE,GAC5C,IACAJ,GACAD,IAIJ5tG,GAAUzzU,UAAU+lb,wBAA0B,WAE1C,GAAIxjb,KAAK25a,cAAgB,EAAI35a,KAAKu/a,OAAQ,CACtC,IAAIjuH,EAAStxT,KAAK0/a,QAAQruY,UAClBrxC,KAAK25a,cAAgB,EACrB35a,KAAKu/a,QAET93Z,EAAMznB,KAAKggb,SAAWxE,EAASz3Y,EAE/Btc,EAAIzkB,eAAesuT,KACnBtxT,KAAKyjb,aAAah8Z,EAAI6pS,IACtBtxT,KAAK25a,cAAgB35a,KAAKu/a,OAAS,KAM/CruG,GAAUzzU,UAAUimb,mBAAqB,WACrC,IAAI5ra,EAAQ9X,KAAK25a,cAAgB,EAC7B1tG,EAAQjsU,KAAKu/a,OAASzna,EAI1B,IAFIm0T,EAAQ,IAAGA,EAAQ,GAEhBA,GAAS,GAAG,CAEf,IAAI3a,EAAStxT,KAAK0/a,QAAQ79Z,OAAO/J,EAAOm0T,GAExC,GAAIsvG,EAAUv4a,eAAesuT,GAGzB,OAFAtxT,KAAKyjb,aAAalI,EAAUjqH,SAC5BtxT,KAAK25a,eAAiB1tG,EAAQ,GAG9BA,MAKZiF,GAAUzzU,UAAUkmb,oBAAsB,SAASzhb,GACrC,MAANA,GACAlC,KAAKwjb,0BACDxjb,KAAK25a,cAAgB,EAAI35a,KAAKu/a,SAAWv/a,KAAKggb,UAC9Chgb,KAAK0jb,qBAET1jb,KAAKs/a,OAASt/a,KAAK4/a,aAElB19a,EAAI,KAAOA,EAAI,OACfA,EAAI,KAAOA,EAAI,OACfA,EAAI,KAAOA,EAAI,OAEZlC,KAAKggb,UACAhgb,KAAK25a,cAAgB,IAAM35a,KAAKu/a,SAChCv/a,KAAK4/a,aAAenE,EACf,MAANv5a,GACAlC,KAAKwjb,0BAGTxjb,KAAK0jb,sBAGT1jb,KAAKs/a,OAASt/a,KAAK4/a,WACnB5/a,KAAKu/a,WAIbruG,GAAUzzU,UAAUmmb,qBAAuB,SAAS3ua,EAAQtE,GACxD,IAAIkza,EAAe7jb,KAAK25a,cAAgB1ka,EAExC,GAAI4ua,IAAiB7jb,KAAKu/a,OAAQ,CAE9B,IAAIjuH,EAAStxT,KAAK0/a,QAAQruY,UAAUwyY,EAAc7jb,KAAKu/a,QACnD93G,EAASvpT,SAASozS,EAAQ3gT,GAE9B3Q,KAAKyjb,aAAanI,EAAgB7zG,IAClCznU,KAAK25a,cAAgB35a,KAAKu/a,YAE1Bv/a,KAAK25a,gBAGT35a,KAAKs/a,OAASt/a,KAAK4/a,YAGvB1uG,GAAUzzU,UAAUqmb,sBAAwB,SAAS5hb,GACvC,MAANA,GACAlC,KAAK4jb,qBAAqB,EAAG,IAC7B5jb,KAAK25a,kBACEz3a,EAAI,KAAOA,EAAI,OACjBlC,KAAKggb,SAGNhgb,KAAKs/a,OAASt/a,KAAK4/a,WAFnB5/a,KAAK4jb,qBAAqB,EAAG,IAIjC5jb,KAAKu/a,WAIbruG,GAAUzzU,UAAUsmb,kBAAoB,SAAS7hb,GACnC,MAANA,GACAlC,KAAK4jb,qBAAqB,EAAG,IAC7B5jb,KAAK25a,kBAEJz3a,EAAI,KAAOA,EAAI,OACfA,EAAI,KAAOA,EAAI,OACfA,EAAI,KAAOA,EAAI,OAEXlC,KAAKggb,SAGNhgb,KAAKs/a,OAASt/a,KAAK4/a,WAFnB5/a,KAAK4jb,qBAAqB,EAAG,IAIjC5jb,KAAKu/a,WAIbruG,GAAUzzU,UAAUumb,SAAW,WACvBhkb,KAAK25a,cAAgB,GACrB35a,KAAK0/a,QAAU,GACf1/a,KAAK2/a,eAAiB3/a,KAAKu/a,OAC3Bv/a,KAAKu/a,OAAS,GACPv/a,KAAK8/a,WACR9/a,KAAKs/a,SAAW7D,GACZz7a,KAAK25a,gBAAkB35a,KAAKu/a,QAC5Bv/a,KAAK44a,KAAKiB,OAAO75a,KAAK0/a,QAAQ79Z,OAAO7hB,KAAK25a,gBAE9C35a,KAAK0/a,QAAU,GACf1/a,KAAK2/a,eAAiB3/a,KAAKu/a,OAC3Bv/a,KAAKu/a,OAAS,GACPv/a,KAAK25a,gBAAkB35a,KAAKu/a,QAEnCv/a,KAAK0/a,QAAU,GACf1/a,KAAK2/a,eAAiB3/a,KAAKu/a,OAC3Bv/a,KAAKu/a,OAAS,IAGdv/a,KAAK0/a,QAAU1/a,KAAK0/a,QAAQ79Z,OAAO7hB,KAAK25a,eACxC35a,KAAKu/a,QAAUv/a,KAAK25a,cACpB35a,KAAK2/a,eAAiB3/a,KAAK25a,eAG/B35a,KAAK25a,cAAgB,IAK7BzoG,GAAUzzU,UAAUo6L,MAAQ,SAASmvK,GAC7BhnW,KAAK+/a,QAAQ//a,KAAK44a,KAAK13Z,QAAQge,MAAM,yBAEzCl/B,KAAK0/a,SAAW14E,EAChBhnW,KAAKikb,UAGT/yG,GAAUzzU,UAAUwmb,OAAS,WACzB,KAAOjkb,KAAKu/a,OAASv/a,KAAK0/a,QAAQ5ib,QAAUkD,KAAK8/a,UAAU,CACvD,IAAI59a,EAAIlC,KAAK0/a,QAAQ52Z,OAAO9oB,KAAKu/a,QAC7Bv/a,KAAKs/a,SAAW7D,EAChBz7a,KAAKkgb,WAAWh+a,GACTlC,KAAKs/a,SAAW5D,EACvB17a,KAAKogb,oBAAoBl+a,GAClBlC,KAAKs/a,SAAW3D,EACvB37a,KAAKqgb,gBAAgBn+a,GACdlC,KAAKs/a,SAAWzD,EACvB77a,KAAKugb,4BAA4Br+a,GAC1BlC,KAAKs/a,SAAWxD,EACvB97a,KAAKwgb,wBAAwBt+a,GACtBlC,KAAKs/a,SAAWvD,EACvB/7a,KAAKygb,2BAA2Bv+a,GACzBlC,KAAKs/a,SAAW1D,EACvB57a,KAAK2gb,uBAAuBz+a,GACrBlC,KAAKs/a,SAAWtD,EAKvBh8a,KAAK0gb,0BAA0Bx+a,GACxBlC,KAAKs/a,SAAWrD,EACvBj8a,KAAK4gb,sBAAsB1+a,GACpBlC,KAAKs/a,SAAWpD,EACvBl8a,KAAK6gb,yBAAyB3+a,GACvBlC,KAAKs/a,SAAWnD,EACvBn8a,KAAK8gb,2BAA2B5+a,GACzBlC,KAAKs/a,SAAWlD,EACvBp8a,KAAK+gb,mCAAmC7+a,GACjClC,KAAKs/a,SAAWjD,EACvBr8a,KAAKghb,mCAAmC9+a,GACjClC,KAAKs/a,SAAWhD,EACvBt8a,KAAKihb,+BAA+B/+a,GAC7BlC,KAAKs/a,SAAW/C,EAKvBv8a,KAAKkhb,wBAAwBh/a,GACtBlC,KAAKs/a,SAAW9C,EACvBx8a,KAAKmhb,oBAAoBj/a,GAClBlC,KAAKs/a,SAAW7C,EAKvBz8a,KAAKohb,8BAA8Bl/a,GAC5BlC,KAAKs/a,SAAW5C,EAKvB18a,KAAKqhb,oBAAoBn/a,GAClBlC,KAAKs/a,SAAW3C,EACvB38a,KAAKshb,gBAAgBp/a,GACdlC,KAAKs/a,SAAW1C,EACvB58a,KAAKuhb,oBAAoBr/a,GAClBlC,KAAKs/a,SAAWzC,EACvB78a,KAAKwhb,oBAAoBt/a,GAClBlC,KAAKs/a,SAAWxC,EAKvB98a,KAAKyhb,mBAAmBv/a,GACjBlC,KAAKs/a,SAAWvC,EACvB/8a,KAAK0hb,mBAAmBx/a,GACjBlC,KAAKs/a,SAAWtC,EACvBh9a,KAAK2hb,mBAAmBz/a,GACjBlC,KAAKs/a,SAAWrC,EACvBj9a,KAAK4hb,mBAAmB1/a,GACjBlC,KAAKs/a,SAAWpC,EACvBl9a,KAAK6hb,mBAAmB3/a,GACjBlC,KAAKs/a,SAAWnC,EACvBn9a,KAAK8hb,mBAAmB5/a,GACjBlC,KAAKs/a,SAAWlC,EACvBp9a,KAAK+hb,cAAc7/a,GACZlC,KAAKs/a,SAAWjC,EACvBr9a,KAAKgib,kBAAkB9/a,GAChBlC,KAAKs/a,SAAWhC,EACvBt9a,KAAKiib,kBAAkB//a,GAChBlC,KAAKs/a,SAAW/B,EAKvBv9a,KAAKkib,oBAAoBhgb,GAClBlC,KAAKs/a,SAAW9B,EACvBx9a,KAAKmib,uBAAuBjgb,GACrBlC,KAAKs/a,SAAW7B,EAKvBz9a,KAAKoib,oBAAoBlgb,GAClBlC,KAAKs/a,SAAW5B,EACvB19a,KAAKqib,oBAAoBngb,GAClBlC,KAAKs/a,SAAW3B,EACvB39a,KAAKsib,oBAAoBpgb,GAClBlC,KAAKs/a,SAAW1B,EACvB59a,KAAKuib,oBAAoBrgb,GAClBlC,KAAKs/a,SAAWzB,EACvB79a,KAAKwib,oBAAoBtgb,GAClBlC,KAAKs/a,SAAWxB,EACvB99a,KAAKyib,mBAAmBvgb,GACjBlC,KAAKs/a,SAAWvB,EACvB/9a,KAAK0ib,mBAAmBxgb,GACjBlC,KAAKs/a,SAAWtB,EACvBh+a,KAAK2ib,mBAAmBzgb,GACjBlC,KAAKs/a,SAAWrB,EACvBj+a,KAAK4ib,mBAAmB1gb,GACjBlC,KAAKs/a,SAAWpB,EACvBl+a,KAAK6ib,mBAAmB3gb,GACjBlC,KAAKs/a,SAAWnB,EAKvBn+a,KAAK8ib,mBAAmB5gb,GACjBlC,KAAKs/a,SAAWlB,EACvBp+a,KAAK+ib,mBAAmB7gb,GACjBlC,KAAKs/a,SAAWjB,EACvBr+a,KAAKgjb,mBAAmB9gb,GACjBlC,KAAKs/a,SAAWhB,EACvBt+a,KAAKijb,mBAAmB/gb,GACjBlC,KAAKs/a,SAAWf,GACvBv+a,KAAKkjb,kBAAkBhhb,GAChBlC,KAAKs/a,SAAWd,GACvBx+a,KAAKmjb,kBAAkBjhb,GAChBlC,KAAKs/a,SAAWb,GACvBz+a,KAAKojb,kBAAkBlhb,GAChBlC,KAAKs/a,SAAWZ,GACvB1+a,KAAKqjb,kBAAkBnhb,GAChBlC,KAAKs/a,SAAWX,GAKvB3+a,KAAKsjb,mBAAmBphb,GACjBlC,KAAKs/a,SAAWV,GACvB5+a,KAAKujb,0BAA0Brhb,GACxBlC,KAAKs/a,SAAWT,GACvB7+a,KAAK2jb,oBAAoBzhb,GAClBlC,KAAKs/a,SAAWR,GACvB9+a,KAAK8jb,sBAAsB5hb,GACpBlC,KAAKs/a,SAAWP,GACvB/+a,KAAK+jb,kBAAkB7hb,GAEvBlC,KAAK44a,KAAK13Z,QAAQge,MAAM,kBAAmBl/B,KAAKs/a,QAGpDt/a,KAAKu/a,SAGTv/a,KAAKgkb,YAGT9yG,GAAUzzU,UAAU25B,MAAQ,WACxBp3B,KAAK8/a,UAAW,GAEpB5uG,GAAUzzU,UAAU+4B,OAAS,WACzBx2B,KAAK8/a,UAAW,EAEZ9/a,KAAKu/a,OAASv/a,KAAK0/a,QAAQ5ib,QAC3BkD,KAAKikb,SAELjkb,KAAK+/a,QACL//a,KAAKkkb,WAIbhzG,GAAUzzU,UAAU61C,IAAM,SAAS0zT,GAC3BhnW,KAAK+/a,QAAQ//a,KAAK44a,KAAK13Z,QAAQge,MAAM,uBACrC8nU,GAAOhnW,KAAK63L,MAAMmvK,GAEtBhnW,KAAK+/a,QAAS,EAEV//a,KAAK8/a,UAAU9/a,KAAKkkb,WAG5BhzG,GAAUzzU,UAAUymb,QAAU,WAEtBlkb,KAAK25a,cAAgB35a,KAAKu/a,QAC1Bv/a,KAAKmkb,sBAGTnkb,KAAK44a,KAAKsC,SAGdhqG,GAAUzzU,UAAU0mb,oBAAsB,WACtC,IAAInza,EAAOhR,KAAK0/a,QAAQ79Z,OAAO7hB,KAAK25a,eAGhC35a,KAAKs/a,SAAWlC,GAChBp9a,KAAKs/a,SAAWjC,GAChBr9a,KAAKs/a,SAAWhC,EAEhBt9a,KAAK44a,KAAKkC,QAAQ9pa,GAElBhR,KAAKs/a,SAAW3C,GAChB38a,KAAKs/a,SAAW1C,GAChB58a,KAAKs/a,SAAWzC,EAEhB78a,KAAK44a,KAAKgC,UAAU5pa,GACbhR,KAAKs/a,SAAWT,IAAoB7+a,KAAKggb,SAMzChgb,KAAKs/a,SAAWR,IAAsB9+a,KAAKggb,SAM3Chgb,KAAKs/a,SAAWP,IAAkB/+a,KAAKggb,SAO9Chgb,KAAKs/a,SAAW3D,GAChB37a,KAAKs/a,SAAWtD,GAChBh8a,KAAKs/a,SAAWnD,GAChBn8a,KAAKs/a,SAAWpD,GAChBl8a,KAAKs/a,SAAWrD,GAChBj8a,KAAKs/a,SAAWjD,GAChBr8a,KAAKs/a,SAAWlD,GAChBp8a,KAAKs/a,SAAWhD,GAChBt8a,KAAKs/a,SAAWxD,GAEhB97a,KAAK44a,KAAKiB,OAAO7oa,IAhBjBhR,KAAK4jb,qBAAqB,EAAG,IACzB5jb,KAAK25a,cAAgB35a,KAAKu/a,SAC1Bv/a,KAAKs/a,OAASt/a,KAAK4/a,WACnB5/a,KAAKmkb,yBATTnkb,KAAK4jb,qBAAqB,EAAG,IACzB5jb,KAAK25a,cAAgB35a,KAAKu/a,SAC1Bv/a,KAAKs/a,OAASt/a,KAAK4/a,WACnB5/a,KAAKmkb,yBATTnkb,KAAK0jb,qBACD1jb,KAAK25a,cAAgB35a,KAAKu/a,SAC1Bv/a,KAAKs/a,OAASt/a,KAAK4/a,WACnB5/a,KAAKmkb,yBA+BjBjzG,GAAUzzU,UAAUka,MAAQ,WACxBu5T,GAAUlvU,KACNhC,KACA,CAAE2wY,QAAS3wY,KAAKggb,SAAUpvC,eAAgB5wY,KAAKigb,iBAC/Cjgb,KAAK44a,OAIb1nG,GAAUzzU,UAAUm8a,iBAAmB,WACnC,OAAO55a,KAAK2/a,cAAgB3/a,KAAKu/a,QAGrCruG,GAAUzzU,UAAU0ib,YAAc,WAC9B,OAAOngb,KAAK0/a,QAAQruY,UAAUrxC,KAAK25a,cAAe35a,KAAKu/a,SAG3DruG,GAAUzzU,UAAU6ib,WAAa,SAASl+a,GACtCpC,KAAK44a,KAAKx2a,GAAMpC,KAAKmgb,eACrBngb,KAAK25a,eAAiB,GAG1BzoG,GAAUzzU,UAAUgmb,aAAe,SAAS/jb,GACpCM,KAAK4/a,aAAenE,EACpBz7a,KAAK44a,KAAK0B,aAAa56a,GAEvBM,KAAK44a,KAAKiB,OAAOn6a,K,gBCv8BzB,IAAIyxU,EAAc/6U,EAAQ,KAEtBgub,EAAgB,OAChBC,EAAgBjub,EAAQ,KACxBkub,EAAmBlub,EAAQ,KAE/B,SAASm3J,EAAWhiH,EAAUhN,EAASgmZ,GACf,kBAAbh5Y,GACTg5Y,EAAYhmZ,EACZA,EAAUgN,EACVA,EAAW,MACiB,oBAAZhN,IAChBgmZ,EAAYhmZ,EACZA,EAAUimZ,GAEXxkb,KAAKykb,UAAYl5Y,EACjBvrC,KAAK4oX,SAAWrqV,GAAWimZ,EAC3Bxkb,KAAK0kb,WAAaH,EAClBvkb,KAAK8kB,IAAM,GACX9kB,KAAK2kb,OAAQ,EACb3kb,KAAK4kb,UAAY,GACjB5kb,KAAKilY,QAAUjlY,KAAKilY,SAAW,KAIhC,IAAIu/C,EAAc,CACjB9zC,qBAAqB,EACrBm0C,kBAAkB,EAClBC,gBAAgB,GAGjBv3R,EAAW9vJ,UAAU+7a,aAAe,SAASx+D,GAC5Ch7W,KAAKilY,QAAUjqB,GAIhBztN,EAAW9vJ,UAAU09a,QAAU,WAC9B5tR,EAAWvrJ,KAAKhC,KAAMA,KAAKykb,UAAWzkb,KAAK4oX,SAAU5oX,KAAK0kb,aAI3Dn3R,EAAW9vJ,UAAUy9a,MAAQ,WACzBl7a,KAAK2kb,QACR3kb,KAAK2kb,OAAQ,EACb3kb,KAAKilY,QAAU,KACfjlY,KAAK+kb,gBAAgB,QAGtBx3R,EAAW9vJ,UAAUsnb,gBACrBx3R,EAAW9vJ,UAAUyjB,QAAU,SAASiS,GACvC,GAA6B,oBAAnBnzB,KAAKykb,UACdzkb,KAAKykb,UAAUtxZ,EAAOnzB,KAAK8kB,UAE3B,GAAGqO,EAAO,MAAMA,GAIlBo6H,EAAW9vJ,UAAUs8a,WAAa,WAGjC,IAAIx4V,EAAOvhF,KAAK4kb,UAAU59a,MAEvBhH,KAAK4oX,SAASk8D,gBAAkBvjW,IAClCA,EAAKw5D,SAAW/6I,KAAKilY,QAAQlqP,UAG3B/6I,KAAK0kb,YAAY1kb,KAAK0kb,WAAWnjW,IAGrCgsE,EAAW9vJ,UAAUunb,kBAAoB,SAASn4H,GACjD,IAAK7sT,KAAK4oX,SAAS6nB,YAAa,OAAO5jF,EAEvC,IAAInyS,EAOJ,IAAK,IAAIrd,KALRqd,EADuB,QAApBmyS,EAAW57S,KACJ9T,OAAOqC,OAAO8kb,GAEdnnb,OAAOqC,OAAO6kb,GAGTx3H,EACXA,EAAW7pT,eAAe3F,KAC7Bqd,EAAQrd,GAAOwvT,EAAWxvT,IAI5B,OAAOqd,GAGR6yI,EAAW9vJ,UAAUwnb,eAAiB,SAASvqa,GAC9C,IAAI9H,EAAS5S,KAAK4kb,UAAU5kb,KAAK4kb,UAAU9nb,OAAS,GAChDuqF,EAAWz0E,EAASA,EAAOJ,SAAWxS,KAAK8kB,IAC3CgnB,EAAkBu7C,EAASA,EAASvqF,OAAS,GAEjD4d,EAAQnZ,KAAO,KAEZvB,KAAK4oX,SAASi8D,mBAChBnqa,EAAQogI,WAAa96I,KAAKilY,QAAQnqP,YAEhC96I,KAAK4oX,SAASk8D,iBAChBpqa,EAAQqgI,SAAW/6I,KAAKilY,QAAQlqP,UAG9BjvG,GACFpxB,EAAQi/D,KAAO7tC,EACfA,EAAgBvqC,KAAOmZ,GAEvBA,EAAQi/D,KAAO,KAGhB0N,EAASvgF,KAAK4T,GACdA,EAAQ9H,OAASA,GAAU,MAG5B26I,EAAW9vJ,UAAUu8a,UAAY,SAAS53a,EAAM4jX,GAC/C,IAAIn5D,EAAa,CAChB57S,KAAe,WAAT7O,EAAoB+uU,EAAYiB,OAAkB,UAAThwU,EAAmB+uU,EAAYkB,MAAQlB,EAAY77N,IAClGlzG,KAAMA,EACN4jX,QAASA,EACTxzW,SAAU,IAGPkI,EAAU1a,KAAKglb,kBAAkBn4H,GAErC7sT,KAAKilb,eAAevqa,GAEpB1a,KAAK4kb,UAAU99a,KAAK4T,IAGrB6yI,EAAW9vJ,UAAUo8a,OAAS,SAAS7oa,GAGtC,IAEIk0a,EAFA1+Y,EAAYxmC,KAAK4oX,SAAS8nB,qBAAuB1wY,KAAK4oX,SAASu8D,iBAInE,IAAInlb,KAAK4kb,UAAU9nb,QAAUkD,KAAK8kB,IAAIhoB,SAAWoob,EAAUllb,KAAK8kB,IAAI9kB,KAAK8kB,IAAIhoB,OAAO,IAAImU,OAASkgU,EAAY5kS,KACzG/F,EACF0+Y,EAAQl0a,MAAQk0a,EAAQl0a,KAAOA,GAAMvJ,QAAQ28a,EAAe,KAE5Dc,EAAQl0a,MAAQA,OAGjB,GACChR,KAAK4kb,UAAU9nb,SACdoob,EAAUllb,KAAK4kb,UAAU5kb,KAAK4kb,UAAU9nb,OAAS,MACjDoob,EAAUA,EAAQ1ya,SAAS0ya,EAAQ1ya,SAAS1V,OAAS,KACtDoob,EAAQj0a,OAASkgU,EAAY5kS,KAE1B/F,EACF0+Y,EAAQl0a,MAAQk0a,EAAQl0a,KAAOA,GAAMvJ,QAAQ28a,EAAe,KAE5Dc,EAAQl0a,MAAQA,MAEX,CACHw1B,IACFx1B,EAAOA,EAAKvJ,QAAQ28a,EAAe,MAGpC,IAAI1pa,EAAU1a,KAAKglb,kBAAkB,CACpCh0a,KAAMA,EACNC,KAAMkgU,EAAY5kS,OAGnBvsC,KAAKilb,eAAevqa,KAKvB6yI,EAAW9vJ,UAAUm9a,UAAY,SAAS5pa,GACzC,IAAIk0a,EAAUllb,KAAK4kb,UAAU5kb,KAAK4kb,UAAU9nb,OAAS,GAErD,GAAGoob,GAAWA,EAAQj0a,OAASkgU,EAAY3kS,QAC1C04Y,EAAQl0a,MAAQA,MADjB,CAKA,IAAI67S,EAAa,CAChB77S,KAAMA,EACNC,KAAMkgU,EAAY3kS,SAGf9xB,EAAU1a,KAAKglb,kBAAkBn4H,GAErC7sT,KAAKilb,eAAevqa,GACpB1a,KAAK4kb,UAAU99a,KAAK4T,KAGrB6yI,EAAW9vJ,UAAUu9a,aAAe,WACnC,IAAInuH,EAAa,CAChBr6S,SAAU,CAAC,CACVxB,KAAM,GACNC,KAAMkgU,EAAY5kS,OAEnBt7B,KAAMkgU,EAAYmB,OAGf53T,EAAU1a,KAAKglb,kBAAkBn4H,GAErC7sT,KAAKilb,eAAevqa,GACpB1a,KAAK4kb,UAAU99a,KAAK4T,IAGrB6yI,EAAW9vJ,UAAUo9a,aAAettR,EAAW9vJ,UAAUw9a,WAAa,WACrEj7a,KAAK4kb,UAAU59a,OAGhBumJ,EAAW9vJ,UAAUk9a,wBAA0B,SAASv4a,EAAM4O,GAC7D,IAAI0J,EAAU1a,KAAKglb,kBAAkB,CACpC5ib,KAAMA,EACN4O,KAAMA,EACNC,KAAMkgU,EAAYgB,YAGnBnyU,KAAKilb,eAAevqa,IAGrBxkB,EAAOC,QAAUo3J,G,cCtNjB,IAAI82R,EAAgBnub,EAAOC,QAAU,CACpC,iBACC,IAAIqc,EAAWxS,KAAKwS,SACpB,OAAOA,GAAYA,EAAS,IAAM,MAEnC,gBACC,IAAIA,EAAWxS,KAAKwS,SACpB,OAAOA,GAAYA,EAASA,EAAS1V,OAAS,IAAM,MAErD,eACC,OAAOsob,EAAUplb,KAAKiR,OAASm0a,EAAU1qa,UAIvC2qa,EAAU,CACb5/Y,QAAS,OACT1xB,WAAY,WACZ4R,WAAY,SACZmmB,gBAAiB,OACjBzM,YAAa,OACbiG,UAAW,QAGR8/Y,EAAY,CACf1qa,QAAS,EACTzG,KAAM,EACNyuB,MAAO,EACP+D,QAAS,GAGVtpC,OAAO23B,KAAKuwZ,GAAStwZ,SAAQ,SAAS13B,GACrC,IAAIiob,EAAYD,EAAQhob,GACxBF,OAAOC,eAAeinb,EAAehnb,EAAK,CACzCiF,IAAK,WACJ,OAAOtC,KAAKslb,IAAc,MAE3B94a,IAAK,SAASkX,GAEb,OADA1jB,KAAKslb,GAAa5ha,EACXA,S,gBCxCV,IAAIsvT,EAAW98U,EAAOC,QAEtB,CACCC,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,MACP2+B,SAAQ,SAAS0uQ,GAClBtmS,OAAO23B,KAAK2uQ,GAAK1uQ,SAAQ,SAAS13B,GACjC21U,EAAS31U,GAAOomS,EAAIpmS,GAAKwF,KAAKmwU,U,gBCRhC,IAAI7B,EAAc/6U,EAAQ,KACtBw5P,EAAWx5P,EAAQ,KAMnBmvb,EAAenvb,EAAQ,KAC3Bmvb,EAAaC,aAAa59Y,UAAY,KACtC29Y,EAAaE,eAAe79Y,UAAY,KAExC,IAAI89Y,EAAoB,CACtB99Y,UAAW,KACXl1B,OAAO,EACPouS,QAAQ,EACR6kI,KAAK,EACLhmE,QAAQ,EACRimE,SAAS,EACTC,UAAU,EACVC,WAAW,EACXC,UAAU,GAwCZ,IAAIC,EAAY,CACdp+Y,UAAW,KACX0mD,MAAM,EACN39E,MAAM,EACNqna,UAAU,EACVjuS,IAAI,EACJzvD,KAAK,EACL1iE,SAAS,EACTqnH,OAAO,EACPg5S,OAAO,EACPjwO,IAAI,EACJlnL,KAAK,EACL2hG,OAAO,EACPy1T,SAAS,EACTC,QAAQ,EACR33Y,MAAM,EACN0zI,MAAM,EACNxkH,OAAO,EACPpnC,QAAQ,EACR8vZ,OAAO,EACPC,KAAK,GAGHvla,EAAU5c,EAAOC,QAAU,SAAS2uB,EAAKzhB,GACtC5C,MAAMC,QAAQokB,IAASA,EAAI+tT,UAAS/tT,EAAM,CAACA,IAChDzhB,EAAOA,GAAQ,GAIf,IAFA,IAAIu/G,EAAS,GAEJ/lH,EAAI,EAAGA,EAAIioB,EAAIhoB,OAAQD,IAAK,CACnC,IAAI0kF,EAAOz8D,EAAIjoB,GAEG,SAAd0kF,EAAKtwE,KAAiB2xG,GAAU9vG,EAAOyuE,EAAK/uE,SAAUnP,GACjD8tU,EAAYqB,MAAMjxP,GAAOqhC,GAAUqjU,EAAU1kW,EAAMl+E,GACnDk+E,EAAKtwE,OAASkgU,EAAYgB,UACjCvvN,GAAUsjU,EAAgB3kW,GACnBA,EAAKtwE,OAASkgU,EAAY3kS,QAASo2E,GAAUujU,EAAc5kW,GAC3DA,EAAKtwE,OAASkgU,EAAYmB,MAAO1vN,GAAUwjU,EAAY7kW,GAC3DqhC,GAAUgoR,EAAWrpT,EAAMl+E,GAGlC,OAAOu/G,GAGLyjU,EAA+B,CACjC,KACA,KACA,KACA,KACA,QACA,iBACA,gBACA,OACA,SAGF,SAASJ,EAAU1kW,EAAMl+E,GAEF,YAAjBA,EAAKstY,UAEPpvT,EAAKn/E,KAAOmjb,EAAaC,aAAajkW,EAAKn/E,OAASm/E,EAAKn/E,KAGvDm/E,EAAK3uE,QACLyza,EAA6Bh8a,QAAQk3E,EAAK3uE,OAAOxQ,OAAS,IAE1DiB,EAAOlG,OAAOu6B,OAAO,GAAIr0B,EAAM,CAAEstY,SAAS,OAEzCttY,EAAKstY,SAAW,CAAC,MAAO,QAAQtmY,QAAQk3E,EAAKn/E,OAAS,IACzDiB,EAAOlG,OAAOu6B,OAAO,GAAIr0B,EAAM,CAAEstY,QAAS,aAG5C,IAAI1mQ,EAAM,IAAM1oD,EAAKn/E,KACjB4jX,EA3GN,SAAqB3zW,EAAYhP,GAC/B,GAAKgP,EAAL,CAEA,IACI3S,EADAkjH,EAAS,GAIb,IAAK,IAAIvlH,KAAOgV,EACd3S,EAAQ2S,EAAWhV,GACfulH,IACFA,GAAU,KAGS,YAAjBv/G,EAAKstY,UAEPtzY,EAAMkob,EAAaE,eAAepob,IAAQA,GAE5CulH,GAAUvlH,GACK,OAAVqC,GAA4B,KAAVA,GAAiB2D,EAAKstY,WAC3C/tR,GACE,MACCv/G,EAAKutY,eACFhhJ,EAAS02L,UAAU5mb,GACnBA,EAAM+H,QAAQ,MAAO,WACzB,KAIN,OAAOm7G,GA+EO2jU,CAAYhlW,EAAKykS,QAAS3iX,GAmBxC,OAjBI2iX,IACF/7O,GAAO,IAAM+7O,IAGX3iX,EAAKstY,SAAapvT,EAAK/uE,UAAqC,IAAzB+uE,EAAK/uE,SAAS1V,QAGnDmtI,GAAO,IACH1oD,EAAK/uE,WACPy3H,GAAOn3H,EAAOyuE,EAAK/uE,SAAUnP,IAG1B2ib,EAAUzkW,EAAKn/E,QAASiB,EAAKstY,UAChC1mQ,GAAO,KAAO1oD,EAAKn/E,KAAO,MAR5B6nI,GAAO,KAYFA,EAGT,SAASi8S,EAAgB3kW,GACvB,MAAO,IAAMA,EAAKvwE,KAAO,IAG3B,SAAS45X,EAAWrpT,EAAMl+E,GACxB,IAAI2N,EAAOuwE,EAAKvwE,MAAQ,GAUxB,OANE3N,EAAKutY,gBACHrvT,EAAK3uE,QAAU2uE,EAAK3uE,OAAOxQ,QAAQsjb,IAErC10a,EAAO4+O,EAAS02L,UAAUt1a,IAGrBA,EAGT,SAASo1a,EAAY7kW,GACnB,MAAO,YAAcA,EAAK/uE,SAAS,GAAGxB,KAAO,MAG/C,SAASm1a,EAAc5kW,GACrB,MAAO,UAASA,EAAKvwE,KAAO,W,6BCpL9B,IAAIw1a,EAAmBxmb,MAAQA,KAAKwmb,iBAAoB,SAAU13S,GAC9D,OAAQA,GAAOA,EAAInsI,WAAcmsI,EAAM,CAAE,QAAWA,IAExD3xI,OAAOC,eAAejH,EAAS,aAAc,CAAEuJ,OAAO,IACtDvJ,EAAQswb,WAAatwb,EAAQuwb,iBAAmBvwb,EAAQwwb,eAAY,EACpE,IAAIC,EAAkBJ,EAAgBpwb,EAAQ,MAC1Cywb,EAAgBL,EAAgBpwb,EAAQ,MACxC0wb,EAAaN,EAAgBpwb,EAAQ,MACrC2wb,EAAqBP,EAAgBpwb,EAAQ,MAC7C4wb,EAAiB,4CAGrB,SAASC,EAAiBx/Z,GACtB,IAAIhgB,EAAUy/a,EAAYz/Z,GAC1B,OAAO,SAAUi8F,GAAO,OAAO/rF,OAAO+rF,GAAKj8G,QAAQu/a,EAAgBv/a,IAJvEtR,EAAQwwb,UAAYM,EAAiBH,EAAWtzZ,SAChDr9B,EAAQuwb,iBAAmBO,EAAiBL,EAAgBpzZ,SAK5D,IAAI2zZ,EAAS,SAAUx6a,EAAGzC,GAAK,OAAQyC,EAAIzC,EAAI,GAAK,GAuBpD,SAASg9a,EAAYz/Z,GACjB,OAAO,SAAiBi8F,GACpB,GAAsB,MAAlBA,EAAI56F,OAAO,GAAY,CACvB,IAAIs+Z,EAAa1jU,EAAI56F,OAAO,GAC5B,MAAmB,MAAfs+Z,GAAqC,MAAfA,EACfL,EAAmBvzZ,QAAQtV,SAASwlG,EAAI7hG,OAAO,GAAI,KAEvDkla,EAAmBvzZ,QAAQtV,SAASwlG,EAAI7hG,OAAO,GAAI,KAG9D,OAAO4F,EAAIi8F,EAAI1xE,MAAM,GAAI,KAAO0xE,GAhCxCvtH,EAAQswb,WAAc,WAGlB,IAFA,IAAIY,EAASlqb,OAAO23B,KAAK+xZ,EAAcrzZ,SAASwvB,KAAKmkY,GACjDryZ,EAAO33B,OAAO23B,KAAK8xZ,EAAgBpzZ,SAASwvB,KAAKmkY,GAC5Ctqb,EAAI,EAAGuc,EAAI,EAAGvc,EAAIi4B,EAAKh4B,OAAQD,IAChCwqb,EAAOjua,KAAO0b,EAAKj4B,IACnBi4B,EAAKj4B,IAAM,KACXuc,KAGA0b,EAAKj4B,IAAM,IAGnB,IAAIk1B,EAAK,IAAI6I,OAAO,OAAS9F,EAAKzoB,KAAK,KAAO,gCAAiC,KAC3E5E,EAAUy/a,EAAYN,EAAgBpzZ,SAC1C,SAAS8zZ,EAAS5jU,GAGd,MAFuB,MAAnBA,EAAI7hG,QAAQ,KACZ6hG,GAAO,KACJj8G,EAAQi8G,GAGnB,OAAO,SAAUA,GAAO,OAAO/rF,OAAO+rF,GAAKj8G,QAAQsqB,EAAIu1Z,IApBrC,I,4mvCCjBtB,IAAId,EAAmBxmb,MAAQA,KAAKwmb,iBAAoB,SAAU13S,GAC9D,OAAQA,GAAOA,EAAInsI,WAAcmsI,EAAM,CAAE,QAAWA,IAExD3xI,OAAOC,eAAejH,EAAS,aAAc,CAAEuJ,OAAO,IACtDvJ,EAAQoxb,WAAapxb,EAAQ4/T,OAAS5/T,EAAQqxb,mBAAqBrxb,EAAQsxb,WAAatxb,EAAQmwb,eAAY,EAC5G,IACIoB,EAAaC,EADAnB,EAAgBpwb,EAAQ,MACCo9B,SACtCo0Z,EAAcC,EAAmBH,GAQrCvxb,EAAQmwb,UAAYwB,EAAgBJ,GACpC,IAiFoBK,EAASh2Z,EAhFzBi2Z,EAAcL,EADInB,EAAgBpwb,EAAQ,MACEo9B,SAC5Cy0Z,EAAeJ,EAAmBG,GAoBtC,SAASL,EAAc3nZ,GACnB,OAAO7iC,OAAO23B,KAAKkL,GACdgjB,OACA+rB,QAAO,SAAUg5W,EAAS3lb,GAE3B,OADA2lb,EAAQ/nZ,EAAI59B,IAAS,IAAMA,EAAO,IAC3B2lb,IACR,IAEP,SAASF,EAAmBE,GAGxB,IAFA,IAAIG,EAAS,GACTC,EAAW,GACN5lY,EAAK,EAAG05G,EAAK9+J,OAAO23B,KAAKizZ,GAAUxlY,EAAK05G,EAAGn/J,OAAQylD,IAAM,CAC9D,IAAI3gC,EAAIq6I,EAAG15G,GACM,IAAb3gC,EAAE9kB,OAEForb,EAAOphb,KAAK,KAAO8a,GAInBuma,EAASrhb,KAAK8a,GAItBsma,EAAOllY,OACP,IAAK,IAAIlrC,EAAQ,EAAGA,EAAQowa,EAAOprb,OAAS,EAAGgb,IAAS,CAGpD,IADA,IAAIw7B,EAAMx7B,EACHw7B,EAAM40Y,EAAOprb,OAAS,GACzBorb,EAAO50Y,GAAKjI,WAAW,GAAK,IAAM68Y,EAAO50Y,EAAM,GAAGjI,WAAW,IAC7DiI,GAAO,EAEX,IAAIlC,EAAQ,EAAIkC,EAAMx7B,EAElBs5B,EAAQ,GAEZ82Y,EAAOxoZ,OAAO5nB,EAAOs5B,EAAO82Y,EAAOpwa,GAAS,IAAMowa,EAAO50Y,IAG7D,OADA60Y,EAASttZ,QAAQ,IAAMqtZ,EAAO77a,KAAK,IAAM,KAClC,IAAIuuB,OAAOutZ,EAAS97a,KAAK,KAAM,KA/C1ClW,EAAQsxb,YAoEYM,EApEYC,EAoEHj2Z,EApEgBk2Z,EAqElC,SAAUj3a,GACb,OAAOA,EACFvJ,QAAQsqB,GAAI,SAAU3vB,GAAQ,OAAO2lb,EAAQ3lb,MAC7CqF,QAAQ2gb,EAAYC,KAhEjClyb,EAAQqxb,mBAAqBM,EAAgBE,GA0C7C,IAAII,EAAa,0IACbE,EAE4B,MAAhC3wZ,OAAOl6B,UAAU8qb,YAET,SAAU7kU,GAAO,OAAOA,EAAI6kU,YAAY,IAExC,SAAUrmb,GACN,OAAoC,MAA5BA,EAAEmpC,WAAW,GAAK,OACtBnpC,EAAEmpC,WAAW,GACb,MACA,OAEhB,SAASg9Y,EAAmBnmb,GACxB,MAAO,OAASA,EAAEpF,OAAS,EAAIwrb,EAAapmb,GAAKA,EAAEmpC,WAAW,IACzDj/B,SAAS,IACTq5E,cAAgB,IASzB,IAAI+iW,EAAgB,IAAI5tZ,OAAOgtZ,EAAYt/Z,OAAS,IAAM8/Z,EAAW9/Z,OAAQ,KA0B7E,SAASw/Z,EAAgB9nZ,GACrB,OAAO,SAAUhvB,GACb,OAAOA,EAAKvJ,QAAQ+gb,GAAe,SAAUtmb,GAAK,OAAO89B,EAAI99B,IAAMmmb,EAAmBnmb,OAf9F/L,EAAQ4/T,OAHR,SAAgB/kT,GACZ,OAAOA,EAAKvJ,QAAQ+gb,EAAeH,IAcvClyb,EAAQoxb,WAHR,SAAoBv2a,GAChB,OAAOA,EAAKvJ,QAAQmgb,EAAaS,K,gBChIrCnyb,EAAOC,QAAUsyb,EAEjB,IAAIz3G,EAAS56U,EAAQ,KACjBsyb,EAAiBtyb,EAAQ,KAAmBuyb,SAC5CC,EAAgBxyb,EAAQ,KAAkBwyb,cAC1Cn0M,EAASr+O,EAAQ,KAAUq+O,OAE/B,SAASg0M,EAAO9P,EAAKp6Y,GACjB,IAAIy8U,EAAUh7W,KAAKilY,QAAU,IAAIj0D,EAAO2nG,EAAKp6Y,GACzCsqZ,EAAW7ob,KAAK8ob,SAAW,IAAIF,EAEnCF,EAAe1mb,KAAKhC,KAAM,CAAE+ob,eAAe,IAE3C/ob,KAAK0/I,KAAK,UAAU,WAChBs7N,EAAO1nU,IAAIu1Y,EAAQv1Y,UAI3Bl9C,EAAQ,IAARA,CAAoBqyb,EAAQC,GAE5BD,EAAOhrb,UAAU8kP,OAAS,SAASykH,EAAO1nK,EAAUvS,GAC5Ci6K,aAAiBvyH,IAAQuyH,EAAQhnW,KAAK8ob,SAASjxP,MAAMmvK,IACzDhnW,KAAKilY,QAAQptM,MAAMmvK,GACnBj6K,M,gBCpBJ,IAAIokJ,EAAc/6U,EAAQ,KACtBw5P,EAAWx5P,EAAQ,KAEnBsvb,EAAoB,CACtB99Y,UAAW,KACXl1B,OAAO,EACPouS,QAAQ,EACR6kI,KAAK,EACLhmE,QAAQ,EACRimE,SAAS,EACTC,UAAU,EACVC,WAAW,EACXC,UAAU,GA+BZ,IAAIC,EAAY,CACdp+Y,UAAW,KACX0mD,MAAM,EACN39E,MAAM,EACNqna,UAAU,EACVjuS,IAAI,EACJzvD,KAAK,EACL1iE,SAAS,EACTqnH,OAAO,EACPg5S,OAAO,EACPjwO,IAAI,EACJlnL,KAAK,EACL2hG,OAAO,EACPy1T,SAAS,EACTC,QAAQ,EACR33Y,MAAM,EACN0zI,MAAM,EACNxkH,OAAO,EACPpnC,QAAQ,EACR8vZ,OAAO,EACPC,KAAK,GAIHvla,EAAS5c,EAAOC,QAAU,SAAS2uB,EAAKzhB,GACrC5C,MAAMC,QAAQokB,IAASA,EAAI+tT,UAAS/tT,EAAM,CAACA,IAChDzhB,EAAOA,GAAQ,GAIf,IAFA,IAAIu/G,EAAS,GAEL/lH,EAAI,EAAGA,EAAIioB,EAAIhoB,OAAQD,IAAI,CACjC,IAAI0kF,EAAOz8D,EAAIjoB,GAEG,SAAd0kF,EAAKtwE,KACP2xG,GAAU9vG,EAAOyuE,EAAK/uE,SAAUnP,GACzB8tU,EAAYqB,MAAMjxP,GACzBqhC,GAAUqjU,EAAU1kW,EAAMl+E,GACnBk+E,EAAKtwE,OAASkgU,EAAYgB,UACjCvvN,GAAUsjU,EAAgB3kW,GACnBA,EAAKtwE,OAASkgU,EAAY3kS,QACjCo2E,GAAUujU,EAAc5kW,GACjBA,EAAKtwE,OAASkgU,EAAYmB,MACjC1vN,GAAUwjU,EAAY7kW,GAEtBqhC,GAAUgoR,EAAWrpT,EAAMl+E,GAG/B,OAAOu/G,GAGT,SAASqjU,EAAU1kW,EAAMl+E,GAEL,QAAdk+E,EAAKn/E,OAAgBiB,EAAO,CAACutY,eAAgBvtY,EAAKutY,eAAgBD,SAAS,IAE/E,IAAI1mQ,EAAM,IAAM1oD,EAAKn/E,KACjB4jX,EAhFN,SAAqB3zW,EAAYhP,GAC/B,GAAKgP,EAAL,CAEA,IACI3S,EADAkjH,EAAS,GAIb,IAAK,IAAIvlH,KAAOgV,EAEVuwG,IACFA,GAAU,KAGZA,GAAUvlH,GACK,QANfqC,EAAQ2S,EAAWhV,KAMc,KAAVqC,GAAiB2D,EAAKstY,WACzC/tR,GAAU,MAAQv/G,EAAKutY,eAAiBhhJ,EAAS02L,UAAU5mb,GAASA,GAAS,KAInF,OAAOkjH,GA6DO2jU,CAAYhlW,EAAKykS,QAAS3iX,GAsBxC,OApBI2iX,IACF/7O,GAAO,IAAM+7O,IAIb3iX,EAAKstY,SACApvT,EAAK/uE,UAAqC,IAAzB+uE,EAAK/uE,SAAS1V,QAIpCmtI,GAAO,IACH1oD,EAAK/uE,WACPy3H,GAAOn3H,EAAOyuE,EAAK/uE,SAAUnP,IAG1B2ib,EAAUzkW,EAAKn/E,QAASiB,EAAKstY,UAChC1mQ,GAAO,KAAO1oD,EAAKn/E,KAAO,MAR5B6nI,GAAO,KAYFA,EAGT,SAASi8S,EAAgB3kW,GACvB,MAAO,IAAMA,EAAKvwE,KAAO,IAG3B,SAAS45X,EAAWrpT,EAAMl+E,GACxB,IAAI2N,EAAOuwE,EAAKvwE,MAAQ,GAOxB,OAJI3N,EAAKutY,gBAAoBrvT,EAAK3uE,QAAU2uE,EAAK3uE,OAAOxQ,QAAQsjb,IAC9D10a,EAAO4+O,EAAS02L,UAAUt1a,IAGrBA,EAGT,SAASo1a,EAAY7kW,GACnB,MAAO,YAAcA,EAAK/uE,SAAS,GAAGxB,KAAO,MAG/C,SAASm1a,EAAc5kW,GACrB,MAAO,UAASA,EAAKvwE,KAAO,W,6lvCCxI9B,IAQI+qV,EAAW,mBAYf,SAAS37V,EAAMqvD,EAAM2+G,EAAS1qH,GAC5B,OAAQA,EAAK5mD,QACX,KAAK,EAAG,OAAO2yD,EAAKztD,KAAKosK,GACzB,KAAK,EAAG,OAAO3+G,EAAKztD,KAAKosK,EAAS1qH,EAAK,IACvC,KAAK,EAAG,OAAO+L,EAAKztD,KAAKosK,EAAS1qH,EAAK,GAAIA,EAAK,IAChD,KAAK,EAAG,OAAO+L,EAAKztD,KAAKosK,EAAS1qH,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE3D,OAAO+L,EAAKrvD,MAAMguK,EAAS1qH,GAuB7B,IAAIu4S,EAAc9+V,OAAOM,UAGrBuF,EAAiBi5V,EAAYj5V,eAO7Bk7S,EAAiB+9C,EAAY7vV,SAG7BqrB,EAAuBwkU,EAAYxkU,qBAGnC86W,EAAYprY,KAAK+K,IAUrB,SAASwoV,EAAch7V,EAAOy8V,GAG5B,IAAIt8V,EAAUa,EAAQhB,IAgRxB,SAAqBA,GAEnB,OAmFF,SAA2BA,GACzB,OAgHF,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,EAjHlBwnT,CAAaxnT,IAAUk7V,EAAYl7V,GApFnC08V,CAAkB18V,IAAUsD,EAAehB,KAAKtC,EAAO,aAC1D+3B,EAAqBz1B,KAAKtC,EAAO,WA/VzB,sBA+VsCw+S,EAAel8S,KAAKtC,IAnRtC28V,CAAY38V,GAxC9C,SAAmBmB,EAAG+sU,GAIpB,IAHA,IAAIzsS,GAAS,EACTthC,EAASY,MAAMI,KAEVsgC,EAAQtgC,GACfhB,EAAOshC,GAASysS,EAASzsS,GAE3B,OAAOthC,EAkCHy8V,CAAU58V,EAAM5C,OAAQ66B,QACxB,GAEA76B,EAAS+C,EAAO/C,OAChBy/V,IAAgBz/V,EAEpB,IAAK,IAAIO,KAAOqC,GACTy8V,IAAan5V,EAAehB,KAAKtC,EAAOrC,IACvCk/V,IAAuB,UAAPl/V,GAAmBk+V,EAAQl+V,EAAKP,KACpD+C,EAAOiH,KAAKzJ,GAGhB,OAAOwC,EAaT,SAASsuK,EAAYrrK,EAAQzF,EAAKqC,GAChC,IAAIspb,EAAWlmb,EAAOzF,GAChB2F,EAAehB,KAAKc,EAAQzF,IAAQglJ,EAAG2mS,EAAUtpb,UACxCkgC,IAAVlgC,GAAyBrC,KAAOyF,KACnCA,EAAOzF,GAAOqC,GAWlB,SAASupb,EAAWnmb,GAClB,IAAKq6I,EAASr6I,GACZ,OAqKJ,SAAsBA,GACpB,IAAIjD,EAAS,GACb,GAAc,MAAViD,EACF,IAAK,IAAIzF,KAAOF,OAAO2F,GACrBjD,EAAOiH,KAAKzJ,GAGhB,OAAOwC,EA5KEqpb,CAAapmb,GAEtB,IAAIqmb,EAmJN,SAAqBzpb,GACnB,IAAI0hJ,EAAO1hJ,GAASA,EAAMD,YACtBs9V,EAAwB,mBAAR37M,GAAsBA,EAAK3jJ,WAAcw+V,EAE7D,OAAOv8V,IAAUq9V,EAvJHC,CAAYl6V,GACtBjD,EAAS,GAEb,IAAK,IAAIxC,KAAOyF,GACD,eAAPzF,IAAyB8rb,GAAYnmb,EAAehB,KAAKc,EAAQzF,KACrEwC,EAAOiH,KAAKzJ,GAGhB,OAAOwC,EAqGT,SAAS07V,EAAQ77V,EAAO5C,GAEtB,SADAA,EAAmB,MAAVA,EA1OY,iBA0OwBA,KAE1B,iBAAT4C,GAAqBq8V,EAASx5T,KAAK7iC,KAC1CA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQ5C,EA4F7C,SAASulJ,EAAG3iJ,EAAOq9C,GACjB,OAAOr9C,IAAUq9C,GAAUr9C,IAAUA,GAASq9C,IAAUA,EAkD1D,IAAIr8C,EAAUD,MAAMC,QA2BpB,SAASk6V,EAAYl7V,GACnB,OAAgB,MAATA,GAkFT,SAAkBA,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GA5eb,iBAwZGqxU,CAASrxU,EAAM5C,UAiDzC,SAAoB4C,GAGlB,IAAIuqI,EAAMkT,EAASz9I,GAASw+S,EAAel8S,KAAKtC,GAAS,GACzD,MAzcY,qBAycLuqI,GAxcI,8BAwccA,EArD0BljD,CAAWrnF,GAgHhE,SAASy9I,EAASz9I,GAChB,IAAIuR,SAAcvR,EAClB,QAASA,IAAkB,UAARuR,GAA4B,YAARA,GA8DzC,IAAIm4a,EAjYJ,SAAwBC,GACtB,OAzDgB55X,EAyDA,SAAS3sD,EAAQulB,GAC/B,IAAI8Y,GAAS,EACTrkC,EAASurB,EAAQvrB,OACjBmzY,EAAanzY,EAAS,EAAIurB,EAAQvrB,EAAS,QAAK8iC,EAChD62V,EAAQ35X,EAAS,EAAIurB,EAAQ,QAAKuX,EAWtC,IATAqwW,EAAco5C,EAASvsb,OAAS,GAA0B,mBAAdmzY,GACvCnzY,IAAUmzY,QACXrwW,EAEA62V,GAwCR,SAAwB/2X,EAAOyhC,EAAOr+B,GACpC,IAAKq6I,EAASr6I,GACZ,OAAO,EAET,IAAImO,SAAckwB,EAClB,SAAY,UAARlwB,EACK2pV,EAAY93V,IAAWy4V,EAAQp6T,EAAOr+B,EAAOhG,QACrC,UAARmU,GAAoBkwB,KAASr+B,IAE7Bu/I,EAAGv/I,EAAOq+B,GAAQzhC,GAjDZ2tU,CAAehlT,EAAQ,GAAIA,EAAQ,GAAIouW,KAClDwZ,EAAanzY,EAAS,OAAI8iC,EAAYqwW,EACtCnzY,EAAS,GAEXgG,EAAS3F,OAAO2F,KACPq+B,EAAQrkC,GAAQ,CACvB,IAAIwrB,EAASD,EAAQ8Y,GACjB7Y,GACF+ga,EAASvmb,EAAQwlB,EAAQ6Y,EAAO8uW,GAGpC,OAAOntY,GA7ETgV,EAAQy6X,OAAoB3yW,IAAV9nB,EAAuB23C,EAAK3yD,OAAS,EAAKgb,EAAO,GAC5D,WAML,IALA,IAAI4rC,EAAOvjD,UACPghC,GAAS,EACTrkC,EAASy1Y,EAAU7uV,EAAK5mD,OAASgb,EAAO,GACxCirC,EAAQtiD,MAAM3D,KAETqkC,EAAQrkC,GACfimD,EAAM5hB,GAASuiB,EAAK5rC,EAAQqpB,GAE9BA,GAAS,EAET,IADA,IAAIq0W,EAAY/0Y,MAAMqX,EAAQ,KACrBqpB,EAAQrpB,GACf09X,EAAUr0W,GAASuiB,EAAKviB,GAG1B,OADAq0W,EAAU19X,GAASirC,EACZ3iD,EAAMqvD,EAAMzvD,KAAMw1Y,IAjB7B,IAAkB/lV,EAAM33C,EAybTwxa,EAAe,SAASxmb,EAAQwlB,IA1Z/C,SAAoBA,EAAQ1rB,EAAOkG,EAAQmtY,GACzCntY,IAAWA,EAAS,IAKpB,IAHA,IAAIq+B,GAAS,EACTrkC,EAASF,EAAME,SAEVqkC,EAAQrkC,GAAQ,CACvB,IAAIO,EAAMT,EAAMukC,GAEZr3B,EAAWmmY,EACXA,EAAWntY,EAAOzF,GAAMirB,EAAOjrB,GAAMA,EAAKyF,EAAQwlB,QAClDsX,EAEJuuI,EAAYrrK,EAAQzF,OAAkBuiC,IAAb91B,EAAyBwe,EAAOjrB,GAAOyM,IA8YlEy/a,CAAWjha,EA0Bb,SAAgBxlB,GACd,OAAO83V,EAAY93V,GAAU43V,EAAc53V,GAAQ,GAAQmmb,EAAWnmb,GA3BnD0mb,CAAOlha,GAASxlB,MA8BrC5M,EAAOC,QAAUizb,G,cCvmBjB,IAQIrtF,EAAW,mBAYf,SAAS37V,EAAMqvD,EAAM2+G,EAAS1qH,GAC5B,OAAQA,EAAK5mD,QACX,KAAK,EAAG,OAAO2yD,EAAKztD,KAAKosK,GACzB,KAAK,EAAG,OAAO3+G,EAAKztD,KAAKosK,EAAS1qH,EAAK,IACvC,KAAK,EAAG,OAAO+L,EAAKztD,KAAKosK,EAAS1qH,EAAK,GAAIA,EAAK,IAChD,KAAK,EAAG,OAAO+L,EAAKztD,KAAKosK,EAAS1qH,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE3D,OAAO+L,EAAKrvD,MAAMguK,EAAS1qH,GAuB7B,IAAIu4S,EAAc9+V,OAAOM,UAGrBuF,EAAiBi5V,EAAYj5V,eAO7Bk7S,EAAiB+9C,EAAY7vV,SAG7BqrB,EAAuBwkU,EAAYxkU,qBAGnC86W,EAAYprY,KAAK+K,IAUrB,SAASwoV,EAAch7V,EAAOy8V,GAG5B,IAAIt8V,EAAUa,EAAQhB,IAkSxB,SAAqBA,GAEnB,OAmFF,SAA2BA,GACzB,OAgHF,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,EAjHlBwnT,CAAaxnT,IAAUk7V,EAAYl7V,GApFnC08V,CAAkB18V,IAAUsD,EAAehB,KAAKtC,EAAO,aAC1D+3B,EAAqBz1B,KAAKtC,EAAO,WAjXzB,sBAiXsCw+S,EAAel8S,KAAKtC,IArStC28V,CAAY38V,GAxC9C,SAAmBmB,EAAG+sU,GAIpB,IAHA,IAAIzsS,GAAS,EACTthC,EAASY,MAAMI,KAEVsgC,EAAQtgC,GACfhB,EAAOshC,GAASysS,EAASzsS,GAE3B,OAAOthC,EAkCHy8V,CAAU58V,EAAM5C,OAAQ66B,QACxB,GAEA76B,EAAS+C,EAAO/C,OAChBy/V,IAAgBz/V,EAEpB,IAAK,IAAIO,KAAOqC,GACTy8V,IAAan5V,EAAehB,KAAKtC,EAAOrC,IACvCk/V,IAAuB,UAAPl/V,GAAmBk+V,EAAQl+V,EAAKP,KACpD+C,EAAOiH,KAAKzJ,GAGhB,OAAOwC,EAaT,SAAS4pb,EAAiBT,EAAUxU,EAAUn3a,EAAKyF,GACjD,YAAiB88B,IAAbopZ,GACC3mS,EAAG2mS,EAAU/sF,EAAY5+V,MAAU2F,EAAehB,KAAKc,EAAQzF,GAC3Dm3a,EAEFwU,EAaT,SAAS76Q,EAAYrrK,EAAQzF,EAAKqC,GAChC,IAAIspb,EAAWlmb,EAAOzF,GAChB2F,EAAehB,KAAKc,EAAQzF,IAAQglJ,EAAG2mS,EAAUtpb,UACxCkgC,IAAVlgC,GAAyBrC,KAAOyF,KACnCA,EAAOzF,GAAOqC,GAWlB,SAASupb,EAAWnmb,GAClB,IAAKq6I,EAASr6I,GACZ,OAqKJ,SAAsBA,GACpB,IAAIjD,EAAS,GACb,GAAc,MAAViD,EACF,IAAK,IAAIzF,KAAOF,OAAO2F,GACrBjD,EAAOiH,KAAKzJ,GAGhB,OAAOwC,EA5KEqpb,CAAapmb,GAEtB,IAAIqmb,EAmJN,SAAqBzpb,GACnB,IAAI0hJ,EAAO1hJ,GAASA,EAAMD,YACtBs9V,EAAwB,mBAAR37M,GAAsBA,EAAK3jJ,WAAcw+V,EAE7D,OAAOv8V,IAAUq9V,EAvJHC,CAAYl6V,GACtBjD,EAAS,GAEb,IAAK,IAAIxC,KAAOyF,GACD,eAAPzF,IAAyB8rb,GAAYnmb,EAAehB,KAAKc,EAAQzF,KACrEwC,EAAOiH,KAAKzJ,GAGhB,OAAOwC,EAWT,SAASutU,EAAS39Q,EAAM33C,GAEtB,OADAA,EAAQy6X,OAAoB3yW,IAAV9nB,EAAuB23C,EAAK3yD,OAAS,EAAKgb,EAAO,GAC5D,WAML,IALA,IAAI4rC,EAAOvjD,UACPghC,GAAS,EACTrkC,EAASy1Y,EAAU7uV,EAAK5mD,OAASgb,EAAO,GACxCirC,EAAQtiD,MAAM3D,KAETqkC,EAAQrkC,GACfimD,EAAM5hB,GAASuiB,EAAK5rC,EAAQqpB,GAE9BA,GAAS,EAET,IADA,IAAIq0W,EAAY/0Y,MAAMqX,EAAQ,KACrBqpB,EAAQrpB,GACf09X,EAAUr0W,GAASuiB,EAAKviB,GAG1B,OADAq0W,EAAU19X,GAASirC,EACZ3iD,EAAMqvD,EAAMzvD,KAAMw1Y,IAyE7B,SAASj6C,EAAQ77V,EAAO5C,GAEtB,SADAA,EAAmB,MAAVA,EA5PY,iBA4PwBA,KAE1B,iBAAT4C,GAAqBq8V,EAASx5T,KAAK7iC,KAC1CA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQ5C,EA4F7C,SAASulJ,EAAG3iJ,EAAOq9C,GACjB,OAAOr9C,IAAUq9C,GAAUr9C,IAAUA,GAASq9C,IAAUA,EAkD1D,IAAIr8C,EAAUD,MAAMC,QA2BpB,SAASk6V,EAAYl7V,GACnB,OAAgB,MAATA,GAkFT,SAAkBA,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GA9fb,iBA0aGqxU,CAASrxU,EAAM5C,UAiDzC,SAAoB4C,GAGlB,IAAIuqI,EAAMkT,EAASz9I,GAASw+S,EAAel8S,KAAKtC,GAAS,GACzD,MA3dY,qBA2dLuqI,GA1dI,8BA0dcA,EArD0BljD,CAAWrnF,GAgHhE,SAASy9I,EAASz9I,GAChB,IAAIuR,SAAcvR,EAClB,QAASA,IAAkB,UAARuR,GAA4B,YAARA,GA4DzC,IA/XwBo4a,EA+XpBK,GA/XoBL,EA+XU,SAASvmb,EAAQwlB,EAAQqha,EAAU15C,IAxZrE,SAAoB3nX,EAAQ1rB,EAAOkG,EAAQmtY,GACzCntY,IAAWA,EAAS,IAKpB,IAHA,IAAIq+B,GAAS,EACTrkC,EAASF,EAAME,SAEVqkC,EAAQrkC,GAAQ,CACvB,IAAIO,EAAMT,EAAMukC,GAEZr3B,EAAWmmY,EACXA,EAAWntY,EAAOzF,GAAMirB,EAAOjrB,GAAMA,EAAKyF,EAAQwlB,QAClDsX,EAEJuuI,EAAYrrK,EAAQzF,OAAkBuiC,IAAb91B,EAAyBwe,EAAOjrB,GAAOyM,IA4YlEy/a,CAAWjha,EAoDb,SAAgBxlB,GACd,OAAO83V,EAAY93V,GAAU43V,EAAc53V,GAAQ,GAAQmmb,EAAWnmb,GArDnD0mb,CAAOlha,GAASxlB,EAAQmtY,IA/XpC7iE,GAAS,SAAStqU,EAAQulB,GAC/B,IAAI8Y,GAAS,EACTrkC,EAASurB,EAAQvrB,OACjBmzY,EAAanzY,EAAS,EAAIurB,EAAQvrB,EAAS,QAAK8iC,EAChD62V,EAAQ35X,EAAS,EAAIurB,EAAQ,QAAKuX,EAWtC,IATAqwW,EAAco5C,EAASvsb,OAAS,GAA0B,mBAAdmzY,GACvCnzY,IAAUmzY,QACXrwW,EAEA62V,GAwCR,SAAwB/2X,EAAOyhC,EAAOr+B,GACpC,IAAKq6I,EAASr6I,GACZ,OAAO,EAET,IAAImO,SAAckwB,EAClB,SAAY,UAARlwB,EACK2pV,EAAY93V,IAAWy4V,EAAQp6T,EAAOr+B,EAAOhG,QACrC,UAARmU,GAAoBkwB,KAASr+B,IAE7Bu/I,EAAGv/I,EAAOq+B,GAAQzhC,GAjDZ2tU,CAAehlT,EAAQ,GAAIA,EAAQ,GAAIouW,KAClDwZ,EAAanzY,EAAS,OAAI8iC,EAAYqwW,EACtCnzY,EAAS,GAEXgG,EAAS3F,OAAO2F,KACPq+B,EAAQrkC,GAAQ,CACvB,IAAIwrB,EAASD,EAAQ8Y,GACjB7Y,GACF+ga,EAASvmb,EAAQwlB,EAAQ6Y,EAAO8uW,GAGpC,OAAOntY,MAkYPw8E,EAAW8tP,GAAS,SAAS1pR,GAE/B,OADAA,EAAK58C,UAAK84B,EAAW6pZ,GACdrpb,EAAMspb,OAAc9pZ,EAAW8jB,MA8BxCxtD,EAAOC,QAAUmpF,G,6BCzpBjBppF,EAAOC,QAAUyzb,EAEjB,IAAIC,EAAgBzzb,EAAQ,KACxB48U,EAAgB58U,EAAQ,KACxB0zb,EAAgB92G,EAAS82G,QACzBC,EAAgB/2G,EAAS+2G,QACzBt4X,EAAgBuhR,EAASvhR,YACzBu4X,EAAgBh3G,EAASg3G,cACzB92G,EAAgB98U,EAAQ,KAAY88U,UACpCikE,EAAgB/gZ,EAAQ,KACxB6zb,EAAgB9yC,EAAQ8yC,cACxBC,EAAgB/yC,EAAQ+yC,aAE5B,SAASC,EAAgBC,GACxB,OAAO,SAAgB3sT,EAAOn8C,EAAO/iD,GAIpC,MAH0B,oBAAVk/F,IAAsBA,EAAQwsT,EAAcxsT,EAAOl/F,EAAS+iD,IAEvEA,EADK7gF,MAAMC,QAAQ4gF,GACX0oW,EAAc1oW,GADa7vB,EAAY6vB,GAE7C8oW,EAAW3sT,EAAOn8C,IAI3B,IAAI+oW,EAAYF,GAAgB,SAAmB1sT,EAAOn8C,GACzD,OAAQm8C,IAAUy1M,GAAc5xP,GAA0B,IAAjBA,EAAMxkF,OAAqBitb,EAAQtsT,EAAOn8C,GAApB,MAG5DgpW,EAAYH,GAAgB,SAAmB1sT,EAAOn8C,GACzD,OAAQm8C,IAAUy1M,GAAc5xP,GAA0B,IAAjBA,EAAMxkF,OAAuBgtb,EAAQrsT,EAAOn8C,GAAtB,QAUhE,SAASsoW,EAAUnsT,EAAOn8C,EAAO/iD,GAChC,OAAO8rZ,EAAU5sT,EAAOn8C,EAAO/iD,GAGhCqrZ,EAAUzyC,QAAUA,EACpByyC,EAAUr0Z,QAAUs0Z,EAAQt0Z,QAC5Bq0Z,EAAUjzC,QAAUkzC,EAAQlzC,QAE5BizC,EAAUS,UAAYA,EACtBT,EAAUU,UAAYA,EAEtBV,EAAUtlb,GAlBV,SAAYi9E,EAAMk8C,EAAOl/F,GACxB,OAAyB,oBAAVk/F,EAAuBA,EAAQ05Q,EAAQ15Q,EAAOl/F,IAAUgjD,IAoBxEqoW,EAAUtlZ,MAAQ6yW,EAClByyC,EAAUW,QAAUF,EAGpBT,EAAUY,eAAiBP,EAC3BL,EAAUa,cAAgBP,G,gBC1D1B,IAAIl3G,EAAY58U,EAAQ,KACpB6/Y,EAAYjjE,EAASijE,UACrBC,EAAoBljE,EAASkjE,kBAC7BhjE,EAAY98U,EAAQ,KAAY88U,UAGhCw3G,EAAU,2BAMVC,EAAiB,CACpB/iZ,UAAW,KACX24B,OAAQ,SAASh/D,EAAMyP,GACtB,IAAI5O,EAAQ4O,EAAK5O,KACb1C,EAAQsR,EAAKtR,MAEjB,OAAGsR,EAAK45a,YACPlrb,EAAQA,EAAMmZ,cAEP,SAAkB0oE,GACxB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgBA,EAAKrsB,gBAAkBnZ,GAAS6B,EAAKggF,KAIvD,SAAgBA,GACtB,OAAO20T,EAAkB30T,EAAMn/E,KAAU1C,GAAS6B,EAAKggF,KAGzDspW,OAAQ,SAAStpb,EAAMyP,GACtB,IAAI5O,EAAQ4O,EAAK5O,KACb1C,EAAQsR,EAAKtR,MACbslC,EAAMtlC,EAAM5C,OAEhB,OAAGkU,EAAK45a,YACPlrb,EAAQA,EAAMmZ,cAEP,SAAkB0oE,GACxB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,IACJA,EAAKpoC,SAAWkoC,GAA4B,MAArBE,EAAKpc,OAAOkc,KACpCE,EAAKrjB,OAAO,EAAGmjB,GAAKnsB,gBAAkBnZ,GACtC6B,EAAKggF,KAIF,SAAgBA,GACtB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GACLA,EAAKrjB,OAAO,EAAGmjB,KAAStlC,IACvBwlC,EAAKpoC,SAAWkoC,GAA4B,MAArBE,EAAKpc,OAAOkc,KACpCzjC,EAAKggF,KAGT7mE,QAAS,SAASnZ,EAAMyP,GACvB,IAAI5O,EAAO4O,EAAK5O,KACZ1C,EAAQsR,EAAKtR,MAEjB,GAAG,KAAK6iC,KAAK7iC,GACZ,OAAOwzU,EAKR,IAAIz4T,EAAU,aAFd/a,EAAQA,EAAM+H,QAAQijb,EAAS,SAEK,YAChC7lP,EAAQ7zL,EAAK45a,WAAa,IAAM,GAChCtja,EAAQ,IAAIsT,OAAOngB,EAASoqL,GAEhC,OAAO,SAAiBtjH,GACvB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgB5d,EAAMib,KAAK2C,IAAS3jC,EAAKggF,KAGlDsmJ,OAAQ,SAAStmO,EAAMyP,GACtB,IAAI5O,EAAO4O,EAAK5O,KAChB,OAAO,SAAgBm/E,GACtB,OAAO00T,EAAU10T,EAAMn/E,IAASb,EAAKggF,KAGvCzpE,MAAO,SAASvW,EAAMyP,GACrB,IAAI5O,EAAQ4O,EAAK5O,KACb1C,EAAQsR,EAAKtR,MACbslC,EAAMtlC,EAAM5C,OAEhB,OAAW,IAARkoC,EACKkuS,EAGLliU,EAAK45a,YACPlrb,EAAQA,EAAMmZ,cAEP,SAAiB0oE,GACvB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgBA,EAAKrjB,OAAO,EAAGmjB,GAAKnsB,gBAAkBnZ,GAAS6B,EAAKggF,KAItE,SAAeA,GACrB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgBA,EAAKrjB,OAAO,EAAGmjB,KAAStlC,GAAS6B,EAAKggF,KAG/DjuC,IAAK,SAAS/xC,EAAMyP,GACnB,IAAI5O,EAAQ4O,EAAK5O,KACb1C,EAAQsR,EAAKtR,MACbslC,GAAStlC,EAAM5C,OAEnB,OAAW,IAARkoC,EACKkuS,EAGLliU,EAAK45a,YACPlrb,EAAQA,EAAMmZ,cAEP,SAAe0oE,GACrB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgBA,EAAKrjB,OAAOmjB,GAAKnsB,gBAAkBnZ,GAAS6B,EAAKggF,KAInE,SAAaA,GACnB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgBA,EAAKrjB,OAAOmjB,KAAStlC,GAAS6B,EAAKggF,KAG5D0oC,IAAK,SAAS1oH,EAAMyP,GACnB,IAAI5O,EAAQ4O,EAAK5O,KACb1C,EAAQsR,EAAKtR,MAEjB,GAAa,KAAVA,EACF,OAAOwzU,EAGR,GAAGliU,EAAK45a,WAAW,CAClB,IAAItja,EAAQ,IAAIsT,OAAOl7B,EAAM+H,QAAQijb,EAAS,QAAS,KAEvD,OAAO,SAAenpW,GACrB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgB5d,EAAMib,KAAK2C,IAAS3jC,EAAKggF,IAIlD,OAAO,SAAaA,GACnB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgBA,EAAK76B,QAAQ3K,IAAU,GAAK6B,EAAKggF,KAG1D2kU,IAAK,SAAS3kZ,EAAMyP,GACnB,IAAI5O,EAAQ4O,EAAK5O,KACb1C,EAAQsR,EAAKtR,MAEjB,MAAa,KAAVA,EACK,SAAkB6hF,GACxB,QAAS20T,EAAkB30T,EAAMn/E,IAASb,EAAKggF,IAEvCvwE,EAAK45a,YACdlrb,EAAQA,EAAMmZ,cAEP,SAAe0oE,GACrB,IAAIr8C,EAAOgxW,EAAkB30T,EAAMn/E,GACnC,OAAe,MAAR8iC,GAAgBA,EAAKrsB,gBAAkBnZ,GAAS6B,EAAKggF,KAIvD,SAAaA,GACnB,OAAO20T,EAAkB30T,EAAMn/E,KAAU1C,GAAS6B,EAAKggF,MAK1DrrF,EAAOC,QAAU,CAChBghZ,QAAS,SAAS51Y,EAAMyP,EAAMutB,GAC7B,GAAGA,GAAWA,EAAQmsH,SACrB15I,EAAK45a,YAA8B,QAAhB55a,EAAKg0D,QACtB,MAAMkkS,YAAY,kCACrB,OAAOyhF,EAAe35a,EAAKg0D,QAAQzjE,EAAMyP,IAE1CqtT,MAAOssH,I,0KChLIv0b,EAAQ,IAARA,CAAmB,OAErBF,EAAOC,QAQjB,SAAamrB,GACX,IAGI4kB,EADAsnI,EAAS,GAETzzF,EAAS,EACTr5D,GAAU,EACVo5V,EAAQ,EACR3iW,EAAO,EACP4tD,EAAQ,kBACRjoC,EAAQ,CAACioC,GACTztC,EAAQ,GACR5f,EAAS,GAGToza,EAAU,CACZ,QACA,YACA,CAAE1ob,KAAM,oBAAqB6O,KAAM,YAAa00B,OAAQ,YACxD,CAAEvjC,KAAM,iBAAkB6O,KAAM,YAAa00B,OAAQ,SACrD,CAAEvjC,KAAM,gBAAiB6O,KAAM,YAAa00B,OAAQ,QACpD,CAAEvjC,KAAM,eAAgB6O,KAAM,YAAa00B,OAAQ,OACnD,YACA,CAAEvjC,KAAM,SAAU2iE,MAAO,mBACzB,CAAE3iE,KAAM,UAAW2iE,MAAO,mBAC1B,WACA,WACA,CAAE3iE,KAAM,YAAa2iE,MAAO,mBAC5B,WACA,CAAE3iE,KAAM,gBAAiB6O,KAAM,WAAY00B,OAAQ,SACnD,QAsBF,SAASm6Q,EAAS3+Q,GAChB,OAAOA,EAAQrE,EAAMA,EAAMhgC,OAAS,EAAIqkC,GAAS4jC,EAUnD,SAASgmX,EAAarnU,GACpB,IAAI5rG,EAAQ4I,EAAS,EACrB,OAAQgjG,IAAQpiG,EAAI0wB,MAAMl6B,EAAOA,EAAQ4rG,EAAI5mH,QAU/C,SAASwwE,EAAKo2C,GACZ,IAAIvwE,EAAM7xB,EAAI0wB,MAAMtxB,GAAQrW,QAAQq5G,GAEpC,OAAOvwE,EAAM,GAAIA,EASnB,SAAS63Y,EAAW9kZ,GAClB,OAAOA,IAAO+kZ,EAAK,GAUrB,SAASA,EAAKh2a,GACZ,OAAOqM,EAAIZ,GAAUzL,GAAU,IAQjC,SAASi2a,IACP,IAAIlua,EAAU8f,EAAM91B,MAGpB,OAFA+9D,EAAQjoC,EAAMA,EAAMhgC,OAAS,GAEtBkgB,EAST,SAAS2tJ,EAAUqhJ,GAIjB,OAHAjnP,EAAQinP,EACRlvR,EAAMh2B,KAAKi+D,GAEJjoC,EAAMhgC,OASf,SAASguK,EAAakhJ,GACpB,IAAIm/H,EAAgBpmX,EAGpB,OAFAjoC,EAAMA,EAAMhgC,OAAS,GAAKioE,EAAQinP,EAE3Bm/H,EAST,SAAS3sJ,EAAK39R,GACZ,GAAgB,IAAXA,GAAK,GACW,MAAfygB,EAAIZ,IACNvJ,IACA4iE,EAAS,GAETA,IAEFr5D,QACK,CACL,IAAI0qa,EAAU9pa,EAAI0wB,MAAMtxB,EAAQA,EAAS7f,GAAG0L,MAAM,MAC9C6+a,EAAQtub,OAAS,IACnBqa,GAAQi0a,EAAQtub,OAAS,EACzBi9E,EAAS,GAEXA,GAAUqxW,EAAQA,EAAQtub,OAAS,GAAGA,OACtC4jB,GAAkB7f,GAOtB,SAASwqb,IACP/zZ,EAAMgc,IAAM,CACVn8B,KAAMA,EACNmjE,IAAKP,GAKPriE,EAAO5Q,KAAKwwB,GAEZk2I,EAAS,GACTl2I,EAAQ,GAQV,SAASg0Z,EAAgBr6a,GACvBqmB,EAAQ,CACNrmB,KAAMA,EACN6G,MAAO,CACLX,KAAMA,EACNmjE,IAAMP,IAoBZ,KA5KEykN,IA4KKt4P,EA3KE5kB,EAAIZ,IAgLX,OAAQwlB,GAER,IAAK,IACH,OAAQ45Q,KACR,IAAK,WACL,IAAK,QACL,IAAK,cACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,gBACL,IAAK,gBACHtyI,GAAUtnI,EAGZ,MAGF,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,OAAQ45Q,KACR,IAAK,QACL,IAAK,cACL,IAAK,WACL,IAAK,UACL,IAAK,gBACL,IAAK,gBACL,IAAK,WACHtyI,GAAUtnI,EACV,MAEF,IAAK,WAEC,OAASA,IACX5O,EAAM53B,MAAQ8tK,EAAOhmK,OACrB6jb,IACAH,KASJ,MAEF,IAAK,IACH,OAAQprI,KACR,IAAK,OACHxoR,EAAMl1B,KAAOorK,EAAOhmK,OACpBgmK,EAAS,GAET1C,EAAa,gBACb,MAEF,IAAK,kBACH0C,GAAUtnI,EAEVolZ,EAAgB,YAChB3gR,EAAU,YACV,MAEF,IAAK,eACHG,EAAa,SACb0C,GAAUtnI,EACV,MAEF,QACEsnI,GAAUtnI,EAGZ,MAEF,IAAK,IACH,OAAQ45Q,KACR,IAAK,OACL,IAAK,eACL,IAAK,QAGCtyI,EAAOhmK,OAAO1K,OAAS,IACzBw6B,EAAM53B,MAAQ8tK,EAAOhmK,OACrB6jb,KAEFvgR,EAAa,eACb,MAEF,IAAK,cAEH0C,GAAUtnI,EACV,MAEF,IAAK,WAEH5O,EAAM53B,MAAQ8tK,EAAOhmK,OACrB6jb,IACAH,IACA,MAEF,IAAK,cAEH,MAEF,QACE19Q,GAAUtnI,EAGZ,MAEF,IAAK,IACH,OAAQ45Q,KACR,IAAK,WAEH,GAAiB,OAAbmrI,GAAM,GAAa,CACnBz9Q,GAAUtnI,EACV,MAIJ5O,EAAMrjB,KAAOu5J,EAAOhmK,OACpB6jb,IACAvgR,EAAa,eACbgvM,GAAgB,EAChB,MAEF,IAAK,WAKH,OAHAxiV,EAAMl1B,KAAOorK,EAAOhmK,OAGZ8vB,EAAMrmB,MACd,IAAK,YACL,IAAK,WACL,IAAK,OACH05J,EAAU,eACV,MAEF,QACEA,EAAU,mBAGZ0gR,IACAvxE,GAAgB,EAChB,MAEF,IAAK,OACL,IAAK,UAEHxiV,EAAMl1B,KAAOorK,EAAOhmK,OACpB6jb,IACA1gR,EAAU,eACVmvM,GAAgB,EAChB,MAEF,IAAK,UACL,IAAK,gBACL,IAAK,gBAEHtsM,GAAUtnI,EACV,MACF,IAAK,eACH4kI,EAAa,SACb0C,GAAUtnI,EAIZ,MAEF,IAAK,IACH,OAAQ45Q,KACR,IAAK,cACL,IAAK,OACL,IAAK,eACL,IAAK,QAECtyI,IACFl2I,EAAM53B,MAAQ8tK,EAAOhmK,QAInB8vB,EAAMl1B,MAAQk1B,EAAM53B,OACtB2rb,IAIFC,EAAgB,OAChBD,IACAH,IAII,aAAeprI,MACjBwrI,EAAgB,gBAChBD,IACAH,KAGEpxE,EAAQ,IACVA,GAAgB,GAGlB,MAEF,IAAK,WACL,IAAK,kBACL,IAAK,WAEH,GAAiB,OAAbmxE,GAAM,GAAa,CACnBz9Q,GAAUtnI,EACV,MAGA4zU,EAAQ,GAEN,aAAeh6D,EAAS,KAC1BwrI,EAAgB,gBAChBD,KAIAvxE,EAAQ,GACVoxE,IAGEpxE,EAAQ,IACVA,GAAgB,GAElB,MAEF,IAAK,gBACL,IAAK,gBACL,IAAK,UAEHtsM,GAAUtnI,EAIZ,MAGF,IAAK,IACL,IAAK,IACH,OAAQ45Q,KACR,IAAK,gBACC,MAAQ55Q,GAAM,OAAS+kZ,GAAM,IAC/BC,IAEF,MAEF,IAAK,gBACC,MAAQhlZ,GAAM,OAAS+kZ,GAAM,IAC/BC,IAEF,MAEF,IAAK,kBACHpgR,EAAa,YACbH,EAAU,MAAQzkI,EAAK,gBAAkB,iBACzC,MAEF,IAAK,eACH4kI,EAAa,SACbH,EAAU,MAAQzkI,EAAK,gBAAkB,iBACzC,MAEF,IAAK,UAEH,MAEF,QACM,OAAS+kZ,GAAM,IACjBtgR,EAAU,MAAQzkI,EAAK,gBAAkB,iBAI7CsnI,GAAUtnI,EACV,MAGF,IAAK,IACH,OAAQ45Q,KACR,IAAK,UACL,IAAK,gBACL,IAAK,gBAEHtyI,GAAUtnI,EACV,MAEF,IAAK,eACL,IAAK,WACL,IAAK,OACL,IAAK,QACH,GAAI8kZ,EAAW,KAAM,CAGnB,IAAI73Y,EAAMm6B,EAAK,MAEXn6B,GACFqrP,EAAKrrP,EAAM,OAGK,gBAAd2sQ,KAA8Bh1I,EAAa,SAC/C0C,GAAUtnI,EAEZ,MAEF,QACM8kZ,EAAW,MAEbM,EAAgB,WAChB3gR,EAAU,WACV6zH,KAGAhxH,GAAUtnI,EAId,MAGF,IAAK,IACH,OAAQ45Q,KACR,IAAK,UACCkrI,EAAW,MAEb1zZ,EAAMrjB,KAAOu5J,EACbgxH,IACA6sJ,IACAH,KAGA19Q,GAAUtnI,EAEZ,MAEF,IAAK,kBACHsnI,GAAUtnI,EACVolZ,EAAgB,YAChB3gR,EAAU,YACV,MAEF,IAAK,eACHG,EAAa,SACb0C,GAAUtnI,EACV,MAEF,QACEsnI,GAAUtnI,EAEZ,MAGF,IAAK,IACH,OAAQ45Q,KACR,IAAK,UACL,IAAK,gBACL,IAAK,gBACHtyI,GAAUtnI,EACV,MACF,IAAK,eACH4kI,EAAa,SACb0C,GAAUtnI,EACV,MAEF,QAME,IAJA,IACI9jC,EACAq8T,EAFA8sH,GAAY,EAIPnya,EAAI,EAAG4rB,EAAM8lZ,EAAQhub,QAASyub,GAAanya,EAAI4rB,IAAO5rB,EAIxD2xa,EAFL3ob,GADAq8T,EAAOqsH,EAAQ1xa,IACHhX,MAAQq8T,KAIpB8sH,GAAY,EAEZD,EAAgBlpb,GAChBuoK,EAAU8zJ,EAAK15P,OAAS,YACxBy5N,EAAKp8R,EAAKtF,QAEN2hU,EAAK94R,SACPrO,EAAMqO,OAAS84R,EAAK94R,QAGlB84R,EAAKxtT,OACPqmB,EAAMrmB,KAAOwtT,EAAKxtT,OAIjBs6a,IAEH/9Q,GAAUtnI,GAId,MAIF,IAAK,IACH,OAAQ45Q,KACR,IAAK,QACHn1I,EAAU,eACV,MACF,IAAK,eACHG,EAAa,SAIf0C,GAAUtnI,EACV,MAEF,IAAK,IACH,OAAQ45Q,KACR,IAAK,cACHorI,IACA,MACF,IAAK,eACHpgR,EAAa,SAIf0C,GAAUtnI,EACV,MAEF,QACE,OAAQ45Q,KACR,IAAK,kBACHwrI,EAAgB,YAChB3gR,EAAU,YACV,MAEF,IAAK,cACH2gR,EAAgB,YAChBxgR,EAAa,QACb,MAEF,IAAK,eACHA,EAAa,SACb,MAEF,IAAK,kBACHA,EAAa,YAIf0C,GAAUtnI,EAOd,OAAOxuB,I,65MC9qBT,IAAa,EAAb,kDACE,oDACQ,CACJ,KAAM,OACN,UAAW,CAAC,SAJlB,6FAQE,uGACS,CAAE,GAAI,KAAM,qBAAqB,IAD1C,2CARF,2D,MAA6B,I,gBCJ7B,UASE4vI,EAAO,CAAE,aAAH,6BAMN,SAAUjjJ,GAEZA,EAAE4xC,GAAK5xC,EAAE4xC,IAAM,GAED5xC,EAAE4xC,GAAGrH,QAAU,SAA7B,IAuB0BkS,EAHtB0qY,EAAa,EACbC,EAAchrb,MAAMhD,UAAUu0C,MAElC3tC,EAAEg9E,WAAwBvgC,EAiBrBz8C,EAAEg9E,UAhBC,SAAUC,GAChB,IAAI76D,EAAQ86D,EAAM1kF,EAClB,IAAMA,EAAI,EAA4B,OAAvB0kF,EAAOD,EAAOzkF,IAAeA,IAC3C,KAGC4pB,EAASpiB,EAAEu9G,MAAOrgC,EAAM,YACT96D,EAAOwZ,QACrB57B,EAAGk9E,GAAOC,eAAgB,UAI1B,MAAQzgF,IAEX+/C,EAAMwgC,KAIRj9E,EAAE88E,OAAS,SAAU/+E,EAAMuO,EAAMlT,GAChC,IAAIiub,EAAqBjsb,EAAaksb,EAIlCC,EAAmB,GAEnBr+Y,EAAYnrC,EAAKmK,MAAO,KAAO,GAE/Bs/a,EAAWt+Y,EAAY,KAD3BnrC,EAAOA,EAAKmK,MAAO,KAAO,IAuH1B,OApHM9O,IACLA,EAAYkT,EACZA,EAAOtM,EAAEi8G,QAGLj8G,EAAE3D,QAASjD,KACfA,EAAY4G,EAAE+wC,OAAOh1C,MAAO,KAAM,CAAE,IAAKooB,OAAQ/qB,KAIlD4G,EAAE+8Y,KAAM,KAAOyqC,EAAShza,eAAkB,SAAU0oE,GACnD,QAASl9E,EAAE2M,KAAMuwE,EAAMsqW,IAGxBxnb,EAAGkpC,GAAclpC,EAAGkpC,IAAe,GACnCm+Y,EAAsBrnb,EAAGkpC,GAAanrC,GACtC3C,EAAc4E,EAAGkpC,GAAanrC,GAAS,SAAUm8B,EAAS7jB,GAGzD,IAAM1a,KAAK8rb,cACV,OAAO,IAAIrsb,EAAa8+B,EAAS7jB,GAK7Bva,UAAUrD,QACdkD,KAAK8rb,cAAevtZ,EAAS7jB,IAK/BrW,EAAE+wC,OAAQ31C,EAAaisb,EAAqB,CAC3C98Y,QAASnxC,EAAUmxC,QAInB+3I,OAAQtiL,EAAE+wC,OAAQ,GAAI33C,GAItBsub,mBAAoB,MAGrBJ,EAAgB,IAAIh7a,GAKN4tB,QAAUl6B,EAAE88E,OAAO/rC,OAAQ,GAAIu2Y,EAAcptZ,SAC3Dl6B,EAAEwvB,KAAMp2B,GAAW,SAAU+H,EAAM9F,GAC5B2E,EAAE0iF,WAAYrnF,GAIpBksb,EAAkBpmb,GAAW,WAC5B,SAASyhD,IACR,OAAOt2C,EAAKlT,UAAW+H,GAAOpF,MAAOJ,KAAMG,WAG5C,SAAS6rb,EAAatoY,GACrB,OAAO/yC,EAAKlT,UAAW+H,GAAOpF,MAAOJ,KAAM0jD,GAG5C,OAAO,WACN,IAEID,EAFAwoY,EAAUjsb,KAAKinD,OACfilY,EAAelsb,KAAKgsb,YAWxB,OARAhsb,KAAKinD,OAASA,EACdjnD,KAAKgsb,YAAcA,EAEnBvoY,EAAc/jD,EAAMU,MAAOJ,KAAMG,WAEjCH,KAAKinD,OAASglY,EACdjsb,KAAKgsb,YAAcE,EAEZzoY,GAtBoB,GAH5BmoY,EAAkBpmb,GAAS9F,KA6B7BD,EAAYhC,UAAY4G,EAAE88E,OAAO/rC,OAAQu2Y,EAAe,CAKvDQ,kBAAmBT,GAAwBC,EAAcQ,mBAA8B/pb,GACrFwpb,EAAkB,CACpBnsb,YAAaA,EACb8tC,UAAWA,EACX6+Y,WAAYhqb,EACZiqb,eAAgBR,IAOZH,GACJrnb,EAAEwvB,KAAM63Z,EAAoBK,oBAAoB,SAAUlvb,EAAG2W,GAC5D,IAAI84a,EAAiB94a,EAAM/V,UAI3B4G,EAAE88E,OAAQmrW,EAAe/+Y,UAAY,IAAM++Y,EAAeF,WAAY3sb,EACrE+T,EAAMmzK,kBAKD+kQ,EAAoBK,oBAE3Bp7a,EAAKo7a,mBAAmBjlb,KAAMrH,GAG/B4E,EAAE88E,OAAOy7E,OAAQx6J,EAAM3C,GAEhBA,GAGR4E,EAAE88E,OAAO/rC,OAAS,SAAUz4C,GAO3B,IANA,IAGIU,EACAqC,EAJA+iH,EAAQgpU,EAAYzpb,KAAM7B,UAAW,GACrCosb,EAAa,EACbC,EAAc/pU,EAAM3lH,OAIhByvb,EAAaC,EAAaD,IACjC,IAAMlvb,KAAOolH,EAAO8pU,GACnB7sb,EAAQ+iH,EAAO8pU,GAAclvb,GACxBolH,EAAO8pU,GAAavpb,eAAgB3F,SAAmBuiC,IAAVlgC,IAG5C2E,EAAEmrD,cAAe9vD,GACrB/C,EAAQU,GAAQgH,EAAEmrD,cAAe7yD,EAAQU,IACxCgH,EAAE88E,OAAO/rC,OAAQ,GAAIz4C,EAAQU,GAAOqC,GAGpC2E,EAAE88E,OAAO/rC,OAAQ,GAAI11C,GAItB/C,EAAQU,GAAQqC,GAKpB,OAAO/C,GAGR0H,EAAE88E,OAAOy7E,OAAS,SAAUx6J,EAAMU,GACjC,IAAI+ob,EAAW/ob,EAAOrF,UAAU4ub,gBAAkBjqb,EAClDiC,EAAEi5B,GAAIl7B,GAAS,SAAUm8B,GACxB,IAAIkuZ,EAAkC,kBAAZluZ,EACtBmlB,EAAO+nY,EAAYzpb,KAAM7B,UAAW,GACpCsjD,EAAczjD,KA2DlB,OAzDKysb,EAIEzsb,KAAKlD,QAAsB,aAAZyhC,EAGpBv+B,KAAK6zB,MAAM,WACV,IAAI64Z,EACAnwb,EAAW8H,EAAE2M,KAAMhR,KAAM6rb,GAE7B,MAAiB,aAAZttZ,GACJklB,EAAclnD,GACP,GAGFA,EAMA8H,EAAE0iF,WAAYxqF,EAAUgiC,KAAuC,MAAxBA,EAAQzV,OAAQ,IAK7D4ja,EAAcnwb,EAAUgiC,GAAUn+B,MAAO7D,EAAUmnD,MAE9BnnD,QAA4BqjC,IAAhB8sZ,GAChCjpY,EAAcipY,GAAeA,EAAYjxC,OACxCh4V,EAAYi4V,UAAWgxC,EAAYpqb,OACnCoqb,GACM,QAJR,EANQrob,EAAE8uB,MAAO,mBAAqBoL,EAAU,SAAWn8B,EACzD,oBAPMiC,EAAE8uB,MAAO,0BAA4B/wB,EAA5B,uDAEgBm8B,EAAU,QAd5CklB,OAAc7jB,GAmCV8jB,EAAK5mD,SACTyhC,EAAUl6B,EAAE88E,OAAO/rC,OAAOh1C,MAAO,KAAM,CAAEm+B,GAAU/V,OAAQk7B,KAG5D1jD,KAAK6zB,MAAM,WACV,IAAIt3B,EAAW8H,EAAE2M,KAAMhR,KAAM6rb,GACxBtvb,GACJA,EAAS0/T,OAAQ19R,GAAW,IACvBhiC,EAASowb,OACbpwb,EAASowb,SAGVtob,EAAE2M,KAAMhR,KAAM6rb,EAAU,IAAI/ob,EAAQy7B,EAASv+B,WAKzCyjD,IAITp/C,EAAEi8G,OAAS,aACXj8G,EAAEi8G,OAAOyrU,mBAAqB,GAE9B1nb,EAAEi8G,OAAO7iH,UAAY,CACpB2ub,WAAY,SACZD,kBAAmB,GACnBS,eAAgB,QAEhBruZ,QAAS,CACRm/G,QAAS,GACT90D,UAAU,EAGVppF,OAAQ,MAGTssb,cAAe,SAAUvtZ,EAAS7jB,GACjCA,EAAUrW,EAAGqW,GAAW1a,KAAK4sb,gBAAkB5sb,MAAQ,GACvDA,KAAK0a,QAAUrW,EAAGqW,GAClB1a,KAAK6sb,KAAOrB,IACZxrb,KAAK8sb,eAAiB,IAAM9sb,KAAKosb,WAAapsb,KAAK6sb,KAEnD7sb,KAAK+sb,SAAW1ob,IAChBrE,KAAKgtb,UAAY3ob,IACjBrE,KAAKitb,UAAY5ob,IACjBrE,KAAKktb,qBAAuB,GAEvBxya,IAAY1a,OAChBqE,EAAE2M,KAAM0J,EAAS1a,KAAKqsb,eAAgBrsb,MACtCA,KAAKmtb,KAAK,EAAMntb,KAAK0a,QAAS,CAC7BulB,OAAQ,SAAU3a,GACZA,EAAM3oB,SAAW+d,GACrB1a,KAAK+7C,aAIR/7C,KAAKsD,SAAWe,EAAGqW,EAAQhI,MAG1BgI,EAAQwvB,cAGRxvB,EAAQpX,UAAYoX,GACrB1a,KAAK0B,OAAS2C,EAAGrE,KAAKsD,SAAU,GAAImtS,aAAezwS,KAAKsD,SAAU,GAAI42Z,eAGvEl6Z,KAAKu+B,QAAUl6B,EAAE88E,OAAO/rC,OAAQ,GAC/Bp1C,KAAKu+B,QACLv+B,KAAKotb,oBACL7uZ,GAEDv+B,KAAKqtb,UAEArtb,KAAKu+B,QAAQqqD,UACjB5oF,KAAKstb,mBAAoBttb,KAAKu+B,QAAQqqD,UAGvC5oF,KAAKutb,SAAU,SAAU,KAAMvtb,KAAKwtb,uBACpCxtb,KAAK2sb,SAGNS,kBAAmB,WAClB,MAAO,IAGRI,oBAAqBnpb,EAAE2+E,KAEvBqqW,QAAShpb,EAAE2+E,KAEX2pW,MAAOtob,EAAE2+E,KAETjnC,QAAS,WACR,IAAIzvC,EAAOtM,KAEXA,KAAKytb,WACLppb,EAAEwvB,KAAM7zB,KAAKktb,sBAAsB,SAAU7vb,EAAKqC,GACjD4M,EAAKohb,aAAchub,EAAOrC,MAK3B2C,KAAK0a,QACHkpC,IAAK5jD,KAAK8sb,gBACVjsW,WAAY7gF,KAAKqsb,gBACnBrsb,KAAKmhF,SACHv9B,IAAK5jD,KAAK8sb,gBACVxsW,WAAY,iBAGdtgF,KAAK+sb,SAASnpY,IAAK5jD,KAAK8sb,iBAGzBW,SAAUppb,EAAE2+E,KAEZ7B,OAAQ,WACP,OAAOnhF,KAAK0a,SAGbuhT,OAAQ,SAAU5+T,EAAKqC,GACtB,IACIg/B,EACAivZ,EACA9wb,EAHA0hC,EAAUlhC,EAKd,GAA0B,IAArB8C,UAAUrD,OAGd,OAAOuH,EAAE88E,OAAO/rC,OAAQ,GAAIp1C,KAAKu+B,SAGlC,GAAoB,kBAARlhC,EAMX,GAHAkhC,EAAU,GACVG,EAAQrhC,EAAIkP,MAAO,KACnBlP,EAAMqhC,EAAMk2C,QACPl2C,EAAM5hC,OAAS,CAEnB,IADA6wb,EAAYpvZ,EAASlhC,GAAQgH,EAAE88E,OAAO/rC,OAAQ,GAAIp1C,KAAKu+B,QAASlhC,IAC1DR,EAAI,EAAGA,EAAI6hC,EAAM5hC,OAAS,EAAGD,IAClC8wb,EAAWjvZ,EAAO7hC,IAAQ8wb,EAAWjvZ,EAAO7hC,KAAS,GACrD8wb,EAAYA,EAAWjvZ,EAAO7hC,IAG/B,GADAQ,EAAMqhC,EAAM13B,MACc,IAArB7G,UAAUrD,OACd,YAA4B8iC,IAArB+tZ,EAAWtwb,GAAsB,KAAOswb,EAAWtwb,GAE3Dswb,EAAWtwb,GAAQqC,MACb,CACN,GAA0B,IAArBS,UAAUrD,OACd,YAA+B8iC,IAAxB5/B,KAAKu+B,QAASlhC,GAAsB,KAAO2C,KAAKu+B,QAASlhC,GAEjEkhC,EAASlhC,GAAQqC,EAMnB,OAFAM,KAAK4tb,YAAarvZ,GAEXv+B,MAGR4tb,YAAa,SAAUrvZ,GACtB,IAAIlhC,EAEJ,IAAMA,KAAOkhC,EACZv+B,KAAK6tb,WAAYxwb,EAAKkhC,EAASlhC,IAGhC,OAAO2C,MAGR6tb,WAAY,SAAUxwb,EAAKqC,GAW1B,MAVa,YAARrC,GACJ2C,KAAK8tb,kBAAmBpub,GAGzBM,KAAKu+B,QAASlhC,GAAQqC,EAET,aAARrC,GACJ2C,KAAKstb,mBAAoB5tb,GAGnBM,MAGR8tb,kBAAmB,SAAUpub,GAC5B,IAAIqub,EAAUjsU,EAAUksU,EAExB,IAAMD,KAAYrub,EACjBsub,EAAkBhub,KAAKktb,qBAAsBa,GACxCrub,EAAOqub,KAAe/tb,KAAKu+B,QAAQm/G,QAASqwS,IAC9CC,GACAA,EAAgBlxb,SAQnBglH,EAAWz9G,EAAG2pb,EAAgB1rb,OAC9BtC,KAAK0tb,aAAcM,EAAiBD,GAMpCjsU,EAASxqE,SAAUt3C,KAAK29I,SAAU,CACjCjjI,QAASonG,EACThtF,KAAMi5Z,EACNrwS,QAASh+I,EACT6yC,KAAK,OAKR+6Y,mBAAoB,SAAU5tb,GAC7BM,KAAKiub,aAAcjub,KAAKmhF,SAAUnhF,KAAKqsb,eAAiB,YAAa,OAAQ3sb,GAGxEA,IACJM,KAAK0tb,aAAc1tb,KAAKgtb,UAAW,KAAM,kBACzChtb,KAAK0tb,aAAc1tb,KAAKitb,UAAW,KAAM,oBAI3CiB,OAAQ,WACP,OAAOlub,KAAK4tb,YAAa,CAAEhlW,UAAU,KAGtC++T,QAAS,WACR,OAAO3nZ,KAAK4tb,YAAa,CAAEhlW,UAAU,KAGtC+0D,SAAU,SAAUp/G,GACnB,IAAI4vZ,EAAO,GACP7hb,EAAOtM,KAOX,SAASoub,EAAoB1wS,EAAS2wS,GACrC,IAAIr2a,EAASnb,EACb,IAAMA,EAAI,EAAGA,EAAI6gJ,EAAQ5gJ,OAAQD,IAChCmb,EAAU1L,EAAK4gb,qBAAsBxvS,EAAS7gJ,KAASwH,IAEtD2T,EADIumB,EAAQgU,IACFluC,EAAGA,EAAEu8D,OAAQ5oD,EAAQ1V,MAAMkmB,OAAQ+V,EAAQ7jB,QAAQpY,SAEnD+B,EAAG2T,EAAQkuY,IAAK3nX,EAAQ7jB,SAAUpY,OAE7CgK,EAAK4gb,qBAAsBxvS,EAAS7gJ,IAAQmb,EAC5Cm2a,EAAKrnb,KAAM42I,EAAS7gJ,IACfwxb,GAAe9vZ,EAAQm/G,QAASA,EAAS7gJ,KAC7Csxb,EAAKrnb,KAAMy3B,EAAQm/G,QAASA,EAAS7gJ,KAgBxC,OAjCA0hC,EAAUl6B,EAAE+wC,OAAQ,CACnB16B,QAAS1a,KAAK0a,QACdgjI,QAAS19I,KAAKu+B,QAAQm/G,SAAW,IAC/Bn/G,GAmBHv+B,KAAKmtb,IAAK5uZ,EAAQ7jB,QAAS,CAC1B,OAAU,2BAGN6jB,EAAQzJ,MACZs5Z,EAAoB7vZ,EAAQzJ,KAAKtrB,MAAO,SAAY,IAAI,GAEpD+0B,EAAQknO,OACZ2oL,EAAoB7vZ,EAAQknO,MAAMj8P,MAAO,SAAY,IAG/C2kb,EAAK9hb,KAAM,MAGnBiib,uBAAwB,SAAUhpa,GACjC,IAAIhZ,EAAOtM,KACXqE,EAAEwvB,KAAMvnB,EAAK4gb,sBAAsB,SAAU7vb,EAAKqC,IACN,IAAtC2E,EAAE8+C,QAAS79B,EAAM3oB,OAAQ+C,KAC7B4M,EAAK4gb,qBAAsB7vb,GAAQgH,EAAG3E,EAAMwmZ,IAAK5gY,EAAM3oB,QAAS2F,YAKnEorb,aAAc,SAAUhza,EAASoa,EAAM2wO,GACtC,OAAOzlQ,KAAKiub,aAAcvza,EAASoa,EAAM2wO,GAAO,IAGjD37E,UAAW,SAAUpvK,EAASoa,EAAM2wO,GACnC,OAAOzlQ,KAAKiub,aAAcvza,EAASoa,EAAM2wO,GAAO,IAGjDwoL,aAAc,SAAUvza,EAASoa,EAAM2wO,EAAOlzN,GAC7CA,EAAuB,mBAARA,EAAsBA,EAAMkzN,EAC3C,IAAI7wL,EAA6B,kBAAZl6D,GAAoC,OAAZA,EAC5C6jB,EAAU,CACTknO,MAAO7wL,EAAQ9/C,EAAO2wO,EACtB3wO,KAAM8/C,EAAQl6D,EAAUoa,EACxBpa,QAASk6D,EAAQ50E,KAAK0a,QAAUA,EAChC63B,IAAKA,GAGP,OADAhU,EAAQ7jB,QAAQ0+Y,YAAap5Z,KAAK29I,SAAUp/G,GAAWgU,GAChDvyC,MAGRmtb,IAAK,SAAUoB,EAAuB7za,EAASsjU,GAC9C,IAAIwwG,EACAjyb,EAAWyD,KAGuB,mBAA1Buub,IACXvwG,EAAWtjU,EACXA,EAAU6za,EACVA,GAAwB,GAInBvwG,GAKLtjU,EAAU8za,EAAkBnqb,EAAGqW,GAC/B1a,KAAK+sb,SAAW/sb,KAAK+sb,SAASx6Y,IAAK73B,KALnCsjU,EAAWtjU,EACXA,EAAU1a,KAAK0a,QACf8za,EAAkBxub,KAAKmhF,UAMxB98E,EAAEwvB,KAAMmqT,GAAU,SAAU14T,EAAOm6H,GAClC,SAASgvS,IAKR,GAAMF,IAC4B,IAA9Bhyb,EAASgiC,QAAQqqD,WACnBvkF,EAAGrE,MAAO0jF,SAAU,qBAGtB,OAA4B,kBAAZ+7D,EAAuBljJ,EAAUkjJ,GAAYA,GAC3Dr/I,MAAO7D,EAAU4D,WAII,kBAAZs/I,IACXgvS,EAAa31J,KAAOr5I,EAAQq5I,KAC3Br5I,EAAQq5I,MAAQ21J,EAAa31J,MAAQz0R,EAAEy0R,QAGzC,IAAItvR,EAAQ8b,EAAM9b,MAAO,sBACrB60J,EAAY70J,EAAO,GAAMjN,EAASuwb,eAClChpb,EAAW0F,EAAO,GAEjB1F,EACJ0qb,EAAgBtzY,GAAImjH,EAAWv6J,EAAU2qb,GAEzC/za,EAAQwgC,GAAImjH,EAAWowR,OAK1BC,KAAM,SAAUh0a,EAAS2jJ,GACxBA,GAAcA,GAAa,IAAK9xJ,MAAO,KAAMF,KAAMrM,KAAK8sb,eAAiB,KACxE9sb,KAAK8sb,eACNpya,EAAQkpC,IAAKy6G,GAAYz6G,IAAKy6G,GAG9Br+J,KAAK+sb,SAAW1ob,EAAGrE,KAAK+sb,SAAS7mC,IAAKxrY,GAAUpY,OAChDtC,KAAKitb,UAAY5ob,EAAGrE,KAAKitb,UAAU/mC,IAAKxrY,GAAUpY,OAClDtC,KAAKgtb,UAAY3ob,EAAGrE,KAAKgtb,UAAU9mC,IAAKxrY,GAAUpY,QAGnDmzB,OAAQ,SAAUgqH,EAAS9oH,GAK1B,IAAIp6B,EAAWyD,KACf,OAAO60B,YALP,WACC,OAA4B,kBAAZ4qH,EAAuBljJ,EAAUkjJ,GAAYA,GAC3Dr/I,MAAO7D,EAAU4D,aAGaw2B,GAAS,IAG3Cg4Z,WAAY,SAAUj0a,GACrB1a,KAAKgtb,UAAYhtb,KAAKgtb,UAAUz6Y,IAAK73B,GACrC1a,KAAKmtb,IAAKzya,EAAS,CAClB0pE,WAAY,SAAU9+D,GACrBtlB,KAAK8pL,UAAWzlL,EAAGihB,EAAMk0E,eAAiB,KAAM,mBAEjD9U,WAAY,SAAUp/D,GACrBtlB,KAAK0tb,aAAcrpb,EAAGihB,EAAMk0E,eAAiB,KAAM,sBAKtDo1V,WAAY,SAAUl0a,GACrB1a,KAAKitb,UAAYjtb,KAAKitb,UAAU16Y,IAAK73B,GACrC1a,KAAKmtb,IAAKzya,EAAS,CAClBg/Y,QAAS,SAAUp0Y,GAClBtlB,KAAK8pL,UAAWzlL,EAAGihB,EAAMk0E,eAAiB,KAAM,mBAEjDq1V,SAAU,SAAUvpa,GACnBtlB,KAAK0tb,aAAcrpb,EAAGihB,EAAMk0E,eAAiB,KAAM,sBAKtD+zV,SAAU,SAAUt8a,EAAMqU,EAAOtU,GAChC,IAAIxL,EAAMs7C,EACNvV,EAAWvrC,KAAKu+B,QAASttB,GAc7B,GAZAD,EAAOA,GAAQ,IACfsU,EAAQjhB,EAAE2/E,MAAO1+D,IACXrU,MAASA,IAASjR,KAAKmsb,kBAC5Bl7a,EACAjR,KAAKmsb,kBAAoBl7a,GAAO4H,cAIjCyM,EAAM3oB,OAASqD,KAAK0a,QAAS,GAG7BomC,EAAOx7B,EAAM+1B,cAEZ,IAAM71C,KAAQs7C,EACLt7C,KAAQ8f,IACfA,EAAO9f,GAASs7C,EAAMt7C,IAMzB,OADAxF,KAAK0a,QAAQsnE,QAAS18D,EAAOtU,KACnB3M,EAAE0iF,WAAYx7C,KAC2C,IAAlEA,EAASnrC,MAAOJ,KAAK0a,QAAS,GAAK,CAAE4K,GAAQkD,OAAQxX,KACrDsU,EAAMoqY,wBAITrrZ,EAAEwvB,KAAM,CAAEk+B,KAAM,SAAUH,KAAM,YAAa,SAAUmzD,EAAQ+pU,GAC9Dzqb,EAAEi8G,OAAO7iH,UAAW,IAAMsnH,GAAW,SAAUrqG,EAAS6jB,EAASgN,GAKhE,IAAIwjZ,EAJoB,kBAAZxwZ,IACXA,EAAU,CAAE0jR,OAAQ1jR,IAIrB,IAAIywZ,EAAczwZ,GAEL,IAAZA,GAAuC,kBAAZA,EAC1BuwZ,EACAvwZ,EAAQ0jR,QAAU6sI,EAHnB/pU,EAMuB,kBADxBxmF,EAAUA,GAAW,MAEpBA,EAAU,CAAE/hB,SAAU+hB,IAGvBwwZ,GAAc1qb,EAAEu/E,cAAerlD,GAC/BA,EAAQohD,SAAWp0C,EAEdhN,EAAQ5H,OACZjc,EAAQic,MAAO4H,EAAQ5H,OAGnBo4Z,GAAc1qb,EAAE4pX,SAAW5pX,EAAE4pX,QAAQhsE,OAAQ+sI,GACjDt0a,EAASqqG,GAAUxmF,GACRywZ,IAAejqU,GAAUrqG,EAASs0a,GAC7Ct0a,EAASs0a,GAAczwZ,EAAQ/hB,SAAU+hB,EAAQ3H,OAAQ2U,GAEzD7wB,EAAQ0mT,OAAO,SAAU7/T,GACxB8C,EAAGrE,MAAQ+kH,KACNx5E,GACJA,EAASvpC,KAAM0Y,EAAS,IAEzBnZ,WAMS8C,EAAE88E,OAqBf,WACA,IAAI8tW,EACH/8a,EAAM/K,KAAK+K,IACXy4C,EAAMxjD,KAAKwjD,IACXukY,EAAc,oBACdC,EAAY,oBACZC,EAAU,wBACVC,EAAY,OACZC,EAAW,KACXC,EAAYlrb,EAAEi5B,GAAGqF,SAElB,SAAS6sZ,EAAYxhN,EAASpnO,EAAOC,GACpC,MAAO,CACN0C,WAAYykO,EAAS,KAAUshN,EAAS/sZ,KAAMyrM,EAAS,IAAQpnO,EAAQ,IAAM,GAC7E2C,WAAYykO,EAAS,KAAUshN,EAAS/sZ,KAAMyrM,EAAS,IAAQnnO,EAAS,IAAM,IAIhF,SAAS8wU,EAAUj9T,EAAS3X,GAC3B,OAAOmb,SAAU7Z,EAAEid,IAAK5G,EAAS3X,GAAY,KAAQ,EAGtD,SAAS0sb,EAAeluW,GACvB,IAAI4oJ,EAAM5oJ,EAAM,GAChB,OAAsB,IAAjB4oJ,EAAIt2N,SACD,CACNjN,MAAO26E,EAAK36E,QACZC,OAAQ06E,EAAK16E,SACboO,OAAQ,CAAE8hC,IAAK,EAAGF,KAAM,IAGrBxyC,EAAE+2Y,SAAUjxK,GACT,CACNvjO,MAAO26E,EAAK36E,QACZC,OAAQ06E,EAAK16E,SACboO,OAAQ,CAAE8hC,IAAKwqC,EAAKjiC,YAAazI,KAAM0qC,EAAKliC,eAGzC8qL,EAAIrvL,eACD,CACNl0C,MAAO,EACPC,OAAQ,EACRoO,OAAQ,CAAE8hC,IAAKozL,EAAI9mJ,MAAOxsC,KAAMszL,EAAI/mJ,QAG/B,CACNx8E,MAAO26E,EAAKmB,aACZ77E,OAAQ06E,EAAKkB,cACbxtE,OAAQssE,EAAKtsE,UAIf5Q,EAAEs+B,SAAW,CACZgwH,eAAgB,WACf,QAA8B/yH,IAAzBqvZ,EACJ,OAAOA,EAER,IAAIS,EAAI1vV,EACP94E,EAAM7iB,EAAG,2IAGTsrb,EAAWzoa,EAAI1U,WAAY,GAc5B,OAZAnO,EAAG,QAASmpE,OAAQtmD,GACpBwoa,EAAKC,EAASniS,YACdtmI,EAAI5F,IAAK,WAAY,UAIhBoua,KAFL1vV,EAAK2vV,EAASniS,eAGbxtD,EAAK94E,EAAK,GAAItB,aAGfsB,EAAI+Y,SAEKgvZ,EAAuBS,EAAK1vV,GAEtC4vV,cAAe,SAAUC,GACxB,IAAIp1E,EAAYo1E,EAAOz0C,UAAYy0C,EAAOC,WAAa,GACrDD,EAAOn1a,QAAQ4G,IAAK,cACrBo+D,EAAYmwW,EAAOz0C,UAAYy0C,EAAOC,WAAa,GAClDD,EAAOn1a,QAAQ4G,IAAK,cACrByua,EAA6B,WAAdt1E,GACE,SAAdA,GAAwBo1E,EAAOjpb,MAAQipb,EAAOn1a,QAAS,GAAIg9E,YAG/D,MAAO,CACN9wF,MAH6B,WAAd84E,GACE,SAAdA,GAAwBmwW,EAAOhpb,OAASgpb,EAAOn1a,QAAS,GAAI2iK,aAEzCh5K,EAAEs+B,SAASgwH,iBAAmB,EACpD9rJ,OAAQkpb,EAAe1rb,EAAEs+B,SAASgwH,iBAAmB,IAGvDq9R,cAAe,SAAUt1a,GACxB,IAAIu1a,EAAgB5rb,EAAGqW,GAAWhZ,QACjC05Y,EAAW/2Y,EAAE+2Y,SAAU60C,EAAe,IACtCH,IAAeG,EAAe,IAAuC,IAAhCA,EAAe,GAAIp8a,SAEzD,MAAO,CACN6G,QAASu1a,EACT70C,SAAUA,EACV00C,WAAYA,EACZ76a,OALammY,GAAa00C,EAKkB,CAAEj5Y,KAAM,EAAGE,IAAK,GAAxC1yC,EAAGqW,GAAUzF,SACjCoqC,WAAY4wY,EAAc5wY,aAC1BC,UAAW2wY,EAAc3wY,YACzB14C,MAAOqpb,EAAcvtW,aACrB77E,OAAQopb,EAAcxtW,iBAKzBp+E,EAAEi5B,GAAGqF,SAAW,SAAUpE,GACzB,IAAMA,IAAYA,EAAQgkD,GACzB,OAAOgtW,EAAUnvb,MAAOJ,KAAMG,WAI/Bo+B,EAAUl6B,EAAE+wC,OAAQ,GAAI7W,GAExB,IAAI2xZ,EAAUC,EAAargS,EAAcR,EAAc8gS,EAAc7+R,EACpE50J,EAAS0H,EAAGk6B,EAAQgkD,IACpBstW,EAASxrb,EAAEs+B,SAASqtZ,cAAezxZ,EAAQsxZ,QAC3CQ,EAAahsb,EAAEs+B,SAASitZ,cAAeC,GACvCrtW,GAAcjkD,EAAQikD,WAAa,QAASj2E,MAAO,KACnDyhO,EAAU,GAoEX,OAlEAz8E,EAAak+R,EAAe9yb,GACvBA,EAAQ,GAAIm+C,iBAGhBvc,EAAQ+jD,GAAK,YAEd6tW,EAAc5+R,EAAW3qJ,MACzBkpJ,EAAeyB,EAAW1qJ,OAC1ByoJ,EAAeiC,EAAWt8I,OAG1Bm7a,EAAe/rb,EAAE+wC,OAAQ,GAAIk6G,GAI7BjrJ,EAAEwvB,KAAM,CAAE,KAAM,OAAQ,WACvB,IACCuuJ,EACAJ,EAFG7uI,GAAQ5U,EAASv+B,OAAU,IAAKuM,MAAO,KAIvB,IAAf4mC,EAAIr2C,SACRq2C,EAAM+7Y,EAAY3sZ,KAAM4Q,EAAK,IAC5BA,EAAI3qB,OAAQ,CAAE,WACd2ma,EAAU5sZ,KAAM4Q,EAAK,IACpB,CAAE,UAAW3qB,OAAQ2qB,GACrB,CAAE,SAAU,WAEfA,EAAK,GAAM+7Y,EAAY3sZ,KAAM4Q,EAAK,IAAQA,EAAK,GAAM,SACrDA,EAAK,GAAMg8Y,EAAU5sZ,KAAM4Q,EAAK,IAAQA,EAAK,GAAM,SAGnDivI,EAAmBgtQ,EAAQh9Z,KAAM+gB,EAAK,IACtC6uI,EAAiBotQ,EAAQh9Z,KAAM+gB,EAAK,IACpC66L,EAAShuO,MAAS,CACjBoiL,EAAmBA,EAAkB,GAAM,EAC3CJ,EAAiBA,EAAgB,GAAM,GAIxCzjJ,EAASv+B,MAAS,CACjBqvb,EAAUj9Z,KAAM+gB,EAAK,IAAO,GAC5Bk8Y,EAAUj9Z,KAAM+gB,EAAK,IAAO,OAKJ,IAArBqvC,EAAU1lF,SACd0lF,EAAW,GAAMA,EAAW,IAGJ,UAApBjkD,EAAQ+jD,GAAI,GAChB8tW,EAAav5Y,MAAQs5Y,EACU,WAApB5xZ,EAAQ+jD,GAAI,KACvB8tW,EAAav5Y,MAAQs5Y,EAAc,GAGX,WAApB5xZ,EAAQ+jD,GAAI,GAChB8tW,EAAar5Y,KAAO+4G,EACW,WAApBvxH,EAAQ+jD,GAAI,KACvB8tW,EAAar5Y,KAAO+4G,EAAe,GAGpCogS,EAAWV,EAAYxhN,EAAQ1rJ,GAAI6tW,EAAargS,GAChDsgS,EAAav5Y,MAAQq5Y,EAAU,GAC/BE,EAAar5Y,KAAOm5Y,EAAU,GAEvBlwb,KAAK6zB,MAAM,WACjB,IAAIy8Z,EAAmB7rO,EACtBljI,EAAOl9E,EAAGrE,MACVuwb,EAAYhvW,EAAKmB,aACjB8tW,EAAajvW,EAAKkB,cAClBsrE,EAAa4pL,EAAU33U,KAAM,cAC7BkuJ,EAAYypL,EAAU33U,KAAM,aAC5Bywb,EAAiBF,EAAYxiS,EAAa4pL,EAAU33U,KAAM,eACzDqwb,EAAWzpb,MACZ8pb,EAAkBF,EAAatiS,EAAYypL,EAAU33U,KAAM,gBAC1Dqwb,EAAWxpb,OACZ87B,EAAWt+B,EAAE+wC,OAAQ,GAAIg7Y,GACzBjgS,EAAWq/R,EAAYxhN,EAAQ3rJ,GAAId,EAAKmB,aAAcnB,EAAKkB,eAEnC,UAApBlkD,EAAQ8jD,GAAI,GAChB1/C,EAASkU,MAAQ05Y,EACc,WAApBhyZ,EAAQ8jD,GAAI,KACvB1/C,EAASkU,MAAQ05Y,EAAY,GAGL,WAApBhyZ,EAAQ8jD,GAAI,GAChB1/C,EAASoU,KAAOy5Y,EACe,WAApBjyZ,EAAQ8jD,GAAI,KACvB1/C,EAASoU,KAAOy5Y,EAAa,GAG9B7tZ,EAASkU,MAAQs5G,EAAU,GAC3BxtH,EAASoU,KAAOo5G,EAAU,GAE1BmgS,EAAoB,CACnBviS,WAAYA,EACZG,UAAWA,GAGZ7pJ,EAAEwvB,KAAM,CAAE,OAAQ,QAAS,SAAUh3B,EAAGud,GAClC/V,EAAE4xC,GAAGtT,SAAU6/C,EAAW3lF,KAC9BwH,EAAE4xC,GAAGtT,SAAU6/C,EAAW3lF,IAAOud,GAAOuoB,EAAU,CACjDwtZ,YAAaA,EACbrgS,aAAcA,EACdygS,UAAWA,EACXC,WAAYA,EACZF,kBAAmBA,EACnBG,eAAgBA,EAChBC,gBAAiBA,EACjBz7a,OAAQ,CAAEi7a,EAAU,GAAM//R,EAAU,GAAK+/R,EAAW,GAAM//R,EAAU,IACpE9tE,GAAI9jD,EAAQ8jD,GACZC,GAAI/jD,EAAQ+jD,GACZutW,OAAQA,EACRtuW,KAAMA,OAKJhjD,EAAQkmL,QAGZA,EAAQ,SAAU7nN,GACjB,IAAIi6C,EAAOy4G,EAAaz4G,KAAOlU,EAASkU,KACvCgsC,EAAQhsC,EAAOs5Y,EAAcI,EAC7Bx5Y,EAAMu4G,EAAav4G,IAAMpU,EAASoU,IAClC6rC,EAAS7rC,EAAM+4G,EAAe0gS,EAC9BG,EAAW,CACVh0b,OAAQ,CACP+d,QAAS/d,EACTk6C,KAAMy4G,EAAaz4G,KACnBE,IAAKu4G,EAAav4G,IAClBnwC,MAAOupb,EACPtpb,OAAQipJ,GAETp1I,QAAS,CACRA,QAAS6mE,EACT1qC,KAAMlU,EAASkU,KACfE,IAAKpU,EAASoU,IACdnwC,MAAO2pb,EACP1pb,OAAQ2pb,GAET53W,WAAYiK,EAAQ,EAAI,OAAShsC,EAAO,EAAI,QAAU,SACtDg7C,SAAUjP,EAAS,EAAI,MAAQ7rC,EAAM,EAAI,SAAW,UAEjDo5Y,EAAcI,GAAa5lY,EAAK9T,EAAOgsC,GAAUstW,IACrDQ,EAAS/3W,WAAa,UAElBk3E,EAAe0gS,GAAc7lY,EAAK5T,EAAM6rC,GAAWktE,IACvD6gS,EAAS9+V,SAAW,UAEhB3/E,EAAKy4C,EAAK9T,GAAQ8T,EAAKk4B,IAAY3wE,EAAKy4C,EAAK5T,GAAO4T,EAAKi4B,IAC7D+tW,EAASC,UAAY,aAErBD,EAASC,UAAY,WAEtBryZ,EAAQkmL,MAAMziN,KAAMhC,KAAMpD,EAAO+zb,KAInCpvW,EAAKtsE,OAAQ5Q,EAAE+wC,OAAQzS,EAAU,CAAE8hL,MAAOA,SAI5CpgN,EAAE4xC,GAAGtT,SAAW,CACfkuZ,IAAK,CACJh6Y,KAAM,SAAUlU,EAAU3xB,GACzB,IAMC8/a,EANGjB,EAAS7+a,EAAK6+a,OACjBkB,EAAelB,EAAOz0C,SAAWy0C,EAAOxwY,WAAawwY,EAAO56a,OAAO4hC,KACnE6rC,EAAamtW,EAAOjpb,MACpBoqb,EAAmBruZ,EAASkU,KAAO7lC,EAAKs/a,kBAAkBviS,WAC1DkjS,EAAWF,EAAeC,EAC1BE,EAAYF,EAAmBhgb,EAAKy/a,eAAiB/tW,EAAaquW,EAI9D//a,EAAKy/a,eAAiB/tW,EAGrBuuW,EAAW,GAAKC,GAAa,GACjCJ,EAAenuZ,EAASkU,KAAOo6Y,EAAWjgb,EAAKy/a,eAAiB/tW,EAC/DquW,EACDpuZ,EAASkU,MAAQo6Y,EAAWH,GAI5BnuZ,EAASkU,KADEq6Y,EAAY,GAAKD,GAAY,EACxBF,EAIXE,EAAWC,EACCH,EAAeruW,EAAa1xE,EAAKy/a,eAEjCM,EAKPE,EAAW,EACtBtuZ,EAASkU,MAAQo6Y,EAGNC,EAAY,EACvBvuZ,EAASkU,MAAQq6Y,EAIjBvuZ,EAASkU,KAAO3kC,EAAKywB,EAASkU,KAAOm6Y,EAAkBruZ,EAASkU,OAGlEE,IAAK,SAAUpU,EAAU3xB,GACxB,IAMCmgb,EANGtB,EAAS7+a,EAAK6+a,OACjBkB,EAAelB,EAAOz0C,SAAWy0C,EAAOvwY,UAAYuwY,EAAO56a,OAAO8hC,IAClE0rC,EAAczxE,EAAK6+a,OAAOhpb,OAC1Buqb,EAAkBzuZ,EAASoU,IAAM/lC,EAAKs/a,kBAAkBpiS,UACxDmjS,EAAUN,EAAeK,EACzBE,EAAaF,EAAkBpgb,EAAK0/a,gBAAkBjuW,EAAcsuW,EAIhE//a,EAAK0/a,gBAAkBjuW,EAGtB4uW,EAAU,GAAKC,GAAc,GACjCH,EAAgBxuZ,EAASoU,IAAMs6Y,EAAUrgb,EAAK0/a,gBAAkBjuW,EAC/DsuW,EACDpuZ,EAASoU,KAAOs6Y,EAAUF,GAI1BxuZ,EAASoU,IADEu6Y,EAAa,GAAKD,GAAW,EACzBN,EAIVM,EAAUC,EACCP,EAAetuW,EAAczxE,EAAK0/a,gBAElCK,EAKNM,EAAU,EACrB1uZ,EAASoU,KAAOs6Y,EAGLC,EAAa,EACxB3uZ,EAASoU,KAAOu6Y,EAIhB3uZ,EAASoU,IAAM7kC,EAAKywB,EAASoU,IAAMq6Y,EAAiBzuZ,EAASoU,OAIhEm+X,KAAM,CACLr+X,KAAM,SAAUlU,EAAU3xB,GACzB,IAkBC8/a,EACAS,EAnBG1B,EAAS7+a,EAAK6+a,OACjBkB,EAAelB,EAAO56a,OAAO4hC,KAAOg5Y,EAAOxwY,WAC3CqjC,EAAamtW,EAAOjpb,MACpBoe,EAAa6qa,EAAOz0C,SAAWy0C,EAAOxwY,WAAawwY,EAAO56a,OAAO4hC,KACjEm6Y,EAAmBruZ,EAASkU,KAAO7lC,EAAKs/a,kBAAkBviS,WAC1DkjS,EAAWD,EAAmBhsa,EAC9Bksa,EAAYF,EAAmBhgb,EAAKy/a,eAAiB/tW,EAAa19D,EAClEmrI,EAA4B,SAAjBn/I,EAAKqxE,GAAI,IAClBrxE,EAAKu/a,UACW,UAAjBv/a,EAAKqxE,GAAI,GACRrxE,EAAKu/a,UACL,EACFL,EAA4B,SAAjBl/a,EAAKsxE,GAAI,GACnBtxE,EAAKm/a,YACY,UAAjBn/a,EAAKsxE,GAAI,IACPtxE,EAAKm/a,YACN,EACFl7a,GAAU,EAAIjE,EAAKiE,OAAQ,GAIvBg8a,EAAW,IACfH,EAAenuZ,EAASkU,KAAOs5G,EAAW+/R,EAAWj7a,EAASjE,EAAKy/a,eAClE/tW,EAAaquW,GACM,GAAKD,EAAenmY,EAAKsmY,MAC5CtuZ,EAASkU,MAAQs5G,EAAW+/R,EAAWj7a,GAE7Bi8a,EAAY,KACvBK,EAAc5uZ,EAASkU,KAAO7lC,EAAKs/a,kBAAkBviS,WAAaoC,EACjE+/R,EAAWj7a,EAAS+P,GACF,GAAK2lC,EAAK4mY,GAAgBL,KAC5CvuZ,EAASkU,MAAQs5G,EAAW+/R,EAAWj7a,IAI1C8hC,IAAK,SAAUpU,EAAU3xB,GACxB,IAmBCwgb,EACAL,EApBGtB,EAAS7+a,EAAK6+a,OACjBkB,EAAelB,EAAO56a,OAAO8hC,IAAM84Y,EAAOvwY,UAC1CmjC,EAAcotW,EAAOhpb,OACrBoe,EAAY4qa,EAAOz0C,SAAWy0C,EAAOvwY,UAAYuwY,EAAO56a,OAAO8hC,IAC/Dq6Y,EAAkBzuZ,EAASoU,IAAM/lC,EAAKs/a,kBAAkBpiS,UACxDmjS,EAAUD,EAAkBnsa,EAC5Bqsa,EAAaF,EAAkBpgb,EAAK0/a,gBAAkBjuW,EAAcx9D,EACpE8xB,EAAuB,QAAjB/lC,EAAKqxE,GAAI,GACf8tE,EAAWp5G,GACT/lC,EAAKw/a,WACW,WAAjBx/a,EAAKqxE,GAAI,GACRrxE,EAAKw/a,WACL,EACFN,EAA4B,QAAjBl/a,EAAKsxE,GAAI,GACnBtxE,EAAK8+I,aACY,WAAjB9+I,EAAKsxE,GAAI,IACPtxE,EAAK8+I,aACN,EACF76I,GAAU,EAAIjE,EAAKiE,OAAQ,GAGvBo8a,EAAU,IACdF,EAAgBxuZ,EAASoU,IAAMo5G,EAAW+/R,EAAWj7a,EAASjE,EAAK0/a,gBAClEjuW,EAAcsuW,GACM,GAAKI,EAAgBxmY,EAAK0mY,MAC9C1uZ,EAASoU,KAAOo5G,EAAW+/R,EAAWj7a,GAE5Bq8a,EAAa,KACxBE,EAAa7uZ,EAASoU,IAAM/lC,EAAKs/a,kBAAkBpiS,UAAYiC,EAAW+/R,EACzEj7a,EAASgQ,GACQ,GAAK0lC,EAAK6mY,GAAeF,KAC1C3uZ,EAASoU,KAAOo5G,EAAW+/R,EAAWj7a,KAK1Cw8a,QAAS,CACR56Y,KAAM,WACLxyC,EAAE4xC,GAAGtT,SAASuyY,KAAKr+X,KAAKz2C,MAAOJ,KAAMG,WACrCkE,EAAE4xC,GAAGtT,SAASkuZ,IAAIh6Y,KAAKz2C,MAAOJ,KAAMG,YAErC42C,IAAK,WACJ1yC,EAAE4xC,GAAGtT,SAASuyY,KAAKn+X,IAAI32C,MAAOJ,KAAMG,WACpCkE,EAAE4xC,GAAGtT,SAASkuZ,IAAI95Y,IAAI32C,MAAOJ,KAAMG,cA5ctC,GAmdekE,EAAE4xC,GAAGtT,SAkBTt+B,EAAE+wC,OAAQ/wC,EAAE+8Y,KAAM,KAAO,CACnCpwY,KAAM3M,EAAE+8Y,KAAKK,aACZp9Y,EAAE+8Y,KAAKK,cAAc,SAAUiwC,GAC9B,OAAO,SAAUnwW,GAChB,QAASl9E,EAAE2M,KAAMuwE,EAAMmwW,OAKzB,SAAUnwW,EAAM1kF,EAAG2M,GAClB,QAASnF,EAAE2M,KAAMuwE,EAAM/3E,EAAO,OAqBVnF,EAAEi5B,GAAG8X,OAAQ,CACnCu8Y,iBAAoB,WACnB,IAAIC,EAAY,kBAAmBtub,SAASsX,cAAe,OAC1D,cACA,YAED,OAAO,WACN,OAAO5a,KAAKk7C,GAAI02Y,EAAY,wBAAwB,SAAUtsa,GAC7DA,EAAMw1B,qBAPW,GAYpB+2Y,gBAAiB,WAChB,OAAO7xb,KAAK4jD,IAAK,2BAsBnBv/C,EAAE4xC,GAAGg3Y,UAAY,SAAUvya,EAASo3a,GACnC,IAAIrqa,EAAKsqa,EAASjxa,EAAKkxa,EAAoBC,EAC1Cn+a,EAAW4G,EAAQ5G,SAAS+E,cAE7B,MAAK,SAAW/E,GAEfi+a,GADAtqa,EAAM/M,EAAQiL,YACAvjB,QACRsY,EAAQkG,OAASmxa,GAA0C,QAA/Btqa,EAAI3T,SAAS+E,iBAG/CiI,EAAMzc,EAAG,gBAAkB0tb,EAAU,OAC1Bj1b,OAAS,GAAKgkB,EAAIxc,GAAI,cAG7B,0CAA0Ci+B,KAAMzuB,IACpDk+a,GAAsBt3a,EAAQkuE,YAQ7BqpW,EAAW5tb,EAAGqW,GAAU8pE,QAAS,YAAc,MAE9CwtW,GAAsBC,EAASrpW,UAIjCopW,EADW,MAAQl+a,GACE4G,EAAQkG,MAERkxa,EAGfE,GAAsB3tb,EAAGqW,GAAUpW,GAAI,aAK/C,SAAkBoW,GAEjB,IADA,IAAI02I,EAAa12I,EAAQ4G,IAAK,cACP,YAAf8vI,GAEPA,GADA12I,EAAUA,EAAQ9H,UACG0O,IAAK,cAE3B,MAAsB,WAAf8vI,EAXuD1jG,CAASrpD,EAAGqW,MAc3ErW,EAAE+wC,OAAQ/wC,EAAE+8Y,KAAM,KAAO,CACxB6rC,UAAW,SAAUvya,GACpB,OAAOrW,EAAE4xC,GAAGg3Y,UAAWvya,EAA0C,MAAjCrW,EAAE6gC,KAAMxqB,EAAS,gBAInCrW,EAAE4xC,GAAGg3Y,UAQV5ob,EAAEi5B,GAAG40Z,KAAO,WACtB,MAAiC,kBAAnBlyb,KAAM,GAAIkyb,KAAoBlyb,KAAKwkF,QAAS,QAAWngF,EAAGrE,KAAM,GAAIkyb,OAoB9D7tb,EAAE4xC,GAAGk8Y,eAAiB,CAC1CC,kBAAmB,WAClB,IAAIF,EAAO7tb,EAAGrE,MAGd60B,YAAY,WACX,IAAIohW,EAAYi8D,EAAKlhb,KAAM,2BAC3B3M,EAAEwvB,KAAMoiW,GAAW,WAClBj2X,KAAK4pC,iBAKRyoZ,sBAAuB,WAEtB,GADAryb,KAAKkyb,KAAOlyb,KAAK0a,QAAQw3a,OACnBlyb,KAAKkyb,KAAKp1b,OAAhB,CAIA,IAAIm5X,EAAYj2X,KAAKkyb,KAAKlhb,KAAM,4BAA+B,GACzDilX,EAAUn5X,QAGfkD,KAAKkyb,KAAKh3Y,GAAI,sBAAuBl7C,KAAKoyb,mBAE3Cn8D,EAAUnvX,KAAM9G,MAChBA,KAAKkyb,KAAKlhb,KAAM,0BAA2BilX,KAG5Cq8D,wBAAyB,WACxB,GAAMtyb,KAAKkyb,KAAKp1b,OAAhB,CAIA,IAAIm5X,EAAYj2X,KAAKkyb,KAAKlhb,KAAM,2BAChCilX,EAAUv2V,OAAQr7B,EAAE8+C,QAASnjD,KAAMi2X,GAAa,GAC3CA,EAAUn5X,OACdkD,KAAKkyb,KAAKlhb,KAAM,0BAA2BilX,GAE3Cj2X,KAAKkyb,KACHrxW,WAAY,2BACZj9B,IAAK,0BA4B6B,QAAlCv/C,EAAEi5B,GAAGm+W,OAAOpqW,UAAW,EAAG,KAK9BhtC,EAAEwvB,KAAM,CAAE,QAAS,WAAY,SAAUh3B,EAAGuF,GAC3C,IAAIoyF,EAAgB,UAATpyF,EAAmB,CAAE,OAAQ,SAAY,CAAE,MAAO,UAC5D6O,EAAO7O,EAAKyW,cACZioC,EAAO,CACNutG,WAAYhqJ,EAAEi5B,GAAG+wH,WACjBC,YAAajqJ,EAAEi5B,GAAGgxH,YAClB5rE,WAAYr+E,EAAEi5B,GAAGolD,WACjBD,YAAap+E,EAAEi5B,GAAGmlD,aAGpB,SAAS1T,EAAQwS,EAAMrc,EAAM66G,EAAQtjG,GAUpC,OATAp4E,EAAEwvB,KAAM2gE,GAAM,WACbtvB,GAAQ37D,WAAYlF,EAAEid,IAAKigE,EAAM,UAAYvhF,QAAY,EACpD+/K,IACJ76G,GAAQ37D,WAAYlF,EAAEid,IAAKigE,EAAM,SAAWvhF,KAAO,WAAe,GAE9Dy8E,IACJvX,GAAQ37D,WAAYlF,EAAEid,IAAKigE,EAAM,SAAWvhF,QAAY,MAGnDklE,EAGR7gE,EAAEi5B,GAAI,QAAUl7B,GAAS,SAAU8iE,GAClC,YAActlC,IAATslC,EACGpkB,EAAM,QAAU1+C,GAAOJ,KAAMhC,MAG9BA,KAAK6zB,MAAM,WACjBxvB,EAAGrE,MAAOshB,IAAKrQ,EAAM89D,EAAQ/uE,KAAMklE,GAAS,UAI9C7gE,EAAEi5B,GAAI,QAAUl7B,GAAS,SAAU8iE,EAAMuX,GACxC,MAAqB,kBAATvX,EACJpkB,EAAM,QAAU1+C,GAAOJ,KAAMhC,KAAMklE,GAGpCllE,KAAK6zB,MAAM,WACjBxvB,EAAGrE,MAAOshB,IAAKrQ,EAAM89D,EAAQ/uE,KAAMklE,GAAM,EAAMuX,GAAW,aAK7Dp4E,EAAEi5B,GAAGmpX,QAAU,SAAU3iZ,GACxB,OAAO9D,KAAKuyC,IAAiB,MAAZzuC,EAChB9D,KAAK8wY,WAAa9wY,KAAK8wY,WAAW79X,OAAQnP,MAqB/BO,EAAE4xC,GAAG2F,QAAU,CAC5B22Y,UAAW,EACXC,MAAO,IACP98X,OAAQ,GACRge,KAAM,GACNs8N,IAAK,GACLyiJ,MAAO,GACPC,OAAQ,GACRC,KAAM,GACNh/W,KAAM,GACNi/W,UAAW,GACXC,QAAS,GACTC,OAAQ,IACRr/W,MAAO,GACP2vR,MAAO,GACP2vF,IAAK,EACLv/W,GAAI,IAOgBnvE,EAAE4xC,GAAG0vW,eAAmB,WAC5C,IAAIqtC,EAAiB,sCACrB,OAAO,SAAUlvb,GAChB,OAAOA,EAAS2D,QAASurb,EAAgB,SAHE,GAwBhC3ub,EAAEi5B,GAAGqjC,OAAS,WAC1B,IAAIsyX,EAAUnvb,EAAUqgB,EAAIw8C,EAAQuyX,EAGpC,OAAKlzb,KAAM,GAAI2gE,QAAU3gE,KAAM,GAAI2gE,OAAO7jE,OAClCkD,KAAK07Y,UAAW17Y,KAAM,GAAI2gE,SAMlCA,EAAS3gE,KAAKqiJ,GAAI,GAAImO,QAAS,UAG/BrsI,EAAKnkB,KAAKklC,KAAM,SAQfguZ,GAHAD,EAAWjzb,KAAKqiJ,GAAI,GAAImO,UAAUrnG,QAGb5W,IAAK0gZ,EAASn2b,OAASm2b,EAAS5rW,WAAarnF,KAAKqnF,YAGvEvjF,EAAW,cAAgBO,EAAE4xC,GAAG0vW,eAAgBxhY,GAAO,KAEvDw8C,EAASA,EAAOpuB,IAAK2gZ,EAAU5lX,KAAMxpE,GAAW2iZ,QAAS3iZ,KAKnD9D,KAAK07Y,UAAW/6U,KAoBLt8D,EAAEi5B,GAAG61Z,aAAe,SAAU15G,GAChD,IAAI92S,EAAW3iC,KAAKshB,IAAK,YACxB8xa,EAAmC,aAAbzwZ,EACtBguH,EAAgB8oL,EAAgB,uBAAyB,gBACzD05G,EAAenzb,KAAKwwJ,UAAUv9I,QAAQ,WACrC,IAAIL,EAASvO,EAAGrE,MAChB,QAAKozb,GAAoD,WAA7Bxgb,EAAO0O,IAAK,cAGjCqvI,EAAcpuH,KAAM3vB,EAAO0O,IAAK,YAAe1O,EAAO0O,IAAK,cACjE1O,EAAO0O,IAAK,kBACV+gI,GAAI,GAET,MAAoB,UAAb1/G,GAAyBwwZ,EAAar2b,OAE5Cq2b,EADA9ub,EAAGrE,KAAM,GAAIkqC,eAAiB5mC,WAqBjBe,EAAE+wC,OAAQ/wC,EAAE+8Y,KAAM,KAAO,CACvCiyC,SAAU,SAAU34a,GACnB,IAAI0zG,EAAW/pH,EAAE6gC,KAAMxqB,EAAS,YAC/Bo3a,EAA0B,MAAZ1jU,EACf,QAAU0jU,GAAe1jU,GAAY,IAAO/pH,EAAE4xC,GAAGg3Y,UAAWvya,EAASo3a,MAqBxDztb,EAAEi5B,GAAG8X,OAAQ,CAC3BnvC,SAAY,WACX,IAAI4mb,EAAO,EAEX,OAAO,WACN,OAAO7sb,KAAK6zB,MAAM,WACX7zB,KAAKmkB,KACVnkB,KAAKmkB,GAAK,YAAe0oa,OANjB,GAYZyG,eAAgB,WACf,OAAOtzb,KAAK6zB,MAAM,WACZ,cAAc0O,KAAMviC,KAAKmkB,KAC7B9f,EAAGrE,MAAOsgF,WAAY,YAUjBj8E,EAAE4xC,GAAGsnJ,KAAO,cAAcnrK,KAAM03D,UAAU6nE,UAAU94I,eAzL7D,IA2MI06a,GAAe,EACnBlvb,EAAGf,UAAW43C,GAAI,WAAW,WAC5Bq4Y,GAAe,KAGGlvb,EAAE88E,OAAQ,WAAY,CACxCvyC,QAAS,SACTrQ,QAAS,CACR2gC,OAAQ,0CACRoI,SAAU,EACV3wC,MAAO,GAER68Z,WAAY,WACX,IAAIlnb,EAAOtM,KAEXA,KAAK0a,QACHwgC,GAAI,aAAel7C,KAAKosb,YAAY,SAAU9ma,GAC9C,OAAOhZ,EAAKmnb,WAAYnua,MAExB41B,GAAI,SAAWl7C,KAAKosb,YAAY,SAAU9ma,GAC1C,IAAK,IAASjhB,EAAE2M,KAAMsU,EAAM3oB,OAAQ2P,EAAK8/a,WAAa,sBAGrD,OAFA/nb,EAAEw8E,WAAYv7D,EAAM3oB,OAAQ2P,EAAK8/a,WAAa,sBAC9C9ma,EAAMi+D,4BACC,KAIVvjF,KAAK0zb,SAAU,GAKhBC,cAAe,WACd3zb,KAAK0a,QAAQkpC,IAAK,IAAM5jD,KAAKosb,YACxBpsb,KAAK4zb,oBACT5zb,KAAKsD,SACHsgD,IAAK,aAAe5jD,KAAKosb,WAAYpsb,KAAK4zb,oBAC1ChwY,IAAK,WAAa5jD,KAAKosb,WAAYpsb,KAAK6zb,mBAI5CJ,WAAY,SAAUnua,GAGrB,IAAKiua,EAAL,CAIAvzb,KAAK8zb,aAAc,EAGjB9zb,KAAK+zb,eAAiB/zb,KAAKg0b,SAAU1ua,GAEvCtlB,KAAKi0b,gBAAkB3ua,EAEvB,IAAIhZ,EAAOtM,KACVk0b,EAA8B,IAAhB5ua,EAAMu1B,MAIpBs5Y,IAA8C,kBAAxBn0b,KAAKu+B,QAAQ2gC,SAAuB55C,EAAM3oB,OAAOmX,WACtEzP,EAAGihB,EAAM3oB,QAAS6nF,QAASxkF,KAAKu+B,QAAQ2gC,QAASpiE,OACnD,QAAMo3b,IAAaC,GAAen0b,KAAKo0b,cAAe9ua,MAItDtlB,KAAKq0b,eAAiBr0b,KAAKu+B,QAAQ5H,MAC7B32B,KAAKq0b,gBACVr0b,KAAKs0b,iBAAmBz/Z,YAAY,WACnCvoB,EAAK+nb,eAAgB,IACnBr0b,KAAKu+B,QAAQ5H,QAGZ32B,KAAKu0b,kBAAmBjva,IAAWtlB,KAAKw0b,eAAgBlva,KAC5DtlB,KAAK+zb,eAAgD,IAA9B/zb,KAAKy0b,YAAanva,IACnCtlB,KAAK+zb,gBACVzua,EAAMw1B,kBACC,KAKJ,IAASz2C,EAAE2M,KAAMsU,EAAM3oB,OAAQqD,KAAKosb,WAAa,uBACrD/nb,EAAEw8E,WAAYv7D,EAAM3oB,OAAQqD,KAAKosb,WAAa,sBAI/Cpsb,KAAK4zb,mBAAqB,SAAUtua,GACnC,OAAOhZ,EAAKoob,WAAYpva,IAEzBtlB,KAAK6zb,iBAAmB,SAAUvua,GACjC,OAAOhZ,EAAK0nb,SAAU1ua,IAGvBtlB,KAAKsD,SACH43C,GAAI,aAAel7C,KAAKosb,WAAYpsb,KAAK4zb,oBACzC14Y,GAAI,WAAal7C,KAAKosb,WAAYpsb,KAAK6zb,kBAEzCvua,EAAMw1B,iBAENy4Y,GAAe,GACR,MAGRmB,WAAY,SAAUpva,GAMrB,GAAKtlB,KAAK8zb,YAAc,CAGvB,GAAKzvb,EAAE4xC,GAAGsnJ,MAASj6L,SAASqxb,cAAgBrxb,SAASqxb,aAAe,KACjErva,EAAM4+D,OACR,OAAOlkF,KAAKg0b,SAAU1ua,GAGhB,IAAMA,EAAMu1B,MAKlB,GAAKv1B,EAAM+1B,cAAcy0W,QAAUxqY,EAAM+1B,cAAcpE,SACrD3xB,EAAM+1B,cAAcu6G,SAAWtwI,EAAM+1B,cAAcrE,SACpDh3C,KAAK40b,oBAAqB,OACpB,IAAM50b,KAAK40b,mBACjB,OAAO50b,KAAKg0b,SAAU1ua,GASzB,OAJKA,EAAMu1B,OAASv1B,EAAM4+D,UACzBlkF,KAAK8zb,aAAc,GAGf9zb,KAAK+zb,eACT/zb,KAAK60b,WAAYvva,GACVA,EAAMw1B,mBAGT96C,KAAKu0b,kBAAmBjva,IAAWtlB,KAAKw0b,eAAgBlva,KAC5DtlB,KAAK+zb,eACkD,IAApD/zb,KAAKy0b,YAAaz0b,KAAKi0b,gBAAiB3ua,GACzCtlB,KAAK+zb,cAAgB/zb,KAAK60b,WAAYvva,GAAUtlB,KAAKg0b,SAAU1ua,KAG1DtlB,KAAK+zb,gBAGdC,SAAU,SAAU1ua,GACnBtlB,KAAKsD,SACHsgD,IAAK,aAAe5jD,KAAKosb,WAAYpsb,KAAK4zb,oBAC1ChwY,IAAK,WAAa5jD,KAAKosb,WAAYpsb,KAAK6zb,kBAErC7zb,KAAK+zb,gBACT/zb,KAAK+zb,eAAgB,EAEhBzua,EAAM3oB,SAAWqD,KAAKi0b,gBAAgBt3b,QAC1C0H,EAAE2M,KAAMsU,EAAM3oB,OAAQqD,KAAKosb,WAAa,sBAAsB,GAG/Dpsb,KAAK80b,WAAYxva,IAGbtlB,KAAKs0b,mBACThga,aAAct0B,KAAKs0b,yBACZt0b,KAAKs0b,kBAGbt0b,KAAK40b,oBAAqB,EAC1BrB,GAAe,EACfjua,EAAMw1B,kBAGPy5Y,kBAAmB,SAAUjva,GAC5B,OAASne,KAAK+K,IACZ/K,KAAKwjD,IAAK3qD,KAAKi0b,gBAAgB7wW,MAAQ99D,EAAM89D,OAC7Cj8E,KAAKwjD,IAAK3qD,KAAKi0b,gBAAgB5wW,MAAQ/9D,EAAM+9D,SACzCrjF,KAAKu+B,QAAQ+oC,UAIpBktX,eAAgB,WACf,OAAOx0b,KAAKq0b,eAIbI,YAAa,aACbI,WAAY,aACZC,WAAY,aACZV,cAAe,WAA0B,OAAO,KAOpC/vb,EAAE4xC,GAAG6jH,OAAS,CAC1BvnH,IAAK,SAAUr8C,EAAQ+lU,EAAQzvT,GAC9B,IAAI3P,EACHkgW,EAAQ14V,EAAE4xC,GAAI//C,GAASuH,UACxB,IAAMZ,KAAK2P,EACVuwV,EAAMg4F,QAASl4b,GAAMkgW,EAAMg4F,QAASl4b,IAAO,GAC3CkgW,EAAMg4F,QAASl4b,GAAIiK,KAAM,CAAEm1T,EAAQzvT,EAAK3P,MAG1CmF,KAAM,SAAUzF,EAAU6F,EAAMshD,EAAMsxY,GACrC,IAAIn4b,EACH2P,EAAMjQ,EAASw4b,QAAS3yb,GAEzB,GAAMoK,IAIAwob,GAAwBz4b,EAASme,QAAS,GAAIiL,YACJ,KAA9CppB,EAASme,QAAS,GAAIiL,WAAW9R,UAInC,IAAMhX,EAAI,EAAGA,EAAI2P,EAAI1P,OAAQD,IACvBN,EAASgiC,QAAS/xB,EAAK3P,GAAK,KAChC2P,EAAK3P,GAAK,GAAIuD,MAAO7D,EAASme,QAASgpC,KAQnBr/C,EAAE4xC,GAAGw3W,kBAAoB,SAAUnqZ,GAC1D,IAAIu/Y,EAIJ,IACCA,EAAgBv/Y,EAASu/Y,cACxB,MAAQ1vX,GACT0vX,EAAgBv/Y,EAAS+gB,KAiB1B,OAXMw+X,IACLA,EAAgBv/Y,EAAS+gB,MAMpBw+X,EAAc/uY,WACnB+uY,EAAgBv/Y,EAAS+gB,MAGnBw+X,GAKOx+Y,EAAE4xC,GAAGg/Y,SAAW,SAAUv6a,GAInCA,GAA8C,SAAnCA,EAAQ5G,SAAS+E,eAChCxU,EAAGqW,GAAUsnE,QAAS,SAuBxB39E,EAAE88E,OAAQ,eAAgB98E,EAAE4xC,GAAGi/Y,MAAO,CACrCtmZ,QAAS,SACTu9Y,kBAAmB,OACnB5tZ,QAAS,CACR42Z,YAAY,EACZj+Y,SAAU,SACVu6F,MAAM,EACN2jT,mBAAmB,EACnBC,aAAa,EACb30a,OAAQ,OACR40a,UAAU,EACVtgX,MAAM,EACN3jB,QAAQ,EACR5a,OAAQ,WACR8+Y,WAAW,EACXxsY,SAAS,EACTysY,kBAAkB,EAClBC,QAAQ,EACRC,eAAgB,IAChB9wP,MAAO,UACP1yC,QAAQ,EACRyjS,kBAAmB,GACnBC,YAAa,GACb50Y,MAAM,EACN60Y,SAAU,OACVC,cAAe,GACfh5Z,OAAO,EACPqa,QAAQ,EAGRC,KAAM,KACNt/B,MAAO,KACPrU,KAAM,MAEP4pb,QAAS,WAEqB,aAAxBrtb,KAAKu+B,QAAQkY,QACjBz2C,KAAK+1b,uBAED/1b,KAAKu+B,QAAQ42Z,YACjBn1b,KAAK8pL,UAAW,gBAEjB9pL,KAAKg2b,sBAELh2b,KAAKwzb,cAGN3F,WAAY,SAAUxwb,EAAKqC,GAC1BM,KAAKinD,OAAQ5pD,EAAKqC,GACL,WAARrC,IACJ2C,KAAKi2b,yBACLj2b,KAAKg2b,wBAIPvI,SAAU,YACFztb,KAAKy2C,QAAUz2C,KAAK0a,SAAUpW,GAAI,0BACxCtE,KAAKk2b,gBAAiB,GAGvBl2b,KAAKi2b,yBACLj2b,KAAK2zb,kBAGNS,cAAe,SAAU9ua,GACxB,IAAIhlB,EAAIN,KAAKu+B,QAGb,QAAKv+B,KAAKy2C,QAAUn2C,EAAEsoF,UACpBvkF,EAAGihB,EAAM3oB,QAAS6nF,QAAS,wBAAyB1nF,OAAS,KAK/DkD,KAAKqxD,OAASrxD,KAAKm2b,WAAY7wa,KACzBtlB,KAAKqxD,SAIXrxD,KAAKo2b,mBAAoB9wa,GAEzBtlB,KAAKq2b,cAA8B,IAAhB/1b,EAAEi1b,UAAqB,SAAWj1b,EAAEi1b,YAEhD,KAIRc,aAAc,SAAUvyb,GACvB9D,KAAKs2b,aAAet2b,KAAKsD,SAASgqE,KAAMxpE,GAAW2jB,KAAK,WACvD,IAAIk4V,EAASt7W,EAAGrE,MAEhB,OAAOqE,EAAG,SACRid,IAAK,WAAY,YACjB41B,SAAUyoU,EAAO/sW,UACjB8vE,WAAYi9R,EAAOj9R,cACnBD,YAAak9R,EAAOl9R,eACpBxtE,OAAQ0qW,EAAO1qW,UAAY,OAI/Bshb,eAAgB,WACVv2b,KAAKs2b,eACTt2b,KAAKs2b,aAAar2Z,gBACXjgC,KAAKs2b,eAIdF,mBAAoB,SAAU9wa,GAC7B,IAAIu9X,EAAgBx+Y,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,IACjDe,EAAGihB,EAAM3oB,QAKP6nF,QAASq+T,GAAgB/lZ,QAKrCuH,EAAE4xC,GAAGg/Y,SAAUpyC,IAGhB4xC,YAAa,SAAUnva,GAEtB,IAAIhlB,EAAIN,KAAKu+B,QA+Cb,OA5CAv+B,KAAKy2C,OAASz2C,KAAKw2b,cAAelxa,GAElCtlB,KAAK8pL,UAAW9pL,KAAKy2C,OAAQ,yBAG7Bz2C,KAAKy2b,0BAGApyb,EAAE4xC,GAAGygZ,YACTryb,EAAE4xC,GAAGygZ,UAAU1+a,QAAUhY,MAS1BA,KAAK22b,gBAGL32b,KAAK42b,YAAc52b,KAAKy2C,OAAOn1B,IAAK,YACpCthB,KAAKmzb,aAAenzb,KAAKy2C,OAAO08Y,cAAc,GAC9Cnzb,KAAKklB,aAAellB,KAAKy2C,OAAOvxB,eAChCllB,KAAK62b,iBAAmB72b,KAAKy2C,OAAO+5G,UAAUv9I,QAAQ,WACpD,MAAuC,UAAhC5O,EAAGrE,MAAOshB,IAAK,eACnBxkB,OAAS,EAGdkD,KAAK82b,YAAc92b,KAAK0a,QAAQzF,SAChCjV,KAAK+2b,gBAAiBzxa,GAGtBtlB,KAAKg3b,iBAAmBh3b,KAAK2iC,SAAW3iC,KAAKi3b,kBAAmB3xa,GAAO,GACvEtlB,KAAKk3b,cAAgB5xa,EAAM89D,MAC3BpjF,KAAKm3b,cAAgB7xa,EAAM+9D,MAGzB/iF,EAAEg1b,UAAYt1b,KAAKo3b,wBAAyB92b,EAAEg1b,UAGhDt1b,KAAKq3b,mBAGoC,IAApCr3b,KAAKutb,SAAU,QAASjoa,IAC5BtlB,KAAKs3b,UACE,IAIRt3b,KAAKy2b,0BAGApyb,EAAE4xC,GAAGygZ,YAAcp2b,EAAEi3b,eACzBlzb,EAAE4xC,GAAGygZ,UAAUc,eAAgBx3b,KAAMslB,GAKtCtlB,KAAK60b,WAAYvva,GAAO,GAInBjhB,EAAE4xC,GAAGygZ,WACTryb,EAAE4xC,GAAGygZ,UAAUe,UAAWz3b,KAAMslB,IAG1B,IAGRyxa,gBAAiB,SAAUzxa,GAC1BtlB,KAAKiV,OAAS,CACb8hC,IAAK/2C,KAAK82b,YAAY//Y,IAAM/2C,KAAKq+M,QAAQtnK,IACzCF,KAAM72C,KAAK82b,YAAYjgZ,KAAO72C,KAAKq+M,QAAQxnK,KAC3Cq7G,QAAQ,EACRt/I,OAAQ5S,KAAK03b,mBACbh2C,SAAU1hZ,KAAK23b,sBAGhB33b,KAAKiV,OAAO8uE,MAAQ,CACnBltC,KAAMvxB,EAAM89D,MAAQpjF,KAAKiV,OAAO4hC,KAChCE,IAAKzxB,EAAM+9D,MAAQrjF,KAAKiV,OAAO8hC,MAIjC89Y,WAAY,SAAUvva,EAAOsya,GAY5B,GATK53b,KAAK62b,mBACT72b,KAAKiV,OAAOrC,OAAS5S,KAAK03b,oBAI3B13b,KAAK2iC,SAAW3iC,KAAKi3b,kBAAmB3xa,GAAO,GAC/CtlB,KAAK82b,YAAc92b,KAAK63b,mBAAoB,aAGtCD,EAAgB,CACrB,IAAI3hZ,EAAKj2C,KAAK83b,UACd,IAA4C,IAAvC93b,KAAKutb,SAAU,OAAQjoa,EAAO2wB,GAElC,OADAj2C,KAAKg0b,SAAU,IAAI3vb,EAAE2/E,MAAO,UAAW1+D,KAChC,EAERtlB,KAAK2iC,SAAWsT,EAAGtT,SAUpB,OAPA3iC,KAAKy2C,OAAQ,GAAI/jC,MAAMmkC,KAAO72C,KAAK2iC,SAASkU,KAAO,KACnD72C,KAAKy2C,OAAQ,GAAI/jC,MAAMqkC,IAAM/2C,KAAK2iC,SAASoU,IAAM,KAE5C1yC,EAAE4xC,GAAGygZ,WACTryb,EAAE4xC,GAAGygZ,UAAUt/Y,KAAMp3C,KAAMslB,IAGrB,GAGRwva,WAAY,SAAUxva,GAGrB,IAAIhZ,EAAOtM,KACV+3b,GAAU,EA+BX,OA9BK1zb,EAAE4xC,GAAGygZ,YAAc12b,KAAKu+B,QAAQg5Z,gBACpCQ,EAAU1zb,EAAE4xC,GAAGygZ,UAAUpgZ,KAAMt2C,KAAMslB,IAIjCtlB,KAAK+3b,UACTA,EAAU/3b,KAAK+3b,QACf/3b,KAAK+3b,SAAU,GAGe,YAAxB/3b,KAAKu+B,QAAQk3Z,SAAyBsC,GACjB,UAAxB/3b,KAAKu+B,QAAQk3Z,QAAsBsC,IACb,IAAxB/3b,KAAKu+B,QAAQk3Z,QAAqBpxb,EAAE0iF,WAAY/mF,KAAKu+B,QAAQk3Z,SAC7Dz1b,KAAKu+B,QAAQk3Z,OAAOzzb,KAAMhC,KAAK0a,QAASq9a,GAEzC1zb,EAAGrE,KAAKy2C,QAASz4B,QAChBhe,KAAKg3b,iBACL94a,SAAUle,KAAKu+B,QAAQm3Z,eAAgB,KACvC,YACyC,IAAnCppb,EAAKihb,SAAU,OAAQjoa,IAC3BhZ,EAAKgrb,aAKgC,IAAnCt3b,KAAKutb,SAAU,OAAQjoa,IAC3BtlB,KAAKs3b,UAIA,GAGRtD,SAAU,SAAU1ua,GAiBnB,OAhBAtlB,KAAKu2b,iBAIAlyb,EAAE4xC,GAAGygZ,WACTryb,EAAE4xC,GAAGygZ,UAAUsB,SAAUh4b,KAAMslB,GAI3BtlB,KAAKi4b,cAAc3zb,GAAIghB,EAAM3oB,SAIjCqD,KAAK0a,QAAQsnE,QAAS,SAGhB39E,EAAE4xC,GAAGi/Y,MAAMz3b,UAAUu2b,SAAShyb,KAAMhC,KAAMslB,IAGlD45C,OAAQ,WAQP,OANKl/D,KAAKy2C,OAAOnyC,GAAI,0BACpBtE,KAAKg0b,SAAU,IAAI3vb,EAAE2/E,MAAO,UAAW,CAAErnF,OAAQqD,KAAK0a,QAAS,MAE/D1a,KAAKs3b,SAGCt3b,MAIRm2b,WAAY,SAAU7wa,GACrB,OAAOtlB,KAAKu+B,QAAQ8yB,UACjBhtD,EAAGihB,EAAM3oB,QAAS6nF,QAASxkF,KAAK0a,QAAQ4yD,KAAMttE,KAAKu+B,QAAQ8yB,SAAWv0D,QAI1Ek5b,oBAAqB,WACpBh2b,KAAKi4b,cAAgBj4b,KAAKu+B,QAAQ8yB,OACjCrxD,KAAK0a,QAAQ4yD,KAAMttE,KAAKu+B,QAAQ8yB,QAAWrxD,KAAK0a,QACjD1a,KAAK8pL,UAAW9pL,KAAKi4b,cAAe,wBAGrChC,uBAAwB,WACvBj2b,KAAK0tb,aAAc1tb,KAAKi4b,cAAe,wBAGxCzB,cAAe,SAAUlxa,GAExB,IAAIhlB,EAAIN,KAAKu+B,QACZ25Z,EAAmB7zb,EAAE0iF,WAAYzmF,EAAEm2C,QACnCA,EAASyhZ,EACR7zb,EAAG/D,EAAEm2C,OAAOr2C,MAAOJ,KAAK0a,QAAS,GAAK,CAAE4K,KACzB,UAAbhlB,EAAEm2C,OACHz2C,KAAK0a,QAAQkZ,QAAQ0sD,WAAY,MACjCtgF,KAAK0a,QAoBR,OAlBM+7B,EAAO+5G,QAAS,QAAS1zJ,QAC9B25C,EAAOS,SAA2B,WAAf52C,EAAE42C,SACpBl3C,KAAK0a,QAAS,GAAIiL,WAClBrlB,EAAE42C,UAMCghZ,GAAoBzhZ,EAAQ,KAAQz2C,KAAK0a,QAAS,IACtD1a,KAAK+1b,uBAGDt/Y,EAAQ,KAAQz2C,KAAK0a,QAAS,IAC9B,mBAAqB6nB,KAAMkU,EAAOn1B,IAAK,cAC3Cm1B,EAAOn1B,IAAK,WAAY,YAGlBm1B,GAIRs/Y,qBAAsB,WACb,aAAexzZ,KAAMviC,KAAK0a,QAAQ4G,IAAK,eAC9CthB,KAAK0a,QAAS,GAAIhI,MAAMiwB,SAAW,aAIrCy0Z,wBAAyB,SAAUp3Z,GACd,kBAARA,IACXA,EAAMA,EAAIzzB,MAAO,MAEblI,EAAE3D,QAASs/B,KACfA,EAAM,CAAE6W,MAAO7W,EAAK,GAAK+W,KAAM/W,EAAK,IAAO,IAEvC,SAAUA,IACdhgC,KAAKiV,OAAO8uE,MAAMltC,KAAO7W,EAAI6W,KAAO72C,KAAKq+M,QAAQxnK,MAE7C,UAAW7W,IACfhgC,KAAKiV,OAAO8uE,MAAMltC,KAAO72C,KAAKm4b,kBAAkBvxb,MAAQo5B,EAAI6iD,MAAQ7iF,KAAKq+M,QAAQxnK,MAE7E,QAAS7W,IACbhgC,KAAKiV,OAAO8uE,MAAMhtC,IAAM/W,EAAI+W,IAAM/2C,KAAKq+M,QAAQtnK,KAE3C,WAAY/W,IAChBhgC,KAAKiV,OAAO8uE,MAAMhtC,IAAM/2C,KAAKm4b,kBAAkBtxb,OAASm5B,EAAI4iD,OAAS5iF,KAAKq+M,QAAQtnK,MAIpFqhZ,YAAa,SAAU19a,GACtB,MAAS,eAAiB6nB,KAAM7nB,EAAQ+qB,UAAa/qB,IAAY1a,KAAKsD,SAAU,IAGjFo0b,iBAAkB,WAGjB,IAAIW,EAAKr4b,KAAKklB,aAAajQ,SAC1B3R,EAAWtD,KAAKsD,SAAU,GAmB3B,MAV0B,aAArBtD,KAAK42b,aAA8B52b,KAAKmzb,aAAc,KAAQ7vb,GACjEe,EAAE87C,SAAUngD,KAAKmzb,aAAc,GAAKnzb,KAAKklB,aAAc,MACxDmza,EAAGxhZ,MAAQ72C,KAAKmzb,aAAa9zY,aAC7Bg5Y,EAAGthZ,KAAO/2C,KAAKmzb,aAAa7zY,aAGxBt/C,KAAKo4b,YAAap4b,KAAKklB,aAAc,MACzCmza,EAAK,CAAEthZ,IAAK,EAAGF,KAAM,IAGf,CACNE,IAAKshZ,EAAGthZ,KAAQ74B,SAAUle,KAAKklB,aAAa5D,IAAK,kBAAoB,KAAQ,GAC7Eu1B,KAAMwhZ,EAAGxhZ,MAAS34B,SAAUle,KAAKklB,aAAa5D,IAAK,mBAAqB,KAAQ,KAKlFq2a,mBAAoB,WACnB,GAA0B,aAArB33b,KAAK42b,YACT,MAAO,CAAE7/Y,IAAK,EAAGF,KAAM,GAGxB,IAAI5zC,EAAIjD,KAAK0a,QAAQioB,WACpB21Z,EAAmBt4b,KAAKo4b,YAAap4b,KAAKmzb,aAAc,IAEzD,MAAO,CACNp8Y,IAAK9zC,EAAE8zC,KAAQ74B,SAAUle,KAAKy2C,OAAOn1B,IAAK,OAAS,KAAQ,IACvDg3a,EAAmD,EAAhCt4b,KAAKmzb,aAAa7zY,aACzCzI,KAAM5zC,EAAE4zC,MAAS34B,SAAUle,KAAKy2C,OAAOn1B,IAAK,QAAU,KAAQ,IAC1Dg3a,EAAoD,EAAjCt4b,KAAKmzb,aAAa9zY,gBAK3Cs3Y,cAAe,WACd32b,KAAKq+M,QAAU,CACdxnK,KAAQ34B,SAAUle,KAAK0a,QAAQ4G,IAAK,cAAgB,KAAQ,EAC5Dy1B,IAAO74B,SAAUle,KAAK0a,QAAQ4G,IAAK,aAAe,KAAQ,EAC1DuhE,MAAS3kE,SAAUle,KAAK0a,QAAQ4G,IAAK,eAAiB,KAAQ,EAC9DshE,OAAU1kE,SAAUle,KAAK0a,QAAQ4G,IAAK,gBAAkB,KAAQ,IAIlEm1a,wBAAyB,WACxBz2b,KAAKm4b,kBAAoB,CACxBvxb,MAAO5G,KAAKy2C,OAAOisC,aACnB77E,OAAQ7G,KAAKy2C,OAAOgsC,gBAItB40W,gBAAiB,WAEhB,IAAIkB,EAAkBr2b,EAAGq9L,EACxBj/L,EAAIN,KAAKu+B,QACTj7B,EAAWtD,KAAKsD,SAAU,GAE3BtD,KAAKw4b,kBAAoB,KAEnBl4b,EAAE+0b,YAKe,WAAlB/0b,EAAE+0b,YAagB,aAAlB/0b,EAAE+0b,YAWF/0b,EAAE+0b,YAAY51b,cAAgBgB,OAKZ,WAAlBH,EAAE+0b,cACN/0b,EAAE+0b,YAAcr1b,KAAKy2C,OAAQ,GAAI9wB,aAIlC45K,GADAr9L,EAAImC,EAAG/D,EAAE+0b,cACD,MAMRkD,EAAmB,gBAAgBh2Z,KAAMrgC,EAAEof,IAAK,aAEhDthB,KAAKq1b,YAAc,EAChBn3a,SAAUhc,EAAEof,IAAK,mBAAqB,KAAQ,IAC7CpD,SAAUhc,EAAEof,IAAK,eAAiB,KAAQ,IAC3CpD,SAAUhc,EAAEof,IAAK,kBAAoB,KAAQ,IAC5CpD,SAAUhc,EAAEof,IAAK,cAAgB,KAAQ,IAC1Ci3a,EAAmBpxb,KAAK+K,IAAKqtL,EAAG7nG,YAAa6nG,EAAG/xC,aAAgB+xC,EAAG/xC,cAClEtvI,SAAUhc,EAAEof,IAAK,oBAAsB,KAAQ,IAC/CpD,SAAUhc,EAAEof,IAAK,gBAAkB,KAAQ,GAC7CthB,KAAKm4b,kBAAkBvxb,MACvB5G,KAAKq+M,QAAQxnK,KACb72C,KAAKq+M,QAAQx7H,OACZ01W,EAAmBpxb,KAAK+K,IAAKqtL,EAAGliB,aAAckiB,EAAGtxC,cAAiBsxC,EAAGtxC,eACpE/vI,SAAUhc,EAAEof,IAAK,qBAAuB,KAAQ,IAChDpD,SAAUhc,EAAEof,IAAK,iBAAmB,KAAQ,GAC9CthB,KAAKm4b,kBAAkBtxb,OACvB7G,KAAKq+M,QAAQtnK,IACb/2C,KAAKq+M,QAAQz7H,QAEf5iF,KAAKw4b,kBAAoBt2b,IAnCxBlC,KAAKq1b,YAAc/0b,EAAE+0b,YAXrBr1b,KAAKq1b,YAAc,CAClB,EACA,EACAhxb,EAAGf,GAAWsD,QAAU5G,KAAKm4b,kBAAkBvxb,MAAQ5G,KAAKq+M,QAAQxnK,MAClExyC,EAAGf,GAAWuD,UAAYvD,EAAS+gB,KAAKsB,WAAW03J,cACpDr9K,KAAKm4b,kBAAkBtxb,OAAS7G,KAAKq+M,QAAQtnK,KAlB/C/2C,KAAKq1b,YAAc,CAClBhxb,EAAG3C,QAAS29C,aAAer/C,KAAKiV,OAAOysY,SAAS7qW,KAAO72C,KAAKiV,OAAOrC,OAAOikC,KAC1ExyC,EAAG3C,QAAS49C,YAAct/C,KAAKiV,OAAOysY,SAAS3qW,IAAM/2C,KAAKiV,OAAOrC,OAAOmkC,IACxE1yC,EAAG3C,QAAS29C,aAAeh7C,EAAG3C,QAASkF,QACtC5G,KAAKm4b,kBAAkBvxb,MAAQ5G,KAAKq+M,QAAQxnK,KAC7CxyC,EAAG3C,QAAS49C,aACTj7C,EAAG3C,QAASmF,UAAYvD,EAAS+gB,KAAKsB,WAAW03J,cACnDr9K,KAAKm4b,kBAAkBtxb,OAAS7G,KAAKq+M,QAAQtnK,KAZ/C/2C,KAAKq1b,YAAc,MAmErBwC,mBAAoB,SAAU11b,EAAGgxC,GAE1BA,IACLA,EAAMnzC,KAAK2iC,UAGZ,IAAImsG,EAAY,aAAN3sI,EAAmB,GAAK,EACjCm2b,EAAmBt4b,KAAKo4b,YAAap4b,KAAKmzb,aAAc,IAEzD,MAAO,CACNp8Y,IAGC5D,EAAI4D,IAGJ/2C,KAAKiV,OAAOysY,SAAS3qW,IAAM+3F,EAG3B9uI,KAAKiV,OAAOrC,OAAOmkC,IAAM+3F,GACA,UAArB9uI,KAAK42b,aACP52b,KAAKiV,OAAOi9I,OAAOn7G,IAClBuhZ,EAAmB,EAAIt4b,KAAKiV,OAAOi9I,OAAOn7G,KAAU+3F,EAExDj4F,KAGC1D,EAAI0D,KAGJ72C,KAAKiV,OAAOysY,SAAS7qW,KAAOi4F,EAG5B9uI,KAAKiV,OAAOrC,OAAOikC,KAAOi4F,GACD,UAArB9uI,KAAK42b,aACP52b,KAAKiV,OAAOi9I,OAAOr7G,KAClByhZ,EAAmB,EAAIt4b,KAAKiV,OAAOi9I,OAAOr7G,MAAWi4F,IAM3DmoT,kBAAmB,SAAU3xa,EAAOmza,GAEnC,IAAIpD,EAAa11N,EAAI5oL,EAAKF,EACzBv2C,EAAIN,KAAKu+B,QACT+5Z,EAAmBt4b,KAAKo4b,YAAap4b,KAAKmzb,aAAc,IACxD/vW,EAAQ99D,EAAM89D,MACdC,EAAQ/9D,EAAM+9D,MA2Ef,OAxEMi1W,GAAqBt4b,KAAKiV,OAAOi9I,SACtClyJ,KAAKiV,OAAOi9I,OAAS,CACpBn7G,IAAK/2C,KAAKmzb,aAAa7zY,YACvBzI,KAAM72C,KAAKmzb,aAAa9zY,eAUrBo5Y,IACCz4b,KAAKq1b,cACJr1b,KAAKw4b,mBACT74N,EAAK3/N,KAAKw4b,kBAAkBvjb,SAC5Bogb,EAAc,CACbr1b,KAAKq1b,YAAa,GAAM11N,EAAG9oL,KAC3B72C,KAAKq1b,YAAa,GAAM11N,EAAG5oL,IAC3B/2C,KAAKq1b,YAAa,GAAM11N,EAAG9oL,KAC3B72C,KAAKq1b,YAAa,GAAM11N,EAAG5oL,MAG5Bs+Y,EAAcr1b,KAAKq1b,YAGf/va,EAAM89D,MAAQpjF,KAAKiV,OAAO8uE,MAAMltC,KAAOw+Y,EAAa,KACxDjyW,EAAQiyW,EAAa,GAAMr1b,KAAKiV,OAAO8uE,MAAMltC,MAEzCvxB,EAAM+9D,MAAQrjF,KAAKiV,OAAO8uE,MAAMhtC,IAAMs+Y,EAAa,KACvDhyW,EAAQgyW,EAAa,GAAMr1b,KAAKiV,OAAO8uE,MAAMhtC,KAEzCzxB,EAAM89D,MAAQpjF,KAAKiV,OAAO8uE,MAAMltC,KAAOw+Y,EAAa,KACxDjyW,EAAQiyW,EAAa,GAAMr1b,KAAKiV,OAAO8uE,MAAMltC,MAEzCvxB,EAAM+9D,MAAQrjF,KAAKiV,OAAO8uE,MAAMhtC,IAAMs+Y,EAAa,KACvDhyW,EAAQgyW,EAAa,GAAMr1b,KAAKiV,OAAO8uE,MAAMhtC,MAI1Cz2C,EAAE00E,OAINj+B,EAAMz2C,EAAE00E,KAAM,GAAMh1E,KAAKm3b,cAAgBhwb,KAAKi9G,OAAS/gC,EACtDrjF,KAAKm3b,eAAkB72b,EAAE00E,KAAM,IAAQ10E,EAAE00E,KAAM,GAAMh1E,KAAKm3b,cAC3D9zW,EAAQgyW,EAAkBt+Y,EAAM/2C,KAAKiV,OAAO8uE,MAAMhtC,KAAOs+Y,EAAa,IACrEt+Y,EAAM/2C,KAAKiV,OAAO8uE,MAAMhtC,IAAMs+Y,EAAa,GAC1Ct+Y,EACIA,EAAM/2C,KAAKiV,OAAO8uE,MAAMhtC,KAAOs+Y,EAAa,GAC/Ct+Y,EAAMz2C,EAAE00E,KAAM,GAAMj+B,EAAMz2C,EAAE00E,KAAM,GAAUj+B,EAE/CF,EAAOv2C,EAAE00E,KAAM,GAAMh1E,KAAKk3b,cACzB/vb,KAAKi9G,OAAShhC,EAAQpjF,KAAKk3b,eAAkB52b,EAAE00E,KAAM,IAAQ10E,EAAE00E,KAAM,GACrEh1E,KAAKk3b,cACN9zW,EAAQiyW,EAAkBx+Y,EAAO72C,KAAKiV,OAAO8uE,MAAMltC,MAAQw+Y,EAAa,IACvEx+Y,EAAO72C,KAAKiV,OAAO8uE,MAAMltC,KAAOw+Y,EAAa,GAC5Cx+Y,EACIA,EAAO72C,KAAKiV,OAAO8uE,MAAMltC,MAAQw+Y,EAAa,GACjDx+Y,EAAOv2C,EAAE00E,KAAM,GAAMn+B,EAAOv2C,EAAE00E,KAAM,GAAUn+B,GAGlC,MAAXv2C,EAAEmxI,OACNruD,EAAQpjF,KAAKk3b,eAGE,MAAX52b,EAAEmxI,OACNpuD,EAAQrjF,KAAKm3b,gBAIR,CACNpgZ,IAGCssC,EAGArjF,KAAKiV,OAAO8uE,MAAMhtC,IAGlB/2C,KAAKiV,OAAOysY,SAAS3qW,IAGrB/2C,KAAKiV,OAAOrC,OAAOmkC,KACI,UAArB/2C,KAAK42b,aACL52b,KAAKiV,OAAOi9I,OAAOn7G,IAClBuhZ,EAAmB,EAAIt4b,KAAKiV,OAAOi9I,OAAOn7G,KAE9CF,KAGCusC,EAGApjF,KAAKiV,OAAO8uE,MAAMltC,KAGlB72C,KAAKiV,OAAOysY,SAAS7qW,KAGrB72C,KAAKiV,OAAOrC,OAAOikC,MACI,UAArB72C,KAAK42b,aACL52b,KAAKiV,OAAOi9I,OAAOr7G,KAClByhZ,EAAmB,EAAIt4b,KAAKiV,OAAOi9I,OAAOr7G,QAMhDygZ,OAAQ,WACPt3b,KAAK0tb,aAAc1tb,KAAKy2C,OAAQ,yBAC3Bz2C,KAAKy2C,OAAQ,KAAQz2C,KAAK0a,QAAS,IAAQ1a,KAAK04b,qBACpD14b,KAAKy2C,OAAOxW,SAEbjgC,KAAKy2C,OAAS,KACdz2C,KAAK04b,qBAAsB,EACtB14b,KAAKk2b,gBACTl2b,KAAK+7C,WAMPwxY,SAAU,SAAUt8a,EAAMqU,EAAO2wB,GAShC,OARAA,EAAKA,GAAMj2C,KAAK83b,UAChBzzb,EAAE4xC,GAAG6jH,OAAO93J,KAAMhC,KAAMiR,EAAM,CAAEqU,EAAO2wB,EAAIj2C,OAAQ,GAG9C,qBAAqBuiC,KAAMtxB,KAC/BjR,KAAK82b,YAAc92b,KAAK63b,mBAAoB,YAC5C5hZ,EAAGhhC,OAASjV,KAAK82b,aAEXzyb,EAAEi8G,OAAO7iH,UAAU8vb,SAASvrb,KAAMhC,KAAMiR,EAAMqU,EAAO2wB,IAG7D8+Y,QAAS,GAET+C,QAAS,WACR,MAAO,CACNrhZ,OAAQz2C,KAAKy2C,OACb9T,SAAU3iC,KAAK2iC,SACfq0Z,iBAAkBh3b,KAAKg3b,iBACvB/hb,OAAQjV,KAAK82b,gBAMhBzyb,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,oBAAqB,CAClDz6B,MAAO,SAAUwN,EAAO2wB,EAAIE,GAC3B,IAAIwiZ,EAAat0b,EAAE+wC,OAAQ,GAAIa,EAAI,CAClCvuB,KAAMyuB,EAAUz7B,UAGjBy7B,EAAUyiZ,UAAY,GACtBv0b,EAAG8xC,EAAU5X,QAAQ62Z,mBAAoBvha,MAAM,WAC9C,IAAIqsI,EAAW77J,EAAGrE,MAAOkgK,SAAU,YAE9BA,IAAaA,EAAS3hI,QAAQqqD,WAClCzyC,EAAUyiZ,UAAU9xb,KAAMo5J,GAK1BA,EAASs1R,mBACTt1R,EAASqtR,SAAU,WAAYjoa,EAAOqza,QAIzCl1b,KAAM,SAAU6hB,EAAO2wB,EAAIE,GAC1B,IAAIwiZ,EAAat0b,EAAE+wC,OAAQ,GAAIa,EAAI,CAClCvuB,KAAMyuB,EAAUz7B,UAGjBy7B,EAAUuiZ,qBAAsB,EAEhCr0b,EAAEwvB,KAAMsiB,EAAUyiZ,WAAW,WACb54b,KAED64b,QAFC74b,KAGL64b,OAAS,EAGlB1iZ,EAAUuiZ,qBAAsB,EANlB14b,KAOL04b,qBAAsB,EAPjB14b,KAYL84b,WAAa,CACrBn2Z,SAba3iC,KAaMyuH,YAAYntG,IAAK,YACpCy1B,IAda/2C,KAcCyuH,YAAYntG,IAAK,OAC/Bu1B,KAfa72C,KAeEyuH,YAAYntG,IAAK,SAfnBthB,KAkBL80b,WAAYxva,GAlBPtlB,KAsBLu+B,QAAQkY,OAtBHz2C,KAsBqBu+B,QAAQw6Z,UAtB7B/4b,KA4BL04b,qBAAsB,EA5BjB14b,KA8BLutb,SAAU,aAAcjoa,EAAOqza,QAI3CvhZ,KAAM,SAAU9xB,EAAO2wB,EAAIE,GAC1B9xC,EAAEwvB,KAAMsiB,EAAUyiZ,WAAW,WAC5B,IAAII,GAAwB,EAC3B94R,EAAWlgK,KAGZkgK,EAAS42R,YAAc3gZ,EAAU2gZ,YACjC52R,EAASi4R,kBAAoBhiZ,EAAUgiZ,kBACvCj4R,EAASjrJ,OAAO8uE,MAAQ5tC,EAAUlhC,OAAO8uE,MAEpCm8E,EAAS+4R,gBAAiB/4R,EAASg5R,kBACvCF,GAAwB,EAExB30b,EAAEwvB,KAAMsiB,EAAUyiZ,WAAW,WAa5B,OAVA54b,KAAK82b,YAAc3gZ,EAAU2gZ,YAC7B92b,KAAKm4b,kBAAoBhiZ,EAAUgiZ,kBACnCn4b,KAAKiV,OAAO8uE,MAAQ5tC,EAAUlhC,OAAO8uE,MAEhC/jF,OAASkgK,GACZlgK,KAAKi5b,gBAAiBj5b,KAAKk5b,iBAC3B70b,EAAE87C,SAAU+/G,EAASxlJ,QAAS,GAAK1a,KAAK0a,QAAS,MAClDs+a,GAAwB,GAGlBA,MAIJA,GAIE94R,EAAS24R,SACd34R,EAAS24R,OAAS,EAGlB1iZ,EAAUgjZ,QAAUljZ,EAAGQ,OAAO7jC,SAE9BstJ,EAASk5R,YAAcnjZ,EAAGQ,OACxBS,SAAUgpH,EAASxlJ,SACnB1J,KAAM,oBAAoB,GAG5BkvJ,EAAS3hI,QAAQw6Z,QAAU74R,EAAS3hI,QAAQkY,OAE5CypH,EAAS3hI,QAAQkY,OAAS,WACzB,OAAOR,EAAGQ,OAAQ,IAKnBnxB,EAAM3oB,OAASujK,EAASk5R,YAAa,GACrCl5R,EAASk0R,cAAe9ua,GAAO,GAC/B46I,EAASu0R,YAAanva,GAAO,GAAM,GAInC46I,EAASjrJ,OAAO8uE,MAAMhtC,IAAMZ,EAAUlhC,OAAO8uE,MAAMhtC,IACnDmpH,EAASjrJ,OAAO8uE,MAAMltC,KAAOV,EAAUlhC,OAAO8uE,MAAMltC,KACpDqpH,EAASjrJ,OAAOrC,OAAOikC,MAAQV,EAAUlhC,OAAOrC,OAAOikC,KACtDqpH,EAASjrJ,OAAOrC,OAAOikC,KACxBqpH,EAASjrJ,OAAOrC,OAAOmkC,KAAOZ,EAAUlhC,OAAOrC,OAAOmkC,IACrDmpH,EAASjrJ,OAAOrC,OAAOmkC,IAExBZ,EAAUo3Y,SAAU,aAAcjoa,GAIlC6wB,EAAU4hZ,QAAU73R,EAASxlJ,QAI7BrW,EAAEwvB,KAAMsiB,EAAUyiZ,WAAW,WAC5B54b,KAAKw1b,sBAINr/Y,EAAUijZ,YAAcjjZ,EAAUz7B,QAClCwlJ,EAASm5R,YAAcljZ,GAGnB+pH,EAASk5R,cACbl5R,EAAS20R,WAAYvva,GAKrB2wB,EAAGtT,SAAWu9H,EAASv9H,WAOnBu9H,EAAS24R,SAEb34R,EAAS24R,OAAS,EAClB34R,EAASw4R,qBAAsB,EAI/Bx4R,EAAS3hI,QAAQ+6Z,QAAUp5R,EAAS3hI,QAAQk3Z,OAC5Cv1R,EAAS3hI,QAAQk3Z,QAAS,EAE1Bv1R,EAASqtR,SAAU,MAAOjoa,EAAO46I,EAAS43R,QAAS53R,IACnDA,EAAS40R,WAAYxva,GAAO,GAI5B46I,EAAS3hI,QAAQk3Z,OAASv1R,EAAS3hI,QAAQ+6Z,QAC3Cp5R,EAAS3hI,QAAQkY,OAASypH,EAAS3hI,QAAQw6Z,QAEtC74R,EAASzxC,aACbyxC,EAASzxC,YAAYxuF,SAKtBgW,EAAGQ,OAAOS,SAAUf,EAAUgjZ,SAC9BhjZ,EAAU4gZ,gBAAiBzxa,GAC3B2wB,EAAGtT,SAAWwT,EAAU8gZ,kBAAmB3xa,GAAO,GAElD6wB,EAAUo3Y,SAAU,eAAgBjoa,GAGpC6wB,EAAU4hZ,SAAU,EAIpB1zb,EAAEwvB,KAAMsiB,EAAUyiZ,WAAW,WAC5B54b,KAAKw1b,6BAQXnxb,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,SAAU,CACvCz6B,MAAO,SAAUwN,EAAO2wB,EAAI15C,GAC3B,IAAIkG,EAAI4B,EAAG,QACV/D,EAAI/D,EAASgiC,QAET97B,EAAE6e,IAAK,YACXhhB,EAAEi5b,QAAU92b,EAAE6e,IAAK,WAEpB7e,EAAE6e,IAAK,SAAUhhB,EAAEogB,SAEpBjd,KAAM,SAAU6hB,EAAO2wB,EAAI15C,GAC1B,IAAI+D,EAAI/D,EAASgiC,QACZj+B,EAAEi5b,SACNl1b,EAAG,QAASid,IAAK,SAAUhhB,EAAEi5b,YAKhCl1b,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,UAAW,CACxCz6B,MAAO,SAAUwN,EAAO2wB,EAAI15C,GAC3B,IAAIkG,EAAI4B,EAAG4xC,EAAGQ,QACbn2C,EAAI/D,EAASgiC,QACT97B,EAAE6e,IAAK,aACXhhB,EAAEk5b,SAAW/2b,EAAE6e,IAAK,YAErB7e,EAAE6e,IAAK,UAAWhhB,EAAEyoD,UAErBtlD,KAAM,SAAU6hB,EAAO2wB,EAAI15C,GAC1B,IAAI+D,EAAI/D,EAASgiC,QACZj+B,EAAEk5b,UACNn1b,EAAG4xC,EAAGQ,QAASn1B,IAAK,UAAWhhB,EAAEk5b,aAKpCn1b,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,SAAU,CACvCz6B,MAAO,SAAUwN,EAAO2wB,EAAIp5C,GACrBA,EAAE48b,wBACP58b,EAAE48b,sBAAwB58b,EAAE45C,OAAO08Y,cAAc,IAG7Ct2b,EAAE48b,sBAAuB,KAAQ58b,EAAEyG,SAAU,IACP,SAAzCzG,EAAE48b,sBAAuB,GAAIh0Z,UAC9B5oC,EAAE68b,eAAiB78b,EAAE48b,sBAAsBxkb,WAG7CmiC,KAAM,SAAU9xB,EAAO2wB,EAAIp5C,GAE1B,IAAIyD,EAAIzD,EAAE0hC,QACTo7Z,GAAW,EACXxG,EAAet2b,EAAE48b,sBAAuB,GACxCn2b,EAAWzG,EAAEyG,SAAU,GAEnB6vb,IAAiB7vb,GAAqC,SAAzB6vb,EAAa1tZ,SACxCnlC,EAAEmxI,MAAmB,MAAXnxI,EAAEmxI,OACV50I,EAAE68b,eAAe3iZ,IAAMo8Y,EAAallS,aAAiB3oI,EAAM+9D,MAChE/iF,EAAEq1b,kBACHxC,EAAa7zY,UAAYq6Y,EAAWxG,EAAa7zY,UAAYh/C,EAAEs1b,YACpDtwa,EAAM+9D,MAAQxmF,EAAE68b,eAAe3iZ,IAAMz2C,EAAEq1b,oBAClDxC,EAAa7zY,UAAYq6Y,EAAWxG,EAAa7zY,UAAYh/C,EAAEs1b,cAI3Dt1b,EAAEmxI,MAAmB,MAAXnxI,EAAEmxI,OACV50I,EAAE68b,eAAe7iZ,KAAOs8Y,EAAa3lS,YAAgBloI,EAAM89D,MAChE9iF,EAAEq1b,kBACHxC,EAAa9zY,WAAas6Y,EAAWxG,EAAa9zY,WAAa/+C,EAAEs1b,YACtDtwa,EAAM89D,MAAQvmF,EAAE68b,eAAe7iZ,KAAOv2C,EAAEq1b,oBACnDxC,EAAa9zY,WAAas6Y,EAAWxG,EAAa9zY,WAAa/+C,EAAEs1b,gBAM7Dt1b,EAAEmxI,MAAmB,MAAXnxI,EAAEmxI,OACZnsH,EAAM+9D,MAAQh/E,EAAGf,GAAWg8C,YAAch/C,EAAEq1b,kBAChDgE,EAAWt1b,EAAGf,GAAWg8C,UAAWj7C,EAAGf,GAAWg8C,YAAch/C,EAAEs1b,aACvDvxb,EAAG3C,QAASmF,UAAaye,EAAM+9D,MAAQh/E,EAAGf,GAAWg8C,aAC/Dh/C,EAAEq1b,oBACHgE,EAAWt1b,EAAGf,GAAWg8C,UAAWj7C,EAAGf,GAAWg8C,YAAch/C,EAAEs1b,eAI9Dt1b,EAAEmxI,MAAmB,MAAXnxI,EAAEmxI,OACZnsH,EAAM89D,MAAQ/+E,EAAGf,GAAW+7C,aAAe/+C,EAAEq1b,kBACjDgE,EAAWt1b,EAAGf,GAAW+7C,WACxBh7C,EAAGf,GAAW+7C,aAAe/+C,EAAEs1b,aAErBvxb,EAAG3C,QAASkF,SAAY0e,EAAM89D,MAAQ/+E,EAAGf,GAAW+7C,cAC9D/+C,EAAEq1b,oBACHgE,EAAWt1b,EAAGf,GAAW+7C,WACxBh7C,EAAGf,GAAW+7C,aAAe/+C,EAAEs1b,iBAOjB,IAAb+D,GAAsBt1b,EAAE4xC,GAAGygZ,YAAcp2b,EAAEi3b,eAC/Clzb,EAAE4xC,GAAGygZ,UAAUc,eAAgB36b,EAAGyoB,MAMrCjhB,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,OAAQ,CACrCz6B,MAAO,SAAUwN,EAAO2wB,EAAIp5C,GAE3B,IAAIyD,EAAIzD,EAAE0hC,QAEV1hC,EAAE+8b,aAAe,GAEjBv1b,EAAG/D,EAAE0gD,KAAKvhD,cAAgBk4B,OAAWr3B,EAAE0gD,KAAKiiC,OAAS,sBAA0B3iF,EAAE0gD,MAC/EntB,MAAM,WACN,IAAI2zD,EAAKnjF,EAAGrE,MACX65b,EAAKryW,EAAGvyE,SACJjV,OAASnD,EAAE6d,QAAS,IACxB7d,EAAE+8b,aAAa9yb,KAAM,CACpB4gB,KAAM1nB,KACN4G,MAAO4gF,EAAG9E,aAAc77E,OAAQ2gF,EAAG/E,cACnC1rC,IAAK8iZ,EAAG9iZ,IAAKF,KAAMgjZ,EAAGhjZ,WAM3BO,KAAM,SAAU9xB,EAAO2wB,EAAI6jZ,GAE1B,IAAIj3V,EAAI08H,EAAIp1L,EAAI8zB,EAAIl8D,EAAGQ,EAAGE,EAAGyH,EAAGrN,EAAGgsD,EAClCvoD,EAAIw5b,EAAKv7Z,QACTp8B,EAAI7B,EAAEw1b,cACNrob,EAAKwoC,EAAGhhC,OAAO4hC,KAAMlpC,EAAKF,EAAKqsb,EAAK3B,kBAAkBvxb,MACtD8G,EAAKuoC,EAAGhhC,OAAO8hC,IAAKnpC,EAAKF,EAAKosb,EAAK3B,kBAAkBtxb,OAEtD,IAAMhK,EAAIi9b,EAAKF,aAAa98b,OAAS,EAAGD,GAAK,EAAGA,IAG/C0F,GADAR,EAAI+3b,EAAKF,aAAc/8b,GAAIg6C,KAAOijZ,EAAKz7O,QAAQxnK,MACvCijZ,EAAKF,aAAc/8b,GAAI+J,MAE/BsD,GADAzH,EAAIq3b,EAAKF,aAAc/8b,GAAIk6C,IAAM+iZ,EAAKz7O,QAAQtnK,KACtC+iZ,EAAKF,aAAc/8b,GAAIgK,OAE1B8G,EAAK5L,EAAII,GAAKsL,EAAKlL,EAAIJ,GAAKyL,EAAKnL,EAAIN,GAAKuL,EAAKxD,EAAI/H,IACrDkC,EAAE87C,SAAU25Y,EAAKF,aAAc/8b,GAAI6qB,KAAKwiB,cACzC4vZ,EAAKF,aAAc/8b,GAAI6qB,OACnBoya,EAAKF,aAAc/8b,GAAIk9b,UACzBD,EAAKv7Z,QAAQyiB,KAAKg5Y,SACnBF,EAAKv7Z,QAAQyiB,KAAKg5Y,QAAQh4b,KACzB83b,EAAKp/a,QACL4K,EACAjhB,EAAE+wC,OAAQ0kZ,EAAKhC,UAAW,CAAEmC,SAAUH,EAAKF,aAAc/8b,GAAI6qB,QAGhEoya,EAAKF,aAAc/8b,GAAIk9b,UAAW,IAIf,UAAfz5b,EAAEu1b,WACNhzV,EAAK17F,KAAKwjD,IAAKloD,EAAImL,IAAQzL,EAC3Bo9N,EAAKp4N,KAAKwjD,IAAKzgD,EAAIwD,IAAQvL,EAC3BgoC,EAAKhjC,KAAKwjD,IAAK5oD,EAAI4L,IAAQxL,EAC3B87D,EAAK92D,KAAKwjD,IAAKpoD,EAAIkL,IAAQtL,EACtB0gG,IACJ5sD,EAAGtT,SAASoU,IAAM+iZ,EAAKjC,mBAAoB,WAAY,CACtD9gZ,IAAKt0C,EAAIq3b,EAAK3B,kBAAkBtxb,OAChCgwC,KAAM,IACHE,KAEAwoL,IACJtpL,EAAGtT,SAASoU,IAAM+iZ,EAAKjC,mBAAoB,WAAY,CACtD9gZ,IAAK7sC,EACL2sC,KAAM,IACHE,KAEA5M,IACJ8L,EAAGtT,SAASkU,KAAOijZ,EAAKjC,mBAAoB,WAAY,CACvD9gZ,IAAK,EACLF,KAAM90C,EAAI+3b,EAAK3B,kBAAkBvxb,QAC9BiwC,MAEAonB,IACJhoB,EAAGtT,SAASkU,KAAOijZ,EAAKjC,mBAAoB,WAAY,CACvD9gZ,IAAK,EACLF,KAAMt0C,IACHs0C,OAINgS,EAAUg6C,GAAM08H,GAAMp1L,GAAM8zB,EAER,UAAf39D,EAAEu1b,WACNhzV,EAAK17F,KAAKwjD,IAAKloD,EAAIiL,IAAQvL,EAC3Bo9N,EAAKp4N,KAAKwjD,IAAKzgD,EAAI0D,IAAQzL,EAC3BgoC,EAAKhjC,KAAKwjD,IAAK5oD,EAAI0L,IAAQtL,EAC3B87D,EAAK92D,KAAKwjD,IAAKpoD,EAAIoL,IAAQxL,EACtB0gG,IACJ5sD,EAAGtT,SAASoU,IAAM+iZ,EAAKjC,mBAAoB,WAAY,CACtD9gZ,IAAKt0C,EACLo0C,KAAM,IACHE,KAEAwoL,IACJtpL,EAAGtT,SAASoU,IAAM+iZ,EAAKjC,mBAAoB,WAAY,CACtD9gZ,IAAK7sC,EAAI4vb,EAAK3B,kBAAkBtxb,OAChCgwC,KAAM,IACHE,KAEA5M,IACJ8L,EAAGtT,SAASkU,KAAOijZ,EAAKjC,mBAAoB,WAAY,CACvD9gZ,IAAK,EACLF,KAAM90C,IACH80C,MAEAonB,IACJhoB,EAAGtT,SAASkU,KAAOijZ,EAAKjC,mBAAoB,WAAY,CACvD9gZ,IAAK,EACLF,KAAMt0C,EAAIu3b,EAAK3B,kBAAkBvxb,QAC9BiwC,QAIAijZ,EAAKF,aAAc/8b,GAAIk9b,WAAcl3V,GAAM08H,GAAMp1L,GAAM8zB,GAAMpV,IAChEixY,EAAKv7Z,QAAQyiB,KAAKA,MACnB84Y,EAAKv7Z,QAAQyiB,KAAKA,KAAKh/C,KACtB83b,EAAKp/a,QACL4K,EACAjhB,EAAE+wC,OAAQ0kZ,EAAKhC,UAAW,CACzBmC,SAAUH,EAAKF,aAAc/8b,GAAI6qB,QAGrCoya,EAAKF,aAAc/8b,GAAIk9b,SAAal3V,GAAM08H,GAAMp1L,GAAM8zB,GAAMpV,MAO/DxkD,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,QAAS,CACtCz6B,MAAO,SAAUwN,EAAO2wB,EAAI15C,GAC3B,IAAIyV,EACH1R,EAAI/D,EAASgiC,QACbziB,EAAQzX,EAAE63Y,UAAW73Y,EAAG/D,EAAEw8B,QAAUkmB,MAAM,SAAUr2C,EAAGzC,GACtD,OAASgU,SAAU7Z,EAAGsI,GAAI2U,IAAK,UAAY,KAAQ,IAChDpD,SAAU7Z,EAAG6F,GAAIoX,IAAK,UAAY,KAAQ,MAGzCxF,EAAMhf,SAEZkV,EAAMkM,SAAU7Z,EAAGyX,EAAO,IAAMwF,IAAK,UAAY,KAAQ,EACzDjd,EAAGyX,GAAQ+X,MAAM,SAAUh3B,GAC1BwH,EAAGrE,MAAOshB,IAAK,SAAUtP,EAAMnV,MAEhCmD,KAAKshB,IAAK,SAAYtP,EAAM8J,EAAMhf,YAIpCuH,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,SAAU,CACvCz6B,MAAO,SAAUwN,EAAO2wB,EAAI15C,GAC3B,IAAIkG,EAAI4B,EAAG4xC,EAAGQ,QACbn2C,EAAI/D,EAASgiC,QAET97B,EAAE6e,IAAK,YACXhhB,EAAE45b,QAAUz3b,EAAE6e,IAAK,WAEpB7e,EAAE6e,IAAK,SAAUhhB,EAAE62C,SAEpB1zC,KAAM,SAAU6hB,EAAO2wB,EAAI15C,GAC1B,IAAI+D,EAAI/D,EAASgiC,QAEZj+B,EAAE45b,SACN71b,EAAG4xC,EAAGQ,QAASn1B,IAAK,SAAUhhB,EAAE45b,YAKZ71b,EAAE4xC,GAAGE,UAoB5B9xC,EAAE88E,OAAQ,eAAgB,CACzBvyC,QAAS,SACTu9Y,kBAAmB,OACnB5tZ,QAAS,CACRwX,OAAQ,IACRo/Y,YAAY,EACZgF,QAAQ,EACRv1P,MAAO,UACP/sH,UAAW,YAGXuiX,SAAU,KACVC,WAAY,KACZ/jZ,KAAM,KACNF,IAAK,KACLJ,KAAM,MAEPq3Y,QAAS,WAER,IAAIiN,EACHh6b,EAAIN,KAAKu+B,QACTwX,EAASz1C,EAAEy1C,OAEZ/1C,KAAKu6b,QAAS,EACdv6b,KAAKw6b,OAAQ,EAEbx6b,KAAK+1C,OAAS1xC,EAAE0iF,WAAYhxC,GAAWA,EAAS,SAAU5zC,GACzD,OAAOA,EAAEmC,GAAIyxC,IAGd/1C,KAAKs6b,YAAc,WAClB,IAAKn6b,UAAUrD,OAOd,OAAOw9b,IAENA,EAAc,CACb1zb,MAAO5G,KAAK0a,QAAS,GAAI8yI,YACzB3mJ,OAAQ7G,KAAK0a,QAAS,GAAIuzI,eAR5BqsS,EAAcn6b,UAAW,IAa3BH,KAAKy6b,cAAen6b,EAAEskM,OAEtBtkM,EAAE60b,YAAcn1b,KAAK8pL,UAAW,iBAIjC2wQ,cAAe,SAAU71P,GAGxBvgM,EAAE4xC,GAAGygZ,UAAUgE,WAAY91P,GAAUvgM,EAAE4xC,GAAGygZ,UAAUgE,WAAY91P,IAAW,GAC3EvgM,EAAE4xC,GAAGygZ,UAAUgE,WAAY91P,GAAQ99L,KAAM9G,OAG1C26b,QAAS,SAAUrkZ,GAElB,IADA,IAAIz5C,EAAI,EACAA,EAAIy5C,EAAKx5C,OAAQD,IACnBy5C,EAAMz5C,KAAQmD,MAClBs2C,EAAK5W,OAAQ7iC,EAAG,IAKnB4wb,SAAU,WACT,IAAIn3Y,EAAOjyC,EAAE4xC,GAAGygZ,UAAUgE,WAAY16b,KAAKu+B,QAAQqmK,OAEnD5kM,KAAK26b,QAASrkZ,IAGfu3Y,WAAY,SAAUxwb,EAAKqC,GAE1B,GAAa,WAARrC,EACJ2C,KAAK+1C,OAAS1xC,EAAE0iF,WAAYrnF,GAAUA,EAAQ,SAAUyC,GACvD,OAAOA,EAAEmC,GAAI5E,SAER,GAAa,UAARrC,EAAkB,CAC7B,IAAIi5C,EAAOjyC,EAAE4xC,GAAGygZ,UAAUgE,WAAY16b,KAAKu+B,QAAQqmK,OAEnD5kM,KAAK26b,QAASrkZ,GACdt2C,KAAKy6b,cAAe/6b,GAGrBM,KAAKinD,OAAQ5pD,EAAKqC,IAGnBk7b,UAAW,SAAUt1a,GACpB,IAAI6wB,EAAY9xC,EAAE4xC,GAAGygZ,UAAU1+a,QAE/BhY,KAAK66b,kBACA1kZ,GACJn2C,KAAKutb,SAAU,WAAYjoa,EAAOtlB,KAAKi2C,GAAIE,KAI7C2kZ,YAAa,SAAUx1a,GACtB,IAAI6wB,EAAY9xC,EAAE4xC,GAAGygZ,UAAU1+a,QAE/BhY,KAAK+6b,qBACA5kZ,GACJn2C,KAAKutb,SAAU,aAAcjoa,EAAOtlB,KAAKi2C,GAAIE,KAI/C6kZ,MAAO,SAAU11a,GAEhB,IAAI6wB,EAAY9xC,EAAE4xC,GAAGygZ,UAAU1+a,QAGzBm+B,IAAeA,EAAUijZ,aAC7BjjZ,EAAUz7B,SAAW,KAAQ1a,KAAK0a,QAAS,IAIxC1a,KAAK+1C,OAAO/zC,KAAMhC,KAAK0a,QAAS,GAAOy7B,EAAUijZ,aACpDjjZ,EAAUz7B,WACX1a,KAAKi7b,iBACLj7b,KAAKutb,SAAU,OAAQjoa,EAAOtlB,KAAKi2C,GAAIE,MAKzC+kZ,KAAM,SAAU51a,GAEf,IAAI6wB,EAAY9xC,EAAE4xC,GAAGygZ,UAAU1+a,QAGzBm+B,IAAeA,EAAUijZ,aAC7BjjZ,EAAUz7B,SAAW,KAAQ1a,KAAK0a,QAAS,IAIxC1a,KAAK+1C,OAAO/zC,KAAMhC,KAAK0a,QAAS,GAAOy7B,EAAUijZ,aACpDjjZ,EAAUz7B,WACX1a,KAAKm7b,oBACLn7b,KAAKutb,SAAU,MAAOjoa,EAAOtlB,KAAKi2C,GAAIE,MAKxCilZ,MAAO,SAAU91a,EAAO+1a,GAEvB,IAAIllZ,EAAYklZ,GAAUh3b,EAAE4xC,GAAGygZ,UAAU1+a,QACxCsjb,GAAuB,EAGxB,SAAMnlZ,IAAeA,EAAUijZ,aAC7BjjZ,EAAUz7B,SAAW,KAAQ1a,KAAK0a,QAAS,MAI7C1a,KAAK0a,QACH4yD,KAAM,uBACN44U,IAAK,0BACLryX,MAAM,WACN,IAAIima,EAAOz1b,EAAGrE,MAAO81C,UAAW,YAChC,GACCgkZ,EAAKv7Z,QAAQ47Z,SACZL,EAAKv7Z,QAAQqqD,UACdkxW,EAAKv7Z,QAAQqmK,QAAUzuJ,EAAU5X,QAAQqmK,OACzCk1P,EAAK/jZ,OAAO/zC,KACX83b,EAAKp/a,QAAS,GAAOy7B,EAAUijZ,aAAejjZ,EAAUz7B,UAEzD6gb,EACCplZ,EACA9xC,EAAE+wC,OAAQ0kZ,EAAM,CAAE7kb,OAAQ6kb,EAAKp/a,QAAQzF,WACvC6kb,EAAKv7Z,QAAQs5C,UAAWvyD,GAIzB,OADAg2a,GAAuB,GAChB,MAELA,KAIAt7b,KAAK+1C,OAAO/zC,KAAMhC,KAAK0a,QAAS,GACjCy7B,EAAUijZ,aAAejjZ,EAAUz7B,WACtC1a,KAAK+6b,qBACL/6b,KAAKm7b,oBAELn7b,KAAKutb,SAAU,OAAQjoa,EAAOtlB,KAAKi2C,GAAIE,IAChCn2C,KAAK0a,WAOdu7B,GAAI,SAAU/zC,GACb,MAAO,CACNi0C,UAAaj0C,EAAEk3b,aAAel3b,EAAEwY,QAChC+7B,OAAQv0C,EAAEu0C,OACV9T,SAAUzgC,EAAEygC,SACZ1tB,OAAQ/S,EAAE40b,cAMZmE,eAAgB,WACfj7b,KAAK8pL,UAAW,uBAGjBqxQ,kBAAmB,WAClBn7b,KAAK0tb,aAAc,uBAGpBmN,gBAAiB,WAChB76b,KAAK8pL,UAAW,wBAGjBixQ,mBAAoB,WACnB/6b,KAAK0tb,aAAc,0BAIrB,IAAI6N,EAAYl3b,EAAE4xC,GAAGslZ,UAAc,WAClC,SAASC,EAAY3ub,EAAG2hE,EAAWtJ,GAClC,OAASr4D,GAAK2hE,GAAiB3hE,EAAM2hE,EAAYtJ,EAGlD,OAAO,SAAU/uB,EAAWL,EAAW2lZ,EAAen2a,GAErD,IAAMwwB,EAAU7gC,OACf,OAAO,EAGR,IAAIxH,GAAO0oC,EAAU2gZ,aACnB3gZ,EAAUxT,SAAS+4Z,UAAW7kZ,KAAOV,EAAUkoK,QAAQxnK,KACxDnpC,GAAOyoC,EAAU2gZ,aAChB3gZ,EAAUxT,SAAS+4Z,UAAW3kZ,IAAMZ,EAAUkoK,QAAQtnK,IACvDppC,EAAKF,EAAK0oC,EAAUgiZ,kBAAkBvxb,MACtCgH,EAAKF,EAAKyoC,EAAUgiZ,kBAAkBtxb,OACtC9E,EAAI+zC,EAAU7gC,OAAO4hC,KACrBp0C,EAAIqzC,EAAU7gC,OAAO8hC,IACrBx0C,EAAIR,EAAI+zC,EAAUwkZ,cAAc1zb,MAChCsD,EAAIzH,EAAIqzC,EAAUwkZ,cAAczzb,OAEjC,OAAS40b,GACT,IAAK,MACJ,OAAS15b,GAAK0L,GAAME,GAAMpL,GAAKE,GAAKiL,GAAME,GAAM1D,EACjD,IAAK,YACJ,OAASnI,EAAI0L,EAAO0oC,EAAUgiZ,kBAAkBvxb,MAAQ,GACvD+G,EAAOwoC,EAAUgiZ,kBAAkBvxb,MAAQ,EAAMrE,GACjDE,EAAIiL,EAAOyoC,EAAUgiZ,kBAAkBtxb,OAAS,GAChD+G,EAAOuoC,EAAUgiZ,kBAAkBtxb,OAAS,EAAMqD,EACpD,IAAK,UACJ,OAAOsxb,EAAYl2a,EAAM+9D,MAAO5gF,EAAGqzC,EAAUwkZ,cAAczzb,SAC1D20b,EAAYl2a,EAAM89D,MAAOrhF,EAAG+zC,EAAUwkZ,cAAc1zb,OACtD,IAAK,QACJ,OACG8G,GAAMjL,GAAKiL,GAAMxD,GACjB0D,GAAMnL,GAAKmL,GAAM1D,GACjBwD,EAAKjL,GAAKmL,EAAK1D,KAEfuD,GAAM1L,GAAK0L,GAAMlL,GACjBoL,GAAM5L,GAAK4L,GAAMpL,GACjBkL,EAAK1L,GAAK4L,EAAKpL,GAEnB,QACC,OAAO,IA5CyB,GAoDnC8B,EAAE4xC,GAAGygZ,UAAY,CAChB1+a,QAAS,KACT0ib,WAAY,CAAE,QAAW,IACzBlD,eAAgB,SAAU/0b,EAAG6iB,GAE5B,IAAIzoB,EAAGuc,EACNnX,EAAIoC,EAAE4xC,GAAGygZ,UAAUgE,WAAYj4b,EAAE87B,QAAQqmK,QAAW,GACpD3zL,EAAOqU,EAAQA,EAAMrU,KAAO,KAC5BuW,GAAS/kB,EAAE22b,aAAe32b,EAAEiY,SAAU4yD,KAAM,uBAAwBm5U,UAErEk1C,EAAgB,IAAM9+b,EAAI,EAAGA,EAAIoF,EAAEnF,OAAQD,IAG1C,KAAKoF,EAAGpF,GAAI0hC,QAAQqqD,UAAcnmF,IAAMR,EAAGpF,GAAIk5C,OAAO/zC,KAAMC,EAAGpF,GAAI6d,QAAS,GACxEjY,EAAE22b,aAAe32b,EAAEiY,UADvB,CAMA,IAAMtB,EAAI,EAAGA,EAAIoO,EAAK1qB,OAAQsc,IAC7B,GAAKoO,EAAMpO,KAAQnX,EAAGpF,GAAI6d,QAAS,GAAM,CACxCzY,EAAGpF,GAAIy9b,cAAczzb,OAAS,EAC9B,SAAS80b,EAIX15b,EAAGpF,GAAI6wD,QAA8C,SAApCzrD,EAAGpF,GAAI6d,QAAQ4G,IAAK,WAC/Brf,EAAGpF,GAAI6wD,UAKC,cAATz8C,GACJhP,EAAGpF,GAAI+9b,UAAU54b,KAAMC,EAAGpF,GAAKyoB,GAGhCrjB,EAAGpF,GAAIoY,OAAShT,EAAGpF,GAAI6d,QAAQzF,SAC/BhT,EAAGpF,GAAIy9b,YAAa,CACnB1zb,MAAO3E,EAAGpF,GAAI6d,QAAS,GAAI8yI,YAC3B3mJ,OAAQ5E,EAAGpF,GAAI6d,QAAS,GAAIuzI,kBAM/B33G,KAAM,SAAUH,EAAW7wB,GAE1B,IAAIyya,GAAU,EAqBd,OAlBA1zb,EAAEwvB,MAAQxvB,EAAE4xC,GAAGygZ,UAAUgE,WAAYvkZ,EAAU5X,QAAQqmK,QAAW,IAAK5yJ,SAAS,WAEzEhyC,KAAKu+B,WAGLv+B,KAAKu+B,QAAQqqD,UAAY5oF,KAAK0tD,SAClC6tY,EAAWplZ,EAAWn2C,KAAMA,KAAKu+B,QAAQs5C,UAAWvyD,KACrDyya,EAAU/3b,KAAKo7b,MAAMp5b,KAAMhC,KAAMslB,IAAWyya,IAGvC/3b,KAAKu+B,QAAQqqD,UAAY5oF,KAAK0tD,SAAW1tD,KAAK+1C,OAAO/zC,KAAMhC,KAAK0a,QAAS,GAC3Ey7B,EAAUijZ,aAAejjZ,EAAUz7B,WACtC1a,KAAKw6b,OAAQ,EACbx6b,KAAKu6b,QAAS,EACdv6b,KAAK86b,YAAY94b,KAAMhC,KAAMslB,QAIxByya,GAGRN,UAAW,SAAUthZ,EAAW7wB,GAI/B6wB,EAAUz7B,QAAQgsY,aAAc,QAASxrW,GAAI,oBAAoB,WAC1D/E,EAAU5X,QAAQi3Z,kBACvBnxb,EAAE4xC,GAAGygZ,UAAUc,eAAgBrhZ,EAAW7wB,OAI7C8xB,KAAM,SAAUjB,EAAW7wB,GAIrB6wB,EAAU5X,QAAQi3Z,kBACtBnxb,EAAE4xC,GAAGygZ,UAAUc,eAAgBrhZ,EAAW7wB,GAI3CjhB,EAAEwvB,KAAMxvB,EAAE4xC,GAAGygZ,UAAUgE,WAAYvkZ,EAAU5X,QAAQqmK,QAAW,IAAI,WAEnE,IAAK5kM,KAAKu+B,QAAQqqD,WAAY5oF,KAAK47b,aAAgB57b,KAAK0tD,QAAxD,CAIA,IAAImuY,EAAgBj3P,EAAOhyL,EAC1Bi4D,EAAa0wX,EAAWplZ,EAAWn2C,KAAMA,KAAKu+B,QAAQs5C,UAAWvyD,GACjEpjB,GAAK2oE,GAAc7qE,KAAKu6b,OACvB,QACE1vX,IAAe7qE,KAAKu6b,OAAS,SAAW,KACtCr4b,IAIDlC,KAAKu+B,QAAQ47Z,SAGjBv1P,EAAQ5kM,KAAKu+B,QAAQqmK,OACrBhyL,EAAS5S,KAAK0a,QAAQ81I,QAAS,uBAAwBv9I,QAAQ,WAC9D,OAAO5O,EAAGrE,MAAO81C,UAAW,YAAavX,QAAQqmK,QAAUA,MAGhD9nM,UACX++b,EAAiBx3b,EAAGuO,EAAQ,IAAMkjC,UAAW,aAC9B8lZ,YAAsB,WAAN15b,IAK5B25b,GAAwB,WAAN35b,IACtB25b,EAAetB,QAAS,EACxBsB,EAAerB,OAAQ,EACvBqB,EAAeX,KAAKl5b,KAAM65b,EAAgBv2a,IAG3CtlB,KAAMkC,IAAM,EACZlC,KAAY,UAANkC,EAAgB,SAAW,UAAY,EAC7ClC,KAAY,WAANkC,EAAiB,QAAU,QAASF,KAAMhC,KAAMslB,GAGjDu2a,GAAwB,UAAN35b,IACtB25b,EAAerB,OAAQ,EACvBqB,EAAetB,QAAS,EACxBsB,EAAeb,MAAMh5b,KAAM65b,EAAgBv2a,UAK9C0ya,SAAU,SAAU7hZ,EAAW7wB,GAC9B6wB,EAAUz7B,QAAQgsY,aAAc,QAAS9iW,IAAK,oBAIxCzN,EAAU5X,QAAQi3Z,kBACvBnxb,EAAE4xC,GAAGygZ,UAAUc,eAAgBrhZ,EAAW7wB,MAOrB,IAAnBjhB,EAAEy3b,cAGNz3b,EAAE88E,OAAQ,eAAgB98E,EAAE4xC,GAAGH,UAAW,CACzCvX,QAAS,CACRw9Z,YAAY,EACZC,aAAa,GAEdnB,gBAAiB,WAChB76b,KAAKinD,SACAjnD,KAAKu+B,QAAQy9Z,aACjBh8b,KAAK0a,QAAQ48B,SAAUt3C,KAAKu+B,QAAQy9Z,cAGtCjB,mBAAoB,WACnB/6b,KAAKinD,SACAjnD,KAAKu+B,QAAQy9Z,aACjBh8b,KAAK0a,QAAQ6sE,YAAavnF,KAAKu+B,QAAQy9Z,cAGzCf,eAAgB,WACfj7b,KAAKinD,SACAjnD,KAAKu+B,QAAQw9Z,YACjB/7b,KAAK0a,QAAQ48B,SAAUt3C,KAAKu+B,QAAQw9Z,aAGtCZ,kBAAmB,WAClBn7b,KAAKinD,SACAjnD,KAAKu+B,QAAQw9Z,YACjB/7b,KAAK0a,QAAQ6sE,YAAavnF,KAAKu+B,QAAQw9Z,eAMpB13b,EAAE4xC,GAAGH,UAuB5BzxC,EAAE88E,OAAQ,eAAgB98E,EAAE4xC,GAAGi/Y,MAAO,CACrCtmZ,QAAS,SACTu9Y,kBAAmB,SACnB5tZ,QAAS,CACR09Z,YAAY,EACZj+a,SAAS,EACTk+a,gBAAiB,OACjBC,cAAe,QACf/qb,aAAa,EACb6wE,UAAU,EACVy7D,QAAS,CACR,kBAAmB,yCAEpB23S,aAAa,EACb+G,OAAO,EACPpnX,MAAM,EACNqnX,QAAS,SACT5lZ,QAAQ,EACRgpC,UAAW,KACXD,SAAU,KACV5yB,UAAW,GACXF,SAAU,GAGVvV,OAAQ,GAGR4xB,OAAQ,KACRjxD,MAAO,KACPrU,KAAM,MAGP64b,KAAM,SAAU58b,GACf,OAAO6J,WAAY7J,IAAW,GAG/BunH,UAAW,SAAUvnH,GACpB,OAAQsO,MAAOzE,WAAY7J,KAG5B68b,WAAY,SAAUx8Z,EAAIpzB,GAEzB,GAAmC,WAA9BtI,EAAG07B,GAAKze,IAAK,YACjB,OAAO,EAGR,IACC0jE,EADGktE,EAAWvlJ,GAAW,SAANA,EAAiB,aAAe,YAGpD,OAAKozB,EAAImyH,GAAW,IAOpBnyH,EAAImyH,GAAW,EACfltE,EAAQjlD,EAAImyH,GAAW,EACvBnyH,EAAImyH,GAAW,EACRltE,IAGRqoW,QAAS,WAER,IAAIhvO,EACH/9M,EAAIN,KAAKu+B,QACTjyB,EAAOtM,KACRA,KAAK8pL,UAAW,gBAEhBzlL,EAAE+wC,OAAQp1C,KAAM,CACfw8b,eAAkBl8b,EAAE8Q,YACpBA,YAAa9Q,EAAE8Q,YACfqrb,gBAAiBz8b,KAAK0a,QACtBgib,8BAA+B,GAC/B3D,QAASz4b,EAAEm2C,QAAUn2C,EAAE87b,OAAS97b,EAAE0d,QAAU1d,EAAEm2C,QAAU,sBAAwB,OAI5Ez2C,KAAK0a,QAAS,GAAI5G,SAAStK,MAAO,kDAEtCxJ,KAAK0a,QAAQuyY,KACZ5oZ,EAAG,4DAA6Did,IAAK,CACpEqhB,SAAU3iC,KAAK0a,QAAQ4G,IAAK,YAC5B1a,MAAO5G,KAAK0a,QAAQgoE,aACpB77E,OAAQ7G,KAAK0a,QAAQ+nE,cACrB1rC,IAAK/2C,KAAK0a,QAAQ4G,IAAK,OACvBu1B,KAAM72C,KAAK0a,QAAQ4G,IAAK,WAI1BthB,KAAK0a,QAAU1a,KAAK0a,QAAQ9H,SAAS5B,KACpC,eAAgBhR,KAAK0a,QAAQiib,UAAW,aAGzC38b,KAAK48b,kBAAmB,EAExBv+O,EAAU,CACTnwD,UAAWluJ,KAAKy8b,gBAAgBn7a,IAAK,aACrC0sI,YAAahuJ,KAAKy8b,gBAAgBn7a,IAAK,eACvC6sI,aAAcnuJ,KAAKy8b,gBAAgBn7a,IAAK,gBACxCysI,WAAY/tJ,KAAKy8b,gBAAgBn7a,IAAK,eAGvCthB,KAAK0a,QAAQ4G,IAAK+8L,GAClBr+M,KAAKy8b,gBAAgBn7a,IAAK,SAAU,GAIpCthB,KAAK68b,oBAAsB78b,KAAKy8b,gBAAgBn7a,IAAK,UACrDthB,KAAKy8b,gBAAgBn7a,IAAK,SAAU,QAEpCthB,KAAK08b,8BAA8B51b,KAAM9G,KAAKy8b,gBAAgBn7a,IAAK,CAClEqhB,SAAU,SACV0qC,KAAM,EACNjpD,QAAS,WAKVpkB,KAAKy8b,gBAAgBn7a,IAAK+8L,GAE1Br+M,KAAK88b,yBAGN98b,KAAK+8b,gBAEAz8b,EAAE2hF,UACN59E,EAAGrE,KAAK0a,SACNwgC,GAAI,cAAc,WACb56C,EAAEsoF,WAGPt8E,EAAKohb,aAAc,yBACnBphb,EAAK0wb,SAASjrY,WAEd7W,GAAI,cAAc,WACb56C,EAAEsoF,UAGDt8E,EAAK2wb,WACV3wb,EAAKw9K,UAAW,yBAChBx9K,EAAK0wb,SAASprY,WAKlB5xD,KAAKwzb,cAGN/F,SAAU,WAETztb,KAAK2zb,gBAEL,IAAI11R,EACHwvR,EAAW,SAAU9pS,GACpBt/I,EAAGs/I,GACD9iE,WAAY,aACZA,WAAY,gBACZj9B,IAAK,cACL0pB,KAAM,wBACLrtC,UAoBL,OAhBKjgC,KAAK48b,mBACTnP,EAAUztb,KAAK0a,SACfujJ,EAAUj+J,KAAK0a,QACf1a,KAAKy8b,gBAAgBn7a,IAAK,CACzBqhB,SAAUs7H,EAAQ38I,IAAK,YACvB1a,MAAOq3J,EAAQv7E,aACf77E,OAAQo3J,EAAQx7E,cAChB1rC,IAAKknH,EAAQ38I,IAAK,OAClBu1B,KAAMonH,EAAQ38I,IAAK,UAChBwoC,YAAam0G,GACjBA,EAAQh+H,UAGTjgC,KAAKy8b,gBAAgBn7a,IAAK,SAAUthB,KAAK68b,qBACzCpP,EAAUztb,KAAKy8b,iBAERz8b,MAGR6tb,WAAY,SAAUxwb,EAAKqC,GAG1B,OAFAM,KAAKinD,OAAQ5pD,EAAKqC,GAETrC,GACT,IAAK,UACJ2C,KAAKk9b,iBACLl9b,KAAK+8b,kBAOPA,cAAe,WACd,IAAsB1rY,EAAQx0D,EAAGgE,EAAGs8b,EAAO1rT,EAAvCnxI,EAAIN,KAAKu+B,QAAoCjyB,EAAOtM,KAexD,GAdAA,KAAKq8b,QAAU/7b,EAAE+7b,UACbh4b,EAAG,uBAAwBrE,KAAK0a,SAAU5d,OACjC,CACV+D,EAAG,kBACHE,EAAG,kBACHH,EAAG,kBACHo0B,EAAG,kBACHmqK,GAAI,mBACJuiC,GAAI,mBACJpkC,GAAI,mBACJ8/P,GAAI,oBARL,UAWFp9b,KAAKg9b,SAAW34b,IACXrE,KAAKq8b,QAAQ58b,cAAgBk4B,OASjC,IAPsB,QAAjB33B,KAAKq8b,UACTr8b,KAAKq8b,QAAU,uBAGhBx7b,EAAIb,KAAKq8b,QAAQ9vb,MAAO,KACxBvM,KAAKq8b,QAAU,GAETx/b,EAAI,EAAGA,EAAIgE,EAAE/D,OAAQD,IAG1Bsgc,EAAQ,iBADR9rY,EAAShtD,EAAEmD,KAAM3G,EAAGhE,KAEpB40I,EAAOptI,EAAG,SACVrE,KAAK8pL,UAAWr4C,EAAM,uBAAyB0rT,GAE/C1rT,EAAKnwH,IAAK,CAAE61B,OAAQ72C,EAAE62C,SAEtBn3C,KAAKq8b,QAAShrY,GAAW,iBAAmBA,EAC5CrxD,KAAK0a,QAAQ8yD,OAAQikE,GAKvBzxI,KAAKq9b,YAAc,SAAU1gc,GAE5B,IAAIE,EAAG40I,EAAM6rT,EAAQC,EAIrB,IAAM1gc,KAFNF,EAASA,GAAUqD,KAAK0a,QAEb1a,KAAKq8b,QAEVr8b,KAAKq8b,QAASx/b,GAAI4C,cAAgBk4B,OACtC33B,KAAKq8b,QAASx/b,GAAMmD,KAAK0a,QAAQlI,SAAUxS,KAAKq8b,QAASx/b,IAAMgsD,QAAQkJ,QAC5D/xD,KAAKq8b,QAASx/b,GAAI4+Y,QAAUz7Y,KAAKq8b,QAASx/b,GAAIgX,YACzD7T,KAAKq8b,QAASx/b,GAAMwH,EAAGrE,KAAKq8b,QAASx/b,IACrCmD,KAAKmtb,IAAKntb,KAAKq8b,QAASx/b,GAAK,CAAE,UAAayP,EAAKmnb,cAG7Czzb,KAAK48b,kBACR58b,KAAKy8b,gBAAiB,GACpB3ob,SACAtK,MAAO,uCACVioI,EAAOptI,EAAGrE,KAAKq8b,QAASx/b,GAAKmD,KAAK0a,SAElC6ib,EAAa,kBAAkBh7Z,KAAM1lC,GACpC40I,EAAKhvD,cACLgvD,EAAK/uD,aAEN46W,EAAS,CAAE,UACV,UAAU/6Z,KAAM1lC,GAAM,MACtB,UAAU0lC,KAAM1lC,GAAM,SACtB,MAAM0lC,KAAM1lC,GAAM,QAAU,QAASwP,KAAM,IAE5C1P,EAAO2kB,IAAKg8a,EAAQC,GAEpBv9b,KAAK88b,yBAGN98b,KAAKg9b,SAAWh9b,KAAKg9b,SAASzqZ,IAAKvyC,KAAKq8b,QAASx/b,KAKnDmD,KAAKq9b,YAAar9b,KAAK0a,SAEvB1a,KAAKg9b,SAAWh9b,KAAKg9b,SAASzqZ,IAAKvyC,KAAK0a,QAAQ4yD,KAAM,yBACtDttE,KAAKg9b,SAASrL,mBAEd3xb,KAAKg9b,SAAS9hZ,GAAI,aAAa,WACxB5uC,EAAK2wb,WACLj9b,KAAK2kB,YACT8sH,EAAOzxI,KAAK2kB,UAAUnb,MAAO,wCAE9B8C,EAAKmlI,KAAOA,GAAQA,EAAM,GAAMA,EAAM,GAAM,SAIzCnxI,EAAE2hF,WACNjiF,KAAKg9b,SAASprY,OACd5xD,KAAK8pL,UAAW,2BAIlBozQ,eAAgB,WACfl9b,KAAKg9b,SAAS/8Z,UAGfm0Z,cAAe,SAAU9ua,GACxB,IAAIzoB,EAAGw0D,EACNg8U,GAAU,EAEX,IAAMxwY,KAAKmD,KAAKq8b,UACfhrY,EAAShtD,EAAGrE,KAAKq8b,QAASx/b,IAAO,MACjByoB,EAAM3oB,QAAU0H,EAAE87C,SAAUkR,EAAQ/rC,EAAM3oB,WACzD0wY,GAAU,GAIZ,OAAQrtY,KAAKu+B,QAAQqqD,UAAYykT,GAGlConD,YAAa,SAAUnva,GAEtB,IAAIk4a,EAASC,EAAQ/8a,EACpBpgB,EAAIN,KAAKu+B,QACTwB,EAAK//B,KAAK0a,QAkDX,OAhDA1a,KAAKi9b,UAAW,EAEhBj9b,KAAK09b,eAELF,EAAUx9b,KAAKs8b,KAAMt8b,KAAKy2C,OAAOn1B,IAAK,SACtCm8a,EAASz9b,KAAKs8b,KAAMt8b,KAAKy2C,OAAOn1B,IAAK,QAEhChhB,EAAE+0b,cACNmI,GAAWn5b,EAAG/D,EAAE+0b,aAAch2Y,cAAgB,EAC9Co+Y,GAAUp5b,EAAG/D,EAAE+0b,aAAc/1Y,aAAe,GAG7Ct/C,KAAKiV,OAASjV,KAAKy2C,OAAOxhC,SAC1BjV,KAAK2iC,SAAW,CAAEkU,KAAM2mZ,EAASzmZ,IAAK0mZ,GAEtCz9b,KAAKklE,KAAOllE,KAAK+4b,QAAU,CACzBnyb,MAAO5G,KAAKy2C,OAAO7vC,QACnBC,OAAQ7G,KAAKy2C,OAAO5vC,UACjB,CACHD,MAAOm5B,EAAGn5B,QACVC,OAAQk5B,EAAGl5B,UAGb7G,KAAK+0I,aAAe/0I,KAAK+4b,QAAU,CACjCnyb,MAAOm5B,EAAG2iD,aACV77E,OAAQk5B,EAAG0iD,eACR,CACH77E,MAAOm5B,EAAGn5B,QACVC,OAAQk5B,EAAGl5B,UAGb7G,KAAK29b,SAAW,CACf/2b,MAAOm5B,EAAG2iD,aAAe3iD,EAAGn5B,QAC5BC,OAAQk5B,EAAG0iD,cAAgB1iD,EAAGl5B,UAG/B7G,KAAKg3b,iBAAmB,CAAEngZ,KAAM2mZ,EAASzmZ,IAAK0mZ,GAC9Cz9b,KAAK49b,sBAAwB,CAAE/mZ,KAAMvxB,EAAM89D,MAAOrsC,IAAKzxB,EAAM+9D,OAE7DrjF,KAAKoR,YAAyC,kBAAlB9Q,EAAE8Q,YAC7B9Q,EAAE8Q,YACEpR,KAAK+0I,aAAanuI,MAAQ5G,KAAK+0I,aAAaluI,QAAY,EAE7D6Z,EAASrc,EAAG,iBAAmBrE,KAAKyxI,MAAOnwH,IAAK,UAChDjd,EAAG,QAASid,IAAK,SAAqB,SAAXZ,EAAoB1gB,KAAKyxI,KAAO,UAAY/wH,GAEvE1gB,KAAK8pL,UAAW,yBAChB9pL,KAAK69b,WAAY,QAASv4a,IACnB,GAGRuva,WAAY,SAAUvva,GAErB,IAAItU,EAAMpU,EACTkhc,EAAM99b,KAAK49b,sBACXjxb,EAAI3M,KAAKyxI,KACT9sI,EAAO2gB,EAAM89D,MAAQ06W,EAAIjnZ,MAAU,EACnCjyC,EAAO0gB,EAAM+9D,MAAQy6W,EAAI/mZ,KAAS,EAClCirC,EAAUhiF,KAAK+9b,QAASpxb,GAIzB,OAFA3M,KAAKg+b,0BAECh8W,IAINhxE,EAAOgxE,EAAQ5hF,MAAOJ,KAAM,CAAEslB,EAAO3gB,EAAIC,IAEzC5E,KAAKi+b,yBAA0B34a,EAAM0xB,WAChCh3C,KAAKw8b,cAAgBl3a,EAAM0xB,YAC/BhmC,EAAOhR,KAAKk+b,aAAcltb,EAAMsU,IAGjCtU,EAAOhR,KAAKm+b,aAAcntb,EAAMsU,GAEhCtlB,KAAKo+b,aAAcptb,GAEnBhR,KAAK69b,WAAY,SAAUv4a,GAE3B1oB,EAAQoD,KAAKq+b,iBAEPr+b,KAAK+4b,SAAW/4b,KAAK08b,8BAA8B5/b,QACxDkD,KAAK88b,wBAGAz4b,EAAEu/E,cAAehnF,KACtBoD,KAAKg+b,wBACLh+b,KAAKutb,SAAU,SAAUjoa,EAAOtlB,KAAKi2C,MACrCj2C,KAAKq+b,kBAGC,IAGRvJ,WAAY,SAAUxva,GAErBtlB,KAAKi9b,UAAW,EAChB,IAAI7ga,EAAIkia,EAAMC,EAAUC,EAAU59b,EAAGi2C,EAAME,EAC1Cz2C,EAAIN,KAAKu+B,QAwCV,OAtCKv+B,KAAK+4b,UAITwF,GADAD,GADAlia,EAAKp8B,KAAK08b,+BACA5/b,QAAY,YAAcylC,KAAMnG,EAAI,GAAItoB,YAC/B9T,KAAKu8b,WAAYnga,EAAI,GAAK,QAAW,EAN/Bp8B,KAMwC29b,SAAS92b,OAC1E23b,EAAWF,EAAO,EAPOt+b,KAOE29b,SAAS/2b,MAEpChG,EAAI,CACHgG,MAVwB5G,KAUVy2C,OAAO7vC,QAAW43b,EAChC33b,OAXwB7G,KAWTy2C,OAAO5vC,SAAW03b,GAElC1nZ,EAASttC,WAbgBvJ,KAaC0a,QAAQ4G,IAAK,UAbdthB,KAcjB2iC,SAASkU,KAdQ72C,KAcIg3b,iBAAiBngZ,OAAY,KAC1DE,EAAQxtC,WAfiBvJ,KAeA0a,QAAQ4G,IAAK,SAfbthB,KAgBjB2iC,SAASoU,IAhBQ/2C,KAgBGg3b,iBAAiBjgZ,MAAW,KAElDz2C,EAAE0d,SACPhe,KAAK0a,QAAQ4G,IAAKjd,EAAE+wC,OAAQx0C,EAAG,CAAEm2C,IAAKA,EAAKF,KAAMA,KAnBzB72C,KAsBpBy2C,OAAO5vC,OAtBa7G,KAsBAklE,KAAKr+D,QAtBL7G,KAuBpBy2C,OAAO7vC,MAvBa5G,KAuBDklE,KAAKt+D,OAExB5G,KAAK+4b,UAAYz4b,EAAE0d,SACvBhe,KAAK88b,yBAIPz4b,EAAG,QAASid,IAAK,SAAU,QAE3BthB,KAAK0tb,aAAc,yBAEnB1tb,KAAK69b,WAAY,OAAQv4a,GAEpBtlB,KAAK+4b,SACT/4b,KAAKy2C,OAAOxW,UAGN,GAIR+9Z,sBAAuB,WACtBh+b,KAAKy+b,aAAe,CACnB1nZ,IAAK/2C,KAAK2iC,SAASoU,IACnBF,KAAM72C,KAAK2iC,SAASkU,MAErB72C,KAAK0+b,SAAW,CACf93b,MAAO5G,KAAKklE,KAAKt+D,MACjBC,OAAQ7G,KAAKklE,KAAKr+D,SAIpBw3b,cAAe,WACd,IAAIzhc,EAAQ,GAiBZ,OAfKoD,KAAK2iC,SAASoU,MAAQ/2C,KAAKy+b,aAAa1nZ,MAC5Cn6C,EAAMm6C,IAAM/2C,KAAK2iC,SAASoU,IAAM,MAE5B/2C,KAAK2iC,SAASkU,OAAS72C,KAAKy+b,aAAa5nZ,OAC7Cj6C,EAAMi6C,KAAO72C,KAAK2iC,SAASkU,KAAO,MAE9B72C,KAAKklE,KAAKt+D,QAAU5G,KAAK0+b,SAAS93b,QACtChK,EAAMgK,MAAQ5G,KAAKklE,KAAKt+D,MAAQ,MAE5B5G,KAAKklE,KAAKr+D,SAAW7G,KAAK0+b,SAAS73b,SACvCjK,EAAMiK,OAAS7G,KAAKklE,KAAKr+D,OAAS,MAGnC7G,KAAKy2C,OAAOn1B,IAAK1kB,GAEVA,GAGRqhc,yBAA0B,SAAUU,GACnC,IAAIC,EAAWC,EAAWC,EAAYC,EAAY70b,EACjD5J,EAAIN,KAAKu+B,QAEVr0B,EAAI,CACHwiD,SAAU1sD,KAAKinH,UAAW3mH,EAAEosD,UAAapsD,EAAEosD,SAAW,EACtD8yB,SAAUx/E,KAAKinH,UAAW3mH,EAAEk/E,UAAal/E,EAAEk/E,SAAW8Z,IACtD1sC,UAAW5sD,KAAKinH,UAAW3mH,EAAEssD,WAActsD,EAAEssD,UAAY,EACzD6yB,UAAWz/E,KAAKinH,UAAW3mH,EAAEm/E,WAAcn/E,EAAEm/E,UAAY6Z,MAGrDt5F,KAAKw8b,cAAgBmC,KACzBC,EAAY10b,EAAE0iD,UAAY5sD,KAAKoR,YAC/B0tb,EAAa50b,EAAEwiD,SAAW1sD,KAAKoR,YAC/Bytb,EAAY30b,EAAEu1E,UAAYz/E,KAAKoR,YAC/B2tb,EAAa70b,EAAEs1E,SAAWx/E,KAAKoR,YAE1Bwtb,EAAY10b,EAAEwiD,WAClBxiD,EAAEwiD,SAAWkyY,GAETE,EAAa50b,EAAE0iD,YACnB1iD,EAAE0iD,UAAYkyY,GAEVD,EAAY30b,EAAEs1E,WAClBt1E,EAAEs1E,SAAWq/W,GAETE,EAAa70b,EAAEu1E,YACnBv1E,EAAEu1E,UAAYs/W,IAGhB/+b,KAAKg/b,aAAe90b,GAGrBk0b,aAAc,SAAUptb,GACvBhR,KAAKiV,OAASjV,KAAKy2C,OAAOxhC,SACrBjV,KAAKinH,UAAWj2G,EAAK6lC,QACzB72C,KAAK2iC,SAASkU,KAAO7lC,EAAK6lC,MAEtB72C,KAAKinH,UAAWj2G,EAAK+lC,OACzB/2C,KAAK2iC,SAASoU,IAAM/lC,EAAK+lC,KAErB/2C,KAAKinH,UAAWj2G,EAAKnK,UACzB7G,KAAKklE,KAAKr+D,OAASmK,EAAKnK,QAEpB7G,KAAKinH,UAAWj2G,EAAKpK,SACzB5G,KAAKklE,KAAKt+D,MAAQoK,EAAKpK,QAIzBs3b,aAAc,SAAUltb,GAEvB,IAAIiub,EAAOj/b,KAAK2iC,SACfy/O,EAAQpiR,KAAKklE,KACbv4D,EAAI3M,KAAKyxI,KAiBV,OAfKzxI,KAAKinH,UAAWj2G,EAAKnK,QACzBmK,EAAKpK,MAAUoK,EAAKnK,OAAS7G,KAAKoR,YACvBpR,KAAKinH,UAAWj2G,EAAKpK,SAChCoK,EAAKnK,OAAWmK,EAAKpK,MAAQ5G,KAAKoR,aAGxB,OAANzE,IACJqE,EAAK6lC,KAAOooZ,EAAKpoZ,MAASurO,EAAMx7Q,MAAQoK,EAAKpK,OAC7CoK,EAAK+lC,IAAM,MAED,OAANpqC,IACJqE,EAAK+lC,IAAMkoZ,EAAKloZ,KAAQqrO,EAAMv7Q,OAASmK,EAAKnK,QAC5CmK,EAAK6lC,KAAOooZ,EAAKpoZ,MAASurO,EAAMx7Q,MAAQoK,EAAKpK,QAGvCoK,GAGRmtb,aAAc,SAAUntb,GAEvB,IAAI1Q,EAAIN,KAAKg/b,aACZryb,EAAI3M,KAAKyxI,KACTytT,EAASl/b,KAAKinH,UAAWj2G,EAAKpK,QAAWtG,EAAEk/E,UAAcl/E,EAAEk/E,SAAWxuE,EAAKpK,MAC3Eu4b,EAASn/b,KAAKinH,UAAWj2G,EAAKnK,SAAYvG,EAAEm/E,WAAen/E,EAAEm/E,UAAYzuE,EAAKnK,OAC9Eu4b,EAASp/b,KAAKinH,UAAWj2G,EAAKpK,QAAWtG,EAAEosD,UAAcpsD,EAAEosD,SAAW17C,EAAKpK,MAC3Ey4b,EAASr/b,KAAKinH,UAAWj2G,EAAKnK,SAAYvG,EAAEssD,WAAetsD,EAAEssD,UAAY57C,EAAKnK,OAC9EhC,EAAK7E,KAAKg3b,iBAAiBngZ,KAAO72C,KAAK+0I,aAAanuI,MACpD9B,EAAK9E,KAAKg3b,iBAAiBjgZ,IAAM/2C,KAAK+0I,aAAaluI,OACnDojE,EAAK,UAAU1nC,KAAM51B,GAAKu5B,EAAK,UAAU3D,KAAM51B,GAkChD,OAjCKyyb,IACJpub,EAAKpK,MAAQtG,EAAEosD,UAEX2yY,IACJrub,EAAKnK,OAASvG,EAAEssD,WAEZsyY,IACJlub,EAAKpK,MAAQtG,EAAEk/E,UAEX2/W,IACJnub,EAAKnK,OAASvG,EAAEm/E,WAGZ2/W,GAAUn1X,IACdj5D,EAAK6lC,KAAOhyC,EAAKvE,EAAEosD,UAEfwyY,GAAUj1X,IACdj5D,EAAK6lC,KAAOhyC,EAAKvE,EAAEk/E,UAEf6/W,GAAUn5Z,IACdl1B,EAAK+lC,IAAMjyC,EAAKxE,EAAEssD,WAEduyY,GAAUj5Z,IACdl1B,EAAK+lC,IAAMjyC,EAAKxE,EAAEm/E,WAIbzuE,EAAKpK,OAAUoK,EAAKnK,QAAWmK,EAAK6lC,OAAQ7lC,EAAK+lC,IAE1C/lC,EAAKpK,OAAUoK,EAAKnK,QAAWmK,EAAK+lC,MAAO/lC,EAAK6lC,OAC5D7lC,EAAK6lC,KAAO,MAFZ7lC,EAAK+lC,IAAM,KAKL/lC,GAGRsub,gCAAiC,SAAU5kb,GAgB1C,IAfA,IAAI7d,EAAI,EACPwhD,EAAS,GACTm2U,EAAU,CACT95W,EAAQ4G,IAAK,kBACb5G,EAAQ4G,IAAK,oBACb5G,EAAQ4G,IAAK,qBACb5G,EAAQ4G,IAAK,oBAEdi+a,EAAW,CACV7kb,EAAQ4G,IAAK,cACb5G,EAAQ4G,IAAK,gBACb5G,EAAQ4G,IAAK,iBACb5G,EAAQ4G,IAAK,gBAGPzkB,EAAI,EAAGA,IACdwhD,EAAQxhD,GAAQ0M,WAAYirX,EAAS33X,KAAS,EAC9CwhD,EAAQxhD,IAAS0M,WAAYg2b,EAAU1ic,KAAS,EAGjD,MAAO,CACNgK,OAAQw3C,EAAQ,GAAMA,EAAQ,GAC9Bz3C,MAAOy3C,EAAQ,GAAMA,EAAQ,KAI/By+Y,sBAAuB,WAEtB,GAAM98b,KAAK08b,8BAA8B5/b,OAQzC,IAJA,IAAI0ic,EACH3ic,EAAI,EACJ6d,EAAU1a,KAAKy2C,QAAUz2C,KAAK0a,QAEvB7d,EAAImD,KAAK08b,8BAA8B5/b,OAAQD,IAEtD2ic,EAAOx/b,KAAK08b,8BAA+B7/b,GAIrCmD,KAAKy/b,kBACVz/b,KAAKy/b,gBAAkBz/b,KAAKs/b,gCAAiCE,IAG9DA,EAAKl+a,IAAK,CACTza,OAAU6T,EAAQ7T,SAAW7G,KAAKy/b,gBAAgB54b,QAAY,EAC9DD,MAAS8T,EAAQ9T,QAAU5G,KAAKy/b,gBAAgB74b,OAAW,KAO9D82b,aAAc,WAEb,IAAI39Z,EAAK//B,KAAK0a,QAASpa,EAAIN,KAAKu+B,QAChCv+B,KAAK0/b,cAAgB3/Z,EAAG9qB,SAEnBjV,KAAK+4b,SAET/4b,KAAKy2C,OAASz2C,KAAKy2C,QAAUpyC,EAAG,wCAEhCrE,KAAK8pL,UAAW9pL,KAAKy2C,OAAQz2C,KAAK+4b,SAClC/4b,KAAKy2C,OAAOn1B,IAAK,CAChB1a,MAAO5G,KAAK0a,QAAQgoE,aACpB77E,OAAQ7G,KAAK0a,QAAQ+nE,cACrB9/C,SAAU,WACVkU,KAAM72C,KAAK0/b,cAAc7oZ,KAAO,KAChCE,IAAK/2C,KAAK0/b,cAAc3oZ,IAAM,KAC9BI,SAAU72C,EAAE62C,SAGbn3C,KAAKy2C,OACHS,SAAU,QACVy6Y,oBAGF3xb,KAAKy2C,OAASz2C,KAAK0a,SAKrBqjb,QAAS,CACRh9b,EAAG,SAAUukB,EAAO3gB,GACnB,MAAO,CAAEiC,MAAO5G,KAAK+0I,aAAanuI,MAAQjC,IAE3CqwB,EAAG,SAAU1P,EAAO3gB,GACnB,IAAIgnC,EAAK3rC,KAAK+0I,aACd,MAAO,CAAEl+F,KADwB72C,KAAKg3b,iBACpBngZ,KAAOlyC,EAAIiC,MAAO+kC,EAAG/kC,MAAQjC,IAEhD9D,EAAG,SAAUykB,EAAO3gB,EAAIC,GACvB,IAAI+mC,EAAK3rC,KAAK+0I,aACd,MAAO,CAAEh+F,IADwB/2C,KAAKg3b,iBACrBjgZ,IAAMnyC,EAAIiC,OAAQ8kC,EAAG9kC,OAASjC,IAEhDhE,EAAG,SAAU0kB,EAAO3gB,EAAIC,GACvB,MAAO,CAAEiC,OAAQ7G,KAAK+0I,aAAaluI,OAASjC,IAE7Cu6L,GAAI,SAAU75K,EAAO3gB,EAAIC,GACxB,OAAOP,EAAE+wC,OAAQp1C,KAAK+9b,QAAQn9b,EAAER,MAAOJ,KAAMG,WAC5CH,KAAK+9b,QAAQh9b,EAAEX,MAAOJ,KAAM,CAAEslB,EAAO3gB,EAAIC,MAE3C88N,GAAI,SAAUp8M,EAAO3gB,EAAIC,GACxB,OAAOP,EAAE+wC,OAAQp1C,KAAK+9b,QAAQn9b,EAAER,MAAOJ,KAAMG,WAC5CH,KAAK+9b,QAAQ/oa,EAAE50B,MAAOJ,KAAM,CAAEslB,EAAO3gB,EAAIC,MAE3C04L,GAAI,SAAUh4K,EAAO3gB,EAAIC,GACxB,OAAOP,EAAE+wC,OAAQp1C,KAAK+9b,QAAQl9b,EAAET,MAAOJ,KAAMG,WAC5CH,KAAK+9b,QAAQh9b,EAAEX,MAAOJ,KAAM,CAAEslB,EAAO3gB,EAAIC,MAE3Cw4b,GAAI,SAAU93a,EAAO3gB,EAAIC,GACxB,OAAOP,EAAE+wC,OAAQp1C,KAAK+9b,QAAQl9b,EAAET,MAAOJ,KAAMG,WAC5CH,KAAK+9b,QAAQ/oa,EAAE50B,MAAOJ,KAAM,CAAEslB,EAAO3gB,EAAIC,OAI5Ci5b,WAAY,SAAUh9b,EAAGykB,GACxBjhB,EAAE4xC,GAAG6jH,OAAO93J,KAAMhC,KAAMa,EAAG,CAAEykB,EAAOtlB,KAAKi2C,OACjC,WAANp1C,GAAkBb,KAAKutb,SAAU1sb,EAAGykB,EAAOtlB,KAAKi2C,OAGnD8+Y,QAAS,GAET9+Y,GAAI,WACH,MAAO,CACNwmZ,gBAAiBz8b,KAAKy8b,gBACtB/hb,QAAS1a,KAAK0a,QACd+7B,OAAQz2C,KAAKy2C,OACb9T,SAAU3iC,KAAK2iC,SACfuiC,KAAMllE,KAAKklE,KACX6vE,aAAc/0I,KAAK+0I,aACnBiiT,iBAAkBh3b,KAAKg3b,qBAU1B3yb,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,UAAW,CAExC9uC,KAAM,SAAU6hB,GACf,IAAIhZ,EAAOjI,EAAGrE,MAAO28b,UAAW,YAC/Br8b,EAAIgM,EAAKiyB,QACTnC,EAAK9vB,EAAKowb,8BACV4B,EAAOlia,EAAGt/B,QAAY,YAAcylC,KAAMnG,EAAI,GAAItoB,UAClDyqb,EAAWD,GAAQhyb,EAAKiwb,WAAYnga,EAAI,GAAK,QAAW,EAAI9vB,EAAKqxb,SAAS92b,OAC1E23b,EAAWF,EAAO,EAAIhyb,EAAKqxb,SAAS/2b,MACpC8L,EAAQ,CACP9L,MAAS0F,EAAK44D,KAAKt+D,MAAQ43b,EAC3B33b,OAAUyF,EAAK44D,KAAKr+D,OAAS03b,GAE9B1nZ,EAASttC,WAAY+C,EAAKoO,QAAQ4G,IAAK,UACpChV,EAAKq2B,SAASkU,KAAOvqC,EAAK0qb,iBAAiBngZ,OAAY,KAC1DE,EAAQxtC,WAAY+C,EAAKoO,QAAQ4G,IAAK,SACnChV,EAAKq2B,SAASoU,IAAMzqC,EAAK0qb,iBAAiBjgZ,MAAW,KAEzDzqC,EAAKoO,QAAQsD,QACZ3Z,EAAE+wC,OAAQ1iC,EAAOqkC,GAAOF,EAAO,CAAEE,IAAKA,EAAKF,KAAMA,GAAS,IAAM,CAC/Dr6B,SAAUlc,EAAE47b,gBACZtla,OAAQt2B,EAAE67b,cACV76b,KAAM,WAEL,IAAI0P,EAAO,CACVpK,MAAO2C,WAAY+C,EAAKoO,QAAQ4G,IAAK,UACrCza,OAAQ0C,WAAY+C,EAAKoO,QAAQ4G,IAAK,WACtCy1B,IAAKxtC,WAAY+C,EAAKoO,QAAQ4G,IAAK,QACnCu1B,KAAMttC,WAAY+C,EAAKoO,QAAQ4G,IAAK,UAGhC8a,GAAMA,EAAGt/B,QACbuH,EAAG+3B,EAAI,IAAM9a,IAAK,CAAE1a,MAAOoK,EAAKpK,MAAOC,OAAQmK,EAAKnK,SAIrDyF,EAAK8xb,aAAcptb,GACnB1E,EAAKuxb,WAAY,SAAUv4a,SAShCjhB,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,cAAe,CAE5Cz6B,MAAO,WACN,IAAI4C,EAASzX,EAAG08N,EAAIz5L,EAAI+jC,EAAIrjE,EAAOC,EAClCyF,EAAOjI,EAAGrE,MAAO28b,UAAW,YAC5Br8b,EAAIgM,EAAKiyB,QACTwB,EAAKzzB,EAAKoO,QACV06M,EAAK90N,EAAE+0b,YACP91P,EAAO61B,aAAc/wN,EACpB+wN,EAAG9yN,IAAK,GACN,SAASigC,KAAM6yL,GAASr1L,EAAGntB,SAAStQ,IAAK,GAAM8yN,EAE7C71B,IAINjzL,EAAKqzb,iBAAmBt7b,EAAGk7L,GAEtB,WAAWh9J,KAAM6yL,IAAQA,IAAO9xN,UACpCgJ,EAAKyrK,gBAAkB,CACtBlhI,KAAM,EACNE,IAAK,GAENzqC,EAAKszb,kBAAoB,CACxB/oZ,KAAM,EACNE,IAAK,GAGNzqC,EAAKuzb,WAAa,CACjBnlb,QAASrW,EAAGf,UACZuzC,KAAM,EACNE,IAAK,EACLnwC,MAAOvC,EAAGf,UAAWsD,QACrBC,OAAQxC,EAAGf,UAAWuD,UAAYvD,SAAS+gB,KAAKsB,WAAW03J,gBAG5D3iK,EAAUrW,EAAGk7L,GACbt8L,EAAI,GACJoB,EAAG,CAAE,MAAO,QAAS,OAAQ,WAAawvB,MAAM,SAAUh3B,EAAGuF,GAC5Da,EAAGpG,GAAMyP,EAAKgwb,KAAM5hb,EAAQ4G,IAAK,UAAYlf,OAG9CkK,EAAKyrK,gBAAkBr9J,EAAQzF,SAC/B3I,EAAKszb,kBAAoBllb,EAAQioB,WACjCr2B,EAAKwzb,cAAgB,CACpBj5b,OAAU6T,EAAQ4zI,cAAgBrrJ,EAAG,GACrC2D,MAAS8T,EAAQ2zI,aAAeprJ,EAAG,IAGpC08N,EAAKrzN,EAAKyrK,gBACV7xI,EAAK55B,EAAKwzb,cAAcj5b,OACxBojE,EAAK39D,EAAKwzb,cAAcl5b,MACxBA,EAAU0F,EAAKiwb,WAAah9P,EAAI,QAAWA,EAAG7nG,YAAcztB,EAC5DpjE,EAAWyF,EAAKiwb,WAAah9P,GAAOA,EAAGliB,aAAen3I,EAEtD55B,EAAKuzb,WAAa,CACjBnlb,QAAS6kL,EACT1oJ,KAAM8oL,EAAG9oL,KACTE,IAAK4oL,EAAG5oL,IACRnwC,MAAOA,EACPC,OAAQA,MAKXkiE,OAAQ,SAAUzjD,GACjB,IAAIy6a,EAAOC,EAAOC,EAAUC,EAC3B5zb,EAAOjI,EAAGrE,MAAO28b,UAAW,YAC5Br8b,EAAIgM,EAAKiyB,QACTohM,EAAKrzN,EAAKyrK,gBACVt+J,EAAKnN,EAAKq2B,SACVw9Z,EAAS7zb,EAAKkwb,cAAgBl3a,EAAM0xB,SACpCopZ,EAAM,CACLrpZ,IAAK,EACLF,KAAM,GAEP0oJ,EAAKjzL,EAAKqzb,iBACVU,GAAiB,EAEb9gQ,EAAI,KAAQj8L,UAAc,SAAWi/B,KAAMg9J,EAAGj+K,IAAK,eACvD8+a,EAAMzgO,GAGFlmN,EAAGo9B,MAASvqC,EAAKysb,QAAUp5N,EAAG9oL,KAAO,KACzCvqC,EAAK44D,KAAKt+D,MAAQ0F,EAAK44D,KAAKt+D,OACzB0F,EAAKysb,QACJzsb,EAAKq2B,SAASkU,KAAO8oL,EAAG9oL,KACxBvqC,EAAKq2B,SAASkU,KAAOupZ,EAAIvpZ,MAExBspZ,IACJ7zb,EAAK44D,KAAKr+D,OAASyF,EAAK44D,KAAKt+D,MAAQ0F,EAAK8E,YAC1Civb,GAAiB,GAElB/zb,EAAKq2B,SAASkU,KAAOv2C,EAAEm2C,OAASkpL,EAAG9oL,KAAO,GAGtCp9B,EAAGs9B,KAAQzqC,EAAKysb,QAAUp5N,EAAG5oL,IAAM,KACvCzqC,EAAK44D,KAAKr+D,OAASyF,EAAK44D,KAAKr+D,QAC1ByF,EAAKysb,QACJzsb,EAAKq2B,SAASoU,IAAM4oL,EAAG5oL,IACzBzqC,EAAKq2B,SAASoU,KAEXopZ,IACJ7zb,EAAK44D,KAAKt+D,MAAQ0F,EAAK44D,KAAKr+D,OAASyF,EAAK8E,YAC1Civb,GAAiB,GAElB/zb,EAAKq2B,SAASoU,IAAMzqC,EAAKysb,QAAUp5N,EAAG5oL,IAAM,GAG7CkpZ,EAAW3zb,EAAKqzb,iBAAiBr9b,IAAK,KAAQgK,EAAKoO,QAAQ9H,SAAStQ,IAAK,GACzE49b,EAAmB,oBAAoB39Z,KAAMj2B,EAAKqzb,iBAAiBr+a,IAAK,aAEnE2+a,GAAYC,GAChB5zb,EAAK2I,OAAO4hC,KAAOvqC,EAAKuzb,WAAWhpZ,KAAOvqC,EAAKq2B,SAASkU,KACxDvqC,EAAK2I,OAAO8hC,IAAMzqC,EAAKuzb,WAAW9oZ,IAAMzqC,EAAKq2B,SAASoU,MAEtDzqC,EAAK2I,OAAO4hC,KAAOvqC,EAAKoO,QAAQzF,SAAS4hC,KACzCvqC,EAAK2I,OAAO8hC,IAAMzqC,EAAKoO,QAAQzF,SAAS8hC,KAGzCgpZ,EAAQ54b,KAAKwjD,IAAKr+C,EAAKqxb,SAAS/2b,OAC7B0F,EAAKysb,QACNzsb,EAAK2I,OAAO4hC,KAAOupZ,EAAIvpZ,KACrBvqC,EAAK2I,OAAO4hC,KAAO8oL,EAAG9oL,OAE1BmpZ,EAAQ74b,KAAKwjD,IAAKr+C,EAAKqxb,SAAS92b,QAC7ByF,EAAKysb,QACNzsb,EAAK2I,OAAO8hC,IAAMqpZ,EAAIrpZ,IACpBzqC,EAAK2I,OAAO8hC,IAAM4oL,EAAG5oL,MAEpBgpZ,EAAQzzb,EAAK44D,KAAKt+D,OAAS0F,EAAKuzb,WAAWj5b,QAC/C0F,EAAK44D,KAAKt+D,MAAQ0F,EAAKuzb,WAAWj5b,MAAQm5b,EACrCI,IACJ7zb,EAAK44D,KAAKr+D,OAASyF,EAAK44D,KAAKt+D,MAAQ0F,EAAK8E,YAC1Civb,GAAiB,IAIdL,EAAQ1zb,EAAK44D,KAAKr+D,QAAUyF,EAAKuzb,WAAWh5b,SAChDyF,EAAK44D,KAAKr+D,OAASyF,EAAKuzb,WAAWh5b,OAASm5b,EACvCG,IACJ7zb,EAAK44D,KAAKt+D,MAAQ0F,EAAK44D,KAAKr+D,OAASyF,EAAK8E,YAC1Civb,GAAiB,IAIbA,IACL/zb,EAAKq2B,SAASkU,KAAOvqC,EAAKmyb,aAAa5nZ,KACvCvqC,EAAKq2B,SAASoU,IAAMzqC,EAAKmyb,aAAa1nZ,IACtCzqC,EAAK44D,KAAKt+D,MAAQ0F,EAAKoyb,SAAS93b,MAChC0F,EAAK44D,KAAKr+D,OAASyF,EAAKoyb,SAAS73b,SAInCpD,KAAM,WACL,IAAI6I,EAAOjI,EAAGrE,MAAO28b,UAAW,YAC/Br8b,EAAIgM,EAAKiyB,QACTohM,EAAKrzN,EAAKyrK,gBACVqoR,EAAM9zb,EAAKszb,kBACXrgQ,EAAKjzL,EAAKqzb,iBACVlpZ,EAASpyC,EAAGiI,EAAKmqC,QACjB6pZ,EAAK7pZ,EAAOxhC,SACZ+f,EAAIyhB,EAAOisC,aAAep2E,EAAKqxb,SAAS/2b,MACxCotB,EAAIyiB,EAAOgsC,cAAgBn2E,EAAKqxb,SAAS92b,OAErCyF,EAAKysb,UAAYz4b,EAAE0d,SAAa,WAAaukB,KAAMg9J,EAAGj+K,IAAK,cAC/Djd,EAAGrE,MAAOshB,IAAK,CACdu1B,KAAMypZ,EAAGzpZ,KAAOupZ,EAAIvpZ,KAAO8oL,EAAG9oL,KAC9BjwC,MAAOouB,EACPnuB,OAAQmtB,IAIL1nB,EAAKysb,UAAYz4b,EAAE0d,SAAa,SAAWukB,KAAMg9J,EAAGj+K,IAAK,cAC7Djd,EAAGrE,MAAOshB,IAAK,CACdu1B,KAAMypZ,EAAGzpZ,KAAOupZ,EAAIvpZ,KAAO8oL,EAAG9oL,KAC9BjwC,MAAOouB,EACPnuB,OAAQmtB,OAMZ3vB,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,aAAc,CAE3Cz6B,MAAO,WACN,IACCxX,EADU+D,EAAGrE,MAAO28b,UAAW,YACtBp+Z,QAEVl6B,EAAG/D,EAAE27b,YAAapoa,MAAM,WACvB,IAAIkM,EAAK17B,EAAGrE,MACZ+/B,EAAG/uB,KAAM,0BAA2B,CACnCpK,MAAO2C,WAAYw2B,EAAGn5B,SAAWC,OAAQ0C,WAAYw2B,EAAGl5B,UACxDgwC,KAAMttC,WAAYw2B,EAAGze,IAAK,SAAYy1B,IAAKxtC,WAAYw2B,EAAGze,IAAK,cAKlEynD,OAAQ,SAAUzjD,EAAO2wB,GACxB,IAAI3pC,EAAOjI,EAAGrE,MAAO28b,UAAW,YAC/Br8b,EAAIgM,EAAKiyB,QACT+pO,EAAKh8P,EAAKyoI,aACVjxD,EAAKx3E,EAAK0qb,iBACV75a,EAAQ,CACPtW,OAAUyF,EAAK44D,KAAKr+D,OAASyhQ,EAAGzhQ,QAAY,EAC5CD,MAAS0F,EAAK44D,KAAKt+D,MAAQ0hQ,EAAG1hQ,OAAW,EACzCmwC,IAAOzqC,EAAKq2B,SAASoU,IAAM+sC,EAAG/sC,KAAS,EACvCF,KAAQvqC,EAAKq2B,SAASkU,KAAOitC,EAAGjtC,MAAU,GAG3CxyC,EAAG/D,EAAE27b,YAAapoa,MAAM,WACvB,IAAIkM,EAAK17B,EAAGrE,MAAQ8X,EAAQzT,EAAGrE,MAAOgR,KAAM,2BAA6B0B,EAAQ,GAChF4O,EAAMye,EAAGywH,QAASv6G,EAAGwmZ,gBAAiB,IAAM3/b,OAC1C,CAAE,QAAS,UACX,CAAE,QAAS,SAAU,MAAO,QAE/BuH,EAAEwvB,KAAMvS,GAAK,SAAUzkB,EAAG2I,GACzB,IAAIsjG,GAAQhxF,EAAOtS,IAAU,IAAQ2X,EAAO3X,IAAU,GACjDsjG,GAAOA,GAAO,IAClBp2F,EAAOlN,GAASsjG,GAAO,SAIzB/oE,EAAGze,IAAK5O,OAIXjP,KAAM,WACLY,EAAGrE,MAAO6gF,WAAY,8BAIxBx8E,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,QAAS,CAEtCz6B,MAAO,WAEN,IAAIxL,EAAOjI,EAAGrE,MAAO28b,UAAW,YAAchxZ,EAAKr/B,EAAK44D,KAExD54D,EAAK8vb,MAAQ9vb,EAAKmwb,gBAAgB7oa,QAClCtnB,EAAK8vb,MAAM96a,IAAK,CACfynC,QAAS,IACT3kC,QAAS,QACTue,SAAU,WACV97B,OAAQ8kC,EAAG9kC,OACXD,MAAO+kC,EAAG/kC,MACV61E,OAAQ,EACR5lC,KAAM,EACNE,IAAK,IAGNzqC,EAAKw9K,UAAWx9K,EAAK8vb,MAAO,uBAIJ,IAAnB/3b,EAAEy3b,cAAwD,kBAAvBxvb,EAAKiyB,QAAQ69Z,OAGpD9vb,EAAK8vb,MAAM9kZ,SAAUt3C,KAAKu+B,QAAQ69Z,OAGnC9vb,EAAK8vb,MAAMllZ,SAAU5qC,EAAKmqC,SAI3BsyB,OAAQ,WACP,IAAIz8D,EAAOjI,EAAGrE,MAAO28b,UAAW,YAC3Brwb,EAAK8vb,OACT9vb,EAAK8vb,MAAM96a,IAAK,CACfqhB,SAAU,WACV97B,OAAQyF,EAAK44D,KAAKr+D,OAClBD,MAAO0F,EAAK44D,KAAKt+D,SAKpBnD,KAAM,WACL,IAAI6I,EAAOjI,EAAGrE,MAAO28b,UAAW,YAC3Brwb,EAAK8vb,OAAS9vb,EAAKmqC,QACvBnqC,EAAKmqC,OAAOn0C,IAAK,GAAIiiB,YAAajY,EAAK8vb,MAAM95b,IAAK,OAMrD+B,EAAE4xC,GAAG6jH,OAAOvnH,IAAK,YAAa,OAAQ,CAErCw2B,OAAQ,WACP,IAAI02X,EACHnzb,EAAOjI,EAAGrE,MAAO28b,UAAW,YAC5Br8b,EAAIgM,EAAKiyB,QACToN,EAAKr/B,EAAK44D,KACVojM,EAAKh8P,EAAKyoI,aACVjxD,EAAKx3E,EAAK0qb,iBACVrqb,EAAIL,EAAKmlI,KACTz8D,EAAyB,kBAAX10E,EAAE00E,KAAoB,CAAE10E,EAAE00E,KAAM10E,EAAE00E,MAAS10E,EAAE00E,KAC3DurX,EAAUvrX,EAAM,IAAO,EACvBwrX,EAAUxrX,EAAM,IAAO,EACvBlmB,EAAK3nD,KAAKi9G,OAASz4E,EAAG/kC,MAAQ0hQ,EAAG1hQ,OAAU25b,GAAUA,EACrDxxY,EAAK5nD,KAAKi9G,OAASz4E,EAAG9kC,OAASyhQ,EAAGzhQ,QAAW25b,GAAUA,EACvDv9X,EAAWqlM,EAAG1hQ,MAAQkoD,EACtBoU,EAAYolM,EAAGzhQ,OAASkoD,EACxB0xY,EAAangc,EAAEk/E,UAAcl/E,EAAEk/E,SAAWvc,EAC1Cy9X,EAAcpgc,EAAEm/E,WAAen/E,EAAEm/E,UAAYvc,EAC7Cy9X,EAAargc,EAAEosD,UAAcpsD,EAAEosD,SAAWuW,EAC1C29X,EAActgc,EAAEssD,WAAetsD,EAAEssD,UAAYsW,EAE9C5iE,EAAE00E,KAAOA,EAEJ2rX,IACJ19X,GAAYs9X,GAERK,IACJ19X,GAAas9X,GAETC,IACJx9X,GAAYs9X,GAERG,IACJx9X,GAAas9X,GAGT,aAAaj+Z,KAAM51B,IACvBL,EAAK44D,KAAKt+D,MAAQq8D,EAClB32D,EAAK44D,KAAKr+D,OAASq8D,GACR,SAAS3gC,KAAM51B,IAC1BL,EAAK44D,KAAKt+D,MAAQq8D,EAClB32D,EAAK44D,KAAKr+D,OAASq8D,EACnB52D,EAAKq2B,SAASoU,IAAM+sC,EAAG/sC,IAAMgY,GAClB,SAASxsB,KAAM51B,IAC1BL,EAAK44D,KAAKt+D,MAAQq8D,EAClB32D,EAAK44D,KAAKr+D,OAASq8D,EACnB52D,EAAKq2B,SAASkU,KAAOitC,EAAGjtC,KAAOiY,KAE1BoU,EAAYs9X,GAAS,GAAKv9X,EAAWs9X,GAAS,KAClDd,EAAkBnzb,EAAKgzb,gCAAiCt/b,OAGpDkjE,EAAYs9X,EAAQ,GACxBl0b,EAAK44D,KAAKr+D,OAASq8D,EACnB52D,EAAKq2B,SAASoU,IAAM+sC,EAAG/sC,IAAMgY,IAE7BmU,EAAYs9X,EAAQf,EAAgB54b,OACpCyF,EAAK44D,KAAKr+D,OAASq8D,EACnB52D,EAAKq2B,SAASoU,IAAM+sC,EAAG/sC,IAAMuxN,EAAGzhQ,OAASq8D,GAErCD,EAAWs9X,EAAQ,GACvBj0b,EAAK44D,KAAKt+D,MAAQq8D,EAClB32D,EAAKq2B,SAASkU,KAAOitC,EAAGjtC,KAAOiY,IAE/BmU,EAAWs9X,EAAQd,EAAgB74b,MACnC0F,EAAK44D,KAAKt+D,MAAQq8D,EAClB32D,EAAKq2B,SAASkU,KAAOitC,EAAGjtC,KAAOyxN,EAAG1hQ,MAAQq8D,OAOvB5+D,EAAE4xC,GAAG0mZ,UAqBJt4b,EAAE88E,OAAQ,gBAAiB98E,EAAE4xC,GAAGi/Y,MAAO,CAC9DtmZ,QAAS,SACTrQ,QAAS,CACR2Y,SAAU,OACV2pZ,aAAa,EACbv5X,SAAU,EACVr0D,OAAQ,IACR4kE,UAAW,QAGXwQ,SAAU,KACVy4W,UAAW,KACXhpb,MAAO,KACPrU,KAAM,KACNs9b,WAAY,KACZC,YAAa,MAEd3T,QAAS,WACR,IAAI/gb,EAAOtM,KAEXA,KAAK8pL,UAAW,iBAEhB9pL,KAAKihc,SAAU,EAGfjhc,KAAK4pC,QAAU,WACdt9B,EAAK40b,WAAa78b,EAAGiI,EAAKoO,QAAS,IAAMzF,SACzC3I,EAAK60b,UAAY98b,EAAGiI,EAAKiyB,QAAQtrB,OAAQ3G,EAAKoO,QAAS,IACvDpO,EAAKw9K,UAAWx9K,EAAK60b,UAAW,eAChC70b,EAAK60b,UAAUtta,MAAM,WACpB,IAAI4vD,EAAQp/E,EAAGrE,MACdohc,EAAiB39W,EAAMxuE,SACvBk+B,EAAM,CACL0D,KAAMuqZ,EAAevqZ,KAAOvqC,EAAK40b,WAAWrqZ,KAC5CE,IAAKqqZ,EAAerqZ,IAAMzqC,EAAK40b,WAAWnqZ,KAE5C1yC,EAAE2M,KAAMhR,KAAM,kBAAmB,CAChC0a,QAAS1a,KACTqhc,SAAU59W,EACV5sC,KAAM1D,EAAI0D,KACVE,IAAK5D,EAAI4D,IACT8rC,MAAO1vC,EAAI0D,KAAO4sC,EAAMf,aACxBE,OAAQzvC,EAAI4D,IAAM0sC,EAAMhB,cACxB6+W,eAAe,EACfj5W,SAAU5E,EAAMC,SAAU,eAC1Bo9W,UAAWr9W,EAAMC,SAAU,gBAC3Bs9W,YAAav9W,EAAMC,SAAU,wBAIhC1jF,KAAK4pC,UAEL5pC,KAAKwzb,aAELxzb,KAAKy2C,OAASpyC,EAAG,SACjBrE,KAAK8pL,UAAW9pL,KAAKy2C,OAAQ,yBAG9Bg3Y,SAAU,WACTztb,KAAKmhc,UAAUtgX,WAAY,mBAC3B7gF,KAAK2zb,iBAGNc,YAAa,SAAUnva,GACtB,IAAIhZ,EAAOtM,KACVu+B,EAAUv+B,KAAKu+B,QAEhBv+B,KAAKuhc,KAAO,CAAEj8a,EAAM89D,MAAO99D,EAAM+9D,OACjCrjF,KAAKkhc,WAAa78b,EAAGrE,KAAK0a,QAAS,IAAMzF,SAEpCjV,KAAKu+B,QAAQqqD,WAIlB5oF,KAAKmhc,UAAY98b,EAAGk6B,EAAQtrB,OAAQjT,KAAK0a,QAAS,IAElD1a,KAAKutb,SAAU,QAASjoa,GAExBjhB,EAAGk6B,EAAQ2Y,UAAWs2B,OAAQxtE,KAAKy2C,QAGnCz2C,KAAKy2C,OAAOn1B,IAAK,CAChB,KAAQgE,EAAM89D,MACd,IAAO99D,EAAM+9D,MACb,MAAS,EACT,OAAU,IAGN9kD,EAAQsia,aACZ7gc,KAAK4pC,UAGN5pC,KAAKmhc,UAAUlub,OAAQ,gBAAiB4gB,MAAM,WAC7C,IAAI2ta,EAAWn9b,EAAE2M,KAAMhR,KAAM,mBAC7Bwhc,EAASF,eAAgB,EACnBh8a,EAAMswI,SAAYtwI,EAAM2xB,UAC7B3qC,EAAKohb,aAAc8T,EAASH,SAAU,eACtCG,EAASn5W,UAAW,EACpB/7E,EAAKw9K,UAAW03Q,EAASH,SAAU,kBACnCG,EAASR,aAAc,EAGvB10b,EAAKihb,SAAU,cAAejoa,EAAO,CACpC07a,YAAaQ,EAAS9mb,cAKzBrW,EAAGihB,EAAM3oB,QAAS6zJ,UAAUi2P,UAAU5yX,MAAM,WAC3C,IAAI4ta,EACHD,EAAWn9b,EAAE2M,KAAMhR,KAAM,mBAC1B,GAAKwhc,EAmBJ,OAlBAC,GAAcn8a,EAAMswI,UAAYtwI,EAAM2xB,UACpCuqZ,EAASH,SAAS39W,SAAU,eAC9Bp3E,EAAKohb,aAAc8T,EAASH,SAAUI,EAAW,iBAAmB,eAClE33Q,UAAW03Q,EAASH,SAAUI,EAAW,eAAiB,kBAC5DD,EAASR,aAAeS,EACxBD,EAASV,UAAYW,EACrBD,EAASn5W,SAAWo5W,EAGfA,EACJn1b,EAAKihb,SAAU,YAAajoa,EAAO,CAClCw7a,UAAWU,EAAS9mb,UAGrBpO,EAAKihb,SAAU,cAAejoa,EAAO,CACpC07a,YAAaQ,EAAS9mb,WAGjB,OAMVm6a,WAAY,SAAUvva,GAIrB,GAFAtlB,KAAKihc,SAAU,GAEVjhc,KAAKu+B,QAAQqqD,SAAlB,CAIA,IAAI2yM,EACHjvR,EAAOtM,KACPu+B,EAAUv+B,KAAKu+B,QACf9wB,EAAKzN,KAAKuhc,KAAM,GAChB7zb,EAAK1N,KAAKuhc,KAAM,GAChB5zb,EAAK2X,EAAM89D,MACXx1E,EAAK0X,EAAM+9D,MAyFZ,OAvFK51E,EAAKE,IAAO4tR,EAAM5tR,EAAIA,EAAKF,EAAIA,EAAK8tR,GACpC7tR,EAAKE,IAAO2tR,EAAM3tR,EAAIA,EAAKF,EAAIA,EAAK6tR,GACzCv7R,KAAKy2C,OAAOn1B,IAAK,CAAEu1B,KAAMppC,EAAIspC,IAAKrpC,EAAI9G,MAAO+G,EAAKF,EAAI5G,OAAQ+G,EAAKF,IAEnE1N,KAAKmhc,UAAUtta,MAAM,WACpB,IAAI2ta,EAAWn9b,EAAE2M,KAAMhR,KAAM,mBAC5B4wE,GAAM,EACN37D,EAAS,GAGJusb,GAAYA,EAAS9mb,UAAYpO,EAAKoO,QAAS,KAIrDzF,EAAO4hC,KAAS2qZ,EAAS3qZ,KAASvqC,EAAK40b,WAAWrqZ,KAClD5hC,EAAO4tE,MAAS2+W,EAAS3+W,MAASv2E,EAAK40b,WAAWrqZ,KAClD5hC,EAAO8hC,IAASyqZ,EAASzqZ,IAASzqC,EAAK40b,WAAWnqZ,IAClD9hC,EAAO2tE,OAAS4+W,EAAS5+W,OAASt2E,EAAK40b,WAAWnqZ,IAEvB,UAAtBxY,EAAQs5C,UACZjH,IAAW37D,EAAO4hC,KAAOlpC,GAAMsH,EAAO4tE,MAAQp1E,GAAMwH,EAAO8hC,IAAMnpC,GACjDqH,EAAO2tE,OAASl1E,GACC,QAAtB6wB,EAAQs5C,YACnBjH,EAAQ37D,EAAO4hC,KAAOppC,GAAMwH,EAAO4tE,MAAQl1E,GAAMsH,EAAO8hC,IAAMrpC,GAC9CuH,EAAO2tE,OAASh1E,GAG5BgjE,GAGC4wX,EAASn5W,WACb/7E,EAAKohb,aAAc8T,EAASH,SAAU,eACtCG,EAASn5W,UAAW,GAEhBm5W,EAASR,cACb10b,EAAKohb,aAAc8T,EAASH,SAAU,kBACtCG,EAASR,aAAc,GAElBQ,EAASV,YACdx0b,EAAKw9K,UAAW03Q,EAASH,SAAU,gBACnCG,EAASV,WAAY,EAGrBx0b,EAAKihb,SAAU,YAAajoa,EAAO,CAClCw7a,UAAWU,EAAS9mb,aAMjB8mb,EAASV,aACNx7a,EAAMswI,SAAWtwI,EAAM2xB,UAAauqZ,EAASF,eACnDh1b,EAAKohb,aAAc8T,EAASH,SAAU,gBACtCG,EAASV,WAAY,EACrBx0b,EAAKw9K,UAAW03Q,EAASH,SAAU,eACnCG,EAASn5W,UAAW,IAEpB/7E,EAAKohb,aAAc8T,EAASH,SAAU,gBACtCG,EAASV,WAAY,EAChBU,EAASF,gBACbh1b,EAAKw9K,UAAW03Q,EAASH,SAAU,kBACnCG,EAASR,aAAc,GAIxB10b,EAAKihb,SAAU,cAAejoa,EAAO,CACpC07a,YAAaQ,EAAS9mb,YAIpB8mb,EAASn5W,WACP/iE,EAAMswI,SAAYtwI,EAAM2xB,SAAYuqZ,EAASF,gBAClDh1b,EAAKohb,aAAc8T,EAASH,SAAU,eACtCG,EAASn5W,UAAW,EAEpB/7E,EAAKw9K,UAAW03Q,EAASH,SAAU,kBACnCG,EAASR,aAAc,EAGvB10b,EAAKihb,SAAU,cAAejoa,EAAO,CACpC07a,YAAaQ,EAAS9mb,kBAOpB,IAGRo6a,WAAY,SAAUxva,GACrB,IAAIhZ,EAAOtM,KA4BX,OA1BAA,KAAKihc,SAAU,EAEf58b,EAAG,kBAAmBrE,KAAK0a,QAAS,IAAMmZ,MAAM,WAC/C,IAAI2ta,EAAWn9b,EAAE2M,KAAMhR,KAAM,mBAC7BsM,EAAKohb,aAAc8T,EAASH,SAAU,kBACtCG,EAASR,aAAc,EACvBQ,EAASF,eAAgB,EACzBh1b,EAAKihb,SAAU,aAAcjoa,EAAO,CACnCy7a,WAAYS,EAAS9mb,aAGvBrW,EAAG,gBAAiBrE,KAAK0a,QAAS,IAAMmZ,MAAM,WAC7C,IAAI2ta,EAAWn9b,EAAE2M,KAAMhR,KAAM,mBAC7BsM,EAAKohb,aAAc8T,EAASH,SAAU,gBACpCv3Q,UAAW03Q,EAASH,SAAU,eAChCG,EAASV,WAAY,EACrBU,EAASn5W,UAAW,EACpBm5W,EAASF,eAAgB,EACzBh1b,EAAKihb,SAAU,WAAYjoa,EAAO,CACjC+iE,SAAUm5W,EAAS9mb,aAGrB1a,KAAKutb,SAAU,OAAQjoa,GAEvBtlB,KAAKy2C,OAAOxW,UAEL,KAwBa57B,EAAE88E,OAAQ,cAAe98E,EAAE4xC,GAAGi/Y,MAAO,CAC1DtmZ,QAAS,SACTu9Y,kBAAmB,OACnBvkT,OAAO,EACPrpG,QAAS,CACR2Y,SAAU,SACVu6F,MAAM,EACNiwT,aAAa,EACbrM,aAAa,EACb30a,OAAQ,OACR40a,UAAU,EACVqM,aAAa,EACbC,sBAAsB,EACtBC,iBAAiB,EACjB7sX,MAAM,EACN3jB,QAAQ,EACR5a,OAAQ,WACRwsC,MAAO,MACPl6B,SAAS,EACT0lE,aAAa,EACbgnU,QAAQ,EACRvjS,QAAQ,EACRyjS,kBAAmB,GACnBC,YAAa,GACbhxP,MAAO,UACP/sH,UAAW,YACX1gC,OAAQ,IAGRijZ,SAAU,KACV0H,WAAY,KACZC,OAAQ,KACR1H,WAAY,KACZjkZ,IAAK,KACLJ,KAAM,KACNgsZ,QAAS,KACT/ha,OAAQ,KACR+iB,KAAM,KACNlrC,MAAO,KACPrU,KAAM,KACNyZ,OAAQ,MAGT+kb,YAAa,SAAUp1b,EAAG2hE,EAAWtJ,GACpC,OAASr4D,GAAK2hE,GAAiB3hE,EAAM2hE,EAAYtJ,GAGlDg9X,YAAa,SAAUx6a,GACtB,MAAS,aAAe6a,KAAM7a,EAAKpG,IAAK,WACrC,oBAAsBihB,KAAM7a,EAAKpG,IAAK,aAG1C+ra,QAAS,WACRrtb,KAAKk5b,eAAiB,GACtBl5b,KAAK8pL,UAAW,eAGhB9pL,KAAK4pC,UAGL5pC,KAAKiV,OAASjV,KAAK0a,QAAQzF,SAG3BjV,KAAKwzb,aAELxzb,KAAKg2b,sBAGLh2b,KAAK4nI,OAAQ,GAIdimT,WAAY,SAAUxwb,EAAKqC,GAC1BM,KAAKinD,OAAQ5pD,EAAKqC,GAEL,WAARrC,GACJ2C,KAAKg2b,uBAIPA,oBAAqB,WACpB,IAAI1pb,EAAOtM,KACXA,KAAK0tb,aAAc1tb,KAAK0a,QAAQ4yD,KAAM,uBAAyB,sBAC/DjpE,EAAEwvB,KAAM7zB,KAAKijF,OAAO,WACnB32E,EAAKw9K,UACJ9pL,KAAKzD,SAASgiC,QAAQ8yB,OACrBrxD,KAAK0nB,KAAK4lD,KAAMttE,KAAKzD,SAASgiC,QAAQ8yB,QACtCrxD,KAAK0nB,KACN,0BAKH+la,SAAU,WACTztb,KAAK2zb,gBAEL,IAAM,IAAI92b,EAAImD,KAAKijF,MAAMnmF,OAAS,EAAGD,GAAK,EAAGA,IAC5CmD,KAAKijF,MAAOpmF,GAAI6qB,KAAKm5D,WAAY7gF,KAAKosb,WAAa,SAGpD,OAAOpsb,MAGRo0b,cAAe,SAAU9ua,EAAO68a,GAC/B,IAAI/I,EAAc,KACjBgJ,GAAc,EACd91b,EAAOtM,KAER,OAAKA,KAAKqic,YAILric,KAAKu+B,QAAQqqD,UAAkC,WAAtB5oF,KAAKu+B,QAAQttB,OAK3CjR,KAAKsic,cAAeh9a,GAGpBjhB,EAAGihB,EAAM3oB,QAAS6zJ,UAAU38H,MAAM,WACjC,GAAKxvB,EAAE2M,KAAMhR,KAAMsM,EAAK8/a,WAAa,WAAc9/a,EAElD,OADA8sb,EAAc/0b,EAAGrE,OACV,KAGJqE,EAAE2M,KAAMsU,EAAM3oB,OAAQ2P,EAAK8/a,WAAa,WAAc9/a,IAC1D8sb,EAAc/0b,EAAGihB,EAAM3oB,WAGlBy8b,KAGDp5b,KAAKu+B,QAAQ8yB,SAAW8wY,IAC5B99b,EAAGrE,KAAKu+B,QAAQ8yB,OAAQ+nY,GAAc9rX,KAAM,KAAMm5U,UAAU5yX,MAAM,WAC5D7zB,OAASslB,EAAM3oB,SACnBylc,GAAc,OAGVA,MAKPpic,KAAKo5b,YAAcA,EACnBp5b,KAAKuic,4BACE,KAIR9N,YAAa,SAAUnva,EAAO68a,EAAgBK,GAE7C,IAAI3lc,EAAGwnB,EACN/jB,EAAIN,KAAKu+B,QAqHV,GAnHAv+B,KAAKyic,iBAAmBzic,KAIxBA,KAAKw1b,mBAGLx1b,KAAKy2C,OAASz2C,KAAKw2b,cAAelxa,GAGlCtlB,KAAKy2b,0BAQLz2b,KAAK22b,gBAGL32b,KAAKmzb,aAAenzb,KAAKy2C,OAAO08Y,eAGhCnzb,KAAKiV,OAASjV,KAAKo5b,YAAYnkb,SAC/BjV,KAAKiV,OAAS,CACb8hC,IAAK/2C,KAAKiV,OAAO8hC,IAAM/2C,KAAKq+M,QAAQtnK,IACpCF,KAAM72C,KAAKiV,OAAO4hC,KAAO72C,KAAKq+M,QAAQxnK,MAGvCxyC,EAAE+wC,OAAQp1C,KAAKiV,OAAQ,CACtB8uE,MAAO,CACNltC,KAAMvxB,EAAM89D,MAAQpjF,KAAKiV,OAAO4hC,KAChCE,IAAKzxB,EAAM+9D,MAAQrjF,KAAKiV,OAAO8hC,KAEhCnkC,OAAQ5S,KAAK03b,mBAIbh2C,SAAU1hZ,KAAK23b,uBAKhB33b,KAAKy2C,OAAOn1B,IAAK,WAAY,YAC7BthB,KAAK42b,YAAc52b,KAAKy2C,OAAOn1B,IAAK,YAGpCthB,KAAKg3b,iBAAmBh3b,KAAKi3b,kBAAmB3xa,GAChDtlB,KAAKk3b,cAAgB5xa,EAAM89D,MAC3BpjF,KAAKm3b,cAAgB7xa,EAAM+9D,MAGzB/iF,EAAEg1b,UAAYt1b,KAAKo3b,wBAAyB92b,EAAEg1b,UAGhDt1b,KAAK0ic,YAAc,CAClB/oX,KAAM35E,KAAKo5b,YAAYz/W,OAAQ,GAC/B/mE,OAAQ5S,KAAKo5b,YAAYxmb,SAAU,IAK/B5S,KAAKy2C,OAAQ,KAAQz2C,KAAKo5b,YAAa,IAC3Cp5b,KAAKo5b,YAAYxnY,OAIlB5xD,KAAK2ic,qBAGAric,EAAE+0b,aACNr1b,KAAKq3b,kBAGD/2b,EAAEogB,QAAuB,SAAbpgB,EAAEogB,SAClB2D,EAAOrkB,KAAKsD,SAASgqE,KAAM,QAG3BttE,KAAK4ic,aAAev+a,EAAK/C,IAAK,UAC9B+C,EAAK/C,IAAK,SAAUhhB,EAAEogB,QAEtB1gB,KAAK6ic,iBACJx+b,EAAG,qBAAuB/D,EAAEogB,OAAS,0BAA2Bw2B,SAAU7yB,IAGvE/jB,EAAEyoD,UACD/oD,KAAKy2C,OAAOn1B,IAAK,aACrBthB,KAAK8ic,eAAiB9ic,KAAKy2C,OAAOn1B,IAAK,YAExCthB,KAAKy2C,OAAOn1B,IAAK,UAAWhhB,EAAEyoD,UAG1BzoD,EAAE62C,SACDn3C,KAAKy2C,OAAOn1B,IAAK,YACrBthB,KAAK+ic,cAAgB/ic,KAAKy2C,OAAOn1B,IAAK,WAEvCthB,KAAKy2C,OAAOn1B,IAAK,SAAUhhB,EAAE62C,SAIzBn3C,KAAKmzb,aAAc,KAAQnzb,KAAKsD,SAAU,IACV,SAAnCtD,KAAKmzb,aAAc,GAAI1tZ,UACxBzlC,KAAK05b,eAAiB15b,KAAKmzb,aAAal+a,UAIzCjV,KAAKutb,SAAU,QAASjoa,EAAOtlB,KAAK83b,WAG9B93b,KAAKgjc,4BACVhjc,KAAKy2b,2BAIA+L,EACL,IAAM3lc,EAAImD,KAAKijc,WAAWnmc,OAAS,EAAGD,GAAK,EAAGA,IAC7CmD,KAAKijc,WAAYpmc,GAAI0wb,SAAU,WAAYjoa,EAAOtlB,KAAK83b,QAAS93b,OAoBlE,OAfKqE,EAAE4xC,GAAGygZ,YACTryb,EAAE4xC,GAAGygZ,UAAU1+a,QAAUhY,MAGrBqE,EAAE4xC,GAAGygZ,YAAcp2b,EAAEi3b,eACzBlzb,EAAE4xC,GAAGygZ,UAAUc,eAAgBx3b,KAAMslB,GAGtCtlB,KAAKkjc,UAAW,EAEhBljc,KAAK8pL,UAAW9pL,KAAKy2C,OAAQ,sBAI7Bz2C,KAAK60b,WAAYvva,IACV,GAIRuva,WAAY,SAAUvva,GACrB,IAAIzoB,EAAG6qB,EAAMy7a,EAAatmZ,EACzBv8C,EAAIN,KAAKu+B,QACTo7Z,GAAW,EAwEZ,IArEA35b,KAAK2iC,SAAW3iC,KAAKi3b,kBAAmB3xa,GACxCtlB,KAAK82b,YAAc92b,KAAK63b,mBAAoB,YAEtC73b,KAAKojc,kBACVpjc,KAAKojc,gBAAkBpjc,KAAK82b,aAIxB92b,KAAKu+B,QAAQ2zH,SACZlyJ,KAAKmzb,aAAc,KAAQnzb,KAAKsD,SAAU,IACV,SAAnCtD,KAAKmzb,aAAc,GAAI1tZ,SAEjBzlC,KAAK05b,eAAe3iZ,IAAM/2C,KAAKmzb,aAAc,GAAIllS,aACtD3oI,EAAM+9D,MAAQ/iF,EAAEq1b,kBACjB31b,KAAKmzb,aAAc,GAAI7zY,UACtBq6Y,EAAW35b,KAAKmzb,aAAc,GAAI7zY,UAAYh/C,EAAEs1b,YACtCtwa,EAAM+9D,MAAQrjF,KAAK05b,eAAe3iZ,IAAMz2C,EAAEq1b,oBACrD31b,KAAKmzb,aAAc,GAAI7zY,UACtBq6Y,EAAW35b,KAAKmzb,aAAc,GAAI7zY,UAAYh/C,EAAEs1b,aAG3C51b,KAAK05b,eAAe7iZ,KAAO72C,KAAKmzb,aAAc,GAAI3lS,YACvDloI,EAAM89D,MAAQ9iF,EAAEq1b,kBACjB31b,KAAKmzb,aAAc,GAAI9zY,WAAas6Y,EACnC35b,KAAKmzb,aAAc,GAAI9zY,WAAa/+C,EAAEs1b,YAC5Btwa,EAAM89D,MAAQpjF,KAAK05b,eAAe7iZ,KAAOv2C,EAAEq1b,oBACtD31b,KAAKmzb,aAAc,GAAI9zY,WAAas6Y,EACnC35b,KAAKmzb,aAAc,GAAI9zY,WAAa/+C,EAAEs1b,eAKnCtwa,EAAM+9D,MAAQrjF,KAAKsD,SAASg8C,YAAch/C,EAAEq1b,kBAChDgE,EAAW35b,KAAKsD,SAASg8C,UAAWt/C,KAAKsD,SAASg8C,YAAch/C,EAAEs1b,aACvD51b,KAAK0B,OAAOmF,UAAaye,EAAM+9D,MAAQrjF,KAAKsD,SAASg8C,aAC/Dh/C,EAAEq1b,oBACHgE,EAAW35b,KAAKsD,SAASg8C,UAAWt/C,KAAKsD,SAASg8C,YAAch/C,EAAEs1b,cAG9Dtwa,EAAM89D,MAAQpjF,KAAKsD,SAAS+7C,aAAe/+C,EAAEq1b,kBACjDgE,EAAW35b,KAAKsD,SAAS+7C,WACxBr/C,KAAKsD,SAAS+7C,aAAe/+C,EAAEs1b,aAErB51b,KAAK0B,OAAOkF,SAAY0e,EAAM89D,MAAQpjF,KAAKsD,SAAS+7C,cAC9D/+C,EAAEq1b,oBACHgE,EAAW35b,KAAKsD,SAAS+7C,WACxBr/C,KAAKsD,SAAS+7C,aAAe/+C,EAAEs1b,gBAMhB,IAAb+D,GAAsBt1b,EAAE4xC,GAAGygZ,YAAcp2b,EAAEi3b,eAC/Clzb,EAAE4xC,GAAGygZ,UAAUc,eAAgBx3b,KAAMslB,IAKvCtlB,KAAK82b,YAAc92b,KAAK63b,mBAAoB,YAGtC73b,KAAKu+B,QAAQkzG,MAA8B,MAAtBzxI,KAAKu+B,QAAQkzG,OACvCzxI,KAAKy2C,OAAQ,GAAI/jC,MAAMmkC,KAAO72C,KAAK2iC,SAASkU,KAAO,MAE9C72C,KAAKu+B,QAAQkzG,MAA8B,MAAtBzxI,KAAKu+B,QAAQkzG,OACvCzxI,KAAKy2C,OAAQ,GAAI/jC,MAAMqkC,IAAM/2C,KAAK2iC,SAASoU,IAAM,MAI5Cl6C,EAAImD,KAAKijF,MAAMnmF,OAAS,EAAGD,GAAK,EAAGA,IAMxC,GAFAsmc,GADAz7a,EAAO1nB,KAAKijF,MAAOpmF,IACA6qB,KAAM,IACzBm1B,EAAe78C,KAAKqjc,uBAAwB37a,KAYvCA,EAAKnrB,WAAayD,KAAKyic,kBAOvBU,IAAgBnjc,KAAKo5b,YAAa,IACtCp5b,KAAKyuH,YAA8B,IAAjB5xE,EAAqB,OAAS,UAAY,KAAQsmZ,IACnE9+b,EAAE87C,SAAUngD,KAAKyuH,YAAa,GAAK00U,KACZ,iBAAtBnjc,KAAKu+B,QAAQttB,OACb5M,EAAE87C,SAAUngD,KAAK0a,QAAS,GAAKyob,IAGhC,CAID,GAFAnjc,KAAKy4D,UAA6B,IAAjB5b,EAAqB,OAAS,KAEf,YAA3B78C,KAAKu+B,QAAQs5C,YAA2B73E,KAAKsjc,qBAAsB57a,GAGvE,MAFA1nB,KAAKujc,WAAYj+a,EAAOoC,GAKzB1nB,KAAKutb,SAAU,SAAUjoa,EAAOtlB,KAAK83b,WACrC,MAgBF,OAXA93b,KAAKwjc,mBAAoBl+a,GAGpBjhB,EAAE4xC,GAAGygZ,WACTryb,EAAE4xC,GAAGygZ,UAAUt/Y,KAAMp3C,KAAMslB,GAI5BtlB,KAAKutb,SAAU,OAAQjoa,EAAOtlB,KAAK83b,WAEnC93b,KAAKojc,gBAAkBpjc,KAAK82b,aACrB,GAIRhC,WAAY,SAAUxva,EAAOsya,GAE5B,GAAMtya,EAAN,CASA,GAJKjhB,EAAE4xC,GAAGygZ,YAAc12b,KAAKu+B,QAAQg5Z,eACpClzb,EAAE4xC,GAAGygZ,UAAUpgZ,KAAMt2C,KAAMslB,GAGvBtlB,KAAKu+B,QAAQk3Z,OAAS,CAC1B,IAAInpb,EAAOtM,KACV2xI,EAAM3xI,KAAKyuH,YAAYx5G,SACvBw8H,EAAOzxI,KAAKu+B,QAAQkzG,KACpB1uD,EAAY,GAEP0uD,GAAiB,MAATA,IACb1uD,EAAUlsC,KAAO86F,EAAI96F,KAAO72C,KAAKiV,OAAOrC,OAAOikC,KAAO72C,KAAKq+M,QAAQxnK,MAChE72C,KAAKklB,aAAc,KAAQllB,KAAKsD,SAAU,GAAI+gB,KAC/C,EACArkB,KAAKklB,aAAc,GAAIm6B,aAGpBoyF,GAAiB,MAATA,IACb1uD,EAAUhsC,IAAM46F,EAAI56F,IAAM/2C,KAAKiV,OAAOrC,OAAOmkC,IAAM/2C,KAAKq+M,QAAQtnK,KAC7D/2C,KAAKklB,aAAc,KAAQllB,KAAKsD,SAAU,GAAI+gB,KAC/C,EACArkB,KAAKklB,aAAc,GAAIo6B,YAG1Bt/C,KAAKqic,WAAY,EACjBh+b,EAAGrE,KAAKy2C,QAASz4B,QAChB+kE,EACA7kE,SAAUle,KAAKu+B,QAAQk3Z,OAAQ,KAAQ,KACvC,WACCnpb,EAAKgrb,OAAQhya,WAIftlB,KAAKs3b,OAAQhya,EAAOsya,GAGrB,OAAO,IAIR14X,OAAQ,WAEP,GAAKl/D,KAAKkjc,SAAW,CAEpBljc,KAAKg0b,SAAU,IAAI3vb,EAAE2/E,MAAO,UAAW,CAAErnF,OAAQ,QAEpB,aAAxBqD,KAAKu+B,QAAQkY,QACjBz2C,KAAKo5b,YAAY93a,IAAKthB,KAAK84b,YAC3B94b,KAAK0tb,aAAc1tb,KAAKo5b,YAAa,uBAErCp5b,KAAKo5b,YAAYrnY,OAIlB,IAAM,IAAIl1D,EAAImD,KAAKijc,WAAWnmc,OAAS,EAAGD,GAAK,EAAGA,IACjDmD,KAAKijc,WAAYpmc,GAAI0wb,SAAU,aAAc,KAAMvtb,KAAK83b,QAAS93b,OAC5DA,KAAKijc,WAAYpmc,GAAIq8b,eAAeljZ,OACxCh2C,KAAKijc,WAAYpmc,GAAI0wb,SAAU,MAAO,KAAMvtb,KAAK83b,QAAS93b,OAC1DA,KAAKijc,WAAYpmc,GAAIq8b,eAAeljZ,KAAO,GAgC9C,OA1BKh2C,KAAKyuH,cAIJzuH,KAAKyuH,YAAa,GAAI9oG,YAC1B3lB,KAAKyuH,YAAa,GAAI9oG,WAAWpB,YAAavkB,KAAKyuH,YAAa,IAEpC,aAAxBzuH,KAAKu+B,QAAQkY,QAAyBz2C,KAAKy2C,QAC9Cz2C,KAAKy2C,OAAQ,GAAI9wB,YAClB3lB,KAAKy2C,OAAOxW,SAGb57B,EAAE+wC,OAAQp1C,KAAM,CACfy2C,OAAQ,KACRysZ,UAAU,EACVb,WAAW,EACXoB,aAAc,OAGVzjc,KAAK0ic,YAAY/oX,KACrBt1E,EAAGrE,KAAK0ic,YAAY/oX,MAAOi4D,MAAO5xI,KAAKo5b,aAEvC/0b,EAAGrE,KAAK0ic,YAAY9vb,QAASksT,QAAS9+T,KAAKo5b,cAItCp5b,MAIRghI,UAAW,SAAU1gI,GAEpB,IAAI2iF,EAAQjjF,KAAK0jc,kBAAmBpjc,GAAKA,EAAEqjc,WAC1CjgV,EAAM,GAiBP,OAhBApjH,EAAIA,GAAK,GAET+D,EAAG4+E,GAAQpvD,MAAM,WAChB,IAAIk4G,GAAQ1nI,EAAG/D,EAAEonB,MAAQ1nB,MAAOklC,KAAM5kC,EAAEqK,WAAa,OAAU,IAC7DnB,MAAOlJ,EAAEsjc,YAAgB,kBACtB73T,GACJroB,EAAI58G,MACDxG,EAAEjD,KAAO0uI,EAAK,GAAM,MACtB,KAAQzrI,EAAEjD,KAAOiD,EAAEsjc,WAAa73T,EAAK,GAAMA,EAAK,SAI7CroB,EAAI5mH,QAAUwD,EAAEjD,KACrBqmH,EAAI58G,KAAMxG,EAAEjD,IAAM,KAGZqmH,EAAIr3G,KAAM,MAIlBmyI,QAAS,SAAUl+I,GAElB,IAAI2iF,EAAQjjF,KAAK0jc,kBAAmBpjc,GAAKA,EAAEqjc,WAC1Chmb,EAAM,GAOP,OALArd,EAAIA,GAAK,GAET2iF,EAAMpvD,MAAM,WACXlW,EAAI7W,KAAMzC,EAAG/D,EAAEonB,MAAQ1nB,MAAOklC,KAAM5kC,EAAEqK,WAAa,OAAU,OAEvDgT,GAKRs7a,gBAAiB,SAAUvxa,GAE1B,IAAIja,EAAKzN,KAAK82b,YAAYjgZ,KACzBlpC,EAAKF,EAAKzN,KAAKm4b,kBAAkBvxb,MACjC8G,EAAK1N,KAAK82b,YAAY//Y,IACtBnpC,EAAKF,EAAK1N,KAAKm4b,kBAAkBtxb,OACjC9E,EAAI2lB,EAAKmvB,KACTt0C,EAAIR,EAAI2lB,EAAK9gB,MACbnE,EAAIilB,EAAKqvB,IACT7sC,EAAIzH,EAAIilB,EAAK7gB,OACbg9b,EAAU7jc,KAAKiV,OAAO8uE,MAAMhtC,IAC5B+sZ,EAAU9jc,KAAKiV,OAAO8uE,MAAMltC,KAC5BktZ,EAA8C,MAAtB/jc,KAAKu+B,QAAQkzG,MAAsB/jI,EAAKm2b,EAAYphc,GACzEiL,EAAKm2b,EAAY35b,EACpB85b,EAA6C,MAAtBhkc,KAAKu+B,QAAQkzG,MAAsBhkI,EAAKq2b,EAAY/hc,GACxE0L,EAAKq2b,EAAYvhc,EACpB0hc,EAAgBF,GAAuBC,EAExC,MAAgC,YAA3Bhkc,KAAKu+B,QAAQs5C,WACjB73E,KAAKu+B,QAAQ2la,2BACgB,YAA3Blkc,KAAKu+B,QAAQs5C,WACd73E,KAAKm4b,kBAAmBn4b,KAAKmkc,SAAW,QAAU,UAClDz8a,EAAM1nB,KAAKmkc,SAAW,QAAU,UAE1BF,EAGElic,EAAI0L,EAAOzN,KAAKm4b,kBAAkBvxb,MAAQ,GAClD+G,EAAO3N,KAAKm4b,kBAAkBvxb,MAAQ,EAAMrE,GAC5CE,EAAIiL,EAAO1N,KAAKm4b,kBAAkBtxb,OAAS,GAC3C+G,EAAO5N,KAAKm4b,kBAAkBtxb,OAAS,EAAMqD,GAKhDm5b,uBAAwB,SAAU37a,GACjC,IAAI08a,EAAmBC,EACtBN,EAA8C,MAAtB/jc,KAAKu+B,QAAQkzG,MACpCzxI,KAAKiic,YACJjic,KAAK82b,YAAY//Y,IAAM/2C,KAAKiV,OAAO8uE,MAAMhtC,IAAKrvB,EAAKqvB,IAAKrvB,EAAK7gB,QAC/Dm9b,EAA6C,MAAtBhkc,KAAKu+B,QAAQkzG,MACnCzxI,KAAKiic,YACJjic,KAAK82b,YAAYjgZ,KAAO72C,KAAKiV,OAAO8uE,MAAMltC,KAAMnvB,EAAKmvB,KAAMnvB,EAAK9gB,OAGnE,SAFiBm9b,IAAuBC,KAMxCI,EAAoBpkc,KAAKskc,4BACzBD,EAAsBrkc,KAAKukc,8BAEpBvkc,KAAKmkc,SACiB,UAAxBE,GAAyD,SAAtBD,EAAiC,EAAI,EACxEA,IAA6C,SAAtBA,EAA+B,EAAI,KAIhEd,qBAAsB,SAAU57a,GAE/B,IAAI88a,EAAmBxkc,KAAKiic,YAAajic,KAAK82b,YAAY//Y,IACxD/2C,KAAKiV,OAAO8uE,MAAMhtC,IAAKrvB,EAAKqvB,IAAQrvB,EAAK7gB,OAAS,EAAK6gB,EAAK7gB,QAC7D49b,EAAkBzkc,KAAKiic,YAAajic,KAAK82b,YAAYjgZ,KACpD72C,KAAKiV,OAAO8uE,MAAMltC,KAAMnvB,EAAKmvB,KAASnvB,EAAK9gB,MAAQ,EAAK8gB,EAAK9gB,OAC9Dw9b,EAAoBpkc,KAAKskc,4BACzBD,EAAsBrkc,KAAKukc,8BAE5B,OAAKvkc,KAAKmkc,UAAYE,EACc,UAAxBA,GAAmCI,GACnB,SAAxBJ,IAAmCI,EAE/BL,IAA+C,SAAtBA,GAAgCI,GACvC,OAAtBJ,IAA+BI,IAKpCF,0BAA2B,WAC1B,IAAInnb,EAAQnd,KAAK82b,YAAY//Y,IAAM/2C,KAAKojc,gBAAgBrsZ,IACxD,OAAiB,IAAV55B,IAAiBA,EAAQ,EAAI,OAAS,OAG9Conb,4BAA6B,WAC5B,IAAIpnb,EAAQnd,KAAK82b,YAAYjgZ,KAAO72C,KAAKojc,gBAAgBvsZ,KACzD,OAAiB,IAAV15B,IAAiBA,EAAQ,EAAI,QAAU,SAG/CysB,QAAS,SAAUtkB,GAIlB,OAHAtlB,KAAKsic,cAAeh9a,GACpBtlB,KAAKg2b,sBACLh2b,KAAKw1b,mBACEx1b,MAGR0kc,aAAc,WACb,IAAInma,EAAUv+B,KAAKu+B,QACnB,OAAOA,EAAQmja,YAAYjic,cAAgBk4B,OAC1C,CAAE4G,EAAQmja,aACVnja,EAAQmja,aAGVgC,kBAAmB,SAAUC,GAE5B,IAAI9mc,EAAGuc,EAAGu4H,EAAKmoT,EACd72W,EAAQ,GACR0hX,EAAU,GACVjD,EAAc1hc,KAAK0kc,eAEpB,GAAKhD,GAAeiC,EACnB,IAAM9mc,EAAI6kc,EAAY5kc,OAAS,EAAGD,GAAK,EAAGA,IAEzC,IAAMuc,GADNu4H,EAAMttI,EAAGq9b,EAAa7kc,GAAKmD,KAAKsD,SAAU,KAC5BxG,OAAS,EAAGsc,GAAK,EAAGA,KACjC0gb,EAAOz1b,EAAE2M,KAAM2gI,EAAKv4H,GAAKpZ,KAAKqsb,kBACjByN,IAAS95b,OAAS85b,EAAKv7Z,QAAQqqD,UAC3C+7W,EAAQ79b,KAAM,CAAEzC,EAAE0iF,WAAY+yW,EAAKv7Z,QAAQ0kD,OAC1C62W,EAAKv7Z,QAAQ0kD,MAAMjhF,KAAM83b,EAAKp/a,SAC9BrW,EAAGy1b,EAAKv7Z,QAAQ0kD,MAAO62W,EAAKp/a,SAC1BwrY,IAAK,uBACLA,IAAK,4BAA8B4zC,IAa1C,SAAS8K,IACR3hX,EAAMn8E,KAAM9G,MAEb,IAVA2kc,EAAQ79b,KAAM,CAAEzC,EAAE0iF,WAAY/mF,KAAKu+B,QAAQ0kD,OAC1CjjF,KAAKu+B,QAAQ0kD,MACXjhF,KAAMhC,KAAK0a,QAAS,KAAM,CAAE6jB,QAASv+B,KAAKu+B,QAAS7W,KAAM1nB,KAAKo5b,cAChE/0b,EAAGrE,KAAKu+B,QAAQ0kD,MAAOjjF,KAAK0a,SAC1BwrY,IAAK,uBACLA,IAAK,4BAA8BlmZ,OAKhCnD,EAAI8nc,EAAQ7nc,OAAS,EAAGD,GAAK,EAAGA,IACrC8nc,EAAS9nc,GAAK,GAAIg3B,KAAM+wa,GAGzB,OAAOvgc,EAAG4+E,IAIXs/W,yBAA0B,WAEzB,IAAI/6a,EAAOxnB,KAAKo5b,YAAY9rX,KAAM,SAAWttE,KAAKosb,WAAa,UAE/Dpsb,KAAKijF,MAAQ5+E,EAAEg5C,KAAMr9C,KAAKijF,OAAO,SAAUv7D,GAC1C,IAAM,IAAItO,EAAI,EAAGA,EAAIoO,EAAK1qB,OAAQsc,IACjC,GAAKoO,EAAMpO,KAAQsO,EAAKA,KAAM,GAC7B,OAAO,EAGT,OAAO,MAKT46a,cAAe,SAAUh9a,GAExBtlB,KAAKijF,MAAQ,GACbjjF,KAAKijc,WAAa,CAAEjjc,MAEpB,IAAInD,EAAGuc,EAAGu4H,EAAKmoT,EAAM+K,EAAYC,EAAUp9a,EAAMq9a,EAChD9hX,EAAQjjF,KAAKijF,MACb0hX,EAAU,CAAE,CAAEtgc,EAAE0iF,WAAY/mF,KAAKu+B,QAAQ0kD,OACxCjjF,KAAKu+B,QAAQ0kD,MAAMjhF,KAAMhC,KAAK0a,QAAS,GAAK4K,EAAO,CAAEoC,KAAM1nB,KAAKo5b,cAChE/0b,EAAGrE,KAAKu+B,QAAQ0kD,MAAOjjF,KAAK0a,SAAW1a,OACxC0hc,EAAc1hc,KAAK0kc,eAGpB,GAAKhD,GAAe1hc,KAAK4nI,MACxB,IAAM/qI,EAAI6kc,EAAY5kc,OAAS,EAAGD,GAAK,EAAGA,IAEzC,IAAMuc,GADNu4H,EAAMttI,EAAGq9b,EAAa7kc,GAAKmD,KAAKsD,SAAU,KAC5BxG,OAAS,EAAGsc,GAAK,EAAGA,KACjC0gb,EAAOz1b,EAAE2M,KAAM2gI,EAAKv4H,GAAKpZ,KAAKqsb,kBACjByN,IAAS95b,OAAS85b,EAAKv7Z,QAAQqqD,WAC3C+7W,EAAQ79b,KAAM,CAAEzC,EAAE0iF,WAAY+yW,EAAKv7Z,QAAQ0kD,OAC1C62W,EAAKv7Z,QAAQ0kD,MACXjhF,KAAM83b,EAAKp/a,QAAS,GAAK4K,EAAO,CAAEoC,KAAM1nB,KAAKo5b,cAC/C/0b,EAAGy1b,EAAKv7Z,QAAQ0kD,MAAO62W,EAAKp/a,SAAWo/a,IACxC95b,KAAKijc,WAAWn8b,KAAMgzb,IAM1B,IAAMj9b,EAAI8nc,EAAQ7nc,OAAS,EAAGD,GAAK,EAAGA,IAIrC,IAHAgoc,EAAaF,EAAS9nc,GAAK,GAGrBuc,EAAI,EAAG2rb,GAFbD,EAAWH,EAAS9nc,GAAK,IAEaC,OAAQsc,EAAI2rb,EAAe3rb,KAChEsO,EAAOrjB,EAAGygc,EAAU1rb,KAGfpI,KAAMhR,KAAKosb,WAAa,QAASyY,GAEtC5hX,EAAMn8E,KAAM,CACX4gB,KAAMA,EACNnrB,SAAUsoc,EACVj+b,MAAO,EAAGC,OAAQ,EAClBgwC,KAAM,EAAGE,IAAK,KAOlBy+Y,iBAAkB,SAAUpjW,GAa3B,IAAIv1F,EAAG6qB,EAAMjlB,EAAGQ,EAEhB,IAZAjD,KAAKmkc,WAAWnkc,KAAKijF,MAAMnmF,SACJ,MAAtBkD,KAAKu+B,QAAQkzG,MAAgBzxI,KAAKkic,YAAalic,KAAKijF,MAAO,GAAIv7D,OAK3D1nB,KAAKklB,cAAgBllB,KAAKy2C,SAC9Bz2C,KAAKiV,OAAOrC,OAAS5S,KAAK03b,oBAKrB76b,EAAImD,KAAKijF,MAAMnmF,OAAS,EAAGD,GAAK,EAAGA,KACxC6qB,EAAO1nB,KAAKijF,MAAOpmF,IAGTN,WAAayD,KAAKyic,kBAAoBzic,KAAKyic,kBACnD/6a,EAAKA,KAAM,KAAQ1nB,KAAKo5b,YAAa,KAIvC32b,EAAIzC,KAAKu+B,QAAQyma,iBAChB3gc,EAAGrE,KAAKu+B,QAAQyma,iBAAkBt9a,EAAKA,MACvCA,EAAKA,KAEA0qE,IACL1qE,EAAK9gB,MAAQnE,EAAEigF,aACfh7D,EAAK7gB,OAASpE,EAAEggF,eAGjBx/E,EAAIR,EAAEwS,SACNyS,EAAKmvB,KAAO5zC,EAAE4zC,KACdnvB,EAAKqvB,IAAM9zC,EAAE8zC,KAGd,GAAK/2C,KAAKu+B,QAAQ88Z,QAAUr7b,KAAKu+B,QAAQ88Z,OAAO4J,kBAC/Cjlc,KAAKu+B,QAAQ88Z,OAAO4J,kBAAkBjjc,KAAMhC,WAE5C,IAAMnD,EAAImD,KAAKijc,WAAWnmc,OAAS,EAAGD,GAAK,EAAGA,IAC7CoG,EAAIjD,KAAKijc,WAAYpmc,GAAI6d,QAAQzF,SACjCjV,KAAKijc,WAAYpmc,GAAIq8b,eAAeriZ,KAAO5zC,EAAE4zC,KAC7C72C,KAAKijc,WAAYpmc,GAAIq8b,eAAeniZ,IAAM9zC,EAAE8zC,IAC5C/2C,KAAKijc,WAAYpmc,GAAIq8b,eAAetyb,MACnC5G,KAAKijc,WAAYpmc,GAAI6d,QAAQgoE,aAC9B1iF,KAAKijc,WAAYpmc,GAAIq8b,eAAeryb,OACnC7G,KAAKijc,WAAYpmc,GAAI6d,QAAQ+nE,cAIhC,OAAOziF,MAGR2ic,mBAAoB,SAAUr2b,GAE7B,IAAIqY,EACHrkB,GAFDgM,EAAOA,GAAQtM,MAELu+B,QAEJj+B,EAAEmuH,aAAenuH,EAAEmuH,YAAYhvH,cAAgBk4B,SACpDhT,EAAYrkB,EAAEmuH,YACdnuH,EAAEmuH,YAAc,CACf/zG,QAAS,WAER,IAAI5G,EAAWxH,EAAK8sb,YAAa,GAAItlb,SAAS+E,cAC7C6B,EAAUrW,EAAG,IAAMyP,EAAW,IAAKxH,EAAKhJ,SAAU,IAqBnD,OAnBCgJ,EAAKw9K,UAAWpvK,EAAS,0BACvBiK,GAAarY,EAAK8sb,YAAa,GAAIz0a,WACnC+oa,aAAchza,EAAS,sBAER,UAAb5G,EACJxH,EAAK44b,qBACJ54b,EAAK8sb,YAAY9rX,KAAM,MAAO+0E,GAAI,GAClCh+I,EAAG,OAAQiI,EAAKhJ,SAAU,IAAM4zC,SAAUx8B,IAEnB,OAAb5G,EACXxH,EAAK44b,qBAAsB54b,EAAK8sb,YAAa1+a,GACrB,QAAb5G,GACX4G,EAAQwqB,KAAM,MAAO54B,EAAK8sb,YAAYl0Z,KAAM,QAGvCvgB,GACLjK,EAAQ4G,IAAK,aAAc,UAGrB5G,GAERwC,OAAQ,SAAU4xG,EAAW7rH,GAMvB0hB,IAAcrkB,EAAEshc,uBAMf3+b,EAAE4D,UACP5D,EAAE4D,OACDyF,EAAK8sb,YAAY9qS,cACjBpwI,SAAU5R,EAAK8sb,YAAY93a,IAAK,eAAkB,EAAG,IACrDpD,SAAU5R,EAAK8sb,YAAY93a,IAAK,kBAAqB,EAAG,KAEpDre,EAAE2D,SACP3D,EAAE2D,MACD0F,EAAK8sb,YAAY/qS,aACjBnwI,SAAU5R,EAAK8sb,YAAY93a,IAAK,gBAAmB,EAAG,IACtDpD,SAAU5R,EAAK8sb,YAAY93a,IAAK,iBAAoB,EAAG,SAO5DhV,EAAKmiH,YAAcpqH,EAAG/D,EAAEmuH,YAAY/zG,QAAQ1Y,KAAMsK,EAAKoO,QAASpO,EAAK8sb,cAGrE9sb,EAAK8sb,YAAYxnT,MAAOtlI,EAAKmiH,aAG7BnuH,EAAEmuH,YAAYvxG,OAAQ5Q,EAAMA,EAAKmiH,cAIlCy2U,qBAAsB,SAAUC,EAAUC,GACzC,IAAI94b,EAAOtM,KAEXmlc,EAAS3yb,WAAWqhB,MAAM,WACzBxvB,EAAG,kBAAmBiI,EAAKhJ,SAAU,IACnC4hC,KAAM,UAAW7gC,EAAGrE,MAAOklC,KAAM,YAAe,GAChDgS,SAAUkuZ,OAId5B,mBAAoB,SAAUl+a,GAC7B,IAAIzoB,EAAGuc,EAAGykE,EAAMwnX,EAAuBC,EAAaC,EAAc5zT,EAAK6zT,EACtErB,EAAU1yT,EACVg0T,EAAqB,KACrBC,EAAiB,KAGlB,IAAM7oc,EAAImD,KAAKijc,WAAWnmc,OAAS,EAAGD,GAAK,EAAGA,IAG7C,IAAKwH,EAAE87C,SAAUngD,KAAKo5b,YAAa,GAAKp5b,KAAKijc,WAAYpmc,GAAI6d,QAAS,IAItE,GAAK1a,KAAKi5b,gBAAiBj5b,KAAKijc,WAAYpmc,GAAIq8b,gBAAmB,CAGlE,GAAKuM,GACHphc,EAAE87C,SACDngD,KAAKijc,WAAYpmc,GAAI6d,QAAS,GAC9B+qb,EAAmB/qb,QAAS,IAC9B,SAGD+qb,EAAqBzlc,KAAKijc,WAAYpmc,GACtC6oc,EAAiB7oc,OAKZmD,KAAKijc,WAAYpmc,GAAIq8b,eAAeljZ,OACxCh2C,KAAKijc,WAAYpmc,GAAI0wb,SAAU,MAAOjoa,EAAOtlB,KAAK83b,QAAS93b,OAC3DA,KAAKijc,WAAYpmc,GAAIq8b,eAAeljZ,KAAO,GAO9C,GAAMyvZ,EAKN,GAAgC,IAA3Bzlc,KAAKijc,WAAWnmc,OACdkD,KAAKijc,WAAYyC,GAAiBxM,eAAeljZ,OACtDh2C,KAAKijc,WAAYyC,GAAiBnY,SAAU,OAAQjoa,EAAOtlB,KAAK83b,QAAS93b,OACzEA,KAAKijc,WAAYyC,GAAiBxM,eAAeljZ,KAAO,OAEnD,CAWN,IAPA6nC,EAAO,IACPwnX,EAAwB,KAExBC,GADAnB,EAAWsB,EAAmBtB,UAAYnkc,KAAKkic,YAAalic,KAAKo5b,cACxC,OAAS,MAClCmM,EAAepB,EAAW,QAAU,SACpC1yT,EAAO0yT,EAAW,QAAU,QAEtB/qb,EAAIpZ,KAAKijF,MAAMnmF,OAAS,EAAGsc,GAAK,EAAGA,IAClC/U,EAAE87C,SACNngD,KAAKijc,WAAYyC,GAAiBhrb,QAAS,GAAK1a,KAAKijF,MAAO7pE,GAAIsO,KAAM,KAInE1nB,KAAKijF,MAAO7pE,GAAIsO,KAAM,KAAQ1nB,KAAKo5b,YAAa,KAIrDznT,EAAM3xI,KAAKijF,MAAO7pE,GAAIsO,KAAKzS,SAAUqwb,GACrCE,GAAa,EACRlgb,EAAOmsH,GAASE,EAAM3xI,KAAKijF,MAAO7pE,GAAKmsb,GAAiB,IAC5DC,GAAa,GAGTr+b,KAAKwjD,IAAKrlC,EAAOmsH,GAASE,GAAQ9zD,IACtCA,EAAO12E,KAAKwjD,IAAKrlC,EAAOmsH,GAASE,GACjC0zT,EAAwBrlc,KAAKijF,MAAO7pE,GACpCpZ,KAAKy4D,UAAY+sY,EAAa,KAAO,SAKvC,IAAMH,IAA0Brlc,KAAKu+B,QAAQoja,YAC5C,OAGD,GAAK3hc,KAAKyic,mBAAqBzic,KAAKijc,WAAYyC,GAK/C,YAJM1lc,KAAKyic,iBAAiBvJ,eAAeljZ,OAC1Ch2C,KAAKijc,WAAYyC,GAAiBnY,SAAU,OAAQjoa,EAAOtlB,KAAK83b,WAChE93b,KAAKyic,iBAAiBvJ,eAAeljZ,KAAO,IAK9CqvZ,EACCrlc,KAAKujc,WAAYj+a,EAAO+/a,EAAuB,MAAM,GACrDrlc,KAAKujc,WAAYj+a,EAAO,KAAMtlB,KAAKijc,WAAYyC,GAAiBhrb,SAAS,GAC1E1a,KAAKutb,SAAU,SAAUjoa,EAAOtlB,KAAK83b,WACrC93b,KAAKijc,WAAYyC,GAAiBnY,SAAU,SAAUjoa,EAAOtlB,KAAK83b,QAAS93b,OAC3EA,KAAKyic,iBAAmBzic,KAAKijc,WAAYyC,GAGzC1lc,KAAKu+B,QAAQkwF,YAAYvxG,OAAQld,KAAKyic,iBAAkBzic,KAAKyuH,aAE7DzuH,KAAKijc,WAAYyC,GAAiBnY,SAAU,OAAQjoa,EAAOtlB,KAAK83b,QAAS93b,OACzEA,KAAKijc,WAAYyC,GAAiBxM,eAAeljZ,KAAO,IAK1DwgZ,cAAe,SAAUlxa,GAExB,IAAIhlB,EAAIN,KAAKu+B,QACZkY,EAASpyC,EAAE0iF,WAAYzmF,EAAEm2C,QACxBpyC,EAAG/D,EAAEm2C,OAAOr2C,MAAOJ,KAAK0a,QAAS,GAAK,CAAE4K,EAAOtlB,KAAKo5b,eACrC,UAAb94b,EAAEm2C,OAAqBz2C,KAAKo5b,YAAYxla,QAAU5zB,KAAKo5b,YA0B3D,OAvBM3iZ,EAAO+5G,QAAS,QAAS1zJ,QAC9BuH,EAAkB,WAAf/D,EAAE42C,SACJ52C,EAAE42C,SACFl3C,KAAKo5b,YAAa,GAAIzza,YAAc,GAAIrB,YAAamyB,EAAQ,IAG1DA,EAAQ,KAAQz2C,KAAKo5b,YAAa,KACtCp5b,KAAK84b,WAAa,CACjBlyb,MAAO5G,KAAKo5b,YAAa,GAAI1mb,MAAM9L,MACnCC,OAAQ7G,KAAKo5b,YAAa,GAAI1mb,MAAM7L,OACpC87B,SAAU3iC,KAAKo5b,YAAY93a,IAAK,YAChCy1B,IAAK/2C,KAAKo5b,YAAY93a,IAAK,OAC3Bu1B,KAAM72C,KAAKo5b,YAAY93a,IAAK,UAIxBm1B,EAAQ,GAAI/jC,MAAM9L,QAAStG,EAAEuhc,iBAClCprZ,EAAO7vC,MAAO5G,KAAKo5b,YAAYxyb,SAE1B6vC,EAAQ,GAAI/jC,MAAM7L,SAAUvG,EAAEuhc,iBACnCprZ,EAAO5vC,OAAQ7G,KAAKo5b,YAAYvyb,UAG1B4vC,GAIR2gZ,wBAAyB,SAAUp3Z,GACd,kBAARA,IACXA,EAAMA,EAAIzzB,MAAO,MAEblI,EAAE3D,QAASs/B,KACfA,EAAM,CAAE6W,MAAO7W,EAAK,GAAK+W,KAAM/W,EAAK,IAAO,IAEvC,SAAUA,IACdhgC,KAAKiV,OAAO8uE,MAAMltC,KAAO7W,EAAI6W,KAAO72C,KAAKq+M,QAAQxnK,MAE7C,UAAW7W,IACfhgC,KAAKiV,OAAO8uE,MAAMltC,KAAO72C,KAAKm4b,kBAAkBvxb,MAAQo5B,EAAI6iD,MAAQ7iF,KAAKq+M,QAAQxnK,MAE7E,QAAS7W,IACbhgC,KAAKiV,OAAO8uE,MAAMhtC,IAAM/W,EAAI+W,IAAM/2C,KAAKq+M,QAAQtnK,KAE3C,WAAY/W,IAChBhgC,KAAKiV,OAAO8uE,MAAMhtC,IAAM/2C,KAAKm4b,kBAAkBtxb,OAASm5B,EAAI4iD,OAAS5iF,KAAKq+M,QAAQtnK,MAIpF2gZ,iBAAkB,WAGjB13b,KAAKklB,aAAellB,KAAKy2C,OAAOvxB,eAChC,IAAImza,EAAKr4b,KAAKklB,aAAajQ,SAuB3B,MAd0B,aAArBjV,KAAK42b,aAA8B52b,KAAKmzb,aAAc,KAAQnzb,KAAKsD,SAAU,IAChFe,EAAE87C,SAAUngD,KAAKmzb,aAAc,GAAKnzb,KAAKklB,aAAc,MACxDmza,EAAGxhZ,MAAQ72C,KAAKmzb,aAAa9zY,aAC7Bg5Y,EAAGthZ,KAAO/2C,KAAKmzb,aAAa7zY,cAKxBt/C,KAAKklB,aAAc,KAAQllB,KAAKsD,SAAU,GAAI+gB,MAC/CrkB,KAAKklB,aAAc,GAAIugB,SACwB,SAAjDzlC,KAAKklB,aAAc,GAAIugB,QAAQ5sB,eAA4BxU,EAAE4xC,GAAGsnJ,MACjE86P,EAAK,CAAEthZ,IAAK,EAAGF,KAAM,IAGf,CACNE,IAAKshZ,EAAGthZ,KAAQ74B,SAAUle,KAAKklB,aAAa5D,IAAK,kBAAoB,KAAQ,GAC7Eu1B,KAAMwhZ,EAAGxhZ,MAAS34B,SAAUle,KAAKklB,aAAa5D,IAAK,mBAAqB,KAAQ,KAKlFq2a,mBAAoB,WAEnB,GAA0B,aAArB33b,KAAK42b,YAA6B,CACtC,IAAI3zb,EAAIjD,KAAKo5b,YAAYz2Z,WACzB,MAAO,CACNoU,IAAK9zC,EAAE8zC,KAAQ74B,SAAUle,KAAKy2C,OAAOn1B,IAAK,OAAS,KAAQ,GAC1DthB,KAAKmzb,aAAa7zY,YACnBzI,KAAM5zC,EAAE4zC,MAAS34B,SAAUle,KAAKy2C,OAAOn1B,IAAK,QAAU,KAAQ,GAC7DthB,KAAKmzb,aAAa9zY,cAGpB,MAAO,CAAEtI,IAAK,EAAGF,KAAM,IAKzB8/Y,cAAe,WACd32b,KAAKq+M,QAAU,CACdxnK,KAAQ34B,SAAUle,KAAKo5b,YAAY93a,IAAK,cAAgB,KAAQ,EAChEy1B,IAAO74B,SAAUle,KAAKo5b,YAAY93a,IAAK,aAAe,KAAQ,IAIhEm1a,wBAAyB,WACxBz2b,KAAKm4b,kBAAoB,CACxBvxb,MAAO5G,KAAKy2C,OAAOisC,aACnB77E,OAAQ7G,KAAKy2C,OAAOgsC,gBAItB40W,gBAAiB,WAEhB,IAAI93P,EAAIogC,EAAI3pL,EACX11C,EAAIN,KAAKu+B,QACa,WAAlBj+B,EAAE+0b,cACN/0b,EAAE+0b,YAAcr1b,KAAKy2C,OAAQ,GAAI9wB,YAEX,aAAlBrlB,EAAE+0b,aAAgD,WAAlB/0b,EAAE+0b,cACtCr1b,KAAKq1b,YAAc,CAClB,EAAIr1b,KAAKiV,OAAOysY,SAAS7qW,KAAO72C,KAAKiV,OAAOrC,OAAOikC,KACnD,EAAI72C,KAAKiV,OAAOysY,SAAS3qW,IAAM/2C,KAAKiV,OAAOrC,OAAOmkC,IAChC,aAAlBz2C,EAAE+0b,YACDr1b,KAAKsD,SAASsD,QACd5G,KAAK0B,OAAOkF,QAAU5G,KAAKm4b,kBAAkBvxb,MAAQ5G,KAAKq+M,QAAQxnK,MAC/C,aAAlBv2C,EAAE+0b,YACDr1b,KAAKsD,SAASuD,UAAYvD,SAAS+gB,KAAKsB,WAAW03J,aACrDr9K,KAAK0B,OAAOmF,UAAY7G,KAAKsD,SAAU,GAAI+gB,KAAKsB,WAAW03J,cACxDr9K,KAAKm4b,kBAAkBtxb,OAAS7G,KAAKq+M,QAAQtnK,MAI3C,6BAA+BxU,KAAMjiC,EAAE+0b,eAC9C91P,EAAKl7L,EAAG/D,EAAE+0b,aAAe,GACzB11N,EAAKt7N,EAAG/D,EAAE+0b,aAAcpgb,SACxB+gC,EAAuC,WAA9B3xC,EAAGk7L,GAAKj+K,IAAK,YAEtBthB,KAAKq1b,YAAc,CAClB11N,EAAG9oL,MAAS34B,SAAU7Z,EAAGk7L,GAAKj+K,IAAK,mBAAqB,KAAQ,IAC7DpD,SAAU7Z,EAAGk7L,GAAKj+K,IAAK,eAAiB,KAAQ,GAAMthB,KAAKq+M,QAAQxnK,KACtE8oL,EAAG5oL,KAAQ74B,SAAU7Z,EAAGk7L,GAAKj+K,IAAK,kBAAoB,KAAQ,IAC3DpD,SAAU7Z,EAAGk7L,GAAKj+K,IAAK,cAAgB,KAAQ,GAAMthB,KAAKq+M,QAAQtnK,IACrE4oL,EAAG9oL,MAASb,EAAO7uC,KAAK+K,IAAKqtL,EAAG7nG,YAAa6nG,EAAG/xC,aAAgB+xC,EAAG/xC,cAChEtvI,SAAU7Z,EAAGk7L,GAAKj+K,IAAK,mBAAqB,KAAQ,IACpDpD,SAAU7Z,EAAGk7L,GAAKj+K,IAAK,gBAAkB,KAAQ,GACnDthB,KAAKm4b,kBAAkBvxb,MAAQ5G,KAAKq+M,QAAQxnK,KAC7C8oL,EAAG5oL,KAAQf,EAAO7uC,KAAK+K,IAAKqtL,EAAGliB,aAAckiB,EAAGtxC,cAAiBsxC,EAAGtxC,eACjE/vI,SAAU7Z,EAAGk7L,GAAKj+K,IAAK,kBAAoB,KAAQ,IACnDpD,SAAU7Z,EAAGk7L,GAAKj+K,IAAK,iBAAmB,KAAQ,GACpDthB,KAAKm4b,kBAAkBtxb,OAAS7G,KAAKq+M,QAAQtnK,OAMjD8gZ,mBAAoB,SAAU11b,EAAGgxC,GAE1BA,IACLA,EAAMnzC,KAAK2iC,UAEZ,IAAImsG,EAAY,aAAN3sI,EAAmB,GAAK,EACjC+vJ,EAA8B,aAArBlyJ,KAAK42b,aACV52b,KAAKmzb,aAAc,KAAQnzb,KAAKsD,SAAU,IAC7Ce,EAAE87C,SAAUngD,KAAKmzb,aAAc,GAAKnzb,KAAKklB,aAAc,IAEtDllB,KAAKmzb,aADLnzb,KAAKklB,aAEPoza,EAAqB,eAAiB/1Z,KAAM2vH,EAAQ,GAAIzsH,SAEzD,MAAO,CACNsR,IAGC5D,EAAI4D,IAGJ/2C,KAAKiV,OAAOysY,SAAS3qW,IAAM+3F,EAG3B9uI,KAAKiV,OAAOrC,OAAOmkC,IAAM+3F,GACA,UAArB9uI,KAAK42b,aACP52b,KAAKmzb,aAAa7zY,YACjBg5Y,EAAmB,EAAIpmS,EAAO5yG,aAAkBwvF,EAEpDj4F,KAGC1D,EAAI0D,KAGJ72C,KAAKiV,OAAOysY,SAAS7qW,KAAOi4F,EAG5B9uI,KAAKiV,OAAOrC,OAAOikC,KAAOi4F,GACD,UAArB9uI,KAAK42b,aACP52b,KAAKmzb,aAAa9zY,aAAei5Y,EAAmB,EACrDpmS,EAAO7yG,cAAiByvF,IAM5BmoT,kBAAmB,SAAU3xa,GAE5B,IAAIyxB,EAAKF,EACRv2C,EAAIN,KAAKu+B,QACT6kD,EAAQ99D,EAAM89D,MACdC,EAAQ/9D,EAAM+9D,MACd6uE,EAA8B,aAArBlyJ,KAAK42b,aACV52b,KAAKmzb,aAAc,KAAQnzb,KAAKsD,SAAU,IAC7Ce,EAAE87C,SAAUngD,KAAKmzb,aAAc,GAAKnzb,KAAKklB,aAAc,IAEtDllB,KAAKmzb,aADLnzb,KAAKklB,aAENoza,EAAqB,eAAiB/1Z,KAAM2vH,EAAQ,GAAIzsH,SAyD1D,MAnD0B,aAArBzlC,KAAK42b,aAAiC52b,KAAKmzb,aAAc,KAAQnzb,KAAKsD,SAAU,IACnFtD,KAAKmzb,aAAc,KAAQnzb,KAAKklB,aAAc,KAC/CllB,KAAKiV,OAAOysY,SAAW1hZ,KAAK23b,sBAQxB33b,KAAKg3b,mBAEJh3b,KAAKq1b,cACJ/va,EAAM89D,MAAQpjF,KAAKiV,OAAO8uE,MAAMltC,KAAO72C,KAAKq1b,YAAa,KAC7DjyW,EAAQpjF,KAAKq1b,YAAa,GAAMr1b,KAAKiV,OAAO8uE,MAAMltC,MAE9CvxB,EAAM+9D,MAAQrjF,KAAKiV,OAAO8uE,MAAMhtC,IAAM/2C,KAAKq1b,YAAa,KAC5DhyW,EAAQrjF,KAAKq1b,YAAa,GAAMr1b,KAAKiV,OAAO8uE,MAAMhtC,KAE9CzxB,EAAM89D,MAAQpjF,KAAKiV,OAAO8uE,MAAMltC,KAAO72C,KAAKq1b,YAAa,KAC7DjyW,EAAQpjF,KAAKq1b,YAAa,GAAMr1b,KAAKiV,OAAO8uE,MAAMltC,MAE9CvxB,EAAM+9D,MAAQrjF,KAAKiV,OAAO8uE,MAAMhtC,IAAM/2C,KAAKq1b,YAAa,KAC5DhyW,EAAQrjF,KAAKq1b,YAAa,GAAMr1b,KAAKiV,OAAO8uE,MAAMhtC,MAI/Cz2C,EAAE00E,OACNj+B,EAAM/2C,KAAKm3b,cAAgBhwb,KAAKi9G,OAAS/gC,EAAQrjF,KAAKm3b,eACrD72b,EAAE00E,KAAM,IAAQ10E,EAAE00E,KAAM,GACzBqO,EAAQrjF,KAAKq1b,YACRt+Y,EAAM/2C,KAAKiV,OAAO8uE,MAAMhtC,KAAO/2C,KAAKq1b,YAAa,IACpDt+Y,EAAM/2C,KAAKiV,OAAO8uE,MAAMhtC,KAAO/2C,KAAKq1b,YAAa,GAChDt+Y,EACIA,EAAM/2C,KAAKiV,OAAO8uE,MAAMhtC,KAAO/2C,KAAKq1b,YAAa,GACpDt+Y,EAAMz2C,EAAE00E,KAAM,GAAMj+B,EAAMz2C,EAAE00E,KAAM,GAClCj+B,EAEJF,EAAO72C,KAAKk3b,cAAgB/vb,KAAKi9G,OAAShhC,EAAQpjF,KAAKk3b,eACtD52b,EAAE00E,KAAM,IAAQ10E,EAAE00E,KAAM,GACzBoO,EAAQpjF,KAAKq1b,YACRx+Y,EAAO72C,KAAKiV,OAAO8uE,MAAMltC,MAAQ72C,KAAKq1b,YAAa,IACtDx+Y,EAAO72C,KAAKiV,OAAO8uE,MAAMltC,MAAQ72C,KAAKq1b,YAAa,GAClDx+Y,EACIA,EAAO72C,KAAKiV,OAAO8uE,MAAMltC,MAAQ72C,KAAKq1b,YAAa,GACtDx+Y,EAAOv2C,EAAE00E,KAAM,GAAMn+B,EAAOv2C,EAAE00E,KAAM,GACpCn+B,IAKC,CACNE,IAGCssC,EAGArjF,KAAKiV,OAAO8uE,MAAMhtC,IAGlB/2C,KAAKiV,OAAOysY,SAAS3qW,IAGrB/2C,KAAKiV,OAAOrC,OAAOmkC,KACM,UAArB/2C,KAAK42b,aACP52b,KAAKmzb,aAAa7zY,YACjBg5Y,EAAmB,EAAIpmS,EAAO5yG,aAElCzI,KAGCusC,EAGApjF,KAAKiV,OAAO8uE,MAAMltC,KAGlB72C,KAAKiV,OAAOysY,SAAS7qW,KAGrB72C,KAAKiV,OAAOrC,OAAOikC,MACM,UAArB72C,KAAK42b,aACP52b,KAAKmzb,aAAa9zY,aACnBi5Y,EAAmB,EAAIpmS,EAAO7yG,gBAMlCkkZ,WAAY,SAAUj+a,EAAOzoB,EAAG8P,EAAGg5b,GAElCh5b,EAAIA,EAAG,GAAI2X,YAAatkB,KAAKyuH,YAAa,IACzC5xH,EAAE6qB,KAAM,GAAI/B,WAAWsB,aAAcjnB,KAAKyuH,YAAa,GACjC,SAAnBzuH,KAAKy4D,UAAuB57D,EAAE6qB,KAAM,GAAM7qB,EAAE6qB,KAAM,GAAI2X,aAQ1Dr/B,KAAK4hF,QAAU5hF,KAAK4hF,UAAY5hF,KAAK4hF,QAAU,EAC/C,IAAIA,EAAU5hF,KAAK4hF,QAEnB5hF,KAAKy1B,QAAQ,WACPmsD,IAAY5hF,KAAK4hF,SAGrB5hF,KAAKw1b,kBAAmBmQ,OAM3BrO,OAAQ,SAAUhya,EAAOsya,GAExB53b,KAAKqic,WAAY,EAIjB,IAAIxlc,EACH+oc,EAAkB,GAUnB,IALM5lc,KAAKyjc,cAAgBzjc,KAAKo5b,YAAYxmb,SAAS9V,QACpDkD,KAAKyuH,YAAYlvF,OAAQv/B,KAAKo5b,aAE/Bp5b,KAAKyjc,aAAe,KAEfzjc,KAAKy2C,OAAQ,KAAQz2C,KAAKo5b,YAAa,GAAM,CACjD,IAAMv8b,KAAKmD,KAAK84b,WACe,SAAzB94b,KAAK84b,WAAYj8b,IAA2C,WAAzBmD,KAAK84b,WAAYj8b,KACxDmD,KAAK84b,WAAYj8b,GAAM,IAGzBmD,KAAKo5b,YAAY93a,IAAKthB,KAAK84b,YAC3B94b,KAAK0tb,aAAc1tb,KAAKo5b,YAAa,2BAErCp5b,KAAKo5b,YAAYrnY,OAwClB,SAAS8zY,EAAY50b,EAAM1U,EAAUuyH,GACpC,OAAO,SAAUxpG,GAChBwpG,EAAUy+T,SAAUt8a,EAAMqU,EAAO/oB,EAASu7b,QAASv7b,KAGrD,IA1CKyD,KAAKq5b,cAAgBzB,GACzBgO,EAAgB9+b,MAAM,SAAUwe,GAC/BtlB,KAAKutb,SAAU,UAAWjoa,EAAOtlB,KAAK83b,QAAS93b,KAAKq5b,kBAG/Cr5b,KAAKq5b,aACVr5b,KAAK0ic,YAAY/oX,OACjB35E,KAAKo5b,YAAYz/W,OAAOusU,IAAK,uBAAyB,IACtDlmZ,KAAK0ic,YAAY9vb,SAAW5S,KAAKo5b,YAAYxmb,SAAU,IAAUglb,GAGlEgO,EAAgB9+b,MAAM,SAAUwe,GAC/BtlB,KAAKutb,SAAU,SAAUjoa,EAAOtlB,KAAK83b,cAMlC93b,OAASA,KAAKyic,mBACZ7K,IACLgO,EAAgB9+b,MAAM,SAAUwe,GAC/BtlB,KAAKutb,SAAU,SAAUjoa,EAAOtlB,KAAK83b,cAEtC8N,EAAgB9+b,KAAQ,SAAU5E,GACjC,OAAO,SAAUojB,GAChBpjB,EAAEqrb,SAAU,UAAWjoa,EAAOtlB,KAAK83b,QAAS93b,SAE1CgC,KAAMhC,KAAMA,KAAKyic,mBACrBmD,EAAgB9+b,KAAQ,SAAU5E,GACjC,OAAO,SAAUojB,GAChBpjB,EAAEqrb,SAAU,SAAUjoa,EAAOtlB,KAAK83b,QAAS93b,SAEzCgC,KAAMhC,KAAMA,KAAKyic,qBAUjB5lc,EAAImD,KAAKijc,WAAWnmc,OAAS,EAAGD,GAAK,EAAGA,IACvC+6b,GACLgO,EAAgB9+b,KAAM++b,EAAY,aAAc7lc,KAAMA,KAAKijc,WAAYpmc,KAEnEmD,KAAKijc,WAAYpmc,GAAIq8b,eAAeljZ,OACxC4vZ,EAAgB9+b,KAAM++b,EAAY,MAAO7lc,KAAMA,KAAKijc,WAAYpmc,KAChEmD,KAAKijc,WAAYpmc,GAAIq8b,eAAeljZ,KAAO,GAiC7C,GA5BKh2C,KAAK4ic,eACT5ic,KAAKsD,SAASgqE,KAAM,QAAShsD,IAAK,SAAUthB,KAAK4ic,cACjD5ic,KAAK6ic,iBAAiB5ia,UAElBjgC,KAAK8ic,gBACT9ic,KAAKy2C,OAAOn1B,IAAK,UAAWthB,KAAK8ic,gBAE7B9ic,KAAK+ic,eACT/ic,KAAKy2C,OAAOn1B,IAAK,SAAiC,SAAvBthB,KAAK+ic,cAA2B,GAAK/ic,KAAK+ic,eAGtE/ic,KAAKkjc,UAAW,EAEVtL,GACL53b,KAAKutb,SAAU,aAAcjoa,EAAOtlB,KAAK83b,WAK1C93b,KAAKyuH,YAAa,GAAI9oG,WAAWpB,YAAavkB,KAAKyuH,YAAa,IAE1DzuH,KAAK04b,sBACL14b,KAAKy2C,OAAQ,KAAQz2C,KAAKo5b,YAAa,IAC3Cp5b,KAAKy2C,OAAOxW,SAEbjgC,KAAKy2C,OAAS,OAGTmhZ,EAAgB,CACrB,IAAM/6b,EAAI,EAAGA,EAAI+oc,EAAgB9oc,OAAQD,IAGxC+oc,EAAiB/oc,GAAImF,KAAMhC,KAAMslB,GAElCtlB,KAAKutb,SAAU,OAAQjoa,EAAOtlB,KAAK83b,WAIpC,OADA93b,KAAKq5b,aAAc,GACXr5b,KAAK04b,qBAIdnL,SAAU,YACqD,IAAzDlpb,EAAEi8G,OAAO7iH,UAAU8vb,SAASntb,MAAOJ,KAAMG,YAC7CH,KAAKk/D,UAIP44X,QAAS,SAAUgO,GAClB,IAAIhM,EAAOgM,GAAS9lc,KACpB,MAAO,CACNy2C,OAAQqjZ,EAAKrjZ,OACbg4E,YAAaqrU,EAAKrrU,aAAepqH,EAAG,IACpCs+B,SAAUm3Z,EAAKn3Z,SACfq0Z,iBAAkB8C,EAAK9C,iBACvB/hb,OAAQ6kb,EAAKhD,YACbpva,KAAMoya,EAAKV,YACX2M,OAAQD,EAAQA,EAAMprb,QAAU,SA6BZrW,EAAE88E,OAAQ,eAAgB,CAChDvyC,QAAS,SACTrQ,QAAS,CACR8zF,OAAQ,EACRr0G,QAAS,GACT0/H,QAAS,CACR,sBAAuB,gBACvB,gCAAiC,gBACjC,uBAAwB,oBAEzBsoT,aAAa,EACb1gb,MAAO,QACP+pG,OAAQ,uCACR42U,YAAa,OACbC,MAAO,CACNC,aAAc,uBACd92U,OAAQ,wBAIT+qU,SAAU,KACVgM,eAAgB,MAGjBC,UAAW,CACVz3S,eAAgB,OAChBC,kBAAmB,OACnBH,WAAY,OACZC,cAAe,OACf9nJ,OAAQ,QAGTy/b,UAAW,CACV13S,eAAgB,OAChBC,kBAAmB,OACnBH,WAAY,OACZC,cAAe,OACf9nJ,OAAQ,QAGTwmb,QAAS,WACR,IAAI9uZ,EAAUv+B,KAAKu+B,QAEnBv+B,KAAKumc,SAAWvmc,KAAKwmc,SAAWnic,IAChCrE,KAAK8pL,UAAW,eAAgB,6BAChC9pL,KAAK0a,QAAQwqB,KAAM,OAAQ,WAGrB3G,EAAQyna,cAAoC,IAAnBzna,EAAQ8zF,QAAsC,MAAlB9zF,EAAQ8zF,SAClE9zF,EAAQ8zF,OAAS,GAGlBryH,KAAKymc,iBAGAloa,EAAQ8zF,OAAS,IACrB9zF,EAAQ8zF,QAAUryH,KAAKosQ,QAAQtvQ,QAEhCkD,KAAK8pC,YAGN0jZ,oBAAqB,WACpB,MAAO,CACNn+T,OAAQrvH,KAAKqyH,OACb40S,MAAQjna,KAAKqyH,OAAOv1H,OAAekD,KAAKqyH,OAAO9wH,OAAlB8C,MAI/Bqic,aAAc,WACb,IAAIl+W,EAAMh2E,EACT0zb,EAAQlmc,KAAKu+B,QAAQ2na,MAEjBA,IACJ19W,EAAOnkF,EAAG,UACVrE,KAAK8pL,UAAWthG,EAAM,2BAA4B,WAAa09W,EAAM72U,QACrE7mC,EAAKF,UAAWtoF,KAAKosQ,SACrB55P,EAAWxS,KAAKqyH,OAAO7/G,SAAU,6BACjCxS,KAAK0tb,aAAcl7a,EAAU0zb,EAAM72U,QACjCy6D,UAAWt3K,EAAU,KAAM0zb,EAAMC,cACjCr8Q,UAAW9pL,KAAKosQ,QAAS,wBAI7Bu6L,cAAe,WACd3mc,KAAK0tb,aAAc1tb,KAAKosQ,QAAS,sBACjCpsQ,KAAKosQ,QAAQ55P,SAAU,6BAA8BytB,UAGtDwtZ,SAAU,WACT,IAAI72O,EAGJ52M,KAAK0a,QAAQ4lE,WAAY,QAGzBtgF,KAAKosQ,QACH9rL,WAAY,2DACZgzW,iBAEFtzb,KAAK2mc,gBAGL/vP,EAAW52M,KAAKosQ,QAAQ7qQ,OACtB+f,IAAK,UAAW,IAChBg/D,WAAY,oCACZgzW,iBAEgC,YAA7Btzb,KAAKu+B,QAAQ0na,aACjBrvP,EAASt1L,IAAK,SAAU,KAI1Busa,WAAY,SAAUxwb,EAAKqC,GACb,WAARrC,GAOQ,UAARA,IACC2C,KAAKu+B,QAAQjZ,OACjBtlB,KAAK0ub,KAAM1ub,KAAKosQ,QAASpsQ,KAAKu+B,QAAQjZ,OAEvCtlB,KAAK4mc,aAAclnc,IAGpBM,KAAKinD,OAAQ5pD,EAAKqC,GAGL,gBAARrC,GAA0BqC,IAAiC,IAAxBM,KAAKu+B,QAAQ8zF,QACpDryH,KAAK46b,UAAW,GAGJ,UAARv9b,IACJ2C,KAAK2mc,gBACAjnc,GACJM,KAAK0mc,iBArBN1mc,KAAK46b,UAAWl7b,IA0BlB4tb,mBAAoB,SAAU5tb,GAC7BM,KAAKinD,OAAQvnD,GAEbM,KAAK0a,QAAQwqB,KAAM,gBAAiBxlC,GAKpCM,KAAKiub,aAAc,KAAM,sBAAuBvub,GAChDM,KAAKiub,aAAcjub,KAAKosQ,QAAQ75N,IAAKvyC,KAAKosQ,QAAQ7qQ,QAAU,KAAM,sBAC/D7B,IAGJmnc,SAAU,SAAUvhb,GACnB,IAAKA,EAAMwqY,SAAUxqY,EAAM2xB,QAA3B,CAIA,IAAI2E,EAAUv3C,EAAE4xC,GAAG2F,QAClB9+C,EAASkD,KAAKosQ,QAAQtvQ,OACtB4mW,EAAe1jW,KAAKosQ,QAAQjrO,MAAO7b,EAAM3oB,QACzCmqc,GAAU,EAEX,OAASxhb,EAAMs2B,SACf,KAAKA,EAAQ63B,MACb,KAAK73B,EAAQ83B,KACZozX,EAAU9mc,KAAKosQ,SAAWs3F,EAAe,GAAM5mW,GAC/C,MACD,KAAK8+C,EAAQ+3B,KACb,KAAK/3B,EAAQ43B,GACZszX,EAAU9mc,KAAKosQ,SAAWs3F,EAAe,EAAI5mW,GAAWA,GACxD,MACD,KAAK8+C,EAAQwnT,MACb,KAAKxnT,EAAQ62Y,MACZzyb,KAAK+mc,cAAezhb,GACpB,MACD,KAAKs2B,EAAQ+2Y,KACZmU,EAAU9mc,KAAKosQ,QAAS,GACxB,MACD,KAAKxwN,EAAQo0P,IACZ82J,EAAU9mc,KAAKosQ,QAAStvQ,EAAS,GAI7Bgqc,IACJzic,EAAGihB,EAAM3oB,QAASuoC,KAAM,YAAa,GACrC7gC,EAAGyic,GAAU5ha,KAAM,WAAY,GAC/B7gC,EAAGyic,GAAU9kX,QAAS,SACtB18D,EAAMw1B,oBAIRksZ,cAAe,SAAU1hb,GACnBA,EAAMs2B,UAAYv3C,EAAE4xC,GAAG2F,QAAQ43B,IAAMluD,EAAM2xB,SAC/C5yC,EAAGihB,EAAMk0E,eAAgB7f,OAAOqI,QAAS,UAI3Cp4C,QAAS,WACR,IAAIrL,EAAUv+B,KAAKu+B,QACnBv+B,KAAKymc,kBAGqB,IAAnBloa,EAAQ8zF,SAA4C,IAAxB9zF,EAAQyna,cACxChmc,KAAKosQ,QAAQtvQ,QACfyhC,EAAQ8zF,QAAS,EACjBryH,KAAKqyH,OAAShuH,MAGgB,IAAnBk6B,EAAQ8zF,OACnBryH,KAAK46b,UAAW,GAGL56b,KAAKqyH,OAAOv1H,SAAWuH,EAAE87C,SAAUngD,KAAK0a,QAAS,GAAK1a,KAAKqyH,OAAQ,IAGzEryH,KAAKosQ,QAAQtvQ,SAAWkD,KAAKosQ,QAAQ9+L,KAAM,sBAAuBxwE,QACtEyhC,EAAQ8zF,QAAS,EACjBryH,KAAKqyH,OAAShuH,KAIdrE,KAAK46b,UAAWzzb,KAAK+K,IAAK,EAAGqsB,EAAQ8zF,OAAS,IAO/C9zF,EAAQ8zF,OAASryH,KAAKosQ,QAAQjrO,MAAOnhC,KAAKqyH,QAG3CryH,KAAK2mc,gBAEL3mc,KAAK8pC,YAGN28Z,eAAgB,WACf,IAAIQ,EAAcjnc,KAAKosQ,QACtB86L,EAAalnc,KAAKmnc,OAEnBnnc,KAAKosQ,QAAUpsQ,KAAK0a,QAAQ4yD,KAAMttE,KAAKu+B,QAAQ8wF,QAC/CrvH,KAAK8pL,UAAW9pL,KAAKosQ,QAAS,oDAC7B,oBAEDpsQ,KAAKmnc,OAASnnc,KAAKosQ,QAAQ7qQ,OAAO0R,OAAQ,sCAAuC2+C,OACjF5xD,KAAK8pL,UAAW9pL,KAAKmnc,OAAQ,uBAAwB,qCAGhDD,IACJlnc,KAAK0ub,KAAMuY,EAAY/gD,IAAKlmZ,KAAKosQ,UACjCpsQ,KAAK0ub,KAAMwY,EAAWhhD,IAAKlmZ,KAAKmnc,WAIlCr9Z,SAAU,WACT,IAAI21C,EACHlhD,EAAUv+B,KAAKu+B,QACf0na,EAAc1na,EAAQ0na,YACtBrzb,EAAS5S,KAAK0a,QAAQ9H,SAEvB5S,KAAKqyH,OAASryH,KAAKonc,YAAa7oa,EAAQ8zF,QACxCryH,KAAK8pL,UAAW9pL,KAAKqyH,OAAQ,6BAA8B,mBACzDq7T,aAAc1tb,KAAKqyH,OAAQ,iCAC7BryH,KAAK8pL,UAAW9pL,KAAKqyH,OAAO9wH,OAAQ,+BACpCvB,KAAKqyH,OAAO9wH,OAAOwwD,OAEnB/xD,KAAKosQ,QACHlnO,KAAM,OAAQ,OACdrR,MAAM,WACN,IAAIw7F,EAAShrH,EAAGrE,MACfqnc,EAAWh4U,EAAOppH,WAAWi/B,KAAM,MACnC+hY,EAAQ53S,EAAO9tH,OACf+lc,EAAUrgC,EAAMhha,WAAWi/B,KAAM,MAClCmqF,EAAOnqF,KAAM,gBAAiBoia,GAC9BrgC,EAAM/hY,KAAM,kBAAmBmia,MAE/B9lc,OACC2jC,KAAM,OAAQ,YAEjBllC,KAAKosQ,QACH85I,IAAKlmZ,KAAKqyH,QACTntF,KAAM,CACN,gBAAiB,QACjB,gBAAiB,QACjBkpF,UAAW,IAEX7sH,OACC2jC,KAAM,CACN,cAAe,SAEf0sB,OAGE5xD,KAAKqyH,OAAOv1H,OAGjBkD,KAAKqyH,OAAOntF,KAAM,CACjB,gBAAiB,OACjB,gBAAiB,OACjBkpF,SAAU,IAET7sH,OACC2jC,KAAM,CACN,cAAe,UATlBllC,KAAKosQ,QAAQ/pH,GAAI,GAAIn9G,KAAM,WAAY,GAaxCllC,KAAK0mc,eAEL1mc,KAAK4mc,aAAcroa,EAAQjZ,OAEN,SAAhB2gb,GACJxmX,EAAY7sE,EAAO/L,SACnB7G,KAAK0a,QAAQ2sE,SAAU,YAAaxzD,MAAM,WACzC,IAAI0tD,EAAOl9E,EAAGrE,MACb2iC,EAAW4+C,EAAKjgE,IAAK,YAEJ,aAAbqhB,GAAwC,UAAbA,IAGhC88C,GAAa8B,EAAKkB,aAAa,OAGhCziF,KAAKosQ,QAAQv4O,MAAM,WAClB4rD,GAAap7E,EAAGrE,MAAOyiF,aAAa,MAGrCziF,KAAKosQ,QAAQ7qQ,OACXsyB,MAAM,WACNxvB,EAAGrE,MAAO6G,OAAQM,KAAK+K,IAAK,EAAGutE,EAC9Bp7E,EAAGrE,MAAOsuJ,cAAgBjqJ,EAAGrE,MAAO6G,cAErCya,IAAK,WAAY,SACQ,SAAhB2kb,IACXxmX,EAAY,EACZz/E,KAAKosQ,QAAQ7qQ,OACXsyB,MAAM,WACN,IAAIwuB,EAAYh+C,EAAGrE,MAAOsE,GAAI,YACxB+9C,GACLh+C,EAAGrE,MAAO+xD,OAEX0tB,EAAYt4E,KAAK+K,IAAKutE,EAAWp7E,EAAGrE,MAAOshB,IAAK,SAAU,IAAKza,UACzDw7C,GACLh+C,EAAGrE,MAAO4xD,UAGX/qD,OAAQ44E,KAIZm7W,UAAW,SAAUz5Z,GACpB,IAAIkxF,EAASryH,KAAKonc,YAAajma,GAAS,GAGnCkxF,IAAWryH,KAAKqyH,OAAQ,KAK7BA,EAASA,GAAUryH,KAAKqyH,OAAQ,GAEhCryH,KAAK+mc,cAAe,CACnBpqc,OAAQ01H,EACR74B,cAAe64B,EACfv3E,eAAgBz2C,EAAE2+E,SAIpBokX,YAAa,SAAUtjc,GACtB,MAA2B,kBAAbA,EAAwB9D,KAAKosQ,QAAQ/pH,GAAIv+I,GAAaO,KAGrEuic,aAAc,SAAUthb,GACvB,IAAImB,EAAS,CACZ8gb,QAAS,YAELjib,GACJjhB,EAAEwvB,KAAMvO,EAAM/Y,MAAO,MAAO,SAAU40B,EAAOk9H,GAC5C53I,EAAQ43I,GAAc,mBAIxBr+J,KAAK0ub,KAAM1ub,KAAKosQ,QAAQ75N,IAAKvyC,KAAKosQ,QAAQ7qQ,SAC1CvB,KAAKmtb,IAAKntb,KAAKosQ,QAAS3lP,GACxBzmB,KAAKmtb,IAAKntb,KAAKosQ,QAAQ7qQ,OAAQ,CAAEgmc,QAAS,kBAC1Cvnc,KAAK2ub,WAAY3ub,KAAKosQ,SACtBpsQ,KAAK4ub,WAAY5ub,KAAKosQ,UAGvB26L,cAAe,SAAUzhb,GACxB,IAAIkib,EAAgBC,EACnBlpa,EAAUv+B,KAAKu+B,QACf8zF,EAASryH,KAAKqyH,OACdq1U,EAAUrjc,EAAGihB,EAAMk0E,eACnBmuW,EAAkBD,EAAS,KAAQr1U,EAAQ,GAC3Cu1U,EAAaD,GAAmBppa,EAAQyna,YACxC6B,EAASD,EAAavjc,IAAMqjc,EAAQnmc,OACpCumc,EAASz1U,EAAO9wH,OAChBwmc,EAAY,CACXC,UAAW31U,EACX41U,SAAUH,EACVI,UAAWN,EAAavjc,IAAMqjc,EAC9BS,SAAUN,GAGZvib,EAAMw1B,iBAKF6sZ,IAAoBppa,EAAQyna,cAG4B,IAAxDhmc,KAAKutb,SAAU,iBAAkBjoa,EAAOyib,KAI5Cxpa,EAAQ8zF,QAASu1U,GAAqB5nc,KAAKosQ,QAAQjrO,MAAOuma,GAI1D1nc,KAAKqyH,OAASs1U,EAAkBtjc,IAAMqjc,EACtC1nc,KAAKooc,QAASL,GAId/nc,KAAK0tb,aAAcr7T,EAAQ,6BAA8B,mBACpD9zF,EAAQ2na,QACZsB,EAAiBn1U,EAAO7/G,SAAU,6BAClCxS,KAAK0tb,aAAc8Z,EAAgB,KAAMjpa,EAAQ2na,MAAMC,cACrDr8Q,UAAW09Q,EAAgB,KAAMjpa,EAAQ2na,MAAM72U,SAG5Cs4U,IACL3nc,KAAK0tb,aAAcga,EAAS,iCAC1B59Q,UAAW49Q,EAAS,6BAA8B,mBAC/Cnpa,EAAQ2na,QACZuB,EAAkBC,EAAQl1b,SAAU,6BACpCxS,KAAK0tb,aAAc+Z,EAAiB,KAAMlpa,EAAQ2na,MAAM72U,QACtDy6D,UAAW29Q,EAAiB,KAAMlpa,EAAQ2na,MAAMC,eAGnDnmc,KAAK8pL,UAAW49Q,EAAQnmc,OAAQ,kCAIlC6mc,QAAS,SAAUp3b,GAClB,IAAI62b,EAAS72b,EAAKm3b,SACjBL,EAAS9nc,KAAKumc,SAASzpc,OAASkD,KAAKumc,SAAWv1b,EAAKi3b,SAGtDjoc,KAAKumc,SAASh0Z,IAAKvyC,KAAKwmc,UAAW/ic,MAAM,GAAM,GAC/CzD,KAAKumc,SAAWsB,EAChB7nc,KAAKwmc,SAAWsB,EAEX9nc,KAAKu+B,QAAQvgB,QACjBhe,KAAKqoc,SAAUR,EAAQC,EAAQ92b,IAE/B82b,EAAOl2Y,OACPi2Y,EAAO91Y,OACP/xD,KAAKsoc,gBAAiBt3b,IAGvB82b,EAAO5ia,KAAM,CACZ,cAAe,SAEhB4ia,EAAOnuX,OAAOz0C,KAAM,CACnB,gBAAiB,QACjB,gBAAiB,UAMb2ia,EAAO/qc,QAAUgrc,EAAOhrc,OAC5Bgrc,EAAOnuX,OAAOz0C,KAAM,CACnB,UAAa,EACb,gBAAiB,UAEP2ia,EAAO/qc,QAClBkD,KAAKosQ,QAAQn5P,QAAQ,WACpB,OAAwD,IAAjDiL,SAAU7Z,EAAGrE,MAAOklC,KAAM,YAAc,OAE9CA,KAAM,YAAa,GAGtB2ia,EACE3ia,KAAM,cAAe,SACrBy0C,OACCz0C,KAAM,CACN,gBAAiB,OACjB,gBAAiB,OACjBkpF,SAAU,KAIdi6U,SAAU,SAAUR,EAAQC,EAAQ92b,GACnC,IAAIotU,EAAOxnT,EAAQpa,EAClBlQ,EAAOtM,KACPm5E,EAAS,EACTovX,EAAYV,EAAOvmb,IAAK,cACxBknb,EAAOX,EAAO/qc,UACVgrc,EAAOhrc,QAAY+qc,EAAO1ma,QAAU2ma,EAAO3ma,SAC/CnjB,EAAUhe,KAAKu+B,QAAQvgB,SAAW,GAClCugB,EAAUiqa,GAAQxqb,EAAQwqb,MAAQxqb,EAClC2hE,EAAW,WACVrzE,EAAKg8b,gBAAiBt3b,IAcxB,MAXwB,kBAAZutB,IACX/hB,EAAW+hB,GAEY,kBAAZA,IACX3H,EAAS2H,GAIV3H,EAASA,GAAU2H,EAAQ3H,QAAU5Y,EAAQ4Y,OAC7Cpa,EAAWA,GAAY+hB,EAAQ/hB,UAAYwB,EAAQxB,SAE7Csrb,EAAOhrc,OAGP+qc,EAAO/qc,QAIbshV,EAAQypH,EAAO91Y,OAAO0wB,cACtBqlX,EAAO9pb,QAAShe,KAAKqmc,UAAW,CAC/B7pb,SAAUA,EACVoa,OAAQA,EACRt1B,KAAM,SAAUw0B,EAAK3Z,GACpBA,EAAG2Z,IAAM3uB,KAAKi9G,MAAOtuF,WAGvB+xa,EACEj2Y,OACA5zC,QAAShe,KAAKsmc,UAAW,CACzB9pb,SAAUA,EACVoa,OAAQA,EACR+oD,SAAUA,EACVr+E,KAAM,SAAUw0B,EAAK3Z,GACpBA,EAAG2Z,IAAM3uB,KAAKi9G,MAAOtuF,GACJ,WAAZ3Z,EAAG3W,KACY,gBAAd+ic,IACJpvX,GAAUh9D,EAAG2Z,KAE0B,YAA7BxpB,EAAKiyB,QAAQ0na,cACxB9pb,EAAG2Z,IAAM3uB,KAAKi9G,MAAOg6N,EAAQ0pH,EAAOrlX,cAAgBtJ,GACpDA,EAAS,OAzBL2uX,EAAO9pb,QAAShe,KAAKqmc,UAAW7pb,EAAUoa,EAAQ+oD,GAHlDkoX,EAAO7pb,QAAShe,KAAKsmc,UAAW9pb,EAAUoa,EAAQ+oD,IAkC3D2oX,gBAAiB,SAAUt3b,GAC1B,IAAI82b,EAAS92b,EAAKi3b,SACjBtuX,EAAOmuX,EAAOnuX,OAEf35E,KAAK0tb,aAAcoa,EAAQ,+BAC3B9nc,KAAK0tb,aAAc/zW,EAAM,8BACvBmwG,UAAWnwG,EAAM,iCAGdmuX,EAAOhrc,SACXgrc,EAAOl1b,SAAU,GAAI+R,UAAYmjb,EAAOl1b,SAAU,GAAI+R,WAEvD3kB,KAAKutb,SAAU,WAAY,KAAMv8a,MAyBjB3M,EAAE88E,OAAQ,UAAW,CACtCvyC,QAAS,SACTg+Y,eAAgB,OAChBj2Z,MAAO,IACP4H,QAAS,CACR2na,MAAO,CACNuC,QAAS,qBAEVxlX,MAAO,MACPnB,MAAO,KACPn/C,SAAU,CACT0/C,GAAI,WACJC,GAAI,aAELo9F,KAAM,OAGNp6F,KAAM,KACNc,MAAO,KACPxkC,OAAQ,MAGTyrY,QAAS,WACRrtb,KAAK0oc,WAAa1oc,KAAK0a,QAIvB1a,KAAKuzb,cAAe,EACpBvzb,KAAK0a,QACHzU,WACAi/B,KAAM,CACNw6I,KAAM1/K,KAAKu+B,QAAQmhJ,KACnBtxD,SAAU,IAGZpuH,KAAK8pL,UAAW,UAAW,+BAC3B9pL,KAAKmtb,IAAK,CAIT,0BAA2B,SAAU7na,GACpCA,EAAMw1B,kBAEP,sBAAuB,SAAUx1B,GAChC,IAAI3oB,EAAS0H,EAAGihB,EAAM3oB,QAClB01H,EAAShuH,EAAGA,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,MACjDtD,KAAKuzb,cAAgB52b,EAAOupZ,IAAK,sBAAuBppZ,SAC7DkD,KAAK4hD,OAAQt8B,GAGPA,EAAM2pY,yBACXjvZ,KAAKuzb,cAAe,GAIhB52b,EAAOqoF,IAAK,YAAaloF,OAC7BkD,KAAKy9D,OAAQn4C,IACDtlB,KAAK0a,QAAQpW,GAAI,WAC5B+tH,EAAO7tC,QAAS,YAAa1nF,SAG9BkD,KAAK0a,QAAQsnE,QAAS,QAAS,EAAE,IAI5BhiF,KAAKqyH,QAAuD,IAA7CryH,KAAKqyH,OAAOm+B,QAAS,YAAa1zJ,QACrDw3B,aAAct0B,KAAKmjF,UAKvB,2BAA4B,SAAU79D,GAKrC,IAAKtlB,KAAK2oc,eAAV,CAIA,IAAIC,EAAevkc,EAAGihB,EAAM3oB,QAAS6nF,QAAS,iBAC7C7nF,EAAS0H,EAAGihB,EAAMk0E,eAGdovW,EAAc,KAAQjsc,EAAQ,KAMnCqD,KAAK0tb,aAAc/wb,EAAO0qF,WAAW70E,SAAU,oBAC9C,KAAM,mBACPxS,KAAKomF,MAAO9gE,EAAO3oB,MAEpB+nF,WAAY,cACZ,sBAAuB,cACvB0B,MAAO,SAAU9gE,EAAOujb,GAIvB,IAAInhb,EAAO1nB,KAAKqyH,QAAUryH,KAAK0a,QAAQ4yD,KAAMttE,KAAKu+B,QAAQ0kD,OAAQo/D,GAAI,GAEhEwmT,GACL7oc,KAAKomF,MAAO9gE,EAAOoC,IAGrB49D,KAAM,SAAUhgE,GACftlB,KAAKy1B,QAAQ,YACQpxB,EAAE87C,SACrBngD,KAAK0a,QAAS,GACdrW,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,MAGvCtD,KAAK8oc,YAAaxjb,OAIrBiib,QAAS,aAGVvnc,KAAK4pC,UAGL5pC,KAAKmtb,IAAKntb,KAAKsD,SAAU,CACxBygF,MAAO,SAAUz+D,GACXtlB,KAAK+oc,sBAAuBzjb,IAChCtlB,KAAK8oc,YAAaxjb,GAInBtlB,KAAKuzb,cAAe,MAKvB9F,SAAU,WACT,IAECub,EAFWhpc,KAAK0a,QAAQ4yD,KAAM,iBAC5BgT,WAAY,sBACG9tE,SAAU,yBACzB8gb,iBACAhzW,WAAY,+BAGftgF,KAAK0a,QACH4lE,WAAY,yBACZhT,KAAM,YAAam5U,UAClBnmU,WAAY,yEAEZgzW,iBACAvhY,OAEHi3Y,EAASx2b,WAAWqhB,MAAM,WACzB,IAAI0tD,EAAOl9E,EAAGrE,MACTuhF,EAAKvwE,KAAM,0BACfuwE,EAAKthD,aAKR4ma,SAAU,SAAUvhb,GACnB,IAAI9b,EAAOmwE,EAAMsvX,EAAWzqK,EAC3B1jP,GAAiB,EAElB,OAASx1B,EAAMs2B,SACf,KAAKv3C,EAAE4xC,GAAG2F,QAAQi3Y,QACjB7yb,KAAKkpc,aAAc5jb,GACnB,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQg3Y,UACjB5yb,KAAK8iV,SAAUx9T,GACf,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ+2Y,KACjB3yb,KAAKmpc,MAAO,QAAS,QAAS7jb,GAC9B,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQo0P,IACjBhwS,KAAKmpc,MAAO,OAAQ,OAAQ7jb,GAC5B,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ43B,GACjBxzE,KAAK6rC,SAAUvmB,GACf,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ83B,KACjB1zE,KAAKuB,KAAM+jB,GACX,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ+3B,KACjB3zE,KAAKopc,SAAU9jb,GACf,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ63B,MACZzzE,KAAKqyH,SAAWryH,KAAKqyH,OAAO/tH,GAAI,uBACpCtE,KAAKy9D,OAAQn4C,GAEd,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ62Y,MAClB,KAAKpub,EAAE4xC,GAAG2F,QAAQwnT,MACjBpjW,KAAK46b,UAAWt1a,GAChB,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ82Y,OACjB1yb,KAAKopc,SAAU9jb,GACf,MACD,QACCw1B,GAAiB,EACjB6+B,EAAO35E,KAAK2oc,gBAAkB,GAC9BnqK,GAAO,EAGPyqK,EAAY3jb,EAAMs2B,SAAW,IAAMt2B,EAAMs2B,SAAW,KACjDt2B,EAAMs2B,QAAU,IAAKxvC,WAAaurB,OAAOE,aAAcvS,EAAMs2B,SAEhEtnB,aAAct0B,KAAKqpc,aAEdJ,IAActvX,EAClB6kN,GAAO,EAEPyqK,EAAYtvX,EAAOsvX,EAGpBz/b,EAAQxJ,KAAKspc,iBAAkBL,IAC/Bz/b,EAAQg1R,IAA+C,IAAvCh1R,EAAM23B,MAAOnhC,KAAKqyH,OAAO9wH,QACxCvB,KAAKqyH,OAAOs0R,QAAS,iBACrBn9Y,GAIW1M,SACXmsc,EAAYtxa,OAAOE,aAAcvS,EAAMs2B,SACvCpyC,EAAQxJ,KAAKspc,iBAAkBL,IAG3Bz/b,EAAM1M,QACVkD,KAAKomF,MAAO9gE,EAAO9b,GACnBxJ,KAAK2oc,eAAiBM,EACtBjpc,KAAKqpc,YAAcrpc,KAAKy1B,QAAQ,kBACxBz1B,KAAK2oc,iBACV,aAEI3oc,KAAK2oc,eAIT7tZ,GACJx1B,EAAMw1B,kBAIR8/Y,UAAW,SAAUt1a,GACftlB,KAAKqyH,SAAWryH,KAAKqyH,OAAO/tH,GAAI,wBAC/BtE,KAAKqyH,OAAO7/G,SAAU,0BAA2B1V,OACrDkD,KAAKy9D,OAAQn4C,GAEbtlB,KAAK4hD,OAAQt8B,KAKhBskB,QAAS,WACR,IAAWq5C,EAAOsmX,EAAaC,EAAUC,EACxCn9b,EAAOtM,KACPwoF,EAAOxoF,KAAKu+B,QAAQ2na,MAAMuC,QAC1BO,EAAWhpc,KAAK0a,QAAQ4yD,KAAMttE,KAAKu+B,QAAQujD,OAE5C9hF,KAAKiub,aAAc,gBAAiB,OAAQjub,KAAK0a,QAAQ4yD,KAAM,YAAaxwE,QAG5Eysc,EAAcP,EAAS/1b,OAAQ,kBAC7B2+C,OACA1sB,KAAM,CACNw6I,KAAM1/K,KAAKu+B,QAAQmhJ,KACnB,cAAe,OACf,gBAAiB,UAEjB7rJ,MAAM,WACN,IAAIoxB,EAAO5gD,EAAGrE,MACb0nB,EAAOu9B,EAAK00B,OACZ+vX,EAAerlc,EAAG,UAAW2M,KAAM,yBAAyB,GAE7D1E,EAAKw9K,UAAW4/Q,EAAc,eAAgB,WAAalhX,GAC3D9gE,EACEwd,KAAM,gBAAiB,QACvB45R,QAAS4qI,GACXzkZ,EAAK/f,KAAM,kBAAmBxd,EAAKwd,KAAM,UAG3CllC,KAAK8pL,UAAWy/Q,EAAa,UAAW,yCAGxCtmX,EADQ+lX,EAASz2Z,IAAKvyC,KAAK0a,SACb4yD,KAAMttE,KAAKu+B,QAAQ0kD,QAG3BijU,IAAK,iBAAkBryX,MAAM,WAClC,IAAInM,EAAOrjB,EAAGrE,MACTsM,EAAKq9b,WAAYjib,IACrBpb,EAAKw9K,UAAWpiK,EAAM,kBAAmB,wBAM3C+hb,GADAD,EAAWvmX,EAAMijU,IAAK,oCACC1zY,WACrB0zY,IAAK,YACJjgZ,WACAi/B,KAAM,CACNkpF,UAAW,EACXsxD,KAAM1/K,KAAK4pc,cAEd5pc,KAAK8pL,UAAW0/Q,EAAU,gBACxB1/Q,UAAW2/Q,EAAa,wBAG1BxmX,EAAMhwE,OAAQ,sBAAuBiyB,KAAM,gBAAiB,QAGvDllC,KAAKqyH,SAAWhuH,EAAE87C,SAAUngD,KAAK0a,QAAS,GAAK1a,KAAKqyH,OAAQ,KAChEryH,KAAKslF,QAIPskX,UAAW,WACV,MAAO,CACN3kZ,KAAM,WACN4kZ,QAAS,UACP7pc,KAAKu+B,QAAQmhJ,OAGjBmuQ,WAAY,SAAUxwb,EAAKqC,GAC1B,GAAa,UAARrC,EAAkB,CACtB,IAAI6oc,EAAQlmc,KAAK0a,QAAQ4yD,KAAM,iBAC/BttE,KAAK0tb,aAAcwY,EAAO,KAAMlmc,KAAKu+B,QAAQ2na,MAAMuC,SACjD3+Q,UAAWo8Q,EAAO,KAAMxmc,EAAM+oc,SAEjCzoc,KAAKinD,OAAQ5pD,EAAKqC,IAGnB4tb,mBAAoB,SAAU5tb,GAC7BM,KAAKinD,OAAQvnD,GAEbM,KAAK0a,QAAQwqB,KAAM,gBAAiBvN,OAAQj4B,IAC5CM,KAAKiub,aAAc,KAAM,sBAAuBvub,IAGjD0mF,MAAO,SAAU9gE,EAAOoC,GACvB,IAAI+gE,EAAQu7U,EAAS8lC,EACrB9pc,KAAKslF,KAAMhgE,EAAOA,GAAwB,UAAfA,EAAMrU,MAEjCjR,KAAK+pc,gBAAiBrib,GAEtB1nB,KAAKqyH,OAAS3qG,EAAKmhC,QAEnBm7W,EAAUhka,KAAKqyH,OAAO7/G,SAAU,yBAChCxS,KAAK8pL,UAAWk6O,EAAS,KAAM,mBAI1Bhka,KAAKu+B,QAAQmhJ,MACjB1/K,KAAK0a,QAAQwqB,KAAM,wBAAyB8+X,EAAQ9+X,KAAM,OAI3D4ka,EAAe9pc,KAAKqyH,OAClBz/G,SACC4xE,QAAS,iBACRhyE,SAAU,yBACdxS,KAAK8pL,UAAWggR,EAAc,KAAM,mBAE/Bxkb,GAAwB,YAAfA,EAAMrU,KACnBjR,KAAKgqc,SAELhqc,KAAKmjF,MAAQnjF,KAAKy1B,QAAQ,WACzBz1B,KAAKgqc,WACHhqc,KAAK22B,QAGT8xD,EAAS/gE,EAAKlV,SAAU,aACZ1V,QAAUwoB,GAAW,SAASid,KAAMjd,EAAMrU,OACrDjR,KAAKiqc,cAAexhX,GAErBzoF,KAAK0oc,WAAahhb,EAAK9U,SAEvB5S,KAAKutb,SAAU,QAASjoa,EAAO,CAAEoC,KAAMA,KAGxCqib,gBAAiB,SAAUrib,GAC1B,IAAIqqI,EAAWrD,EAAYz5I,EAAQi9I,EAAQb,EAAec,EACrDnyJ,KAAKu8b,eACTxqS,EAAYxoJ,WAAYlF,EAAEid,IAAKthB,KAAK0oc,WAAY,GAAK,oBAAwB,EAC7Eh6S,EAAanlJ,WAAYlF,EAAEid,IAAKthB,KAAK0oc,WAAY,GAAK,gBAAoB,EAC1Ezzb,EAASyS,EAAKzS,SAAS8hC,IAAM/2C,KAAK0oc,WAAWzzb,SAAS8hC,IAAMg7G,EAAYrD,EACxEwD,EAASlyJ,KAAK0oc,WAAWppZ,YACzB+xG,EAAgBrxJ,KAAK0oc,WAAW7hc,SAChCsrJ,EAAazqI,EAAK+6D,cAEbxtE,EAAS,EACbjV,KAAK0oc,WAAWppZ,UAAW4yG,EAASj9I,GACzBA,EAASk9I,EAAad,GACjCrxJ,KAAK0oc,WAAWppZ,UAAW4yG,EAASj9I,EAASo8I,EAAgBc,KAKhE7sE,KAAM,SAAUhgE,EAAO4kb,GAChBA,GACL51a,aAAct0B,KAAKmjF,OAGdnjF,KAAKqyH,SAIXryH,KAAK0tb,aAAc1tb,KAAKqyH,OAAO7/G,SAAU,yBACxC,KAAM,mBAEPxS,KAAKutb,SAAU,OAAQjoa,EAAO,CAAEoC,KAAM1nB,KAAKqyH,SAC3CryH,KAAKqyH,OAAS,OAGf43U,cAAe,SAAUxB,GACxBn0a,aAAct0B,KAAKmjF,OAIoB,SAAlCslX,EAAQvja,KAAM,iBAInBllC,KAAKmjF,MAAQnjF,KAAKy1B,QAAQ,WACzBz1B,KAAKgqc,SACLhqc,KAAKmqc,MAAO1B,KACVzoc,KAAK22B,SAGTwza,MAAO,SAAU1B,GAChB,IAAI9la,EAAWt+B,EAAE+wC,OAAQ,CACxBmtC,GAAIviF,KAAKqyH,QACPryH,KAAKu+B,QAAQoE,UAEhBrO,aAAct0B,KAAKmjF,OACnBnjF,KAAK0a,QAAQ4yD,KAAM,YAAa44U,IAAKuiD,EAAQj4S,QAAS,aACpD5+F,OACA1sB,KAAM,cAAe,QAEvBuja,EACE12Y,OACAuuB,WAAY,eACZp7C,KAAM,gBAAiB,QACvBvC,SAAUA,IAGbmma,YAAa,SAAUxjb,EAAOmY,GAC7BnJ,aAAct0B,KAAKmjF,OACnBnjF,KAAKmjF,MAAQnjF,KAAKy1B,QAAQ,WAGzB,IAAI20a,EAAc3sa,EAAMz9B,KAAK0a,QAC5BrW,EAAGihB,GAASA,EAAM3oB,QAAS6nF,QAASxkF,KAAK0a,QAAQ4yD,KAAM,aAIlD88X,EAAYttc,SACjBstc,EAAcpqc,KAAK0a,SAGpB1a,KAAKgqc,OAAQI,GAEbpqc,KAAKslF,KAAMhgE,GAGXtlB,KAAK0tb,aAAc0c,EAAY98X,KAAM,oBAAsB,KAAM,mBAEjEttE,KAAK0oc,WAAa0B,IAChBpqc,KAAK22B,QAKTqza,OAAQ,SAAUK,GACXA,IACLA,EAAYrqc,KAAKqyH,OAASryH,KAAKqyH,OAAOz/G,SAAW5S,KAAK0a,SAGvD2vb,EAAU/8X,KAAM,YACd1b,OACA1sB,KAAM,cAAe,QACrBA,KAAM,gBAAiB,UAG1B6ja,sBAAuB,SAAUzjb,GAChC,OAAQjhB,EAAGihB,EAAM3oB,QAAS6nF,QAAS,YAAa1nF,QAGjD6sc,WAAY,SAAUjib,GAGrB,OAAQ,sBAAsB6a,KAAM7a,EAAKzT,SAG1Cm1b,SAAU,SAAU9jb,GACnB,IAAIglb,EAAUtqc,KAAKqyH,QAClBryH,KAAKqyH,OAAOz/G,SAAS4xE,QAAS,gBAAiBxkF,KAAK0a,SAChD4vb,GAAWA,EAAQxtc,SACvBkD,KAAKgqc,SACLhqc,KAAKomF,MAAO9gE,EAAOglb,KAIrB7sY,OAAQ,SAAUn4C,GACjB,IAAIglb,EAAUtqc,KAAKqyH,QAClBryH,KAAKqyH,OACH7/G,SAAU,aACT86D,KAAMttE,KAAKu+B,QAAQ0kD,OAClBp6B,QAEAyhZ,GAAWA,EAAQxtc,SACvBkD,KAAKmqc,MAAOG,EAAQ13b,UAGpB5S,KAAKy1B,QAAQ,WACZz1B,KAAKomF,MAAO9gE,EAAOglb,QAKtB/oc,KAAM,SAAU+jB,GACftlB,KAAKmpc,MAAO,OAAQ,QAAS7jb,IAG9BumB,SAAU,SAAUvmB,GACnBtlB,KAAKmpc,MAAO,OAAQ,OAAQ7jb,IAG7Bilb,YAAa,WACZ,OAAOvqc,KAAKqyH,SAAWryH,KAAKqyH,OAAOm0R,QAAS,iBAAkB1pZ,QAG/D0tc,WAAY,WACX,OAAOxqc,KAAKqyH,SAAWryH,KAAKqyH,OAAOs0R,QAAS,iBAAkB7pZ,QAG/Dqsc,MAAO,SAAU1wY,EAAWxlD,EAAQqS,GACnC,IAAI/jB,EACCvB,KAAKqyH,SAER9wH,EADkB,UAAdk3D,GAAuC,SAAdA,EACtBz4D,KAAKqyH,OACK,UAAd55D,EAAwB,UAAY,WAAa,iBAClD4pF,IAAK,GAEAriJ,KAAKqyH,OACT55D,EAAY,OAAS,iBACtB4pF,GAAI,IAGF9gJ,GAASA,EAAKzE,QAAWkD,KAAKqyH,SACnC9wH,EAAOvB,KAAK0oc,WAAWp7X,KAAMttE,KAAKu+B,QAAQ0kD,OAAShwE,MAGpDjT,KAAKomF,MAAO9gE,EAAO/jB,IAGpBuhV,SAAU,SAAUx9T,GACnB,IAAIoC,EAAM/W,EAAM9J,EAEV7G,KAAKqyH,OAINryH,KAAKwqc,eAGLxqc,KAAKu8b,cACT5rb,EAAO3Q,KAAKqyH,OAAOp9G,SAAS8hC,IAC5BlwC,EAAS7G,KAAK0a,QAAQ7T,SACtB7G,KAAKqyH,OAAOs0R,QAAS,iBAAkB9yX,MAAM,WAE5C,OADAnM,EAAOrjB,EAAGrE,OACEiV,SAAS8hC,IAAMpmC,EAAO9J,EAAS,KAG5C7G,KAAKomF,MAAO9gE,EAAOoC,IAEnB1nB,KAAKomF,MAAO9gE,EAAOtlB,KAAK0oc,WAAWp7X,KAAMttE,KAAKu+B,QAAQ0kD,OAClDjjF,KAAKqyH,OAAmB,OAAV,aAjBlBryH,KAAKuB,KAAM+jB,IAqBb4jb,aAAc,SAAU5jb,GACvB,IAAIoC,EAAM/W,EAAM9J,EACV7G,KAAKqyH,OAINryH,KAAKuqc,gBAGLvqc,KAAKu8b,cACT5rb,EAAO3Q,KAAKqyH,OAAOp9G,SAAS8hC,IAC5BlwC,EAAS7G,KAAK0a,QAAQ7T,SACtB7G,KAAKqyH,OAAOm0R,QAAS,iBAAkB3yX,MAAM,WAE5C,OADAnM,EAAOrjB,EAAGrE,OACEiV,SAAS8hC,IAAMpmC,EAAO9J,EAAS,KAG5C7G,KAAKomF,MAAO9gE,EAAOoC,IAEnB1nB,KAAKomF,MAAO9gE,EAAOtlB,KAAK0oc,WAAWp7X,KAAMttE,KAAKu+B,QAAQ0kD,OAAQp6B,UAhB9D7oD,KAAKuB,KAAM+jB,IAoBbi3a,WAAY,WACX,OAAOv8b,KAAK0a,QAAQ+nE,cAAgBziF,KAAK0a,QAAQlV,KAAM,iBAGxDo8C,OAAQ,SAAUt8B,GAIjBtlB,KAAKqyH,OAASryH,KAAKqyH,QAAUhuH,EAAGihB,EAAM3oB,QAAS6nF,QAAS,iBACxD,IAAIvuC,EAAK,CAAEvuB,KAAM1nB,KAAKqyH,QAChBryH,KAAKqyH,OAAOrtC,IAAK,YAAaloF,QACnCkD,KAAK8oc,YAAaxjb,GAAO,GAE1BtlB,KAAKutb,SAAU,SAAUjoa,EAAO2wB,IAGjCqzZ,iBAAkB,SAAUL,GAC3B,IAAIwB,EAAmBxB,EAAUxhc,QAAS,8BAA+B,QACxE6f,EAAQ,IAAIsT,OAAQ,IAAM6va,EAAkB,KAE7C,OAAOzqc,KAAK0oc,WACVp7X,KAAMttE,KAAKu+B,QAAQ0kD,OAGlBhwE,OAAQ,iBACPA,QAAQ,WACR,OAAOqU,EAAMib,KACZl+B,EAAEmD,KAAMnD,EAAGrE,MAAOwS,SAAU,yBAA0ByB,eA0B7D5P,EAAE88E,OAAQ,kBAAmB,CAC5BvyC,QAAS,SACTg+Y,eAAgB,UAChBruZ,QAAS,CACR2Y,SAAU,KACVmxX,WAAW,EACX1xY,MAAO,IACP+za,UAAW,EACX/na,SAAU,CACT0/C,GAAI,WACJC,GAAI,cACJE,UAAW,QAEZl6D,OAAQ,KAGRy5a,OAAQ,KACRj7P,MAAO,KACP1gH,MAAO,KACPp+E,KAAM,KACN8mL,SAAU,KACVvxD,OAAQ,KACR37E,OAAQ,MAGT+oZ,aAAc,EACdppI,QAAS,EAET8rH,QAAS,WASR,IAAIud,EAAkBC,EAAwBC,EAC7Ch3b,EAAW9T,KAAK0a,QAAS,GAAI5G,SAAS+E,cACtCkyb,EAA0B,aAAbj3b,EACbsxE,EAAuB,UAAbtxE,EAMX9T,KAAKgrc,YAAcD,IAAe3lX,GAAWplF,KAAKirc,mBAAoBjrc,KAAK0a,SAE3E1a,KAAKkrc,YAAclrc,KAAK0a,QAASqwb,GAAc3lX,EAAU,MAAQ,QACjEplF,KAAKmrc,WAAY,EAEjBnrc,KAAK8pL,UAAW,yBAChB9pL,KAAK0a,QAAQwqB,KAAM,eAAgB,OAEnCllC,KAAKmtb,IAAKntb,KAAK0a,QAAS,CACvB6sb,QAAS,SAAUjib,GAClB,GAAKtlB,KAAK0a,QAAQlV,KAAM,YAIvB,OAHAolc,GAAmB,EACnBE,GAAgB,OAChBD,GAAyB,GAI1BD,GAAmB,EACnBE,GAAgB,EAChBD,GAAyB,EACzB,IAAIjvZ,EAAUv3C,EAAE4xC,GAAG2F,QACnB,OAASt2B,EAAMs2B,SACf,KAAKA,EAAQi3Y,QACZ+X,GAAmB,EACnB5qc,KAAKmpc,MAAO,eAAgB7jb,GAC5B,MACD,KAAKs2B,EAAQg3Y,UACZgY,GAAmB,EACnB5qc,KAAKmpc,MAAO,WAAY7jb,GACxB,MACD,KAAKs2B,EAAQ43B,GACZo3X,GAAmB,EACnB5qc,KAAKorc,UAAW,WAAY9lb,GAC5B,MACD,KAAKs2B,EAAQ83B,KACZk3X,GAAmB,EACnB5qc,KAAKorc,UAAW,OAAQ9lb,GACxB,MACD,KAAKs2B,EAAQ62Y,MAGPzyb,KAAKilD,KAAKotE,SAIdu4U,GAAmB,EACnBtlb,EAAMw1B,iBACN96C,KAAKilD,KAAKrD,OAAQt8B,IAEnB,MACD,KAAKs2B,EAAQm3Y,IACP/yb,KAAKilD,KAAKotE,QACdryH,KAAKilD,KAAKrD,OAAQt8B,GAEnB,MACD,KAAKs2B,EAAQ82Y,OACP1yb,KAAKilD,KAAKvqC,QAAQpW,GAAI,cACpBtE,KAAKgrc,aACVhrc,KAAKs7I,OAAQt7I,KAAKqrc,MAEnBrrc,KAAK8mM,MAAOxhL,GAKZA,EAAMw1B,kBAEP,MACD,QACC+vZ,GAAyB,EAGzB7qc,KAAKsrc,eAAgBhmb,KAIvBimb,SAAU,SAAUjmb,GACnB,GAAKslb,EAKJ,OAJAA,GAAmB,OACb5qc,KAAKgrc,cAAehrc,KAAKilD,KAAKvqC,QAAQpW,GAAI,aAC/CghB,EAAMw1B,kBAIR,IAAK+vZ,EAAL,CAKA,IAAIjvZ,EAAUv3C,EAAE4xC,GAAG2F,QACnB,OAASt2B,EAAMs2B,SACf,KAAKA,EAAQi3Y,QACZ7yb,KAAKmpc,MAAO,eAAgB7jb,GAC5B,MACD,KAAKs2B,EAAQg3Y,UACZ5yb,KAAKmpc,MAAO,WAAY7jb,GACxB,MACD,KAAKs2B,EAAQ43B,GACZxzE,KAAKorc,UAAW,WAAY9lb,GAC5B,MACD,KAAKs2B,EAAQ83B,KACZ1zE,KAAKorc,UAAW,OAAQ9lb,MAI1Bm9F,MAAO,SAAUn9F,GAChB,GAAKwlb,EAGJ,OAFAA,GAAgB,OAChBxlb,EAAMw1B,iBAGP96C,KAAKsrc,eAAgBhmb,IAEtB8gE,MAAO,WACNpmF,KAAKwrc,aAAe,KACpBxrc,KAAK6rC,SAAW7rC,KAAKs7I,UAEtBh2D,KAAM,SAAUhgE,GACVtlB,KAAKyrc,kBACFzrc,KAAKyrc,YAIbn3a,aAAct0B,KAAK0rc,WACnB1rc,KAAK8mM,MAAOxhL,GACZtlB,KAAK+9b,QAASz4a,OAIhBtlB,KAAK2rc,cACL3rc,KAAKilD,KAAO5gD,EAAG,QACb6yC,SAAUl3C,KAAK4rc,aACf3mZ,KAAM,CAGNy6H,KAAM,OAEN9tH,OACA3M,KAAM,YAERjlD,KAAK8pL,UAAW9pL,KAAKilD,KAAKvqC,QAAS,kBAAmB,YACtD1a,KAAKmtb,IAAKntb,KAAKilD,KAAKvqC,QAAS,CAC5BupE,UAAW,SAAU3+D,GAGpBA,EAAMw1B,iBAIN96C,KAAKyrc,YAAa,EAClBzrc,KAAKy1B,QAAQ,kBACLz1B,KAAKyrc,WAQPzrc,KAAK0a,QAAS,KAAQrW,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,KACjEtD,KAAK0a,QAAQsnE,QAAS,aAIzB6pX,UAAW,SAAUvmb,EAAO2wB,GAC3B,IAAI8oB,EAAOr3C,EAIX,GAAK1nB,KAAKmrc,YACTnrc,KAAKmrc,WAAY,EACZ7lb,EAAM+1B,eAAiB,SAAS9Y,KAAMjd,EAAM+1B,cAAcpqC,OAO9D,OANAjR,KAAKilD,KAAKqgC,YAEVtlF,KAAKsD,SAAS2hF,IAAK,aAAa,WAC/B5gF,EAAGihB,EAAM3oB,QAASqlF,QAAS18D,EAAM+1B,kBAOpC3zB,EAAOuuB,EAAGvuB,KAAK1W,KAAM,yBAChB,IAAUhR,KAAKutb,SAAU,QAASjoa,EAAO,CAAEoC,KAAMA,KAGhDpC,EAAM+1B,eAAiB,OAAO9Y,KAAMjd,EAAM+1B,cAAcpqC,OAC5DjR,KAAKs7I,OAAQ5zH,EAAKhoB,QAKpBq/D,EAAQ9oB,EAAGvuB,KAAKwd,KAAM,eAAkBxd,EAAKhoB,QAC/B2E,EAAEmD,KAAMu3D,GAAQjiE,SAC7BkD,KAAK8rc,WAAWt5b,WAAWo/C,OAC3BvtD,EAAG,SAAU4P,KAAM8qD,GAAQ7nB,SAAUl3C,KAAK8rc,cAG5CC,WAAY,SAAUzmb,EAAO2wB,GAC5B,IAAIvuB,EAAOuuB,EAAGvuB,KAAK1W,KAAM,wBACxB66B,EAAW7rC,KAAK6rC,SAGZ7rC,KAAK0a,QAAS,KAAQrW,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,MACjEtD,KAAK0a,QAAQsnE,QAAS,SACtBhiF,KAAK6rC,SAAWA,EAKhB7rC,KAAKy1B,QAAQ,WACZz1B,KAAK6rC,SAAWA,EAChB7rC,KAAKwrc,aAAe9jb,OAIjB,IAAU1nB,KAAKutb,SAAU,SAAUjoa,EAAO,CAAEoC,KAAMA,KACtD1nB,KAAKs7I,OAAQ5zH,EAAKhoB,OAKnBM,KAAKqrc,KAAOrrc,KAAKs7I,SAEjBt7I,KAAK8mM,MAAOxhL,GACZtlB,KAAKwrc,aAAe9jb,KAItB1nB,KAAK8rc,WAAaznc,EAAG,QAAS,CAC7Bq7K,KAAM,SACN,YAAa,YACb,gBAAiB,cAEhBxoI,SAAUl3C,KAAKsD,SAAU,GAAI+gB,MAE/BrkB,KAAK8pL,UAAW9pL,KAAK8rc,WAAY,KAAM,+BAKvC9rc,KAAKmtb,IAAKntb,KAAK0B,OAAQ,CACtB+tZ,aAAc,WACbzvZ,KAAK0a,QAAQ4lE,WAAY,oBAK5BmtW,SAAU,WACTn5Z,aAAct0B,KAAK0rc,WACnB1rc,KAAK0a,QAAQ4lE,WAAY,gBACzBtgF,KAAKilD,KAAKvqC,QAAQulB,SAClBjgC,KAAK8rc,WAAW7ra,UAGjB4tZ,WAAY,SAAUxwb,EAAKqC,GAC1BM,KAAKinD,OAAQ5pD,EAAKqC,GACL,WAARrC,GACJ2C,KAAK2rc,cAEO,aAARtuc,GACJ2C,KAAKilD,KAAKvqC,QAAQw8B,SAAUl3C,KAAK4rc,aAErB,aAARvuc,GAAsBqC,GAASM,KAAKupX,KACxCvpX,KAAKupX,IAAI20C,SAIX8tC,uBAAwB,SAAU1mb,GACjC,IAAI2mb,EAAcjsc,KAAKilD,KAAKvqC,QAAS,GAErC,OAAO4K,EAAM3oB,SAAWqD,KAAK0a,QAAS,IACrC4K,EAAM3oB,SAAWsvc,GACjB5nc,EAAE87C,SAAU8rZ,EAAa3mb,EAAM3oB,SAGjCuvc,qBAAsB,SAAU5mb,GACzBtlB,KAAKgsc,uBAAwB1mb,IAClCtlB,KAAK8mM,SAIP8kQ,UAAW,WACV,IAAIlxb,EAAU1a,KAAKu+B,QAAQ2Y,SAgB3B,OAdKx8B,IACJA,EAAUA,EAAQ+gY,QAAU/gY,EAAQ7G,SACnCxP,EAAGqW,GACH1a,KAAKsD,SAASgqE,KAAM5yD,GAAU2nI,GAAI,IAG9B3nI,GAAYA,EAAS,KAC1BA,EAAU1a,KAAK0a,QAAQ8pE,QAAS,sBAG3B9pE,EAAQ5d,SACb4d,EAAU1a,KAAKsD,SAAU,GAAI+gB,MAGvB3J,GAGRixb,YAAa,WACZ,IAAI5oZ,EAAOn7C,EACV0E,EAAOtM,KACHqE,EAAE3D,QAASV,KAAKu+B,QAAQjW,SAC5By6B,EAAQ/iD,KAAKu+B,QAAQjW,OACrBtoB,KAAKsoB,OAAS,SAAUyiC,EAAS+jI,GAChCA,EAAUzqL,EAAE4xC,GAAGk2Z,aAAal5b,OAAQ8vC,EAAOgI,EAAQsgZ,SAEV,kBAAxBrrc,KAAKu+B,QAAQjW,QAC/B1gB,EAAM5H,KAAKu+B,QAAQjW,OACnBtoB,KAAKsoB,OAAS,SAAUyiC,EAAS+jI,GAC3BxiL,EAAKi9W,KACTj9W,EAAKi9W,IAAI20C,QAEV5xZ,EAAKi9W,IAAMllX,EAAEsD,KAAM,CAClBC,IAAKA,EACLoJ,KAAM+5C,EACN6wW,SAAU,OACV6C,QAAS,SAAUztZ,GAClB89K,EAAU99K,IAEXmiB,MAAO,WACN27J,EAAU,SAKb9uL,KAAKsoB,OAAStoB,KAAKu+B,QAAQjW,QAI7Bgjb,eAAgB,SAAUhmb,GACzBgP,aAAct0B,KAAK0rc,WACnB1rc,KAAK0rc,UAAY1rc,KAAKy1B,QAAQ,WAG7B,IAAI22a,EAAcpsc,KAAKqrc,OAASrrc,KAAKs7I,SACpC+wT,EAAcrsc,KAAKilD,KAAKvqC,QAAQpW,GAAI,YACpCgoc,EAAchnb,EAAMwqY,QAAUxqY,EAAM2xB,SAAW3xB,EAAMswI,SAAWtwI,EAAM0xB,SAEjEo1Z,KAAiBA,GAAgBC,GAAgBC,KACtDtsc,KAAKwrc,aAAe,KACpBxrc,KAAKu9H,OAAQ,KAAMj4G,MAElBtlB,KAAKu+B,QAAQ5H,QAGjB4mG,OAAQ,SAAU79H,EAAO4lB,GAMxB,OALA5lB,EAAiB,MAATA,EAAgBA,EAAQM,KAAKs7I,SAGrCt7I,KAAKqrc,KAAOrrc,KAAKs7I,SAEZ57I,EAAM5C,OAASkD,KAAKu+B,QAAQmsa,UACzB1qc,KAAK8mM,MAAOxhL,IAGsB,IAArCtlB,KAAKutb,SAAU,SAAUjoa,GAIvBtlB,KAAKusc,QAAS7sc,QAJrB,GAOD6sc,QAAS,SAAU7sc,GAClBM,KAAKuhU,UACLvhU,KAAK8pL,UAAW,2BAChB9pL,KAAKwsc,cAAe,EAEpBxsc,KAAKsoB,OAAQ,CAAE+ib,KAAM3rc,GAASM,KAAKysc,cAGpCA,UAAW,WACV,IAAItra,IAAUnhC,KAAK2qc,aAEnB,OAAOtmc,EAAE+7E,OAAO,SAAUz4D,GACpBwZ,IAAUnhC,KAAK2qc,cACnB3qc,KAAK0sc,WAAY/kb,GAGlB3nB,KAAKuhU,UACCvhU,KAAKuhU,SACVvhU,KAAK0tb,aAAc,6BAElB1tb,OAGJ0sc,WAAY,SAAU/kb,GAChBA,IACJA,EAAU3nB,KAAK2sc,WAAYhlb,IAE5B3nB,KAAKutb,SAAU,WAAY,KAAM,CAAE5la,QAASA,KACtC3nB,KAAKu+B,QAAQqqD,UAAYjhE,GAAWA,EAAQ7qB,SAAWkD,KAAKwsc,cACjExsc,KAAK4sc,SAAUjlb,GACf3nB,KAAKutb,SAAU,SAIfvtb,KAAKgqc,UAIPljQ,MAAO,SAAUxhL,GAChBtlB,KAAKwsc,cAAe,EACpBxsc,KAAKgqc,OAAQ1kb,IAGd0kb,OAAQ,SAAU1kb,GAGjBtlB,KAAK0ub,KAAM1ub,KAAKsD,SAAU,aAErBtD,KAAKilD,KAAKvqC,QAAQpW,GAAI,cAC1BtE,KAAKilD,KAAKvqC,QAAQk3C,OAClB5xD,KAAKilD,KAAKqgC,OACVtlF,KAAKmrc,WAAY,EACjBnrc,KAAKutb,SAAU,QAASjoa,KAI1By4a,QAAS,SAAUz4a,GACbtlB,KAAK6rC,WAAa7rC,KAAKs7I,UAC3Bt7I,KAAKutb,SAAU,SAAUjoa,EAAO,CAAEoC,KAAM1nB,KAAKwrc,gBAI/CmB,WAAY,SAAU1pX,GAGrB,OAAKA,EAAMnmF,QAAUmmF,EAAO,GAAIlkB,OAASkkB,EAAO,GAAIvjF,MAC5CujF,EAED5+E,EAAEojB,IAAKw7D,GAAO,SAAUv7D,GAC9B,MAAqB,kBAATA,EACJ,CACNq3C,MAAOr3C,EACPhoB,MAAOgoB,GAGFrjB,EAAE+wC,OAAQ,GAAI1tB,EAAM,CAC1Bq3C,MAAOr3C,EAAKq3C,OAASr3C,EAAKhoB,MAC1BA,MAAOgoB,EAAKhoB,OAASgoB,EAAKq3C,YAK7B6tY,SAAU,SAAU3pX,GACnB,IAAI4pX,EAAK7sc,KAAKilD,KAAKvqC,QAAQ03I,QAC3BpyJ,KAAK8sc,YAAaD,EAAI5pX,GACtBjjF,KAAKmrc,WAAY,EACjBnrc,KAAKilD,KAAKrb,UAGVija,EAAG96Y,OACH/xD,KAAK+sc,cACLF,EAAGlqa,SAAUt+B,EAAE+wC,OAAQ,CACtBmtC,GAAIviF,KAAK0a,SACP1a,KAAKu+B,QAAQoE,WAEX3iC,KAAKu+B,QAAQ8pY,WACjBroa,KAAKilD,KAAK1jD,OAIXvB,KAAKmtb,IAAKntb,KAAKsD,SAAU,CACxB2gF,UAAW,0BAIb8oX,YAAa,WACZ,IAAIF,EAAK7sc,KAAKilD,KAAKvqC,QACnBmyb,EAAGnqX,WAAYv7E,KAAK+K,IAInB26b,EAAGjmc,MAAO,IAAK87E,aAAe,EAC9B1iF,KAAK0a,QAAQgoE,gBAIfoqX,YAAa,SAAUD,EAAI5pX,GAC1B,IAAI32E,EAAOtM,KACXqE,EAAEwvB,KAAMovD,GAAO,SAAU9hD,EAAOzZ,GAC/Bpb,EAAK0gc,gBAAiBH,EAAInlb,OAI5Bslb,gBAAiB,SAAUH,EAAInlb,GAC9B,OAAO1nB,KAAKitc,YAAaJ,EAAInlb,GAAO1W,KAAM,uBAAwB0W,IAGnEulb,YAAa,SAAUJ,EAAInlb,GAC1B,OAAOrjB,EAAG,QACRmpE,OAAQnpE,EAAG,SAAU4P,KAAMyT,EAAKq3C,QAChC7nB,SAAU21Z,IAGb1D,MAAO,SAAU1wY,EAAWnzC,GAC3B,GAAMtlB,KAAKilD,KAAKvqC,QAAQpW,GAAI,YAI5B,OAAKtE,KAAKilD,KAAKslZ,eAAiB,YAAYhoa,KAAMk2B,IAChDz4D,KAAKilD,KAAKulZ,cAAgB,QAAQjoa,KAAMk2B,IAEnCz4D,KAAKgrc,aACVhrc,KAAKs7I,OAAQt7I,KAAKqrc,WAGnBrrc,KAAKilD,KAAKqgC,aAGXtlF,KAAKilD,KAAMwT,GAAanzC,GAbvBtlB,KAAKu9H,OAAQ,KAAMj4G,IAgBrB67D,OAAQ,WACP,OAAOnhF,KAAKilD,KAAKvqC,SAGlB4gI,OAAQ,WACP,OAAOt7I,KAAKkrc,YAAY9qc,MAAOJ,KAAK0a,QAASva,YAG9Circ,UAAW,SAAU8B,EAAU5nb,GACxBtlB,KAAKgrc,cAAehrc,KAAKilD,KAAKvqC,QAAQpW,GAAI,cAC/CtE,KAAKmpc,MAAO+D,EAAU5nb,GAGtBA,EAAMw1B,mBAQRmwZ,mBAAoB,SAAUvwb,GAC7B,IAAMA,EAAQ5d,OACb,OAAO,EAGR,IAAI6yS,EAAWj1R,EAAQlV,KAAM,mBAE7B,MAAkB,YAAbmqS,EACI3vS,KAAKirc,mBAAoBvwb,EAAQ9H,UAGtB,SAAb+8R,KAITtrS,EAAE+wC,OAAQ/wC,EAAE4xC,GAAGk2Z,aAAc,CAC5BgB,YAAa,SAAUztc,GACtB,OAAOA,EAAM+H,QAAS,8BAA+B,SAEtDwL,OAAQ,SAAU8vC,EAAOsoZ,GACxB,IAAI3oD,EAAU,IAAI9nX,OAAQv2B,EAAE4xC,GAAGk2Z,aAAagB,YAAa9B,GAAQ,KACjE,OAAOhnc,EAAEg5C,KAAM0F,GAAO,SAAUrjD,GAC/B,OAAOgjZ,EAAQngX,KAAM7iC,EAAMq/D,OAASr/D,EAAMA,OAASA,SAQtD2E,EAAE88E,OAAQ,kBAAmB98E,EAAE4xC,GAAGk2Z,aAAc,CAC/C5ta,QAAS,CACRqsY,SAAU,CACTwiC,UAAW,qBACXztT,QAAS,SAAU2oN,GAClB,OAAOA,GAAWA,EAAS,EAAI,eAAiB,cAC/C,yDAKJokG,WAAY,SAAU/kb,GACrB,IAAI6hB,EACJxpC,KAAKgsb,YAAa7rb,WACbH,KAAKu+B,QAAQqqD,UAAY5oF,KAAKwsc,eAIlChja,EADI7hB,GAAWA,EAAQ7qB,OACbkD,KAAKu+B,QAAQqsY,SAASjrR,QAASh4H,EAAQ7qB,QAEvCkD,KAAKu+B,QAAQqsY,SAASwiC,UAEjCptc,KAAK8rc,WAAWt5b,WAAWo/C,OAC3BvtD,EAAG,SAAU4P,KAAMu1B,GAAU0N,SAAUl3C,KAAK8rc,gBAIpBznc,EAAE4xC,GAAGk2Z,aAA/B,IAo7BIkB,EA95BAC,EAA0B,0BA67B9B,SAASC,IACRvtc,KAAKwtc,SAAW,KAChBxtc,KAAKorc,WAAY,EACjBprc,KAAKytc,gBAAkB,GACvBztc,KAAK0tc,oBAAqB,EAC1B1tc,KAAK2tc,WAAY,EACjB3tc,KAAK4tc,WAAa,oBAClB5tc,KAAK6tc,aAAe,uBACpB7tc,KAAK8tc,aAAe,uBACpB9tc,KAAK+tc,cAAgB,wBACrB/tc,KAAKguc,aAAe,uBACpBhuc,KAAKiuc,cAAgB,yBACrBjuc,KAAKkuc,mBAAqB,6BAC1Bluc,KAAKmuc,cAAgB,4BACrBnuc,KAAKouc,cAAgB,+BACrBpuc,KAAKquc,SAAW,GAChBruc,KAAKquc,SAAU,IAAO,CACrBC,UAAW,OACXC,SAAU,OACVC,SAAU,OACVC,YAAa,QACbC,WAAY,CAAE,UAAU,WAAW,QAAQ,QAAQ,MAAM,OACxD,OAAO,SAAS,YAAY,UAAU,WAAW,YAClDC,gBAAiB,CAAE,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAChGC,SAAU,CAAE,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAC9EC,cAAe,CAAE,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3DC,YAAa,CAAE,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAC7CC,WAAY,KACZC,WAAY,WACZC,SAAU,EACV5wb,OAAO,EACP6wb,oBAAoB,EACpBC,WAAY,IAEbnvc,KAAKovc,UAAY,CAChBC,OAAQ,QAERC,SAAU,SACVC,YAAa,GACbC,YAAa,KAEbr7Z,WAAY,GACZs7Z,WAAY,MACZC,YAAa,GACbC,iBAAiB,EACjBC,kBAAkB,EAElBC,wBAAwB,EACxBC,aAAa,EACbC,aAAa,EACbC,YAAY,EACZC,UAAW,YAGXC,iBAAiB,EACjBC,mBAAmB,EACnBC,UAAU,EACVC,cAAerwc,KAAKswc,YAEpBC,gBAAiB,MAGjBC,QAAS,KACTC,QAAS,KACTj0b,SAAU,OACVk0b,cAAe,KAGfC,WAAY,KAEZ5gZ,SAAU,KACV6gZ,kBAAmB,KACnB/lC,QAAS,KACTgmC,eAAgB,EAChBC,iBAAkB,EAClBC,WAAY,EACZC,cAAe,GACfC,SAAU,GACVC,UAAW,GACXC,gBAAgB,EAChBC,iBAAiB,EACjBvyP,UAAU,EACVj2H,UAAU,GAEXvkF,EAAE+wC,OAAQp1C,KAAKovc,UAAWpvc,KAAKquc,SAAU,KACzCruc,KAAKquc,SAAS/+O,GAAKjrN,EAAE+wC,QAAQ,EAAM,GAAIp1C,KAAKquc,SAAU,KACtDruc,KAAKquc,SAAU,SAAYhqc,EAAE+wC,QAAQ,EAAM,GAAIp1C,KAAKquc,SAAS/+O,IAC7DtvN,KAAKqxc,MAAQC,EAAsBjtc,EAAG,YAAcrE,KAAK4tc,WAAa,gGAu1DvE,SAAS0D,EAAsBD,GAC9B,IAAIvtc,EAAW,iFACf,OAAOutc,EAAMn2Z,GAAI,WAAYp3C,GAAU,WACrCO,EAAGrE,MAAOunF,YAAa,mBACkC,IAApDvnF,KAAK2kB,UAAUta,QAAS,uBAC5BhG,EAAGrE,MAAOunF,YAAa,6BAEiC,IAApDvnF,KAAK2kB,UAAUta,QAAS,uBAC5BhG,EAAGrE,MAAOunF,YAAa,+BAGxBrsC,GAAI,YAAap3C,EAAUytc,GAG9B,SAASA,IACFltc,EAAEmtc,WAAWC,sBAAuBpE,EAAsBqE,OAASrE,EAAsBgE,MAAMz+b,SAAU,GAAMy6b,EAAsB5qV,MAAO,MACjJp+G,EAAGrE,MAAOwwJ,QAAS,2BAA4BljF,KAAM,KAAMia,YAAa,kBACxEljF,EAAGrE,MAAOs3C,SAAU,mBACqC,IAApDt3C,KAAK2kB,UAAUta,QAAS,uBAC5BhG,EAAGrE,MAAOs3C,SAAU,6BAEoC,IAApDt3C,KAAK2kB,UAAUta,QAAS,uBAC5BhG,EAAGrE,MAAOs3C,SAAU,6BAMvB,SAASq6Z,EAAyBh1c,EAAQC,GAEzC,IAAM,IAAIwF,KADViC,EAAE+wC,OAAQz4C,EAAQC,GACAA,EACK,MAAjBA,EAAOwF,KACXzF,EAAQyF,GAASxF,EAAOwF,IAG1B,OAAOzF,EAu/ER,SAASi1c,EAAgBt0a,GACxB,OAAO,WACN,IAAIuO,EAAW7rC,KAAK0a,QAAQgJ,MAC5B4Z,EAAGl9B,MAAOJ,KAAMG,WAChBH,KAAK8pC,WACA+B,IAAa7rC,KAAK0a,QAAQgJ,OAC9B1jB,KAAKutb,SAAU,WAz4KQlpb,EAAE88E,OAAQ,kBAAmB,CACtDvyC,QAAS,SACTg+Y,eAAgB,QAChBruZ,QAAS,CACRk6B,UAAW,aACXmwB,SAAU,KACVipX,aAAa,EACb5uX,MAAO,CACN,OAAU,uEACV,kBAAqB,yBACrB,cAAiB,8CACjB,WAAc,SACd,QAAW,sBAIboqW,QAAS,WACRrtb,KAAK8xc,YAINA,SAAU,WACT9xc,KAAK0a,QAAQwqB,KAAM,OAAQ,WAC3BllC,KAAK4pC,WAGN6jZ,SAAU,WACTztb,KAAK+xc,iBAAkB,WACvB/xc,KAAKgyc,aAAanxX,WAAY,wBAC9B7gF,KAAK0a,QAAQ4lE,WAAY,QACpBtgF,KAAKu+B,QAAQ0kD,MAAMgvX,mBACvBjyc,KAAK0a,QACH4yD,KAAMttE,KAAKu+B,QAAQ0kD,MAAMgvX,mBACzB3kY,KAAM,mCACNspI,WAAW+oN,UAIfuyC,aAAc,WACb,IAAI5lc,EAAOtM,KACVgyc,EAAe,GAGhB3tc,EAAEwvB,KAAM7zB,KAAKu+B,QAAQ0kD,OAAO,SAAU9B,EAAQr9E,GAC7C,IAAI68D,EACApiC,EAAU,GAGd,GAAMz6B,EAIN,MAAgB,sBAAXq9E,IACJxgB,EAASr0D,EAAKoO,QAAQ4yD,KAAMxpE,IACrB+vB,MAAM,WACZ,IAAInZ,EAAUrW,EAAGrE,MAEZ0a,EAAQlI,SAAU,mCAAoC1V,QAG3D4d,EAAQk8L,WACN2oN,QAAS,2DAEZjzZ,EAAKw9K,UAAWnpH,EAAQ,KAAM,qDAC9BqxY,EAAeA,EAAaxpb,OAAQm4C,EAAOr+D,cAKtC+B,EAAEi5B,GAAI6jD,KAOX5iD,EADIjyB,EAAM,IAAM60E,EAAS,WACf70E,EAAM,IAAM60E,EAAS,WAAa,UAElC,CAAEu8D,QAAS,IAItBpxI,EAAKoO,QACH4yD,KAAMxpE,GACN+vB,MAAM,WACN,IAAInZ,EAAUrW,EAAGrE,MACbzD,EAAWme,EAASymE,GAAU,YAI9BgxX,EAAkB9tc,EAAE88E,OAAO/rC,OAAQ,GAAI7W,GAI3C,GAAgB,WAAX4iD,IAAuBzmE,EAAQ9H,OAAQ,eAAgB9V,OAA5D,CAKMP,IACLA,EAAWme,EAASymE,KAAYA,GAAU,aAEtC5kF,IACJ41c,EAAgBz0T,QACfpxI,EAAK8lc,sBAAuBD,EAAgBz0T,QAASnhJ,IAEvDme,EAASymE,GAAUgxX,GAInB,IAAIE,EAAgB33b,EAASymE,GAAU,UACvC98E,EAAE2M,KAAMqhc,EAAe,GAAK,uBAC3B91c,GAAsBme,EAASymE,GAAU,aAE1C6wX,EAAalrc,KAAMurc,EAAe,aAIrCryc,KAAKgyc,aAAe3tc,EAAGA,EAAEu8D,OAAQoxY,IACjChyc,KAAK8pL,UAAW9pL,KAAKgyc,aAAc,yBAGpCD,iBAAkB,SAAUhtV,GAC3B/kH,KAAKgyc,aAAan+a,MAAM,WACvB,IACC7iB,EADa3M,EAAGrE,MACDgR,KAAM,wBACjBA,GAAQA,EAAM+zG,IAClB/zG,EAAM+zG,SAKTutV,mBAAoB,SAAU53b,EAASioB,GACtC,IACI4P,EAAMvyC,KAAKuyc,oBAAqB5va,EAAU,SAAU+6G,QAAQ3+E,MAEhE/+D,KAAK0tb,aAAchza,EAAS,KAHf,+EAIb1a,KAAK8pL,UAAWpvK,EAAS,KAAM63B,IAGhCgga,oBAAqB,SAAU5va,EAAUtlC,GACxC,IAAIo7D,EAAuC,aAA3Bz4D,KAAKu+B,QAAQk6B,UACzB54D,EAAS,CACZ69I,QAAS,IASV,OAPA79I,EAAO69I,QAASrgJ,GAAQ,CACvB,OAAU,GACV,MAAS,cAAiBo7D,EAAY,MAAQ,QAC9C,KAAQ,cAAiBA,EAAY,SAAW,SAChD,KAAQ,iBACN91B,GAEI9iC,GAGR2yc,gBAAiB,SAAU7va,GAC1B,IAAIpE,EAAUv+B,KAAKuyc,oBAAqB5va,EAAU,cAKlD,OAHApE,EAAQm/G,QAAS,iBAAoB,GACrCn/G,EAAQm/G,QAAS,mBAAsB,GAEhCn/G,GAGRk0a,eAAgB,SAAU9va,GACzB,OAAO3iC,KAAKuyc,oBAAqB5va,EAAU,cAG5C+va,sBAAuB,SAAU/va,GAChC,OAAO3iC,KAAKuyc,oBAAqB5va,EAAU,2BAG5Cgwa,mBAAoB,SAAUhwa,GAC7B,IAAI81B,EAAuC,aAA3Bz4D,KAAKu+B,QAAQk6B,UAC7B,MAAO,CACN7xD,QAAO6xD,GAAY,OACnBilF,QAAS,CACRpP,OAAQ,CACP,4BAA6B,GAC7B,8BAA+B,IAEhCzlF,MAAO,CACN,4BAA6B,cAAiB4P,EAAY,MAAQ,MAClE,8BAA+B,cAAiBA,EAAY,MAAQ,SAErEtP,KAAM,CACL,4BAA6BsP,EAAY,GAAK,eAC9C,8BAA+B,cAAiBA,EAAY,SAAW,UAExEkwH,KAAM,CACL,4BAA6B,gBAC7B,8BAA+B,kBAG9BhmJ,KAILyva,sBAAuB,SAAU10T,EAASnhJ,GACzC,IAAIsD,EAAS,GAMb,OALAwE,EAAEwvB,KAAM6pH,GAAS,SAAUrgJ,GAC1B,IAAI2a,EAAUzb,EAASgiC,QAAQm/G,QAASrgJ,IAAS,GACjD2a,EAAU3T,EAAEmD,KAAMwQ,EAAQvQ,QAAS6lc,EAAyB,KAC5Dztc,EAAQxC,IAAU2a,EAAU,IAAM0lI,EAASrgJ,IAAQoK,QAAS,OAAQ,QAE9D5H,GAGRgub,WAAY,SAAUxwb,EAAKqC,GACb,cAARrC,GACJ2C,KAAK0tb,aAAc,mBAAqB1tb,KAAKu+B,QAAQk6B,WAGtDz4D,KAAKinD,OAAQ5pD,EAAKqC,GACL,aAARrC,EAKL2C,KAAK4pC,UAJJ5pC,KAAK+xc,iBAAkBryc,EAAQ,UAAY,WAO7CkqC,QAAS,WACR,IAAIp3B,EACHlG,EAAOtM,KAERA,KAAK8pL,UAAW,mCAAqC9pL,KAAKu+B,QAAQk6B,WAElC,eAA3Bz4D,KAAKu+B,QAAQk6B,WACjBz4D,KAAK8pL,UAAW,KAAM,sBAEvB9pL,KAAKkyc,eAEL1/b,EAAWxS,KAAKgyc,aAGXhyc,KAAKu+B,QAAQsza,cACjBr/b,EAAWA,EAASS,OAAQ,aAGxBT,EAAS1V,SAIbuH,EAAEwvB,KAAM,CAAE,QAAS,SAAU,SAAUsN,EAAOzhC,GAC7C,IAAInD,EAAWiW,EAAU9S,KAAUsR,KAAM,wBAEzC,GAAKzU,GAAY+P,EAAM,IAAM/P,EAAS6vb,WAAa,WAAc,CAChE,IAAI7tZ,EAAUjyB,EAAM,IAAM/P,EAAS6vb,WAAa,WAC3B,IAApB55a,EAAS1V,OAAe,OAAS4C,GAElC6+B,EAAQm/G,QAAUpxI,EAAK8lc,sBAAuB7za,EAAQm/G,QAASnhJ,GAC/DA,EAASme,QAASne,EAAS6vb,YAAc7tZ,QAEzCjyB,EAAKgmc,mBAAoB9/b,EAAU9S,KAAWA,MAKhDM,KAAK+xc,iBAAkB,eA0B1B1tc,EAAE88E,OAAQ,mBAAoB,CAAE98E,EAAE4xC,GAAGk8Y,eAAgB,CACpDvjZ,QAAS,SACTrQ,QAAS,CACRqqD,SAAU,KACV7pB,MAAO,KACPypB,MAAM,EACNk1D,QAAS,CACR,yBAA0B,gBAC1B,wBAAyB,kBAI3B0vS,kBAAmB,WAClB,IAAIxkW,EAAUjoB,EACVr0D,EAAOtM,KACPu+B,EAAUv+B,KAAKinD,UAAY,GAmC/B,OA9BAjnD,KAAK4yc,YAELjyY,EAAS3gE,KAAK0a,QAAQimD,SAGtB3gE,KAAK++D,MAAQ16D,EAAGs8D,EAAQA,EAAO7jE,OAAS,IAClCkD,KAAK++D,MAAMjiE,QAChBuH,EAAE8uB,MAAO,2CAGVnzB,KAAK6yc,cAAgB,GAIrB7yc,KAAK++D,MAAM63I,WAAWsvM,IAAKlmZ,KAAK0a,QAAS,IAAMmZ,MAAM,WAIpDvnB,EAAKumc,eAAmC,IAAlB7yc,KAAK6T,SAAiBxP,EAAGrE,MAAOiU,OAASjU,KAAKotE,aAIhEptE,KAAK6yc,gBACTt0a,EAAQwgC,MAAQ/+D,KAAK6yc,eAIL,OADjBjqX,EAAW5oF,KAAK0a,QAAS,GAAIkuE,YAE5BrqD,EAAQqqD,SAAWA,GAEbrqD,GAGR8uZ,QAAS,WACR,IAAIlhU,EAAUnsH,KAAK0a,QAAS,GAAIyxG,QAEhCnsH,KAAKqyb,wBAEyB,MAAzBryb,KAAKu+B,QAAQqqD,WACjB5oF,KAAKu+B,QAAQqqD,SAAW5oF,KAAK0a,QAAS,GAAIkuE,UAG3C5oF,KAAK6tb,WAAY,WAAY7tb,KAAKu+B,QAAQqqD,UAC1C5oF,KAAK8pL,UAAW,mBAAoB,+BACpC9pL,KAAK8pL,UAAW9pL,KAAK++D,MAAO,yBAA0B,uBAEnC,UAAd/+D,KAAKiR,MACTjR,KAAK8pL,UAAW9pL,KAAK++D,MAAO,gCAGxB/+D,KAAKu+B,QAAQwgC,OAAS/+D,KAAKu+B,QAAQwgC,QAAU/+D,KAAK6yc,cACtD7yc,KAAK8yc,eACM9yc,KAAK6yc,gBAChB7yc,KAAKu+B,QAAQwgC,MAAQ/+D,KAAK6yc,eAG3B7yc,KAAK8xc,WAEA3lV,IACJnsH,KAAK8pL,UAAW9pL,KAAK++D,MAAO,2BAA4B,mBACnD/+D,KAAKwoF,MACTxoF,KAAK8pL,UAAW9pL,KAAKwoF,KAAM,KAAM,mBAInCxoF,KAAKmtb,IAAK,CACT4U,OAAQ,iBACR37W,MAAO,WACNpmF,KAAK8pL,UAAW9pL,KAAK++D,MAAO,KAAM,mCAEnCumB,KAAM,WACLtlF,KAAK0tb,aAAc1tb,KAAK++D,MAAO,KAAM,sCAKxC6zY,UAAW,WACV,IAAI9+b,EAAW9T,KAAK0a,QAAS,GAAI5G,SAAS+E,cAC1C7Y,KAAKiR,KAAOjR,KAAK0a,QAAS,GAAIzJ,KACZ,UAAb6C,GAAyB,iBAAiByuB,KAAMviC,KAAKiR,OACzD5M,EAAE8uB,MAAO,kDAAoDrf,EAC5D,qBAAuB9T,KAAKiR,OAK/B6gc,SAAU,WACT9xc,KAAK+yc,YAAa/yc,KAAK0a,QAAS,GAAIyxG,UAGrChrC,OAAQ,WACP,OAAOnhF,KAAK++D,OAGbi0Y,eAAgB,WACf,IACI5wc,EAAOpC,KAAK0a,QAAS,GAAItY,KACzB6wc,EAAe,eAAiB5uc,EAAE4xC,GAAG0vW,eAAgBvjZ,GAAS,KAElE,OAAMA,GAIDpC,KAAKkyb,KAAKp1b,OACNuH,EAAGrE,KAAKkyb,KAAM,GAAIpwU,UAAW7uG,OAAQggc,GAIrC5uc,EAAG4uc,GAAehgc,QAAQ,WACjC,OAAmC,IAA5B5O,EAAGrE,MAAOkyb,OAAOp1b,WAIbopZ,IAAKlmZ,KAAK0a,SAbfrW,EAAG,KAgBZ6uc,eAAgB,WACf,IAAI/mV,EAAUnsH,KAAK0a,QAAS,GAAIyxG,QAChCnsH,KAAKiub,aAAcjub,KAAK++D,MAAO,2BAA4B,kBAAmBotD,GAEzEnsH,KAAKu+B,QAAQiqD,MAAsB,aAAdxoF,KAAKiR,MAC9BjR,KAAKiub,aAAcjub,KAAKwoF,KAAM,KAAM,iCAAkC2jC,GACpE8hU,aAAcjub,KAAKwoF,KAAM,KAAM,iBAAkB2jC,GAGjC,UAAdnsH,KAAKiR,MACTjR,KAAKgzc,iBACHn/a,MAAM,WACN,IAAIt3B,EAAW8H,EAAGrE,MAAOmzc,cAAe,YAEnC52c,GACJA,EAASmxb,aAAcnxb,EAASwiE,MAC/B,2BAA4B,uBAMlC0uX,SAAU,WACTztb,KAAKsyb,0BAEAtyb,KAAKwoF,OACTxoF,KAAKwoF,KAAKvoD,SACVjgC,KAAKozc,UAAUnza,WAIjB4tZ,WAAY,SAAUxwb,EAAKqC,GAG1B,GAAa,UAARrC,GAAoBqC,EAAzB,CAMA,GAFAM,KAAKinD,OAAQ5pD,EAAKqC,GAEL,aAARrC,EAKJ,OAJA2C,KAAKiub,aAAcjub,KAAK++D,MAAO,KAAM,oBAAqBr/D,QAC1DM,KAAK0a,QAAS,GAAIkuE,SAAWlpF,GAK9BM,KAAK4pC,YAGNmpa,YAAa,SAAU5mV,GACtB,IAAIknV,EAAQ,8BAEPrzc,KAAKu+B,QAAQiqD,MACXxoF,KAAKwoF,OACVxoF,KAAKwoF,KAAOnkF,EAAG,UACfrE,KAAKozc,UAAY/uc,EAAG,kBACpBrE,KAAK8pL,UAAW9pL,KAAKozc,UAAW,gCAGd,aAAdpzc,KAAKiR,MACToic,GAASlnV,EAAU,iCAAmC,gBACtDnsH,KAAK0tb,aAAc1tb,KAAKwoF,KAAM,KAAM2jC,EAAU,gBAAkB,kBAEhEknV,GAAS,gBAEVrzc,KAAK8pL,UAAW9pL,KAAKwoF,KAAM,wBAAyB6qX,GAC9ClnV,GACLnsH,KAAK0tb,aAAc1tb,KAAKwoF,KAAM,KAAM,kCAErCxoF,KAAKwoF,KAAKF,UAAWtoF,KAAK++D,OAAQ6yE,MAAO5xI,KAAKozc,iBACrBxza,IAAd5/B,KAAKwoF,OAChBxoF,KAAKwoF,KAAKvoD,SACVjgC,KAAKozc,UAAUnza,gBACRjgC,KAAKwoF,OAIdsqX,aAAc,WAGb,IAAIl8P,EAAW52M,KAAK++D,MAAM63I,WAAWsvM,IAAKlmZ,KAAK0a,QAAS,IACnD1a,KAAKwoF,OACTouH,EAAWA,EAASsvM,IAAKlmZ,KAAKwoF,KAAM,KAEhCxoF,KAAKozc,YACTx8P,EAAWA,EAASsvM,IAAKlmZ,KAAKozc,UAAW,KAE1Cx8P,EAAS32K,SAETjgC,KAAK++D,MAAMyO,OAAQxtE,KAAKu+B,QAAQwgC,QAGjCn1B,QAAS,WACR,IAAIuiF,EAAUnsH,KAAK0a,QAAS,GAAIyxG,QAC/Bg0R,EAAangZ,KAAK0a,QAAS,GAAIkuE,SAEhC5oF,KAAK+yc,YAAa5mV,GAClBnsH,KAAKiub,aAAcjub,KAAK++D,MAAO,2BAA4B,kBAAmBotD,GAClD,OAAvBnsH,KAAKu+B,QAAQwgC,OACjB/+D,KAAK8yc,eAGD3yD,IAAengZ,KAAKu+B,QAAQqqD,UAChC5oF,KAAK4tb,YAAa,CAAE,SAAYztC,QAMR97Y,EAAE4xC,GAAGk9Z,cAuBhC9uc,EAAE88E,OAAQ,YAAa,CACtBvyC,QAAS,SACTg+Y,eAAgB,WAChBruZ,QAAS,CACRm/G,QAAS,CACR,YAAa,iBAEd90D,SAAU,KACVJ,KAAM,KACN8qX,aAAc,YACdv0Y,MAAO,KACPw0Y,WAAW,GAGZnmB,kBAAmB,WAClB,IAAIxkW,EAIHrqD,EAAUv+B,KAAKinD,UAAY,GAc5B,OAZAjnD,KAAKolF,QAAUplF,KAAK0a,QAAQpW,GAAI,SAGf,OADjBskF,EAAW5oF,KAAK0a,QAAS,GAAIkuE,YAE5BrqD,EAAQqqD,SAAWA,GAGpB5oF,KAAK6yc,cAAgB7yc,KAAKolF,QAAUplF,KAAK0a,QAAQgJ,MAAQ1jB,KAAK0a,QAAQ+6B,OACjEz1C,KAAK6yc,gBACTt0a,EAAQwgC,MAAQ/+D,KAAK6yc,eAGft0a,GAGR8uZ,QAAS,YACFrtb,KAAKi8T,OAAOs3I,WAAavzc,KAAKu+B,QAAQiqD,OAC3CxoF,KAAKu+B,QAAQg1a,WAAY,GAMI,MAAzBvzc,KAAKu+B,QAAQqqD,WACjB5oF,KAAKu+B,QAAQqqD,SAAW5oF,KAAK0a,QAAS,GAAIkuE,WAAY,GAGvD5oF,KAAKwzc,WAAaxzc,KAAK0a,QAAQwqB,KAAM,SAGhCllC,KAAKu+B,QAAQwgC,OAAS/+D,KAAKu+B,QAAQwgC,QAAU/+D,KAAK6yc,gBACjD7yc,KAAKolF,QACTplF,KAAK0a,QAAQgJ,IAAK1jB,KAAKu+B,QAAQwgC,OAE/B/+D,KAAK0a,QAAQ+6B,KAAMz1C,KAAKu+B,QAAQwgC,QAGlC/+D,KAAK8pL,UAAW,YAAa,aAC7B9pL,KAAK6tb,WAAY,WAAY7tb,KAAKu+B,QAAQqqD,UAC1C5oF,KAAK8xc,WAEA9xc,KAAK0a,QAAQpW,GAAI,MACrBtE,KAAKmtb,IAAK,CACT,MAAS,SAAU7na,GACbA,EAAMs2B,UAAYv3C,EAAE4xC,GAAG2F,QAAQwnT,QACnC99U,EAAMw1B,iBAKD96C,KAAK0a,QAAS,GAAIqpE,MACtB/jF,KAAK0a,QAAS,GAAIqpE,QAElB/jF,KAAK0a,QAAQsnE,QAAS,cAQ5B8vX,SAAU,WACH9xc,KAAK0a,QAAQpW,GAAI,WACtBtE,KAAK0a,QAAQwqB,KAAM,OAAQ,UAGvBllC,KAAKu+B,QAAQiqD,OACjBxoF,KAAK+yc,YAAa,OAAQ/yc,KAAKu+B,QAAQiqD,MACvCxoF,KAAKyzc,mBAIPA,eAAgB,WACfzzc,KAAKwkB,MAAQxkB,KAAK0a,QAAQwqB,KAAM,SAE1BllC,KAAKu+B,QAAQg1a,WAAcvzc,KAAKwkB,OACrCxkB,KAAK0a,QAAQwqB,KAAM,QAASllC,KAAKu+B,QAAQwgC,QAI3Cg0Y,YAAa,SAAU92I,EAAQv8T,GAC9B,IAAI8oF,EAAkB,iBAAXyzO,EACVt5R,EAAW6lD,EAAOxoF,KAAKu+B,QAAQ+0a,aAAe5zc,EAC9Cg0c,EAA4B,QAAb/wa,GAAmC,WAAbA,EAGhC3iC,KAAKwoF,KAQCA,GAGXxoF,KAAK0tb,aAAc1tb,KAAKwoF,KAAM,KAAMxoF,KAAKu+B,QAAQiqD,OAVjDxoF,KAAKwoF,KAAOnkF,EAAG,UAEfrE,KAAK8pL,UAAW9pL,KAAKwoF,KAAM,iBAAkB,WAEvCxoF,KAAKu+B,QAAQg1a,WAClBvzc,KAAK8pL,UAAW,wBASbthG,GACJxoF,KAAK8pL,UAAW9pL,KAAKwoF,KAAM,KAAM9oF,GAGlCM,KAAK2zc,YAAahxa,GAIb+wa,GACJ1zc,KAAK8pL,UAAW9pL,KAAKwoF,KAAM,KAAM,wBAC5BxoF,KAAKozc,WACTpzc,KAAKozc,UAAUnza,WAMVjgC,KAAKozc,YACVpzc,KAAKozc,UAAY/uc,EAAG,kBACpBrE,KAAK8pL,UAAW9pL,KAAKozc,UAAW,yBAEjCpzc,KAAK0tb,aAAc1tb,KAAKwoF,KAAM,KAAM,uBACpCxoF,KAAK4zc,iBAAkBjxa,KAIzB8qZ,SAAU,WACTztb,KAAK0a,QAAQ4lE,WAAY,QAEpBtgF,KAAKwoF,MACTxoF,KAAKwoF,KAAKvoD,SAENjgC,KAAKozc,WACTpzc,KAAKozc,UAAUnza,SAEVjgC,KAAKwzc,UACVxzc,KAAK0a,QAAQ4lE,WAAY,UAI3BszX,iBAAkB,SAAUN,GAC3Btzc,KAAKwoF,KAAM,kBAAkBjmD,KAAM+wa,GAAiB,SAAW,SAAWtzc,KAAKozc,YAGhFO,YAAa,SAAUL,GACtBtzc,KAAK0a,QAAS,kBAAkB6nB,KAAM+wa,GAAiB,SAAW,WAAatzc,KAAKwoF,OAGrFolW,YAAa,SAAUrvZ,GACtB,IAAIs1a,OAAqCj0a,IAAtBrB,EAAQg1a,UACzBvzc,KAAKu+B,QAAQg1a,UACbh1a,EAAQg1a,UACTO,OAA2Bl0a,IAAjBrB,EAAQiqD,KAAqBxoF,KAAKu+B,QAAQiqD,KAAOjqD,EAAQiqD,KAE9DqrX,GAAiBC,IACtBv1a,EAAQg1a,WAAY,GAErBvzc,KAAKinD,OAAQ1oB,IAGdsvZ,WAAY,SAAUxwb,EAAKqC,GACb,SAARrC,IACCqC,EACJM,KAAK+yc,YAAa11c,EAAKqC,GACZM,KAAKwoF,OAChBxoF,KAAKwoF,KAAKvoD,SACLjgC,KAAKozc,WACTpzc,KAAKozc,UAAUnza,WAKL,iBAAR5iC,GACJ2C,KAAK+yc,YAAa11c,EAAKqC,GAIX,cAARrC,IACH2C,KAAKiub,aAAc,sBAAuB,MAAOvub,GACjDM,KAAKyzc,kBAGM,UAARp2c,IACC2C,KAAKolF,QACTplF,KAAK0a,QAAQgJ,IAAKhkB,IAKlBM,KAAK0a,QAAQ+6B,KAAM/1C,GACdM,KAAKwoF,OACTxoF,KAAK2zc,YAAa3zc,KAAKu+B,QAAQ+0a,cAC/Btzc,KAAK4zc,iBAAkB5zc,KAAKu+B,QAAQ+0a,iBAKvCtzc,KAAKinD,OAAQ5pD,EAAKqC,GAEL,aAARrC,IACJ2C,KAAKiub,aAAc,KAAM,oBAAqBvub,GAC9CM,KAAK0a,QAAS,GAAIkuE,SAAWlpF,EACxBA,GACJM,KAAK0a,QAAQ4qE,SAKhB17C,QAAS,WAIR,IAAIu2W,EAAangZ,KAAK0a,QAAQpW,GAAI,iBACjCtE,KAAK0a,QAAS,GAAIkuE,SAAW5oF,KAAK0a,QAAQgpE,SAAU,sBAEhDy8T,IAAengZ,KAAKu+B,QAAQqqD,UAChC5oF,KAAK4tb,YAAa,CAAEhlW,SAAUu3T,IAG/BngZ,KAAKyzc,qBAKiB,IAAnBpvc,EAAEy3b,eAGNz3b,EAAE88E,OAAQ,YAAa98E,EAAE4xC,GAAGiuC,OAAQ,CACnC3lD,QAAS,CACRtqB,MAAM,EACNiyb,MAAO,CACN7oY,QAAS,KACT02Y,UAAW,OAIb1mB,QAAS,WACHrtb,KAAKu+B,QAAQg1a,YAAcvzc,KAAKu+B,QAAQtqB,OAC5CjU,KAAKu+B,QAAQg1a,UAAYvzc,KAAKu+B,QAAQtqB,OAEjCjU,KAAKu+B,QAAQg1a,WAAavzc,KAAKu+B,QAAQtqB,OAC5CjU,KAAKu+B,QAAQtqB,KAAOjU,KAAKu+B,QAAQg1a,WAE5Bvzc,KAAKu+B,QAAQiqD,OAAUxoF,KAAKu+B,QAAQ2na,MAAM7oY,UAC9Cr9D,KAAKu+B,QAAQ2na,MAAM6N,UAOT/zc,KAAKu+B,QAAQiqD,OACxBxoF,KAAKu+B,QAAQ2na,MAAM7oY,QAAUr9D,KAAKu+B,QAAQiqD,MAPrCxoF,KAAKu+B,QAAQ2na,MAAM7oY,QACvBr9D,KAAKu+B,QAAQiqD,KAAOxoF,KAAKu+B,QAAQ2na,MAAM7oY,SAEvCr9D,KAAKu+B,QAAQiqD,KAAOxoF,KAAKu+B,QAAQ2na,MAAM6N,UACvC/zc,KAAKu+B,QAAQ+0a,aAAe,OAK9Btzc,KAAKinD,UAGN4mY,WAAY,SAAUxwb,EAAKqC,GACb,SAARrC,GAIQ,cAARA,IACJ2C,KAAKu+B,QAAQtqB,KAAOvU,GAER,SAARrC,IACJ2C,KAAKu+B,QAAQ2na,MAAM7oY,QAAU39D,GAEjB,UAARrC,IACCqC,EAAM29D,SACVr9D,KAAKinD,OAAQ,OAAQvnD,EAAM29D,SAC3Br9D,KAAKinD,OAAQ,eAAgB,cAClBvnD,EAAMq0c,YACjB/zc,KAAKinD,OAAQ,OAAQvnD,EAAMq0c,WAC3B/zc,KAAKinD,OAAQ,eAAgB,SAG/BjnD,KAAKgsb,YAAa7rb,YAlBjBH,KAAKinD,OAAQ,YAAavnD,MAsB7B2E,EAAEi5B,GAAG4mD,OAAW,SAAUpjC,GACzB,OAAO,WACN,OAAM9gD,KAAKlD,QAAYkD,KAAKlD,QAAgC,UAAtBkD,KAAM,GAAIylC,SAC5CzlC,KAAKlD,QAAgC,UAAtBkD,KAAM,GAAIylC,SACF,aAAxBzlC,KAAKklC,KAAM,SAAmD,UAAxBllC,KAAKklC,KAAM,QAE5C4b,EAAK1gD,MAAOJ,KAAMG,YAEpBkE,EAAE4xC,GAAGk9Z,eACV9uc,EAAE8uB,MAAO,gCAEgB,IAArBhzB,UAAUrD,OACPkD,KAAKmzc,cAAe,CAC1B,MAAQ,IAGHnzc,KAAKmzc,cAAc/yc,MAAOJ,KAAMG,aAhBzB,CAkBXkE,EAAEi5B,GAAG4mD,QAEV7/E,EAAEi5B,GAAG02a,UAAY,WAIhB,OAHM3vc,EAAE4xC,GAAGg+Z,cACV5vc,EAAE8uB,MAAO,+BAEc,WAAnBhzB,UAAW,IAAuC,UAAnBA,UAAW,IAAmBA,UAAW,GACrEH,KAAKi0c,aAAa7zc,MAAOJ,KAC/B,CAAEG,UAAW,GAAK,eAAgBA,UAAW,KAEvB,WAAnBA,UAAW,IAAuC,UAAnBA,UAAW,GACvCH,KAAKi0c,aAAa7zc,MAAOJ,KAAM,CAAEG,UAAW,GAAK,kBAE1B,kBAAnBA,UAAW,IAAoBA,UAAW,GAAI8iF,QACzD9iF,UAAW,GAAI8iF,MAAQ,CACtBiB,OAAQ/jF,UAAW,GAAI8iF,QAGlBjjF,KAAKi0c,aAAa7zc,MAAOJ,KAAMG,cAIpBkE,EAAE4xC,GAAGiuC,OAyBzB7/E,EAAE+wC,OAAQ/wC,EAAE4xC,GAAI,CAAEu7Z,WAAY,CAAE5ia,QAAS,YA2HzCvqC,EAAE+wC,OAAQm4Z,EAAW9vc,UAAW,CAE/By2c,gBAAiB,gBAGjBC,QAAS,EAGTC,kBAAmB,WAClB,OAAOp0c,KAAKqxc,OAObp8H,YAAa,SAAUtsU,GAEtB,OADAgpc,EAAyB3xc,KAAKovc,UAAWzmc,GAAY,IAC9C3I,MAORq0c,kBAAmB,SAAU13c,EAAQgM,GACpC,IAAImL,EAAU49b,EAAQ5X,EAEtB4X,EAAwB,SADxB59b,EAAWnX,EAAOmX,SAAS+E,gBACmB,SAAb/E,EAC3BnX,EAAOwnB,KACZnkB,KAAK6sb,MAAQ,EACblwb,EAAOwnB,GAAK,KAAOnkB,KAAK6sb,OAEzBiN,EAAO95b,KAAKs0c,SAAUjwc,EAAG1H,GAAU+0c,IAC9B/oc,SAAWtE,EAAE+wC,OAAQ,GAAIzsC,GAAY,IACxB,UAAbmL,EACJ9T,KAAKu0c,mBAAoB53c,EAAQm9b,GACtB4X,GACX1xc,KAAKw0c,kBAAmB73c,EAAQm9b,IAKlCwa,SAAU,SAAU33c,EAAQ+0c,GAE3B,MAAO,CAAEvtb,GADAxnB,EAAQ,GAAIwnB,GAAG1c,QAAS,qBAAsB,UACtCg7G,MAAO9lH,EACvB83c,YAAa,EAAGC,cAAe,EAAGC,aAAc,EAChDC,UAAW,EAAGC,SAAU,EACxBnD,OAAQA,EACRL,MAAUK,EACVJ,EAAsBjtc,EAAG,eAAiBrE,KAAK6tc,aAAe,wFAD3C7tc,KAAKqxc,QAK1BkD,mBAAoB,SAAU53c,EAAQm9b,GACrC,IAAIr3U,EAAQp+G,EAAG1H,GACfm9b,EAAKtsX,OAASnpE,EAAG,IACjBy1b,EAAK93W,QAAU39E,EAAG,IACbo+G,EAAM/+B,SAAU1jF,KAAKk0c,mBAG1Bl0c,KAAK80c,aAAcryV,EAAOq3U,GAC1Br3U,EAAMnrE,SAAUt3C,KAAKk0c,iBAAkBh5Z,GAAI,UAAWl7C,KAAK+0c,YAC1D75Z,GAAI,WAAYl7C,KAAKg1c,aAAc95Z,GAAI,QAASl7C,KAAKi1c,UACtDj1c,KAAKk1c,UAAWpb,GAChBz1b,EAAE2M,KAAMrU,EAAQ,aAAcm9b,GAGzBA,EAAKnxb,SAASigF,UAClB5oF,KAAKm1c,mBAAoBx4c,KAK3Bm4c,aAAc,SAAUryV,EAAOq3U,GAC9B,IAAIuV,EAAQI,EAAYC,EACvBv7Z,EAAan0C,KAAKmoH,KAAM2xU,EAAM,cAC9Bz7a,EAAQre,KAAKmoH,KAAM2xU,EAAM,SAErBA,EAAKtsX,QACTssX,EAAKtsX,OAAOvtC,SAERkU,IACJ2lZ,EAAKtsX,OAASnpE,EAAG,gBAAkBrE,KAAK8tc,aAAe,KAAO35Z,EAAa,WAC3EsuE,EAAOpkG,EAAQ,SAAW,SAAWy7a,EAAKtsX,SAG3Ci1C,EAAM7+D,IAAK,QAAS5jD,KAAKo1c,iBAEpBtb,EAAK93W,SACT83W,EAAK93W,QAAQ/hD,SAIE,WADhBova,EAASrvc,KAAKmoH,KAAM2xU,EAAM,YACY,SAAXuV,GAC1B5sV,EAAMvnE,GAAI,QAASl7C,KAAKo1c,iBAET,WAAX/F,GAAkC,SAAXA,IAC3BI,EAAazvc,KAAKmoH,KAAM2xU,EAAM,cAC9B4V,EAAc1vc,KAAKmoH,KAAM2xU,EAAM,eAC/BA,EAAK93W,QAAU39E,EAAGrE,KAAKmoH,KAAM2xU,EAAM,mBAClCz1b,EAAG,UAAWizC,SAAUt3C,KAAK+tc,eAC5B7oa,KAAM,CAAE/jB,IAAKuub,EAAah9U,IAAK+8U,EAAYjrb,MAAOirb,IACnDprc,EAAG,mCAAoCizC,SAAUt3C,KAAK+tc,eACrDt4Z,KAAOi6Z,EAA2Brrc,EAAG,UAAW6gC,KAChD,CAAE/jB,IAAIuub,EAAah9U,IAAI+8U,EAAYjrb,MAAMirb,IADpBA,IAEvBhtV,EAAOpkG,EAAQ,SAAW,SAAWy7a,EAAK93W,SAC1C83W,EAAK93W,QAAQ9mC,GAAI,SAAS,WASzB,OARK72C,EAAEmtc,WAAW9D,oBAAsBrpc,EAAEmtc,WAAW6D,aAAe5yV,EAAO,GAC1Ep+G,EAAEmtc,WAAW8D,kBACFjxc,EAAEmtc,WAAW9D,oBAAsBrpc,EAAEmtc,WAAW6D,aAAe5yV,EAAO,IACjFp+G,EAAEmtc,WAAW8D,kBACbjxc,EAAEmtc,WAAW4D,gBAAiB3yV,EAAO,KAErCp+G,EAAEmtc,WAAW4D,gBAAiB3yV,EAAO,KAE/B,OAMVyyV,UAAW,SAAUpb,GACpB,GAAK95b,KAAKmoH,KAAM2xU,EAAM,cAAiBA,EAAK4X,OAAS,CACpD,IAAI6D,EAASrjc,EAAKsjc,EAAM34c,EACvBu6O,EAAO,IAAI7/M,KAAM,KAAM,GAAQ,IAC/By3a,EAAahvc,KAAKmoH,KAAM2xU,EAAM,cAE1BkV,EAAWxlc,MAAO,UACtB+rc,EAAU,SAAUxnO,GAGnB,IAFA77N,EAAM,EACNsjc,EAAO,EACD34c,EAAI,EAAGA,EAAIkxO,EAAMjxO,OAAQD,IACzBkxO,EAAOlxO,GAAIC,OAASoV,IACxBA,EAAM67N,EAAOlxO,GAAIC,OACjB04c,EAAO34c,GAGT,OAAO24c,GAERp+N,EAAKiR,SAAUktN,EAASv1c,KAAKmoH,KAAM2xU,EAAQkV,EAAWxlc,MAAO,MAC5D,aAAe,qBAChB4tO,EAAKK,QAAS89N,EAASv1c,KAAKmoH,KAAM2xU,EAAQkV,EAAWxlc,MAAO,MAC3D,WAAa,kBAAwB,GAAK4tO,EAAKM,WAEjDoiN,EAAKr3U,MAAMv9E,KAAM,OAAQllC,KAAKy1c,YAAa3b,EAAM1iN,GAAOt6O,UAK1D03c,kBAAmB,SAAU73c,EAAQm9b,GACpC,IAAI4b,EAAUrxc,EAAG1H,GACZ+4c,EAAQhyX,SAAU1jF,KAAKk0c,mBAG5BwB,EAAQp+Z,SAAUt3C,KAAKk0c,iBAAkB1mY,OAAQssX,EAAKuX,OACtDhtc,EAAE2M,KAAMrU,EAAQ,aAAcm9b,GAC9B95b,KAAK21c,SAAU7b,EAAM95b,KAAK41c,gBAAiB9b,IAAQ,GACnD95b,KAAK61c,kBAAmB/b,GACxB95b,KAAK81c,iBAAkBhc,GAGlBA,EAAKnxb,SAASigF,UAClB5oF,KAAKm1c,mBAAoBx4c,GAK1Bm9b,EAAKuX,MAAM/vb,IAAK,UAAW,WAa5By0b,kBAAmB,SAAUtzV,EAAO20H,EAAMrnL,EAAUpnD,EAAUwqC,GAC7D,IAAIhvB,EAAI6xb,EAAcC,EAAe9wb,EAASC,EAC7C00a,EAAO95b,KAAKk2c,YAqCb,OAnCMpc,IACL95b,KAAK6sb,MAAQ,EACb1oa,EAAK,KAAOnkB,KAAK6sb,KACjB7sb,KAAKm2c,aAAe9xc,EAAG,0BAA4B8f,EAClD,4DACDnkB,KAAKm2c,aAAaj7Z,GAAI,UAAWl7C,KAAK+0c,YACtC1wc,EAAG,QAASmpE,OAAQxtE,KAAKm2c,eACzBrc,EAAO95b,KAAKk2c,YAAcl2c,KAAKs0c,SAAUt0c,KAAKm2c,cAAc,IACvDxtc,SAAW,GAChBtE,EAAE2M,KAAMhR,KAAKm2c,aAAc,GAAK,aAAcrc,IAE/C6X,EAAyB7X,EAAKnxb,SAAUA,GAAY,IACpDyuO,EAASA,GAAQA,EAAK33O,cAAgB83B,KAAOv3B,KAAKy1c,YAAa3b,EAAM1iN,GAASA,EAC9Ep3O,KAAKm2c,aAAazyb,IAAK0zN,GAEvBp3O,KAAKo2c,KAASjja,EAAQA,EAAIr2C,OAASq2C,EAAM,CAAEA,EAAIiwC,MAAOjwC,EAAIkwC,OAAY,KAChErjF,KAAKo2c,OACVJ,EAAe1yc,SAASkiB,gBAAgBI,YACxCqwb,EAAgB3yc,SAASkiB,gBAAgBK,aACzCV,EAAU7hB,SAASkiB,gBAAgB65B,YAAc/7C,SAAS+gB,KAAKg7B,WAC/Dj6B,EAAU9hB,SAASkiB,gBAAgB85B,WAAah8C,SAAS+gB,KAAKi7B,UAC9Dt/C,KAAKo2c,KACJ,CAAIJ,EAAe,EAAM,IAAM7wb,EAAW8wb,EAAgB,EAAM,IAAM7wb,IAIxEplB,KAAKm2c,aAAa70b,IAAK,OAAUthB,KAAKo2c,KAAM,GAAM,GAAO,MAAO90b,IAAK,MAAOthB,KAAKo2c,KAAM,GAAM,MAC7Ftc,EAAKnxb,SAASonD,SAAWA,EACzB/vD,KAAK2tc,WAAY,EACjB3tc,KAAKqxc,MAAM/5Z,SAAUt3C,KAAKguc,cAC1Bhuc,KAAKo1c,gBAAiBp1c,KAAKm2c,aAAc,IACpC9xc,EAAEgyc,SACNhyc,EAAEgyc,QAASr2c,KAAKqxc,OAEjBhtc,EAAE2M,KAAMhR,KAAKm2c,aAAc,GAAK,aAAcrc,GACvC95b,MAMRs2c,mBAAoB,SAAU35c,GAC7B,IAAImX,EACHyic,EAAUlyc,EAAG1H,GACbm9b,EAAOz1b,EAAE2M,KAAMrU,EAAQ,cAElB45c,EAAQ7yX,SAAU1jF,KAAKk0c,mBAI7Bpgc,EAAWnX,EAAOmX,SAAS+E,cAC3BxU,EAAEw8E,WAAYlkF,EAAQ,cACJ,UAAbmX,GACJgmb,EAAKtsX,OAAOvtC,SACZ65Z,EAAK93W,QAAQ/hD,SACbs2a,EAAQhvX,YAAavnF,KAAKk0c,iBACzBtwZ,IAAK,QAAS5jD,KAAKo1c,iBACnBxxZ,IAAK,UAAW5jD,KAAK+0c,YACrBnxZ,IAAK,WAAY5jD,KAAKg1c,aACtBpxZ,IAAK,QAAS5jD,KAAKi1c,WACI,QAAbnhc,GAAmC,SAAbA,GACjCyic,EAAQhvX,YAAavnF,KAAKk0c,iBAAkB9hT,QAGxCi7S,IAA0BvT,IAC9BuT,EAAwB,QAO1BmJ,kBAAmB,SAAU75c,GAC5B,IAAImX,EAAU49b,EACb6E,EAAUlyc,EAAG1H,GACbm9b,EAAOz1b,EAAE2M,KAAMrU,EAAQ,cAElB45c,EAAQ7yX,SAAU1jF,KAAKk0c,mBAKX,WADlBpgc,EAAWnX,EAAOmX,SAAS+E,gBAE1Blc,EAAOisF,UAAW,EAClBkxW,EAAK93W,QAAQ/uE,OAAQ,UACpB4gB,MAAM,WAAa7zB,KAAK4oF,UAAW,KAAWt1C,MAC9CrgC,OAAQ,OAAQqO,IAAK,CAAEynC,QAAS,MAAOroC,OAAQ,MACxB,QAAb5M,GAAmC,SAAbA,KACjC49b,EAAS6E,EAAQ/jc,SAAU,IAAMxS,KAAK6tc,eAC/Br7b,WAAW+0E,YAAa,qBAC/BmqX,EAAOpkY,KAAM,yDACZ9nE,KAAM,YAAY,IAEpBxF,KAAKytc,gBAAkBppc,EAAEojB,IAAKznB,KAAKytc,iBAClC,SAAU/tc,GAAU,OAASA,IAAU/C,EAAS,KAAO+C,OAMzDy1c,mBAAoB,SAAUx4c,GAC7B,IAAImX,EAAU49b,EACb6E,EAAUlyc,EAAG1H,GACbm9b,EAAOz1b,EAAE2M,KAAMrU,EAAQ,cAElB45c,EAAQ7yX,SAAU1jF,KAAKk0c,mBAKX,WADlBpgc,EAAWnX,EAAOmX,SAAS+E,gBAE1Blc,EAAOisF,UAAW,EAClBkxW,EAAK93W,QAAQ/uE,OAAQ,UACpB4gB,MAAM,WAAa7zB,KAAK4oF,UAAW,KAAUt1C,MAC7CrgC,OAAQ,OAAQqO,IAAK,CAAEynC,QAAS,MAAOroC,OAAQ,aACxB,QAAb5M,GAAmC,SAAbA,KACjC49b,EAAS6E,EAAQ/jc,SAAU,IAAMxS,KAAK6tc,eAC/Br7b,WAAW8kC,SAAU,qBAC5Bo6Z,EAAOpkY,KAAM,yDACZ9nE,KAAM,YAAY,IAEpBxF,KAAKytc,gBAAkBppc,EAAEojB,IAAKznB,KAAKytc,iBAClC,SAAU/tc,GAAU,OAASA,IAAU/C,EAAS,KAAO+C,KACxDM,KAAKytc,gBAAiBztc,KAAKytc,gBAAgB3wc,QAAWH,IAOvD80c,sBAAuB,SAAU90c,GAChC,IAAMA,EACL,OAAO,EAER,IAAM,IAAIE,EAAI,EAAGA,EAAImD,KAAKytc,gBAAgB3wc,OAAQD,IACjD,GAAKmD,KAAKytc,gBAAiB5wc,KAAQF,EAClC,OAAO,EAGT,OAAO,GAQR85c,SAAU,SAAU95c,GACnB,IACC,OAAO0H,EAAE2M,KAAMrU,EAAQ,cAExB,MAAQwE,GACP,KAAM,8CAaRu1c,kBAAmB,SAAU/5c,EAAQyF,EAAM1C,GAC1C,IAAIiJ,EAAUyuO,EAAMo5N,EAASC,EAC5B3W,EAAO95b,KAAKy2c,SAAU95c,GAEvB,GAA0B,IAArBwD,UAAUrD,QAAgC,kBAATsF,EACrC,MAAkB,aAATA,EAAsBiC,EAAE+wC,OAAQ,GAAI/wC,EAAEmtc,WAAWpC,WACvDtV,EAAkB,QAAT13b,EAAiBiC,EAAE+wC,OAAQ,GAAI0kZ,EAAKnxb,UAC/C3I,KAAKmoH,KAAM2xU,EAAM13b,GAAW,KAG9BuG,EAAWvG,GAAQ,GACE,kBAATA,KACXuG,EAAW,IACDvG,GAAS1C,GAGfo6b,IACC95b,KAAKwtc,WAAa1T,GACtB95b,KAAKs1c,kBAGNl+N,EAAOp3O,KAAK22c,mBAAoBh6c,GAAQ,GACxC6zc,EAAUxwc,KAAK42c,eAAgB9c,EAAM,OACrC2W,EAAUzwc,KAAK42c,eAAgB9c,EAAM,OACrC6X,EAAyB7X,EAAKnxb,SAAUA,GAGvB,OAAZ6nc,QAA4C5wa,IAAxBj3B,EAASqmc,iBAAiDpva,IAArBj3B,EAAS6nc,UACtE1W,EAAKnxb,SAAS6nc,QAAUxwc,KAAKy1c,YAAa3b,EAAM0W,IAEhC,OAAZC,QAA4C7wa,IAAxBj3B,EAASqmc,iBAAiDpva,IAArBj3B,EAAS8nc,UACtE3W,EAAKnxb,SAAS8nc,QAAUzwc,KAAKy1c,YAAa3b,EAAM2W,IAE5C,aAAc9nc,IACbA,EAASigF,SACb5oF,KAAKm1c,mBAAoBx4c,GAEzBqD,KAAKw2c,kBAAmB75c,IAG1BqD,KAAK80c,aAAczwc,EAAG1H,GAAUm9b,GAChC95b,KAAKk1c,UAAWpb,GAChB95b,KAAK21c,SAAU7b,EAAM1iN,GACrBp3O,KAAK81c,iBAAkBhc,GACvB95b,KAAK61c,kBAAmB/b,KAK1B+c,kBAAmB,SAAUl6c,EAAQyF,EAAM1C,GAC1CM,KAAK02c,kBAAmB/5c,EAAQyF,EAAM1C,IAMvCo3c,mBAAoB,SAAUn6c,GAC7B,IAAIm9b,EAAO95b,KAAKy2c,SAAU95c,GACrBm9b,GACJ95b,KAAK61c,kBAAmB/b,IAQ1Bid,mBAAoB,SAAUp6c,EAAQy6O,GACrC,IAAI0iN,EAAO95b,KAAKy2c,SAAU95c,GACrBm9b,IACJ95b,KAAK21c,SAAU7b,EAAM1iN,GACrBp3O,KAAK61c,kBAAmB/b,GACxB95b,KAAK81c,iBAAkBhc,KASzB6c,mBAAoB,SAAUh6c,EAAQq6c,GACrC,IAAIld,EAAO95b,KAAKy2c,SAAU95c,GAI1B,OAHKm9b,IAASA,EAAK4X,QAClB1xc,KAAKi3c,kBAAmBnd,EAAMkd,GAEtBld,EAAO95b,KAAKk3c,SAAUpd,GAAS,MAIzCib,WAAY,SAAUzvb,GACrB,IAAIyqC,EAAUonZ,EAASnpX,EACtB8rW,EAAOz1b,EAAEmtc,WAAWiF,SAAUnxb,EAAM3oB,QACpCy6c,GAAU,EACV/4b,EAAQy7a,EAAKuX,MAAM/sc,GAAI,sBAGxB,GADAw1b,EAAKsR,WAAY,EACZ/mc,EAAEmtc,WAAW9D,mBACjB,OAASpob,EAAMs2B,SACd,KAAK,EAAGv3C,EAAEmtc,WAAW8D,kBACnB8B,GAAU,EACV,MACF,KAAK,GAgBH,OAhBOppX,EAAM3pF,EAAG,MAAQA,EAAEmtc,WAAWpD,cAAgB,SAClD/pc,EAAEmtc,WAAWrD,cAAgB,IAAKrU,EAAKuX,QAChC,IACThtc,EAAEmtc,WAAW6F,WAAY/xb,EAAM3oB,OAAQm9b,EAAK4a,cAAe5a,EAAK6a,aAAc3mX,EAAK,KAGpFj+B,EAAW1rD,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,cAEnCqd,EAAU9yc,EAAEmtc,WAAWiE,YAAa3b,GAGpC/pY,EAAS3vD,MAAS05b,EAAKr3U,MAAQq3U,EAAKr3U,MAAO,GAAM,KAAQ,CAAE00V,EAASrd,KAEpEz1b,EAAEmtc,WAAW8D,mBAGP,EACT,KAAK,GAAIjxc,EAAEmtc,WAAW8D,kBACpB,MACF,KAAK,GAAIjxc,EAAEmtc,WAAW8F,YAAahyb,EAAM3oB,OAAU2oB,EAAM2xB,SACrD5yC,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,kBACzBz1b,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,cAAkB,KAC7C,MACF,KAAK,GAAIz1b,EAAEmtc,WAAW8F,YAAahyb,EAAM3oB,OAAU2oB,EAAM2xB,SACrD5yC,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,kBACzBz1b,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,cAAkB,KAC7C,MACF,KAAK,IAASx0a,EAAM2xB,SAAW3xB,EAAMswI,UAClCvxJ,EAAEmtc,WAAW+F,WAAYjyb,EAAM3oB,QAEhCy6c,EAAU9xb,EAAM2xB,SAAW3xB,EAAMswI,QACjC,MACF,KAAK,IAAStwI,EAAM2xB,SAAW3xB,EAAMswI,UAClCvxJ,EAAEmtc,WAAWgG,WAAYlyb,EAAM3oB,QAEhCy6c,EAAU9xb,EAAM2xB,SAAW3xB,EAAMswI,QACjC,MACF,KAAK,IAAStwI,EAAM2xB,SAAW3xB,EAAMswI,UAClCvxJ,EAAEmtc,WAAW8F,YAAahyb,EAAM3oB,OAAU0hB,EAAQ,GAAM,EAAK,KAE9D+4b,EAAU9xb,EAAM2xB,SAAW3xB,EAAMswI,QAG5BtwI,EAAM+1B,cAAcy0W,QACxBzrZ,EAAEmtc,WAAW8F,YAAahyb,EAAM3oB,OAAU2oB,EAAM2xB,SAC9C5yC,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,kBACzBz1b,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,cAAkB,KAI9C,MACF,KAAK,IAASx0a,EAAM2xB,SAAW3xB,EAAMswI,UAClCvxJ,EAAEmtc,WAAW8F,YAAahyb,EAAM3oB,QAAS,EAAG,KAE7Cy6c,EAAU9xb,EAAM2xB,SAAW3xB,EAAMswI,QACjC,MACF,KAAK,IAAStwI,EAAM2xB,SAAW3xB,EAAMswI,UAClCvxJ,EAAEmtc,WAAW8F,YAAahyb,EAAM3oB,OAAU0hB,GAAS,EAAI,EAAM,KAE9D+4b,EAAU9xb,EAAM2xB,SAAW3xB,EAAMswI,QAG5BtwI,EAAM+1B,cAAcy0W,QACxBzrZ,EAAEmtc,WAAW8F,YAAahyb,EAAM3oB,OAAU2oB,EAAM2xB,SAC9C5yC,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,kBACzBz1b,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,cAAkB,KAI9C,MACF,KAAK,IAASx0a,EAAM2xB,SAAW3xB,EAAMswI,UAClCvxJ,EAAEmtc,WAAW8F,YAAahyb,EAAM3oB,OAAQ,EAAI,KAE7Cy6c,EAAU9xb,EAAM2xB,SAAW3xB,EAAMswI,QACjC,MACF,QAASwhT,GAAU,OAES,KAAlB9xb,EAAMs2B,SAAkBt2B,EAAM2xB,QACzC5yC,EAAEmtc,WAAW4D,gBAAiBp1c,MAE9Bo3c,GAAU,EAGNA,IACJ9xb,EAAMw1B,iBACNx1B,EAAM01B,oBAKRg6Z,YAAa,SAAU1vb,GACtB,IAAI2d,EAAOu4O,EACVs+K,EAAOz1b,EAAEmtc,WAAWiF,SAAUnxb,EAAM3oB,QAErC,GAAK0H,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,kBAG7B,OAFA72Z,EAAQ5+B,EAAEmtc,WAAWiG,eAAgBpzc,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,eAC9Dt+K,EAAM7jP,OAAOE,aAAgC,MAAlBvS,EAAM0qY,SAAmB1qY,EAAMs2B,QAAUt2B,EAAM0qY,UACnE1qY,EAAM2xB,SAAW3xB,EAAMswI,SAAa4lH,EAAM,MAAQv4O,GAASA,EAAM54B,QAASmxQ,IAAS,GAK5Fy5L,SAAU,SAAU3vb,GACnB,IACCw0a,EAAOz1b,EAAEmtc,WAAWiF,SAAUnxb,EAAM3oB,QAErC,GAAKm9b,EAAKr3U,MAAM/+F,QAAUo2a,EAAK4d,QAC9B,IACQrzc,EAAEmtc,WAAWvlN,UAAW5nP,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,cACrDA,EAAKr3U,MAAQq3U,EAAKr3U,MAAM/+F,MAAQ,KAClCrf,EAAEmtc,WAAWmG,iBAAkB7d,MAG/Bz1b,EAAEmtc,WAAWyF,kBAAmBnd,GAChCz1b,EAAEmtc,WAAWsE,iBAAkBhc,GAC/Bz1b,EAAEmtc,WAAWqE,kBAAmB/b,IAGlC,MAAQ34b,IAGT,OAAO,GAQRi0c,gBAAiB,SAAU3yV,GAU1B,IAAIq3U,EAAM6W,EAAYiH,EAAoBC,EACzC5ic,EAAQq6b,EAAU9yb,EATmB,WADtCimG,EAAQA,EAAM9lH,QAAU8lH,GACb3uG,SAAS+E,gBACnB4pG,EAAQp+G,EAAG,QAASo+G,EAAM98F,YAAc,IAGpCthB,EAAEmtc,WAAWC,sBAAuBhvV,IAAWp+G,EAAEmtc,WAAW6D,aAAe5yV,IAOhFq3U,EAAOz1b,EAAEmtc,WAAWiF,SAAUh0V,GACzBp+G,EAAEmtc,WAAWhE,UAAYnpc,EAAEmtc,WAAWhE,WAAa1T,IACvDz1b,EAAEmtc,WAAWhE,SAAS6D,MAAM5tc,MAAM,GAAM,GACnCq2b,GAAQz1b,EAAEmtc,WAAW9D,oBACzBrpc,EAAEmtc,WAAW8D,gBAAiBjxc,EAAEmtc,WAAWhE,SAAS/qV,MAAO,MAMjC,KAD5Bm1V,GADAjH,EAAatsc,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,eACJ6W,EAAWvwc,MAAOqiH,EAAO,CAAEA,EAAOq3U,IAAW,MAI/E6X,EAAyB7X,EAAKnxb,SAAUivc,GAExC9d,EAAK4d,QAAU,KACfrzc,EAAEmtc,WAAW6D,WAAa5yV,EAC1Bp+G,EAAEmtc,WAAWyF,kBAAmBnd,GAE3Bz1b,EAAEmtc,WAAW7D,YACjBlrV,EAAM/iH,MAAQ,IAET2E,EAAEmtc,WAAW4E,OAClB/xc,EAAEmtc,WAAW4E,KAAO/xc,EAAEmtc,WAAWsG,SAAUr1V,GAC3Cp+G,EAAEmtc,WAAW4E,KAAM,IAAO3zV,EAAMwrC,cAGjC4pT,GAAU,EACVxzc,EAAGo+G,GAAQ+tC,UAAU38H,MAAM,WAE1B,QADAgkb,GAA2C,UAAhCxzc,EAAGrE,MAAOshB,IAAK,gBAI3BrM,EAAS,CAAE4hC,KAAMxyC,EAAEmtc,WAAW4E,KAAM,GAAKr/Z,IAAK1yC,EAAEmtc,WAAW4E,KAAM,IACjE/xc,EAAEmtc,WAAW4E,KAAO,KAGpBtc,EAAKuX,MAAMj/S,QAGX0nS,EAAKuX,MAAM/vb,IAAK,CAAEqhB,SAAU,WAAYve,QAAS,QAAS2yB,IAAK,YAC/D1yC,EAAEmtc,WAAWqE,kBAAmB/b,GAIhC7kb,EAAS5Q,EAAEmtc,WAAWuG,aAAcje,EAAM7kb,EAAQ4ic,GAClD/d,EAAKuX,MAAM/vb,IAAK,CAAEqhB,SAAYt+B,EAAEmtc,WAAW7D,WAAatpc,EAAEgyc,QACzD,SAAawB,EAAU,QAAU,WAAgBzzb,QAAS,OAC1DyyB,KAAM5hC,EAAO4hC,KAAO,KAAME,IAAK9hC,EAAO8hC,IAAM,OAEvC+iZ,EAAK4X,SACVpC,EAAWjrc,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,YACpCt9a,EAAWnY,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,YACpCA,EAAKuX,MAAM/vb,IAAK,UA9vBnB,SAA+BigE,GAE9B,IADA,IAAI5+C,EAAUjjC,EACN6hF,EAAKzkF,QAAUykF,EAAM,KAAQj+E,UAAW,CAM/C,IAAkB,cADlBq/B,EAAW4+C,EAAKjgE,IAAK,cACwB,aAAbqhB,GAAwC,UAAbA,KAM1DjjC,EAAQwe,SAAUqjE,EAAKjgE,IAAK,UAAY,KAClCtT,MAAOtO,IAAqB,IAAVA,GACvB,OAAOA,EAGT6hF,EAAOA,EAAK3uE,SAGb,OAAO,EAwuBsBolc,CAAsB3zc,EAAGo+G,IAAY,GAChEp+G,EAAEmtc,WAAW9D,oBAAqB,EAE7Brpc,EAAE4pX,SAAW5pX,EAAE4pX,QAAQhsE,OAAQqtJ,GACnCxV,EAAKuX,MAAMt/Y,KAAMu9Y,EAAUjrc,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,eAAiBt9a,GAErEs9a,EAAKuX,MAAO/B,GAAY,QAAUA,EAAW9yb,EAAW,MAGpDnY,EAAEmtc,WAAWyG,kBAAmBne,IACpCA,EAAKr3U,MAAMzgC,QAAS,SAGrB39E,EAAEmtc,WAAWhE,SAAW1T,MAK1B+b,kBAAmB,SAAU/b,GAC5B95b,KAAKm0c,QAAU,EACf9G,EAAwBvT,EACxBA,EAAKuX,MAAMj/S,QAAQ5kF,OAAQxtE,KAAKk4c,cAAepe,IAC/C95b,KAAKm4c,gBAAiBre,GAEtB,IAAIse,EACHC,EAAYr4c,KAAKs4c,mBAAoBxe,GACrC/mW,EAAOslX,EAAW,GAElBE,EAAaze,EAAKuX,MAAM/jY,KAAM,IAAMttE,KAAKouc,cAAgB,MAErDmK,EAAWz7c,OAAS,GACxBy0c,EAA2Bnxc,MAAOm4c,EAAWj2c,IAAK,IAGnDw3b,EAAKuX,MAAM9pX,YAAa,qEAAsE3gF,MAAO,IAChGmsF,EAAO,GACX+mW,EAAKuX,MAAM/5Z,SAAU,uBAAyBy7C,GAAOzxE,IAAK,QATlD,GASqEyxE,EAAS,MAEvF+mW,EAAKuX,OAA4B,IAAnBgH,EAAW,IAAgC,IAAnBA,EAAW,GAAY,MAAQ,UACpE,SAAW,uBACZve,EAAKuX,OAASrxc,KAAKmoH,KAAM2xU,EAAM,SAAY,MAAQ,UAClD,SAAW,qBAEPA,IAASz1b,EAAEmtc,WAAWhE,UAAYnpc,EAAEmtc,WAAW9D,oBAAsBrpc,EAAEmtc,WAAWyG,kBAAmBne,IACzGA,EAAKr3U,MAAMzgC,QAAS,SAIhB83W,EAAK0e,YACTJ,EAAgBte,EAAK0e,UACrB3jb,YAAY,WAGNujb,IAAkBte,EAAK0e,WAAa1e,EAAK0e,WAC7C1e,EAAKuX,MAAM/jY,KAAM,mCAAoC0kV,YAAa8nC,EAAK0e,WAExEJ,EAAgBte,EAAK0e,UAAY,OAC/B,KAOLP,kBAAmB,SAAUne,GAC5B,OAAOA,EAAKr3U,OAASq3U,EAAKr3U,MAAMn+G,GAAI,cAAiBw1b,EAAKr3U,MAAMn+G,GAAI,eAAkBw1b,EAAKr3U,MAAMn+G,GAAI,WAItGyzc,aAAc,SAAUje,EAAM7kb,EAAQ4ic,GACrC,IAAIY,EAAU3e,EAAKuX,MAAM3uX,aACxBg2X,EAAW5e,EAAKuX,MAAM5uX,cACtBk2X,EAAa7e,EAAKr3U,MAAQq3U,EAAKr3U,MAAM//B,aAAe,EACpDk2X,EAAc9e,EAAKr3U,MAAQq3U,EAAKr3U,MAAMhgC,cAAgB,EACtDo2X,EAAYv1c,SAASkiB,gBAAgBI,aAAgBiyb,EAAU,EAAIxzc,EAAGf,UAAW+7C,cACjFy5Z,EAAax1c,SAASkiB,gBAAgBK,cAAiBgyb,EAAU,EAAIxzc,EAAGf,UAAWg8C,aAYpF,OAVArqC,EAAO4hC,MAAU72C,KAAKmoH,KAAM2xU,EAAM,SAAc2e,EAAUE,EAAe,EACzE1jc,EAAO4hC,MAAUgha,GAAW5ic,EAAO4hC,OAASijZ,EAAKr3U,MAAMxtG,SAAS4hC,KAASxyC,EAAGf,UAAW+7C,aAAe,EACtGpqC,EAAO8hC,KAAS8ga,GAAW5ic,EAAO8hC,MAAU+iZ,EAAKr3U,MAAMxtG,SAAS8hC,IAAM6ha,EAAkBv0c,EAAGf,UAAWg8C,YAAc,EAGpHrqC,EAAO4hC,MAAQ1vC,KAAK6K,IAAKiD,EAAO4hC,KAAQ5hC,EAAO4hC,KAAO4ha,EAAUI,GAAaA,EAAYJ,EACxFtxc,KAAKwjD,IAAK11C,EAAO4hC,KAAO4ha,EAAUI,GAAc,GACjD5jc,EAAO8hC,KAAO5vC,KAAK6K,IAAKiD,EAAO8hC,IAAO9hC,EAAO8hC,IAAM2ha,EAAWI,GAAcA,EAAaJ,EACxFvxc,KAAKwjD,IAAK+tZ,EAAWE,GAAgB,GAE/B3jc,GAIR6ic,SAAU,SAAU93a,GAKnB,IAJA,IAAI2C,EACHm3Z,EAAO95b,KAAKy2c,SAAUz2a,GACtB3hB,EAAQre,KAAKmoH,KAAM2xU,EAAM,SAElB95Z,IAAsB,WAAbA,EAAI/uB,MAAsC,IAAjB+uB,EAAInsB,UAAkBxP,EAAE+8Y,KAAK7rX,QAAQ46O,OAAQnwO,KACtFA,EAAMA,EAAK3hB,EAAQ,kBAAoB,eAIxC,MAAO,EADPskB,EAAWt+B,EAAG27B,GAAM/qB,UACF4hC,KAAMlU,EAASoU,MAMlCu+Z,gBAAiB,SAAU7yV,GAC1B,IAAI6sV,EAAU9yb,EAAU6sC,EAAawhX,EACpCivB,EAAO95b,KAAKwtc,UAEP1T,GAAUr3U,GAASq3U,IAASz1b,EAAE2M,KAAMyxG,EAAO,eAI5CziH,KAAK0tc,qBACT4B,EAAWtvc,KAAKmoH,KAAM2xU,EAAM,YAC5Bt9a,EAAWxc,KAAKmoH,KAAM2xU,EAAM,YAC5BzwY,EAAc,WACbhlD,EAAEmtc,WAAWuH,YAAajf,IAItBz1b,EAAE4pX,UAAa5pX,EAAE4pX,QAAQhsE,OAAQqtJ,IAAcjrc,EAAE4pX,QAASqhF,IAC9DxV,EAAKuX,MAAMz/Y,KAAM09Y,EAAUjrc,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,eAAiBt9a,EAAU6sC,GAE/EywY,EAAKuX,MAAsB,cAAb/B,EAA2B,UACzB,WAAbA,EAAwB,UAAY,QAAgBA,EAAW9yb,EAAW,KAAQ6sC,GAGhFimZ,GACLjmZ,IAEDrpD,KAAK0tc,oBAAqB,GAE1B7iC,EAAU7qa,KAAKmoH,KAAM2xU,EAAM,aAE1BjvB,EAAQzqa,MAAS05b,EAAKr3U,MAAQq3U,EAAKr3U,MAAO,GAAM,KAAQ,CAAIq3U,EAAKr3U,MAAQq3U,EAAKr3U,MAAM/+F,MAAQ,GAAMo2a,IAGnG95b,KAAKq1c,WAAa,KACbr1c,KAAK2tc,YACT3tc,KAAKm2c,aAAa70b,IAAK,CAAEqhB,SAAU,WAAYkU,KAAM,IAAKE,IAAK,WAC1D1yC,EAAEgyc,UACNhyc,EAAE20c,YACF30c,EAAG,QAASmpE,OAAQxtE,KAAKqxc,SAG3Brxc,KAAK2tc,WAAY,IAKnBoL,YAAa,SAAUjf,GACtBA,EAAKuX,MAAM9pX,YAAavnF,KAAKguc,cAAepqZ,IAAK,4BAIlDq1Z,oBAAqB,SAAU3zb,GAC9B,GAAMjhB,EAAEmtc,WAAWhE,SAAnB,CAIA,IAAI+I,EAAUlyc,EAAGihB,EAAM3oB,QACtBm9b,EAAOz1b,EAAEmtc,WAAWiF,SAAUF,EAAS,KAE/BA,EAAS,GAAIpyb,KAAO9f,EAAEmtc,WAAW5D,YACoB,IAA5D2I,EAAQ/lT,QAAS,IAAMnsJ,EAAEmtc,WAAW5D,YAAa9wc,QAChDy5c,EAAQ7yX,SAAUr/E,EAAEmtc,WAAW0C,kBAC/BqC,EAAQ/xX,QAAS,IAAMngF,EAAEmtc,WAAWzD,eAAgBjxc,SACrDuH,EAAEmtc,WAAW9D,oBAAyBrpc,EAAEmtc,WAAW7D,WAAatpc,EAAEgyc,YACjEE,EAAQ7yX,SAAUr/E,EAAEmtc,WAAW0C,kBAAqB7vc,EAAEmtc,WAAWhE,WAAa1T,IAC/Ez1b,EAAEmtc,WAAW8D,oBAKhBgC,YAAa,SAAUnzb,EAAIlP,EAAQmlO,GAClC,IAAIz9O,EAAS0H,EAAG8f,GACf21a,EAAO95b,KAAKy2c,SAAU95c,EAAQ,IAE1BqD,KAAKyxc,sBAAuB90c,EAAQ,MAGzCqD,KAAKk5c,gBAAiBpf,EAAM7kb,GACd,MAAXmlO,EAAiBp6O,KAAKmoH,KAAM2xU,EAAM,oBAAuB,GAC3D1/M,GACDp6O,KAAK61c,kBAAmB/b,KAIzB0d,WAAY,SAAUrzb,GACrB,IAAIizN,EACHz6O,EAAS0H,EAAG8f,GACZ21a,EAAO95b,KAAKy2c,SAAU95c,EAAQ,IAE1BqD,KAAKmoH,KAAM2xU,EAAM,gBAAmBA,EAAKqf,YAC7Crf,EAAK2a,YAAc3a,EAAKqf,WACxBrf,EAAK8a,UAAY9a,EAAK4a,cAAgB5a,EAAKsf,aAC3Ctf,EAAK+a,SAAW/a,EAAK6a,aAAe7a,EAAKuf,cAEzCjiO,EAAO,IAAI7/M,KACXuia,EAAK2a,YAAcr9N,EAAK/gD,UACxByjQ,EAAK8a,UAAY9a,EAAK4a,cAAgBt9N,EAAKhhD,WAC3C0jQ,EAAK+a,SAAW/a,EAAK6a,aAAev9N,EAAKjhD,eAE1Cn2L,KAAKs5c,cAAexf,GACpB95b,KAAKs3c,YAAa36c,IAInB48c,iBAAkB,SAAUp1b,EAAIy9B,EAAQw4L,GACvC,IAAIz9O,EAAS0H,EAAG8f,GACf21a,EAAO95b,KAAKy2c,SAAU95c,EAAQ,IAE/Bm9b,EAAM,YAA0B,MAAX1/M,EAAiB,QAAU,SAChD0/M,EAAM,QAAsB,MAAX1/M,EAAiB,QAAU,SAC3Cl8N,SAAU0jC,EAAOrjB,QAASqjB,EAAO89T,eAAgBhgX,MAAO,IAEzDM,KAAKs5c,cAAexf,GACpB95b,KAAKs3c,YAAa36c,IAInB06c,WAAY,SAAUlzb,EAAI4sR,EAAOC,EAAMhgF,GACtC,IAAI8oO,EACHn9b,EAAS0H,EAAG8f,GAER9f,EAAG2sN,GAAKttI,SAAU1jF,KAAKkuc,qBAAwBluc,KAAKyxc,sBAAuB90c,EAAQ,OAIxFm9b,EAAO95b,KAAKy2c,SAAU95c,EAAQ,KACzB83c,YAAc3a,EAAKqf,WAAa90c,EAAG,IAAK2sN,GAAKv7K,OAClDqkZ,EAAK4a,cAAgB5a,EAAKsf,aAAeroK,EACzC+oJ,EAAK6a,aAAe7a,EAAKuf,YAAcroK,EACvChxS,KAAKw5c,YAAar1b,EAAInkB,KAAKy1c,YAAa3b,EACvCA,EAAKqf,WAAYrf,EAAKsf,aAActf,EAAKuf,gBAI3C9B,WAAY,SAAUpzb,GACrB,IAAIxnB,EAAS0H,EAAG8f,GAChBnkB,KAAKw5c,YAAa78c,EAAQ,KAI3B68c,YAAa,SAAUr1b,EAAIgzb,GAC1B,IAAIpnZ,EACHpzD,EAAS0H,EAAG8f,GACZ21a,EAAO95b,KAAKy2c,SAAU95c,EAAQ,IAE/Bw6c,EAAuB,MAAXA,EAAkBA,EAAUn3c,KAAKy1c,YAAa3b,GACrDA,EAAKr3U,OACTq3U,EAAKr3U,MAAM/+F,IAAKyzb,GAEjBn3c,KAAK81c,iBAAkBhc,IAEvB/pY,EAAW/vD,KAAKmoH,KAAM2xU,EAAM,aAE3B/pY,EAAS3vD,MAAS05b,EAAKr3U,MAAQq3U,EAAKr3U,MAAO,GAAM,KAAQ,CAAE00V,EAASrd,IACzDA,EAAKr3U,OAChBq3U,EAAKr3U,MAAMzgC,QAAS,UAGhB83W,EAAK4X,OACT1xc,KAAK61c,kBAAmB/b,IAExB95b,KAAKs1c,kBACLt1c,KAAKq1c,WAAavb,EAAKr3U,MAAO,GACK,kBAAtBq3U,EAAKr3U,MAAO,IACxBq3U,EAAKr3U,MAAMzgC,QAAS,SAErBhiF,KAAKq1c,WAAa,OAKpBS,iBAAkB,SAAUhc,GAC3B,IAAIoX,EAAW95N,EAAM+/N,EACpBlG,EAAWjxc,KAAKmoH,KAAM2xU,EAAM,YAExBmX,IACJC,EAAYlxc,KAAKmoH,KAAM2xU,EAAM,cAAiB95b,KAAKmoH,KAAM2xU,EAAM,cAC/D1iN,EAAOp3O,KAAKk3c,SAAUpd,GACtBqd,EAAUn3c,KAAKy5c,WAAYvI,EAAW95N,EAAMp3O,KAAK23c,iBAAkB7d,IACnEz1b,EAAG4sc,GAAWvtb,IAAKyzb,KAQrBuC,WAAY,SAAUtiO,GACrB,IAAI05D,EAAM15D,EAAKM,SACf,MAAO,CAAIo5D,EAAM,GAAKA,EAAM,EAAK,KAOlCw/J,YAAa,SAAUl5N,GACtB,IAAIC,EACHsiO,EAAY,IAAIpib,KAAM6/M,EAAKx2G,WAQ5B,OALA+4U,EAAUliO,QAASkiO,EAAUtjR,UAAY,GAAMsjR,EAAUjiO,UAAY,IAErEL,EAAOsiO,EAAU/4U,UACjB+4U,EAAUtxN,SAAU,GACpBsxN,EAAUliO,QAAS,GACZtwO,KAAK0W,MAAO1W,KAAKi9G,OAASizH,EAAOsiO,GAAc,OAAa,GAAM,GAgB1E1tN,UAAW,SAAUvnH,EAAQhlI,EAAOiJ,GACnC,GAAe,MAAV+7H,GAA2B,MAAThlI,EACtB,KAAM,oBAIP,GAAe,MADfA,EAA2B,kBAAVA,EAAqBA,EAAM0M,WAAa1M,EAAQ,IAEhE,OAAO,KAGR,IAAIk6c,EAASx7Z,EAAKqnN,EAcjBruB,EAbAyiO,EAAS,EACTC,GAAwBnxc,EAAWA,EAAS4nc,gBAAkB,OAAUvwc,KAAKovc,UAAUmB,gBACvFA,EAAmD,kBAAxBuJ,EAAmCA,GAC7D,IAAIvib,MAAO4+J,cAAgB,IAAMj4K,SAAU47b,EAAqB,IACjEjL,GAAkBlmc,EAAWA,EAASkmc,cAAgB,OAAU7uc,KAAKovc,UAAUP,cAC/ED,GAAajmc,EAAWA,EAASimc,SAAW,OAAU5uc,KAAKovc,UAAUR,SACrED,GAAoBhmc,EAAWA,EAASgmc,gBAAkB,OAAU3uc,KAAKovc,UAAUT,gBACnFD,GAAe/lc,EAAWA,EAAS+lc,WAAa,OAAU1uc,KAAKovc,UAAUV,WACzE19J,GAAQ,EACRD,GAAS,EACTD,GAAO,EACPipK,GAAO,EACPC,GAAU,EAIVC,EAAY,SAAUzwc,GACrB,IAAI5F,EAAYg2c,EAAU,EAAIl1U,EAAO5nI,QAAU4nI,EAAO57G,OAAQ8wb,EAAU,KAAQpwc,EAIhF,OAHK5F,GACJg2c,IAEMh2c,GAIRs2c,EAAY,SAAU1wc,GACrB,IAAI2wc,EAAYF,EAAWzwc,GAC1B07D,EAAmB,MAAV17D,EAAgB,GAAiB,MAAVA,EAAgB,GACpC,MAAVA,GAAiB2wc,EAAY,EAAgB,MAAV3wc,EAAgB,EAAI,EAEzDq+V,EAAS,IAAIjtU,OAAQ,SADC,MAAVpxB,EAAgB07D,EAAO,GACM,IAAMA,EAAO,KACtDmnE,EAAM3sI,EAAM2xC,UAAWwoa,GAASrwc,MAAOq+V,GACxC,IAAMx7N,EACL,KAAM,8BAAgCwtU,EAGvC,OADAA,GAAUxtU,EAAK,GAAIvvI,OACZohB,SAAUmuH,EAAK,GAAK,KAI5B5gF,EAAU,SAAUjiD,EAAO4wc,EAAYC,GACtC,IAAIl5a,GAAS,EACZ4sM,EAAQ1pO,EAAEojB,IAAKwyb,EAAWzwc,GAAU6wc,EAAYD,GAAY,SAAUltc,EAAG0U,GACxE,MAAO,CAAE,CAAEA,EAAG1U,OACX81C,MAAM,SAAUr2C,EAAGzC,GACtB,QAAUyC,EAAG,GAAI7P,OAASoN,EAAG,GAAIpN,WAWnC,GARAuH,EAAEwvB,KAAMk6M,GAAO,SAAUlxO,EAAG8gI,GAC3B,IAAIv7H,EAAOu7H,EAAM,GACjB,GAAKj+H,EAAMmiB,OAAQg4b,EAAQz3c,EAAKtF,QAAS+b,gBAAkBzW,EAAKyW,cAG/D,OAFAsoB,EAAQw8F,EAAM,GACdk8U,GAAUz3c,EAAKtF,QACR,MAGO,IAAXqkC,EACJ,OAAOA,EAAQ,EAEf,KAAM,4BAA8B04a,GAKtCS,EAAe,WACd,GAAK56c,EAAMopB,OAAQ+wb,KAAan1U,EAAO57G,OAAQ8wb,GAC9C,KAAM,kCAAoCC,EAE3CA,KAGF,IAAMD,EAAU,EAAGA,EAAUl1U,EAAO5nI,OAAQ88c,IAC3C,GAAKI,EAC8B,MAA7Bt1U,EAAO57G,OAAQ8wb,IAAsBK,EAAW,KAGpDK,IAFAN,GAAU,OAKX,OAASt1U,EAAO57G,OAAQ8wb,IACvB,IAAK,IACJ9oK,EAAMopK,EAAW,KACjB,MACD,IAAK,IACJzuZ,EAAS,IAAKojZ,EAAeD,GAC7B,MACD,IAAK,IACJmL,EAAMG,EAAW,KACjB,MACD,IAAK,IACJnpK,EAAQmpK,EAAW,KACnB,MACD,IAAK,IACJnpK,EAAQtlP,EAAS,IAAKkjZ,EAAiBD,GACvC,MACD,IAAK,IACJ19J,EAAOkpK,EAAW,KAClB,MACD,IAAK,IAEJlpK,GADA55D,EAAO,IAAI7/M,KAAM2ib,EAAW,OAChB/jR,cACZ46G,EAAQ35D,EAAKhhD,WAAa,EAC1B06G,EAAM15D,EAAK/gD,UACX,MACD,IAAK,IAEJ26G,GADA55D,EAAO,IAAI7/M,MAAQ2ib,EAAW,KAAQl6c,KAAKu6c,cAAiB,MAChDpkR,cACZ46G,EAAQ35D,EAAKhhD,WAAa,EAC1B06G,EAAM15D,EAAK/gD,UACX,MACD,IAAK,IACC4jR,EAAW,KACfK,IAEAN,GAAU,EAEX,MACD,QACCM,IAKJ,GAAKT,EAASn6c,EAAM5C,SACnB2oQ,EAAQ/lQ,EAAMmiB,OAAQg4b,IAChB,OAAOt3a,KAAMkjO,IAClB,KAAM,4CAA8CA,EAWtD,IAPe,IAAVurC,EACJA,GAAO,IAAIz5Q,MAAO4+J,cACP66G,EAAO,MAClBA,IAAQ,IAAIz5Q,MAAO4+J,eAAgB,IAAI5+J,MAAO4+J,cAAgB,KAC3D66G,GAAQu/J,EAAkB,GAAK,MAG9BwJ,GAAO,EAGX,IAFAhpK,EAAQ,EACRD,EAAMipK,IAGAjpK,IADL1yP,EAAMp+C,KAAKw6c,gBAAiBxpK,EAAMD,EAAQ,MAI1CA,IACAD,GAAO1yP,EAKT,IADAg5L,EAAOp3O,KAAKy6c,sBAAuB,IAAIljb,KAAMy5Q,EAAMD,EAAQ,EAAGD,KACpD36G,gBAAkB66G,GAAQ55D,EAAKhhD,WAAa,IAAM26G,GAAS35D,EAAK/gD,YAAcy6G,EACvF,KAAM,eAEP,OAAO15D,GAIRsjO,KAAM,WACNC,OAAQ,aACRC,SAAU,WACVC,QAAS,WACTC,QAAS,aACTC,SAAU,WACVC,SAAU,YACVC,SAAU,YACVC,IAAK,WACLC,MAAO,IACPC,UAAW,IACXC,IAAK,WAELd,aAC8B,IADZ,OAAqBpzc,KAAK0W,MAAO,OAAa1W,KAAK0W,MAAO,MAC3E1W,KAAK0W,MAAO,QAAsB,GAAK,GAAK,IA8B7C47b,WAAY,SAAU/0U,EAAQ0yG,EAAMzuO,GACnC,IAAMyuO,EACL,MAAO,GAGR,IAAIwiO,EACH/K,GAAkBlmc,EAAWA,EAASkmc,cAAgB,OAAU7uc,KAAKovc,UAAUP,cAC/ED,GAAajmc,EAAWA,EAASimc,SAAW,OAAU5uc,KAAKovc,UAAUR,SACrED,GAAoBhmc,EAAWA,EAASgmc,gBAAkB,OAAU3uc,KAAKovc,UAAUT,gBACnFD,GAAe/lc,EAAWA,EAAS+lc,WAAa,OAAU1uc,KAAKovc,UAAUV,WAGzEuL,EAAY,SAAUzwc,GACrB,IAAI5F,EAAYg2c,EAAU,EAAIl1U,EAAO5nI,QAAU4nI,EAAO57G,OAAQ8wb,EAAU,KAAQpwc,EAIhF,OAHK5F,GACJg2c,IAEMh2c,GAIR03c,EAAe,SAAU9xc,EAAO9J,EAAOslC,GACtC,IAAIqnG,EAAM,GAAK3sI,EACf,GAAKu6c,EAAWzwc,GACf,KAAQ6iI,EAAIvvI,OAASkoC,GACpBqnG,EAAM,IAAMA,EAGd,OAAOA,GAIRkvU,EAAa,SAAU/xc,EAAO9J,EAAO06c,EAAYC,GAChD,OAASJ,EAAWzwc,GAAU6wc,EAAW36c,GAAU06c,EAAY16c,IAEhEkjH,EAAS,GACTo3V,GAAU,EAEX,GAAK5iO,EACJ,IAAMwiO,EAAU,EAAGA,EAAUl1U,EAAO5nI,OAAQ88c,IAC3C,GAAKI,EAC8B,MAA7Bt1U,EAAO57G,OAAQ8wb,IAAsBK,EAAW,KAGpDr3V,GAAU8hB,EAAO57G,OAAQ8wb,GAFzBI,GAAU,OAKX,OAASt1U,EAAO57G,OAAQ8wb,IACvB,IAAK,IACJh3V,GAAU04V,EAAc,IAAKlkO,EAAK/gD,UAAW,GAC7C,MACD,IAAK,IACJzzE,GAAU24V,EAAY,IAAKnkO,EAAKM,SAAUm3N,EAAeD,GACzD,MACD,IAAK,IACJhsV,GAAU04V,EAAc,IACvBn0c,KAAKi9G,OAAS,IAAI7sF,KAAM6/M,EAAKjhD,cAAeihD,EAAKhhD,WAAYghD,EAAK/gD,WAAYz1D,UAAY,IAAIrpG,KAAM6/M,EAAKjhD,cAAe,EAAG,GAAIv1D,WAAc,OAAY,GAC1J,MACD,IAAK,IACJhe,GAAU04V,EAAc,IAAKlkO,EAAKhhD,WAAa,EAAG,GAClD,MACD,IAAK,IACJxzE,GAAU24V,EAAY,IAAKnkO,EAAKhhD,WAAYu4Q,EAAiBD,GAC7D,MACD,IAAK,IACJ9rV,GAAYq3V,EAAW,KAAQ7iO,EAAKjhD,eACjCihD,EAAKjhD,cAAgB,IAAM,GAAK,IAAM,IAAOihD,EAAKjhD,cAAgB,IACrE,MACD,IAAK,IACJvzE,GAAUw0H,EAAKx2G,UACf,MACD,IAAK,IACJhe,GAA2B,IAAjBw0H,EAAKx2G,UAAoB5gI,KAAKu6c,aACxC,MACD,IAAK,IACCN,EAAW,KACfr3V,GAAU,IAEVo3V,GAAU,EAEX,MACD,QACCp3V,GAAU8hB,EAAO57G,OAAQ8wb,GAK9B,OAAOh3V,GAIR60V,eAAgB,SAAU/yU,GACzB,IAAIk1U,EACH32a,EAAQ,GACR+2a,GAAU,EAGVC,EAAY,SAAUzwc,GACrB,IAAI5F,EAAYg2c,EAAU,EAAIl1U,EAAO5nI,QAAU4nI,EAAO57G,OAAQ8wb,EAAU,KAAQpwc,EAIhF,OAHK5F,GACJg2c,IAEMh2c,GAGT,IAAMg2c,EAAU,EAAGA,EAAUl1U,EAAO5nI,OAAQ88c,IAC3C,GAAKI,EAC8B,MAA7Bt1U,EAAO57G,OAAQ8wb,IAAsBK,EAAW,KAGpDh3a,GAASyhG,EAAO57G,OAAQ8wb,GAFxBI,GAAU,OAKX,OAASt1U,EAAO57G,OAAQ8wb,IACvB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAClC32a,GAAS,aACT,MACD,IAAK,IAAK,IAAK,IACd,OAAO,KACR,IAAK,IACCg3a,EAAW,KACfh3a,GAAS,IAET+2a,GAAU,EAEX,MACD,QACC/2a,GAASyhG,EAAO57G,OAAQ8wb,GAI5B,OAAO32a,GAIRklF,KAAM,SAAU2xU,EAAM13b,GACrB,YAAiCw9B,IAA1Bk6Z,EAAKnxb,SAAUvG,GACrB03b,EAAKnxb,SAAUvG,GAASpC,KAAKovc,UAAWhtc,IAI1C60c,kBAAmB,SAAUnd,EAAMkd,GAClC,GAAKld,EAAKr3U,MAAM/+F,QAAUo2a,EAAK4d,QAA/B,CAIA,IAAI1I,EAAahvc,KAAKmoH,KAAM2xU,EAAM,cACjC0hB,EAAQ1hB,EAAK4d,QAAU5d,EAAKr3U,MAAQq3U,EAAKr3U,MAAM/+F,MAAQ,KACvD8rb,EAAcxvc,KAAK41c,gBAAiB9b,GACpC1iN,EAAOo4N,EACP7mc,EAAW3I,KAAK23c,iBAAkB7d,GAEnC,IACC1iN,EAAOp3O,KAAKisP,UAAW+iN,EAAYwM,EAAO7yc,IAAc6mc,EACvD,MAAQlqb,OACTk2b,EAAUxE,EAAY,GAAKwE,EAE5B1hB,EAAK2a,YAAcr9N,EAAK/gD,UACxByjQ,EAAK8a,UAAY9a,EAAK4a,cAAgBt9N,EAAKhhD,WAC3C0jQ,EAAK+a,SAAW/a,EAAK6a,aAAev9N,EAAKjhD,cACzC2jQ,EAAKqf,WAAeqC,EAAQpkO,EAAK/gD,UAAY,EAC7CyjQ,EAAKsf,aAAiBoC,EAAQpkO,EAAKhhD,WAAa,EAChD0jQ,EAAKuf,YAAgBmC,EAAQpkO,EAAKjhD,cAAgB,EAClDn2L,KAAKk5c,gBAAiBpf,KAIvB8b,gBAAiB,SAAU9b,GAC1B,OAAO95b,KAAKy7c,gBAAiB3hB,EAC5B95b,KAAK07c,eAAgB5hB,EAAM95b,KAAKmoH,KAAM2xU,EAAM,eAAiB,IAAIvia,QAInEmkb,eAAgB,SAAU5hB,EAAM1iN,EAAMo4N,GACrC,IA0CCjzE,EAAoB,MAARnlJ,GAAyB,KAATA,EAAco4N,EAAgC,kBAATp4N,EArClD,SAAUniO,GACxB,IACC,OAAO5Q,EAAEmtc,WAAWvlN,UAAW5nP,EAAEmtc,WAAWrpV,KAAM2xU,EAAM,cACvD7kb,EAAQ5Q,EAAEmtc,WAAWmG,iBAAkB7d,IAEzC,MAAQ/4b,IAaR,IARA,IAAIq2O,GAASniO,EAAO4D,cAAcrP,MAAO,MACxCnF,EAAEmtc,WAAW0F,SAAUpd,GAAS,OAAU,IAAIvia,KAC9Cy5Q,EAAO55D,EAAKjhD,cACZ46G,EAAQ35D,EAAKhhD,WACb06G,EAAM15D,EAAK/gD,UACX57K,EAAU,uCACV7W,EAAU6W,EAAQ2X,KAAMnd,GAEjBrR,GAAU,CACjB,OAASA,EAAS,IAAO,KACxB,IAAK,IAAM,IAAK,IACfktS,GAAO5yR,SAAUta,EAAS,GAAK,IAAM,MACtC,IAAK,IAAM,IAAK,IACfktS,GAAsC,EAA/B5yR,SAAUta,EAAS,GAAK,IAAU,MAC1C,IAAK,IAAM,IAAK,IACfmtS,GAAS7yR,SAAUta,EAAS,GAAK,IACjCktS,EAAM3pS,KAAK6K,IAAK8+R,EAAKzsS,EAAEmtc,WAAWgJ,gBAAiBxpK,EAAMD,IACzD,MACD,IAAK,IAAK,IAAK,IACdC,GAAQ9yR,SAAUta,EAAS,GAAK,IAChCktS,EAAM3pS,KAAK6K,IAAK8+R,EAAKzsS,EAAEmtc,WAAWgJ,gBAAiBxpK,EAAMD,IAG3DntS,EAAU6W,EAAQ2X,KAAMnd,GAEzB,OAAO,IAAIsiB,KAAMy5Q,EAAMD,EAAOD,GAEsD6qK,CAAcvkO,GAChF,kBAATA,EAAsBppO,MAAOopO,GAASo4N,EA3C7B,SAAUv6b,GAC5B,IAAImiO,EAAO,IAAI7/M,KAEf,OADA6/M,EAAKK,QAASL,EAAK/gD,UAAYphL,GACxBmiO,EAwCsDwkO,CAAexkO,GAAW,IAAI7/M,KAAM6/M,EAAKx2G,WASxG,OAPA27P,EAAYA,GAAkC,iBAAvBA,EAAQnwX,WAAgCojc,EAAcjzE,KAE5EA,EAAQj0I,SAAU,GAClBi0I,EAAQh0I,WAAY,GACpBg0I,EAAQ/zI,WAAY,GACpB+zI,EAAQp0I,gBAAiB,IAEnBnoP,KAAKy6c,sBAAuBl+E,IAUpCk+E,sBAAuB,SAAUrjO,GAChC,OAAMA,GAGNA,EAAKkR,SAAUlR,EAAK9gD,WAAa,GAAK8gD,EAAK9gD,WAAa,EAAI,GACrD8gD,GAHC,MAOTu+N,SAAU,SAAU7b,EAAM1iN,EAAMykO,GAC/B,IAAI7/Z,GAASo7L,EACZ0kO,EAAYhiB,EAAK4a,cACjBqH,EAAWjiB,EAAK6a,aAChBp4E,EAAUv8X,KAAKy7c,gBAAiB3hB,EAAM95b,KAAK07c,eAAgB5hB,EAAM1iN,EAAM,IAAI7/M,OAE5Euia,EAAK2a,YAAc3a,EAAKqf,WAAa58E,EAAQlmM,UAC7CyjQ,EAAK8a,UAAY9a,EAAK4a,cAAgB5a,EAAKsf,aAAe78E,EAAQnmM,WAClE0jQ,EAAK+a,SAAW/a,EAAK6a,aAAe7a,EAAKuf,YAAc98E,EAAQpmM,cACxD2lR,IAAchiB,EAAK4a,eAAiBqH,IAAajiB,EAAK6a,cAAmBkH,GAC/E77c,KAAKs5c,cAAexf,GAErB95b,KAAKk5c,gBAAiBpf,GACjBA,EAAKr3U,OACTq3U,EAAKr3U,MAAM/+F,IAAKs4B,EAAQ,GAAKh8C,KAAKy1c,YAAa3b,KAKjDod,SAAU,SAAUpd,GAIlB,OAHkBA,EAAKuf,aAAiBvf,EAAKr3U,OAA8B,KAArBq3U,EAAKr3U,MAAM/+F,MAAiB,KAClF1jB,KAAKy6c,sBAAuB,IAAIljb,KAChCuia,EAAKuf,YAAavf,EAAKsf,aAActf,EAAKqf,cAO5ChB,gBAAiB,SAAUre,GAC1B,IAAIiX,EAAa/wc,KAAKmoH,KAAM2xU,EAAM,cACjC31a,EAAK,IAAM21a,EAAK31a,GAAG1c,QAAS,QAAS,MACtCqyb,EAAKuX,MAAM/jY,KAAM,kBAAmB7lD,KAAK,WACxC,IAAIg4H,EAAU,CACb9lE,KAAM,WACLt1E,EAAEmtc,WAAW8F,YAAanzb,GAAK4sb,EAAY,MAE5Cxvc,KAAM,WACL8C,EAAEmtc,WAAW8F,YAAanzb,GAAK4sb,EAAY,MAE5Cn/Y,KAAM,WACLvtD,EAAEmtc,WAAW8D,mBAEd0G,MAAO,WACN33c,EAAEmtc,WAAWgG,WAAYrzb,IAE1B83b,UAAW,WAEV,OADA53c,EAAEmtc,WAAW6F,WAAYlzb,GAAKnkB,KAAKgwC,aAAc,eAAiBhwC,KAAKgwC,aAAc,aAAehwC,OAC7F,GAERk8c,YAAa,WAEZ,OADA73c,EAAEmtc,WAAW+H,iBAAkBp1b,EAAInkB,KAAM,MAClC,GAERm8c,WAAY,WAEX,OADA93c,EAAEmtc,WAAW+H,iBAAkBp1b,EAAInkB,KAAM,MAClC,IAGTqE,EAAGrE,MAAOk7C,GAAIl7C,KAAKgwC,aAAc,cAAgByvG,EAASz/I,KAAKgwC,aAAc,sBAK/Ekoa,cAAe,SAAUpe,GACxB,IAAIsiB,EAAS7N,EAAU50X,EAAM60X,EAAUjtc,EAAMktc,EAAa4N,EACzDtqV,EAAUuqV,EAAarN,EAAUmB,EAAUxB,EAAUE,EACrDJ,EAAYC,EAAiB+B,EAAeR,EAC5CC,EAAmBX,EAAa/5Z,EAAM6hM,EAAKr9J,EAAKn+D,EAAOw+D,EAAKiiY,EAC5DC,EAAaC,EAAUnwD,EAAOx7G,EAAK4rK,EAAaC,EAAUC,EAASC,EACnEC,EAAWC,EAAMrwD,EAAOswD,EAAaC,EAAYC,EACjDC,EAAW,IAAI5lb,KACfykb,EAAQh8c,KAAKy6c,sBACZ,IAAIljb,KAAM4lb,EAAShnR,cAAegnR,EAAS/mR,WAAY+mR,EAAS9mR,YACjEh4K,EAAQre,KAAKmoH,KAAM2xU,EAAM,SACzBsX,EAAkBpxc,KAAKmoH,KAAM2xU,EAAM,mBACnC8V,EAAmB5vc,KAAKmoH,KAAM2xU,EAAM,oBACpC+V,EAAyB7vc,KAAKmoH,KAAM2xU,EAAM,0BAC1Cue,EAAYr4c,KAAKs4c,mBAAoBxe,GACrCgX,EAAmB9wc,KAAKmoH,KAAM2xU,EAAM,oBACpCiX,EAAa/wc,KAAKmoH,KAAM2xU,EAAM,cAC9BsjB,EAAoC,IAAnB/E,EAAW,IAAgC,IAAnBA,EAAW,GACpDgF,EAAcr9c,KAAKy6c,sBAA0B3gB,EAAKqf,WACjD,IAAI5hb,KAAMuia,EAAKuf,YAAavf,EAAKsf,aAActf,EAAKqf,YADU,IAAI5hb,KAAM,KAAM,EAAG,IAElFi5a,EAAUxwc,KAAK42c,eAAgB9c,EAAM,OACrC2W,EAAUzwc,KAAK42c,eAAgB9c,EAAM,OACrC8a,EAAY9a,EAAK8a,UAAY9D,EAC7B+D,GAAW/a,EAAK+a,SAMjB,GAJKD,EAAY,IAChBA,GAAa,GACbC,MAEIpE,EAIJ,IAHA2L,EAAUp8c,KAAKy6c,sBAAuB,IAAIljb,KAAMk5a,EAAQt6Q,cACvDs6Q,EAAQr6Q,WAAeiiR,EAAW,GAAMA,EAAW,GAAQ,EAAG5H,EAAQp6Q,YACvE+lR,EAAY5L,GAAW4L,EAAU5L,EAAUA,EAAU4L,EAC7Cp8c,KAAKy6c,sBAAuB,IAAIljb,KAAMs9a,GAAUD,EAAW,IAAQwH,KAC1ExH,EACiB,IAChBA,EAAY,GACZC,MAqDH,IAjDA/a,EAAK8a,UAAYA,EACjB9a,EAAK+a,SAAWA,GAEhBtG,EAAWvuc,KAAKmoH,KAAM2xU,EAAM,YAC5ByU,EAAcsB,EAAoC7vc,KAAKy5c,WAAYlL,EAClEvuc,KAAKy6c,sBAAuB,IAAIljb,KAAMs9a,GAAUD,EAAY7D,EAAY,IACxE/wc,KAAK23c,iBAAkB7d,IAFeyU,EAIvC50X,EAAS35E,KAAKs9c,gBAAiBxjB,GAAO,EAAG+a,GAAUD,GAClD,6FACarG,EAAW,mDAAsDlwb,EAAQ,IAAM,KAAQ,KAAOkwb,EAAW,cACpHqB,EAAmB,GAAK,wEAA0ErB,EAAW,mDAAsDlwb,EAAQ,IAAM,KAAQ,KAAOkwb,EAAW,cAE9MC,EAAWxuc,KAAKmoH,KAAM2xU,EAAM,YAC5B0U,EAAcqB,EAAoC7vc,KAAKy5c,WAAYjL,EAClExuc,KAAKy6c,sBAAuB,IAAIljb,KAAMs9a,GAAUD,EAAY7D,EAAY,IACxE/wc,KAAK23c,iBAAkB7d,IAFe0U,EAIvCjtc,EAASvB,KAAKs9c,gBAAiBxjB,EAAM,EAAI+a,GAAUD,GAClD,6FACapG,EAAW,mDAAsDnwb,EAAQ,IAAM,KAAQ,KAAOmwb,EAAW,cACpHoB,EAAmB,GAAK,wEAA0EpB,EAAW,mDAAsDnwb,EAAQ,IAAM,KAAQ,KAAOmwb,EAAW,cAE9MC,EAAczuc,KAAKmoH,KAAM2xU,EAAM,eAC/BuiB,EAAar8c,KAAKmoH,KAAM2xU,EAAM,gBAAmBA,EAAKqf,WAAakE,EAAcrB,EACjFvN,EAAiBoB,EAChB7vc,KAAKy5c,WAAYhL,EAAa4N,EAAUr8c,KAAK23c,iBAAkB7d,IADtB2U,EAG1C18U,EAAc+nU,EAAK4X,OAC6B,GADpB,+IAC3B1xc,KAAKmoH,KAAM2xU,EAAM,aAAgB,YAElCwiB,EAAgBlL,EAAoB,4DAA+D/yb,EAAQ0zG,EAAW,KACnH/xH,KAAKu9c,WAAYzjB,EAAMuiB,GAAa,oJAChC5N,EAAc,YAAc,KAASpwb,EAAQ,GAAK0zG,GAAa,SAAW,GAEjFk9U,EAAW/wb,SAAUle,KAAKmoH,KAAM2xU,EAAM,YAAc,IACpDmV,EAAajhc,MAAOihc,GAAa,EAAIA,EAErCmB,EAAWpwc,KAAKmoH,KAAM2xU,EAAM,YAC5B8U,EAAW5uc,KAAKmoH,KAAM2xU,EAAM,YAC5BgV,EAAc9uc,KAAKmoH,KAAM2xU,EAAM,eAC/B4U,EAAa1uc,KAAKmoH,KAAM2xU,EAAM,cAC9B6U,EAAkB3uc,KAAKmoH,KAAM2xU,EAAM,mBACnC4W,EAAgB1wc,KAAKmoH,KAAM2xU,EAAM,iBACjCoW,EAAkBlwc,KAAKmoH,KAAM2xU,EAAM,mBACnCqW,EAAoBnwc,KAAKmoH,KAAM2xU,EAAM,qBACrC0V,EAAcxvc,KAAK41c,gBAAiB9b,GACpCrkZ,EAAO,GAEDwkC,EAAM,EAAGA,EAAMo+X,EAAW,GAAKp+X,IAAQ,CAG5C,IAFAn+D,EAAQ,GACR9b,KAAKm0c,QAAU,EACT75X,EAAM,EAAGA,EAAM+9X,EAAW,GAAK/9X,IAAQ,CAI5C,GAHAiiY,EAAev8c,KAAKy6c,sBAAuB,IAAIljb,KAAMs9a,GAAUD,EAAW9a,EAAK2a,cAC/E+H,EAAc,iBACdC,EAAW,GACNW,EAAe,CAEnB,GADAX,GAAY,kCACPpE,EAAW,GAAM,EACrB,OAAS/9X,GACR,KAAK,EAAGmiY,GAAY,6BACnBD,EAAc,eAAkBn+b,EAAQ,QAAU,QAAU,MAC7D,KAAKg6b,EAAW,GAAM,EAAGoE,GAAY,4BACpCD,EAAc,eAAkBn+b,EAAQ,OAAS,SAAW,MAC7D,QAASo+b,GAAY,8BAA+BD,EAAc,GAGpEC,GAAY,KAUb,IARAA,GAAY,uEAAyED,EAAc,MAChG,WAAWj6a,KAAMi6a,IAAyB,IAARviY,EAAc57D,EAAQ9c,EAAOo4E,EAAS,KACxE,YAAYp3C,KAAMi6a,IAAyB,IAARviY,EAAc57D,EAAQs7D,EAAOp4E,EAAS,IAC3EvB,KAAKw9c,yBAA0B1jB,EAAM8a,EAAWC,GAAUrE,EAASC,EACnEx2X,EAAM,GAAKK,EAAM,EAAGo0X,EAAYC,GAJrB,0DAOZriD,EAAU8jD,EAAW,sCAAwCpwc,KAAKmoH,KAAM2xU,EAAM,cAAiB,QAAU,GACnGxiN,EAAM,EAAGA,EAAM,EAAGA,IAEvBg1K,GAAS,oBAAwBh1K,EAAM23N,EAAW,GAAM,GAAK,EAAI,kCAAoC,IAA5F,iBACUL,EAFnB99J,GAAQx5D,EAAM23N,GAAa,GAEU,KAAOH,EAAah+J,GAAQ,eAYlE,IAVA2rK,GAAYnwD,EAAQ,uBACpBowD,EAAc18c,KAAKw6c,gBAAiB3F,GAAUD,GACzCC,KAAa/a,EAAK6a,cAAgBC,IAAc9a,EAAK4a,gBACzD5a,EAAK2a,YAActtc,KAAK6K,IAAK8nb,EAAK2a,YAAaiI,IAEhDC,GAAa38c,KAAKy9c,oBAAqB5I,GAAUD,GAAc3F,EAAW,GAAM,EAChF2N,EAAUz1c,KAAK4W,MAAQ4+b,EAAWD,GAAgB,GAClDG,EAAYO,GAAep9c,KAAKm0c,QAAUyI,EAAU58c,KAAKm0c,QAAoByI,EAC7E58c,KAAKm0c,QAAU0I,EACfC,EAAY98c,KAAKy6c,sBAAuB,IAAIljb,KAAMs9a,GAAUD,EAAW,EAAI+H,IACrEI,EAAO,EAAGA,EAAOF,EAASE,IAAS,CAIxC,IAHAN,GAAY,OACZ/vD,EAAW0jD,EAAgB,sCAC1Bpwc,KAAKmoH,KAAM2xU,EAAM,gBAAjB95b,CAAoC88c,GAAc,QAD7B,GAEhBxlO,EAAM,EAAGA,EAAM,EAAGA,IACvB0lO,EAAgBtM,EACfA,EAActwc,MAAS05b,EAAKr3U,MAAQq3U,EAAKr3U,MAAO,GAAM,KAAQ,CAAEq6V,IAAgB,EAAE,EAAM,IAEzFI,GADAD,EAAeH,EAAU1mR,aAAew+Q,KACRzE,IAAwB6M,EAAa,IAClExM,GAAWsM,EAAYtM,GAAeC,GAAWqM,EAAYrM,EAChE/jD,GAAS,gBACJp1K,EAAM23N,EAAW,GAAM,GAAK,EAAI,0BAA4B,KAC9DgO,EAAa,6BAA+B,KAC1CH,EAAUl8U,YAAc27U,EAAa37U,WAAag0U,IAAc9a,EAAK4a,eAAiB5a,EAAKsR,WAC7FoE,EAAY5uU,YAAck8U,EAAUl8U,WAAa4uU,EAAY5uU,YAAc27U,EAAa37U,UAG1F,IAAM5gI,KAAKouc,cAAgB,KACzB8O,EAAe,IAAMl9c,KAAKkuc,mBAAqB,qBAAuB,KACtE+O,IAAe/M,EAAkB,GAAK,IAAM8M,EAAa,IACzDF,EAAUl8U,YAAcy8U,EAAYz8U,UAAY,IAAM5gI,KAAKmuc,cAAgB,KAC3E2O,EAAUl8U,YAAco7U,EAAMp7U,UAAY,uBAAyB,KAAS,KACzEq8U,IAAc/M,IAAqB8M,EAAa,GAAqE,GAA/D,WAAaA,EAAa,GAAIv1c,QAAS,KAAM,SAAY,MAClHy1c,EAAe,GAAK,4DAA8DJ,EAAU1mR,WAAa,gBAAkB0mR,EAAU3mR,cAAgB,KAAQ,KAC7J8mR,IAAe/M,EAAkB,SACjCgN,EAAe,kCAAoCJ,EAAUzmR,UAAY,UAAY,8BACrFymR,EAAUl8U,YAAco7U,EAAMp7U,UAAY,sBAAwB,KAClEk8U,EAAUl8U,YAAcy8U,EAAYz8U,UAAY,mBAAqB,KACrEq8U,EAAa,yBAA2B,IAC1C,cAAgBH,EAAUzmR,UAAY,QAAa,QACpDymR,EAAUrlO,QAASqlO,EAAUzmR,UAAY,GACzCymR,EAAY98c,KAAKy6c,sBAAuBqC,GAEzCL,GAAY/vD,EAAQ,UAErBkoD,EACiB,KAChBA,EAAY,EACZC,MAID/4b,GAFA2gc,GAAY,oBAAuBW,EAAe,UAC3C/E,EAAW,GAAM,GAAK/9X,IAAQ+9X,EAAW,GAAM,EAAM,8CAAgD,IAAO,IAGpH5ia,GAAQ35B,EAIT,OAFA25B,GAAQ6ma,EACRxiB,EAAKsR,WAAY,EACV31Z,GAIR+na,yBAA0B,SAAU1jB,EAAM8a,EAAWC,EAAUrE,EAASC,EACtEsD,EAAWrF,EAAYC,GAExB,IAAI+O,EAAWC,EAAW5sK,EAAO6sK,EAAOC,EAAUC,EAAe9sK,EAAM+sK,EACtEhO,EAAc/vc,KAAKmoH,KAAM2xU,EAAM,eAC/BkW,EAAahwc,KAAKmoH,KAAM2xU,EAAM,cAC9BoV,EAAqBlvc,KAAKmoH,KAAM2xU,EAAM,sBACtCrkZ,EAAO,oCACPuoa,EAAY,GAGb,GAAKjK,IAAchE,EAClBiO,GAAa,qCAAuCtP,EAAYkG,GAAc,cACxE,CAIN,IAHA8I,EAAclN,GAAWA,EAAQr6Q,gBAAkB0+Q,EACnD8I,EAAclN,GAAWA,EAAQt6Q,gBAAkB0+Q,EACnDmJ,GAAa,sFACPjtK,EAAQ,EAAGA,EAAQ,GAAIA,MACpB2sK,GAAa3sK,GAASy/J,EAAQp6Q,eAAmBunR,GAAa5sK,GAAS0/J,EAAQr6Q,cACtF4nR,GAAa,kBAAoBjtK,EAAQ,KACtCA,IAAU6jK,EAAY,uBAAyB,IACjD,IAAMjG,EAAiB59J,GAAU,aAGpCitK,GAAa,YAQd,GALM9O,IACLz5Z,GAAQuoa,IAAcjK,GAAgBhE,GAAeC,EAA0B,GAAX,YAI/DlW,EAAK0e,UAEV,GADA1e,EAAK0e,UAAY,GACZzE,IAAc/D,EAClBv6Z,GAAQ,oCAAsCo/Z,EAAW,cACnD,CAgBN,IAbA+I,EAAQ59c,KAAKmoH,KAAM2xU,EAAM,aAAcvtb,MAAO,KAC9Csxc,GAAW,IAAItmb,MAAO4+J,cAOtB66G,GANA8sK,EAAgB,SAAUp+c,GACzB,IAAIsxS,EAAStxS,EAAM8J,MAAO,YAAeqrc,EAAW32b,SAAUxe,EAAM2xC,UAAW,GAAK,IACjF3xC,EAAM8J,MAAO,WAAcq0c,EAAW3/b,SAAUxe,EAAO,IACzDwe,SAAUxe,EAAO,IAClB,OAASsO,MAAOgjS,GAAS6sK,EAAW7sK,IAEf4sK,EAAO,IAC7BG,EAAU52c,KAAK+K,IAAK8+R,EAAM8sK,EAAeF,EAAO,IAAO,KACvD5sK,EAASw/J,EAAUrpc,KAAK+K,IAAK8+R,EAAMw/J,EAAQr6Q,eAAkB66G,EAC7D+sK,EAAYtN,EAAUtpc,KAAK6K,IAAK+rc,EAAStN,EAAQt6Q,eAAkB4nR,EACnEjkB,EAAK0e,WAAa,oFACVxnK,GAAQ+sK,EAAS/sK,IACxB8oJ,EAAK0e,WAAa,kBAAoBxnK,EAAO,KAC1CA,IAAS6jK,EAAW,uBAAyB,IAC/C,IAAM7jK,EAAO,YAEf8oJ,EAAK0e,WAAa,YAElB/ia,GAAQqkZ,EAAK0e,UACb1e,EAAK0e,UAAY,KASnB,OALA/ia,GAAQz1C,KAAKmoH,KAAM2xU,EAAM,cACpBoV,IACJz5Z,KAAUs+Z,GAAgBhE,GAAeC,EAA0B,GAAX,UAAkBgO,GAE3Evoa,GAAQ,UAKTyja,gBAAiB,SAAUpf,EAAM7kb,EAAQmlO,GACxC,IAAI42D,EAAO8oJ,EAAK6a,cAA4B,MAAXv6N,EAAiBnlO,EAAS,GAC1D87R,EAAQ+oJ,EAAK4a,eAA6B,MAAXt6N,EAAiBnlO,EAAS,GACzD67R,EAAM3pS,KAAK6K,IAAK8nb,EAAK2a,YAAaz0c,KAAKw6c,gBAAiBxpK,EAAMD,KAAyB,MAAX32D,EAAiBnlO,EAAS,GACtGmiO,EAAOp3O,KAAKy7c,gBAAiB3hB,EAAM95b,KAAKy6c,sBAAuB,IAAIljb,KAAMy5Q,EAAMD,EAAOD,KAEvFgpJ,EAAK2a,YAAcr9N,EAAK/gD,UACxByjQ,EAAK8a,UAAY9a,EAAK4a,cAAgBt9N,EAAKhhD,WAC3C0jQ,EAAK+a,SAAW/a,EAAK6a,aAAev9N,EAAKjhD,cACzB,MAAXikD,GAA6B,MAAXA,GACtBp6O,KAAKs5c,cAAexf,IAKtB2hB,gBAAiB,SAAU3hB,EAAM1iN,GAChC,IAAIo5N,EAAUxwc,KAAK42c,eAAgB9c,EAAM,OACxC2W,EAAUzwc,KAAK42c,eAAgB9c,EAAM,OACrCv9D,EAAYi0E,GAAWp5N,EAAOo5N,EAAUA,EAAUp5N,EACnD,OAASq5N,GAAWl0E,EAAUk0E,EAAUA,EAAUl0E,GAInD+8E,cAAe,SAAUxf,GACxB,IAAI1tU,EAAWpsH,KAAKmoH,KAAM2xU,EAAM,qBAC3B1tU,GACJA,EAAShsH,MAAS05b,EAAKr3U,MAAQq3U,EAAKr3U,MAAO,GAAM,KAChD,CAAEq3U,EAAK6a,aAAc7a,EAAK4a,cAAgB,EAAG5a,KAKhDwe,mBAAoB,SAAUxe,GAC7B,IAAIue,EAAYr4c,KAAKmoH,KAAM2xU,EAAM,kBACjC,OAAsB,MAAbue,EAAoB,CAAE,EAAG,GAA6B,kBAAdA,EAAyB,CAAE,EAAGA,GAAcA,GAI9FzB,eAAgB,SAAU9c,EAAMmkB,GAC/B,OAAOj+c,KAAK07c,eAAgB5hB,EAAM95b,KAAKmoH,KAAM2xU,EAAMmkB,EAAS,QAAU,OAIvEzD,gBAAiB,SAAUxpK,EAAMD,GAChC,OAAO,GAAK/wS,KAAKy6c,sBAAuB,IAAIljb,KAAMy5Q,EAAMD,EAAO,KAAO16G,WAIvEonR,oBAAqB,SAAUzsK,EAAMD,GACpC,OAAO,IAAIx5Q,KAAMy5Q,EAAMD,EAAO,GAAIr5D,UAInC4lO,gBAAiB,SAAUxjB,EAAM7kb,EAAQipc,EAASC,GACjD,IAAI9F,EAAYr4c,KAAKs4c,mBAAoBxe,GACxC1iN,EAAOp3O,KAAKy6c,sBAAuB,IAAIljb,KAAM2mb,EAC7CC,GAAalpc,EAAS,EAAIA,EAASojc,EAAW,GAAMA,EAAW,IAAO,IAKvE,OAHKpjc,EAAS,GACbmiO,EAAKK,QAASz3O,KAAKw6c,gBAAiBpjO,EAAKjhD,cAAeihD,EAAKhhD,aAEvDp2L,KAAKu9c,WAAYzjB,EAAM1iN,IAI/BmmO,WAAY,SAAUzjB,EAAM1iN,GAC3B,IAAIgnO,EAAW/E,EACd7I,EAAUxwc,KAAK42c,eAAgB9c,EAAM,OACrC2W,EAAUzwc,KAAK42c,eAAgB9c,EAAM,OACrCukB,EAAU,KACVC,EAAU,KACVV,EAAQ59c,KAAKmoH,KAAM2xU,EAAM,aAc1B,OAbM8jB,IACJQ,EAAYR,EAAMrxc,MAAO,KACzB8sc,GAAc,IAAI9hb,MAAO4+J,cACzBkoR,EAAUngc,SAAUkgc,EAAW,GAAK,IACpCE,EAAUpgc,SAAUkgc,EAAW,GAAK,IAC/BA,EAAW,GAAI50c,MAAO,aAC1B60c,GAAWhF,GAEP+E,EAAW,GAAI50c,MAAO,aAC1B80c,GAAWjF,MAIF7I,GAAWp5N,EAAKx2G,WAAa4vU,EAAQ5vU,cAC7C6vU,GAAWr5N,EAAKx2G,WAAa6vU,EAAQ7vU,cACrCy9U,GAAWjnO,EAAKjhD,eAAiBkoR,MACjCC,GAAWlnO,EAAKjhD,eAAiBmoR,IAItC3G,iBAAkB,SAAU7d,GAC3B,IAAIyW,EAAkBvwc,KAAKmoH,KAAM2xU,EAAM,mBAGvC,MAAO,CAAEyW,gBAFTA,EAA+C,kBAApBA,EAA+BA,GACzD,IAAIh5a,MAAO4+J,cAAgB,IAAMj4K,SAAUqyb,EAAiB,IAE5D1B,cAAe7uc,KAAKmoH,KAAM2xU,EAAM,iBAAmB8U,SAAU5uc,KAAKmoH,KAAM2xU,EAAM,YAC9E6U,gBAAiB3uc,KAAKmoH,KAAM2xU,EAAM,mBAAqB4U,WAAY1uc,KAAKmoH,KAAM2xU,EAAM,gBAItF2b,YAAa,SAAU3b,EAAMhpJ,EAAKC,EAAOC,GAClCF,IACLgpJ,EAAKqf,WAAarf,EAAK2a,YACvB3a,EAAKsf,aAAetf,EAAK4a,cACzB5a,EAAKuf,YAAcvf,EAAK6a,cAEzB,IAAIv9N,EAAS05D,EAAuB,kBAARA,EAAmBA,EAC9C9wS,KAAKy6c,sBAAuB,IAAIljb,KAAMy5Q,EAAMD,EAAOD,IACnD9wS,KAAKy6c,sBAAuB,IAAIljb,KAAMuia,EAAKuf,YAAavf,EAAKsf,aAActf,EAAKqf,aACjF,OAAOn5c,KAAKy5c,WAAYz5c,KAAKmoH,KAAM2xU,EAAM,cAAgB1iN,EAAMp3O,KAAK23c,iBAAkB7d,OAmDxFz1b,EAAEi5B,GAAGk0a,WAAa,SAAUjza,GAG3B,IAAMv+B,KAAKlD,OACV,OAAOkD,KAIFqE,EAAEmtc,WAAW9vX,cAClBr9E,EAAGf,UAAW43C,GAAI,YAAa72C,EAAEmtc,WAAWyH,qBAC5C50c,EAAEmtc,WAAW9vX,aAAc,GAIuB,IAA9Cr9E,EAAG,IAAMA,EAAEmtc,WAAW5D,YAAa9wc,QACvCuH,EAAG,QAASmpE,OAAQnpE,EAAEmtc,WAAWH,OAGlC,IAAI77D,EAAY/0Y,MAAMhD,UAAUu0C,MAAMhwC,KAAM7B,UAAW,GACvD,MAAwB,kBAAZo+B,GAAsC,eAAZA,GAAwC,YAAZA,GAAqC,WAAZA,EAI1E,WAAZA,GAA6C,IAArBp+B,UAAUrD,QAA0C,kBAAnBqD,UAAW,GACjEkE,EAAEmtc,WAAY,IAAMjza,EAAU,cACpCn+B,MAAOiE,EAAEmtc,WAAY,CAAExxc,KAAM,IAAMwoB,OAAQgtX,IAEtCx1Y,KAAK6zB,MAAM,WACE,kBAAZ0K,EACNl6B,EAAEmtc,WAAY,IAAMjza,EAAU,cAC7Bn+B,MAAOiE,EAAEmtc,WAAY,CAAExxc,MAAOwoB,OAAQgtX,IACvCnxY,EAAEmtc,WAAW6C,kBAAmBr0c,KAAMu+B,MAXhCl6B,EAAEmtc,WAAY,IAAMjza,EAAU,cACpCn+B,MAAOiE,EAAEmtc,WAAY,CAAExxc,KAAM,IAAMwoB,OAAQgtX,KAc9CnxY,EAAEmtc,WAAa,IAAIjE,EACnBlpc,EAAEmtc,WAAW9vX,aAAc,EAC3Br9E,EAAEmtc,WAAW3kB,MAAO,IAAIt1Z,MAAOqpG,UAC/Bv8H,EAAEmtc,WAAW5ia,QAAU,SAECvqC,EAAEmtc,WAuB1Bntc,EAAE88E,OAAQ,YAAa,CACtBvyC,QAAS,SACTrQ,QAAS,CACR2Y,SAAU,OACVqna,UAAU,EACVtuD,QAAS,GACTvyQ,QAAS,CACR,YAAa,gBACb,qBAAsB,iBAEvB8gU,eAAe,EACflQ,UAAW,QACXn4Z,WAAW,EACXyb,KAAM,KACN/qD,OAAQ,OACR44E,UAAW,KACXD,SAAU,KACV5yB,UAAW,IACXF,SAAU,IACV+xZ,OAAO,EACP97a,SAAU,CACT0/C,GAAI,SACJC,GAAI,SACJC,GAAI7gF,OACJ8gF,UAAW,MAGXiiI,MAAO,SAAUtxK,GAChB,IAAIura,EAAYr6c,EAAGrE,MAAOshB,IAAK6xB,GAAMl+B,SAAS8hC,IACzC2na,EAAY,GAChBr6c,EAAGrE,MAAOshB,IAAK,MAAO6xB,EAAI4D,IAAM2na,KAInC/hB,WAAW,EACX5qY,KAAM,KACNvtC,MAAO,KACP5d,MAAO,IAGP+3c,YAAa,KACb73Q,MAAO,KACP1vJ,KAAM,KACNqgZ,UAAW,KACXO,SAAU,KACV5xW,MAAO,KACPp+E,KAAM,KACN+gE,OAAQ,KACR61Y,YAAa,KACbC,WAAY,MAGbC,mBAAoB,CACnB7uD,SAAS,EACTppZ,QAAQ,EACR44E,WAAW,EACXD,UAAU,EACV5yB,WAAW,EACXF,UAAU,EACV9lD,OAAO,GAGRm4c,wBAAyB,CACxBt/X,WAAW,EACXD,UAAU,EACV5yB,WAAW,EACXF,UAAU,GAGX2gY,QAAS,WACRrtb,KAAKg/c,YAAc,CAClB56b,QAASpkB,KAAK0a,QAAS,GAAIhI,MAAM0R,QACjCxd,MAAO5G,KAAK0a,QAAS,GAAIhI,MAAM9L,MAC/BgmD,UAAW5sD,KAAK0a,QAAS,GAAIhI,MAAMk6C,UACnC6yB,UAAWz/E,KAAK0a,QAAS,GAAIhI,MAAM+sE,UACnC54E,OAAQ7G,KAAK0a,QAAS,GAAIhI,MAAM7L,QAEjC7G,KAAKg3b,iBAAmB,CACvBpkb,OAAQ5S,KAAK0a,QAAQ9H,SACrBuuB,MAAOnhC,KAAK0a,QAAQ9H,SAASJ,WAAW2uB,MAAOnhC,KAAK0a,UAErD1a,KAAKi/c,cAAgBj/c,KAAK0a,QAAQwqB,KAAM,SACb,MAAtBllC,KAAKu+B,QAAQ/Z,OAAuC,MAAtBxkB,KAAKi/c,gBACvCj/c,KAAKu+B,QAAQ/Z,MAAQxkB,KAAKi/c,eAItBj/c,KAAKu+B,QAAQqqD,WACjB5oF,KAAKu+B,QAAQqqD,UAAW,GAGzB5oF,KAAKk/c,iBAELl/c,KAAK0a,QACHq3C,OACAuuB,WAAY,SACZppC,SAAUl3C,KAAKm/c,UAEjBn/c,KAAK8pL,UAAW,oBAAqB,qBAErC9pL,KAAKo/c,kBACLp/c,KAAKq/c,oBAEAr/c,KAAKu+B,QAAQ4X,WAAa9xC,EAAEi5B,GAAG6Y,WACnCn2C,KAAKs/c,iBAEDt/c,KAAKu+B,QAAQo+Z,WAAat4b,EAAEi5B,GAAGq/Z,WACnC38b,KAAKu/c,iBAGNv/c,KAAKw/c,SAAU,EAEfx/c,KAAKy/c,eAGN9yB,MAAO,WACD3sb,KAAKu+B,QAAQggb,UACjBv+c,KAAKgI,QAIP4jc,UAAW,WACV,IAAIlxb,EAAU1a,KAAKu+B,QAAQ2Y,SAC3B,OAAKx8B,IAAaA,EAAQ+gY,QAAU/gY,EAAQ7G,UACpCxP,EAAGqW,GAEJ1a,KAAKsD,SAASgqE,KAAM5yD,GAAW,QAAS2nI,GAAI,IAGpDorS,SAAU,WACT,IAAIlsb,EACHy1b,EAAmBh3b,KAAKg3b,iBAEzBh3b,KAAK0/c,mBACL1/c,KAAK2/c,kBAEL3/c,KAAK0a,QACH44a,iBACAhya,IAAKthB,KAAKg/c,aAGVjtD,SAEF/xZ,KAAKm/c,SAASl/a,SAETjgC,KAAKi/c,eACTj/c,KAAK0a,QAAQwqB,KAAM,QAASllC,KAAKi/c,gBAGlC19c,EAAOy1b,EAAiBpkb,OAAOJ,WAAW6vI,GAAI20S,EAAiB71Z,QAGrDrkC,QAAUyE,EAAM,KAAQvB,KAAK0a,QAAS,GAC/CnZ,EAAKg+B,OAAQv/B,KAAK0a,SAElBs8a,EAAiBpkb,OAAO46D,OAAQxtE,KAAK0a,UAIvCymE,OAAQ,WACP,OAAOnhF,KAAKm/c,UAGbx3D,QAAStjZ,EAAE2+E,KACXkrW,OAAQ7pb,EAAE2+E,KAEV8jH,MAAO,SAAUxhL,GAChB,IAAIhZ,EAAOtM,KAELA,KAAKw/c,UAAqD,IAA1Cx/c,KAAKutb,SAAU,cAAejoa,KAIpDtlB,KAAKw/c,SAAU,EACfx/c,KAAK4/c,gBAAkB,KACvB5/c,KAAK2/c,kBACL3/c,KAAK0/c,mBAEC1/c,KAAKqyZ,OAAOp/Y,OAAQ,cAAe+uE,QAAS,SAAUllF,QAK3DuH,EAAE4xC,GAAGg/Y,SAAU5wb,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,KAGvDtD,KAAK6/c,MAAO7/c,KAAKm/c,SAAUn/c,KAAKu+B,QAAQqzB,MAAM,WAC7CtlD,EAAKihb,SAAU,QAASjoa,QAI1Bw6b,OAAQ,WACP,OAAO9/c,KAAKw/c,SAGbO,UAAW,WACV//c,KAAKggd,cAGNA,WAAY,SAAU16b,EAAOgxS,GAC5B,IAAI1sQ,GAAQ,EACXq2Z,EAAWjgd,KAAKm/c,SAAS93X,SAAU,qBAAsB5/D,KAAK,WAC7D,OAAQpjB,EAAGrE,MAAOshB,IAAK,cACpBhf,MACJ49c,EAAY/4c,KAAK+K,IAAI9R,MAAO,KAAM6/c,GAUnC,OARKC,IAAclgd,KAAKm/c,SAAS79b,IAAK,aACrCthB,KAAKm/c,SAAS79b,IAAK,UAAW4+b,EAAY,GAC1Ct2Z,GAAQ,GAGJA,IAAU0sQ,GACdt2T,KAAKutb,SAAU,QAASjoa,GAElBskC,GAGR5hD,KAAM,WACL,IAAIsE,EAAOtM,KACNA,KAAKw/c,QACJx/c,KAAKggd,cACThgd,KAAKmgd,kBAKPngd,KAAKw/c,SAAU,EACfx/c,KAAKqyZ,OAAShuZ,EAAGA,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,KAExDtD,KAAKogd,QACLpgd,KAAKuvb,YACLvvb,KAAKqgd,iBACLrgd,KAAKggd,WAAY,MAAM,GAKlBhgd,KAAKivH,SACTjvH,KAAKivH,QAAQ3tG,IAAK,UAAWthB,KAAKm/c,SAAS79b,IAAK,WAAc,GAG/DthB,KAAKsgd,MAAOtgd,KAAKm/c,SAAUn/c,KAAKu+B,QAAQwzB,MAAM,WAC7CzlD,EAAK6zc,iBACL7zc,EAAKihb,SAAU,YAMhBvtb,KAAKugd,mBAELvgd,KAAKutb,SAAU,UAGhB4yB,eAAgB,WASf,IAAIr9D,EAAW9iZ,KAAK4/c,gBACd98D,IACLA,EAAW9iZ,KAAK0a,QAAQ4yD,KAAM,gBAEzBw1U,EAAShmZ,SACdgmZ,EAAW9iZ,KAAK0a,QAAQ4yD,KAAM,cAEzBw1U,EAAShmZ,SACdgmZ,EAAW9iZ,KAAKwgd,mBAAmBlzY,KAAM,cAEpCw1U,EAAShmZ,SACdgmZ,EAAW9iZ,KAAKygd,sBAAsBxtc,OAAQ,cAEzC6vY,EAAShmZ,SACdgmZ,EAAW9iZ,KAAKm/c,UAEjBr8D,EAASzgQ,GAAI,GAAIrgE,QAAS,UAG3B0+X,WAAY,SAAUp7b,GACrB,SAASq7b,IACR,IAAI99D,EAAgBx+Y,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,IAC/CtD,KAAKm/c,SAAU,KAAQt8D,GACjCx+Y,EAAE87C,SAAUngD,KAAKm/c,SAAU,GAAKt8D,IAEjC7iZ,KAAKmgd,iBAGP76b,EAAMw1B,iBACN6la,EAAW3+c,KAAMhC,MAKjBA,KAAKy1B,OAAQkrb,IAGdzB,eAAgB,WACfl/c,KAAKm/c,SAAW96c,EAAG,SACjButD,OACA1sB,KAAM,CAGNkpF,UAAW,EACXsxD,KAAM,WAENxoI,SAAUl3C,KAAK4rc,aAEjB5rc,KAAK8pL,UAAW9pL,KAAKm/c,SAAU,YAAa,wCAC5Cn/c,KAAKmtb,IAAKntb,KAAKm/c,SAAU,CACxB5X,QAAS,SAAUjib,GAClB,GAAKtlB,KAAKu+B,QAAQigb,gBAAkBl5b,EAAMoqY,sBAAwBpqY,EAAMs2B,SACtEt2B,EAAMs2B,UAAYv3C,EAAE4xC,GAAG2F,QAAQ82Y,OAGhC,OAFApta,EAAMw1B,sBACN96C,KAAK8mM,MAAOxhL,GAKb,GAAKA,EAAMs2B,UAAYv3C,EAAE4xC,GAAG2F,QAAQm3Y,MAAOzta,EAAMoqY,qBAAjD,CAGA,IAAIkxD,EAAY5gd,KAAKm/c,SAAS7xY,KAAM,aACnCzkB,EAAQ+3Z,EAAU3tc,OAAQ,UAC1Bk2C,EAAOy3Z,EAAU3tc,OAAQ,SAEnBqS,EAAM3oB,SAAWwsD,EAAM,IAAO7jC,EAAM3oB,SAAWqD,KAAKm/c,SAAU,IAClE75b,EAAM0xB,SAKK1xB,EAAM3oB,SAAWksD,EAAO,IACpCvjC,EAAM3oB,SAAWqD,KAAKm/c,SAAU,KAAS75b,EAAM0xB,WAChDh3C,KAAKy1B,QAAQ,WACZ0zB,EAAK64B,QAAS,YAEf18D,EAAMw1B,mBATN96C,KAAKy1B,QAAQ,WACZozB,EAAMm5B,QAAS,YAEhB18D,EAAMw1B,oBASRmpC,UAAW,SAAU3+D,GACftlB,KAAKggd,WAAY16b,IACrBtlB,KAAKmgd,oBAQFngd,KAAK0a,QAAQ4yD,KAAM,sBAAuBxwE,QAC/CkD,KAAKm/c,SAASj6a,KAAM,CACnB,mBAAoBllC,KAAK0a,QAAQzU,WAAWi/B,KAAM,SAKrDk6a,gBAAiB,WAChB,IAAIyB,EAEJ7gd,KAAK8gd,iBAAmBz8c,EAAG,SAC3BrE,KAAK8pL,UAAW9pL,KAAK8gd,iBACpB,qBAAsB,uCACvB9gd,KAAKmtb,IAAKntb,KAAK8gd,iBAAkB,CAChC78X,UAAW,SAAU3+D,GAKdjhB,EAAGihB,EAAM3oB,QAAS6nF,QAAS,8BAGhCxkF,KAAKm/c,SAASn9X,QAAS,YAQ1BhiF,KAAKygd,sBAAwBp8c,EAAG,mCAC9B6/E,OAAQ,CACRnlB,MAAO16D,EAAG,OAAQ4P,KAAMjU,KAAKu+B,QAAQ+va,WAAY74Z,OACjD+yC,KAAM,qBACN+qX,WAAW,IAEXr8Z,SAAUl3C,KAAK8gd,kBAEjB9gd,KAAK8pL,UAAW9pL,KAAKygd,sBAAuB,4BAC5Czgd,KAAKmtb,IAAKntb,KAAKygd,sBAAuB,CACrC18X,MAAO,SAAUz+D,GAChBA,EAAMw1B,iBACN96C,KAAK8mM,MAAOxhL,MAIdu7b,EAAgBx8c,EAAG,UAAW4B,WAAWqiF,UAAWtoF,KAAK8gd,kBACzD9gd,KAAK8pL,UAAW+2R,EAAe,mBAC/B7gd,KAAK+gd,OAAQF,GAEb7gd,KAAK8gd,iBAAiBx4X,UAAWtoF,KAAKm/c,UAEtCn/c,KAAKm/c,SAASj6a,KAAM,CACnB,kBAAmB27a,EAAc37a,KAAM,SAIzC67a,OAAQ,SAAUv8b,GACZxkB,KAAKu+B,QAAQ/Z,MACjBA,EAAMvQ,KAAMjU,KAAKu+B,QAAQ/Z,OAEzBA,EAAMixB,KAAM,WAId4pa,kBAAmB,WAClBr/c,KAAKwgd,mBAAqBn8c,EAAG,SAC7BrE,KAAK8pL,UAAW9pL,KAAKwgd,mBAAoB,uBACxC,wCAEDxgd,KAAKghd,YAAc38c,EAAG,SACpB6yC,SAAUl3C,KAAKwgd,oBACjBxgd,KAAK8pL,UAAW9pL,KAAKghd,YAAa,uBAElChhd,KAAKihd,kBAGNA,eAAgB,WACf,IAAI30c,EAAOtM,KACViwZ,EAAUjwZ,KAAKu+B,QAAQ0xX,QAGxBjwZ,KAAKwgd,mBAAmBvgb,SACxBjgC,KAAKghd,YAAY5uT,QAEZ/tJ,EAAEu/E,cAAeqsU,IAAe5rZ,EAAE3D,QAASuvZ,KAAcA,EAAQnzZ,OACrEkD,KAAK0tb,aAAc1tb,KAAKm/c,SAAU,sBAInC96c,EAAEwvB,KAAMo8X,GAAS,SAAU7tZ,EAAMxF,GAChC,IAAImnF,EAAOm9X,EACXtkd,EAAQyH,EAAE0iF,WAAYnqF,GACrB,CAAEmnF,MAAOnnF,EAAOqX,KAAM7R,GACtBxF,EAGDA,EAAQyH,EAAE+wC,OAAQ,CAAEnkC,KAAM,UAAYrU,GAGtCmnF,EAAQnnF,EAAMmnF,MACdm9X,EAAgB,CACf14X,KAAM5rF,EAAM4rF,KACZ8qX,aAAc12c,EAAM02c,aACpBC,UAAW32c,EAAM22c,UAGjBrN,MAAOtpc,EAAMspc,MACbjyb,KAAMrX,EAAMqX,aAGNrX,EAAMmnF,aACNnnF,EAAM4rF,YACN5rF,EAAM02c,oBACN12c,EAAM22c,iBAGN32c,EAAMspc,MACc,mBAAftpc,EAAMqX,aACVrX,EAAMqX,KAGd5P,EAAG,oBAAqBzH,GACtBsnF,OAAQg9X,GACRhqa,SAAU5qC,EAAK00c,aACf9la,GAAI,SAAS,WACb6oC,EAAM3jF,MAAOkM,EAAKoO,QAAS,GAAKva,iBAGnCH,KAAK8pL,UAAW9pL,KAAKm/c,SAAU,qBAC/Bn/c,KAAKwgd,mBAAmBtpa,SAAUl3C,KAAKm/c,YAGxCG,eAAgB,WACf,IAAIhzc,EAAOtM,KACVu+B,EAAUv+B,KAAKu+B,QAEhB,SAAS4ib,EAAYlra,GACpB,MAAO,CACNtT,SAAUsT,EAAGtT,SACb1tB,OAAQghC,EAAGhhC,QAIbjV,KAAKm/c,SAAShpa,UAAW,CACxB+oB,OAAQ,gDACR7N,OAAQ,sBACRgkY,YAAa,WACbv9a,MAAO,SAAUwN,EAAO2wB,GACvB3pC,EAAKw9K,UAAWzlL,EAAGrE,MAAQ,sBAC3BsM,EAAK+pb,eACL/pb,EAAKihb,SAAU,YAAajoa,EAAO67b,EAAYlra,KAEhDmB,KAAM,SAAU9xB,EAAO2wB,GACtB3pC,EAAKihb,SAAU,OAAQjoa,EAAO67b,EAAYlra,KAE3CxyC,KAAM,SAAU6hB,EAAO2wB,GACtB,IAAIY,EAAOZ,EAAGhhC,OAAO4hC,KAAOvqC,EAAKhJ,SAAS+7C,aACzCtI,EAAMd,EAAGhhC,OAAO8hC,IAAMzqC,EAAKhJ,SAASg8C,YAErC/gB,EAAQoE,SAAW,CAClB0/C,GAAI,WACJC,GAAI,QAAWzrC,GAAQ,EAAI,IAAM,IAAOA,EAApC,QACOE,GAAO,EAAI,IAAM,IAAOA,EACnCwrC,GAAIj2E,EAAK5K,QAEV4K,EAAKohb,aAAcrpb,EAAGrE,MAAQ,sBAC9BsM,EAAKiqb,iBACLjqb,EAAKihb,SAAU,WAAYjoa,EAAO67b,EAAYlra,QAKjDspa,eAAgB,WACf,IAAIjzc,EAAOtM,KACVu+B,EAAUv+B,KAAKu+B,QACf89Z,EAAU99Z,EAAQo+Z,UAIlBh6Z,EAAW3iC,KAAKm/c,SAAS79b,IAAK,YAC9Bo3B,EAAmC,kBAAZ2jZ,EACtBA,EACA,sBAEF,SAAS8kB,EAAYlra,GACpB,MAAO,CACN+gZ,iBAAkB/gZ,EAAG+gZ,iBACrBjiT,aAAc9+F,EAAG8+F,aACjBpyG,SAAUsT,EAAGtT,SACbuiC,KAAMjvB,EAAGivB,MAIXllE,KAAKm/c,SAASxiB,UAAW,CACxBz9X,OAAQ,qBACRm2X,YAAa,WACb4G,WAAYj8b,KAAK0a,QACjB8kE,SAAUjhD,EAAQihD,SAClBC,UAAWlhD,EAAQkhD,UACnB/yB,SAAUnuB,EAAQmuB,SAClBE,UAAW5sD,KAAKohd,aAChB/kB,QAAS3jZ,EACT5gC,MAAO,SAAUwN,EAAO2wB,GACvB3pC,EAAKw9K,UAAWzlL,EAAGrE,MAAQ,sBAC3BsM,EAAK+pb,eACL/pb,EAAKihb,SAAU,cAAejoa,EAAO67b,EAAYlra,KAElD8yB,OAAQ,SAAUzjD,EAAO2wB,GACxB3pC,EAAKihb,SAAU,SAAUjoa,EAAO67b,EAAYlra,KAE7CxyC,KAAM,SAAU6hB,EAAO2wB,GACtB,IAAIhhC,EAAS3I,EAAK6yc,SAASlqc,SAC1B4hC,EAAO5hC,EAAO4hC,KAAOvqC,EAAKhJ,SAAS+7C,aACnCtI,EAAM9hC,EAAO8hC,IAAMzqC,EAAKhJ,SAASg8C,YAElC/gB,EAAQ13B,OAASyF,EAAK6yc,SAASt4c,SAC/B03B,EAAQ33B,MAAQ0F,EAAK6yc,SAASv4c,QAC9B23B,EAAQoE,SAAW,CAClB0/C,GAAI,WACJC,GAAI,QAAWzrC,GAAQ,EAAI,IAAM,IAAOA,EAApC,QACOE,GAAO,EAAI,IAAM,IAAOA,EACnCwrC,GAAIj2E,EAAK5K,QAEV4K,EAAKohb,aAAcrpb,EAAGrE,MAAQ,sBAC9BsM,EAAKiqb,iBACLjqb,EAAKihb,SAAU,aAAcjoa,EAAO67b,EAAYlra,OAGhD30B,IAAK,WAAYqhB,IAGpB88a,YAAa,WACZz/c,KAAKmtb,IAAKntb,KAAKmhF,SAAU,CACxBu4U,QAAS,SAAUp0Y,GAClBtlB,KAAKugd,mBACLvgd,KAAK4/c,gBAAkBv7c,EAAGihB,EAAM3oB,YAKnC4jd,iBAAkB,WACjBvgd,KAAK0/c,mBACL1/c,KAAKqhd,qBAAqBxmb,QAAS76B,OAGpC0/c,iBAAkB,WACjB,IAAIzpF,EAAYj2X,KAAKqhd,qBACpBx5O,EAASxjO,EAAE8+C,QAASnjD,KAAMi2X,IACV,IAAZpuJ,GACJouJ,EAAUv2V,OAAQmoM,EAAQ,IAI5Bw5O,mBAAoB,WACnB,IAAIprF,EAAYj2X,KAAKsD,SAAS0N,KAAM,uBAKpC,OAJMilX,IACLA,EAAY,GACZj2X,KAAKsD,SAAS0N,KAAM,sBAAuBilX,IAErCA,GAGRmrF,WAAY,WACX,IAAI7ib,EAAUv+B,KAAKu+B,QAEnB,MAA0B,SAAnBA,EAAQ13B,OACd03B,EAAQquB,UACRzlD,KAAK6K,IAAKusB,EAAQquB,UAAWruB,EAAQ13B,SAGvC0ob,UAAW,WAGV,IAAIltY,EAAYriD,KAAKm/c,SAAS76c,GAAI,YAC5B+9C,GACLriD,KAAKm/c,SAASptZ,OAEf/xD,KAAKm/c,SAASx8a,SAAU3iC,KAAKu+B,QAAQoE,UAC/B0f,GACLriD,KAAKm/c,SAASvtZ,QAIhBg8X,YAAa,SAAUrvZ,GACtB,IAAIjyB,EAAOtM,KACV+oE,GAAS,EACTu4Y,EAAmB,GAEpBj9c,EAAEwvB,KAAM0K,GAAS,SAAUlhC,EAAKqC,GAC/B4M,EAAKuhb,WAAYxwb,EAAKqC,GAEjBrC,KAAOiP,EAAKwyc,qBAChB/1Y,GAAS,GAEL1rE,KAAOiP,EAAKyyc,0BAChBuC,EAAkBjkd,GAAQqC,MAIvBqpE,IACJ/oE,KAAKogd,QACLpgd,KAAKuvb,aAEDvvb,KAAKm/c,SAAS76c,GAAI,wBACtBtE,KAAKm/c,SAASxiB,UAAW,SAAU2kB,IAIrCzzB,WAAY,SAAUxwb,EAAKqC,GAC1B,IAAIuoD,EAAas5Z,EAChBpC,EAAWn/c,KAAKm/c,SAEJ,aAAR9hd,IAIL2C,KAAKinD,OAAQ5pD,EAAKqC,GAEL,aAARrC,GACJ2C,KAAKm/c,SAASjoa,SAAUl3C,KAAK4rc,aAGjB,YAARvuc,GACJ2C,KAAKihd,iBAGO,cAAR5jd,GACJ2C,KAAKygd,sBAAsBv8X,OAAQ,CAGlCnlB,MAAO16D,EAAG,OAAQ4P,KAAM,GAAKjU,KAAKu+B,QAAQ+va,WAAY74Z,SAI3C,cAARp4C,KACJ4qD,EAAck3Z,EAAS76c,GAAI,0BACN5E,GACpBy/c,EAAShpa,UAAW,YAGf8R,GAAevoD,GACpBM,KAAKs/c,kBAIM,aAARjid,GACJ2C,KAAKuvb,YAGO,cAARlyb,KAGJkkd,EAAcpC,EAAS76c,GAAI,0BACN5E,GACpBy/c,EAASxiB,UAAW,WAIhB4kB,GAAgC,kBAAV7hd,GAC1By/c,EAASxiB,UAAW,SAAU,UAAWj9b,GAIpC6hd,IAAyB,IAAV7hd,GACpBM,KAAKu/c,kBAIM,UAARlid,GACJ2C,KAAK+gd,OAAQ/gd,KAAK8gd,iBAAiBxzY,KAAM,uBAI3C8yY,MAAO,WAIN,IAAIoB,EAAkBC,EAAkBC,EACvCnjb,EAAUv+B,KAAKu+B,QAGhBv+B,KAAK0a,QAAQq3C,OAAOzwC,IAAK,CACxB1a,MAAO,OACPgmD,UAAW,EACX6yB,UAAW,OACX54E,OAAQ,IAGJ03B,EAAQmuB,SAAWnuB,EAAQ33B,QAC/B23B,EAAQ33B,MAAQ23B,EAAQmuB,UAKzB80Z,EAAmBxhd,KAAKm/c,SAAS79b,IAAK,CACrCza,OAAQ,OACRD,MAAO23B,EAAQ33B,QAEd67E,cACFg/X,EAAmBt6c,KAAK+K,IAAK,EAAGqsB,EAAQquB,UAAY40Z,GACpDE,EAAgD,kBAAtBnjb,EAAQkhD,UACjCt4E,KAAK+K,IAAK,EAAGqsB,EAAQkhD,UAAY+hY,GACjC,OAEuB,SAAnBjjb,EAAQ13B,OACZ7G,KAAK0a,QAAQ4G,IAAK,CACjBsrC,UAAW60Z,EACXhiY,UAAWiiY,EACX76c,OAAQ,SAGT7G,KAAK0a,QAAQ7T,OAAQM,KAAK+K,IAAK,EAAGqsB,EAAQ13B,OAAS26c,IAG/Cxhd,KAAKm/c,SAAS76c,GAAI,wBACtBtE,KAAKm/c,SAASxiB,UAAW,SAAU,YAAa38b,KAAKohd,eAIvD/qB,aAAc,WACbr2b,KAAKs2b,aAAet2b,KAAKsD,SAASgqE,KAAM,UAAW7lD,KAAK,WACvD,IAAIk4V,EAASt7W,EAAGrE,MAEhB,OAAOqE,EAAG,SACRid,IAAK,CACLqhB,SAAU,WACV/7B,MAAO+4W,EAAOj9R,aACd77E,OAAQ84W,EAAOl9R,gBAEfvrC,SAAUyoU,EAAO/sW,UACjBqC,OAAQ0qW,EAAO1qW,UAAY,OAI/Bshb,eAAgB,WACVv2b,KAAKs2b,eACTt2b,KAAKs2b,aAAar2Z,gBACXjgC,KAAKs2b,eAIdqrB,kBAAmB,SAAUr8b,GAC5B,QAAKjhB,EAAGihB,EAAM3oB,QAAS6nF,QAAS,cAAe1nF,UAMtCuH,EAAGihB,EAAM3oB,QAAS6nF,QAAS,kBAAmB1nF,QAGxDujd,eAAgB,WACf,GAAMrgd,KAAKu+B,QAAQkgb,MAAnB,CAMA,IAAImD,GAAY,EAChB5hd,KAAKy1B,QAAQ,WACZmsb,GAAY,KAGP5hd,KAAKsD,SAAS0N,KAAM,uBAKzBhR,KAAKmtb,IAAKntb,KAAKsD,SAAU,CACxBo2Z,QAAS,SAAUp0Y,GACbs8b,GAIC5hd,KAAK2hd,kBAAmBr8b,KAC7BA,EAAMw1B,iBACN96C,KAAKqhd,qBAAsB,GAAIlB,qBAMnCngd,KAAKivH,QAAU5qH,EAAG,SAChB6yC,SAAUl3C,KAAK4rc,aAEjB5rc,KAAK8pL,UAAW9pL,KAAKivH,QAAS,KAAM,8BACpCjvH,KAAKmtb,IAAKntb,KAAKivH,QAAS,CACvBhrC,UAAW,eAEZjkF,KAAKsD,SAAS0N,KAAM,sBACjBhR,KAAKsD,SAAS0N,KAAM,uBAA0B,GAAM,KAGxD2uc,gBAAiB,WAChB,GAAM3/c,KAAKu+B,QAAQkgb,OAIdz+c,KAAKivH,QAAU,CACnB,IAAI4yV,EAAW7hd,KAAKsD,SAAS0N,KAAM,sBAAyB,EAEtD6wc,EAIL7hd,KAAKsD,SAAS0N,KAAM,qBAAsB6wc,IAH1C7hd,KAAK0ub,KAAM1ub,KAAKsD,SAAU,WAC1BtD,KAAKsD,SAASu9E,WAAY,uBAK3B7gF,KAAKivH,QAAQhvF,SACbjgC,KAAKivH,QAAU,UAOM,IAAnB5qH,EAAEy3b,cAGNz3b,EAAE88E,OAAQ,YAAa98E,EAAE4xC,GAAGmP,OAAQ,CACnC7mB,QAAS,CACRujb,YAAa,IAEd5C,eAAgB,WACfl/c,KAAKinD,SACLjnD,KAAKm/c,SAAS7na,SAAUt3C,KAAKu+B,QAAQujb,cAEtCj0B,WAAY,SAAUxwb,EAAKqC,GACb,gBAARrC,GACJ2C,KAAKm/c,SACH53X,YAAavnF,KAAKu+B,QAAQujb,aAC1Bxqa,SAAU53C,GAEbM,KAAKgsb,YAAa7rb,cAKDkE,EAAE4xC,GAAGmP,OAyBA/gD,EAAE88E,OAAQ,iBAAkB,CACpDvyC,QAAS,SACTrQ,QAAS,CACRm/G,QAAS,CACR,iBAAkB,gBAClB,uBAAwB,iBACxB,0BAA2B,mBAE5BxrI,IAAK,IACLxS,MAAO,EAEPqic,OAAQ,KACRpiX,SAAU,MAGX3tE,IAAK,EAELq7a,QAAS,WAGRrtb,KAAK+hd,SAAW/hd,KAAKu+B,QAAQ7+B,MAAQM,KAAKgid,oBAE1Chid,KAAK0a,QAAQwqB,KAAM,CAIlBw6I,KAAM,cACN,gBAAiB1/K,KAAKgS,MAEvBhS,KAAK8pL,UAAW,iBAAkB,+BAElC9pL,KAAKiid,SAAW59c,EAAG,SAAU6yC,SAAUl3C,KAAK0a,SAC5C1a,KAAK8pL,UAAW9pL,KAAKiid,SAAU,uBAAwB,oBACvDjid,KAAKkid,iBAGNz0B,SAAU,WACTztb,KAAK0a,QAAQ4lE,WAAY,kDAEzBtgF,KAAKiid,SAAShib,UAGfvgC,MAAO,SAAUoK,GAChB,QAAkB81B,IAAb91B,EACJ,OAAO9J,KAAKu+B,QAAQ7+B,MAGrBM,KAAKu+B,QAAQ7+B,MAAQM,KAAKgid,kBAAmBl4c,GAC7C9J,KAAKkid,iBAGNF,kBAAmB,SAAUl4c,GAY5B,YAXkB81B,IAAb91B,IACJA,EAAW9J,KAAKu+B,QAAQ7+B,OAGzBM,KAAKksH,eAA6B,IAAbpiH,EAGI,kBAAbA,IACXA,EAAW,IAGL9J,KAAKksH,eACX/kH,KAAK6K,IAAKhS,KAAKu+B,QAAQrsB,IAAK/K,KAAK+K,IAAKlS,KAAKgS,IAAKlI,KAGlD8jb,YAAa,SAAUrvZ,GAGtB,IAAI7+B,EAAQ6+B,EAAQ7+B,aACb6+B,EAAQ7+B,MAEfM,KAAKinD,OAAQ1oB,GAEbv+B,KAAKu+B,QAAQ7+B,MAAQM,KAAKgid,kBAAmBtid,GAC7CM,KAAKkid,iBAGNr0B,WAAY,SAAUxwb,EAAKqC,GACb,QAARrC,IAGJqC,EAAQyH,KAAK+K,IAAKlS,KAAKgS,IAAKtS,IAE7BM,KAAKinD,OAAQ5pD,EAAKqC,IAGnB4tb,mBAAoB,SAAU5tb,GAC7BM,KAAKinD,OAAQvnD,GAEbM,KAAK0a,QAAQwqB,KAAM,gBAAiBxlC,GACpCM,KAAKiub,aAAc,KAAM,sBAAuBvub,IAGjDyid,YAAa,WACZ,OAAOnid,KAAKksH,cACX,IACA,KAAQlsH,KAAKu+B,QAAQ7+B,MAAQM,KAAKgS,MAAUhS,KAAKu+B,QAAQrsB,IAAMlS,KAAKgS,MAGtEkwc,cAAe,WACd,IAAIxid,EAAQM,KAAKu+B,QAAQ7+B,MACxB8kG,EAAaxkG,KAAKmid,cAEnBnid,KAAKiid,SACHl2D,OAAQ/rZ,KAAKksH,eAAiBxsH,EAAQM,KAAKgS,KAC3CpL,MAAO49F,EAAWxpE,QAAS,GAAM,KAEnCh7B,KACEiub,aAAcjub,KAAKiid,SAAU,0BAA2B,KACxDvid,IAAUM,KAAKu+B,QAAQrsB,KACvB+7a,aAAc,+BAAgC,KAAMjub,KAAKksH,eAEtDlsH,KAAKksH,eACTlsH,KAAK0a,QAAQ4lE,WAAY,iBACnBtgF,KAAKoid,aACVpid,KAAKoid,WAAa/9c,EAAG,SAAU6yC,SAAUl3C,KAAKiid,UAC9Cjid,KAAK8pL,UAAW9pL,KAAKoid,WAAY,6BAGlCpid,KAAK0a,QAAQwqB,KAAM,CAClB,gBAAiBllC,KAAKu+B,QAAQrsB,IAC9B,gBAAiBxS,IAEbM,KAAKoid,aACTpid,KAAKoid,WAAWnib,SAChBjgC,KAAKoid,WAAa,OAIfpid,KAAK+hd,WAAarid,IACtBM,KAAK+hd,SAAWrid,EAChBM,KAAKutb,SAAU,WAEX7tb,IAAUM,KAAKu+B,QAAQrsB,KAC3BlS,KAAKutb,SAAU,eA4BMlpb,EAAE88E,OAAQ,gBAAiB,CAAE98E,EAAE4xC,GAAGk8Y,eAAgB,CACzEvjZ,QAAS,SACTg+Y,eAAgB,WAChBruZ,QAAS,CACR2Y,SAAU,KACVwmG,QAAS,CACR,4BAA6B,gBAC7B,8BAA+B,iBAEhC90D,SAAU,KACVs9W,MAAO,CACNhiX,OAAQ,wBAETvhD,SAAU,CACT0/C,GAAI,WACJC,GAAI,cACJE,UAAW,QAEZ57E,OAAO,EAGPm7b,OAAQ,KACRj7P,MAAO,KACP1gH,MAAO,KACPp+E,KAAM,KACN45C,OAAQ,MAGTyrY,QAAS,WACR,IAAIg1B,EAAerid,KAAK0a,QAAQzU,WAAWi/B,KAAM,MACjDllC,KAAK0jL,IAAM,CACVhpK,QAAS2nc,EACTn+X,OAAQm+X,EAAe,UACvBp9Z,KAAMo9Z,EAAe,SAGtBrid,KAAKsid,cACLtid,KAAKuid,YACLvid,KAAKqyb,wBAELryb,KAAKwid,WAAY,EACjBxid,KAAKyid,UAAYp+c,KAGlBi+c,YAAa,WACZ,IAAI95X,EACHl8E,EAAOtM,KACP0nB,EAAO1nB,KAAK0id,aACX1id,KAAK0a,QAAQ4yD,KAAM,mBACnBttE,KAAK0a,QAAS,GAAIglW,eAIpB1/W,KAAK2gE,OAAS3gE,KAAK0a,QAAQimD,SAASz7B,KAAM,MAAOllC,KAAK0jL,IAAIx/F,QAC1DlkF,KAAKmtb,IAAKntb,KAAK2gE,OAAQ,CACtBojB,MAAO,SAAUz+D,GAChBtlB,KAAKkkF,OAAOkC,QACZ9gE,EAAMw1B,oBAKR96C,KAAK0a,QAAQk3C,OAGb5xD,KAAKkkF,OAAS7/E,EAAG,SAAU,CAC1B20Z,SAAUh5Z,KAAKu+B,QAAQqqD,UAAY,EAAI,EACvCzkE,GAAInkB,KAAK0jL,IAAIx/F,OACbw7F,KAAM,WACN,gBAAiB,QACjB,oBAAqB,OACrB,YAAa1/K,KAAK0jL,IAAIz+H,KACtB,gBAAiB,OACjBzgC,MAAOxkB,KAAK0a,QAAQwqB,KAAM,WAEzB4kB,YAAa9pD,KAAK0a,SAEpB1a,KAAK8pL,UAAW9pL,KAAKkkF,OAAQ,mDAC5B,uBAEDsE,EAAOnkF,EAAG,UAAW6yC,SAAUl3C,KAAKkkF,QACpClkF,KAAK8pL,UAAWthG,EAAM,qBAAsB,WAAaxoF,KAAKu+B,QAAQ2na,MAAMhiX,QAC5ElkF,KAAK2id,WAAa3id,KAAK4id,kBAAmBl7b,GACxCwvB,SAAUl3C,KAAKkkF,SAEW,IAAvBlkF,KAAKu+B,QAAQ33B,OACjB5G,KAAK6id,gBAGN7id,KAAKmtb,IAAKntb,KAAKkkF,OAAQlkF,KAAK8id,eAC5B9id,KAAKkkF,OAAOe,IAAK,WAAW,WAIrB34E,EAAKk2c,WACVl2c,EAAKy2c,mBAKRR,UAAW,WACV,IAAIj2c,EAAOtM,KAGXA,KAAKilD,KAAO5gD,EAAG,OAAQ,CACtB,cAAe,OACf,kBAAmBrE,KAAK0jL,IAAIx/F,OAC5B//D,GAAInkB,KAAK0jL,IAAIz+H,OAIdjlD,KAAKgjd,SAAW3+c,EAAG,SAAUmpE,OAAQxtE,KAAKilD,MAC1CjlD,KAAK8pL,UAAW9pL,KAAKgjd,SAAU,qBAAsB,YACrDhjd,KAAKgjd,SAAS9ra,SAAUl3C,KAAK4rc,aAG7B5rc,KAAKijd,aAAejjd,KAAKilD,KACvBA,KAAM,CACNy4F,QAAS,CACR,UAAW,oBAEZgiC,KAAM,UACN99H,OAAQ,SAAUt8B,EAAO2wB,GACxB3wB,EAAMw1B,iBAKNxuC,EAAK42c,gBAEL52c,EAAK62c,QAASlta,EAAGvuB,KAAK1W,KAAM,sBAAwBsU,IAErD8gE,MAAO,SAAU9gE,EAAO2wB,GACvB,IAAIvuB,EAAOuuB,EAAGvuB,KAAK1W,KAAM,sBAGD,MAAnB1E,EAAK82c,YAAsB17b,EAAKyZ,QAAU70B,EAAK82c,aACnD92c,EAAKihb,SAAU,QAASjoa,EAAO,CAAEoC,KAAMA,IACjCpb,EAAKwzc,QACVxzc,EAAK62c,QAASz7b,EAAMpC,IAGtBhZ,EAAK82c,WAAa17b,EAAKyZ,MAEvB70B,EAAK43E,OAAOh/C,KAAM,wBACjB54B,EAAKm2c,UAAUpgU,GAAI36H,EAAKyZ,OAAQ+D,KAAM,UAGxC+f,KAAM,YAGRjlD,KAAKijd,aAAav0B,KAAM1ub,KAAKilD,KAAM,cAGnCjlD,KAAKijd,aAAala,sBAAwB,WACzC,OAAO,GAIR/oc,KAAKijd,aAAatZ,WAAa,WAC9B,OAAO,IAIT//Z,QAAS,WACR5pC,KAAK+id,eACL/id,KAAK2id,WAAW3wD,YACfhyZ,KAAK2id,WAAa3id,KAAK4id,kBAGtB5id,KAAKqjd,mBAAmBryc,KAAM,uBAA0B,KAG9B,OAAvBhR,KAAKu+B,QAAQ33B,OACjB5G,KAAK6id,iBAIPE,aAAc,WACb,IAAIr7b,EACH6W,EAAUv+B,KAAK0a,QAAQ4yD,KAAM,UAE9BttE,KAAKilD,KAAKmtG,QAEVpyJ,KAAKsjd,cAAe/kb,GACpBv+B,KAAK8sc,YAAa9sc,KAAKilD,KAAMjlD,KAAKijF,OAElCjjF,KAAKijd,aAAar5a,UAClB5pC,KAAKyid,UAAYzid,KAAKilD,KAAKqoB,KAAM,MAC/B44U,IAAK,2BACJ54U,KAAM,yBAETttE,KAAKwid,WAAY,EAEXjkb,EAAQzhC,SAId4qB,EAAO1nB,KAAKqjd,mBAGZrjd,KAAKijd,aAAa78X,MAAO,KAAM1+D,GAC/B1nB,KAAKujd,SAAU77b,EAAK1W,KAAM,uBAG1BhR,KAAK6tb,WAAY,WAAY7tb,KAAK0a,QAAQlV,KAAM,eAGjDwC,KAAM,SAAUsd,GACVtlB,KAAKu+B,QAAQqqD,WAKZ5oF,KAAKwid,WAKVxid,KAAK0tb,aAAc1tb,KAAKilD,KAAKqoB,KAAM,oBAAsB,KAAM,mBAC/DttE,KAAKijd,aAAa78X,MAAO,KAAMpmF,KAAKqjd,qBALpCrjd,KAAK+id,eASA/id,KAAKyid,UAAU3ld,SAIrBkD,KAAK8/c,QAAS,EACd9/c,KAAKwjd,cACLxjd,KAAK+sc,cACL/sc,KAAKuvb,YAELvvb,KAAKmtb,IAAKntb,KAAKsD,SAAUtD,KAAKyjd,gBAE9Bzjd,KAAKutb,SAAU,OAAQjoa,MAGxBiqa,UAAW,WACVvvb,KAAKgjd,SAASrgb,SAAUt+B,EAAE+wC,OAAQ,CAAEmtC,GAAIviF,KAAKkkF,QAAUlkF,KAAKu+B,QAAQoE,YAGrEmkK,MAAO,SAAUxhL,GACVtlB,KAAK8/c,SAIX9/c,KAAK8/c,QAAS,EACd9/c,KAAKwjd,cAELxjd,KAAKwrI,MAAQ,KACbxrI,KAAK0ub,KAAM1ub,KAAKsD,UAEhBtD,KAAKutb,SAAU,QAASjoa,KAGzB67D,OAAQ,WACP,OAAOnhF,KAAKkkF,QAGbw/X,WAAY,WACX,OAAO1jd,KAAKilD,MAGb29Z,kBAAmB,SAAUl7b,GAC5B,IAAIi7b,EAAat+c,EAAG,UAKpB,OAHArE,KAAK2jd,SAAUhB,EAAYj7b,EAAKq3C,OAChC/+D,KAAK8pL,UAAW64R,EAAY,sBAErBA,GAGR7V,YAAa,SAAUD,EAAI5pX,GAC1B,IAAI32E,EAAOtM,KACV4jd,EAAkB,GAEnBv/c,EAAEwvB,KAAMovD,GAAO,SAAU9hD,EAAOzZ,GAC/B,IAAIgxM,EAEChxM,EAAKmlY,WAAa+2D,IACtBlrP,EAAKr0N,EAAG,OAAQ,CACf4P,KAAMyT,EAAKmlY,WAEZvgZ,EAAKw9K,UAAW4uC,EAAI,yBAA0B,mBAC3ChxM,EAAKhN,QAAQ9H,OAAQ,YAAapN,KAAM,YACzC,qBACA,KAEFkzN,EAAGxhL,SAAU21Z,GAEb+W,EAAkBl8b,EAAKmlY,UAGxBvgZ,EAAK0gc,gBAAiBH,EAAInlb,OAI5Bslb,gBAAiB,SAAUH,EAAInlb,GAC9B,OAAO1nB,KAAKitc,YAAaJ,EAAInlb,GAAO1W,KAAM,qBAAsB0W,IAGjEulb,YAAa,SAAUJ,EAAInlb,GAC1B,IAAIgxM,EAAKr0N,EAAG,QACX45J,EAAU55J,EAAG,QAAS,CACrBmgB,MAAOkD,EAAKhN,QAAQwqB,KAAM,WAQ5B,OALKxd,EAAKkhE,UACT5oF,KAAK8pL,UAAW4uC,EAAI,KAAM,qBAE3B14N,KAAK2jd,SAAU1lT,EAASv2I,EAAKq3C,OAEtB25J,EAAGlrJ,OAAQywF,GAAU/mH,SAAU21Z,IAGvC8W,SAAU,SAAUjpc,EAAShb,GACvBA,EACJgb,EAAQzG,KAAMvU,GAEdgb,EAAQ+6B,KAAM,WAIhB0zZ,MAAO,SAAU1wY,EAAWnzC,GAC3B,IAAIoC,EAAMnmB,EACT0R,EAAS,gBAELjT,KAAK8/c,OACTp4b,EAAO1nB,KAAKyid,UAAUpgU,GAAIriJ,KAAKojd,YAAaxwc,OAAQ,OAEpD8U,EAAO1nB,KAAKyid,UAAUpgU,GAAIriJ,KAAK0a,QAAS,GAAIglW,eAAgB9sW,OAAQ,MACpEK,GAAU,6BAIV1R,EADkB,UAAdk3D,GAAuC,SAAdA,EACtB/wC,EAAoB,UAAd+wC,EAAwB,UAAY,WAAaxlD,GAASovI,IAAK,GAErE36H,EAAM+wC,EAAY,OAASxlD,GAASovI,GAAI,IAGtCvlJ,QACTkD,KAAKijd,aAAa78X,MAAO9gE,EAAO/jB,IAIlC8hd,iBAAkB,WACjB,OAAOrjd,KAAKyid,UAAUpgU,GAAIriJ,KAAK0a,QAAS,GAAIglW,eAAgB9sW,OAAQ,OAGrEw1b,QAAS,SAAU9ib,GAClBtlB,KAAMA,KAAK8/c,OAAS,QAAU,QAAUx6b,IAGzC49b,cAAe,WACd,IAAIvra,EAEE33C,KAAKwrI,QAIN9pI,OAAOw7C,eACXvF,EAAYj2C,OAAOw7C,gBACTm1G,kBACV16G,EAAUksa,SAAU7jd,KAAKwrI,QAIzBxrI,KAAKwrI,MAAM5pF,SAMZ5hD,KAAKkkF,OAAOkC,UAGbq9X,eAAgB,CACfx/X,UAAW,SAAU3+D,GACdtlB,KAAK8/c,SAILz7c,EAAGihB,EAAM3oB,QAAS6nF,QAAS,yBAC/BngF,EAAE4xC,GAAG0vW,eAAgB3lZ,KAAK0jL,IAAIx/F,SAAWpnF,QAC1CkD,KAAK8mM,MAAOxhL,MAKfw9b,cAAe,CAGd7+X,UAAW,WACV,IAAItsC,EAECj2C,OAAOw7C,cACXvF,EAAYj2C,OAAOw7C,gBACJo1G,aACdtyJ,KAAKwrI,MAAQ7zF,EAAU46G,WAAY,IAKpCvyJ,KAAKwrI,MAAQloI,SAASq0C,UAAU81R,eAIlC1pP,MAAO,SAAUz+D,GAChBtlB,KAAKkjd,gBACLljd,KAAKooc,QAAS9ib,IAGfiib,QAAS,SAAUjib,GAClB,IAAIw1B,GAAiB,EACrB,OAASx1B,EAAMs2B,SACf,KAAKv3C,EAAE4xC,GAAG2F,QAAQm3Y,IAClB,KAAK1ub,EAAE4xC,GAAG2F,QAAQ82Y,OACjB1yb,KAAK8mM,MAAOxhL,GACZw1B,GAAiB,EACjB,MACD,KAAKz2C,EAAE4xC,GAAG2F,QAAQ62Y,MACZzyb,KAAK8/c,QACT9/c,KAAK8jd,mBAAoBx+b,GAE1B,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ43B,GACZluD,EAAMwqY,OACV9vZ,KAAKooc,QAAS9ib,GAEdtlB,KAAKmpc,MAAO,OAAQ7jb,GAErB,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ83B,KACZpuD,EAAMwqY,OACV9vZ,KAAKooc,QAAS9ib,GAEdtlB,KAAKmpc,MAAO,OAAQ7jb,GAErB,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQwnT,MACZpjW,KAAK8/c,OACT9/c,KAAK8jd,mBAAoBx+b,GAEzBtlB,KAAKooc,QAAS9ib,GAEf,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ+3B,KACjB3zE,KAAKmpc,MAAO,OAAQ7jb,GACpB,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ63B,MACjBzzE,KAAKmpc,MAAO,OAAQ7jb,GACpB,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQ+2Y,KAClB,KAAKtub,EAAE4xC,GAAG2F,QAAQi3Y,QACjB7yb,KAAKmpc,MAAO,QAAS7jb,GACrB,MACD,KAAKjhB,EAAE4xC,GAAG2F,QAAQo0P,IAClB,KAAK3rS,EAAE4xC,GAAG2F,QAAQg3Y,UACjB5yb,KAAKmpc,MAAO,OAAQ7jb,GACpB,MACD,QACCtlB,KAAKilD,KAAK+8B,QAAS18D,GACnBw1B,GAAiB,EAGbA,GACJx1B,EAAMw1B,mBAKTgpa,mBAAoB,SAAUx+b,GAC7B,IAAIoC,EAAO1nB,KAAKyid,UAAUpgU,GAAIriJ,KAAKojd,YAAaxwc,OAAQ,MAClD8U,EAAKg8D,SAAU,sBACpB1jF,KAAKmjd,QAASz7b,EAAK1W,KAAM,sBAAwBsU,IAInD69b,QAAS,SAAUz7b,EAAMpC,GACxB,IAAIy+b,EAAW/jd,KAAK0a,QAAS,GAAIglW,cAGjC1/W,KAAK0a,QAAS,GAAIglW,cAAgBh4V,EAAKyZ,MACvCnhC,KAAK2id,WAAW3wD,YAAahyZ,KAAK2id,WAAa3id,KAAK4id,kBAAmBl7b,IACvE1nB,KAAKujd,SAAU77b,GACf1nB,KAAKutb,SAAU,SAAUjoa,EAAO,CAAEoC,KAAMA,IAEnCA,EAAKyZ,QAAU4ib,GACnB/jd,KAAKutb,SAAU,SAAUjoa,EAAO,CAAEoC,KAAMA,IAGzC1nB,KAAK8mM,MAAOxhL,IAGbi+b,SAAU,SAAU77b,GACnB,IAAIvD,EAAKnkB,KAAKyid,UAAUpgU,GAAI36H,EAAKyZ,OAAQ+D,KAAM,MAE/CllC,KAAKkkF,OAAOh/C,KAAM,CACjB,kBAAmB/gB,EACnB,wBAAyBA,IAE1BnkB,KAAKilD,KAAK/f,KAAM,wBAAyB/gB,IAG1C0pa,WAAY,SAAUxwb,EAAKqC,GAC1B,GAAa,UAARrC,EAAkB,CACtB,IAAImrF,EAAOxoF,KAAKkkF,OAAO5W,KAAM,gBAC7BttE,KAAK0tb,aAAcllW,EAAM,KAAMxoF,KAAKu+B,QAAQ2na,MAAMhiX,QAChD4lG,UAAWthG,EAAM,KAAM9oF,EAAMwkF,QAGhClkF,KAAKinD,OAAQ5pD,EAAKqC,GAEL,aAARrC,GACJ2C,KAAKgjd,SAAS9ra,SAAUl3C,KAAK4rc,aAGjB,UAARvuc,GACJ2C,KAAK6id,iBAIPv1B,mBAAoB,SAAU5tb,GAC7BM,KAAKinD,OAAQvnD,GAEbM,KAAKijd,aAAahnJ,OAAQ,WAAYv8T,GACtCM,KAAKkkF,OAAOh/C,KAAM,gBAAiBxlC,GACnCM,KAAKiub,aAAcjub,KAAKkkF,OAAQ,KAAM,oBAAqBxkF,GAE3DM,KAAK0a,QAAQlV,KAAM,WAAY9F,GAC1BA,GACJM,KAAKkkF,OAAOh/C,KAAM,YAAa,GAC/BllC,KAAK8mM,SAEL9mM,KAAKkkF,OAAOh/C,KAAM,WAAY,IAIhC0ma,UAAW,WACV,IAAIlxb,EAAU1a,KAAKu+B,QAAQ2Y,SAgB3B,OAdKx8B,IACJA,EAAUA,EAAQ+gY,QAAU/gY,EAAQ7G,SACnCxP,EAAGqW,GACH1a,KAAKsD,SAASgqE,KAAM5yD,GAAU2nI,GAAI,IAG9B3nI,GAAYA,EAAS,KAC1BA,EAAU1a,KAAK0a,QAAQ8pE,QAAS,sBAG3B9pE,EAAQ5d,SACb4d,EAAU1a,KAAKsD,SAAU,GAAI+gB,MAGvB3J,GAGR8oc,YAAa,WACZxjd,KAAKkkF,OAAOh/C,KAAM,gBAAiBllC,KAAK8/c,QAKxC9/c,KAAK0tb,aAAc1tb,KAAKkkF,OAAQ,yBAC7BlkF,KAAK8/c,OAAS,SAAW,SAC1Bh2R,UAAW9pL,KAAKkkF,OAAQ,yBACtBlkF,KAAK8/c,OAAS,OAAS,WACzB7xB,aAAcjub,KAAKgjd,SAAU,qBAAsB,KAAMhjd,KAAK8/c,QAEhE9/c,KAAKilD,KAAK/f,KAAM,eAAgBllC,KAAK8/c,SAGtC+C,cAAe,WACd,IAAIj8c,EAAQ5G,KAAKu+B,QAAQ33B,OAGV,IAAVA,GAMU,OAAVA,IACJA,EAAQ5G,KAAK0a,QAAQq3C,OAAO2wB,aAC5B1iF,KAAK0a,QAAQk3C,QAGd5xD,KAAKkkF,OAAOxB,WAAY97E,IAVvB5G,KAAKkkF,OAAO5iE,IAAK,QAAS,KAa5Byrb,YAAa,WACZ/sc,KAAKilD,KAAKy9B,WAAYv7E,KAAK+K,IAC1BlS,KAAKkkF,OAAOxB,aAKZ1iF,KAAKilD,KAAKr+C,MAAO,IAAK87E,aAAe,KAIvC0qW,kBAAmB,WAClB,IAAI7uZ,EAAUv+B,KAAKinD,SAInB,OAFA1oB,EAAQqqD,SAAW5oF,KAAK0a,QAAQlV,KAAM,YAE/B+4B,GAGR+kb,cAAe,SAAU/kb,GACxB,IAAIjyB,EAAOtM,KACVgR,EAAO,GACRutB,EAAQ1K,MAAM,SAAUsN,EAAOzZ,GAC9B1W,EAAKlK,KAAMwF,EAAKo2c,aAAcr+c,EAAGqjB,GAAQyZ,OAE1CnhC,KAAKijF,MAAQjyE,GAGd0xc,aAAc,SAAUzmJ,EAAQ96R,GAC/B,IAAI0rX,EAAW5wF,EAAOrpT,OAAQ,YAE9B,MAAO,CACN8H,QAASuhT,EACT96R,MAAOA,EACPzhC,MAAOu8T,EAAOv4S,MACdq7C,MAAOk9P,EAAOhoT,OACd44Y,SAAUA,EAAS3nX,KAAM,UAAa,GACtC0jD,SAAUikU,EAASrnZ,KAAM,aAAgBy2T,EAAOz2T,KAAM,cAIxDiob,SAAU,WACTztb,KAAKsyb,0BACLtyb,KAAKgjd,SAAS/ib,SACdjgC,KAAKkkF,OAAOjkD,SACZjgC,KAAK0a,QAAQq3C,OACb/xD,KAAK0a,QAAQ44a,iBACbtzb,KAAK2gE,OAAOz7B,KAAM,MAAOllC,KAAK0jL,IAAIhpK,aAyBhBrW,EAAE88E,OAAQ,YAAa98E,EAAE4xC,GAAGi/Y,MAAO,CACtDtmZ,QAAS,SACTu9Y,kBAAmB,QAEnB5tZ,QAAS,CACRvgB,SAAS,EACT0/H,QAAS,CACR,YAAa,gBACb,mBAAoB,gBAIpB,kBAAmB,kCAEpBp2E,SAAU,EACVp1D,IAAK,IACLF,IAAK,EACLiyK,YAAa,aACbz4C,OAAO,EACPlqI,KAAM,EACN5B,MAAO,EACP+d,OAAQ,KAGRskb,OAAQ,KACRiiB,MAAO,KACPlsc,MAAO,KACPrU,KAAM,MAKPwgd,SAAU,EAEV52B,QAAS,WACRrtb,KAAKkkd,aAAc,EACnBlkd,KAAKmkd,eAAgB,EACrBnkd,KAAKokd,aAAc,EACnBpkd,KAAKqkd,aAAe,KACpBrkd,KAAKskd,qBACLtkd,KAAKwzb,aACLxzb,KAAKukd,mBAELvkd,KAAK8pL,UAAW,uBAAyB9pL,KAAKikL,YAC7C,+BAEDjkL,KAAK8pC,WAEL9pC,KAAKokd,aAAc,GAGpBt6a,SAAU,WACT9pC,KAAKwkd,eACLxkd,KAAKykd,iBACLzkd,KAAK4mc,eACL5mc,KAAKkid,iBAGNuC,eAAgB,WACf,IAAI5nd,EAAG6nd,EACNnmb,EAAUv+B,KAAKu+B,QACfomb,EAAkB3kd,KAAK0a,QAAQ4yD,KAAM,qBAErC+uX,EAAU,GASX,IAPAqoB,EAAgBnmb,EAAQ9gB,QAAU8gB,EAAQ9gB,OAAO3gB,QAAY,EAExD6nd,EAAgB7nd,OAAS4nd,IAC7BC,EAAgB3ya,MAAO0ya,GAAczkb,SACrC0kb,EAAkBA,EAAgB3ya,MAAO,EAAG0ya,IAGvC7nd,EAAI8nd,EAAgB7nd,OAAQD,EAAI6nd,EAAa7nd,IAClDw/b,EAAQv1b,KAXC,8BAcV9G,KAAKq8b,QAAUsoB,EAAgBpya,IAAKluC,EAAGg4b,EAAQhwb,KAAM,KAAO6qC,SAAUl3C,KAAK0a,UAE3E1a,KAAK8pL,UAAW9pL,KAAKq8b,QAAS,mBAAoB,oBAElDr8b,KAAKqxD,OAASrxD,KAAKq8b,QAAQh6S,GAAI,GAE/BriJ,KAAKq8b,QAAQxoa,MAAM,SAAUh3B,GAC5BwH,EAAGrE,MACDgR,KAAM,yBAA0BnU,GAChCqoC,KAAM,WAAY,OAItBs/a,aAAc,WACb,IAAIjmb,EAAUv+B,KAAKu+B,QAEdA,EAAQitG,QACW,IAAlBjtG,EAAQitG,QACNjtG,EAAQ9gB,OAEF8gB,EAAQ9gB,OAAO3gB,QAAoC,IAA1ByhC,EAAQ9gB,OAAO3gB,OACnDyhC,EAAQ9gB,OAAS,CAAE8gB,EAAQ9gB,OAAQ,GAAK8gB,EAAQ9gB,OAAQ,IAC7CpZ,EAAE3D,QAAS69B,EAAQ9gB,UAC9B8gB,EAAQ9gB,OAAS8gB,EAAQ9gB,OAAOu0B,MAAO,IAJvCzT,EAAQ9gB,OAAS,CAAEzd,KAAK4kd,YAAa5kd,KAAK4kd,cAQtC5kd,KAAKwrI,OAAUxrI,KAAKwrI,MAAM1uI,QAM/BkD,KAAK0tb,aAAc1tb,KAAKwrI,MAAO,2CAG/BxrI,KAAKwrI,MAAMlqH,IAAK,CACf,KAAQ,GACR,OAAU,OAVXthB,KAAKwrI,MAAQnnI,EAAG,SACd6yC,SAAUl3C,KAAK0a,SAEjB1a,KAAK8pL,UAAW9pL,KAAKwrI,MAAO,oBAUN,QAAlBjtG,EAAQitG,OAAqC,QAAlBjtG,EAAQitG,OACvCxrI,KAAK8pL,UAAW9pL,KAAKwrI,MAAO,mBAAqBjtG,EAAQitG,SAGrDxrI,KAAKwrI,OACTxrI,KAAKwrI,MAAMvrG,SAEZjgC,KAAKwrI,MAAQ,OAIfo7T,aAAc,WACb5mc,KAAK0ub,KAAM1ub,KAAKq8b,SAChBr8b,KAAKmtb,IAAKntb,KAAKq8b,QAASr8b,KAAK6kd,eAC7B7kd,KAAK2ub,WAAY3ub,KAAKq8b,SACtBr8b,KAAK4ub,WAAY5ub,KAAKq8b,UAGvB5O,SAAU,WACTztb,KAAKq8b,QAAQp8Z,SACRjgC,KAAKwrI,OACTxrI,KAAKwrI,MAAMvrG,SAGZjgC,KAAK2zb,iBAGNS,cAAe,SAAU9ua,GACxB,IAAIqd,EAAUmib,EAAWx9Y,EAAUy9Y,EAAe5jb,EAAgBlsB,EAAQ+vc,EACzE14c,EAAOtM,KACPM,EAAIN,KAAKu+B,QAEV,OAAKj+B,EAAEsoF,WAIP5oF,KAAKild,YAAc,CAClBr+c,MAAO5G,KAAK0a,QAAQgoE,aACpB77E,OAAQ7G,KAAK0a,QAAQ+nE,eAEtBziF,KAAK0/b,cAAgB1/b,KAAK0a,QAAQzF,SAElC0tB,EAAW,CAAE91B,EAAGyY,EAAM89D,MAAOt2E,EAAGwY,EAAM+9D,OACtCyhY,EAAY9kd,KAAKkld,oBAAqBvib,GACtC2kC,EAAWtnE,KAAKmld,YAAcnld,KAAK4kd,YAAc,EACjD5kd,KAAKq8b,QAAQxoa,MAAM,SAAUh3B,GAC5B,IAAIuod,EAAej+c,KAAKwjD,IAAKm6Z,EAAYx4c,EAAKmR,OAAQ5gB,KAC/CyqE,EAAW89Y,GACf99Y,IAAa89Y,IACZvod,IAAMyP,EAAK+4c,mBAAqB/4c,EAAKmR,OAAQ5gB,KAAQyD,EAAE0R,QAC1Ds1D,EAAW89Y,EACXL,EAAgB1gd,EAAGrE,MACnBmhC,EAAQtkC,OAKO,IADPmD,KAAKu2B,OAAQjR,EAAO6b,KAI9BnhC,KAAKmkd,eAAgB,EAErBnkd,KAAKqkd,aAAeljb,EAEpBnhC,KAAK8pL,UAAWi7R,EAAe,KAAM,mBACrCA,EAAc/iY,QAAS,SAEvB/sE,EAAS8vc,EAAc9vc,SACvB+vc,GAAmB3gd,EAAGihB,EAAM3oB,QAAS6zJ,UAAUi2P,UAAUniZ,GAAI,qBAC7DtE,KAAKsld,aAAeN,EAAkB,CAAEnua,KAAM,EAAGE,IAAK,GAAM,CAC3DF,KAAMvxB,EAAM89D,MAAQnuE,EAAO4hC,KAASkua,EAAcn+c,QAAU,EAC5DmwC,IAAKzxB,EAAM+9D,MAAQpuE,EAAO8hC,IACvBgua,EAAcl+c,SAAW,GACzBqX,SAAU6mc,EAAczjc,IAAK,kBAAoB,KAAQ,IACzDpD,SAAU6mc,EAAczjc,IAAK,qBAAuB,KAAQ,IAC5DpD,SAAU6mc,EAAczjc,IAAK,aAAe,KAAQ,IAGlDthB,KAAKq8b,QAAQ34W,SAAU,mBAC5B1jF,KAAKuld,OAAQjgc,EAAO6b,EAAO2jb,GAE5B9kd,KAAKokd,aAAc,GACZ,KAGR3vB,YAAa,WACZ,OAAO,GAGRI,WAAY,SAAUvva,GACrB,IAAIqd,EAAW,CAAE91B,EAAGyY,EAAM89D,MAAOt2E,EAAGwY,EAAM+9D,OACzCyhY,EAAY9kd,KAAKkld,oBAAqBvib,GAIvC,OAFA3iC,KAAKuld,OAAQjgc,EAAOtlB,KAAKqkd,aAAcS,IAEhC,GAGRhwB,WAAY,SAAUxva,GAWrB,OAVAtlB,KAAK0tb,aAAc1tb,KAAKq8b,QAAS,KAAM,mBACvCr8b,KAAKmkd,eAAgB,EAErBnkd,KAAKwld,MAAOlgc,EAAOtlB,KAAKqkd,cACxBrkd,KAAK+9b,QAASz4a,EAAOtlB,KAAKqkd,cAE1Brkd,KAAKqkd,aAAe,KACpBrkd,KAAKsld,aAAe,KACpBtld,KAAKokd,aAAc,GAEZ,GAGRE,mBAAoB,WACnBtkd,KAAKikL,YAA6C,aAA7BjkL,KAAKu+B,QAAQ0lJ,YAA+B,WAAa,cAG/EihS,oBAAqB,SAAUvib,GAC9B,IAAI8ib,EACHC,EACAC,EACAC,EACAC,EA0BD,MAxB0B,eAArB7ld,KAAKikL,aACTwhS,EAAazld,KAAKild,YAAYr+c,MAC9B8+c,EAAa/ib,EAAS91B,EAAI7M,KAAK0/b,cAAc7oZ,MAC1C72C,KAAKsld,aAAetld,KAAKsld,aAAazua,KAAO,KAEhD4ua,EAAazld,KAAKild,YAAYp+c,OAC9B6+c,EAAa/ib,EAAS71B,EAAI9M,KAAK0/b,cAAc3oZ,KAC1C/2C,KAAKsld,aAAetld,KAAKsld,aAAavua,IAAM,KAGhD4ua,EAAiBD,EAAaD,GACV,IACnBE,EAAe,GAEXA,EAAe,IACnBA,EAAe,GAEU,aAArB3ld,KAAKikL,cACT0hS,EAAe,EAAIA,GAGpBC,EAAa5ld,KAAKmld,YAAcnld,KAAK4kd,YACrCiB,EAAa7ld,KAAK4kd,YAAce,EAAeC,EAExC5ld,KAAK8ld,gBAAiBD,IAG9B/tB,QAAS,SAAU32Z,EAAOzhC,EAAO+d,GAChC,IAAIsoc,EAAS,CACZ10Z,OAAQrxD,KAAKq8b,QAASl7Z,GACtB6kb,YAAa7kb,EACbzhC,WAAiBkgC,IAAVlgC,EAAsBA,EAAQM,KAAKN,SAQ3C,OALKM,KAAKimd,uBACTF,EAAOrmd,WAAkBkgC,IAAVlgC,EAAsBA,EAAQM,KAAKyd,OAAQ0jB,GAC1D4kb,EAAOtoc,OAASA,GAAUzd,KAAKyd,UAGzBsoc,GAGRE,mBAAoB,WACnB,OAAOjmd,KAAKu+B,QAAQ9gB,QAAUzd,KAAKu+B,QAAQ9gB,OAAO3gB,QAGnDy5B,OAAQ,SAAUjR,EAAO6b,GACxB,OAAOnhC,KAAKutb,SAAU,QAASjoa,EAAOtlB,KAAK83b,QAAS32Z,KAGrDokb,OAAQ,SAAUjgc,EAAO6b,EAAO+kb,GAC/B,IAAaC,EACZ1lW,EAAezgH,KAAKN,QACpB0md,EAAYpmd,KAAKyd,SAEbzd,KAAKimd,uBACTE,EAAWnmd,KAAKyd,OAAQ0jB,EAAQ,EAAI,GACpCs/E,EAAezgH,KAAKyd,OAAQ0jB,GAEQ,IAA/BnhC,KAAKu+B,QAAQ9gB,OAAO3gB,SAAuC,IAAvBkD,KAAKu+B,QAAQitG,QACrD06U,EAAoB,IAAV/kb,EAAch6B,KAAK6K,IAAKm0c,EAAUD,GAAW/+c,KAAK+K,IAAKi0c,EAAUD,IAG5EE,EAAWjlb,GAAU+kb,GAGjBA,IAAWzlW,IAOC,IAHPzgH,KAAKutb,SAAU,QAASjoa,EAAOtlB,KAAK83b,QAAS32Z,EAAO+kb,EAAQE,MAOjEpmd,KAAKimd,qBACTjmd,KAAKyd,OAAQ0jB,EAAO+kb,GAEpBlmd,KAAKN,MAAOwmd,KAIdV,MAAO,SAAUlgc,EAAO6b,GACvBnhC,KAAKutb,SAAU,OAAQjoa,EAAOtlB,KAAK83b,QAAS32Z,KAG7C48Z,QAAS,SAAUz4a,EAAO6b,GACnBnhC,KAAKkkd,aAAgBlkd,KAAKmkd,gBAG/Bnkd,KAAKqld,kBAAoBlkb,EACzBnhC,KAAKutb,SAAU,SAAUjoa,EAAOtlB,KAAK83b,QAAS32Z,MAIhDzhC,MAAO,SAAUoK,GAChB,OAAK3J,UAAUrD,QACdkD,KAAKu+B,QAAQ7+B,MAAQM,KAAK8ld,gBAAiBh8c,GAC3C9J,KAAKkid,qBACLlid,KAAK+9b,QAAS,KAAM,IAId/9b,KAAKs7I,UAGb79H,OAAQ,SAAU0jB,EAAOr3B,GACxB,IAAIu8c,EACHD,EACAvpd,EAED,GAAKsD,UAAUrD,OAAS,EAIvB,OAHAkD,KAAKu+B,QAAQ9gB,OAAQ0jB,GAAUnhC,KAAK8ld,gBAAiBh8c,GACrD9J,KAAKkid,qBACLlid,KAAK+9b,QAAS,KAAM58Z,GAIrB,IAAKhhC,UAAUrD,OAiBd,OAAOkD,KAAKyvI,UAhBZ,IAAKprI,EAAE3D,QAASP,UAAW,IAS1B,OAAKH,KAAKimd,qBACFjmd,KAAKyvI,QAAStuG,GAEdnhC,KAAKN,QATb,IAFA2md,EAAOrmd,KAAKu+B,QAAQ9gB,OACpB2oc,EAAYjmd,UAAW,GACjBtD,EAAI,EAAGA,EAAIwpd,EAAKvpd,OAAQD,GAAK,EAClCwpd,EAAMxpd,GAAMmD,KAAK8ld,gBAAiBM,EAAWvpd,IAC7CmD,KAAK+9b,QAAS,KAAMlhc,GAErBmD,KAAKkid,iBAaRr0B,WAAY,SAAUxwb,EAAKqC,GAC1B,IAAI7C,EACHypd,EAAa,EAkBd,OAhBa,UAARjpd,IAA0C,IAAvB2C,KAAKu+B,QAAQitG,QACrB,QAAV9rI,GACJM,KAAKu+B,QAAQ7+B,MAAQM,KAAKyvI,QAAS,GACnCzvI,KAAKu+B,QAAQ9gB,OAAS,MACD,QAAV/d,IACXM,KAAKu+B,QAAQ7+B,MAAQM,KAAKyvI,QAASzvI,KAAKu+B,QAAQ9gB,OAAO3gB,OAAS,GAChEkD,KAAKu+B,QAAQ9gB,OAAS,OAInBpZ,EAAE3D,QAASV,KAAKu+B,QAAQ9gB,UAC5B6oc,EAAatmd,KAAKu+B,QAAQ9gB,OAAO3gB,QAGlCkD,KAAKinD,OAAQ5pD,EAAKqC,GAETrC,GACR,IAAK,cACJ2C,KAAKskd,qBACLtkd,KAAK0tb,aAAc,2CACjB5jQ,UAAW,aAAe9pL,KAAKikL,aACjCjkL,KAAKkid,gBACAlid,KAAKu+B,QAAQitG,OACjBxrI,KAAKumd,cAAe7md,GAIrBM,KAAKq8b,QAAQ/6a,IAAe,eAAV5hB,EAAyB,SAAW,OAAQ,IAC9D,MACD,IAAK,QACJM,KAAKokd,aAAc,EACnBpkd,KAAKkid,gBACLlid,KAAK+9b,QAAS,KAAM,GACpB/9b,KAAKokd,aAAc,EACnB,MACD,IAAK,SAKJ,IAJApkd,KAAKokd,aAAc,EACnBpkd,KAAKkid,gBAGCrld,EAAIypd,EAAa,EAAGzpd,GAAK,EAAGA,IACjCmD,KAAK+9b,QAAS,KAAMlhc,GAErBmD,KAAKokd,aAAc,EACnB,MACD,IAAK,OACL,IAAK,MACL,IAAK,MACJpkd,KAAKokd,aAAc,EACnBpkd,KAAKukd,mBACLvkd,KAAKkid,gBACLlid,KAAKokd,aAAc,EACnB,MACD,IAAK,QACJpkd,KAAKokd,aAAc,EACnBpkd,KAAK8pC,WACL9pC,KAAKokd,aAAc,IAKtB92B,mBAAoB,SAAU5tb,GAC7BM,KAAKinD,OAAQvnD,GAEbM,KAAKiub,aAAc,KAAM,sBAAuBvub,IAKjD47I,OAAQ,WACP,IAAI53H,EAAM1jB,KAAKu+B,QAAQ7+B,MAGvB,OAFAgkB,EAAM1jB,KAAK8ld,gBAAiBpic,IAQ7B+rH,QAAS,SAAUtuG,GAClB,IAAIzd,EACH2ic,EACAxpd,EAED,GAAKsD,UAAUrD,OAId,OAHA4mB,EAAM1jB,KAAKu+B,QAAQ9gB,OAAQ0jB,GAC3Bzd,EAAM1jB,KAAK8ld,gBAAiBpic,GAGtB,GAAK1jB,KAAKimd,qBAAuB,CAKvC,IADAI,EAAOrmd,KAAKu+B,QAAQ9gB,OAAOu0B,QACrBn1C,EAAI,EAAGA,EAAIwpd,EAAKvpd,OAAQD,GAAK,EAClCwpd,EAAMxpd,GAAMmD,KAAK8ld,gBAAiBO,EAAMxpd,IAGzC,OAAOwpd,EAEP,MAAO,IAKTP,gBAAiB,SAAUpic,GAC1B,GAAKA,GAAO1jB,KAAK4kd,YAChB,OAAO5kd,KAAK4kd,YAEb,GAAKlhc,GAAO1jB,KAAKmld,YAChB,OAAOnld,KAAKmld,YAEb,IAAI7jd,EAAStB,KAAKu+B,QAAQj9B,KAAO,EAAMtB,KAAKu+B,QAAQj9B,KAAO,EAC1Dkld,GAAe9ic,EAAM1jB,KAAK4kd,aAAgBtjd,EAC1Cmld,EAAa/ic,EAAM8ic,EAQpB,OAN8B,EAAzBr/c,KAAKwjD,IAAK67Z,IAAoBlld,IAClCmld,GAAgBD,EAAa,EAAMlld,GAAUA,GAKvCiI,WAAYk9c,EAAWzrb,QAAS,KAGxCupb,iBAAkB,WACjB,IAAIryc,EAAMlS,KAAKu+B,QAAQrsB,IACtBF,EAAMhS,KAAK4kd,YACXtjd,EAAOtB,KAAKu+B,QAAQj9B,MAErB4Q,EADY/K,KAAKi9G,OAASlyG,EAAMF,GAAQ1Q,GAASA,EAChC0Q,GACNhS,KAAKu+B,QAAQrsB,MAGvBA,GAAO5Q,GAERtB,KAAKkS,IAAM3I,WAAY2I,EAAI8oB,QAASh7B,KAAK0md,gBAG1CA,WAAY,WACX,IAAIvmU,EAAYngJ,KAAK2md,aAAc3md,KAAKu+B,QAAQj9B,MAIhD,OAH0B,OAArBtB,KAAKu+B,QAAQvsB,MACjBmuI,EAAYh5I,KAAK+K,IAAKiuI,EAAWngJ,KAAK2md,aAAc3md,KAAKu+B,QAAQvsB,OAE3DmuI,GAGRwmU,aAAc,SAAUt6U,GACvB,IAAI3oB,EAAM2oB,EAAIjgI,WACbw6c,EAAUljW,EAAIr5G,QAAS,KACxB,OAAoB,IAAbu8c,EAAiB,EAAIljW,EAAI5mH,OAAS8pd,EAAU,GAGpDhC,UAAW,WACV,OAAO5kd,KAAKu+B,QAAQvsB,KAGrBmzc,UAAW,WACV,OAAOnld,KAAKkS,KAGbq0c,cAAe,SAAUtiS,GACH,aAAhBA,GACJjkL,KAAKwrI,MAAMlqH,IAAK,CAAE,MAAS,GAAI,KAAQ,KAEnB,eAAhB2iK,GACJjkL,KAAKwrI,MAAMlqH,IAAK,CAAE,OAAU,GAAI,OAAU,MAI5C4gc,cAAe,WACd,IAAI2E,EAAgBC,EAAYpnd,EAAOqnd,EAAUC,EAChDC,EAASjnd,KAAKu+B,QAAQitG,MACtBlrI,EAAIN,KAAKu+B,QACTjyB,EAAOtM,KACPge,GAAahe,KAAKokd,aAAgB9jd,EAAE0d,QACpCkpc,EAAO,GAEHlnd,KAAKimd,qBACTjmd,KAAKq8b,QAAQxoa,MAAM,SAAUh3B,GAC5Biqd,GAAex6c,EAAKmR,OAAQ5gB,GAAMyP,EAAKs4c,cAAkBt4c,EAAK64c,YAC7D74c,EAAKs4c,aAAgB,IACtBsC,EAA2B,eAArB56c,EAAK23K,YAA+B,OAAS,UAAa6iS,EAAa,IAC7Ezid,EAAGrE,MAAOyD,KAAM,EAAG,GAAKua,EAAU,UAAY,OAASkpc,EAAM5md,EAAE0d,UACnC,IAAvB1R,EAAKiyB,QAAQitG,QACS,eAArBl/H,EAAK23K,aACE,IAANpnL,GACJyP,EAAKk/H,MAAM/nI,KAAM,EAAG,GAAKua,EAAU,UAAY,OAAS,CACvD64B,KAAMiwa,EAAa,KACjBxmd,EAAE0d,SAEK,IAANnhB,GACJyP,EAAKk/H,MAAOxtH,EAAU,UAAY,OAAS,CAC1CpX,MAASkgd,EAAaD,EAAmB,KACvC,CACFzlJ,OAAO,EACP5kT,SAAUlc,EAAE0d,YAIH,IAANnhB,GACJyP,EAAKk/H,MAAM/nI,KAAM,EAAG,GAAKua,EAAU,UAAY,OAAS,CACvD4kE,OAAUkkY,EAAe,KACvBxmd,EAAE0d,SAEK,IAANnhB,GACJyP,EAAKk/H,MAAOxtH,EAAU,UAAY,OAAS,CAC1CnX,OAAUigd,EAAaD,EAAmB,KACxC,CACFzlJ,OAAO,EACP5kT,SAAUlc,EAAE0d,YAKhB6oc,EAAiBC,MAGlBpnd,EAAQM,KAAKN,QACbqnd,EAAW/md,KAAK4kd,YAChBoC,EAAWhnd,KAAKmld,YAChB2B,EAAeE,IAAaD,GACxBrnd,EAAQqnd,IAAeC,EAAWD,GAAa,IACjD,EACFG,EAA2B,eAArBlnd,KAAKikL,YAA+B,OAAS,UAAa6iS,EAAa,IAC7E9md,KAAKqxD,OAAO5tD,KAAM,EAAG,GAAKua,EAAU,UAAY,OAASkpc,EAAM5md,EAAE0d,SAEjD,QAAXipc,GAAyC,eAArBjnd,KAAKikL,aAC7BjkL,KAAKwrI,MAAM/nI,KAAM,EAAG,GAAKua,EAAU,UAAY,OAAS,CACvDpX,MAAOkgd,EAAa,KAClBxmd,EAAE0d,SAEU,QAAXipc,GAAyC,eAArBjnd,KAAKikL,aAC7BjkL,KAAKwrI,MAAM/nI,KAAM,EAAG,GAAKua,EAAU,UAAY,OAAS,CACvDpX,MAAS,IAAMkgd,EAAe,KAC5Bxmd,EAAE0d,SAEU,QAAXipc,GAAyC,aAArBjnd,KAAKikL,aAC7BjkL,KAAKwrI,MAAM/nI,KAAM,EAAG,GAAKua,EAAU,UAAY,OAAS,CACvDnX,OAAQigd,EAAa,KACnBxmd,EAAE0d,SAEU,QAAXipc,GAAyC,aAArBjnd,KAAKikL,aAC7BjkL,KAAKwrI,MAAM/nI,KAAM,EAAG,GAAKua,EAAU,UAAY,OAAS,CACvDnX,OAAU,IAAMigd,EAAe,KAC7Bxmd,EAAE0d,WAKR6mc,cAAe,CACdtd,QAAS,SAAUjib,GAClB,IAAa6hc,EAAQjB,EAAQ5kd,EAC5B6/B,EAAQ98B,EAAGihB,EAAM3oB,QAASqU,KAAM,0BAEjC,OAASsU,EAAMs2B,SACd,KAAKv3C,EAAE4xC,GAAG2F,QAAQ+2Y,KAClB,KAAKtub,EAAE4xC,GAAG2F,QAAQo0P,IAClB,KAAK3rS,EAAE4xC,GAAG2F,QAAQi3Y,QAClB,KAAKxub,EAAE4xC,GAAG2F,QAAQg3Y,UAClB,KAAKvub,EAAE4xC,GAAG2F,QAAQ43B,GAClB,KAAKnvE,EAAE4xC,GAAG2F,QAAQ63B,MAClB,KAAKpvE,EAAE4xC,GAAG2F,QAAQ83B,KAClB,KAAKrvE,EAAE4xC,GAAG2F,QAAQ+3B,KAEjB,GADAruD,EAAMw1B,kBACA96C,KAAKkkd,cACVlkd,KAAKkkd,aAAc,EACnBlkd,KAAK8pL,UAAWzlL,EAAGihB,EAAM3oB,QAAU,KAAM,oBAExB,IADPqD,KAAKu2B,OAAQjR,EAAO6b,IAE7B,OAaJ,OAPA7/B,EAAOtB,KAAKu+B,QAAQj9B,KAEnB6ld,EAASjB,EADLlmd,KAAKimd,qBACSjmd,KAAKyd,OAAQ0jB,GAEbnhC,KAAKN,QAGf4lB,EAAMs2B,SACd,KAAKv3C,EAAE4xC,GAAG2F,QAAQ+2Y,KACjBuzB,EAASlmd,KAAK4kd,YACd,MACD,KAAKvgd,EAAE4xC,GAAG2F,QAAQo0P,IACjBk2K,EAASlmd,KAAKmld,YACd,MACD,KAAK9gd,EAAE4xC,GAAG2F,QAAQi3Y,QACjBqzB,EAASlmd,KAAK8ld,gBACbqB,GAAannd,KAAKmld,YAAcnld,KAAK4kd,aAAgB5kd,KAAKikd,UAE3D,MACD,KAAK5/c,EAAE4xC,GAAG2F,QAAQg3Y,UACjBszB,EAASlmd,KAAK8ld,gBACbqB,GAAannd,KAAKmld,YAAcnld,KAAK4kd,aAAgB5kd,KAAKikd,UAC3D,MACD,KAAK5/c,EAAE4xC,GAAG2F,QAAQ43B,GAClB,KAAKnvE,EAAE4xC,GAAG2F,QAAQ63B,MACjB,GAAK0zY,IAAWnnd,KAAKmld,YACpB,OAEDe,EAASlmd,KAAK8ld,gBAAiBqB,EAAS7ld,GACxC,MACD,KAAK+C,EAAE4xC,GAAG2F,QAAQ83B,KAClB,KAAKrvE,EAAE4xC,GAAG2F,QAAQ+3B,KACjB,GAAKwzY,IAAWnnd,KAAK4kd,YACpB,OAEDsB,EAASlmd,KAAK8ld,gBAAiBqB,EAAS7ld,GAI1CtB,KAAKuld,OAAQjgc,EAAO6b,EAAO+kb,IAE5BkB,MAAO,SAAU9hc,GAChB,IAAI6b,EAAQ98B,EAAGihB,EAAM3oB,QAASqU,KAAM,0BAE/BhR,KAAKkkd,cACTlkd,KAAKkkd,aAAc,EACnBlkd,KAAKwld,MAAOlgc,EAAO6b,GACnBnhC,KAAK+9b,QAASz4a,EAAO6b,GACrBnhC,KAAK0tb,aAAcrpb,EAAGihB,EAAM3oB,QAAU,KAAM,wBAsChD0H,EAAE88E,OAAQ,aAAc,CACvBvyC,QAAS,SACTg+Y,eAAgB,UAChBT,kBAAmB,OACnB5tZ,QAAS,CACRm/G,QAAS,CACR,aAAc,gBACd,kBAAmB,eACnB,gBAAiB,gBAElB2pU,QAAS,KACTnhB,MAAO,CACNsC,KAAM,uBACNthS,GAAI,wBAELogT,aAAa,EACbp1c,IAAK,KACLF,IAAK,KACLu1c,aAAc,KACd9uT,KAAM,GACNn3J,KAAM,EAENygc,OAAQ,KACRylB,KAAM,KACN1vc,MAAO,KACPrU,KAAM,MAGP4pb,QAAS,WAGRrtb,KAAK6tb,WAAY,MAAO7tb,KAAKu+B,QAAQrsB,KACrClS,KAAK6tb,WAAY,MAAO7tb,KAAKu+B,QAAQvsB,KACrChS,KAAK6tb,WAAY,OAAQ7tb,KAAKu+B,QAAQj9B,MAIhB,KAAjBtB,KAAKN,SAGTM,KAAKs7I,OAAQt7I,KAAK0a,QAAQgJ,OAAO,GAGlC1jB,KAAKynd,QACLznd,KAAKmtb,IAAKntb,KAAK0nd,SACf1nd,KAAK8pC,WAKL9pC,KAAKmtb,IAAKntb,KAAK0B,OAAQ,CACtB+tZ,aAAc,WACbzvZ,KAAK0a,QAAQ4lE,WAAY,oBAK5B8sW,kBAAmB,WAClB,IAAI7uZ,EAAUv+B,KAAKinD,SACfvsC,EAAU1a,KAAK0a,QASnB,OAPArW,EAAEwvB,KAAM,CAAE,MAAO,MAAO,SAAU,SAAUh3B,EAAGo/T,GAC9C,IAAIv8T,EAAQgb,EAAQwqB,KAAM+2R,GACZ,MAATv8T,GAAiBA,EAAM5C,SAC3ByhC,EAAS09R,GAAWv8T,MAIf6+B,GAGRmpb,QAAS,CACRngB,QAAS,SAAUjib,GACbtlB,KAAKu2B,OAAQjR,IAAWtlB,KAAK6mc,SAAUvhb,IAC3CA,EAAMw1B,kBAGRssa,MAAO,QACPhhY,MAAO,WACNpmF,KAAK6rC,SAAW7rC,KAAK0a,QAAQgJ,OAE9B4hE,KAAM,SAAUhgE,GACVtlB,KAAKyrc,kBACFzrc,KAAKyrc,YAIbzrc,KAAKwld,QACLxld,KAAK8pC,WACA9pC,KAAK6rC,WAAa7rC,KAAK0a,QAAQgJ,OACnC1jB,KAAKutb,SAAU,SAAUjoa,KAG3Bqic,WAAY,SAAUric,EAAOnI,GAC5B,GAAMA,EAAN,CAGA,IAAMnd,KAAK4nd,WAAa5nd,KAAKu2B,OAAQjR,GACpC,OAAO,EAGRtlB,KAAK6nd,OAAS1qc,EAAQ,EAAI,GAAK,GAAMnd,KAAKu+B,QAAQj9B,KAAMgkB,GACxDgP,aAAct0B,KAAK8nd,iBACnB9nd,KAAK8nd,gBAAkB9nd,KAAKy1B,QAAQ,WAC9Bz1B,KAAK4nd,UACT5nd,KAAKwld,MAAOlgc,KAEX,KACHA,EAAMw1B,mBAEP,+BAAgC,SAAUx1B,GACzC,IAAIumB,EASJ,SAAS80a,IACO3gd,KAAK0a,QAAS,KAAQrW,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,MAE3EtD,KAAK0a,QAAQsnE,QAAS,SACtBhiF,KAAK6rC,SAAWA,EAKhB7rC,KAAKy1B,QAAQ,WACZz1B,KAAK6rC,SAAWA,MAZnBA,EAAW7rC,KAAK0a,QAAS,KAAQrW,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,IACvEtD,KAAK6rC,SAAW7rC,KAAK0a,QAAQgJ,MAiB9B4B,EAAMw1B,iBACN6la,EAAW3+c,KAAMhC,MAMjBA,KAAKyrc,YAAa,EAClBzrc,KAAKy1B,QAAQ,kBACLz1B,KAAKyrc,WACZkV,EAAW3+c,KAAMhC,UAGY,IAAzBA,KAAKu2B,OAAQjR,IAIlBtlB,KAAK+nd,QAAS,KAAM1jd,EAAGihB,EAAMk0E,eAC3B9V,SAAU,iBAAoB,GAAK,EAAGp+D,IAEzC,6BAA8B,QAC9B,gCAAiC,SAAUA,GAG1C,GAAMjhB,EAAGihB,EAAMk0E,eAAgB9V,SAAU,mBAIzC,OAA8B,IAAzB1jF,KAAKu2B,OAAQjR,SAGlBtlB,KAAK+nd,QAAS,KAAM1jd,EAAGihB,EAAMk0E,eAC3B9V,SAAU,iBAAoB,GAAK,EAAGp+D,IAMzC,gCAAiC,SAIlCwsb,SAAU,WACT9xc,KAAKgod,UAAYhod,KAAK0a,QACpBwqB,KAAM,eAAgB,OACtB+nX,KAAM,UACNr6Y,SAGC46D,OACA,mBAIJi6Y,MAAO,WACNznd,KAAK8xc,WAEL9xc,KAAK8pL,UAAW9pL,KAAKgod,UAAW,aAAc,+BAC9Chod,KAAK8pL,UAAW,oBAEhB9pL,KAAK0a,QAAQwqB,KAAM,OAAQ,cAG3BllC,KAAKiwZ,QAAUjwZ,KAAKgod,UAAUx1c,SAAU,KACtC0yB,KAAM,YAAa,GACnBA,KAAM,eAAe,GACrBg/C,OAAQ,CACRw5D,QAAS,CACR,YAAa,MAKhB19I,KAAK0tb,aAAc1tb,KAAKiwZ,QAAS,iBAEjCjwZ,KAAK8pL,UAAW9pL,KAAKiwZ,QAAQpnW,QAAS,mCACtC7oD,KAAK8pL,UAAW9pL,KAAKiwZ,QAAQ9mW,OAAQ,qCACrCnpD,KAAKiwZ,QAAQpnW,QAAQq7B,OAAQ,CAC5B,KAAQlkF,KAAKu+B,QAAQ2na,MAAMh/R,GAC3B,WAAa,IAEdlnK,KAAKiwZ,QAAQ9mW,OAAO+6B,OAAQ,CAC3B,KAAQlkF,KAAKu+B,QAAQ2na,MAAMsC,KAC3B,WAAa,IAKTxoc,KAAKiwZ,QAAQppZ,SAAWM,KAAK4W,KAAgC,GAA1B/d,KAAKgod,UAAUnhd,WACrD7G,KAAKgod,UAAUnhd,SAAW,GAC3B7G,KAAKgod,UAAUnhd,OAAQ7G,KAAKgod,UAAUnhd,WAIxCggc,SAAU,SAAUvhb,GACnB,IAAIiZ,EAAUv+B,KAAKu+B,QAClBqd,EAAUv3C,EAAE4xC,GAAG2F,QAEhB,OAASt2B,EAAMs2B,SACf,KAAKA,EAAQ43B,GAEZ,OADAxzE,KAAK+nd,QAAS,KAAM,EAAGzic,IAChB,EACR,KAAKs2B,EAAQ83B,KAEZ,OADA1zE,KAAK+nd,QAAS,MAAO,EAAGzic,IACjB,EACR,KAAKs2B,EAAQi3Y,QAEZ,OADA7yb,KAAK+nd,QAAS,KAAMxpb,EAAQk6H,KAAMnzI,IAC3B,EACR,KAAKs2B,EAAQg3Y,UAEZ,OADA5yb,KAAK+nd,QAAS,MAAOxpb,EAAQk6H,KAAMnzI,IAC5B,EAGR,OAAO,GAGRiR,OAAQ,SAAUjR,GACjB,SAAMtlB,KAAK4nd,WAAgD,IAApC5nd,KAAKutb,SAAU,QAASjoa,MAIzCtlB,KAAK4hF,UACV5hF,KAAK4hF,QAAU,GAEhB5hF,KAAK4nd,UAAW,GACT,IAGRG,QAAS,SAAUlrd,EAAGg2H,EAAOvtG,GAC5BzoB,EAAIA,GAAK,IAETy3B,aAAct0B,KAAKmjF,OACnBnjF,KAAKmjF,MAAQnjF,KAAKy1B,QAAQ,WACzBz1B,KAAK+nd,QAAS,GAAIl1V,EAAOvtG,KACvBzoB,GAEHmD,KAAK6nd,MAAOh1V,EAAQ7yH,KAAKu+B,QAAQj9B,KAAMgkB,IAGxCuic,MAAO,SAAUvmd,EAAMgkB,GACtB,IAAI5lB,EAAQM,KAAKN,SAAW,EAEtBM,KAAK4hF,UACV5hF,KAAK4hF,QAAU,GAGhBliF,EAAQM,KAAKiod,aAAcvod,EAAQ4B,EAAOtB,KAAKkod,WAAYlod,KAAK4hF,UAE1D5hF,KAAK4nd,WAAiE,IAArD5nd,KAAKutb,SAAU,OAAQjoa,EAAO,CAAE5lB,MAAOA,MAC7DM,KAAKs7I,OAAQ57I,GACbM,KAAK4hF,YAIPsmY,WAAY,SAAUrrd,GACrB,IAAIyqd,EAActnd,KAAKu+B,QAAQ+ob,YAE/B,OAAKA,EACGjjd,EAAE0iF,WAAYugY,GACpBA,EAAazqd,GACbsK,KAAK0W,MAAOhhB,EAAIA,EAAIA,EAAI,IAAQA,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAGxD,GAGR6pd,WAAY,WACX,IAAIvmU,EAAYngJ,KAAK2md,aAAc3md,KAAKu+B,QAAQj9B,MAIhD,OAH0B,OAArBtB,KAAKu+B,QAAQvsB,MACjBmuI,EAAYh5I,KAAK+K,IAAKiuI,EAAWngJ,KAAK2md,aAAc3md,KAAKu+B,QAAQvsB,OAE3DmuI,GAGRwmU,aAAc,SAAUt6U,GACvB,IAAI3oB,EAAM2oB,EAAIjgI,WACbw6c,EAAUljW,EAAIr5G,QAAS,KACxB,OAAoB,IAAbu8c,EAAiB,EAAIljW,EAAI5mH,OAAS8pd,EAAU,GAGpDqB,aAAc,SAAUvod,GACvB,IAAIiR,EAAMw3c,EACT5pb,EAAUv+B,KAAKu+B,QAiBhB,OAZA4pb,EAAWzod,GADXiR,EAAuB,OAAhB4tB,EAAQvsB,IAAeusB,EAAQvsB,IAAM,GAO5CtS,EAAQiR,GAHRw3c,EAAWhhd,KAAKi9G,MAAO+jW,EAAW5pb,EAAQj9B,MAASi9B,EAAQj9B,MAM3D5B,EAAQ6J,WAAY7J,EAAMs7B,QAASh7B,KAAK0md,eAGnB,OAAhBnob,EAAQrsB,KAAgBxS,EAAQ6+B,EAAQrsB,IACrCqsB,EAAQrsB,IAEK,OAAhBqsB,EAAQvsB,KAAgBtS,EAAQ6+B,EAAQvsB,IACrCusB,EAAQvsB,IAGTtS,GAGR8ld,MAAO,SAAUlgc,GACVtlB,KAAK4nd,WAIXtzb,aAAct0B,KAAKmjF,OACnB7uD,aAAct0B,KAAK8nd,iBACnB9nd,KAAK4hF,QAAU,EACf5hF,KAAK4nd,UAAW,EAChB5nd,KAAKutb,SAAU,OAAQjoa,KAGxBuoa,WAAY,SAAUxwb,EAAKqC,GAC1B,IAAIghF,EAAW73B,EAAOM,EAEtB,GAAa,YAAR9rD,GAA6B,iBAARA,EAIzB,OAHAqjF,EAAY1gF,KAAKikb,OAAQjkb,KAAK0a,QAAQgJ,OACtC1jB,KAAKu+B,QAASlhC,GAAQqC,OACtBM,KAAK0a,QAAQgJ,IAAK1jB,KAAKi3J,QAASv2E,IAIpB,QAARrjF,GAAyB,QAARA,GAAyB,SAARA,GAChB,kBAAVqC,IACXA,EAAQM,KAAKikb,OAAQvkb,IAGV,UAARrC,IACJwrD,EAAQ7oD,KAAKiwZ,QAAQpnW,QAAQykB,KAAM,YACnCttE,KAAK0tb,aAAc7kY,EAAO,KAAM7oD,KAAKu+B,QAAQ2na,MAAMh/R,IACnDlnK,KAAK8pL,UAAWjhI,EAAO,KAAMnpD,EAAMwnK,IACnC/9G,EAAOnpD,KAAKiwZ,QAAQ9mW,OAAOmkB,KAAM,YACjCttE,KAAK0tb,aAAcvkY,EAAM,KAAMnpD,KAAKu+B,QAAQ2na,MAAMsC,MAClDxoc,KAAK8pL,UAAW3gI,EAAM,KAAMzpD,EAAM8oc,OAGnCxoc,KAAKinD,OAAQ5pD,EAAKqC,IAGnB4tb,mBAAoB,SAAU5tb,GAC7BM,KAAKinD,OAAQvnD,GAEbM,KAAKiub,aAAcjub,KAAKgod,UAAW,KAAM,sBAAuBtod,GAChEM,KAAK0a,QAAQlV,KAAM,aAAc9F,GACjCM,KAAKiwZ,QAAQ/rU,OAAQxkF,EAAQ,UAAY,WAG1Ckub,YAAagkB,GAAgB,SAAUrza,GACtCv+B,KAAKinD,OAAQ1oB,MAGd0lZ,OAAQ,SAAUvga,GAKjB,MAJoB,kBAARA,GAA4B,KAARA,IAC/BA,EAAMhiB,OAAO0md,WAAapod,KAAKu+B,QAAQgpb,aACtCa,UAAU7+c,WAAYma,EAAK,GAAI1jB,KAAKu+B,QAAQ8ob,UAAa3jc,GAE5C,KAARA,GAAc1V,MAAO0V,GAAQ,KAAOA,GAG5CuzI,QAAS,SAAUv3J,GAClB,MAAe,KAAVA,EACG,GAEDgC,OAAO0md,WAAapod,KAAKu+B,QAAQgpb,aACvCa,UAAU1jV,OAAQhlI,EAAOM,KAAKu+B,QAAQgpb,aAAcvnd,KAAKu+B,QAAQ8ob,SACjE3nd,GAGFoqC,SAAU,WACT9pC,KAAK0a,QAAQwqB,KAAM,CAClB,gBAAiBllC,KAAKu+B,QAAQvsB,IAC9B,gBAAiBhS,KAAKu+B,QAAQrsB,IAG9B,gBAAiBlS,KAAKikb,OAAQjkb,KAAK0a,QAAQgJ,UAI7C2kc,QAAS,WACR,IAAI3od,EAAQM,KAAKN,QAGjB,OAAe,OAAVA,GAKEA,IAAUM,KAAKiod,aAAcvod,IAIrC47I,OAAQ,SAAU57I,EAAO4od,GACxB,IAAI7gJ,EACW,KAAV/nU,GAEY,QADhB+nU,EAASznU,KAAKikb,OAAQvkb,MAEf4od,IACL7gJ,EAASznU,KAAKiod,aAAcxgJ,IAE7B/nU,EAAQM,KAAKi3J,QAASwwK,IAGxBznU,KAAK0a,QAAQgJ,IAAKhkB,GAClBM,KAAK8pC,YAGN2jZ,SAAU,WACTztb,KAAK0a,QACHlV,KAAM,YAAY,GAClB86E,WAAY,+DAEdtgF,KAAKgod,UAAUh2D,YAAahyZ,KAAK0a,UAGlC6tc,OAAQ3W,GAAgB,SAAU/+U,GACjC7yH,KAAKwod,QAAS31V,MAEf21V,QAAS,SAAU31V,GACb7yH,KAAKu2B,WACTv2B,KAAK6nd,OAASh1V,GAAS,GAAM7yH,KAAKu+B,QAAQj9B,MAC1CtB,KAAKwld,UAIPiD,SAAU7W,GAAgB,SAAU/+U,GACnC7yH,KAAK0od,UAAW71V,MAEjB61V,UAAW,SAAU71V,GACf7yH,KAAKu2B,WACTv2B,KAAK6nd,OAASh1V,GAAS,IAAO7yH,KAAKu+B,QAAQj9B,MAC3CtB,KAAKwld,UAIPmD,OAAQ/W,GAAgB,SAAUnyQ,GACjCz/L,KAAKwod,SAAW/oR,GAAS,GAAMz/L,KAAKu+B,QAAQk6H,SAG7CmwT,SAAUhX,GAAgB,SAAUnyQ,GACnCz/L,KAAK0od,WAAajpR,GAAS,GAAMz/L,KAAKu+B,QAAQk6H,SAG/C/4J,MAAO,SAAUwmd,GAChB,IAAM/ld,UAAUrD,OACf,OAAOkD,KAAKikb,OAAQjkb,KAAK0a,QAAQgJ,OAElCkub,EAAgB5xc,KAAKs7I,QAASt5I,KAAMhC,KAAMkmd,IAG3C/kY,OAAQ,WACP,OAAOnhF,KAAKgod,cAMU,IAAnB3jd,EAAEy3b,cAGNz3b,EAAE88E,OAAQ,aAAc98E,EAAE4xC,GAAG4ya,QAAS,CACrC/W,SAAU,WACT9xc,KAAKgod,UAAYhod,KAAK0a,QACpBwqB,KAAM,eAAgB,OACtB+nX,KAAMjtZ,KAAK8od,kBACXl2c,SAGC46D,OAAQxtE,KAAK+od,gBAEjBD,eAAgB,WACf,MAAO,UAGRC,YAAa,WACZ,MAAO,oBAKW1kd,EAAE4xC,GAAG4ya,QAuB1Bxkd,EAAE88E,OAAQ,UAAW,CACpBvyC,QAAS,SACTjY,MAAO,IACP4H,QAAS,CACR8zF,OAAQ,KACRqrB,QAAS,CACR,UAAW,gBACX,cAAe,gBACf,gBAAiB,mBACjB,cAAe,iBAEhBsoT,aAAa,EACb1gb,MAAO,QACP2gb,YAAa,UACbr0Y,KAAM,KACNG,KAAM,KAGNqoY,SAAU,KACVgM,eAAgB,KAChB4iB,WAAY,KACZpkc,KAAM,MAGPqkc,SAAY,WACX,IAAIhuD,EAAQ,OAEZ,OAAO,SAAU1jW,GAChB,IAAI2xZ,EAAWC,EAEfD,EAAY3xZ,EAAO32C,KAAKnZ,QAASwzZ,EAAO,IACxCkuD,EAAcvnb,SAAShhB,KAAKnZ,QAASwzZ,EAAO,IAG5C,IACCiuD,EAAYxrV,mBAAoBwrV,GAC/B,MAAQ/1b,IACV,IACCg2b,EAAczrV,mBAAoByrV,GACjC,MAAQh2b,IAEV,OAAOokC,EAAOwB,KAAKj8D,OAAS,GAAKosd,IAAcC,GAjBrC,GAqBZ97B,QAAS,WACR,IAAI/gb,EAAOtM,KACVu+B,EAAUv+B,KAAKu+B,QAEhBv+B,KAAKopd,SAAU,EAEfppd,KAAK8pL,UAAW,UAAW,+BAC3B9pL,KAAKiub,aAAc,sBAAuB,KAAM1vZ,EAAQyna,aAExDhmc,KAAKqpd,eACL9qb,EAAQ8zF,OAASryH,KAAKspd,iBAIjBjld,EAAE3D,QAAS69B,EAAQqqD,YACvBrqD,EAAQqqD,SAAWvkF,EAAEu8D,OAAQriC,EAAQqqD,SAASpgE,OAC7CnkB,EAAEojB,IAAKznB,KAAKupd,KAAKt2c,OAAQ,uBAAwB,SAAUylN,GAC1D,OAAOpsN,EAAKi9c,KAAKpob,MAAOu3L,QAEtB11K,SAIwB,IAAxBhjD,KAAKu+B,QAAQ8zF,QAAoBryH,KAAKwpd,QAAQ1sd,OAClDkD,KAAKqyH,OAASryH,KAAKonc,YAAa7oa,EAAQ8zF,QAExCryH,KAAKqyH,OAAShuH,IAGfrE,KAAK8pC,WAEA9pC,KAAKqyH,OAAOv1H,QAChBkD,KAAK4kB,KAAM2Z,EAAQ8zF,SAIrBi3V,eAAgB,WACf,IAAIj3V,EAASryH,KAAKu+B,QAAQ8zF,OACzB2zU,EAAchmc,KAAKu+B,QAAQyna,YAC3ByjB,EAAe7nb,SAASm3B,KAAK1nB,UAAW,GAsCzC,OApCgB,OAAXghF,IAGCo3V,GACJzpd,KAAKupd,KAAK11b,MAAM,SAAUh3B,EAAGopR,GAC5B,GAAK5hR,EAAG4hR,GAAM/gP,KAAM,mBAAsBukb,EAEzC,OADAp3V,EAASx1H,GACF,KAMM,OAAXw1H,IACJA,EAASryH,KAAKupd,KAAKpob,MAAOnhC,KAAKupd,KAAKt2c,OAAQ,qBAI7B,OAAXo/G,IAA+B,IAAZA,IACvBA,IAASryH,KAAKupd,KAAKzsd,QAAS,KAKd,IAAXu1H,IAEa,KADjBA,EAASryH,KAAKupd,KAAKpob,MAAOnhC,KAAKupd,KAAKlnU,GAAIhwB,OAEvCA,GAAS2zU,GAAsB,IAK3BA,IAA0B,IAAX3zU,GAAoBryH,KAAKwpd,QAAQ1sd,SACrDu1H,EAAS,GAGHA,GAGRm7T,oBAAqB,WACpB,MAAO,CACNvnK,IAAKjmR,KAAKqyH,OACV40S,MAAQjna,KAAKqyH,OAAOv1H,OAAekD,KAAK0pd,gBAAiB1pd,KAAKqyH,QAAjChuH,MAI/Bsld,YAAa,SAAUrkc,GACtB,IAAIskc,EAAavld,EAAGA,EAAE4xC,GAAGw3W,kBAAmBztZ,KAAKsD,SAAU,KAAQkhF,QAAS,MAC3Ek7R,EAAgB1/W,KAAKupd,KAAKpob,MAAOyob,GACjCC,GAAe,EAEhB,IAAK7pd,KAAK8pd,eAAgBxkc,GAA1B,CAIA,OAASA,EAAMs2B,SACf,KAAKv3C,EAAE4xC,GAAG2F,QAAQ63B,MAClB,KAAKpvE,EAAE4xC,GAAG2F,QAAQ83B,KACjBgsS,IACA,MACD,KAAKr7W,EAAE4xC,GAAG2F,QAAQ43B,GAClB,KAAKnvE,EAAE4xC,GAAG2F,QAAQ+3B,KACjBk2Y,GAAe,EACfnqG,IACA,MACD,KAAKr7W,EAAE4xC,GAAG2F,QAAQo0P,IACjB0vE,EAAgB1/W,KAAKwpd,QAAQ1sd,OAAS,EACtC,MACD,KAAKuH,EAAE4xC,GAAG2F,QAAQ+2Y,KACjBjzE,EAAgB,EAChB,MACD,KAAKr7W,EAAE4xC,GAAG2F,QAAQwnT,MAMjB,OAHA99U,EAAMw1B,iBACNxmB,aAAct0B,KAAK+pd,iBACnB/pd,KAAK46b,UAAWl7E,GAEjB,KAAKr7W,EAAE4xC,GAAG2F,QAAQ62Y,MAQjB,OALAnta,EAAMw1B,iBACNxmB,aAAct0B,KAAK+pd,iBAGnB/pd,KAAK46b,UAAWl7E,IAAkB1/W,KAAKu+B,QAAQ8zF,QAAiBqtP,GAEjE,QACC,OAIDp6V,EAAMw1B,iBACNxmB,aAAct0B,KAAK+pd,YACnBrqG,EAAgB1/W,KAAKgqd,cAAetqG,EAAemqG,GAG7Cvkc,EAAM2xB,SAAY3xB,EAAMswI,UAK7Bg0T,EAAW1kb,KAAM,gBAAiB,SAClCllC,KAAKupd,KAAKlnU,GAAIq9N,GAAgBx6U,KAAM,gBAAiB,QAErDllC,KAAK+pd,WAAa/pd,KAAKy1B,QAAQ,WAC9Bz1B,KAAKi8T,OAAQ,SAAUyjD,KACrB1/W,KAAK22B,UAIVszb,cAAe,SAAU3kc,GACnBtlB,KAAK8pd,eAAgBxkc,IAKrBA,EAAM2xB,SAAW3xB,EAAMs2B,UAAYv3C,EAAE4xC,GAAG2F,QAAQ43B,KACpDluD,EAAMw1B,iBACN96C,KAAKqyH,OAAOrwC,QAAS,WAKvB8nY,eAAgB,SAAUxkc,GACzB,OAAKA,EAAMwqY,QAAUxqY,EAAMs2B,UAAYv3C,EAAE4xC,GAAG2F,QAAQi3Y,SACnD7yb,KAAK46b,UAAW56b,KAAKgqd,cAAehqd,KAAKu+B,QAAQ8zF,OAAS,GAAG,KACtD,GAEH/sG,EAAMwqY,QAAUxqY,EAAMs2B,UAAYv3C,EAAE4xC,GAAG2F,QAAQg3Y,WACnD5yb,KAAK46b,UAAW56b,KAAKgqd,cAAehqd,KAAKu+B,QAAQ8zF,OAAS,GAAG,KACtD,QAFR,GAMD63V,aAAc,SAAU/ob,EAAO0ob,GAa9B,IAZA,IAAIM,EAAenqd,KAAKupd,KAAKzsd,OAAS,GAYuB,IAArDuH,EAAE8+C,SATJhiB,EAAQgpb,IACZhpb,EAAQ,GAEJA,EAAQ,IACZA,EAAQgpb,GAEFhpb,GAGwBnhC,KAAKu+B,QAAQqqD,WAC5CznD,EAAQ0ob,EAAe1ob,EAAQ,EAAIA,EAAQ,EAG5C,OAAOA,GAGR6ob,cAAe,SAAU7ob,EAAO0ob,GAG/B,OAFA1ob,EAAQnhC,KAAKkqd,aAAc/ob,EAAO0ob,GAClC7pd,KAAKupd,KAAKlnU,GAAIlhH,GAAQ6gD,QAAS,SACxB7gD,GAGR0sZ,WAAY,SAAUxwb,EAAKqC,GACb,WAARrC,GAOL2C,KAAKinD,OAAQ5pD,EAAKqC,GAEL,gBAARrC,IACJ2C,KAAKiub,aAAc,sBAAuB,KAAMvub,GAG1CA,IAAiC,IAAxBM,KAAKu+B,QAAQ8zF,QAC3BryH,KAAK46b,UAAW,IAIL,UAARv9b,GACJ2C,KAAK4mc,aAAclnc,GAGP,gBAARrC,GACJ2C,KAAKoqd,kBAAmB1qd,IApBxBM,KAAK46b,UAAWl7b,IAwBlB2qd,kBAAmB,SAAUtxZ,GAC5B,OAAOA,EAAOA,EAAKtxD,QAAS,sCAAuC,QAAW,IAG/EmiC,QAAS,WACR,IAAIrL,EAAUv+B,KAAKu+B,QAClB+rb,EAAMtqd,KAAKuqd,QAAQ/3c,SAAU,iBAI9B+rB,EAAQqqD,SAAWvkF,EAAEojB,IAAK6ic,EAAIr3c,OAAQ,uBAAwB,SAAUgzQ,GACvE,OAAOqkM,EAAInpb,MAAO8kP,MAGnBjmR,KAAKqpd,gBAGmB,IAAnB9qb,EAAQ8zF,QAAqBryH,KAAKwpd,QAAQ1sd,OAKnCkD,KAAKqyH,OAAOv1H,SAAWuH,EAAE87C,SAAUngD,KAAKuqd,QAAS,GAAKvqd,KAAKqyH,OAAQ,IAGzEryH,KAAKupd,KAAKzsd,SAAWyhC,EAAQqqD,SAAS9rF,QAC1CyhC,EAAQ8zF,QAAS,EACjBryH,KAAKqyH,OAAShuH,KAIdrE,KAAK46b,UAAW56b,KAAKkqd,aAAc/id,KAAK+K,IAAK,EAAGqsB,EAAQ8zF,OAAS,IAAK,IAOvE9zF,EAAQ8zF,OAASryH,KAAKupd,KAAKpob,MAAOnhC,KAAKqyH,SApBvC9zF,EAAQ8zF,QAAS,EACjBryH,KAAKqyH,OAAShuH,KAsBfrE,KAAK8pC,YAGNA,SAAU,WACT9pC,KAAKstb,mBAAoBttb,KAAKu+B,QAAQqqD,UACtC5oF,KAAK4mc,aAAc5mc,KAAKu+B,QAAQjZ,OAChCtlB,KAAKoqd,kBAAmBpqd,KAAKu+B,QAAQ0na,aAErCjmc,KAAKupd,KAAKrjE,IAAKlmZ,KAAKqyH,QAASntF,KAAM,CAClC,gBAAiB,QACjB,gBAAiB,QACjBkpF,UAAW,IAEZpuH,KAAKmnc,OAAOjhD,IAAKlmZ,KAAK0pd,gBAAiB1pd,KAAKqyH,SAC1CzgE,OACA1sB,KAAM,CACN,cAAe,SAIXllC,KAAKqyH,OAAOv1H,QAGjBkD,KAAKqyH,OACHntF,KAAM,CACN,gBAAiB,OACjB,gBAAiB,OACjBkpF,SAAU,IAEZpuH,KAAK8pL,UAAW9pL,KAAKqyH,OAAQ,iBAAkB,mBAC/CryH,KAAK0pd,gBAAiB1pd,KAAKqyH,QACzBtgE,OACA7sB,KAAM,CACN,cAAe,WAZjBllC,KAAKupd,KAAKlnU,GAAI,GAAIn9G,KAAM,WAAY,IAiBtCmkb,aAAc,WACb,IAAI/8c,EAAOtM,KACVwqd,EAAWxqd,KAAKupd,KAChBkB,EAAczqd,KAAKwpd,QACnBtiB,EAAalnc,KAAKmnc,OAEnBnnc,KAAKuqd,QAAUvqd,KAAK0qd,WAAWxlb,KAAM,OAAQ,WAC7CllC,KAAK8pL,UAAW9pL,KAAKuqd,QAAS,cAC7B,uDAGDvqd,KAAKuqd,QACHrva,GAAI,YAAcl7C,KAAK8sb,eAAgB,QAAQ,SAAUxna,GACpDjhB,EAAGrE,MAAOsE,GAAI,uBAClBghB,EAAMw1B,oBAUPI,GAAI,QAAUl7C,KAAK8sb,eAAgB,mBAAmB,WACjDzob,EAAGrE,MAAOwkF,QAAS,MAAOlgF,GAAI,uBAClCtE,KAAKslF,UAIRtlF,KAAKupd,KAAOvpd,KAAKuqd,QAAQj9Y,KAAM,qBAC7BpoC,KAAM,CACNw6I,KAAM,MACNtxD,UAAW,IAEbpuH,KAAK8pL,UAAW9pL,KAAKupd,KAAM,cAAe,oBAE1Cvpd,KAAKwpd,QAAUxpd,KAAKupd,KAAK9hc,KAAK,WAC7B,OAAOpjB,EAAG,IAAKrE,MAAQ,MAEtBklC,KAAM,CACNw6I,KAAM,eACNtxD,UAAW,IAEbpuH,KAAK8pL,UAAW9pL,KAAKwpd,QAAS,kBAE9Bxpd,KAAKmnc,OAAS9ic,IAEdrE,KAAKwpd,QAAQ31b,MAAM,SAAUh3B,EAAG06D,GAC/B,IAAIzzD,EAAUmja,EAAOqgC,EACpBqjB,EAAWtmd,EAAGkzD,GAAStxD,WAAWi/B,KAAM,MACxC+gP,EAAM5hR,EAAGkzD,GAASitB,QAAS,MAC3BomY,EAAuB3kM,EAAI/gP,KAAM,iBAG7B54B,EAAK28c,SAAU1xZ,IAEnB+vY,GADAxjc,EAAWyzD,EAAOwB,MACC1nB,UAAW,GAC9B41X,EAAQ36Z,EAAKoO,QAAQ4yD,KAAMhhE,EAAK+9c,kBAAmBvmd,MAQnDA,EAAW,KADXwjc,EAAUrhL,EAAI/gP,KAAM,kBAAqB7gC,EAAG,IAAK4B,WAAY,GAAIke,KAEjE8iZ,EAAQ36Z,EAAKoO,QAAQ4yD,KAAMxpE,IACfhH,SACXmqa,EAAQ36Z,EAAKu+c,aAAcvjB,IACrBx9Y,YAAax9C,EAAK66b,OAAQtqc,EAAI,IAAOyP,EAAKi+c,SAEjDtjD,EAAM/hY,KAAM,YAAa,WAGrB+hY,EAAMnqa,SACVwP,EAAK66b,OAAS76b,EAAK66b,OAAO50Z,IAAK00X,IAE3B2jD,GACJ3kM,EAAIj1Q,KAAM,wBAAyB45c,GAEpC3kM,EAAI/gP,KAAM,CACT,gBAAiBoia,EACjB,kBAAmBqjB,IAEpB1jD,EAAM/hY,KAAM,kBAAmBylb,MAGhC3qd,KAAKmnc,OAAOjia,KAAM,OAAQ,YAC1BllC,KAAK8pL,UAAW9pL,KAAKmnc,OAAQ,gBAAiB,qBAGzCqjB,IACJxqd,KAAK0ub,KAAM87B,EAAStkE,IAAKlmZ,KAAKupd,OAC9Bvpd,KAAK0ub,KAAM+7B,EAAYvkE,IAAKlmZ,KAAKwpd,UACjCxpd,KAAK0ub,KAAMwY,EAAWhhD,IAAKlmZ,KAAKmnc,WAKlCujB,SAAU,WACT,OAAO1qd,KAAKuqd,SAAWvqd,KAAK0a,QAAQ4yD,KAAM,UAAW+0E,GAAI,IAG1DwoU,aAAc,SAAU1mc,GACvB,OAAO9f,EAAG,SACR6gC,KAAM,KAAM/gB,GACZnT,KAAM,mBAAmB,IAG5Bs8a,mBAAoB,SAAU1kW,GAC7B,IAAIwwW,EAAa1gO,EAAI77N,EAWrB,IATKwH,EAAE3D,QAASkoF,KACTA,EAAS9rF,OAEH8rF,EAAS9rF,SAAWkD,KAAKwpd,QAAQ1sd,SAC5C8rF,GAAW,GAFXA,GAAW,GAOP/rF,EAAI,EAAK67N,EAAK14N,KAAKupd,KAAM1sd,GAAOA,IACrCu8b,EAAc/0b,EAAGq0N,IACC,IAAb9vI,IAAmD,IAA9BvkF,EAAE8+C,QAAStmD,EAAG+rF,IACvCwwW,EAAYl0Z,KAAM,gBAAiB,QACnCllC,KAAK8pL,UAAWsvQ,EAAa,KAAM,uBAEnCA,EAAY94W,WAAY,iBACxBtgF,KAAK0tb,aAAc0L,EAAa,KAAM,sBAIxCp5b,KAAKu+B,QAAQqqD,SAAWA,EAExB5oF,KAAKiub,aAAcjub,KAAKmhF,SAAUnhF,KAAKqsb,eAAiB,YAAa,MACvD,IAAbzjW,IAGFg+W,aAAc,SAAUthb,GACvB,IAAImB,EAAS,GACRnB,GACJjhB,EAAEwvB,KAAMvO,EAAM/Y,MAAO,MAAO,SAAU40B,EAAOk9H,GAC5C53I,EAAQ43I,GAAc,mBAIxBr+J,KAAK0ub,KAAM1ub,KAAKwpd,QAAQj3a,IAAKvyC,KAAKupd,MAAOh3a,IAAKvyC,KAAKmnc,SAGnDnnc,KAAKmtb,KAAK,EAAMntb,KAAKwpd,QAAS,CAC7BzlY,MAAO,SAAUz+D,GAChBA,EAAMw1B,oBAGR96C,KAAKmtb,IAAKntb,KAAKwpd,QAAS/ic,GACxBzmB,KAAKmtb,IAAKntb,KAAKupd,KAAM,CAAEhiB,QAAS,gBAChCvnc,KAAKmtb,IAAKntb,KAAKmnc,OAAQ,CAAEI,QAAS,kBAElCvnc,KAAK4ub,WAAY5ub,KAAKupd,MACtBvpd,KAAK2ub,WAAY3ub,KAAKupd,OAGvBa,kBAAmB,SAAUnkB,GAC5B,IAAIxmX,EACH7sE,EAAS5S,KAAK0a,QAAQ9H,SAEF,SAAhBqzb,GACJxmX,EAAY7sE,EAAO/L,SACnB44E,GAAaz/E,KAAK0a,QAAQ+nE,cAAgBziF,KAAK0a,QAAQ7T,SAEvD7G,KAAK0a,QAAQ2sE,SAAU,YAAaxzD,MAAM,WACzC,IAAI0tD,EAAOl9E,EAAGrE,MACb2iC,EAAW4+C,EAAKjgE,IAAK,YAEJ,aAAbqhB,GAAwC,UAAbA,IAGhC88C,GAAa8B,EAAKkB,aAAa,OAGhCziF,KAAK0a,QAAQlI,WAAW0zY,IAAKlmZ,KAAKmnc,QAAStza,MAAM,WAChD4rD,GAAap7E,EAAGrE,MAAOyiF,aAAa,MAGrCziF,KAAKmnc,OAAOtza,MAAM,WACjBxvB,EAAGrE,MAAO6G,OAAQM,KAAK+K,IAAK,EAAGutE,EAC9Bp7E,EAAGrE,MAAOsuJ,cAAgBjqJ,EAAGrE,MAAO6G,cAEpCya,IAAK,WAAY,SACQ,SAAhB2kb,IACXxmX,EAAY,EACZz/E,KAAKmnc,OAAOtza,MAAM,WACjB4rD,EAAYt4E,KAAK+K,IAAKutE,EAAWp7E,EAAGrE,MAAO6G,OAAQ,IAAKA,aACrDA,OAAQ44E,KAIdsnX,cAAe,SAAUzhb,GACxB,IAAIiZ,EAAUv+B,KAAKu+B,QAClB8zF,EAASryH,KAAKqyH,OAEd4zJ,EADS5hR,EAAGihB,EAAMk0E,eACLhV,QAAS,MACtBmjX,EAAkB1hL,EAAK,KAAQ5zJ,EAAQ,GACvCu1U,EAAaD,GAAmBppa,EAAQyna,YACxC6B,EAASD,EAAavjc,IAAMrE,KAAK0pd,gBAAiBzjM,GAClD6hL,EAAUz1U,EAAOv1H,OAAekD,KAAK0pd,gBAAiBr3V,GAA5BhuH,IAC1B0jc,EAAY,CACX+iB,OAAQz4V,EACR41U,SAAUH,EACVijB,OAAQnjB,EAAavjc,IAAM4hR,EAC3BkiL,SAAUN,GAGZvib,EAAMw1B,iBAEDmrO,EAAIviM,SAAU,sBAGjBuiM,EAAIviM,SAAU,oBAGd1jF,KAAKopd,SAGHzhB,IAAoBppa,EAAQyna,cAG4B,IAAxDhmc,KAAKutb,SAAU,iBAAkBjoa,EAAOyib,KAI5Cxpa,EAAQ8zF,QAASu1U,GAAqB5nc,KAAKupd,KAAKpob,MAAO8kP,GAEvDjmR,KAAKqyH,OAASs1U,EAAkBtjc,IAAM4hR,EACjCjmR,KAAKupX,KACTvpX,KAAKupX,IAAI20C,QAGJ4pC,EAAOhrc,QAAW+qc,EAAO/qc,QAC9BuH,EAAE8uB,MAAO,oDAGL00a,EAAO/qc,QACXkD,KAAK4kB,KAAM5kB,KAAKupd,KAAKpob,MAAO8kP,GAAO3gQ,GAEpCtlB,KAAKooc,QAAS9ib,EAAOyib,KAItBK,QAAS,SAAU9ib,EAAOyib,GACzB,IAAIz7b,EAAOtM,KACV6nc,EAASE,EAAUI,SACnBL,EAASC,EAAUE,SAIpB,SAAStoX,IACRrzE,EAAK88c,SAAU,EACf98c,EAAKihb,SAAU,WAAYjoa,EAAOyib,GAGnC,SAASh2Y,IACRzlD,EAAKw9K,UAAWi+Q,EAAUgjB,OAAOvmY,QAAS,MAAQ,iBAAkB,mBAE/DqjX,EAAO/qc,QAAUwP,EAAKiyB,QAAQwzB,KAClCzlD,EAAKg0c,MAAOzY,EAAQv7b,EAAKiyB,QAAQwzB,KAAM4tB,IAEvCkoX,EAAO91Y,OACP4tB,KAdF3/E,KAAKopd,SAAU,EAmBVthB,EAAOhrc,QAAUkD,KAAKu+B,QAAQqzB,KAClC5xD,KAAK6/c,MAAO/X,EAAQ9nc,KAAKu+B,QAAQqzB,MAAM,WACtCtlD,EAAKohb,aAAcqa,EAAU+iB,OAAOtmY,QAAS,MAC5C,iBAAkB,mBACnBzyB,QAGD/xD,KAAK0tb,aAAcqa,EAAU+iB,OAAOtmY,QAAS,MAC5C,iBAAkB,mBACnBsjX,EAAOl2Y,OACPG,KAGD+1Y,EAAO5ia,KAAM,cAAe,QAC5B6ia,EAAU+iB,OAAO5lb,KAAM,CACtB,gBAAiB,QACjB,gBAAiB,UAMb2ia,EAAO/qc,QAAUgrc,EAAOhrc,OAC5Birc,EAAU+iB,OAAO5lb,KAAM,YAAa,GACzB2ia,EAAO/qc,QAClBkD,KAAKupd,KAAKt2c,QAAQ,WACjB,OAAwC,IAAjC5O,EAAGrE,MAAOklC,KAAM,eAEtBA,KAAM,YAAa,GAGtB2ia,EAAO3ia,KAAM,cAAe,SAC5B6ia,EAAUgjB,OAAO7lb,KAAM,CACtB,gBAAiB,OACjB,gBAAiB,OACjBkpF,SAAU,KAIZwsU,UAAW,SAAUz5Z,GACpB,IAAIo2B,EACH86D,EAASryH,KAAKonc,YAAajma,GAGvBkxF,EAAQ,KAAQryH,KAAKqyH,OAAQ,KAK5BA,EAAOv1H,SACZu1H,EAASryH,KAAKqyH,QAGf96D,EAAS86D,EAAO/kD,KAAM,mBAAqB,GAC3CttE,KAAK+mc,cAAe,CACnBpqc,OAAQ46D,EACRiiC,cAAejiC,EACfzc,eAAgBz2C,EAAE2+E,SAIpBokX,YAAa,SAAUjma,GACtB,OAAiB,IAAVA,EAAkB98B,IAAMrE,KAAKupd,KAAKlnU,GAAIlhH,IAG9C6pb,UAAW,SAAU7pb,GAQpB,MALsB,kBAAVA,IACXA,EAAQnhC,KAAKwpd,QAAQrob,MAAOnhC,KAAKwpd,QAAQv2c,OAAQ,WAChD5O,EAAE4xC,GAAG0vW,eAAgBxkX,GAAU,QAG1BA,GAGRssZ,SAAU,WACJztb,KAAKupX,KACTvpX,KAAKupX,IAAI20C,QAGVl+Z,KAAKuqd,QACHjqY,WAAY,QACZ18B,IAAK5jD,KAAK8sb,gBAEZ9sb,KAAKwpd,QACHlpY,WAAY,iBACZgzW,iBAEFtzb,KAAKupd,KAAKh3a,IAAKvyC,KAAKmnc,QAAStza,MAAM,WAC7BxvB,EAAE2M,KAAMhR,KAAM,mBAClBqE,EAAGrE,MAAOigC,SAEV57B,EAAGrE,MAAOsgF,WAAY,gGAKxBtgF,KAAKupd,KAAK11b,MAAM,WACf,IAAI6kM,EAAKr0N,EAAGrE,MACX25E,EAAO++I,EAAG1nN,KAAM,yBACZ2oE,EACJ++I,EACExzL,KAAM,gBAAiBy0C,GACvBkH,WAAY,yBAEd63I,EAAGp4I,WAAY,oBAIjBtgF,KAAKmnc,OAAOp1Y,OAEsB,YAA7B/xD,KAAKu+B,QAAQ0na,aACjBjmc,KAAKmnc,OAAO7lb,IAAK,SAAU,KAI7B4sa,OAAQ,SAAU/sZ,GACjB,IAAIynD,EAAW5oF,KAAKu+B,QAAQqqD,UACV,IAAbA,SAIUhpD,IAAVuB,EACJynD,GAAW,GAEXznD,EAAQnhC,KAAKgrd,UAAW7pb,GAEvBynD,EADIvkF,EAAE3D,QAASkoF,GACJvkF,EAAEojB,IAAKmhE,GAAU,SAAUyjD,GACrC,OAAOA,IAAQlrG,EAAQkrG,EAAM,QAGnBhoI,EAAEojB,IAAKznB,KAAKupd,MAAM,SAAU7wP,EAAIrsF,GAC1C,OAAOA,IAAQlrG,EAAQkrG,EAAM,SAIhCrsI,KAAKstb,mBAAoB1kW,KAG1B++T,QAAS,SAAUxmX,GAClB,IAAIynD,EAAW5oF,KAAKu+B,QAAQqqD,SAC5B,IAAkB,IAAbA,EAAL,CAIA,QAAehpD,IAAVuB,EACJynD,GAAW,MACL,CAEN,GADAznD,EAAQnhC,KAAKgrd,UAAW7pb,IACe,IAAlC98B,EAAE8+C,QAAShiB,EAAOynD,GACtB,OAGAA,EADIvkF,EAAE3D,QAASkoF,GACJvkF,EAAEmwD,MAAO,CAAErzB,GAASynD,GAAW5lC,OAE/B,CAAE7hB,GAGfnhC,KAAKstb,mBAAoB1kW,KAG1BhkE,KAAM,SAAUuc,EAAO7b,GACtB6b,EAAQnhC,KAAKgrd,UAAW7pb,GACxB,IAAI70B,EAAOtM,KACVimR,EAAMjmR,KAAKupd,KAAKlnU,GAAIlhH,GACpBo2B,EAAS0uN,EAAI34M,KAAM,mBACnB25V,EAAQjna,KAAK0pd,gBAAiBzjM,GAC9B8hL,EAAY,CACX9hL,IAAKA,EACLghJ,MAAOA,GAERtnV,EAAW,SAAUo8U,EAAOv1O,GACX,UAAXA,GACJl6K,EAAK66b,OAAO1jc,MAAM,GAAO,GAG1B6I,EAAKohb,aAAcznK,EAAK,mBACxBghJ,EAAM3mV,WAAY,aAEby7U,IAAUzvZ,EAAKi9W,YACZj9W,EAAKi9W,KAKVvpX,KAAKipd,SAAU1xZ,EAAQ,MAI5Bv3D,KAAKupX,IAAMllX,EAAEsD,KAAM3H,KAAKird,cAAe1zZ,EAAQjyC,EAAOyib,IAKjD/nc,KAAKupX,KAA+B,aAAxBvpX,KAAKupX,IAAI40C,aACzBn+Z,KAAK8pL,UAAWm8F,EAAK,mBACrBghJ,EAAM/hY,KAAM,YAAa,QAEzBllC,KAAKupX,IACHzoX,MAAM,SAAUguL,EAAUtI,EAAQu1O,GAIlClnY,YAAY,WACXoyY,EAAMxxX,KAAMq5I,GACZxiL,EAAKihb,SAAU,OAAQjoa,EAAOyib,GAE9BpoX,EAAUo8U,EAAOv1O,KACf,MAEHg8E,MAAM,SAAUu5J,EAAOv1O,GAIvB3xJ,YAAY,WACX8qD,EAAUo8U,EAAOv1O,KACf,SAKPykS,cAAe,SAAU1zZ,EAAQjyC,EAAOyib,GACvC,IAAIz7b,EAAOtM,KACX,MAAO,CAIN4H,IAAK2vD,EAAOryB,KAAM,QAASz9B,QAAS,OAAQ,IAC5C+2Z,WAAY,SAAUzC,EAAOpzZ,GAC5B,OAAO2D,EAAKihb,SAAU,aAAcjoa,EACnCjhB,EAAE+wC,OAAQ,CAAE2mX,MAAOA,EAAOO,aAAc3zZ,GAAYo/b,OAKxD2hB,gBAAiB,SAAUzjM,GAC1B,IAAI9hQ,EAAK9f,EAAG4hR,GAAM/gP,KAAM,iBACxB,OAAOllC,KAAK0a,QAAQ4yD,KAAMttE,KAAKqqd,kBAAmB,IAAMlmc,QAMlC,IAAnB9f,EAAEy3b,cAGNz3b,EAAE88E,OAAQ,UAAW98E,EAAE4xC,GAAGsza,KAAM,CAC/BF,aAAc,WACbrpd,KAAKgsb,YAAa7rb,WAClBH,KAAK8pL,UAAW9pL,KAAKupd,KAAM,aAKZlld,EAAE4xC,GAAGsza,KAuBvBlld,EAAE88E,OAAQ,aAAc,CACvBvyC,QAAS,SACTrQ,QAAS,CACRm/G,QAAS,CACR,aAAc,kCAEf/1H,QAAS,WAIR,IAAInD,EAAQngB,EAAGrE,MAAOklC,KAAM,UAAa,GAGzC,OAAO7gC,EAAG,OAAQ4P,KAAMuQ,GAAQixB,QAEjCmc,MAAM,EAGNqxB,MAAO,0BACPtgD,SAAU,CACT0/C,GAAI,cACJC,GAAI,cACJE,UAAW,gBAEZzwB,MAAM,EACNqmX,OAAO,EAGPtxO,MAAO,KACP9+L,KAAM,MAGPkjd,gBAAiB,SAAU3pY,EAAMp9D,GAChC,IAAIgnc,GAAgB5pY,EAAKr8C,KAAM,qBAAwB,IAAK34B,MAAO,OACnE4+c,EAAYrkd,KAAMqd,GAClBo9D,EACEvwE,KAAM,gBAAiBmT,GACvB+gB,KAAM,mBAAoB7gC,EAAEmD,KAAM2jd,EAAY9+c,KAAM,QAGvD++c,mBAAoB,SAAU7pY,GAC7B,IAAIp9D,EAAKo9D,EAAKvwE,KAAM,iBACnBm6c,GAAgB5pY,EAAKr8C,KAAM,qBAAwB,IAAK34B,MAAO,OAC/D40B,EAAQ98B,EAAE8+C,QAASh/B,EAAIgnc,IAER,IAAXhqb,GACJgqb,EAAYzrb,OAAQyB,EAAO,GAG5BogD,EAAKV,WAAY,kBACjBsqY,EAAc9md,EAAEmD,KAAM2jd,EAAY9+c,KAAM,OAEvCk1E,EAAKr8C,KAAM,mBAAoBimb,GAE/B5pY,EAAKjB,WAAY,qBAInB+sW,QAAS,WACRrtb,KAAKmtb,IAAK,CACTnvS,UAAW,OACX07Q,QAAS,SAIV15Z,KAAKqrd,SAAW,GAGhBrrd,KAAKwwJ,QAAU,GAGfxwJ,KAAK8rc,WAAaznc,EAAG,SACnB6gC,KAAM,CACNw6I,KAAM,MACN,YAAa,YACb,gBAAiB,cAEjBxoI,SAAUl3C,KAAKsD,SAAU,GAAI+gB,MAC/BrkB,KAAK8pL,UAAW9pL,KAAK8rc,WAAY,KAAM,+BAEvC9rc,KAAKsrd,eAAiBjnd,EAAG,KAG1Bwpb,WAAY,SAAUxwb,EAAKqC,GAC1B,IAAI4M,EAAOtM,KAEXA,KAAKinD,OAAQ5pD,EAAKqC,GAEL,YAARrC,GACJgH,EAAEwvB,KAAM7zB,KAAKqrd,UAAU,SAAUlnc,EAAIonc,GACpCj/c,EAAKk/c,eAAgBD,EAAY7wc,aAKpC4ya,mBAAoB,SAAU5tb,GAC7BM,KAAMN,EAAQ,WAAa,cAG5B+rd,SAAU,WACT,IAAIn/c,EAAOtM,KAGXqE,EAAEwvB,KAAM7zB,KAAKqrd,UAAU,SAAUlnc,EAAIonc,GACpC,IAAIjmc,EAAQjhB,EAAE2/E,MAAO,QACrB1+D,EAAM3oB,OAAS2oB,EAAMk0E,cAAgB+xX,EAAY7wc,QAAS,GAC1DpO,EAAKw6L,MAAOxhL,GAAO,MAIpBtlB,KAAKsrd,eAAiBtrd,KAAKsrd,eAAe/4a,IACzCvyC,KAAK0a,QAAQ4yD,KAAMttE,KAAKu+B,QAAQ0kD,OAAQwjU,UACtCxzY,QAAQ,WACR,IAAIyH,EAAUrW,EAAGrE,MACjB,GAAK0a,EAAQpW,GAAI,WAChB,OAAOoW,EACL1J,KAAM,mBAAoB0J,EAAQwqB,KAAM,UACxCo7C,WAAY,cAMnBorY,QAAS,WAGR1rd,KAAKsrd,eAAez3b,MAAM,WACzB,IAAInZ,EAAUrW,EAAGrE,MACZ0a,EAAQ1J,KAAM,qBAClB0J,EAAQwqB,KAAM,QAASxqB,EAAQ1J,KAAM,wBAGvChR,KAAKsrd,eAAiBjnd,EAAG,KAG1B2D,KAAM,SAAUsd,GACf,IAAIhZ,EAAOtM,KACVrD,EAAS0H,EAAGihB,EAAQA,EAAM3oB,OAASqD,KAAK0a,SAItC8pE,QAASxkF,KAAKu+B,QAAQ0kD,OAGnBtmF,EAAOG,SAAUH,EAAOqU,KAAM,mBAI/BrU,EAAOuoC,KAAM,UACjBvoC,EAAOqU,KAAM,mBAAoBrU,EAAOuoC,KAAM,UAG/CvoC,EAAOqU,KAAM,mBAAmB,GAG3BsU,GAAwB,cAAfA,EAAMrU,MACnBtU,EAAO6zJ,UAAU38H,MAAM,WACtB,IACC83b,EADG/4c,EAASvO,EAAGrE,MAEX4S,EAAO5B,KAAM,sBACjB26c,EAAYtnd,EAAE2/E,MAAO,SACXrnF,OAASgvd,EAAUnyX,cAAgBx5F,KAC7CsM,EAAKw6L,MAAO6kR,GAAW,IAEnB/4c,EAAOsyB,KAAM,WACjBtyB,EAAO3M,WACPqG,EAAKkkJ,QAASxwJ,KAAKmkB,IAAO,CACzBzJ,QAAS1a,KACTwkB,MAAO5R,EAAOsyB,KAAM,UAErBtyB,EAAOsyB,KAAM,QAAS,QAKzBllC,KAAK4rd,uBAAwBtmc,EAAO3oB,GACpCqD,KAAKwrd,eAAgB7ud,EAAQ2oB,KAG9Bkmc,eAAgB,SAAU7ud,EAAQ2oB,GACjC,IAAIqC,EACHkkc,EAAgB7rd,KAAKu+B,QAAQ5W,QAC7Brb,EAAOtM,KACP4xb,EAAYtsa,EAAQA,EAAMrU,KAAO,KAElC,GAA8B,kBAAlB46c,GAA8BA,EAAch4c,UACtDg4c,EAAcpwE,OACf,OAAOz7Y,KAAKmqc,MAAO7kb,EAAO3oB,EAAQkvd,IAGnClkc,EAAUkkc,EAAc7pd,KAAMrF,EAAQ,IAAK,SAAUmyL,GAIpDxiL,EAAKmpB,QAAQ,WAGN94B,EAAOqU,KAAM,qBASdsU,IACJA,EAAMrU,KAAO2gb,GAEd5xb,KAAKmqc,MAAO7kb,EAAO3oB,EAAQmyL,YAI5B9uL,KAAKmqc,MAAO7kb,EAAO3oB,EAAQgrB,IAI7Bwib,MAAO,SAAU7kb,EAAO3oB,EAAQgrB,GAC/B,IAAI4jc,EAAa3vV,EAASkwV,EAAaC,EACtCC,EAAiB3nd,EAAE+wC,OAAQ,GAAIp1C,KAAKu+B,QAAQoE,UA2C7C,SAASA,EAAUrd,GAClB0mc,EAAezpY,GAAKj9D,EACfs2G,EAAQt3H,GAAI,YAGjBs3H,EAAQj5F,SAAUqpb,GA9Cbrkc,KAMN4jc,EAAcvrd,KAAKisd,MAAOtvd,IAEzB4ud,EAAY3vV,QAAQtuD,KAAM,uBAAwB73B,KAAM9tB,IAWpDhrB,EAAO2H,GAAI,aACVghB,GAAwB,cAAfA,EAAMrU,KACnBtU,EAAOuoC,KAAM,QAAS,IAEtBvoC,EAAO2jF,WAAY,UAIrBirY,EAAcvrd,KAAKksd,SAAUvvd,GAC7Bi/H,EAAU2vV,EAAY3vV,QACtB57H,KAAKkrd,gBAAiBvud,EAAQi/H,EAAQ12F,KAAM,OAC5C02F,EAAQtuD,KAAM,uBAAwB73B,KAAM9tB,GAK5C3nB,KAAK8rc,WAAWt5b,WAAWo/C,QAC3Bm6Z,EAAc1nd,EAAG,SAAUoxC,KAAMmmF,EAAQtuD,KAAM,uBAAwB73B,SAC3D6qC,WAAY,QAAShT,KAAM,UAAWgT,WAAY,QAC9DyrY,EAAYzrY,WAAY,MAAOhT,KAAM,QAASgT,WAAY,MAC1DyrY,EAAY70a,SAAUl3C,KAAK8rc,YAStB9rc,KAAKu+B,QAAQ65Y,OAAS9yZ,GAAS,SAASid,KAAMjd,EAAMrU,OACxDjR,KAAKmtb,IAAKntb,KAAKsD,SAAU,CACxBmhF,UAAW9hD,IAIZA,EAAUrd,IAEVs2G,EAAQj5F,SAAUt+B,EAAE+wC,OAAQ,CAC3BmtC,GAAI5lF,GACFqD,KAAKu+B,QAAQoE,WAGjBi5F,EAAQhqE,OAER5xD,KAAKsgd,MAAO1kV,EAAS57H,KAAKu+B,QAAQwzB,MAM7B/xD,KAAKu+B,QAAQ65Y,OAASp4a,KAAKu+B,QAAQwzB,MAAQ/xD,KAAKu+B,QAAQwzB,KAAKp7B,QACjEm1b,EAAc9rd,KAAK8rd,YAAc1lc,aAAa,WACxCw1G,EAAQt3H,GAAI,cAChBq+B,EAAUqpb,EAAezpY,IACzB/7D,cAAeslc,MAEdznd,EAAE8X,GAAG6xG,WAGThuH,KAAKutb,SAAU,OAAQjoa,EAAO,CAAEs2G,QAASA,OAG1CgwV,uBAAwB,SAAUtmc,EAAO3oB,GACxC,IAAI8pB,EAAS,CACZ2gc,MAAO,SAAU9hc,GAChB,GAAKA,EAAMs2B,UAAYv3C,EAAE4xC,GAAG2F,QAAQ82Y,OAAS,CAC5C,IAAIy5B,EAAY9nd,EAAE2/E,MAAO1+D,GACzB6mc,EAAU3yX,cAAgB78F,EAAQ,GAClCqD,KAAK8mM,MAAOqlR,GAAW,MAOrBxvd,EAAQ,KAAQqD,KAAK0a,QAAS,KAClC+L,EAAOwZ,OAAS,WACfjgC,KAAKosd,eAAgBpsd,KAAKisd,MAAOtvd,GAASi/H,WAItCt2G,GAAwB,cAAfA,EAAMrU,OACpBwV,EAAOi+D,WAAa,SAEfp/D,GAAwB,YAAfA,EAAMrU,OACpBwV,EAAOooa,SAAW,SAEnB7ub,KAAKmtb,KAAK,EAAMxwb,EAAQ8pB,IAGzBqgL,MAAO,SAAUxhL,GAChB,IAAIs2G,EACHtvH,EAAOtM,KACPrD,EAAS0H,EAAGihB,EAAQA,EAAMk0E,cAAgBx5F,KAAK0a,SAC/C6wc,EAAcvrd,KAAKisd,MAAOtvd,GAGrB4ud,GAUN3vV,EAAU2vV,EAAY3vV,QAIjB2vV,EAAYc,UAKjB7lc,cAAexmB,KAAK8rd,aAIfnvd,EAAOqU,KAAM,sBAAyBrU,EAAOuoC,KAAM,UACvDvoC,EAAOuoC,KAAM,QAASvoC,EAAOqU,KAAM,qBAGpChR,KAAKord,mBAAoBzud,GAEzB4ud,EAAYe,QAAS,EACrB1wV,EAAQn4H,MAAM,GACdzD,KAAK6/c,MAAOjkV,EAAS57H,KAAKu+B,QAAQqzB,MAAM,WACvCtlD,EAAK8/c,eAAgB/nd,EAAGrE,UAGzBrD,EAAOkkF,WAAY,mBACnB7gF,KAAK0ub,KAAM/xb,EAAQ,6BAGdA,EAAQ,KAAQqD,KAAK0a,QAAS,IAClC1a,KAAK0ub,KAAM/xb,EAAQ,UAEpBqD,KAAK0ub,KAAM1ub,KAAKsD,SAAU,aAErBgiB,GAAwB,eAAfA,EAAMrU,MACnB5M,EAAEwvB,KAAM7zB,KAAKwwJ,SAAS,SAAUrsI,EAAIvR,GACnCvO,EAAGuO,EAAO8H,SAAUwqB,KAAM,QAAStyB,EAAO4R,cACnClY,EAAKkkJ,QAASrsI,MAIvBonc,EAAYc,SAAU,EACtBrsd,KAAKutb,SAAU,QAASjoa,EAAO,CAAEs2G,QAASA,IACpC2vV,EAAYe,SACjBf,EAAYc,SAAU,KAhDtB1vd,EAAOkkF,WAAY,oBAoDrBqrY,SAAU,SAAUxxc,GACnB,IAAIkhH,EAAUv3H,EAAG,SAAU6gC,KAAM,OAAQ,WACxCvd,EAAUtjB,EAAG,SAAU6yC,SAAU0kF,GACjCz3G,EAAKy3G,EAAQ31H,WAAWi/B,KAAM,MAO/B,OALAllC,KAAK8pL,UAAWniK,EAAS,sBACzB3nB,KAAK8pL,UAAWluD,EAAS,aAAc,+BAEvCA,EAAQ1kF,SAAUl3C,KAAK4rc,UAAWlxb,IAE3B1a,KAAKqrd,SAAUlnc,GAAO,CAC5BzJ,QAASA,EACTkhH,QAASA,IAIXqwV,MAAO,SAAUtvd,GAChB,IAAIwnB,EAAKxnB,EAAOqU,KAAM,iBACtB,OAAOmT,EAAKnkB,KAAKqrd,SAAUlnc,GAAO,MAGnCioc,eAAgB,SAAUxwV,GACzBA,EAAQ37F,gBACDjgC,KAAKqrd,SAAUzvV,EAAQ12F,KAAM,QAGrC0ma,UAAW,SAAUjvc,GACpB,IAAI+d,EAAU/d,EAAO6nF,QAAS,qBAM9B,OAJM9pE,EAAQ5d,SACb4d,EAAU1a,KAAKsD,SAAU,GAAI+gB,MAGvB3J,GAGR+ya,SAAU,WACT,IAAInhb,EAAOtM,KAGXqE,EAAEwvB,KAAM7zB,KAAKqrd,UAAU,SAAUlnc,EAAIonc,GAGpC,IAAIjmc,EAAQjhB,EAAE2/E,MAAO,QACpBtpE,EAAU6wc,EAAY7wc,QACvB4K,EAAM3oB,OAAS2oB,EAAMk0E,cAAgB9+E,EAAS,GAC9CpO,EAAKw6L,MAAOxhL,GAAO,GAInBjhB,EAAG,IAAM8f,GAAK8b,SAGTvlB,EAAQ1J,KAAM,sBAGZ0J,EAAQwqB,KAAM,UACnBxqB,EAAQwqB,KAAM,QAASxqB,EAAQ1J,KAAM,qBAEtC0J,EAAQmmE,WAAY,wBAGtB7gF,KAAK8rc,WAAW7ra,aAMM,IAAnB57B,EAAEy3b,cAGNz3b,EAAE88E,OAAQ,aAAc98E,EAAE4xC,GAAG2lF,QAAS,CACrCr9F,QAAS,CACR0nI,aAAc,MAEfimT,SAAU,WACT,IAAIX,EAAcvrd,KAAKgsb,YAAa7rb,WAIpC,OAHKH,KAAKu+B,QAAQ0nI,cACjBslT,EAAY3vV,QAAQtkF,SAAUt3C,KAAKu+B,QAAQ0nI,cAErCslT,KAKWlnd,EAAE4xC,GAAG2lF,QAA1B,IA4BCz3H,EAASE,EAEVA,EAAE4pX,QAAU,CACXhsE,OAAQ,IAaT,SAAY99S,EAAQy7B,GAEnB,IAwHAixJ,EApHA07R,EAAc,0BAGdC,EAAgB,CAAE,CAChBz6b,GAAI,sFACJuS,MAAO,SAAUmob,GAChB,MAAO,CACNA,EAAY,GACZA,EAAY,GACZA,EAAY,GACZA,EAAY,MAGZ,CACF16b,GAAI,8GACJuS,MAAO,SAAUmob,GAChB,MAAO,CACY,KAAlBA,EAAY,GACM,KAAlBA,EAAY,GACM,KAAlBA,EAAY,GACZA,EAAY,MAGZ,CAGF16b,GAAI,2CACJuS,MAAO,SAAUmob,GAChB,MAAO,CACNvuc,SAAUuuc,EAAY,GAAK,IAC3Bvuc,SAAUuuc,EAAY,GAAK,IAC3Bvuc,SAAUuuc,EAAY,GAAK,OAG3B,CAGF16b,GAAI,kCACJuS,MAAO,SAAUmob,GAChB,MAAO,CACNvuc,SAAUuuc,EAAY,GAAMA,EAAY,GAAK,IAC7Cvuc,SAAUuuc,EAAY,GAAMA,EAAY,GAAK,IAC7Cvuc,SAAUuuc,EAAY,GAAMA,EAAY,GAAK,OAG7C,CACF16b,GAAI,4GACJ26b,MAAO,OACPpob,MAAO,SAAUmob,GAChB,MAAO,CACNA,EAAY,GACZA,EAAY,GAAM,IAClBA,EAAY,GAAM,IAClBA,EAAY,OAMhB1id,EAAQ5F,EAAOsyD,MAAQ,SAAU1sD,EAAOqiB,EAAO3C,EAAMZ,GACpD,OAAO,IAAI1kB,EAAOsyD,MAAMn5B,GAAGgH,MAAOv6B,EAAOqiB,EAAO3C,EAAMZ,IAEvD8jc,EAAS,CACRnpc,KAAM,CACL5mB,MAAO,CACNuzB,IAAK,CACJsP,IAAK,EACLxuB,KAAM,QAEPmb,MAAO,CACNqT,IAAK,EACLxuB,KAAM,QAEPwY,KAAM,CACLgW,IAAK,EACLxuB,KAAM,UAKTy6V,KAAM,CACL9uW,MAAO,CACN0uW,IAAK,CACJ7rU,IAAK,EACLxuB,KAAM,WAEPu6V,WAAY,CACX/rU,IAAK,EACLxuB,KAAM,WAEPw6V,UAAW,CACVhsU,IAAK,EACLxuB,KAAM,cAKVo8G,EAAY,CACX,KAAQ,CACPxvG,OAAO,EACP3L,IAAK,KAEN,QAAW,CACVA,IAAK,GAEN,QAAW,CACV48H,IAAK,IACLjxH,OAAO,IAGTkjE,EAAUh3E,EAAMg3E,QAAU,GAG1B6rY,EAAczod,EAAQ,OAAS,GAM/B0vB,EAAO1vB,EAAO0vB,KAiBf,SAASm0H,EAAOtoJ,EAAO8F,EAAMqnd,GAC5B,IAAI57c,EAAOo8G,EAAW7nH,EAAKyL,OAAU,GAErC,OAAc,MAATvR,EACKmtd,IAAernd,EAAKkE,IAAQ,KAAOlE,EAAKkE,KAIlDhK,EAAQuR,EAAK4M,QAAUne,EAAQ6J,WAAY7J,GAItCsO,MAAOtO,GACJ8F,EAAKkE,IAGRuH,EAAK69H,KAIApvI,EAAQuR,EAAK69H,KAAQ79H,EAAK69H,IAI7B,EAAIpvI,EAAQ,EAAIuR,EAAKiB,IAAMxS,EAAQuR,EAAKiB,IAAMxS,GAGtD,SAASotd,EAAa9iW,GACrB,IAAI8vU,EAAO/vb,IACVyZ,EAAOs2a,EAAKizB,MAAQ,GAwBrB,OAtBA/iW,EAASA,EAAOnxG,cAEhBgb,EAAM24b,GAAe,SAAU3vd,EAAGm+W,GACjC,IAAIvzC,EACHj+T,EAAQwxW,EAAOjpV,GAAGK,KAAM43F,GACxBvsG,EAASjU,GAASwxW,EAAO12U,MAAO96B,GAChCwjd,EAAYhyG,EAAO0xG,OAAS,OAE7B,GAAKjvc,EASJ,OARAgqT,EAASqyH,EAAMkzB,GAAavvc,GAI5Bq8a,EAAM6yB,EAAQK,GAAYzkX,OAAUk/N,EAAQklJ,EAAQK,GAAYzkX,OAChE/kF,EAAOs2a,EAAKizB,MAAQtlJ,EAAOslJ,OAGpB,KAKJvpc,EAAK1mB,QAIY,YAAhB0mB,EAAKnX,QACTlI,EAAOixC,OAAQ5xB,EAAMqtK,EAAOo8R,aAEtBnzB,GAIDjpQ,EAAQ7mE,GAyNhB,SAASqhP,EAASpoW,EAAGolH,EAAGr0F,GAEvB,OAAS,GADTA,GAAMA,EAAI,GAAM,GACH,EACL/wB,GAAMolH,EAAIplH,GAAM+wB,EAAI,EAEnB,EAAJA,EAAQ,EACLq0F,EAEC,EAAJr0F,EAAQ,EACL/wB,GAAMolH,EAAIplH,IAAU,EAAI,EAAM+wB,GAAM,EAErC/wB,EAlTR2pd,EAAYl6c,MAAMsgB,QAAU,kCAC5B+tD,EAAQv9D,KAAOopc,EAAYl6c,MAAM0zD,gBAAgB/7D,QAAS,SAAY,EAItEwpB,EAAM84b,GAAQ,SAAUK,EAAWN,GAClCA,EAAMnkX,MAAQ,IAAMykX,EACpBN,EAAM9vd,MAAMisB,MAAQ,CACnB4W,IAAK,EACLxuB,KAAM,UACNvH,IAAK,MAuEPK,EAAMuzB,GAAKn5B,EAAOixC,OAAQrrC,EAAMtM,UAAW,CAC1C6mC,MAAO,SAAUnU,EAAK/D,EAAO3C,EAAMZ,GAClC,QAnNF,IAmNOsH,EAEJ,OADAnwB,KAAK+sd,MAAQ,CAAE,KAAM,KAAM,KAAM,MAC1B/sd,MAEHmwB,EAAIsrX,QAAUtrX,EAAItc,YACtBsc,EAAMhsB,EAAQgsB,GAAM7O,IAAK8K,GACzBA,OAzNH,GA4NE,IAAI0ta,EAAO95b,KACViR,EAAO9M,EAAO8M,KAAMkf,GACpB3M,EAAOxjB,KAAK+sd,MAAQ,GAQrB,YAtOF,IAiOO3gc,IACJ+D,EAAM,CAAEA,EAAK/D,EAAO3C,EAAMZ,GAC1B5X,EAAO,SAGM,WAATA,EACGjR,KAAKskC,MAAOwob,EAAa38b,IAAS0gK,EAAO07N,UAGnC,UAATt7Y,GACJ4iB,EAAM84b,EAAOnpc,KAAK5mB,OAAO,SAAUS,EAAKmI,GACvCge,EAAMhe,EAAKi6B,KAAQuoH,EAAO73H,EAAK3qB,EAAKi6B,KAAOj6B,MAErCxF,MAGM,WAATiR,GAEH4iB,EAAM84b,EADFx8b,aAAepmB,EACL,SAAUijd,EAAWN,GAC7Bv8b,EAAKu8b,EAAMnkX,SACfuxV,EAAM4yB,EAAMnkX,OAAUp4E,EAAKu8b,EAAMnkX,OAAQv2D,UAI7B,SAAUg7a,EAAWN,GAClC,IAAInkX,EAAQmkX,EAAMnkX,MAClB10E,EAAM64b,EAAM9vd,OAAO,SAAUS,EAAKmI,GAGjC,IAAMs0b,EAAMvxV,IAAWmkX,EAAMlvc,GAAK,CAIjC,GAAa,UAARngB,GAAiC,MAAd8yB,EAAK9yB,GAC5B,OAEDy8b,EAAMvxV,GAAUmkX,EAAMlvc,GAAIs8a,EAAKizB,OAKhCjzB,EAAMvxV,GAAS/iG,EAAKi6B,KAAQuoH,EAAO73H,EAAK9yB,GAAOmI,GAAM,MAIjDs0b,EAAMvxV,IACTpkG,EAAOg/C,QAAS,KAAM22Y,EAAMvxV,GAAQv2D,MAAO,EAAG,IAAQ,IAGvD8nZ,EAAMvxV,GAAS,GAAM,EAChBmkX,EAAM3zc,OACV+gb,EAAKizB,MAAQL,EAAM3zc,KAAM+gb,EAAMvxV,QAK5BvoG,WAxCR,GA2CDsE,GAAI,SAAU6gJ,GACb,IAAI7gJ,EAAKyF,EAAOo7I,GACf+nU,GAAO,EACPpzB,EAAO95b,KAgBR,OAdA6zB,EAAM84b,GAAQ,SAAUp4b,EAAGm4b,GAC1B,IAAIS,EACHC,EAAU9od,EAAIood,EAAMnkX,OAUrB,OATK6kX,IACJD,EAAarzB,EAAM4yB,EAAMnkX,QAAWmkX,EAAMlvc,IAAMkvc,EAAMlvc,GAAIs8a,EAAKizB,QAAW,GAC1El5b,EAAM64b,EAAM9vd,OAAO,SAAU23B,EAAG/uB,GAC/B,GAA4B,MAAvB4nd,EAAS5nd,EAAKi6B,KAElB,OADAytb,EAASE,EAAS5nd,EAAKi6B,OAAU0tb,EAAY3nd,EAAKi6B,SAK9Cytb,KAEDA,GAERG,OAAQ,WACP,IAAIC,EAAO,GACVxzB,EAAO95b,KAMR,OALA6zB,EAAM84b,GAAQ,SAAUK,EAAWN,GAC7B5yB,EAAM4yB,EAAMnkX,QAChB+kX,EAAKxmd,KAAMkmd,MAGNM,EAAKtmd,OAEbgmT,WAAY,SAAUjwQ,EAAOuqB,GAC5B,IAAIh0B,EAAMvpC,EAAOgzC,GAChBiwa,EAAY15a,EAAI+5a,SAChBX,EAAQC,EAAQK,GAChBO,EAA8B,IAAjBvtd,KAAK6oB,QAAgB9e,EAAO,eAAkB/J,KAC3D8X,EAAQy1c,EAAYb,EAAMnkX,QAAWmkX,EAAMlvc,GAAI+vc,EAAWR,OAC1Dltd,EAASiY,EAAMk6B,QA4BhB,OA1BAsB,EAAMA,EAAKo5a,EAAMnkX,OACjB10E,EAAM64b,EAAM9vd,OAAO,SAAUS,EAAKmI,GACjC,IAAI27B,EAAQ37B,EAAKi6B,IAChB+tb,EAAa11c,EAAOqpB,GACpBssb,EAAWn6a,EAAKnS,GAChBlwB,EAAOo8G,EAAW7nH,EAAKyL,OAAU,GAGhB,OAAbw8c,IAKe,OAAfD,EACJ3td,EAAQshC,GAAUssb,GAEbx8c,EAAK69H,MACJ2+U,EAAWD,EAAav8c,EAAK69H,IAAM,EACvC0+U,GAAcv8c,EAAK69H,IACR0+U,EAAaC,EAAWx8c,EAAK69H,IAAM,IAC9C0+U,GAAcv8c,EAAK69H,MAGrBjvI,EAAQshC,GAAU6mH,GAASylU,EAAWD,GAAelmZ,EAAWkmZ,EAAYhod,QAGvExF,KAAMgtd,GAAantd,IAE3B8mH,MAAO,SAAU+mW,GAGhB,GAAyB,IAApB1td,KAAK+sd,MAAO,GAChB,OAAO/sd,KAGR,IAAIumN,EAAMvmN,KAAK+sd,MAAM/6a,QACpBrlC,EAAI45M,EAAIv/M,MACR2/G,EAAQ58G,EAAO2jd,GAASX,MAEzB,OAAOhjd,EAAO5F,EAAOsjB,IAAK8+L,GAAK,SAAUr5M,EAAGrQ,GAC3C,OAAS,EAAI8P,GAAMg6G,EAAO9pH,GAAM8P,EAAIO,OAGtCygd,aAAc,WACb,IAAIhob,EAAS,QACZniB,EAAOrf,EAAOsjB,IAAKznB,KAAK+sd,OAAO,SAAU7/c,EAAGrQ,GAC3C,OAAY,MAALqQ,EAAcrQ,EAAI,EAAI,EAAI,EAAMqQ,KAQzC,OALmB,IAAdsW,EAAM,KACVA,EAAKxc,MACL2+B,EAAS,QAGHA,EAASniB,EAAKnX,OAAS,KAE/Buhd,aAAc,WACb,IAAIjob,EAAS,QACZ+lU,EAAOvnW,EAAOsjB,IAAKznB,KAAK0rW,QAAQ,SAAUx+V,EAAGrQ,GAS5C,OARU,MAALqQ,IACJA,EAAIrQ,EAAI,EAAI,EAAI,GAIZA,GAAKA,EAAI,IACbqQ,EAAI/F,KAAKi9G,MAAW,IAAJl3G,GAAY,KAEtBA,KAOT,OAJmB,IAAdw+V,EAAM,KACVA,EAAK1kW,MACL2+B,EAAS,QAEHA,EAAS+lU,EAAKr/V,OAAS,KAE/Bg0L,YAAa,SAAUwtR,GACtB,IAAIrqc,EAAOxjB,KAAK+sd,MAAM/6a,QACrBnpB,EAAQrF,EAAKxc,MAMd,OAJK6md,GACJrqc,EAAK1c,QAAkB,IAAR+hB,IAGT,IAAM1kB,EAAOsjB,IAAKjE,GAAM,SAAUtW,GAIxC,OAAoB,KADpBA,GAAMA,GAAK,GAAId,SAAU,KAChBtP,OAAe,IAAMoQ,EAAIA,KAC/Bb,KAAM,KAEXD,SAAU,WACT,OAA2B,IAApBpM,KAAK+sd,MAAO,GAAY,cAAgB/sd,KAAK2td,kBAGtD5jd,EAAMuzB,GAAGgH,MAAM7mC,UAAYsM,EAAMuzB,GAmBjCqvb,EAAOjhH,KAAKluV,GAAK,SAAUgG,GAC1B,GAAkB,MAAbA,EAAM,IAA4B,MAAbA,EAAM,IAA4B,MAAbA,EAAM,GACpD,MAAO,CAAE,KAAM,KAAM,KAAMA,EAAM,IAElC,IASCwQ,EAAGpzB,EATA2B,EAAIihB,EAAM,GAAM,IACnBvZ,EAAIuZ,EAAM,GAAM,IAChBtZ,EAAIsZ,EAAM,GAAM,IAChB7W,EAAI6W,EAAM,GACVtR,EAAM/K,KAAK+K,IAAK3P,EAAG0H,EAAGC,GACtB8H,EAAM7K,KAAK6K,IAAKzP,EAAG0H,EAAGC,GACtB0nF,EAAO1/E,EAAMF,EACbugC,EAAMrgC,EAAMF,EACZjQ,EAAU,GAANwwC,EAsBL,OAlBCve,EADIhiB,IAAQE,EACR,EACO3P,IAAM2P,EACX,IAAOjI,EAAIC,GAAM0nF,EAAS,IACrB3nF,IAAMiI,EACX,IAAOhI,EAAI3H,GAAMqvF,EAAS,IAE1B,IAAOrvF,EAAI0H,GAAM2nF,EAAS,IAMhChxF,EADa,IAATgxF,EACA,EACO7vF,GAAK,GACZ6vF,EAAOr/C,EAEPq/C,GAAS,EAAIr/C,GAEX,CAAEprC,KAAKi9G,MAAOpwF,GAAM,IAAKpzB,EAAGmB,EAAQ,MAAL4K,EAAY,EAAIA,IAGvDggd,EAAOjhH,KAAK3yV,KAAO,SAAU2yV,GAC5B,GAAkB,MAAbA,EAAM,IAA4B,MAAbA,EAAM,IAA4B,MAAbA,EAAM,GACpD,MAAO,CAAE,KAAM,KAAM,KAAMA,EAAM,IAElC,IAAI13U,EAAI03U,EAAM,GAAM,IACnB9qW,EAAI8qW,EAAM,GACV3pW,EAAI2pW,EAAM,GACV/+V,EAAI++V,EAAM,GACVrjP,EAAItmH,GAAK,GAAMA,GAAM,EAAInB,GAAMmB,EAAInB,EAAImB,EAAInB,EAC3CqC,EAAI,EAAIlB,EAAIsmH,EAEb,MAAO,CACNlhH,KAAKi9G,MAAwC,IAAjCinP,EAASpoW,EAAGolH,EAAGr0F,EAAM,EAAI,IACrC7sB,KAAKi9G,MAA4B,IAArBinP,EAASpoW,EAAGolH,EAAGr0F,IAC3B7sB,KAAKi9G,MAAwC,IAAjCinP,EAASpoW,EAAGolH,EAAGr0F,EAAM,EAAI,IACrCrnB,IAIFknB,EAAM84b,GAAQ,SAAUK,EAAWN,GAClC,IAAI9vd,EAAQ8vd,EAAM9vd,MACjB2rG,EAAQmkX,EAAMnkX,MACd/qF,EAAKkvc,EAAMlvc,GACXzE,EAAO2zc,EAAM3zc,KAGdhP,EAAMuzB,GAAI0vb,GAAc,SAAUttd,GAMjC,GAHK8d,IAAOxd,KAAMuoG,KACjBvoG,KAAMuoG,GAAU/qF,EAAIxd,KAAK+sd,aAxf5B,IA0fOrtd,EACJ,OAAOM,KAAMuoG,GAAQv2D,QAGtB,IAAIr0B,EACH1M,EAAO9M,EAAO8M,KAAMvR,GACpBu1C,EAAiB,UAAThkC,GAA6B,WAATA,EAAsBvR,EAAQS,UAC1D2td,EAAQ9td,KAAMuoG,GAAQv2D,QAUvB,OARAne,EAAMj3B,GAAO,SAAUS,EAAKmI,GAC3B,IAAIke,EAAMuxB,EAAc,WAAThkC,EAAoB5T,EAAMmI,EAAKi6B,KAClC,MAAP/b,IACJA,EAAMoqc,EAAOtod,EAAKi6B,MAEnBqub,EAAOtod,EAAKi6B,KAAQuoH,EAAOtkI,EAAKle,MAG5BuT,IACJ4E,EAAM5T,EAAOgP,EAAM+0c,KACdvlX,GAAUulX,EACRnwc,GAEA5T,EAAO+jd,IAKhBj6b,EAAMj3B,GAAO,SAAUS,EAAKmI,GAGtBuE,EAAMuzB,GAAIjgC,KAGf0M,EAAMuzB,GAAIjgC,GAAQ,SAAUqC,GAC3B,IAIC8J,EAJGukd,EAAQ5pd,EAAO8M,KAAMvR,GACxB49B,EAAe,UAARjgC,EAAoB2C,KAAKgud,MAAQ,OAAS,OAAWhB,EAC5Dc,EAAQ9td,KAAMs9B,KACdq0G,EAAMm8U,EAAOtod,EAAKi6B,KAGnB,MAAe,cAAVsub,EACGp8U,GAGO,aAAVo8U,IACJrud,EAAQA,EAAMsC,KAAMhC,KAAM2xI,GAC1Bo8U,EAAQ5pd,EAAO8M,KAAMvR,IAER,MAATA,GAAiB8F,EAAK4sJ,MACnBpyJ,MAEO,WAAV+td,IACJvkd,EAAQ+id,EAAYn6b,KAAM1yB,MAEzBA,EAAQiyI,EAAMpoI,WAAYC,EAAO,KAAyB,MAAfA,EAAO,GAAc,GAAK,IAGvEskd,EAAOtod,EAAKi6B,KAAQ//B,EACbM,KAAMs9B,GAAMwwb,aAOtB/jd,EAAM0rU,KAAO,SAAUA,GACtB,IAAI2F,EAAQ3F,EAAKlpU,MAAO,KACxBsnB,EAAMunT,GAAO,SAAUv+U,EAAG44U,GACzBtxU,EAAO8wZ,SAAUx/E,GAAS,CACzBjpU,IAAK,SAAU+0E,EAAM7hF,GACpB,IAAI+nU,EAAQ85F,EACXn7V,EAAkB,GAEnB,GAAe,gBAAV1mE,IAAsD,WAAzByE,EAAO8M,KAAMvR,KAC3C+nU,EAASqlJ,EAAaptd,KAAc,CAEvC,GADAA,EAAQqK,EAAO09T,GAAU/nU,IACnBqhF,EAAQv9D,MAA6B,IAArB9jB,EAAMqtd,MAAO,GAAY,CAE9C,IADAxrD,EAAmB,oBAAT9rF,EAA6Bl0P,EAAK57D,WAAa47D,GAElC,KAApBnb,GAA8C,gBAApBA,IAC5Bm7V,GAAWA,EAAQ7uZ,OAEnB,IACC0zD,EAAkBjiE,EAAOmd,IAAKigZ,EAAS,mBACvCA,EAAUA,EAAQ57Y,WACjB,MAAQ5kB,IAIXrB,EAAQA,EAAMinH,MAAOvgD,GAAuC,gBAApBA,EACvCA,EACA,YAGF1mE,EAAQA,EAAMiud,eAEf,IACCpsY,EAAK7uE,MAAO+iU,GAAS/1U,EACpB,MAAQqB,OAOZoD,EAAOgY,GAAG7a,KAAMm0U,GAAS,SAAUt5T,GAC5BA,EAAG8xc,YACR9xc,EAAGrE,MAAQ/N,EAAOoS,EAAGolE,KAAMk0P,GAC3Bt5T,EAAGm3B,IAAMvpC,EAAOoS,EAAGm3B,KACnBn3B,EAAG8xc,WAAY,GAEhB9pd,EAAO8wZ,SAAUx/E,GAAOjpU,IAAK2P,EAAGolE,KAAMplE,EAAGrE,MAAMk1S,WAAY7wS,EAAGm3B,IAAKn3B,EAAGg3B,WAMzEppC,EAAM0rU,KA7mBW,8JA+mBjBtxU,EAAO8wZ,SAAS/8E,YAAc,CAC7Bz6Q,OAAQ,SAAU/9D,GACjB,IAAIuxH,EAAW,GAKf,OAHAp9F,EAAM,CAAE,MAAO,QAAS,SAAU,SAAU,SAAUh3B,EAAGiiC,GACxDmyF,EAAU,SAAWnyF,EAAO,SAAYp/B,KAElCuxH,IAOT4/D,EAAS1sL,EAAOsyD,MAAMs3K,MAAQ,CAG7B7kN,KAAM,UACNK,MAAO,UACPE,KAAM,UACNqC,QAAS,UACTK,KAAM,UACNC,MAAO,UACP0B,KAAM,UACNI,OAAQ,UACRe,KAAM,UACNE,MAAO,UACPe,OAAQ,UACRC,IAAK,UACLS,OAAQ,UACRO,KAAM,UACNO,MAAO,UACPE,OAAQ,UAGRq7b,YAAa,CAAE,KAAM,KAAM,KAAM,GAEjC1gE,SAAU,WAtpBX,CAypBKpoZ,GAKL,WAEA,IAAI+pd,EAAwB,CAAE,MAAO,SAAU,UAC9CC,EAAkB,CACjBpuS,OAAQ,EACRquS,aAAc,EACdl2I,YAAa,EACbm2I,WAAY,EACZC,YAAa,EACbv8T,UAAW,EACXw8T,YAAa,EACb9xY,OAAQ,EACRjQ,QAAS,GAeX,SAASgiZ,EAAkBjtY,GAC1B,IAAIlkF,EAAK2nC,EACRtyB,EAAQ6uE,EAAKr3C,cAAcumQ,YAC1BlvN,EAAKr3C,cAAcumQ,YAAYt6R,iBAAkBorE,EAAM,MACvDA,EAAKktY,aACNn8c,EAAS,GAEV,GAAKI,GAASA,EAAM5V,QAAU4V,EAAO,IAAOA,EAAOA,EAAO,IAEzD,IADAsyB,EAAMtyB,EAAM5V,OACJkoC,KAEsB,kBAAjBtyB,EADZrV,EAAMqV,EAAOsyB,MAEZ1yB,EAAQjO,EAAEquU,UAAWr1U,IAAUqV,EAAOrV,SAMxC,IAAMA,KAAOqV,EACiB,kBAAjBA,EAAOrV,KAClBiV,EAAQjV,GAAQqV,EAAOrV,IAK1B,OAAOiV,EArCRjO,EAAEwvB,KACD,CAAE,kBAAmB,mBAAoB,oBAAqB,mBAC9D,SAAUU,EAAG/uB,GACZnB,EAAE8X,GAAG7a,KAAMkE,GAAS,SAAU2W,IACb,SAAXA,EAAGm3B,MAAmBn3B,EAAGuyc,SAAsB,IAAXvyc,EAAGg3B,MAAch3B,EAAGuyc,WAC5Dvqd,EAAOuO,MAAOyJ,EAAGolE,KAAM/7E,EAAM2W,EAAGm3B,KAChCn3B,EAAGuyc,SAAU,OAqDXrqd,EAAEi5B,GAAGmpX,UACVpiZ,EAAEi5B,GAAGmpX,QAAU,SAAU3iZ,GACxB,OAAO9D,KAAKuyC,IAAiB,MAAZzuC,EAChB9D,KAAK8wY,WAAa9wY,KAAK8wY,WAAW79X,OAAQnP,MAK7CO,EAAE4pX,QAAQ0gG,aAAe,SAAUjvd,EAAO8c,EAAUoa,EAAQ2U,GAC3D,IAAIjrC,EAAI+D,EAAEgzZ,MAAO76Y,EAAUoa,EAAQ2U,GAEnC,OAAOvrC,KAAKohU,OAAO,WAClB,IAECwtJ,EAFG9wa,EAAWz5C,EAAGrE,MACjB6ud,EAAY/wa,EAAS5Y,KAAM,UAAa,GAExC4pb,EAAgBxud,EAAEkS,SAAWsrC,EAASwvB,KAAM,KAAMm5U,UAAY3oW,EAG/Dgxa,EAAgBA,EAAcrnc,KAAK,WAElC,MAAO,CACNsY,GAFQ17B,EAAGrE,MAGX8X,MAAO02c,EAAkBxud,WAK3B4ud,EAAmB,WAClBvqd,EAAEwvB,KAAMq6b,GAAuB,SAAUrxd,EAAGmoE,GACtCtlE,EAAOslE,IACXlnB,EAAUknB,EAAS,SAAWtlE,EAAOslE,WAOxC8pZ,EAAgBA,EAAcrnc,KAAK,WAGlC,OAFAznB,KAAKszC,IAAMk7a,EAAkBxud,KAAK+/B,GAAI,IACtC//B,KAAK4xF,KA1DR,SAA0Bm9X,EAAU9hK,GACnC,IACC7qT,EAAM1C,EADHkyF,EAAO,GAGX,IAAMxvF,KAAQ6qT,EACbvtT,EAAQutT,EAAU7qT,GACb2sd,EAAU3sd,KAAW1C,IACnByud,EAAiB/rd,KACjBiC,EAAE8X,GAAG7a,KAAMc,IAAW4L,MAAOzE,WAAY7J,MAC7CkyF,EAAMxvF,GAAS1C,IAMnB,OAAOkyF,EA2COo9X,CAAiBhvd,KAAK8X,MAAO9X,KAAKszC,KACvCtzC,QAIR89C,EAAS5Y,KAAM,QAAS2pb,GAGxBC,EAAgBA,EAAcrnc,KAAK,WAClC,IAAIwnc,EAAYjvd,KACfkvd,EAAM7qd,EAAEyjZ,WACRzkZ,EAAOgB,EAAE+wC,OAAQ,GAAI90C,EAAG,CACvB8gU,OAAO,EACPzhP,SAAU,WACTuvY,EAAI57V,QAAS27V,MAKhB,OADAjvd,KAAK+/B,GAAG/hB,QAAShe,KAAK4xF,KAAMvuF,GACrB6rd,EAAIr4b,aAIZxyB,EAAE2kZ,KAAK5oZ,MAAOiE,EAAGyqd,EAAcxsd,OAAQxB,MAAM,WAG5C8td,IAIAvqd,EAAEwvB,KAAM1zB,WAAW,WAClB,IAAI4/B,EAAK//B,KAAK+/B,GACd17B,EAAEwvB,KAAM7zB,KAAK4xF,MAAM,SAAUv0F,GAC5B0iC,EAAGze,IAAKjkB,EAAK,UAMfiD,EAAEq/E,SAAS39E,KAAM87C,EAAU,WAK9Bz5C,EAAEi5B,GAAG8X,OAAQ,CACZkC,SAAY,SAAUwJ,GACrB,OAAO,SAAUwqE,EAAY+rS,EAAOzgY,EAAQ2U,GAC3C,OAAO8rX,EACNhzZ,EAAE4pX,QAAQ0gG,aAAa3sd,KAAMhC,KAC5B,CAAEuyC,IAAK+4E,GAAc+rS,EAAOzgY,EAAQ2U,GACrCuV,EAAK1gD,MAAOJ,KAAMG,YALT,CAOPkE,EAAEi5B,GAAGga,UAEViwC,YAAe,SAAUzmC,GACxB,OAAO,SAAUwqE,EAAY+rS,EAAOzgY,EAAQ2U,GAC3C,OAAOprC,UAAUrD,OAAS,EACzBuH,EAAE4pX,QAAQ0gG,aAAa3sd,KAAMhC,KAC5B,CAAEigC,OAAQqrF,GAAc+rS,EAAOzgY,EAAQ2U,GACxCuV,EAAK1gD,MAAOJ,KAAMG,YALN,CAOVkE,EAAEi5B,GAAGiqD,aAEV6xU,YAAe,SAAUt4W,GACxB,OAAO,SAAUwqE,EAAYnkC,EAAOkwU,EAAOzgY,EAAQ2U,GAClD,MAAsB,mBAAV47C,QAAiCvnD,IAAVunD,EAC5BkwU,EAKEhzZ,EAAE4pX,QAAQ0gG,aAAa3sd,KAAMhC,KACjCmnF,EAAQ,CAAE50C,IAAK+4E,GAAe,CAAErrF,OAAQqrF,GAC1C+rS,EAAOzgY,EAAQ2U,GAJTuV,EAAK1gD,MAAOJ,KAAMG,WASnBkE,EAAE4pX,QAAQ0gG,aAAa3sd,KAAMhC,KACnC,CAAE+rZ,OAAQzgS,GAAcnkC,EAAOkwU,EAAOzgY,IAhB3B,CAmBVvyB,EAAEi5B,GAAG87X,aAEV+1D,YAAa,SAAUlvb,EAAQsS,EAAK8kX,EAAOzgY,EAAQ2U,GAClD,OAAOlnC,EAAE4pX,QAAQ0gG,aAAa3sd,KAAMhC,KAAM,CACzCuyC,IAAKA,EACLtS,OAAQA,GACNo3X,EAAOzgY,EAAQ2U,MAzMpB,GAmNA,WAiVA,SAAS6jb,EAAqBntK,EAAQ1jR,EAAS84X,EAAO9rX,GAiDrD,OA9CKlnC,EAAEmrD,cAAeyyP,KACrB1jR,EAAU0jR,EACVA,EAASA,EAAOA,QAIjBA,EAAS,CAAEA,OAAQA,GAGH,MAAX1jR,IACJA,EAAU,IAINl6B,EAAE0iF,WAAYxoD,KAClBgN,EAAWhN,EACX84X,EAAQ,KACR94X,EAAU,KAIa,kBAAZA,GAAwBl6B,EAAE8X,GAAGm7Y,OAAQ/4X,MAChDgN,EAAW8rX,EACXA,EAAQ94X,EACRA,EAAU,IAINl6B,EAAE0iF,WAAYswU,KAClB9rX,EAAW8rX,EACXA,EAAQ,MAIJ94X,GACJl6B,EAAE+wC,OAAQ6sQ,EAAQ1jR,GAGnB84X,EAAQA,GAAS94X,EAAQ/hB,SACzBylS,EAAOzlS,SAAWnY,EAAE8X,GAAGynC,IAAM,EACX,kBAAVyzW,EAAqBA,EAC5BA,KAAShzZ,EAAE8X,GAAGm7Y,OAASjzZ,EAAE8X,GAAGm7Y,OAAQD,GACpChzZ,EAAE8X,GAAGm7Y,OAAO/K,SAEbtqG,EAAOtiO,SAAWp0C,GAAYhN,EAAQohD,SAE/BsiO,EAGR,SAASotK,EAAyBpzJ,GAGjC,QAAMA,GAA4B,kBAAXA,IAAuB53T,EAAE8X,GAAGm7Y,OAAQr7F,KAKpC,kBAAXA,IAAwB53T,EAAE4pX,QAAQhsE,OAAQga,MAKjD53T,EAAE0iF,WAAYk1O,IAKI,kBAAXA,IAAwBA,EAAOha,OA+M5C,SAASqtK,EAAW5rW,EAAKhpG,GACvB,IAAIgoE,EAAahoE,EAAQgoE,aACxBD,EAAc/nE,EAAQ+nE,cAEtBhlE,EADY,wIACO2U,KAAMsxF,IAAS,CAAE,GAAI,EAAGhhC,EAAYD,EAAa,GAErE,MAAO,CACN1rC,IAAKxtC,WAAYkU,EAAQ,KAAS,EAClColE,MAAuB,SAAhBplE,EAAQ,GAAiBilE,EAAan5E,WAAYkU,EAAQ,IACjEmlE,OAAwB,SAAhBnlE,EAAQ,GAAiBglE,EAAcl5E,WAAYkU,EAAQ,IACnEo5B,KAAMttC,WAAYkU,EAAQ,KAAS,GA9mBjCpZ,EAAE+8Y,MAAQ/8Y,EAAE+8Y,KAAK7rX,SAAWlxB,EAAE+8Y,KAAK7rX,QAAQuoB,WAC/Cz5C,EAAE+8Y,KAAK7rX,QAAQuoB,SAAa,SAAUgD,GACrC,OAAO,SAAUygC,GAChB,QAASl9E,EAAGk9E,GAAOvwE,KA14BD,wBA04B8B8vC,EAAMygC,IAF5B,CAIvBl9E,EAAE+8Y,KAAK7rX,QAAQuoB,YAGG,IAAnBz5C,EAAEy3b,cACNz3b,EAAE+wC,OAAQ/wC,EAAE4pX,QAAS,CAGpBl7W,KAAM,SAAU2H,EAASlO,GAExB,IADA,IAAI3P,EAAI,EAAGC,EAAS0P,EAAI1P,OAChBD,EAAIC,EAAQD,IACD,OAAb2P,EAAK3P,IACT6d,EAAQ1J,KAz5BG,cAy5BexE,EAAK3P,GAAK6d,EAAS,GAAIhI,MAAOlG,EAAK3P,MAMhEwW,QAAS,SAAUqH,EAASlO,GAE3B,IADA,IAAIkX,EAAK7mB,EAAI,EAAGC,EAAS0P,EAAI1P,OACrBD,EAAIC,EAAQD,IACD,OAAb2P,EAAK3P,KACT6mB,EAAMhJ,EAAQ1J,KAn6BH,cAm6BqBxE,EAAK3P,IACrC6d,EAAQ4G,IAAK9U,EAAK3P,GAAK6mB,KAK1B6rc,QAAS,SAAUxvb,EAAIr9B,GAItB,MAHc,WAATA,IACJA,EAAOq9B,EAAGz7B,GAAI,WAAc,OAAS,QAE/B5B,GAIR8sd,cAAe,SAAU90c,GAGxB,GAAKA,EAAQ9H,SAAStO,GAAI,uBACzB,OAAOoW,EAAQ9H,SAIhB,IAAIhW,EAAQ,CACVgK,MAAO8T,EAAQgoE,YAAY,GAC3B77E,OAAQ6T,EAAQ+nE,aAAa,GAC7B,MAAS/nE,EAAQ4G,IAAK,UAEvB28I,EAAU55J,EAAG,eACXizC,SAAU,sBACVh2B,IAAK,CACLtW,SAAU,OACVikF,WAAY,cACZ8wF,OAAQ,OACRtjG,OAAQ,EACRjQ,QAAS,IAIXtH,EAAO,CACNt+D,MAAO8T,EAAQ9T,QACfC,OAAQ6T,EAAQ7T,UAEjBwrH,EAAS/uH,SAASu/Y,cAKnB,IACCxwR,EAAOluG,GACN,MAAQpjB,GACTsxH,EAAS/uH,SAAS+gB,KAuCnB,OApCA3J,EAAQuyY,KAAMhvP,IAGTvjJ,EAAS,KAAQ23G,GAAUhuH,EAAE87C,SAAUzlC,EAAS,GAAK23G,KACzDhuH,EAAGguH,GAASrwC,QAAS,SAKtBi8E,EAAUvjJ,EAAQ9H,SAGiB,WAA9B8H,EAAQ4G,IAAK,aACjB28I,EAAQ38I,IAAK,CAAEqhB,SAAU,aACzBjoB,EAAQ4G,IAAK,CAAEqhB,SAAU,eAEzBt+B,EAAE+wC,OAAQx4C,EAAO,CAChB+lC,SAAUjoB,EAAQ4G,IAAK,YACvB61B,OAAQz8B,EAAQ4G,IAAK,aAEtBjd,EAAEwvB,KAAM,CAAE,MAAO,OAAQ,SAAU,UAAW,SAAUh3B,EAAGs2C,GAC1Dv2C,EAAOu2C,GAAQz4B,EAAQ4G,IAAK6xB,GACvBnlC,MAAOkQ,SAAUthB,EAAOu2C,GAAO,OACnCv2C,EAAOu2C,GAAQ,WAGjBz4B,EAAQ4G,IAAK,CACZqhB,SAAU,WACVoU,IAAK,EACLF,KAAM,EACNgsC,MAAO,OACPD,OAAQ,UAGVloE,EAAQ4G,IAAK4jD,GAEN+4F,EAAQ38I,IAAK1kB,GAAQm1D,QAG7B09Z,cAAe,SAAU/0c,GACxB,IAAI23G,EAAS/uH,SAASu/Y,cAWtB,OATKnoY,EAAQ9H,SAAStO,GAAI,yBACzBoW,EAAQ9H,SAASo/Y,YAAat3Y,IAGzBA,EAAS,KAAQ23G,GAAUhuH,EAAE87C,SAAUzlC,EAAS,GAAK23G,KACzDhuH,EAAGguH,GAASrwC,QAAS,UAIhBtnE,KAKVrW,EAAE+wC,OAAQ/wC,EAAE4pX,QAAS,CACpBr/U,QAAS,SAET04G,OAAQ,SAAUllJ,EAAMM,EAAMu/S,GAS7B,OARMA,IACLA,EAASv/S,EACTA,EAAO,UAGR2B,EAAE4pX,QAAQhsE,OAAQ7/S,GAAS6/S,EAC3B59S,EAAE4pX,QAAQhsE,OAAQ7/S,GAAOM,KAAOA,EAEzBu/S,GAGRytK,iBAAkB,SAAUh1c,EAAS84C,EAASiF,GAC7C,GAAiB,IAAZjF,EACJ,MAAO,CACN3sD,OAAQ,EACRD,MAAO,EACP67E,YAAa,EACbC,WAAY,GAId,IAAI71E,EAAkB,eAAd4rD,GAAiCjF,GAAW,KAAQ,IAAQ,EACnE1mD,EAAkB,aAAd2rD,GAA+BjF,GAAW,KAAQ,IAAQ,EAE/D,MAAO,CACN3sD,OAAQ6T,EAAQ7T,SAAWiG,EAC3BlG,MAAO8T,EAAQ9T,QAAUiG,EACzB41E,YAAa/nE,EAAQ+nE,cAAgB31E,EACrC41E,WAAYhoE,EAAQgoE,aAAe71E,IAKrC8id,UAAW,SAAU5sY,GACpB,MAAO,CACNn8E,MAAOm8E,EAAU1tE,KAAKwtE,MAAQE,EAAU1tE,KAAKwhC,KAC7ChwC,OAAQk8E,EAAU1tE,KAAKutE,OAASG,EAAU1tE,KAAK0hC,IAC/CF,KAAMksC,EAAU1tE,KAAKwhC,KACrBE,IAAKgsC,EAAU1tE,KAAK0hC,MAKtBlc,QAAS,SAAUngB,EAASk1c,EAAax+a,GACxC,IAAIgwR,EAAQ1mT,EAAQ0mT,QAEfwuJ,EAAc,GAClBxuJ,EAAM1hS,OAAOt/B,MAAOghU,EACnB,CAAE,EAAG,GAAI54S,OAAQ44S,EAAM1hS,OAAQkwb,EAAax+a,KAE9C12B,EAAQiwY,WAGTklE,UAAW,SAAUn1c,GACpBA,EAAQ1J,KAzkCQ,mBAykCc0J,EAAS,GAAIhI,MAAMsgB,UAGlD88b,aAAc,SAAUp1c,GACvBA,EAAS,GAAIhI,MAAMsgB,QAAUtY,EAAQ1J,KA7kCrB,qBA6kC+C,GAC/D0J,EAAQmmE,WA9kCQ,qBAilCjBn+E,KAAM,SAAUgY,EAAShY,GACxB,IAAIytQ,EAASz1P,EAAQpW,GAAI,WAQzB,MANc,WAAT5B,IACJA,EAAOytQ,EAAS,OAAS,SAErBA,EAAkB,SAATztQ,EAA2B,SAATA,KAC/BA,EAAO,QAEDA,GAIRqtd,YAAa,SAAUxqX,EAAQo9M,GAC9B,IAAI71S,EAAGD,EAEP,OAAS04F,EAAQ,IACjB,IAAK,MACJz4F,EAAI,EACJ,MACD,IAAK,SACJA,EAAI,GACJ,MACD,IAAK,SACJA,EAAI,EACJ,MACD,QACCA,EAAIy4F,EAAQ,GAAMo9M,EAAS97S,OAG5B,OAAS0+F,EAAQ,IACjB,IAAK,OACJ14F,EAAI,EACJ,MACD,IAAK,SACJA,EAAI,GACJ,MACD,IAAK,QACJA,EAAI,EACJ,MACD,QACCA,EAAI04F,EAAQ,GAAMo9M,EAAS/7S,MAG5B,MAAO,CACNiG,EAAGA,EACHC,EAAGA,IAKLkjd,kBAAmB,SAAUt1c,GAC5B,IAAI+zG,EACHmoU,EAAcl8a,EAAQ4G,IAAK,YAC3BqhB,EAAWjoB,EAAQioB,WA+CpB,OAzCAjoB,EAAQ4G,IAAK,CACZ4sI,UAAWxzI,EAAQ4G,IAAK,aACxB6sI,aAAczzI,EAAQ4G,IAAK,gBAC3BysI,WAAYrzI,EAAQ4G,IAAK,cACzB0sI,YAAatzI,EAAQ4G,IAAK,iBAE1BohE,WAAYhoE,EAAQgoE,cACpBD,YAAa/nE,EAAQ+nE,eAEjB,qBAAqBlgD,KAAMq0Z,KAC/BA,EAAc,WAEdnoU,EAAcpqH,EAAG,IAAMqW,EAAS,GAAI5G,SAAW,KAAMg2C,YAAapvC,GAAU4G,IAAK,CAIhF8C,QAAS,iBAAiBme,KAAM7nB,EAAQ4G,IAAK,YAC5C,eACA,QACD8vI,WAAY,SAGZlD,UAAWxzI,EAAQ4G,IAAK,aACxB6sI,aAAczzI,EAAQ4G,IAAK,gBAC3BysI,WAAYrzI,EAAQ4G,IAAK,cACzB0sI,YAAatzI,EAAQ4G,IAAK,eAC1B,MAAS5G,EAAQ4G,IAAK,WAEtBohE,WAAYhoE,EAAQgoE,cACpBD,YAAa/nE,EAAQ+nE,eACrBnrC,SAAU,0BAEX58B,EAAQ1J,KAAMi/c,yBAA2BxhW,IAG1C/zG,EAAQ4G,IAAK,CACZqhB,SAAUi0Z,EACV//Y,KAAMlU,EAASkU,KACfE,IAAKpU,EAASoU,MAGR03E,GAGRyhW,kBAAmB,SAAUx1c,GAC5B,IAAIg2H,EAAUu/U,yBACZxhW,EAAc/zG,EAAQ1J,KAAM0/H,GAEzBjiB,IACJA,EAAYxuF,SACZvlB,EAAQmmE,WAAY6vD,KAMtBy/U,QAAS,SAAUz1c,GAClBrW,EAAE4pX,QAAQ6hG,aAAcp1c,GACxBrW,EAAE4pX,QAAQiiG,kBAAmBx1c,IAG9B01c,cAAe,SAAU11c,EAAS8M,EAAM2gD,EAAQzoE,GAQ/C,OAPAA,EAAQA,GAAS,GACjB2E,EAAEwvB,KAAMrM,GAAM,SAAU3qB,EAAGgQ,GAC1B,IAAIsvI,EAAOzhI,EAAQ21c,QAASxjd,GACvBsvI,EAAM,GAAM,IAChBz8I,EAAOmN,GAAMsvI,EAAM,GAAMh0E,EAASg0E,EAAM,OAGnCz8I,KAmFT2E,EAAEi5B,GAAG8X,OAAQ,CACZ6sQ,OAAQ,WACP,IAAIv+P,EAAO0ra,EAAoBhvd,MAAOJ,KAAMG,WAC3Cmwd,EAAejsd,EAAE4pX,QAAQhsE,OAAQv+P,EAAKu+P,QACtCsuK,EAAcD,EAAa5td,KAC3B0+T,EAAQ19Q,EAAK09Q,MACbovJ,EAAYpvJ,GAAS,KACrBzhP,EAAWj8B,EAAKi8B,SAChBj9E,EAAOghD,EAAKhhD,KACZmqL,EAAQ,GACRuqO,EAAY,SAAU71Z,GACrB,IAAIw+B,EAAK17B,EAAGrE,MACXywd,EAAiBpsd,EAAE4pX,QAAQvrX,KAAMq9B,EAAIr9B,IAAU6td,EAGhDxwb,EAAG/uB,KAnzCc,uBAmzCW,GAK5B67K,EAAM/lL,KAAM2pd,GAGPF,IAAoC,SAAnBE,GAClBA,IAAmBF,GAAkC,SAAnBE,IACrC1wb,EAAGgyB,OAGEw+Z,GAAkC,SAAnBE,GACpBpsd,EAAE4pX,QAAQ4hG,UAAW9vb,GAGjB17B,EAAE0iF,WAAYxlF,IAClBA,KAIH,GAAK8C,EAAE8X,GAAGynC,MAAQ0sa,EAGjB,OAAK5td,EACG1C,KAAM0C,GAAQghD,EAAKlnC,SAAUmjE,GAE7B3/E,KAAK6zB,MAAM,WACZ8rD,GACJA,EAAS39E,KAAMhC,SAMnB,SAAS0mB,EAAKnlB,GACb,IAAIggF,EAAOl9E,EAAGrE,MAcd,SAASc,IACHuD,EAAE0iF,WAAYpH,IAClBA,EAAS39E,KAAMu/E,EAAM,IAGjBl9E,EAAE0iF,WAAYxlF,IAClBA,IAMFmiD,EAAKhhD,KAAOmqL,EAAMj4G,SAEM,IAAnBvwE,EAAEy3b,cAA2By0B,EAUd,SAAd7sa,EAAKhhD,MAGT6+E,EAAM7+E,KACN5B,KAEAwvd,EAAatud,KAAMu/E,EAAM,GAAK79B,GA1ChC,WACC69B,EAAKV,WA31CY,uBA61CjBx8E,EAAE4pX,QAAQkiG,QAAS5uY,GAEA,SAAd79B,EAAKhhD,MACT6+E,EAAK3vB,OAGN9wD,QAkBKygF,EAAKj9E,GAAI,WAAuB,SAAT5B,EAA2B,SAATA,IAG7C6+E,EAAM7+E,KACN5B,KAEAwvd,EAAatud,KAAMu/E,EAAM,GAAK79B,EAAM5iD,GAiBvC,OAAiB,IAAVsgU,EACNphU,KAAK6zB,KAAMujY,GAAYvjY,KAAMnN,GAC7B1mB,KAAKohU,MAAOovJ,EAAWp5D,GAAYh2F,MAAOovJ,EAAW9pc,IAGvDqrC,KAAQ,SAAUjR,GACjB,OAAO,SAAUm7Q,GAChB,GAAKozJ,EAAyBpzJ,GAC7B,OAAOn7Q,EAAK1gD,MAAOJ,KAAMG,WAEzB,IAAIujD,EAAO0ra,EAAoBhvd,MAAOJ,KAAMG,WAE5C,OADAujD,EAAKhhD,KAAO,OACL1C,KAAKiiT,OAAOjgT,KAAMhC,KAAM0jD,IAP1B,CAUHr/C,EAAEi5B,GAAGy0B,MAEVH,KAAQ,SAAU9Q,GACjB,OAAO,SAAUm7Q,GAChB,GAAKozJ,EAAyBpzJ,GAC7B,OAAOn7Q,EAAK1gD,MAAOJ,KAAMG,WAEzB,IAAIujD,EAAO0ra,EAAoBhvd,MAAOJ,KAAMG,WAE5C,OADAujD,EAAKhhD,KAAO,OACL1C,KAAKiiT,OAAOjgT,KAAMhC,KAAM0jD,IAP1B,CAUHr/C,EAAEi5B,GAAGs0B,MAEVm6V,OAAU,SAAUjrW,GACnB,OAAO,SAAUm7Q,GAChB,GAAKozJ,EAAyBpzJ,IAA8B,mBAAXA,EAChD,OAAOn7Q,EAAK1gD,MAAOJ,KAAMG,WAEzB,IAAIujD,EAAO0ra,EAAoBhvd,MAAOJ,KAAMG,WAE5C,OADAujD,EAAKhhD,KAAO,SACL1C,KAAKiiT,OAAOjgT,KAAMhC,KAAM0jD,IAPxB,CAULr/C,EAAEi5B,GAAGyuX,QAEVskE,QAAS,SAAUhzd,GAClB,IAAIqV,EAAQ1S,KAAKshB,IAAKjkB,GACrBqmB,EAAM,GAOP,OALArf,EAAEwvB,KAAM,CAAE,KAAM,KAAM,IAAK,OAAQ,SAAUh3B,EAAGs/I,GAC1CzpI,EAAMrI,QAAS8xI,GAAS,IAC5Bz4H,EAAM,CAAEna,WAAYmJ,GAASypI,OAGxBz4H,GAGRgtc,QAAS,SAAUC,GAClB,OAAKA,EACG3wd,KAAKshB,IAAK,OAAQ,QAAUqvc,EAAQ55a,IAAM,MAAQ45a,EAAQ9tY,MAAQ,MACxE8tY,EAAQ/tY,OAAS,MAAQ+tY,EAAQ95a,KAAO,OAEnCy4a,EAAWtvd,KAAKshB,IAAK,QAAUthB,OAGvC4wd,SAAU,SAAUryb,EAASz9B,GAC5B,IAAI4Z,EAAUrW,EAAGrE,MAChBrD,EAAS0H,EAAGk6B,EAAQ/gB,IACpBqzc,EAA2C,UAA7Bl0d,EAAO2kB,IAAK,YAC1B+C,EAAOhgB,EAAG,QACVysd,EAASD,EAAcxsc,EAAKi7B,YAAc,EAC1Cyxa,EAAUF,EAAcxsc,EAAKg7B,aAAe,EAC5C2xa,EAAcr0d,EAAOsY,SACrB8tE,EAAY,CACXhsC,IAAKi6a,EAAYj6a,IAAM+5a,EACvBj6a,KAAMm6a,EAAYn6a,KAAOk6a,EACzBlqd,OAAQlK,EAAO2xJ,cACf1nJ,MAAOjK,EAAO0xJ,cAEf4iU,EAAgBv2c,EAAQzF,SACxB27c,EAAWvsd,EAAG,2CACZ6yC,SAAU,QACVI,SAAU/Y,EAAQ5Z,WAClBrD,IAAK,CACLy1B,IAAKk6a,EAAcl6a,IAAM+5a,EACzBj6a,KAAMo6a,EAAcp6a,KAAOk6a,EAC3Blqd,OAAQ6T,EAAQ4zI,cAChB1nJ,MAAO8T,EAAQ2zI,aACf1rH,SAAUkub,EAAc,QAAU,aAElC7yc,QAAS+kE,EAAWxkD,EAAQ/hB,SAAU+hB,EAAQ3H,QAAQ,WACtDg6b,EAAS3wb,SACJ57B,EAAE0iF,WAAYjmF,IAClBA,UAoBNuD,EAAE8X,GAAG7a,KAAK+T,KAAO,SAAU8G,GACpBA,EAAG+0c,WACR/0c,EAAGrE,MAAQzT,EAAG8X,EAAGolE,MAAOmvY,UACD,kBAAXv0c,EAAGm3B,MACdn3B,EAAGm3B,IAAMg8a,EAAWnzc,EAAGm3B,IAAKn3B,EAAGolE,OAEhCplE,EAAG+0c,UAAW,GAGf7sd,EAAG8X,EAAGolE,MAAOmvY,QAAS,CACrB35a,IAAK56B,EAAGg3B,KAAQh3B,EAAGm3B,IAAIyD,IAAM56B,EAAGrE,MAAMi/B,KAAQ56B,EAAGrE,MAAMi/B,IACvD8rC,MAAO1mE,EAAGg3B,KAAQh3B,EAAGm3B,IAAIuvC,MAAQ1mE,EAAGrE,MAAM+qE,OAAU1mE,EAAGrE,MAAM+qE,MAC7DD,OAAQzmE,EAAGg3B,KAAQh3B,EAAGm3B,IAAIsvC,OAASzmE,EAAGrE,MAAM8qE,QAAWzmE,EAAGrE,MAAM8qE,OAChE/rC,KAAM16B,EAAGg3B,KAAQh3B,EAAGm3B,IAAIuD,KAAO16B,EAAGrE,MAAM++B,MAAS16B,EAAGrE,MAAM++B,QAjoB5D,GA2oBA,WAIA,IAAIs6a,EAAc,GAElB9sd,EAAEwvB,KAAM,CAAE,OAAQ,QAAS,QAAS,QAAS,SAAU,SAAUh3B,EAAGuF,GACnE+ud,EAAa/ud,GAAS,SAAUa,GAC/B,OAAOkE,KAAKE,IAAKpE,EAAGpG,EAAI,OAI1BwH,EAAE+wC,OAAQ+7a,EAAa,CACtBC,KAAM,SAAUnud,GACf,OAAO,EAAIkE,KAAKiJ,IAAKnN,EAAIkE,KAAKsE,GAAK,IAEpC4ld,KAAM,SAAUpud,GACf,OAAO,EAAIkE,KAAKC,KAAM,EAAInE,EAAIA,IAE/Bqud,QAAS,SAAUrud,GAClB,OAAa,IAANA,GAAiB,IAANA,EAAUA,GAC1BkE,KAAKE,IAAK,EAAG,GAAMpE,EAAI,IAAQkE,KAAKkJ,KAAmB,IAAVpN,EAAI,GAAW,KAAQkE,KAAKsE,GAAK,KAEjF8ld,KAAM,SAAUtud,GACf,OAAOA,EAAIA,GAAM,EAAIA,EAAI,IAE1Buud,OAAQ,SAAUvud,GAIjB,IAHA,IAAIwud,EACHx3b,EAAS,EAEFh3B,IAAQwud,EAAOtqd,KAAKE,IAAK,IAAK4yB,IAAa,GAAM,KACzD,OAAO,EAAI9yB,KAAKE,IAAK,EAAG,EAAI4yB,GAAW,OAAS9yB,KAAKE,KAAc,EAAPoqd,EAAW,GAAM,GAAKxud,EAAG,MAIvFoB,EAAEwvB,KAAMs9b,GAAa,SAAU/ud,EAAMsvd,GACpCrtd,EAAEuyB,OAAQ,SAAWx0B,GAASsvd,EAC9Brtd,EAAEuyB,OAAQ,UAAYx0B,GAAS,SAAUa,GACxC,OAAO,EAAIyud,EAAQ,EAAIzud,IAExBoB,EAAEuyB,OAAQ,YAAcx0B,GAAS,SAAUa,GAC1C,OAAOA,EAAI,GACVyud,EAAY,EAAJzud,GAAU,EAClB,EAAIyud,GAAa,EAALzud,EAAS,GAAM,MA3C9B,GAiDaoB,EAAE4pX,QAoBU5pX,EAAE4pX,QAAQ3mO,OAAQ,QAAS,QAAQ,SAAU/oH,EAASz9B,GAC9E,IAAI2mB,EAAM,CACRy/I,GAAI,CAAE,SAAU,OAChBr1E,SAAU,CAAE,SAAU,OACtB22W,KAAM,CAAE,MAAO,UACf3xZ,KAAM,CAAE,QAAS,QACjB+hC,WAAY,CAAE,QAAS,QACvBiK,MAAO,CAAE,OAAQ,UAElBnoE,EAAUrW,EAAGrE,MACby4D,EAAYl6B,EAAQk6B,WAAa,KACjC3gD,EAAQ4C,EAAQg2c,UAChB1yc,EAAU,CAAE3I,KAAMhR,EAAE+wC,OAAQ,GAAIt9B,IAChC22G,EAAcpqH,EAAE4pX,QAAQ+hG,kBAAmBt1c,GAE5CsD,EAAQ3I,KAAMoS,EAAKgxC,GAAa,IAAQz6C,EAAQ3I,KAAMoS,EAAKgxC,GAAa,IAElD,SAAjBl6B,EAAQ77B,OACZgY,EAAQg2c,QAAS1yc,EAAQ3I,MACpBo5G,GACJA,EAAYntG,IAAKjd,EAAE4pX,QAAQ0hG,UAAW3xc,IAGvCA,EAAQ3I,KAAOyC,GAGX22G,GACJA,EAAYzwG,QAAS3Z,EAAE4pX,QAAQ0hG,UAAW3xc,GAAWugB,EAAQ/hB,SAAU+hB,EAAQ3H,QAGhFlc,EAAQsD,QAASA,EAAS,CACzBojT,OAAO,EACP5kT,SAAU+hB,EAAQ/hB,SAClBoa,OAAQ2H,EAAQ3H,OAChB+oD,SAAU7+E,OAsBcuD,EAAE4pX,QAAQ3mO,OAAQ,UAAU,SAAU/oH,EAASz9B,GACxE,IAAI6wd,EAAQC,EAAUC,EACrBn3c,EAAUrW,EAAGrE,MAGb0C,EAAO67B,EAAQ77B,KACfkvD,EAAgB,SAATlvD,EACPqvD,EAAgB,SAATrvD,EACP+1D,EAAYl6B,EAAQk6B,WAAa,KACjC6O,EAAW/oC,EAAQ+oC,SACnBm8E,EAAQllH,EAAQklH,OAAS,EAGzBquU,EAAgB,EAARruU,GAAc1xF,GAAQH,EAAO,EAAI,GACzCylW,EAAQ94X,EAAQ/hB,SAAWs1c,EAC3Bl7b,EAAS2H,EAAQ3H,OAGjBw3C,EAAsB,OAAd3V,GAAoC,SAAdA,EAAyB,MAAQ,OAC/Ds5Z,EAAyB,OAAdt5Z,GAAoC,SAAdA,EACjC57D,EAAI,EAEJm1d,EAAWt3c,EAAQ0mT,QAAQtkU,OAgC5B,IA9BAuH,EAAE4pX,QAAQ+hG,kBAAmBt1c,GAE7Bm3c,EAAWn3c,EAAQ4G,IAAK8sD,GAGlB9G,IACLA,EAAW5sD,EAAiB,QAAR0zD,EAAgB,cAAgB,gBAAmB,GAGnErc,KACJ6/Z,EAAW,CAAE7oa,QAAS,IACZqlB,GAAQyjZ,EAIlBn3c,EACE4G,IAAK,UAAW,GAChBA,IAAK8sD,EAAK2jZ,EAAqB,GAAXzqZ,EAA0B,EAAXA,GACnCtpD,QAAS4zc,EAAUv6D,EAAOzgY,IAIxBg7B,IACJ0V,GAAsBngE,KAAKE,IAAK,EAAGo8I,EAAQ,KAG5CmuU,EAAW,IACDxjZ,GAAQyjZ,EAGVh1d,EAAI4mJ,EAAO5mJ,KAClB80d,EAAS,IACDvjZ,IAAU2jZ,EAAS,KAAO,MAASzqZ,EAE3C5sD,EACEsD,QAAS2zc,EAAQt6D,EAAOzgY,GACxB5Y,QAAS4zc,EAAUv6D,EAAOzgY,GAE5B0wC,EAAW1V,EAAkB,EAAX0V,EAAeA,EAAW,EAIxC1V,KACJ+/Z,EAAS,CAAE5oa,QAAS,IACZqlB,IAAU2jZ,EAAS,KAAO,MAASzqZ,EAE3C5sD,EAAQsD,QAAS2zc,EAAQt6D,EAAOzgY,IAGjClc,EAAQ0mT,MAAOtgU,GAEfuD,EAAE4pX,QAAQpzV,QAASngB,EAASs3c,EAAUF,EAAQ,MAqBvBztd,EAAE4pX,QAAQ3mO,OAAQ,OAAQ,QAAQ,SAAU/oH,EAASz9B,GAC5E,IAAIgX,EACHkG,EAAU,GACVtD,EAAUrW,EAAGrE,MACby4D,EAAYl6B,EAAQk6B,WAAa,WACjCw5Z,EAAqB,SAAdx5Z,EACPmgB,EAAaq5Y,GAAsB,eAAdx5Z,EACrBo5B,EAAWogY,GAAsB,aAAdx5Z,EAEpB3gD,EAAQ4C,EAAQg2c,UAChB1yc,EAAQ3I,KAAO,CACd0hC,IAAK86C,GAAa/5E,EAAM8qE,OAAS9qE,EAAMi/B,KAAQ,EAAIj/B,EAAMi/B,IACzD8rC,MAAOjK,GAAe9gE,EAAM+qE,MAAQ/qE,EAAM++B,MAAS,EAAI/+B,EAAM+qE,MAC7DD,OAAQiP,GAAa/5E,EAAM8qE,OAAS9qE,EAAMi/B,KAAQ,EAAIj/B,EAAM8qE,OAC5D/rC,KAAM+hC,GAAe9gE,EAAM+qE,MAAQ/qE,EAAM++B,MAAS,EAAI/+B,EAAM++B,MAG7DxyC,EAAE4pX,QAAQ+hG,kBAAmBt1c,GAEP,SAAjB6jB,EAAQ77B,OACZgY,EAAQg2c,QAAS1yc,EAAQ3I,MACzB2I,EAAQ3I,KAAOyC,GAGhB4C,EAAQsD,QAASA,EAAS,CACzBojT,OAAO,EACP5kT,SAAU+hB,EAAQ/hB,SAClBoa,OAAQ2H,EAAQ3H,OAChB+oD,SAAU7+E,OAuBYuD,EAAE4pX,QAAQ3mO,OAAQ,OAAQ,QAAQ,SAAU/oH,EAASz9B,GAE5E,IAAIwmE,EACH5sD,EAAUrW,EAAGrE,MAEb+xD,EAAgB,SADTxzB,EAAQ77B,KAEf+1D,EAAYl6B,EAAQk6B,WAAa,OACjC2V,EAAsB,OAAd3V,GAAoC,SAAdA,EAAyB,MAAQ,OAC/Ds5Z,EAAyB,OAAdt5Z,GAAoC,SAAdA,EAAyB,KAAO,KACjEy5Z,EAA8B,OAAXH,EAAoB,KAAO,KAC9ChvY,EAAY,CACXh6B,QAAS,GAGX1kD,EAAE4pX,QAAQ+hG,kBAAmBt1c,GAE7B4sD,EAAW/oC,EAAQ+oC,UAClB5sD,EAAiB,QAAR0zD,EAAgB,cAAgB,eAAgB,GAAS,EAEnE2U,EAAW3U,GAAQ2jZ,EAASzqZ,EAEvBvV,IACJr3C,EAAQ4G,IAAKyhE,GAEbA,EAAW3U,GAAQ8jZ,EAAiB5qZ,EACpCyb,EAAUh6B,QAAU,GAIrBruC,EAAQsD,QAAS+kE,EAAW,CAC3Bq+O,OAAO,EACP5kT,SAAU+hB,EAAQ/hB,SAClBoa,OAAQ2H,EAAQ3H,OAChB+oD,SAAU7+E,OAwBeuD,EAAE4pX,QAAQ3mO,OAAQ,UAAW,QAAQ,SAAU/oH,EAASz9B,GAElF,IAAIjE,EAAGuc,EAAGy9B,EAAME,EAAKo7a,EAAI9vY,EACxByQ,EAAOv0D,EAAQ6zb,OAASjrd,KAAKi9G,MAAOj9G,KAAKC,KAAMm3B,EAAQ6zb,SAAa,EACpE/iM,EAAQv8L,EACRp4E,EAAUrW,EAAGrE,MAEb+xD,EAAgB,SADTxzB,EAAQ77B,KAIfuS,EAASyF,EAAQq3C,OAAOzwC,IAAK,aAAc,UAAWrM,SAGtDrO,EAAQO,KAAK4W,KAAMrD,EAAQgoE,aAAe2sM,GAC1CxoR,EAASM,KAAK4W,KAAMrD,EAAQ+nE,cAAgBqQ,GAC5Cs/X,EAAS,GAGV,SAASC,IACRD,EAAOtrd,KAAM9G,MACRoyd,EAAOt1d,SAAWg2F,EAAOu8L,IAiD9B30Q,EAAQ4G,IAAK,CACZ8vI,WAAY,YAEb/sJ,EAAG+td,GAASnyb,SACZn/B,KA/CD,IAAMjE,EAAI,EAAGA,EAAIi2F,EAAMj2F,IAItB,IAHAk6C,EAAM9hC,EAAO8hC,IAAMl6C,EAAIgK,EACvBw7E,EAAKxlF,GAAMi2F,EAAO,GAAM,EAElB15E,EAAI,EAAGA,EAAIi2Q,EAAOj2Q,IACvBy9B,EAAO5hC,EAAO4hC,KAAOz9B,EAAIxS,EACzBurd,EAAK/4c,GAAMi2Q,EAAQ,GAAM,EAIzB30Q,EACEkZ,QACAsjB,SAAU,QACV+1W,KAAM,eACN3rY,IAAK,CACLqhB,SAAU,WACVyuH,WAAY,UACZv6G,MAAOz9B,EAAIxS,EACXmwC,KAAMl6C,EAAIgK,IAKV+L,SACC0kC,SAAU,sBACVh2B,IAAK,CACLqhB,SAAU,WACVu9C,SAAU,SACVt5E,MAAOA,EACPC,OAAQA,EACRgwC,KAAMA,GAASkb,EAAOoga,EAAKvrd,EAAQ,GACnCmwC,IAAKA,GAAQgb,EAAOswB,EAAKx7E,EAAS,GAClCkiD,QAASgJ,EAAO,EAAI,IAEpB/zC,QAAS,CACT64B,KAAMA,GAASkb,EAAO,EAAIoga,EAAKvrd,GAC/BmwC,IAAKA,GAAQgb,EAAO,EAAIswB,EAAKx7E,GAC7BkiD,QAASgJ,EAAO,EAAI,GAClBxzB,EAAQ/hB,UAAY,IAAK+hB,EAAQ3H,OAAQy7b,MA+BzBhud,EAAE4pX,QAAQ3mO,OAAQ,OAAQ,UAAU,SAAU/oH,EAASz9B,GAC9E,IAAIixD,EAAwB,SAAjBxzB,EAAQ77B,KAEnB2B,EAAGrE,MACDshB,IAAK,UAAWywC,EAAO,EAAI,GAC3B/zC,QAAS,CACT+qC,QAASgJ,EAAO,EAAI,GAClB,CACFqvQ,OAAO,EACP5kT,SAAU+hB,EAAQ/hB,SAClBoa,OAAQ2H,EAAQ3H,OAChB+oD,SAAU7+E,OAsBWuD,EAAE4pX,QAAQ3mO,OAAQ,OAAQ,QAAQ,SAAU/oH,EAASz9B,GAG5E,IAAI4Z,EAAUrW,EAAGrE,MAChB0C,EAAO67B,EAAQ77B,KACfqvD,EAAgB,SAATrvD,EACPkvD,EAAgB,SAATlvD,EACPwiE,EAAO3mC,EAAQ2mC,MAAQ,GACvB1R,EAAU,YAAYphC,KAAM8yC,GAE5BkJ,EADe7vC,EAAQ+zb,WACJ,CAAE,QAAS,UAAa,CAAE,SAAU,SACvD91c,EAAW+hB,EAAQ/hB,SAAW,EAE9BiyG,EAAcpqH,EAAE4pX,QAAQ+hG,kBAAmBt1c,GAE3C5C,EAAQ4C,EAAQg2c,UAChB6B,EAAa,CAAEl9c,KAAMhR,EAAE+wC,OAAQ,GAAIt9B,IACnC06c,EAAa,CAAEn9c,KAAMhR,EAAE+wC,OAAQ,GAAIt9B,IAEnCwvD,EAAW,CAAExvD,EAAOs2D,EAAK,IAAOt2D,EAAOs2D,EAAK,KAE5C4jZ,EAAWt3c,EAAQ0mT,QAAQtkU,OAEvB02D,IACJ0R,EAAOhnD,SAAUs1C,EAAS,GAAK,IAAO,IAAM8T,EAAU1V,EAAO,EAAI,IAElE2ga,EAAWl9c,KAAM+4D,EAAK,IAAQlJ,EAC9BstZ,EAAWn9c,KAAM+4D,EAAK,IAAQlJ,EAC9BstZ,EAAWn9c,KAAM+4D,EAAK,IAAQ,EAEzBrc,IACJr3C,EAAQg2c,QAAS8B,EAAWn9c,MACvBo5G,GACJA,EAAYntG,IAAKjd,EAAE4pX,QAAQ0hG,UAAW6C,IAGvCA,EAAWn9c,KAAOyC,GAInB4C,EACE0mT,OAAO,SAAU7/T,GACZktH,GACJA,EACEzwG,QAAS3Z,EAAE4pX,QAAQ0hG,UAAW4C,GAAc/1c,EAAU+hB,EAAQ3H,QAC9D5Y,QAAS3Z,EAAE4pX,QAAQ0hG,UAAW6C,GAAch2c,EAAU+hB,EAAQ3H,QAGjEr1B,OAEAyc,QAASu0c,EAAY/1c,EAAU+hB,EAAQ3H,QACvC5Y,QAASw0c,EAAYh2c,EAAU+hB,EAAQ3H,QACvCwqS,MAAOtgU,GAETuD,EAAE4pX,QAAQpzV,QAASngB,EAASs3c,EAAU,MAqBV3td,EAAE4pX,QAAQ3mO,OAAQ,YAAa,QAAQ,SAAU/oH,EAASz9B,GACtF,IAAI4Z,EAAUrW,EAAGrE,MAChB+iF,EAAY,CACX3c,gBAAiB1rD,EAAQ4G,IAAK,oBAGV,SAAjBid,EAAQ77B,OACZqgF,EAAUh6B,QAAU,GAGrB1kD,EAAE4pX,QAAQ4hG,UAAWn1c,GAErBA,EACE4G,IAAK,CACLqqG,gBAAiB,OACjBvlD,gBAAiB7nC,EAAQx0B,OAAS,YAElCiU,QAAS+kE,EAAW,CACpBq+O,OAAO,EACP5kT,SAAU+hB,EAAQ/hB,SAClBoa,OAAQ2H,EAAQ3H,OAChB+oD,SAAU7+E,OAsBWuD,EAAE4pX,QAAQ3mO,OAAQ,QAAQ,SAAU/oH,EAASz9B,GAGpE,IAAIokM,EAAU/8H,EAAQ+8E,EACrBxqI,EAAUrW,EAAGrE,MAGbyyd,EAAS,CAAE,YACXC,EAAS,CAAE,iBAAkB,oBAAqB,aAAc,iBAChEC,EAAS,CAAE,kBAAmB,mBAAoB,cAAe,gBAGjEjwd,EAAO67B,EAAQ77B,KACf2Q,EAAmB,WAAT3Q,EACV4N,EAAQiuB,EAAQjuB,OAAS,OACzBi1F,EAAShnE,EAAQgnE,QAAU,CAAE,SAAU,UACvC5iE,EAAWjoB,EAAQ4G,IAAK,YACxB6xB,EAAMz4B,EAAQioB,WACdggR,EAAWt+S,EAAE4pX,QAAQyhG,iBAAkBh1c,GACvC3B,EAAOwlB,EAAQxlB,MAAQ4pS,EACvBnlS,EAAK+gB,EAAQ/gB,IAAMnZ,EAAE4pX,QAAQyhG,iBAAkBh1c,EAAS,GAEzDrW,EAAE4pX,QAAQ+hG,kBAAmBt1c,GAEf,SAAThY,IACJwiJ,EAAOnsI,EACPA,EAAOyE,EACPA,EAAK0nI,GAIN/8E,EAAS,CACRpvD,KAAM,CACLjM,EAAGiM,EAAKlS,OAAS87S,EAAS97S,OAC1BgG,EAAGkM,EAAKnS,MAAQ+7S,EAAS/7S,OAE1B4W,GAAI,CACH1Q,EAAG0Q,EAAG3W,OAAS87S,EAAS97S,OACxBgG,EAAG2Q,EAAG5W,MAAQ+7S,EAAS/7S,QAKV,QAAV0J,GAA6B,SAAVA,IAGlB63D,EAAOpvD,KAAKjM,IAAMq7D,EAAO3qD,GAAG1Q,IAChCiM,EAAO1U,EAAE4pX,QAAQmiG,cAAe11c,EAASg4c,EAAQvqZ,EAAOpvD,KAAKjM,EAAGiM,GAChEyE,EAAKnZ,EAAE4pX,QAAQmiG,cAAe11c,EAASg4c,EAAQvqZ,EAAO3qD,GAAG1Q,EAAG0Q,IAIxD2qD,EAAOpvD,KAAKlM,IAAMs7D,EAAO3qD,GAAG3Q,IAChCkM,EAAO1U,EAAE4pX,QAAQmiG,cAAe11c,EAASi4c,EAAQxqZ,EAAOpvD,KAAKlM,EAAGkM,GAChEyE,EAAKnZ,EAAE4pX,QAAQmiG,cAAe11c,EAASi4c,EAAQxqZ,EAAO3qD,GAAG3Q,EAAG2Q,KAK/C,YAAVlN,GAAiC,SAAVA,GAGtB63D,EAAOpvD,KAAKjM,IAAMq7D,EAAO3qD,GAAG1Q,IAChCiM,EAAO1U,EAAE4pX,QAAQmiG,cAAe11c,EAAS+3c,EAAQtqZ,EAAOpvD,KAAKjM,EAAGiM,GAChEyE,EAAKnZ,EAAE4pX,QAAQmiG,cAAe11c,EAAS+3c,EAAQtqZ,EAAO3qD,GAAG1Q,EAAG0Q,IAKzD+nF,IACJ2/F,EAAW7gM,EAAE4pX,QAAQ8hG,YAAaxqX,EAAQo9M,GAC1C5pS,EAAKg+B,KAAQ4rQ,EAASlgO,YAAc1pE,EAAK0pE,aAAgByiH,EAASp4L,EAAIqmC,EAAI4D,IAC1Eh+B,EAAK89B,MAAS8rQ,EAASjgO,WAAa3pE,EAAK2pE,YAAewiH,EAASr4L,EAAIsmC,EAAI0D,KACzEr5B,EAAGu5B,KAAQ4rQ,EAASlgO,YAAcjlE,EAAGilE,aAAgByiH,EAASp4L,EAAIqmC,EAAI4D,IACtEv5B,EAAGq5B,MAAS8rQ,EAASjgO,WAAallE,EAAGklE,YAAewiH,EAASr4L,EAAIsmC,EAAI0D,MAEtEn8B,EAAQ4G,IAAKvI,GAGE,YAAVzI,GAAiC,SAAVA,IAE3Boid,EAASA,EAAOlqc,OAAQ,CAAE,YAAa,iBAAmBA,OAAQiqc,GAClEE,EAASA,EAAOnqc,OAAQ,CAAE,aAAc,gBAIxC9N,EAAQ4yD,KAAM,YAAaz5C,MAAM,WAChC,IAAIrgB,EAAQnP,EAAGrE,MACd4yd,EAAgBvud,EAAE4pX,QAAQyhG,iBAAkBl8c,GAC5Cq/c,EAAY,CACXhsd,OAAQ+rd,EAAc/rd,OAASshE,EAAOpvD,KAAKjM,EAC3ClG,MAAOgsd,EAAchsd,MAAQuhE,EAAOpvD,KAAKlM,EACzC41E,YAAamwY,EAAcnwY,YAActa,EAAOpvD,KAAKjM,EACrD41E,WAAYkwY,EAAclwY,WAAava,EAAOpvD,KAAKlM,GAEpDimd,EAAU,CACTjsd,OAAQ+rd,EAAc/rd,OAASshE,EAAO3qD,GAAG1Q,EACzClG,MAAOgsd,EAAchsd,MAAQuhE,EAAO3qD,GAAG3Q,EACvC41E,YAAamwY,EAAc/rd,OAASshE,EAAO3qD,GAAG1Q,EAC9C41E,WAAYkwY,EAAchsd,MAAQuhE,EAAO3qD,GAAG3Q,GAIzCs7D,EAAOpvD,KAAKjM,IAAMq7D,EAAO3qD,GAAG1Q,IAChC+ld,EAAYxud,EAAE4pX,QAAQmiG,cAAe58c,EAAOk/c,EAAQvqZ,EAAOpvD,KAAKjM,EAAG+ld,GACnEC,EAAUzud,EAAE4pX,QAAQmiG,cAAe58c,EAAOk/c,EAAQvqZ,EAAO3qD,GAAG1Q,EAAGgmd,IAI3D3qZ,EAAOpvD,KAAKlM,IAAMs7D,EAAO3qD,GAAG3Q,IAChCgmd,EAAYxud,EAAE4pX,QAAQmiG,cAAe58c,EAAOm/c,EAAQxqZ,EAAOpvD,KAAKlM,EAAGgmd,GACnEC,EAAUzud,EAAE4pX,QAAQmiG,cAAe58c,EAAOm/c,EAAQxqZ,EAAO3qD,GAAG3Q,EAAGimd,IAG3Dz/c,GACJhP,EAAE4pX,QAAQ4hG,UAAWr8c,GAItBA,EAAM8N,IAAKuxc,GACXr/c,EAAMwK,QAAS80c,EAASv0b,EAAQ/hB,SAAU+hB,EAAQ3H,QAAQ,WAGpDvjB,GACJhP,EAAE4pX,QAAQ6hG,aAAct8c,UAO5BkH,EAAQsD,QAASR,EAAI,CACpB4jT,OAAO,EACP5kT,SAAU+hB,EAAQ/hB,SAClBoa,OAAQ2H,EAAQ3H,OAChB+oD,SAAU,WAET,IAAI1qE,EAASyF,EAAQzF,SAED,IAAfuI,EAAGurC,SACPruC,EAAQ4G,IAAK,UAAWvI,EAAKgwC,SAGxB11C,IACLqH,EACE4G,IAAK,WAAyB,WAAbqhB,EAAwB,WAAaA,GACtD1tB,OAAQA,GAIV5Q,EAAE4pX,QAAQ4hG,UAAWn1c,IAGtB5Z,UAwBsBuD,EAAE4pX,QAAQ3mO,OAAQ,SAAS,SAAU/oH,EAASz9B,GAGtE,IAAIi/B,EAAK17B,EAAGrE,MACX0C,EAAO67B,EAAQ77B,KACf8wD,EAAUt1C,SAAUqgB,EAAQi1B,QAAS,MACE,IAApCt1C,SAAUqgB,EAAQi1B,QAAS,KAA4B,WAAT9wD,EAAN,EAA8B,KAEzEqwd,EAAa1ud,EAAE+wC,QAAQ,EAAM,CAC5Br8B,KAAM1U,EAAE4pX,QAAQyhG,iBAAkB3vb,GAClCviB,GAAInZ,EAAE4pX,QAAQyhG,iBAAkB3vb,EAAIyzB,EAASj1B,EAAQk6B,WAAa,QAClE8sC,OAAQhnE,EAAQgnE,QAAU,CAAE,SAAU,WACpChnE,GAGCA,EAAQy0b,OACZD,EAAWh6c,KAAKgwC,QAAU,EAC1Bgqa,EAAWv1c,GAAGurC,QAAU,GAGzB1kD,EAAE4pX,QAAQhsE,OAAO/8O,KAAKljE,KAAMhC,KAAM+yd,EAAYjyd,MAqBvBuD,EAAE4pX,QAAQ3mO,OAAQ,OAAQ,QAAQ,SAAU/oH,EAASz9B,GAC5E,IAAIiyd,EAAa1ud,EAAE+wC,QAAQ,EAAM,GAAI7W,EAAS,CAC7Cy0b,MAAM,EACNx/Z,QAASt1C,SAAUqgB,EAAQi1B,QAAS,KAAQ,MAG7CnvD,EAAE4pX,QAAQhsE,OAAO3xS,MAAMtO,KAAMhC,KAAM+yd,EAAYjyd,MAqBrBuD,EAAE4pX,QAAQ3mO,OAAQ,UAAW,QAAQ,SAAU/oH,EAASz9B,GAClF,IAAI4Z,EAAUrW,EAAGrE,MAChB0C,EAAO67B,EAAQ77B,KACfqvD,EAAgB,SAATrvD,EAEPuwd,EAAWlha,GADK,SAATrvD,EAIPovd,EAAmC,GAAvBvzb,EAAQklH,OAAS,IAAcwvU,EAAW,EAAI,GAC1Dz2c,EAAW+hB,EAAQ/hB,SAAWs1c,EAC9BoB,EAAY,EACZr2d,EAAI,EACJm1d,EAAWt3c,EAAQ0mT,QAAQtkU,OAQ5B,KANKi1D,GAASr3C,EAAQpW,GAAI,cACzBoW,EAAQ4G,IAAK,UAAW,GAAIywC,OAC5Bmha,EAAY,GAILr2d,EAAIi1d,EAAOj1d,IAClB6d,EAAQsD,QAAS,CAAE+qC,QAASmqa,GAAa12c,EAAU+hB,EAAQ3H,QAC3Ds8b,EAAY,EAAIA,EAGjBx4c,EAAQsD,QAAS,CAAE+qC,QAASmqa,GAAa12c,EAAU+hB,EAAQ3H,QAE3Dlc,EAAQ0mT,MAAOtgU,GAEfuD,EAAE4pX,QAAQpzV,QAASngB,EAASs3c,EAAUF,EAAQ,MAqBtBztd,EAAE4pX,QAAQ3mO,OAAQ,SAAS,SAAU/oH,EAASz9B,GAEtE,IAAIjE,EAAI,EACP6d,EAAUrW,EAAGrE,MACby4D,EAAYl6B,EAAQk6B,WAAa,OACjC6O,EAAW/oC,EAAQ+oC,UAAY,GAC/Bm8E,EAAQllH,EAAQklH,OAAS,EACzBquU,EAAgB,EAARruU,EAAY,EACpB4zQ,EAAQlwZ,KAAKi9G,MAAO7lF,EAAQ/hB,SAAWs1c,GACvC1jZ,EAAsB,OAAd3V,GAAoC,SAAdA,EAAyB,MAAQ,OAC/D06Z,EAAiC,OAAd16Z,GAAoC,SAAdA,EACzCsqB,EAAY,GACZwvY,EAAa,GACbC,EAAa,GAEbR,EAAWt3c,EAAQ0mT,QAAQtkU,OAa5B,IAXAuH,EAAE4pX,QAAQ+hG,kBAAmBt1c,GAG7BqoE,EAAW3U,IAAU+kZ,EAAiB,KAAO,MAAS7rZ,EACtDirZ,EAAYnkZ,IAAU+kZ,EAAiB,KAAO,MAAoB,EAAX7rZ,EACvDkrZ,EAAYpkZ,IAAU+kZ,EAAiB,KAAO,MAAoB,EAAX7rZ,EAGvD5sD,EAAQsD,QAAS+kE,EAAWs0U,EAAO94X,EAAQ3H,QAGnC/5B,EAAI4mJ,EAAO5mJ,IAClB6d,EACEsD,QAASu0c,EAAYl7D,EAAO94X,EAAQ3H,QACpC5Y,QAASw0c,EAAYn7D,EAAO94X,EAAQ3H,QAGvClc,EACEsD,QAASu0c,EAAYl7D,EAAO94X,EAAQ3H,QACpC5Y,QAAS+kE,EAAWs0U,EAAQ,EAAG94X,EAAQ3H,QACvCwqS,MAAOtgU,GAETuD,EAAE4pX,QAAQpzV,QAASngB,EAASs3c,EAAUF,EAAQ,MAqBtBztd,EAAE4pX,QAAQ3mO,OAAQ,QAAS,QAAQ,SAAU/oH,EAASz9B,GAC9E,IAAIsyd,EAAWC,EACd34c,EAAUrW,EAAGrE,MACbynB,EAAM,CACLy/I,GAAI,CAAE,SAAU,OAChBshS,KAAM,CAAE,MAAO,UACf3xZ,KAAM,CAAE,QAAS,QACjBgsC,MAAO,CAAE,OAAQ,UAElBngF,EAAO67B,EAAQ77B,KACf+1D,EAAYl6B,EAAQk6B,WAAa,OACjC2V,EAAsB,OAAd3V,GAAoC,SAAdA,EAAyB,MAAQ,OAC/D06Z,EAAiC,OAAd16Z,GAAoC,SAAdA,EACzC6O,EAAW/oC,EAAQ+oC,UAClB5sD,EAAiB,QAAR0zD,EAAgB,cAAgB,eAAgB,GAC1D2U,EAAY,GAEb1+E,EAAE4pX,QAAQ+hG,kBAAmBt1c,GAE7B04c,EAAY14c,EAAQg2c,UACpB2C,EAAW34c,EAAQioB,WAAYyrC,GAG/B2U,EAAW3U,IAAU+kZ,GAAkB,EAAI,GAAM7rZ,EAAW+rZ,EAC5DtwY,EAAU1tE,KAAOqF,EAAQg2c,UACzB3tY,EAAU1tE,KAAMoS,EAAKgxC,GAAa,IAAQsqB,EAAU1tE,KAAMoS,EAAKgxC,GAAa,IAG9D,SAAT/1D,IACJgY,EAAQg2c,QAAS3tY,EAAU1tE,MAC3BqF,EAAQ4G,IAAK8sD,EAAK2U,EAAW3U,IAC7B2U,EAAU1tE,KAAO+9c,EACjBrwY,EAAW3U,GAAQilZ,GAIpB34c,EAAQsD,QAAS+kE,EAAW,CAC3Bq+O,OAAO,EACP5kT,SAAU+hB,EAAQ/hB,SAClBoa,OAAQ2H,EAAQ3H,OAChB+oD,SAAU7+E,QAuBY,IAAnBuD,EAAEy3b,cACGz3b,EAAE4pX,QAAQ3mO,OAAQ,YAAY,SAAU/oH,EAASz9B,GACzDuD,EAAGrE,MAAO4wd,SAAUryb,EAASz9B,QAhwkBvB,gC,iDCTO,SAASgzE,EAAQ9zC,GAa9B,OATE8zC,EADoB,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SACtC,SAAiBw/B,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAI9GA,G,8CCXF,SAASu7F,EAA2Bv6G,EAAMhf,GACvD,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAI3C,OAAAoyT,EAAA,GAAsBpzS,GAHpBhf,I,6BCJX,sDAGIizC,EAAM,GACNphB,EAAOohB,EAAIlgB,QACXid,EAAQiD,EAAIjD,MAChB,SAASstC,EAASt/C,GAQhB,OAPAnM,EAAK7xB,KAAKgwC,EAAMhwC,KAAK7B,UAAW,IAAI,SAAUmoB,GAC5C,GAAIA,EACF,IAAK,IAAI9iB,KAAQ8iB,OACGsX,IAAdI,EAAIx6B,KAAqBw6B,EAAIx6B,GAAQ8iB,EAAO9iB,OAI/Cw6B,EAIT,IAAIszb,EAAqB,wCAErBC,EAAkB,SAAyBnxd,EAAMshB,EAAK6a,GACxD,IAAIokD,EAAMpkD,GAAW,GACrBokD,EAAIp1E,KAAOo1E,EAAIp1E,MAAQ,IACvB,IACIm2G,EAAMthH,EAAO,IADL6lB,mBAAmBvE,GAG/B,GAAIi/D,EAAI6wY,OAAS,EAAG,CAClB,IAAIA,EAAS7wY,EAAI6wY,OAAS,EAC1B,GAAIxld,MAAMwld,GAAS,MAAM,IAAIt0b,MAAM,6BACnCwkF,GAAO,aAAev8G,KAAK0W,MAAM21c,GAGnC,GAAI7wY,EAAIsuD,OAAQ,CACd,IAAKqiV,EAAmB/wb,KAAKogD,EAAIsuD,QAC/B,MAAM,IAAIx0I,UAAU,4BAGtBinH,GAAO,YAAc/gC,EAAIsuD,OAG3B,GAAItuD,EAAIp1E,KAAM,CACZ,IAAK+ld,EAAmB/wb,KAAKogD,EAAIp1E,MAC/B,MAAM,IAAI9Q,UAAU,0BAGtBinH,GAAO,UAAY/gC,EAAIp1E,KAGzB,GAAIo1E,EAAI8wY,QAAS,CACf,GAAuC,oBAA5B9wY,EAAI8wY,QAAQn1H,YACrB,MAAM,IAAI7hW,UAAU,6BAGtBinH,GAAO,aAAe/gC,EAAI8wY,QAAQn1H,cAMpC,GAHI37Q,EAAI+wY,WAAUhwW,GAAO,cACrB/gC,EAAIgxY,SAAQjwW,GAAO,YAEnB/gC,EAAIixY,SAGN,OAFuC,kBAAjBjxY,EAAIixY,SAAwBjxY,EAAIixY,SAAS/6c,cAAgB8pE,EAAIixY,UAGjF,KAAK,EACHlwW,GAAO,oBACP,MAEF,IAAK,MACHA,GAAO,iBACP,MAEF,IAAK,SACHA,GAAO,oBACP,MAEF,IAAK,OACHA,GAAO,kBACP,MAEF,QACE,MAAM,IAAIjnH,UAAU,8BAI1B,OAAOinH,GAGLmwW,EACM,SAAgBzxd,EAAM1C,EAAOwxS,EAASjgK,GAC5C,IAAI6iV,EAAgB3zd,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,CACtFoN,KAAM,IACNqmd,SAAU,UAGR1iL,IACF4iL,EAAcL,QAAU,IAAIl8b,KAC5Bu8b,EAAcL,QAAQ7nO,QAAQkoO,EAAcL,QAAQ7yV,UAAsB,GAAVswK,EAAe,MAG7EjgK,IAAQ6iV,EAAc7iV,OAASA,GACnC3tI,SAASuwd,OAASN,EAAgBnxd,EAAM6lB,mBAAmBvoB,GAAQo0d,IAbnED,EAeI,SAAczxd,GAIlB,IAHA,IAAI2xd,EAAS3xd,EAAO,IAChB2sN,EAAKzrN,SAASuwd,OAAOtnd,MAAM,KAEtB1P,EAAI,EAAGA,EAAIkyN,EAAGjyN,OAAQD,IAAK,CAGlC,IAFA,IAAIqF,EAAI6sN,EAAGlyN,GAEY,MAAhBqF,EAAE4mB,OAAO,IACd5mB,EAAIA,EAAEmvC,UAAU,EAAGnvC,EAAEpF,QAGvB,GAA0B,IAAtBoF,EAAEmI,QAAQ0pd,GAAe,OAAO7xd,EAAEmvC,UAAU0ib,EAAOj3d,OAAQoF,EAAEpF,QAGnE,OAAO,MAMPk3d,EAAW,CACb5xd,KAAM,SACNi+V,OAAQ,SAAgB9hU,GACtB,IAAI48R,EAEJ,GAAI58R,EAAQ01b,cAAoC,qBAAb3wd,SAA0B,CAC3D,IAAIpB,EAAI2xd,EAAYt1b,EAAQ01b,cACxB/xd,IAAGi5T,EAAQj5T,GAGjB,OAAOi5T,GAET6I,kBAAmB,SAA2B3N,EAAK93R,GAC7CA,EAAQ01b,cAAoC,qBAAb3wd,UACjCuwd,EAAct1b,EAAQ01b,aAAc59J,EAAK93R,EAAQ21b,cAAe31b,EAAQ41b,aAAc51b,EAAQu1b,iBAKhGM,EAAc,CAChBhyd,KAAM,cACNi+V,OAAQ,SAAgB9hU,GACtB,IAAI48R,EAEJ,GAAsB,qBAAXz5T,OAAwB,CACjC,IAAI67H,EAAS77H,OAAOkgC,SAAS27F,QAExB77H,OAAOkgC,SAAS27F,QAAU77H,OAAOkgC,SAASm3B,MAAQr3D,OAAOkgC,SAASm3B,KAAK1uD,QAAQ,MAAQ,IAC1FkzH,EAAS77H,OAAOkgC,SAASm3B,KAAK1nB,UAAU3vC,OAAOkgC,SAASm3B,KAAK1uD,QAAQ,OAMvE,IAHA,IACIwtF,EADQ0lC,EAAOlsF,UAAU,GACV9kC,MAAM,KAEhB1P,EAAI,EAAGA,EAAIg7F,EAAO/6F,OAAQD,IAAK,CACtC,IAAIs2C,EAAM0kD,EAAOh7F,GAAGwN,QAAQ,KAE5B,GAAI8oC,EAAM,EACE0kD,EAAOh7F,GAAGw0C,UAAU,EAAG8B,KAErB5U,EAAQ81b,oBAClBl5J,EAAQtjO,EAAOh7F,GAAGw0C,UAAU8B,EAAM,KAM1C,OAAOgoR,IAIPm5J,EAAyB,KAEzBC,EAAwB,WAC1B,GAA+B,OAA3BD,EAAiC,OAAOA,EAE5C,IACEA,EAAoC,cAAX5yd,QAAkD,OAAxBA,OAAOquK,aAE1DruK,OAAOquK,aAAaqB,QADN,wBACuB,OACrC1vK,OAAOquK,aAAauB,WAFN,yBAGd,MAAOvwK,GACPuzd,GAAyB,EAG3B,OAAOA,GAGLvkT,EAAe,CACjB3tK,KAAM,eACNi+V,OAAQ,SAAgB9hU,GACtB,IAAI48R,EAEJ,GAAI58R,EAAQi2b,oBAAsBD,IAAyB,CACzD,IAAIl+J,EAAM30T,OAAOquK,aAAa2B,QAAQnzI,EAAQi2b,oBAC1Cn+J,IAAK8E,EAAQ9E,GAGnB,OAAO8E,GAET6I,kBAAmB,SAA2B3N,EAAK93R,GAC7CA,EAAQi2b,oBAAsBD,KAChC7yd,OAAOquK,aAAaqB,QAAQ7yI,EAAQi2b,mBAAoBn+J,KAK1Do+J,EAA2B,KAE3BC,EAA0B,WAC5B,GAAiC,OAA7BD,EAAmC,OAAOA,EAE9C,IACEA,EAAsC,cAAX/yd,QAAoD,OAA1BA,OAAOsuK,eAE5DtuK,OAAOsuK,eAAeoB,QADR,wBACyB,OACvC1vK,OAAOsuK,eAAesB,WAFR,yBAGd,MAAOvwK,GACP0zd,GAA2B,EAG7B,OAAOA,GAGLzkT,EAAiB,CACnB5tK,KAAM,iBACNi+V,OAAQ,SAAgB9hU,GACtB,IAAI48R,EAEJ,GAAI58R,EAAQo2b,sBAAwBD,IAA2B,CAC7D,IAAIr+J,EAAM30T,OAAOsuK,eAAe0B,QAAQnzI,EAAQo2b,sBAC5Ct+J,IAAK8E,EAAQ9E,GAGnB,OAAO8E,GAET6I,kBAAmB,SAA2B3N,EAAK93R,GAC7CA,EAAQo2b,sBAAwBD,KAClChzd,OAAOsuK,eAAeoB,QAAQ7yI,EAAQo2b,qBAAsBt+J,KAK9Du+J,EAAc,CAChBxyd,KAAM,YACNi+V,OAAQ,SAAgB9hU,GACtB,IAAI48R,EAAQ,GAEZ,GAAyB,qBAAdrxO,UAA2B,CACpC,GAAIA,UAAUu3O,UAEZ,IAAK,IAAIxkU,EAAI,EAAGA,EAAIitF,UAAUu3O,UAAUvkU,OAAQD,IAC9Cs+T,EAAMr0T,KAAKgjF,UAAUu3O,UAAUxkU,IAI/BitF,UAAU+qY,cACZ15J,EAAMr0T,KAAKgjF,UAAU+qY,cAGnB/qY,UAAUkhJ,UACZmwF,EAAMr0T,KAAKgjF,UAAUkhJ,UAIzB,OAAOmwF,EAAMr+T,OAAS,EAAIq+T,OAAQv7R,IAIlCk1b,EAAU,CACZ1yd,KAAM,UACNi+V,OAAQ,SAAgB9hU,GACtB,IAAI48R,EACA25J,EAAUv2b,EAAQu2b,UAAgC,qBAAbxxd,SAA2BA,SAASkiB,gBAAkB,MAM/F,OAJIsvc,GAA2C,oBAAzBA,EAAQ9kb,eAC5BmrR,EAAQ25J,EAAQ9kb,aAAa,SAGxBmrR,IAIP5tT,EAAO,CACTnL,KAAM,OACNi+V,OAAQ,SAAgB9hU,GACtB,IAAI48R,EAEJ,GAAsB,qBAAXz5T,OAAwB,CACjC,IAAIspO,EAAWtpO,OAAOkgC,SAASK,SAASz4B,MAAM,mBAE9C,GAAIwhO,aAAoBvqO,MACtB,GAA2C,kBAAhC89B,EAAQw2b,oBAAkC,CACnD,GAAqD,kBAA1C/pP,EAASzsM,EAAQw2b,qBAC1B,OAGF55J,EAAQnwF,EAASzsM,EAAQw2b,qBAAqBttd,QAAQ,IAAK,SAE3D0zT,EAAQnwF,EAAS,GAAGvjO,QAAQ,IAAK,IAKvC,OAAO0zT,IAIP65J,EAAY,CACd5yd,KAAM,YACNi+V,OAAQ,SAAgB9hU,GACtB,IAAI48R,EAEJ,GAAsB,qBAAXz5T,OAAwB,CACjC,IAAIspO,EAAWtpO,OAAOkgC,SAAShhB,KAAKpX,MAAM,kDAEtCwhO,aAAoBvqO,QAEpB06T,EAD8C,kBAArC58R,EAAQ02b,yBACTjqP,EAASzsM,EAAQ02b,0BAA0Bxtd,QAAQ,UAAW,IAAIA,QAAQ,WAAY,IAAIA,QAAQ,IAAK,IAEvGujO,EAAS,GAAGvjO,QAAQ,UAAW,IAAIA,QAAQ,WAAY,IAAIA,QAAQ,IAAK,KAKtF,OAAO0zT,IAmBX,IAAI+5J,EAAuB,WACzB,SAASA,EAAQ79J,GACf,IAAI94R,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAElF7D,YAAgB0D,KAAMk1d,GAEtBl1d,KAAKiR,KAAO,mBACZjR,KAAKm1d,UAAY,GACjBn1d,KAAK+F,KAAKsxT,EAAU94R,GA4DtB,OAzDAjhC,YAAa43d,EAAS,CAAC,CACrB73d,IAAK,OACLqC,MAAO,SAAc23T,GACnB,IAAI94R,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9Ei1d,EAAcj1d,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GACtFH,KAAKq3T,SAAWA,EAChBr3T,KAAKu+B,QAAU+gD,EAAS/gD,EAASv+B,KAAKu+B,SAAW,GA/B9C,CACL8xG,MAAO,CAAC,cAAe,SAAU,eAAgB,iBAAkB,YAAa,WAChFgkV,kBAAmB,MACnBJ,aAAc,UACdO,mBAAoB,aACpBG,qBAAsB,aAEtBU,OAAQ,CAAC,gBACTC,gBAAiB,CAAC,YAyBZt1d,KAAKu+B,QAAQg3b,qBAAoBv1d,KAAKu+B,QAAQw2b,oBAAsB/0d,KAAKu+B,QAAQg3b,oBACrFv1d,KAAKo1d,YAAcA,EACnBp1d,KAAKw1d,YAAYxB,GACjBh0d,KAAKw1d,YAAYpB,GACjBp0d,KAAKw1d,YAAYzlT,GACjB/vK,KAAKw1d,YAAYxlT,GACjBhwK,KAAKw1d,YAAYZ,GACjB50d,KAAKw1d,YAAYV,GACjB90d,KAAKw1d,YAAYjod,GACjBvN,KAAKw1d,YAAYR,KAElB,CACD33d,IAAK,cACLqC,MAAO,SAAqB+1d,GAC1Bz1d,KAAKm1d,UAAUM,EAASrzd,MAAQqzd,IAEjC,CACDp4d,IAAK,SACLqC,MAAO,SAAgBg2d,GACrB,IAAIngb,EAAQv1C,KAEP01d,IAAgBA,EAAiB11d,KAAKu+B,QAAQ8xG,OACnD,IAAIslV,EAAW,GASf,OARAD,EAAe3gc,SAAQ,SAAU6gc,GAC/B,GAAIrgb,EAAM4/a,UAAUS,GAAe,CACjC,IAAIv1H,EAAS9qT,EAAM4/a,UAAUS,GAAcv1H,OAAO9qT,EAAMhX,SAEpD8hU,GAA4B,kBAAXA,IAAqBA,EAAS,CAACA,IAChDA,IAAQs1H,EAAWA,EAASntc,OAAO63U,QAGvCrgW,KAAKq3T,SAASqC,cAAcqK,sBAA8B4xJ,EAEvDA,EAAS74d,OAAS,EAAI64d,EAAS,GAAK,OAE5C,CACDt4d,IAAK,oBACLqC,MAAO,SAA2B22T,EAAKg/J,GACrC,IAAIh5a,EAASr8C,KAERq1d,IAAQA,EAASr1d,KAAKu+B,QAAQ82b,QAC9BA,IACDr1d,KAAKu+B,QAAQ+2b,iBAAmBt1d,KAAKu+B,QAAQ+2b,gBAAgBjrd,QAAQgsT,IAAQ,GACjFg/J,EAAOtgc,SAAQ,SAAU8gc,GACnBx5a,EAAO84a,UAAUU,IAAYx5a,EAAO84a,UAAUU,GAAW7xJ,kBAAkB3N,EAAKh6Q,EAAO9d,iBAK1F22b,EApEkB,GAuE3BA,EAAQjkd,KAAO,oB,6BCjaf,+BAAS3U,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAS7S,IAAI05V,EAAc,WAChB,MAAO,CACLq/H,SAAU,+BACVC,QAAS,8BACTC,mBAAmB,EACnB1xb,MAAO,SAAetzB,GACpB,OAAOkX,KAAKoc,MAAMtzB,IAEpBmX,UAAWD,KAAKC,UAChB8tc,aAAc,SAAsB1ob,EAAWlwC,EAAK08T,GAClD,OAfN,SAAyB/5R,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAe9LgsB,CAAgB,GAAI3uD,EAAK08T,GAAiB,KAEnDhvQ,QAASA,IACTmra,eAAkC,qBAAXx0d,QAAiC,KACxDy0d,cAAe,GACfC,kBAAmB,GACnB/3D,aAAa,EACb2O,iBAAiB,EACjB7qN,kBAAkB,EAClBk0Q,eAAgB,CACd3zd,KAAM,OACN4zd,YAAa,cACb/tX,MAAO,aAKTguX,EAAU,WACZ,SAASA,EAAQl/J,GACf,IAAI94R,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9Eq2d,EAAar2d,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAErF7D,EAAgB0D,KAAMu2d,GAEtBv2d,KAAKq3T,SAAWA,EAChBr3T,KAAKu+B,QAAUA,EACfv+B,KAAKw2d,WAAaA,EAClBx2d,KAAKiR,KAAO,UACZjR,KAAK+F,KAAKsxT,EAAU94R,EAASi4b,GA7CjC,IAAsBh6d,EAAae,EAAYC,EAkM7C,OAlMoBhB,EAgDP+5d,GAhDoBh5d,EAgDX,CAAC,CACrBF,IAAK,OACLqC,MAAO,SAAc23T,GACnB,IAAI9hR,EAAQv1C,KAERu+B,EAAUp+B,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GAC9Eq2d,EAAar2d,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,GACrFH,KAAKq3T,SAAWA,EAChBr3T,KAAKu+B,QAAU+gD,YAAS/gD,EAASv+B,KAAKu+B,SAAW,GAAIk4T,KACrDz2V,KAAKw2d,WAAaA,EAEdx2d,KAAKq3T,UAAYr3T,KAAKu+B,QAAQ23b,gBAChC9vc,aAAY,WACV,OAAOmvB,EAAMosR,WACZ3hU,KAAKu+B,QAAQ23b,kBAGnB,CACD74d,IAAK,YACLqC,MAAO,SAAmB2hU,EAAWx/O,EAAYt2C,GAC/CvrC,KAAKy2d,SAASp1J,EAAWA,EAAWx/O,EAAYA,EAAYt2C,KAE7D,CACDluC,IAAK,OACLqC,MAAO,SAAcsrO,EAAUz9L,EAAWhC,GACxCvrC,KAAKy2d,SAAS,CAACzrP,GAAWA,EAAU,CAACz9L,GAAYA,EAAWhC,KAE7D,CACDluC,IAAK,WACLqC,MAAO,SAAkB2hU,EAAWq1J,EAAkB70Y,EAAY80Y,EAAmBprb,GACnF,IAAI8Q,EAASr8C,KAET81d,EAAW91d,KAAKu+B,QAAQu3b,SAES,oBAA1B91d,KAAKu+B,QAAQu3b,WACtBA,EAAW91d,KAAKu+B,QAAQu3b,SAASz0J,EAAWx/O,KAG9Ci0Y,EAAWznK,YAAYynK,IACdniW,MAAK,SAAUijW,GACtB,IAAKA,EAAkB,OAAOrrb,EAAS,KAAM,IAE7C,IAAI3jC,EAAMy0C,EAAOg7Q,SAASr3K,aAAa/nH,YAAY2+b,EAAkB,CACnEvgK,IAAKgL,EAAUh1T,KAAK,KACpBzJ,GAAIi/E,EAAWx1E,KAAK,OAGtBgwC,EAAOw6a,QAAQjvd,EAAK2jC,EAAUmrb,EAAkBC,QAGnD,CACDt5d,IAAK,UACLqC,MAAO,SAAiBkI,EAAK2jC,EAAU81R,EAAWx/O,GAChD,IAAI7kC,EAASh9C,KAEbA,KAAKu+B,QAAQwsB,QAAQ/qD,KAAKu+B,QAAS32B,OAAKg4B,GAAW,SAAUz+B,EAAK4qI,GAChE,GAAIA,IAAQA,EAAIy6C,QAAU,KAAOz6C,EAAIy6C,OAAS,MAAQz6C,EAAIy6C,QAAS,OAAOj7I,EAAS,kBAAoB3jC,EAAM,kBAAoBmkI,EAAIy6C,QAAQ,GAC7I,GAAIz6C,GAAOA,EAAIy6C,QAAU,KAAOz6C,EAAIy6C,OAAS,IAAK,OAAOj7I,EAAS,kBAAoB3jC,EAAM,kBAAoBmkI,EAAIy6C,QAAQ,GAC5H,IAAKz6C,GAAO5qI,GAAOA,EAAIqoC,SAAWroC,EAAIqoC,QAAQn/B,QAAQ,oBAAsB,EAAG,OAAOkhC,EAAS,kBAAoB3jC,EAAM,KAAOzG,EAAIqoC,SAAS,GAC7I,GAAIroC,EAAK,OAAOoqC,EAASpqC,GAAK,GAC9B,IAAIwc,EAAKm5c,EAET,IAEIn5c,EADsB,kBAAbouH,EAAI/6H,KACPgsC,EAAOze,QAAQ+F,MAAMynG,EAAI/6H,KAAMqwT,EAAWx/O,GAE1CkqD,EAAI/6H,KAEZ,MAAOjQ,GACP+1d,EAAW,kBAAoBlvd,EAAM,WAGvC,GAAIkvd,EAAU,OAAOvrb,EAASurb,GAAU,GACxCvrb,EAAS,KAAM5tB,QAGlB,CACDtgB,IAAK,SACLqC,MAAO,SAAgB2hU,EAAW9zR,EAAWlwC,EAAK08T,EAAexuR,GAC/D,IAAI2U,EAASlgD,KAEb,GAAKA,KAAKu+B,QAAQw3b,QAAlB,CACyB,kBAAd10J,IAAwBA,EAAY,CAACA,IAChD,IAAIzuL,EAAU5yI,KAAKu+B,QAAQ03b,aAAa1ob,EAAWlwC,EAAK08T,GACpDg9J,EAAW,EACXC,EAAY,GACZC,EAAW,GACf51J,EAAUtsS,SAAQ,SAAUshS,GAC1B,IAAI0/J,EAAU71a,EAAO3hB,QAAQw3b,QAES,oBAA3B71a,EAAO3hB,QAAQw3b,UACxBA,EAAU71a,EAAO3hB,QAAQw3b,QAAQ1/J,EAAK9oR,IAGxC,IAAI3lC,EAAMs4C,EAAOm3Q,SAASr3K,aAAa/nH,YAAY89b,EAAS,CAC1D1/J,IAAKA,EACLzzT,GAAI2qC,IAGN2S,EAAO3hB,QAAQwsB,QAAQ7K,EAAO3hB,QAAS32B,EAAKgrI,GAAS,SAAU5hI,EAAM+6H,GACnEgrV,GAAY,EACZC,EAAUlwd,KAAKkK,GACfimd,EAASnwd,KAAKilI,GAEVgrV,IAAa11J,EAAUvkU,QACrByuC,GAAUA,EAASyrb,EAAWC,YAKzC,CACD55d,IAAK,SACLqC,MAAO,WACL,IAAImhD,EAAS7gD,KAETk3d,EAAiBl3d,KAAKq3T,SACtB4C,EAAmBi9J,EAAej9J,iBAClCP,EAAgBw9J,EAAex9J,cAC/BzI,EAASimK,EAAejmK,OACxBkmK,EAAkBl9J,EAAiBjvF,SACvC,IAAImsP,GAAqD,WAAlCA,EAAgBt+c,cAAvC,CACA,IAAIyoT,EAAS,GAET9zP,EAAS,SAAgB6oP,GAChBqD,EAAcI,mBAAmBzD,GACvCthS,SAAQ,SAAUhzB,GACjBu/T,EAAOj3T,QAAQtI,GAAK,GAAGu/T,EAAOx6T,KAAK/E,OAI3CyrE,EAAO2pZ,GACHn3d,KAAKw2d,WAAW/zJ,SAASziU,KAAKw2d,WAAW/zJ,QAAQ1tS,SAAQ,SAAUhzB,GACrE,OAAOyrE,EAAOzrE,MAEhBu/T,EAAOvsS,SAAQ,SAAUshS,GACvBx1Q,EAAO21a,WAAW5zd,GAAGmyB,SAAQ,SAAUnyB,GACrCq3T,EAAiBh0G,KAAKowG,EAAKzzT,EAAI,OAAQ,KAAM,MAAM,SAAUzB,EAAK6P,GAC5D7P,GAAK8vT,EAAO5pR,KAAK,qBAAqB7e,OAAO5lB,EAAI,kBAAkB4lB,OAAO6tS,EAAK,WAAYl1T,IAC1FA,GAAO6P,GAAMigT,EAAOrrT,IAAI,oBAAoB4iB,OAAO5lB,EAAI,kBAAkB4lB,OAAO6tS,GAAMrlT,GAC3FipT,EAAiB1yT,OAAO,GAAGihB,OAAO6tS,EAAK,KAAK7tS,OAAO5lB,GAAKzB,EAAK6P,kBA3LKtU,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAAcL,OAAOC,eAAeZ,EAAa,YAAa,CAAEU,UAAU,IAkMrPq5d,EAhKK,GAmKdA,EAAQtld,KAAO,UACAsld,O,8BC1Mf,gBAIIa,EAUAC,EAUAC,EAxBJ,oCAASxjZ,EAAQ9zC,GAAkC,OAAO8zC,EAAU,mBAAqBvzE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUw/B,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBz/B,QAAUy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAgBA,GAMpT,oBAAVm9U,QACa,qBAAX72P,GAA0BA,EAAO62P,MAC1Ci6G,EAAW9wW,EAAO62P,MACS,qBAAXz7W,QAA0BA,OAAOy7W,QACjDi6G,EAAW11d,OAAOy7W,QAMlB/uD,gBACoB,qBAAX9nM,GAA0BA,EAAOx+G,eAC1Cuvd,EAAoB/wW,EAAOx+G,eACA,qBAAXpG,QAA0BA,OAAOoG,iBACjDuvd,EAAoB31d,OAAOoG,iBAMF,oBAAlBC,gBACa,qBAAXu+G,GAA0BA,EAAOv+G,cAC1Cuvd,EAAmBhxW,EAAOv+G,cACC,qBAAXrG,QAA0BA,OAAOqG,gBACjDuvd,EAAmB51d,OAAOqG,gBAIzBqvd,IAAYG,GAAcF,GAAsBC,IAAkBF,EAAWG,KAAqBA,GAC/E,oBAAbH,IAAyBA,OAAWx3b,GAE/C,IAAI43b,EAAiB,SAAwB5vd,EAAKiwF,GAChD,GAAIA,GAA8B,WAApB/jB,EAAQ+jB,GAAsB,CAC1C,IAAI2xR,EAAc,GAElB,IAAK,IAAIiuG,KAAa5/X,EACpB2xR,GAAe,IAAMvhW,mBAAmBwvc,GAAa,IAAMxvc,mBAAmB4vE,EAAO4/X,IAGvF,IAAKjuG,EAAa,OAAO5hX,EACzBA,EAAMA,IAA6B,IAAtBA,EAAIyC,QAAQ,KAAc,IAAM,KAAOm/W,EAAYx3U,MAAM,GAGxE,OAAOpqC,GAoGMmjD,IAjBD,SAAiBxsB,EAAS32B,EAAKgrI,EAASrnG,GAQpD,MAPuB,oBAAZqnG,IACTrnG,EAAWqnG,EACXA,OAAUhzG,GAGZ2L,EAAWA,GAAY,aAEnB6rb,EAxFiB,SAA0B74b,EAAS32B,EAAKgrI,EAASrnG,GAClEhN,EAAQ63b,oBACVxud,EAAM4vd,EAAe5vd,EAAK22B,EAAQ63b,oBAGpC,IAAIhqN,EAAU9sL,YAAS,GAAqC,oBAA1B/gD,EAAQ43b,cAA+B53b,EAAQ43b,gBAAkB53b,EAAQ43b,eACvGvjV,IAASw5H,EAAQ,gBAAkB,oBACvCgrN,EAASxvd,EAAK03E,YAAS,CACrBylC,OAAQ6tB,EAAU,OAAS,MAC3BvuH,KAAMuuH,EAAUr0G,EAAQpW,UAAUyqH,QAAWhzG,EAC7CwsO,QAASA,GAC0B,oBAA3B7tO,EAAQ83b,eAAgC93b,EAAQ83b,eAAezjV,GAAWr0G,EAAQ83b,iBAAiB1iW,MAAK,SAAUm7D,GAC1H,IAAKA,EAAS9kL,GAAI,OAAOuhC,EAASujJ,EAASqvO,YAAc,QAAS,CAChE33O,OAAQsI,EAAStI,SAEnBsI,EAAS76K,OAAO0/G,MAAK,SAAU3iH,GAC7Bu6B,EAAS,KAAM,CACbi7I,OAAQsI,EAAStI,OACjBx1K,KAAMA,OAEPkmB,MAAMqU,MACRrU,MAAMqU,GAoEAmsb,CAAiBn5b,EAAS32B,EAAKgrI,EAASrnG,GAG7C6iR,eAAgD,oBAAlBrmT,cApEJ,SAAmCw2B,EAAS32B,EAAKgrI,EAASrnG,GACpFqnG,GAAgC,WAArB9+D,EAAQ8+D,KACrBA,EAAU4kV,EAAe,GAAI5kV,GAAS5gG,MAAM,IAG1CzT,EAAQ63b,oBACVxud,EAAM4vd,EAAe5vd,EAAK22B,EAAQ63b,oBAGpC,IACE,IAAIvpd,GAGFA,EADEwqd,EACE,IAAIA,EAEJ,IAAIC,EAAiB,uBAGzBtvd,KAAK4qI,EAAU,OAAS,MAAOhrI,EAAK,GAEjC22B,EAAQ8/X,aACXxxZ,EAAEoxZ,iBAAiB,mBAAoB,kBAGzCpxZ,EAAEmga,kBAAoBzuY,EAAQyuY,gBAE1Bp6R,GACF/lI,EAAEoxZ,iBAAiB,eAAgB,qCAGjCpxZ,EAAEs1M,kBACJt1M,EAAEs1M,iBAAiB,oBAGrB,IAAInuL,EAAIuK,EAAQ43b,cAGhB,GAFAnic,EAAiB,oBAANA,EAAmBA,IAAMA,EAGlC,IAAK,IAAIn3B,KAAKm3B,EACZnnB,EAAEoxZ,iBAAiBpha,EAAGm3B,EAAEn3B,IAI5BgQ,EAAEi5X,mBAAqB,WACrBj5X,EAAEs7W,WAAa,GAAK58U,EAAS1+B,EAAE25K,QAAU,IAAM35K,EAAEsxZ,WAAa,KAAM,CAClE33O,OAAQ35K,EAAE25K,OACVx1K,KAAMnE,EAAE3E,gBAIZ2E,EAAE5E,KAAK2qI,GACP,MAAO7xI,GACP+E,SAAWA,QAAQF,IAAI7E,IAiBhB42d,CAA0Bp5b,EAAS32B,EAAKgrI,EAASrnG,QAD1D,K,mCC/IA,WACA,IAAIxqC,EAAI,CACJ62d,IAAK,SAAU72d,EAAG0B,EAAG5B,GACnB,IAAIP,EAAGiC,EAAG1F,OACV,KACG0F,EACC,mBACQjC,EAAIzD,EACV,WACE,SAASkE,IACP,IAAK,IAAIA,EAAI,EAAG0B,EAAI,GAAI1B,EAAIZ,UAAUrD,OAAQiE,IAAK,CACjD,IAAIF,EAAIV,UAAUY,GAClB,IAAK,IAAIT,KAAKO,EAAG4B,EAAEnC,GAAKO,EAAEP,GAE5B,OAAOmC,EAET,SAASA,EAAE1B,GACT,OAAOA,EAAE0G,QAAQ,mBAAoBi2H,oBAEvC,OAAQ,SAAS78H,EAAEP,GACjB,SAASiC,KACT,SAAS1F,EAAE4F,EAAG5B,EAAGhE,GACf,GAAI,oBAAsByG,SAAU,CAClC,iBAAoBzG,EAAIkE,EAAE,CAAEwM,KAAM,KAAOhL,EAAE+8E,SAAUziF,IAAI42d,UACtD52d,EAAE42d,QAAU,IAAIl8b,KAAK,EAAI,IAAIA,KAAS,MAAQ16B,EAAE42d,UAChD52d,EAAE42d,QAAU52d,EAAE42d,QAAU52d,EAAE42d,QAAQn1H,cAAgB,GACrD,IACE,IAAIp8V,EAAIgmB,KAAKC,UAAUtnB,GACvB,UAAU0hC,KAAKrgC,KAAOrB,EAAIqB,GAC1B,MAAOnB,IACRF,EAAIP,EAAEu3L,MACHv3L,EAAEu3L,MAAMh3L,EAAG4B,GACXwlB,mBAAmB0P,OAAO92B,IAAI4G,QAC5B,4DACAi2H,oBAEHj7H,EAAIwlB,mBAAmB0P,OAAOl1B,IAC5BgF,QAAQ,2BAA4Bi2H,oBACpCj2H,QAAQ,UAAWsuT,QACxB,IAAIh0T,EAAI,GACR,IAAK,IAAI4K,KAAK9P,EACZA,EAAE8P,KAAQ5K,GAAK,KAAO4K,GAAI,IAAO9P,EAAE8P,KAAO5K,GAAK,IAAMlF,EAAE8P,GAAGJ,MAAM,KAAK,KACvE,OAAQjJ,SAASuwd,OAASpxd,EAAI,IAAM5B,EAAIkB,GAG5C,SAASG,EAAEnB,EAAGF,GACZ,GAAI,oBAAsByC,SAAU,CAClC,IACE,IAAIf,EAAI,GAAI1F,EAAIyG,SAASuwd,OAASvwd,SAASuwd,OAAOtnd,MAAM,MAAQ,GAAIrK,EAAI,EACxEA,EAAIrF,EAAEC,OACNoF,IACA,CACA,IAAIH,EAAIlF,EAAEqF,GAAGqK,MAAM,KACjBI,EAAI5K,EAAEiwC,MAAM,GAAG3lC,KAAK,KACtBxL,GAAK,MAAQ8L,EAAEmc,OAAO,KAAOnc,EAAIA,EAAEqlC,MAAM,GAAI,IAC7C,IACE,IAAIpxC,EAAI6B,EAAEV,EAAE,IACZ,GAAM4K,GAAKrM,EAAE2lN,MAAQ3lN,GAAGqM,EAAG/L,IAAM6B,EAAEkK,GAAK9L,EACtC,IACE8L,EAAIub,KAAKoc,MAAM33B,GACf,MAAO5L,IACX,GAAMwB,EAAE3B,GAAK+L,EAAI5L,IAAMH,EAAI,MAC3B,MAAOG,KAEX,OAAOA,EAAIwB,EAAExB,GAAKwB,GAGtB,OACGA,EAAEiK,IAAM3P,EACR0F,EAAED,IAAM,SAAUvB,GACjB,OAAOmB,EAAEnB,GAAG,IAEbwB,EAAE88Z,QAAU,SAAUt+Z,GACrB,OAAOmB,EAAEnB,GAAG,IAEbwB,EAAE09B,OAAS,SAAUx9B,EAAG5B,GACvBhE,EAAE4F,EAAG,GAAI1B,EAAEF,EAAG,CAAE4yd,SAAU,MAE3Blxd,EAAE+8E,SAAW,GACb/8E,EAAEs1d,cAAgBh3d,EACnB0B,EA7DI,EA+DL,iBAEHjC,EAAE0B,KAAKS,EAAG5B,EAAG4B,EAAG1B,GAChBT,KAAOS,EAAE5K,QAAUoM,GACxBxB,EAAE5K,QAAU0G,KAEjBi7d,IAAK,SAAU/2d,EAAG0B,EAAG5B,GACnB,aACA,IAAIP,EAAIO,EAAE,KACV,SAAS0B,KACT,SAAS1F,KACRA,EAAEssH,kBAAoB5mH,EACpBxB,EAAE5K,QAAU,WACX,SAAS4K,EAAEA,EAAG0B,EAAG5B,EAAG0B,EAAG1F,EAAGqF,GACxB,GAAIA,IAAM5B,EAAG,CACX,IAAIyB,EAAI,IAAIm9B,MACV,mLAEF,MAAQn9B,EAAEK,KAAO,sBAAwBL,GAG7C,SAASU,IACP,OAAO1B,EAETA,EAAE6oH,WAAa7oH,EACf,IAAIF,EAAI,CACNkiD,MAAOhiD,EACP+oH,KAAM/oH,EACN0uD,KAAM1uD,EACNgpH,OAAQhpH,EACR+B,OAAQ/B,EACRipH,OAAQjpH,EACRsgB,OAAQtgB,EACRkpH,IAAKlpH,EACLmpH,QAASznH,EACTiY,QAAS3Z,EACTopH,YAAappH,EACbqpH,WAAY3nH,EACZoB,KAAM9C,EACNspH,SAAU5nH,EACV6nH,MAAO7nH,EACP8nH,UAAW9nH,EACXk9C,MAAOl9C,EACP+nH,MAAO/nH,EACPumH,eAAgBnsH,EAChBssH,kBAAmB5mH,GAErB,OAAQ1B,EAAE4pH,UAAY5pH,EAAIA,IAGhCk3d,IAAK,SAAUh3d,EAAG0B,EAAG5B,GACnBE,EAAE5K,QAAU0K,EAAE,IAAFA,IAEdm3d,IAAK,SAAUj3d,GACb,aACAA,EAAE5K,QAAU,iDAGhBsM,EAAI,GACN,SAAS5B,EAAEP,GACT,IAAIiC,EAAIE,EAAEnC,GACV,QAAI,IAAWiC,EAAG,OAAOA,EAAEpM,QAC3B,IAAI0G,EAAK4F,EAAEnC,GAAK,CAAEnK,QAAS,IAC3B,OAAO4K,EAAET,GAAGzD,EAAGA,EAAE1G,QAAS0K,GAAIhE,EAAE1G,QAEjC0K,EAAEA,EAAI,SAAUE,GACf,IAAI0B,EACF1B,GAAKA,EAAE4B,WACH,WACE,OAAO5B,EAAEyyB,SAEX,WACE,OAAOzyB,GAEf,OAAOF,EAAEsB,EAAEM,EAAG,CAAEkK,EAAGlK,IAAMA,GAExB5B,EAAEsB,EAAI,SAAUpB,EAAG0B,GAClB,IAAK,IAAInC,KAAKmC,EACZ5B,EAAEP,EAAEmC,EAAGnC,KAAOO,EAAEP,EAAES,EAAGT,IAAMnD,OAAOC,eAAe2D,EAAGT,EAAG,CAAEtD,YAAY,EAAIsF,IAAKG,EAAEnC,MAEnFO,EAAEP,EAAI,SAAUS,EAAG0B,GAClB,OAAOtF,OAAOM,UAAUuF,eAAehB,KAAKjB,EAAG0B,IAEhD5B,EAAE0B,EAAI,SAAUxB,GACf,oBAAsBR,QACpBA,OAAOiC,aACPrF,OAAOC,eAAe2D,EAAGR,OAAOiC,YAAa,CAAE9C,MAAO,WACtDvC,OAAOC,eAAe2D,EAAG,aAAc,CAAErB,OAAO,KAEtD,IAAIY,EAAI,IACN,WACA,aACAO,EAAE0B,EAAEjC,GACFO,EAAEsB,EAAE7B,EAAG,CACL23d,QAAS,WACP,OAAOl2d,KAETm2d,QAAS,WACP,OAAOj2d,GAETk2d,kBAAmB,WACjB,OAAOlud,GAETmud,gBAAiB,WACf,OAAOz9b,GAETnH,QAAS,WACP,OAAOo9J,GAETynS,sBAAuB,WACrB,OAAOzsU,GAET0sU,wBAAyB,WACvB,OAAO12c,KAGb,IAAM7gB,EAAI3K,EAAQ,GACdqM,EAAI5B,EAAEA,EAAEE,GACVwB,EAAI1B,EAAE,KACNhE,EAAIgE,EAAEA,EAAE0B,GACRL,EAAIrB,EAAE,KACNkB,EAAIlB,EAAEA,EAAEqB,GACV,SAASyK,EAAE5L,GACT,OAAQ4L,EACN,mBAAqBpM,QAAU,iBAAmBA,OAAOC,SACrD,SAAUO,GACR,cAAcA,GAEhB,SAAUA,GACR,OAAOA,GACL,mBAAqBR,QACrBQ,EAAEtB,cAAgBc,QAClBQ,IAAMR,OAAO9C,UACX,gBACOsD,IACVA,GAEX,IAAIH,EAAI,CAAC,YACT,SAASoZ,IACP,OAAQA,EACN7c,OAAOu6B,QACP,SAAU32B,GACR,IAAK,IAAI0B,EAAI,EAAGA,EAAItC,UAAUrD,OAAQ2F,IAAK,CACzC,IAAI5B,EAAIV,UAAUsC,GAClB,IAAK,IAAInC,KAAKO,EAAG1D,OAAOM,UAAUuF,eAAehB,KAAKnB,EAAGP,KAAOS,EAAET,GAAKO,EAAEP,IAE3E,OAAOS,IACNX,MAAMJ,KAAMG,WAEnB,SAAS8C,EAAElC,EAAG0B,GACZ,IAAI5B,EAAI1D,OAAO23B,KAAK/zB,GACpB,GAAI5D,OAAOq6B,sBAAuB,CAChC,IAAIl3B,EAAInD,OAAOq6B,sBAAsBz2B,GACrC0B,IACGnC,EAAIA,EAAE2S,QAAO,SAAUxQ,GACtB,OAAOtF,OAAOg9H,yBAAyBp5H,EAAG0B,GAAGzF,eAE/C6D,EAAEiG,KAAK1G,MAAMS,EAAGP,GAEpB,OAAOO,EAET,SAASI,EAAEF,GACT,IAAK,IAAI0B,EAAI,EAAGA,EAAItC,UAAUrD,OAAQ2F,IAAK,CACzC,IAAI5B,EAAI,MAAQV,UAAUsC,GAAKtC,UAAUsC,GAAK,GAC9CA,EAAI,EACAQ,EAAE9F,OAAO0D,IAAI,GAAIk0B,SAAQ,SAAUtyB,GACjCuxB,EAAEjzB,EAAG0B,EAAG5B,EAAE4B,OAEZtF,OAAOk9H,0BACPl9H,OAAOm9H,iBAAiBv5H,EAAG5D,OAAOk9H,0BAA0Bx5H,IAC5DoC,EAAE9F,OAAO0D,IAAIk0B,SAAQ,SAAUtyB,GAC7BtF,OAAOC,eAAe2D,EAAG0B,EAAGtF,OAAOg9H,yBAAyBt5H,EAAG4B,OAGvE,OAAO1B,EAWT,SAASmJ,EAAEnJ,EAAG0B,GACZ,OAAQyH,EACN/M,OAAO65H,gBACP,SAAUj2H,EAAG0B,GACX,OAAQ1B,EAAE6mC,UAAYnlC,EAAI1B,IACzBA,EAAG0B,GAEV,SAASqK,EAAE/L,EAAG0B,GACZ,GAAIA,IAAM,WAAakK,EAAElK,IAAM,mBAAqBA,GAAI,OAAOA,EAC/D,QAAI,IAAWA,EACb,MAAM,IAAIhG,UAAU,4DACtB,OAAOyQ,EAAEnM,GAEX,SAASmM,EAAEnM,GACT,QAAI,IAAWA,EACb,MAAM,IAAIy6H,eAAe,6DAC3B,OAAOz6H,EAET,SAASk0B,EAAEl0B,GACT,OAAQk0B,EAAI93B,OAAO65H,eACf75H,OAAOu+H,eACP,SAAU36H,GACR,OAAOA,EAAE6mC,WAAazqC,OAAOu+H,eAAe36H,KAC3CA,GAET,SAASizB,EAAEjzB,EAAG0B,EAAG5B,GACf,OACE4B,KAAK1B,EACD5D,OAAOC,eAAe2D,EAAG0B,EAAG,CAC1B/C,MAAOmB,EACP7D,YAAY,EACZC,cAAc,EACdC,UAAU,IAEX6D,EAAE0B,GAAK5B,EACZE,EAGJ,IAAIkB,EAAI,CAAEi8P,IAAK,MAAOq6N,OAAQ,SAAU9+d,KAAM,QAC5CwQ,EAAI,CAAEguW,OAAQ,SAAUugH,IAAK,MAAO/+d,KAAM,QAC1CkhC,EAAI,CAAE89b,OAAQ,SAAUC,KAAM,OAAQC,gBAAiB,iBACvD/sU,EAAI,WACF,IAAI7qJ,EAAIZ,UAAUrD,OAAS,QAAK,IAAWqD,UAAU,GAAKA,UAAU,GAAK60B,EACvEvyB,EAAIV,IAAIO,IAAIvB,GACd,YAAO,IAAW0B,IAAMA,EAAIV,IAAIO,IAAIuK,EAAE9L,KAAM0B,GAE9Cmf,EAAI,WACF,IAAI7gB,EAAIZ,UAAUrD,OAAS,QAAK,IAAWqD,UAAU,GAAKA,UAAU,GAAK60B,EACzEjzB,IAAIk+B,OAAOl/B,IAEb8L,EAAI,SAAU9L,GACZ,MAAO,GAAGynB,OAAOznB,EAAG,YAEtBi0B,EAAI,gBACJ5b,EAAI,SAAUrY,GACZ,IAAI0B,EAAI1B,EAAE8jI,UACRhkI,EAAIE,EAAEk9J,QACN39J,EAAIS,EAAEyR,SACR,OAAO/P,EAAI5B,EAAEP,GAAKA,GAEpB80L,EAAK,SAAUr0L,IACX,SAAUA,EAAG0B,GACb,GAAI,mBAAqBA,GAAK,OAASA,EACrC,MAAM,IAAIhG,UAAU,sDACrBsE,EAAEtD,UAAYN,OAAOqC,OAAOiD,GAAKA,EAAEhF,UAAW,CAC7CgC,YAAa,CAAEC,MAAOqB,EAAG7D,UAAU,EAAID,cAAc,KAErDwF,GAAKyH,EAAEnJ,EAAG0B,GANZ,CAOCkK,EAAG5L,GACN,IACET,EACAiC,EACA1F,EACAqF,GACIK,EAAIoK,EACL9P,EAAK,WACJ,GAAI,oBAAsBoD,UAAYA,QAAQC,UAAW,OAAO,EAChE,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EACnC,GAAI,mBAAqBC,MAAO,OAAO,EACvC,IACE,OACE/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAkB,EAElF,MAAOtgC,GACP,OAAO,GATL,GAYN,WACE,IAAIA,EACF0B,EAAIwyB,EAAE1yB,GACR,GAAI1F,EAAG,CACL,IAAIgE,EAAIo0B,EAAEj1B,MAAMP,YAChBsB,EAAId,QAAQC,UAAUuC,EAAGtC,UAAWU,QAC/BE,EAAI0B,EAAErC,MAAMJ,KAAMG,WACzB,OAAO2M,EAAE9M,KAAMe,KAErB,SAAS4L,EAAE5L,GACT,IAAI0B,EACJ,OACG,SAAU1B,EAAG0B,GACZ,KAAM1B,aAAa0B,GAAI,MAAM,IAAIhG,UAAU,qCAD5C,CAEEuD,KAAM2M,GACTqnB,EAAE9mB,EAAGzK,EAAIP,EAAEF,KAAKhC,KAAMe,IAAM,gBAAgB,WAC1C,IAAIA,EAAI0B,EAAE7F,MAAMg8d,yBACd/3d,EAAIyC,SAASkiB,gBACbllB,EAAIgD,SAAS+gB,KACb9hB,EAAI,YACJ1F,EAAI,gBACJgE,EAAE0B,IAAMjC,EAAEiC,MAAQ1B,EAAEhE,IAAMyD,EAAEzD,IAAMgE,EAAEglB,cAAiB,IAAM9kB,GAAK0B,EAAEszC,QAAO,MAE7E/hB,EAAE9mB,EAAEzK,GAAI,wBAAwB,WAC9BA,EAAE7F,MAAMi8d,gBAAkBn3d,OAAOojE,oBAAoB,SAAUriE,EAAEq2d,iBAElEr2d,EAAEsiE,MAAQ,CACTrX,SAAS,EACTh7C,MAAO,CACL+uS,WAAY,WACZxyN,WAAY,UACZllF,MAAO,QACPqa,QAAS,OACT20c,SAAU,OACVv3K,eAAgB,gBAChB3qQ,KAAM,IACNlU,SAAU,QACV/7B,MAAO,OACPuwC,OAAQ,OAEV6hb,YAAa,CACX/pY,WAAY,UACZ8wF,OAAQ,IACRk5S,aAAc,MACdj/G,UAAW,OACXjwW,MAAO,QACP2W,OAAQ,UACRw4c,KAAM,WACN1sZ,QAAS,WACTiQ,OAAQ,QAEV08Y,mBAAoB,CAClBlqY,WAAY,UACZ8wF,OAAQ,IACRk5S,aAAc,MACdj/G,UAAW,OACXjwW,MAAO,UACP2W,OAAQ,UACRw4c,KAAM,WACN1sZ,QAAS,WACTiQ,OAAQ,QAEV66Q,aAAc,CAAE4hI,KAAM,YAAaz8Y,OAAQ,QAC3C28Y,aAAc,CACZz2b,SAAU,QACVkU,KAAM,EACNE,IAAK,EACLnwC,MAAO,OACPC,OAAQ,OACRswC,OAAQ,MACRivB,gBAAiB,oBAGrB3jE,EAGJ,OAEGnC,EAAI,CACH,CACEjD,IAAK,oBACLqC,MAAO,WACL,IAAIqB,EAAIf,KAAKpD,MAAM40D,YAClB,IAAWxxD,KAAKq5d,kBAAoBt4d,KAClCf,KAAKqkK,SAAS,CAAE32G,SAAS,IAC1B1tD,KAAKpD,MAAMi8d,gBACTn3d,OAAO4xB,iBAAiB,SAAUtzB,KAAK84d,aAAc,CAAEQ,SAAS,OAGxE,CACEj8d,IAAK,uBACLqC,MAAO,WACLM,KAAKu5d,yBAGT,CACEl8d,IAAK,SACLqC,MAAO,WACL,IAAIqB,EAAIZ,UAAUrD,OAAS,QAAK,IAAWqD,UAAU,IAAMA,UAAU,GACnEsC,EAAIzC,KAAKpD,MACTiE,EAAI4B,EAAE+2d,WACNl5d,EAAImC,EAAEg3d,YACNl3d,EAAIE,EAAEi3d,aACN78d,EAAI4F,EAAEk3d,SACR35d,KAAK45d,UAAU/4d,EAAGP,GAChBzD,EAAE,MAAQkE,GAAKA,GACfwB,IAAMvC,KAAKqkK,SAAS,CAAE32G,SAAS,IAAO1tD,KAAKu5d,0BAGjD,CACEl8d,IAAK,UACLqC,MAAO,WACL,IAAIqB,EAAIf,KAAKpD,MACX6F,EAAI1B,EAAEy4d,WACN34d,EAAIE,EAAE84d,mBACNv5d,EAAIS,EAAE+4d,cACNv3d,EAAIxB,EAAEg5d,UACRh5d,EAAEi5d,kBAAoBh6d,KAAK45d,UAAUn3d,EAAG5B,GACtC0B,IACAjC,GAAKN,KAAKqkK,SAAS,CAAE32G,SAAS,MAGpC,CACErwD,IAAK,YACLqC,MAAO,SAAUqB,EAAG0B,GAClB,IAAI5B,EAAIb,KAAKpD,MACX0D,EAAIO,EAAEo5d,mBACN13d,EAAI1B,EAAE4yd,QACN52d,EAAIgE,EAAE+yd,SACN1xd,EAAIlC,KAAKpD,MAAMs9d,oBACjB,IAAWh4d,IAAMA,GAAK0/B,UAAY,WAAaA,SAASE,UACxD,IAAIn1B,EAAI1L,EAAEA,EAAE,CAAEwyd,QAASlxd,GAAKjC,GAAI,GAAI,CAAEszd,SAAU/2d,EAAG82d,OAAQzxd,IAC3DrF,IAAMoN,EAAExQ,MAAQsI,IAAIyK,IAAIK,EAAE9L,GAAI0B,EAAGkK,GAAI5K,IAAIyK,IAAIzL,EAAG0B,EAAGkK,KAGvD,CACEtP,IAAK,iBACLqC,MAAO,WACL,IAAIqB,EAAIf,KAAKpD,MAAM48d,WACnB,OAAO5tU,EAAE7qJ,KAGb,CACE1D,IAAK,SACLqC,MAAO,WACL,IAAIqB,EAAIf,KACR,OAAQA,KAAKpD,MAAM8wD,SACjB,KAAK/yB,EAAE89b,OACL,OAAO,KACT,KAAK99b,EAAEg+b,gBACL,IAAK34d,KAAK+kE,MAAMrX,QAAS,OAAO,KAEpC,IAAI7sD,EAAIb,KAAKpD,MACX0D,EAAIO,EAAE+gC,SACNr/B,EAAI1B,EAAE6R,MACN7V,EAAIgE,EAAEm4d,YACN92d,EAAIrB,EAAEs4d,mBACNp3d,EAAIlB,EAAEy2V,aACN3qV,EAAI9L,EAAEs5d,cACNv5d,EAAIC,EAAE4uc,WACNxsc,EAAIpC,EAAEu5d,kBACNj4d,EAAItB,EAAEw5d,iBACNnwd,EAAIrJ,EAAEy5d,eACNxtd,EAAIjM,EAAE05d,cACNrtd,EAAIrM,EAAE25d,qBACNvlc,EAAIp0B,EAAE45d,qBACNzmc,EAAInzB,EAAE65d,SACNzwd,EAAIpJ,EAAE85d,gBACN/uU,EAAI/qJ,EAAE+5d,oBACNh5c,EAAI/gB,EAAEg6d,oBACNhud,EAAIhM,EAAEi6d,YACN9lc,EAAIn0B,EAAEk6d,gBACN3lS,EAAIv0L,EAAEouH,QACN2hE,EAAI/vL,EAAEm6d,eACN9pS,EAAIrwL,EAAEu4d,aACN3+b,EAAI55B,EAAEo6d,gBACNlmS,EAAIl0L,EAAEq6d,iBACNlrS,EAAI,GACJz7J,EAAI,GACJq7J,EAAI,GACJrnE,EAAI,GACJsnE,EAAI,GACN,OACGljL,GACKqjL,EAAIh2K,EAAE,GAAIzX,GACXgyB,EAAIva,EAAE,GAAInd,GACV+yL,EAAI51K,EAAE,GAAI9X,GACVqmH,EAAIvuG,EAAE,GAAIjY,GACV8tL,EAAI71K,EAAE,GAAIk3K,KACTlB,EAAIh2K,EAAE,GAAI/Y,EAAEA,EAAE,GAAIjB,KAAK+kE,MAAMryD,OAAQnQ,IACtCgmH,EAAIvuG,EAAE,GAAI/Y,EAAEA,EAAE,GAAIjB,KAAK+kE,MAAMuyR,cAAev1V,IAC5C8tL,EAAI71K,EAAE,GAAI/Y,EAAEA,EAAE,GAAIjB,KAAK+kE,MAAMq0Z,cAAeloS,IAC7CtlC,GACMr3H,EAAIva,EAAE,GAAInd,GAAM+yL,EAAI51K,EAAE,GAAI9X,KAC1BqyB,EAAIva,EAAE,GAAI/Y,EAAEA,EAAE,GAAIjB,KAAK+kE,MAAMi0Z,aAAcn8d,IAC5C+yL,EAAI51K,EAAE,GAAI/Y,EAAEA,EAAE,GAAIjB,KAAK+kE,MAAMo0Z,oBAAqBj3d,MAC3D5B,GAEA,KAAK2B,EAAEi8P,IACLluE,EAAEj5I,IAAM,IACR,MACF,KAAK90C,EAAEs2d,OACLvoS,EAAEptG,OAAS,IAEf,IAAIsyG,EAAI,GACR,OACEtzK,GACEszK,EAAEpuL,KACArE,IAAImY,cACFoa,EACA,CACE33B,IAAK,gBACLqV,MAAOk9K,EACPjrK,UAAWsQ,EACX9Q,GAAIla,EACJ,aAAc8qL,EACd35I,QAAS,WACPr6C,EAAEo6d,YAGNl4d,IAGNiyL,EAAEpuL,KACArE,IAAImY,cACFoa,EACA,CACE33B,IAAK,eACLqV,MAAO6hB,EACP5P,UAAW7X,EACXqX,GAAI6P,EACJ,aAAcyG,EACd2gB,QAAS,WACPr6C,EAAEg1C,WAGNn1C,IAGJiM,GAAKqoL,EAAEl1K,UACPvd,IAAImY,cACFxB,EACA,CACEyrH,UAAWuwD,EACXn3B,QAAS,SAAUl9J,GACjB,OAAO0B,IAAImY,cAAc,MAAO,CAAElI,MAAOm9K,EAAGlrK,UAAWisK,GAAK7vL,KAGhE0B,IAAImY,cACF,MACA,CAAE+J,UAAW,GAAG6D,OAAOrmB,GAAIuQ,MAAOs9K,GAClCvtL,IAAImY,cAAc,MAAO,CAAElI,MAAO61G,EAAG5jG,UAAWza,GAAKlK,KAAKpD,MAAM4V,UAChE/P,IAAImY,cACF,MACA,CAAE+J,UAAW,GAAG6D,OAAOtb,IACvBgoL,EAAEztK,KAAI,SAAU1mB,GACd,OAAOA,aAhW7B,SAAWA,EAAG0B,GACZ,IAAK,IAAI5B,EAAI,EAAGA,EAAI4B,EAAE3F,OAAQ+D,IAAK,CACjC,IAAIP,EAAImC,EAAE5B,GACTP,EAAEtD,WAAasD,EAAEtD,aAAc,EAC7BsD,EAAErD,cAAe,EAClB,UAAWqD,IAAMA,EAAEpD,UAAW,GAC9BC,OAAOC,eAAe2D,EAAGT,EAAEjD,IAAKiD,IAkW1B6B,CA3LDwK,EA2LKlP,UAAW6C,GACrBqM,EApSC,CAsSF5L,EAAE+7H,WACNs4D,EAAE/nE,UAAY,CACbzrF,SAAU/kC,IAAIytH,MACZntH,OAAO23B,KAAK7yB,GAAGwlB,KAAI,SAAU1mB,GAC3B,OAAOkB,EAAElB,OAGb2sD,QAAS7wD,IAAIytH,MACXntH,OAAO23B,KAAK6F,GAAGlT,KAAI,SAAU1mB,GAC3B,OAAO45B,EAAE55B,OAGb6yd,SAAU/2d,IAAIytH,MACZntH,OAAO23B,KAAK7qB,GAAGwd,KAAI,SAAU1mB,GAC3B,OAAOkJ,EAAElJ,OAGb2R,MAAO7V,IAAIiG,OACXk2d,YAAan8d,IAAIiG,OACjBq2d,mBAAoBt8d,IAAIiG,OACxBw0V,aAAcz6V,IAAIiG,OAClB0P,SAAU3V,IAAIotH,IACdkwW,cAAet9d,IAAIitH,KACnB4vW,aAAc78d,IAAIitH,KAClBgwW,cAAej9d,IAAIitH,KACnB6vW,SAAU98d,IAAI4yD,KACdsqa,UAAWl9d,IAAI4yD,KACfggZ,WAAY5yc,IAAI0tH,UAAU,CAAC1tH,IAAImtH,OAAQntH,IAAI4yD,KAAM5yD,IAAI6d,UACrD0/c,kBAAmBv9d,IAAI0tH,UAAU,CAAC1tH,IAAImtH,OAAQntH,IAAI4yD,KAAM5yD,IAAI6d,UAC5D8+c,WAAY38d,IAAImtH,OAChByvW,YAAa58d,IAAI0tH,UAAU,CAAC1tH,IAAImtH,OAAQntH,IAAIitH,KAAMjtH,IAAIktH,SACtD8vW,mBAAoBh9d,IAAI0tH,UAAU,CAAC1tH,IAAImtH,OAAQntH,IAAIitH,KAAMjtH,IAAIktH,SAC7DiwW,iBAAkBn9d,IAAIitH,KACtBt4D,MAAO30D,IAAIitH,KACX2pW,QAAS52d,IAAIktH,OACbswW,iBAAkBx9d,IAAImtH,OACtBswW,eAAgBz9d,IAAImtH,OACpBuwW,cAAe19d,IAAImtH,OACnBwwW,qBAAsB39d,IAAImtH,OAC1BywW,qBAAsB59d,IAAImtH,OAC1B0wW,SAAU79d,IAAImtH,OACd2wW,gBAAiB99d,IAAImtH,OACrBiwW,mBAAoBp9d,IAAIiG,OACxB83d,oBAAqB/9d,IAAIitH,KACzB+wW,oBAAqBh+d,IAAIitH,KACzBgxW,YAAaj+d,IAAIitH,KACjBixW,gBAAiBl+d,IAAIstH,YACrB+vW,eAAgBr9d,IAAIitH,KACpBmF,QAASpyH,IAAIitH,KACbkxW,eAAgBn+d,IAAImtH,OACpBovW,aAAcv8d,IAAIiG,OAClBm4d,gBAAiBp+d,IAAImtH,OACrBkxW,iBAAkBr+d,IAAImtH,OACtB6uW,eAAgBh8d,IAAIitH,KACpB8uW,yBAA0B/7d,IAAIktH,QAE7BqrE,EAAEx4D,aAAe,CAChBu9V,eAAe,EACfT,cAAc,EACdI,eAAe,EACfl4b,SAAU3/B,EAAEs2d,OACZ7qa,QAAS/yB,EAAEg+b,gBACXgB,SAAU,aACVI,UAAW,aACXP,WAAYxkc,EACZykc,aAAa,EACbI,oBAAoB,EACpBG,kBAAkB,EAClBvqB,WAAY,eACZ2qB,kBAAmB,YACnB5oa,OAAO,EACPiia,QAAS,IACT4G,iBAAkB,gBAClBC,eAAgB,GAChBC,cAAe,GACfC,qBAAsB,GACtBC,qBAAsB,GACtBC,SAAU,qBACVC,gBAAiB,qBACjBV,mBAAoB,GACpBW,qBAAqB,EACrBC,qBAAqB,EACrBC,aAAa,EACblH,SAAU3pd,EAAEuud,IACZuC,gBAAiB,SAAUh6d,GACzB,IAAIF,EAAIE,EAAEyR,SACRlS,EAAK,SAAUS,EAAG0B,GAChB,GAAI,MAAQ1B,EAAG,MAAO,GACtB,IAAIF,EACFP,EACAiC,EAAK,SAAUxB,EAAG0B,GAChB,GAAI,MAAQ1B,EAAG,MAAO,GACtB,IAAIF,EACFP,EACAiC,EAAI,GACJ1F,EAAIM,OAAO23B,KAAK/zB,GAClB,IAAKT,EAAI,EAAGA,EAAIzD,EAAEC,OAAQwD,IAAMO,EAAIhE,EAAEyD,GAAKmC,EAAE4H,QAAQxJ,IAAM,IAAM0B,EAAE1B,GAAKE,EAAEF,IAC1E,OAAO0B,EAPJ,CAQFxB,EAAG0B,GACR,GAAItF,OAAOq6B,sBAAuB,CAChC,IAAI36B,EAAIM,OAAOq6B,sBAAsBz2B,GACrC,IAAKT,EAAI,EAAGA,EAAIzD,EAAEC,OAAQwD,IACvBO,EAAIhE,EAAEyD,GACLmC,EAAE4H,QAAQxJ,IAAM,GACb1D,OAAOM,UAAUg6B,qBAAqBz1B,KAAKjB,EAAGF,KAAO0B,EAAE1B,GAAKE,EAAEF,IAEvE,OAAO0B,EApBJ,CAqBFxB,EAAGH,GACR,OAAO6B,IAAImY,cAAc,SAAUta,EAAGO,IAExCouH,SAAS,EACT+rW,eAAgB,GAChBC,gBAAiB,iBACjBC,iBAAkB,kBAClBrC,gBAAgB,EAChBD,yBAA0B,IAE9B,IAAMhoS,EAAIwE,EAtjBV,GAwjBCl/L,EAAOC,QAAUmK,EApuBpB,I,sGCgCF,SAAS,EAAT,OACE,IAAI,EAAM,IAAV,eACA,aAFkC,GAGlC,eAHkC,OAIlC,SAAa,WACX,EAAO,EAAD,eAER,UAAc,WACZwF,QAAA,kCAEF,SAGF,SAAS,EAAT,GACE,IAAI,EAAM,IAAV,eAEA,oBACA,IACE,SACA,MAAO,IACT,OAAO,eAAqB,OAAI0gL,OAIlC,SAAS,EAAT,GACE,IACE,gBAAmB,IAAIwI,WAAvB,UACA,MAAO,GACP,IAAI,EAAM1rL,SAAA,YAAV,eACA,gEAFU,MAIV,oBApDA,MAAU,yBAA8B5B,gBAA9B,cACD,uBAA4Bsf,YAA5B,UACF,oBAA8BslG,WAA9B,WAyDP,EAAiB,aAAqB,YAAY/jF,KAAKunD,UAAtC,YAA8D,cAAcvnD,KAAKunD,UAAjF,aAA0G,SAASvnD,KAAKunD,UAAd,WAE3H,EAAS,WAEV,yBAA8BpoF,SAA/B,EACI,aAGD,aAAc0tL,kBAAd,YAAD,EACA,gBAAmC,IAC/B,EAAM,OAAe,EADU,UAE/B,EAAI9rL,SAAA,cAF2B,KAGnC,EAAO,GAAQ4G,EAAR9H,MAH4B,WAKnC,WALmC,EAMnC,MANmC,WAW/B,iBAX+B,GAajC,OAbiC,EAc7B,WAAaw/B,SAdgB,OAmB/B,EAnB+B,GAe/B,EAAY,EAAZ,MACI,EAAS13B,EAAD,EADZ,GAEI,EAAM,EAAG,SAjBkB,YAuBjC,OAAS,kBAvBwB,GAwBjC2qB,YAAW,WAAc,kBAAoB,EAApB,QAxBQ,KAyBjCA,YAAW,WAAc,EAAM,KAzBE,KA8BnC,+BACA,SAAA5zB,EAAA,KAGA,GAFA,EAAO,GAAQ,EAARmB,MAAqB,WAExB,iBAAJ,EAUE0nF,UAAA,iBA1GN,cAA0B,MACpB,oBADoB,EACS,EAAO,CAAEwlG,SAAS,GAC1C,iBAFe,IAGtBxpL,QAAA,KAHsB,sDAItB,EAAO,CAAEwpL,SAJa,IASpB,WAAgB,6EAA6E/sJ,KAAK,EAT9E,MAUf,IAAIhC,KAAK,CAAC,SAAV,GAA8C,CAAEtvB,KAAM,EAVvC,OAYjB,EA8FwB/G,CAAI,EAA/B,GAVF,QACE,GAAI,EAAJ,GACE,EAAS,EAAD,EADV,OAEO,CACL,IAAI,EAAI5G,SAAA,cAAR,KACA,OAFK,EAGL,SAHK,SAILuxB,YAAW,WAAc,EAAM,QAQnC,kBASA,IANA,EAAQ,GAAS7sB,KAAK,GAAD,aAEnB,iBACA,0BAAgC,kBAG9B,iBAAJ,EAA8B,OAAO,EAASkC,EAAD,EAAf,GATY,IAWtC,EAAQ,6BAAAA,EAX8B,KAYtCrN,EAAW,eAAe0lC,KAAK,EAApB,cAA4C,EAZjB,OAatC,EAAc,eAAeA,KAAKunD,UAbI,WAe1C,IAAK,GAAgB,GAAhBjtF,GAAD,IAA0D,oBAA9D,WAAiG,CAE/F,IAAI,EAAS,IAAb,WACA,YAAmB,WACjB,IAAI,EAAM,EAAV,OACA,EAAM,EAAc,EAAM,yBAFG,yBAGzB,EAAO,gBAHkB,EAIxB+kC,SAJwB,EAK7B,EAAQ,MAEV,uBACK,KACD,EAAM,OAAe,EADpB,UAED,EAAM,kBAFL,GAGD,EAAO,WAHN,EAIAA,SAAA,KAJA,EAKL,EALK,KAML/M,YAAW,WAAc,uBAAf,QAKhB,SAAiB,EAAAs6J,OAAgB,EAG/Bj5L,EAAA,QAAiB,I,gFCtKjBA,EAAOC,QAAUC,EAAQ,M,gBCH3B,IAAIgle,EAA+B,EAAQ,KAqB3Clle,EAAOC,QAnBP,SAAkCmyB,EAAQmkG,GACxC,GAAc,MAAVnkG,EAAgB,MAAO,GAC3B,IACIjrB,EAAKR,EADLF,EAASy+d,EAA6B9yc,EAAQmkG,GAGlD,GAAItvH,OAAOq6B,sBAAuB,CAChC,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAEpD,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IACvCQ,EAAMuvH,EAAiB/vH,GACnB4vH,EAASpiH,QAAQhN,IAAQ,GACxBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KACxDV,EAAOU,GAAOirB,EAAOjrB,IAIzB,OAAOV,GAGkCzG,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,cCfhHD,EAAOC,QANP,SAAyBoG,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,sCAIUvG,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,cCNvG,SAASuG,EAAkBC,EAAQC,GACjC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CACrC,IAAIE,EAAaH,EAAMC,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAalD7G,EAAOC,QATP,SAAsBqG,EAAae,EAAYC,GAM7C,OALID,GAAYb,EAAkBF,EAAYiB,UAAWF,GACrDC,GAAad,EAAkBF,EAAagB,GAChDL,OAAOC,eAAeZ,EAAa,YAAa,CAC9CU,UAAU,IAELV,GAGsBtG,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,8BCnBpG,wDAMIkle,EAAuC,qBAAfv/T,WAA6BA,WAA+B,qBAAXp6J,OAAyBA,OAA2B,qBAAX4kH,EAAyBA,EAAS,GAexJ,SAASg1W,EAAmB57d,GAC1B,IAAIs+U,EAAW,GACf,MAAO,CACL9iS,GAAI,SAAYukG,GACdu+L,EAASl3U,KAAK24I,IAEhB77F,IAAK,SAAa67F,GAChBu+L,EAAWA,EAAS/qU,QAAO,SAAU+gB,GACnC,OAAOA,IAAMyrH,MAGjBn9I,IAAK,WACH,OAAO5C,GAET8M,IAAK,SAAa1C,EAAUyxd,GAC1B77d,EAAQoK,EACRk0U,EAASjpT,SAAQ,SAAU0qH,GACzB,OAAOA,EAAQ//I,EAAO67d,QAuI9B,IAAIp6b,EAAQivF,IAAMvF,eA7HlB,SAA4BtD,EAAci0W,GACxC,IAAIC,EAAuBC,EAEvBC,EAAc,0BA3CpB,WACE,IAAIt+d,EAAM,uBACV,OAAOg+d,EAAeh+d,IAAQg+d,EAAeh+d,IAAQ,GAAK,EAyCZu+d,GAAgB,KAE1DlzS,EAAwB,SAAU/sD,GAGpC,SAAS+sD,IACP,IAAInzI,EAIJ,OAFAA,EAAQomF,EAAWv7H,MAAMJ,KAAMG,YAAcH,MACvCq3D,QAAUika,EAAmB/lb,EAAM34C,MAAM8C,OACxC61C,EAPT89G,YAAeq1B,EAAU/sD,GAUzB,IAAIgrD,EAAS+B,EAASjrL,UAoCtB,OAlCAkpL,EAAOovP,gBAAkB,WACvB,IAAIjpT,EAEJ,OAAOA,EAAO,IAAS6uW,GAAe37d,KAAKq3D,QAASy1D,GAGtD65D,EAAOyvP,0BAA4B,SAAmCh3R,GACpE,GAAIp/I,KAAKpD,MAAM8C,QAAU0/I,EAAU1/I,MAAO,CACxC,IAEI67d,EAFAxZ,EAAW/hd,KAAKpD,MAAM8C,MACtBoK,EAAWs1I,EAAU1/I,QA9DfmN,EAiEGk1c,MAjEAj1c,EAiEUhD,GA/Dd,IAAN+C,GAAW,EAAIA,IAAM,EAAIC,EAEzBD,IAAMA,GAAKC,IAAMA,GA8DlByud,EAAc,GAEdA,EAA8C,oBAAzBC,EAAsCA,EAAqBzZ,EAAUj4c,GA5ExE,WAoFE,KAFpByxd,GAAe,IAGbv7d,KAAKq3D,QAAQ7qD,IAAI4yI,EAAU1/I,MAAO67d,IA7E9C,IAAkB1ud,EAAGC,GAmFjB65K,EAAO7zK,OAAS,WACd,OAAO9S,KAAKpD,MAAM4V,UAGbk2K,EA/CmB,CAgD1B5rD,aAEF4rD,EAASutP,oBAAqBwlD,EAAwB,IAA0BE,GAAelxW,IAAU3nH,OAAO8mH,WAAY6xW,GAE5H,IAAII,EAAwB,SAAUC,GAGpC,SAASD,IACP,IAAIx/a,EAiBJ,OAfAA,EAASy/a,EAAY17d,MAAMJ,KAAMG,YAAcH,MACxC+kE,MAAQ,CACbrlE,MAAO28C,EAAOjzC,YAGhBizC,EAAOutG,SAAW,SAAU9/I,EAAUyxd,GAGC,MAFI,EAAtBl/a,EAAO0/a,cAENR,IAClBl/a,EAAOgoH,SAAS,CACd3kK,MAAO28C,EAAOjzC,cAKbizC,EApBTg3G,YAAewoU,EAAUC,GAuBzB,IAAIE,EAAUH,EAASp+d,UAkCvB,OAhCAu+d,EAAQ5lD,0BAA4B,SAAmCh3R,GACrE,IAAI28U,EAAe38U,EAAU28U,aAC7B/7d,KAAK+7d,kBAAgCn8b,IAAjBm8b,GAA+C,OAAjBA,EAhI5B,WAgI4EA,GAGpGC,EAAQ/yU,kBAAoB,WACtBjpJ,KAAKs1D,QAAQqma,IACf37d,KAAKs1D,QAAQqma,GAAazgb,GAAGl7C,KAAK4pJ,UAGpC,IAAImyU,EAAe/7d,KAAKpD,MAAMm/d,aAC9B/7d,KAAK+7d,kBAAgCn8b,IAAjBm8b,GAA+C,OAAjBA,EAzI5B,WAyI4EA,GAGpGC,EAAQ3yU,qBAAuB,WACzBrpJ,KAAKs1D,QAAQqma,IACf37d,KAAKs1D,QAAQqma,GAAa/3a,IAAI5jD,KAAK4pJ,WAIvCoyU,EAAQ5yd,SAAW,WACjB,OAAIpJ,KAAKs1D,QAAQqma,GACR37d,KAAKs1D,QAAQqma,GAAar5d,MAE1BilH,GAIXy0W,EAAQlpd,OAAS,WACf,OApHaN,EAoHIxS,KAAKpD,MAAM4V,SAnHzB/R,MAAMC,QAAQ8R,GAAYA,EAAS,GAAKA,GAmHLxS,KAAK+kE,MAAMrlE,OApHvD,IAAmB8S,GAuHRqpd,EA1DmB,CA2D1B/+V,aAGF,OADA++V,EAAS7lD,eAAgB0lD,EAAwB,IAA0BC,GAAelxW,IAAU3nH,OAAQ44d,GACrG,CACLhzS,SAAUA,EACVmzS,SAAUA,IAMC16b,Q,+CC7Kf,IAAI86b,EAAU7le,EAAQ,KAMlB8le,EAAgB,CAClBjmD,mBAAmB,EACnBrtP,aAAa,EACbotP,cAAc,EACdp5S,cAAc,EACd5kG,aAAa,EACbmkc,iBAAiB,EACjBC,0BAA0B,EAC1B11S,0BAA0B,EAC1B21S,QAAQ,EACRhvW,WAAW,EACXp8G,MAAM,GAEJqrd,EAAgB,CAClBl6d,MAAM,EACNtF,QAAQ,EACRW,WAAW,EACX8+d,QAAQ,EACRC,QAAQ,EACRr8d,WAAW,EACX6zY,OAAO,GASLyoF,EAAe,CACjB,UAAY,EACZt3U,SAAS,EACTvoB,cAAc,EACd5kG,aAAa,EACbq1F,WAAW,EACXp8G,MAAM,GAEJyrd,EAAe,GAInB,SAASC,EAAW3xU,GAElB,OAAIixU,EAAQ51V,OAAO2kB,GACVyxU,EAIFC,EAAa1xU,EAAS,WAAiBkxU,EAVhDQ,EAAaT,EAAQ32V,YAhBK,CACxB,UAAY,EACZxyH,QAAQ,EACR8pH,cAAc,EACd5kG,aAAa,EACbq1F,WAAW,GAYbqvW,EAAaT,EAAQx2V,MAAQg3V,EAY7B,IAAIr/d,EAAiBD,OAAOC,eACxBw6B,EAAsBz6B,OAAOy6B,oBAC7BJ,EAAwBr6B,OAAOq6B,sBAC/B2iG,EAA2Bh9H,OAAOg9H,yBAClCuB,EAAiBv+H,OAAOu+H,eACxBkhW,EAAkBz/d,OAAOM,UAsC7BvH,EAAOC,QArCP,SAAS0me,EAAqBC,EAAiBC,EAAiBl7a,GAC9D,GAA+B,kBAApBk7a,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAII,EAAqBthW,EAAeqhW,GAEpCC,GAAsBA,IAAuBJ,GAC/CC,EAAqBC,EAAiBE,EAAoBn7a,GAI9D,IAAI/sB,EAAO8C,EAAoBmlc,GAE3Bvlc,IACF1C,EAAOA,EAAKtM,OAAOgP,EAAsBulc,KAM3C,IAHA,IAAIE,EAAgBN,EAAWG,GAC3BI,EAAgBP,EAAWI,GAEtBlge,EAAI,EAAGA,EAAIi4B,EAAKh4B,SAAUD,EAAG,CACpC,IAAIQ,EAAMy3B,EAAKj4B,GAEf,IAAKy/d,EAAcj/d,MAAUwkD,IAAaA,EAAUxkD,OAAW6/d,IAAiBA,EAAc7/d,OAAW4/d,IAAiBA,EAAc5/d,IAAO,CAC7I,IAAIN,EAAao9H,EAAyB4iW,EAAiB1/d,GAE3D,IAEED,EAAe0/d,EAAiBz/d,EAAKN,GACrC,MAAOgE,OAKf,OAAO+7d,I,6BCjGT,IAAIK,EAAW/me,EAAQ,KACnBgne,EAAYD,EAAS3pc,QACrB6pc,EAAgBF,EAASE,cAK7Bnne,EAAOC,QAAUine,EACjBlne,EAAOC,QAAQq9B,QAAU4pc,EACzBlne,EAAOC,QAAQkne,cAAgBA,G,8BCX/B,2bAASvpZ,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAanX,SAAS6sG,EAAe53F,EAAKp4C,GAAK,OAMlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EANtB63F,CAAgB73F,IAIzD,SAA+BA,EAAKp4C,GAAK,GAAsB,qBAAX0D,UAA4BA,OAAOC,YAAYrD,OAAO83C,IAAO,OAAQ,IAAI83F,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWjsI,OAAK4+B,EAAW,IAAM,IAAK,IAAiCstG,EAA7B3qF,EAAKtN,EAAI10C,OAAOC,cAAmBwsI,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAAtL,QAAuM,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EAJjaI,CAAsBl4F,EAAKp4C,IAAM+tI,GAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAQzI,SAAS3lG,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAASqsH,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAMne,SAASD,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,GAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,GAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,GAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,GAA2Bv7H,KAAMH,IAE5Z,SAAS07H,GAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,GAAuBz6G,GAAtChf,EAEnI,SAASy5H,GAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,GAAgBh7H,GAAwJ,OAAnJg7H,GAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS00C,GAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,GAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAAQ21F,GAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAIlI,SAASD,GAA4BtqI,EAAGqqI,GAAU,GAAKrqI,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOiqI,GAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAiE,MAAnD,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAgB,QAANvB,GAAqB,QAANA,EAAoBJ,MAAMsY,KAAKzY,GAAc,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAW0pI,GAAkBjqI,EAAGqqI,QAAzG,GAM7S,SAASJ,GAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAEhL,SAAS6kF,GAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,GAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,GAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,GAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,GAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,GAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAwB3M,IAAIs9b,GAAa,CACf/xF,MAAO,CAAC,SAAU,OAClBC,MAAO,CAAC,OAAQ,UAEd+xF,GAAmB,CACrB1wd,EAAG,EACHC,EAAG,GAID0wd,GAAU3vd,OAAO8gI,SAAW9gI,OAAO8gI,SAAWA,SAC9CsmL,GAC6B,oBAA1BzgS,sBAAuCA,sBAAgD,oBAAjBk+Y,EAA8BA,EAAe79Y,WACtH4oc,GAC4B,oBAAzBxpc,qBAAsCA,qBAAiD,oBAAnB0+Y,EAAgCA,EAAiBr+Y,aA0DxHopc,GAAmB,SAA0B1sd,EAAM87G,EAAMplG,GAC3D,IAAIi2c,EAAiB7wW,EAAK6wW,eACtBC,EAAiB9wW,EAAK8wW,eACtBC,EAAe/wW,EAAK+wW,aACpBC,GAAaH,GAAkB,IAAI5uZ,QAAO,SAAUlvE,EAAQ2T,GAC9D,IAAIuqd,EAAWvqd,EAAM5W,MAAMoU,KAE3B,OAAI+sd,GAAYA,EAASjhe,OAChB,GAAG0rB,OAAOwsB,GAAmBn1C,GAASm1C,GAAmB+ob,IAG3Dl+d,IACN,IAEH,OAAIi+d,GAAaA,EAAUhhe,OAAS,EAC3Bghe,EAGLp2c,GAAQA,EAAK9qB,OAAS8qB,EAAK9qB,MAAMoU,MAAQ0W,EAAK9qB,MAAMoU,KAAKlU,OAAS,EAC7D4qB,EAAK9qB,MAAMoU,KAGhBA,GAAQA,EAAKlU,QAAUkqH,YAAS42W,IAAmB52W,YAAS62W,GACvD7sd,EAAKghC,MAAM4rb,EAAgBC,EAAe,GAG5C,IAYLG,GAAoB,SAA2Bj5Z,EAAOk5Z,EAAWC,EAAaC,GAChF,IAAIR,EAAiB54Z,EAAM44Z,eACvBS,EAAcr5Z,EAAMq5Z,YACpBC,EAAgBX,GAAiBO,EAAWl5Z,GAEhD,OAAIm5Z,EAAc,IAAMP,IAAmBA,EAAe7ge,QAAUohe,GAAeG,EAAcvhe,OACxF,KAIF6ge,EAAe5uZ,QAAO,SAAUlvE,EAAQ2T,GAG7C,GAFWA,EAAM5W,MAAMg1D,KAGrB,OAAO/xD,EAGT,IACI+yI,EADA5hI,EAAOwC,EAAM5W,MAAMoU,KAGvB,GAAIotd,EAAY1tV,UAAY0tV,EAAY3jV,wBAAyB,CAE/D,IAAIlmD,OAAmB30D,IAAT5uB,EAAqBqtd,EAAgBrtd,EACnD4hI,EAAU5qB,YAAiBzzB,EAAS6pY,EAAY1tV,QAASytV,QAEzDvrV,EAAU5hI,GAAQA,EAAKktd,IAAgBG,EAAcH,GAGvD,OAAKtrV,EAIE,GAAGpqH,OAAOwsB,GAAmBn1C,GAAS,CAACm8I,YAAexoI,EAAOo/H,KAH3D/yI,IAIR,KAYDy+d,GAAiB,SAAwBv5Z,EAAOk5Z,EAAW/1a,EAAQq2a,GACrE,IAAIC,EAAYD,GAAY,CAC1B1xd,EAAGk4D,EAAM27G,OACT5zK,EAAGi4D,EAAM47G,QAEPxtI,EAhJoB,SAA6Borb,EAAUr2a,GAC/D,MAAe,eAAXA,EACKq2a,EAAS1xd,EAGH,aAAXq7C,EACKq2a,EAASzxd,EAGH,YAAXo7C,EACKq2a,EAAStud,MAGXsud,EAASljc,OAmINojc,CAAoBD,EAAWt2a,GACrCqpF,EAAQxsE,EAAM25Z,oBACdjtV,EAAO1sE,EAAMq5Z,YACbO,EAAe55Z,EAAM45Z,aACrBT,EAAc9sV,YAAyBj+F,EAAKo+F,EAAOotV,EAAcltV,GAErE,GAAIysV,GAAe,GAAKS,EAAc,CACpC,IAAIR,EAAcQ,EAAaT,IAAgBS,EAAaT,GAAax+d,MAGzE,MAAO,CACLk/d,mBAAoBV,EACpBC,YAAaA,EACbU,cALkBb,GAAkBj5Z,EAAOk5Z,EAAWC,EAAaC,GAMnEW,iBA9IoB,SAA6B52a,EAAQy2a,EAAcT,EAAaK,GACxF,IAAI79a,EAAQi+a,EAAarxZ,MAAK,SAAUkkF,GACtC,OAAOA,GAAQA,EAAKrwH,QAAU+8b,KAGhC,GAAIx9a,EAAO,CACT,GAAe,eAAXwH,EACF,MAAO,CACLr7C,EAAG6zC,EAAM2wF,WACTvkI,EAAGyxd,EAASzxd,GAIhB,GAAe,aAAXo7C,EACF,MAAO,CACLr7C,EAAG0xd,EAAS1xd,EACZC,EAAG4zC,EAAM2wF,YAIb,GAAe,YAAXnpF,EAAsB,CACxB,IAAI62a,EAASr+a,EAAM2wF,WACf2tV,EAAUT,EAASljc,OACvB,OAAOytG,GAAcA,GAAcA,GAAc,GAAIy1V,GAAWlyU,YAAiBkyU,EAASrud,GAAIqud,EAASpud,GAAI6ud,EAASD,IAAU,GAAI,CAChI9ud,MAAO8ud,EACP1jc,OAAQ2jc,IAIZ,IAAI3jc,EAASqlB,EAAM2wF,WACfphI,EAAQsud,EAAStud,MACrB,OAAO64H,GAAcA,GAAcA,GAAc,GAAIy1V,GAAWlyU,YAAiBkyU,EAASrud,GAAIqud,EAASpud,GAAIkrB,EAAQprB,IAAS,GAAI,CAC9HA,MAAOA,EACPorB,OAAQA,IAIZ,OAAOkic,GAoGkB0B,CAAoB/2a,EAAQqpF,EAAO2sV,EAAaM,IASzE,OAAO,MAiOLU,GAAa,SAAoBtie,EAAOwyI,GAC1C,IAAI+vV,EAAiB/vV,EAAMsC,SACvBA,OAA8B,IAAnBytV,EAA4B,QAAUA,EACjDC,EAAWhwV,EAAMgwV,SACjBzB,EAAiBvuV,EAAMuuV,eACvBpqV,EAAcnE,EAAMmE,YACpBqqV,EAAiBxuV,EAAMwuV,eACvBC,EAAezuV,EAAMyuV,aACrBrrd,EAAW5V,EAAM4V,SACjB6sd,EAAY,GAAG72c,OAAOkpH,EAAU,MAEhC4tV,EAAO/pV,YAAc/iI,EAAU4sd,GAC/B57S,EAAU,GAwBd,OAtBI87S,GAAQA,EAAKxie,OACf0mL,EAhOmB,SAA0B5mL,EAAOmqI,GACtD,IAAIu4V,EAAOv4V,EAAMu4V,KACb3B,EAAiB52V,EAAM42V,eACvBjsV,EAAW3K,EAAM2K,SACjB2tV,EAAYt4V,EAAMs4V,UAClB9rV,EAAcxM,EAAMwM,YACpBqqV,EAAiB72V,EAAM62V,eACvBC,EAAe92V,EAAM82V,aACrB31a,EAAStrD,EAAMsrD,OACf11C,EAAW5V,EAAM4V,SACjB+sd,EAAc3ie,EAAM2ie,YACpBtoV,EAAgBb,YAAkBluF,EAAQwpF,GA8G9C,OA5Gc4tV,EAAKvwZ,QAAO,SAAUlvE,EAAQ2T,GAC1C,IAAIg5K,EAAeh5K,EAAM5W,MACrBqU,EAAOu7K,EAAav7K,KACpBy/H,EAAU87C,EAAa97C,QACvB2K,EAAoBmxC,EAAanxC,kBACjCZ,EAA0B+xC,EAAa/xC,wBACvCnqI,EAAQk8K,EAAal8K,MACrBihI,EAAQi7C,EAAaj7C,MACrBsI,EAASrmI,EAAM5W,MAAMyie,GACrBhB,EAAgBX,GAAiB9ge,EAAMoU,KAAM,CAC/C2sd,eAAgBA,EAAe1qd,QAAO,SAAUyU,GAC9C,OAAOA,EAAK9qB,MAAMyie,KAAexlV,KAEnC+jV,eAAgBA,EAChBC,aAAcA,IAEZ74b,EAAMq5b,EAAcvhe,OAExB,IAAK+C,EAAOg6I,GAAS,CACnB,IAAI5I,EAAQ0F,EAAiBO,EAE7B,GAAIxG,EAAS,CAIX,GAFAO,EAASJ,YAAqBwtV,EAAe3tV,EAASz/H,GAEzC,aAATA,GAAuBgmI,EAAe,CAExC,IAAIuoV,EAAY93W,YAAaupB,GAEzBwJ,GAA2B+kV,GAC7B7oV,EAAkB1F,EAElBA,EAASolH,IAAO,EAAGrxN,IACTy1G,IAEVxJ,EAAS2K,YAA0BpoI,EAAM5W,MAAMq0I,OAAQA,EAAQz9H,GAAOu7D,QAAO,SAAUy9T,EAAa9rV,GAClG,OAAO8rV,EAAYniY,QAAQq2C,IAAU,EAAI8rV,EAAc,GAAGhkX,OAAOwsB,GAAmBw3V,GAAc,CAAC9rV,MAClG,UAEA,GAAa,aAATzvC,EAQPggI,EANGwJ,EAMMxJ,EAAOh+H,QAAO,SAAUytC,GAC/B,MAAiB,KAAVA,IAAiBiwF,IAAOjwF,MANxBk7F,YAA0BpoI,EAAM5W,MAAMq0I,OAAQA,EAAQz9H,GAAOu7D,QAAO,SAAUy9T,EAAa9rV,GAClG,OAAO8rV,EAAYniY,QAAQq2C,IAAU,GAAe,KAAVA,GAAgBiwF,IAAOjwF,GAAS8rV,EAAc,GAAGhkX,OAAOwsB,GAAmBw3V,GAAc,CAAC9rV,MACnI,SAOA,GAAa,WAATzvC,EAAmB,CAE5B,IAAIwud,EAAkBxpV,YAAqBooV,EAAeV,EAAe1qd,QAAO,SAAUyU,GACxF,OAAOA,EAAK9qB,MAAMyie,KAAexlV,IAAWnyH,EAAK9qB,MAAMg1D,QACrD8+E,EAASgB,EAAUxpF,GAEnBu3a,IACFxuV,EAASwuV,IAITxoV,GAA2B,WAAThmI,GAA+B,SAAVX,IACzC4mI,EAAoBrG,YAAqBwtV,EAAe3tV,EAAS,kBAInEO,EAFSgG,EAEAo/G,IAAO,EAAGrxN,GACVuuG,GAAeA,EAAYsG,IAAWtG,EAAYsG,GAAQE,UAAqB,WAAT9oI,EAEtD,WAAhBsud,EAA2B,CAAC,EAAG,GAAK1kV,YAAuBtH,EAAYsG,GAAQtG,YAAaqqV,EAAgBC,GAE5G1nV,YAA6BkoV,EAAeV,EAAe1qd,QAAO,SAAUyU,GACnF,OAAOA,EAAK9qB,MAAMyie,KAAexlV,IAAWnyH,EAAK9qB,MAAMg1D,QACrD3gD,EAAMi3C,GAAQ,GAGpB,GAAa,WAATj3C,EAEFggI,EAAS+6P,YAA8Bx5X,EAAUy+H,EAAQ4I,EAAQnI,EAAUH,GAEvE/9H,EAAM5W,MAAMq0I,SACdA,EAASiK,YAAqB1nI,EAAM5W,MAAMq0I,OAAQA,EAAQoK,SAEvD,GAAa,aAATpqI,GAAuBuC,EAAM5W,MAAMq0I,OAAQ,CACpD,IAAIyuV,EAAalsd,EAAM5W,MAAMq0I,OACNA,EAAO9N,OAAM,SAAUziF,GAC5C,OAAOg/a,EAAWr1d,QAAQq2C,IAAU,OAIpCuwF,EAASyuV,GAIb,OAAO52V,GAAcA,GAAc,GAAIjpI,GAAS,GAAImsD,GAAgB,GAAI6tF,EAAQ/Q,GAAcA,GAAc,GAAIt1H,EAAM5W,OAAQ,GAAI,CAChI80I,SAAUA,EACVT,OAAQA,EACRiG,kBAAmBA,EACnBP,gBAAiBA,EACjBwD,eAAgB3mI,EAAM5W,MAAMq0I,OAC5BgG,cAAeA,EACf/uF,OAAQA,MAIZ,OAAOroD,IACN,IAwGS8/d,CAAiB/ie,EAAO,CAChC0ie,KAAMA,EACN3B,eAAgBA,EAChBjsV,SAAUA,EACV2tV,UAAWA,EACX9rV,YAAaA,EACbqqV,eAAgBA,EAChBC,aAAcA,IAEPF,GAAkBA,EAAe7ge,SAC1C0mL,EAhGoB,SAA2B5mL,EAAOuyI,GACxD,IAAIwuV,EAAiBxuV,EAAMwuV,eACvBiC,EAAOzwV,EAAMywV,KACbluV,EAAWvC,EAAMuC,SACjB2tV,EAAYlwV,EAAMkwV,UAClB9rV,EAAcpE,EAAMoE,YACpBqqV,EAAiBzuV,EAAMyuV,eACvBC,EAAe1uV,EAAM0uV,aACrB31a,EAAStrD,EAAMsrD,OACf11C,EAAW5V,EAAM4V,SACjB6rd,EAAgBX,GAAiB9ge,EAAMoU,KAAM,CAC/C2sd,eAAgBA,EAChBC,eAAgBA,EAChBC,aAAcA,IAEZ74b,EAAMq5b,EAAcvhe,OACpBm6I,EAAgBb,YAAkBluF,EAAQwpF,GAC1CvwG,GAAS,EAwCb,OAnCcw8b,EAAe5uZ,QAAO,SAAUlvE,EAAQ2T,GACpD,IAIMy9H,EAJF4I,EAASrmI,EAAM5W,MAAMyie,GAEzB,OAAKx/d,EAAOg6I,GA8BLh6I,GA7BLshC,IAGI81G,EACFhG,EAASolH,IAAO,EAAGrxN,GACVuuG,GAAeA,EAAYsG,IAAWtG,EAAYsG,GAAQE,UACnE9I,EAAS4J,YAAuBtH,EAAYsG,GAAQtG,YAAaqqV,EAAgBC,GACjF5sV,EAAS+6P,YAA8Bx5X,EAAUy+H,EAAQ4I,EAAQnI,KAEjET,EAASiK,YAAqB0kV,EAAKhjW,aAAaqU,OAAQkF,YAA6BkoV,EAAeV,EAAe1qd,QAAO,SAAUyU,GAClI,OAAOA,EAAK9qB,MAAMyie,KAAexlV,IAAWnyH,EAAK9qB,MAAMg1D,QACrD,SAAU1J,GAAS03a,EAAKhjW,aAAaye,mBACzCpK,EAAS+6P,YAA8Bx5X,EAAUy+H,EAAQ4I,EAAQnI,IAG5D5I,GAAcA,GAAc,GAAIjpI,GAAS,GAAImsD,GAAgB,GAAI6tF,EAAQ/Q,GAAcA,GAAc,CAC1G4I,SAAUA,GACTkuV,EAAKhjW,cAAe,GAAI,CACzBhrE,MAAM,EACNqyH,YAAa97D,IAAKm1W,GAAY,GAAG90c,OAAOkpH,EAAU,KAAKlpH,OAAO2Y,EAAQ,GAAI,MAC1E8vG,OAAQA,EACRkJ,eAAgBylV,EAAKhjW,aAAaqU,OAClCgG,cAAeA,EACf/uF,OAAQA,SAOX,IAwCS23a,CAAkBjje,EAAO,CACjCgje,KAAMR,EACNzB,eAAgBA,EAChBjsV,SAAUA,EACV2tV,UAAWA,EACX9rV,YAAaA,EACbqqV,eAAgBA,EAChBC,aAAcA,KAIXr6S,GAsBLs8S,GAAqB,SAA4Blje,GACnD,IAAImje,EAAkBC,EAElBxtd,EAAW5V,EAAM4V,SACjBytd,EAAqBrje,EAAMqje,mBAC3BC,EAAYxtV,YAAgBlgI,EAAU00X,IAAMlvW,aAGhD,MAAO,CACL0oJ,OAAQ,EACRC,OAAQ,EACRi9S,eALesC,GAAaA,EAAUtje,OAASsje,EAAUtje,MAAMk+I,YAAc,EAM7E+iV,kBAL2Lj+b,KAA/J,OAAdsgc,QAAoC,IAAdA,GAAyE,QAAxCH,EAAmBG,EAAUtje,aAAwC,IAArBmje,OAA1D,EAAiGA,EAAiBhlV,UAAwC,OAAdmlV,QAAoC,IAAdA,GAA0E,QAAzCF,EAAoBE,EAAUtje,aAAyC,IAAtBoje,OAA3D,EAAmGA,EAAkBjlV,SAAWn+I,EAAMoU,MAAQpU,EAAMoU,KAAKlU,OAAS,GAAK,EAM3Z8he,oBAAqB,EACrBuB,iBAAkBxvV,IAAOsvV,IAAsBA,IAe/CG,GAAsB,SAA6Bl4a,GACrD,MAAe,eAAXA,EACK,CACLm4a,gBAAiB,QACjBC,aAAc,SAIH,aAAXp4a,EACK,CACLm4a,gBAAiB,QACjBC,aAAc,SAIH,YAAXp4a,EACK,CACLm4a,gBAAiB,aACjBC,aAAc,aAIX,CACLD,gBAAiB,YACjBC,aAAc,eA0EPC,GAA2B,SAAkC1wV,GACtE,IAAI2wV,EAAQC,EAERh9S,EAAY5zC,EAAM4zC,UAClBi9S,EAAiB7wV,EAAM6wV,eACvBC,EAAwB9wV,EAAM+wV,wBAC9BA,OAAoD,IAA1BD,EAAmC,OAASA,EACtEE,EAAwBhxV,EAAMixV,0BAC9BA,OAAsD,IAA1BD,EAAmC,CAAC,QAAUA,EAC1EE,EAAiBlxV,EAAMkxV,eACvBvuV,EAAgB3C,EAAM2C,cACtB+wC,EAAgB1zC,EAAM0zC,cACtB3mD,EAAeiT,EAAMjT,aAErBokW,EAAiB,SAAwBpke,EAAOqke,GAClD,IAAItD,EAAiBsD,EAAatD,eAC9BpqV,EAAc0tV,EAAa1tV,YAC3Bt+H,EAASgsd,EAAahsd,OACtBwzX,EAAWw4F,EAAax4F,SACxBm1F,EAAiBqD,EAAarD,eAC9BC,EAAeoD,EAAapD,aAC5BxqV,EAAUz2I,EAAMy2I,QAChBnrF,EAAStrD,EAAMsrD,OACfksF,EAASx3I,EAAMw3I,OACfC,EAAiBz3I,EAAMy3I,eACvB6sV,EAAmBtke,EAAM63I,WAEzB0sV,EAAuBf,GAAoBl4a,GAC3Cm4a,EAAkBc,EAAqBd,gBACvCC,EAAea,EAAqBb,aAGpC9rV,EA7IkB,SAA6BmpV,GACrD,SAAKA,IAAmBA,EAAe7ge,SAIhC6ge,EAAe1/V,MAAK,SAAUv2G,GACnC,IAAItlB,EAAO2xI,YAAersH,GAAQA,EAAKzW,MACvC,OAAO7O,GAAQA,EAAKiI,QAAQ,QAAU,KAqIzB+2d,CAAoBzD,IACRxqV,YAAe,CACtCE,QAASA,EACTE,YAAaA,IAEX8tV,EAAiB,GA6ErB,OA5EA1D,EAAe5oc,SAAQ,SAAUrN,EAAMyZ,GACrC,IAAIk9b,EAAgBX,GAAiB9ge,EAAMoU,KAAM,CAC/C4sd,eAAgBA,EAChBC,aAAcA,GACbn2c,GACCyqH,EAAczqH,EAAK9qB,MACnB8zI,EAAUyB,EAAYzB,QACtB4wV,EAAkBnvV,EAAYsC,WAC9BgF,EAAgB/xH,EAAK9qB,MAAM,GAAG4rB,OAAO63c,EAAiB,OACtDxsV,EAAansH,EAAK9qB,MAAM,GAAG4rB,OAAO83c,EAAc,OAChDiB,EAAUR,EAAehyZ,QAAO,SAAUlvE,EAAQ6gD,GACpD,IAAI8gb,EAEAh+S,EAAUy9S,EAAa,GAAGz4c,OAAOk4B,EAAMgxF,SAAU,QACjDvtH,EAAKuD,EAAK9qB,MAAM,GAAG4rB,OAAOk4B,EAAMgxF,SAAU,OAC1CD,EAAO+xC,GAAWA,EAAQr/J,GAC9B,OAAO2kH,GAAcA,GAAc,GAAIjpI,GAAS,IAA0BmsD,GAArBw1a,EAAiB,GAAoC9gb,EAAMgxF,SAAUD,GAAOzlF,GAAgBw1a,EAAgB,GAAGh5c,OAAOk4B,EAAMgxF,SAAU,SAAU8E,YAAe/E,IAAQ+vV,MAC3N,IACCC,EAAWF,EAAQjB,GACnBoB,EAAYH,EAAQ,GAAG/4c,OAAO83c,EAAc,UAC5CrmV,EAAc1G,GAAeA,EAAYkG,IAAkBlG,EAAYkG,GAAeM,UAAYY,YAAqBjzH,EAAM6rH,EAAYkG,GAAelG,aACxJouV,EAAY5tV,YAAersH,EAAKzW,MAAM5G,QAAQ,QAAU,EACxDiqI,EAAWiH,YAAkBkmV,EAAUC,GACvCE,EAAc,GAElB,GAAID,EAAW,CACb,IAAI3xV,EAAO6xV,EAGPptV,EAAa9D,IAAO2wV,GAAmBJ,EAAmBI,EAC1DQ,EAA4K,QAA7J9xV,EAAgF,QAAvE6xV,EAAqBtmV,YAAkBkmV,EAAUC,GAAW,UAA0C,IAAvBG,EAAgCA,EAAqBptV,SAAkC,IAAVzE,EAAmBA,EAAQ,EACnN4xV,EAAcztV,YAAe,CAC3BC,OAAQA,EACRC,eAAgBA,EAChBC,SAAUwtV,IAAgBxtV,EAAWwtV,EAAcxtV,EACnDE,SAAUA,EAASX,GACnBY,WAAYA,IAGVqtV,IAAgBxtV,IAClBstV,EAAcA,EAAYn6c,KAAI,SAAU0rB,GACtC,OAAO21F,GAAcA,GAAc,GAAI31F,GAAM,GAAI,CAC/CxQ,SAAUmmG,GAAcA,GAAc,GAAI31F,EAAIxQ,UAAW,GAAI,CAC3D1tB,OAAQk+B,EAAIxQ,SAAS1tB,OAAS6sd,EAAc,UAOtD,IAGMC,EAHFC,EAAat6c,GAAQA,EAAKzW,MAAQyW,EAAKzW,KAAKgxd,gBAE5CD,GAGFX,EAAev6d,KAAK,CAClBlK,MAAOksI,GAAcA,GAAc,GAAIk5V,EAAWl5V,GAAcA,GAAc,GAAIy4V,GAAU,GAAI,CAC9FlD,cAAeA,EACfzhe,MAAOA,EACP8zI,QAASA,EACThpH,KAAMA,EACN4sH,SAAUA,EACVstV,YAAaA,EACb3sd,OAAQA,EACRglI,YAAaA,EACb/xF,OAAQA,EACR01a,eAAgBA,EAChBC,aAAcA,MACV,IAAKkE,EAAiB,CAC1B1ke,IAAKqqB,EAAKrqB,KAAO,QAAQmrB,OAAO2Y,IAC/B6qB,GAAgB+1a,EAAgB1B,EAAiBkB,EAAQlB,IAAmBr0a,GAAgB+1a,EAAgBzB,EAAciB,EAAQjB,IAAgBt0a,GAAgB+1a,EAAgB,cAAet5F,GAAWs5F,IAC/MG,WAAYriV,YAAgBn4H,EAAM9qB,EAAM4V,UACxCkV,KAAMA,OAIL25c,GAkBLc,EAA4C,SAAmDlyV,EAAO81B,GACxG,IAAInpK,EAAQqzI,EAAMrzI,MACdghe,EAAiB3tV,EAAM2tV,eACvBC,EAAe5tV,EAAM4tV,aACrBp1F,EAAWx4P,EAAMw4P,SAErB,IAAK9pP,YAAoB,CACvB/hJ,MAAOA,IAEP,OAAO,KAGT,IAAI4V,EAAW5V,EAAM4V,SACjB01C,EAAStrD,EAAMsrD,OACfq3a,EAAc3ie,EAAM2ie,YACpBvud,EAAOpU,EAAMoU,KACb0oI,EAAoB98I,EAAM88I,kBAE1B0oV,EAAwBhC,GAAoBl4a,GAC5Cm4a,EAAkB+B,EAAsB/B,gBACxCC,EAAe8B,EAAsB9B,aAErC3C,EAAiBpoV,YAAc/iI,EAAUkud,GACzCntV,EAAcgG,YAAuBvoI,EAAM2sd,EAAgB,GAAGn1c,OAAO63c,EAAiB,MAAO,GAAG73c,OAAO83c,EAAc,MAAOf,EAAa7lV,GACzI6nV,EAAUR,EAAehyZ,QAAO,SAAUlvE,EAAQ6gD,GACpD,IAAIt+C,EAAO,GAAGomB,OAAOk4B,EAAMgxF,SAAU,OACrC,OAAO5I,GAAcA,GAAc,GAAIjpI,GAAS,GAAImsD,GAAgB,GAAI5pD,EAAM88d,GAAWtie,EAAOksI,GAAcA,GAAc,GAAIpoF,GAAQ,GAAI,CAC1Ii9a,eAAgBA,EAChBpqV,YAAa7yF,EAAMgxF,WAAa2uV,GAAmB9sV,EACnDqqV,eAAgBA,EAChBC,aAAcA,SAEf,IACC5od,EAhOc,SAAyB26H,EAAOyyV,GACpD,IAAIzle,EAAQgzI,EAAMhzI,MACd+ge,EAAiB/tV,EAAM+tV,eACvB2E,EAAiB1yV,EAAM2yV,SACvBA,OAA8B,IAAnBD,EAA4B,GAAKA,EAC5CE,EAAiB5yV,EAAM6yV,SACvBA,OAA8B,IAAnBD,EAA4B,GAAKA,EAC5C57d,EAAQhK,EAAMgK,MACdC,EAASjK,EAAMiK,OACf2L,EAAW5V,EAAM4V,SACjBiqE,EAAS7/E,EAAM6/E,QAAU,GACzByjZ,EAAYxtV,YAAgBlgI,EAAU00X,IAAMlvW,aAC5Cy6G,EAAaC,YAAgBlgI,EAAUmgI,IAAO36G,aAC9C0qc,EAAUvle,OAAO23B,KAAK2tc,GAAU1zZ,QAAO,SAAUlvE,EAAQskB,GAC3D,IAAIu8B,EAAQ+hb,EAASt+c,GACjB8/J,EAAcvjI,EAAMujI,YAExB,OAAKvjI,EAAMyjI,QAAWzjI,EAAMkR,KAIrB/xD,EAHEipI,GAAcA,GAAc,GAAIjpI,GAAS,GAAImsD,GAAgB,GAAIi4H,EAAapkL,EAAOokL,GAAevjI,EAAM95C,UAIlH,CACDiwC,KAAM4lC,EAAO5lC,MAAQ,EACrBgsC,MAAOpG,EAAOoG,OAAS,IAErB8/Y,EAAUxle,OAAO23B,KAAKytc,GAAUxzZ,QAAO,SAAUlvE,EAAQskB,GAC3D,IAAIu8B,EAAQ6hb,EAASp+c,GACjB8/J,EAAcvjI,EAAMujI,YAExB,OAAKvjI,EAAMyjI,QAAWzjI,EAAMkR,KAIrB/xD,EAHEipI,GAAcA,GAAc,GAAIjpI,GAAS,GAAImsD,GAAgB,GAAIi4H,EAAa97D,IAAKtoH,EAAQ,GAAG2oB,OAAOy7J,IAAgBvjI,EAAM75C,WAInI,CACDkwC,IAAK0lC,EAAO1lC,KAAO,EACnB6rC,OAAQnG,EAAOmG,QAAU,IAGvB3tE,EAAS6zH,GAAcA,GAAc,GAAI65V,GAAUD,GAEnDE,EAAc3td,EAAO2tE,OAUzB,OARIs9Y,IACFjrd,EAAO2tE,QAAUs9Y,EAAUtje,MAAMiK,QAAUqgY,IAAMtqQ,aAAa/1H,QAG5D4rI,GAAc4vV,IAChBptd,EAAS+/H,YAAqB//H,EAAQ0od,EAAgB/ge,EAAOyle,IAGxDv5V,GAAcA,GAAc,CACjC85V,YAAaA,GACZ3td,GAAS,GAAI,CACdrO,MAAOA,EAAQqO,EAAO4hC,KAAO5hC,EAAO4tE,MACpCh8E,OAAQA,EAASoO,EAAO8hC,IAAM9hC,EAAO2tE,SAwKxBigZ,CAAgB/5V,GAAcA,GAAc,GAAIy4V,GAAU,GAAI,CACzE3ke,MAAOA,EACP+ge,eAAgBA,IACA,OAAd53T,QAAoC,IAAdA,OAAuB,EAASA,EAAU+8T,YACpE3le,OAAO23B,KAAKysc,GAASxsc,SAAQ,SAAU13B,GACrCkke,EAAQlke,GAAOkmL,EAAc3mL,EAAO2ke,EAAQlke,GAAM4X,EAAQ5X,EAAIoK,QAAQ,MAAO,IAAKg8K,MAEpF,IACIs/S,EA9ToB,SAA+Bv/S,GACzD,IAAI/xC,EAAOhqB,YAAsB+7D,GAC7Bm7S,EAAenoV,YAAe/E,GAAM,GAAO,GAC/C,MAAO,CACLktV,aAAcA,EACdD,oBAAqB/iV,IAAQgjV,GAAc,SAAUr+d,GACnD,OAAOA,EAAE+wI,cAEX+sV,YAAa3sV,EACbuxV,oBAAqBznV,YAAkB9J,EAAMktV,IAqT9BsE,CADG1B,EAAQ,GAAG/4c,OAAO83c,EAAc,SAE9ChuV,EAA0B0uV,EAAepke,EAAOksI,GAAcA,GAAc,GAAIy4V,GAAU,GAAI,CAChG3D,eAAgBA,EAChBC,aAAcA,EACdp1F,SAAUA,EACVk1F,eAAgBA,EAChBpqV,YAAaA,EACbt+H,OAAQA,KAEV,OAAO6zH,GAAcA,GAAc,CACjCwJ,wBAAyBA,EACzBqrV,eAAgBA,EAChB1od,OAAQA,EACRs+H,YAAaA,GACZwvV,GAAWxB,IAGhB,OAAOd,EAAQD,EAAsB,SAAU7kW,IA/zBjD,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAg0B/WF,CAAU6je,EAAyBvnW,GAEnC,IAp0BkBn/H,EAAae,EAAYC,EAo0BvCypD,EAAStnD,GAAauje,GAG1B,SAASA,EAAwBn6T,GAC/B,IAAIxzH,EA2pBJ,OAv+CN,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA80B1GH,CAAgB0D,KAAMkje,IAEtB3tb,EAAQ0R,EAAOjlD,KAAKhC,KAAM+oK,IACpBo6T,mBAAgB,EACtB5tb,EAAMu1V,gBAAa,EACnBv1V,EAAM6tb,oBAAiB,EACvB7tb,EAAM8tb,aAAU,EAChB9tb,EAAMu5E,eAAY,EAElBv5E,EAAM+tb,aAAe,YACd3yV,IAAOp7F,EAAM8tb,UAAY5F,IAC5BA,GAAWlob,EAAM8tb,SAGnB9tb,EAAM8tb,QAAU,MAGlB9tb,EAAMgub,uBAAyB,SAAUttZ,GACvC,GAAIA,EAAK,CACP,IAAIu3G,EAAcj4I,EAAMwvB,MACpB64Z,EAAiBpwS,EAAYowS,eAC7BC,EAAerwS,EAAYqwS,aAC3Bp1F,EAAWj7M,EAAYi7M,SAE3BlzV,EAAM8uH,SAASv7B,GAAc,CAC3Bg6V,WAAY7sZ,GACXksZ,EAA0C,CAC3Cvle,MAAO24C,EAAM34C,MACbghe,eAAgBA,EAChBC,aAAcA,EACdp1F,SAAUA,GACT3/P,GAAcA,GAAc,GAAIvzF,EAAMwvB,OAAQ,GAAI,CACnD+9Z,WAAY7sZ,SAKlB1gC,EAAMiub,uBAAyB,SAAUC,EAAKC,EAAS1yd,GACxCukC,EAAM34C,MAAM+me,SAEVF,GAAOC,IAAYnub,EAAM4tb,gBACtC5tb,EAAM+tb,eAEN/tb,EAAM8tb,QAAUpuK,IAASA,GAAM1/Q,EAAMqub,eAAe/ge,KAAK44H,GAAuBlmF,GAAQvkC,MAI5FukC,EAAMsub,kBAAoB,SAAUC,GAClC,IAAIhpV,EAAagpV,EAAMhpV,WACnBC,EAAW+oV,EAAM/oV,SAGrB,GAAID,IAAevlG,EAAMwvB,MAAM64Z,gBAAkB7iV,IAAaxlG,EAAMwvB,MAAM84Z,aAAc,CACtF,IAAIp1F,EAAWlzV,EAAMwvB,MAAM0jU,SAE3BlzV,EAAM8uH,UAAS,WACb,OAAOv7B,GAAc,CACnB80V,eAAgB9iV,EAChB+iV,aAAc9iV,GACbonV,EAA0C,CAC3Cvle,MAAO24C,EAAM34C,MACbghe,eAAgB9iV,EAChB+iV,aAAc9iV,EACd0tP,SAAUA,GACTlzV,EAAMwvB,WAGXxvB,EAAMwub,iBAAiB,CACrBnG,eAAgB9iV,EAChB+iV,aAAc9iV,MAKpBxlG,EAAMyub,iBAAmB,SAAUjje,GACjC,IAAIu5C,EAAe/E,EAAM34C,MAAM09C,aAE3B46Y,EAAQ3/Y,EAAM0ub,aAAalje,GAE/B,GAAIm0b,EAAO,CACT,IAAIgvC,EAAap7V,GAAcA,GAAc,GAAIosT,GAAQ,GAAI,CAC3DirC,iBAAiB,IAGnB5qb,EAAM8uH,SAAS6/T,GAEf3ub,EAAMwub,iBAAiBG,GAEnBtzV,IAAYt2F,IACdA,EAAa4pb,EAAYnje,KAK/Bw0C,EAAM4ub,wBAA0B,SAAUpje,GACxC,IAAIy5C,EAAcjF,EAAM34C,MAAM49C,YAE1B06Y,EAAQ3/Y,EAAM0ub,aAAalje,GAE3B2oK,EAAYwrR,EAAQpsT,GAAcA,GAAc,GAAIosT,GAAQ,GAAI,CAClEirC,iBAAiB,IACd,CACHA,iBAAiB,GAGnB5qb,EAAM8uH,SAASqF,GAEfn0H,EAAMwub,iBAAiBr6T,GAEnB94B,IAAYp2F,IACdA,EAAYkvH,EAAW3oK,IAI3Bw0C,EAAM6ub,qBAAuB,SAAUrkc,GACrCwV,EAAM8uH,UAAS,WACb,MAAO,CACL87T,iBAAiB,EACjBkE,WAAYtkc,EACZ8+b,cAAe9+b,EAAGukc,eAClBxF,iBAAkB/+b,EAAGwkc,iBAAmB,CACtC13d,EAAGkzB,EAAG7vB,GACNpD,EAAGizB,EAAG5vB,SAMdolC,EAAMivb,qBAAuB,WAC3Bjvb,EAAM8uH,UAAS,WACb,MAAO,CACL87T,iBAAiB,OAKvB5qb,EAAMkvb,gBAAkB,SAAU1je,GAC5BA,GAAK6vI,IAAY7vI,EAAEoka,UACrBpka,EAAEoka,UAGJ5vX,EAAM4ub,wBAAwBpje,IAGhCw0C,EAAMmvb,iBAAmB,SAAU3je,GACjC,IAAIq5C,EAAe7E,EAAM34C,MAAMw9C,aAC3BsvH,EAAY,CACdy2T,iBAAiB,GAGnB5qb,EAAM8uH,SAASqF,GAEfn0H,EAAMwub,iBAAiBr6T,GAEnB94B,IAAYx2F,IACdA,EAAasvH,EAAW3oK,GAG1Bw0C,EAAMovb,wCAGRpvb,EAAMqvb,iBAAmB,SAAU7je,GACjC,IAAIs9J,EAAYze,YAAoB7+I,GAEhCukB,EAAQ6iG,IAAK5yE,EAAM34C,MAAO,GAAG4rB,OAAO61I,IAEpCA,GAAaztB,IAAYtrH,IASbA,EANV,aAAaid,KAAK87H,GACZ9oH,EAAM0ub,aAAalje,EAAEk+C,eAAe,IAEpC1J,EAAM0ub,aAAalje,GAIdA,IAInBw0C,EAAMwgH,YAAc,SAAUh1J,GAC5B,IAAIq6C,EAAU7F,EAAM34C,MAAMw+C,QAEtB85Y,EAAQ3/Y,EAAM0ub,aAAalje,GAE/B,GAAIm0b,EAAO,CACT,IAAI2vC,EAAc/7V,GAAcA,GAAc,GAAIosT,GAAQ,GAAI,CAC5DirC,iBAAiB,IAGnB5qb,EAAM8uH,SAASwgU,GAEftvb,EAAMwub,iBAAiBc,GAEnBj0V,IAAYx1F,IACdA,EAAQypb,EAAa9je,KAK3Bw0C,EAAMuvb,gBAAkB,SAAU/je,GAChC,IAAIg6C,EAAcxF,EAAM34C,MAAMm+C,YAE1B61F,IAAY71F,IAGdA,EAFkBxF,EAAM0ub,aAAalje,GAEZA,IAI7Bw0C,EAAMwvb,cAAgB,SAAUhke,GAC9B,IAAIk5C,EAAY1E,EAAM34C,MAAMq9C,UAExB22F,IAAY32F,IAGdA,EAFkB1E,EAAM0ub,aAAalje,GAEdA,IAI3Bw0C,EAAMmyV,gBAAkB,SAAU3mY,GACR,MAApBA,EAAEk+C,gBAA0Bl+C,EAAEk+C,eAAeniD,OAAS,GACxDy4C,EAAMkvb,gBAAgB1je,EAAEk+C,eAAe,KAI3C1J,EAAMyvb,iBAAmB,SAAUjke,GACT,MAApBA,EAAEk+C,gBAA0Bl+C,EAAEk+C,eAAeniD,OAAS,GACxDy4C,EAAMuvb,gBAAgB/je,EAAEk+C,eAAe,KAI3C1J,EAAM0vb,eAAiB,SAAUlke,GACP,MAApBA,EAAEk+C,gBAA0Bl+C,EAAEk+C,eAAeniD,OAAS,GACxDy4C,EAAMwvb,cAAchke,EAAEk+C,eAAe,KAIzC1J,EAAM2vb,6BAA+B,SAAUC,GAC7C,IAAI55F,EAAQ45F,EAAO55F,MACf3kY,EAAQu+d,EAAOv+d,MACfC,EAASs+d,EAAOt+d,OAChBoO,EAASkwd,EAAOlwd,OACpB,OAAOohI,YAAqBw3L,IAAcgC,SAAS/mM,GAAcA,GAAcA,GAAc,GAAI+kM,IAAcjxM,cAAe2uQ,GAAQ,GAAI,CACxIh6P,MAAOiF,YAAe+0P,GAAO,GAC7B90X,QAAS,CACP5J,EAAG,EACHC,EAAG,EACHlG,MAAOA,EACPC,OAAQA,MAEPoO,EAAO4hC,KAAM5hC,EAAO4hC,KAAO5hC,EAAOrO,QAGzC2uC,EAAM6vb,+BAAiC,SAAUC,GAC/C,IAAI75F,EAAQ65F,EAAO75F,MACf5kY,EAAQy+d,EAAOz+d,MACfC,EAASw+d,EAAOx+d,OAChBoO,EAASowd,EAAOpwd,OACpB,OAAOohI,YAAqBw3L,IAAcgC,SAAS/mM,GAAcA,GAAcA,GAAc,GAAI+kM,IAAcjxM,cAAe4uQ,GAAQ,GAAI,CACxIj6P,MAAOiF,YAAeg1P,GAAO,GAC7B/0X,QAAS,CACP5J,EAAG,EACHC,EAAG,EACHlG,MAAOA,EACPC,OAAQA,MAEPoO,EAAO8hC,IAAK9hC,EAAO8hC,IAAM9hC,EAAOpO,SAGvC0uC,EAAM+vb,mBAAqB,SAAU7zV,GACnC,OAAO+E,YAAe/E,GAAM,IAG9Bl8F,EAAMgwb,aAAe,SAAU7qd,GAC7B,IAAI0zU,EAAe74S,EAAMwvB,MACrBo7Z,EAAkB/xI,EAAa+xI,gBAC/BrB,EAAmB1wI,EAAa0wI,iBAChCD,EAAgBzwI,EAAaywI,cAC7B5pd,EAASm5U,EAAan5U,OACtB2pd,EAAqBxwI,EAAawwI,mBAElC4G,EAAmBjwb,EAAMkwb,sBAE7B,IAAK/qd,IAAYA,EAAQ9d,MAAM8jB,SAAWy/c,IAAoBrB,GAAkC,iBAAdr7S,GAAqD,SAArB+hT,EAChH,OAAO,KAGT,IACI12J,EADA5mR,EAAS3S,EAAM34C,MAAMsrD,OAErBw9a,EAAa96I,IAEjB,GAAkB,iBAAdnnK,EACFqrJ,EAAYgwJ,EACZ4G,EAAap5X,SACR,GAAkB,aAAdm3E,EACTqrJ,EAAYv5R,EAAMowb,qBAClBD,EAAaxnb,SACR,GAAe,WAAXgK,EAAqB,CAC9B,IAAI09a,EAAwBrwb,EAAMswb,kBAC9B31d,EAAK01d,EAAsB11d,GAC3BC,EAAKy1d,EAAsBz1d,GAC3BkrB,EAASuqc,EAAsBvqc,OAInCyzS,EAAY,CACV5+T,GAAIA,EACJC,GAAIA,EACJ0vF,WANe+lY,EAAsB/lY,WAOrCC,SANa8lY,EAAsB9lY,SAOnCitD,YAAa1xH,EACb2xH,YAAa3xH,GAEfqqc,EAAaI,SAEbh3J,EAAY,CACVz3T,OAAQk+B,EAAMswb,mBAEhBH,EAAa96I,IAGf,IAAIvtV,EAAMqd,EAAQrd,KAAO,mBAErB0oe,EAAcj9V,GAAcA,GAAcA,GAAcA,GAAc,CACxElzH,OAAQ,OACRijV,cAAe,QACd5jV,GAAS65T,GAAYxyL,YAAY5hI,EAAQ9d,MAAM8jB,SAAU,GAAI,CAC9DkyH,QAASisV,EACTmH,aAAcpH,EACdvhe,IAAKA,EACLsnB,UAAW,4BAGb,OAAoB68G,yBAAe9mH,EAAQ9d,MAAM8jB,QAAuB4iJ,uBAAa5oJ,EAAQ9d,MAAM8jB,OAAQqld,GAA4Bnrd,wBAAc8qd,EAAYK,IAGnKxwb,EAAM0wb,gBAAkB,SAAUvrd,EAASsd,EAAamJ,GACtD,IAAIuwG,EAAWvpB,IAAKztG,EAAS,iBAIzBwrd,EAFU/9W,IAAK5yE,EAAMwvB,MAAO,GAAGv8C,OAAOkpH,EAAU,QAE3Bh3H,EAAQ9d,MAAM,GAAG4rB,OAAOkpH,EAAU,QAC3D,OAAoB4xB,uBAAa5oJ,EAASouH,GAAcA,GAAc,GAAIo9V,GAAa,GAAI,CACzFvhd,UAAW+sH,EACXr0I,IAAKqd,EAAQrd,KAAO,GAAGmrB,OAAOwP,EAAa,KAAKxP,OAAO2Y,GACvDowG,MAAOiF,YAAe0vV,GAAY,OAItC3wb,EAAM4wb,YAAc,SAAUzrd,EAASsd,EAAamJ,GAClD,IACIogc,EADWhsb,EAAMwvB,MAAMw9Z,SACJ7nd,EAAQ9d,MAAMkvY,SACrC,OAAOv2V,EAAM6wb,WAAW7E,EAAS7md,EAASsd,EAAamJ,IAGzDoU,EAAM8wb,YAAc,SAAU3rd,EAASsd,EAAamJ,GAClD,IACIogc,EADWhsb,EAAMwvB,MAAM09Z,SACJ/nd,EAAQ9d,MAAMmvY,SACrC,OAAOx2V,EAAM6wb,WAAW7E,EAAS7md,EAASsd,EAAamJ,IAGzDoU,EAAM+wb,WAAa,SAAU5rd,GAC3B,IAAIuvX,EAAe10V,EAAMwvB,MACrBw9Z,EAAWt4F,EAAas4F,SACxBE,EAAWx4F,EAAaw4F,SACxBxtd,EAASg1X,EAAah1X,OACtBqgJ,EAAc//G,EAAM34C,MACpBgK,EAAQ0uJ,EAAY1uJ,MACpBC,EAASyuJ,EAAYzuJ,OACrB0kY,EAAQ9jR,YAAsB86W,GAM9B/2F,EAJwBygF,IAAMwW,GAAU,SAAUhxV,GACpD,OAAO+zC,IAAO/zC,EAAKR,OAAQusV,QAGQ/1W,YAAsBg7W,GACvD7le,EAAQ8d,EAAQ9d,OAAS,GAC7B,OAAoB0mK,uBAAa5oJ,EAAS,CACxCrd,IAAKqd,EAAQrd,KAAO,OACpBwP,EAAGm6G,YAASpqH,EAAMiQ,GAAKjQ,EAAMiQ,EAAIoI,EAAO4hC,KACxC/pC,EAAGk6G,YAASpqH,EAAMkQ,GAAKlQ,EAAMkQ,EAAImI,EAAO8hC,IACxCnwC,MAAOogH,YAASpqH,EAAMgK,OAAShK,EAAMgK,MAAQqO,EAAOrO,MACpDC,OAAQmgH,YAASpqH,EAAMiK,QAAUjK,EAAMiK,OAASoO,EAAOpO,OACvD0kY,MAAOA,EACPC,MAAOA,EACPv2X,OAAQA,EACR64U,WAAYlnV,EACZsnV,YAAarnV,EACbq+d,6BAA8Btoe,EAAMsoe,8BAAgC3vb,EAAM2vb,6BAC1EE,+BAAgCxoe,EAAMwoe,gCAAkC7vb,EAAM6vb,kCAIlF7vb,EAAMgxb,gBAAkB,SAAU7rd,GAChC,IAAIsyK,EAAiBtyK,EAAQ9d,MACzB4pe,EAAcx5S,EAAew5S,YAC7BC,EAAcz5S,EAAey5S,YAC7BC,EAAc15S,EAAe05S,YAC7Br8F,EAAe90V,EAAMwvB,MACrB4ha,EAAgBt8F,EAAas8F,cAC7BC,EAAev8F,EAAau8F,aAC5BC,EAAap/W,YAAsBk/W,GACnCG,EAAYr/W,YAAsBm/W,GAClC12d,EAAK42d,EAAU52d,GACfC,EAAK22d,EAAU32d,GACf48I,EAAc+5U,EAAU/5U,YACxBC,EAAc85U,EAAU95U,YAC5B,OAAoBsW,uBAAa5oJ,EAAS,CACxC+rd,YAAa7+W,IAAS6+W,GAAeA,EAAcjwV,YAAeswV,GAAW,GAAMr/c,KAAI,SAAUi5B,GAC/F,OAAOA,EAAM2wF,cAEfq1V,YAAa9+W,IAAS8+W,GAAeA,EAAclwV,YAAeqwV,GAAY,GAAMp/c,KAAI,SAAUi5B,GAChG,OAAOA,EAAM2wF,cAEfnhI,GAAIA,EACJC,GAAIA,EACJ48I,YAAaA,EACbC,YAAaA,EACb3vJ,IAAKqd,EAAQrd,KAAO,aACpBmpe,YAAaA,KAIjBjxb,EAAMwxb,aAAe,WACnB,IAAIz0V,EAA0B/8F,EAAMwvB,MAAMutE,wBACtCwjB,EAAevgH,EAAM34C,MACrB4V,EAAWsjJ,EAAatjJ,SACxB5L,EAAQkvJ,EAAalvJ,MACrBC,EAASivJ,EAAajvJ,OACtB41E,EAASlnC,EAAM34C,MAAM6/E,QAAU,GAC/B81D,EAAc3rI,GAAS61E,EAAO5lC,MAAQ,IAAM4lC,EAAOoG,OAAS,GAC5DjmF,EAAQw1I,YAAe,CACzB5/H,SAAUA,EACV8/H,wBAAyBA,EACzBC,YAAaA,EACbC,cAAeA,IAGjB,IAAK51I,EACH,OAAO,KAGT,IAAI8qB,EAAO9qB,EAAM8qB,KACbinU,EAAaniO,EAAyB5vH,EAAO,CAAC,SAElD,OAAoB0mK,uBAAa57I,EAAMohH,GAAcA,GAAc,GAAI6lN,GAAa,GAAI,CACtFb,WAAYlnV,EACZsnV,YAAarnV,EACb41E,OAAQA,EACRrO,IAAK,SAAaogD,GAChBj5E,EAAM6tb,eAAiB50W,GAEzB6/N,aAAc94S,EAAMgub,2BAIxBhub,EAAMsmF,cAAgB,WACpB,IAAIrpH,EAAW+iC,EAAM34C,MAAM4V,SACvBw0d,EAAct0V,YAAgBlgI,EAAU2wJ,IAAQnrI,aAEpD,IAAKgvc,EACH,OAAO,KAGT,IAAIC,EAAe1xb,EAAMwvB,MACrBo7Z,EAAkB8G,EAAa9G,gBAC/BrB,EAAmBmI,EAAanI,iBAChCD,EAAgBoI,EAAapI,cAC7BV,EAAc8I,EAAa9I,YAC3Blpd,EAASgyd,EAAahyd,OAC1B,OAAoBquJ,uBAAa0jU,EAAa,CAC5Cvwd,QAASqyH,GAAcA,GAAc,GAAI7zH,GAAS,GAAI,CACpDpI,EAAGoI,EAAO4hC,KACV/pC,EAAGmI,EAAO8hC,MAEZs7E,OAAQ8tW,EACRpha,MAAOo/Z,EACPvrV,QAASutV,EAAkBtB,EAAgB,GAC3CxtV,WAAYytV,KAIhBvpb,EAAM2xb,YAAc,SAAUxsd,GAC5B,IAAI+wS,EAAel2Q,EAAM34C,MACrB6/E,EAASgvO,EAAahvO,OACtBzrE,EAAOy6S,EAAaz6S,KACpBm2d,EAAe5xb,EAAMwvB,MACrB9vD,EAASkyd,EAAalyd,OACtB2od,EAAiBuJ,EAAavJ,eAC9BC,EAAesJ,EAAatJ,aAC5Bp1F,EAAW0+F,EAAa1+F,SAE5B,OAAoBnlO,uBAAa5oJ,EAAS,CACxCrd,IAAKqd,EAAQrd,KAAO,kBACpB+uH,SAAU+qB,YAAqB5hG,EAAMsub,kBAAmB,KAAMnpd,EAAQ9d,MAAMwvH,UAC5Ep7G,KAAMA,EACNnE,EAAGm6G,YAAStsG,EAAQ9d,MAAMiQ,GAAK6N,EAAQ9d,MAAMiQ,EAAIoI,EAAO4hC,KACxD/pC,EAAGk6G,YAAStsG,EAAQ9d,MAAMkQ,GAAK4N,EAAQ9d,MAAMkQ,EAAImI,EAAO8hC,IAAM9hC,EAAOpO,OAASoO,EAAO2td,aAAenmZ,EAAOmG,QAAU,GACrHh8E,MAAOogH,YAAStsG,EAAQ9d,MAAMgK,OAAS8T,EAAQ9d,MAAMgK,MAAQqO,EAAOrO,MACpEk0I,WAAY8iV,EACZ7iV,SAAU8iV,EACVp1F,SAAU,SAASjgX,OAAOigX,MAI9BlzV,EAAM6xb,uBAAyB,SAAU1sd,EAASsd,EAAamJ,GAC7D,IAAKzmB,EACH,OAAO,KAGT,IACIowX,EADwBrvQ,GAAuBlmF,GACZu1V,WAEnCu8F,EAAe9xb,EAAMwvB,MACrBw9Z,EAAW8E,EAAa9E,SACxBE,EAAW4E,EAAa5E,SACxBxtd,EAASoyd,EAAapyd,OACtBqyd,EAAkB5sd,EAAQ9d,MAC1BkvY,EAAUw7F,EAAgBx7F,QAC1BC,EAAUu7F,EAAgBv7F,QAC9B,OAAoBzoO,uBAAa5oJ,EAAS,CACxCrd,IAAKqd,EAAQrd,KAAO,GAAGmrB,OAAOwP,EAAa,KAAKxP,OAAO2Y,GACvDoqW,MAAOg3F,EAASz2F,GAChBN,MAAOi3F,EAAS12F,GAChBt1X,QAAS,CACP5J,EAAGoI,EAAO4hC,KACV/pC,EAAGmI,EAAO8hC,IACVnwC,MAAOqO,EAAOrO,MACdC,OAAQoO,EAAOpO,QAEjBikY,WAAYA,KAIhBv1V,EAAMgyb,mBAAqB,SAAUC,GACnC,IAAI9/c,EAAO8/c,EAAO9/c,KACd+/c,EAAcD,EAAOC,YACrBC,EAAYF,EAAOE,UACnBxF,EAAasF,EAAOtF,WACpByF,EAAUH,EAAOG,QACjB9ne,EAAS,GACTxC,EAAMqqB,EAAK9qB,MAAMS,IACjBuqe,EAAmBlgd,EAAKA,KAAK9qB,MAC7Bire,EAAYD,EAAiBC,UAG7BC,EAAWh/V,GAAcA,GAAc,CACzC3nG,MAAO+gc,EACPxxV,QAJYk3V,EAAiBl3V,QAK7BxgI,GAAIu3d,EAAY56d,EAChBsD,GAAIs3d,EAAY36d,EAChBvK,EAAG,EACHoT,KAAMu8H,YAA0BxqH,EAAKA,MACrCwlG,YAAa,EACbt3G,OAAQ,OACRg9H,QAAS60V,EAAY70V,QACrBlzI,MAAO+ne,EAAY/ne,MACnBrC,IAAK,GAAGmrB,OAAOnrB,EAAK,iBAAiBmrB,OAAO05c,IAC3C5lV,YAAYurV,IAAahrV,YAAmBgrV,IAc/C,OAZAhoe,EAAOiH,KAAKo8d,EAAwB6E,gBAAgBF,EAAWC,IAE3DJ,EACF7ne,EAAOiH,KAAKo8d,EAAwB6E,gBAAgBF,EAAW/+V,GAAcA,GAAc,GAAIg/V,GAAW,GAAI,CAC5G53d,GAAIw3d,EAAU76d,EACdsD,GAAIu3d,EAAU56d,EACdzP,IAAK,GAAGmrB,OAAOnrB,EAAK,eAAemrB,OAAO05c,OAEnCyF,GACT9ne,EAAOiH,KAAK,MAGPjH,GAGT01C,EAAMyyb,mBAAqB,SAAUttd,EAASsd,EAAamJ,GACzD,IAAIzZ,EAAO6tB,EAAM0yb,iBAAiBvtd,EAASsd,EAAamJ,GAExD,IAAKzZ,EACH,OAAO,KAGT,IAAI89c,EAAmBjwb,EAAMkwb,sBAEzByC,EAAe3yb,EAAMwvB,MACrBo7Z,EAAkB+H,EAAa/H,gBAC/B/B,EAAc8J,EAAa9J,YAC3BQ,EAAqBsJ,EAAatJ,mBAClCT,EAAc+J,EAAa/J,YAC3B3rd,EAAW+iC,EAAM34C,MAAM4V,SACvBw0d,EAAct0V,YAAgBlgI,EAAU2wJ,IAAQnrI,aAChDg7G,EAAetrH,EAAK9qB,MACpBya,EAAS27H,EAAa37H,OACtBswd,EAAU30V,EAAa20V,QACvB78I,EAAW93M,EAAa83M,SACxBq9I,EAAoBzgd,EAAKA,KAAK9qB,MAC9Bire,EAAYM,EAAkBN,UAE9BO,GADOD,EAAkBv2a,MACJuua,GAAmB6G,GAAea,GAAajJ,GAAsB,EAC1FyJ,EAAa,GAEQ,SAArB7C,GAA+BwB,GAA6C,UAA9BA,EAAYpqe,MAAMolF,QAClEqmZ,EAAa,CACXjtb,QAAS+7F,YAAqB5hG,EAAM6ub,qBAAsB,KAAM1pd,EAAQ9d,MAAM0re,UAElD,SAArB9C,IACT6C,EAAa,CACXjub,aAAc+8F,YAAqB5hG,EAAMivb,qBAAsB,KAAM9pd,EAAQ9d,MAAMw9C,cACnFE,aAAc68F,YAAqB5hG,EAAM6ub,qBAAsB,KAAM1pd,EAAQ9d,MAAM09C,gBAIvF,IAAI2hG,EAA6BqnB,uBAAa5oJ,EAASouH,GAAcA,GAAc,GAAIphH,EAAK9qB,OAAQyre,IAOpG,GAAID,EAAW,CACb,IAAIX,EAAaC,EAEjB,GAAItJ,EAAY1tV,UAAY0tV,EAAY3jV,wBAAyB,CAE/D,IAAIxyB,EAA8C,oBAAxBm2W,EAAY1tV,QAV1C,SAAyBhwF,GAEvB,MAAsC,oBAAxB09a,EAAY1tV,QAAyB0tV,EAAY1tV,QAAQhwF,EAAMkyF,SAAW,MAQL,WAAWpqH,OAAO41c,EAAY1tV,QAAQtkI,YACvHq7d,EAAcz/W,YAAiB3wG,EAAQ4wG,EAAck2W,GACrDuJ,EAAYC,GAAW78I,GAAY9iO,YAAiB8iO,EAAU7iO,EAAck2W,QAE5EsJ,EAAcpwd,EAAOund,GACrB8I,EAAYC,GAAW78I,GAAYA,EAAS8zI,GAG9C,IAAKjuV,IAAO82V,GACV,MAAO,CAACxrV,GAAezzH,OAAOwsB,GAAmBO,EAAMgyb,mBAAmB,CACxE7/c,KAAMA,EACN+/c,YAAaA,EACbC,UAAWA,EACXxF,WAAYtD,EACZ+I,QAASA,MAKf,OAAIA,EACK,CAAC1rV,EAAe,KAAM,MAGxB,CAACA,EAAe,OAGzB1mG,EAAMgzb,iBAAmB,SAAU7td,EAASsd,EAAamJ,GACvD,OAAoBmiI,uBAAa5oJ,EAASouH,GAAcA,GAAc,CACpEzrI,IAAK,uBAAuBmrB,OAAO2Y,IAClCoU,EAAM34C,OAAQ24C,EAAMwvB,SAGzBxvB,EAAM4tb,cAAgBxyV,IAAOo4B,EAAO5kJ,IAAMle,YAAS,YAAc8iK,EAAO5kJ,GACxEoxB,EAAMu1V,WAAa,GAAGtiX,OAAO+sB,EAAM4tb,cAAe,SAE9Cp6T,EAAOy/T,gBACTjzb,EAAM4ub,wBAA0BsE,IAAUlzb,EAAM4ub,wBAAyBp7T,EAAOy/T,gBAGlFjzb,EAAMwvB,MAAQ,GACPxvB,EAulBT,OA1jEkB/4C,EAw+CL0me,GAx+CkB3le,EAw+CO,CAAC,CACrCF,IAAK,oBACLqC,MAAO,WACAixI,IAAO3wI,KAAKpD,MAAM+me,SACrB3je,KAAKk+J,gBAGR,CACD7gK,IAAK,qBACLqC,MAAO,SAA4Bo8H,GAE7B6U,IAAO7U,EAAU6nW,UAAYhzV,IAAO3wI,KAAKpD,MAAM+me,SACjD3je,KAAKk+J,eAIFvtB,IAAO7U,EAAU6nW,SAAWhzV,IAAO3wI,KAAKpD,MAAM+me,SACjD3je,KAAKm+J,mBAGR,CACD9gK,IAAK,uBACLqC,MAAO,WACLM,KAAKsje,eAEA3yV,IAAO3wI,KAAKpD,MAAM+me,SACrB3je,KAAKm+J,iBAGPn+J,KAAK2ke,yCAEN,CACDtne,IAAK,uCACLqC,MAAO,WAC8C,oBAAxCM,KAAKmke,wBAAwBjla,QACtCl/D,KAAKmke,wBAAwBjla,WAGhC,CACD7hE,IAAK,sBACLqC,MAAO,WACL,IAAIsne,EAAct0V,YAAgB1yI,KAAKpD,MAAM4V,SAAU2wJ,IAAQnrI,aAE/D,GAAIgvc,GAAe0B,IAAW1B,EAAYpqe,MAAMqtR,QAAS,CACvD,IAAI2nK,EAAYo1C,EAAYpqe,MAAMqtR,OAAS,OAAS,OACpD,OAAO62M,EAA0Bz2d,QAAQunb,IAAc,EAAIA,EAAYgvC,EAGzE,OAAOA,IAQR,CACDvje,IAAK,eACLqC,MAAO,SAAsB4lB,GAC3B,IAAKtlB,KAAK8uH,UACR,OAAO,KAGT,IAAIipD,EAAkB3jB,YAAUp0J,KAAK8uH,WACjC/tH,EAAI0/K,YAAyBn7J,EAAOyyJ,GACpCwmT,EAAWv+d,KAAKitJ,QAAQlsJ,EAAE2/K,OAAQ3/K,EAAE4/K,QAExC,IAAK49S,EACH,OAAO,KAGT,IAAIoK,EAAe3oe,KAAK+kE,MACpBw9Z,EAAWoG,EAAapG,SACxBE,EAAWkG,EAAalG,SAG5B,GAAyB,SAFFzie,KAAKyle,uBAEOlD,GAAYE,EAAU,CACvD,IAAImG,EAASnhX,YAAsB86W,GAAUjyd,MACzCu4d,EAASphX,YAAsBg7W,GAAUnyd,MACzCw4d,EAASF,GAAUA,EAAOpgV,OAASogV,EAAOpgV,OAAOznJ,EAAE2/K,QAAU,KAC7DqoT,EAASF,GAAUA,EAAOrgV,OAASqgV,EAAOrgV,OAAOznJ,EAAE4/K,QAAU,KACjE,OAAO73C,GAAcA,GAAc,GAAI/nI,GAAI,GAAI,CAC7C+ne,OAAQA,EACRC,OAAQA,IAIZ,IAAIC,EAAc1K,GAAet+d,KAAK+kE,MAAO/kE,KAAKpD,MAAMoU,KAAMhR,KAAKpD,MAAMsrD,OAAQq2a,GAEjF,OAAIyK,EACKlgW,GAAcA,GAAc,GAAI/nI,GAAIioe,GAGtC,OAER,CACD3re,IAAK,qBACLqC,MAAO,WACL,IAAIwoD,EAASloD,KAAKpD,MAAMsrD,OACpB+gb,EAAgBjpe,KAAK+kE,MACrB+5Z,EAAmBmK,EAAcnK,iBACjC7pd,EAASg0d,EAAch0d,OACvB+td,EAAsBiG,EAAcjG,oBACpCkG,EAAWlG,EAAsB,EACrC,MAAO,CACLptd,OAAQ,OACRD,KAAM,OACN9I,EAAc,eAAXq7C,EAA0B42a,EAAiBjyd,EAAIq8d,EAAWj0d,EAAO4hC,KAAO,GAC3E/pC,EAAc,eAAXo7C,EAA0BjzC,EAAO8hC,IAAM,GAAM+nb,EAAiBhyd,EAAIo8d,EACrEtie,MAAkB,eAAXshD,EAA0B86a,EAAsB/td,EAAOrO,MAAQ,EACtEC,OAAmB,eAAXqhD,EAA0BjzC,EAAOpO,OAAS,EAAIm8d,KAGzD,CACD3le,IAAK,kBACLqC,MAAO,WACL,IAII+N,EAAIC,EAAIC,EAAIC,EAJZs6C,EAASloD,KAAKpD,MAAMsrD,OACpBihb,EAAgBnpe,KAAK+kE,MACrB+5Z,EAAmBqK,EAAcrK,iBACjC7pd,EAASk0d,EAAcl0d,OAG3B,GAAe,eAAXizC,EAEFv6C,EADAF,EAAKqxd,EAAiBjyd,EAEtBa,EAAKuH,EAAO8hC,IACZnpC,EAAKqH,EAAO8hC,IAAM9hC,EAAOpO,YACpB,GAAe,aAAXqhD,EAETt6C,EADAF,EAAKoxd,EAAiBhyd,EAEtBW,EAAKwH,EAAO4hC,KACZlpC,EAAKsH,EAAO4hC,KAAO5hC,EAAOrO,WACrB,IAAK+pI,IAAOmuV,EAAiB5ud,MAAQygI,IAAOmuV,EAAiB3ud,IAAK,CACvE,GAAe,YAAX+3C,EAYG,CACL,IAAIkhb,EAAMtK,EAAiB5ud,GACvBm5d,EAAMvK,EAAiB3ud,GACvBkrB,EAASyjc,EAAiBzjc,OAC1BwkE,EAAai/X,EAAiBj/X,WAC9BC,EAAWg/X,EAAiBh/X,SAGhC,MAAO,CACLzoF,OAAQ,CAHOg1I,YAAiB+8U,EAAKC,EAAKhuc,EAAQwkE,GACrCwsD,YAAiB+8U,EAAKC,EAAKhuc,EAAQykE,IAGhD5vF,GAAIk5d,EACJj5d,GAAIk5d,EACJhuc,OAAQA,EACRwkE,WAAYA,EACZC,SAAUA,GAzBZ,IAAI5vF,EAAK4ud,EAAiB5ud,GACtBC,EAAK2ud,EAAiB3ud,GACtB48I,EAAc+xU,EAAiB/xU,YAC/BC,EAAc8xU,EAAiB9xU,YAC/B/8I,EAAQ6ud,EAAiB7ud,MACzBq5d,EAAaj9U,YAAiBn8I,EAAIC,EAAI48I,EAAa98I,GACnDs5d,EAAal9U,YAAiBn8I,EAAIC,EAAI68I,EAAa/8I,GACvDxC,EAAK67d,EAAWz8d,EAChBa,EAAK47d,EAAWx8d,EAChBa,EAAK47d,EAAW18d,EAChBe,EAAK27d,EAAWz8d,EAoBpB,MAAO,CAAC,CACND,EAAGY,EACHX,EAAGY,GACF,CACDb,EAAGc,EACHb,EAAGc,MAGN,CACDvQ,IAAK,UACLqC,MAAO,SAAiBmN,EAAGC,GACzB,IAAIo7C,EAASloD,KAAKpD,MAAMsrD,OAExB,GAAe,eAAXA,GAAsC,aAAXA,EAAuB,CACpD,IAAIjzC,EAASjV,KAAK+kE,MAAM9vD,OAExB,OADgBpI,GAAKoI,EAAO4hC,MAAQhqC,GAAKoI,EAAO4hC,KAAO5hC,EAAOrO,OAASkG,GAAKmI,EAAO8hC,KAAOjqC,GAAKmI,EAAO8hC,IAAM9hC,EAAOpO,OAChG,CACjBgG,EAAGA,EACHC,EAAGA,GACD,KAGN,IAAI08d,EAAgBxpe,KAAK+kE,MACrB6ha,EAAe4C,EAAc5C,aAC7BD,EAAgB6C,EAAc7C,cAElC,GAAIC,GAAgBD,EAAe,CACjC,IAAIG,EAAYr/W,YAAsBm/W,GACtC,OAAOh6U,YAAgB,CACrB//I,EAAGA,EACHC,EAAGA,GACFg6d,GAGL,OAAO,OAER,CACDzpe,IAAK,uBACLqC,MAAO,WACL,IAAI8S,EAAWxS,KAAKpD,MAAM4V,SACtBgzd,EAAmBxle,KAAKyle,sBACxBuB,EAAct0V,YAAgBlgI,EAAU2wJ,IAAQnrI,aAChDyxc,EAAgB,GAoBpB,OAlBIzC,GAAoC,SAArBxB,IAEfiE,EADgC,UAA9BzC,EAAYpqe,MAAMolF,QACJ,CACd5mC,QAASp7C,KAAK+1J,aAGA,CACdz7G,aAAct6C,KAAKgke,iBACnBxpb,YAAax6C,KAAKyke,gBAClBrqb,aAAcp6C,KAAK0ke,iBACnBn6F,YAAavqY,KAAK0nY,gBAClBoC,aAAc9pY,KAAKgle,iBACnB0E,WAAY1pe,KAAKile,iBAMhBn8V,GAAcA,GAAc,GADjB+T,YAAmB78I,KAAKpD,MAAOoD,KAAK4ke,mBACD6E,KAItD,CACDpse,IAAK,cACLqC,MAAO,WACLmjK,IAAY3nH,GAAG8nH,IAAYhjK,KAAKwje,wBAE5B3gU,IAAYE,iBAAmBF,IAAY8mU,eAC7C9mU,IAAYE,gBAAgBF,IAAY8mU,cAAgB,KAG3D,CACDtse,IAAK,iBACLqC,MAAO,WACLmjK,IAAY1E,eAAe6E,IAAYhjK,KAAKwje,wBAExC3gU,IAAYE,iBAAmBF,IAAY8mU,eAC7C9mU,IAAYE,gBAAgBF,IAAY8mU,cAAgB,KAG3D,CACDtse,IAAK,mBACLqC,MAAO,SAA0BsR,GAC/B,IAAI2yd,EAAS3je,KAAKpD,MAAM+me,OAEnBhzV,IAAOgzV,IACV9gU,IAAY2zJ,KAAKxzJ,IAAY2gU,EAAQ3je,KAAKmje,cAAenyd,KAG5D,CACD3T,IAAK,iBACLqC,MAAO,SAAwBsR,GAC7B,IAAIo8S,EAAeptT,KAAKpD,MACpBsrD,EAASklQ,EAAallQ,OACtB0hb,EAAax8K,EAAaw8K,WAC1BnhG,EAAWzoY,KAAK+kE,MAAM0jU,SACtBm1F,EAAiB5sd,EAAK4sd,eACtBC,EAAe7sd,EAAK6sd,aAExB,GAAKltV,IAAO3/H,EAAK4sd,iBAAoBjtV,IAAO3/H,EAAK6sd,cAU1C,GAAKltV,IAAO3/H,EAAK4td,oBAkDtB5+d,KAAKqkK,SAASrzJ,OAlD6B,CAC3C,IAAI0vK,EAAS1vK,EAAK0vK,OACdC,EAAS3vK,EAAK2vK,OACdi+S,EAAqB5td,EAAK4td,mBAC1BiL,EAAgB7pe,KAAK+kE,MACrB9vD,EAAS40d,EAAc50d,OACvB0pd,EAAekL,EAAclL,aAEjC,IAAK1pd,EACH,OAGF,GAA0B,oBAAf20d,EAEThL,EAAqBgL,EAAWjL,EAAc3td,QACzC,GAAmB,UAAf44d,EAAwB,CAGjChL,GAAsB,EAEtB,IAAK,IAAI/he,EAAI,EAAGA,EAAI8he,EAAa7he,OAAQD,IACvC,GAAI8he,EAAa9he,GAAG6C,QAAUsR,EAAKmtd,YAAa,CAC9CS,EAAqB/he,EACrB,OAKN,IAAI4Z,EAAUqyH,GAAcA,GAAc,GAAI7zH,GAAS,GAAI,CACzDpI,EAAGoI,EAAO4hC,KACV/pC,EAAGmI,EAAO8hC,MAKR+yb,EAAiB3ie,KAAK6K,IAAI0uK,EAAQjqK,EAAQ5J,EAAI4J,EAAQ7P,OACtDmje,EAAiB5ie,KAAK6K,IAAI2uK,EAAQlqK,EAAQ3J,EAAI2J,EAAQ5P,QACtDs3d,EAAcQ,EAAaC,IAAuBD,EAAaC,GAAoBl/d,MACnFm/d,EAAgBb,GAAkBh+d,KAAK+kE,MAAO/kE,KAAKpD,MAAMoU,KAAM4td,GAC/DE,EAAmBH,EAAaC,GAAsB,CACxD/xd,EAAc,eAAXq7C,EAA0By2a,EAAaC,GAAoBvtV,WAAay4V,EAC3Eh9d,EAAc,eAAXo7C,EAA0B6hb,EAAiBpL,EAAaC,GAAoBvtV,YAC7EksV,GACJv9d,KAAKqkK,SAASv7B,GAAcA,GAAc,GAAI93H,GAAO,GAAI,CACvDmtd,YAAaA,EACbW,iBAAkBA,EAClBD,cAAeA,EACfD,mBAAoBA,UAxDtB5+d,KAAKqkK,SAASv7B,GAAc,CAC1B80V,eAAgBA,EAChBC,aAAcA,GACbsE,EAA0C,CAC3Cvle,MAAOoD,KAAKpD,MACZghe,eAAgBA,EAChBC,aAAcA,EACdp1F,SAAUA,GACTzoY,KAAK+kE,WAsDX,CACD1nE,IAAK,mBACLqC,MAAO,SAA0BgoB,EAAMsQ,EAAakqc,GAGlD,IAFA,IAAI5vV,EAA0BtyI,KAAK+kE,MAAMutE,wBAEhCz1I,EAAI,EAAGmoC,EAAMstG,EAAwBx1I,OAAQD,EAAImoC,EAAKnoC,IAAK,CAClE,IAAI6jD,EAAQ4xF,EAAwBz1I,GAEpC,GAAI6jD,EAAMh5B,OAASA,GAAQg5B,EAAM9jD,MAAMS,MAAQqqB,EAAKrqB,KAAO26B,IAAgB+7G,YAAerzF,EAAMh5B,KAAKzW,OAASixd,IAAexhb,EAAMwhb,WACjI,OAAOxhb,EAIX,OAAO,OAER,CACDrjD,IAAK,aACLqC,MASA,SAAoBsqe,EAAatvd,EAASsd,EAAamJ,GACrD,IAAImuS,EAAetvU,KAAKpD,MACpBgK,EAAQ0oU,EAAa1oU,MACrBC,EAASyoU,EAAazoU,OAC1B,OAAoBupH,IAAMx1G,cAAcizT,IAAepmS,EAAS,GAAIuic,EAAa,CAC/Erld,UAAW,YAAY6D,OAAOwhd,EAAYt4V,SAAU,KAAKlpH,OAAOwhd,EAAYt4V,UAC5Er0I,IAAKqd,EAAQrd,KAAO,GAAGmrB,OAAOwP,EAAa,KAAKxP,OAAO2Y,GACvD1qB,QAAS,CACP5J,EAAG,EACHC,EAAG,EACHlG,MAAOA,EACPC,OAAQA,GAEV6pU,eAAgB1wU,KAAKsle,wBASxB,CACDjoe,IAAK,iBACLqC,MAAO,WACL,IAAIorY,EAAa9qY,KAAK8qY,WAClBm/F,EAAqBjqe,KAAK+kE,MAAM9vD,OAChC4hC,EAAOozb,EAAmBpzb,KAC1BE,EAAMkzb,EAAmBlzb,IACzBlwC,EAASoje,EAAmBpje,OAC5BD,EAAQqje,EAAmBrje,MAC/B,OAAoBwpH,IAAMx1G,cAAc,OAAQ,KAAmBw1G,IAAMx1G,cAAc,WAAY,CACjGuJ,GAAI2mX,GACU16Q,IAAMx1G,cAAc,OAAQ,CAC1C/N,EAAGgqC,EACH/pC,EAAGiqC,EACHlwC,OAAQA,EACRD,MAAOA,QAGV,CACDvJ,IAAK,aACLqC,MAAO,WACL,IAAI6ie,EAAWvie,KAAK+kE,MAAMw9Z,SAC1B,OAAOA,EAAWple,OAAOo3F,QAAQguY,GAAUxzZ,QAAO,SAAUg9D,EAAKm+V,GAC/D,IAAIC,EAASt9V,EAAeq9V,EAAQ,GAChCrwV,EAASswV,EAAO,GAChBn6J,EAAYm6J,EAAO,GAEvB,OAAOrhW,GAAcA,GAAc,GAAIiD,GAAM,GAAI//E,GAAgB,GAAI6tF,EAAQm2L,EAAU1/T,UACtF,IAAM,OAEV,CACDjT,IAAK,aACLqC,MAAO,WACL,IAAI+ie,EAAWzie,KAAK+kE,MAAM09Z,SAC1B,OAAOA,EAAWtle,OAAOo3F,QAAQkuY,GAAU1zZ,QAAO,SAAUg9D,EAAKq+V,GAC/D,IAAIC,EAASx9V,EAAeu9V,EAAQ,GAChCvwV,EAASwwV,EAAO,GAChBr6J,EAAYq6J,EAAO,GAEvB,OAAOvhW,GAAcA,GAAc,GAAIiD,GAAM,GAAI//E,GAAgB,GAAI6tF,EAAQm2L,EAAU1/T,UACtF,IAAM,OAEV,CACDjT,IAAK,oBACLqC,MAAO,SAA2Bm6I,GAChC,IAAIywV,EAAsBC,EAE1B,OAAwD,QAAhDD,EAAuBtqe,KAAK+kE,MAAMw9Z,gBAA+C,IAAzB+H,GAAsG,QAA1DC,EAAwBD,EAAqBzwV,UAA+C,IAA1B0wV,OAA5E,EAAwHA,EAAsBj6d,QAEjP,CACDjT,IAAK,oBACLqC,MAAO,SAA2Bm6I,GAChC,IAAI2wV,EAAsBC,EAE1B,OAAwD,QAAhDD,EAAuBxqe,KAAK+kE,MAAM09Z,gBAA+C,IAAzB+H,GAAsG,QAA1DC,EAAwBD,EAAqB3wV,UAA+C,IAA1B4wV,OAA5E,EAAwHA,EAAsBn6d,QAEjP,CACDjT,IAAK,cACLqC,MAAO,SAAqBgre,GAC1B,IAAIp4V,EAA0BtyI,KAAK+kE,MAAMutE,wBAEzC,GAAIA,GAA2BA,EAAwBx1I,OACrD,IAAK,IAAID,EAAI,EAAGmoC,EAAMstG,EAAwBx1I,OAAQD,EAAImoC,EAAKnoC,IAAK,CAClE,IAAIo/I,EAAgB3J,EAAwBz1I,GACxCD,EAAQq/I,EAAcr/I,MACtB8qB,EAAOu0H,EAAcv0H,KACrBijd,EAAkB52V,YAAersH,EAAKzW,MAE1C,GAAwB,QAApB05d,EAA2B,CAC7B,IAAIC,GAAiBhue,EAAMoU,MAAQ,IAAIs8D,MAAK,SAAU5sB,GACpD,OAAO+lS,YAAcikJ,EAAShqb,MAGhC,GAAIkqb,EACF,MAAO,CACL3uV,cAAeA,EACfrJ,QAASg4V,QAGR,GAAwB,cAApBD,EAAiC,CAC1C,IAAIE,GAAkBjue,EAAMoU,MAAQ,IAAIs8D,MAAK,SAAU5sB,GACrD,OAAOksG,YAAgB89U,EAAShqb,MAGlC,GAAImqb,EACF,MAAO,CACL5uV,cAAeA,EACfrJ,QAASi4V,IAOnB,OAAO,OAER,CACDxte,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAEb,IAAK2+I,YAAoB3+I,MACvB,OAAO,KAGT,IAAI0vU,EAAe1vU,KAAKpD,MACpB4V,EAAWk9T,EAAal9T,SACxBmS,EAAY+qT,EAAa/qT,UACzB/d,EAAQ8oU,EAAa9oU,MACrBC,EAAS6oU,EAAa7oU,OACtB6L,EAAQg9T,EAAah9T,MACrBg3X,EAAUh6D,EAAag6D,QACvBllX,EAAQkrT,EAAalrT,MACrBC,EAAOirT,EAAajrT,KACpB66G,EAAS9S,EAAyBkjN,EAAc,CAAC,WAAY,YAAa,QAAS,SAAU,QAAS,UAAW,QAAS,SAE1H7vS,EAAQy8G,YAAYhd,GACpB73G,EAAM,CACRqjd,cAAe,CACbrrV,QAASz/I,KAAKsme,WACd5mV,MAAM,GAERmrP,cAAe,CACbprP,QAASz/I,KAAKone,wBAEhBl7F,cAAe,CACbzsP,QAASz/I,KAAKone,wBAEhBh7F,aAAc,CACZ3sP,QAASz/I,KAAKone,wBAEhB2D,MAAO,CACLtrV,QAASz/I,KAAKmme,aAEhB6E,MAAO,CACLvrV,QAASz/I,KAAKqme,aAEhBn/F,MAAO,CACLznP,QAASz/I,KAAKkne,YACdxnV,MAAM,GAERurV,IAAK,CACHxrV,QAASz/I,KAAKgoe,oBAEhBnob,KAAM,CACJ4/F,QAASz/I,KAAKgoe,oBAEhBkD,KAAM,CACJzrV,QAASz/I,KAAKgoe,oBAEhBmD,MAAO,CACL1rV,QAASz/I,KAAKgoe,oBAEhBoD,UAAW,CACT3rV,QAASz/I,KAAKgoe,oBAEhBqD,QAAS,CACP5rV,QAASz/I,KAAKgoe,oBAEhBt/X,IAAK,CACH+2C,QAASz/I,KAAKgoe,oBAEhBsD,OAAQ,CACN7rV,QAASz/I,KAAKgoe,oBAEhB7kU,QAAS,CACP1jB,QAASz/I,KAAKule,aACd7lV,MAAM,GAER6rV,UAAW,CACT9rV,QAASz/I,KAAKume,gBACd7mV,MAAM,GAER8rV,eAAgB,CACd/rV,QAASz/I,KAAKime,iBAEhBwF,gBAAiB,CACfhsV,QAASz/I,KAAKime,iBAEhByF,WAAY,CACVjsV,QAASz/I,KAAKuoe,mBAIlB,GAAI7+F,EACF,OAAoBt5Q,IAAMx1G,cAAcorU,IAASv+S,EAAS,GAAI5H,EAAO,CACnEj5B,MAAOA,EACPC,OAAQA,EACR2d,MAAOA,EACPC,KAAMA,IACJzkB,KAAK2re,iBAAkBrsV,YAAc9sI,EAAUiV,IAGrD,IAAIhB,EAASzmB,KAAK4re,uBAClB,OAAoBx7W,IAAMx1G,cAAc,MAAO6sB,EAAS,CACtD9iB,UAAW2mG,IAAW,mBAAoB3mG,GAC1CjS,MAAOo2H,GAAc,CACnBnmG,SAAU,WACVjiB,OAAQ,UACR9Z,MAAOA,EACPC,OAAQA,GACP6L,IACF+T,EAAQ,CACT2nD,IAAK,SAAavqE,GAChBw4C,EAAOyyE,UAAYjrH,GAErB67K,KAAM,WACStvD,IAAMx1G,cAAcorU,IAASv+S,EAAS,GAAI5H,EAAO,CAChEj5B,MAAOA,EACPC,OAAQA,EACR2d,MAAOA,EACPC,KAAMA,IACJzkB,KAAK2re,iBAAkBrsV,YAAc9sI,EAAUiV,IAAOznB,KAAK+me,eAAgB/me,KAAK67H,sBAtjEdn/H,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA0jEzK0le,EAzvC4B,CA0vCnCpmW,aAAY0jW,EAAOxoc,YAAcyrJ,EAAW+8S,EAAO5jW,aAAekM,GAAc,CAChF5gF,OAAQ,aACRq3a,YAAa,OACblrV,eAAgB,MAChBD,OAAQ,EACR33D,OAAQ,CACN1lC,IAAK,EACL8rC,MAAO,EACPD,OAAQ,EACR/rC,KAAM,GAER6iG,mBAAmB,EACnBkwV,WAAY,SACXhtW,GAAe4jW,EAAO95S,yBAA2B,SAAUtnC,EAAW2mB,GACvE,IAAI/0J,EAAOouI,EAAUpuI,KACjBwB,EAAW4sI,EAAU5sI,SACrB5L,EAAQw4I,EAAUx4I,MAClBC,EAASu4I,EAAUv4I,OACnBqhD,EAASk3F,EAAUl3F,OACnBq3a,EAAcngV,EAAUmgV,YACxB9iZ,EAAS2iE,EAAU3iE,OAEvB,GAAIk0D,IAAOo1B,EAAU0iO,UAAW,CAC9B,IAAIojG,EAAe/L,GAAmB1gV,GACtC,OAAOtW,GAAcA,GAAcA,GAAc,GAAI+iW,GAAe,GAAI,CACtEpjG,SAAU,GACT05F,EAA0Cr5V,GAAcA,GAAc,CACvElsI,MAAOwiJ,GACNysV,GAAe,GAAI,CACpBpjG,SAAU,IACR1iO,IAAa,GAAI,CACnB2iO,SAAU13X,EACV4iT,UAAWhtT,EACXkle,WAAYjle,EACZkle,WAAY7jb,EACZ8jb,gBAAiBzM,EACjB0M,WAAYxvZ,EACZwiE,aAAczsI,IAIlB,GAAIxB,IAAS+0J,EAAU2iO,UAAY9hY,IAAUm/J,EAAU6tJ,WAAa/sT,IAAWk/J,EAAU+lU,YAAc5jb,IAAW69G,EAAUgmU,YAAcxM,IAAgBx5T,EAAUimU,kBAAoB3sV,YAAa5iE,EAAQspF,EAAUkmU,YAAa,CAClO,IAAIC,EAAgBpM,GAAmB1gV,GAGnC+sV,EAAoB,CAGtBzrT,OAAQ3a,EAAU2a,OAClBC,OAAQ5a,EAAU4a,OAGlBw/S,gBAAiBp6T,EAAUo6T,iBAGzBiM,EAAiBtjW,GAAcA,GAAc,GAAIw1V,GAAev4T,EAAW/0J,EAAMk3C,IAAU,GAAI,CACjGugV,SAAU1iO,EAAU0iO,SAAW,IAG7Bz8E,EAAWljL,GAAcA,GAAcA,GAAc,GAAIojW,GAAgBC,GAAoBC,GAEjG,OAAOtjW,GAAcA,GAAcA,GAAc,GAAIkjL,GAAWm2K,EAA0Cr5V,GAAc,CACtHlsI,MAAOwiJ,GACN4sK,GAAWjmJ,IAAa,GAAI,CAC7B2iO,SAAU13X,EACV4iT,UAAWhtT,EACXkle,WAAYjle,EACZkle,WAAY7jb,EACZ8jb,gBAAiBzM,EACjB0M,WAAYxvZ,EACZwiE,aAAczsI,IAIlB,IAAKusI,YAAgBvsI,EAAUuzJ,EAAU9mB,cAAe,CAEtD,IACIotV,GADiB17V,IAAO3/H,GACM+0J,EAAU0iO,SAAW1iO,EAAU0iO,SAAW,EAC5E,OAAO3/P,GAAcA,GAAc,CACjC2/P,SAAU4jG,GACTlK,EAA0Cr5V,GAAcA,GAAc,CACvElsI,MAAOwiJ,GACN2mB,GAAY,GAAI,CACjB0iO,SAAU4jG,IACRtmU,IAAa,GAAI,CACnB9mB,aAAczsI,IAIlB,OAAO,MACNgud,EAAOuH,gBAAkB,SAAU9rK,EAAQr/T,GAC5C,IAAI2rE,EAUJ,OAPEA,EADgBi5D,yBAAey6L,GACZ34J,uBAAa24J,EAAQr/T,GAC/Bg0I,IAAYqrL,GACfA,EAAOr/T,GAEMwzH,IAAMx1G,cAAc4yT,IAAK5wU,GAG1BwzH,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW,sBACXtnB,IAAKT,EAAMS,KACVkrE,IACFk4Z,K,sECnsEL,IAuCInzZ,EAvCal3E,EAAQ,IAuCdk2e,CAtCKl2e,EAAQ,MAwCxBF,EAAOC,QAAUm3E,G,gBCzCjB,IAAIi/Z,EAAWn2e,EAAQ,KACnB+mJ,EAAW/mJ,EAAQ,IAmEvBF,EAAOC,QAlBP,SAAkBs5D,EAAMwoC,EAAM15D,GAC5B,IAAIy7W,GAAU,EACVE,GAAW,EAEf,GAAmB,mBAARzqV,EACT,MAAM,IAAIhzD,UAnDQ,uBAyDpB,OAJI0gJ,EAAS5+G,KACXy7W,EAAU,YAAaz7W,IAAYA,EAAQy7W,QAAUA,EACrDE,EAAW,aAAc37W,IAAYA,EAAQ27W,SAAWA,GAEnDqyF,EAAS98a,EAAMwoC,EAAM,CAC1B,QAAW+hT,EACX,QAAW/hT,EACX,SAAYiiT,M,gBChEhB,IAAIh9P,EAAa9mJ,EAAQ,KACrB8wT,EAAe9wT,EAAQ,KA2B3BF,EAAOC,QALP,SAAmBuJ,GACjB,OAAiB,IAAVA,IAA4B,IAAVA,GACtBwnT,EAAaxnT,IArBJ,oBAqBcw9I,EAAWx9I,K,gBCzBvC,IAAIwtU,EAAc92U,EAAQ,KACtBqxB,EAAMrxB,EAAQ,KA2BlBF,EAAOC,QAJP,SAAiB0uD,EAAY+oR,GAC3B,OAAOV,EAAYzlT,EAAIo9B,EAAY+oR,GAAW,K,6BCzBhD,kKAGA,SAAS7zM,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAAS6sG,EAAe53F,EAAKp4C,GAAK,OAUlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAVtB63F,CAAgB73F,IAQzD,SAA+BA,EAAKp4C,GAAK,GAAsB,qBAAX0D,UAA4BA,OAAOC,YAAYrD,OAAO83C,IAAO,OAAQ,IAAI83F,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWjsI,OAAK4+B,EAAW,IAAM,IAAK,IAAiCstG,EAA7B3qF,EAAKtN,EAAI10C,OAAOC,cAAmBwsI,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAAtL,QAAuM,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EARjaI,CAAsBl4F,EAAKp4C,IAI5F,SAAqCyD,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJpTC,CAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAMzI,SAAS7C,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAMhL,SAASzN,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAwGzS,SAAS+rY,EAActvY,GAC5B,IAAI4ve,EAAS5ve,EAAMiQ,EACf4/d,EAAS7ve,EAAMkQ,EACfoxF,EAAUthG,EAAMshG,QAChBqtS,EAAQ3uY,EAAM2uY,MACdC,EAAQ5uY,EAAM4uY,MACd7rV,EAAQ/iD,EAAM+iD,MACdh7B,EAAY/nB,EAAM+nB,UAClB4hJ,EAAa3pK,EAAM2pK,WACnBukO,EAAaluY,EAAMkuY,WACvBzjW,iBAAoBzH,IAAf2mI,EAA0B,oFAC/B,IAOImmU,EA1Fa,SAAsBtnT,EAAQunT,EAAUC,EAAUC,EAAWjwe,GAC9E,IAAIkwe,EAAiBlwe,EAAM6Z,QACvB5J,EAAIige,EAAejge,EACnBC,EAAIgge,EAAehge,EACnBlG,EAAQkme,EAAelme,MACvBC,EAASime,EAAejme,OACxB87B,EAAW/lC,EAAM+lC,SAErB,GAAIiqc,EAAU,CACZ,IAAIG,EAASnwe,EAAMkQ,EACfm3K,EAAcrnL,EAAM4uY,MAAMvnN,YAC1BoB,EAAQD,EAAOt4K,EAAE1M,MAAM2se,EAAQ,CACjCpqc,SAAUA,IAGZ,GAAI2jI,YAAkB1pK,EAAO,aAAewoL,EAAOt4K,EAAEy4K,UAAUF,GAC7D,OAAO,KAGT,IAAIhuK,EAAS,CAAC,CACZxK,EAAGA,EAAIjG,EACPkG,EAAGu4K,GACF,CACDx4K,EAAGA,EACHC,EAAGu4K,IAEL,MAAuB,SAAhBpB,EAAyB5sK,EAAO2I,UAAY3I,EAGrD,GAAIs1d,EAAU,CACZ,IAAIK,EAASpwe,EAAMiQ,EACfoge,EAAerwe,EAAM2uY,MAAMtnN,YAE3BipT,EAAS9nT,EAAOv4K,EAAEzM,MAAM4se,EAAQ,CAClCrqc,SAAUA,IAGZ,GAAI2jI,YAAkB1pK,EAAO,aAAewoL,EAAOv4K,EAAE04K,UAAU2nT,GAC7D,OAAO,KAGT,IAAIC,EAAU,CAAC,CACbtge,EAAGqge,EACHpge,EAAGA,EAAIjG,GACN,CACDgG,EAAGqge,EACHpge,EAAGA,IAEL,MAAwB,QAAjBmge,EAAyBE,EAAQntd,UAAYmtd,EAGtD,GAAIN,EAAW,CACb,IAEIO,EAFUxwe,EAAMshG,QAEGz2E,KAAI,SAAUxkB,GACnC,OAAOmiL,EAAOhlL,MAAM6C,EAAG,CACrB0/B,SAAUA,OAId,OAAI2jI,YAAkB1pK,EAAO,YAAcywe,IAAMD,GAAU,SAAUnqe,GACnE,OAAQmiL,EAAOG,UAAUtiL,MAElB,KAGFmqe,EAGT,OAAO,KAqBSE,CAPHnoT,YAAoB,CAC/Bt4K,EAAG0+X,EAAMj7X,MACTxD,EAAG0+X,EAAMl7X,QAED62G,YAAWqlX,GACXrlX,YAAWslX,GACLvuY,GAA8B,IAAnBA,EAAQphG,OACuBF,GAE1D,IAAK8ve,EACH,OAAO,KAGT,IAAIa,EAAa1gW,EAAe6/V,EAAW,GACvCc,EAAcD,EAAW,GACzB9/d,EAAK+/d,EAAY3ge,EACjBa,EAAK8/d,EAAY1ge,EACjB2ge,EAAeF,EAAW,GAC1B5/d,EAAK8/d,EAAa5ge,EAClBe,EAAK6/d,EAAa3ge,EAIlB4ge,EAAY5kW,EAAcA,EAAc,CAC1CpmH,SAHa4jJ,YAAkB1pK,EAAO,UAAY,QAAQ4rB,OAAOsiX,EAAY,UAAOlrW,GAInF08G,YAAY1/I,GAAO,IAAQ,GAAI,CAChC6Q,GAAIA,EACJC,GAAIA,EACJC,GAAIA,EACJC,GAAIA,IAGN,OAAoBwiH,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW2mG,IAAW,0BAA2B3mG,IArIpC,SAAoBs3S,EAAQr/T,GAa3C,OAVkBwzH,IAAMoR,eAAey6L,GACjB7rM,IAAMkzC,aAAa24J,EAAQr/T,GACtCg0I,IAAYqrL,GACdA,EAAOr/T,GAEMwzH,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI7qC,EAAO,CAClE+nB,UAAW,kCA6HZgpd,CAAWhub,EAAO+tb,GAAY9sY,IAAMmiF,mBAAmBnmL,EAAOkoL,YAAe,CAC9Er3K,GAAIA,EACJC,GAAIA,EACJC,GAAIA,EACJC,GAAIA,MAGRs+X,EAAcl0W,YAAc,gBAC5Bk0W,EAActvQ,aAAe,CAC3BivQ,SAAS,EACTrlO,WAAY,UACZslO,QAAS,EACTC,QAAS,EACTp2X,KAAM,OACNC,OAAQ,OACRyqM,YAAa,EACbnzF,YAAa,EACbvqF,SAAU,W,gBC3LZ,IAAIgxY,EAAYv9a,EAAQ,KACpBs3U,EAAet3U,EAAQ,KACvBw3e,EAAWx3e,EAAQ,KACnBsK,EAAUtK,EAAQ,IAClBi3U,EAAiBj3U,EAAQ,KA8C7BF,EAAOC,QARP,SAAc0uD,EAAY2xU,EAAWC,GACnC,IAAIhnU,EAAO/uD,EAAQmkD,GAAc8uX,EAAYi6D,EAI7C,OAHIn3G,GAASppD,EAAexoR,EAAY2xU,EAAWC,KACjDD,OAAY52V,GAEP6vB,EAAK5K,EAAY6oR,EAAa8oD,EAAW,M,gBC/ClD,IAAIq3G,EAAkBz3e,EAAQ,KAC1Bk5Y,EAAal5Y,EAAQ,KACrBs3U,EAAet3U,EAAQ,KAwC3BF,EAAOC,QAVP,SAAmB2M,EAAQ8qU,GACzB,IAAI/tU,EAAS,GAMb,OALA+tU,EAAWF,EAAaE,EAAU,GAElC0hE,EAAWxsY,GAAQ,SAASpD,EAAOrC,EAAKyF,GACtC+qe,EAAgBhue,EAAQxC,EAAKuwU,EAASluU,EAAOrC,EAAKyF,OAE7CjD,I,6BCvCT,yJAEA,SAAS4nC,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAuCpM,SAASosW,EAAaxvY,GAC3B,IAAIiQ,EAAIjQ,EAAMiQ,EACVC,EAAIlQ,EAAMkQ,EACVvK,EAAI3F,EAAM2F,EACVgkK,EAAa3pK,EAAM2pK,WACnBukO,EAAaluY,EAAMkuY,WACnBgjG,EAAM3mX,YAAWt6G,GACjBkhe,EAAM5mX,YAAWr6G,GAGrB,GAFAu6B,iBAAoBzH,IAAf2mI,EAA0B,qFAE1BunU,IAAQC,EACX,OAAO,KAGT,IAAI18V,EArCc,SAAuBz0I,GACzC,IAAIiQ,EAAIjQ,EAAMiQ,EACVC,EAAIlQ,EAAMkQ,EACVy+X,EAAQ3uY,EAAM2uY,MACdC,EAAQ5uY,EAAM4uY,MACdpmN,EAASD,YAAoB,CAC/Bt4K,EAAG0+X,EAAMj7X,MACTxD,EAAG0+X,EAAMl7X,QAEPzQ,EAASulL,EAAOhlL,MAAM,CACxByM,EAAGA,EACHC,EAAGA,GACF,CACDk4K,WAAW,IAGb,OAAI1e,YAAkB1pK,EAAO,aAAewoL,EAAOG,UAAU1lL,GACpD,KAGFA,EAiBUmue,CAAcpxe,GAE/B,IAAKy0I,EACH,OAAO,KAGT,IAAInhI,EAAKmhI,EAAWxkI,EAChBsD,EAAKkhI,EAAWvkI,EAChB6yC,EAAQ/iD,EAAM+iD,MACdh7B,EAAY/nB,EAAM+nB,UAGlBmjd,EAAWh/V,EAAcA,EAAc,CACzCpmH,SAHa4jJ,YAAkB1pK,EAAO,UAAY,QAAQ4rB,OAAOsiX,EAAY,UAAOlrW,GAInF08G,YAAY1/I,GAAO,IAAQ,GAAI,CAChCsT,GAAIA,EACJC,GAAIA,IAGN,OAAoBigH,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW2mG,IAAW,yBAA0B3mG,IAC/CynX,EAAa6hG,UAAUtub,EAAOmob,GAAWlnY,IAAMmiF,mBAAmBnmL,EAAO,CAC1EiQ,EAAGqD,EAAK3N,EACRuK,EAAGqD,EAAK5N,EACRqE,MAAO,EAAIrE,EACXsE,OAAQ,EAAItE,KAGhB6pY,EAAap0W,YAAc,eAC3Bo0W,EAAaxvQ,aAAe,CAC1BivQ,SAAS,EACTrlO,WAAY,UACZslO,QAAS,EACTC,QAAS,EACTxpY,EAAG,GACHoT,KAAM,OACNC,OAAQ,OACRyqM,YAAa,EACbnzF,YAAa,GAGfk/Q,EAAa6hG,UAAY,SAAUhyK,EAAQr/T,GAezC,OAZkBwzH,IAAMoR,eAAey6L,GAClB7rM,IAAMkzC,aAAa24J,EAAQr/T,GACrCg0I,IAAYqrL,GACfA,EAAOr/T,GAEMwzH,IAAMx1G,cAAc4yT,IAAK/lS,EAAS,GAAI7qC,EAAO,CAC9DsT,GAAItT,EAAMsT,GACVC,GAAIvT,EAAMuT,GACVwU,UAAW,kC,0CCjHjB,IAAM,EAAyC,oBAAZ,QAE3B,EAAS,OAAL,K,SAgBI,EAAmB,EAAQ,GACzC,OAAO,IAAM,GAAM,IAAM,GAAK,IAAM,E,SAStB,EAAc,GAC5B,OAAO,EAAM,cAAgB,QAA+B,MAArB,EAAM,Y,SAS/B,EAAc,GAC5B,QAAS,GAA+B,oBAAf,EAAM,K,SASjB,EAAe,GAC7B,SAAU,IAAS,EAAM,U,SASX,IACd,IAAM,EAAgB,GAEtB,MAAO,CACL,aAAI,GACF,EAAO,KAAK,IAGd,aAAI,GACF,OAAkC,IAA3B,EAAO,QAAQ,KAUrB,IAAM,EAQV,EANQ,WACL,OAAO,IAAI,SAIR,E,SASO,EAA2B,GACzC,OAAO,SAA6B,GAClC,IAAM,EAAc,GAAW,EAE/B,OAAO,SACL,EACA,EACA,kBAAe,KAEf,IAAM,IAAiB,GAAkB,kBAAN,EAC7B,IAAiB,GAAkB,kBAAN,EAEnC,GAAI,GAAgB,EAAc,CAChC,IAAM,EAAO,GAAgB,EAAM,IAAI,GACjC,EAAO,GAAgB,EAAM,IAAI,GAEvC,GAAI,GAAQ,EACV,OAAO,GAAQ,EAGb,GACF,EAAM,IAAI,GAGR,GACF,EAAM,IAAI,GAId,OAAO,EAAY,EAAG,EAAG,KAsF/B,IAEM,EAAiB,SAAS,UAAU,KAAK,KAC7C,SAAS,UAAU,KACnB,OAAO,UAAU,gB,SAYH,EACd,EACA,EACA,EACA,GAEA,IAAM,EAAQ,EAAK,GAEf,EAAQ,EAAM,OAElB,GAAI,EAAK,GAAG,SAAW,EACrB,OAAO,EAGT,GAAI,EAGF,IAFA,IAAI,OAAG,EAEA,KAAU,GAAG,CAGlB,GApCQ,YAkCR,EAAM,EAAM,IAEO,CACjB,IAAM,EAAgB,EAAe,GAC/B,EAAgB,EAAe,GAErC,IACG,GAAiB,IAClB,IAAkB,EAElB,OAAO,EAIX,IAAK,EAAe,EAAG,KAAS,EAAQ,EAAE,GAAM,EAAE,GAAM,GACtD,OAAO,EAKb,OAAO,EC1PT,IAAMupd,EAAiC,oBAAR5yU,IACzB6yU,EAAiC,oBAAR5vU,I,SAIf6vU,EAAiBC,GAC/B,IAAMh5D,EAEqB,oBAAlBg5D,EACHA,EAAcp5D,GACdA,EAWN,SAASA,EAAWtoa,EAAQzC,EAAQgqK,GAClC,GAAIvnK,IAAMzC,EACR,OAAO,EAGT,GAAIyC,GAAKzC,GAAkB,kBAANyC,GAA+B,kBAANzC,EAAgB,CAC5D,GAAIslD,EAAc7iD,IAAM6iD,EAActlD,GACpC,OAAOoke,EAAgB3he,EAAGzC,EAAGmra,EAASnhQ,GAGxC,IAAIq6T,EAAS9te,MAAMC,QAAQiM,GACvB6he,EAAS/te,MAAMC,QAAQwJ,GAE3B,OAAIqke,GAAUC,EACLD,IAAWC,G,SD0FxB,EACA,EACA,EACA,GAEA,IAAI,EAAQ,EAAE,OAEd,GAAI,EAAE,SAAW,EACf,OAAO,EAGT,KAAO,KAAU,GACf,IAAK,EAAQ,EAAE,GAAQ,EAAE,GAAQ,GAC/B,OAAO,EAIX,OAAO,EC3G2BC,CAAe9he,EAAGzC,EAAGmra,EAASnhQ,IAG5Dq6T,EAAS5he,aAAa4qB,KACtBi3c,EAAStke,aAAaqtB,KAElBg3c,GAAUC,EAEVD,IAAWC,GAAUE,EAAmB/he,EAAEi0H,UAAW12H,EAAE02H,YAI3D2tW,EAAS5he,aAAaiuB,OACtB4zc,EAAStke,aAAa0wB,OAElB2zc,GAAUC,EACLD,IAAWC,G,SDiNM,EAAW,GACzC,OACE,EAAE,SAAW,EAAE,QACf,EAAE,SAAW,EAAE,QACf,EAAE,aAAe,EAAE,YACnB,EAAE,YAAc,EAAE,WAClB,EAAE,UAAY,EAAE,SAChB,EAAE,SAAW,EAAE,QACf,EAAE,YAAc,EAAE,UCzNcG,CAAgBhie,EAAGzC,GAG7C0ke,EAAcjie,IAAMiie,EAAc1ke,GAC7ByC,IAAMzC,EAGXgke,IACFK,EAAS5he,aAAa2uJ,IACtBkzU,EAAStke,aAAaoxJ,IAElBizU,GAAUC,GACLD,IAAWC,G,SD4F1B,EACA,EACA,EACA,GAEA,IAAI,EAAe,EAAE,OAAS,EAAE,KAEhC,GAAI,GAAgB,EAAE,KAAM,CAC1B,IAAM,EAAuC,GAE7C,EAAE,SAAQ,SAAC,EAAQ,GACjB,GAAI,EAAc,CAChB,IAAI,GAAW,EACX,EAAa,EAEjB,EAAE,SAAQ,SAAC,EAAQ,GACZ,GAAa,EAAe,KAC/B,EACE,EAAQ,EAAM,EAAM,IAAS,EAAQ,EAAQ,EAAQ,MAGrD,EAAe,IAAc,GAIjC,OAGF,EAAe,MAKrB,OAAO,EC7H6BK,CAAalie,EAAGzC,EAAGmra,EAASnhQ,GAIxDi6T,IACFI,EAAS5he,aAAa4xJ,IACtBiwU,EAAStke,aAAaq0J,IAElBgwU,GAAUC,GACLD,IAAWC,G,SDkN1B,EACA,EACA,EACA,GAEA,IAAI,EAAe,EAAE,OAAS,EAAE,KAEhC,GAAI,GAAgB,EAAE,KAAM,CAC1B,IAAM,EAAuC,GAE7C,EAAE,SAAQ,SAAC,GACT,GAAI,EAAc,CAChB,IAAI,GAAW,EACX,EAAa,EAEjB,EAAE,SAAQ,SAAC,GACJ,GAAa,EAAe,KAC/B,EAAW,EAAQ,EAAQ,EAAQ,MAGjC,EAAe,IAAc,GAIjC,OAGF,EAAe,MAKrB,OAAO,EClP6BM,CAAanie,EAAGzC,EAAGmra,EAASnhQ,GAIrDo6T,EAAgB3he,EAAGzC,EAAGmra,EAASnhQ,KAGxC,OAAOvnK,IAAMA,GAAKzC,IAAMA,EAG1B,OAAO+qa,E,ICzFItpH,EAAYyiL,IACZ/uV,EAAe+uV,GAAiB,WAAM,OAAAM,KAEtCK,EAAoBX,EAAiBY,KACrCC,EAAuBb,EAClCY,EAA2BN,I,8MCV7B,gGAAS56Z,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS7D,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GASjM,IAAIgsG,EAAqB,SAAU8+M,IArB1C,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAsBjXF,CAAUitG,EAAO8+M,GAEjB,IA1BoB5uT,EAAae,EAAYC,EA0BzCypD,EAAStnD,EAAa2sG,GAE1B,SAASA,IAGP,OAFAhwG,EAAgB0D,KAAMssG,GAEfrlD,EAAO7mD,MAAMJ,KAAMG,WA+B5B,OA9DoB3D,EAkCP8vG,EAlCgC9uG,EAuDzC,CAAC,CACHH,IAAK,UACLqC,MAAO,SAAiBmN,EAAGC,EAAGlG,EAAOC,EAAQkwC,EAAKF,GAChD,MAAO,IAAIruB,OAAO3b,EAAG,KAAK2b,OAAOuuB,EAAK,KAAKvuB,OAAO3hB,EAAQ,KAAK2hB,OAAOquB,EAAM,KAAKruB,OAAO1b,EAAG,KAAK0b,OAAO5hB,OA1D1ErJ,EAkCb,CAAC,CACnBF,IAAK,SACLqC,MAAO,WACL,IAAI41J,EAAct1J,KAAKpD,MACnBiQ,EAAIyoJ,EAAYzoJ,EAChBC,EAAIwoJ,EAAYxoJ,EAChBlG,EAAQ0uJ,EAAY1uJ,MACpBC,EAASyuJ,EAAYzuJ,OACrBkwC,EAAMu+G,EAAYv+G,IAClBF,EAAOy+G,EAAYz+G,KACnBlyB,EAAY2wI,EAAY3wI,UAE5B,OAAKqiG,YAASn6G,IAAOm6G,YAASl6G,IAAOk6G,YAASpgH,IAAWogH,YAASngH,IAAYmgH,YAASjwE,IAASiwE,YAASnwE,GAIrFu5E,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI60G,YAAYt8I,KAAKpD,OAAO,GAAO,CAC1F+nB,UAAW2mG,IAAW,iBAAkB3mG,GACxCxiB,EAAGmqG,EAAM3L,QAAQ9zF,EAAGC,EAAGlG,EAAOC,EAAQkwC,EAAKF,MALpC,UA/C+Dn6C,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA8D3K8uG,EAvCuB,CAwC9BmhN,iBACFnhN,EAAMswB,aAAe,CACnB/vH,EAAG,EACHC,EAAG,EACHiqC,IAAK,EACLF,KAAM,EACNjwC,MAAO,EACPC,OAAQ,I,6BC9EV,wGAASitE,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS7D,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAWxM,IAMI4ue,EAAmB,SAA0BpiX,GAC/C,IAAI58G,EAAK48G,EAAK58G,GACVC,EAAK28G,EAAK38G,GACVkrB,EAASyxF,EAAKzxF,OACdprB,EAAQ68G,EAAK78G,MACbgoI,EAAOnrB,EAAKmrB,KACZk3V,EAAariX,EAAKqiX,WAClBC,EAAetiX,EAAKsiX,aACpBC,EAAmBviX,EAAKuiX,iBACxBC,EAAeF,GAAgBD,EAAa,GAAK,GAAK9zc,EACtDguE,EAAQliG,KAAKujD,KAAK0kb,EAAeE,GAAgBpjV,IACjDqjV,EAAcF,EAAmBp/d,EAAQA,EAAQgoI,EAAO5uC,EAKxDmmY,EAAoBH,EAAmBp/d,EAAQgoI,EAAO5uC,EAAQp5F,EAElE,MAAO,CACLo+D,OAPWg+E,YAAiBn8I,EAAIC,EAAIm/d,EAAcC,GAQlDE,eANmBpjV,YAAiBn8I,EAAIC,EAAIkrB,EAAQk0c,GAOpDG,aAJiBrjV,YAAiBn8I,EAAIC,EAAIm/d,EAAenoe,KAAKiJ,IAAIi5F,EAAQ6iD,KAASsjV,GAKnFnmY,MAAOA,IAIPsmY,EAAgB,SAAuB5oW,GACzC,IAAI72H,EAAK62H,EAAM72H,GACXC,EAAK42H,EAAM52H,GACX48I,EAAchmB,EAAMgmB,YACpBC,EAAcjmB,EAAMimB,YACpBntD,EAAaknC,EAAMlnC,WAEnB5vF,EAvCc,SAAuB4vF,EAAYC,GAGrD,OAFW+mB,YAAS/mB,EAAWD,GACd14F,KAAK6K,IAAI7K,KAAKwjD,IAAIm1C,EAAWD,GAAa,SAqC/CohF,CAAcphF,EADXknC,EAAMjnC,UAGjB8vY,EAAe/vY,EAAa5vF,EAC5B4/d,EAAkBxjV,YAAiBn8I,EAAIC,EAAI68I,EAAantD,GACxDiwY,EAAgBzjV,YAAiBn8I,EAAIC,EAAI68I,EAAa4iV,GACtDrie,EAAO,KAAKib,OAAOqnd,EAAgBhje,EAAG,KAAK2b,OAAOqnd,EAAgB/ie,EAAG,YAAY0b,OAAOwkI,EAAa,KAAKxkI,OAAOwkI,EAAa,aAAaxkI,SAASrhB,KAAKwjD,IAAI16C,GAAS,KAAM,KAAKuY,SAASq3E,EAAa+vY,GAAe,WAAWpnd,OAAOsnd,EAAcjje,EAAG,KAAK2b,OAAOsnd,EAAchje,EAAG,QAE1R,GAAIigJ,EAAc,EAAG,CACnB,IAAIgjV,EAAkB1jV,YAAiBn8I,EAAIC,EAAI48I,EAAaltD,GACxDmwY,EAAgB3jV,YAAiBn8I,EAAIC,EAAI48I,EAAa6iV,GAC1Drie,GAAQ,KAAKib,OAAOwnd,EAAcnje,EAAG,KAAK2b,OAAOwnd,EAAclje,EAAG,oBAAoB0b,OAAOukI,EAAa,KAAKvkI,OAAOukI,EAAa,qBAAqBvkI,SAASrhB,KAAKwjD,IAAI16C,GAAS,KAAM,KAAKuY,SAASq3E,GAAc+vY,GAAe,mBAAmBpnd,OAAOund,EAAgBlje,EAAG,KAAK2b,OAAOund,EAAgBjje,EAAG,WAEhTS,GAAQ,KAAKib,OAAOtY,EAAI,KAAKsY,OAAOrY,EAAI,MAG1C,OAAO5C,GAuGEu4d,EAAsB,SAAU16K,IApL3C,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAqLjXF,CAAUyme,EAAQ16K,GAElB,IAzLoB5uT,EAAae,EAAYC,EAyLzCypD,EAAStnD,EAAamme,GAE1B,SAASA,IAGP,OAFAxpe,EAAgB0D,KAAM8le,GAEf7+a,EAAO7mD,MAAMJ,KAAMG,WA0D5B,OAxPoB3D,EAiMPspe,GAjMoBvoe,EAiMZ,CAAC,CACpBF,IAAK,SACLqC,MAAO,WACL,IAAI41J,EAAct1J,KAAKpD,MACnBsT,EAAKolJ,EAAYplJ,GACjBC,EAAKmlJ,EAAYnlJ,GACjB48I,EAAcuI,EAAYvI,YAC1BC,EAAcsI,EAAYtI,YAC1BoiV,EAAe95U,EAAY85U,aAC3Ba,EAAoB36U,EAAY26U,kBAChCZ,EAAmB/5U,EAAY+5U,iBAC/BxvY,EAAay1D,EAAYz1D,WACzBC,EAAWw1D,EAAYx1D,SACvBn7E,EAAY2wI,EAAY3wI,UAE5B,GAAIqoI,EAAcD,GAAeltD,IAAeC,EAC9C,OAAO,KAGT,IAGIvyF,EAHA6lJ,EAAa9nC,IAAW,kBAAmB3mG,GAC3Curd,EAAcljV,EAAcD,EAC5B06C,EAAKpgF,YAAgB+nX,EAAcc,EAAa,GAAG,GA0BvD,OAtBE3ie,EADEk6L,EAAK,GAAKtgM,KAAKwjD,IAAIk1C,EAAaC,GAAY,IAvI5B,SAA6BqvC,GACrD,IAAIj/H,EAAKi/H,EAAMj/H,GACXC,EAAKg/H,EAAMh/H,GACX48I,EAAc5d,EAAM4d,YACpBC,EAAc7d,EAAM6d,YACpBoiV,EAAejgW,EAAMigW,aACrBa,EAAoB9gW,EAAM8gW,kBAC1BZ,EAAmBlgW,EAAMkgW,iBACzBxvY,EAAasvC,EAAMtvC,WACnBC,EAAWqvC,EAAMrvC,SACjBm4C,EAAOpxB,YAAS/mB,EAAWD,GAE3BswY,EAAoBjB,EAAiB,CACvCh/d,GAAIA,EACJC,GAAIA,EACJkrB,OAAQ2xH,EACR/8I,MAAO4vF,EACPo4C,KAAMA,EACNm3V,aAAcA,EACdC,iBAAkBA,IAEhBe,EAAOD,EAAkBV,eACzBY,EAAOF,EAAkBT,aACzBY,EAAMH,EAAkB9mY,MAExBknY,EAAqBrB,EAAiB,CACxCh/d,GAAIA,EACJC,GAAIA,EACJkrB,OAAQ2xH,EACR/8I,MAAO6vF,EACPm4C,MAAOA,EACPm3V,aAAcA,EACdC,iBAAkBA,IAEhBmB,EAAOD,EAAmBd,eAC1BgB,EAAOF,EAAmBb,aAC1BgB,EAAMH,EAAmBlnY,MAEzBsnY,EAAgBtB,EAAmBloe,KAAKwjD,IAAIk1C,EAAaC,GAAY34F,KAAKwjD,IAAIk1C,EAAaC,GAAYwwY,EAAMI,EAEjH,GAAIC,EAAgB,EAClB,OAAIV,EACK,KAAKznd,OAAO6nd,EAAKxje,EAAG,KAAK2b,OAAO6nd,EAAKvje,EAAG,eAAe0b,OAAO4md,EAAc,KAAK5md,OAAO4md,EAAc,WAAW5md,OAAsB,EAAf4md,EAAkB,iBAAiB5md,OAAO4md,EAAc,KAAK5md,OAAO4md,EAAc,WAAW5md,OAAuB,GAAf4md,EAAkB,cAGjPO,EAAc,CACnBz/d,GAAIA,EACJC,GAAIA,EACJ48I,YAAaA,EACbC,YAAaA,EACbntD,WAAYA,EACZC,SAAUA,IAId,IAAIvyF,EAAO,KAAKib,OAAO6nd,EAAKxje,EAAG,KAAK2b,OAAO6nd,EAAKvje,EAAG,WAAW0b,OAAO4md,EAAc,KAAK5md,OAAO4md,EAAc,SAAS5md,SAASyvH,EAAO,GAAI,KAAKzvH,OAAO4nd,EAAKvje,EAAG,KAAK2b,OAAO4nd,EAAKtje,EAAG,WAAW0b,OAAOwkI,EAAa,KAAKxkI,OAAOwkI,EAAa,OAAOxkI,SAASmod,EAAgB,KAAM,KAAKnod,SAASyvH,EAAO,GAAI,KAAKzvH,OAAOgod,EAAK3je,EAAG,KAAK2b,OAAOgod,EAAK1je,EAAG,WAAW0b,OAAO4md,EAAc,KAAK5md,OAAO4md,EAAc,SAAS5md,SAASyvH,EAAO,GAAI,KAAKzvH,OAAOiod,EAAK5je,EAAG,KAAK2b,OAAOiod,EAAK3je,EAAG,QAEhd,GAAIigJ,EAAc,EAAG,CACnB,IAAI6jV,EAAqB1B,EAAiB,CACxCh/d,GAAIA,EACJC,GAAIA,EACJkrB,OAAQ0xH,EACR98I,MAAO4vF,EACPo4C,KAAMA,EACNk3V,YAAY,EACZC,aAAcA,EACdC,iBAAkBA,IAEhBwB,EAAOD,EAAmBnB,eAC1BqB,EAAOF,EAAmBlB,aAC1BqB,EAAMH,EAAmBvnY,MAEzB2nY,EAAqB9B,EAAiB,CACxCh/d,GAAIA,EACJC,GAAIA,EACJkrB,OAAQ0xH,EACR98I,MAAO6vF,EACPm4C,MAAOA,EACPk3V,YAAY,EACZC,aAAcA,EACdC,iBAAkBA,IAEhB4B,EAAOD,EAAmBvB,eAC1ByB,EAAOF,EAAmBtB,aAC1ByB,EAAMH,EAAmB3nY,MAEzB+nY,EAAgB/B,EAAmBloe,KAAKwjD,IAAIk1C,EAAaC,GAAY34F,KAAKwjD,IAAIk1C,EAAaC,GAAYixY,EAAMI,EAEjH,GAAIC,EAAgB,GAAsB,IAAjBhC,EACvB,MAAO,GAAG5md,OAAOjb,EAAM,KAAKib,OAAOtY,EAAI,KAAKsY,OAAOrY,EAAI,KAGzD5C,GAAQ,IAAIib,OAAO0od,EAAKrke,EAAG,KAAK2b,OAAO0od,EAAKpke,EAAG,aAAa0b,OAAO4md,EAAc,KAAK5md,OAAO4md,EAAc,SAAS5md,SAASyvH,EAAO,GAAI,KAAKzvH,OAAOyod,EAAKpke,EAAG,KAAK2b,OAAOyod,EAAKnke,EAAG,aAAa0b,OAAOukI,EAAa,KAAKvkI,OAAOukI,EAAa,OAAOvkI,SAAS4od,EAAgB,KAAM,KAAK5od,SAASyvH,EAAO,GAAI,KAAKzvH,OAAOqod,EAAKhke,EAAG,KAAK2b,OAAOqod,EAAK/je,EAAG,aAAa0b,OAAO4md,EAAc,KAAK5md,OAAO4md,EAAc,SAAS5md,SAASyvH,EAAO,GAAI,KAAKzvH,OAAOsod,EAAKjke,EAAG,KAAK2b,OAAOsod,EAAKhke,EAAG,UAEldS,GAAQ,IAAIib,OAAOtY,EAAI,KAAKsY,OAAOrY,EAAI,KAGzC,OAAO5C,EAuCM8je,CAAoB,CACzBnhe,GAAIA,EACJC,GAAIA,EACJ48I,YAAaA,EACbC,YAAaA,EACboiV,aAAcjoe,KAAK6K,IAAIy1L,EAAIyoS,EAAc,GACzCD,kBAAmBA,EACnBZ,iBAAkBA,EAClBxvY,WAAYA,EACZC,SAAUA,IAGL6vY,EAAc,CACnBz/d,GAAIA,EACJC,GAAIA,EACJ48I,YAAaA,EACbC,YAAaA,EACbntD,WAAYA,EACZC,SAAUA,IAIMswB,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI60G,YAAYt8I,KAAKpD,OAAO,GAAO,CAC1F+nB,UAAWyuI,EACXjxJ,EAAGoL,EACHmyK,KAAM,cAnPgEhjL,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAwP3Ksoe,EAlEwB,CAmE/Br4K,iBACFq4K,EAAOlpW,aAAe,CACpB1sH,GAAI,EACJC,GAAI,EACJ48I,YAAa,EACbC,YAAa,EACbntD,WAAY,EACZC,SAAU,EACVsvY,aAAc,EACda,mBAAmB,EACnBZ,kBAAkB,I,6BCzQpB,IAAIrqZ,EAAM7nF,OAAOM,UAAUuF,eACvB2iC,EAAS,IASb,SAAS2rc,KA4BT,SAASviE,EAAGzxY,EAAIg4B,EAASoqF,GACvB1/I,KAAKs9B,GAAKA,EACVt9B,KAAKs1D,QAAUA,EACft1D,KAAK0/I,KAAOA,IAAQ,EActB,SAASwe,EAAY7mG,EAAS/xC,EAAOgY,EAAIg4B,EAASoqF,GAChD,GAAkB,oBAAPpiH,EACT,MAAM,IAAI7gC,UAAU,mCAGtB,IAAIkoE,EAAW,IAAIoqW,EAAGzxY,EAAIg4B,GAAW+B,EAASqoF,GAC1C+uP,EAAM9oW,EAASA,EAASrgB,EAAQA,EAMpC,OAJK+xC,EAAQqwZ,QAAQj5E,GACXp3U,EAAQqwZ,QAAQj5E,GAAKnxW,GAC1B+5B,EAAQqwZ,QAAQj5E,GAAO,CAACp3U,EAAQqwZ,QAAQj5E,GAAM9pU,GADhBtN,EAAQqwZ,QAAQj5E,GAAK3nY,KAAK69D,IADlCtN,EAAQqwZ,QAAQj5E,GAAO9pU,EAAUtN,EAAQk6a,gBAI7Dl6a,EAUT,SAASm6a,EAAWn6a,EAASo3U,GACI,MAAzBp3U,EAAQk6a,aAAoBl6a,EAAQqwZ,QAAU,IAAI4pB,SAC5Cj6a,EAAQqwZ,QAAQj5E,GAU9B,SAAS3rO,IACP9iK,KAAK0nd,QAAU,IAAI4pB,EACnBtxe,KAAKuxe,aAAe,EAxElBp0e,OAAOqC,SACT8xe,EAAO7ze,UAAYN,OAAOqC,OAAO,OAM5B,IAAI8xe,GAAS1pc,YAAWjC,GAAS,IA2ExCm9H,EAAarlK,UAAUg0e,WAAa,WAClC,IACIhrd,EACArkB,EAFA2rO,EAAQ,GAIZ,GAA0B,IAAtB/tO,KAAKuxe,aAAoB,OAAOxjQ,EAEpC,IAAK3rO,KAASqkB,EAASzmB,KAAK0nd,QACtB1iY,EAAIhjF,KAAKykB,EAAQrkB,IAAO2rO,EAAMjnO,KAAK6+B,EAASvjC,EAAK4vC,MAAM,GAAK5vC,GAGlE,OAAIjF,OAAOq6B,sBACFu2M,EAAMvlN,OAAOrrB,OAAOq6B,sBAAsB/Q,IAG5CsnN,GAUTjrE,EAAarlK,UAAU0hK,UAAY,SAAmB75I,GACpD,IAAImpX,EAAM9oW,EAASA,EAASrgB,EAAQA,EAChC04T,EAAWh+U,KAAK0nd,QAAQj5E,GAE5B,IAAKzwD,EAAU,MAAO,GACtB,GAAIA,EAAS1gT,GAAI,MAAO,CAAC0gT,EAAS1gT,IAElC,IAAK,IAAIzgC,EAAI,EAAGkF,EAAIi8U,EAASlhV,OAAQggM,EAAK,IAAIr8L,MAAMsB,GAAIlF,EAAIkF,EAAGlF,IAC7DigM,EAAGjgM,GAAKmhV,EAASnhV,GAAGygC,GAGtB,OAAOw/J,GAUTh6B,EAAarlK,UAAU+sK,cAAgB,SAAuBllJ,GAC5D,IAAImpX,EAAM9oW,EAASA,EAASrgB,EAAQA,EAChC65I,EAAYn/J,KAAK0nd,QAAQj5E,GAE7B,OAAKtvO,EACDA,EAAU7hI,GAAW,EAClB6hI,EAAUriK,OAFM,GAYzBgmK,EAAarlK,UAAU+4T,KAAO,SAAclxS,EAAOpL,EAAI6lF,EAAIoyF,EAAIC,EAAIC,GACjE,IAAIo8M,EAAM9oW,EAASA,EAASrgB,EAAQA,EAEpC,IAAKtlB,KAAK0nd,QAAQj5E,GAAM,OAAO,EAE/B,IAEI/qV,EACA7mD,EAHAsiK,EAAYn/J,KAAK0nd,QAAQj5E,GACzBzpW,EAAM7kC,UAAUrD,OAIpB,GAAIqiK,EAAU7hI,GAAI,CAGhB,OAFI6hI,EAAUzf,MAAM1/I,KAAKm+J,eAAe74I,EAAO65I,EAAU7hI,QAAIsC,GAAW,GAEhEoF,GACN,KAAK,EAAG,OAAOm6H,EAAU7hI,GAAGt7B,KAAKm9J,EAAU7pG,UAAU,EACrD,KAAK,EAAG,OAAO6pG,EAAU7hI,GAAGt7B,KAAKm9J,EAAU7pG,QAASp7C,IAAK,EACzD,KAAK,EAAG,OAAOilJ,EAAU7hI,GAAGt7B,KAAKm9J,EAAU7pG,QAASp7C,EAAI6lF,IAAK,EAC7D,KAAK,EAAG,OAAOo/D,EAAU7hI,GAAGt7B,KAAKm9J,EAAU7pG,QAASp7C,EAAI6lF,EAAIoyF,IAAK,EACjE,KAAK,EAAG,OAAOhzB,EAAU7hI,GAAGt7B,KAAKm9J,EAAU7pG,QAASp7C,EAAI6lF,EAAIoyF,EAAIC,IAAK,EACrE,KAAK,EAAG,OAAOjzB,EAAU7hI,GAAGt7B,KAAKm9J,EAAU7pG,QAASp7C,EAAI6lF,EAAIoyF,EAAIC,EAAIC,IAAK,EAG3E,IAAKx1L,EAAI,EAAG6mD,EAAO,IAAIjjD,MAAMukC,EAAK,GAAInoC,EAAImoC,EAAKnoC,IAC7C6mD,EAAK7mD,EAAI,GAAKsD,UAAUtD,GAG1BsiK,EAAU7hI,GAAGl9B,MAAM++J,EAAU7pG,QAAS5R,OACjC,CACL,IACItqC,EADAtc,EAASqiK,EAAUriK,OAGvB,IAAKD,EAAI,EAAGA,EAAIC,EAAQD,IAGtB,OAFIsiK,EAAUtiK,GAAG6iJ,MAAM1/I,KAAKm+J,eAAe74I,EAAO65I,EAAUtiK,GAAGygC,QAAIsC,GAAW,GAEtEoF,GACN,KAAK,EAAGm6H,EAAUtiK,GAAGygC,GAAGt7B,KAAKm9J,EAAUtiK,GAAGy4D,SAAU,MACpD,KAAK,EAAG6pG,EAAUtiK,GAAGygC,GAAGt7B,KAAKm9J,EAAUtiK,GAAGy4D,QAASp7C,GAAK,MACxD,KAAK,EAAGilJ,EAAUtiK,GAAGygC,GAAGt7B,KAAKm9J,EAAUtiK,GAAGy4D,QAASp7C,EAAI6lF,GAAK,MAC5D,KAAK,EAAGo/D,EAAUtiK,GAAGygC,GAAGt7B,KAAKm9J,EAAUtiK,GAAGy4D,QAASp7C,EAAI6lF,EAAIoyF,GAAK,MAChE,QACE,IAAKzuI,EAAM,IAAKtqC,EAAI,EAAGsqC,EAAO,IAAIjjD,MAAMukC,EAAK,GAAI5rB,EAAI4rB,EAAK5rB,IACxDsqC,EAAKtqC,EAAI,GAAKjZ,UAAUiZ,GAG1B+lJ,EAAUtiK,GAAGygC,GAAGl9B,MAAM++J,EAAUtiK,GAAGy4D,QAAS5R,IAKpD,OAAO,GAYTo/G,EAAarlK,UAAUy9C,GAAK,SAAY51B,EAAOgY,EAAIg4B,GACjD,OAAO4oG,EAAYl+J,KAAMslB,EAAOgY,EAAIg4B,GAAS,IAY/CwtG,EAAarlK,UAAUiiJ,KAAO,SAAcp6H,EAAOgY,EAAIg4B,GACrD,OAAO4oG,EAAYl+J,KAAMslB,EAAOgY,EAAIg4B,GAAS,IAa/CwtG,EAAarlK,UAAU0gK,eAAiB,SAAwB74I,EAAOgY,EAAIg4B,EAASoqF,GAClF,IAAI+uP,EAAM9oW,EAASA,EAASrgB,EAAQA,EAEpC,IAAKtlB,KAAK0nd,QAAQj5E,GAAM,OAAOzuY,KAC/B,IAAKs9B,EAEH,OADAk0c,EAAWxxe,KAAMyuY,GACVzuY,KAGT,IAAIm/J,EAAYn/J,KAAK0nd,QAAQj5E,GAE7B,GAAItvO,EAAU7hI,GAEV6hI,EAAU7hI,KAAOA,GACfoiH,IAAQyf,EAAUzf,MAClBpqF,GAAW6pG,EAAU7pG,UAAYA,GAEnCk8a,EAAWxxe,KAAMyuY,OAEd,CACL,IAAK,IAAI5xY,EAAI,EAAG4pB,EAAS,GAAI3pB,EAASqiK,EAAUriK,OAAQD,EAAIC,EAAQD,KAEhEsiK,EAAUtiK,GAAGygC,KAAOA,GACnBoiH,IAASyf,EAAUtiK,GAAG6iJ,MACtBpqF,GAAW6pG,EAAUtiK,GAAGy4D,UAAYA,IAErC7uC,EAAO3f,KAAKq4J,EAAUtiK,IAOtB4pB,EAAO3pB,OAAQkD,KAAK0nd,QAAQj5E,GAAyB,IAAlBhoX,EAAO3pB,OAAe2pB,EAAO,GAAKA,EACpE+qd,EAAWxxe,KAAMyuY,GAGxB,OAAOzuY,MAUT8iK,EAAarlK,UAAUs8V,mBAAqB,SAA4Bz0U,GACtE,IAAImpX,EAUJ,OARInpX,GACFmpX,EAAM9oW,EAASA,EAASrgB,EAAQA,EAC5BtlB,KAAK0nd,QAAQj5E,IAAM+iG,EAAWxxe,KAAMyuY,KAExCzuY,KAAK0nd,QAAU,IAAI4pB,EACnBtxe,KAAKuxe,aAAe,GAGfvxe,MAMT8iK,EAAarlK,UAAUmmD,IAAMk/G,EAAarlK,UAAU0gK,eACpD2E,EAAarlK,UAAUygK,YAAc4E,EAAarlK,UAAUy9C,GAK5D4nH,EAAa4uU,SAAW/rc,EAKxBm9H,EAAaA,aAAeA,EAM1B5sK,EAAOC,QAAU2sK,G,cC3TnB5sK,EAAOC,QALP,SAAc4sD,GACZ,IAAIjmD,EAAkB,MAATimD,EAAgB,EAAIA,EAAMjmD,OACvC,OAAOA,EAASimD,EAAMjmD,EAAS,QAAK8iC,I,6BChBtC,kCAKO,IAAImrc,EAAQ,WACjB,OAAO,MAETA,EAAM/yc,YAAc,QACpB+yc,EAAMnuW,aAAe,CACnB8Q,eAAe,EACf97E,MAAM,EACNqyH,YAAa,SACbr9K,MAAO,EACPC,OAAQ,GACRs9K,QAAQ,EACR2nN,QAAS,EACTz9P,UAAW,EACXp9H,KAAM,WACNggI,OAAQ,CAAC,EAAG,QACZzkE,QAAS,CACP31B,KAAM,EACNgsC,MAAO,GAETw4D,mBAAmB,EACnB/qI,MAAO,OACP8zK,UAAU,EACV3pC,yBAAyB,I,6BC3B3B,kCAGO,IAAIuwV,EAAQ,WACjB,OAAO,MAETA,EAAMhzc,YAAc,QACpBgzc,EAAMpuW,aAAe,CACnB6d,yBAAyB,EACzB/M,eAAe,EACf97E,MAAM,EACNqyH,YAAa,OACbr9K,MAAO,GACPC,OAAQ,EACRs9K,QAAQ,EACR4nN,QAAS,EACT19P,UAAW,EACXp9H,KAAM,SACNggI,OAAQ,CAAC,EAAG,QACZzkE,QAAS,CACPz1B,IAAK,EACL6rC,OAAQ,GAEVy4D,mBAAmB,EACnB/qI,MAAO,OACP8zK,UAAU,I,+FlSTR,EAAgB,SAASjiL,EAAG+H,GAI5B,OAHA,EAAgB/M,OAAO65H,gBAClB,CAAEpvF,UAAW,cAAgBnnC,OAAS,SAAU0B,EAAG+H,GAAK/H,EAAEylC,UAAY19B,IACvE,SAAU/H,EAAG+H,GAAK,IAAK,IAAIjH,KAAKiH,EAAO/M,OAAOM,UAAUuF,eAAehB,KAAKkI,EAAGjH,KAAId,EAAEc,GAAKiH,EAAEjH,MAC3Ed,EAAG+H,IAGrB,SAASupU,EAAUtxU,EAAG+H,GACzB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIzN,UAAU,uBAAyBk7B,OAAOztB,GAAK,iCAE7D,SAASypU,IAAO3zU,KAAKP,YAAc0C,EADnC,EAAcA,EAAG+H,GAEjB/H,EAAE1E,UAAkB,OAANyM,EAAa/M,OAAOqC,OAAO0K,IAAMypU,EAAGl2U,UAAYyM,EAAEzM,UAAW,IAAIk2U,GAc5E,SAASg+J,EAAO/we,EAAGG,GACtB,IAAI0B,EAAI,GACR,IAAK,IAAIQ,KAAKrC,EAAOzD,OAAOM,UAAUuF,eAAehB,KAAKpB,EAAGqC,IAAMlC,EAAEsJ,QAAQpH,GAAK,IAC9ER,EAAEQ,GAAKrC,EAAEqC,IACb,GAAS,MAALrC,GAAqD,oBAAjCzD,OAAOq6B,sBACtB,KAAI36B,EAAI,EAAb,IAAgBoG,EAAI9F,OAAOq6B,sBAAsB52B,GAAI/D,EAAIoG,EAAEnG,OAAQD,IAC3DkE,EAAEsJ,QAAQpH,EAAEpG,IAAM,GAAKM,OAAOM,UAAUg6B,qBAAqBz1B,KAAKpB,EAAGqC,EAAEpG,MACvE4F,EAAEQ,EAAEpG,IAAM+D,EAAEqC,EAAEpG,KAE1B,OAAO4F,EACX,+ImStBA,MALA,SAAkB/C,GAChB,IAAIuR,SAAcvR,EAClB,OAAgB,MAATA,IAA0B,UAARuR,GAA4B,YAARA,IC3B3CmyK,ECC8B,iBAAV98D,GAAsBA,GAAUA,EAAOnpH,SAAWA,QAAUmpH,EDEhF+8D,EAA0B,iBAARriK,MAAoBA,MAAQA,KAAK7jB,SAAWA,QAAU6jB,KAGxE3K,EAAO+sK,GAAcC,GAAYnrJ,SAAS,cAATA,GENjC7hB,EFQaA,EEcjB,EAJU,WACR,OAAOA,EAAKkhB,KAAKzB,OClBf87c,EAAe,KAiBnB,IClBIC,EDWJ,SAAyB7nX,GAGvB,IAFA,IAAI7oF,EAAQ6oF,EAAOltH,OAEZqkC,KAAWywc,EAAarvc,KAAKynF,EAAOlhG,OAAOqY,MAClD,OAAOA,GCZL2wc,EAAc,OAelB,MANA,SAAkB9nX,GAChB,OAAOA,EACHA,EAAOh4E,MAAM,EAAG6/b,EAAgB7nX,GAAU,GAAGviH,QAAQqqe,EAAa,IAClE9nX,GCVN,ELGiB3zG,EKLC9V,OCHdA,EAASioH,EAGTyzO,EAAc9+V,OAAOM,UAGrBuF,EAAiBi5V,EAAYj5V,eAO7B+ue,EAAuB91I,EAAY7vV,SAGnC+xS,EAAiB59S,EAASA,EAAOiC,iBAAco9B,EA6BnD,MApBA,SAAmBlgC,GACjB,IAAIsye,EAAQhve,EAAehB,KAAKtC,EAAOy+S,GACnCl0K,EAAMvqI,EAAMy+S,GAEhB,IACEz+S,EAAMy+S,QAAkBv+Q,EACxB,IAAIqyc,GAAW,EACf,MAAOlxe,IAET,IAAIlB,EAASkye,EAAqB/ve,KAAKtC,GAQvC,OAPIuye,IACED,EACFtye,EAAMy+S,GAAkBl0K,SAEjBvqI,EAAMy+S,IAGVt+S,GClCLkye,EAPc50e,OAAOM,UAOc2O,SAavC,ICpBI6xS,EAAYi0L,EACZh0L,EDeJ,SAAwBx+S,GACtB,OAAOqye,EAAqB/ve,KAAKtC,ICT/By+S,EATS31L,IASwBhmH,iBAAco9B,ECmBnD,IC5BIs9G,EFkBJ,SAAoBx9I,GAClB,OAAa,MAATA,OACekgC,IAAVlgC,EAdQ,qBADL,gBAiBJy+S,GAAkBA,KAAkBhhT,OAAOuC,GAC/Cu+S,EAAUv+S,GACVw+S,EAAex+S,IEvBjBwnT,EDuBJ,SAAsBxnT,GACpB,OAAgB,MAATA,GAAiC,iBAATA,GCGjC,IC5BIk1a,EAAWpsT,EACX20B,EAAW+0V,EACX3uW,EDqBJ,SAAkB7jI,GAChB,MAAuB,iBAATA,GACXwnT,EAAaxnT,IArBF,mBAqBYw9I,EAAWx9I,ICjBnC0xY,EAAa,qBAGbC,EAAa,aAGbE,EAAY,cAGZC,EAAetzX,SA8CnB,IC/DIi/H,EAAW30B,EACX1yF,EAAMo8c,EACN1lW,EDwCJ,SAAkB9sI,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAI6jI,EAAS7jI,GACX,OA1CM,IA4CR,GAAIy9I,EAASz9I,GAAQ,CACnB,IAAIq9C,EAAgC,mBAAjBr9C,EAAMslJ,QAAwBtlJ,EAAMslJ,UAAYtlJ,EACnEA,EAAQy9I,EAASpgG,GAAUA,EAAQ,GAAMA,EAE3C,GAAoB,iBAATr9C,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQk1a,EAASl1a,GACjB,IAAIg2Y,EAAWrE,EAAW9uW,KAAK7iC,GAC/B,OAAQg2Y,GAAYnE,EAAUhvW,KAAK7iC,GAC/B8xY,EAAa9xY,EAAMsyC,MAAM,GAAI0jW,EAAW,EAAI,GAC3CtE,EAAW7uW,KAAK7iC,GAvDb,KAuD6BA,GCpDnC6yY,EAAYprY,KAAK+K,IACjBsgY,EAAYrrY,KAAK6K,IAqLrB,MA7HA,SAAkBy9C,EAAMwoC,EAAM15D,GAC5B,IAAIytG,EACA4tQ,EACAC,EACAh6Y,EACA0uD,EACAurV,EACAC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAARzqV,EACT,MAAM,IAAIhzD,UAzEQ,uBAmFpB,SAAS09Y,EAAW9iK,GAClB,IAAI3zL,EAAOsoF,EACPoiC,EAAUwrO,EAKd,OAHA5tQ,EAAW4tQ,OAAWh6W,EACtBm6W,EAAiB1iK,EACjBx3O,EAAS4vD,EAAKrvD,MAAMguK,EAAS1qH,GAI/B,SAAS02V,EAAY/iK,GAMnB,OAJA0iK,EAAiB1iK,EAEjB9oL,EAAU15B,WAAWwlX,EAAcpiT,GAE5B+hT,EAAUG,EAAW9iK,GAAQx3O,EAatC,SAASy6Y,EAAajjK,GACpB,IAAIkjK,EAAoBljK,EAAOyiK,EAM/B,YAAyBl6W,IAAjBk6W,GAA+BS,GAAqBtiT,GACzDsiT,EAAoB,GAAON,GANJ5iK,EAAO0iK,GAM8BF,EAGjE,SAASQ,IACP,IAAIhjK,EAAOvhN,IACX,GAAIwkX,EAAajjK,GACf,OAAOmjK,EAAanjK,GAGtB9oL,EAAU15B,WAAWwlX,EA3BvB,SAAuBhjK,GACrB,IAEIojK,EAAcxiT,GAFMo/I,EAAOyiK,GAI/B,OAAOG,EACHzH,EAAUiI,EAAaZ,GAJDxiK,EAAO0iK,IAK7BU,EAoB+BC,CAAcrjK,IAGnD,SAASmjK,EAAanjK,GAKpB,OAJA9oL,OAAU3uB,EAINs6W,GAAYluQ,EACPmuQ,EAAW9iK,IAEpBrrG,EAAW4tQ,OAAWh6W,EACf//B,GAeT,SAAS86Y,IACP,IAAItjK,EAAOvhN,IACP8kX,EAAaN,EAAajjK,GAM9B,GAJArrG,EAAW7rI,UACXy5Y,EAAW55Y,KACX85Y,EAAeziK,EAEXujK,EAAY,CACd,QAAgBh7W,IAAZ2uB,EACF,OAAO6rV,EAAYN,GAErB,GAAIG,EAIF,OAFA3lX,aAAai6B,GACbA,EAAU15B,WAAWwlX,EAAcpiT,GAC5BkiT,EAAWL,GAMtB,YAHgBl6W,IAAZ2uB,IACFA,EAAU15B,WAAWwlX,EAAcpiT,IAE9Bp4F,EAIT,OA3GAo4F,EAAOu0C,EAASv0C,IAAS,EACrBklD,EAAS5+G,KACXy7W,IAAYz7W,EAAQy7W,QAEpBH,GADAI,EAAS,YAAa17W,GACHg0W,EAAU/lQ,EAASjuG,EAAQs7W,UAAY,EAAG5hT,GAAQ4hT,EACrEK,EAAW,aAAc37W,IAAYA,EAAQ27W,SAAWA,GAoG1DS,EAAUz7U,OApCV,gBACkBt/B,IAAZ2uB,GACFj6B,aAAai6B,GAEfwrV,EAAiB,EACjB/tQ,EAAW8tQ,EAAeF,EAAWrrV,OAAU3uB,GAgCjD+6W,EAAUE,MA7BV,WACE,YAAmBj7W,IAAZ2uB,EAAwB1uD,EAAS26Y,EAAa1kX,MA6BhD6kX,GC3LL4xF,EAAW/jX,EACX20B,EAAW+0V,EAmEf,MAlBA,SAAkBzib,EAAMwoC,EAAM15D,GAC5B,IAAIy7W,GAAU,EACVE,GAAW,EAEf,GAAmB,mBAARzqV,EACT,MAAM,IAAIhzD,UAnDQ,uBAyDpB,OAJI0gJ,EAAS5+G,KACXy7W,EAAU,YAAaz7W,IAAYA,EAAQy7W,QAAUA,EACrDE,EAAW,aAAc37W,IAAYA,EAAQ27W,SAAWA,GAEnDqyF,EAAS98a,EAAMwoC,EAAM,CAC1B,QAAW+hT,EACX,QAAW/hT,EACX,SAAYiiT,KvBzDHi4F,EAAqB,SAChCC,EACAC,EACAC,EACAC,GAEA,OAAQF,GACN,IAAK,WACH,OAAO9F,EAAS6F,EAAgBE,EAAaC,GAC/C,IAAK,WACH,OAAOC,EAASJ,EAAgBE,EAAaC,GAC/C,QACE,OAAOH,IAIArrZ,EAAa,SAACzpD,GAAqB,MAAc,oBAAPA,GAE1Cm1c,EAAQ,WAAe,2BAAO/we,QAE9Bgxe,EAAe,SAACh4d,GAA0B,OAAAA,aAAmB/W,SAAW+W,aAAmBi4d,cAE3FC,EACX,SACE/yZ,EACAlhC,EACAk0b,EACAC,GAEF,gBAAC,G,IAAElse,EAAK,QAAEC,EAAM,SACd83C,GAAQ,SAAAg7B,GACN,OAAIA,EAAK/yE,QAAUA,GAAS+yE,EAAK9yE,SAAWA,GAKvC8yE,EAAK/yE,QAAUA,IAAUkse,GAAkBn5Z,EAAK9yE,SAAWA,IAAWgse,EAHlEl5Z,GAQLkG,GAAYkH,EAAWlH,IACzBA,EAASj5E,EAAOC,GAGX,CAAED,MAAK,EAAEC,OAAM,SwBqD5B,cASE,WAAYjK,GAAZ,IACE,cAAMA,IAmBP,KAmBD,EAAAm2e,cAAgB,WACV,EAAKC,eAAiB,EAAKA,cAAc9za,SAE3C,EAAK8za,cAAc9za,SACnB,EAAK8za,cAAgB,OAIzB,EAAAC,eAAiB,WACT,MAAiC,EAAKr2e,MAApCs2e,EAAS,YAAEC,EAAe,kBAElC,IAAIV,IAAJ,CAIIS,GAAaA,EAAUl7d,UACzB,EAAKk7d,UAAUl7d,QAAUk7d,EAAUl7d,SAGrC,IAAM0C,EAAU,EAAKmjB,aAChBnjB,IAKD,EAAK04d,mBAAqB,EAAKA,oBAAsB14d,IAKzD,EAAK04d,kBAAoB14d,EACzB,EAAK24d,eAAeC,QAAQ54d,EAASy4d,OAGvC,EAAAt1c,WAAa,WACL,MAAiC,EAAKjhC,MAApCghC,EAAa,gBAAE21c,EAAW,cAElC,GAAId,IAAS,OAAO,KAGpB,GAAI70c,EAAe,OAAOt6B,SAASs6B,cAAcA,GAEjD,GAAI21c,GAAeb,EAAaa,GAAc,OAAOA,EAErD,GAAI,EAAKL,WAAaR,EAAa,EAAKQ,UAAUl7d,SAAU,OAAO,EAAKk7d,UAAUl7d,QAIlF,IAAMsrB,EAAiB,sBAAY,GAEnC,IAAKA,EAAgB,OAAO,KAG5B,OADmB,EAAKkwc,iBAEtB,IAAK,aAEL,IAAK,gBAEL,IAAK,QAEL,IAAK,aACH,OAAOlwc,EACT,QACE,OAAOA,EAAe6wH,gBAI5B,EAAmB,oBAA2B,SAAC5/D,GACvC,MAAwD,EAAK33F,MAA3D,EAAkB,cAAlBi2e,OAAc,OAAI,EAAE,IAAAC,oBAAY,IAAG,GAAI,EAAEjzZ,EAAQ,WAEzD,GAAKgzZ,GAAgBC,EAArB,CAEA,IAAMW,EAAeb,EAAe/yZ,EAAU,EAAKwkF,SAASxhK,KAAK,GAAOgwe,EAAaC,GAErFv+Y,EAAQx/D,SAAQ,SAAA2rB,GACR,MAAqBA,GAASA,EAAMgzb,aAAgB,GAAlD9se,EAAK,QAAEC,EAAM,UAEE,EAAK8se,cAAgBlB,KAE1CgB,EAAa,CAAE7se,MAAK,EAAEC,OAAM,IAG9B,EAAK8se,aAAc,OAIvB,EAAAH,cAAgB,WACR,MAAuB,EAAK52e,MAA1BkW,EAAM,SAAEN,EAAQ,WACxB,OAAIu0E,EAAWj0E,GAEN,aAGLi0E,EAAWv0E,GACN,gBAGL,yBAAeA,GACV,QAGL/R,MAAMC,QAAQ8R,GAET,aAIF,UA/IC,IAAAmhe,EAAiE/2e,EAAtD,YAAEy1e,EAAoDz1e,EAAzC,YAAE,EAAuCA,EAArB,YAAlB01e,OAAW,IAAG,MAAI,EAAEC,EAAmB31e,EAAL,eAWpE,OATA,EAAKmoE,MAAQ,CACXn+D,WAAOg5B,EACP/4B,YAAQ+4B,GAGV,EAAK+zc,YAAcA,EACnB,EAAKT,UAAY,sBACjB,EAAKE,kBAAoB,KAErBX,MAIJ,EAAKO,cAAgBb,EAAmB,EAAKyB,oBAAqBvB,EAAaC,EAAaC,GAC5F,EAAKc,eAAiB,IAAI3xe,OAAOmye,eAAe,EAAKb,gB,EAkKzD,OA9LyE,EAGxE,KA4BC,YAAA/pV,kBAAA,WACEjpJ,KAAKize,kBAGP,YAAAtpV,mBAAA,WACE3pJ,KAAKize,kBAGP,YAAA5pV,qBAAA,WACMopV,MAGJzye,KAAKoze,kBAAoB,KACzBpze,KAAKqze,eAAehzb,aACpBrgD,KAAK+ye,kBAiHP,YAAAjge,OAAA,WACQ,IAMFghe,EANE,EAAqD9ze,KAAKpD,MAAxDkW,EAAM,SAAEN,EAAQ,WAAE,EAA4B,WAAlBuhe,OAAa,YAAK,EAChD,EAAoB/ze,KAAK+kE,MAEzByjH,EAAa,CAAE5hL,MAFR,QAEeC,OAFP,SAEeqse,UAAWlze,KAAKkze,WAKpD,OAJmBlze,KAAKwze,iBAKtB,IAAK,aACH,OAAO1ge,GAAUA,EAAO01K,GAC1B,IAAK,gBAEH,OADAsrT,EAAgBthe,GACKg2K,GACvB,IAAK,QAGH,IADAsrT,EAAgBthe,GACEvB,MAAsC,kBAAvB6ie,EAAc7ie,KAAmB,CAE/C,IAAK+ie,EAAW,EAAKxrT,EAAhC,CAA6B,cACnC,OAAO,uBAAasrT,EAAeE,GAGrC,OAAO,uBAAaF,EAAetrT,GACrC,IAAK,aAEH,OADAsrT,EAAgBthe,GACKiV,KAAI,SAACsY,GAAqB,QAAEA,GAAM,uBAAaA,EAAIyoJ,MAC1E,QACE,OAAO,gBAACurT,EAAU,QAGzB,EA9LD,CAAyE,iBCnG/CtB,IAAU,YAAY,oB,+CCJhDv8e,EAAOC,QAAUC,EAAQ,M,6BCAzBF,EAAOC,QAAUC,EAAQ,M,6BCAzBF,EAAOC,QAAUC,EAAQ,M,6BCAzBF,EAAOC,QAAUC,EAAQ,M,6BCAzBF,EAAOC,QAAUC,EAAQ,M,6BCAzBF,EAAOC,QAAUC,EAAQ,M,6BCAzBF,EAAOC,QAAUC,EAAQ,M,6BCFV,eAASqJ,EAAagC,EAAShE,GAC5CgC,EAAYhC,UAAYgE,EAAQhE,UAAYA,EAC5CA,EAAUgC,YAAcA,GAGnB,SAAS21C,EAAOxiC,EAAQqhe,GAC7B,IAAIx2e,EAAYN,OAAOqC,OAAOoT,EAAOnV,WACrC,IAAK,IAAIJ,KAAO42e,EAAYx2e,EAAUJ,GAAO42e,EAAW52e,GACxD,OAAOI,ECNF,SAASg5D,KAET,IAGHy9a,EAAM,sBACNC,EAAM,gDACNC,EAAM,iDACNC,EAAQ,qBACRC,EAAe,IAAI15c,OAAO,UAAY,CAACs5c,EAAKA,EAAKA,GAAO,QACxDK,EAAe,IAAI35c,OAAO,UAAY,CAACw5c,EAAKA,EAAKA,GAAO,QACxDI,EAAgB,IAAI55c,OAAO,WAAa,CAACs5c,EAAKA,EAAKA,EAAKC,GAAO,QAC/DM,EAAgB,IAAI75c,OAAO,WAAa,CAACw5c,EAAKA,EAAKA,EAAKD,GAAO,QAC/DO,EAAe,IAAI95c,OAAO,UAAY,CAACu5c,EAAKC,EAAKA,GAAO,QACxDO,EAAgB,IAAI/5c,OAAO,WAAa,CAACu5c,EAAKC,EAAKA,EAAKD,GAAO,QAE/DS,EAAQ,CACV5rd,UAAW,SACXC,aAAc,SACdC,KAAM,MACNC,WAAY,QACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,EACPC,eAAgB,SAChBC,KAAM,IACNC,WAAY,QACZC,MAAO,SACPC,UAAW,SACXC,UAAW,QACXC,WAAY,QACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,QAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,MACNC,SAAU,IACVC,SAAU,MACVC,cAAe,SACfC,SAAU,SACVC,UAAW,MACXoqd,SAAU,SACVnqd,UAAW,SACXC,YAAa,QACbC,eAAgB,QAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,QACTC,WAAY,SACZC,aAAc,QACdC,cAAe,QACfC,cAAe,QACf2pd,cAAe,QACf1pd,cAAe,MACfC,WAAY,QACZC,SAAU,SACVC,YAAa,MACbC,QAAS,QACTupd,QAAS,QACTtpd,WAAY,QACZE,UAAW,SACXC,YAAa,SACbC,YAAa,QACbC,QAAS,SACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,QACNC,MAAO,MACPC,YAAa,SACb2od,KAAM,QACN1od,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,QACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,QACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtB8nd,UAAW,SACX5nd,WAAY,QACZD,UAAW,SACXE,UAAW,SACXC,YAAa,SACbC,cAAe,QACfC,aAAc,QACdE,eAAgB,QAChBund,eAAgB,QAChBtnd,eAAgB,SAChBC,YAAa,SACbC,KAAM,MACNC,UAAW,QACXC,MAAO,SACPC,QAAS,SACTC,OAAQ,QACRC,iBAAkB,QAClBC,WAAY,IACZC,aAAc,SACdC,aAAc,QACdC,eAAgB,QAChBC,gBAAiB,QACjBC,kBAAmB,MACnBC,gBAAiB,QACjBC,gBAAiB,SACjBC,aAAc,QACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,IACNC,QAAS,SACTC,MAAO,QACPC,UAAW,QACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,QACRild,cAAe,QACfhld,IAAK,SACLC,UAAW,SACXC,UAAW,QACXC,YAAa,QACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,QACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,QACTC,UAAW,QACXC,UAAW,QACXqkd,UAAW,QACXpkd,KAAM,SACNC,YAAa,MACbC,UAAW,QACXrgB,IAAK,SACLsgB,KAAM,MACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,QACXC,OAAQ,SACRE,MAAO,SACPC,MAAO,SACPC,WAAY,SACZC,OAAQ,SACRC,YAAa,UAiBf,SAASwjd,IACP,OAAOr1e,KAAKumN,MAAM+uR,YAOpB,SAASC,IACP,OAAOv1e,KAAKumN,MAAMivR,YAGL,SAASzre,EAAM26H,GAC5B,IAAIziI,EAAGF,EAEP,OADA2iI,GAAUA,EAAS,IAAIl9H,OAAOqR,eACtB5W,EAAIoye,EAAMjid,KAAKsyG,KAAY3iI,EAAIE,EAAE,GAAGnF,OAAQmF,EAAIic,SAASjc,EAAE,GAAI,IAAW,IAANF,EAAU0ze,EAAKxze,GAC/E,IAANF,EAAU,IAAI2ze,EAAKzze,GAAK,EAAI,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAY,IAAJA,GAAiB,GAAJA,IAAY,EAAU,GAAJA,EAAU,GACzG,IAANF,EAAUyhB,EAAKvhB,GAAK,GAAK,IAAMA,GAAK,GAAK,IAAMA,GAAK,EAAI,KAAW,IAAJA,GAAY,KACrE,IAANF,EAAUyhB,EAAMvhB,GAAK,GAAK,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAY,IAAJA,IAAkB,GAAJA,IAAY,EAAU,GAAJA,GAAY,KAClJ,OACCA,EAAIqye,EAAalid,KAAKsyG,IAAW,IAAIgxW,EAAIzze,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI,IAC3DA,EAAIsye,EAAanid,KAAKsyG,IAAW,IAAIgxW,EAAW,IAAPzze,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAK,IAC/FA,EAAIuye,EAAcpid,KAAKsyG,IAAWlhH,EAAKvhB,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,KAC3DA,EAAIwye,EAAcrid,KAAKsyG,IAAWlhH,EAAY,IAAPvhB,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAKA,EAAE,KAC/FA,EAAIyye,EAAatid,KAAKsyG,IAAWgnO,EAAKzpW,EAAE,GAAIA,EAAE,GAAK,IAAKA,EAAE,GAAK,IAAK,IACpEA,EAAI0ye,EAAcvid,KAAKsyG,IAAWgnO,EAAKzpW,EAAE,GAAIA,EAAE,GAAK,IAAKA,EAAE,GAAK,IAAKA,EAAE,IACxE2ye,EAAM5xe,eAAe0hI,GAAU+wW,EAAKb,EAAMlwW,IAC/B,gBAAXA,EAA2B,IAAIgxW,EAAI5ne,IAAKA,IAAKA,IAAK,GAClD,KAGR,SAAS2ne,EAAK50e,GACZ,OAAO,IAAI60e,EAAI70e,GAAK,GAAK,IAAMA,GAAK,EAAI,IAAU,IAAJA,EAAU,GAG1D,SAAS2iB,EAAKjhB,EAAG0H,EAAGC,EAAGyC,GAErB,OADIA,GAAK,IAAGpK,EAAI0H,EAAIC,EAAI4D,KACjB,IAAI4ne,EAAInze,EAAG0H,EAAGC,EAAGyC,GAGnB,SAASgpe,EAAWr1e,GAEzB,OADMA,aAAam2D,IAAQn2D,EAAIyJ,EAAMzJ,IAChCA,EAEE,IAAIo1e,GADXp1e,EAAIA,EAAEimN,OACWhkN,EAAGjC,EAAE2J,EAAG3J,EAAE4J,EAAG5J,EAAEyoD,SAFjB,IAAI2sb,EAKd,SAASnvR,EAAIhkN,EAAG0H,EAAGC,EAAG6+C,GAC3B,OAA4B,IAArB5oD,UAAUrD,OAAe64e,EAAWpze,GAAK,IAAImze,EAAInze,EAAG0H,EAAGC,EAAc,MAAX6+C,EAAkB,EAAIA,GAGlF,SAAS2sb,EAAInze,EAAG0H,EAAGC,EAAG6+C,GAC3B/oD,KAAKuC,GAAKA,EACVvC,KAAKiK,GAAKA,EACVjK,KAAKkK,GAAKA,EACVlK,KAAK+oD,SAAWA,EA2BlB,SAAS6sb,IACP,MAAO,IAAM1sb,EAAIlpD,KAAKuC,GAAK2mD,EAAIlpD,KAAKiK,GAAKi/C,EAAIlpD,KAAKkK,GAGpD,SAAS2re,IACP,IAAIlpe,EAAI3M,KAAK+oD,QACb,OAAc,KADQp8C,EAAIqB,MAAMrB,GAAK,EAAIxF,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,EAAGrF,KAC/C,OAAS,SACrBxF,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,IAAK7K,KAAKi9G,MAAMpkH,KAAKuC,IAAM,IAAM,KACtD4E,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,IAAK7K,KAAKi9G,MAAMpkH,KAAKiK,IAAM,IAAM,KACtD9C,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,IAAK7K,KAAKi9G,MAAMpkH,KAAKkK,IAAM,KACzC,IAANyC,EAAU,IAAM,KAAOA,EAAI,KAGpC,SAASu8C,EAAIxpD,GAEX,QADAA,EAAQyH,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,IAAK7K,KAAKi9G,MAAM1kH,IAAU,KACvC,GAAK,IAAM,IAAMA,EAAM0M,SAAS,IAGlD,SAASs/V,EAAK13U,EAAGpzB,EAAGmB,EAAG4K,GAIrB,OAHIA,GAAK,EAAGqnB,EAAIpzB,EAAImB,EAAI+L,IACf/L,GAAK,GAAKA,GAAK,EAAGiyB,EAAIpzB,EAAIkN,IAC1BlN,GAAK,IAAGozB,EAAIlmB,KACd,IAAIgoe,EAAI9hd,EAAGpzB,EAAGmB,EAAG4K,GAGnB,SAASope,EAAWz1e,GACzB,GAAIA,aAAaw1e,EAAK,OAAO,IAAIA,EAAIx1e,EAAE0zB,EAAG1zB,EAAEM,EAAGN,EAAEyB,EAAGzB,EAAEyoD,SAEtD,GADMzoD,aAAam2D,IAAQn2D,EAAIyJ,EAAMzJ,KAChCA,EAAG,OAAO,IAAIw1e,EACnB,GAAIx1e,aAAaw1e,EAAK,OAAOx1e,EAE7B,IAAIiC,GADJjC,EAAIA,EAAEimN,OACIhkN,EAAI,IACV0H,EAAI3J,EAAE2J,EAAI,IACVC,EAAI5J,EAAE4J,EAAI,IACV8H,EAAM7K,KAAK6K,IAAIzP,EAAG0H,EAAGC,GACrBgI,EAAM/K,KAAK+K,IAAI3P,EAAG0H,EAAGC,GACrB8pB,EAAIlmB,IACJlN,EAAIsR,EAAMF,EACVjQ,GAAKmQ,EAAMF,GAAO,EAUtB,OATIpR,GACaozB,EAAXzxB,IAAM2P,GAAUjI,EAAIC,GAAKtJ,EAAc,GAATqJ,EAAIC,GAC7BD,IAAMiI,GAAUhI,EAAI3H,GAAK3B,EAAI,GAC5B2B,EAAI0H,GAAKrJ,EAAI,EACvBA,GAAKmB,EAAI,GAAMmQ,EAAMF,EAAM,EAAIE,EAAMF,EACrCgiB,GAAK,IAELpzB,EAAImB,EAAI,GAAKA,EAAI,EAAI,EAAIiyB,EAEpB,IAAI8hd,EAAI9hd,EAAGpzB,EAAGmB,EAAGzB,EAAEyoD,SAO5B,SAAS+sb,EAAI9hd,EAAGpzB,EAAGmB,EAAGgnD,GACpB/oD,KAAKg0B,GAAKA,EACVh0B,KAAKY,GAAKA,EACVZ,KAAK+B,GAAKA,EACV/B,KAAK+oD,SAAWA,EAyClB,SAASitb,EAAQhid,EAAG5Q,EAAIC,GACtB,OAGY,KAHJ2Q,EAAI,GAAK5Q,GAAMC,EAAKD,GAAM4Q,EAAI,GAChCA,EAAI,IAAM3Q,EACV2Q,EAAI,IAAM5Q,GAAMC,EAAKD,IAAO,IAAM4Q,GAAK,GACvC5Q,GCjXD,SAAS6yd,EAAMzme,EAAI0me,EAAInwX,EAAIC,EAAImwX,GACpC,IAAI1me,EAAKD,EAAKA,EAAI4me,EAAK3me,EAAKD,EAC5B,QAAS,EAAI,EAAIA,EAAK,EAAIC,EAAK2me,GAAMF,GAC9B,EAAI,EAAIzme,EAAK,EAAI2me,GAAMrwX,GACvB,EAAI,EAAIv2G,EAAK,EAAIC,EAAK,EAAI2me,GAAMpwX,EACjCowX,EAAKD,GAAM,EDoKnB7uV,EAAO7wF,EAAO1sD,EAAO,CACnBs6B,KAAM,SAAShS,GACb,OAAOl1B,OAAOu6B,OAAO,IAAI13B,KAAKP,YAAaO,KAAMqyB,IAEnDgkd,YAAa,WACX,OAAOr2e,KAAKumN,MAAM8vR,eAEpBntb,IAAKmsb,EACLC,UAAWD,EACXiB,UASF,WACE,OAAOP,EAAW/1e,MAAMs2e,aATxBd,UAAWD,EACXnpe,SAAUmpe,IA6DZjuV,EAAOouV,EAAKnvR,EAAKnxK,EAAOqhB,EAAO,CAC7B8/a,SAAU,SAAS30d,GAEjB,OADAA,EAAS,MAALA,EA9Oc,EADF,GA+OWza,KAAKE,IA9Od,EADF,GA+O8Bua,GACvC,IAAI8zd,EAAI11e,KAAKuC,EAAIqf,EAAG5hB,KAAKiK,EAAI2X,EAAG5hB,KAAKkK,EAAI0X,EAAG5hB,KAAK+oD,UAE1DiT,OAAQ,SAASp6C,GAEf,OADAA,EAAS,MAALA,EAnPY,GAmPSza,KAAKE,IAnPd,GAmP0Bua,GACnC,IAAI8zd,EAAI11e,KAAKuC,EAAIqf,EAAG5hB,KAAKiK,EAAI2X,EAAG5hB,KAAKkK,EAAI0X,EAAG5hB,KAAK+oD,UAE1Dw9J,IAAK,WACH,OAAOvmN,MAETq2e,YAAa,WACX,OAAS,IAAOr2e,KAAKuC,GAAKvC,KAAKuC,EAAI,QAC1B,IAAOvC,KAAKiK,GAAKjK,KAAKiK,EAAI,QAC1B,IAAOjK,KAAKkK,GAAKlK,KAAKkK,EAAI,OAC3B,GAAKlK,KAAK+oD,SAAW/oD,KAAK+oD,SAAW,GAE/CG,IAAK0sb,EACLN,UAAWM,EACXJ,UAAWK,EACXzpe,SAAUype,KAiEZvuV,EAAOwuV,GAXA,SAAa9hd,EAAGpzB,EAAGmB,EAAGgnD,GAC3B,OAA4B,IAArB5oD,UAAUrD,OAAei5e,EAAW/hd,GAAK,IAAI8hd,EAAI9hd,EAAGpzB,EAAGmB,EAAc,MAAXgnD,EAAkB,EAAIA,KAUxE3T,EAAOqhB,EAAO,CAC7B8/a,SAAU,SAAS30d,GAEjB,OADAA,EAAS,MAALA,EApUc,EADF,GAqUWza,KAAKE,IApUd,EADF,GAqU8Bua,GACvC,IAAIk0d,EAAI91e,KAAKg0B,EAAGh0B,KAAKY,EAAGZ,KAAK+B,EAAI6f,EAAG5hB,KAAK+oD,UAElDiT,OAAQ,SAASp6C,GAEf,OADAA,EAAS,MAALA,EAzUY,GAyUSza,KAAKE,IAzUd,GAyU0Bua,GACnC,IAAIk0d,EAAI91e,KAAKg0B,EAAGh0B,KAAKY,EAAGZ,KAAK+B,EAAI6f,EAAG5hB,KAAK+oD,UAElDw9J,IAAK,WACH,IAAIvyL,EAAIh0B,KAAKg0B,EAAI,IAAqB,KAAdh0B,KAAKg0B,EAAI,GAC7BpzB,EAAIoN,MAAMgmB,IAAMhmB,MAAMhO,KAAKY,GAAK,EAAIZ,KAAKY,EACzCmB,EAAI/B,KAAK+B,EACTshB,EAAKthB,GAAKA,EAAI,GAAMA,EAAI,EAAIA,GAAKnB,EACjCwiB,EAAK,EAAIrhB,EAAIshB,EACjB,OAAO,IAAIqyd,EACTM,EAAQhid,GAAK,IAAMA,EAAI,IAAMA,EAAI,IAAK5Q,EAAIC,GAC1C2yd,EAAQhid,EAAG5Q,EAAIC,GACf2yd,EAAQhid,EAAI,IAAMA,EAAI,IAAMA,EAAI,IAAK5Q,EAAIC,GACzCrjB,KAAK+oD,UAGTstb,YAAa,WACX,OAAQ,GAAKr2e,KAAKY,GAAKZ,KAAKY,GAAK,GAAKoN,MAAMhO,KAAKY,KACzC,GAAKZ,KAAK+B,GAAK/B,KAAK+B,GAAK,GACzB,GAAK/B,KAAK+oD,SAAW/oD,KAAK+oD,SAAW,GAE/Cutb,UAAW,WACT,IAAI3pe,EAAI3M,KAAK+oD,QACb,OAAc,KADQp8C,EAAIqB,MAAMrB,GAAK,EAAIxF,KAAK+K,IAAI,EAAG/K,KAAK6K,IAAI,EAAGrF,KAC/C,OAAS,UACpB3M,KAAKg0B,GAAK,GAAK,KACA,KAAfh0B,KAAKY,GAAK,GAAW,MACN,KAAfZ,KAAK+B,GAAK,GAAW,KACf,IAAN4K,EAAU,IAAM,KAAOA,EAAI,SChWvB,ICRA,WAAAE,GAAC,OAAI,kBAAMA,ICE1B,SAASsrB,EAAOxrB,EAAGxK,GACjB,OAAO,SAASM,GACd,OAAOkK,EAAIlK,EAAIN,GAeZ,SAASq0e,EAAM1pe,GACpB,OAAoB,KAAZA,GAAKA,GAAW2pe,EAAU,SAAS9pe,EAAGzC,GAC5C,OAAOA,EAAIyC,EAbf,SAAqBA,EAAGzC,EAAG4C,GACzB,OAAOH,EAAIxF,KAAKE,IAAIsF,EAAGG,GAAI5C,EAAI/C,KAAKE,IAAI6C,EAAG4C,GAAKH,EAAGG,EAAI,EAAIA,EAAG,SAASrK,GACrE,OAAO0E,KAAKE,IAAIsF,EAAIlK,EAAIyH,EAAG4C,IAWZ4pe,CAAY/pe,EAAGzC,EAAG4C,GAAKksI,EAAShrI,MAAMrB,GAAKzC,EAAIyC,IAInD,SAAS8pe,EAAQ9pe,EAAGzC,GACjC,IAAI/H,EAAI+H,EAAIyC,EACZ,OAAOxK,EAAIg2B,EAAOxrB,EAAGxK,GAAK62I,EAAShrI,MAAMrB,GAAKzC,EAAIyC,GCtBrC,eAAUgqe,EAAS7pe,GAChC,IAAI/C,EAAQyse,EAAM1pe,GAElB,SAASy5M,EAAIzuM,EAAOw7B,GAClB,IAAI/wC,EAAIwH,GAAO+N,EAAQ8+d,EAAS9+d,IAAQvV,GAAI+wC,EAAMsjc,EAAStjc,IAAM/wC,GAC7D0H,EAAIF,EAAM+N,EAAM7N,EAAGqpC,EAAIrpC,GACvBC,EAAIH,EAAM+N,EAAM5N,EAAGopC,EAAIppC,GACvB6+C,EAAU0tb,EAAQ3+d,EAAMixC,QAASzV,EAAIyV,SACzC,OAAO,SAAStmD,GAKd,OAJAqV,EAAMvV,EAAIA,EAAEE,GACZqV,EAAM7N,EAAIA,EAAExH,GACZqV,EAAM5N,EAAIA,EAAEzH,GACZqV,EAAMixC,QAAUA,EAAQtmD,GACjBqV,EAAQ,IAMnB,OAFAyuM,EAAIiwR,MAAQG,EAELpwR,EAnBM,CAoBZ,GAEH,SAASswR,EAAUtha,GACjB,OAAO,SAASs7G,GACd,IAIIh0L,EAAGkN,EAJHlJ,EAAIgwL,EAAO/zL,OACXyF,EAAI,IAAI9B,MAAMI,GACdoJ,EAAI,IAAIxJ,MAAMI,GACdqJ,EAAI,IAAIzJ,MAAMI,GAElB,IAAKhE,EAAI,EAAGA,EAAIgE,IAAKhE,EACnBkN,EAAQ6se,EAAS/lT,EAAOh0L,IACxB0F,EAAE1F,GAAKkN,EAAMxH,GAAK,EAClB0H,EAAEpN,GAAKkN,EAAME,GAAK,EAClBC,EAAErN,GAAKkN,EAAMG,GAAK,EAMpB,OAJA3H,EAAIgzE,EAAOhzE,GACX0H,EAAIsrE,EAAOtrE,GACXC,EAAIqrE,EAAOrrE,GACXH,EAAMg/C,QAAU,EACT,SAAStmD,GAId,OAHAsH,EAAMxH,EAAIA,EAAEE,GACZsH,EAAME,EAAIA,EAAExH,GACZsH,EAAMG,EAAIA,EAAEzH,GACLsH,EAAQ,KAKC8se,GH7CP,SAASp5d,GACtB,IAAI5c,EAAI4c,EAAO3gB,OAAS,EACxB,OAAO,SAAS2F,GACd,IAAI5F,EAAI4F,GAAK,EAAKA,EAAI,EAAKA,GAAK,GAAKA,EAAI,EAAG5B,EAAI,GAAKsG,KAAK0W,MAAMpb,EAAI5B,GAChEklH,EAAKtoG,EAAO5gB,GACZmpH,EAAKvoG,EAAO5gB,EAAI,GAChBq5e,EAAKr5e,EAAI,EAAI4gB,EAAO5gB,EAAI,GAAK,EAAIkpH,EAAKC,EACtCmwX,EAAKt5e,EAAIgE,EAAI,EAAI4c,EAAO5gB,EAAI,GAAK,EAAImpH,EAAKD,EAC9C,OAAOkwX,GAAOxze,EAAI5F,EAAIgE,GAAKA,EAAGq1e,EAAInwX,EAAIC,EAAImwX,OGsClBU,GCpDb,SAASp5d,GACtB,IAAI5c,EAAI4c,EAAO3gB,OACf,OAAO,SAAS2F,GACd,IAAI5F,EAAIsK,KAAK0W,QAAQpb,GAAK,GAAK,IAAMA,EAAIA,GAAK5B,GAC1Cq1e,EAAKz4d,GAAQ5gB,EAAIgE,EAAI,GAAKA,GAC1BklH,EAAKtoG,EAAO5gB,EAAIgE,GAChBmlH,EAAKvoG,GAAQ5gB,EAAI,GAAKgE,GACtBs1e,EAAK14d,GAAQ5gB,EAAI,GAAKgE,GAC1B,OAAOo1e,GAAOxze,EAAI5F,EAAIgE,GAAKA,EAAGq1e,EAAInwX,EAAIC,EAAImwX,OD2CvC,IErDQ,WAASxpe,EAAGzC,GACpBA,IAAGA,EAAI,IACZ,IAEIrN,EAFAgE,EAAI8L,EAAIxF,KAAK6K,IAAI9H,EAAEpN,OAAQ6P,EAAE7P,QAAU,EACvCoF,EAAIgI,EAAE8nC,QAEV,OAAO,SAASvvC,GACd,IAAK5F,EAAI,EAAGA,EAAIgE,IAAKhE,EAAGqF,EAAErF,GAAK8P,EAAE9P,IAAM,EAAI4F,GAAKyH,EAAErN,GAAK4F,EACvD,OAAOP,IAIJ,SAAS40e,EAAcjqe,GAC5B,OAAOygK,YAAYC,OAAO1gK,MAAQA,aAAao7M,UCL1C,SAAS8uR,EAAapqe,EAAGzC,GAC9B,IAIIrN,EAJAy5N,EAAKpsN,EAAIA,EAAEpN,OAAS,EACpBo8N,EAAKvsN,EAAIxF,KAAK6K,IAAIskN,EAAI3pN,EAAE7P,QAAU,EAClC+P,EAAI,IAAIpM,MAAMy4N,GACdh3N,EAAI,IAAIzB,MAAM61N,GAGlB,IAAKz5N,EAAI,EAAGA,EAAIq8N,IAAMr8N,EAAGgQ,EAAEhQ,GAAK6C,EAAMiN,EAAE9P,GAAIqN,EAAErN,IAC9C,KAAOA,EAAIy5N,IAAMz5N,EAAGqF,EAAErF,GAAKqN,EAAErN,GAE7B,OAAO,SAAS4F,GACd,IAAK5F,EAAI,EAAGA,EAAIq8N,IAAMr8N,EAAGqF,EAAErF,GAAKgQ,EAAEhQ,GAAG4F,GACrC,OAAOP,GCnBI,eAASyK,EAAGzC,GACzB,IAAI/H,EAAI,IAAIo1B,KACZ,OAAO5qB,GAAKA,EAAGzC,GAAKA,EAAG,SAASzH,GAC9B,OAAON,EAAEypP,QAAQj/O,GAAK,EAAIlK,GAAKyH,EAAIzH,GAAIN,I,SCD5B,WAASwK,EAAGzC,GACzB,IAEI0X,EAFA/kB,EAAI,GACJqF,EAAI,GAMR,IAAK0f,KAHK,OAANjV,GAA2B,kBAANA,IAAgBA,EAAI,IACnC,OAANzC,GAA2B,kBAANA,IAAgBA,EAAI,IAEnCA,EACJ0X,KAAKjV,EACP9P,EAAE+kB,GAAKliB,EAAMiN,EAAEiV,GAAI1X,EAAE0X,IAErB1f,EAAE0f,GAAK1X,EAAE0X,GAIb,OAAO,SAASnf,GACd,IAAKmf,KAAK/kB,EAAGqF,EAAE0f,GAAK/kB,EAAE+kB,GAAGnf,GACzB,OAAOP,IClBP80e,EAAM,8CACNC,EAAM,IAAIr8c,OAAOo8c,EAAI1ud,OAAQ,KAclB,eAAS3b,EAAGzC,GACzB,IACIgte,EACAC,EACA53Q,EAHA5F,EAAKq9Q,EAAIjsc,UAAYksc,EAAIlsc,UAAY,EAIrCluC,GAAK,EACL+D,EAAI,GACJynH,EAAI,GAMR,IAHA17G,GAAQ,GAAIzC,GAAQ,IAGZgte,EAAKF,EAAI5kd,KAAKzlB,MACdwqe,EAAKF,EAAI7kd,KAAKloB,MACfq1N,EAAK43Q,EAAGh2c,OAASw4L,IACpB4F,EAAKr1N,EAAE8nC,MAAM2nL,EAAI4F,GACb3+N,EAAE/D,GAAI+D,EAAE/D,IAAM0iO,EACb3+N,IAAI/D,GAAK0iO,IAEX23Q,EAAKA,EAAG,OAASC,EAAKA,EAAG,IACxBv2e,EAAE/D,GAAI+D,EAAE/D,IAAMs6e,EACbv2e,IAAI/D,GAAKs6e,GAEdv2e,IAAI/D,GAAK,KACTwrH,EAAEvhH,KAAK,CAACjK,EAAGA,EAAGgQ,EAAGk9G,YAAOmtX,EAAIC,MAE9Bx9Q,EAAKs9Q,EAAIlsc,UAYX,OARI4uL,EAAKzvN,EAAEpN,SACTyiO,EAAKr1N,EAAE8nC,MAAM2nL,GACT/4N,EAAE/D,GAAI+D,EAAE/D,IAAM0iO,EACb3+N,IAAI/D,GAAK0iO,GAKT3+N,EAAE9D,OAAS,EAAKurH,EAAE,GA7C3B,SAAan+G,GACX,OAAO,SAASzH,GACd,OAAOyH,EAAEzH,GAAK,IA4CVwiF,CAAIojC,EAAE,GAAGx7G,GApDjB,SAAc3C,GACZ,OAAO,WACL,OAAOA,GAmDHq5Z,CAAKr5Z,IACJA,EAAIm+G,EAAEvrH,OAAQ,SAAS2F,GACtB,IAAK,IAAWnC,EAAPzD,EAAI,EAAMA,EAAIqN,IAAKrN,EAAG+D,GAAGN,EAAI+nH,EAAExrH,IAAIA,GAAKyD,EAAEuM,EAAEpK,GACrD,OAAO7B,EAAEyL,KAAK,OCnDT,eAASM,EAAGzC,GACzB,IAAkBhI,EAAdO,SAAWyH,EACf,OAAY,MAALA,GAAmB,YAANzH,EAAkBu2I,EAAS9uI,IAClC,WAANzH,EAAiBsnH,IACZ,WAANtnH,GAAmBP,EAAI6H,EAAMG,KAAOA,EAAIhI,EAAGqkN,GAAOv8F,EAClD9/G,aAAaH,EAAQw8M,EACrBr8M,aAAaqtB,KAAO6/M,EACpB0/P,EAAc5se,GAAKkte,EACnB32e,MAAMC,QAAQwJ,GAAK6se,EACE,oBAAd7se,EAAE86I,SAAgD,oBAAf96I,EAAEkC,UAA2B4B,MAAM9D,GAAKpH,EAClFinH,KAAQp9G,EAAGzC,K,6JCgCNmte,EAA2D,CACpEx/U,WAAY,WACR,OAAO/gI,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExDyjV,kBAAmB,WACf,OAAOxgd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExD0jV,qBAAsB,WAClB,OAAOzgd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExD2jV,mBAAoB,WAChB,OAAO1gd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExD4jV,mBAAoB,WAChB,OAAO3gd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExD6jV,eAAgB,WACZ,MAAO,IAEXC,mBAAoB,WAChB,OAAO,MAEXC,qBAAsB,WAClB,OAAO,MAEXC,oBAAqB,WACjB,OAAO,MAEXC,sBAAuB,WACnB,OAAOhhd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExDkkV,WAAY,WACR,OAAOjhd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExDmkV,cAAe,WACX,OAAOlhd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExDokV,OAAQ,WACJ,OAAOnhd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExDqkV,eAAgB,WACZ,OAAOphd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExDskV,YAAa,WACT,OAAOrhd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExDukV,UAAW,WACP,OAAOthd,QAAQy8F,OAAOggC,EAAA,EAA8BM,qCAExDwkV,iBAAkB,WACd,OAAO,MAEXC,oBAAqB,aAGrBC,uBAAwB,WACpB,MAAO,IAEXC,0BAA2B,WACvB,OAAO,GAEXC,2BAA4B,aAG5BC,4BAA6B,aAG7BC,cAAe,WACX,MAAMplV,EAAA,EAA8BM,oCAExC+kV,UAAW,WACP,MAAMrlV,EAAA,EAA8BM,oCAExCglV,UAAW,aAGXC,iBAAkB,aAGlBC,iBAAkB,WACd,OAAO,MAEXC,yBAA0B,aAG1BC,oBAAqB,aAGrBC,iBAAkB,WACd,MAAM3lV,EAAA,EAA8BM,qC,qCCjH5C,cA0DA,OAnDW,EAAAslV,8BAAP,SAAqC3vc,EAAuB4vc,GACxD,OAAQ5vc,EAAQooZ,WACZ,KAAKtnT,EAAA,EAAU+uW,YACX,OAAO,IAAkBC,MAC7B,KAAKhvW,EAAA,EAAUivW,iBACX,OAAO,IAAkBC,UAC7B,KAAKlvW,EAAA,EAAUmvW,oBACX,GAAIjwc,EAAQkwc,kBAAoB,IAAgBtvV,UAAY5gH,EAAQkwc,kBAAoB,IAAgBC,MACpG,OAAO,IAAkBC,aAE7B,MACJ,KAAKtvW,EAAA,EAAUuvW,sBACX,OAAO,IAAkBC,eAC7B,KAAKxvW,EAAA,EAAUyvW,aACX,OAAO,IAAkBC,OAC7B,KAAK1vW,EAAA,EAAU2vW,mBACf,KAAK3vW,EAAA,EAAU4vW,mBACX,GAAId,GAAiBA,IAAkB,IAAkBI,UAErD,MAEJ,OAAO,IAAkBW,KAC7B,KAAK7vW,EAAA,EAAU8vW,WACX,GAAIhB,GAAiBA,IAAkB,IAAkBY,OAErD,MAEJ,OAAO,IAAkBG,KAC7B,KAAK7vW,EAAA,EAAU+vW,oBACX,GAAIjB,GAAiBA,IAAkB,IAAkBU,eAErD,MAEJ,OAAO,IAAkBK,KAC7B,KAAK7vW,EAAA,EAAUgwW,cACf,KAAKhwW,EAAA,EAAUiwW,cACf,KAAKjwW,EAAA,EAAUkwW,sBACf,KAAKlwW,EAAA,EAAUmwW,sBACX,GAAIjxc,EAAQkwc,kBAAoB,IAAgBtvV,UAAY5gH,EAAQkwc,kBAAoB,IAAgBC,MAAO,CAC3G,GAAIP,GAAiBA,IAAkB,IAAkBE,OAASF,IAAkB,IAAkBQ,aAElG,MAEJ,OAAO,IAAkBO,MAMrC,OAAO,MAEf,E,gCCnEA,IAAMO,EAAmC,CACrCn+e,SADqC,EAErCk5Z,WAAYx3Z,IAFyB,KAGrC08e,SAHqC,GAIrC1pL,OAAQ,IAAIsD,EAAJ,OAGCqmL,EAAcxqX,2BAGCwqX,EAAY/e,SCKxC,SAAgBgf,EAAsBC,EAAmCC,GACrE,GAAID,WAAkBC,EAAtB,OACI,OAAO,EAGX,IAAMC,EAAkB,YAAxB,GAEA,OAAOF,EAAA,OAAcG,YACjB,IAAMC,EAAWF,EAAjB,QACA,SAAKC,IAAL,KAIQA,kBAA2BC,EAA5B,eACCD,mBAA4BC,EAD7B,gBAECD,aAAsBC,EAF9B,aC9CD,IC2BP,YAAKC,GACDA,0CACAA,gBAFJ,CAAKA,MAAL,KAmBA,IAAMC,EAAU,SAACjwD,EAAD,GACZ,IAAM,EAAN,EAAM,KAAQv4S,EAAd,EAAcA,QACVyoW,EAAgBlwD,EAApB,WAEA,OAAQl6a,GACJ,KAAKkqe,EAAL,mBACQhwD,eAA6Bltb,IAAjC,UACIo9e,EAAgBp9e,IAAhBo9e,KACAzoW,8FAEJ,MACJ,KAAKuoW,EAAL,MACI,IAAM3xc,EAAUopG,EAAhB,QACM4zC,EAAS80T,kCAAyDnwD,EAAxE,YACI3kQ,IACA5zC,uCAAsCppG,EAAQooZ,UAA9Ch/S,+CAA8Fu4S,EAAc11B,WAA5G7iR,mBACAyoW,KAEJ,MACJ,QACI,MAAM,IAAIn8c,MAAM,wBAAV,OAAN,IAGR,IAAMq8c,EAAkB3oW,WAAxB,iBACA,OAAIyoW,IAAkBlwD,EAAlBkwD,YACCR,EAAsBU,EAAiBpwD,EAD5C,UAQWkwD,IAAkBlwD,EAAtB,WAEI,8BAAP,IAEI11B,WAAY4lF,IAERR,EAAsBU,EAAiBpwD,EAA5C,UAQIA,EANA,8BAAP,IAEIwvD,SAAUY,IAfP,8BAAP,IAEI9lF,WAFG,EAGHklF,SAAUY,KAuBtB,SAAgBC,KAAa,iBAAWhpe,EAAX,EAAWA,SACpCg5G,qBAAU,WACNjvH,2BAAkCsC,IAAlCtC,MDpGD,WCqGA,CAFHivH,IAIA,IAAMylM,EAASwqL,mBAAQ,WACnB,OAAOl/e,oBDzGR,oBACA,WCyGA,CAFH,IAIA,EAA6Bm/e,qBAAW,OAAD,GAAqB,WAExD,MAAO,CACHjmF,WAAYx3Z,IADT,QAEH08e,SAAUp+e,uBAJlB,mBAAM,EAAN,KAAM,EAAN,KAQAivH,qBAAU,WACN,IAAM8yC,EAAa/hK,EAAA,kBAA2BitC,YAC1Ci2Q,EAAY,CACR7sK,QAAS,CACLr2I,WACA00T,SACAznR,WAEJv4B,KAAMkqe,EAAuBQ,WAwBrC,OArBA1qL,0EAEA10T,qBAA2B,WACvBA,iCAAuC,eAAvCA,SAGW,WAKPkjT,EAAY,CACR7sK,QAAS,CACLr2I,WACA00T,UAEJhgT,KAAMkqe,EAAuBS,2BAKlC,WAECt9U,IACA2yJ,+DACA10T,6BAGT,CAACA,EAvCJivH,IAyCA,IAAM4/D,EAA6B,CAC/B7uL,WACAk5Z,WAAY1wV,EAFmB,WAG/B41a,SAAU51a,EAHqB,SAI/BksP,UAGJ,OACI,kBAAC2pL,EAAD,UAAsBl7e,MAAO0rL,GADjC,GC9JG,IAAMywT,EACe,CACpBtyc,KADoB,2BAEpB9kB,KAAM,6CAHDo3d,EAKsB,CAC3Btyc,KAD2B,oCAE3B9kB,KAAM,sIAIsB64H,K,iGChBrB,SAAS,EAAWrrC,EAAQvuD,EAAMhc,GAc/C,OAZE,EADE,OAAAo0c,EAAA,KACW77e,QAAQC,UAER,SAAoB+xG,EAAQvuD,EAAMhc,GAC7C,IAAI/6B,EAAI,CAAC,MACTA,EAAE7F,KAAK1G,MAAMuM,EAAG+2C,GAChB,IACInnD,EAAW,IADG27B,SAASr1B,KAAKzC,MAAM6xG,EAAQtlG,IAG9C,OADI+6B,GAAO,OAAAsvF,EAAA,GAAez6H,EAAUmrC,EAAMjqC,WACnClB,IAIO6D,MAAM,KAAMD,WCZjB,SAAS,EAAiBunC,GACvC,IAAImhV,EAAwB,oBAARvtN,IAAqB,IAAIA,SAAQ17H,EA8BrD,OA5BA,EAAmB,SAA0B8H,GAC3C,GAAc,OAAVA,ICRkCpK,EDQEoK,GCPsB,IAAzDxP,SAAS9rB,SAASpK,KAAKs7B,GAAIjzB,QAAQ,kBDOQ,OAAOq9B,ECR5C,IAA2BpK,EDUtC,GAAqB,oBAAVoK,EACT,MAAM,IAAIjrC,UAAU,sDAGtB,GAAsB,qBAAXosX,EAAwB,CACjC,GAAIA,EAAO7jS,IAAIt9C,GAAQ,OAAOmhV,EAAOvmX,IAAIolC,GAEzCmhV,EAAOr8W,IAAIk7B,EAAOq0c,GAGpB,SAASA,IACP,OAAO,EAAUr0c,EAAOvnC,UAAW,OAAAu7H,EAAA,GAAe17H,MAAMP,aAW1D,OARAs8e,EAAQt+e,UAAYN,OAAOqC,OAAOkoC,EAAMjqC,UAAW,CACjDgC,YAAa,CACXC,MAAOq8e,EACP/+e,YAAY,EACZE,UAAU,EACVD,cAAc,KAGX,OAAA+5H,EAAA,GAAe+kX,EAASr0c,KAGTA,K,gRE7B1B,SAASsN,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAItF,SAAqC30C,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJxTC,CAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAUlI,SAASN,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAEhL,SAASzN,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAASwsF,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAUne,IAAIigI,EAAe,CACjBo/W,cAAe,SAAuBt7b,GACpC,OAAOknE,IAASlnE,EAAMhhD,OAASu8e,IAAMv7b,EAAMhhD,OAASghD,EAAMhhD,QAGvD,SAASw8e,EAAUt/e,GACxB,IAAIoU,EAAOpU,EAAMoU,KACbgre,EAAgBp/e,EAAMo/e,cACtBtrW,EAAU9zI,EAAM8zI,QAChBqwC,EAAYnkL,EAAMmkL,UAClB58J,EAAKvnB,EAAMunB,GACXk9J,EAAezkL,EAAMykL,aACrB/hD,EAAS9S,EAAyB5vH,EAAO,CAAC,OAAQ,gBAAiB,UAAW,YAAa,KAAM,iBAErG,OAAKoU,GAASA,EAAKlU,OAICszH,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW,uBACV3T,EAAKyW,KAAI,SAAUi5B,EAAOvf,GAC3B,IAAIzhC,EAAQixI,IAAOD,GAAWsrW,EAAct7b,EAAOvf,GAASsvG,YAAkB/vF,GAASA,EAAMkyF,QAASlC,GAClGyrW,EAAUxrW,IAAOxsH,GAAM,GAAK,CAC9BA,GAAI,GAAGqE,OAAOrE,EAAI,KAAKqE,OAAO2Y,IAEhC,OAAoBivF,IAAMx1G,cAAcgmF,IAAOn5D,EAAS,GAAI60G,YAAY57F,GAAO,GAAO4+E,EAAQ68W,EAAS,CACrGr6T,cAAephI,EAAMohI,cACrB3gJ,MAAOA,EACPzhC,MAAOA,EACP2hL,aAAcA,EACd5qK,QAASmqF,IAAMgiF,aAAajyC,IAAOowC,GAAargI,EAAQooF,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CAClGqgI,UAAWA,KAEb1jL,IAAK,SAASmrB,OAAO2Y,UAlBhB,KAyBX,SAASi7c,EAAer9a,EAAO/tD,GAC7B,OAAK+tD,GAIS,IAAVA,EACkBqxD,IAAMx1G,cAAcshe,EAAW,CACjD7+e,IAAK,qBACL2T,KAAMA,IAIQo/G,IAAMoR,eAAeziE,IAAU6xE,IAAY7xE,GACvCqxD,IAAMx1G,cAAcshe,EAAW,CACjD7+e,IAAK,qBACL2T,KAAMA,EACN2W,QAASo3C,IAIT69E,IAAU79E,GACQqxD,IAAMx1G,cAAcshe,EAAWz0c,EAAS,CAC1Dz2B,KAAMA,GACL+tD,EAAO,CACR1hE,IAAK,wBAIF,KA1BE,KC9EX,SAASoqC,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS0sI,EAAe53F,EAAKp4C,GAAK,OAUlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAVtB63F,CAAgB73F,IAQzD,SAA+BA,EAAKp4C,GAAK,GAAsB,qBAAX0D,UAA4BA,OAAOC,YAAYrD,OAAO83C,IAAO,OAAQ,IAAI83F,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWjsI,OAAK4+B,EAAW,IAAM,IAAK,IAAiCstG,EAA7B3qF,EAAKtN,EAAI10C,OAAOC,cAAmBwsI,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAAtL,QAAuM,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EARjaI,CAAsBl4F,EAAKp4C,IAI5F,SAAqCyD,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJpTC,CAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAMzI,SAAS7C,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAMhL,SAASs3E,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAU5d,SAAS0/e,EAASz/e,GACvB,IAAIqY,EAASrY,EAAMqY,OACfizC,EAAStrD,EAAMsrD,OACfthD,EAAQhK,EAAMgK,MACd8pI,EAAU9zI,EAAM8zI,QAChB1/H,EAAOpU,EAAMoU,KACbsre,EAAqB1/e,EAAM0/e,mBAC3B/wG,EAAQ3uY,EAAM2uY,MACdC,EAAQ5uY,EAAM4uY,MACdlsQ,EAAS9S,EAAyB5vH,EAAO,CAAC,SAAU,SAAU,QAAS,UAAW,OAAQ,qBAAsB,QAAS,UAEzH2/e,EAAWjgW,YAAYhd,GACvBgW,EAAYtkI,EAAKyW,KAAI,SAAUi5B,EAAO7jD,GACxC,IAAI2/e,EAAsBF,EAAmB57b,EAAOgwF,GAChD7jI,EAAI2ve,EAAoB3ve,EACxBC,EAAI0ve,EAAoB1ve,EACxBpN,EAAQ88e,EAAoB98e,MAC5B+8e,EAAWD,EAAoBC,SAEnC,IAAKA,EACH,OAAO,KAGT,IACIC,EAAUC,EADVC,EAAkB,GAGtB,GAAIn8e,MAAMC,QAAQ+7e,GAAW,CAC3B,IAAII,EAAYhwW,EAAe4vW,EAAU,GAEzCC,EAAWG,EAAU,GACrBF,EAAYE,EAAU,QAEtBH,EAAWC,EAAYF,EAGzB,GAAe,aAAXv0b,EAAuB,CAEzB,IAAI53C,EAAQi7X,EAAMj7X,MACdwse,EAAOhwe,EAAImI,EACX+yN,EAAO80Q,EAAOl2e,EACdshO,EAAO40Q,EAAOl2e,EACdmhO,EAAOz3N,EAAM5Q,EAAQg9e,GACrBz0Q,EAAO33N,EAAM5Q,EAAQi9e,GAEzBC,EAAgB91e,KAAK,CACnB2G,GAAIw6N,EACJv6N,GAAIs6N,EACJr6N,GAAIs6N,EACJr6N,GAAIs6N,IAGN00Q,EAAgB91e,KAAK,CACnB2G,GAAIs6N,EACJr6N,GAAIove,EACJnve,GAAIs6N,EACJr6N,GAAIkve,IAGNF,EAAgB91e,KAAK,CACnB2G,GAAIs6N,EACJr6N,GAAIs6N,EACJr6N,GAAIo6N,EACJn6N,GAAIs6N,SAED,GAAe,eAAXhgL,EAAyB,CAElC,IAAI60b,EAASvxG,EAAMl7X,MACf0se,EAAOnwe,EAAIoI,EAEXgoe,EAAQD,EAAOp2e,EAEfs2e,EAAQF,EAAOp2e,EAEfu2e,EAAQJ,EAAOr9e,EAAQg9e,GAEvBU,EAAQL,EAAOr9e,EAAQi9e,GAG3BC,EAAgB91e,KAAK,CACnB2G,GAAIwve,EACJvve,GAAI0ve,EACJzve,GAAIuve,EACJtve,GAAIwve,IAGNR,EAAgB91e,KAAK,CACnB2G,GAAIuve,EACJtve,GAAIyve,EACJxve,GAAIqve,EACJpve,GAAIwve,IAGNR,EAAgB91e,KAAK,CACnB2G,GAAIwve,EACJvve,GAAIyve,EACJxve,GAAIuve,EACJtve,GAAIuve,IAIR,OAGE/sX,IAAMx1G,cAAcs4I,IAAOzrH,EAAS,CAClC9iB,UAAW,oBACXtnB,IAAK,OAAOmrB,OAAO3rB,IAClB0/e,GAAWK,EAAgBn1d,KAAI,SAAU41d,EAAal8c,GACvD,OAGEivF,IAAMx1G,cAAc,OAAQ6sB,EAAS,GAAI41c,EAAa,CACpDhgf,IAAK,QAAQmrB,OAAO2Y,aAM9B,OAAoBivF,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAW,sBACV2wH,GDrEL4mW,EAAUlkd,YAAc,YAwDxBkkd,EAAUn5T,mBAvBV,SAA4BC,EAAahyK,GACvC,IAAIsse,IAAkBn9e,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,KAAmBA,UAAU,GAErF,IAAK6iL,IAAgBA,EAAYxwK,UAAY8qe,IAAoBt6T,EAAYjkH,MAC3E,OAAO,KAGT,IAAIvsD,EAAWwwK,EAAYxwK,SACvB+qe,EAAkBhoW,YAAc/iI,EAAU0pe,EAAUlkd,aAAavQ,KAAI,SAAUjU,EAAO2tB,GACxF,OAAoBmiI,uBAAa9vJ,EAAO,CACtCxC,KAAMA,EACN3T,IAAK,aAAamrB,OAAO2Y,QAI7B,IAAKm8c,EACH,OAAOC,EAGT,IAAIC,EAAoBpB,EAAep5T,EAAYjkH,MAAO/tD,GAC1D,MAAO,CAACwse,GAAmBh1d,OAAOwsB,EAAmBuoc,KAIvDrB,EAAUt/W,aAAeA,ECczBy/W,EAASz/W,aAAe,CACtBhnH,OAAQ,QACRs3G,YAAa,IACbtmH,MAAO,EACPqO,OAAQ,EACRizC,OAAQ,cAEVm0b,EAASrkd,YAAc,W,oBCxJvB,SAAS87C,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAMnX,SAASwsF,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAIne,SAAS8qC,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAASgV,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAItF,SAAqC30C,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJxTC,CAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAUlI,SAASN,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAEhL,SAAS54C,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,GAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,GAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,GAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,GAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,GAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,GAA2Bv7H,KAAMH,IAE5Z,SAAS07H,GAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,GAAgBh7H,GAAwJ,OAAnJg7H,GAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAkBjM,IAAIu/C,GAAoB,SAAUurQ,IA9BzC,SAAmB9rT,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,GAAgB37H,EAAUC,GA+BjXF,CAAUwgD,EAAMurQ,GAEhB,IAnCoB5uT,EAAae,EAAYC,EAmCzCypD,EAAStnD,GAAakgD,GAE1B,SAASA,IACP,IAAItK,EAEJj5C,EAAgB0D,KAAM6/C,GAEtB,IAAK,IAAI2C,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GA0DzB,OAvDApa,EAAQ0R,EAAOjlD,KAAK5B,MAAM6mD,EAAQ,CAACjnD,MAAMwoB,OAAOk7B,KAC1C+5b,eAAY,EAClBloc,EAAMwvB,MAAQ,CACZ24a,qBAAqB,EACrBh3J,YAAa,GAGfnxS,EAAMooc,mBAAqB,SAAU7gf,EAAQ4pV,EAAaluS,GASxD,IARA,IAAI08T,EAAa18T,EAAMu2B,QAAO,SAAU3iC,EAAK7qC,GAC3C,OAAO6qC,EAAM7qC,KAEX6vC,EAAQjqC,KAAK0W,MAAM/gB,EAASo4W,GAC5B0oI,EAAe9gf,EAASo4W,EACxB2oI,EAAan3J,EAAc5pV,EAC3Bghf,EAAc,GAETjhf,EAAI,EAAGisG,EAAM,GAAIA,GAAOtwD,EAAM37C,KAAMA,EAC3C,GAAIisG,EAAMtwD,EAAM37C,GAAK+gf,EAAc,CACjCE,EAAc,GAAGt1d,OAAOwsB,EAAmBwD,EAAMxG,MAAM,EAAGn1C,IAAK,CAAC+gf,EAAe90Y,IAC/E,MAIJ,IAAIi1Y,EAAaD,EAAYhhf,OAAS,IAAM,EAAI,CAAC,EAAG+gf,GAAc,CAACA,GACnE,MAAO,GAAGr1d,OAAOwsB,EAAmB6K,EAAKw5C,OAAO7gD,EAAOpH,IAAS4D,EAAmB8oc,GAAcC,GAAYt2d,KAAI,SAAUtQ,GACzH,MAAO,GAAGqR,OAAOrR,EAAM,SACtB9K,KAAK,OAGVkpC,EAAMpxB,GAAKle,YAAS,kBAEpBsvC,EAAMg2S,QAAU,SAAU1nV,GACxB0xC,EAAMkoc,UAAY55e,GAGpB0xC,EAAMyoc,mBAAqB,WACzBzoc,EAAM8uH,SAAS,CACbq5U,qBAAqB,IAGnBnoc,EAAM34C,MAAM23J,gBACdh/G,EAAM34C,MAAM23J,kBAIhBh/G,EAAM0oc,qBAAuB,WAC3B1oc,EAAM8uH,SAAS,CACbq5U,qBAAqB,IAGnBnoc,EAAM34C,MAAMsvT,kBACd32Q,EAAM34C,MAAMsvT,oBAIT32Q,EAuUT,OA5aoB/4C,EAwGPqjD,EAxGgCriD,EAyXzC,CAAC,CACHH,IAAK,2BACLqC,MAAO,SAAkC0/I,EAAW2mB,GAClD,OAAI3mB,EAAU8+V,cAAgBn4U,EAAUo4U,gBAC/B,CACLA,gBAAiB/+V,EAAU8+V,YAC3BE,UAAWh/V,EAAU/nI,OACrBgne,WAAYt4U,EAAUq4U,WAItBh/V,EAAU/nI,SAAW0uJ,EAAUq4U,UAC1B,CACLA,UAAWh/V,EAAU/nI,QAIlB,OAER,CACDha,IAAK,SACLqC,MAAO,SAAgB84C,EAAOpH,GAI5B,IAHA,IAAIktc,EAAY9lc,EAAM17C,OAAS,IAAM,EAAI,GAAG0rB,OAAOwsB,EAAmBwD,GAAQ,CAAC,IAAMA,EACjF34C,EAAS,GAEJhD,EAAI,EAAGA,EAAIu0C,IAASv0C,EAC3BgD,EAAS,GAAG2oB,OAAOwsB,EAAmBn1C,GAASm1C,EAAmBspc,IAGpE,OAAOz+e,IAER,CACDxC,IAAK,gBACLqC,MAAO,SAAuBu8T,EAAQr/T,GACpC,IAAI2hf,EAEJ,GAAkBnuX,IAAMoR,eAAey6L,GACrCsiL,EAAuBnuX,IAAMkzC,aAAa24J,EAAQr/T,QAC7C,GAAIg0I,IAAYqrL,GACrBsiL,EAAUtiL,EAAOr/T,OACZ,CACL,IAAI+nB,EAAY2mG,IAAW,oBAAqB2wM,EAASA,EAAOt3S,UAAY,IAC5E45d,EAAuBnuX,IAAMx1G,cAAc4yT,IAAK/lS,EAAS,GAAI7qC,EAAO,CAClE+nB,UAAWA,KAIf,OAAO45d,MAxasBhhf,EAwGd,CAAC,CAClBF,IAAK,oBACLqC,MAEA,WACE,GAAKM,KAAKpD,MAAMmqV,kBAAhB,CAIA,IAAIL,EAAc1mV,KAAK2mV,iBACvB3mV,KAAKqkK,SAAS,CACZqiL,YAAaA,OAGhB,CACDrpV,IAAK,iBACLqC,MAAO,WACL,IAAI8+e,EAAWx+e,KAAKy9e,UAEpB,IACE,OAAOe,GAAYA,EAAS73J,gBAAkB63J,EAAS73J,kBAAoB,EAC3E,MAAOxlV,GACP,OAAO,KAGV,CACD9D,IAAK,iBACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAMmqV,oBAAsB/mV,KAAK+kE,MAAM24a,oBAC9C,OAAO,KAGT,IAAIpoV,EAAct1J,KAAKpD,MACnBya,EAASi+I,EAAYj+I,OACrBk0X,EAAQj2O,EAAYi2O,MACpBC,EAAQl2O,EAAYk2O,MACpBtjV,EAASotG,EAAYptG,OACrB11C,EAAW8iJ,EAAY9iJ,SACvBise,EAAgBlpW,YAAc/iI,EAAU6pe,EAASrkd,aAErD,IAAKymd,EACH,OAAO,KAGT,SAASnC,EAAmBoC,EAAWhuW,GACrC,MAAO,CACL7jI,EAAG6xe,EAAU7xe,EACbC,EAAG4xe,EAAU5xe,EACbpN,MAAOg/e,EAAUh/e,MACjB+8e,SAAUhsW,YAAkBiuW,EAAU9rW,QAASlC,IAInD,OAAO+tW,EAAch3d,KAAI,SAAUC,EAAM7qB,GACvC,OAAoBuzH,IAAMkzC,aAAa57I,EAAM,CAE3CrqB,IAAK,OAAOmrB,OAAO3rB,GACnBmU,KAAMqG,EACNk0X,MAAOA,EACPC,MAAOA,EACPtjV,OAAQA,EACRo0b,mBAAoBA,SAIzB,CACDj/e,IAAK,aACLqC,MAAO,SAAoBi/e,EAAU7zG,GAGnC,GAFwB9qY,KAAKpD,MAAMmqV,oBAET/mV,KAAK+kE,MAAM24a,oBACnC,OAAO,KAGT,IAAI5nV,EAAe91J,KAAKpD,MACpB2rE,EAAMutF,EAAavtF,IACnBlxD,EAASy+I,EAAaz+I,OACtBq5H,EAAUolB,EAAaplB,QACvBg9V,EAAYpxV,YAAYt8I,KAAKpD,OAC7Bgif,EAAiBtiW,YAAY/zE,GAAK,GAClC4jU,EAAO90X,EAAOoQ,KAAI,SAAUi5B,EAAO7jD,GACrC,IAAIire,EAAWh/V,EAAcA,EAAcA,EAAc,CACvDzrI,IAAK,OAAOmrB,OAAO3rB,GACnB0F,EAAG,GACFmre,GAAYkR,GAAiB,GAAI,CAClCl/e,MAAOghD,EAAMhhD,MACbgxI,QAASA,EACTxgI,GAAIwwC,EAAM7zC,EACVsD,GAAIuwC,EAAM5zC,EACVq0B,MAAOtkC,EACP+1I,QAASlyF,EAAMkyF,UAGjB,OAAO/yF,EAAKg/b,cAAct2a,EAAKu/Z,MAE7BgX,EAAY,CACdp8d,SAAUi8d,EAAW,iBAAiBn2d,OAAOsiX,EAAY,KAAO,MAElE,OAAoB16Q,IAAMx1G,cAAcs4I,IAAOzrH,EAAS,CACtD9iB,UAAW,qBACXtnB,IAAK,QACJyhf,EAAW,CACZp/T,KAAM,QACJysN,KAEL,CACD9uY,IAAK,wBACLqC,MAAO,SAA+B2X,EAAQsne,EAAU7zG,EAAYluY,GAElE,IAAI6uT,EAAezrT,KAAKpD,MACpBqU,EAAOw6S,EAAax6S,KACpBi3C,EAASujQ,EAAavjQ,OACtB6iS,EAAet/B,EAAas/B,aAE5BzrN,GADMmsL,EAAar9O,IACVo+C,EAAyBi/L,EAAc,CAAC,OAAQ,SAAU,eAAgB,SAEnFszL,EAAaj2W,EAAcA,EAAcA,EAAc,GAAIwT,YAAYhd,GAAQ,IAAQ,GAAI,CAC7F3pH,KAAM,OACNgP,UAAW,sBACXjC,SAAUi8d,EAAW,iBAAiBn2d,OAAOsiX,EAAY,KAAO,KAChEzzX,OAAQA,GACPza,GAAQ,GAAI,CACbqU,KAAMA,EACNi3C,OAAQA,EACR6iS,aAAcA,IAGhB,OAAoB36N,IAAMx1G,cAAcgwU,IAAOnjT,EAAS,GAAIs3c,EAAY,CACtExzJ,QAASvrV,KAAKurV,aAGjB,CACDluV,IAAK,2BACLqC,MAAO,SAAkCi/e,EAAU7zG,GACjD,IAAIzuV,EAASr8C,KAETotT,EAAeptT,KAAKpD,MACpBya,EAAS+1S,EAAa/1S,OACtB01U,EAAkB3/B,EAAa2/B,gBAC/BhG,EAAoB35B,EAAa25B,kBACjCD,EAAiB15B,EAAa05B,eAC9BD,EAAoBz5B,EAAay5B,kBACjCD,EAAkBx5B,EAAaw5B,gBAC/Bs3J,EAAc9wL,EAAa8wL,YAC3Bc,EAAmB5xL,EAAa4xL,iBAChCp4e,EAAQwmT,EAAaxmT,MACrBC,EAASumT,EAAavmT,OACtB2mL,EAAcxtL,KAAK+kE,MACnBs5a,EAAa7wT,EAAY6wT,WACzB33J,EAAcl5J,EAAYk5J,YAC9B,OAAoBt2N,IAAMx1G,cAAcuwS,IAAS,CAC/C1uS,MAAOqqU,EACPtqU,SAAUqqU,EACVx+K,SAAU0+K,EACVnwT,OAAQgwT,EACR7tU,KAAM,CACJtW,EAAG,GAEL+a,GAAI,CACF/a,EAAG,GAELpF,IAAK,QAAQmrB,OAAO01d,GACpB3pV,eAAgBv0J,KAAKg+e,mBACrB9xL,iBAAkBlsT,KAAKi+e,uBACtB,SAAUnxX,GACX,IAAIrqH,EAAIqqH,EAAKrqH,EAEb,GAAI47e,EAAY,CACd,IAAIY,EAAuBZ,EAAWvhf,OAASua,EAAOva,OAClDoif,EAAW7ne,EAAOoQ,KAAI,SAAUi5B,EAAOvf,GACzC,IAAIg+c,EAAiBh4e,KAAK0W,MAAMsjB,EAAQ89c,GAExC,GAAIZ,EAAWc,GAAiB,CAC9B,IAAIxla,EAAO0ka,EAAWc,GAClBC,EAAgBv3X,YAAkBluC,EAAK9sE,EAAG6zC,EAAM7zC,GAChDwye,EAAgBx3X,YAAkBluC,EAAK7sE,EAAG4zC,EAAM5zC,GACpD,OAAOg8H,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CACjD7zC,EAAGuye,EAAc38e,GACjBqK,EAAGuye,EAAc58e,KAKrB,GAAIu8e,EAAkB,CACpB,IAAIM,EAAiBz3X,YAA0B,EAARjhH,EAAW85C,EAAM7zC,GAEpD0ye,EAAiB13X,YAAkBhhH,EAAS,EAAG65C,EAAM5zC,GAEzD,OAAOg8H,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CACjD7zC,EAAGyye,EAAe78e,GAClBqK,EAAGyye,EAAe98e,KAItB,OAAOqmI,EAAcA,EAAc,GAAIpoF,GAAQ,GAAI,CACjD7zC,EAAG6zC,EAAM7zC,EACTC,EAAG4zC,EAAM5zC,OAGb,OAAOuvC,EAAOmjc,sBAAsBN,EAAUP,EAAU7zG,GAG1D,IAEI20G,EADAC,EADe73X,YAAkB,EAAG6+N,EACxB1mM,CAAav9I,GAG7B,GAAIsqV,EAAiB,CACnB,IAAIv0S,EAAQ,GAAGhwB,OAAOukU,GAAiBxgV,MAAM,aAAakb,KAAI,SAAU4kH,GACtE,OAAO9iI,WAAW8iI,MAEpBozW,EAAyBpjc,EAAOshc,mBAAmB+B,EAAWh5J,EAAaluS,QAE3Einc,EAAyB,GAAGj3d,OAAOk3d,EAAW,OAAOl3d,OAAOk+T,EAAcg5J,EAAW,MAGvF,OAAOrjc,EAAOmjc,sBAAsBnoe,EAAQsne,EAAU7zG,EAAY,CAChE/9C,gBAAiB0yJ,SAItB,CACDpif,IAAK,cACLqC,MAAO,SAAqBi/e,EAAU7zG,GACpC,IAAIx7D,EAAetvU,KAAKpD,MACpBya,EAASi4T,EAAaj4T,OACtB0vU,EAAoBzX,EAAayX,kBACjCqH,EAAepuV,KAAK+kE,MACpBs5a,EAAajwJ,EAAaiwJ,WAC1B33J,EAAc0H,EAAa1H,YAE/B,OAAIK,GAAqB1vU,GAAUA,EAAOva,UAAYuhf,GAAc33J,EAAc,IAAM3qM,IAASsiW,EAAYhne,IACpGrX,KAAK2/e,yBAAyBhB,EAAU7zG,GAG1C9qY,KAAKw/e,sBAAsBnoe,EAAQsne,EAAU7zG,KAErD,CACDztY,IAAK,SACLqC,MAAO,WACL,IAAIgwU,EAAe1vU,KAAKpD,MACpBg1D,EAAO89Q,EAAa99Q,KACpB2W,EAAMmnQ,EAAannQ,IACnBlxD,EAASq4T,EAAar4T,OACtBsN,EAAY+qT,EAAa/qT,UACzB4mX,EAAQ77D,EAAa67D,MACrBC,EAAQ97D,EAAa87D,MACrBz0V,EAAM24R,EAAa34R,IACnBF,EAAO64R,EAAa74R,KACpBjwC,EAAQ8oU,EAAa9oU,MACrBC,EAAS6oU,EAAa7oU,OACtBkgV,EAAoBrX,EAAaqX,kBACjC5iU,EAAKurT,EAAavrT,GAEtB,GAAIytC,IAASv6C,IAAWA,EAAOva,OAC7B,OAAO,KAGT,IAAI4gf,EAAsB19e,KAAK+kE,MAAM24a,oBACjCkC,EAAmC,IAAlBvoe,EAAOva,OACxBs2J,EAAa9nC,IAAW,gBAAiB3mG,GACzCg6d,EAAWpzG,GAASA,EAAMlwP,mBAAqBmwP,GAASA,EAAMnwP,kBAC9DyvP,EAAan6P,IAAOxsH,GAAMnkB,KAAKmkB,GAAKA,EACxC,OAAoBisG,IAAMx1G,cAAcs4I,IAAO,CAC7CvuI,UAAWyuI,GACVurV,EAAwBvuX,IAAMx1G,cAAc,OAAQ,KAAmBw1G,IAAMx1G,cAAc,WAAY,CACxGuJ,GAAI,YAAYqE,OAAOsiX,IACT16Q,IAAMx1G,cAAc,OAAQ,CAC1C/N,EAAGgqC,EACH/pC,EAAGiqC,EACHnwC,MAAOA,EACPC,OAAQA,MACH,MAAO+4e,GAAkB5/e,KAAK6/e,YAAYlB,EAAU7zG,GAAa9qY,KAAK8/e,kBAAmBF,GAAkBr3a,IAAQvoE,KAAK+/e,WAAWpB,EAAU7zG,KAAe/jD,GAAqB22J,IAAwBxB,EAAUn5T,mBAAmB/iL,KAAKpD,MAAOya,SAvXjL3a,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA4a3KqiD,EA5YsB,CA6Y7B4tQ,iBACF5tQ,GAAK7nB,YAAc,OACnB6nB,GAAK+8E,aAAe,CAClBkvQ,QAAS,EACTC,QAAS,EACThhD,cAAc,EACd88I,WAAW,EACXt/Z,KAAK,EACLwqE,WAAY,OACZn9H,OAAQ,UACRs3G,YAAa,EACbv3G,KAAM,OACN0B,OAAQ,GACR0vU,mBAAoB5mK,IAAOC,MAC3B4+T,kBAAkB,EAClBl4J,eAAgB,EAChBD,kBAAmB,KACnBD,gBAAiB,OACjBh1R,MAAM,EACNmN,OAAO,GAGTlf,GAAKoib,gBAAkB,SAAUl7V,GAC/B,IAAInqI,EAAQmqI,EAAMnqI,MACd2uY,EAAQxkQ,EAAMwkQ,MACdC,EAAQzkQ,EAAMykQ,MACdw0G,EAAaj5W,EAAMi5W,WACnBC,EAAal5W,EAAMk5W,WACnBvvW,EAAU3J,EAAM2J,QAChB4D,EAAWvN,EAAMuN,SACjB+pV,EAAgBt3V,EAAMs3V,cACtBppd,EAAS8xH,EAAM9xH,OACfizC,EAAStrD,EAAMsrD,OAgCnB,OAAO4gF,EAAc,CACnBzxH,OAhCWgnd,EAAc52c,KAAI,SAAUi5B,EAAOvf,GAC9C,IAAIzhC,EAAQ+wI,YAAkB/vF,EAAOgwF,GAErC,MAAe,eAAXxoF,EACK,CACLr7C,EAAG2tI,YAAwB,CACzB/I,KAAM85P,EACNh6P,MAAOyuW,EACP1rW,SAAUA,EACV5zF,MAAOA,EACPvf,MAAOA,IAETr0B,EAAG6jI,IAAOjxI,GAAS,KAAO8rY,EAAMl7X,MAAM5Q,GACtCA,MAAOA,EACPkzI,QAASlyF,GAIN,CACL7zC,EAAG8jI,IAAOjxI,GAAS,KAAO6rY,EAAMj7X,MAAM5Q,GACtCoN,EAAG0tI,YAAwB,CACzB/I,KAAM+5P,EACNj6P,MAAO0uW,EACP3rW,SAAUA,EACV5zF,MAAOA,EACPvf,MAAOA,IAETzhC,MAAOA,EACPkzI,QAASlyF,MAKXwH,OAAQA,GACPjzC,K,2ElO3gBC,G,OAAO,YAA2B,OAAQ,CAC9C,IAAK,kBAAM,yCAAgB,MAAK,YAAC,OAAI,IAAI,EAAE,gB,6BmOR7C,wEAAIire,EAAM/4e,KAAKC,KAAK,IAChB+4e,EAAKh5e,KAAKC,KAAK,IACfitO,EAAKltO,KAAKC,KAAK,GAkCZ,SAAS+zJ,EAAcrjJ,EAAOrU,EAAM2tC,GACzC,IAAI9vC,GAAQmC,EAAOqU,GAAS3Q,KAAK+K,IAAI,EAAGk/B,GACpCgvc,EAAQj5e,KAAK0W,MAAM1W,KAAKvB,IAAItE,GAAQ6F,KAAKo5I,MACzCptH,EAAQ7xB,EAAO6F,KAAKE,IAAI,GAAI+4e,GAChC,OAAOA,GAAS,GACTjtd,GAAS+sd,EAAM,GAAK/sd,GAASgtd,EAAK,EAAIhtd,GAASkhN,EAAK,EAAI,GAAKltO,KAAKE,IAAI,GAAI+4e,IAC1Ej5e,KAAKE,IAAI,IAAK+4e,IAAUjtd,GAAS+sd,EAAM,GAAK/sd,GAASgtd,EAAK,EAAIhtd,GAASkhN,EAAK,EAAI,GAGlF,SAAS4oH,EAASnlV,EAAOrU,EAAM2tC,GACpC,IAAIivc,EAAQl5e,KAAKwjD,IAAIlnD,EAAOqU,GAAS3Q,KAAK+K,IAAI,EAAGk/B,GAC7Ckvc,EAAQn5e,KAAKE,IAAI,GAAIF,KAAK0W,MAAM1W,KAAKvB,IAAIy6e,GAASl5e,KAAKo5I,OACvDptH,EAAQktd,EAAQC,EAIpB,OAHIntd,GAAS+sd,EAAKI,GAAS,GAClBntd,GAASgtd,EAAIG,GAAS,EACtBntd,GAASkhN,IAAIisQ,GAAS,GACxB78e,EAAOqU,GAASwoe,EAAQA,EAhDlB,aAASxoe,EAAOrU,EAAM2tC,GACnC,IAAIpxB,EAEAnf,EACA0wI,EACAjwI,EAHAzE,GAAK,EAMT,GAD8Bu0C,GAASA,GAAzBt5B,GAASA,MAAvBrU,GAAQA,IACc2tC,EAAQ,EAAG,MAAO,CAACt5B,GAEzC,IADIkI,EAAUvc,EAAOqU,KAAOjX,EAAIiX,EAAOA,EAAQrU,EAAMA,EAAO5C,GACT,KAA9CS,EAAO65J,EAAcrjJ,EAAOrU,EAAM2tC,MAAkBu9F,SAASrtI,GAAO,MAAO,GAEhF,GAAIA,EAAO,EAAG,CACZ,IAAIumJ,EAAK1gJ,KAAKi9G,MAAMtsG,EAAQxW,GAAO29E,EAAK93E,KAAKi9G,MAAM3gH,EAAOnC,GAI1D,IAHIumJ,EAAKvmJ,EAAOwW,KAAS+vI,EACrB5oE,EAAK39E,EAAOmC,KAAQw7E,EACxBsyD,EAAQ,IAAI9wI,MAAMI,EAAIo+E,EAAK4oE,EAAK,KACvBhrJ,EAAIgE,GAAG0wI,EAAM10I,IAAMgrJ,EAAKhrJ,GAAKyE,MACjC,CACLA,GAAQA,EACR,IAAIumJ,EAAK1gJ,KAAKi9G,MAAMtsG,EAAQxW,GAAO29E,EAAK93E,KAAKi9G,MAAM3gH,EAAOnC,GAI1D,IAHIumJ,EAAKvmJ,EAAOwW,KAAS+vI,EACrB5oE,EAAK39E,EAAOmC,KAAQw7E,EACxBsyD,EAAQ,IAAI9wI,MAAMI,EAAIo+E,EAAK4oE,EAAK,KACvBhrJ,EAAIgE,GAAG0wI,EAAM10I,IAAMgrJ,EAAKhrJ,GAAKyE,EAKxC,OAFI0e,GAASuxH,EAAMvxH,UAEZuxH,I,kCCxBI,IAAIxvI,EAAE3L,EAAQ,KAAiByK,EAAE,oBAAoBN,QAAQA,OAAO6nH,IAAInlH,EAAEpC,EAAEN,OAAO6nH,IAAI,iBAAiB,MAAMC,EAAExnH,EAAEN,OAAO6nH,IAAI,gBAAgB,MAAM7lH,EAAE1B,EAAEN,OAAO6nH,IAAI,kBAAkB,MAAM3lH,EAAE5B,EAAEN,OAAO6nH,IAAI,qBAAqB,MAAMpuG,EAAEnZ,EAAEN,OAAO6nH,IAAI,kBAAkB,MAAMl7G,EAAErM,EAAEN,OAAO6nH,IAAI,kBAAkB,MAAMpzF,EAAEn0B,EAAEN,OAAO6nH,IAAI,iBAAiB,MAAMv7G,EAAEhM,EAAEN,OAAO6nH,IAAI,qBAAqB,MAAMt7G,EAAEjM,EAAEN,OAAO6nH,IAAI,kBAAkB,MAAM/vB,EAAEx3F,EAAEN,OAAO6nH,IAAI,cAAc,MAAMG,EAAE1nH,EAAEN,OAAO6nH,IAAI,cACxe,MAAMwoE,EAAE,oBAAoBrwL,QAAQA,OAAOC,SAAS,SAASorJ,EAAEj/I,GAAG,IAAI,IAAIzC,EAAE,yDAAyDyC,EAAEzK,EAAE,EAAEA,EAAE/B,UAAUrD,OAAOoF,IAAIgI,GAAG,WAAW+d,mBAAmB9nB,UAAU+B,IAAI,MAAM,yBAAyByK,EAAE,WAAWzC,EAAE,iHAC/P,IAAI6qL,EAAE,CAACwrT,UAAU,WAAW,OAAM,GAAIC,mBAAmB,aAAaC,oBAAoB,aAAaC,gBAAgB,cAAcxvT,EAAE,GAAG,SAASvwL,EAAEgM,EAAEzC,EAAEhI,GAAGlC,KAAKpD,MAAM+P,EAAE3M,KAAKs1D,QAAQprD,EAAElK,KAAKy+B,KAAKyyJ,EAAElxL,KAAK2gf,QAAQz+e,GAAG6yL,EACpN,SAASW,KAA6B,SAASJ,EAAE3oL,EAAEzC,EAAEhI,GAAGlC,KAAKpD,MAAM+P,EAAE3M,KAAKs1D,QAAQprD,EAAElK,KAAKy+B,KAAKyyJ,EAAElxL,KAAK2gf,QAAQz+e,GAAG6yL,EADsGp0L,EAAElD,UAAUg5a,iBAAiB,GAAG91a,EAAElD,UAAU4mK,SAAS,SAAS13J,EAAEzC,GAAG,GAAG,kBAAkByC,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAMuyB,MAAM0sH,EAAE,KAAK5rJ,KAAK2gf,QAAQD,gBAAgB1gf,KAAK2M,EAAEzC,EAAE,aAAavJ,EAAElD,UAAUmjf,YAAY,SAASj0e,GAAG3M,KAAK2gf,QAAQH,mBAAmBxgf,KAAK2M,EAAE,gBACnd+oL,EAAEj4L,UAAUkD,EAAElD,UAAsF,IAAIuyL,EAAEsF,EAAE73L,UAAU,IAAIi4L,EAAE1F,EAAEvwL,YAAY61L,EAAEvzL,EAAEiuL,EAAErvL,EAAElD,WAAWuyL,EAAE6wT,sBAAqB,EAAG,IAAI9qT,EAAE,CAAC/9K,QAAQ,MAAM0+K,EAAEv5L,OAAOM,UAAUuF,eAAe6sL,EAAE,CAACxyL,KAAI,EAAG+wE,KAAI,EAAG0ya,QAAO,EAAGC,UAAS,GAChS,SAAS7rd,EAAEvoB,EAAEzC,EAAEhI,GAAG,IAAInB,EAAEoB,EAAE,GAAG8H,EAAE,KAAK2X,EAAE,KAAK,GAAG,MAAM1X,EAAE,IAAInJ,UAAK,IAASmJ,EAAEkkE,MAAMxsD,EAAE1X,EAAEkkE,UAAK,IAASlkE,EAAE7M,MAAM4M,EAAE,GAAGC,EAAE7M,KAAK6M,EAAEwsL,EAAE10L,KAAKkI,EAAEnJ,KAAK8uL,EAAE7sL,eAAejC,KAAKoB,EAAEpB,GAAGmJ,EAAEnJ,IAAI,IAAIE,EAAEd,UAAUrD,OAAO,EAAE,GAAG,IAAImE,EAAEkB,EAAEqQ,SAAStQ,OAAO,GAAG,EAAEjB,EAAE,CAAC,IAAI,IAAI+yB,EAAEvzB,MAAMQ,GAAGgB,EAAE,EAAEA,EAAEhB,EAAEgB,IAAI+xB,EAAE/xB,GAAG9B,UAAU8B,EAAE,GAAGE,EAAEqQ,SAASwhB,EAAE,GAAGrnB,GAAGA,EAAEiwH,aAAa,IAAI77H,KAAKE,EAAE0L,EAAEiwH,kBAAe,IAASz6H,EAAEpB,KAAKoB,EAAEpB,GAAGE,EAAEF,IAAI,MAAM,CAACunH,SAASrlH,EAAEgO,KAAKtE,EAAEtP,IAAI4M,EAAEmkE,IAAIxsD,EAAEhlB,MAAMuF,EAAE6+e,OAAOjrT,EAAE/9K,SACxU,SAASid,EAAEtoB,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE27G,WAAWrlH,EAA0G,IAAIw3B,EAAE,OAAOy7J,EAAE,GAAG,SAAShB,EAAEvoL,EAAEzC,EAAEhI,EAAEnB,GAAG,GAAGm1L,EAAEp5L,OAAO,CAAC,IAAIqF,EAAE+zL,EAAElvL,MAA8D,OAAxD7E,EAAEtC,OAAO8M,EAAExK,EAAE8+e,UAAU/2e,EAAE/H,EAAEstD,KAAKvtD,EAAEC,EAAEmzD,QAAQv0D,EAAEoB,EAAEivC,MAAM,EAASjvC,EAAE,MAAM,CAACtC,OAAO8M,EAAEs0e,UAAU/2e,EAAEulD,KAAKvtD,EAAEozD,QAAQv0D,EAAEqwC,MAAM,GAC5b,SAASzW,EAAEhuB,GAAGA,EAAE9M,OAAO,KAAK8M,EAAEs0e,UAAU,KAAKt0e,EAAE8iD,KAAK,KAAK9iD,EAAE2oD,QAAQ,KAAK3oD,EAAEykC,MAAM,EAAE,GAAG8kJ,EAAEp5L,QAAQo5L,EAAEpvL,KAAK6F,GAE2F,SAAS8oL,EAAE9oL,EAAEzC,EAAEhI,GAAG,OAAO,MAAMyK,EAAE,EADlO,SAASyoL,EAAEzoL,EAAEzC,EAAEhI,EAAEnB,GAAG,IAAIoB,SAASwK,EAAK,cAAcxK,GAAG,YAAYA,IAAEwK,EAAE,MAAK,IAAI1C,GAAE,EAAG,GAAG,OAAO0C,EAAE1C,GAAE,OAAQ,OAAO9H,GAAG,IAAK,SAAS,IAAK,SAAS8H,GAAE,EAAG,MAAM,IAAK,SAAS,OAAO0C,EAAE27G,UAAU,KAAKrlH,EAAE,KAAKolH,EAAEp+G,GAAE,GAAI,GAAGA,EAAE,OAAO/H,EAAEnB,EAAE4L,EAAE,KAAKzC,EAAE,IAAIm9D,EAAE16D,EAAE,GAAGzC,GAAG,EAAyB,GAAvBD,EAAE,EAAEC,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOzJ,MAAMC,QAAQiM,GAAG,IAAI,IAAIiV,EAAE,EAAEA,EAAEjV,EAAE7P,OAAO8kB,IAAI,CAAQ,IAAI3gB,EAAEiJ,EAAEm9D,EAAfllE,EAAEwK,EAAEiV,GAAeA,GAAG3X,GAAGmrL,EAAEjzL,EAAElB,EAAEiB,EAAEnB,QAAQ,GAAG,OAAO4L,GAAG,kBAAkBA,EAAE1L,EAAE,KAAiCA,EAAE,oBAA7BA,EAAE2vL,GAAGjkL,EAAEikL,IAAIjkL,EAAE,eAAsC1L,EAAE,KAAM,oBAAoBA,EAAE,IAAI0L,EAAE1L,EAAEe,KAAK2K,GAAGiV,EACpf,IAAIzf,EAAEwK,EAAEpL,QAAQT,MAA6BmJ,GAAGmrL,EAA1BjzL,EAAEA,EAAEzC,MAAMuB,EAAEiJ,EAAEm9D,EAAEllE,EAAEyf,KAAc1f,EAAEnB,QAAQ,GAAG,WAAWoB,EAAE,MAAMD,EAAE,GAAGyK,EAAEuyB,MAAM0sH,EAAE,GAAG,oBAAoB1pJ,EAAE,qBAAqB/E,OAAO23B,KAAKnoB,GAAGN,KAAK,MAAM,IAAInK,EAAE,KAAK,OAAO+H,EAAqCmrL,CAAEzoL,EAAE,GAAGzC,EAAEhI,GAAG,SAASmlE,EAAE16D,EAAEzC,GAAG,MAAM,kBAAkByC,GAAG,OAAOA,GAAG,MAAMA,EAAEtP,IAH9I,SAAgBsP,GAAG,IAAIzC,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,KAAK,GAAGyC,GAAGlF,QAAQ,SAAQ,SAASkF,GAAG,OAAOzC,EAAEyC,MAG+CopT,CAAOppT,EAAEtP,KAAK6M,EAAEkC,SAAS,IAAI,SAASopL,EAAE7oL,EAAEzC,GAAGyC,EAAE8iD,KAAKztD,KAAK2K,EAAE2oD,QAAQprD,EAAEyC,EAAEykC,SACxX,SAASsiL,EAAG/mN,EAAEzC,EAAEhI,GAAG,IAAInB,EAAE4L,EAAE9M,OAAOsC,EAAEwK,EAAEs0e,UAAUt0e,EAAEA,EAAE8iD,KAAKztD,KAAK2K,EAAE2oD,QAAQprD,EAAEyC,EAAEykC,SAAS3wC,MAAMC,QAAQiM,GAAG6gH,EAAE7gH,EAAE5L,EAAEmB,GAAE,SAASyK,GAAG,OAAOA,KAAI,MAAMA,IAAIsoB,EAAEtoB,KAAKA,EAJtJ,SAAWA,EAAEzC,GAAG,MAAM,CAACo+G,SAASrlH,EAAEgO,KAAKtE,EAAEsE,KAAK5T,IAAI6M,EAAEkkE,IAAIzhE,EAAEyhE,IAAIxxE,MAAM+P,EAAE/P,MAAMokf,OAAOr0e,EAAEq0e,QAImEpxT,CAAEjjL,EAAExK,IAAIwK,EAAEtP,KAAK6M,GAAGA,EAAE7M,MAAMsP,EAAEtP,IAAI,IAAI,GAAGsP,EAAEtP,KAAKoK,QAAQgzB,EAAE,OAAO,KAAKv4B,IAAInB,EAAE+F,KAAK6F,IAAI,SAAS6gH,EAAE7gH,EAAEzC,EAAEhI,EAAEnB,EAAEoB,GAAG,IAAI8H,EAAE,GAAG,MAAM/H,IAAI+H,GAAG,GAAG/H,GAAGuF,QAAQgzB,EAAE,OAAO,KAAkBg7J,EAAE9oL,EAAE+mN,EAAjBxpN,EAAEgrL,EAAEhrL,EAAED,EAAElJ,EAAEoB,IAAaw4B,EAAEzwB,GAAG,IAAI0rL,EAAE,CAAC59K,QAAQ,MAAM,SAAS4+K,IAAI,IAAIjqL,EAAEipL,EAAE59K,QAAQ,GAAG,OAAOrL,EAAE,MAAMuyB,MAAM0sH,EAAE,MAAM,OAAOj/I,EACxa,IAAI8+M,EAAG,CAACy1R,uBAAuBtrT,EAAEurT,wBAAwB,CAACC,SAAS,MAAMC,kBAAkBtrT,EAAEurT,qBAAqB,CAACtpe,SAAQ,GAAI0f,OAAO31B,GAAG5L,EAAQsoJ,SAAS,CAACh3H,IAAI,SAAS9a,EAAEzC,EAAEhI,GAAG,GAAG,MAAMyK,EAAE,OAAOA,EAAE,IAAI5L,EAAE,GAAmB,OAAhBysH,EAAE7gH,EAAE5L,EAAE,KAAKmJ,EAAEhI,GAAUnB,GAAGg0B,QAAQ,SAASpoB,EAAEzC,EAAEhI,GAAG,GAAG,MAAMyK,EAAE,OAAOA,EAAqB8oL,EAAE9oL,EAAE6oL,EAAvBtrL,EAAEgrL,EAAE,KAAK,KAAKhrL,EAAEhI,IAAYy4B,EAAEzwB,IAAIknC,MAAM,SAASzkC,GAAG,OAAO8oL,EAAE9oL,GAAE,WAAW,OAAO,OAAM,OAAO6xI,QAAQ,SAAS7xI,GAAG,IAAIzC,EAAE,GAAqC,OAAlCsjH,EAAE7gH,EAAEzC,EAAE,MAAK,SAASyC,GAAG,OAAOA,KAAWzC,GAAGy+K,KAAK,SAASh8K,GAAG,IAAIsoB,EAAEtoB,GAAG,MAAMuyB,MAAM0sH,EAAE,MAAM,OAAOj/I,IAC9exW,EAAQ2mI,UAAUn8H,EAAExK,EAAQovI,SAAShjI,EAAEpM,EAAQuvI,SAAS1rH,EAAE7jB,EAAQs3T,cAAcn4H,EAAEn/L,EAAQwvI,WAAWljI,EAAEtM,EAAQyvI,SAAS94H,EAAE3W,EAAQorf,mDAAmD91R,EACrLt1N,EAAQmtK,aAAa,SAAS32J,EAAEzC,EAAEhI,GAAG,GAAG,OAAOyK,QAAG,IAASA,EAAE,MAAMuyB,MAAM0sH,EAAE,IAAIj/I,IAAI,IAAI5L,EAAEgB,EAAE,GAAG4K,EAAE/P,OAAOuF,EAAEwK,EAAEtP,IAAI4M,EAAE0C,EAAEyhE,IAAIxsD,EAAEjV,EAAEq0e,OAAO,GAAG,MAAM92e,EAAE,CAAoE,QAAnE,IAASA,EAAEkkE,MAAMnkE,EAAEC,EAAEkkE,IAAIxsD,EAAEm0K,EAAE/9K,cAAS,IAAS9N,EAAE7M,MAAM8E,EAAE,GAAG+H,EAAE7M,KAAQsP,EAAEsE,MAAMtE,EAAEsE,KAAK2rH,aAAa,IAAI37H,EAAE0L,EAAEsE,KAAK2rH,aAAa,IAAI5oG,KAAK9pB,EAAEwsL,EAAE10L,KAAKkI,EAAE8pB,KAAK67J,EAAE7sL,eAAegxB,KAAKjzB,EAAEizB,QAAG,IAAS9pB,EAAE8pB,SAAI,IAAS/yB,EAAEA,EAAE+yB,GAAG9pB,EAAE8pB,IAAI,IAAIA,EAAE7zB,UAAUrD,OAAO,EAAE,GAAG,IAAIk3B,EAAEjzB,EAAEyR,SAAStQ,OAAO,GAAG,EAAE8xB,EAAE,CAAC/yB,EAAER,MAAMuzB,GAAG,IAAI,IAAI/xB,EAAE,EAAEA,EAAE+xB,EAAE/xB,IAAIhB,EAAEgB,GAAG9B,UAAU8B,EAAE,GAAGlB,EAAEyR,SAASvR,EAAE,MAAM,CAACqnH,SAASrlH,EAAEgO,KAAKtE,EAAEsE,KACxf5T,IAAI8E,EAAEisE,IAAInkE,EAAErN,MAAMmE,EAAEigf,OAAOp/d,IAAIzrB,EAAQ00H,cAAc,SAASl+G,EAAEzC,GAA8K,YAA3K,IAASA,IAAIA,EAAE,OAAMyC,EAAE,CAAC27G,SAAStzF,EAAEwsd,sBAAsBt3e,EAAEu3e,cAAc90e,EAAE+0e,eAAe/0e,EAAEg1e,aAAa,EAAEj5T,SAAS,KAAKmzS,SAAS,OAAQnzS,SAAS,CAACpgE,SAASp7G,EAAEk6U,SAASz6U,GAAUA,EAAEkvd,SAASlvd,GAAGxW,EAAQykB,cAAcsa,EAAE/+B,EAAQyrf,cAAc,SAASj1e,GAAG,IAAIzC,EAAEgrB,EAAEryB,KAAK,KAAK8J,GAAY,OAATzC,EAAE+G,KAAKtE,EAASzC,GAAG/T,EAAQ0rf,UAAU,WAAW,MAAM,CAAC7pe,QAAQ,OAAO7hB,EAAQg9J,WAAW,SAASxmJ,GAAG,MAAM,CAAC27G,SAASz7G,EAAEiG,OAAOnG,IAAIxW,EAAQqrI,eAAevsG,EAC3e9+B,EAAQ6jL,KAAK,SAASrtK,GAAG,MAAM,CAAC27G,SAASC,EAAEu5X,MAAMn1e,EAAEo1e,SAAS,EAAEC,QAAQ,OAAO7rf,EAAQonC,KAAK,SAAS5wB,EAAEzC,GAAG,MAAM,CAACo+G,SAASjwB,EAAEpnF,KAAKtE,EAAEw4I,aAAQ,IAASj7I,EAAE,KAAKA,IAAI/T,EAAQ0uT,YAAY,SAASl4S,EAAEzC,GAAG,OAAO0sL,IAAIiuH,YAAYl4S,EAAEzC,IAAI/T,EAAQ40H,WAAW,SAASp+G,EAAEzC,GAAG,OAAO0sL,IAAI7rE,WAAWp+G,EAAEzC,IAAI/T,EAAQ8rf,cAAc,aAAa9rf,EAAQq1H,UAAU,SAAS7+G,EAAEzC,GAAG,OAAO0sL,IAAIprE,UAAU7+G,EAAEzC,IAAI/T,EAAQ+rf,oBAAoB,SAASv1e,EAAEzC,EAAEhI,GAAG,OAAO00L,IAAIsrT,oBAAoBv1e,EAAEzC,EAAEhI,IACtc/L,EAAQgsf,gBAAgB,SAASx1e,EAAEzC,GAAG,OAAO0sL,IAAIurT,gBAAgBx1e,EAAEzC,IAAI/T,EAAQslf,QAAQ,SAAS9ue,EAAEzC,GAAG,OAAO0sL,IAAI6kT,QAAQ9ue,EAAEzC,IAAI/T,EAAQulf,WAAW,SAAS/ue,EAAEzC,EAAEhI,GAAG,OAAO00L,IAAI8kT,WAAW/ue,EAAEzC,EAAEhI,IAAI/L,EAAQ81H,OAAO,SAASt/G,GAAG,OAAOiqL,IAAI3qE,OAAOt/G,IAAIxW,EAAQo1H,SAAS,SAAS5+G,GAAG,OAAOiqL,IAAIrrE,SAAS5+G,IAAIxW,EAAQy4C,QAAQ,W,6BCZxS,IAAI8kL,EAAGt9N,EAAQ,GAASyK,EAAEzK,EAAQ,KAAiBmM,EAAEnM,EAAQ,KAAa,SAAS4jB,EAAErN,GAAG,IAAI,IAAIzC,EAAE,yDAAyDyC,EAAEzK,EAAE,EAAEA,EAAE/B,UAAUrD,OAAOoF,IAAIgI,GAAG,WAAW+d,mBAAmB9nB,UAAU+B,IAAI,MAAM,yBAAyByK,EAAE,WAAWzC,EAAE,iHAAiH,IAAIwpN,EAAG,MAAMx0L,MAAMllB,EAAE,MACxa,SAASyxM,EAAG9+M,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,EAAEgJ,EAAE+pB,EAAEpS,GAAG,IAAI7f,EAAEtB,MAAMhD,UAAUu0C,MAAMhwC,KAAK7B,UAAU,GAAG,IAAI+J,EAAE9J,MAAM8B,EAAEH,GAAG,MAAME,GAAGjC,KAAKoif,QAAQngf,IAAI,IAAIkpN,GAAG,EAAGjB,EAAG,KAAKM,GAAG,EAAGqM,EAAG,KAAKhE,EAAG,CAACuvR,QAAQ,SAASz1e,GAAGw+M,GAAG,EAAGjB,EAAGv9M,IAAI,SAASipN,EAAGjpN,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,EAAEgJ,EAAE+pB,EAAEpS,GAAGupM,GAAG,EAAGjB,EAAG,KAAKuB,EAAGrrN,MAAMyyN,EAAG1yN,WAAmJ,IAAIsyN,EAAG,KAAKlG,EAAG,KAAK2M,EAAG,KACha,SAASrQ,EAAGl8M,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEwK,EAAEsE,MAAM,gBAAgBtE,EAAE6sF,cAAc0/H,EAAGh3N,GAD6L,SAAYyK,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,EAAEgJ,EAAE+pB,EAAEpS,GAA4B,GAAzBg0M,EAAGx1N,MAAMJ,KAAKG,WAAcgrN,EAAG,CAAC,IAAGA,EAAgC,MAAMjsL,MAAMllB,EAAE,MAA1C,IAAIjY,EAAEmoN,EAAGiB,GAAG,EAAGjB,EAAG,KAA8BM,IAAKA,GAAG,EAAGqM,EAAG90N,IAC9T2pN,CAAGvpN,EAAE+H,OAAE,EAAOyC,GAAGA,EAAE6sF,cAAc,KAAK,IAAIj9D,EAAG,KAAKg5L,EAAG,GAC5H,SAASC,IAAK,GAAGj5L,EAAG,IAAI,IAAI5vB,KAAK4oN,EAAG,CAAC,IAAIrrN,EAAEqrN,EAAG5oN,GAAGzK,EAAEq6B,EAAGlyB,QAAQsC,GAAG,MAAM,EAAEzK,GAAG,MAAMg9B,MAAMllB,EAAE,GAAGrN,IAAI,IAAI0oN,EAAGnzN,GAAG,CAAC,IAAIgI,EAAEm4e,cAAc,MAAMnjd,MAAMllB,EAAE,GAAGrN,IAA2B,IAAI,IAAIxK,KAA/BkzN,EAAGnzN,GAAGgI,EAAEhI,EAAEgI,EAAEo4e,WAA0B,CAAC,IAAIvhf,OAAE,EAAWE,EAAEiB,EAAEC,GAAG8H,EAAEC,EAAE8pB,EAAE7xB,EAAE,GAAGmzN,EAAGtyN,eAAegxB,GAAG,MAAMkL,MAAMllB,EAAE,GAAGga,IAAIshM,EAAGthM,GAAG/yB,EAAE,IAAI2gB,EAAE3gB,EAAEshf,wBAAwB,GAAG3ge,EAAE,CAAC,IAAI7gB,KAAK6gB,EAAEA,EAAE5e,eAAejC,IAAImkG,EAAGtjF,EAAE7gB,GAAGkJ,EAAE+pB,GAAGjzB,GAAE,OAAQE,EAAEuhf,kBAAkBt9Y,EAAGjkG,EAAEuhf,iBAAiBv4e,EAAE+pB,GAAGjzB,GAAE,GAAIA,GAAE,EAAG,IAAIA,EAAE,MAAMm+B,MAAMllB,EAAE,GAAG7X,EAAEwK,OACjc,SAASu4F,EAAGv4F,EAAEzC,EAAEhI,GAAG,GAAG4sN,EAAGniN,GAAG,MAAMuyB,MAAMllB,EAAE,IAAIrN,IAAImiN,EAAGniN,GAAGzC,EAAEspN,EAAG7mN,GAAGzC,EAAEo4e,WAAWpgf,GAAGugf,aAAa,IAAIptR,EAAG,GAAGC,EAAG,GAAGxG,EAAG,GAAG0E,EAAG,GAAG,SAAS2F,EAAGxsN,GAAG,IAASzK,EAALgI,GAAE,EAAK,IAAIhI,KAAKyK,EAAE,GAAGA,EAAE3J,eAAed,GAAG,CAAC,IAAIC,EAAEwK,EAAEzK,GAAG,IAAIqzN,EAAGvyN,eAAed,IAAIqzN,EAAGrzN,KAAKC,EAAE,CAAC,GAAGozN,EAAGrzN,GAAG,MAAMg9B,MAAMllB,EAAE,IAAI9X,IAAIqzN,EAAGrzN,GAAGC,EAAE+H,GAAE,GAAIA,GAAGsrN,IAAK,IAAI/B,IAAK,qBAAqB/xN,QAAQ,qBAAqBA,OAAO4B,UAAU,qBAAqB5B,OAAO4B,SAASsX,eAAe45M,EAAG,KAAKP,EAAG,KAAKpF,EAAG,KAC9a,SAASlG,EAAGh8M,GAAG,GAAGA,EAAE4/M,EAAG5/M,GAAG,CAAC,GAAG,oBAAoB6nN,EAAG,MAAMt1L,MAAMllB,EAAE,MAAM,IAAI9P,EAAEyC,EAAE+1e,UAAUx4e,IAAIA,EAAEuoN,EAAGvoN,GAAGsqN,EAAG7nN,EAAE+1e,UAAU/1e,EAAEsE,KAAK/G,KAAK,SAASohN,EAAG3+M,GAAGsnN,EAAGpF,EAAGA,EAAG/nN,KAAK6F,GAAGkiN,EAAG,CAACliN,GAAGsnN,EAAGtnN,EAAE,SAASg9M,IAAK,GAAGsK,EAAG,CAAC,IAAItnN,EAAEsnN,EAAG/pN,EAAE2kN,EAAoB,GAAjBA,EAAGoF,EAAG,KAAKtL,EAAGh8M,GAAMzC,EAAE,IAAIyC,EAAE,EAAEA,EAAEzC,EAAEpN,OAAO6P,IAAIg8M,EAAGz+M,EAAEyC,KAAK,SAASqpN,EAAGrpN,EAAEzC,GAAG,OAAOyC,EAAEzC,GAAG,SAASssN,EAAG7pN,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,OAAO4L,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,SAAS00N,KAAM,IAAIC,EAAGM,EAAGqD,GAAG,EAAGzQ,GAAG,EAAG,SAASyJ,IAAQ,OAAO4B,GAAI,OAAOpF,IAAG4G,IAAK9L,KAC9Z,SAASqF,EAAGriN,EAAEzC,EAAEhI,GAAG,GAAG0mN,EAAG,OAAOj8M,EAAEzC,EAAEhI,GAAG0mN,GAAG,EAAG,IAAI,OAAO8M,EAAG/oN,EAAEzC,EAAEhI,GAAlB,QAA6B0mN,GAAG,EAAGyJ,KAAM,IAAIG,EAAG,8VAA8VzF,EAAG5vN,OAAOM,UAAUuF,eAAe0xN,EAAG,GAAGZ,EAAG,GAE/Q,SAAS5mN,EAAEP,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAGjB,KAAK2if,gBAAgB,IAAIz4e,GAAG,IAAIA,GAAG,IAAIA,EAAElK,KAAK6c,cAAc1a,EAAEnC,KAAK4if,mBAAmB7hf,EAAEf,KAAK6if,gBAAgB3gf,EAAElC,KAAK8if,aAAan2e,EAAE3M,KAAKiR,KAAK/G,EAAElK,KAAK+if,YAAY9hf,EAAE,IAAI2qJ,EAAE,GACxZ,uIAAuIr/I,MAAM,KAAKwoB,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAeooB,SAAQ,SAASpoB,GAAG,IAAIzC,EAAEyC,EAAE,GAAGi/I,EAAE1hJ,GAAG,IAAIgD,EAAEhD,EAAE,GAAE,EAAGyC,EAAE,GAAG,MAAK,MAAM,CAAC,kBAAkB,YAAY,aAAa,SAASooB,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MAC9d,CAAC,cAAc,4BAA4B,YAAY,iBAAiBkc,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,wNAAwNJ,MAAM,KAAKwoB,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MACzZ,CAAC,UAAU,WAAW,QAAQ,YAAYkc,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,UAAU,YAAYooB,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,OAAO,OAAO,OAAO,QAAQooB,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,UAAU,SAASooB,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MAAM,IAAIs1M,EAAG,gBAAgB,SAASgG,EAAGxnN,GAAG,OAAOA,EAAE,GAAG84E,cAC/X,0jCAA0jCl5E,MAAM,KAAKwoB,SAAQ,SAASpoB,GAAG,IAAIzC,EAAEyC,EAAElF,QAAQ0mN,EACzmCgG,GAAIvoE,EAAE1hJ,GAAG,IAAIgD,EAAEhD,EAAE,GAAE,EAAGyC,EAAE,MAAK,MAAM,2EAA2EJ,MAAM,KAAKwoB,SAAQ,SAASpoB,GAAG,IAAIzC,EAAEyC,EAAElF,QAAQ0mN,EAAGgG,GAAIvoE,EAAE1hJ,GAAG,IAAIgD,EAAEhD,EAAE,GAAE,EAAGyC,EAAE,gCAA+B,MAAM,CAAC,WAAW,WAAW,aAAaooB,SAAQ,SAASpoB,GAAG,IAAIzC,EAAEyC,EAAElF,QAAQ0mN,EAAGgG,GAAIvoE,EAAE1hJ,GAAG,IAAIgD,EAAEhD,EAAE,GAAE,EAAGyC,EAAE,wCAAuC,MAAM,CAAC,WAAW,eAAeooB,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MACnc+yI,EAAEu1B,UAAU,IAAIj0K,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAI,CAAC,MAAM,OAAO,SAAS,cAAc6nB,SAAQ,SAASpoB,GAAGi/I,EAAEj/I,GAAG,IAAIO,EAAEP,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MAAM,IAAIg3M,EAAG6D,EAAG6tR,mDACnM,SAASh4R,EAAG58M,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAE6qJ,EAAE5oJ,eAAekH,GAAG0hJ,EAAE1hJ,GAAG,MAAW,OAAOnJ,EAAE,IAAIA,EAAEkQ,MAAK9O,IAAO,EAAE+H,EAAEpN,SAAS,MAAMoN,EAAE,IAAI,MAAMA,EAAE,MAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,QAPnJ,SAAYyC,EAAEzC,EAAEhI,EAAEC,GAAG,GAAG,OAAO+H,GAAG,qBAAqBA,GAD4D,SAAYyC,EAAEzC,EAAEhI,EAAEC,GAAG,GAAG,OAAOD,GAAG,IAAIA,EAAE+O,KAAK,OAAM,EAAG,cAAc/G,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAG/H,IAAc,OAAOD,GAASA,EAAEygf,gBAAmD,WAAnCh2e,EAAEA,EAAEkM,cAAcm5B,MAAM,EAAE,KAAsB,UAAUrlC,GAAE,QAAQ,OAAM,GACnT2sN,CAAG3sN,EAAEzC,EAAEhI,EAAEC,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOD,EAAE,OAAOA,EAAE+O,MAAM,KAAK,EAAE,OAAO/G,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAO8D,MAAM9D,GAAG,KAAK,EAAE,OAAO8D,MAAM9D,IAAI,EAAEA,EAAE,OAAM,EAOrDgkN,CAAGhkN,EAAEhI,EAAEnB,EAAEoB,KAAKD,EAAE,MAAMC,GAAG,OAAOpB,EARhM,SAAY4L,GAAG,QAAGogN,EAAG/qN,KAAK8xN,EAAGnnN,KAAeogN,EAAG/qN,KAAK0yN,EAAG/nN,KAAe6lN,EAAGjwL,KAAK51B,GAAUmnN,EAAGnnN,IAAG,GAAG+nN,EAAG/nN,IAAG,GAAS,IAQkFu8M,CAAGh/M,KAAK,OAAOhI,EAAEyK,EAAE6jC,gBAAgBtmC,GAAGyC,EAAEimB,aAAa1oB,EAAE,GAAGhI,IAAInB,EAAE8hf,gBAAgBl2e,EAAE5L,EAAE+hf,cAAc,OAAO5gf,EAAE,IAAInB,EAAEkQ,MAAQ,GAAG/O,GAAGgI,EAAEnJ,EAAE8b,cAAc1a,EAAEpB,EAAE6hf,mBAAmB,OAAO1gf,EAAEyK,EAAE6jC,gBAAgBtmC,IAAahI,EAAE,KAAXnB,EAAEA,EAAEkQ,OAAc,IAAIlQ,IAAG,IAAKmB,EAAE,GAAG,GAAGA,EAAEC,EAAEwK,EAAEskC,eAAe9uC,EAAE+H,EAAEhI,GAAGyK,EAAEimB,aAAa1oB,EAAEhI,MADtO2tN,EAAG7sN,eAAe,4BAA4B6sN,EAAGqxR,uBAAuB,CAAClpe,QAAQ,OAAO63M,EAAG7sN,eAAe,6BAA6B6sN,EAAGsxR,wBAAwB,CAACC,SAAS,OAEla,IAAIpzR,EAAG,cAAc98B,EAAE,oBAAoB3wL,QAAQA,OAAO6nH,IAAI2qG,GAAG7hC,EAAE3wL,OAAO6nH,IAAI,iBAAiB,MAAMoxG,GAAGtoC,EAAE3wL,OAAO6nH,IAAI,gBAAgB,MAAM6lG,GAAG/8B,EAAE3wL,OAAO6nH,IAAI,kBAAkB,MAAMh6G,GAAG8iL,EAAE3wL,OAAO6nH,IAAI,qBAAqB,MAAM2kE,GAAGmE,EAAE3wL,OAAO6nH,IAAI,kBAAkB,MAAM46X,GAAG9xT,EAAE3wL,OAAO6nH,IAAI,kBAAkB,MAAM4hG,GAAG94B,EAAE3wL,OAAO6nH,IAAI,iBAAiB,MAAM6hG,GAAG/4B,EAAE3wL,OAAO6nH,IAAI,yBAAyB,MAAMgxG,GAAGloC,EAAE3wL,OAAO6nH,IAAI,qBAAqB,MAAM6iG,GAAG/5B,EAAE3wL,OAAO6nH,IAAI,kBAAkB,MAAM8iG,GAAGh6B,EAAE3wL,OAAO6nH,IAAI,uBACve,MAAMwpG,GAAG1gC,EAAE3wL,OAAO6nH,IAAI,cAAc,MAAMuiG,GAAGz5B,EAAE3wL,OAAO6nH,IAAI,cAAc,MAAMxqG,GAAGszK,EAAE3wL,OAAO6nH,IAAI,eAAe,MAAMiuG,GAAG,oBAAoB91N,QAAQA,OAAOC,SAAS,SAAS81N,GAAG3pN,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAE0pN,IAAI1pN,EAAE0pN,KAAK1pN,EAAE,eAA0CA,EAAE,KACzR,SAAS2vB,GAAG3vB,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAEqrB,aAAarrB,EAAEvK,MAAM,KAAK,GAAG,kBAAkBuK,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKshN,GAAG,MAAM,WAAW,KAAKuL,GAAG,MAAM,SAAS,KAAKzsC,GAAG,MAAM,WAAW,KAAK3+K,GAAG,MAAM,aAAa,KAAK68M,GAAG,MAAM,WAAW,KAAKC,GAAG,MAAM,eAAe,GAAG,kBAAkBv+M,EAAE,OAAOA,EAAE27G,UAAU,KAAK0hG,GAAG,MAAM,mBAAmB,KAAKg5R,GAAG,MAAM,mBAAmB,KAAK5pR,GAAG,IAAIlvN,EAAEyC,EAAEmG,OAAmC,OAA5B5I,EAAEA,EAAE8tB,aAAa9tB,EAAE9H,MAAM,GAAUuK,EAAEqrB,cAAc,KAAK9tB,EAAE,cAAcA,EAAE,IACnf,cAAc,KAAK0nN,GAAG,OAAOt1L,GAAG3vB,EAAEsE,MAAM,KAAK2M,GAAG,OAAO0e,GAAG3vB,EAAEmG,QAAQ,KAAK63M,GAAG,GAAGh+M,EAAE,IAAIA,EAAEo1e,QAAQp1e,EAAEq1e,QAAQ,KAAK,OAAO1ld,GAAG3vB,GAAG,OAAO,KAAK,SAAS67M,GAAG77M,GAAG,IAAIzC,EAAE,GAAG,EAAE,CAACyC,EAAE,OAAOA,EAAEs9H,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,IAAI/nI,EAAE,GAAG,MAAMyK,EAAE,QAAQ,IAAIxK,EAAEwK,EAAEs2e,YAAYlif,EAAE4L,EAAEu2e,aAAajif,EAAEq7B,GAAG3vB,EAAEsE,MAAM/O,EAAE,KAAKC,IAAID,EAAEo6B,GAAGn6B,EAAE8O,OAAO9O,EAAElB,EAAEA,EAAE,GAAGF,EAAEE,EAAE,QAAQF,EAAEoif,SAAS17e,QAAQumN,EAAG,IAAI,IAAIjtN,EAAE6hC,WAAW,IAAI1gC,IAAIjB,EAAE,gBAAgBiB,EAAE,KAAKA,EAAE,aAAaC,GAAG,WAAWlB,EAAEiJ,GAAGhI,EAAEyK,EAAEA,EAAE2gJ,aAAa3gJ,GAAG,OAAOzC,EACje,SAASgrN,GAAGvoN,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,OAAOA,EAAE,QAAQ,MAAM,IAAI,SAASwoN,GAAGxoN,GAAG,IAAIzC,EAAEyC,EAAEsE,KAAK,OAAOtE,EAAEA,EAAEmH,WAAW,UAAUnH,EAAEkM,gBAAgB,aAAa3O,GAAG,UAAUA,GAEzN,SAASimN,GAAGxjN,GAAGA,EAAEy2e,gBAAgBz2e,EAAEy2e,cADvD,SAAYz2e,GAAG,IAAIzC,EAAEirN,GAAGxoN,GAAG,UAAU,QAAQzK,EAAE/E,OAAOg9H,yBAAyBxtH,EAAElN,YAAYhC,UAAUyM,GAAG/H,EAAE,GAAGwK,EAAEzC,GAAG,IAAIyC,EAAE3J,eAAekH,IAAI,qBAAqBhI,GAAG,oBAAoBA,EAAEI,KAAK,oBAAoBJ,EAAEsK,IAAI,CAAC,IAAIzL,EAAEmB,EAAEI,IAAIrB,EAAEiB,EAAEsK,IAAiL,OAA7KrP,OAAOC,eAAeuP,EAAEzC,EAAE,CAACjN,cAAa,EAAGqF,IAAI,WAAW,OAAOvB,EAAEiB,KAAKhC,OAAOwM,IAAI,SAASG,GAAGxK,EAAE,GAAGwK,EAAE1L,EAAEe,KAAKhC,KAAK2M,MAAMxP,OAAOC,eAAeuP,EAAEzC,EAAE,CAAClN,WAAWkF,EAAElF,aAAmB,CAACoM,SAAS,WAAW,OAAOjH,GAAG02D,SAAS,SAASlsD,GAAGxK,EAAE,GAAGwK,GAAG02e,aAAa,WAAW12e,EAAEy2e,cACxf,YAAYz2e,EAAEzC,MAAuDwlN,CAAG/iN,IAAI,SAAS2nN,GAAG3nN,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIzC,EAAEyC,EAAEy2e,cAAc,IAAIl5e,EAAE,OAAM,EAAG,IAAIhI,EAAEgI,EAAEd,WAAejH,EAAE,GAAqD,OAAlDwK,IAAIxK,EAAEgzN,GAAGxoN,GAAGA,EAAEw/G,QAAQ,OAAO,QAAQx/G,EAAEjN,QAAOiN,EAAExK,KAAaD,IAAGgI,EAAE2uD,SAASlsD,IAAG,GAAO,SAAS0nN,GAAG1nN,EAAEzC,GAAG,IAAIhI,EAAEgI,EAAEiiH,QAAQ,OAAOtrH,EAAE,GAAGqJ,EAAE,CAACsga,oBAAe,EAAOjjT,kBAAa,EAAO7nH,WAAM,EAAOysH,QAAQ,MAAMjqH,EAAEA,EAAEyK,EAAE22e,cAAcC,iBACzY,SAASh5R,GAAG59M,EAAEzC,GAAG,IAAIhI,EAAE,MAAMgI,EAAEq9G,aAAa,GAAGr9G,EAAEq9G,aAAaplH,EAAE,MAAM+H,EAAEiiH,QAAQjiH,EAAEiiH,QAAQjiH,EAAEsga,eAAetoa,EAAEgzN,GAAG,MAAMhrN,EAAExK,MAAMwK,EAAExK,MAAMwC,GAAGyK,EAAE22e,cAAc,CAACC,eAAephf,EAAE2a,aAAa5a,EAAEshf,WAAW,aAAat5e,EAAE+G,MAAM,UAAU/G,EAAE+G,KAAK,MAAM/G,EAAEiiH,QAAQ,MAAMjiH,EAAExK,OAAO,SAAS6xN,GAAG5kN,EAAEzC,GAAe,OAAZA,EAAEA,EAAEiiH,UAAiBo9F,EAAG58M,EAAE,UAAUzC,GAAE,GACjU,SAASsnN,GAAG7kN,EAAEzC,GAAGqnN,GAAG5kN,EAAEzC,GAAG,IAAIhI,EAAEgzN,GAAGhrN,EAAExK,OAAOyC,EAAE+H,EAAE+G,KAAK,GAAG,MAAM/O,EAAK,WAAWC,GAAM,IAAID,GAAG,KAAKyK,EAAEjN,OAAOiN,EAAEjN,OAAOwC,KAAEyK,EAAEjN,MAAM,GAAGwC,GAAOyK,EAAEjN,QAAQ,GAAGwC,IAAIyK,EAAEjN,MAAM,GAAGwC,QAAQ,GAAG,WAAWC,GAAG,UAAUA,EAA8B,YAA3BwK,EAAE6jC,gBAAgB,SAAgBtmC,EAAElH,eAAe,SAASypG,GAAG9/F,EAAEzC,EAAE+G,KAAK/O,GAAGgI,EAAElH,eAAe,iBAAiBypG,GAAG9/F,EAAEzC,EAAE+G,KAAKikN,GAAGhrN,EAAEq9G,eAAe,MAAMr9G,EAAEiiH,SAAS,MAAMjiH,EAAEsga,iBAAiB79Z,EAAE69Z,iBAAiBtga,EAAEsga,gBACnZ,SAAS73M,GAAGhmN,EAAEzC,EAAEhI,GAAG,GAAGgI,EAAElH,eAAe,UAAUkH,EAAElH,eAAe,gBAAgB,CAAC,IAAIb,EAAE+H,EAAE+G,KAAK,KAAK,WAAW9O,GAAG,UAAUA,QAAG,IAAS+H,EAAExK,OAAO,OAAOwK,EAAExK,OAAO,OAAOwK,EAAE,GAAGyC,EAAE22e,cAAcxme,aAAa5a,GAAGgI,IAAIyC,EAAEjN,QAAQiN,EAAEjN,MAAMwK,GAAGyC,EAAE46G,aAAar9G,EAAW,MAAThI,EAAEyK,EAAEvK,QAAcuK,EAAEvK,KAAK,IAAIuK,EAAE69Z,iBAAiB79Z,EAAE22e,cAAcC,eAAe,KAAKrhf,IAAIyK,EAAEvK,KAAKF,GACvV,SAASuqG,GAAG9/F,EAAEzC,EAAEhI,GAAM,WAAWgI,GAAGyC,EAAEu9B,cAAc24W,gBAAgBl2Y,IAAE,MAAMzK,EAAEyK,EAAE46G,aAAa,GAAG56G,EAAE22e,cAAcxme,aAAanQ,EAAE46G,eAAe,GAAGrlH,IAAIyK,EAAE46G,aAAa,GAAGrlH,IAAwF,SAASi0N,GAAGxpN,EAAEzC,GAA6D,OAA1DyC,EAAE9L,EAAE,CAAC2R,cAAS,GAAQtI,IAAMA,EAAlI,SAAYyC,GAAG,IAAIzC,EAAE,GAAuD,OAApDwpN,EAAGj1E,SAAS1pH,QAAQpoB,GAAE,SAASA,GAAG,MAAMA,IAAIzC,GAAGyC,MAAYzC,EAAiDonN,CAAGpnN,EAAEsI,aAAU7F,EAAE6F,SAAStI,GAASyC,EACjV,SAASynN,GAAGznN,EAAEzC,EAAEhI,EAAEC,GAAe,GAAZwK,EAAEA,EAAE4xB,QAAWr0B,EAAE,CAACA,EAAE,GAAG,IAAI,IAAInJ,EAAE,EAAEA,EAAEmB,EAAEpF,OAAOiE,IAAImJ,EAAE,IAAIhI,EAAEnB,KAAI,EAAG,IAAImB,EAAE,EAAEA,EAAEyK,EAAE7P,OAAOoF,IAAInB,EAAEmJ,EAAElH,eAAe,IAAI2J,EAAEzK,GAAGxC,OAAOiN,EAAEzK,GAAGmmF,WAAWtnF,IAAI4L,EAAEzK,GAAGmmF,SAAStnF,GAAGA,GAAGoB,IAAIwK,EAAEzK,GAAGuhf,iBAAgB,OAAQ,CAAmB,IAAlBvhf,EAAE,GAAGgzN,GAAGhzN,GAAGgI,EAAE,KAASnJ,EAAE,EAAEA,EAAE4L,EAAE7P,OAAOiE,IAAI,CAAC,GAAG4L,EAAE5L,GAAGrB,QAAQwC,EAAiD,OAA9CyK,EAAE5L,GAAGsnF,UAAS,OAAGlmF,IAAIwK,EAAE5L,GAAG0if,iBAAgB,IAAW,OAAOv5e,GAAGyC,EAAE5L,GAAG6nF,WAAW1+E,EAAEyC,EAAE5L,IAAI,OAAOmJ,IAAIA,EAAEm+E,UAAS,IACpY,SAASukI,GAAGjgN,EAAEzC,GAAG,GAAG,MAAMA,EAAEiyH,wBAAwB,MAAMj9F,MAAMllB,EAAE,KAAK,OAAOnZ,EAAE,GAAGqJ,EAAE,CAACxK,WAAM,EAAO6nH,kBAAa,EAAO/0G,SAAS,GAAG7F,EAAE22e,cAAcxme,eAAe,SAAS+vM,GAAGlgN,EAAEzC,GAAG,IAAIhI,EAAEgI,EAAExK,MAAM,GAAG,MAAMwC,EAAE,CAA+B,GAA9BA,EAAEgI,EAAEsI,SAAStI,EAAEA,EAAEq9G,aAAgB,MAAMrlH,EAAE,CAAC,GAAG,MAAMgI,EAAE,MAAMg1B,MAAMllB,EAAE,KAAK,GAAGvZ,MAAMC,QAAQwB,GAAG,CAAC,KAAK,GAAGA,EAAEpF,QAAQ,MAAMoiC,MAAMllB,EAAE,KAAK9X,EAAEA,EAAE,GAAGgI,EAAEhI,EAAE,MAAMgI,IAAIA,EAAE,IAAIhI,EAAEgI,EAAEyC,EAAE22e,cAAc,CAACxme,aAAao4M,GAAGhzN,IAC/Y,SAASkqN,GAAGz/M,EAAEzC,GAAG,IAAIhI,EAAEgzN,GAAGhrN,EAAExK,OAAOyC,EAAE+yN,GAAGhrN,EAAEq9G,cAAc,MAAMrlH,KAAIA,EAAE,GAAGA,KAAMyK,EAAEjN,QAAQiN,EAAEjN,MAAMwC,GAAG,MAAMgI,EAAEq9G,cAAc56G,EAAE46G,eAAerlH,IAAIyK,EAAE46G,aAAarlH,IAAI,MAAMC,IAAIwK,EAAE46G,aAAa,GAAGplH,GAAG,SAASuvN,GAAG/kN,GAAG,IAAIzC,EAAEyC,EAAEuH,YAAYhK,IAAIyC,EAAE22e,cAAcxme,cAAc,KAAK5S,GAAG,OAAOA,IAAIyC,EAAEjN,MAAMwK,GAAG,IAAIo/M,GAAS,+BAATA,GAAwF,6BAC9X,SAASiK,GAAG5mN,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,gCAAgC,SAASqmN,GAAGrmN,EAAEzC,GAAG,OAAO,MAAMyC,GAAG,iCAAiCA,EAAE4mN,GAAGrpN,GAAG,+BAA+ByC,GAAG,kBAAkBzC,EAAE,+BAA+ByC,EAC3U,IAAIijN,GAAGrH,GAAG,SAAS57M,GAAG,MAAM,qBAAqB+2e,OAAOA,MAAMC,wBAAwB,SAASz5e,EAAEhI,EAAEC,EAAEpB,GAAG2if,MAAMC,yBAAwB,WAAW,OAAOh3e,EAAEzC,EAAEhI,OAAUyK,EAA5J,EAA+J,SAASA,EAAEzC,GAAG,GAAGyC,EAAEi4B,eAAe0kL,IAAQ,cAAc38M,EAAEA,EAAEwa,UAAUjd,MAAM,CAA2F,KAA1F0lN,GAAGA,IAAItsN,SAASsX,cAAc,QAAUuM,UAAU,QAAQjd,EAAE86I,UAAU54I,WAAW,SAAalC,EAAE0lN,GAAGtwL,WAAW3yB,EAAE2yB,YAAY3yB,EAAE4X,YAAY5X,EAAE2yB,YAAY,KAAKp1B,EAAEo1B,YAAY3yB,EAAE2X,YAAYpa,EAAEo1B,gBACjb,SAAS2xL,GAAGtkN,EAAEzC,GAAG,GAAGA,EAAE,CAAC,IAAIhI,EAAEyK,EAAE2yB,WAAW,GAAGp9B,GAAGA,IAAIyK,EAAEo/B,WAAW,IAAI7pC,EAAE2R,SAAwB,YAAd3R,EAAEojC,UAAUp7B,GAAUyC,EAAEuH,YAAYhK,EAAE,SAAS++M,GAAGt8M,EAAEzC,GAAG,IAAIhI,EAAE,GAAkF,OAA/EA,EAAEyK,EAAEkM,eAAe3O,EAAE2O,cAAc3W,EAAE,SAASyK,GAAG,SAASzC,EAAEhI,EAAE,MAAMyK,GAAG,MAAMzC,EAAShI,EAAE,IAAI8vN,GAAG,CAAC4xR,aAAa36R,GAAG,YAAY,gBAAgB46R,mBAAmB56R,GAAG,YAAY,sBAAsB66R,eAAe76R,GAAG,YAAY,kBAAkB86R,cAAc96R,GAAG,aAAa,kBAAkBsL,GAAG,GAAGsB,GAAG,GAC1M,SAAS9H,GAAGphN,GAAG,GAAG4nN,GAAG5nN,GAAG,OAAO4nN,GAAG5nN,GAAG,IAAIqlN,GAAGrlN,GAAG,OAAOA,EAAE,IAAYzK,EAARgI,EAAE8nN,GAAGrlN,GAAK,IAAIzK,KAAKgI,EAAE,GAAGA,EAAElH,eAAed,IAAIA,KAAK2zN,GAAG,OAAOtB,GAAG5nN,GAAGzC,EAAEhI,GAAG,OAAOyK,EAA9X8mN,IAAKoC,GAAGvyN,SAASsX,cAAc,OAAOlI,MAAM,mBAAmBhR,gBAAgBswN,GAAG4xR,aAAa7ga,iBAAiBivI,GAAG6xR,mBAAmB9ga,iBAAiBivI,GAAG8xR,eAAe/ga,WAAW,oBAAoBrhF,eAAeswN,GAAG+xR,cAAc/2L,YACxO,IAAI94F,GAAGnG,GAAG,gBAAgB4D,GAAG5D,GAAG,sBAAsB0D,GAAG1D,GAAG,kBAAkBkF,GAAGlF,GAAG,iBAAiB4I,GAAG,sNAAsNpqN,MAAM,KAAKqqN,GAAG,IAAK,oBAAoB57F,QAAQA,QAAQsgC,KAAK,SAASswD,GAAGj/M,GAAG,IAAIzC,EAAE0sN,GAAGt0N,IAAIqK,GAAuC,YAApC,IAASzC,IAAIA,EAAE,IAAIoxJ,IAAIs7D,GAAGpqN,IAAIG,EAAEzC,IAAWA,EACpc,SAAS2hN,GAAGl/M,GAAG,IAAIzC,EAAEyC,EAAEzK,EAAEyK,EAAE,GAAGA,EAAEq3e,UAAU,KAAK95e,EAAEojJ,QAAQpjJ,EAAEA,EAAEojJ,WAAW,CAAC3gJ,EAAEzC,EAAE,GAAO,KAAiB,MAArBA,EAAEyC,GAASs3e,aAAkB/hf,EAAEgI,EAAEojJ,QAAQ3gJ,EAAEzC,EAAEojJ,aAAa3gJ,GAAG,OAAO,IAAIzC,EAAE+/H,IAAI/nI,EAAE,KAAK,SAAS8pN,GAAGr/M,GAAG,GAAG,KAAKA,EAAEs9H,IAAI,CAAC,IAAI//H,EAAEyC,EAAEu3e,cAAsE,GAAxD,OAAOh6e,IAAkB,QAAdyC,EAAEA,EAAEq3e,aAAqB95e,EAAEyC,EAAEu3e,gBAAmB,OAAOh6e,EAAE,OAAOA,EAAEi6e,WAAW,OAAO,KAAK,SAASl4R,GAAGt/M,GAAG,GAAGk/M,GAAGl/M,KAAKA,EAAE,MAAMuyB,MAAMllB,EAAE,MAEhK,SAASs0M,GAAG3hN,GAAW,KAARA,EADtN,SAAYA,GAAG,IAAIzC,EAAEyC,EAAEq3e,UAAU,IAAI95e,EAAE,CAAS,GAAG,QAAXA,EAAE2hN,GAAGl/M,IAAe,MAAMuyB,MAAMllB,EAAE,MAAM,OAAO9P,IAAIyC,EAAE,KAAKA,EAAE,IAAI,IAAIzK,EAAEyK,EAAExK,EAAE+H,IAAI,CAAC,IAAInJ,EAAEmB,EAAEorJ,OAAO,GAAG,OAAOvsJ,EAAE,MAAM,IAAIE,EAAEF,EAAEijf,UAAU,GAAG,OAAO/if,EAAE,CAAY,GAAG,QAAdkB,EAAEpB,EAAEusJ,QAAmB,CAACprJ,EAAEC,EAAE,SAAS,MAAM,GAAGpB,EAAEyS,QAAQvS,EAAEuS,MAAM,CAAC,IAAIvS,EAAEF,EAAEyS,MAAMvS,GAAG,CAAC,GAAGA,IAAIiB,EAAE,OAAO+pN,GAAGlrN,GAAG4L,EAAE,GAAG1L,IAAIkB,EAAE,OAAO8pN,GAAGlrN,GAAGmJ,EAAEjJ,EAAEA,EAAEqlZ,QAAQ,MAAMpnX,MAAMllB,EAAE,MAAO,GAAG9X,EAAEorJ,SAASnrJ,EAAEmrJ,OAAOprJ,EAAEnB,EAAEoB,EAAElB,MAAM,CAAC,IAAI,IAAIgJ,GAAE,EAAG+pB,EAAEjzB,EAAEyS,MAAMwgB,GAAG,CAAC,GAAGA,IAAI9xB,EAAE,CAAC+H,GAAE,EAAG/H,EAAEnB,EAAEoB,EAAElB,EAAE,MAAM,GAAG+yB,IAAI7xB,EAAE,CAAC8H,GAAE,EAAG9H,EAAEpB,EAAEmB,EAAEjB,EAAE,MAAM+yB,EAAEA,EAAEsyX,QAAQ,IAAIr8Y,EAAE,CAAC,IAAI+pB,EAAE/yB,EAAEuS,MAAMwgB,GAAG,CAAC,GAAGA,IAC5f9xB,EAAE,CAAC+H,GAAE,EAAG/H,EAAEjB,EAAEkB,EAAEpB,EAAE,MAAM,GAAGizB,IAAI7xB,EAAE,CAAC8H,GAAE,EAAG9H,EAAElB,EAAEiB,EAAEnB,EAAE,MAAMizB,EAAEA,EAAEsyX,QAAQ,IAAIr8Y,EAAE,MAAMi1B,MAAMllB,EAAE,OAAQ,GAAG9X,EAAE8hf,YAAY7hf,EAAE,MAAM+8B,MAAMllB,EAAE,MAAO,GAAG,IAAI9X,EAAE+nI,IAAI,MAAM/qG,MAAMllB,EAAE,MAAM,OAAO9X,EAAEwgf,UAAU1qe,UAAU9V,EAAEyK,EAAEzC,EAAmBkkN,CAAGzhN,IAAS,OAAO,KAAK,IAAI,IAAIzC,EAAEyC,IAAI,CAAC,GAAG,IAAIzC,EAAE+/H,KAAK,IAAI//H,EAAE+/H,IAAI,OAAO//H,EAAE,GAAGA,EAAEsJ,MAAMtJ,EAAEsJ,MAAM85I,OAAOpjJ,EAAEA,EAAEA,EAAEsJ,UAAU,CAAC,GAAGtJ,IAAIyC,EAAE,MAAM,MAAMzC,EAAEo8Y,SAAS,CAAC,IAAIp8Y,EAAEojJ,QAAQpjJ,EAAEojJ,SAAS3gJ,EAAE,OAAO,KAAKzC,EAAEA,EAAEojJ,OAAOpjJ,EAAEo8Y,QAAQh5P,OAAOpjJ,EAAEojJ,OAAOpjJ,EAAEA,EAAEo8Y,SAAS,OAAO,KAC5c,SAAS7sL,GAAG9sN,EAAEzC,GAAG,GAAG,MAAMA,EAAE,MAAMg1B,MAAMllB,EAAE,KAAK,OAAG,MAAMrN,EAASzC,EAAKzJ,MAAMC,QAAQiM,GAAOlM,MAAMC,QAAQwJ,IAAUyC,EAAE7F,KAAK1G,MAAMuM,EAAEzC,GAAGyC,IAAEA,EAAE7F,KAAKoD,GAAUyC,GAASlM,MAAMC,QAAQwJ,GAAG,CAACyC,GAAG6b,OAAOte,GAAG,CAACyC,EAAEzC,GAAG,SAASo+M,GAAG37M,EAAEzC,EAAEhI,GAAGzB,MAAMC,QAAQiM,GAAGA,EAAEooB,QAAQ7qB,EAAEhI,GAAGyK,GAAGzC,EAAElI,KAAKE,EAAEyK,GAAG,IAAIioN,GAAG,KAC/Q,SAAS9B,GAAGnmN,GAAG,GAAGA,EAAE,CAAC,IAAIzC,EAAEyC,EAAEy3e,mBAAmBlif,EAAEyK,EAAE03e,mBAAmB,GAAG5jf,MAAMC,QAAQwJ,GAAG,IAAI,IAAI/H,EAAE,EAAEA,EAAE+H,EAAEpN,SAAS6P,EAAEsiZ,uBAAuB9sZ,IAAI0mN,EAAGl8M,EAAEzC,EAAE/H,GAAGD,EAAEC,SAAS+H,GAAG2+M,EAAGl8M,EAAEzC,EAAEhI,GAAGyK,EAAEy3e,mBAAmB,KAAKz3e,EAAE03e,mBAAmB,KAAK13e,EAAE23e,gBAAgB33e,EAAElN,YAAYu6b,QAAQrtb,IAAI,SAAS+sN,GAAG/sN,GAAwC,GAArC,OAAOA,IAAIioN,GAAG6E,GAAG7E,GAAGjoN,IAAIA,EAAEioN,GAAGA,GAAG,KAAQjoN,EAAE,CAAU,GAAT27M,GAAG37M,EAAEmmN,IAAO8B,GAAG,MAAM11L,MAAMllB,EAAE,KAAK,GAAGwwM,EAAG,MAAM79M,EAAEkqN,EAAGrM,GAAG,EAAGqM,EAAG,KAAKlqN,GAC9Y,SAAS0hN,GAAG1hN,GAA6F,OAA1FA,EAAEA,EAAEhQ,QAAQgQ,EAAE43e,YAAY7if,QAAS8if,0BAA0B73e,EAAEA,EAAE63e,yBAAgC,IAAI73e,EAAEkH,SAASlH,EAAEgZ,WAAWhZ,EAAE,SAASyoN,GAAGzoN,GAAG,IAAI8mN,EAAG,OAAM,EAAY,IAAIvpN,GAAbyC,EAAE,KAAKA,KAAarJ,SAAqG,OAA5F4G,KAAIA,EAAE5G,SAASsX,cAAc,QAASgY,aAAajmB,EAAE,WAAWzC,EAAE,oBAAoBA,EAAEyC,IAAWzC,EAAE,IAAIq6G,GAAG,GAAG,SAAS2xG,GAAGvpN,GAAGA,EAAE83e,aAAa,KAAK93e,EAAEkiZ,YAAY,KAAKliZ,EAAE+3e,WAAW,KAAK/3e,EAAEumb,UAAUp2b,OAAO,EAAE,GAAGynH,GAAGznH,QAAQynH,GAAGz9G,KAAK6F,GAC5a,SAAS4pN,GAAG5pN,EAAEzC,EAAEhI,EAAEC,GAAG,GAAGoiH,GAAGznH,OAAO,CAAC,IAAIiE,EAAEwjH,GAAGv9G,MAA2E,OAArEjG,EAAE0jf,aAAa93e,EAAE5L,EAAE4jf,iBAAiBxif,EAAEpB,EAAE8tZ,YAAY3kZ,EAAEnJ,EAAE2jf,WAAWxif,EAASnB,EAAE,MAAM,CAAC0jf,aAAa93e,EAAEg4e,iBAAiBxif,EAAE0sZ,YAAY3kZ,EAAEw6e,WAAWxif,EAAEgxb,UAAU,IAC9M,SAASvga,GAAGhmB,GAAG,IAAIzC,EAAEyC,EAAE+3e,WAAWxif,EAAEgI,EAAE,EAAE,CAAC,IAAIhI,EAAE,CAACyK,EAAEumb,UAAUpsb,KAAK5E,GAAG,MAAM,IAAIC,EAAED,EAAE,GAAG,IAAIC,EAAE8nI,IAAI9nI,EAAEA,EAAEugf,UAAUkC,kBAAkB,CAAC,KAAKzif,EAAEmrJ,QAAQnrJ,EAAEA,EAAEmrJ,OAAOnrJ,EAAE,IAAIA,EAAE8nI,IAAI,KAAK9nI,EAAEugf,UAAUkC,cAAc,IAAIzif,EAAE,MAAc,KAAR+H,EAAEhI,EAAE+nI,MAAW,IAAI//H,GAAGyC,EAAEumb,UAAUpsb,KAAK5E,GAAGA,EAAEqwN,GAAGpwN,SAASD,GAAG,IAAIA,EAAE,EAAEA,EAAEyK,EAAEumb,UAAUp2b,OAAOoF,IAAI,CAACgI,EAAEyC,EAAEumb,UAAUhxb,GAAG,IAAInB,EAAEstN,GAAG1hN,EAAEkiZ,aAAa1sZ,EAAEwK,EAAE83e,aAAa,IAAIxjf,EAAE0L,EAAEkiZ,YAAY5kZ,EAAE0C,EAAEg4e,iBAAiB,IAAIzif,IAAI+H,GAAG,IAAI,IAAI,IAAI+pB,EAAE,KAAKpS,EAAE,EAAEA,EAAEyzM,EAAGv4N,OAAO8kB,IAAI,CAAC,IAAI7f,EAAEszN,EAAGzzM,GAAG7f,IAAIA,EAAEA,EAAEsgf,cAAclgf,EAAE+H,EAAEjJ,EAAEF,EAAEkJ,MAAM+pB,EACpfylM,GAAGzlM,EAAEjyB,IAAI23N,GAAG1lM,IAAI,SAASs/L,GAAG3mN,EAAEzC,EAAEhI,GAAG,IAAIA,EAAE8iF,IAAIr4E,GAAG,CAAC,OAAOA,GAAG,IAAK,SAASkhN,GAAG3jN,EAAE,UAAS,GAAI,MAAM,IAAK,QAAQ,IAAK,OAAO2jN,GAAG3jN,EAAE,SAAQ,GAAI2jN,GAAG3jN,EAAE,QAAO,GAAIhI,EAAEsK,IAAI,OAAO,MAAMtK,EAAEsK,IAAI,QAAQ,MAAM,MAAM,IAAK,SAAS,IAAK,QAAQ4oN,GAAGzoN,IAAIkhN,GAAG3jN,EAAEyC,GAAE,GAAI,MAAM,IAAK,UAAU,IAAK,SAAS,IAAK,QAAQ,MAAM,SAAS,IAAIgqN,GAAGtsN,QAAQsC,IAAIhM,GAAEgM,EAAEzC,GAAGhI,EAAEsK,IAAIG,EAAE,OACtV,IAAImjN,GAAGlC,GAAGsC,GAAG6E,IAAG,EAAGF,GAAG,GAAGC,GAAG,KAAKmB,GAAG,KAAKvI,GAAG,KAAKiI,GAAG,IAAIr6D,IAAIw6D,GAAG,IAAIx6D,IAAI63D,GAAG,GAAGC,GAAG,0QAA0Q7mN,MAAM,KAAKwnN,GAAG,gHAAgHxnN,MAAM,KAC3X,SAASqnN,GAAGjnN,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,MAAM,CAAC8jf,UAAUl4e,EAAE83e,aAAav6e,EAAEy6e,iBAAmB,GAAFzif,EAAK2sZ,YAAY9tZ,EAAE+tH,UAAU3sH,GAC1M,SAASo3N,GAAG5sN,EAAEzC,GAAG,OAAOyC,GAAG,IAAK,QAAQ,IAAK,OAAOmoN,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYmB,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWvI,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaiI,GAAGmvR,OAAO56e,EAAEgmZ,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBp6L,GAAGgvR,OAAO56e,EAAEgmZ,YAAY,SAASpkM,GAAGn/M,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAG,OAAG,OAAO0L,GAAGA,EAAEkiZ,cAAc5tZ,GAAS0L,EAAEinN,GAAG1pN,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAG,OAAOiJ,IAAY,QAARA,EAAE6hN,GAAG7hN,KAAa0jN,GAAG1jN,IAAIyC,IAAEA,EAAEg4e,kBAAkBxif,EAASwK,GAEhc,SAASulG,GAAGvlG,GAAG,IAAIzC,EAAEqoN,GAAG5lN,EAAEhQ,QAAQ,GAAG,OAAOuN,EAAE,CAAC,IAAIhI,EAAE2pN,GAAG3hN,GAAG,GAAG,OAAOhI,EAAE,GAAW,MAARgI,EAAEhI,EAAE+nI,MAAY,GAAW,QAAR//H,EAAE8hN,GAAG9pN,IAAoF,OAAvEyK,EAAEk4e,UAAU36e,OAAE3H,EAAEwif,yBAAyBp4e,EAAEq4e,UAAS,WAAW90R,GAAGhuN,WAAkB,GAAG,IAAIgI,GAAGhI,EAAEwgf,UAAUuC,QAA8D,YAArDt4e,EAAEk4e,UAAU,IAAI3if,EAAE+nI,IAAI/nI,EAAEwgf,UAAUkC,cAAc,MAAaj4e,EAAEk4e,UAAU,KAAK,SAASjyR,GAAGjmN,GAAG,GAAG,OAAOA,EAAEk4e,UAAU,OAAM,EAAG,IAAI36e,EAAEgiN,GAAGv/M,EAAE83e,aAAa93e,EAAEg4e,iBAAiBh4e,EAAEmiH,UAAUniH,EAAEkiZ,aAAa,GAAG,OAAO3kZ,EAAE,CAAC,IAAIhI,EAAE6pN,GAAG7hN,GAAiC,OAA9B,OAAOhI,GAAG0rN,GAAG1rN,GAAGyK,EAAEk4e,UAAU36e,GAAQ,EAAG,OAAM,EAC1e,SAASwoN,GAAG/lN,EAAEzC,EAAEhI,GAAG0wN,GAAGjmN,IAAIzK,EAAE4if,OAAO56e,GAAG,SAASigN,KAAK,IAAI4K,IAAG,EAAG,EAAEF,GAAG/3N,QAAQ,CAAC,IAAI6P,EAAEkoN,GAAG,GAAG,GAAG,OAAOloN,EAAEk4e,UAAU,CAAmB,QAAlBl4e,EAAEo/M,GAAGp/M,EAAEk4e,aAAqB/0R,GAAGnjN,GAAG,MAAM,IAAIzC,EAAEgiN,GAAGv/M,EAAE83e,aAAa93e,EAAEg4e,iBAAiBh4e,EAAEmiH,UAAUniH,EAAEkiZ,aAAa,OAAO3kZ,EAAEyC,EAAEk4e,UAAU36e,EAAE2qN,GAAGjgJ,QAAQ,OAAOkgJ,IAAIlC,GAAGkC,MAAMA,GAAG,MAAM,OAAOmB,IAAIrD,GAAGqD,MAAMA,GAAG,MAAM,OAAOvI,IAAIkF,GAAGlF,MAAMA,GAAG,MAAMiI,GAAG5gM,QAAQ29L,IAAIoD,GAAG/gM,QAAQ29L,IAAI,SAAS0D,GAAGzpN,EAAEzC,GAAGyC,EAAEk4e,YAAY36e,IAAIyC,EAAEk4e,UAAU,KAAK9vR,KAAKA,IAAG,EAAGxyN,EAAE2if,0BAA0B3if,EAAE4if,wBAAwBh7R,MACze,SAASsM,GAAG9pN,GAAG,SAASzC,EAAEA,GAAG,OAAOksN,GAAGlsN,EAAEyC,GAAG,GAAG,EAAEkoN,GAAG/3N,OAAO,CAACs5N,GAAGvB,GAAG,GAAGloN,GAAG,IAAI,IAAIzK,EAAE,EAAEA,EAAE2yN,GAAG/3N,OAAOoF,IAAI,CAAC,IAAIC,EAAE0yN,GAAG3yN,GAAGC,EAAE0if,YAAYl4e,IAAIxK,EAAE0if,UAAU,OAA+F,IAAxF,OAAO/vR,IAAIsB,GAAGtB,GAAGnoN,GAAG,OAAOspN,IAAIG,GAAGH,GAAGtpN,GAAG,OAAO+gN,IAAI0I,GAAG1I,GAAG/gN,GAAGgpN,GAAG5gM,QAAQ7qB,GAAG4rN,GAAG/gM,QAAQ7qB,GAAOhI,EAAE,EAAEA,EAAEixN,GAAGr2N,OAAOoF,KAAIC,EAAEgxN,GAAGjxN,IAAK2if,YAAYl4e,IAAIxK,EAAE0if,UAAU,MAAM,KAAK,EAAE1xR,GAAGr2N,QAAiB,QAARoF,EAAEixN,GAAG,IAAY0xR,WAAY3yY,GAAGhwG,GAAG,OAAOA,EAAE2if,WAAW1xR,GAAGv+I,QAC/X,IAAIi9I,GAAG,GAAG9I,GAAG,IAAIztD,IAAI0tD,GAAG,IAAI1tD,IAAI04D,GAAG,CAAC,QAAQ,QAAQE,GAAG,eAAevC,GAAG,qBAAqBF,GAAG,iBAAiB,UAAU,UAAU,iBAAiB,iBAAiB,iBAAiB,iBAAiB,UAAU,UAAU,YAAY,YAAY,QAAQ,QAAQ,QAAQ,QAAQ,oBAAoB,oBAAoB,OAAO,OAAO,aAAa,aAAa,iBAAiB,iBAAiB,YAAY,YAAY,qBAAqB,qBAAqB,UAAU,UAAU,WAAW,WAAW,UACpf,UAAU,UAAU,UAAU,UAAU,UAAU,aAAa,aAAawB,GAAG,gBAAgB,UAAU,WAAW,SAAS94M,GAAGxN,EAAEzC,GAAG,IAAI,IAAIhI,EAAE,EAAEA,EAAEyK,EAAE7P,OAAOoF,GAAG,EAAE,CAAC,IAAIC,EAAEwK,EAAEzK,GAAGnB,EAAE4L,EAAEzK,EAAE,GAAGjB,EAAE,MAAMF,EAAE,GAAG0kF,cAAc1kF,EAAEixC,MAAM,IAAI/wC,EAAE,CAACshf,wBAAwB,CAAC6C,QAAQnkf,EAAEokf,SAASpkf,EAAE,WAAWwhf,aAAa,CAACtgf,GAAGmjf,cAAcp7e,GAAG8+M,GAAGx8M,IAAIrK,EAAE+H,GAAG6+M,GAAGv8M,IAAIrK,EAAElB,GAAG4wN,GAAG9wN,GAAGE,GACzVkZ,GAAG,6iBAA6iB5N,MAAM,KAAK,GAC3jB4N,GAAG,oRAAoR5N,MAAM,KAAK,GAAG4N,GAAG65M,GAAG,GAAG,IAAI,IAAI5I,GAAG,qFAAqF7+M,MAAM,KAAK8+M,GAAG,EAAEA,GAAGD,GAAGtuN,OAAOuuN,KAAKrC,GAAGx8M,IAAI4+M,GAAGC,IAAI,GAC9b,IAAIiH,GAAG/vN,EAAEgjf,8BAA8B1xR,GAAGtxN,EAAEwif,yBAAyBh6R,IAAG,EAAG,SAASpqN,GAAEgM,EAAEzC,GAAG2jN,GAAG3jN,EAAEyC,GAAE,GAAI,SAASkhN,GAAGlhN,EAAEzC,EAAEhI,GAAG,IAAIC,EAAE6mN,GAAG1mN,IAAI4H,GAAG,YAAO,IAAS/H,EAAE,EAAEA,GAAG,KAAK,EAAEA,EAAE4zN,GAAGlzN,KAAK,KAAKqH,EAAE,EAAEyC,GAAG,MAAM,KAAK,EAAExK,EAAEsnN,GAAG5mN,KAAK,KAAKqH,EAAE,EAAEyC,GAAG,MAAM,QAAQxK,EAAEgiB,GAAGthB,KAAK,KAAKqH,EAAE,EAAEyC,GAAGzK,EAAEyK,EAAE2mB,iBAAiBppB,EAAE/H,GAAE,GAAIwK,EAAE2mB,iBAAiBppB,EAAE/H,GAAE,GAAI,SAAS4zN,GAAGppN,EAAEzC,EAAEhI,EAAEC,GAAGk3N,GAAI5D,IAAK,IAAI10N,EAAEojB,GAAGljB,EAAEo4N,EAAGA,GAAG,EAAG,IAAI7C,EAAGz1N,EAAE4L,EAAEzC,EAAEhI,EAAEC,GAAf,SAA2Bk3N,EAAGp4N,IAAIoxN,KAAM,SAAS5I,GAAG98M,EAAEzC,EAAEhI,EAAEC,GAAG0xN,GAAGvB,GAAGnuM,GAAGthB,KAAK,KAAK8J,EAAEzC,EAAEhI,EAAEC,IACpc,SAASgiB,GAAGxX,EAAEzC,EAAEhI,EAAEC,GAAG,GAAG4oN,GAAG,GAAG,EAAE8J,GAAG/3N,SAAS,EAAEs2N,GAAG/oN,QAAQsC,GAAGA,EAAEinN,GAAG,KAAKjnN,EAAEzC,EAAEhI,EAAEC,GAAG0yN,GAAG/tN,KAAK6F,OAAO,CAAC,IAAI5L,EAAEmrN,GAAGv/M,EAAEzC,EAAEhI,EAAEC,GAAG,GAAG,OAAOpB,EAAEw4N,GAAG5sN,EAAExK,QAAQ,IAAI,EAAEixN,GAAG/oN,QAAQsC,GAAGA,EAAEinN,GAAG7yN,EAAE4L,EAAEzC,EAAEhI,EAAEC,GAAG0yN,GAAG/tN,KAAK6F,QAAQ,IAT9L,SAAYA,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,OAAOmJ,GAAG,IAAK,QAAQ,OAAO4qN,GAAGhJ,GAAGgJ,GAAGnoN,EAAEzC,EAAEhI,EAAEC,EAAEpB,IAAG,EAAG,IAAK,YAAY,OAAOk1N,GAAGnK,GAAGmK,GAAGtpN,EAAEzC,EAAEhI,EAAEC,EAAEpB,IAAG,EAAG,IAAK,YAAY,OAAO2sN,GAAG5B,GAAG4B,GAAG/gN,EAAEzC,EAAEhI,EAAEC,EAAEpB,IAAG,EAAG,IAAK,cAAc,IAAIE,EAAEF,EAAEmvZ,UAAkD,OAAxCv6L,GAAGnpN,IAAIvL,EAAE6qN,GAAG6J,GAAGrzN,IAAIrB,IAAI,KAAK0L,EAAEzC,EAAEhI,EAAEC,EAAEpB,KAAU,EAAG,IAAK,oBAAoB,OAAOE,EAAEF,EAAEmvZ,UAAUp6L,GAAGtpN,IAAIvL,EAAE6qN,GAAGgK,GAAGxzN,IAAIrB,IAAI,KAAK0L,EAAEzC,EAAEhI,EAAEC,EAAEpB,KAAI,EAAG,OAAM,EAS7J0vN,CAAG1vN,EAAE4L,EAAEzC,EAAEhI,EAAEC,GAAG,CAACo3N,GAAG5sN,EAAExK,GAAGwK,EAAE4pN,GAAG5pN,EAAExK,EAAE,KAAK+H,GAAG,IAAI8kN,EAAGr8L,GAAGhmB,GAAV,QAAqBupN,GAAGvpN,MAClQ,SAASu/M,GAAGv/M,EAAEzC,EAAEhI,EAAEC,GAAmB,GAAG,QAAXD,EAAEqwN,GAAVrwN,EAAEmsN,GAAGlsN,KAAuB,CAAC,IAAIpB,EAAE8qN,GAAG3pN,GAAG,GAAG,OAAOnB,EAAEmB,EAAE,SAAS,CAAC,IAAIjB,EAAEF,EAAEkpI,IAAI,GAAG,KAAKhpI,EAAE,CAAS,GAAG,QAAXiB,EAAE8pN,GAAGjrN,IAAe,OAAOmB,EAAEA,EAAE,UAAU,GAAG,IAAIjB,EAAE,CAAC,GAAGF,EAAE2hf,UAAUuC,QAAQ,OAAO,IAAIlkf,EAAEkpI,IAAIlpI,EAAE2hf,UAAUkC,cAAc,KAAK1if,EAAE,UAAUnB,IAAImB,IAAIA,EAAE,OAAOyK,EAAE4pN,GAAG5pN,EAAExK,EAAED,EAAEgI,GAAG,IAAI8kN,EAAGr8L,GAAGhmB,GAAV,QAAqBupN,GAAGvpN,GAAG,OAAO,KACpT,IAAI+8M,GAAG,CAAC87R,yBAAwB,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAG7qY,aAAY,EAAG3C,SAAQ,EAAG4gX,MAAK,EAAG6sB,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAG36e,YAAW,EAAG46e,WAAU,EAAG/9S,YAAW,EAAG//I,SAAQ,EAAGsnF,OAAM,EAAGy2W,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAG7vc,QAAO,EAAGk2B,MAAK,EAAGgzI,aAAY,EAC1f4mS,cAAa,EAAGC,aAAY,EAAGn6J,iBAAgB,EAAGo6J,kBAAiB,EAAGC,kBAAiB,EAAGjnS,eAAc,EAAGjzF,aAAY,GAAI+rG,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAAS7G,GAAGzlN,EAAEzC,EAAEhI,GAAG,OAAO,MAAMgI,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGhI,GAAG,kBAAkBgI,GAAG,IAAIA,GAAGw/M,GAAG1mN,eAAe2J,IAAI+8M,GAAG/8M,IAAI,GAAGzC,GAAG1C,OAAO0C,EAAE,KAC9Z,SAAS4jN,GAAGnhN,EAAEzC,GAAa,IAAI,IAAIhI,KAAlByK,EAAEA,EAAE+F,MAAmBxI,EAAE,GAAGA,EAAElH,eAAed,GAAG,CAAC,IAAIC,EAAE,IAAID,EAAEmI,QAAQ,MAAMtJ,EAAEqxN,GAAGlwN,EAAEgI,EAAEhI,GAAGC,GAAG,UAAUD,IAAIA,EAAE,YAAYC,EAAEwK,EAAE07W,YAAYnmX,EAAEnB,GAAG4L,EAAEzK,GAAGnB,GADT5D,OAAO23B,KAAK40L,IAAI30L,SAAQ,SAASpoB,GAAGssN,GAAGlkM,SAAQ,SAAS7qB,GAAGA,EAAEA,EAAEyC,EAAEmc,OAAO,GAAG28D,cAAc94E,EAAE0kC,UAAU,GAAGq4K,GAAGx/M,GAAGw/M,GAAG/8M,SACrG,IAAI87M,GAAG5nN,EAAE,CAACwmf,UAAS,GAAI,CAAC/4Z,MAAK,EAAG39E,MAAK,EAAGo5H,IAAG,EAAGzvD,KAAI,EAAG2kD,OAAM,EAAG+oE,IAAG,EAAGlnL,KAAI,EAAG2hG,OAAM,EAAG01T,QAAO,EAAG33Y,MAAK,EAAG0zI,MAAK,EAAGxkH,OAAM,EAAGpnC,QAAO,EAAG8vZ,OAAM,EAAGC,KAAI,IAClT,SAASlmN,GAAGxlN,EAAEzC,GAAG,GAAGA,EAAE,CAAC,GAAGu+M,GAAG97M,KAAK,MAAMzC,EAAEsI,UAAU,MAAMtI,EAAEiyH,yBAAyB,MAAMj9F,MAAMllB,EAAE,IAAIrN,EAAE,KAAK,GAAG,MAAMzC,EAAEiyH,wBAAwB,CAAC,GAAG,MAAMjyH,EAAEsI,SAAS,MAAM0sB,MAAMllB,EAAE,KAAK,GAAK,kBAAkB9P,EAAEiyH,2BAAyB,WAAWjyH,EAAEiyH,yBAAyB,MAAMj9F,MAAMllB,EAAE,KAAM,GAAG,MAAM9P,EAAEwI,OAAO,kBAAkBxI,EAAEwI,MAAM,MAAMwsB,MAAMllB,EAAE,GAAG,MAClW,SAAS0uM,GAAG/7M,EAAEzC,GAAG,IAAI,IAAIyC,EAAEtC,QAAQ,KAAK,MAAM,kBAAkBH,EAAE5F,GAAG,OAAOqI,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,GAAI,IAAI64I,GAAG8jE,GAAQ,SAAS/iE,GAAG55I,EAAEzC,GAAuD,IAAIhI,EAAE0pN,GAA1Dj/M,EAAE,IAAIA,EAAEkH,UAAU,KAAKlH,EAAEkH,SAASlH,EAAEA,EAAEu9B,eAA0BhgC,EAAEspN,EAAGtpN,GAAG,IAAI,IAAI/H,EAAE,EAAEA,EAAE+H,EAAEpN,OAAOqF,IAAImxN,GAAGppN,EAAE/H,GAAGwK,EAAEzK,GAAG,SAAS8hJ,MAC5a,SAASgtE,GAAGrkN,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBrJ,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOqJ,EAAEk2Y,eAAel2Y,EAAE0X,KAAK,MAAMna,GAAG,OAAOyC,EAAE0X,MAAM,SAASmlM,GAAG78M,GAAG,KAAKA,GAAGA,EAAE2yB,YAAY3yB,EAAEA,EAAE2yB,WAAW,OAAO3yB,EAAE,SAASulN,GAAGvlN,EAAEzC,GAAG,IAAwB/H,EAApBD,EAAEsnN,GAAG78M,GAAO,IAAJA,EAAE,EAAYzK,GAAG,CAAC,GAAG,IAAIA,EAAE2R,SAAS,CAA0B,GAAzB1R,EAAEwK,EAAEzK,EAAEgS,YAAYpX,OAAU6P,GAAGzC,GAAG/H,GAAG+H,EAAE,MAAM,CAACrG,KAAK3B,EAAE+S,OAAO/K,EAAEyC,GAAGA,EAAExK,EAAEwK,EAAE,CAAC,KAAKzK,GAAG,CAAC,GAAGA,EAAEm9B,YAAY,CAACn9B,EAAEA,EAAEm9B,YAAY,MAAM1yB,EAAEzK,EAAEA,EAAEyjB,WAAWzjB,OAAE,EAAOA,EAAEsnN,GAAGtnN,IAC3P,SAASg/I,KAAK,IAAI,IAAIv0I,EAAEjL,OAAOwI,EAAE8mN,KAAK9mN,aAAayC,EAAEoxB,mBAAmB,CAAC,IAAI,IAAI77B,EAAE,kBAAkBgI,EAAE45L,cAAcliK,SAAShhB,KAAK,MAAMze,GAAGD,GAAE,EAAG,IAAGA,EAAyB,MAAMgI,EAAE8mN,IAA/BrkN,EAAEzC,EAAE45L,eAAgCxgM,UAAU,OAAO4G,EAC5Y,SAASi3I,GAAGx0I,GAAG,IAAIzC,EAAEyC,GAAGA,EAAEmH,UAAUnH,EAAEmH,SAAS+E,cAAc,OAAO3O,IAAI,UAAUA,IAAI,SAASyC,EAAEsE,MAAM,WAAWtE,EAAEsE,MAAM,QAAQtE,EAAEsE,MAAM,QAAQtE,EAAEsE,MAAM,aAAatE,EAAEsE,OAAO,aAAa/G,GAAG,SAASyC,EAAE26e,iBAAiB,IAAmCj0R,GAAG,KAAKjJ,GAAG,KAAK,SAASE,GAAG39M,EAAEzC,GAAG,OAAOyC,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAW,QAAQzC,EAAEm+Z,UAAU,OAAM,EAC7X,SAASrzM,GAAGroN,EAAEzC,GAAG,MAAM,aAAayC,GAAG,WAAWA,GAAG,aAAaA,GAAG,kBAAkBzC,EAAEsI,UAAU,kBAAkBtI,EAAEsI,UAAU,kBAAkBtI,EAAEiyH,yBAAyB,OAAOjyH,EAAEiyH,yBAAyB,MAAMjyH,EAAEiyH,wBAAwBC,OAAO,IAAI64F,GAAG,oBAAoBpgM,WAAWA,gBAAW,EAAOi2L,GAAG,oBAAoBx2L,aAAaA,kBAAa,EAAO,SAASw0L,GAAGn8M,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAE0yB,YAAY,CAAC,IAAIn1B,EAAEyC,EAAEkH,SAAS,GAAG,IAAI3J,GAAG,IAAIA,EAAE,MAAM,OAAOyC,EAClc,SAASukN,GAAGvkN,GAAGA,EAAEA,EAAEm/B,gBAAgB,IAAI,IAAI5hC,EAAE,EAAEyC,GAAG,CAAC,GAAG,IAAIA,EAAEkH,SAAS,CAAC,IAAI3R,EAAEyK,EAAEqE,KAAK,GAFgJ,MAE7I9O,GAFoK,OAE5JA,GAFoJ,OAE5IA,EAAO,CAAC,GAAG,IAAIgI,EAAE,OAAOyC,EAAEzC,QAF0G,OAEjGhI,GAAQgI,IAAIyC,EAAEA,EAAEm/B,gBAAgB,OAAO,KAAK,IAAIqlL,GAAGhqN,KAAKk/G,SAASj6G,SAAS,IAAI4lC,MAAM,GAAGg5K,GAAG,2BAA2BmG,GAAGrE,GAAG,wBAAwBqE,GAAGwC,GAAG,qBAAqBxC,GACvT,SAASoB,GAAG5lN,GAAG,IAAIzC,EAAEyC,EAAEq+M,IAAI,GAAG9gN,EAAE,OAAOA,EAAE,IAAI,IAAIhI,EAAEyK,EAAEgZ,WAAWzjB,GAAG,CAAC,GAAGgI,EAAEhI,EAAEyxN,KAAKzxN,EAAE8oN,IAAI,CAAe,GAAd9oN,EAAEgI,EAAE85e,UAAa,OAAO95e,EAAEsJ,OAAO,OAAOtR,GAAG,OAAOA,EAAEsR,MAAM,IAAI7G,EAAEukN,GAAGvkN,GAAG,OAAOA,GAAG,CAAC,GAAGzK,EAAEyK,EAAEq+M,IAAI,OAAO9oN,EAAEyK,EAAEukN,GAAGvkN,GAAG,OAAOzC,EAAMhI,GAAJyK,EAAEzK,GAAMyjB,WAAW,OAAO,KAAK,SAASomM,GAAGp/M,GAAkB,QAAfA,EAAEA,EAAEq+M,KAAKr+M,EAAEgnN,MAAc,IAAIhnN,EAAEs9H,KAAK,IAAIt9H,EAAEs9H,KAAK,KAAKt9H,EAAEs9H,KAAK,IAAIt9H,EAAEs9H,IAAI,KAAKt9H,EAAE,SAASi+M,GAAGj+M,GAAG,GAAG,IAAIA,EAAEs9H,KAAK,IAAIt9H,EAAEs9H,IAAI,OAAOt9H,EAAE+1e,UAAU,MAAMxjd,MAAMllB,EAAE,KAAM,SAAS6wM,GAAGl+M,GAAG,OAAOA,EAAEmgN,KAAK,KAClb,SAASrC,GAAG99M,GAAG,GAAGA,EAAEA,EAAE2gJ,aAAa3gJ,GAAG,IAAIA,EAAEs9H,KAAK,OAAOt9H,GAAI,KAC5D,SAAS4+M,GAAG5+M,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAE+1e,UAAU,IAAIxgf,EAAE,OAAO,KAAK,IAAIC,EAAEswN,EAAGvwN,GAAG,IAAIC,EAAE,OAAO,KAAKD,EAAEC,EAAE+H,GAAGyC,EAAE,OAAOzC,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgB/H,GAAGA,EAAEymF,YAAqBzmF,IAAI,YAAbwK,EAAEA,EAAEsE,OAAuB,UAAUtE,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGxK,EAAE,MAAMwK,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGzK,GAAG,oBAAoBA,EAAE,MAAMg9B,MAAMllB,EAAE,IACjgB9P,SAAShI,IAAI,OAAOA,EAAE,SAASmvN,GAAG1kN,EAAEzC,EAAEhI,IAAMgI,EAAEqhN,GAAG5+M,EAAEzK,EAAEqlf,eAAehF,wBAAwBr4e,OAAIhI,EAAEkif,mBAAmB3qR,GAAGv3N,EAAEkif,mBAAmBl6e,GAAGhI,EAAEmif,mBAAmB5qR,GAAGv3N,EAAEmif,mBAAmB13e,IAAG,SAASykN,GAAGzkN,GAAG,GAAGA,GAAGA,EAAE46e,eAAehF,wBAAwB,CAAC,IAAI,IAAIr4e,EAAEyC,EAAE66e,YAAYtlf,EAAE,GAAGgI,GAAGhI,EAAE4E,KAAKoD,GAAGA,EAAEugN,GAAGvgN,GAAG,IAAIA,EAAEhI,EAAEpF,OAAO,EAAEoN,KAAKmnN,GAAGnvN,EAAEgI,GAAG,WAAWyC,GAAG,IAAIzC,EAAE,EAAEA,EAAEhI,EAAEpF,OAAOoN,IAAImnN,GAAGnvN,EAAEgI,GAAG,UAAUyC,IACtY,SAAS0qN,GAAG1qN,EAAEzC,EAAEhI,GAAGyK,GAAGzK,GAAGA,EAAEqlf,eAAe/E,mBAAmBt4e,EAAEqhN,GAAG5+M,EAAEzK,EAAEqlf,eAAe/E,qBAAqBtgf,EAAEkif,mBAAmB3qR,GAAGv3N,EAAEkif,mBAAmBl6e,GAAGhI,EAAEmif,mBAAmB5qR,GAAGv3N,EAAEmif,mBAAmB13e,IAAI,SAAS86e,GAAG96e,GAAGA,GAAGA,EAAE46e,eAAe/E,kBAAkBnrR,GAAG1qN,EAAE66e,YAAY,KAAK76e,GAAG,SAAS+6e,GAAG/6e,GAAG27M,GAAG37M,EAAEykN,IAAI,IAAIu2R,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACxU,SAAS5pT,KAAK,GAAG4pT,GAAG,OAAOA,GAAG,IAAIl7e,EAAkBxK,EAAhB+H,EAAE09e,GAAG1lf,EAAEgI,EAAEpN,OAASiE,EAAE,UAAU4mf,GAAGA,GAAGjof,MAAMiof,GAAGzze,YAAYjT,EAAEF,EAAEjE,OAAO,IAAI6P,EAAE,EAAEA,EAAEzK,GAAGgI,EAAEyC,KAAK5L,EAAE4L,GAAGA,KAAK,IAAI1C,EAAE/H,EAAEyK,EAAE,IAAIxK,EAAE,EAAEA,GAAG8H,GAAGC,EAAEhI,EAAEC,KAAKpB,EAAEE,EAAEkB,GAAGA,KAAK,OAAO0lf,GAAG9mf,EAAEixC,MAAMrlC,EAAE,EAAExK,EAAE,EAAEA,OAAE,GAAQ,SAASg+L,KAAK,OAAM,EAAG,SAASZ,KAAK,OAAM,EAClQ,SAAS7J,GAAE/oL,EAAEzC,EAAEhI,EAAEC,GAA4F,IAAI,IAAIpB,KAAjGf,KAAKunf,eAAe56e,EAAE3M,KAAKwnf,YAAYt9e,EAAElK,KAAK6uZ,YAAY3sZ,EAAEyK,EAAE3M,KAAKP,YAAYqof,UAAyBn7e,EAAE3J,eAAejC,MAAMmJ,EAAEyC,EAAE5L,IAAIf,KAAKe,GAAGmJ,EAAEhI,GAAG,WAAWnB,EAAEf,KAAKrD,OAAOwF,EAAEnC,KAAKe,GAAGmB,EAAEnB,IAAgI,OAA5Hf,KAAK0vZ,oBAAoB,MAAMxtZ,EAAEytZ,iBAAiBztZ,EAAEytZ,kBAAiB,IAAKztZ,EAAEuhD,aAAa08I,GAAGZ,GAAGv/L,KAAKivZ,qBAAqB1vN,GAAUv/L,KAGrF,SAAS88L,GAAGnwL,EAAEzC,EAAEhI,EAAEC,GAAG,GAAGnC,KAAK+nf,UAAUjrf,OAAO,CAAC,IAAIiE,EAAEf,KAAK+nf,UAAU/gf,MAA2B,OAArBhH,KAAKgC,KAAKjB,EAAE4L,EAAEzC,EAAEhI,EAAEC,GAAUpB,EAAE,OAAO,IAAIf,KAAK2M,EAAEzC,EAAEhI,EAAEC,GAC7X,SAASy9L,GAAGjzL,GAAG,KAAKA,aAAa3M,MAAM,MAAMk/B,MAAMllB,EAAE,MAAMrN,EAAEq7e,aAAa,GAAGhof,KAAK+nf,UAAUjrf,QAAQkD,KAAK+nf,UAAUjhf,KAAK6F,GAAG,SAAS8sF,GAAG9sF,GAAGA,EAAEo7e,UAAU,GAAGp7e,EAAEs7e,UAAUnrT,GAAGnwL,EAAEqtb,QAAQp6P,GAHlL/+L,EAAE60L,GAAEj4L,UAAU,CAACq9C,eAAe,WAAW96C,KAAK2vZ,kBAAiB,EAAG,IAAIhjZ,EAAE3M,KAAK6uZ,YAAYliZ,IAAIA,EAAEmuC,eAAenuC,EAAEmuC,iBAAiB,mBAAmBnuC,EAAE82C,cAAc92C,EAAE82C,aAAY,GAAIzjD,KAAK0vZ,mBAAmBvvN,KAAKnlJ,gBAAgB,WAAW,IAAIruC,EAAE3M,KAAK6uZ,YAAYliZ,IAAIA,EAAEquC,gBAAgBruC,EAAEquC,kBAAkB,mBAAmBruC,EAAEu7e,eAAev7e,EAAEu7e,cAAa,GAAIlof,KAAKivZ,qBAAqB9uN,KAAKglO,QAAQ,WAAWnla,KAAKskf,aAAankT,IAAImkT,aAAa/kT,GAAGyoT,WAAW,WAAW,IACpd99e,EADwdyC,EAAE3M,KAAKP,YAAYqof,UACze,IAAI59e,KAAKyC,EAAE3M,KAAKkK,GAAG,KAAKlK,KAAK6uZ,YAAY7uZ,KAAKwnf,YAAYxnf,KAAKunf,eAAe,KAAKvnf,KAAKivZ,qBAAqBjvZ,KAAK0vZ,mBAAmBnwN,GAAGv/L,KAAKqkf,mBAAmBrkf,KAAKokf,mBAAmB,QAAQ1uT,GAAEoyT,UAAU,CAAC72e,KAAK,KAAKtU,OAAO,KAAK68F,cAAc,WAAW,OAAO,MAAMu2T,WAAW,KAAKliS,QAAQ,KAAK81L,WAAW,KAAKisG,UAAU,SAASjjZ,GAAG,OAAOA,EAAEijZ,WAAWr4X,KAAKzB,OAAO65X,iBAAiB,KAAKw4F,UAAU,MAC9YzyT,GAAEtgJ,OAAO,SAASzoC,GAAG,SAASzC,KAAK,SAAShI,IAAI,OAAOC,EAAE/B,MAAMJ,KAAKG,WAAW,IAAIgC,EAAEnC,KAAKkK,EAAEzM,UAAU0E,EAAE1E,UAAU,IAAIsD,EAAE,IAAImJ,EAAmH,OAAjHrJ,EAAEE,EAAEmB,EAAEzE,WAAWyE,EAAEzE,UAAUsD,EAAEmB,EAAEzE,UAAUgC,YAAYyC,EAAEA,EAAE4lf,UAAUjnf,EAAE,GAAGsB,EAAE2lf,UAAUn7e,GAAGzK,EAAEkzC,OAAOjzC,EAAEizC,OAAOqkD,GAAGv3F,GAAUA,GAAGu3F,GAAGi8F,IACvE,IAAIsK,GAAGtK,GAAEtgJ,OAAO,CAACpkC,KAAK,OAAO0uL,GAAGhK,GAAEtgJ,OAAO,CAACpkC,KAAK,OAAOusL,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIqE,GAAG6xB,GAAI,qBAAqB/xN,OAAOs/L,GAAG,KAAKyyB,GAAI,iBAAiBnwN,WAAW09L,GAAG19L,SAASqxb,cAClV,IAAIh1P,GAAG8zB,GAAI,cAAc/xN,SAASs/L,GAAGf,GAAGwzB,KAAM7xB,IAAIZ,IAAI,EAAEA,IAAI,IAAIA,IAAI1D,GAAG3lK,OAAOE,aAAa,IAAIonK,GAAG,CAACmpT,YAAY,CAAC7F,wBAAwB,CAAC6C,QAAQ,gBAAgBC,SAAS,wBAAwB5C,aAAa,CAAC,iBAAiB,WAAW,YAAY,UAAU4F,eAAe,CAAC9F,wBAAwB,CAAC6C,QAAQ,mBAAmBC,SAAS,2BAA2B5C,aAAa,uDAAuDl2e,MAAM,MAAM+7e,iBAAiB,CAAC/F,wBAAwB,CAAC6C,QAAQ,qBAC7eC,SAAS,6BAA6B5C,aAAa,yDAAyDl2e,MAAM,MAAMg8e,kBAAkB,CAAChG,wBAAwB,CAAC6C,QAAQ,sBAAsBC,SAAS,8BAA8B5C,aAAa,0DAA0Dl2e,MAAM,OAAOwzL,IAAG,EAChU,SAASyC,GAAG71L,EAAEzC,GAAG,OAAOyC,GAAG,IAAK,QAAQ,OAAO,IAAI4wL,GAAGlzL,QAAQH,EAAE0xC,SAAS,IAAK,UAAU,OAAO,MAAM1xC,EAAE0xC,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,OAAO,OAAM,EAAG,QAAQ,OAAM,GAAI,SAAS7pB,GAAGplB,GAAc,MAAM,kBAAjBA,EAAEA,EAAE4uC,SAAkC,SAAS5uC,EAAEA,EAAEqE,KAAK,KAAK,IAAImuL,IAAG,EAE1Q,IAAIe,GAAG,CAACoiT,WAAWrjT,GAAGojT,cAAc,SAAS11e,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAE,GAAG6gM,GAAG13L,EAAE,CAAC,OAAOyC,GAAG,IAAK,mBAAmB,IAAI1L,EAAEg+L,GAAGqpT,iBAAiB,MAAMp+e,EAAE,IAAK,iBAAiBjJ,EAAEg+L,GAAGopT,eAAe,MAAMn+e,EAAE,IAAK,oBAAoBjJ,EAAEg+L,GAAGspT,kBAAkB,MAAMr+e,EAAEjJ,OAAE,OAAYk+L,GAAGqD,GAAG71L,EAAEzK,KAAKjB,EAAEg+L,GAAGopT,gBAAgB,YAAY17e,GAAG,MAAMzK,EAAE05C,UAAU36C,EAAEg+L,GAAGqpT,kBAClL,OADoMrnf,GAAGg/L,IAAI,OAAO/9L,EAAEs6X,SAASr9L,IAAIl+L,IAAIg+L,GAAGqpT,iBAAiBrnf,IAAIg+L,GAAGopT,gBAAgBlpT,KAAKp+L,EAAEk9L,OAAY2pT,GAAG,UAARD,GAAGxlf,GAAkBwlf,GAAGjof,MAAMiof,GAAGzze,YAAYirL,IAAG,IAAKl+L,EAAE++L,GAAGioT,UAAUhnf,EACzfiJ,EAAEhI,EAAEC,GAAGpB,EAAEE,EAAE+P,KAAKjQ,EAAW,QAARA,EAAEgxB,GAAG7vB,MAAcjB,EAAE+P,KAAKjQ,GAAI2mf,GAAGzmf,GAAGF,EAAEE,GAAGF,EAAE,MAAM4L,EAAEgzL,GAHuM,SAAYhzL,EAAEzC,GAAG,OAAOyC,GAAG,IAAK,iBAAiB,OAAOolB,GAAG7nB,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAE2wC,MAAa,MAAKklJ,IAAG,EAAUzC,IAAG,IAAK,YAAY,OAAO3wL,EAAEzC,EAAE8G,QAASssL,IAAIyC,GAAG,KAAKpzL,EAAE,QAAQ,OAAO,MAGhY6qL,CAAG7qL,EAAEzK,GAF9E,SAAYyK,EAAEzC,GAAG,GAAGi1L,GAAG,MAAM,mBAAmBxyL,IAAIi1L,IAAIY,GAAG71L,EAAEzC,IAAIyC,EAAEsxL,KAAK4pT,GAAGD,GAAGD,GAAG,KAAKxoT,IAAG,EAAGxyL,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAQ,OAAO,KAAK,IAAK,WAAW,KAAKzC,EAAE+sC,SAAS/sC,EAAE4lZ,QAAQ5lZ,EAAE0rJ,UAAU1rJ,EAAE+sC,SAAS/sC,EAAE4lZ,OAAO,CAAC,GAAG5lZ,EAAE67Z,MAAM,EAAE77Z,EAAE67Z,KAAKjpa,OAAO,OAAOoN,EAAE67Z,KAAK,GAAG77Z,EAAE2wC,MAAM,OAAOljB,OAAOE,aAAa3tB,EAAE2wC,OAAO,OAAO,KAAK,IAAK,iBAAiB,OAAOolJ,IAAI,OAAO/1L,EAAEsyX,OAAO,KAAKtyX,EAAE8G,KAAK,QAAQ,OAAO,MAEjTwuL,CAAG7yL,EAAEzK,MAAKgI,EAAEw1L,GAAGuoT,UAAUhpT,GAAGmpT,YAAYl+e,EAAEhI,EAAEC,IAAK6O,KAAKrE,EAAE+6e,GAAGx9e,IAAIA,EAAE,KAAY,OAAOnJ,EAAEmJ,EAAE,OAAOA,EAAEnJ,EAAE,CAACA,EAAEmJ,KAAKq2L,GAAG,CAACx2L,OAAM,EAAGqtO,MAAK,EAAGoxQ,UAAS,EAAG,kBAAiB,EAAG93L,OAAM,EAAG3f,OAAM,EAAGhnL,QAAO,EAAG0mF,UAAS,EAAGjlE,OAAM,EAAGjO,QAAO,EAAGkrX,KAAI,EAAGx0e,MAAK,EAAGojO,MAAK,EAAGzvO,KAAI,EAAGg0X,MAAK,GAAI,SAASl1O,GAAG/5I,GAAG,IAAIzC,EAAEyC,GAAGA,EAAEmH,UAAUnH,EAAEmH,SAAS+E,cAAc,MAAM,UAAU3O,IAAIq2L,GAAG5zL,EAAEsE,MAAM,aAAa/G,EAC5b,IAAIo2L,GAAG,CAACyhQ,OAAO,CAACwgD,wBAAwB,CAAC6C,QAAQ,WAAWC,SAAS,mBAAmB5C,aAAa,8DAA8Dl2e,MAAM,OAAO,SAAS62L,GAAGz2L,EAAEzC,EAAEhI,GAA8D,OAA3DyK,EAAE+oL,GAAEuyT,UAAU3nT,GAAGyhQ,OAAOp1b,EAAEzC,EAAEhI,IAAK+O,KAAK,SAASq6M,EAAGppN,GAAGwlf,GAAG/6e,GAAUA,EAAE,IAAI+zL,GAAG,KAAK0B,GAAG,KAAK,SAASV,GAAG/0L,GAAG+sN,GAAG/sN,GAAG,SAASi2L,GAAGj2L,GAAe,GAAG2nN,GAAT1J,GAAGj+M,IAAY,OAAOA,EAAE,SAAS21L,GAAG31L,EAAEzC,GAAG,GAAG,WAAWyC,EAAE,OAAOzC,EAAE,IAAIk3L,IAAG,EAC9Y,SAAS4C,KAAKtD,KAAKA,GAAGmuM,YAAY,mBAAmBvrM,IAAIlB,GAAG1B,GAAG,MAAM,SAAS4C,GAAG32L,GAAG,GAAG,UAAUA,EAAEm2e,cAAclgT,GAAGR,IAAI,GAAGz1L,EAAEy2L,GAAGhB,GAAGz1L,EAAE0hN,GAAG1hN,IAAI0sN,EAAGK,GAAG/sN,OAAO,CAAC0sN,GAAG,EAAG,IAAIrD,EAAGt0B,GAAG/0L,GAAV,QAAqB0sN,GAAG,EAAGhH,MAAO,SAAShjH,GAAG1iG,EAAEzC,EAAEhI,GAAG,UAAUyK,GAAGq3L,KAAU5B,GAAGlgM,GAARw+L,GAAGx2L,GAAUmpB,YAAY,mBAAmBiwK,KAAK,SAAS32L,GAAGq3L,KAAK,SAASC,GAAGt3L,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAOi2L,GAAGR,IAAI,SAASgC,GAAGz3L,EAAEzC,GAAG,GAAG,UAAUyC,EAAE,OAAOi2L,GAAG14L,GAAG,SAASu2L,GAAG9zL,EAAEzC,GAAG,GAAG,UAAUyC,GAAG,WAAWA,EAAE,OAAOi2L,GAAG14L,GAD/EupN,IAAKryB,GAAGg0B,GAAG,YAAY9xN,SAASqxb,cAAc,EAAErxb,SAASqxb,eAE1c,IAAI7yP,GAAG,CAACwgT,WAAWhiT,GAAGooT,uBAAuBtnT,GAAGihT,cAAc,SAAS11e,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAEmJ,EAAE0gN,GAAG1gN,GAAGxI,OAAOT,EAAEF,EAAE+S,UAAU/S,EAAE+S,SAAS+E,cAAc,GAAG,WAAW5X,GAAG,UAAUA,GAAG,SAASF,EAAEkQ,KAAK,IAAIhH,EAAEq4L,QAAQ,GAAG57C,GAAG3lJ,GAAG,GAAGqgM,GAAGn3L,EAAEw2L,OAAO,CAACx2L,EAAEg6L,GAAG,IAAIjwK,EAAEq7E,QAAQpuG,EAAEF,EAAE+S,WAAW,UAAU7S,EAAE4X,gBAAgB,aAAa9X,EAAEkQ,MAAM,UAAUlQ,EAAEkQ,QAAQhH,EAAEm6L,IAAI,GAAGn6L,IAAIA,EAAEA,EAAE0C,EAAEzC,IAAI,OAAOk5L,GAAGn5L,EAAE/H,EAAEC,GAAG6xB,GAAGA,EAAErnB,EAAE5L,EAAEmJ,GAAG,SAASyC,IAAIA,EAAE5L,EAAEuif,gBAAgB32e,EAAE62e,YAAY,WAAWzif,EAAEkQ,MAAMw7F,GAAG1rG,EAAE,SAASA,EAAErB,SAAS8gM,GAAG9K,GAAEtgJ,OAAO,CAAC+/L,KAAK,KAAK55L,OAAO,OACrfwmJ,GAAG,CAAC4mT,IAAI,SAASC,QAAQ,UAAUC,KAAK,UAAUC,MAAM,YAAY,SAASjoT,GAAGl0L,GAAG,IAAIzC,EAAElK,KAAK6uZ,YAAY,OAAO3kZ,EAAE6+e,iBAAiB7+e,EAAE6+e,iBAAiBp8e,MAAIA,EAAEo1L,GAAGp1L,OAAMzC,EAAEyC,GAAM,SAAS65L,KAAK,OAAO3F,GACnM,IAAIiC,GAAG,EAAEnC,GAAG,EAAEqC,IAAG,EAAGE,IAAG,EAAGQ,GAAGlD,GAAGprJ,OAAO,CAACg7W,QAAQ,KAAKC,QAAQ,KAAKhrY,QAAQ,KAAKE,QAAQ,KAAK69D,MAAM,KAAKC,MAAM,KAAKpsC,QAAQ,KAAKD,SAAS,KAAK84W,OAAO,KAAKl6P,QAAQ,KAAKmzV,iBAAiBviT,GAAGtiH,OAAO,KAAK+rU,QAAQ,KAAK3rU,cAAc,SAAS33E,GAAG,OAAOA,EAAE23E,gBAAgB33E,EAAEq8e,cAAcr8e,EAAE43e,WAAW53e,EAAE2jZ,UAAU3jZ,EAAEq8e,cAAcC,UAAU,SAASt8e,GAAG,GAAG,cAAcA,EAAE,OAAOA,EAAEs8e,UAAU,IAAI/+e,EAAE44L,GAAgB,OAAbA,GAAGn2L,EAAEyjZ,QAAeptN,GAAG,cAAcr2L,EAAEsE,KAAKtE,EAAEyjZ,QAAQlmZ,EAAE,GAAG84L,IAAG,EAAG,IAAIkmT,UAAU,SAASv8e,GAAG,GAAG,cAAcA,EAAE,OAAOA,EAAEu8e,UAC3f,IAAIh/e,EAAEy2L,GAAgB,OAAbA,GAAGh0L,EAAE0jZ,QAAentN,GAAG,cAAcv2L,EAAEsE,KAAKtE,EAAE0jZ,QAAQnmZ,EAAE,GAAGg5L,IAAG,EAAG,MAAMM,GAAGE,GAAGtuJ,OAAO,CAAC86W,UAAU,KAAKtpZ,MAAM,KAAKC,OAAO,KAAKsif,SAAS,KAAKC,mBAAmB,KAAKC,MAAM,KAAKC,MAAM,KAAKC,MAAM,KAAKp5F,YAAY,KAAKq5F,UAAU,OAAOtlT,GAAG,CAACulT,WAAW,CAACjH,iBAAiB,eAAeC,aAAa,CAAC,WAAW,cAAciH,WAAW,CAAClH,iBAAiB,eAAeC,aAAa,CAAC,WAAW,cAAckH,aAAa,CAACnH,iBAAiB,iBAAiBC,aAAa,CAAC,aAAa,gBAAgBmH,aAAa,CAACpH,iBAAiB,iBACjhBC,aAAa,CAAC,aAAa,iBAAiB3sT,GAAG,CAACwsT,WAAWp+S,GAAGm+S,cAAc,SAAS11e,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,IAAIE,EAAE,cAAc0L,GAAG,gBAAgBA,EAAE1C,EAAE,aAAa0C,GAAG,eAAeA,EAAE,GAAG1L,GAAG,KAAO,GAAFF,KAAQmB,EAAEoiF,eAAepiF,EAAE8mf,eAAe/+e,IAAIhJ,EAAE,OAAO,MAAKA,EAAEkB,EAAET,SAASS,EAAEA,GAAGlB,EAAEkB,EAAE+nC,eAAejpC,EAAEwvS,aAAaxvS,EAAEi5Z,aAAax4Z,OAAUuI,IAAMA,EAAEC,EAAgD,QAA9CA,GAAGA,EAAEhI,EAAEoiF,eAAepiF,EAAEouZ,WAAW/9L,GAAGroN,GAAG,QAA8BA,IAAT2hN,GAAG3hN,IAAa,IAAIA,EAAE+/H,KAAK,IAAI//H,EAAE+/H,OAAI//H,EAAE,OAAWD,EAAE,KAAK,GAAGA,IAAIC,EAAE,OAAO,KAAK,GAAG,aAAayC,GAAG,cACzeA,EAAG,IAAIiV,EAAE8hL,GAAO3hM,EAAEmiM,GAAGwlT,WAAeznf,EAAEiiM,GAAGulT,WAAexmf,EAAE,YAAgB,eAAe0J,GAAG,gBAAgBA,IAAEiV,EAAE4hL,GAAGzhM,EAAEmiM,GAAG0lT,aAAa3nf,EAAEiiM,GAAGylT,aAAa1mf,EAAE,WAAgM,GAAtL0J,EAAE,MAAM1C,EAAEhJ,EAAE2pN,GAAG3gN,GAAGhJ,EAAE,MAAMiJ,EAAEjJ,EAAE2pN,GAAG1gN,IAAGnI,EAAE6f,EAAEqme,UAAUlmf,EAAEkI,EAAE/H,EAAEC,IAAK8O,KAAKhO,EAAE,QAAQlB,EAAEpF,OAAOgQ,EAAE5K,EAAEuiF,cAAcrjF,GAAEiB,EAAE0f,EAAEqme,UAAUhmf,EAAEiI,EAAEhI,EAAEC,IAAK8O,KAAKhO,EAAE,QAAQf,EAAEvF,OAAOsE,EAAEiB,EAAEoiF,cAAc33E,EAAM1J,EAAEiH,GAAN/H,EAAE8H,IAAYhH,EAAE0J,EAAE,CAAa,IAAR1K,EAAEgB,EAAEgH,EAAE,EAAM0C,EAAhBiV,EAAEzf,EAAkBwK,EAAEA,EAAE89M,GAAG99M,GAAG1C,IAAQ,IAAJ0C,EAAE,EAAMzC,EAAEjI,EAAEiI,EAAEA,EAAEugN,GAAGvgN,GAAGyC,IAAI,KAAK,EAAE1C,EAAE0C,GAAGiV,EAAE6oM,GAAG7oM,GAAG3X,IAAI,KAAK,EAAE0C,EAAE1C,GAAGhI,EAAEwoN,GAAGxoN,GAAG0K,IAAI,KAAK1C,KAAK,CAAC,GAAG2X,IAAI3f,GAAG2f,IAAI3f,EAAE+hf,UAAU,MAAMr3e,EAC3fiV,EAAE6oM,GAAG7oM,GAAG3f,EAAEwoN,GAAGxoN,GAAG2f,EAAE,UAAUA,EAAE,KAAS,IAAJ3f,EAAE2f,EAAMA,EAAE,GAAGzf,GAAGA,IAAIF,IAAqB,QAAjBgI,EAAE9H,EAAE6hf,YAAuB/5e,IAAIhI,IAAQ2f,EAAE9a,KAAK3E,GAAGA,EAAEsoN,GAAGtoN,GAAG,IAAIA,EAAE,GAAGc,GAAGA,IAAIhB,IAAqB,QAAjBgI,EAAEhH,EAAE+gf,YAAuB/5e,IAAIhI,IAAQE,EAAE2E,KAAK7D,GAAGA,EAAEwnN,GAAGxnN,GAAG,IAAIA,EAAE,EAAEA,EAAE2e,EAAE9kB,OAAOmG,IAAIo0N,GAAGz1M,EAAE3e,GAAG,UAAUlB,GAAG,IAAIkB,EAAEd,EAAErF,OAAO,EAAEmG,KAAKo0N,GAAGl1N,EAAEc,GAAG,WAAWf,GAAG,OAAO,KAAO,GAAFnB,GAAM,CAACgB,GAAG,CAACA,EAAEG,KAAqE,IAAImkM,GAAG,oBAAoBlpM,OAAOmH,GAAGnH,OAAOmH,GAA5G,SAAYqI,EAAEzC,GAAG,OAAOyC,IAAIzC,IAAI,IAAIyC,GAAG,EAAEA,IAAI,EAAEzC,IAAIyC,IAAIA,GAAGzC,IAAIA,GAAoD80N,GAAG7hO,OAAOM,UAAUuF,eAC7b,SAASsnR,GAAG39Q,EAAEzC,GAAG,GAAGm8L,GAAG15L,EAAEzC,GAAG,OAAM,EAAG,GAAG,kBAAkByC,GAAG,OAAOA,GAAG,kBAAkBzC,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIhI,EAAE/E,OAAO23B,KAAKnoB,GAAGxK,EAAEhF,OAAO23B,KAAK5qB,GAAG,GAAGhI,EAAEpF,SAASqF,EAAErF,OAAO,OAAM,EAAG,IAAIqF,EAAE,EAAEA,EAAED,EAAEpF,OAAOqF,IAAI,IAAI68N,GAAGh9N,KAAKkI,EAAEhI,EAAEC,MAAMkkM,GAAG15L,EAAEzK,EAAEC,IAAI+H,EAAEhI,EAAEC,KAAK,OAAM,EAAG,OAAM,EACpQ,IAAI6kQ,GAAGvzC,GAAI,iBAAiBnwN,UAAU,IAAIA,SAASqxb,aAAa9hG,GAAG,CAACjxS,OAAO,CAAC2gc,wBAAwB,CAAC6C,QAAQ,WAAWC,SAAS,mBAAmB5C,aAAa,iFAAiFl2e,MAAM,OAAOs8O,GAAG,KAAKp8O,GAAG,KAAKo9e,GAAG,KAAKp9O,IAAG,EAC1R,SAASq9O,GAAGn9e,EAAEzC,GAAG,IAAIhI,EAAEgI,EAAExI,SAASwI,EAAEA,EAAE5G,SAAS,IAAI4G,EAAE2J,SAAS3J,EAAEA,EAAEggC,cAAc,OAAGuiO,IAAI,MAAM5jB,IAAIA,KAAK73B,GAAG9uN,GAAU,MAAU,mBAALA,EAAE2mP,KAAyB1nG,GAAGj/I,GAAGA,EAAE,CAAC4V,MAAM5V,EAAE6nf,eAAez2c,IAAIpxC,EAAE8nf,cAAuF9nf,EAAE,CAAC+nf,YAA3E/nf,GAAGA,EAAEgoC,eAAehoC,EAAEgoC,cAAcumQ,aAAa/uS,QAAQw7C,gBAA+B+sc,WAAWC,aAAahof,EAAEgof,aAAaC,UAAUjof,EAAEiof,UAAUC,YAAYlof,EAAEkof,aAAqBP,IAAIv/N,GAAGu/N,GAAG3nf,GAAG,MAAM2nf,GAAG3nf,GAAEyK,EAAE+oL,GAAEuyT,UAAUp1J,GAAGjxS,OAAOn1C,GAAGE,EAAEzC,IAAK+G,KAAK,SAAStE,EAAEhQ,OAAOksP,GAAG6+P,GAAG/6e,GAAGA,IAC1d,IAAI09e,GAAG,CAAC/H,WAAWzvJ,GAAGwvJ,cAAc,SAAS11e,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAmE,KAAKA,IAArEF,EAAEE,IAAIkB,EAAET,SAASS,EAAEA,EAAEmB,SAAS,IAAInB,EAAE0R,SAAS1R,EAAEA,EAAE+nC,iBAA0B,CAACv9B,EAAE,CAAC5L,EAAE6qN,GAAG7qN,GAAGE,EAAEuyN,EAAGzjK,SAAS,IAAI,IAAI9lD,EAAE,EAAEA,EAAEhJ,EAAEnE,OAAOmN,IAAI,IAAIlJ,EAAEikF,IAAI/jF,EAAEgJ,IAAI,CAAClJ,GAAE,EAAG,MAAM4L,EAAE5L,GAAE,EAAGE,GAAGF,EAAE,GAAGE,EAAE,OAAO,KAAsB,OAAjBF,EAAEmJ,EAAE0gN,GAAG1gN,GAAGxI,OAAciL,GAAG,IAAK,SAAW+5I,GAAG3lJ,IAAI,SAASA,EAAEumf,mBAAgBz+P,GAAG9nP,EAAE0L,GAAGvC,EAAE2/e,GAAG,MAAK,MAAM,IAAK,OAAOA,GAAGp9e,GAAGo8O,GAAG,KAAK,MAAM,IAAK,YAAY4jB,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAU,OAAOA,IAAG,EAAGq9O,GAAG5nf,EAAEC,GAAG,IAAK,kBAAkB,GAAG6kQ,GAAG,MACxf,IAAK,UAAU,IAAK,QAAQ,OAAO8iP,GAAG5nf,EAAEC,GAAG,OAAO,OAAOywV,GAAGl9J,GAAEtgJ,OAAO,CAACk1c,cAAc,KAAKC,YAAY,KAAKC,cAAc,OAAOC,GAAG/0T,GAAEtgJ,OAAO,CAACs1c,cAAc,SAAS/9e,GAAG,MAAM,kBAAkBA,EAAEA,EAAE+9e,cAAchpf,OAAOgpf,iBAAiB91N,GAAGp0F,GAAGprJ,OAAO,CAACkvC,cAAc,OAAO,SAAS/B,GAAG51E,GAAG,IAAIzC,EAAEyC,EAAEivC,QAA+E,MAAvE,aAAajvC,EAAgB,KAAbA,EAAEA,EAAEqjZ,WAAgB,KAAK9lZ,IAAIyC,EAAE,IAAKA,EAAEzC,EAAE,KAAKyC,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,EACxY,IAAIg+e,GAAG,CAACC,IAAI,SAASC,SAAS,IAAIttN,KAAK,YAAYutN,GAAG,UAAUttN,MAAM,aAAautN,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKC,KAAK,cAAc9gZ,KAAK,cAAc+gZ,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAAC3xP,EAAE,YAAY6jE,EAAE,MAAMG,GAAG,QAAQC,GAAG,QAAQE,GAAG,QAAQC,GAAG,UAAUC,GAAG,MAAMC,GAAG,QAAQC,GAAG,WAAWqtL,GAAG,SAAS7kR,GAAG,IAAI8kR,GAAG,SAASC,GAAG,WAAWC,GAAG,MAAMC,GAAG,OAAOC,GAAG,YAAYC,GAAG,UAAUC,GAAG,aAAaC,GAAG,YAAYC,GAAG,SAASC,GAAG,SAASC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAChfC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,KAAKC,IAAI,MAAMC,IAAI,MAAMC,IAAI,MAAMC,IAAI,UAAUC,IAAI,aAAaC,IAAI,QAAQC,GAAGxsT,GAAGprJ,OAAO,CAAC/3C,IAAI,SAASsP,GAAG,GAAGA,EAAEtP,IAAI,CAAC,IAAI6M,EAAEygf,GAAGh+e,EAAEtP,MAAMsP,EAAEtP,IAAI,GAAG,iBAAiB6M,EAAE,OAAOA,EAAE,MAAM,aAAayC,EAAEsE,KAAc,MAARtE,EAAE41E,GAAG51E,IAAU,QAAQgrB,OAAOE,aAAalrB,GAAI,YAAYA,EAAEsE,MAAM,UAAUtE,EAAEsE,KAAKo6e,GAAG1+e,EAAEivC,UAAU,eAAe,IAAIha,SAAS,KAAKqV,QAAQ,KAAKD,SAAS,KAAK84W,OAAO,KAAKl6P,QAAQ,KAAKv8D,OAAO,KAAKmjS,OAAO,KAAKusH,iBAAiBviT,GAAGwpN,SAAS,SAASrjZ,GAAG,MAAM,aAC9eA,EAAEsE,KAAKsxE,GAAG51E,GAAG,GAAGivC,QAAQ,SAASjvC,GAAG,MAAM,YAAYA,EAAEsE,MAAM,UAAUtE,EAAEsE,KAAKtE,EAAEivC,QAAQ,GAAGf,MAAM,SAASluC,GAAG,MAAM,aAAaA,EAAEsE,KAAKsxE,GAAG51E,GAAG,YAAYA,EAAEsE,MAAM,UAAUtE,EAAEsE,KAAKtE,EAAEivC,QAAQ,KAAKsgS,GAAGx4I,GAAGtuJ,OAAO,CAACyiI,aAAa,OAAOo1U,GAAGzsT,GAAGprJ,OAAO,CAAC4J,QAAQ,KAAKkvV,cAAc,KAAKjvV,eAAe,KAAK6wW,OAAO,KAAKl6P,QAAQ,KAAK3+G,QAAQ,KAAKD,SAAS,KAAK+xc,iBAAiBviT,KAAK0mT,GAAGx3T,GAAEtgJ,OAAO,CAAC0tc,aAAa,KAAKyH,YAAY,KAAKC,cAAc,OAAO2C,GAAGzpT,GAAGtuJ,OAAO,CAAC20U,OAAO,SAASp9W,GAAG,MAAM,WAAWA,EAAEA,EAAEo9W,OAAO,gBAClfp9W,GAAGA,EAAEygf,YAAY,GAAGpjI,OAAO,SAASr9W,GAAG,MAAM,WAAWA,EAAEA,EAAEq9W,OAAO,gBAAgBr9W,GAAGA,EAAE0gf,YAAY,eAAe1gf,GAAGA,EAAE2uC,WAAW,GAAGgyc,OAAO,KAAKC,UAAU,OAAOC,GAAG,CAAClL,WAAWzwR,GAAGwwR,cAAc,SAAS11e,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAEgoN,GAAGzmN,IAAIqK,GAAG,IAAI5L,EAAE,OAAO,KAAK,OAAO4L,GAAG,IAAK,WAAW,GAAG,IAAI41E,GAAGrgF,GAAG,OAAO,KAAK,IAAK,UAAU,IAAK,QAAQyK,EAAEqgf,GAAG,MAAM,IAAK,OAAO,IAAK,QAAQrgf,EAAEioR,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAI1yR,EAAEgiF,OAAO,OAAO,KAAK,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAcv3E,EACniB+2L,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAO/2L,EAAEuvU,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAavvU,EAAEsgf,GAAG,MAAM,KAAK/4R,GAAG,KAAKvC,GAAG,KAAKF,GAAG9kN,EAAEimV,GAAG,MAAM,KAAK3/H,GAAGtmN,EAAEugf,GAAG,MAAM,IAAK,SAASvgf,EAAE6zL,GAAG,MAAM,IAAK,QAAQ7zL,EAAEwgf,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQxgf,EAAE89e,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAY99e,EACzhB62L,GAAG,MAAM,QAAQ72L,EAAE+oL,GAA+B,OAANgyT,GAAvBx9e,EAAEyC,EAAEs7e,UAAUlnf,EAAEmJ,EAAEhI,EAAEC,IAAgB+H,IAAI,GAAGqyB,EAAG,MAAM2C,MAAMllB,EAAE,MAAMuiB,EAAG97B,MAAMhD,UAAUu0C,MAAMhwC,KAAK,0HAA0HuK,MAAM,MAAMipN,IAAe/C,EAAG5H,GAAG0B,EAATR,GAAemN,EAAGtO,GAAGuO,EAAG,CAACs0R,kBAAkBD,GAAGE,sBAAsB53T,GAAG63T,kBAAkB7rT,GAAG8rT,kBAAkBvD,GAAGwD,uBAAuB3tT,KAAK,IAAI4tT,GAAG,GAAGC,IAAI,EAAE,SAASz4T,GAAE3oL,GAAG,EAAEohf,KAAKphf,EAAEqL,QAAQ81e,GAAGC,IAAID,GAAGC,IAAI,KAAKA,MACtd,SAAS/9T,GAAErjL,EAAEzC,GAAG6jf,KAAKD,GAAGC,IAAIphf,EAAEqL,QAAQrL,EAAEqL,QAAQ9N,EAAE,IAAI8jf,GAAG,GAAGj4T,GAAE,CAAC/9K,QAAQg2e,IAAIt3T,GAAE,CAAC1+K,SAAQ,GAAIi2e,GAAGD,GAAG,SAASE,GAAGvhf,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAEsE,KAAK+ka,aAAa,IAAI9za,EAAE,OAAO8rf,GAAG,IAAI7rf,EAAEwK,EAAE+1e,UAAU,GAAGvgf,GAAGA,EAAEgsf,8CAA8Cjkf,EAAE,OAAO/H,EAAEisf,0CAA0C,IAASntf,EAALF,EAAE,GAAK,IAAIE,KAAKiB,EAAEnB,EAAEE,GAAGiJ,EAAEjJ,GAAoH,OAAjHkB,KAAIwK,EAAEA,EAAE+1e,WAAYyL,4CAA4Cjkf,EAAEyC,EAAEyhf,0CAA0Crtf,GAAUA,EAAE,SAAS8uL,GAAEljL,GAAyB,OAAO,QAA7BA,EAAEA,EAAEspa,yBAAmC,IAAStpa,EAChf,SAAS0hf,KAAK/4T,GAAEoB,IAAGpB,GAAES,IAAG,SAASu4T,GAAG3hf,EAAEzC,EAAEhI,GAAG,GAAG6zL,GAAE/9K,UAAUg2e,GAAG,MAAM9ud,MAAMllB,EAAE,MAAMg2K,GAAE+F,GAAE7rL,GAAG8lL,GAAE0G,GAAEx0L,GAAG,SAASwrG,GAAG/gG,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEwK,EAAE+1e,UAAgC,GAAtB/1e,EAAEzC,EAAE+ra,kBAAqB,oBAAoB9za,EAAE4za,gBAAgB,OAAO7za,EAAwB,IAAI,IAAInB,KAA9BoB,EAAEA,EAAE4za,kBAAiC,KAAKh1a,KAAK4L,GAAG,MAAMuyB,MAAMllB,EAAE,IAAIsiB,GAAGpyB,IAAI,UAAUnJ,IAAI,OAAOF,EAAE,GAAGqB,EAAE,GAAGC,GAAG,SAASosf,GAAG5hf,GAAyG,OAAtGA,GAAGA,EAAEA,EAAE+1e,YAAY/1e,EAAE6hf,2CAA2CR,GAAGC,GAAGl4T,GAAE/9K,QAAQg4K,GAAE+F,GAAEppL,GAAGqjL,GAAE0G,GAAEA,GAAE1+K,UAAe,EACpb,SAASy2e,GAAG9hf,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEwK,EAAE+1e,UAAU,IAAIvgf,EAAE,MAAM+8B,MAAMllB,EAAE,MAAM9X,GAAGyK,EAAE+gG,GAAG/gG,EAAEzC,EAAE+jf,IAAI9rf,EAAEqsf,0CAA0C7hf,EAAE2oL,GAAEoB,IAAGpB,GAAES,IAAG/F,GAAE+F,GAAEppL,IAAI2oL,GAAEoB,IAAG1G,GAAE0G,GAAEx0L,GACxJ,IAAIwsf,GAAGnsf,EAAEwif,yBAAyB4J,GAAGpsf,EAAE2if,0BAA0B0J,GAAGrsf,EAAEssf,wBAAwBC,GAAGvsf,EAAEwsf,sBAAsBC,GAAGzsf,EAAE0sf,aAAaC,GAAG3sf,EAAE4sf,iCAAiCC,GAAG7sf,EAAE8sf,2BAA2BC,GAAG/sf,EAAEgjf,8BAA8BgK,GAAGhtf,EAAE4if,wBAAwBqK,GAAGjtf,EAAEktf,qBAAqBC,GAAGntf,EAAEotf,sBAAsBC,GAAG,GAAGC,GAAGttf,EAAEutf,qBAAqBC,QAAG,IAASjB,GAAGA,GAAG,aAAakB,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAAGC,GAAGnB,KAAKoB,GAAG,IAAID,GAAGnB,GAAG,WAAW,OAAOA,KAAKmB,IACvc,SAASE,KAAK,OAAOnB,MAAM,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,QAAQ,MAAMxwd,MAAMllB,EAAE,OAAQ,SAASwlN,GAAG7yN,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAOyif,GAAG,KAAK,GAAG,OAAOE,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOE,GAAG,QAAQ,MAAMxwd,MAAMllB,EAAE,OAAQ,SAASs2e,GAAG3jf,EAAEzC,GAAW,OAARyC,EAAE6yN,GAAG7yN,GAAU+hf,GAAG/hf,EAAEzC,GAAG,SAASqmf,GAAG5jf,EAAEzC,EAAEhI,GAAW,OAARyK,EAAE6yN,GAAG7yN,GAAUgif,GAAGhif,EAAEzC,EAAEhI,GAAG,SAASsuf,GAAG7jf,GAA8C,OAA3C,OAAOqjf,IAAIA,GAAG,CAACrjf,GAAGsjf,GAAGtB,GAAGS,GAAGqB,KAAKT,GAAGlpf,KAAK6F,GAAUijf,GAAG,SAASc,KAAK,GAAG,OAAOT,GAAG,CAAC,IAAItjf,EAAEsjf,GAAGA,GAAG,KAAKrB,GAAGjif,GAAG8jf,KAC/e,SAASA,KAAK,IAAIP,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAIvjf,EAAE,EAAE,IAAI,IAAIzC,EAAE8lf,GAAGM,GAAG,IAAG,WAAW,KAAK3jf,EAAEzC,EAAEpN,OAAO6P,IAAI,CAAC,IAAIzK,EAAEgI,EAAEyC,GAAG,GAAGzK,EAAEA,GAAE,SAAU,OAAOA,OAAM8tf,GAAG,KAAK,MAAM9tf,GAAG,MAAM,OAAO8tf,KAAKA,GAAGA,GAAGh+c,MAAMrlC,EAAE,IAAIgif,GAAGS,GAAGsB,IAAIxuf,EAA3J,QAAsKguf,IAAG,IAAK,SAASS,GAAGhkf,EAAEzC,EAAEhI,GAAS,OAAO,YAAsC,IAAxB,WAAWyK,EAAEzC,EAAE,KAA1ChI,GAAG,IAA6C,IAAMA,EAAE,SAAS0uf,GAAGjkf,EAAEzC,GAAG,GAAGyC,GAAGA,EAAEiwH,aAAyC,IAAI,IAAI16H,KAAnCgI,EAAErJ,EAAE,GAAGqJ,GAAGyC,EAAEA,EAAEiwH,kBAA4B,IAAS1yH,EAAEhI,KAAKgI,EAAEhI,GAAGyK,EAAEzK,IAAI,OAAOgI,EAAE,IAAI2mf,GAAG,CAAC74e,QAAQ,MAAM84e,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAAShwR,KAAKgwR,GAAGD,GAAGD,GAAG,KACle,SAASG,GAAGtkf,GAAG,IAAIzC,EAAE2mf,GAAG74e,QAAQs9K,GAAEu7T,IAAIlkf,EAAEsE,KAAKm2U,SAASq6J,cAAcv3e,EAAE,SAASmyB,GAAG1vB,EAAEzC,GAAG,KAAK,OAAOyC,GAAG,CAAC,IAAIzK,EAAEyK,EAAEq3e,UAAU,GAAGr3e,EAAEukf,oBAAoBhnf,EAAEyC,EAAEukf,oBAAoBhnf,EAAE,OAAOhI,GAAGA,EAAEgvf,oBAAoBhnf,IAAIhI,EAAEgvf,oBAAoBhnf,OAAQ,MAAG,OAAOhI,GAAGA,EAAEgvf,oBAAoBhnf,GAA+B,MAA7BhI,EAAEgvf,oBAAoBhnf,EAAayC,EAAEA,EAAE2gJ,QAAQ,SAAS6jW,GAAGxkf,EAAEzC,GAAG4mf,GAAGnkf,EAAEqkf,GAAGD,GAAG,KAAsB,QAAjBpkf,EAAEA,EAAE81e,eAAuB,OAAO91e,EAAEykf,eAAezkf,EAAE0kf,gBAAgBnnf,IAAIonf,IAAG,GAAI3kf,EAAEykf,aAAa,MAClc,SAAS9vR,GAAG30N,EAAEzC,GAAG,GAAG8mf,KAAKrkf,IAAG,IAAKzC,GAAG,IAAIA,EAAmG,GAA7F,kBAAkBA,GAAG,aAAaA,IAAE8mf,GAAGrkf,EAAEzC,EAAE,YAAWA,EAAE,CAACorD,QAAQ3oD,EAAEovd,aAAa7xd,EAAE3I,KAAK,MAAS,OAAOwvf,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAM5xd,MAAMllB,EAAE,MAAM+2e,GAAG7mf,EAAE4mf,GAAGrO,aAAa,CAAC4O,eAAe,EAAED,aAAalnf,EAAEqnf,WAAW,WAAWR,GAAGA,GAAGxvf,KAAK2I,EAAE,OAAOyC,EAAE80e,cAAc,IAAI+P,IAAG,EAAG,SAASC,GAAG9kf,GAAGA,EAAE+kf,YAAY,CAACC,UAAUhlf,EAAEu3e,cAAc0N,UAAU,KAAK3nO,OAAO,CAACs3C,QAAQ,MAAM0sD,QAAQ,MACzZ,SAAS4jI,GAAGllf,EAAEzC,GAAGyC,EAAEA,EAAE+kf,YAAYxnf,EAAEwnf,cAAc/kf,IAAIzC,EAAEwnf,YAAY,CAACC,UAAUhlf,EAAEglf,UAAUC,UAAUjlf,EAAEilf,UAAU3nO,OAAOt9Q,EAAEs9Q,OAAOgkG,QAAQthX,EAAEshX,UAAU,SAAS6jI,GAAGnlf,EAAEzC,GAAoF,OAAjFyC,EAAE,CAAC0kf,eAAe1kf,EAAEolf,eAAe7nf,EAAE+/H,IAAI,EAAE2I,QAAQ,KAAKrnG,SAAS,KAAKhqC,KAAK,OAAeA,KAAKoL,EAAE,SAASqlf,GAAGrlf,EAAEzC,GAAmB,GAAG,QAAnByC,EAAEA,EAAE+kf,aAAwB,CAAY,IAAIxvf,GAAfyK,EAAEA,EAAEs9Q,QAAes3C,QAAQ,OAAOr/T,EAAEgI,EAAE3I,KAAK2I,GAAGA,EAAE3I,KAAKW,EAAEX,KAAKW,EAAEX,KAAK2I,GAAGyC,EAAE40T,QAAQr3T,GACpY,SAAS+nf,GAAGtlf,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAEq3e,UAAU,OAAO9hf,GAAG2vf,GAAG3vf,EAAEyK,GAAiC,QAAdzK,GAAhByK,EAAEA,EAAE+kf,aAAgBE,YAAoBjlf,EAAEilf,UAAU1nf,EAAE3I,KAAK2I,EAAEA,EAAE3I,KAAK2I,IAAIA,EAAE3I,KAAKW,EAAEX,KAAKW,EAAEX,KAAK2I,GAClJ,SAASgof,GAAGvlf,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAE4L,EAAE+kf,YAAYF,IAAG,EAAG,IAAIvwf,EAAEF,EAAE6wf,UAAU3nf,EAAElJ,EAAEkpR,OAAOs3C,QAAQ,GAAG,OAAOt3T,EAAE,CAAC,GAAG,OAAOhJ,EAAE,CAAC,IAAI+yB,EAAE/yB,EAAEM,KAAKN,EAAEM,KAAK0I,EAAE1I,KAAK0I,EAAE1I,KAAKyyB,EAAE/yB,EAAEgJ,EAAElJ,EAAEkpR,OAAOs3C,QAAQ,KAAmB,QAAdvtS,EAAErnB,EAAEq3e,aAAqC,QAAhBhwd,EAAEA,EAAE09d,eAAuB19d,EAAE49d,UAAU3nf,IAAI,GAAG,OAAOhJ,EAAE,CAAC+yB,EAAE/yB,EAAEM,KAAK,IAAIqgB,EAAE7gB,EAAE4wf,UAAU5vf,EAAE,EAAEE,EAAE,KAAKgB,EAAE,KAAK4J,EAAE,KAAK,GAAG,OAAOmnB,EAAW,IAAR,IAAIqkE,EAAErkE,IAAI,CAAoB,IAAnB/pB,EAAEouF,EAAEg5Z,gBAAoBlvf,EAAE,CAAC,IAAI4sN,EAAG,CAACsiS,eAAeh5Z,EAAEg5Z,eAAeU,eAAe15Z,EAAE05Z,eAAe9nX,IAAI5xC,EAAE4xC,IAAI2I,QAAQv6C,EAAEu6C,QAAQrnG,SAAS8sD,EAAE9sD,SAAShqC,KAAK,MAAM,OAAOsL,GAAG5J,EAAE4J,EACnfkiN,EAAG9sN,EAAE2f,GAAG/U,EAAEA,EAAEtL,KAAKwtN,EAAG9kN,EAAElI,IAAIA,EAAEkI,OAAO,CAAC,OAAO4C,IAAIA,EAAEA,EAAEtL,KAAK,CAAC8vf,eAAe,WAAWU,eAAe15Z,EAAE05Z,eAAe9nX,IAAI5xC,EAAE4xC,IAAI2I,QAAQv6C,EAAEu6C,QAAQrnG,SAAS8sD,EAAE9sD,SAAShqC,KAAK,OAAO4wf,GAAGlof,EAAEouF,EAAE05Z,gBAAgBplf,EAAE,CAAC,IAAIooL,EAAEpoL,EAAElK,EAAE41F,EAAW,OAATpuF,EAAEC,EAAE6kN,EAAG7sN,EAASO,EAAEwnI,KAAK,KAAK,EAAc,GAAG,oBAAf8qD,EAAEtyL,EAAEmwI,SAAiC,CAAChxH,EAAEmzK,EAAE/yL,KAAK+sN,EAAGntM,EAAE3X,GAAG,MAAM0C,EAAEiV,EAAEmzK,EAAE,MAAMpoL,EAAE,KAAK,EAAEooL,EAAEkvT,WAAuB,KAAblvT,EAAEkvT,UAAgB,GAAG,KAAK,EAAuD,GAAG,QAA5Ch6e,EAAE,oBAAd8qL,EAAEtyL,EAAEmwI,SAAgCmiD,EAAE/yL,KAAK+sN,EAAGntM,EAAE3X,GAAG8qL,SAAe,IAAS9qL,EAAE,MAAM0C,EAAEiV,EAAE/gB,EAAE,GAAG+gB,EAAE3X,GAAG,MAAM0C,EAAE,KAAK,EAAE6kf,IAAG,GAAI,OAAOn5Z,EAAE9sD,WAC5e5+B,EAAEs3e,WAAW,GAAe,QAAZh6e,EAAElJ,EAAEktX,SAAiBltX,EAAEktX,QAAQ,CAAC51R,GAAGpuF,EAAEnD,KAAKuxF,IAAa,GAAG,QAAZA,EAAEA,EAAE92F,OAAkB82F,IAAIrkE,EAAE,IAAsB,QAAnB/pB,EAAElJ,EAAEkpR,OAAOs3C,SAAiB,MAAWlpO,EAAEp3F,EAAEM,KAAK0I,EAAE1I,KAAK0I,EAAE1I,KAAKyyB,EAAEjzB,EAAE6wf,UAAU3wf,EAAEgJ,EAAElJ,EAAEkpR,OAAOs3C,QAAQ,MAAc,OAAO10T,EAAE5K,EAAE2f,EAAE/U,EAAEtL,KAAK0B,EAAElC,EAAE4wf,UAAU1vf,EAAElB,EAAE6wf,UAAU/kf,EAAEulf,GAAGrwf,GAAG4K,EAAE0kf,eAAetvf,EAAE4K,EAAEu3e,cAActie,GACxS,SAASywe,GAAG1lf,EAAEzC,EAAEhI,GAA8B,GAA3ByK,EAAEzC,EAAE+jX,QAAQ/jX,EAAE+jX,QAAQ,KAAQ,OAAOthX,EAAE,IAAIzC,EAAE,EAAEA,EAAEyC,EAAE7P,OAAOoN,IAAI,CAAC,IAAI/H,EAAEwK,EAAEzC,GAAGnJ,EAAEoB,EAAEopC,SAAS,GAAG,OAAOxqC,EAAE,CAAyB,GAAxBoB,EAAEopC,SAAS,KAAKppC,EAAEpB,EAAEA,EAAEmB,EAAK,oBAAoBC,EAAE,MAAM+8B,MAAMllB,EAAE,IAAI7X,IAAIA,EAAEH,KAAKjB,KAAK,IAAIuxf,GAAGziS,EAAGsxR,wBAAwBoR,IAAI,IAAI7+R,EAAG52F,WAAWr+F,KAAK,SAAS+zd,GAAG7lf,EAAEzC,EAAEhI,EAAEC,GAA8BD,EAAE,QAAXA,EAAEA,EAAEC,EAAtB+H,EAAEyC,EAAEu3e,sBAAmC,IAAShif,EAAEgI,EAAErJ,EAAE,GAAGqJ,EAAEhI,GAAGyK,EAAEu3e,cAAchif,EAAE,IAAIyK,EAAE0kf,iBAAiB1kf,EAAE+kf,YAAYC,UAAUzvf,GAC3Z,IAAIuwf,GAAG,CAAClS,UAAU,SAAS5ze,GAAG,SAAOA,EAAEA,EAAE+lf,sBAAqB7mS,GAAGl/M,KAAKA,GAAM+ze,gBAAgB,SAAS/ze,EAAEzC,EAAEhI,GAAGyK,EAAEA,EAAE+lf,oBAAoB,IAAIvwf,EAAEwwf,KAAK5xf,EAAEuxf,GAAGlR,UAAqBrgf,EAAE+wf,GAAd3vf,EAAEywf,GAAGzwf,EAAEwK,EAAE5L,GAAUA,IAAK6xI,QAAQ1oI,OAAE,IAAShI,GAAG,OAAOA,IAAInB,EAAEwqC,SAASrpC,GAAG8vf,GAAGrlf,EAAE5L,GAAG8xf,GAAGlmf,EAAExK,IAAIs+e,oBAAoB,SAAS9ze,EAAEzC,EAAEhI,GAAGyK,EAAEA,EAAE+lf,oBAAoB,IAAIvwf,EAAEwwf,KAAK5xf,EAAEuxf,GAAGlR,UAAqBrgf,EAAE+wf,GAAd3vf,EAAEywf,GAAGzwf,EAAEwK,EAAE5L,GAAUA,IAAKkpI,IAAI,EAAElpI,EAAE6xI,QAAQ1oI,OAAE,IAAShI,GAAG,OAAOA,IAAInB,EAAEwqC,SAASrpC,GAAG8vf,GAAGrlf,EAAE5L,GAAG8xf,GAAGlmf,EAAExK,IAAIq+e,mBAAmB,SAAS7ze,EAAEzC,GAAGyC,EAAEA,EAAE+lf,oBAAoB,IAAIxwf,EAAEywf,KAAKxwf,EAAEmwf,GAAGlR,UACvej/e,EAAE2vf,GAAd5vf,EAAE0wf,GAAG1wf,EAAEyK,EAAExK,GAAUA,IAAK8nI,IAAI,OAAE,IAAS//H,GAAG,OAAOA,IAAI/H,EAAEopC,SAASrhC,GAAG8nf,GAAGrlf,EAAExK,GAAG0wf,GAAGlmf,EAAEzK,KAAK,SAAS4wf,GAAGnmf,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,EAAEgJ,GAAiB,MAAM,oBAApB0C,EAAEA,EAAE+1e,WAAsCqQ,sBAAsBpmf,EAAEomf,sBAAsB5wf,EAAElB,EAAEgJ,IAAGC,EAAEzM,YAAWyM,EAAEzM,UAAUojf,wBAAsBv2N,GAAGpoR,EAAEC,KAAKmoR,GAAGvpR,EAAEE,IAC7Q,SAAS+xf,GAAGrmf,EAAEzC,EAAEhI,GAAG,IAAIC,GAAE,EAAGpB,EAAEitf,GAAO/sf,EAAEiJ,EAAE0+K,YAA8W,MAAlW,kBAAkB3nL,GAAG,OAAOA,EAAEA,EAAEqgO,GAAGrgO,IAAIF,EAAE8uL,GAAE3lL,GAAG+jf,GAAGl4T,GAAE/9K,QAAyB/W,GAAGkB,EAAE,QAAtBA,EAAE+H,EAAE8ra,oBAA4B,IAAS7za,GAAG+rf,GAAGvhf,EAAE5L,GAAGitf,IAAI9jf,EAAE,IAAIA,EAAEhI,EAAEjB,GAAG0L,EAAEu3e,cAAc,OAAOh6e,EAAE66D,YAAO,IAAS76D,EAAE66D,MAAM76D,EAAE66D,MAAM,KAAK76D,EAAEy2e,QAAQ8R,GAAG9lf,EAAE+1e,UAAUx4e,EAAEA,EAAEwof,oBAAoB/lf,EAAExK,KAAIwK,EAAEA,EAAE+1e,WAAYyL,4CAA4Cptf,EAAE4L,EAAEyhf,0CAA0Cntf,GAAUiJ,EAC9Z,SAAS+of,GAAGtmf,EAAEzC,EAAEhI,EAAEC,GAAGwK,EAAEzC,EAAE66D,MAAM,oBAAoB76D,EAAEksa,2BAA2Blsa,EAAEksa,0BAA0Bl0a,EAAEC,GAAG,oBAAoB+H,EAAE4sa,kCAAkC5sa,EAAE4sa,iCAAiC50a,EAAEC,GAAG+H,EAAE66D,QAAQp4D,GAAG8lf,GAAGhS,oBAAoBv2e,EAAEA,EAAE66D,MAAM,MAC/P,SAASmub,GAAGvmf,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAE4L,EAAE+1e,UAAU3hf,EAAEnE,MAAMsF,EAAEnB,EAAEgkE,MAAMp4D,EAAEu3e,cAAcnjf,EAAE09B,KAAK8zd,GAAGd,GAAG9kf,GAAG,IAAI1L,EAAEiJ,EAAE0+K,YAAY,kBAAkB3nL,GAAG,OAAOA,EAAEF,EAAEu0D,QAAQgsK,GAAGrgO,IAAIA,EAAE4uL,GAAE3lL,GAAG+jf,GAAGl4T,GAAE/9K,QAAQjX,EAAEu0D,QAAQ44b,GAAGvhf,EAAE1L,IAAIixf,GAAGvlf,EAAEzK,EAAEnB,EAAEoB,GAAGpB,EAAEgkE,MAAMp4D,EAAEu3e,cAA2C,oBAA7Bjjf,EAAEiJ,EAAEw8K,4BAAiD8rU,GAAG7lf,EAAEzC,EAAEjJ,EAAEiB,GAAGnB,EAAEgkE,MAAMp4D,EAAEu3e,eAAe,oBAAoBh6e,EAAEw8K,0BAA0B,oBAAoB3lL,EAAEy1a,yBAAyB,oBAAoBz1a,EAAE81a,2BAA2B,oBAAoB91a,EAAEo1a,qBACtejsa,EAAEnJ,EAAEgkE,MAAM,oBAAoBhkE,EAAEo1a,oBAAoBp1a,EAAEo1a,qBAAqB,oBAAoBp1a,EAAE81a,2BAA2B91a,EAAE81a,4BAA4B3sa,IAAInJ,EAAEgkE,OAAO0tb,GAAGhS,oBAAoB1/e,EAAEA,EAAEgkE,MAAM,MAAMmtb,GAAGvlf,EAAEzK,EAAEnB,EAAEoB,GAAGpB,EAAEgkE,MAAMp4D,EAAEu3e,eAAe,oBAAoBnjf,EAAEkoJ,oBAAoBt8I,EAAEs3e,WAAW,GAAG,IAAIkP,GAAG1yf,MAAMC,QAC3T,SAAS0yf,GAAGzmf,EAAEzC,EAAEhI,GAAW,GAAG,QAAXyK,EAAEzK,EAAEksE,MAAiB,oBAAoBzhE,GAAG,kBAAkBA,EAAE,CAAC,GAAGzK,EAAE8+e,OAAO,CAAY,GAAX9+e,EAAEA,EAAE8+e,OAAY,CAAC,GAAG,IAAI9+e,EAAE+nI,IAAI,MAAM/qG,MAAMllB,EAAE,MAAM,IAAI7X,EAAED,EAAEwgf,UAAU,IAAIvgf,EAAE,MAAM+8B,MAAMllB,EAAE,IAAIrN,IAAI,IAAI5L,EAAE,GAAG4L,EAAE,OAAG,OAAOzC,GAAG,OAAOA,EAAEkkE,KAAK,oBAAoBlkE,EAAEkkE,KAAKlkE,EAAEkkE,IAAIilb,aAAatyf,EAASmJ,EAAEkkE,MAAIlkE,EAAE,SAASyC,GAAG,IAAIzC,EAAE/H,EAAEs8B,KAAKv0B,IAAIqof,KAAKrof,EAAE/H,EAAEs8B,KAAK,IAAI,OAAO9xB,SAASzC,EAAEnJ,GAAGmJ,EAAEnJ,GAAG4L,IAAK0mf,WAAWtyf,EAASmJ,GAAE,GAAG,kBAAkByC,EAAE,MAAMuyB,MAAMllB,EAAE,MAAM,IAAI9X,EAAE8+e,OAAO,MAAM9hd,MAAMllB,EAAE,IAAIrN,IAAK,OAAOA,EAChe,SAAS2mf,GAAG3mf,EAAEzC,GAAG,GAAG,aAAayC,EAAEsE,KAAK,MAAMiuB,MAAMllB,EAAE,GAAG,oBAAoB7c,OAAOM,UAAU2O,SAASpK,KAAKkI,GAAG,qBAAqB/M,OAAO23B,KAAK5qB,GAAGmC,KAAK,MAAM,IAAInC,EAAE,KACpK,SAASqpf,GAAG5mf,GAAG,SAASzC,EAAEA,EAAEhI,GAAG,GAAGyK,EAAE,CAAC,IAAIxK,EAAE+H,EAAEspf,WAAW,OAAOrxf,GAAGA,EAAEsxf,WAAWvxf,EAAEgI,EAAEspf,WAAWtxf,GAAGgI,EAAEwpf,YAAYxpf,EAAEspf,WAAWtxf,EAAEA,EAAEuxf,WAAW,KAAKvxf,EAAE+hf,UAAU,GAAG,SAAS/hf,EAAEA,EAAEC,GAAG,IAAIwK,EAAE,OAAO,KAAK,KAAK,OAAOxK,GAAG+H,EAAEhI,EAAEC,GAAGA,EAAEA,EAAEmkZ,QAAQ,OAAO,KAAK,SAASnkZ,EAAEwK,EAAEzC,GAAG,IAAIyC,EAAE,IAAI2uJ,IAAI,OAAOpxJ,GAAG,OAAOA,EAAE7M,IAAIsP,EAAEH,IAAItC,EAAE7M,IAAI6M,GAAGyC,EAAEH,IAAItC,EAAEi3B,MAAMj3B,GAAGA,EAAEA,EAAEo8Y,QAAQ,OAAO35Y,EAAE,SAAS5L,EAAE4L,EAAEzC,GAAsC,OAAnCyC,EAAEgnf,GAAGhnf,EAAEzC,IAAKi3B,MAAM,EAAEx0B,EAAE25Y,QAAQ,KAAY35Y,EAAE,SAAS1L,EAAEiJ,EAAEhI,EAAEC,GAAa,OAAV+H,EAAEi3B,MAAMh/B,EAAMwK,EAA4B,QAAjBxK,EAAE+H,EAAE85e,YAA6B7hf,EAAEA,EAAEg/B,OAAQj/B,GAAGgI,EAAE+5e,UAClf,EAAE/hf,GAAGC,GAAE+H,EAAE+5e,UAAU,EAAS/hf,GADkaA,EACha,SAAS+H,EAAEC,GAA0C,OAAvCyC,GAAG,OAAOzC,EAAE85e,YAAY95e,EAAE+5e,UAAU,GAAU/5e,EAAE,SAAS8pB,EAAErnB,EAAEzC,EAAEhI,EAAEC,GAAG,OAAG,OAAO+H,GAAG,IAAIA,EAAE+/H,MAAW//H,EAAE0pf,GAAG1xf,EAAEyK,EAAEjK,KAAKP,IAAKmrJ,OAAO3gJ,EAAEzC,KAAEA,EAAEnJ,EAAEmJ,EAAEhI,IAAKorJ,OAAO3gJ,EAASzC,GAAE,SAAS0X,EAAEjV,EAAEzC,EAAEhI,EAAEC,GAAG,OAAG,OAAO+H,GAAGA,EAAEigH,cAAcjoH,EAAE+O,OAAY9O,EAAEpB,EAAEmJ,EAAEhI,EAAEtF,QAASwxE,IAAIglb,GAAGzmf,EAAEzC,EAAEhI,GAAGC,EAAEmrJ,OAAO3gJ,EAAExK,KAAEA,EAAE0xf,GAAG3xf,EAAE+O,KAAK/O,EAAE7E,IAAI6E,EAAEtF,MAAM,KAAK+P,EAAEjK,KAAKP,IAAKisE,IAAIglb,GAAGzmf,EAAEzC,EAAEhI,GAAGC,EAAEmrJ,OAAO3gJ,EAASxK,GAAE,SAASJ,EAAE4K,EAAEzC,EAAEhI,EAAEC,GAAG,OAAG,OAAO+H,GAAG,IAAIA,EAAE+/H,KAAK//H,EAAEw4e,UAAUkC,gBAAgB1if,EAAE0if,eAAe16e,EAAEw4e,UAAUz7c,iBACte/kC,EAAE+kC,iBAAsB/8B,EAAE4pf,GAAG5xf,EAAEyK,EAAEjK,KAAKP,IAAKmrJ,OAAO3gJ,EAAEzC,KAAEA,EAAEnJ,EAAEmJ,EAAEhI,EAAEsQ,UAAU,KAAM86I,OAAO3gJ,EAASzC,GAAE,SAASjI,EAAE0K,EAAEzC,EAAEhI,EAAEC,EAAElB,GAAG,OAAG,OAAOiJ,GAAG,IAAIA,EAAE+/H,MAAW//H,EAAE6pf,GAAG7xf,EAAEyK,EAAEjK,KAAKP,EAAElB,IAAKqsJ,OAAO3gJ,EAAEzC,KAAEA,EAAEnJ,EAAEmJ,EAAEhI,IAAKorJ,OAAO3gJ,EAASzC,GAAE,SAASjH,EAAE0J,EAAEzC,EAAEhI,GAAG,GAAG,kBAAkBgI,GAAG,kBAAkBA,EAAE,OAAOA,EAAE0pf,GAAG,GAAG1pf,EAAEyC,EAAEjK,KAAKR,IAAKorJ,OAAO3gJ,EAAEzC,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEo+G,UAAU,KAAKyqG,GAAG,OAAO7wN,EAAE2xf,GAAG3pf,EAAE+G,KAAK/G,EAAE7M,IAAI6M,EAAEtN,MAAM,KAAK+P,EAAEjK,KAAKR,IAAKksE,IAAIglb,GAAGzmf,EAAE,KAAKzC,GAAGhI,EAAEorJ,OAAO3gJ,EAAEzK,EAAE,KAAKs3N,GAAG,OAAOtvN,EAAE4pf,GAAG5pf,EAAEyC,EAAEjK,KAAKR,IAAKorJ,OAAO3gJ,EAAEzC,EAAE,GAAGipf,GAAGjpf,IACvfosN,GAAGpsN,GAAG,OAAOA,EAAE6pf,GAAG7pf,EAAEyC,EAAEjK,KAAKR,EAAE,OAAQorJ,OAAO3gJ,EAAEzC,EAAEopf,GAAG3mf,EAAEzC,GAAG,OAAO,KAAK,SAAS2C,EAAEF,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAE,OAAOmJ,EAAEA,EAAE7M,IAAI,KAAK,GAAG,kBAAkB6E,GAAG,kBAAkBA,EAAE,OAAO,OAAOnB,EAAE,KAAKizB,EAAErnB,EAAEzC,EAAE,GAAGhI,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEomH,UAAU,KAAKyqG,GAAG,OAAO7wN,EAAE7E,MAAM0D,EAAEmB,EAAE+O,OAAOg9M,GAAGhsN,EAAE0K,EAAEzC,EAAEhI,EAAEtF,MAAM4V,SAASrQ,EAAEpB,GAAG6gB,EAAEjV,EAAEzC,EAAEhI,EAAEC,GAAG,KAAK,KAAKq3N,GAAG,OAAOt3N,EAAE7E,MAAM0D,EAAEgB,EAAE4K,EAAEzC,EAAEhI,EAAEC,GAAG,KAAK,GAAGgxf,GAAGjxf,IAAIo0N,GAAGp0N,GAAG,OAAO,OAAOnB,EAAE,KAAKkB,EAAE0K,EAAEzC,EAAEhI,EAAEC,EAAE,MAAMmxf,GAAG3mf,EAAEzK,GAAG,OAAO,KAAK,SAASm2F,EAAE1rF,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,GAAG,kBAAkBoB,GAAG,kBAAkBA,EAAE,OAC5e6xB,EAAE9pB,EADifyC,EAClgBA,EAAErK,IAAIJ,IAAI,KAAW,GAAGC,EAAEpB,GAAG,GAAG,kBAAkBoB,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEmmH,UAAU,KAAKyqG,GAAG,OAAOpmN,EAAEA,EAAErK,IAAI,OAAOH,EAAE9E,IAAI6E,EAAEC,EAAE9E,MAAM,KAAK8E,EAAE8O,OAAOg9M,GAAGhsN,EAAEiI,EAAEyC,EAAExK,EAAEvF,MAAM4V,SAASzR,EAAEoB,EAAE9E,KAAKukB,EAAE1X,EAAEyC,EAAExK,EAAEpB,GAAG,KAAKy4N,GAAG,OAA2Cz3N,EAAEmI,EAAtCyC,EAAEA,EAAErK,IAAI,OAAOH,EAAE9E,IAAI6E,EAAEC,EAAE9E,MAAM,KAAW8E,EAAEpB,GAAG,GAAGoyf,GAAGhxf,IAAIm0N,GAAGn0N,GAAG,OAAwBF,EAAEiI,EAAnByC,EAAEA,EAAErK,IAAIJ,IAAI,KAAWC,EAAEpB,EAAE,MAAMuyf,GAAGppf,EAAE/H,GAAG,OAAO,KAAK,SAAS4sN,EAAGhuN,EAAEkJ,EAAE+pB,EAAEpS,GAAG,IAAI,IAAI7f,EAAE,KAAKU,EAAE,KAAKR,EAAEgI,EAAE6C,EAAE7C,EAAE,EAAEs+G,EAAE,KAAK,OAAOtmH,GAAG6K,EAAEknB,EAAEl3B,OAAOgQ,IAAI,CAAC7K,EAAEk/B,MAAMr0B,GAAGy7G,EAAEtmH,EAAEA,EAAE,MAAMsmH,EAAEtmH,EAAEqkZ,QAAQ,IAAIj+R,EAAEx7G,EAAE9L,EAAEkB,EAAE+xB,EAAElnB,GAAG8U,GAAG,GAAG,OAAOymG,EAAE,CAAC,OAAOpmH,IAAIA,EAAEsmH,GAAG,MAAM57G,GACtf1K,GAAG,OAAOomH,EAAE27X,WAAW95e,EAAEnJ,EAAEkB,GAAGgI,EAAEhJ,EAAEonH,EAAEp+G,EAAE6C,GAAG,OAAOrK,EAAEV,EAAEsmH,EAAE5lH,EAAE6jZ,QAAQj+R,EAAE5lH,EAAE4lH,EAAEpmH,EAAEsmH,EAAE,GAAGz7G,IAAIknB,EAAEl3B,OAAO,OAAOoF,EAAEnB,EAAEkB,GAAGF,EAAE,GAAG,OAAOE,EAAE,CAAC,KAAK6K,EAAEknB,EAAEl3B,OAAOgQ,IAAkB,QAAd7K,EAAEgB,EAAElC,EAAEizB,EAAElnB,GAAG8U,MAAc3X,EAAEhJ,EAAEgB,EAAEgI,EAAE6C,GAAG,OAAOrK,EAAEV,EAAEE,EAAEQ,EAAE6jZ,QAAQrkZ,EAAEQ,EAAER,GAAG,OAAOF,EAAE,IAAIE,EAAEE,EAAEpB,EAAEkB,GAAG6K,EAAEknB,EAAEl3B,OAAOgQ,IAAsB,QAAlBy7G,EAAElwB,EAAEp2F,EAAElB,EAAE+L,EAAEknB,EAAElnB,GAAG8U,MAAcjV,GAAG,OAAO47G,EAAEy7X,WAAW/hf,EAAE6if,OAAO,OAAOv8X,EAAElrH,IAAIyP,EAAEy7G,EAAElrH,KAAK4M,EAAEhJ,EAAEsnH,EAAEt+G,EAAE6C,GAAG,OAAOrK,EAAEV,EAAEwmH,EAAE9lH,EAAE6jZ,QAAQ/9R,EAAE9lH,EAAE8lH,GAA4C,OAAzC57G,GAAG1K,EAAE8yB,SAAQ,SAASpoB,GAAG,OAAOzC,EAAEnJ,EAAE4L,MAAY5K,EAAE,SAASgzL,EAAEh0L,EAAEkJ,EAAE+pB,EAAEjyB,GAAG,IAAI6f,EAAE00M,GAAGtiM,GAAG,GAAG,oBAAoBpS,EAAE,MAAMsd,MAAMllB,EAAE,MACve,GAAG,OAD0ega,EAAEpS,EAAE5f,KAAKgyB,IAC3e,MAAMkL,MAAMllB,EAAE,MAAM,IAAI,IAAI/X,EAAE2f,EAAE,KAAKnf,EAAEwH,EAAE6C,EAAE7C,EAAE,EAAEs+G,EAAE,KAAKF,EAAEr0F,EAAEzyB,OAAO,OAAOkB,IAAI4lH,EAAEvnH,KAAKgM,IAAIu7G,EAAEr0F,EAAEzyB,OAAO,CAACkB,EAAE0+B,MAAMr0B,GAAGy7G,EAAE9lH,EAAEA,EAAE,MAAM8lH,EAAE9lH,EAAE6jZ,QAAQ,IAAIvxN,EAAEloL,EAAE9L,EAAE0B,EAAE4lH,EAAE3oH,MAAMqC,GAAG,GAAG,OAAOgzL,EAAE,CAAC,OAAOtyL,IAAIA,EAAE8lH,GAAG,MAAM57G,GAAGlK,GAAG,OAAOsyL,EAAEivT,WAAW95e,EAAEnJ,EAAE0B,GAAGwH,EAAEhJ,EAAE8zL,EAAE9qL,EAAE6C,GAAG,OAAO7K,EAAE2f,EAAEmzK,EAAE9yL,EAAEqkZ,QAAQvxN,EAAE9yL,EAAE8yL,EAAEtyL,EAAE8lH,EAAE,GAAGF,EAAEvnH,KAAK,OAAOoB,EAAEnB,EAAE0B,GAAGmf,EAAE,GAAG,OAAOnf,EAAE,CAAC,MAAM4lH,EAAEvnH,KAAKgM,IAAIu7G,EAAEr0F,EAAEzyB,OAAwB,QAAjB8mH,EAAEplH,EAAElC,EAAEsnH,EAAE3oH,MAAMqC,MAAckI,EAAEhJ,EAAEonH,EAAEp+G,EAAE6C,GAAG,OAAO7K,EAAE2f,EAAEymG,EAAEpmH,EAAEqkZ,QAAQj+R,EAAEpmH,EAAEomH,GAAG,OAAOzmG,EAAE,IAAInf,EAAEN,EAAEpB,EAAE0B,IAAI4lH,EAAEvnH,KAAKgM,IAAIu7G,EAAEr0F,EAAEzyB,OAA4B,QAArB8mH,EAAEhwB,EAAE51F,EAAE1B,EAAE+L,EAAEu7G,EAAE3oH,MAAMqC,MAAc4K,GAAG,OAChf07G,EAAE27X,WAAWvhf,EAAEqif,OAAO,OAAOz8X,EAAEhrH,IAAIyP,EAAEu7G,EAAEhrH,KAAK4M,EAAEhJ,EAAEonH,EAAEp+G,EAAE6C,GAAG,OAAO7K,EAAE2f,EAAEymG,EAAEpmH,EAAEqkZ,QAAQj+R,EAAEpmH,EAAEomH,GAA4C,OAAzC17G,GAAGlK,EAAEsyB,SAAQ,SAASpoB,GAAG,OAAOzC,EAAEnJ,EAAE4L,MAAYiV,EAAE,OAAO,SAASjV,EAAExK,EAAElB,EAAE+yB,GAAG,IAAIpS,EAAE,kBAAkB3gB,GAAG,OAAOA,GAAGA,EAAEgQ,OAAOg9M,IAAI,OAAOhtN,EAAE5D,IAAIukB,IAAI3gB,EAAEA,EAAErE,MAAM4V,UAAU,IAAIzQ,EAAE,kBAAkBd,GAAG,OAAOA,EAAE,GAAGc,EAAE,OAAOd,EAAEqnH,UAAU,KAAKyqG,GAAGpmN,EAAE,CAAS,IAAR5K,EAAEd,EAAE5D,IAAQukB,EAAEzf,EAAE,OAAOyf,GAAG,CAAC,GAAGA,EAAEvkB,MAAM0E,EAAE,CAAC,OAAO6f,EAAEqoH,KAAK,KAAK,EAAE,GAAGhpI,EAAEgQ,OAAOg9M,GAAG,CAAC/rN,EAAEyK,EAAEiV,EAAE0kY,UAASnkZ,EAAEpB,EAAE6gB,EAAE3gB,EAAErE,MAAM4V,WAAY86I,OAAO3gJ,EAAEA,EAAExK,EAAE,MAAMwK,EAAE,MAAM,QAAQ,GAAGiV,EAAEuoG,cAAclpH,EAAEgQ,KAAK,CAAC/O,EAAEyK,EACrfiV,EAAE0kY,UAASnkZ,EAAEpB,EAAE6gB,EAAE3gB,EAAErE,QAASwxE,IAAIglb,GAAGzmf,EAAEiV,EAAE3gB,GAAGkB,EAAEmrJ,OAAO3gJ,EAAEA,EAAExK,EAAE,MAAMwK,GAAGzK,EAAEyK,EAAEiV,GAAG,MAAW1X,EAAEyC,EAAEiV,GAAGA,EAAEA,EAAE0kY,QAAQrlZ,EAAEgQ,OAAOg9M,KAAI9rN,EAAE4xf,GAAG9yf,EAAErE,MAAM4V,SAAS7F,EAAEjK,KAAKsxB,EAAE/yB,EAAE5D,MAAOiwJ,OAAO3gJ,EAAEA,EAAExK,KAAI6xB,EAAE6/d,GAAG5yf,EAAEgQ,KAAKhQ,EAAE5D,IAAI4D,EAAErE,MAAM,KAAK+P,EAAEjK,KAAKsxB,IAAKo6C,IAAIglb,GAAGzmf,EAAExK,EAAElB,GAAG+yB,EAAEs5H,OAAO3gJ,EAAEA,EAAEqnB,GAAG,OAAO/pB,EAAE0C,GAAG,KAAK6sN,GAAG7sN,EAAE,CAAC,IAAIiV,EAAE3gB,EAAE5D,IAAI,OAAO8E,GAAG,CAAC,GAAGA,EAAE9E,MAAMukB,EAAX,CAAa,GAAG,IAAIzf,EAAE8nI,KAAK9nI,EAAEugf,UAAUkC,gBAAgB3jf,EAAE2jf,eAAezif,EAAEugf,UAAUz7c,iBAAiBhmC,EAAEgmC,eAAe,CAAC/kC,EAAEyK,EAAExK,EAAEmkZ,UAASnkZ,EAAEpB,EAAEoB,EAAElB,EAAEuR,UAAU,KAAM86I,OAAO3gJ,EAAEA,EAAExK,EAAE,MAAMwK,EAAOzK,EAAEyK,EAAExK,GAAG,MAAW+H,EAAEyC,EAAExK,GAAGA,EACnfA,EAAEmkZ,SAAQnkZ,EAAE2xf,GAAG7yf,EAAE0L,EAAEjK,KAAKsxB,IAAKs5H,OAAO3gJ,EAAEA,EAAExK,EAAE,OAAO8H,EAAE0C,GAAG,GAAG,kBAAkB1L,GAAG,kBAAkBA,EAAE,OAAOA,EAAE,GAAGA,EAAE,OAAOkB,GAAG,IAAIA,EAAE8nI,KAAK/nI,EAAEyK,EAAExK,EAAEmkZ,UAASnkZ,EAAEpB,EAAEoB,EAAElB,IAAKqsJ,OAAO3gJ,EAAEA,EAAExK,IAAID,EAAEyK,EAAExK,IAAGA,EAAEyxf,GAAG3yf,EAAE0L,EAAEjK,KAAKsxB,IAAKs5H,OAAO3gJ,EAAEA,EAAExK,GAAG8H,EAAE0C,GAAG,GAAGwmf,GAAGlyf,GAAG,OAAO8tN,EAAGpiN,EAAExK,EAAElB,EAAE+yB,GAAG,GAAGsiM,GAAGr1N,GAAG,OAAO8zL,EAAEpoL,EAAExK,EAAElB,EAAE+yB,GAAc,GAAXjyB,GAAGuxf,GAAG3mf,EAAE1L,GAAM,qBAAqBA,IAAI2gB,EAAE,OAAOjV,EAAEs9H,KAAK,KAAK,EAAE,KAAK,EAAE,MAAMt9H,EAAEA,EAAEsE,KAAKiuB,MAAMllB,EAAE,IAAIrN,EAAEqrB,aAAarrB,EAAEvK,MAAM,cAAe,OAAOF,EAAEyK,EAAExK,IAAI,IAAI6xf,GAAGT,IAAG,GAAIU,GAAGV,IAAG,GAAIW,GAAG,GAAGC,GAAG,CAACn8e,QAAQk8e,IAAI75e,GAAG,CAACrC,QAAQk8e,IAAIrsb,GAAG,CAAC7vD,QAAQk8e,IACjf,SAAShud,GAAGv5B,GAAG,GAAGA,IAAIunf,GAAG,MAAMh1d,MAAMllB,EAAE,MAAM,OAAOrN,EAAE,SAAS7H,GAAG6H,EAAEzC,GAAyC,OAAtC8lL,GAAEnoH,GAAG39D,GAAG8lL,GAAE31K,GAAG1N,GAAGqjL,GAAEmkU,GAAGD,IAAIvnf,EAAEzC,EAAE2J,UAAmB,KAAK,EAAE,KAAK,GAAG3J,GAAGA,EAAEA,EAAEsb,iBAAiBtb,EAAE06B,aAAaouL,GAAG,KAAK,IAAI,MAAM,QAAkE9oN,EAAE8oN,GAArC9oN,GAAvByC,EAAE,IAAIA,EAAEzC,EAAEyb,WAAWzb,GAAM06B,cAAc,KAAKj4B,EAAEA,EAAE84B,SAAkB6vJ,GAAE6+T,IAAInkU,GAAEmkU,GAAGjqf,GAAG,SAASkqf,KAAK9+T,GAAE6+T,IAAI7+T,GAAEj7K,IAAIi7K,GAAEztH,IAAI,SAASwsb,GAAG1nf,GAAGu5B,GAAG2hC,GAAG7vD,SAAS,IAAI9N,EAAEg8B,GAAGiud,GAAGn8e,SAAa9V,EAAE8wN,GAAG9oN,EAAEyC,EAAEsE,MAAM/G,IAAIhI,IAAI8tL,GAAE31K,GAAG1N,GAAGqjL,GAAEmkU,GAAGjyf,IAAI,SAASoyf,GAAG3nf,GAAG0N,GAAGrC,UAAUrL,IAAI2oL,GAAE6+T,IAAI7+T,GAAEj7K,KAAK,IAAI6a,GAAE,CAACld,QAAQ,GACpd,SAASu8e,GAAG5nf,GAAG,IAAI,IAAIzC,EAAEyC,EAAE,OAAOzC,GAAG,CAAC,GAAG,KAAKA,EAAE+/H,IAAI,CAAC,IAAI/nI,EAAEgI,EAAEg6e,cAAc,GAAG,OAAOhif,IAAmB,QAAfA,EAAEA,EAAEiif,aAzEqJ,OAyEhIjif,EAAE8O,MAzEsI,OAyE3H9O,EAAE8O,MAAW,OAAO9G,OAAO,GAAG,KAAKA,EAAE+/H,UAAK,IAAS//H,EAAEsqf,cAAcC,aAAa,GAAG,KAAiB,GAAZvqf,EAAE+5e,WAAc,OAAO/5e,OAAO,GAAG,OAAOA,EAAEsJ,MAAM,CAACtJ,EAAEsJ,MAAM85I,OAAOpjJ,EAAEA,EAAEA,EAAEsJ,MAAM,SAAS,GAAGtJ,IAAIyC,EAAE,MAAM,KAAK,OAAOzC,EAAEo8Y,SAAS,CAAC,GAAG,OAAOp8Y,EAAEojJ,QAAQpjJ,EAAEojJ,SAAS3gJ,EAAE,OAAO,KAAKzC,EAAEA,EAAEojJ,OAAOpjJ,EAAEo8Y,QAAQh5P,OAAOpjJ,EAAEojJ,OAAOpjJ,EAAEA,EAAEo8Y,QAAQ,OAAO,KAAK,SAASouG,GAAG/nf,EAAEzC,GAAG,MAAM,CAACyqf,UAAUhof,EAAE/P,MAAMsN,GACve,IAAI0qf,GAAG/kS,EAAGqxR,uBAAuB2T,GAAGhlS,EAAGsxR,wBAAwB2T,GAAG,EAAEllU,GAAE,KAAK36J,GAAE,KAAKwF,GAAE,KAAKs6d,IAAG,EAAG,SAAS7+T,KAAI,MAAMh3J,MAAMllB,EAAE,MAAO,SAASg7e,GAAGrof,EAAEzC,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIhI,EAAE,EAAEA,EAAEgI,EAAEpN,QAAQoF,EAAEyK,EAAE7P,OAAOoF,IAAI,IAAImkM,GAAG15L,EAAEzK,GAAGgI,EAAEhI,IAAI,OAAM,EAAG,OAAM,EAC/O,SAASioE,GAAGx9D,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAkI,GAA/H6zf,GAAG7zf,EAAE2uL,GAAE1lL,EAAEA,EAAEg6e,cAAc,KAAKh6e,EAAEwnf,YAAY,KAAKxnf,EAAEmnf,eAAe,EAAEuD,GAAG58e,QAAQ,OAAOrL,GAAG,OAAOA,EAAEu3e,cAAc+Q,GAAGC,GAAGvof,EAAEzK,EAAEC,EAAEpB,GAAMmJ,EAAEmnf,iBAAiByD,GAAG,CAAC7zf,EAAE,EAAE,EAAE,CAAoB,GAAnBiJ,EAAEmnf,eAAe,IAAO,GAAGpwf,GAAG,MAAMi+B,MAAMllB,EAAE,MAAM/Y,GAAG,EAAEw5B,GAAExF,GAAE,KAAK/qB,EAAEwnf,YAAY,KAAKkD,GAAG58e,QAAQm9e,GAAGxof,EAAEzK,EAAEC,EAAEpB,SAASmJ,EAAEmnf,iBAAiByD,IAAkE,GAA9DF,GAAG58e,QAAQ4kS,GAAG1yS,EAAE,OAAO+qB,IAAG,OAAOA,GAAE1zB,KAAKuzf,GAAG,EAAEr6d,GAAExF,GAAE26J,GAAE,KAAKmlU,IAAG,EAAM7qf,EAAE,MAAMg1B,MAAMllB,EAAE,MAAM,OAAOrN,EAC9Z,SAASi1N,KAAK,IAAIj1N,EAAE,CAACu3e,cAAc,KAAKyN,UAAU,KAAKC,UAAU,KAAKxwL,MAAM,KAAK7/T,KAAK,MAA8C,OAAxC,OAAOk5B,GAAEm1J,GAAEs0T,cAAczpd,GAAE9tB,EAAE8tB,GAAEA,GAAEl5B,KAAKoL,EAAS8tB,GAAE,SAAS26d,KAAK,GAAG,OAAOnge,GAAE,CAAC,IAAItoB,EAAEijL,GAAEo0T,UAAUr3e,EAAE,OAAOA,EAAEA,EAAEu3e,cAAc,UAAUv3e,EAAEsoB,GAAE1zB,KAAK,IAAI2I,EAAE,OAAOuwB,GAAEm1J,GAAEs0T,cAAczpd,GAAEl5B,KAAK,GAAG,OAAO2I,EAAEuwB,GAAEvwB,EAAE+qB,GAAEtoB,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAMuyB,MAAMllB,EAAE,MAAUrN,EAAE,CAACu3e,eAAPjvd,GAAEtoB,GAAqBu3e,cAAcyN,UAAU18d,GAAE08d,UAAUC,UAAU38d,GAAE28d,UAAUxwL,MAAMnsS,GAAEmsS,MAAM7/T,KAAK,MAAM,OAAOk5B,GAAEm1J,GAAEs0T,cAAczpd,GAAE9tB,EAAE8tB,GAAEA,GAAEl5B,KAAKoL,EAAE,OAAO8tB,GAChe,SAAS46d,GAAG1of,EAAEzC,GAAG,MAAM,oBAAoBA,EAAEA,EAAEyC,GAAGzC,EAClD,SAASorf,GAAG3of,GAAG,IAAIzC,EAAEkrf,KAAKlzf,EAAEgI,EAAEk3T,MAAM,GAAG,OAAOl/T,EAAE,MAAMg9B,MAAMllB,EAAE,MAAM9X,EAAEqzf,oBAAoB5of,EAAE,IAAIxK,EAAE8yB,GAAEl0B,EAAEoB,EAAEyvf,UAAU3wf,EAAEiB,EAAEq/T,QAAQ,GAAG,OAAOtgU,EAAE,CAAC,GAAG,OAAOF,EAAE,CAAC,IAAIkJ,EAAElJ,EAAEQ,KAAKR,EAAEQ,KAAKN,EAAEM,KAAKN,EAAEM,KAAK0I,EAAE9H,EAAEyvf,UAAU7wf,EAAEE,EAAEiB,EAAEq/T,QAAQ,KAAK,GAAG,OAAOxgU,EAAE,CAACA,EAAEA,EAAEQ,KAAKY,EAAEA,EAAEwvf,UAAU,IAAI39d,EAAE/pB,EAAEhJ,EAAE,KAAK2gB,EAAE7gB,EAAE,EAAE,CAAC,IAAIgB,EAAE6f,EAAEyve,eAAe,GAAGtvf,EAAE+yf,GAAG,CAAC,IAAI7yf,EAAE,CAACovf,eAAezve,EAAEyve,eAAeU,eAAenwe,EAAEmwe,eAAe/sb,OAAOpjD,EAAEojD,OAAOwwb,aAAa5ze,EAAE4ze,aAAaC,WAAW7ze,EAAE6ze,WAAWl0f,KAAK,MAAM,OAAOyyB,GAAG/pB,EAAE+pB,EAAE/xB,EAAEhB,EAAEkB,GAAG6xB,EAAEA,EAAEzyB,KAAKU,EAAEF,EAAE6tL,GAAEyhU,iBAC9ezhU,GAAEyhU,eAAetvf,EAAEqwf,GAAGrwf,SAAS,OAAOiyB,IAAIA,EAAEA,EAAEzyB,KAAK,CAAC8vf,eAAe,WAAWU,eAAenwe,EAAEmwe,eAAe/sb,OAAOpjD,EAAEojD,OAAOwwb,aAAa5ze,EAAE4ze,aAAaC,WAAW7ze,EAAE6ze,WAAWl0f,KAAK,OAAO4wf,GAAGpwf,EAAE6f,EAAEmwe,gBAAgB5vf,EAAEyf,EAAE4ze,eAAe7of,EAAEiV,EAAE6ze,WAAW9of,EAAExK,EAAEyf,EAAEojD,QAAQpjD,EAAEA,EAAErgB,WAAW,OAAOqgB,GAAGA,IAAI7gB,GAAG,OAAOizB,EAAE/yB,EAAEkB,EAAE6xB,EAAEzyB,KAAK0I,EAAEo8L,GAAGlkM,EAAE+H,EAAEg6e,iBAAiBoN,IAAG,GAAIpnf,EAAEg6e,cAAc/hf,EAAE+H,EAAEynf,UAAU1wf,EAAEiJ,EAAE0nf,UAAU59d,EAAE9xB,EAAEwzf,kBAAkBvzf,EAAE,MAAM,CAAC+H,EAAEg6e,cAAchif,EAAEosZ,UACxb,SAASpsL,GAAGv1N,GAAG,IAAIzC,EAAEkrf,KAAKlzf,EAAEgI,EAAEk3T,MAAM,GAAG,OAAOl/T,EAAE,MAAMg9B,MAAMllB,EAAE,MAAM9X,EAAEqzf,oBAAoB5of,EAAE,IAAIxK,EAAED,EAAEosZ,SAASvtZ,EAAEmB,EAAEq/T,QAAQtgU,EAAEiJ,EAAEg6e,cAAc,GAAG,OAAOnjf,EAAE,CAACmB,EAAEq/T,QAAQ,KAAK,IAAIt3T,EAAElJ,EAAEA,EAAEQ,KAAK,GAAGN,EAAE0L,EAAE1L,EAAEgJ,EAAE+6D,QAAQ/6D,EAAEA,EAAE1I,WAAW0I,IAAIlJ,GAAGslM,GAAGplM,EAAEiJ,EAAEg6e,iBAAiBoN,IAAG,GAAIpnf,EAAEg6e,cAAcjjf,EAAE,OAAOiJ,EAAE0nf,YAAY1nf,EAAEynf,UAAU1wf,GAAGiB,EAAEwzf,kBAAkBz0f,EAAE,MAAM,CAACA,EAAEkB,GACnV,SAASwzf,GAAGhpf,GAAG,IAAIzC,EAAE03N,KAAmL,MAA9K,oBAAoBj1N,IAAIA,EAAEA,KAAKzC,EAAEg6e,cAAch6e,EAAEynf,UAAUhlf,EAAoFA,GAAlFA,EAAEzC,EAAEk3T,MAAM,CAACG,QAAQ,KAAK+sF,SAAS,KAAKinG,oBAAoBF,GAAGK,kBAAkB/of,IAAO2hZ,SAAS7uL,GAAG58N,KAAK,KAAK+sL,GAAEjjL,GAAS,CAACzC,EAAEg6e,cAAcv3e,GAAG,SAASipf,GAAGjpf,EAAEzC,EAAEhI,EAAEC,GAAkO,OAA/NwK,EAAE,CAACs9H,IAAIt9H,EAAEnN,OAAO0K,EAAE6xC,QAAQ75C,EAAEy0S,KAAKx0S,EAAEZ,KAAK,MAAsB,QAAhB2I,EAAE0lL,GAAE8hU,cAAsBxnf,EAAE,CAACspf,WAAW,MAAM5jU,GAAE8hU,YAAYxnf,EAAEA,EAAEspf,WAAW7mf,EAAEpL,KAAKoL,GAAmB,QAAfzK,EAAEgI,EAAEspf,YAAoBtpf,EAAEspf,WAAW7mf,EAAEpL,KAAKoL,GAAGxK,EAAED,EAAEX,KAAKW,EAAEX,KAAKoL,EAAEA,EAAEpL,KAAKY,EAAE+H,EAAEspf,WAAW7mf,GAAWA,EAC7d,SAASkpf,KAAK,OAAOT,KAAKlR,cAAc,SAAS4R,GAAGnpf,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAE6gO,KAAKhyC,GAAEq0T,WAAWt3e,EAAE5L,EAAEmjf,cAAc0R,GAAG,EAAE1rf,EAAEhI,OAAE,OAAO,IAASC,EAAE,KAAKA,GAAG,SAAS4zf,GAAGppf,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAEq0f,KAAKjzf,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIlB,OAAE,EAAO,GAAG,OAAOg0B,GAAE,CAAC,IAAIhrB,EAAEgrB,GAAEivd,cAA0B,GAAZjjf,EAAEgJ,EAAE8xC,QAAW,OAAO55C,GAAG6yf,GAAG7yf,EAAE8H,EAAE0sS,MAAmB,YAAZi/M,GAAG1rf,EAAEhI,EAAEjB,EAAEkB,GAAWytL,GAAEq0T,WAAWt3e,EAAE5L,EAAEmjf,cAAc0R,GAAG,EAAE1rf,EAAEhI,EAAEjB,EAAEkB,GAAG,SAAS6zf,GAAGrpf,EAAEzC,GAAG,OAAO4rf,GAAG,IAAI,EAAEnpf,EAAEzC,GAAG,SAAS+rf,GAAGtpf,EAAEzC,GAAG,OAAO6rf,GAAG,IAAI,EAAEppf,EAAEzC,GAAG,SAASgsf,GAAGvpf,EAAEzC,GAAG,OAAO6rf,GAAG,EAAE,EAAEppf,EAAEzC,GACnc,SAASisf,GAAGxpf,EAAEzC,GAAG,MAAG,oBAAoBA,GAASyC,EAAEA,IAAIzC,EAAEyC,GAAG,WAAWzC,EAAE,QAAU,OAAOA,QAAG,IAASA,GAASyC,EAAEA,IAAIzC,EAAE8N,QAAQrL,EAAE,WAAWzC,EAAE8N,QAAQ,YAAtE,EAA4E,SAASo+e,GAAGzpf,EAAEzC,EAAEhI,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEsmB,OAAO,CAAC7b,IAAI,KAAYopf,GAAG,EAAE,EAAEI,GAAGtzf,KAAK,KAAKqH,EAAEyC,GAAGzK,GAAG,SAASm0f,MAAM,SAASC,GAAG3pf,EAAEzC,GAA4C,OAAzC03N,KAAKsiR,cAAc,CAACv3e,OAAE,IAASzC,EAAE,KAAKA,GAAUyC,EAAE,SAAS4pf,GAAG5pf,EAAEzC,GAAG,IAAIhI,EAAEkzf,KAAKlrf,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAI/H,EAAED,EAAEgif,cAAc,OAAG,OAAO/hf,GAAG,OAAO+H,GAAG8qf,GAAG9qf,EAAE/H,EAAE,IAAWA,EAAE,IAAGD,EAAEgif,cAAc,CAACv3e,EAAEzC,GAAUyC,GAC/d,SAAS6pf,GAAG7pf,EAAEzC,GAAG,IAAIhI,EAAEkzf,KAAKlrf,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAI/H,EAAED,EAAEgif,cAAc,OAAG,OAAO/hf,GAAG,OAAO+H,GAAG8qf,GAAG9qf,EAAE/H,EAAE,IAAWA,EAAE,IAAGwK,EAAEA,IAAIzK,EAAEgif,cAAc,CAACv3e,EAAEzC,GAAUyC,GAAE,SAAS8pf,GAAG9pf,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEkuf,KAAKC,GAAG,GAAGnuf,EAAE,GAAGA,GAAE,WAAWwK,GAAE,MAAM2jf,GAAG,GAAGnuf,EAAE,GAAGA,GAAE,WAAW,IAAIA,EAAE0yf,GAAGzT,SAASyT,GAAGzT,cAAS,IAASl3e,EAAE,KAAKA,EAAE,IAAIyC,GAAE,GAAIzK,IAAV,QAAsB2yf,GAAGzT,SAASj/e,MACjU,SAASs9N,GAAG9yN,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEwwf,KAAK5xf,EAAEuxf,GAAGlR,SAAqBrgf,EAAE,CAACswf,eAAflvf,EAAEywf,GAAGzwf,EAAEwK,EAAE5L,GAAuBgxf,eAAehxf,EAAEikE,OAAO9iE,EAAEszf,aAAa,KAAKC,WAAW,KAAKl0f,KAAK,MAAM,IAAIN,EAAEiJ,EAAEq3T,QAA6E,GAArE,OAAOtgU,EAAEF,EAAEQ,KAAKR,GAAGA,EAAEQ,KAAKN,EAAEM,KAAKN,EAAEM,KAAKR,GAAGmJ,EAAEq3T,QAAQxgU,EAAEE,EAAE0L,EAAEq3e,UAAar3e,IAAIijL,IAAG,OAAO3uL,GAAGA,IAAI2uL,GAAEmlU,IAAG,EAAGh0f,EAAEswf,eAAeyD,GAAGllU,GAAEyhU,eAAeyD,OAAO,CAAC,GAAG,IAAInof,EAAE0kf,iBAAiB,OAAOpwf,GAAG,IAAIA,EAAEowf,iBAA0C,QAAxBpwf,EAAEiJ,EAAEqrf,qBAA8B,IAAI,IAAItrf,EAAEC,EAAEwrf,kBAAkB1he,EAAE/yB,EAAEgJ,EAAE/H,GAAmC,GAAhCnB,EAAEy0f,aAAav0f,EAAEF,EAAE00f,WAAWzhe,EAAKqyK,GAAGryK,EAAE/pB,GAAG,OAAO,MAAM2X,IAAaixe,GAAGlmf,EAClgBxK,IACA,IAAIy6S,GAAG,CAAC85M,YAAYp1R,GAAGujF,YAAY3uH,GAAEnrE,WAAWmrE,GAAE1qE,UAAU0qE,GAAEgsT,oBAAoBhsT,GAAEisT,gBAAgBjsT,GAAEulT,QAAQvlT,GAAEwlT,WAAWxlT,GAAEjqE,OAAOiqE,GAAE3qE,SAAS2qE,GAAE+rT,cAAc/rT,GAAEygU,aAAazgU,GAAE0gU,iBAAiB1gU,GAAE2gU,cAAc3gU,IAAG++T,GAAG,CAACyB,YAAYp1R,GAAGujF,YAAYyxM,GAAGvrY,WAAWu2G,GAAG91G,UAAUwqY,GAAG9T,oBAAoB,SAASv1e,EAAEzC,EAAEhI,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEsmB,OAAO,CAAC7b,IAAI,KAAYmpf,GAAG,EAAE,EAAEK,GAAGtzf,KAAK,KAAKqH,EAAEyC,GAAGzK,IAAIigf,gBAAgB,SAASx1e,EAAEzC,GAAG,OAAO4rf,GAAG,EAAE,EAAEnpf,EAAEzC,IAAIuxe,QAAQ,SAAS9ue,EAAEzC,GAAG,IAAIhI,EAAE0/N,KAC9c,OADmd13N,OAAE,IAASA,EAAE,KAAKA,EAAEyC,EAAEA,IAAIzK,EAAEgif,cAAc,CAACv3e,EACjgBzC,GAAUyC,GAAG+ue,WAAW,SAAS/ue,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEy/N,KAAuK,OAAlK13N,OAAE,IAAShI,EAAEA,EAAEgI,GAAGA,EAAE/H,EAAE+hf,cAAc/hf,EAAEwvf,UAAUznf,EAAmFyC,GAAjFA,EAAExK,EAAEi/T,MAAM,CAACG,QAAQ,KAAK+sF,SAAS,KAAKinG,oBAAoB5of,EAAE+of,kBAAkBxrf,IAAOokZ,SAAS7uL,GAAG58N,KAAK,KAAK+sL,GAAEjjL,GAAS,CAACxK,EAAE+hf,cAAcv3e,IAAIs/G,OAAO,SAASt/G,GAA4B,OAAdA,EAAE,CAACqL,QAAQrL,GAAhBi1N,KAA4BsiR,cAAcv3e,GAAG4+G,SAASoqY,GAAG1T,cAAcoU,GAAGM,aAAajC,GAAGkC,iBAAiB,SAASjqf,EAAEzC,GAAG,IAAIhI,EAAEyzf,GAAGhpf,GAAGxK,EAAED,EAAE,GAAGnB,EAAEmB,EAAE,GAC9Y,OADiZ8zf,IAAG,WAAW,IAAI9zf,EAAE2yf,GAAGzT,SAASyT,GAAGzT,cAAS,IAASl3e,EAAE,KAAKA,EAAE,IAAInJ,EAAE4L,GAAN,QAAiBkof,GAAGzT,SAC9el/e,KAAI,CAACyK,EAAEzC,IAAW/H,GAAG00f,cAAc,SAASlqf,GAAG,IAAIzC,EAAEyrf,IAAG,GAAIzzf,EAAEgI,EAAE,GAAU,OAAPA,EAAEA,EAAE,GAAS,CAACosf,GAAGG,GAAG5zf,KAAK,KAAKqH,EAAEyC,GAAG,CAACzC,EAAEyC,IAAIzK,KAAKgzf,GAAG,CAACwB,YAAYp1R,GAAGujF,YAAY0xM,GAAGxrY,WAAWu2G,GAAG91G,UAAUyqY,GAAG/T,oBAAoBkU,GAAGjU,gBAAgB+T,GAAGza,QAAQ+a,GAAG9a,WAAW4Z,GAAGrpY,OAAO4pY,GAAGtqY,SAAS,WAAW,OAAO+pY,GAAGD,KAAKpT,cAAcoU,GAAGM,aAAajC,GAAGkC,iBAAiB,SAASjqf,EAAEzC,GAAG,IAAIhI,EAAEozf,GAAGD,IAAIlzf,EAAED,EAAE,GAAGnB,EAAEmB,EAAE,GAAyG,OAAtG+zf,IAAG,WAAW,IAAI/zf,EAAE2yf,GAAGzT,SAASyT,GAAGzT,cAAS,IAASl3e,EAAE,KAAKA,EAAE,IAAInJ,EAAE4L,GAAN,QAAiBkof,GAAGzT,SAASl/e,KAAI,CAACyK,EAAEzC,IAAW/H,GAAG00f,cAAc,SAASlqf,GAAG,IAAIzC,EACxgBorf,GAAGD,IAAInzf,EAAEgI,EAAE,GAAU,OAAPA,EAAEA,EAAE,GAAS,CAACqsf,GAAGE,GAAG5zf,KAAK,KAAKqH,EAAEyC,GAAG,CAACzC,EAAEyC,IAAIzK,KAAKizf,GAAG,CAACuB,YAAYp1R,GAAGujF,YAAY0xM,GAAGxrY,WAAWu2G,GAAG91G,UAAUyqY,GAAG/T,oBAAoBkU,GAAGjU,gBAAgB+T,GAAGza,QAAQ+a,GAAG9a,WAAWx5Q,GAAGj2G,OAAO4pY,GAAGtqY,SAAS,WAAW,OAAO22G,GAAGmzR,KAAKpT,cAAcoU,GAAGM,aAAajC,GAAGkC,iBAAiB,SAASjqf,EAAEzC,GAAG,IAAIhI,EAAEggO,GAAGmzR,IAAIlzf,EAAED,EAAE,GAAGnB,EAAEmB,EAAE,GAAyG,OAAtG+zf,IAAG,WAAW,IAAI/zf,EAAE2yf,GAAGzT,SAASyT,GAAGzT,cAAS,IAASl3e,EAAE,KAAKA,EAAE,IAAInJ,EAAE4L,GAAN,QAAiBkof,GAAGzT,SAASl/e,KAAI,CAACyK,EAAEzC,IAAW/H,GAAG00f,cAAc,SAASlqf,GAAG,IAAIzC,EAAEg4N,GAAGmzR,IAAInzf,EAAEgI,EAAE,GAAU,OAAPA,EAAEA,EAAE,GAAS,CAACqsf,GAAGE,GAAG5zf,KAAK,KAC5fqH,EAAEyC,GAAG,CAACzC,EAAEyC,IAAIzK,KAAK40f,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAAG,SAASC,GAAGtqf,EAAEzC,GAAG,IAAIhI,EAAEg1f,GAAG,EAAE,KAAK,KAAK,GAAGh1f,EAAEioH,YAAY,UAAUjoH,EAAE+O,KAAK,UAAU/O,EAAEwgf,UAAUx4e,EAAEhI,EAAEorJ,OAAO3gJ,EAAEzK,EAAE+hf,UAAU,EAAE,OAAOt3e,EAAE6mf,YAAY7mf,EAAE6mf,WAAWC,WAAWvxf,EAAEyK,EAAE6mf,WAAWtxf,GAAGyK,EAAE+mf,YAAY/mf,EAAE6mf,WAAWtxf,EAC1P,SAASi1f,GAAGxqf,EAAEzC,GAAG,OAAOyC,EAAEs9H,KAAK,KAAK,EAAE,IAAI/nI,EAAEyK,EAAEsE,KAAyE,OAAO,QAA3E/G,EAAE,IAAIA,EAAE2J,UAAU3R,EAAE2W,gBAAgB3O,EAAE4J,SAAS+E,cAAc,KAAK3O,KAAmByC,EAAE+1e,UAAUx4e,GAAE,GAAO,KAAK,EAAE,OAAoD,QAA7CA,EAAE,KAAKyC,EAAEyqf,cAAc,IAAIltf,EAAE2J,SAAS,KAAK3J,KAAYyC,EAAE+1e,UAAUx4e,GAAE,GAAO,KAAK,GAAY,QAAQ,OAAM,GACtR,SAASmtf,GAAG1qf,GAAG,GAAGqqf,GAAG,CAAC,IAAI9sf,EAAE6sf,GAAG,GAAG7sf,EAAE,CAAC,IAAIhI,EAAEgI,EAAE,IAAIitf,GAAGxqf,EAAEzC,GAAG,CAAqB,KAApBA,EAAE4+M,GAAG5mN,EAAEm9B,gBAAqB83d,GAAGxqf,EAAEzC,GAA+C,OAA3CyC,EAAEs3e,WAAuB,KAAbt3e,EAAEs3e,UAAgB,EAAE+S,IAAG,OAAGF,GAAGnqf,GAASsqf,GAAGH,GAAG50f,GAAG40f,GAAGnqf,EAAEoqf,GAAGjuS,GAAG5+M,EAAEo1B,iBAAiB3yB,EAAEs3e,WAAuB,KAAbt3e,EAAEs3e,UAAgB,EAAE+S,IAAG,EAAGF,GAAGnqf,GAAG,SAAS2qf,GAAG3qf,GAAG,IAAIA,EAAEA,EAAE2gJ,OAAO,OAAO3gJ,GAAG,IAAIA,EAAEs9H,KAAK,IAAIt9H,EAAEs9H,KAAK,KAAKt9H,EAAEs9H,KAAKt9H,EAAEA,EAAE2gJ,OAAOwpW,GAAGnqf,EAC5T,SAAS4qf,GAAG5qf,GAAG,GAAGA,IAAImqf,GAAG,OAAM,EAAG,IAAIE,GAAG,OAAOM,GAAG3qf,GAAGqqf,IAAG,GAAG,EAAG,IAAI9sf,EAAEyC,EAAEsE,KAAK,GAAG,IAAItE,EAAEs9H,KAAK,SAAS//H,GAAG,SAASA,IAAI8qN,GAAG9qN,EAAEyC,EAAE6nf,eAAe,IAAItqf,EAAE6sf,GAAG7sf,GAAG+sf,GAAGtqf,EAAEzC,GAAGA,EAAE4+M,GAAG5+M,EAAEm1B,aAAmB,GAANi4d,GAAG3qf,GAAM,KAAKA,EAAEs9H,IAAI,CAAgD,KAA7Bt9H,EAAE,QAApBA,EAAEA,EAAEu3e,eAAyBv3e,EAAEw3e,WAAW,MAAW,MAAMjld,MAAMllB,EAAE,MAAMrN,EAAE,CAAiB,IAAhBA,EAAEA,EAAE0yB,YAAgBn1B,EAAE,EAAEyC,GAAG,CAAC,GAAG,IAAIA,EAAEkH,SAAS,CAAC,IAAI3R,EAAEyK,EAAEqE,KAAK,GA9FpG,OA8FuG9O,EAAO,CAAC,GAAG,IAAIgI,EAAE,CAAC6sf,GAAGjuS,GAAGn8M,EAAE0yB,aAAa,MAAM1yB,EAAEzC,QA9F7J,MA8FsKhI,GA9F/I,OA8FuJA,GA9F/J,OA8FuKA,GAAQgI,IAAIyC,EAAEA,EAAE0yB,YAAY03d,GAAG,WAAWA,GAAGD,GAAGhuS,GAAGn8M,EAAE+1e,UAAUrjd,aAAa,KAAK,OAAM,EAChf,SAASm4d,KAAKT,GAAGD,GAAG,KAAKE,IAAG,EAAG,IAAIS,GAAG5nS,EAAGwxR,kBAAkBiQ,IAAG,EAAG,SAASp8T,GAAEvoL,EAAEzC,EAAEhI,EAAEC,GAAG+H,EAAEsJ,MAAM,OAAO7G,EAAEsnf,GAAG/pf,EAAE,KAAKhI,EAAEC,GAAG6xf,GAAG9pf,EAAEyC,EAAE6G,MAAMtR,EAAEC,GAAG,SAASu1f,GAAG/qf,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAGmB,EAAEA,EAAE4Q,OAAO,IAAI7R,EAAEiJ,EAAEkkE,IAA8B,OAA1B+ib,GAAGjnf,EAAEnJ,GAAGoB,EAAEgoE,GAAGx9D,EAAEzC,EAAEhI,EAAEC,EAAElB,EAAEF,GAAM,OAAO4L,GAAI2kf,IAA4Gpnf,EAAE+5e,WAAW,EAAE/uT,GAAEvoL,EAAEzC,EAAE/H,EAAEpB,GAAUmJ,EAAEsJ,QAArItJ,EAAEwnf,YAAY/kf,EAAE+kf,YAAYxnf,EAAE+5e,YAAY,IAAIt3e,EAAE0kf,gBAAgBtwf,IAAI4L,EAAE0kf,eAAe,GAAGsG,GAAGhrf,EAAEzC,EAAEnJ,IACtU,SAASm2N,GAAGvqN,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAG,GAAG,OAAO0L,EAAE,CAAC,IAAI1C,EAAE/H,EAAE+O,KAAK,MAAG,oBAAoBhH,GAAI0vN,GAAG1vN,SAAI,IAASA,EAAE2yH,cAAc,OAAO16H,EAAEijJ,cAAS,IAASjjJ,EAAE06H,eAAsDjwH,EAAEknf,GAAG3xf,EAAE+O,KAAK,KAAK9O,EAAE,KAAK+H,EAAExH,KAAKzB,IAAKmtE,IAAIlkE,EAAEkkE,IAAIzhE,EAAE2gJ,OAAOpjJ,EAASA,EAAEsJ,MAAM7G,IAA1GzC,EAAE+/H,IAAI,GAAG//H,EAAE+G,KAAKhH,EAAE2uN,GAAGjsN,EAAEzC,EAAED,EAAE9H,EAAEpB,EAAEE,IAAuF,OAAVgJ,EAAE0C,EAAE6G,MAASzS,EAAEE,IAAIF,EAAEkJ,EAAEuqf,eAA0Btyf,EAAE,QAAdA,EAAEA,EAAEijJ,SAAmBjjJ,EAAEooR,IAAKvpR,EAAEoB,IAAIwK,EAAEyhE,MAAMlkE,EAAEkkE,KAAYupb,GAAGhrf,EAAEzC,EAAEjJ,IAAGiJ,EAAE+5e,WAAW,GAAEt3e,EAAEgnf,GAAG1pf,EAAE9H,IAAKisE,IAAIlkE,EAAEkkE,IAAIzhE,EAAE2gJ,OAAOpjJ,EAASA,EAAEsJ,MAAM7G,GACnb,SAASisN,GAAGjsN,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAG,OAAO,OAAO0L,GAAG29Q,GAAG39Q,EAAE6nf,cAAcryf,IAAIwK,EAAEyhE,MAAMlkE,EAAEkkE,MAAMkjb,IAAG,EAAGvwf,EAAEE,IAAIiJ,EAAEmnf,eAAe1kf,EAAE0kf,eAAesG,GAAGhrf,EAAEzC,EAAEjJ,IAAI03N,GAAGhsN,EAAEzC,EAAEhI,EAAEC,EAAElB,GAAG,SAAS81N,GAAGpqN,EAAEzC,GAAG,IAAIhI,EAAEgI,EAAEkkE,KAAO,OAAOzhE,GAAG,OAAOzK,GAAG,OAAOyK,GAAGA,EAAEyhE,MAAMlsE,KAAEgI,EAAE+5e,WAAW,KAAI,SAAStrR,GAAGhsN,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,IAAIE,EAAE4uL,GAAE3tL,GAAG+rf,GAAGl4T,GAAE/9K,QAA4C,OAApC/W,EAAEitf,GAAGhkf,EAAEjJ,GAAGkwf,GAAGjnf,EAAEnJ,GAAGmB,EAAEioE,GAAGx9D,EAAEzC,EAAEhI,EAAEC,EAAElB,EAAEF,GAAM,OAAO4L,GAAI2kf,IAA4Gpnf,EAAE+5e,WAAW,EAAE/uT,GAAEvoL,EAAEzC,EAAEhI,EAAEnB,GAAUmJ,EAAEsJ,QAArItJ,EAAEwnf,YAAY/kf,EAAE+kf,YAAYxnf,EAAE+5e,YAAY,IAAIt3e,EAAE0kf,gBAAgBtwf,IAAI4L,EAAE0kf,eAAe,GAAGsG,GAAGhrf,EAAEzC,EAAEnJ,IAC3b,SAAS03N,GAAG9rN,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,GAAG8uL,GAAE3tL,GAAG,CAAC,IAAIjB,GAAE,EAAGstf,GAAGrkf,QAAQjJ,GAAE,EAAW,GAARkwf,GAAGjnf,EAAEnJ,GAAM,OAAOmJ,EAAEw4e,UAAU,OAAO/1e,IAAIA,EAAEq3e,UAAU,KAAK95e,EAAE85e,UAAU,KAAK95e,EAAE+5e,WAAW,GAAG+O,GAAG9of,EAAEhI,EAAEC,GAAG+wf,GAAGhpf,EAAEhI,EAAEC,EAAEpB,GAAGoB,GAAE,OAAQ,GAAG,OAAOwK,EAAE,CAAC,IAAI1C,EAAEC,EAAEw4e,UAAU1ud,EAAE9pB,EAAEsqf,cAAcvqf,EAAErN,MAAMo3B,EAAE,IAAIpS,EAAE3X,EAAEqrD,QAAQvzD,EAAEG,EAAE0mL,YAAY,kBAAkB7mL,GAAG,OAAOA,EAAEA,EAAEu/N,GAAGv/N,GAAwBA,EAAEmsf,GAAGhkf,EAAzBnI,EAAE8tL,GAAE3tL,GAAG+rf,GAAGl4T,GAAE/9K,SAAmB,IAAI/V,EAAEC,EAAEwkL,yBAAyBzjL,EAAE,oBAAoBhB,GAAG,oBAAoBgI,EAAEusa,wBAAwBvza,GAAG,oBAAoBgH,EAAE6sa,kCACtd,oBAAoB7sa,EAAEmsa,4BAA4BpiZ,IAAI7xB,GAAGyf,IAAI7f,IAAIkxf,GAAG/of,EAAED,EAAE9H,EAAEJ,GAAGyvf,IAAG,EAAG,IAAI3kf,EAAE3C,EAAEg6e,cAAcj6e,EAAE86D,MAAMl4D,EAAEqlf,GAAGhof,EAAE/H,EAAE8H,EAAElJ,GAAG6gB,EAAE1X,EAAEg6e,cAAclwd,IAAI7xB,GAAG0K,IAAI+U,GAAG80K,GAAE1+K,SAASw5e,IAAI,oBAAoBvvf,IAAIuwf,GAAGtof,EAAEhI,EAAED,EAAEE,GAAGyf,EAAE1X,EAAEg6e,gBAAgBlwd,EAAEw9d,IAAIsB,GAAG5of,EAAEhI,EAAE8xB,EAAE7xB,EAAE0K,EAAE+U,EAAE7f,KAAKkB,GAAG,oBAAoBgH,EAAE4sa,2BAA2B,oBAAoB5sa,EAAEksa,qBAAqB,oBAAoBlsa,EAAEksa,oBAAoBlsa,EAAEksa,qBAAqB,oBAAoBlsa,EAAE4sa,2BAA2B5sa,EAAE4sa,6BAA6B,oBACze5sa,EAAEg/I,oBAAoB/+I,EAAE+5e,WAAW,KAAK,oBAAoBh6e,EAAEg/I,oBAAoB/+I,EAAE+5e,WAAW,GAAG/5e,EAAEsqf,cAAcryf,EAAE+H,EAAEg6e,cAActie,GAAG3X,EAAErN,MAAMuF,EAAE8H,EAAE86D,MAAMnjD,EAAE3X,EAAEqrD,QAAQvzD,EAAEI,EAAE6xB,IAAI,oBAAoB/pB,EAAEg/I,oBAAoB/+I,EAAE+5e,WAAW,GAAG9hf,GAAE,QAAS8H,EAAEC,EAAEw4e,UAAUmP,GAAGllf,EAAEzC,GAAG8pB,EAAE9pB,EAAEsqf,cAAcvqf,EAAErN,MAAMsN,EAAE+G,OAAO/G,EAAEigH,YAAYn2F,EAAE48d,GAAG1mf,EAAE+G,KAAK+iB,GAAGpS,EAAE3X,EAAEqrD,QAAwB,kBAAhBvzD,EAAEG,EAAE0mL,cAAiC,OAAO7mL,EAAEA,EAAEu/N,GAAGv/N,GAAwBA,EAAEmsf,GAAGhkf,EAAzBnI,EAAE8tL,GAAE3tL,GAAG+rf,GAAGl4T,GAAE/9K,UAAiD/U,EAAE,oBAAhChB,EAAEC,EAAEwkL,2BAAmD,oBACjez8K,EAAEusa,0BAA0B,oBAAoBvsa,EAAE6sa,kCAAkC,oBAAoB7sa,EAAEmsa,4BAA4BpiZ,IAAI7xB,GAAGyf,IAAI7f,IAAIkxf,GAAG/of,EAAED,EAAE9H,EAAEJ,GAAGyvf,IAAG,EAAG5ve,EAAE1X,EAAEg6e,cAAcj6e,EAAE86D,MAAMnjD,EAAEswe,GAAGhof,EAAE/H,EAAE8H,EAAElJ,GAAG8L,EAAE3C,EAAEg6e,cAAclwd,IAAI7xB,GAAGyf,IAAI/U,GAAG6pL,GAAE1+K,SAASw5e,IAAI,oBAAoBvvf,IAAIuwf,GAAGtof,EAAEhI,EAAED,EAAEE,GAAG0K,EAAE3C,EAAEg6e,gBAAgBjif,EAAEuvf,IAAIsB,GAAG5of,EAAEhI,EAAE8xB,EAAE7xB,EAAEyf,EAAE/U,EAAE9K,KAAKkB,GAAG,oBAAoBgH,EAAE8sa,4BAA4B,oBAAoB9sa,EAAEosa,sBAAsB,oBAAoBpsa,EAAEosa,qBAAqBpsa,EAAEosa,oBAAoBl0a,EACzf0K,EAAE9K,GAAG,oBAAoBkI,EAAE8sa,4BAA4B9sa,EAAE8sa,2BAA2B50a,EAAE0K,EAAE9K,IAAI,oBAAoBkI,EAAE0/I,qBAAqBz/I,EAAE+5e,WAAW,GAAG,oBAAoBh6e,EAAEusa,0BAA0Btsa,EAAE+5e,WAAW,OAAO,oBAAoBh6e,EAAE0/I,oBAAoB31H,IAAIrnB,EAAE6nf,eAAe5ye,IAAIjV,EAAEu3e,gBAAgBh6e,EAAE+5e,WAAW,GAAG,oBAAoBh6e,EAAEusa,yBAAyBxiZ,IAAIrnB,EAAE6nf,eAAe5ye,IAAIjV,EAAEu3e,gBAAgBh6e,EAAE+5e,WAAW,KAAK/5e,EAAEsqf,cAAcryf,EAAE+H,EAAEg6e,cAAcr3e,GAAG5C,EAAErN,MAAMuF,EAAE8H,EAAE86D,MAAMl4D,EAAE5C,EAAEqrD,QAAQvzD,EAAEI,EAAEF,IAClf,oBAAoBgI,EAAE0/I,oBAAoB31H,IAAIrnB,EAAE6nf,eAAe5ye,IAAIjV,EAAEu3e,gBAAgBh6e,EAAE+5e,WAAW,GAAG,oBAAoBh6e,EAAEusa,yBAAyBxiZ,IAAIrnB,EAAE6nf,eAAe5ye,IAAIjV,EAAEu3e,gBAAgBh6e,EAAE+5e,WAAW,KAAK9hf,GAAE,GAAI,OAAOiuN,GAAGzjN,EAAEzC,EAAEhI,EAAEC,EAAElB,EAAEF,GAC5O,SAASqvN,GAAGzjN,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAG81N,GAAGpqN,EAAEzC,GAAG,IAAID,EAAE,KAAiB,GAAZC,EAAE+5e,WAAc,IAAI9hf,IAAI8H,EAAE,OAAOlJ,GAAG0tf,GAAGvkf,EAAEhI,GAAE,GAAIy1f,GAAGhrf,EAAEzC,EAAEjJ,GAAGkB,EAAE+H,EAAEw4e,UAAU+U,GAAGz/e,QAAQ9N,EAAE,IAAI8pB,EAAE/pB,GAAG,oBAAoB/H,EAAEk6d,yBAAyB,KAAKj6d,EAAE2Q,SAA2I,OAAlI5I,EAAE+5e,WAAW,EAAE,OAAOt3e,GAAG1C,GAAGC,EAAEsJ,MAAMwgf,GAAG9pf,EAAEyC,EAAE6G,MAAM,KAAKvS,GAAGiJ,EAAEsJ,MAAMwgf,GAAG9pf,EAAE,KAAK8pB,EAAE/yB,IAAIi0L,GAAEvoL,EAAEzC,EAAE8pB,EAAE/yB,GAAGiJ,EAAEg6e,cAAc/hf,EAAE4iE,MAAMhkE,GAAG0tf,GAAGvkf,EAAEhI,GAAE,GAAWgI,EAAEsJ,MAAM,SAASyjN,GAAGtqN,GAAG,IAAIzC,EAAEyC,EAAE+1e,UAAUx4e,EAAE0tf,eAAetJ,GAAG3hf,EAAEzC,EAAE0tf,eAAe1tf,EAAE0tf,iBAAiB1tf,EAAEorD,SAASprD,EAAEorD,SAASg5b,GAAG3hf,EAAEzC,EAAEorD,SAAQ,GAAIxwD,GAAG6H,EAAEzC,EAAE06e,eACpe,IAOoX9tR,GAAM9zH,GAAGyqH,GAPzX/wK,GAAG,CAACync,WAAW,KAAK0T,UAAU,GAClC,SAAS5qS,GAAGtgN,EAAEzC,EAAEhI,GAAG,IAA+C8xB,EAA3C7xB,EAAE+H,EAAExH,KAAK3B,EAAEmJ,EAAEktf,aAAan2f,EAAEi0B,GAAEld,QAAQ/N,GAAE,EAAqN,IAA/M+pB,EAAE,KAAiB,GAAZ9pB,EAAE+5e,cAAiBjwd,EAAE,KAAO,EAAF/yB,KAAO,OAAO0L,GAAG,OAAOA,EAAEu3e,gBAAgBlwd,GAAG/pB,GAAE,EAAGC,EAAE+5e,YAAY,IAAI,OAAOt3e,GAAG,OAAOA,EAAEu3e,oBAAe,IAASnjf,EAAE+hX,WAAU,IAAK/hX,EAAE+2f,6BAA6B72f,GAAG,GAAG+uL,GAAE96J,GAAI,EAAFj0B,GAAQ,OAAO0L,EAAE,CAA4B,QAA3B,IAAS5L,EAAE+hX,UAAUu0I,GAAGntf,GAAMD,EAAE,CAA6C,GAA5CA,EAAElJ,EAAE+hX,UAAS/hX,EAAEgzf,GAAG,KAAK5xf,EAAE,EAAE,OAAQmrJ,OAAOpjJ,EAAK,KAAY,EAAPA,EAAExH,MAAQ,IAAIiK,EAAE,OAAOzC,EAAEg6e,cAAch6e,EAAEsJ,MAAMA,MAAMtJ,EAAEsJ,MAAMzS,EAAEyS,MAAM7G,EAAE,OAAOA,GAAGA,EAAE2gJ,OAAOvsJ,EAAE4L,EAAEA,EAAE25Y,QAC3a,OADmbpkZ,EAAE6xf,GAAG9pf,EAAE9H,EAAED,EAAE,OAAQorJ,OACjfpjJ,EAAEnJ,EAAEulZ,QAAQpkZ,EAAEgI,EAAEg6e,cAAcxnc,GAAGxyC,EAAEsJ,MAAMzS,EAASmB,EAAoC,OAAlCC,EAAEpB,EAAEyR,SAAStI,EAAEg6e,cAAc,KAAYh6e,EAAEsJ,MAAMygf,GAAG/pf,EAAE,KAAK/H,EAAED,GAAG,GAAG,OAAOyK,EAAEu3e,cAAc,CAAuB,GAAZ/hf,GAAVwK,EAAEA,EAAE6G,OAAU8yY,QAAWr8Y,EAAE,CAAgD,GAA/ClJ,EAAEA,EAAE+hX,UAAS5gX,EAAEyxf,GAAGhnf,EAAEA,EAAEyqf,eAAgB9pW,OAAOpjJ,EAAK,KAAY,EAAPA,EAAExH,QAAUuH,EAAE,OAAOC,EAAEg6e,cAAch6e,EAAEsJ,MAAMA,MAAMtJ,EAAEsJ,SAAU7G,EAAE6G,MAAO,IAAItR,EAAEsR,MAAMvJ,EAAE,OAAOA,GAAGA,EAAEqjJ,OAAOprJ,EAAE+H,EAAEA,EAAEq8Y,QAA8F,OAAtFnkZ,EAAEwxf,GAAGxxf,EAAEpB,IAAKusJ,OAAOpjJ,EAAEhI,EAAEokZ,QAAQnkZ,EAAED,EAAEgvf,oBAAoB,EAAEhnf,EAAEg6e,cAAcxnc,GAAGxyC,EAAEsJ,MAAMtR,EAASC,EAAoD,OAAlDD,EAAE8xf,GAAG9pf,EAAEyC,EAAE6G,MAAMzS,EAAEyR,SAAStQ,GAAGgI,EAAEg6e,cAAc,KAAYh6e,EAAEsJ,MACnftR,EAAY,GAAVyK,EAAEA,EAAE6G,MAASvJ,EAAE,CAA8E,GAA7EA,EAAElJ,EAAE+hX,UAAS/hX,EAAEgzf,GAAG,KAAK5xf,EAAE,EAAE,OAAQmrJ,OAAOpjJ,EAAEnJ,EAAEyS,MAAM7G,EAAE,OAAOA,IAAIA,EAAE2gJ,OAAOvsJ,GAAM,KAAY,EAAPmJ,EAAExH,MAAQ,IAAIiK,EAAE,OAAOzC,EAAEg6e,cAAch6e,EAAEsJ,MAAMA,MAAMtJ,EAAEsJ,MAAMzS,EAAEyS,MAAM7G,EAAE,OAAOA,GAAGA,EAAE2gJ,OAAOvsJ,EAAE4L,EAAEA,EAAE25Y,QAAoH,OAA5GpkZ,EAAE6xf,GAAG9pf,EAAE9H,EAAED,EAAE,OAAQorJ,OAAOpjJ,EAAEnJ,EAAEulZ,QAAQpkZ,EAAEA,EAAE+hf,WAAW,EAAEljf,EAAEmwf,oBAAoB,EAAEhnf,EAAEg6e,cAAcxnc,GAAGxyC,EAAEsJ,MAAMzS,EAASmB,EAAuB,OAArBgI,EAAEg6e,cAAc,KAAYh6e,EAAEsJ,MAAMwgf,GAAG9pf,EAAEyC,EAAE5L,EAAEyR,SAAStQ,GAC1X,SAASqrN,GAAG5gN,EAAEzC,GAAGyC,EAAE0kf,eAAennf,IAAIyC,EAAE0kf,eAAennf,GAAG,IAAIhI,EAAEyK,EAAEq3e,UAAU,OAAO9hf,GAAGA,EAAEmvf,eAAennf,IAAIhI,EAAEmvf,eAAennf,GAAGmyB,GAAG1vB,EAAE2gJ,OAAOpjJ,GAAG,SAASwuN,GAAG/rN,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAG,IAAIgJ,EAAE0C,EAAEu3e,cAAc,OAAOj6e,EAAE0C,EAAEu3e,cAAc,CAAC6T,YAAY7tf,EAAE8tf,UAAU,KAAKC,mBAAmB,EAAE9uc,KAAKhnD,EAAEqsU,KAAKtsU,EAAEg2f,eAAe,EAAEC,SAASp3f,EAAEyyf,WAAWvyf,IAAIgJ,EAAE8tf,YAAY7tf,EAAED,EAAE+tf,UAAU,KAAK/tf,EAAEguf,mBAAmB,EAAEhuf,EAAEk/C,KAAKhnD,EAAE8H,EAAEukU,KAAKtsU,EAAE+H,EAAEiuf,eAAe,EAAEjuf,EAAEkuf,SAASp3f,EAAEkJ,EAAEupf,WAAWvyf,GACzb,SAAS0iB,GAAGhX,EAAEzC,EAAEhI,GAAG,IAAIC,EAAE+H,EAAEktf,aAAar2f,EAAEoB,EAAEsyf,YAAYxzf,EAAEkB,EAAEqsU,KAAqC,GAAhCt5I,GAAEvoL,EAAEzC,EAAE/H,EAAEqQ,SAAStQ,GAAkB,KAAO,GAAtBC,EAAE+yB,GAAEld,UAAqB7V,EAAI,EAAFA,EAAI,EAAE+H,EAAE+5e,WAAW,OAAO,CAAC,GAAG,OAAOt3e,GAAG,KAAiB,GAAZA,EAAEs3e,WAAct3e,EAAE,IAAIA,EAAEzC,EAAEsJ,MAAM,OAAO7G,GAAG,CAAC,GAAG,KAAKA,EAAEs9H,IAAI,OAAOt9H,EAAEu3e,eAAe32R,GAAG5gN,EAAEzK,QAAQ,GAAG,KAAKyK,EAAEs9H,IAAIsjF,GAAG5gN,EAAEzK,QAAQ,GAAG,OAAOyK,EAAE6G,MAAM,CAAC7G,EAAE6G,MAAM85I,OAAO3gJ,EAAEA,EAAEA,EAAE6G,MAAM,SAAS,GAAG7G,IAAIzC,EAAE,MAAMyC,EAAE,KAAK,OAAOA,EAAE25Y,SAAS,CAAC,GAAG,OAAO35Y,EAAE2gJ,QAAQ3gJ,EAAE2gJ,SAASpjJ,EAAE,MAAMyC,EAAEA,EAAEA,EAAE2gJ,OAAO3gJ,EAAE25Y,QAAQh5P,OAAO3gJ,EAAE2gJ,OAAO3gJ,EAAEA,EAAE25Y,QAAQnkZ,GAAG,EAAS,GAAP6tL,GAAE96J,GAAE/yB,GAAM,KAAY,EAAP+H,EAAExH,MAAQwH,EAAEg6e,cAChf,UAAU,OAAOnjf,GAAG,IAAK,WAAqB,IAAVmB,EAAEgI,EAAEsJ,MAAUzS,EAAE,KAAK,OAAOmB,GAAiB,QAAdyK,EAAEzK,EAAE8hf,YAAoB,OAAOuQ,GAAG5nf,KAAK5L,EAAEmB,GAAGA,EAAEA,EAAEokZ,QAAY,QAAJpkZ,EAAEnB,IAAYA,EAAEmJ,EAAEsJ,MAAMtJ,EAAEsJ,MAAM,OAAOzS,EAAEmB,EAAEokZ,QAAQpkZ,EAAEokZ,QAAQ,MAAM5tL,GAAGxuN,GAAE,EAAGnJ,EAAEmB,EAAEjB,EAAEiJ,EAAEspf,YAAY,MAAM,IAAK,YAA6B,IAAjBtxf,EAAE,KAAKnB,EAAEmJ,EAAEsJ,MAAUtJ,EAAEsJ,MAAM,KAAK,OAAOzS,GAAG,CAAe,GAAG,QAAjB4L,EAAE5L,EAAEijf,YAAuB,OAAOuQ,GAAG5nf,GAAG,CAACzC,EAAEsJ,MAAMzS,EAAE,MAAM4L,EAAE5L,EAAEulZ,QAAQvlZ,EAAEulZ,QAAQpkZ,EAAEA,EAAEnB,EAAEA,EAAE4L,EAAE+rN,GAAGxuN,GAAE,EAAGhI,EAAE,KAAKjB,EAAEiJ,EAAEspf,YAAY,MAAM,IAAK,WAAW96R,GAAGxuN,GAAE,EAAG,KAAK,UAAK,EAAOA,EAAEspf,YAAY,MAAM,QAAQtpf,EAAEg6e,cAAc,KAAK,OAAOh6e,EAAEsJ,MAC/f,SAASmkf,GAAGhrf,EAAEzC,EAAEhI,GAAG,OAAOyK,IAAIzC,EAAEu4e,aAAa91e,EAAE81e,cAAc,IAAItgf,EAAE+H,EAAEmnf,eAA4B,GAAb,IAAIlvf,GAAGiwf,GAAGjwf,GAAM+H,EAAEgnf,oBAAoBhvf,EAAE,OAAO,KAAK,GAAG,OAAOyK,GAAGzC,EAAEsJ,QAAQ7G,EAAE6G,MAAM,MAAM0rB,MAAMllB,EAAE,MAAM,GAAG,OAAO9P,EAAEsJ,MAAM,CAA4C,IAAjCtR,EAAEyxf,GAAZhnf,EAAEzC,EAAEsJ,MAAa7G,EAAEyqf,cAAcltf,EAAEsJ,MAAMtR,EAAMA,EAAEorJ,OAAOpjJ,EAAE,OAAOyC,EAAE25Y,SAAS35Y,EAAEA,EAAE25Y,SAAQpkZ,EAAEA,EAAEokZ,QAAQqtG,GAAGhnf,EAAEA,EAAEyqf,eAAgB9pW,OAAOpjJ,EAAEhI,EAAEokZ,QAAQ,KAAK,OAAOp8Y,EAAEsJ,MAK5T,SAASwjN,GAAGrqN,EAAEzC,GAAG,OAAOyC,EAAEwrf,UAAU,IAAK,SAASjuf,EAAEyC,EAAE6hU,KAAK,IAAI,IAAItsU,EAAE,KAAK,OAAOgI,GAAG,OAAOA,EAAE85e,YAAY9hf,EAAEgI,GAAGA,EAAEA,EAAEo8Y,QAAQ,OAAOpkZ,EAAEyK,EAAE6hU,KAAK,KAAKtsU,EAAEokZ,QAAQ,KAAK,MAAM,IAAK,YAAYpkZ,EAAEyK,EAAE6hU,KAAK,IAAI,IAAIrsU,EAAE,KAAK,OAAOD,GAAG,OAAOA,EAAE8hf,YAAY7hf,EAAED,GAAGA,EAAEA,EAAEokZ,QAAQ,OAAOnkZ,EAAE+H,GAAG,OAAOyC,EAAE6hU,KAAK7hU,EAAE6hU,KAAK,KAAK7hU,EAAE6hU,KAAK83E,QAAQ,KAAKnkZ,EAAEmkZ,QAAQ,MAC/W,SAAS9tQ,GAAG7rI,EAAEzC,EAAEhI,GAAG,IAAIC,EAAE+H,EAAEktf,aAAa,OAAOltf,EAAE+/H,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,KAAK,KAAK,EAAE,OAAO4lD,GAAE3lL,EAAE+G,OAAOo9e,KAAK,KAAK,KAAK,EAAE,OAAO+F,KAAK9+T,GAAEoB,IAAGpB,GAAES,KAAG7zL,EAAEgI,EAAEw4e,WAAYkV,iBAAiB11f,EAAEozD,QAAQpzD,EAAE01f,eAAe11f,EAAE01f,eAAe,MAAM,OAAOjrf,GAAG,OAAOA,EAAE6G,QAAQ+jf,GAAGrtf,KAAKA,EAAE+5e,WAAW,GAAS,KAAK,KAAK,EAAEqQ,GAAGpqf,GAAGhI,EAAEgkC,GAAG2hC,GAAG7vD,SAAS,IAAIjX,EAAEmJ,EAAE+G,KAAK,GAAG,OAAOtE,GAAG,MAAMzC,EAAEw4e,UAAU1/Y,GAAGr2F,EAAEzC,EAAEnJ,EAAEoB,EAAED,GAAGyK,EAAEyhE,MAAMlkE,EAAEkkE,MAAMlkE,EAAE+5e,WAAW,SAAS,CAAC,IAAI9hf,EAAE,CAAC,GAAG,OAAO+H,EAAEw4e,UAAU,MAAMxjd,MAAMllB,EAAE,MACxgB,OAAO,KAAsB,GAAjBrN,EAAEu5B,GAAGiud,GAAGn8e,SAAYu/e,GAAGrtf,GAAG,CAAC/H,EAAE+H,EAAEw4e,UAAU3hf,EAAEmJ,EAAE+G,KAAK,IAAIhQ,EAAEiJ,EAAEsqf,cAA8B,OAAhBryf,EAAE6oN,IAAI9gN,EAAE/H,EAAE2qN,IAAI7rN,EAASF,GAAG,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQJ,GAAE,OAAOwB,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIwK,EAAE,EAAEA,EAAEgqN,GAAG75N,OAAO6P,IAAIhM,GAAEg2N,GAAGhqN,GAAGxK,GAAG,MAAM,IAAK,SAASxB,GAAE,QAAQwB,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOxB,GAAE,QAAQwB,GAAGxB,GAAE,OAAOwB,GAAG,MAAM,IAAK,OAAOxB,GAAE,QAAQwB,GAAGxB,GAAE,SAASwB,GAAG,MAAM,IAAK,UAAUxB,GAAE,SAASwB,GAAG,MAAM,IAAK,QAAQooN,GAAGpoN,EAAElB,GAAGN,GAAE,UAAUwB,GAAGokJ,GAAGrkJ,EAAE,YAAY,MAAM,IAAK,SAASC,EAAEmhf,cAC3e,CAAC8U,cAAcn3f,EAAEknb,UAAUxnb,GAAE,UAAUwB,GAAGokJ,GAAGrkJ,EAAE,YAAY,MAAM,IAAK,WAAW2qN,GAAG1qN,EAAElB,GAAGN,GAAE,UAAUwB,GAAGokJ,GAAGrkJ,EAAE,YAA2B,IAAI,IAAI+H,KAAvBkoN,GAAGpxN,EAAEE,GAAG0L,EAAE,KAAkB1L,EAAE,GAAGA,EAAE+B,eAAeiH,GAAG,CAAC,IAAI+pB,EAAE/yB,EAAEgJ,GAAG,aAAaA,EAAE,kBAAkB+pB,EAAE7xB,EAAE+R,cAAc8f,IAAIrnB,EAAE,CAAC,WAAWqnB,IAAI,kBAAkBA,GAAG7xB,EAAE+R,cAAc,GAAG8f,IAAIrnB,EAAE,CAAC,WAAW,GAAGqnB,IAAI86L,EAAG9rN,eAAeiH,IAAI,MAAM+pB,GAAGuyH,GAAGrkJ,EAAE+H,GAAG,OAAOlJ,GAAG,IAAK,QAAQovN,GAAGhuN,GAAGwwN,GAAGxwN,EAAElB,GAAE,GAAI,MAAM,IAAK,WAAWkvN,GAAGhuN,GAAGuvN,GAAGvvN,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBlB,EAAEm6C,UAC1fj5C,EAAEqe,QAAQwjI,IAAI9hJ,EAAEyK,EAAEzC,EAAEwnf,YAAYxvf,EAAE,OAAOA,IAAIgI,EAAE+5e,WAAW,OAAO,CAAuY,OAAtYh6e,EAAE,IAAI/H,EAAE2R,SAAS3R,EAAEA,EAAEgoC,cAAcv9B,IAAI64I,KAAK74I,EAAE4mN,GAAGxyN,IAAI4L,IAAI64I,GAAG,WAAWzkJ,IAAG4L,EAAE1C,EAAE2Q,cAAc,QAASuM,UAAU,qBAAuBxa,EAAEA,EAAE4X,YAAY5X,EAAE2yB,aAAa,kBAAkBn9B,EAAEmC,GAAGqI,EAAE1C,EAAE2Q,cAAc7Z,EAAE,CAACuD,GAAGnC,EAAEmC,MAAMqI,EAAE1C,EAAE2Q,cAAc7Z,GAAG,WAAWA,IAAIkJ,EAAE0C,EAAExK,EAAEgmb,SAASl+a,EAAEk+a,UAAS,EAAGhmb,EAAE+iE,OAAOj7D,EAAEi7D,KAAK/iE,EAAE+iE,QAAQv4D,EAAE1C,EAAE86B,gBAAgBp4B,EAAE5L,GAAG4L,EAAEq+M,IAAI9gN,EAAEyC,EAAEmgN,IAAI3qN,EAAE20N,GAAGnqN,EAAEzC,GAASA,EAAEw4e,UAAU/1e,EAAE1C,EAAEy+M,GAAG3nN,EAAEoB,GAAUpB,GAAG,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQJ,GAAE,OAC9fgM,GAAGqnB,EAAE7xB,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAI6xB,EAAE,EAAEA,EAAE2iM,GAAG75N,OAAOk3B,IAAIrzB,GAAEg2N,GAAG3iM,GAAGrnB,GAAGqnB,EAAE7xB,EAAE,MAAM,IAAK,SAASxB,GAAE,QAAQgM,GAAGqnB,EAAE7xB,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOxB,GAAE,QAAQgM,GAAGhM,GAAE,OAAOgM,GAAGqnB,EAAE7xB,EAAE,MAAM,IAAK,OAAOxB,GAAE,QAAQgM,GAAGhM,GAAE,SAASgM,GAAGqnB,EAAE7xB,EAAE,MAAM,IAAK,UAAUxB,GAAE,SAASgM,GAAGqnB,EAAE7xB,EAAE,MAAM,IAAK,QAAQooN,GAAG59M,EAAExK,GAAG6xB,EAAEqgM,GAAG1nN,EAAExK,GAAGxB,GAAE,UAAUgM,GAAG45I,GAAGrkJ,EAAE,YAAY,MAAM,IAAK,SAAS8xB,EAAEmiM,GAAGxpN,EAAExK,GAAG,MAAM,IAAK,SAASwK,EAAE22e,cAAc,CAAC8U,cAAcj2f,EAAEgmb,UAAUn0Z,EAAEnzB,EAAE,GAAGsB,EAAE,CAACzC,WAAM,IAASiB,GAAE,UAAUgM,GAAG45I,GAAGrkJ,EAAE,YAAY,MAAM,IAAK,WAAW2qN,GAAGlgN,EACtgBxK,GAAG6xB,EAAE44L,GAAGjgN,EAAExK,GAAGxB,GAAE,UAAUgM,GAAG45I,GAAGrkJ,EAAE,YAAY,MAAM,QAAQ8xB,EAAE7xB,EAAEgwN,GAAGpxN,EAAEizB,GAAG,IAAIpS,EAAEoS,EAAE,IAAI/yB,KAAK2gB,EAAE,GAAGA,EAAE5e,eAAe/B,GAAG,CAAC,IAAIc,EAAE6f,EAAE3gB,GAAG,UAAUA,EAAE6sN,GAAGnhN,EAAE5K,GAAG,4BAA4Bd,EAAuB,OAApBc,EAAEA,EAAEA,EAAEq6H,YAAO,IAAgBmsF,GAAG57M,EAAE5K,GAAI,aAAad,EAAE,kBAAkBc,GAAG,aAAahB,GAAG,KAAKgB,IAAIkvN,GAAGtkN,EAAE5K,GAAG,kBAAkBA,GAAGkvN,GAAGtkN,EAAE,GAAG5K,GAAG,mCAAmCd,GAAG,6BAA6BA,GAAG,cAAcA,IAAI6tN,EAAG9rN,eAAe/B,GAAG,MAAMc,GAAGwkJ,GAAGrkJ,EAAEjB,GAAG,MAAMc,GAAGwnN,EAAG58M,EAAE1L,EAAEc,EAAEkI,IAAI,OAAOlJ,GAAG,IAAK,QAAQovN,GAAGxjN,GAAGgmN,GAAGhmN,EAAExK,GAAE,GACnf,MAAM,IAAK,WAAWguN,GAAGxjN,GAAG+kN,GAAG/kN,GAAG,MAAM,IAAK,SAAS,MAAMxK,EAAEzC,OAAOiN,EAAEimB,aAAa,QAAQ,GAAGsiM,GAAG/yN,EAAEzC,QAAQ,MAAM,IAAK,SAASiN,EAAEw7a,WAAWhmb,EAAEgmb,SAAmB,OAAVjmb,EAAEC,EAAEzC,OAAc00N,GAAGznN,IAAIxK,EAAEgmb,SAASjmb,GAAE,GAAI,MAAMC,EAAEolH,cAAc6sG,GAAGznN,IAAIxK,EAAEgmb,SAAShmb,EAAEolH,cAAa,GAAI,MAAM,QAAQ,oBAAoBvzF,EAAEonB,UAAUzuC,EAAE6T,QAAQwjI,IAAIsmE,GAAGvpN,EAAEoB,KAAK+H,EAAE+5e,WAAW,GAAG,OAAO/5e,EAAEkkE,MAAMlkE,EAAE+5e,WAAW,KAAK,OAAO,KAAK,KAAK,EAAE,GAAGt3e,GAAG,MAAMzC,EAAEw4e,UAAUj1R,GAAG9gN,EAAEzC,EAAEyC,EAAE6nf,cAAcryf,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAO+H,EAAEw4e,UAAU,MAAMxjd,MAAMllB,EAAE,MACvf9X,EAAEgkC,GAAG2hC,GAAG7vD,SAASkuB,GAAGiud,GAAGn8e,SAASu/e,GAAGrtf,IAAIhI,EAAEgI,EAAEw4e,UAAUvgf,EAAE+H,EAAEsqf,cAActyf,EAAE8oN,IAAI9gN,EAAEhI,EAAEojC,YAAYnjC,IAAI+H,EAAE+5e,WAAW,MAAK/hf,GAAG,IAAIA,EAAE2R,SAAS3R,EAAEA,EAAEgoC,eAAejX,eAAe9wB,IAAK6oN,IAAI9gN,EAAEA,EAAEw4e,UAAUxgf,GAAG,OAAO,KAAK,KAAK,GAA0B,OAAvBozL,GAAEpgK,IAAG/yB,EAAE+H,EAAEg6e,cAAiB,KAAiB,GAAZh6e,EAAE+5e,YAAqB/5e,EAAEmnf,eAAenvf,EAAEgI,IAAEhI,EAAE,OAAOC,EAAEA,GAAE,EAAG,OAAOwK,OAAE,IAASzC,EAAEsqf,cAAc1xI,UAAUy0I,GAAGrtf,IAAsB/H,EAAE,QAApBpB,EAAE4L,EAAEu3e,eAAyBhif,GAAG,OAAOnB,GAAsB,QAAlBA,EAAE4L,EAAE6G,MAAM8yY,WAAmC,QAAhBrlZ,EAAEiJ,EAAEwpf,cAAsBxpf,EAAEwpf,YAAY3yf,EAAEA,EAAE0yf,WAAWxyf,IAAIiJ,EAAEwpf,YAAYxpf,EAAEspf,WACtfzyf,EAAEA,EAAE0yf,WAAW,MAAM1yf,EAAEkjf,UAAU,IAAQ/hf,IAAIC,GAAG,KAAY,EAAP+H,EAAExH,QAAW,OAAOiK,IAAG,IAAKzC,EAAEsqf,cAAcsD,4BAA4B,KAAe,EAAV5ie,GAAEld,SAAW2iB,KAAIs1L,KAAKt1L,GAAEsb,KAAYtb,KAAIs1L,IAAIt1L,KAAIsb,KAAGtb,GAAEgxL,IAAG,IAAIiO,IAAI,OAAOxkC,KAAIxvC,GAAGwvC,GAAE/tH,IAAG/rC,GAAG85J,GAAEwkC,QAAQ13N,GAAGC,KAAE+H,EAAE+5e,WAAW,GAAS,MAAK,KAAK,EAAE,OAAOmQ,KAAW,KAAK,KAAK,GAAG,OAAOnD,GAAG/mf,GAAG,KAAK,KAAK,GAAG,OAAO2lL,GAAE3lL,EAAE+G,OAAOo9e,KAAK,KAAK,KAAK,GAA0B,GAAvB/4T,GAAEpgK,IAAwB,QAArB/yB,EAAE+H,EAAEg6e,eAA0B,OAAO,KAA0C,GAArCnjf,EAAE,KAAiB,GAAZmJ,EAAE+5e,WAA+B,QAAjBhjf,EAAEkB,EAAE61f,YAAsB,GAAGj3f,EAAEi2N,GAAG70N,GAAE,QAAS,GAAGw4B,KAAIs1L,IAAI,OAAOtjN,GAAG,KAC9e,GADmfA,EAAEs3e,WACjf,IAAIhjf,EAAEiJ,EAAEsJ,MAAM,OAAOvS,GAAG,CAAS,GAAG,QAAX0L,EAAE4nf,GAAGtzf,IAAe,CAAyJ,IAAxJiJ,EAAE+5e,WAAW,GAAGjtR,GAAG70N,GAAE,GAAoB,QAAhBpB,EAAE4L,EAAE+kf,eAAuBxnf,EAAEwnf,YAAY3wf,EAAEmJ,EAAE+5e,WAAW,GAAG,OAAO9hf,EAAEqxf,aAAatpf,EAAEwpf,YAAY,MAAMxpf,EAAEspf,WAAWrxf,EAAEqxf,WAAerxf,EAAE+H,EAAEsJ,MAAM,OAAOrR,GAAOlB,EAAEiB,GAANnB,EAAEoB,GAAQ8hf,WAAW,EAAEljf,EAAE0yf,WAAW,KAAK1yf,EAAE2yf,YAAY,KAAK3yf,EAAEyyf,WAAW,KAAmB,QAAd7mf,EAAE5L,EAAEijf,YAAoBjjf,EAAEmwf,oBAAoB,EAAEnwf,EAAEswf,eAAepwf,EAAEF,EAAEyS,MAAM,KAAKzS,EAAEyzf,cAAc,KAAKzzf,EAAEmjf,cAAc,KAAKnjf,EAAE2wf,YAAY,KAAK3wf,EAAE0hf,aAAa,OAAO1hf,EAAEmwf,oBAAoBvkf,EAAEukf,oBAC3enwf,EAAEswf,eAAe1kf,EAAE0kf,eAAetwf,EAAEyS,MAAM7G,EAAE6G,MAAMzS,EAAEyzf,cAAc7nf,EAAE6nf,cAAczzf,EAAEmjf,cAAcv3e,EAAEu3e,cAAcnjf,EAAE2wf,YAAY/kf,EAAE+kf,YAAYzwf,EAAE0L,EAAE81e,aAAa1hf,EAAE0hf,aAAa,OAAOxhf,EAAE,KAAK,CAACowf,eAAepwf,EAAEowf,eAAeD,aAAanwf,EAAEmwf,aAAaG,WAAWtwf,EAAEswf,aAAapvf,EAAEA,EAAEmkZ,QAA2B,OAAnBt2N,GAAE96J,GAAY,EAAVA,GAAEld,QAAU,GAAU9N,EAAEsJ,MAAMvS,EAAEA,EAAEqlZ,aAAa,CAAC,IAAIvlZ,EAAE,GAAW,QAAR4L,EAAE4nf,GAAGtzf,KAAa,GAAGiJ,EAAE+5e,WAAW,GAAGljf,GAAE,EAAmB,QAAhBmB,EAAEyK,EAAE+kf,eAAuBxnf,EAAEwnf,YAAYxvf,EAAEgI,EAAE+5e,WAAW,GAAGjtR,GAAG70N,GAAE,GAAI,OAAOA,EAAEqsU,MAAM,WAAWrsU,EAAEg2f,WAAWl3f,EAAE+if,UAAU,OACne,QAD0e95e,EACpgBA,EAAEspf,WAAWrxf,EAAEqxf,cAAsBtpf,EAAEupf,WAAW,MAAM,UAAU,EAAErD,KAAKjuf,EAAE81f,mBAAmB91f,EAAE+1f,gBAAgB,EAAEh2f,IAAIgI,EAAE+5e,WAAW,GAAGljf,GAAE,EAAGi2N,GAAG70N,GAAE,GAAI+H,EAAEmnf,eAAennf,EAAEgnf,oBAAoBhvf,EAAE,GAAGC,EAAE41f,aAAa92f,EAAEqlZ,QAAQp8Y,EAAEsJ,MAAMtJ,EAAEsJ,MAAMvS,IAAa,QAATiB,EAAEC,EAAEgnD,MAAcjnD,EAAEokZ,QAAQrlZ,EAAEiJ,EAAEsJ,MAAMvS,EAAEkB,EAAEgnD,KAAKloD,GAAG,OAAO,OAAOkB,EAAEqsU,MAAM,IAAIrsU,EAAE+1f,iBAAiB/1f,EAAE+1f,eAAe9H,KAAK,KAAKluf,EAAEC,EAAEqsU,KAAKrsU,EAAE61f,UAAU91f,EAAEC,EAAEqsU,KAAKtsU,EAAEokZ,QAAQnkZ,EAAEqxf,WAAWtpf,EAAEspf,WAAWrxf,EAAE81f,mBAAmB7H,KAAKluf,EAAEokZ,QAAQ,KAAKp8Y,EAAEgrB,GAAEld,QAAQg4K,GAAE96J,GAAEn0B,EAAI,EAAFmJ,EAAI,EAAI,EAAFA,GAAKhI,GAAG,KAAK,MAAMg9B,MAAMllB,EAAE,IACrgB9P,EAAE+/H,MAAO,SAASkwF,GAAGxtN,GAAG,OAAOA,EAAEs9H,KAAK,KAAK,EAAE4lD,GAAEljL,EAAEsE,OAAOo9e,KAAK,IAAInkf,EAAEyC,EAAEs3e,UAAU,OAAS,KAAF/5e,GAAQyC,EAAEs3e,WAAa,KAAH/5e,EAAQ,GAAGyC,GAAG,KAAK,KAAK,EAA+B,GAA7Bynf,KAAK9+T,GAAEoB,IAAGpB,GAAES,IAAoB,KAAO,IAAxB7rL,EAAEyC,EAAEs3e,YAAwB,MAAM/kd,MAAMllB,EAAE,MAA6B,OAAvBrN,EAAEs3e,WAAa,KAAH/5e,EAAQ,GAAUyC,EAAE,KAAK,EAAE,OAAO2nf,GAAG3nf,GAAG,KAAK,KAAK,GAAG,OAAO2oL,GAAEpgK,IAAmB,MAAhBhrB,EAAEyC,EAAEs3e,YAAkBt3e,EAAEs3e,WAAa,KAAH/5e,EAAQ,GAAGyC,GAAG,KAAK,KAAK,GAAG,OAAO2oL,GAAEpgK,IAAG,KAAK,KAAK,EAAE,OAAOk/d,KAAK,KAAK,KAAK,GAAG,OAAOnD,GAAGtkf,GAAG,KAAK,QAAQ,OAAO,MAAM,SAASotN,GAAGptN,EAAEzC,GAAG,MAAM,CAACxK,MAAMiN,EAAE2b,OAAOpe,EAAE4yB,MAAM0rL,GAAGt+M,IAjBvd4sN,GAAG,SAASnqN,EAAEzC,GAAG,IAAI,IAAIhI,EAAEgI,EAAEsJ,MAAM,OAAOtR,GAAG,CAAC,GAAG,IAAIA,EAAE+nI,KAAK,IAAI/nI,EAAE+nI,IAAIt9H,EAAE2X,YAAYpiB,EAAEwgf,gBAAgB,GAAG,IAAIxgf,EAAE+nI,KAAK,OAAO/nI,EAAEsR,MAAM,CAACtR,EAAEsR,MAAM85I,OAAOprJ,EAAEA,EAAEA,EAAEsR,MAAM,SAAS,GAAGtR,IAAIgI,EAAE,MAAM,KAAK,OAAOhI,EAAEokZ,SAAS,CAAC,GAAG,OAAOpkZ,EAAEorJ,QAAQprJ,EAAEorJ,SAASpjJ,EAAE,OAAOhI,EAAEA,EAAEorJ,OAAOprJ,EAAEokZ,QAAQh5P,OAAOprJ,EAAEorJ,OAAOprJ,EAAEA,EAAEokZ,UAChStjT,GAAG,SAASr2F,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,IAAIE,EAAE0L,EAAE6nf,cAAc,GAAGvzf,IAAIkB,EAAE,CAAC,IAAsW6xB,EAAEpS,EAApW3X,EAAEC,EAAEw4e,UAAgC,OAAtBx8c,GAAGiud,GAAGn8e,SAASrL,EAAE,KAAYzK,GAAG,IAAK,QAAQjB,EAAEozN,GAAGpqN,EAAEhJ,GAAGkB,EAAEkyN,GAAGpqN,EAAE9H,GAAGwK,EAAE,GAAG,MAAM,IAAK,SAAS1L,EAAEk1N,GAAGlsN,EAAEhJ,GAAGkB,EAAEg0N,GAAGlsN,EAAE9H,GAAGwK,EAAE,GAAG,MAAM,IAAK,SAAS1L,EAAEJ,EAAE,GAAGI,EAAE,CAACvB,WAAM,IAASyC,EAAEtB,EAAE,GAAGsB,EAAE,CAACzC,WAAM,IAASiN,EAAE,GAAG,MAAM,IAAK,WAAW1L,EAAE2rN,GAAG3iN,EAAEhJ,GAAGkB,EAAEyqN,GAAG3iN,EAAE9H,GAAGwK,EAAE,GAAG,MAAM,QAAQ,oBAAoB1L,EAAEm6C,SAAS,oBAAoBj5C,EAAEi5C,UAAUnxC,EAAEuW,QAAQwjI,IAA2B,IAAIhwH,KAA3Bm+L,GAAGjwN,EAAEC,GAAWD,EAAE,KAAcjB,EAAE,IAAIkB,EAAEa,eAAegxB,IAAI/yB,EAAE+B,eAAegxB,IAAI,MAAM/yB,EAAE+yB,GAAG,GAAG,UAC/eA,EAAE,IAAIpS,KAAK3X,EAAEhJ,EAAE+yB,GAAK/pB,EAAEjH,eAAe4e,KAAK1f,IAAIA,EAAE,IAAIA,EAAE0f,GAAG,QAAQ,4BAA4BoS,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAI86L,EAAG9rN,eAAegxB,GAAGrnB,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAI7F,KAAKktB,EAAE,OAAO,IAAIA,KAAK7xB,EAAE,CAAC,IAAIJ,EAAEI,EAAE6xB,GAAyB,GAAtB/pB,EAAE,MAAMhJ,EAAEA,EAAE+yB,QAAG,EAAU7xB,EAAEa,eAAegxB,IAAIjyB,IAAIkI,IAAI,MAAMlI,GAAG,MAAMkI,GAAG,GAAG,UAAU+pB,EAAE,GAAG/pB,EAAE,CAAC,IAAI2X,KAAK3X,GAAGA,EAAEjH,eAAe4e,IAAI7f,GAAGA,EAAEiB,eAAe4e,KAAK1f,IAAIA,EAAE,IAAIA,EAAE0f,GAAG,IAAI,IAAIA,KAAK7f,EAAEA,EAAEiB,eAAe4e,IAAI3X,EAAE2X,KAAK7f,EAAE6f,KAAK1f,IAAIA,EAAE,IACpfA,EAAE0f,GAAG7f,EAAE6f,SAAS1f,IAAIyK,IAAIA,EAAE,IAAIA,EAAE7F,KAAKktB,EAAE9xB,IAAIA,EAAEH,MAAM,4BAA4BiyB,GAAGjyB,EAAEA,EAAEA,EAAEq6H,YAAO,EAAOnyH,EAAEA,EAAEA,EAAEmyH,YAAO,EAAO,MAAMr6H,GAAGkI,IAAIlI,IAAI4K,EAAEA,GAAG,IAAI7F,KAAKktB,EAAEjyB,IAAI,aAAaiyB,EAAE/pB,IAAIlI,GAAG,kBAAkBA,GAAG,kBAAkBA,IAAI4K,EAAEA,GAAG,IAAI7F,KAAKktB,EAAE,GAAGjyB,GAAG,mCAAmCiyB,GAAG,6BAA6BA,IAAI86L,EAAG9rN,eAAegxB,IAAI,MAAMjyB,GAAGwkJ,GAAGxlJ,EAAEizB,GAAGrnB,GAAG1C,IAAIlI,IAAI4K,EAAE,MAAMA,EAAEA,GAAG,IAAI7F,KAAKktB,EAAEjyB,IAAIG,IAAIyK,EAAEA,GAAG,IAAI7F,KAAK,QAAQ5E,GAAGnB,EAAE4L,GAAKzC,EAAEwnf,YAAY3wf,KAAEmJ,EAAE+5e,WAAW,KAC5cx2R,GAAG,SAAS9gN,EAAEzC,EAAEhI,EAAEC,GAAGD,IAAIC,IAAI+H,EAAE+5e,WAAW,IAc1C,IAAI72R,GAAG,oBAAoBirS,QAAQA,QAAQ95V,IAAI,SAASyuD,GAAGrgN,EAAEzC,GAAG,IAAIhI,EAAEgI,EAAEoe,OAAOnmB,EAAE+H,EAAE4yB,MAAM,OAAO36B,GAAG,OAAOD,IAAIC,EAAEqmN,GAAGtmN,IAAI,OAAOA,GAAGo6B,GAAGp6B,EAAE+O,MAAM/G,EAAEA,EAAExK,MAAM,OAAOiN,GAAG,IAAIA,EAAEs9H,KAAK3tG,GAAG3vB,EAAEsE,MAAM,IAAInL,QAAQqtB,MAAMjpB,GAAG,MAAMnJ,GAAG8zB,YAAW,WAAW,MAAM9zB,MAAsH,SAASi5N,GAAGrtN,GAAG,IAAIzC,EAAEyC,EAAEyhE,IAAI,GAAG,OAAOlkE,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,MAAM,MAAMhI,GAAGsrN,GAAG7gN,EAAEzK,QAAQgI,EAAE8N,QAAQ,KACld,SAASsgf,GAAG3rf,EAAEzC,GAAG,OAAOA,EAAE+/H,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,EAAE,GAAe,IAAZ//H,EAAE+5e,WAAe,OAAOt3e,EAAE,CAAC,IAAIzK,EAAEyK,EAAE6nf,cAAcryf,EAAEwK,EAAEu3e,cAA4Bh6e,GAAdyC,EAAEzC,EAAEw4e,WAAclsE,wBAAwBtsa,EAAEigH,cAAcjgH,EAAE+G,KAAK/O,EAAE0uf,GAAG1mf,EAAE+G,KAAK/O,GAAGC,GAAGwK,EAAE4rf,oCAAoCruf,EAAE,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,MAAMg1B,MAAMllB,EAAE,MAC7U,SAASm0P,GAAGxhQ,EAAEzC,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEA,EAAEwnf,aAAuBxnf,EAAEspf,WAAW,MAAiB,CAAC,IAAItxf,EAAEgI,EAAEA,EAAE3I,KAAK,EAAE,CAAC,IAAIW,EAAE+nI,IAAIt9H,KAAKA,EAAE,CAAC,IAAIxK,EAAED,EAAE65C,QAAQ75C,EAAE65C,aAAQ,OAAO,IAAS55C,GAAGA,IAAID,EAAEA,EAAEX,WAAWW,IAAIgI,IAAI,SAAS+vN,GAAGttN,EAAEzC,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEA,EAAEwnf,aAAuBxnf,EAAEspf,WAAW,MAAiB,CAAC,IAAItxf,EAAEgI,EAAEA,EAAE3I,KAAK,EAAE,CAAC,IAAIW,EAAE+nI,IAAIt9H,KAAKA,EAAE,CAAC,IAAIxK,EAAED,EAAE1C,OAAO0C,EAAE65C,QAAQ55C,IAAID,EAAEA,EAAEX,WAAWW,IAAIgI,IACtV,SAASsuf,GAAG7rf,EAAEzC,EAAEhI,GAAG,OAAOA,EAAE+nI,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAW,YAARgwF,GAAG,EAAE/3N,GAAU,KAAK,EAAgB,GAAdyK,EAAEzK,EAAEwgf,UAAyB,EAAZxgf,EAAE+hf,UAAY,GAAG,OAAO/5e,EAAEyC,EAAEs8I,wBAAwB,CAAC,IAAI9mJ,EAAED,EAAEioH,cAAcjoH,EAAE+O,KAAK/G,EAAEsqf,cAAc5D,GAAG1uf,EAAE+O,KAAK/G,EAAEsqf,eAAe7nf,EAAEg9I,mBAAmBxnJ,EAAE+H,EAAEg6e,cAAcv3e,EAAE4rf,qCAAyE,YAApB,QAAhBruf,EAAEhI,EAAEwvf,cAAsBW,GAAGnwf,EAAEgI,EAAEyC,IAAU,KAAK,EAAkB,GAAG,QAAnBzC,EAAEhI,EAAEwvf,aAAwB,CAAQ,GAAP/kf,EAAE,KAAQ,OAAOzK,EAAEsR,MAAM,OAAOtR,EAAEsR,MAAMy2H,KAAK,KAAK,EAAEt9H,EAAEzK,EAAEsR,MAAMkve,UAAU,MAAM,KAAK,EAAE/1e,EAAEzK,EAAEsR,MAAMkve,UAAU2P,GAAGnwf,EAAEgI,EAAEyC,GAAG,OACpf,KAAK,EAA+E,OAA7EA,EAAEzK,EAAEwgf,eAAU,OAAOx4e,GAAe,EAAZhI,EAAE+hf,WAAa35R,GAAGpoN,EAAE+O,KAAK/O,EAAEsyf,gBAAgB7nf,EAAEy5E,SAAe,KAAK,EAAS,KAAK,EAAS,KAAK,GAAG,OAAO,KAAK,GAAoH,YAAjH,OAAOlkF,EAAEgif,gBAAgBhif,EAAEA,EAAE8hf,UAAU,OAAO9hf,IAAIA,EAAEA,EAAEgif,cAAc,OAAOhif,IAAIA,EAAEA,EAAEiif,WAAW,OAAOjif,GAAGu0N,GAAGv0N,OAAa,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,MAAMg9B,MAAMllB,EAAE,MAC3T,SAASy+e,GAAG9rf,EAAEzC,EAAEhI,GAAiC,OAA9B,oBAAoB43N,IAAIA,GAAG5vN,GAAUA,EAAE+/H,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAmB,GAAG,QAAnBt9H,EAAEzC,EAAEwnf,cAAyC,QAAf/kf,EAAEA,EAAE6mf,YAAqB,CAAC,IAAIrxf,EAAEwK,EAAEpL,KAAK+uf,GAAG,GAAGpuf,EAAE,GAAGA,GAAE,WAAW,IAAIyK,EAAExK,EAAE,EAAE,CAAC,IAAID,EAAEyK,EAAEovC,QAAQ,QAAG,IAAS75C,EAAE,CAAC,IAAI+H,EAAEC,EAAE,IAAIhI,IAAI,MAAM8xB,GAAGw5L,GAAGvjN,EAAE+pB,IAAIrnB,EAAEA,EAAEpL,WAAWoL,IAAIxK,MAAK,MAAM,KAAK,EAAE63N,GAAG9vN,GAAiB,oBAAdhI,EAAEgI,EAAEw4e,WAAgCr5V,sBALxG,SAAY18I,EAAEzC,GAAG,IAAIA,EAAEtN,MAAM+P,EAAE6nf,cAActqf,EAAE66D,MAAMp4D,EAAEu3e,cAAch6e,EAAEm/I,uBAAuB,MAAMnnJ,GAAGsrN,GAAG7gN,EAAEzK,IAKkBg4N,CAAGhwN,EAAEhI,GAAG,MAAM,KAAK,EAAE83N,GAAG9vN,GAAG,MAAM,KAAK,EAAEijN,GAAGxgN,EAAEzC,EAAEhI,IACna,SAAS23N,GAAGltN,GAAG,IAAIzC,EAAEyC,EAAEq3e,UAAUr3e,EAAE2gJ,OAAO,KAAK3gJ,EAAE6G,MAAM,KAAK7G,EAAEu3e,cAAc,KAAKv3e,EAAE+kf,YAAY,KAAK/kf,EAAE81e,aAAa,KAAK91e,EAAEq3e,UAAU,KAAKr3e,EAAE+mf,YAAY,KAAK/mf,EAAE6mf,WAAW,KAAK7mf,EAAEyqf,aAAa,KAAKzqf,EAAE6nf,cAAc,KAAK7nf,EAAE+1e,UAAU,KAAK,OAAOx4e,GAAG2vN,GAAG3vN,GAAG,SAASmjN,GAAG1gN,GAAG,OAAO,IAAIA,EAAEs9H,KAAK,IAAIt9H,EAAEs9H,KAAK,IAAIt9H,EAAEs9H,IAC1S,SAASqjF,GAAG3gN,GAAGA,EAAE,CAAC,IAAI,IAAIzC,EAAEyC,EAAE2gJ,OAAO,OAAOpjJ,GAAG,CAAC,GAAGmjN,GAAGnjN,GAAG,CAAC,IAAIhI,EAAEgI,EAAE,MAAMyC,EAAEzC,EAAEA,EAAEojJ,OAAO,MAAMpuH,MAAMllB,EAAE,MAAqB,OAAd9P,EAAEhI,EAAEwgf,UAAiBxgf,EAAE+nI,KAAK,KAAK,EAAE,IAAI9nI,GAAE,EAAG,MAAM,KAAK,EAA+B,KAAK,EAAE+H,EAAEA,EAAE06e,cAAczif,GAAE,EAAG,MAAM,QAAQ,MAAM+8B,MAAMllB,EAAE,MAAmB,GAAZ9X,EAAE+hf,YAAehzR,GAAG/mN,EAAE,IAAIhI,EAAE+hf,YAAY,IAAIt3e,EAAEzC,EAAE,IAAIhI,EAAEyK,IAAI,CAAC,KAAK,OAAOzK,EAAEokZ,SAAS,CAAC,GAAG,OAAOpkZ,EAAEorJ,QAAQ+/D,GAAGnrN,EAAEorJ,QAAQ,CAACprJ,EAAE,KAAK,MAAMyK,EAAEzK,EAAEA,EAAEorJ,OAAiC,IAA1BprJ,EAAEokZ,QAAQh5P,OAAOprJ,EAAEorJ,OAAWprJ,EAAEA,EAAEokZ,QAAQ,IAAIpkZ,EAAE+nI,KAAK,IAAI/nI,EAAE+nI,KAAK,KAAK/nI,EAAE+nI,KAAK,CAAC,GAAe,EAAZ/nI,EAAE+hf,UAAY,SAAS/5e,EACvf,GAAG,OAAOhI,EAAEsR,OAAO,IAAItR,EAAE+nI,IAAI,SAAS//H,EAAOhI,EAAEsR,MAAM85I,OAAOprJ,EAAEA,EAAEA,EAAEsR,MAAM,KAAiB,EAAZtR,EAAE+hf,WAAa,CAAC/hf,EAAEA,EAAEwgf,UAAU,MAAM/1e,GAAGxK,EACpH,SAASu2f,EAAG/rf,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEwK,EAAEs9H,IAAIlpI,EAAE,IAAIoB,GAAG,IAAIA,EAAE,GAAGpB,EAAE4L,EAAE5L,EAAE4L,EAAE+1e,UAAU/1e,EAAE+1e,UAAUnmf,SAAS2N,EAAE,IAAIhI,EAAE2R,SAAS3R,EAAEyjB,WAAWsB,aAAata,EAAEzC,GAAGhI,EAAE+kB,aAAata,EAAEzC,IAAI,IAAIhI,EAAE2R,UAAU3J,EAAEhI,EAAEyjB,YAAasB,aAAata,EAAEzK,IAAKgI,EAAEhI,GAAIoiB,YAAY3X,GAA4B,QAAxBzK,EAAEA,EAAEy2f,2BAA8B,IAASz2f,GAAG,OAAOgI,EAAEsW,UAAUtW,EAAEsW,QAAQwjI,UAAU,GAAG,IAAI7hJ,GAAc,QAAVwK,EAAEA,EAAE6G,OAAgB,IAAIklf,EAAG/rf,EAAEzC,EAAEhI,GAAGyK,EAAEA,EAAE25Y,QAAQ,OAAO35Y,GAAG+rf,EAAG/rf,EAAEzC,EAAEhI,GAAGyK,EAAEA,EAAE25Y,QADxRoyG,CAAG/rf,EAAEzK,EAAEgI,GAE7H,SAASitN,EAAGxqN,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEwK,EAAEs9H,IAAIlpI,EAAE,IAAIoB,GAAG,IAAIA,EAAE,GAAGpB,EAAE4L,EAAE5L,EAAE4L,EAAE+1e,UAAU/1e,EAAE+1e,UAAUnmf,SAAS2N,EAAEhI,EAAE+kB,aAAata,EAAEzC,GAAGhI,EAAEoiB,YAAY3X,QAAQ,GAAG,IAAIxK,GAAc,QAAVwK,EAAEA,EAAE6G,OAAgB,IAAI2jN,EAAGxqN,EAAEzC,EAAEhI,GAAGyK,EAAEA,EAAE25Y,QAAQ,OAAO35Y,GAAGwqN,EAAGxqN,EAAEzC,EAAEhI,GAAGyK,EAAEA,EAAE25Y,QAFrFnvL,CAAGxqN,EAAEzK,EAAEgI,GAGvI,SAASijN,GAAGxgN,EAAEzC,EAAEhI,GAAG,IAAI,IAAajB,EAAEgJ,EAAX9H,EAAE+H,EAAEnJ,GAAE,IAAS,CAAC,IAAIA,EAAE,CAACA,EAAEoB,EAAEmrJ,OAAO3gJ,EAAE,OAAO,CAAC,GAAG,OAAO5L,EAAE,MAAMm+B,MAAMllB,EAAE,MAAoB,OAAd/Y,EAAEF,EAAE2hf,UAAiB3hf,EAAEkpI,KAAK,KAAK,EAAEhgI,GAAE,EAAG,MAAM0C,EAAE,KAAK,EAAiC,KAAK,EAAE1L,EAAEA,EAAE2jf,cAAc36e,GAAE,EAAG,MAAM0C,EAAE5L,EAAEA,EAAEusJ,OAAOvsJ,GAAE,EAAG,GAAG,IAAIoB,EAAE8nI,KAAK,IAAI9nI,EAAE8nI,IAAI,CAACt9H,EAAE,IAAI,IAAIqnB,EAAErnB,EAAEiV,EAAEzf,EAAEJ,EAAEG,EAAED,EAAE2f,IAAI,GAAG62e,GAAGzke,EAAE/xB,EAAEF,GAAG,OAAOE,EAAEuR,OAAO,IAAIvR,EAAEgoI,IAAIhoI,EAAEuR,MAAM85I,OAAOrrJ,EAAEA,EAAEA,EAAEuR,UAAU,CAAC,GAAGvR,IAAI2f,EAAE,MAAMjV,EAAE,KAAK,OAAO1K,EAAEqkZ,SAAS,CAAC,GAAG,OAAOrkZ,EAAEqrJ,QAAQrrJ,EAAEqrJ,SAAS1rI,EAAE,MAAMjV,EAAE1K,EAAEA,EAAEqrJ,OAAOrrJ,EAAEqkZ,QAAQh5P,OAAOrrJ,EAAEqrJ,OAAOrrJ,EAAEA,EAAEqkZ,QAAQr8Y,GAAG+pB,EACrf/yB,EAAE2gB,EAAEzf,EAAEugf,UAAU,IAAI1ud,EAAEngB,SAASmgB,EAAErO,WAAWpB,YAAY3C,GAAGoS,EAAEzP,YAAY3C,IAAI3gB,EAAEsjB,YAAYpiB,EAAEugf,gBAAgB,GAAG,IAAIvgf,EAAE8nI,KAAK,GAAG,OAAO9nI,EAAEqR,MAAM,CAACvS,EAAEkB,EAAEugf,UAAUkC,cAAc36e,GAAE,EAAG9H,EAAEqR,MAAM85I,OAAOnrJ,EAAEA,EAAEA,EAAEqR,MAAM,eAAe,GAAGilf,GAAG9rf,EAAExK,EAAED,GAAG,OAAOC,EAAEqR,MAAM,CAACrR,EAAEqR,MAAM85I,OAAOnrJ,EAAEA,EAAEA,EAAEqR,MAAM,SAAS,GAAGrR,IAAI+H,EAAE,MAAM,KAAK,OAAO/H,EAAEmkZ,SAAS,CAAC,GAAG,OAAOnkZ,EAAEmrJ,QAAQnrJ,EAAEmrJ,SAASpjJ,EAAE,OAAkB,KAAX/H,EAAEA,EAAEmrJ,QAAarjB,MAAMlpI,GAAE,GAAIoB,EAAEmkZ,QAAQh5P,OAAOnrJ,EAAEmrJ,OAAOnrJ,EAAEA,EAAEmkZ,SACpa,SAASp5L,GAAGvgN,EAAEzC,GAAG,OAAOA,EAAE+/H,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAW,YAARkkI,GAAG,EAAEjkQ,GAAU,KAAK,EAAE,OAAO,KAAK,EAAE,IAAIhI,EAAEgI,EAAEw4e,UAAU,GAAG,MAAMxgf,EAAE,CAAC,IAAIC,EAAE+H,EAAEsqf,cAAczzf,EAAE,OAAO4L,EAAEA,EAAE6nf,cAAcryf,EAAEwK,EAAEzC,EAAE+G,KAAK,IAAIhQ,EAAEiJ,EAAEwnf,YAA+B,GAAnBxnf,EAAEwnf,YAAY,KAAQ,OAAOzwf,EAAE,CAAgF,IAA/EiB,EAAE4qN,IAAI3qN,EAAE,UAAUwK,GAAG,UAAUxK,EAAE8O,MAAM,MAAM9O,EAAEC,MAAMmvN,GAAGrvN,EAAEC,GAAGumN,GAAG/7M,EAAE5L,GAAGmJ,EAAEw+M,GAAG/7M,EAAExK,GAAOpB,EAAE,EAAEA,EAAEE,EAAEnE,OAAOiE,GAAG,EAAE,CAAC,IAAIkJ,EAAEhJ,EAAEF,GAAGizB,EAAE/yB,EAAEF,EAAE,GAAG,UAAUkJ,EAAE6jN,GAAG5rN,EAAE8xB,GAAG,4BAA4B/pB,EAAEs+M,GAAGrmN,EAAE8xB,GAAG,aAAa/pB,EAAEgnN,GAAG/uN,EAAE8xB,GAAGu1L,EAAGrnN,EAAE+H,EAAE+pB,EAAE9pB,GAAG,OAAOyC,GAAG,IAAK,QAAQ6kN,GAAGtvN,EAAEC,GAAG,MAChf,IAAK,WAAWiqN,GAAGlqN,EAAEC,GAAG,MAAM,IAAK,SAAS+H,EAAEhI,EAAEohf,cAAc8U,YAAYl2f,EAAEohf,cAAc8U,cAAcj2f,EAAEgmb,SAAmB,OAAVx7a,EAAExK,EAAEzC,OAAc00N,GAAGlyN,IAAIC,EAAEgmb,SAASx7a,GAAE,GAAIzC,MAAM/H,EAAEgmb,WAAW,MAAMhmb,EAAEolH,aAAa6sG,GAAGlyN,IAAIC,EAAEgmb,SAAShmb,EAAEolH,cAAa,GAAI6sG,GAAGlyN,IAAIC,EAAEgmb,SAAShmb,EAAEgmb,SAAS,GAAG,IAAG,MAAO,OAAO,KAAK,EAAE,GAAG,OAAOj+a,EAAEw4e,UAAU,MAAMxjd,MAAMllB,EAAE,MAA4C,YAAtC9P,EAAEw4e,UAAUp9c,UAAUp7B,EAAEsqf,eAAqB,KAAK,EAA8D,aAA5Dtqf,EAAEA,EAAEw4e,WAAYuC,UAAU/6e,EAAE+6e,SAAQ,EAAGxuR,GAAGvsN,EAAE06e,iBAAuB,KAAK,GAAG,OAAO,KAAK,GACzb,GAD4b1if,EAAEgI,EAAE,OAAOA,EAAEg6e,cACve/hf,GAAE,GAAIA,GAAE,EAAGD,EAAEgI,EAAEsJ,MAAM4oN,GAAGg0R,MAAS,OAAOluf,EAAEyK,EAAE,IAAIA,EAAEzK,IAAI,CAAC,GAAG,IAAIyK,EAAEs9H,IAAIhpI,EAAE0L,EAAE+1e,UAAUvgf,EAAa,oBAAVlB,EAAEA,EAAEyR,OAA4B21W,YAAYpnX,EAAEonX,YAAY,UAAU,OAAO,aAAapnX,EAAEmjB,QAAQ,QAASnjB,EAAE0L,EAAE+1e,UAAkC3hf,OAAE,KAA1BA,EAAE4L,EAAE6nf,cAAc9hf,QAAoB,OAAO3R,GAAGA,EAAEiC,eAAe,WAAWjC,EAAEqjB,QAAQ,KAAKnjB,EAAEyR,MAAM0R,QAAQguM,GAAG,UAAUrxN,SAAS,GAAG,IAAI4L,EAAEs9H,IAAIt9H,EAAE+1e,UAAUp9c,UAAUnjC,EAAE,GAAGwK,EAAE6nf,kBAAmB,IAAG,KAAK7nf,EAAEs9H,KAAK,OAAOt9H,EAAEu3e,eAAe,OAAOv3e,EAAEu3e,cAAcC,WAAW,EAACljf,EAAE0L,EAAE6G,MAAM8yY,SAAUh5P,OAAO3gJ,EAAEA,EACnf1L,EAAE,SAAc,GAAG,OAAO0L,EAAE6G,MAAM,CAAC7G,EAAE6G,MAAM85I,OAAO3gJ,EAAEA,EAAEA,EAAE6G,MAAM,UAAS,GAAG7G,IAAIzK,EAAE,MAAM,KAAK,OAAOyK,EAAE25Y,SAAS,CAAC,GAAG,OAAO35Y,EAAE2gJ,QAAQ3gJ,EAAE2gJ,SAASprJ,EAAE,MAAMyK,EAAEA,EAAEA,EAAE2gJ,OAAO3gJ,EAAE25Y,QAAQh5P,OAAO3gJ,EAAE2gJ,OAAO3gJ,EAAEA,EAAE25Y,QAAc,YAANlvL,GAAGltN,GAAU,KAAK,GAAS,YAANktN,GAAGltN,GAAU,KAAK,GAAG,OAAO,MAAMg1B,MAAMllB,EAAE,MAAO,SAASo9M,GAAGzqN,GAAG,IAAIzC,EAAEyC,EAAE+kf,YAAY,GAAG,OAAOxnf,EAAE,CAACyC,EAAE+kf,YAAY,KAAK,IAAIxvf,EAAEyK,EAAE+1e,UAAU,OAAOxgf,IAAIA,EAAEyK,EAAE+1e,UAAU,IAAIt1R,IAAIljN,EAAE6qB,SAAQ,SAAS7qB,GAAG,IAAI/H,EAAEy2f,GAAG/1f,KAAK,KAAK8J,EAAEzC,GAAGhI,EAAE8iF,IAAI96E,KAAKhI,EAAEqwC,IAAIroC,GAAGA,EAAEypH,KAAKxxH,EAAEA,QAC/c,IAAI02f,GAAG,oBAAoB79X,QAAQA,QAAQsgC,IAAI,SAASw9V,GAAGnsf,EAAEzC,EAAEhI,IAAGA,EAAE4vf,GAAG5vf,EAAE,OAAQ+nI,IAAI,EAAE/nI,EAAE0wI,QAAQ,CAACl4H,QAAQ,MAAM,IAAIvY,EAAE+H,EAAExK,MAAsD,OAAhDwC,EAAEqpC,SAAS,WAAWwtd,KAAKA,IAAG,EAAGC,GAAG72f,GAAG6qN,GAAGrgN,EAAEzC,IAAWhI,EACrL,SAAS+2f,GAAGtsf,EAAEzC,EAAEhI,IAAGA,EAAE4vf,GAAG5vf,EAAE,OAAQ+nI,IAAI,EAAE,IAAI9nI,EAAEwK,EAAEsE,KAAKmrd,yBAAyB,GAAG,oBAAoBj6d,EAAE,CAAC,IAAIpB,EAAEmJ,EAAExK,MAAMwC,EAAE0wI,QAAQ,WAAmB,OAARo6E,GAAGrgN,EAAEzC,GAAU/H,EAAEpB,IAAI,IAAIE,EAAE0L,EAAE+1e,UAA8O,OAApO,OAAOzhf,GAAG,oBAAoBA,EAAEi4f,oBAAoBh3f,EAAEqpC,SAAS,WAAW,oBAAoBppC,IAAI,OAAOg3f,GAAGA,GAAG,IAAI56V,IAAI,CAACv+J,OAAOm5f,GAAG5md,IAAIvyC,MAAMgtN,GAAGrgN,EAAEzC,IAAI,IAAIhI,EAAEgI,EAAE4yB,MAAM98B,KAAKk5f,kBAAkBhvf,EAAExK,MAAM,CAAC05f,eAAe,OAAOl3f,EAAEA,EAAE,OAAcA,EAC7Z,IA+B+Tm3f,GA/B3TC,GAAGnyf,KAAK4W,KAAKw7e,GAAG1pS,EAAGqxR,uBAAuBsY,GAAG3pS,EAAGwxR,kBAAuCpxR,GAAG,EAAYh6K,GAAG,EAAE01K,GAAG,EAAOn2B,GAAjD,EAAqDJ,GAAE,KAAK5nE,GAAE,KAAKnmD,GAAE,EAAE1sC,GAAEs1L,GAAGwpS,GAAG,KAAKC,GAAG,WAAWC,GAAG,WAAWC,GAAG,KAAKhgS,GAAG,EAAEigS,IAAG,EAAGz9R,GAAG,EAASxmC,GAAE,KAAKmjU,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAKW,IAAG,EAAGxqP,GAAG,KAAKyqP,GAAG,GAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAE,SAASxH,KAAK,OAAxO,KAAgP,GAADn9T,IAAe,YAAY46T,KAAK,GAAG,GAAG,IAAI+J,GAAGA,GAAGA,GAAG,YAAY/J,KAAK,GAAG,GAC9X,SAASwC,GAAGjmf,EAAEzC,EAAEhI,GAAY,GAAG,KAAO,GAAnBgI,EAAEA,EAAExH,OAAkB,OAAO,WAAW,IAAIP,EAAEkuf,KAAK,GAAG,KAAO,EAAFnmf,GAAK,OAAO,KAAK/H,EAAE,WAAW,WAAW,GAD/C,KAAU,GACyCqzL,IAAU,OAAOnuH,GAAE,GAAG,OAAOnlE,EAAEyK,EAAEgkf,GAAGhkf,EAAc,EAAZzK,EAAEk4f,WAAa,IAAI,UAAU,OAAOj4f,GAAG,KAAK,GAAGwK,EAAE,WAAW,MAAM,KAAK,GAAGA,EAAEgkf,GAAGhkf,EAAE,IAAI,KAAK,MAAM,KAAK,GAAG,KAAK,GAAGA,EAAEgkf,GAAGhkf,EAAE,IAAI,KAAK,MAAM,KAAK,GAAGA,EAAE,EAAE,MAAM,QAAQ,MAAMuyB,MAAMllB,EAAE,MAA4B,OAArB,OAAOo7K,IAAGzoL,IAAI06D,MAAK16D,EAASA,EAClX,SAASkmf,GAAGlmf,EAAEzC,GAAG,GAAG,GAAG+vf,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAKh7d,MAAMllB,EAAE,MAAgB,GAAG,QAAbrN,EAAE0tf,GAAG1tf,EAAEzC,IAAe,CAAC,IAAIhI,EAAEmuf,KAAK,aAAanmf,EAFlC,KAAK,EAEgCsrL,KAFrC,KAEkD,GAADA,IAAe8kU,GAAG3tf,IAAIiqL,GAAEjqL,GAFzE,IAE4E6oL,IAAOk7T,MAAM95T,GAAEjqL,GAF3F,KAEiG,EAAF6oL,KAAU,KAAKtzL,GAAG,KAAKA,IAAI,OAAO83f,GAAGA,GAAG,IAAI1+V,IAAI,CAAC,CAAC3uJ,EAAEzC,WAAmB,KAAbhI,EAAE83f,GAAG13f,IAAIqK,KAAgBzK,EAAEgI,IAAI8vf,GAAGxtf,IAAIG,EAAEzC,KACzQ,SAASmwf,GAAG1tf,EAAEzC,GAAGyC,EAAE0kf,eAAennf,IAAIyC,EAAE0kf,eAAennf,GAAG,IAAIhI,EAAEyK,EAAEq3e,UAAU,OAAO9hf,GAAGA,EAAEmvf,eAAennf,IAAIhI,EAAEmvf,eAAennf,GAAG,IAAI/H,EAAEwK,EAAE2gJ,OAAOvsJ,EAAE,KAAK,GAAG,OAAOoB,GAAG,IAAIwK,EAAEs9H,IAAIlpI,EAAE4L,EAAE+1e,eAAe,KAAK,OAAOvgf,GAAG,CAA+H,GAA9HD,EAAEC,EAAE6hf,UAAU7hf,EAAE+uf,oBAAoBhnf,IAAI/H,EAAE+uf,oBAAoBhnf,GAAG,OAAOhI,GAAGA,EAAEgvf,oBAAoBhnf,IAAIhI,EAAEgvf,oBAAoBhnf,GAAM,OAAO/H,EAAEmrJ,QAAQ,IAAInrJ,EAAE8nI,IAAI,CAAClpI,EAAEoB,EAAEugf,UAAU,MAAMvgf,EAAEA,EAAEmrJ,OAA0D,OAAnD,OAAOvsJ,IAAIq0L,KAAIr0L,IAAIqxf,GAAGlof,GAAGywB,KAAIgxL,IAAI/lE,GAAG7kJ,EAAEsmE,KAAI/rC,GAAGv6B,EAAEmJ,IAAWnJ,EACrc,SAASw5f,GAAG5tf,GAAG,IAAIzC,EAAEyC,EAAE6tf,gBAAgB,GAAG,IAAItwf,EAAE,OAAOA,EAAuB,IAAIuwf,GAAG9tf,EAA5BzC,EAAEyC,EAAE+tf,kBAA6B,OAAOxwf,EAAE,IAAIhI,EAAEyK,EAAEguf,eAAmD,OAAO,IAAjBhuf,EAAEzK,GAA5ByK,EAAEA,EAAEiuf,uBAA4B14f,EAAEyK,IAAezC,IAAIyC,EAAE,EAAEA,EACnL,SAASiqL,GAAEjqL,GAAG,GAAG,IAAIA,EAAE6tf,gBAAgB7tf,EAAEkuf,uBAAuB,WAAWluf,EAAEmuf,iBAAiB,GAAGnuf,EAAEouf,aAAavK,GAAG8J,GAAGz3f,KAAK,KAAK8J,QAAQ,CAAC,IAAIzC,EAAEqwf,GAAG5tf,GAAGzK,EAAEyK,EAAEouf,aAAa,GAAG,IAAI7wf,EAAE,OAAOhI,IAAIyK,EAAEouf,aAAa,KAAKpuf,EAAEkuf,uBAAuB,EAAEluf,EAAEmuf,iBAAiB,QAAQ,CAAC,IAAI34f,EAAEwwf,KAAqH,GAAhH,aAAazof,EAAE/H,EAAE,GAAG,IAAI+H,GAAG,IAAIA,EAAE/H,EAAE,GAA0CA,EAAE,IAAxCA,EAAE,IAAI,WAAW+H,GAAG,IAAI,WAAW/H,IAAU,GAAG,KAAKA,EAAE,GAAG,MAAMA,EAAE,GAAG,GAAO,OAAOD,EAAE,CAAC,IAAInB,EAAE4L,EAAEmuf,iBAAiB,GAAGnuf,EAAEkuf,yBAAyB3wf,GAAGnJ,GAAGoB,EAAE,OAAOD,IAAI0tf,IAAIhB,GAAG1sf,GAAGyK,EAAEkuf,uBACne3wf,EAAEyC,EAAEmuf,iBAAiB34f,EAAE+H,EAAE,aAAaA,EAAEsmf,GAAG8J,GAAGz3f,KAAK,KAAK8J,IAAI4jf,GAAGpuf,EAAE64f,GAAGn4f,KAAK,KAAK8J,GAAG,CAACwrF,QAAQ,IAAI,WAAWjuF,GAAGkmf,OAAOzjf,EAAEouf,aAAa7wf,IAClI,SAAS8wf,GAAGruf,EAAEzC,GAAQ,GAALiwf,GAAG,EAAKjwf,EAAE,OAAc+wf,GAAGtuf,EAAVzC,EAAEyof,MAAa/7T,GAAEjqL,GAAG,KAAK,IAAIzK,EAAEq4f,GAAG5tf,GAAG,GAAG,IAAIzK,EAAE,CAAkB,GAAjBgI,EAAEyC,EAAEouf,aAPb,KAO+B,GAADvlU,IAAe,MAAMt2J,MAAMllB,EAAE,MAAiC,GAA3Bkhf,KAAKvuf,IAAIyoL,IAAGlzL,IAAImlE,IAAG8zb,GAAGxuf,EAAEzK,GAAM,OAAOsrH,GAAE,CAAC,IAAIrrH,EAAEqzL,GAAEA,IAPvG,GAOwH,IAAX,IAAIz0L,EAAEq6f,OAAQ,IAAIC,KAAK,MAAM,MAAMrne,GAAGsne,GAAG3uf,EAAEqnB,GAAkC,GAAtBgtM,KAAKxrC,GAAErzL,EAAEo3f,GAAGvhf,QAAQjX,EAPvK,IAO4K45B,GAAO,MAAMzwB,EAAEuvf,GAAG0B,GAAGxuf,EAAEzK,GAAG0jJ,GAAGj5I,EAAEzK,GAAG00L,GAAEjqL,GAAGzC,EAAE,GAAG,OAAOsjH,GAAE,OAAOzsH,EAAE4L,EAAE4uf,aAAa5uf,EAAEqL,QAAQgse,UAAUr3e,EAAE6uf,uBAAuBt5f,EAAEC,EAAEw4B,GAAEy6J,GAAE,KAAKjzL,GAAG,KAAK8tN,GAAG,KAP9T,EAOsU,MAAM/wL,MAAMllB,EAAE,MAAM,KAPrV,EAO6Vihf,GAAGtuf,EAAE,EAAEzK,EAAE,EAAEA,GAAG,MAAM,KAAK+zC,GACvb,GAD0b2vG,GAAGj5I,EAAEzK,GACteA,KADyeC,EAAEwK,EAAE8uf,qBACre9uf,EAAEiuf,sBAAsBc,GAAG36f,IAAO,aAAa24f,IAAkB,IAAb34f,EAAEq7N,GARqJ,IAQ/Ig0R,MAAW,CAAC,GAAGyJ,GAAG,CAAC,IAAI54f,EAAE0L,EAAEguf,eAAe,GAAG,IAAI15f,GAAGA,GAAGiB,EAAE,CAACyK,EAAEguf,eAAez4f,EAAEi5f,GAAGxuf,EAAEzK,GAAG,OAAe,GAAG,KAAXjB,EAAEs5f,GAAG5tf,KAAa1L,IAAIiB,EAAE,MAAM,GAAG,IAAIC,GAAGA,IAAID,EAAE,CAACyK,EAAEguf,eAAex4f,EAAE,MAAMwK,EAAEgvf,cAAc1mS,GAAG2mS,GAAG/4f,KAAK,KAAK8J,GAAG5L,GAAG,MAAM66f,GAAGjvf,GAAG,MAAM,KAAKg/M,GAAwE,GAArE/lE,GAAGj5I,EAAEzK,GAAyBA,KAAtBC,EAAEwK,EAAE8uf,qBAA0B9uf,EAAEiuf,sBAAsBc,GAAG36f,IAAO84f,KAAwB,KAAnB94f,EAAE4L,EAAEguf,iBAAsB55f,GAAGmB,GAAG,CAACyK,EAAEguf,eAAez4f,EAAEi5f,GAAGxuf,EAAEzK,GAAG,MAAc,GAAG,KAAXnB,EAAEw5f,GAAG5tf,KAAa5L,IAAImB,EAAE,MAAM,GAAG,IAAIC,GAAGA,IAAID,EAAE,CAACyK,EAAEguf,eACxex4f,EAAE,MAAgP,GAA1O,aAAaw3f,GAAGx3f,EAAE,IAAI,WAAWw3f,IAAIvJ,KAAK,aAAasJ,GAAGv3f,EAAE,GAAGA,EAAE,IAAI,WAAWu3f,IAAI,IAAuC,GAANv3f,GAA7BpB,EAAEqvf,MAA+Bjuf,KAAQA,EAAE,IAApCD,EAAE,IAAI,WAAWA,GAAGnB,IAAmBoB,GAAG,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKm3f,GAAGn3f,EAAE,OAAOA,KAAQA,EAAED,IAAO,GAAGC,EAAE,CAACwK,EAAEgvf,cAAc1mS,GAAG2mS,GAAG/4f,KAAK,KAAK8J,GAAGxK,GAAG,MAAMy5f,GAAGjvf,GAAG,MAAM,KAT5L,EASoM,GAAG,aAAa+sf,IAAI,OAAOE,GAAG,CAAC34f,EAAEy4f,GAAG,IAAIzvf,EAAE2vf,GAAuH,GAA5F,IAAxBz3f,EAAsB,EAApB8H,EAAE4xf,mBAAyB15f,EAAE,GAAGpB,EAAgB,EAAdkJ,EAAE6xf,YAA8D35f,GAAhDlB,EAAEmvf,MAAM,IAAI,WAAWnvf,IAAgB,EAAZgJ,EAAEmwf,WAAa,QAAWr5f,EAAE,EAAEA,EAAEoB,EAAElB,GAAM,GAAGkB,EAAE,CAACyjJ,GAAGj5I,EAAEzK,GAAGyK,EAAEgvf,cAC/e1mS,GAAG2mS,GAAG/4f,KAAK,KAAK8J,GAAGxK,GAAG,OAAOy5f,GAAGjvf,GAAG,MAAM,QAAQ,MAAMuyB,MAAMllB,EAAE,MAAY,GAAL48K,GAAEjqL,GAAMA,EAAEouf,eAAe7wf,EAAE,OAAO8wf,GAAGn4f,KAAK,KAAK8J,IAAI,OAAO,KAChI,SAAS2tf,GAAG3tf,GAAG,IAAIzC,EAAEyC,EAAE6tf,gBAAqC,GAArBtwf,EAAE,IAAIA,EAAEA,EAAE,WAXuB,KAWP,GAADsrL,IAAe,MAAMt2J,MAAMllB,EAAE,MAAiC,GAA3Bkhf,KAAKvuf,IAAIyoL,IAAGlrL,IAAIm9D,IAAG8zb,GAAGxuf,EAAEzC,GAAM,OAAOsjH,GAAE,CAAC,IAAItrH,EAAEszL,GAAEA,IAXjE,GAWkF,IAAX,IAAIrzL,EAAEi5f,OAAQ,IAAIW,KAAK,MAAM,MAAMh7f,GAAGu6f,GAAG3uf,EAAE5L,GAAkC,GAAtBigO,KAAKxrC,GAAEtzL,EAAEq3f,GAAGvhf,QAAQ7V,EAXjI,IAWsIw4B,GAAO,MAAMz4B,EAAEu3f,GAAG0B,GAAGxuf,EAAEzC,GAAG07I,GAAGj5I,EAAEzC,GAAG0sL,GAAEjqL,GAAGzK,EAAE,GAAG,OAAOsrH,GAAE,MAAMtuF,MAAMllB,EAAE,MAAMrN,EAAE4uf,aAAa5uf,EAAEqL,QAAQgse,UAAUr3e,EAAE6uf,uBAAuBtxf,EAAEkrL,GAAE,KAAKwmU,GAAGjvf,GAAGiqL,GAAEjqL,GAAG,OAAO,KACzY,SAASqvf,GAAGrvf,EAAEzC,GAAG,IAAIhI,EAAEszL,GAAEA,IAAG,EAAE,IAAI,OAAO7oL,EAAEzC,GAAb,QAZ0C,KAYlBsrL,GAAEtzL,IAASwuf,MAAM,SAASuL,GAAGtvf,EAAEzC,GAAG,IAAIhI,EAAEszL,GAAEA,KAAI,EAAEA,IAZzB,EAY+B,IAAI,OAAO7oL,EAAEzC,GAAb,QAZpC,KAY4DsrL,GAAEtzL,IAASwuf,MAC/I,SAASyK,GAAGxuf,EAAEzC,GAAGyC,EAAE4uf,aAAa,KAAK5uf,EAAE6uf,uBAAuB,EAAE,IAAIt5f,EAAEyK,EAAEgvf,cAAiD,IAAlC,IAAIz5f,IAAIyK,EAAEgvf,eAAe,EAAE7wS,GAAG5oN,IAAO,OAAOsrH,GAAE,IAAItrH,EAAEsrH,GAAE8/B,OAAO,OAAOprJ,GAAG,CAAC,IAAIC,EAAED,EAAE,OAAOC,EAAE8nI,KAAK,KAAK,EAA6B,QAA3B9nI,EAAEA,EAAE8O,KAAKgla,yBAA4B,IAAS9za,GAAGksf,KAAK,MAAM,KAAK,EAAE+F,KAAK9+T,GAAEoB,IAAGpB,GAAES,IAAG,MAAM,KAAK,EAAEu+T,GAAGnyf,GAAG,MAAM,KAAK,EAAEiyf,KAAK,MAAM,KAAK,GAAc,KAAK,GAAG9+T,GAAEpgK,IAAG,MAAM,KAAK,GAAG+7d,GAAG9uf,GAAGD,EAAEA,EAAEorJ,OAAO8nC,GAAEzoL,EAAE6gH,GAAEmmY,GAAGhnf,EAAEqL,QAAQ,MAAMqvD,GAAEn9D,EAAEywB,GAAEs1L,GAAGwpS,GAAG,KAAKE,GAAGD,GAAG,WAAWE,GAAG,KAAKhgS,GAAG,EAAEigS,IAAG,EACnc,SAASyB,GAAG3uf,EAAEzC,GAAG,OAAE,CAAC,IAAuB,GAAnB82N,KAAK4zR,GAAG58e,QAAQ4kS,GAAMm4M,GAAG,IAAI,IAAI7yf,EAAE0tL,GAAEs0T,cAAc,OAAOhif,GAAG,CAAC,IAAIC,EAAED,EAAEk/T,MAAM,OAAOj/T,IAAIA,EAAEo/T,QAAQ,MAAMr/T,EAAEA,EAAEX,KAA2B,GAAtBuzf,GAAG,EAAEr6d,GAAExF,GAAE26J,GAAE,KAAKmlU,IAAG,EAAM,OAAOvnY,IAAG,OAAOA,GAAE8/B,OAAO,OAAO3yH,GAd/F,EAcoG8+d,GAAGvvf,EAAEsjH,GAAE,KAAK7gH,EAAE,CAAC,IAAI5L,EAAE4L,EAAE1L,EAAEusH,GAAE8/B,OAAOrjJ,EAAEujH,GAAEx5F,EAAE9pB,EAAwD,GAAtDA,EAAEm9D,GAAEp9D,EAAEg6e,WAAW,KAAKh6e,EAAEypf,YAAYzpf,EAAEupf,WAAW,KAAQ,OAAOx/d,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAE2/F,KAAK,CAAC,IAAI/xG,EAAEoS,EAAE,GAAG,KAAY,EAAP/pB,EAAEvH,MAAQ,CAAC,IAAIX,EAAEkI,EAAE+5e,UAAUjif,GAAGkI,EAAEynf,YAAY3vf,EAAE2vf,YAAYznf,EAAEi6e,cAAcnif,EAAEmif,cAAcj6e,EAAEonf,eAAetvf,EAAEsvf,iBAAiBpnf,EAAEynf,YACvf,KAAKznf,EAAEi6e,cAAc,MAAM,IAAIjif,EAAE,KAAe,EAAVizB,GAAEld,SAAW/U,EAAEhC,EAAE,EAAE,CAAC,IAAI4L,EAAE,GAAGA,EAAE,KAAK5J,EAAEgnI,IAAI,CAAC,IAAI5xC,EAAEp1F,EAAEihf,cAAc,GAAG,OAAO7rZ,EAAExrF,EAAE,OAAOwrF,EAAE8rZ,eAAqB,CAAC,IAAIp1R,EAAG9rN,EAAEuxf,cAAc3nf,OAAE,IAASkiN,EAAG+zJ,YAAY,IAAK/zJ,EAAG+oS,6BAA8B71f,IAAS,GAAG4K,EAAE,CAAC,IAAIkoL,EAAE9xL,EAAEyuf,YAAY,GAAG,OAAO38T,EAAE,CAAC,IAAItyL,EAAE,IAAI87J,IAAI97J,EAAE8vC,IAAI3wB,GAAG3e,EAAEyuf,YAAYjvf,OAAOsyL,EAAExiJ,IAAI3wB,GAAG,GAAG,KAAY,EAAP3e,EAAEP,MAAQ,CAAoC,GAAnCO,EAAEghf,WAAW,GAAGh6e,EAAEg6e,YAAY,KAAQ,IAAIh6e,EAAEggI,IAAI,GAAG,OAAOhgI,EAAE+5e,UAAU/5e,EAAEggI,IAAI,OAAO,CAAC,IAAIn9H,EAAEglf,GAAG,WAAW,MAAMhlf,EAAEm9H,IAAI,EAAE+nX,GAAG/nf,EAAE6C,GAAG7C,EAAEonf,eAAe,WAClf,MAAM1kf,EAAEqnB,OAAE,EAAO/pB,EAAEC,EAAE,IAAIq+G,EAAExnH,EAAEm7f,UAA+G,GAArG,OAAO3zY,GAAGA,EAAExnH,EAAEm7f,UAAU,IAAIrD,GAAG7ke,EAAE,IAAIuqI,IAAIh2C,EAAE/7G,IAAIoV,EAAEoS,SAAgB,KAAXA,EAAEu0F,EAAEjmH,IAAIsf,MAAgBoS,EAAE,IAAIuqI,IAAIh2C,EAAE/7G,IAAIoV,EAAEoS,KAASA,EAAEgxD,IAAI/6E,GAAG,CAAC+pB,EAAEue,IAAItoC,GAAG,IAAIo+G,EAAE8zY,GAAGt5f,KAAK,KAAK9B,EAAE6gB,EAAE3X,GAAG2X,EAAE+xG,KAAKtL,EAAEA,GAAGplH,EAAEghf,WAAW,KAAKhhf,EAAEouf,eAAennf,EAAE,MAAMyC,EAAE1J,EAAEA,EAAEqqJ,aAAa,OAAOrqJ,GAAG+wB,EAAEkL,OAAO5C,GAAGryB,EAAEgH,OAAO,qBAAqB,wLAAwLu3M,GAAGv+M,IAhB/X,IAgBmY0wB,KACrfA,GAjBmG,GAiB7F3G,EAAE+lM,GAAG/lM,EAAE/pB,GAAGhH,EAAEhC,EAAE,EAAE,CAAC,OAAOgC,EAAEgnI,KAAK,KAAK,EAAEroH,EAAEoS,EAAE/wB,EAAEghf,WAAW,KAAKhhf,EAAEouf,eAAennf,EAAkB+nf,GAAGhvf,EAAb61f,GAAG71f,EAAE2e,EAAE1X,IAAW,MAAMyC,EAAE,KAAK,EAAEiV,EAAEoS,EAAE,IAAIgB,EAAE/xB,EAAEgO,KAAK6M,EAAG7a,EAAEy/e,UAAU,GAAG,KAAiB,GAAZz/e,EAAEghf,aAAgB,oBAAoBjvd,EAAEonc,0BAA0B,OAAOt+c,GAAI,oBAAoBA,EAAGo7e,oBAAoB,OAAOC,KAAKA,GAAGn0a,IAAIlnE,KAAM,CAAC7a,EAAEghf,WAAW,KAAKhhf,EAAEouf,eAAennf,EAAmB+nf,GAAGhvf,EAAbg2f,GAAGh2f,EAAE2e,EAAE1X,IAAY,MAAMyC,GAAG1J,EAAEA,EAAEqqJ,aAAa,OAAOrqJ,GAAGuqH,GAAE4uY,GAAG5uY,IAAG,MAAMskG,GAAI5nN,EAAE4nN,EAAG,SAAS,OAC9b,SAASspS,KAAK,IAAIzuf,EAAE4sf,GAAGvhf,QAAsB,OAAduhf,GAAGvhf,QAAQ4kS,GAAU,OAAOjwS,EAAEiwS,GAAGjwS,EAAE,SAASwlf,GAAGxlf,EAAEzC,GAAGyC,EAAE+sf,IAAI,EAAE/sf,IAAI+sf,GAAG/sf,GAAG,OAAOzC,GAAGyC,EAAEgtf,IAAI,EAAEhtf,IAAIgtf,GAAGhtf,EAAEitf,GAAG1vf,GAAG,SAASkof,GAAGzlf,GAAGA,EAAEitN,KAAKA,GAAGjtN,GAAG,SAASovf,KAAK,KAAK,OAAOvuY,IAAGA,GAAE6uY,GAAG7uY,IAAG,SAAS6tY,KAAK,KAAK,OAAO7tY,KAAIqiY,MAAMriY,GAAE6uY,GAAG7uY,IAAG,SAAS6uY,GAAG1vf,GAAG,IAAIzC,EAAEmvf,GAAG1sf,EAAEq3e,UAAUr3e,EAAE06D,IAAsE,OAAnE16D,EAAE6nf,cAAc7nf,EAAEyqf,aAAa,OAAOltf,IAAIA,EAAEkyf,GAAGzvf,IAAI6sf,GAAGxhf,QAAQ,KAAY9N,EACtW,SAASkyf,GAAGzvf,GAAG6gH,GAAE7gH,EAAE,EAAE,CAAC,IAAIzC,EAAEsjH,GAAEw2X,UAAqB,GAAXr3e,EAAE6gH,GAAE8/B,OAAU,KAAiB,KAAZ9/B,GAAEy2X,WAAgB,CAAa,GAAZ/5e,EAAEsuI,GAAGtuI,EAAEsjH,GAAEnmD,IAAM,IAAIA,IAAG,IAAImmD,GAAE0jY,oBAAoB,CAAC,IAAI,IAAIhvf,EAAE,EAAEC,EAAEqrH,GAAEh6G,MAAM,OAAOrR,GAAG,CAAC,IAAIpB,EAAEoB,EAAEkvf,eAAepwf,EAAEkB,EAAE+uf,oBAAoBnwf,EAAEmB,IAAIA,EAAEnB,GAAGE,EAAEiB,IAAIA,EAAEjB,GAAGkB,EAAEA,EAAEmkZ,QAAQ94R,GAAE0jY,oBAAoBhvf,EAAE,GAAG,OAAOgI,EAAE,OAAOA,EAAE,OAAOyC,GAAG,KAAiB,KAAZA,EAAEs3e,aAAkB,OAAOt3e,EAAE+mf,cAAc/mf,EAAE+mf,YAAYlmY,GAAEkmY,aAAa,OAAOlmY,GAAEgmY,aAAa,OAAO7mf,EAAE6mf,aAAa7mf,EAAE6mf,WAAWC,WAAWjmY,GAAEkmY,aAAa/mf,EAAE6mf,WAAWhmY,GAAEgmY,YAAY,EAAEhmY,GAAEy2X,YAAY,OACnft3e,EAAE6mf,WAAW7mf,EAAE6mf,WAAWC,WAAWjmY,GAAE7gH,EAAE+mf,YAAYlmY,GAAE7gH,EAAE6mf,WAAWhmY,SAAQ,CAAS,GAAG,QAAXtjH,EAAEiwN,GAAG3sG,KAAe,OAAOtjH,EAAE+5e,WAAW,KAAK/5e,EAAE,OAAOyC,IAAIA,EAAE+mf,YAAY/mf,EAAE6mf,WAAW,KAAK7mf,EAAEs3e,WAAW,MAAkB,GAAG,QAAf/5e,EAAEsjH,GAAE84R,SAAoB,OAAOp8Y,EAAEsjH,GAAE7gH,QAAQ,OAAO6gH,IAAkB,OAAf7yF,KAAIs1L,KAAKt1L,GApBjI,GAoB8I,KAAK,SAAS+ge,GAAG/uf,GAAG,IAAIzC,EAAEyC,EAAE0kf,eAAuC,OAAOnnf,GAA/ByC,EAAEA,EAAEukf,qBAA+Bhnf,EAAEyC,EAAE,SAASivf,GAAGjvf,GAAG,IAAIzC,EAAEmmf,KAA8B,OAAzBC,GAAG,GAAGgM,GAAGz5f,KAAK,KAAK8J,EAAEzC,IAAW,KACjZ,SAASoyf,GAAG3vf,EAAEzC,GAAG,GAAGgxf,WAAW,OAAO5rP,IAAI,GArB8B,KAqBzB,GAAD95E,IAAe,MAAMt2J,MAAMllB,EAAE,MAAM,IAAI9X,EAAEyK,EAAE4uf,aAAap5f,EAAEwK,EAAE6uf,uBAAuB,GAAG,OAAOt5f,EAAE,OAAO,KAAoD,GAA/CyK,EAAE4uf,aAAa,KAAK5uf,EAAE6uf,uBAAuB,EAAKt5f,IAAIyK,EAAEqL,QAAQ,MAAMknB,MAAMllB,EAAE,MAAMrN,EAAEouf,aAAa,KAAKpuf,EAAEkuf,uBAAuB,EAAEluf,EAAEmuf,iBAAiB,GAAGnuf,EAAEiuf,sBAAsB,EAAE,IAAI75f,EAAE26f,GAAGx5f,GAClI,GADqIyK,EAAE+tf,iBAAiB35f,EAAEoB,GAAGwK,EAAE8uf,kBAAkB9uf,EAAE4vf,mBAAmB5vf,EAAE8uf,kBAAkB9uf,EAAEiuf,sBAAsB,EAAEz4f,GAAGwK,EAAE4vf,qBAAqB5vf,EAAE4vf,mBACnep6f,EAAE,GAAGA,GAAGwK,EAAEguf,iBAAiBhuf,EAAEguf,eAAe,GAAGx4f,GAAGwK,EAAE6tf,kBAAkB7tf,EAAE6tf,gBAAgB,GAAG7tf,IAAIyoL,KAAI5nE,GAAE4nE,GAAE,KAAK/tH,GAAE,GAAG,EAAEnlE,EAAE+hf,UAAU,OAAO/hf,EAAEsxf,YAAYtxf,EAAEsxf,WAAWC,WAAWvxf,EAAEnB,EAAEmB,EAAEwxf,aAAa3yf,EAAEmB,EAAEnB,EAAEmB,EAAEwxf,YAAe,OAAO3yf,EAAE,CAAC,IAAIE,EAAEu0L,GAAEA,IAtBhJ,GAsBsJgkU,GAAGxhf,QAAQ,KAAKq7M,GAAGtI,GAAG,IAAI9gN,EAAEi3I,KAAK,GAAGC,GAAGl3I,GAAG,CAAC,GAAG,mBAAmBA,EAAE,IAAI+pB,EAAE,CAAClc,MAAM7N,EAAE8/e,eAAez2c,IAAIrpC,EAAE+/e,mBAAmBr9e,EAAE,CAA8C,IAAIiV,GAAjDoS,GAAGA,EAAE/pB,EAAEigC,gBAAgBlW,EAAEy8Q,aAAa/uS,QAAew7C,cAAclpB,EAAEkpB,eAAe,GAAGt7B,GAAG,IAAIA,EAAE0wI,WAAW,CAACt+H,EAAEpS,EAAEqoe,WAAW,IAAIlof,EAAE6f,EAAEsoe,aAC9ejof,EAAE2f,EAAEuoe,UAAUvoe,EAAEA,EAAEwoe,YAAY,IAAIp2d,EAAEngB,SAAS5R,EAAE4R,SAAS,MAAMk+M,GAAI/9L,EAAE,KAAK,MAAMrnB,EAAE,IAAI1J,EAAE,EAAE4J,GAAG,EAAEwrF,GAAG,EAAE02H,EAAG,EAAEh6B,EAAE,EAAEtyL,EAAEwH,EAAE6C,EAAE,KAAK5C,EAAE,OAAO,CAAC,IAAI,IAAIq+G,EAAK9lH,IAAIuxB,GAAG,IAAIjyB,GAAG,IAAIU,EAAEoR,WAAWhH,EAAE5J,EAAElB,GAAGU,IAAIR,GAAG,IAAI2f,GAAG,IAAInf,EAAEoR,WAAWwkF,EAAEp1F,EAAE2e,GAAG,IAAInf,EAAEoR,WAAW5Q,GAAGR,EAAE6iC,UAAUxoC,QAAW,QAAQyrH,EAAE9lH,EAAE68B,aAAkBxyB,EAAErK,EAAEA,EAAE8lH,EAAE,OAAO,CAAC,GAAG9lH,IAAIwH,EAAE,MAAMC,EAA+C,GAA7C4C,IAAIknB,KAAK+6L,IAAKhtN,IAAI8K,EAAE5J,GAAG6J,IAAI7K,KAAK8yL,IAAInzK,IAAIy2E,EAAEp1F,GAAM,QAAQslH,EAAE9lH,EAAE48B,aAAa,MAAUvyB,GAAJrK,EAAEqK,GAAM6Y,WAAWljB,EAAE8lH,EAAEv0F,GAAG,IAAInnB,IAAI,IAAIwrF,EAAE,KAAK,CAACvgF,MAAMjL,EAAEymC,IAAI+kD,QAAQrkE,EAAE,KAAKA,EAAEA,GAAG,CAAClc,MAAM,EAAEw7B,IAAI,QAAQtf,EACtf,KAAKo2L,GAAG,CAACoyS,sBAAsB,KAAKC,YAAYxyf,EAAEyyf,eAAe1oe,GAAG+2L,IAAG,EAAGn1B,GAAE70L,EAAE,GAAG,IAAI47f,KAAK,MAAM5qS,GAAI,GAAG,OAAOn8B,GAAE,MAAM12J,MAAMllB,EAAE,MAAMwzM,GAAG53B,GAAEm8B,GAAIn8B,GAAEA,GAAE69T,kBAAiB,OAAO79T,IAAGA,GAAE70L,EAAE,GAAG,IAAI,IAAIkJ,EAAE0C,EAAEqnB,EAAE9pB,EAAE,OAAO0rL,IAAG,CAAC,IAAIvtE,EAAEutE,GAAEquT,UAAmC,GAAvB,GAAF57X,GAAM4oG,GAAGr7B,GAAE8sT,UAAU,IAAS,IAAFr6X,EAAM,CAAC,IAAIuoE,EAAEgF,GAAEouT,UAAU,GAAG,OAAOpzT,EAAE,CAAC,IAAI57J,EAAE47J,EAAExiH,IAAI,OAAOp5C,IAAI,oBAAoBA,EAAEA,EAAE,MAAMA,EAAEhd,QAAQ,OAAO,OAAS,KAAFqwG,GAAQ,KAAK,EAAEilG,GAAG13B,IAAGA,GAAEquT,YAAY,EAAE,MAAM,KAAK,EAAE32R,GAAG13B,IAAGA,GAAEquT,YAAY,EAAE/2R,GAAGt3B,GAAEouT,UAAUpuT,IAAG,MAAM,KAAK,KAAKA,GAAEquT,YAAY,KAAK,MAAM,KAAK,KAAKruT,GAAEquT,YAC7f,KAAK/2R,GAAGt3B,GAAEouT,UAAUpuT,IAAG,MAAM,KAAK,EAAEs3B,GAAGt3B,GAAEouT,UAAUpuT,IAAG,MAAM,KAAK,EAAMu3B,GAAGljN,EAAPlI,EAAE6zL,GAAS5hK,GAAG6lM,GAAG93N,GAAG6zL,GAAEA,GAAE69T,YAAY,MAAM1hS,GAAI,GAAG,OAAOn8B,GAAE,MAAM12J,MAAMllB,EAAE,MAAMwzM,GAAG53B,GAAEm8B,GAAIn8B,GAAEA,GAAE69T,kBAAiB,OAAO79T,IAAkD,GAA/C5gK,EAAEo1L,GAAGx5B,EAAE1vC,KAAK74B,EAAErzF,EAAEyne,YAAYzoe,EAAEgB,EAAE0ne,eAAkB9rU,IAAIvoE,GAAGA,GAAGA,EAAEn+E,eAhLxP,SAAS6lL,EAAGpjN,EAAEzC,GAAG,SAAOyC,IAAGzC,KAAEyC,IAAIzC,KAAKyC,GAAG,IAAIA,EAAEkH,YAAY3J,GAAG,IAAIA,EAAE2J,SAASk8M,EAAGpjN,EAAEzC,EAAEyb,YAAY,aAAahZ,EAAEA,EAAEwzC,SAASj2C,KAAGyC,EAAEk0Y,4BAAwD,GAA7Bl0Y,EAAEk0Y,wBAAwB32Y,MAgLmF6lN,CAAG1nG,EAAEn+E,cAAc1kB,gBAAgB6iG,GAAG,CAAC,OAAOr0F,GAAGmtH,GAAG94B,KAAKuoE,EAAE58J,EAAElc,WAAc,KAARkd,EAAEhB,EAAEsf,OAAiBte,EAAE47J,GAAG,mBAAmBvoE,GAAGA,EAAE0hY,eAAen5T,EAAEvoE,EAAE2hY,aAAa7if,KAAK6K,IAAIgjB,EAAEqzF,EAAE3oH,MAAM5C,UAAUk4B,GAAG47J,EAAEvoE,EAAEn+E,eAAe5mC,WAAWstL,EAAE6/G,aAAa/uS,QAASw7C,eACjfloB,EAAEA,EAAEkoB,eAAen7C,EAAEsmH,EAAEn0G,YAAYpX,OAAOmN,EAAE9C,KAAK6K,IAAIgiB,EAAElc,MAAM/V,GAAGiyB,OAAE,IAASA,EAAEsf,IAAIrpC,EAAE9C,KAAK6K,IAAIgiB,EAAEsf,IAAIvxC,IAAIizB,EAAEogB,QAAQnrC,EAAE+pB,IAAIjyB,EAAEiyB,EAAEA,EAAE/pB,EAAEA,EAAElI,GAAGA,EAAEmwN,GAAG7pG,EAAEp+G,GAAGhI,EAAEiwN,GAAG7pG,EAAEr0F,GAAGjyB,GAAGE,IAAI,IAAI+yB,EAAEs9H,YAAYt9H,EAAEi1d,aAAalof,EAAE8B,MAAMmxB,EAAEk1d,eAAenof,EAAEkT,QAAQ+f,EAAEm1d,YAAYlof,EAAE4B,MAAMmxB,EAAEo1d,cAAcnof,EAAEgT,WAAU27K,EAAEA,EAAE68I,eAAgB39O,SAAS/tF,EAAE8B,KAAK9B,EAAEkT,QAAQ+f,EAAEq9H,kBAAkBpoJ,EAAE+pB,GAAGgB,EAAE6ub,SAASjzR,GAAG57J,EAAEogB,OAAOnzC,EAAE4B,KAAK5B,EAAEgT,UAAU27K,EAAEmsL,OAAO96W,EAAE4B,KAAK5B,EAAEgT,QAAQ+f,EAAE6ub,SAASjzR,OAAQA,EAAE,GAAG,IAAI57J,EAAEqzF,EAAErzF,EAAEA,EAAErP,YAAY,IAAIqP,EAAEnhB,UAAU+8K,EAAE9pL,KAAK,CAAC4T,QAAQsa,EAAE6hB,KAAK7hB,EAAEqqB,WACzftI,IAAI/hB,EAAEsqB,YAAmD,IAAvC,oBAAoB+oE,EAAEjiC,OAAOiiC,EAAEjiC,QAAYiiC,EAAE,EAAEA,EAAEuoE,EAAE9zL,OAAOurH,KAAIrzF,EAAE47J,EAAEvoE,IAAK3tG,QAAQ2kC,WAAWrqB,EAAE6hB,KAAK7hB,EAAEta,QAAQ4kC,UAAUtqB,EAAE+hB,IAAIg0K,KAAKsI,GAAGjJ,GAAGiJ,GAAG,KAAK1mN,EAAEqL,QAAQ9V,EAAE0zL,GAAE70L,EAAE,GAAG,IAAI,IAAIsnH,EAAE17G,EAAE,OAAOipL,IAAG,CAAC,IAAI93K,EAAG83K,GAAEquT,UAAqC,GAAxB,GAAHnme,GAAO06e,GAAGnwY,EAAEutE,GAAEouT,UAAUpuT,IAAS,IAAH93K,EAAO,CAAC8yK,OAAE,EAAO,IAAIo/B,EAAGp6B,GAAExnH,IAAI,GAAG,OAAO4hJ,EAAG,CAAC,IAAI8B,EAAGl8B,GAAE8sT,UAAU,OAAO9sT,GAAE3rD,KAAK,KAAK,EAAE2mD,EAAEkhC,EAAG,MAAM,QAAQlhC,EAAEkhC,EAAG,oBAAoB9B,EAAGA,EAAGp/B,GAAGo/B,EAAGh4M,QAAQ44K,GAAGgF,GAAEA,GAAE69T,YAAY,MAAM1hS,GAAI,GAAG,OAAOn8B,GAAE,MAAM12J,MAAMllB,EAAE,MAAMwzM,GAAG53B,GAAEm8B,GAAIn8B,GAAEA,GAAE69T,kBAAiB,OAAO79T,IAAGA,GACpf,KAAKm6T,KAAKv6T,GAAEv0L,OAAO0L,EAAEqL,QAAQ9V,EAAE,GAAG43f,GAAGA,IAAG,EAAGxqP,GAAG3iQ,EAAEotf,GAAG7vf,OAAO,IAAI0rL,GAAE70L,EAAE,OAAO60L,IAAG1rL,EAAE0rL,GAAE69T,WAAW79T,GAAE69T,WAAW,KAAK79T,GAAE1rL,EAAmI,GAA5G,KAArBA,EAAEyC,EAAE+tf,oBAAyBvB,GAAG,MAAM,aAAajvf,EAAEyC,IAAIutf,GAAGD,MAAMA,GAAG,EAAEC,GAAGvtf,GAAGstf,GAAG,EAAE,oBAAoB2C,IAAIA,GAAG16f,EAAEwgf,UAAUvgf,GAAGy0L,GAAEjqL,GAAMosf,GAAG,MAAMA,IAAG,EAAGpsf,EAAEqsf,GAAGA,GAAG,KAAKrsf,EAAE,OA5B3M,KAAK,EA4B0M6oL,KAAsBk7T,KAAL,KAAsB,SAASiM,KAAK,KAAK,OAAO/mU,IAAG,CAAC,IAAIjpL,EAAEipL,GAAEquT,UAAU,KAAO,IAAFt3e,IAAQ2rf,GAAG1iU,GAAEouT,UAAUpuT,IAAG,KAAO,IAAFjpL,IAAQmtf,KAAKA,IAAG,EAAGvJ,GAAG,IAAG,WAAgB,OAAL2K,KAAY,SAAQtlU,GAAEA,GAAE69T,YAC9c,SAASyH,KAAK,GAAG,KAAKnB,GAAG,CAAC,IAAIptf,EAAE,GAAGotf,GAAG,GAAGA,GAAS,OAANA,GAAG,GAAUzJ,GAAG3jf,EAAEkwf,KAAK,SAASA,KAAK,GAAG,OAAOvtP,GAAG,OAAM,EAAG,IAAI3iQ,EAAE2iQ,GAAW,GAARA,GAAG,KA7B3C,KA6BqD,GAAD95E,IAAe,MAAMt2J,MAAMllB,EAAE,MAAM,IAAI9P,EAAEsrL,GAAQ,IAANA,IA7B/E,GA6ByF7oL,EAAEA,EAAEqL,QAAQ07e,YAAY,OAAO/mf,GAAG,CAAC,IAAI,IAAIzK,EAAEyK,EAAE,GAAG,KAAiB,IAAZzK,EAAE+hf,WAAe,OAAO/hf,EAAE+nI,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAGkkI,GAAG,EAAEjsQ,GAAG+3N,GAAG,EAAE/3N,IAAI,MAAMC,GAAG,GAAG,OAAOwK,EAAE,MAAMuyB,MAAMllB,EAAE,MAAMwzM,GAAG7gN,EAAExK,GAAGD,EAAEyK,EAAE8mf,WAAW9mf,EAAE8mf,WAAW,KAAK9mf,EAAEzK,EAAW,OAATszL,GAAEtrL,EAAEwmf,MAAW,EAC5Z,SAASoM,GAAGnwf,EAAEzC,EAAEhI,GAAkC8vf,GAAGrlf,EAAxBzC,EAAE4uf,GAAGnsf,EAAfzC,EAAE6vN,GAAG73N,EAAEgI,GAAY,aAAuC,QAAnByC,EAAE0tf,GAAG1tf,EAAE,cAAsBiqL,GAAEjqL,GAAG,SAAS6gN,GAAG7gN,EAAEzC,GAAG,GAAG,IAAIyC,EAAEs9H,IAAI6yX,GAAGnwf,EAAEA,EAAEzC,QAAQ,IAAI,IAAIhI,EAAEyK,EAAE2gJ,OAAO,OAAOprJ,GAAG,CAAC,GAAG,IAAIA,EAAE+nI,IAAI,CAAC6yX,GAAG56f,EAAEyK,EAAEzC,GAAG,MAAW,GAAG,IAAIhI,EAAE+nI,IAAI,CAAC,IAAI9nI,EAAED,EAAEwgf,UAAU,GAAG,oBAAoBxgf,EAAE+O,KAAKmrd,0BAA0B,oBAAoBj6d,EAAE+2f,oBAAoB,OAAOC,KAAKA,GAAGn0a,IAAI7iF,IAAI,CAAgC6vf,GAAG9vf,EAAxByK,EAAEssf,GAAG/2f,EAAfyK,EAAEotN,GAAG7vN,EAAEyC,GAAY,aAAuC,QAAnBzK,EAAEm4f,GAAGn4f,EAAE,cAAsB00L,GAAE10L,GAAG,OAAOA,EAAEA,EAAEorJ,QACxb,SAAS6uW,GAAGxvf,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEwK,EAAEuvf,UAAU,OAAO/5f,GAAGA,EAAE2if,OAAO56e,GAAGkrL,KAAIzoL,GAAG06D,KAAInlE,EAAEy4B,KAAIgxL,IAAIhxL,KAAIsb,IAAI,aAAayjd,IAAItJ,KAAKh0R,GA/BqG,IA+B/F++R,GAAGxuf,EAAE06D,IAAGwyb,IAAG,EAAGY,GAAG9tf,EAAEzK,KAAwB,KAAnBgI,EAAEyC,EAAEguf,iBAAsBzwf,EAAEhI,IAAIyK,EAAEguf,eAAez4f,EAAE00L,GAAEjqL,KAAK,SAASisf,GAAGjsf,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAE+1e,UAAU,OAAOxgf,GAAGA,EAAE4if,OAAO56e,GAAO,KAAJA,EAAE,KAAiBA,EAAE0of,GAAT1of,EAAEyof,KAAYhmf,EAAE,OAAiB,QAAVA,EAAE0tf,GAAG1tf,EAAEzC,KAAa0sL,GAAEjqL,GACxT0sf,GAAG,SAAS1sf,EAAEzC,EAAEhI,GAAG,IAAIC,EAAE+H,EAAEmnf,eAAe,GAAG,OAAO1kf,EAAE,CAAC,IAAI5L,EAAEmJ,EAAEktf,aAAa,GAAGzqf,EAAE6nf,gBAAgBzzf,GAAG21L,GAAE1+K,QAAQs5e,IAAG,MAAO,CAAC,GAAGnvf,EAAED,EAAE,CAAO,OAANovf,IAAG,EAAUpnf,EAAE+/H,KAAK,KAAK,EAAEgtF,GAAG/sN,GAAGstf,KAAK,MAAM,KAAK,EAAQ,GAANnD,GAAGnqf,GAAa,EAAPA,EAAExH,MAAQ,IAAIR,GAAGnB,EAAEovQ,OAAO,OAAOjmQ,EAAEmnf,eAAennf,EAAEgnf,oBAAoB,EAAE,KAAK,MAAM,KAAK,EAAErhU,GAAE3lL,EAAE+G,OAAOs9e,GAAGrkf,GAAG,MAAM,KAAK,EAAEpF,GAAGoF,EAAEA,EAAEw4e,UAAUkC,eAAe,MAAM,KAAK,GAAGzif,EAAE+H,EAAEsqf,cAAc90f,MAAMqB,EAAEmJ,EAAE+G,KAAKm2U,SAASp3J,GAAE6gU,GAAG9vf,EAAE0gf,eAAe1gf,EAAE0gf,cAAct/e,EAAE,MAAM,KAAK,GAAG,GAAG,OAAO+H,EAAEg6e,cACjd,OAAG,KAD6d/hf,EAAE+H,EAAEsJ,MAAM09e,sBAChe/uf,GAAGD,EAAS+qN,GAAGtgN,EAAEzC,EAAEhI,IAAG8tL,GAAE96J,GAAY,EAAVA,GAAEld,SAA8B,QAAnB9N,EAAEytf,GAAGhrf,EAAEzC,EAAEhI,IAAmBgI,EAAEo8Y,QAAQ,MAAKt2N,GAAE96J,GAAY,EAAVA,GAAEld,SAAW,MAAM,KAAK,GAA8B,GAA3B7V,EAAE+H,EAAEgnf,qBAAqBhvf,EAAK,KAAiB,GAAZyK,EAAEs3e,WAAc,CAAC,GAAG9hf,EAAE,OAAOwhB,GAAGhX,EAAEzC,EAAEhI,GAAGgI,EAAE+5e,WAAW,GAA6E,GAAxD,QAAlBljf,EAAEmJ,EAAEg6e,iBAAyBnjf,EAAEi3f,UAAU,KAAKj3f,EAAEytU,KAAK,MAAMx+I,GAAE96J,GAAEA,GAAEld,UAAa7V,EAAE,OAAO,KAAK,OAAOw1f,GAAGhrf,EAAEzC,EAAEhI,GAAGovf,IAAG,QAASA,IAAG,EAAsB,OAAnBpnf,EAAEmnf,eAAe,EAASnnf,EAAE+/H,KAAK,KAAK,EAChW,GADkW9nI,EAAE+H,EAAE+G,KAAK,OAAOtE,IAAIA,EAAEq3e,UAAU,KAAK95e,EAAE85e,UAAU,KAAK95e,EAAE+5e,WAAW,GAAGt3e,EAAEzC,EAAEktf,aAAar2f,EAAEmtf,GAAGhkf,EAAE6rL,GAAE/9K,SAASm5e,GAAGjnf,EAAEhI,GAAGnB,EAAEopE,GAAG,KAClfjgE,EAAE/H,EAAEwK,EAAE5L,EAAEmB,GAAGgI,EAAE+5e,WAAW,EAAK,kBAAkBljf,GAAG,OAAOA,GAAG,oBAAoBA,EAAE+R,aAAQ,IAAS/R,EAAEunH,SAAS,CAAiD,GAAhDp+G,EAAE+/H,IAAI,EAAE//H,EAAEg6e,cAAc,KAAKh6e,EAAEwnf,YAAY,KAAQ7hU,GAAE1tL,GAAG,CAAC,IAAIlB,GAAE,EAAGstf,GAAGrkf,QAAQjJ,GAAE,EAAGiJ,EAAEg6e,cAAc,OAAOnjf,EAAEgkE,YAAO,IAAShkE,EAAEgkE,MAAMhkE,EAAEgkE,MAAM,KAAK0sb,GAAGvnf,GAAG,IAAID,EAAE9H,EAAEukL,yBAAyB,oBAAoBz8K,GAAGuof,GAAGtof,EAAE/H,EAAE8H,EAAE0C,GAAG5L,EAAE4/e,QAAQ8R,GAAGvof,EAAEw4e,UAAU3hf,EAAEA,EAAE2xf,oBAAoBxof,EAAEgpf,GAAGhpf,EAAE/H,EAAEwK,EAAEzK,GAAGgI,EAAEkmN,GAAG,KAAKlmN,EAAE/H,GAAE,EAAGlB,EAAEiB,QAAQgI,EAAE+/H,IAAI,EAAEirD,GAAE,KAAKhrL,EAAEnJ,EAAEmB,GAAGgI,EAAEA,EAAEsJ,MAAM,OAAOtJ,EAAE,KAAK,GAAGyC,EAAE,CACzZ,GAD0Z5L,EAAEmJ,EAAEigH,YAAY,OAAOx9G,IAAIA,EAAEq3e,UACpf,KAAK95e,EAAE85e,UAAU,KAAK95e,EAAE+5e,WAAW,GAAGt3e,EAAEzC,EAAEktf,aAzOoP,SAAYzqf,GAAG,IAAI,IAAIA,EAAEo1e,QAAQ,CAACp1e,EAAEo1e,QAAQ,EAAE,IAAI73e,EAAEyC,EAAEm1e,MAAM53e,EAAEA,IAAIyC,EAAEq1e,QAAQ93e,EAAEA,EAAEypH,MAAK,SAASzpH,GAAG,IAAIyC,EAAEo1e,UAAU73e,EAAEA,EAAEspB,QAAQ7mB,EAAEo1e,QAAQ,EAAEp1e,EAAEq1e,QAAQ93e,MAAI,SAASA,GAAG,IAAIyC,EAAEo1e,UAAUp1e,EAAEo1e,QAAQ,EAAEp1e,EAAEq1e,QAAQ93e,OAyOhbshN,CAAGzqN,GAAM,IAAIA,EAAEghf,QAAQ,MAAMhhf,EAAEihf,QAAqD,OAA7Cjhf,EAAEA,EAAEihf,QAAQ93e,EAAE+G,KAAKlQ,EAAEE,EAAEiJ,EAAE+/H,IAQzD,SAAYt9H,GAAG,GAAG,oBAAoBA,EAAE,OAAOgtN,GAAGhtN,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAE27G,YAAgB8wG,GAAG,OAAO,GAAG,GAAGzsN,IAAIilN,GAAG,OAAO,GAAG,OAAO,EARjFmrS,CAAGh8f,GAAG4L,EAAEikf,GAAG7vf,EAAE4L,GAAU1L,GAAG,KAAK,EAAEiJ,EAAEyuN,GAAG,KAAKzuN,EAAEnJ,EAAE4L,EAAEzK,GAAG,MAAMyK,EAAE,KAAK,EAAEzC,EAAEuuN,GAAG,KAAKvuN,EAAEnJ,EAAE4L,EAAEzK,GAAG,MAAMyK,EAAE,KAAK,GAAGzC,EAAEwtf,GAAG,KAAKxtf,EAAEnJ,EAAE4L,EAAEzK,GAAG,MAAMyK,EAAE,KAAK,GAAGzC,EAAEgtN,GAAG,KAAKhtN,EAAEnJ,EAAE6vf,GAAG7vf,EAAEkQ,KAAKtE,GAAGxK,EAAED,GAAG,MAAMyK,EAAE,MAAMuyB,MAAMllB,EAAE,IAAIjZ,EAAE,KAAM,OAAOmJ,EAAE,KAAK,EAAE,OAAO/H,EAAE+H,EAAE+G,KAAKlQ,EAAEmJ,EAAEktf,aAA2Cz+R,GAAGhsN,EAAEzC,EAAE/H,EAArCpB,EAAEmJ,EAAEigH,cAAchoH,EAAEpB,EAAE6vf,GAAGzuf,EAAEpB,GAAcmB,GAAG,KAAK,EAAE,OAAOC,EAAE+H,EAAE+G,KAAKlQ,EAAEmJ,EAAEktf,aAA2C3+R,GAAG9rN,EAAEzC,EAAE/H,EAArCpB,EAAEmJ,EAAEigH,cAAchoH,EAAEpB,EAAE6vf,GAAGzuf,EAAEpB,GAAcmB,GACpf,KAAK,EAAwB,GAAtB+0N,GAAG/sN,GAAG/H,EAAE+H,EAAEwnf,YAAe,OAAO/kf,GAAG,OAAOxK,EAAE,MAAM+8B,MAAMllB,EAAE,MAAoH,GAA9G7X,EAAE+H,EAAEktf,aAA+Br2f,EAAE,QAApBA,EAAEmJ,EAAEg6e,eAAyBnjf,EAAE2Z,QAAQ,KAAKm3e,GAAGllf,EAAEzC,GAAGgof,GAAGhof,EAAE/H,EAAE,KAAKD,IAAGC,EAAE+H,EAAEg6e,cAAcxpe,WAAe3Z,EAAEy2f,KAAKttf,EAAEytf,GAAGhrf,EAAEzC,EAAEhI,OAAO,CAAmF,IAA/EnB,EAAEmJ,EAAEw4e,UAAUuC,WAAQ8R,GAAGjuS,GAAG5+M,EAAEw4e,UAAUkC,cAActld,YAAYw3d,GAAG5sf,EAAEnJ,EAAEi2f,IAAG,GAAMj2f,EAAE,IAAImB,EAAE+xf,GAAG/pf,EAAE,KAAK/H,EAAED,GAAGgI,EAAEsJ,MAAMtR,EAAEA,GAAGA,EAAE+hf,WAAuB,EAAb/hf,EAAE+hf,UAAa,KAAK/hf,EAAEA,EAAEokZ,aAAapxN,GAAEvoL,EAAEzC,EAAE/H,EAAED,GAAGs1f,KAAKttf,EAAEA,EAAEsJ,MAAM,OAAOtJ,EAAE,KAAK,EAAE,OAAOmqf,GAAGnqf,GAAG,OAAOyC,GAAG0qf,GAAGntf,GAAG/H,EAAE+H,EAAE+G,KAAKlQ,EAAEmJ,EAAEktf,aAAan2f,EAAE,OAAO0L,EAAEA,EAAE6nf,cAC5e,KAAKvqf,EAAElJ,EAAEyR,SAASwiN,GAAG7yN,EAAEpB,GAAGkJ,EAAE,KAAK,OAAOhJ,GAAG+zN,GAAG7yN,EAAElB,KAAKiJ,EAAE+5e,WAAW,IAAIltR,GAAGpqN,EAAEzC,GAAU,EAAPA,EAAExH,MAAQ,IAAIR,GAAGnB,EAAEovQ,QAAQjmQ,EAAEmnf,eAAennf,EAAEgnf,oBAAoB,EAAEhnf,EAAE,OAAOgrL,GAAEvoL,EAAEzC,EAAED,EAAE/H,GAAGgI,EAAEA,EAAEsJ,OAAOtJ,EAAE,KAAK,EAAE,OAAO,OAAOyC,GAAG0qf,GAAGntf,GAAG,KAAK,KAAK,GAAG,OAAO+iN,GAAGtgN,EAAEzC,EAAEhI,GAAG,KAAK,EAAE,OAAO4C,GAAGoF,EAAEA,EAAEw4e,UAAUkC,eAAezif,EAAE+H,EAAEktf,aAAa,OAAOzqf,EAAEzC,EAAEsJ,MAAMwgf,GAAG9pf,EAAE,KAAK/H,EAAED,GAAGgzL,GAAEvoL,EAAEzC,EAAE/H,EAAED,GAAGgI,EAAEsJ,MAAM,KAAK,GAAG,OAAOrR,EAAE+H,EAAE+G,KAAKlQ,EAAEmJ,EAAEktf,aAA2CM,GAAG/qf,EAAEzC,EAAE/H,EAArCpB,EAAEmJ,EAAEigH,cAAchoH,EAAEpB,EAAE6vf,GAAGzuf,EAAEpB,GAAcmB,GAAG,KAAK,EAAE,OAAOgzL,GAAEvoL,EAAEzC,EAAEA,EAAEktf,aAAal1f,GAAGgI,EAAEsJ,MAAM,KAAK,EACpc,KAAK,GAAG,OAAO0hL,GAAEvoL,EAAEzC,EAAEA,EAAEktf,aAAa5kf,SAAStQ,GAAGgI,EAAEsJ,MAAM,KAAK,GAAG7G,EAAE,CAACxK,EAAE+H,EAAE+G,KAAKm2U,SAASrmV,EAAEmJ,EAAEktf,aAAantf,EAAEC,EAAEsqf,cAAcvzf,EAAEF,EAAErB,MAAM,IAAIs0B,EAAE9pB,EAAE+G,KAAKm2U,SAAiD,GAAxCp3J,GAAE6gU,GAAG78d,EAAEytd,eAAeztd,EAAEytd,cAAcxgf,EAAK,OAAOgJ,EAAE,GAAG+pB,EAAE/pB,EAAEvK,MAA0G,KAApGuB,EAAEolM,GAAGryK,EAAE/yB,GAAG,EAAwF,GAArF,oBAAoBkB,EAAEq/e,sBAAsBr/e,EAAEq/e,sBAAsBxtd,EAAE/yB,GAAG,cAAqB,GAAGgJ,EAAEuI,WAAWzR,EAAEyR,WAAWkkL,GAAE1+K,QAAQ,CAAC9N,EAAEytf,GAAGhrf,EAAEzC,EAAEhI,GAAG,MAAMyK,QAAQ,IAAc,QAAVqnB,EAAE9pB,EAAEsJ,SAAiBwgB,EAAEs5H,OAAOpjJ,GAAG,OAAO8pB,GAAG,CAAC,IAAIpS,EAAEoS,EAAEyud,aAAa,GAAG,OACnf7ge,EAAE,CAAC3X,EAAE+pB,EAAExgB,MAAM,IAAI,IAAIzR,EAAE6f,EAAEwve,aAAa,OAAOrvf,GAAG,CAAC,GAAGA,EAAEuzD,UAAUnzD,GAAG,KAAKJ,EAAEg6d,aAAa96d,GAAG,CAAC,IAAI+yB,EAAEi2G,OAAMloI,EAAE+vf,GAAG5vf,EAAE,OAAQ+nI,IAAI,EAAE+nX,GAAGh+d,EAAEjyB,IAAIiyB,EAAEq9d,eAAenvf,IAAI8xB,EAAEq9d,eAAenvf,GAAiB,QAAdH,EAAEiyB,EAAEgwd,YAAoBjif,EAAEsvf,eAAenvf,IAAIH,EAAEsvf,eAAenvf,GAAGm6B,GAAGrI,EAAEs5H,OAAOprJ,GAAG0f,EAAEyve,eAAenvf,IAAI0f,EAAEyve,eAAenvf,GAAG,MAAMH,EAAEA,EAAER,WAAW0I,EAAE,KAAK+pB,EAAEi2G,KAAIj2G,EAAE/iB,OAAO/G,EAAE+G,KAAK,KAAa+iB,EAAExgB,MAAM,GAAG,OAAOvJ,EAAEA,EAAEqjJ,OAAOt5H,OAAO,IAAI/pB,EAAE+pB,EAAE,OAAO/pB,GAAG,CAAC,GAAGA,IAAIC,EAAE,CAACD,EAAE,KAAK,MAAkB,GAAG,QAAf+pB,EAAE/pB,EAAEq8Y,SAAoB,CAACtyX,EAAEs5H,OAAOrjJ,EAAEqjJ,OAAOrjJ,EAAE+pB,EAAE,MAAM/pB,EAAEA,EAAEqjJ,OAAOt5H,EACpf/pB,EAAEirL,GAAEvoL,EAAEzC,EAAEnJ,EAAEyR,SAAStQ,GAAGgI,EAAEA,EAAEsJ,MAAM,OAAOtJ,EAAE,KAAK,EAAE,OAAOnJ,EAAEmJ,EAAE+G,KAAsB9O,GAAjBlB,EAAEiJ,EAAEktf,cAAiB5kf,SAAS2+e,GAAGjnf,EAAEhI,GAAmCC,EAAEA,EAAlCpB,EAAEugO,GAAGvgO,EAAEE,EAAE+7f,wBAA8B9yf,EAAE+5e,WAAW,EAAE/uT,GAAEvoL,EAAEzC,EAAE/H,EAAED,GAAGgI,EAAEsJ,MAAM,KAAK,GAAG,OAAgBvS,EAAE2vf,GAAX7vf,EAAEmJ,EAAE+G,KAAY/G,EAAEktf,cAA6BlgS,GAAGvqN,EAAEzC,EAAEnJ,EAAtBE,EAAE2vf,GAAG7vf,EAAEkQ,KAAKhQ,GAAckB,EAAED,GAAG,KAAK,GAAG,OAAO02N,GAAGjsN,EAAEzC,EAAEA,EAAE+G,KAAK/G,EAAEktf,aAAaj1f,EAAED,GAAG,KAAK,GAAG,OAAOC,EAAE+H,EAAE+G,KAAKlQ,EAAEmJ,EAAEktf,aAAar2f,EAAEmJ,EAAEigH,cAAchoH,EAAEpB,EAAE6vf,GAAGzuf,EAAEpB,GAAG,OAAO4L,IAAIA,EAAEq3e,UAAU,KAAK95e,EAAE85e,UAAU,KAAK95e,EAAE+5e,WAAW,GAAG/5e,EAAE+/H,IAAI,EAAE4lD,GAAE1tL,IAAIwK,GAAE,EAAG4hf,GAAGrkf,IAAIyC,GAAE,EAAGwkf,GAAGjnf,EAAEhI,GAAG8wf,GAAG9of,EAAE/H,EAAEpB,GAAGmyf,GAAGhpf,EAAE/H,EAAEpB,EAAEmB,GAAGkuN,GAAG,KAClflmN,EAAE/H,GAAE,EAAGwK,EAAEzK,GAAG,KAAK,GAAG,OAAOyhB,GAAGhX,EAAEzC,EAAEhI,GAAG,MAAMg9B,MAAMllB,EAAE,IAAI9P,EAAE+/H,OAAQ,IAAI2yX,GAAG,KAAK9iS,GAAG,KAChF,SAASmjS,GAAGtwf,EAAEzC,EAAEhI,EAAEC,GAAGnC,KAAKiqI,IAAIt9H,EAAE3M,KAAK3C,IAAI6E,EAAElC,KAAKsmZ,QAAQtmZ,KAAKwT,MAAMxT,KAAKstJ,OAAOttJ,KAAK0if,UAAU1if,KAAKiR,KAAKjR,KAAKmqH,YAAY,KAAKnqH,KAAKmhC,MAAM,EAAEnhC,KAAKouE,IAAI,KAAKpuE,KAAKo3f,aAAaltf,EAAElK,KAAKyif,aAAazif,KAAKkkf,cAAclkf,KAAK0xf,YAAY1xf,KAAKw0f,cAAc,KAAKx0f,KAAK0C,KAAKP,EAAEnC,KAAKikf,UAAU,EAAEjkf,KAAKwzf,WAAWxzf,KAAK0zf,YAAY1zf,KAAKyzf,WAAW,KAAKzzf,KAAKkxf,oBAAoBlxf,KAAKqxf,eAAe,EAAErxf,KAAKgkf,UAAU,KAAK,SAASkT,GAAGvqf,EAAEzC,EAAEhI,EAAEC,GAAG,OAAO,IAAI86f,GAAGtwf,EAAEzC,EAAEhI,EAAEC,GAC1b,SAASw3N,GAAGhtN,GAAiB,UAAdA,EAAEA,EAAElP,aAAuBkP,EAAE8pa,kBAC5C,SAASk9E,GAAGhnf,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAEq3e,UAC4E,OADlE,OAAO9hf,IAAGA,EAAEg1f,GAAGvqf,EAAEs9H,IAAI//H,EAAEyC,EAAEtP,IAAIsP,EAAEjK,OAAQynH,YAAYx9G,EAAEw9G,YAAYjoH,EAAE+O,KAAKtE,EAAEsE,KAAK/O,EAAEwgf,UAAU/1e,EAAE+1e,UAAUxgf,EAAE8hf,UAAUr3e,EAAEA,EAAEq3e,UAAU9hf,IAAIA,EAAEk1f,aAAaltf,EAAEhI,EAAE+hf,UAAU,EAAE/hf,EAAEuxf,WAAW,KAAKvxf,EAAEwxf,YAAY,KAAKxxf,EAAEsxf,WAAW,MAAMtxf,EAAEgvf,oBAAoBvkf,EAAEukf,oBAAoBhvf,EAAEmvf,eAAe1kf,EAAE0kf,eAAenvf,EAAEsR,MAAM7G,EAAE6G,MAAMtR,EAAEsyf,cAAc7nf,EAAE6nf,cAActyf,EAAEgif,cAAcv3e,EAAEu3e,cAAchif,EAAEwvf,YAAY/kf,EAAE+kf,YAAYxnf,EAAEyC,EAAE81e,aAAavgf,EAAEugf,aAAa,OAAOv4e,EAAE,KAAK,CAACmnf,eAAennf,EAAEmnf,eACzfD,aAAalnf,EAAEknf,aAAaG,WAAWrnf,EAAEqnf,YAAYrvf,EAAEokZ,QAAQ35Y,EAAE25Y,QAAQpkZ,EAAEi/B,MAAMx0B,EAAEw0B,MAAMj/B,EAAEksE,IAAIzhE,EAAEyhE,IAAWlsE,EAC5G,SAAS2xf,GAAGlnf,EAAEzC,EAAEhI,EAAEC,EAAEpB,EAAEE,GAAG,IAAIgJ,EAAE,EAAM,GAAJ9H,EAAEwK,EAAK,oBAAoBA,EAAEgtN,GAAGhtN,KAAK1C,EAAE,QAAQ,GAAG,kBAAkB0C,EAAE1C,EAAE,OAAO0C,EAAE,OAAOA,GAAG,KAAKshN,GAAG,OAAO8lS,GAAG7xf,EAAEsQ,SAASzR,EAAEE,EAAEiJ,GAAG,KAAK+/M,GAAGhgN,EAAE,EAAElJ,GAAG,EAAE,MAAM,KAAKqN,GAAGnE,EAAE,EAAElJ,GAAG,EAAE,MAAM,KAAKgsL,GAAG,OAAOpgL,EAAEuqf,GAAG,GAAGh1f,EAAEgI,EAAI,EAAFnJ,IAAOopH,YAAY4iE,GAAGpgL,EAAEsE,KAAK87K,GAAGpgL,EAAE0kf,eAAepwf,EAAE0L,EAAE,KAAKs+M,GAAG,OAAOt+M,EAAEuqf,GAAG,GAAGh1f,EAAEgI,EAAEnJ,IAAKkQ,KAAKg6M,GAAGt+M,EAAEw9G,YAAY8gG,GAAGt+M,EAAE0kf,eAAepwf,EAAE0L,EAAE,KAAKu+M,GAAG,OAAOv+M,EAAEuqf,GAAG,GAAGh1f,EAAEgI,EAAEnJ,IAAKopH,YAAY+gG,GAAGv+M,EAAE0kf,eAAepwf,EAAE0L,EAAE,QAAQ,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,OAAOA,EAAE27G,UAAU,KAAK06X,GAAG/4e,EACpf,GAAG,MAAM0C,EAAE,KAAKq9M,GAAG//M,EAAE,EAAE,MAAM0C,EAAE,KAAKysN,GAAGnvN,EAAE,GAAG,MAAM0C,EAAE,KAAKilN,GAAG3nN,EAAE,GAAG,MAAM0C,EAAE,KAAKg+M,GAAG1gN,EAAE,GAAG9H,EAAE,KAAK,MAAMwK,EAAE,KAAKiR,GAAG3T,EAAE,GAAG,MAAM0C,EAAE,MAAMuyB,MAAMllB,EAAE,IAAI,MAAMrN,EAAEA,SAASA,EAAE,KAAgE,OAA1DzC,EAAEgtf,GAAGjtf,EAAE/H,EAAEgI,EAAEnJ,IAAKopH,YAAYx9G,EAAEzC,EAAE+G,KAAK9O,EAAE+H,EAAEmnf,eAAepwf,EAASiJ,EAAE,SAAS6pf,GAAGpnf,EAAEzC,EAAEhI,EAAEC,GAAoC,OAAjCwK,EAAEuqf,GAAG,EAAEvqf,EAAExK,EAAE+H,IAAKmnf,eAAenvf,EAASyK,EAAE,SAASinf,GAAGjnf,EAAEzC,EAAEhI,GAAuC,OAApCyK,EAAEuqf,GAAG,EAAEvqf,EAAE,KAAKzC,IAAKmnf,eAAenvf,EAASyK,EACrW,SAASmnf,GAAGnnf,EAAEzC,EAAEhI,GAAuK,OAApKgI,EAAEgtf,GAAG,EAAE,OAAOvqf,EAAE6F,SAAS7F,EAAE6F,SAAS,GAAG7F,EAAEtP,IAAI6M,IAAKmnf,eAAenvf,EAAEgI,EAAEw4e,UAAU,CAACkC,cAAcj4e,EAAEi4e,cAAcsY,gBAAgB,KAAKj2d,eAAet6B,EAAEs6B,gBAAuB/8B,EAC9L,SAAS69E,GAAGp7E,EAAEzC,EAAEhI,GAAGlC,KAAKiqI,IAAI//H,EAAElK,KAAKgY,QAAQ,KAAKhY,KAAK4kf,cAAcj4e,EAAE3M,KAAKk8f,UAAUl8f,KAAKk9f,gBAAgB,KAAKl9f,KAAKw7f,uBAAuB,EAAEx7f,KAAKu7f,aAAa,KAAKv7f,KAAK27f,eAAe,EAAE37f,KAAK43f,eAAe53f,KAAKs1D,QAAQ,KAAKt1D,KAAKilf,QAAQ/if,EAAElC,KAAK+6f,aAAa,KAAK/6f,KAAK86f,iBAAiB,GAAG96f,KAAKw6f,gBAAgBx6f,KAAK26f,eAAe36f,KAAK46f,sBAAsB56f,KAAKy7f,kBAAkBz7f,KAAKu8f,mBAAmBv8f,KAAK06f,iBAAiB,EACva,SAASD,GAAG9tf,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAE4vf,mBAAyC,OAAtB5vf,EAAEA,EAAE8uf,kBAAyB,IAAIv5f,GAAGA,GAAGgI,GAAGyC,GAAGzC,EAAE,SAAS07I,GAAGj5I,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAE4vf,mBAAmBp6f,EAAEwK,EAAE8uf,kBAAkBv5f,EAAEgI,IAAIyC,EAAE4vf,mBAAmBryf,IAAM/H,EAAE+H,GAAG,IAAIhI,KAAEyK,EAAE8uf,kBAAkBvxf,GAAEA,GAAGyC,EAAEguf,iBAAiBhuf,EAAEguf,eAAe,GAAGzwf,GAAGyC,EAAE6tf,kBAAkB7tf,EAAE6tf,gBAAgB,GAClT,SAASl/d,GAAG3uB,EAAEzC,GAAGA,EAAEyC,EAAE+tf,mBAAmB/tf,EAAE+tf,iBAAiBxwf,GAAG,IAAIhI,EAAEyK,EAAE4vf,mBAAmB,IAAIr6f,IAAIgI,GAAGhI,EAAEyK,EAAE4vf,mBAAmB5vf,EAAE8uf,kBAAkB9uf,EAAEiuf,sBAAsB,EAAE1wf,GAAGyC,EAAE8uf,oBAAoB9uf,EAAE8uf,kBAAkBvxf,EAAE,GAAGA,EAAEyC,EAAEiuf,wBAAwBjuf,EAAEiuf,sBAAsB1wf,IAAI,SAAS+wf,GAAGtuf,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAE6tf,iBAAmB,IAAIt4f,GAAGA,EAAEgI,KAAEyC,EAAE6tf,gBAAgBtwf,GAC5V,SAAS2zW,GAAGlxW,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIpB,EAAEmJ,EAAE8N,QAAQ/W,EAAE0xf,KAAK1of,EAAEqof,GAAGlR,SAASngf,EAAE2xf,GAAG3xf,EAAEF,EAAEkJ,GAAG0C,EAAE,GAAGzK,EAAE,CAAyBgI,EAAE,CAAC,GAAG2hN,GAA9B3pN,EAAEA,EAAEwwf,uBAAkCxwf,GAAG,IAAIA,EAAE+nI,IAAI,MAAM/qG,MAAMllB,EAAE,MAAM,IAAIga,EAAE9xB,EAAE,EAAE,CAAC,OAAO8xB,EAAEi2G,KAAK,KAAK,EAAEj2G,EAAEA,EAAE0ud,UAAUptb,QAAQ,MAAMprD,EAAE,KAAK,EAAE,GAAG2lL,GAAE77J,EAAE/iB,MAAM,CAAC+iB,EAAEA,EAAE0ud,UAAU8L,0CAA0C,MAAMtkf,GAAG8pB,EAAEA,EAAEs5H,aAAa,OAAOt5H,GAAG,MAAMkL,MAAMllB,EAAE,MAAO,GAAG,IAAI9X,EAAE+nI,IAAI,CAAC,IAAIroH,EAAE1f,EAAE+O,KAAK,GAAG4+K,GAAEjuK,GAAG,CAAC1f,EAAEwrG,GAAGxrG,EAAE0f,EAAEoS,GAAG,MAAMrnB,GAAGzK,EAAE8xB,OAAO9xB,EAAE8rf,GAC3W,OAD8W,OAAO9jf,EAAEorD,QAAQprD,EAAEorD,QAAQpzD,EAAEgI,EAAE0tf,eAAe11f,GAAEgI,EAAE4nf,GAAG7wf,EAAEgJ,IAAK2oI,QAAQ,CAACl4H,QAAQ/N,GACpe,QADuexK,OAAE,IAClfA,EAAE,KAAKA,KAAa+H,EAAEqhC,SAASppC,GAAG6vf,GAAGjxf,EAAEmJ,GAAG2of,GAAG9xf,EAAEE,GAAUA,EAAE,SAASk8f,GAAGxwf,GAAe,KAAZA,EAAEA,EAAEqL,SAAcxE,MAAM,OAAO,KAAK,OAAO7G,EAAE6G,MAAMy2H,KAAK,KAAK,EAA2B,QAAQ,OAAOt9H,EAAE6G,MAAMkve,WAAW,SAAS0a,GAAGzwf,EAAEzC,GAAqB,QAAlByC,EAAEA,EAAEu3e,gBAAwB,OAAOv3e,EAAEw3e,YAAYx3e,EAAEkrf,UAAU3tf,IAAIyC,EAAEkrf,UAAU3tf,GAAG,SAASmzf,GAAG1wf,EAAEzC,GAAGkzf,GAAGzwf,EAAEzC,IAAIyC,EAAEA,EAAEq3e,YAAYoZ,GAAGzwf,EAAEzC,GACpV,SAASqvT,GAAG5sT,EAAEzC,EAAEhI,GAA6B,IAAIC,EAAE,IAAI4lF,GAAGp7E,EAAEzC,EAAzChI,EAAE,MAAMA,IAAG,IAAKA,EAAE+if,SAA4Blkf,EAAEm2f,GAAG,EAAE,KAAK,KAAK,IAAIhtf,EAAE,EAAE,IAAIA,EAAE,EAAE,GAAG/H,EAAE6V,QAAQjX,EAAEA,EAAE2hf,UAAUvgf,EAAEsvf,GAAG1wf,GAAG4L,EAAEgnN,IAAIxxN,EAAE6V,QAAQ9V,GAAG,IAAIgI,GAhO5J,SAAYyC,EAAEzC,GAAG,IAAIhI,EAAE0pN,GAAG1hN,GAAGkpN,GAAGr+L,SAAQ,SAASpoB,GAAG2mN,GAAG3mN,EAAEzC,EAAEhI,MAAK6xN,GAAGh/L,SAAQ,SAASpoB,GAAG2mN,GAAG3mN,EAAEzC,EAAEhI,MAgOiEuyN,CAAG9nN,EAAE,IAAIA,EAAEkH,SAASlH,EAAEA,EAAEu9B,eAAelqC,KAAKs9f,cAAcn7f,EACzN,SAASo7f,GAAG5wf,GAAG,SAASA,GAAG,IAAIA,EAAEkH,UAAU,IAAIlH,EAAEkH,UAAU,KAAKlH,EAAEkH,WAAW,IAAIlH,EAAEkH,UAAU,iCAAiClH,EAAE24B,YAChI,SAASk4d,GAAG7wf,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,IAAIE,EAAEiB,EAAEy2f,oBAAoB,GAAG13f,EAAE,CAAC,IAAIgJ,EAAEhJ,EAAEq8f,cAAc,GAAG,oBAAoBv8f,EAAE,CAAC,IAAIizB,EAAEjzB,EAAEA,EAAE,WAAW,IAAI4L,EAAEwwf,GAAGlzf,GAAG+pB,EAAEhyB,KAAK2K,IAAIkxW,GAAG3zW,EAAED,EAAE0C,EAAE5L,OAAO,CAAmD,GAAlDE,EAAEiB,EAAEy2f,oBAD9B,SAAYhsf,EAAEzC,GAA0H,GAAvHA,IAA2DA,MAAvDA,EAAEyC,EAAE,IAAIA,EAAEkH,SAASlH,EAAE6Y,gBAAgB7Y,EAAE2yB,WAAW,OAAa,IAAIp1B,EAAE2J,WAAW3J,EAAEomC,aAAa,qBAAwBpmC,EAAE,IAAI,IAAIhI,EAAEA,EAAEyK,EAAEo/B,WAAWp/B,EAAE4X,YAAYriB,GAAG,OAAO,IAAIq3T,GAAG5sT,EAAE,EAAEzC,EAAE,CAAC+6e,SAAQ,QAAI,GACvKwY,CAAGv7f,EAAEC,GAAG8H,EAAEhJ,EAAEq8f,cAAiB,oBAAoBv8f,EAAE,CAAC,IAAI6gB,EAAE7gB,EAAEA,EAAE,WAAW,IAAI4L,EAAEwwf,GAAGlzf,GAAG2X,EAAE5f,KAAK2K,IAAIsvf,IAAG,WAAWp+I,GAAG3zW,EAAED,EAAE0C,EAAE5L,MAAK,OAAOo8f,GAAGlzf,GAAG,SAASyzf,GAAG/wf,EAAEzC,EAAEhI,GAAG,IAAIC,EAAE,EAAEhC,UAAUrD,aAAQ,IAASqD,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAACmoH,SAASkxG,GAAGn8N,IAAI,MAAM8E,EAAE,KAAK,GAAGA,EAAEqQ,SAAS7F,EAAEi4e,cAAc16e,EAAE+8B,eAAe/kC,GAGpR,SAASo+N,GAAG3zN,EAAEzC,GAAG,IAAIhI,EAAE,EAAE/B,UAAUrD,aAAQ,IAASqD,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAIo9f,GAAGrzf,GAAG,MAAMg1B,MAAMllB,EAAE,MAAM,OAAO0jf,GAAG/wf,EAAEzC,EAAE,KAAKhI,GALpIq3T,GAAG97T,UAAUqV,OAAO,SAASnG,GAAGkxW,GAAGlxW,EAAE3M,KAAKs9f,cAAc,KAAK,OAAO/jM,GAAG97T,UAAUkggB,QAAQ,WAAW,IAAIhxf,EAAE3M,KAAKs9f,cAAcpzf,EAAEyC,EAAEi4e,cAAc/mI,GAAG,KAAKlxW,EAAE,MAAK,WAAWzC,EAAEypN,IAAI,SAG1Y7D,GAAG,SAASnjN,GAAG,GAAG,KAAKA,EAAEs9H,IAAI,CAAC,IAAI//H,EAAEymf,GAAGgC,KAAK,IAAI,KAAKE,GAAGlmf,EAAEzC,GAAGmzf,GAAG1wf,EAAEzC,KAAK0jN,GAAG,SAASjhN,GAAG,KAAKA,EAAEs9H,MAAM4oX,GAAGlmf,EAAE,GAAG0wf,GAAG1wf,EAAE,KAAKujN,GAAG,SAASvjN,GAAG,GAAG,KAAKA,EAAEs9H,IAAI,CAAC,IAAI//H,EAAEyof,KAAoBE,GAAGlmf,EAAlBzC,EAAE0of,GAAG1of,EAAEyC,EAAE,OAAc0wf,GAAG1wf,EAAEzC,KAC1LsqN,EAAG,SAAS7nN,EAAEzC,EAAEhI,GAAG,OAAOgI,GAAG,IAAK,QAAyB,GAAjBsnN,GAAG7kN,EAAEzK,GAAGgI,EAAEhI,EAAEE,KAAQ,UAAUF,EAAE+O,MAAM,MAAM/G,EAAE,CAAC,IAAIhI,EAAEyK,EAAEzK,EAAEyjB,YAAYzjB,EAAEA,EAAEyjB,WAAsF,IAA3EzjB,EAAEA,EAAE6kB,iBAAiB,cAAcmB,KAAKC,UAAU,GAAGje,GAAG,mBAAuBA,EAAE,EAAEA,EAAEhI,EAAEpF,OAAOoN,IAAI,CAAC,IAAI/H,EAAED,EAAEgI,GAAG,GAAG/H,IAAIwK,GAAGxK,EAAE+vb,OAAOvlb,EAAEulb,KAAK,CAAC,IAAInxb,EAAE8pN,GAAG1oN,GAAG,IAAIpB,EAAE,MAAMm+B,MAAMllB,EAAE,KAAKs6M,GAAGnyN,GAAGqvN,GAAGrvN,EAAEpB,KAAK,MAAM,IAAK,WAAWqrN,GAAGz/M,EAAEzK,GAAG,MAAM,IAAK,SAAmB,OAAVgI,EAAEhI,EAAExC,QAAe00N,GAAGznN,IAAIzK,EAAEimb,SAASj+a,GAAE,KAAM8rN,EAAGgmS,GAC9ZxlS,EAAG,SAAS7pN,EAAEzC,EAAEhI,EAAEC,EAAEpB,GAAG,IAAIE,EAAEu0L,GAAEA,IAAG,EAAE,IAAI,OAAO86T,GAAG,GAAG3jf,EAAE9J,KAAK,KAAKqH,EAAEhI,EAAEC,EAAEpB,IAAnC,QA3DoC,KA2DWy0L,GAAEv0L,IAASyvf,OAAOj7R,EAAG,WA3DhC,KA2D6C,GAADjgC,MAhD0R,WAAc,GAAG,OAAOwkU,GAAG,CAAC,IAAIrtf,EAAEqtf,GAAGA,GAAG,KAAKrtf,EAAEooB,SAAQ,SAASpoB,EAAEzK,GAAG+4f,GAAG/4f,EAAEyK,GAAGiqL,GAAE10L,MAAKwuf,MAgD3VkN,GAAK1C,OAAOxlS,EAAG,SAAS/oN,EAAEzC,GAAG,IAAIhI,EAAEszL,GAAEA,IAAG,EAAE,IAAI,OAAO7oL,EAAEzC,GAAb,QA3DzG,KA2DiIsrL,GAAEtzL,IAASwuf,OAA8I,IAAImN,GAAG,CAACvsB,OAAO,CAACvlR,GAAGnB,GAAGC,GAAGsO,EAAG7D,EAAGoyR,GAAG,SAAS/6e,GAAG27M,GAAG37M,EAAE86e,KAAKn8R,EAAG3B,EAAGxlM,GAAGu1M,GAAGwhS,GAAG,CAACljf,SAAQ,MAClb,SAAUrL,GAAG,IAAIzC,EAAEyC,EAAEmxf,yBAnBgE,SAAYnxf,GAAG,GAAG,qBAAqB86I,+BAA+B,OAAM,EAAG,IAAIv9I,EAAEu9I,+BAA+B,GAAGv9I,EAAEi2Y,aAAaj2Y,EAAE6zf,cAAc,OAAM,EAAG,IAAI,IAAI77f,EAAEgI,EAAE8zf,OAAOrxf,GAAGiwf,GAAG,SAASjwf,GAAG,IAAIzC,EAAE+zf,kBAAkB/7f,EAAEyK,OAAE,EAAO,MAA0B,GAApBA,EAAEqL,QAAQise,YAAe,MAAMljf,MAAM+4N,GAAG,SAASntN,GAAG,IAAIzC,EAAEg0f,qBAAqBh8f,EAAEyK,GAAG,MAAM5L,MAAM,MAAMoB,MAmBpXg8f,CAAGt9f,EAAE,GAAG8L,EAAE,CAACyxf,kBAAkB,KAAKC,cAAc,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqB3uS,EAAGqxR,uBAAuBud,wBAAwB,SAAS9xf,GAAW,OAAO,QAAfA,EAAE2hN,GAAG3hN,IAAmB,KAAKA,EAAE+1e,WAAWob,wBAAwB,SAASnxf,GAAG,OAAOzC,EAAEA,EAAEyC,GAAG,MAAM+xf,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,QAAzb,CAAmc,CAAChB,wBAAwBvrS,GAAGwsS,WAAW,EAAEnwd,QAAQ,UACpfowd,oBAAoB,cAAc7ogB,EAAQorf,mDAAmDsc,GAAG1ngB,EAAQ44H,aAAauxG,GAAGnqO,EAAQoxL,YAAY,SAAS56K,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEkH,SAAS,OAAOlH,EAAE,IAAIzC,EAAEyC,EAAE+lf,oBAAoB,QAAG,IAASxof,EAAE,CAAC,GAAG,oBAAoByC,EAAEmG,OAAO,MAAMosB,MAAMllB,EAAE,MAAM,MAAMklB,MAAMllB,EAAE,IAAI7c,OAAO23B,KAAKnoB,KAA0C,OAA5BA,EAAE,QAAVA,EAAE2hN,GAAGpkN,IAAc,KAAKyC,EAAE+1e,WACvWvsf,EAAQ8ogB,UAAU,SAAStyf,EAAEzC,GAAG,GA9DwC,KA8DnC,GAADsrL,IAAe,MAAMt2J,MAAMllB,EAAE,MAAM,IAAI9X,EAAEszL,GAAEA,IAAG,EAAE,IAAI,OAAO86T,GAAG,GAAG3jf,EAAE9J,KAAK,KAAKqH,IAA7B,QAAyCsrL,GAAEtzL,EAAEwuf,OAAOv6f,EAAQ8uf,QAAQ,SAASt4e,EAAEzC,EAAEhI,GAAG,IAAIq7f,GAAGrzf,GAAG,MAAMg1B,MAAMllB,EAAE,MAAM,OAAOwjf,GAAG,KAAK7wf,EAAEzC,GAAE,EAAGhI,IAAI/L,EAAQ2c,OAAO,SAASnG,EAAEzC,EAAEhI,GAAG,IAAIq7f,GAAGrzf,GAAG,MAAMg1B,MAAMllB,EAAE,MAAM,OAAOwjf,GAAG,KAAK7wf,EAAEzC,GAAE,EAAGhI,IACnT/L,EAAQktK,uBAAuB,SAAS12J,GAAG,IAAI4wf,GAAG5wf,GAAG,MAAMuyB,MAAMllB,EAAE,KAAK,QAAOrN,EAAEgsf,sBAAqBsD,IAAG,WAAWuB,GAAG,KAAK,KAAK7wf,GAAE,GAAG,WAAWA,EAAEgsf,oBAAoB,KAAKhsf,EAAEgnN,IAAI,YAAS,IAAQx9N,EAAQ+ogB,wBAAwBlD,GAAG7lgB,EAAQgpgB,sBAAsB,SAASxyf,EAAEzC,GAAG,OAAOo2N,GAAG3zN,EAAEzC,EAAE,EAAE/J,UAAUrD,aAAQ,IAASqD,UAAU,GAAGA,UAAU,GAAG,OACvVhK,EAAQipgB,oCAAoC,SAASzyf,EAAEzC,EAAEhI,EAAEC,GAAG,IAAIo7f,GAAGr7f,GAAG,MAAMg9B,MAAMllB,EAAE,MAAM,GAAG,MAAMrN,QAAG,IAASA,EAAE+lf,oBAAoB,MAAMxzd,MAAMllB,EAAE,KAAK,OAAOwjf,GAAG7wf,EAAEzC,EAAEhI,GAAE,EAAGC,IAAIhM,EAAQy4C,QAAQ,W,6BChS/L14C,EAAOC,QAAUC,EAAQ,M,6BCMd,IAAI6K,EAAEgJ,EAAE+pB,EAAEpS,EAAE7f,EACzB,GAAG,qBAAqBL,QAAQ,oBAAoB29f,eAAe,CAAC,IAAIp8f,EAAE,KAAKolH,EAAE,KAAK5lH,EAAE,SAAFA,IAAa,GAAG,OAAOQ,EAAE,IAAI,IAAI0J,EAAExW,EAAQ84f,eAAehsf,GAAE,EAAG0J,GAAG1J,EAAE,KAAK,MAAMiH,GAAG,MAAM2qB,WAAWpyB,EAAE,GAAGyH,IAAK8P,EAAEud,KAAKzB,MAAM3/B,EAAQ84f,aAAa,WAAW,OAAO13d,KAAKzB,MAAM9b,GAAG/Y,EAAE,SAAS0L,GAAG,OAAO1J,EAAE4xB,WAAW5zB,EAAE,EAAE0L,IAAI1J,EAAE0J,EAAEkoB,WAAWpyB,EAAE,KAAKwH,EAAE,SAAS0C,EAAEzC,GAAGm+G,EAAExzF,WAAWloB,EAAEzC,IAAI8pB,EAAE,WAAWM,aAAa+zF,IAAIzmG,EAAE,WAAW,OAAM,GAAI7f,EAAE5L,EAAQmpgB,wBAAwB,iBAAiB,CAAC,IAAItqe,EAAEtzB,OAAO69f,YAAY1yf,EAAEnL,OAAO61B,KACnfzqB,EAAEpL,OAAOmzB,WAAWwjE,EAAE32F,OAAO4yB,aAAa,GAAG,qBAAqBxuB,QAAQ,CAAC,IAAIyiH,EAAE7mH,OAAOuyB,qBAAqB,oBAAoBvyB,OAAO8yB,uBAAuB1uB,QAAQqtB,MAAM,2IAA2I,oBAAoBo1F,GAAGziH,QAAQqtB,MAAM,0IAA0I,GAAG,kBACne6B,GAAG,oBAAoBA,EAAEc,IAAI3/B,EAAQ84f,aAAa,WAAW,OAAOj6d,EAAEc,WAAW,CAAC,IAAI86J,EAAE/jL,EAAEipB,MAAM3/B,EAAQ84f,aAAa,WAAW,OAAOpif,EAAEipB,MAAM86J,GAAG,IAAIhlC,GAAE,EAAGmpC,EAAE,KAAK7D,GAAG,EAAEvwL,EAAE,EAAE+0L,EAAE,EAAE9zK,EAAE,WAAW,OAAOzrB,EAAQ84f,gBAAgBv5T,GAAG3zL,EAAE,aAAa5L,EAAQmpgB,wBAAwB,SAAS3yf,GAAG,EAAEA,GAAG,IAAIA,EAAE7G,QAAQqtB,MAAM,oHAAoHxyB,EAAE,EAAEgM,EAAExF,KAAK0W,MAAM,IAAIlR,GAAG,GAAG,IAAI2oL,EAAE,IAAI+pU,eAAervU,EAAEsF,EAAEkqU,MAAMlqU,EAAE98F,MAAMina,UACnf,WAAW,GAAG,OAAO1qU,EAAE,CAAC,IAAIpoL,EAAExW,EAAQ84f,eAAev5T,EAAE/oL,EAAEhM,EAAE,IAAIo0L,GAAE,EAAGpoL,GAAGqjL,EAAE0vU,YAAY,OAAO9zW,GAAE,EAAGmpC,EAAE,MAAM,MAAM7qL,GAAG,MAAM8lL,EAAE0vU,YAAY,MAAMx1f,QAAS0hJ,GAAE,GAAI3qJ,EAAE,SAAS0L,GAAGooL,EAAEpoL,EAAEi/I,IAAIA,GAAE,EAAGokC,EAAE0vU,YAAY,QAAQz1f,EAAE,SAAS0C,EAAEzC,GAAGgnL,EAAEpkL,GAAE,WAAWH,EAAExW,EAAQ84f,kBAAiB/kf,IAAI8pB,EAAE,WAAWqkE,EAAE64F,GAAGA,GAAG,GAAG,SAAS6E,EAAEppL,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAE7P,OAAO6P,EAAE7F,KAAKoD,GAAGyC,EAAE,OAAO,CAAC,IAAIxK,EAAED,EAAE,IAAI,EAAEnB,EAAE4L,EAAExK,GAAG,UAAG,IAASpB,GAAG,EAAE21L,EAAE31L,EAAEmJ,IAA0B,MAAMyC,EAA7BA,EAAExK,GAAG+H,EAAEyC,EAAEzK,GAAGnB,EAAEmB,EAAEC,GAAgB,SAAS0tL,EAAEljL,GAAU,YAAO,KAAdA,EAAEA,EAAE,IAAqB,KAAKA,EAC9c,SAASuoB,EAAEvoB,GAAG,IAAIzC,EAAEyC,EAAE,GAAG,QAAG,IAASzC,EAAE,CAAC,IAAIhI,EAAEyK,EAAE3F,MAAM,GAAG9E,IAAIgI,EAAE,CAACyC,EAAE,GAAGzK,EAAEyK,EAAE,IAAI,IAAIxK,EAAE,EAAEpB,EAAE4L,EAAE7P,OAAOqF,EAAEpB,GAAG,CAAC,IAAIkB,EAAE,GAAGE,EAAE,GAAG,EAAEtB,EAAE8L,EAAE1K,GAAGiL,EAAEjL,EAAE,EAAEM,EAAEoK,EAAEO,GAAG,QAAG,IAASrM,GAAG,EAAE61L,EAAE71L,EAAEqB,QAAG,IAASK,GAAG,EAAEm0L,EAAEn0L,EAAE1B,IAAI8L,EAAExK,GAAGI,EAAEoK,EAAEO,GAAGhL,EAAEC,EAAE+K,IAAIP,EAAExK,GAAGtB,EAAE8L,EAAE1K,GAAGC,EAAEC,EAAEF,OAAQ,WAAG,IAASM,GAAG,EAAEm0L,EAAEn0L,EAAEL,IAA0B,MAAMyK,EAA7BA,EAAExK,GAAGI,EAAEoK,EAAEO,GAAGhL,EAAEC,EAAE+K,IAAgB,OAAOhD,EAAE,OAAO,KAAK,SAASwsL,EAAE/pL,EAAEzC,GAAG,IAAIhI,EAAEyK,EAAEgzf,UAAUz1f,EAAEy1f,UAAU,OAAO,IAAIz9f,EAAEA,EAAEyK,EAAEwX,GAAGja,EAAEia,GAAG,IAAIyrK,EAAE,GAAG36J,EAAE,GAAGwF,EAAE,EAAEy7J,EAAE,KAAKhB,EAAE,EAAEv6J,GAAE,EAAGy6J,GAAE,EAAG/tH,GAAE,EACja,SAASouH,EAAE9oL,GAAG,IAAI,IAAIzC,EAAE2lL,EAAE56J,GAAG,OAAO/qB,GAAG,CAAC,GAAG,OAAOA,EAAEqhC,SAASrW,EAAED,OAAQ,MAAG/qB,EAAEosZ,WAAW3pZ,GAAgD,MAA9CuoB,EAAED,GAAG/qB,EAAEy1f,UAAUz1f,EAAEmnf,eAAet7T,EAAEnG,EAAE1lL,GAAcA,EAAE2lL,EAAE56J,IAAI,SAASugK,EAAE7oL,GAAa,GAAV06D,GAAE,EAAGouH,EAAE9oL,IAAOyoL,EAAE,GAAG,OAAOvF,EAAED,GAAGwF,GAAE,EAAGn0L,EAAEusH,OAAO,CAAC,IAAItjH,EAAE2lL,EAAE56J,GAAG,OAAO/qB,GAAGD,EAAEurL,EAAEtrL,EAAEosZ,UAAU3pZ,IACtP,SAAS6gH,EAAE7gH,EAAEzC,GAAGkrL,GAAE,EAAG/tH,IAAIA,GAAE,EAAGrzC,KAAK2G,GAAE,EAAG,IAAIz4B,EAAEgzL,EAAE,IAAS,IAALO,EAAEvrL,GAAOgsL,EAAErG,EAAED,GAAG,OAAOsG,MAAMA,EAAEm7T,eAAennf,IAAIyC,IAAIiV,MAAM,CAAC,IAAIzf,EAAE+zL,EAAE3qJ,SAAS,GAAG,OAAOppC,EAAE,CAAC+zL,EAAE3qJ,SAAS,KAAK2pJ,EAAEgB,EAAE0pU,cAAc,IAAI7+f,EAAEoB,EAAE+zL,EAAEm7T,gBAAgBnnf,GAAGA,EAAE/T,EAAQ84f,eAAe,oBAAoBluf,EAAEm1L,EAAE3qJ,SAASxqC,EAAEm1L,IAAIrG,EAAED,IAAI16J,EAAE06J,GAAG6F,EAAEvrL,QAAQgrB,EAAE06J,GAAGsG,EAAErG,EAAED,GAAG,GAAG,OAAOsG,EAAE,IAAIj0L,GAAE,MAAO,CAAC,IAAIpB,EAAEgvL,EAAE56J,GAAG,OAAOp0B,GAAGoJ,EAAEurL,EAAE30L,EAAEy1Z,UAAUpsZ,GAAGjI,GAAE,EAAG,OAAOA,EAA7U,QAAuVi0L,EAAE,KAAKhB,EAAEhzL,EAAEy4B,GAAE,GACpZ,SAASi7J,EAAEjpL,GAAG,OAAOA,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,WAAW,KAAK,EAAE,OAAO,IAAI,QAAQ,OAAO,KAAK,IAAIiqL,EAAE70L,EAAE5L,EAAQw5f,sBAAsB,EAAEx5f,EAAQk5f,2BAA2B,EAAEl5f,EAAQs5f,qBAAqB,EAAEt5f,EAAQgvf,wBAAwB,EAAEhvf,EAAQ0pgB,mBAAmB,KAAK1pgB,EAAQovf,8BAA8B,EAAEpvf,EAAQ04f,wBAAwB,SAASlif,GAAGA,EAAE4+B,SAAS,MAAMp1C,EAAQ2pgB,2BAA2B,WAAW1qU,GAAGz6J,IAAIy6J,GAAE,EAAGn0L,EAAEusH,KACxcr3H,EAAQg5f,iCAAiC,WAAW,OAAOj6T,GAAG/+L,EAAQ4pgB,8BAA8B,WAAW,OAAOlwU,EAAED,IAAIz5L,EAAQ6pgB,cAAc,SAASrzf,GAAG,OAAOuoL,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAIhrL,EAAE,EAAE,MAAM,QAAQA,EAAEgrL,EAAE,IAAIhzL,EAAEgzL,EAAEA,EAAEhrL,EAAE,IAAI,OAAOyC,IAAX,QAAuBuoL,EAAEhzL,IAAI/L,EAAQ8pgB,wBAAwB,aAAa9pgB,EAAQ44f,sBAAsBn4T,EAAEzgM,EAAQ4uf,yBAAyB,SAASp4e,EAAEzC,GAAG,OAAOyC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAIzK,EAAEgzL,EAAEA,EAAEvoL,EAAE,IAAI,OAAOzC,IAAX,QAAuBgrL,EAAEhzL,IAChe/L,EAAQ+uf,0BAA0B,SAASv4e,EAAEzC,EAAEhI,GAAG,IAAIC,EAAEhM,EAAQ84f,eAAe,GAAG,kBAAkB/sf,GAAG,OAAOA,EAAE,CAAC,IAAInB,EAAEmB,EAAEy0B,MAAM51B,EAAE,kBAAkBA,GAAG,EAAEA,EAAEoB,EAAEpB,EAAEoB,EAAED,EAAE,kBAAkBA,EAAEi2F,QAAQj2F,EAAEi2F,QAAQy9F,EAAEjpL,QAAQzK,EAAE0zL,EAAEjpL,GAAG5L,EAAEoB,EAAyM,OAAjMwK,EAAE,CAACwX,GAAGsW,IAAI8Q,SAASrhC,EAAE01f,cAAcjzf,EAAE2pZ,UAAUv1Z,EAAEswf,eAAvDnvf,EAAEnB,EAAEmB,EAAoEy9f,WAAW,GAAG5+f,EAAEoB,GAAGwK,EAAEgzf,UAAU5+f,EAAEg1L,EAAE9gK,EAAEtoB,GAAG,OAAOkjL,EAAED,IAAIjjL,IAAIkjL,EAAE56J,KAAKoyC,EAAErzC,IAAIqzC,GAAE,EAAGp9D,EAAEurL,EAAEz0L,EAAEoB,MAAMwK,EAAEgzf,UAAUz9f,EAAE6zL,EAAEnG,EAAEjjL,GAAGyoL,GAAGz6J,IAAIy6J,GAAE,EAAGn0L,EAAEusH,KAAY7gH,GAC3axW,EAAQ25f,qBAAqB,WAAW,IAAInjf,EAAExW,EAAQ84f,eAAex5T,EAAE9oL,GAAG,IAAIzC,EAAE2lL,EAAED,GAAG,OAAO1lL,IAAIgsL,GAAG,OAAOA,GAAG,OAAOhsL,GAAG,OAAOA,EAAEqhC,UAAUrhC,EAAEosZ,WAAW3pZ,GAAGzC,EAAEmnf,eAAen7T,EAAEm7T,gBAAgBzve,KAAKzrB,EAAQ+pgB,sBAAsB,SAASvzf,GAAG,IAAIzC,EAAEgrL,EAAE,OAAO,WAAW,IAAIhzL,EAAEgzL,EAAEA,EAAEhrL,EAAE,IAAI,OAAOyC,EAAEvM,MAAMJ,KAAKG,WAAxB,QAA2C+0L,EAAEhzL,M,6BCX/T,IAAIwnH,EAAuBtzH,EAAQ,KAEnC,SAASgzH,KACT,SAASC,KACTA,EAAuBF,kBAAoBC,EAE3ClzH,EAAOC,QAAU,WACf,SAASmzH,EAAK1sH,EAAO2sH,EAAUL,EAAetnF,EAAU4nF,EAAcC,GACpE,GAAIA,IAAWC,EAAf,CAIA,IAAIvoH,EAAM,IAAI+9B,MACZ,mLAKF,MADA/9B,EAAIiB,KAAO,sBACLjB,GAGR,SAASwoH,IACP,OAAOL,EAFTA,EAAKM,WAAaN,EAMlB,IAAIO,EAAiB,CACnB9mE,MAAOumE,EACP62Y,OAAQ72Y,EACRQ,KAAMR,EACN75D,KAAM65D,EACNS,OAAQT,EACRxmH,OAAQwmH,EACRU,OAAQV,EACRjoG,OAAQioG,EAERW,IAAKX,EACLY,QAASP,EACTjvG,QAAS4uG,EACTa,YAAab,EACbc,WAAYT,EACZ9lH,KAAMylH,EACNe,SAAUV,EACVW,MAAOX,EACPY,UAAWZ,EACXhqE,MAAOgqE,EACPa,MAAOb,EAEPX,eAAgBK,EAChBF,kBAAmBC,GAKrB,OAFAS,EAAeY,UAAYZ,EAEpBA,I,6BCpDT3zH,EAAOC,QAFoB,gD,6BCP3BgH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQq9B,aAAU,EAMlB,IAAI4se,EAAa,SAASA,KAJ1B,SAAyB7jgB,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAK9GH,CAAgB0D,KAAMoggB,IAGxBjqgB,EAAQq9B,QAAU4se,EANlB,SAAyBpge,EAAK3iC,EAAKqC,GAAarC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAQ3LssD,CAAgBo0c,EAAY,UAAU,I,6BCftCjjgB,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ01H,UAAO,EAEf,IAAI0O,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CwkI,EAAcxkI,EAAQ,IAEtB0kI,EAAe10E,EAAuBhwD,EAAQ,KAElD,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI6rF,EAAoB,SAAU8P,IAhBlC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUwsH,EAAM8P,GAEhB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAaksH,GAE1B,SAASA,IAGP,OAFAvvH,EAAgB0D,KAAM6rH,GAEf5kE,EAAO7mD,MAAMJ,KAAMG,WAkD5B,OA5EoB3D,EA6BPqvH,GA7BoBtuH,EA6Bd,CAAC,CAClBF,IAAK,eACLqC,MAAO,WACL,OAAIM,KAAKpD,MAAMyyH,OACOkL,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,iBACVm2G,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAMyyH,OAAQrvH,KAAKpD,QAGzD,OAER,CACDS,IAAK,aACLqC,MAAO,WACL,IAAI8kB,EAAQxkB,KAAKpD,MAAM4nB,OAAsB+1G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAC/E+J,UAAW,gBACVm2G,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAM4nB,MAAOxkB,KAAKpD,QAEzDyjgB,EAAWrggB,KAAKpD,MAAMyjgB,UAAyB9lY,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACrF+J,UAAW,mBACVm2G,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAMyjgB,SAAUrggB,KAAKpD,QAE5D4V,EAAWxS,KAAKpD,MAAM4V,UAAyB+nH,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACrF+J,UAAW,kBACV3kB,KAAKpD,MAAM4V,UAEVm9G,EAAS3vH,KAAKpD,MAAM+yH,QAAuB4K,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACjF+J,UAAW,iBACVm2G,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAM+yH,OAAQ3vH,KAAKpD,QAE9D,OAAoB29H,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,eACVH,EAAO67e,EAAU7tf,EAAUm9G,KAE/B,CACDtyH,IAAK,SACLqC,MAAO,WACL,IAAI2vH,EAASrvH,KAAKsggB,eACdj8e,EAAOrkB,KAAKuggB,aACZ57e,GAAY,EAAIi2G,EAAYtP,YAAY,qBAAsBtrH,KAAKpD,MAAM+nB,WAC7E,OAAoB41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,OACjB28G,EAAQhrG,QAxE6D3nB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA4E3KquH,EA1De,CA2DtB0O,EAAOuC,WAET3mI,EAAQ01H,KAAOA,EAEf7/D,EAAgB6/D,EAAM,eAAgB,CACpC1nG,GAAI,KACJkrG,OAAQ,KACRM,OAAQ,KACRnrG,MAAO,KACP67e,SAAU,KACV3tf,MAAO,KACPiS,UAAW,OAGbqnC,EAAgB6/D,EAAM,YAAa,CACjC1nG,GAAIw2G,EAAWnnG,QAAQw2F,OACvBqF,OAAQsL,EAAWnnG,QAAQy2F,IAC3B0F,OAAQgL,EAAWnnG,QAAQy2F,IAC3BzlG,MAAOm2G,EAAWnnG,QAAQy2F,IAC1Bo2Y,SAAU1lY,EAAWnnG,QAAQy2F,IAC7Bv3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,U,6BC3HhC7sH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQq8K,eAAY,EAEpB,IAoBgCxyI,EApB5Bu6F,EAwBJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAxBntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAkB4B36F,EAlBQ5pC,EAAQ,KAkBK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAhBnF46F,EAAcxkI,EAAQ,IAEtBoqgB,EAAiBpqgB,EAAQ,KAEzBqqgB,EAAgBrqgB,EAAQ,KAExBsqgB,EAAgBtqgB,EAAQ,KAExBuqgB,EAAgBvqgB,EAAQ,KAExBwqgB,EAAaxqgB,EAAQ,KAErByqgB,EAAuBzqgB,EAAQ,KAE/B0qgB,EAAqB1qgB,EAAQ,KAIjC,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIwyI,EAAyB,SAAU72C,IAhBvC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUmzK,EAAW72C,GAErB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa6yK,GAE1B,SAASA,EAAU51K,GACjB,IAAI24C,EAWJ,OAvCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMwyK,IAEtBj9H,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmkgB,kBAAoBxrd,EAAMwrd,kBAAkBl+f,KAAK44H,EAAuBlmF,IAC9EA,EAAMyrd,iBAAmBzrd,EAAMyrd,iBAAiBn+f,KAAK44H,EAAuBlmF,IAC5EA,EAAM0rd,iBAAmB1rd,EAAM0rd,iBAAiBp+f,KAAK44H,EAAuBlmF,IAC5EA,EAAM2rd,iBAAmB3rd,EAAM2rd,iBAAiBr+f,KAAK44H,EAAuBlmF,IAC5EA,EAAM4rd,aAAe5rd,EAAM4rd,aAAat+f,KAAK44H,EAAuBlmF,IACpEA,EAAM6rd,gBAAkB7rd,EAAM6rd,gBAAgBv+f,KAAK44H,EAAuBlmF,IACnEA,EAmNT,OAtPoB/4C,EAsCPg2K,GAtCoBj1K,EAsCT,CAAC,CACvBF,IAAK,cACLqC,MAAO,WACL,OAA0B,IAAnBM,KAAKqhgB,YAEb,CACDhkgB,IAAK,aACLqC,MAAO,WACL,OAAOM,KAAKqhgB,YAAcrhgB,KAAKshgB,eAAiB,IAEjD,CACDjkgB,IAAK,eACLqC,MAAO,WACL,OAAOyH,KAAK4W,KAAK/d,KAAKpD,MAAM21K,aAAevyK,KAAKpD,MAAMk2F,OAAS,IAEhE,CACDz1F,IAAK,8BACLqC,MAAO,WACL,IAAI6hgB,EAAgBvhgB,KAAKshgB,eACrBE,EAAer6f,KAAK6K,IAAIhS,KAAKpD,MAAM61K,aAAc8uV,GAEjDzpf,EAAQ3Q,KAAK+K,IAAI,EAAG/K,KAAK4W,KAAK/d,KAAKqhgB,UAAYG,EAAe,IAC9Dlud,EAAMnsC,KAAK6K,IAAIuvf,EAAgB,EAAGzpf,EAAQ0pf,EAAe,GAEzDrkf,EAAQnd,KAAKpD,MAAM61K,cAAgBn/H,EAAMx7B,EAAQ,GAErD,MAAO,CADPA,EAAQ3Q,KAAK+K,IAAI,EAAG4F,EAAQqF,GACbm2B,KAEhB,CACDj2C,IAAK,kBACLqC,MAAO,WAML,IALA,IAAI+hgB,EAAY,GACZ3hY,EAAa9/H,KAAK0hgB,8BAClB5pf,EAAQgoH,EAAW,GACnBxsF,EAAMwsF,EAAW,GAEZjjI,EAAIib,EAAOjb,GAAKy2C,EAAKz2C,IAC5B4kgB,EAAU36f,KAAKjK,EAAI,GAGrB,OAAO4kgB,IAER,CACDpkgB,IAAK,aACLqC,MAAO,SAAoBmpD,EAAOiqC,GAChC,IAAIyxB,EAAKvkH,KAAKshgB,eACVr+f,EAAIkE,KAAK0W,MAAMgrC,EAAQiqC,GAE3B,GAAI7vF,GAAK,GAAKA,EAAIshH,EAAI,CACpB,IAAIo9Y,EAAe,CACjB94c,MAAOA,EACPiqC,KAAMA,EACN2lE,KAAMx1J,EACN6wU,UAAWvvN,GAGTvkH,KAAKpD,MAAMyyK,cACbrvK,KAAKpD,MAAMyyK,aAAasyV,MAI7B,CACDtkgB,IAAK,UACLqC,MAAO,WACL,OAAOyH,KAAK0W,MAAM7d,KAAKpD,MAAMisD,MAAQ7oD,KAAKpD,MAAMk2F,QAEjD,CACDz1F,IAAK,oBACLqC,MAAO,SAA2B4lB,GAChCtlB,KAAK4hgB,WAAW,EAAG5hgB,KAAKpD,MAAMk2F,MAC9BxtE,EAAMw1B,mBAEP,CACDz9C,IAAK,mBACLqC,MAAO,SAA0B4lB,GAC/BtlB,KAAK4hgB,WAAW5hgB,KAAKpD,MAAMisD,MAAQ7oD,KAAKpD,MAAMk2F,KAAM9yF,KAAKpD,MAAMk2F,MAC/DxtE,EAAMw1B,mBAEP,CACDz9C,IAAK,kBACLqC,MAAO,SAAyB4lB,GAC9BtlB,KAAK4hgB,YAAYt8e,EAAM5lB,MAAQ,GAAKM,KAAKpD,MAAMk2F,KAAM9yF,KAAKpD,MAAMk2F,QAEjE,CACDz1F,IAAK,mBACLqC,MAAO,SAA0B4lB,GAC/BtlB,KAAK4hgB,WAAW5hgB,KAAKpD,MAAMisD,MAAQ7oD,KAAKpD,MAAMk2F,KAAM9yF,KAAKpD,MAAMk2F,MAC/DxtE,EAAMw1B,mBAEP,CACDz9C,IAAK,mBACLqC,MAAO,SAA0B4lB,GAC/BtlB,KAAK4hgB,YAAY5hgB,KAAKshgB,eAAiB,GAAKthgB,KAAKpD,MAAMk2F,KAAM9yF,KAAKpD,MAAMk2F,MACxExtE,EAAMw1B,mBAEP,CACDz9C,IAAK,eACLqC,MAAO,SAAsB4lB,GAC3BtlB,KAAK4hgB,WAAW,EAAGt8e,EAAM5lB,SAE1B,CACDrC,IAAK,qBACLqC,MAAO,SAA4Bo8H,EAAWiqC,GACxC/lK,KAAKqhgB,UAAY,GAAKvlY,EAAUy2C,eAAiBvyK,KAAKpD,MAAM21K,cAAgBvyK,KAAKpD,MAAMisD,OAAS7oD,KAAKpD,MAAM21K,cAC7GvyK,KAAK4hgB,YAAY5hgB,KAAKshgB,eAAiB,GAAKthgB,KAAKpD,MAAMk2F,KAAM9yF,KAAKpD,MAAMk2F,QAG3E,CACDz1F,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAEb,GAAKA,KAAKpD,MAAM2pK,YAAsC,IAAxBvmK,KAAKshgB,eAE5B,CACL,IAAI38e,GAAY,EAAIi2G,EAAYtP,YAAY,0BAA2BtrH,KAAKpD,MAAM+nB,WAC9Ek9e,EAAoB7hgB,KAAKpD,MAAM81K,SAASnmK,MAAM,KAAKkb,KAAI,SAAU/nB,GACnE,IACIgb,EADArd,EAAMqC,EAAM8H,OAGhB,OAAQnK,GACN,IAAK,gBACHqd,EAAuB6/G,EAAO/mG,QAAQ5Y,cAAc4lf,EAAesB,cAAe,CAChFzkgB,IAAKA,EACL+9C,QAASiB,EAAO0kd,kBAChBn4a,SAAUvsC,EAAO0ld,gBAEnB,MAEF,IAAK,eACHrnf,EAAuB6/G,EAAO/mG,QAAQ5Y,cAAc8lf,EAAcsB,aAAc,CAC9E3kgB,IAAKA,EACL+9C,QAASiB,EAAO2kd,iBAChBp4a,SAAUvsC,EAAO0ld,gBAEnB,MAEF,IAAK,eACHrnf,EAAuB6/G,EAAO/mG,QAAQ5Y,cAAc6lf,EAAcwB,aAAc,CAC9E5kgB,IAAKA,EACL+9C,QAASiB,EAAO4kd,iBAChBr4a,SAAUvsC,EAAO6ld,eAEnB,MAEF,IAAK,eACHxnf,EAAuB6/G,EAAO/mG,QAAQ5Y,cAAc+lf,EAAcwB,aAAc,CAC9E9kgB,IAAKA,EACL+9C,QAASiB,EAAO6kd,iBAChBt4a,SAAUvsC,EAAO6ld,eAEnB,MAEF,IAAK,YACHxnf,EAAuB6/G,EAAO/mG,QAAQ5Y,cAAcgmf,EAAWwB,UAAW,CACxE/kgB,IAAKA,EACLqC,MAAO28C,EAAOgmd,kBACd5pW,KAAMp8G,EAAOgld,UACbjmd,QAASiB,EAAO+kd,kBAElB,MAEF,IAAK,sBACH1mf,EAAuB6/G,EAAO/mG,QAAQ5Y,cAAcimf,EAAqByB,oBAAqB,CAC5FjlgB,IAAKA,EACLqC,MAAO28C,EAAOz/C,MAAMk2F,KACpBv0D,QAAS8d,EAAOz/C,MAAMg2K,mBACtBxmD,SAAU/vE,EAAO8kd,aACjBjqd,SAAUmF,EAAOz/C,MAAMu2K,mBAEzB,MAEF,IAAK,oBACHz4J,EAAuB6/G,EAAO/mG,QAAQ5Y,cAAckmf,EAAmByB,kBAAmB,CACxF7vV,SAAUr2H,EAAOz/C,MAAMi2K,0BACvBx1K,IAAKA,EACLo7J,KAAMp8G,EAAOgld,UACbvtL,UAAWz3R,EAAOild,eAClBz4c,MAAOxM,EAAOz/C,MAAMisD,MACpBiqC,KAAMz2C,EAAOz/C,MAAMk2F,KACnBy/E,aAAcl2H,EAAOz/C,MAAM21K,eAE7B,MAEF,QACE73J,EAAU,KAId,OAAOA,KAGLo4J,EAAc9yK,KAAKpD,MAAMk2K,aAA4Bv4C,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAC3F+J,UAAW,4BACV3kB,KAAKpD,MAAMk2K,aAEVE,EAAehzK,KAAKpD,MAAMo2K,cAA6Bz4C,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAC7F+J,UAAW,6BACV3kB,KAAKpD,MAAMo2K,cAEd,OAAoBz4C,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,OACjBogK,EAAa+uV,EAAmB7uV,GA1FnC,OAAO,UAvJ+Dt2K,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAsP3Kg1K,EApOoB,CAqO3Bj4C,EAAOuC,WAET3mI,EAAQq8K,UAAYA,EAEpBxmH,EAAgBwmH,EAAW,eAAgB,CACzCD,aAAc,EACdz/E,KAAM,EACNjqC,MAAO,EACP4pH,aAAc,EACdG,mBAAoB,KACpBlgK,MAAO,KACPiS,UAAW,KACX+tJ,SAAU,qFACVrD,aAAc,KACdyD,YAAa,KACbE,aAAc,KACdG,iBAAkB,KAClBN,0BAA2B,kCAC3BtM,YAAY,IAGdv6G,EAAgBwmH,EAAW,YAAa,CACtCD,aAAc53C,EAAWnnG,QAAQu2F,OACjCj3B,KAAM6nC,EAAWnnG,QAAQu2F,OACzBlhE,MAAO8xE,EAAWnnG,QAAQu2F,OAC1B0oD,aAAc93C,EAAWnnG,QAAQu2F,OACjC6oD,mBAAoBj4C,EAAWnnG,QAAQuvB,MACvCrwC,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,OAC9B0oD,SAAU/3C,EAAWnnG,QAAQw2F,OAC7BqlD,aAAc10C,EAAWnnG,QAAQi8B,KACjCqjH,YAAan4C,EAAWnnG,QAAQy2F,IAChC+oD,aAAcr4C,EAAWnnG,QAAQy2F,IACjCkpD,iBAAkBx4C,EAAWnnG,QAAQy2F,IACrC4oD,0BAA2Bl4C,EAAWnnG,QAAQy2F,IAC9Cs8C,WAAY5rC,EAAWnnG,QAAQs2F,Q,6BC/TjC3sH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ2rgB,mBAAgB,EAExB,IAQgC9he,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF46F,EAAcxkI,EAAQ,IAEtB2kI,EAAU3kI,EAAQ,IAItB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI8he,EAA6B,SAAUnmY,IAhB3C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUyigB,EAAenmY,GAEzB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAamigB,GAE1B,SAASA,IAGP,OAFAxlgB,EAAgB0D,KAAM8hgB,GAEf76c,EAAO7mD,MAAMJ,KAAMG,WAoB5B,OA9CoB3D,EA6BPslgB,GA7BoBvkgB,EA6BL,CAAC,CAC3BF,IAAK,SACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,+CAAgD,CAC1F,aAActrH,KAAKpD,MAAMgsF,WAE3B,OAAoB2xC,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN0T,UAAWA,EACXy2B,QAASp7C,KAAKpD,MAAMw+C,QACpBwtC,SAAU5oF,KAAKpD,MAAMgsF,UACP2xC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,6CACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,YA1CUngI,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA8C3KskgB,EA5BwB,CA6B/BvnY,EAAOuC,WAET3mI,EAAQ2rgB,cAAgBA,EAExB91c,EAAgB81c,EAAe,eAAgB,CAC7Cl5a,UAAU,EACVxtC,QAAS,OAGX4Q,EAAgB81c,EAAe,YAAa,CAC1Cl5a,SAAU+xC,EAAWnnG,QAAQs2F,KAC7B1uE,QAASu/E,EAAWnnG,QAAQi8B,Q,6BCnF9BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ8rgB,kBAAe,EAEvB,IAQgCjie,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF46F,EAAcxkI,EAAQ,IAEtB2kI,EAAU3kI,EAAQ,IAItB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIiie,EAA4B,SAAUtmY,IAhB1C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU4igB,EAActmY,GAExB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAasigB,GAE1B,SAASA,IAGP,OAFA3lgB,EAAgB0D,KAAMiigB,GAEfh7c,EAAO7mD,MAAMJ,KAAMG,WAoB5B,OA9CoB3D,EA6BPylgB,GA7BoB1kgB,EA6BN,CAAC,CAC1BF,IAAK,SACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,8CAA+C,CACzF,aAActrH,KAAKpD,MAAMgsF,WAE3B,OAAoB2xC,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN0T,UAAWA,EACXy2B,QAASp7C,KAAKpD,MAAMw+C,QACpBwtC,SAAU5oF,KAAKpD,MAAMgsF,UACP2xC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,uCACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,YA1CUngI,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA8C3KykgB,EA5BuB,CA6B9B1nY,EAAOuC,WAET3mI,EAAQ8rgB,aAAeA,EAEvBj2c,EAAgBi2c,EAAc,eAAgB,CAC5Cr5a,UAAU,EACVxtC,QAAS,OAGX4Q,EAAgBi2c,EAAc,YAAa,CACzCr5a,SAAU+xC,EAAWnnG,QAAQs2F,KAC7B1uE,QAASu/E,EAAWnnG,QAAQi8B,Q,6BCnF9BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ6rgB,kBAAe,EAEvB,IAQgChie,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF46F,EAAcxkI,EAAQ,IAEtB2kI,EAAU3kI,EAAQ,IAItB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIgie,EAA4B,SAAUrmY,IAhB1C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU2igB,EAAcrmY,GAExB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAaqigB,GAE1B,SAASA,IAGP,OAFA1lgB,EAAgB0D,KAAMgigB,GAEf/6c,EAAO7mD,MAAMJ,KAAMG,WAoB5B,OA9CoB3D,EA6BPwlgB,GA7BoBzkgB,EA6BN,CAAC,CAC1BF,IAAK,SACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,8CAA+C,CACzF,aAActrH,KAAKpD,MAAMgsF,WAE3B,OAAoB2xC,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN0T,UAAWA,EACXy2B,QAASp7C,KAAKpD,MAAMw+C,QACpBwtC,SAAU5oF,KAAKpD,MAAMgsF,UACP2xC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,sCACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,YA1CUngI,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA8C3KwkgB,EA5BuB,CA6B9BznY,EAAOuC,WAET3mI,EAAQ6rgB,aAAeA,EAEvBh2c,EAAgBg2c,EAAc,eAAgB,CAC5Cp5a,UAAU,EACVxtC,QAAS,OAGX4Q,EAAgBg2c,EAAc,YAAa,CACzCp5a,SAAU+xC,EAAWnnG,QAAQs2F,KAC7B1uE,QAASu/E,EAAWnnG,QAAQi8B,Q,6BCnF9BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQgsgB,kBAAe,EAEvB,IAQgCnie,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF46F,EAAcxkI,EAAQ,IAEtB2kI,EAAU3kI,EAAQ,IAItB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAImie,EAA4B,SAAUxmY,IAhB1C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU8igB,EAAcxmY,GAExB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAawigB,GAE1B,SAASA,IAGP,OAFA7lgB,EAAgB0D,KAAMmigB,GAEfl7c,EAAO7mD,MAAMJ,KAAMG,WAoB5B,OA9CoB3D,EA6BP2lgB,GA7BoB5kgB,EA6BN,CAAC,CAC1BF,IAAK,SACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,8CAA+C,CACzF,aAActrH,KAAKpD,MAAMgsF,WAE3B,OAAoB2xC,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN0T,UAAWA,EACXy2B,QAASp7C,KAAKpD,MAAMw+C,QACpBwtC,SAAU5oF,KAAKpD,MAAMgsF,UACP2xC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,8CACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,YA1CUngI,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA8C3K2kgB,EA5BuB,CA6B9B5nY,EAAOuC,WAET3mI,EAAQgsgB,aAAeA,EAEvBn2c,EAAgBm2c,EAAc,eAAgB,CAC5Cv5a,UAAU,EACVxtC,QAAS,OAGX4Q,EAAgBm2c,EAAc,YAAa,CACzCv5a,SAAU+xC,EAAWnnG,QAAQs2F,KAC7B1uE,QAASu/E,EAAWnnG,QAAQi8B,Q,6BCnF9BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQisgB,eAAY,EAEpB,IAQgCpie,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF46F,EAAcxkI,EAAQ,IAEtB2kI,EAAU3kI,EAAQ,IAItB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIoie,EAAyB,SAAUzmY,IAhBvC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU+igB,EAAWzmY,GAErB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAayigB,GAE1B,SAASA,IAGP,OAFA9lgB,EAAgB0D,KAAMoigB,GAEfn7c,EAAO7mD,MAAMJ,KAAMG,WAuC5B,OAjEoB3D,EA6BP4lgB,GA7BoB7kgB,EA6BT,CAAC,CACvBF,IAAK,kBACLqC,MAAO,SAAyB4lB,EAAOk9e,GACjCxigB,KAAKpD,MAAMw+C,SACbp7C,KAAKpD,MAAMw+C,QAAQ,CACjBC,cAAe/1B,EACf5lB,MAAO8igB,IAIXl9e,EAAMw1B,mBAEP,CACDz9C,IAAK,SACLqC,MAAO,WACL,IAAI61C,EAAQv1C,KAER8hH,EAAW9hH,KAAKpD,MAAM8C,MAAM+nB,KAAI,SAAU+6e,EAAU3lgB,GACtD,IAAI4lgB,GAAgB,EAAI7nY,EAAYtP,YAAY,8CAA+C,CAC7F,cAAek3Y,EAAW,IAAMjtd,EAAM34C,MAAM67J,OAE9C,OAAoBl+B,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN5T,IAAKmlgB,EACL79e,UAAW89e,EACXrnd,QAAS,SAAiBr6C,GACxB,OAAOw0C,EAAM6rd,gBAAgBrggB,EAAGyhgB,KAEjCA,EAAuBjoY,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,UAEzE,OAAoBtC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACvD+J,UAAW,qBACVm9F,QA7DqEplH,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAiE3K4kgB,EA/CoB,CAgD3B7nY,EAAOuC,WAET3mI,EAAQisgB,UAAYA,EAEpBp2c,EAAgBo2c,EAAW,eAAgB,CACzC1igB,MAAO,KACP+4J,KAAM,KACNg9I,MAAO,OAGTzpP,EAAgBo2c,EAAW,YAAa,CACtC1igB,MAAOi7H,EAAWnnG,QAAQuvB,MAC1B01G,KAAM99B,EAAWnnG,QAAQu2F,OACzB3uE,QAASu/E,EAAWnnG,QAAQi8B,Q,6BCxG9BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQmsgB,yBAAsB,EAE9B,IAMgCtie,EAN5Bu6F,EAUJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAVntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAI4B36F,EAJQ5pC,EAAQ,KAIK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAFnF0ie,EAAYtsgB,EAAQ,KAIxB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIsie,EAAmC,SAAU3mY,IAhBjD,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUijgB,EAAqB3mY,GAE/B,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa2igB,GAE1B,SAASA,IAGP,OAFAhmgB,EAAgB0D,KAAMsigB,GAEfr7c,EAAO7mD,MAAMJ,KAAMG,WAyB5B,OAnDoB3D,EA6BP8lgB,GA7BoB/kgB,EA6BC,CAAC,CACjCF,IAAK,SACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAM2hC,QAAS,CACtB,IAAIA,EAAUv+B,KAAKpD,MAAM2hC,QAAQ9W,KAAI,SAAUk7D,EAAK9lF,GAClD,MAAO,CACLkiE,MAAOpnC,OAAOgrD,GACdjjF,MAAOijF,MAGX,OAAoB43C,EAAO/mG,QAAQ5Y,cAAc8nf,EAAU/+F,SAAU,CACnEjka,MAAOM,KAAKpD,MAAM8C,MAClB6+B,QAASA,EACT6tF,SAAUpsH,KAAKpD,MAAMwvH,SACrBl1E,SAAUl3C,KAAKpD,MAAMs6C,WAGvB,OAAO,UA9C+Dx6C,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAmD3K8kgB,EAjC8B,CAkCrC/nY,EAAOuC,WAET3mI,EAAQmsgB,oBAAsBA,EAE9Bt2c,EAAgBs2c,EAAqB,eAAgB,CACnD/je,QAAS,KACT7+B,MAAO,KACPw3C,SAAU,KACVk1E,SAAU,OAGZpgE,EAAgBs2c,EAAqB,YAAa,CAChD/je,QAASo8F,EAAWnnG,QAAQuvB,MAC5BrjD,MAAOi7H,EAAWnnG,QAAQu2F,OAC1B7yE,SAAUyjF,EAAWnnG,QAAQy2F,IAC7BmC,SAAUuO,EAAWnnG,QAAQi8B,Q,6BC1F/BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQg0a,mBAAgB,EAExB,IAAI5vS,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CgtK,EAAYh9G,EAAuBhwD,EAAQ,KAE3CwkI,EAAcxkI,EAAQ,IAE1B,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAImqY,EAA6B,SAAUxuS,IAhB3C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU8qa,EAAexuS,GAEzB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAawqa,GAE1B,SAASA,IAGP,OAFA7ta,EAAgB0D,KAAMmqa,GAEfljX,EAAO7mD,MAAMJ,KAAMG,WA0C5B,OApEoB3D,EA6BP2ta,GA7BoB5sa,EA6BL,CAAC,CAC3BF,IAAK,gBACLqC,MAAO,WACL,IAAI61C,EAAQv1C,KAER2kB,GAAY,EAAIi2G,EAAYtP,YAAY,+BAAgCtrH,KAAKpD,MAAMyta,gBACvF,OAAoB9vS,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChB,OAAOwV,EAAM76B,QAAUqlB,GAEzBpb,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAMwta,WAClBhvX,QAASp7C,KAAKpD,MAAMw+C,SACnBp7C,KAAKpD,MAAMqW,OAAqBsnH,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACrEwzD,IAAK,SAAaruC,GAChB,OAAOwV,EAAMuyX,aAAe/nY,GAE9Bpb,UAAW,2BACXjS,MAAO,CACL+sE,UAAWz/E,KAAKpD,MAAMygL,cAAgB,SAE1B9iD,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACjD+J,UAAW,mBACX+6J,KAAM,WACL1/K,KAAKpD,MAAM4V,cAEf,CACDnV,IAAK,SACLqC,MAAO,WACL,IAAIgb,EAAU1a,KAAKkmK,gBAEnB,OAAIlmK,KAAKpD,MAAMs6C,SACOksH,EAAU5vI,QAAQu7F,aAAar0G,EAAS1a,KAAKpD,MAAMs6C,UAEhEx8B,OA/D+Dhe,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAoE3K2sa,EAlDwB,CAmD/B5vS,EAAOuC,WAET3mI,EAAQg0a,cAAgBA,EAExBn+W,EAAgBm+W,EAAe,eAAgB,CAC7CjzX,SAAU,KACVjkC,OAAQ,KACRoqK,aAAc,KACdgtP,eAAgB,KAChBD,WAAY,KACZhvX,QAAS,OAGX4Q,EAAgBm+W,EAAe,YAAa,CAC1CjzX,SAAUyjF,EAAWnnG,QAAQy2F,IAC7Bh3G,OAAQ0nH,EAAWnnG,QAAQy2F,IAC3BozD,aAAc1iD,EAAWnnG,QAAQw2F,OACjCqgT,eAAgB1vS,EAAWnnG,QAAQw2F,OACnCogT,WAAYzvS,EAAWnnG,QAAQ1wB,OAC/Bs4C,QAASu/E,EAAWnnG,QAAQi8B,Q,6BCjH9BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQiza,kBAAe,EAEvB,IAAI7uS,EAcJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAdntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CwkI,EAAcxkI,EAAQ,IAEtB0kI,EAAe10E,EAAuBhwD,EAAQ,KAE9C2kI,EAAU3kI,EAAQ,IAEtB,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIopY,EAA4B,SAAUztS,IAhB1C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU+pa,EAAcztS,GAExB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAaypa,GAE1B,SAASA,EAAaxsa,GACpB,IAAI24C,EAMJ,OAlCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMopa,IAEtB7zX,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBw+C,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IACnDA,EAiCT,OA/DoB/4C,EAiCP4sa,GAjCoB7ra,EAiCN,CAAC,CAC1BF,IAAK,UACLqC,MAAO,SAAiB4lB,GAClBtlB,KAAKpD,MAAMw+C,SACbp7C,KAAKpD,MAAMw+C,QAAQ,CACjBC,cAAe/1B,EACf22S,OAAQj8T,KAAKpD,MAAMq/T,WAIxB,CACD5+T,IAAK,SACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,kBAAmB,CAC7D,cAAetrH,KAAKpD,MAAMyrF,SAC1B,aAAcroF,KAAKpD,MAAMgsF,SACzB,yBAA0B5oF,KAAKpD,MAAMmiE,OAAqC,IAA5B/+D,KAAKpD,MAAMmiE,MAAMjiE,QAC9DkD,KAAKpD,MAAMq/T,OAAOt3S,WACjBgD,EAAU3nB,KAAKpD,MAAM81K,SAAW53C,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAM81K,SAAU1yK,KAAKpD,MAAMq/T,QAAUj8T,KAAKpD,MAAMmiE,MAC5H,OAAoBw7D,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrD+J,UAAWA,EACXy2B,QAASp7C,KAAKo7C,QACd,aAAcp7C,KAAKpD,MAAMmiE,MACzB1hE,IAAK2C,KAAKpD,MAAMmiE,MAChB2gH,KAAM,SACN,gBAAiB1/K,KAAKpD,MAAMyrF,UAC3B1gE,EAAsB4yG,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,YA3DEngI,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA+D3K4ra,EA7CuB,CA8C9B7uS,EAAOuC,WAET3mI,EAAQiza,aAAeA,EAEvBp9W,EAAgBo9W,EAAc,eAAgB,CAC5CntG,OAAQ,KACRl9P,MAAO,KACP2zG,SAAU,KACVrqF,UAAU,EACVO,UAAU,EACVxtC,QAAS,OAGX4Q,EAAgBo9W,EAAc,YAAa,CACzCntG,OAAQthM,EAAWnnG,QAAQy2F,IAC3BlrD,MAAO47D,EAAWnnG,QAAQy2F,IAC1ByoD,SAAU/3C,EAAWnnG,QAAQy2F,IAC7B5hC,SAAUsyC,EAAWnnG,QAAQs2F,KAC7BlhC,SAAU+xC,EAAWnnG,QAAQs2F,KAC7B1uE,QAASu/E,EAAWnnG,QAAQi8B,Q,6BC9G9BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQosgB,uBAAoB,EAE5B,IAIgCvie,EAJ5Bu6F,EAQJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EARntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAE4B36F,EAFQ5pC,EAAQ,KAEK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIuie,EAAiC,SAAU5mY,IAhB/C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUkjgB,EAAmB5mY,GAE7B,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa4igB,GAE1B,SAASA,IAGP,OAFAjmgB,EAAgB0D,KAAMuigB,GAEft7c,EAAO7mD,MAAMJ,KAAMG,WAa5B,OAvCoB3D,EA6BP+lgB,GA7BoBhlgB,EA6BD,CAAC,CAC/BF,IAAK,SACLqC,MAAO,WACL,IAAIuU,EAAOjU,KAAKpD,MAAM81K,SAASjrK,QAAQ,gBAAiBzH,KAAKpD,MAAM67J,KAAO,GAAGhxJ,QAAQ,eAAgBzH,KAAKpD,MAAMk3U,WAAWrsU,QAAQ,UAAWN,KAAK6K,IAAIhS,KAAKpD,MAAMisD,MAAQ,EAAG7oD,KAAKpD,MAAM21K,eAAe9qK,QAAQ,SAAUN,KAAK6K,IAAIhS,KAAKpD,MAAMisD,MAAQ7oD,KAAKpD,MAAMk2F,KAAM9yF,KAAKpD,MAAM21K,eAAe9qK,QAAQ,SAAUzH,KAAKpD,MAAMk2F,MAAMrrF,QAAQ,iBAAkBzH,KAAKpD,MAAM21K,cACxW,OAAoBh4C,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACvD+J,UAAW,uBACV1Q,QAnCqEvX,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAuC3K+kgB,EArB4B,CAsBnChoY,EAAOuC,WAET3mI,EAAQosgB,kBAAoBA,EAE5Bv2c,EAAgBu2c,EAAmB,eAAgB,CACjDzuL,UAAW,KACXr7K,KAAM,KACN5vG,MAAO,KACPiqC,KAAM,KACNy/E,aAAc,KACdG,SAAU,oCAGZ1mH,EAAgBu2c,EAAmB,YAAa,CAC9CzuL,UAAWn5M,EAAWnnG,QAAQu2F,OAC9B0uC,KAAM99B,EAAWnnG,QAAQu2F,OACzBlhE,MAAO8xE,EAAWnnG,QAAQu2F,OAC1Bj3B,KAAM6nC,EAAWnnG,QAAQu2F,OACzBwoD,aAAc53C,EAAWnnG,QAAQu2F,OACjC2oD,SAAU/3C,EAAWnnG,QAAQw2F,U,6BChF/B7sH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQymL,oBAAiB,EAEzB,IAAIriD,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CwkI,EAAcxkI,EAAQ,IAEtB49J,EAAc5tG,EAAuBhwD,EAAQ,KAEjD,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI48I,EAA8B,SAAUjhD,IAhB5C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUu9K,EAAgBjhD,GAE1B,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAai9K,GAE1B,SAASA,EAAehgL,GACtB,IAAI24C,EAOJ,OAnCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAM48K,IAEtBrnI,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpB+lgB,eAAiBptd,EAAMotd,eAAe9/f,KAAK44H,EAAuBlmF,IACxEA,EAAMqtd,aAAertd,EAAMqtd,aAAa//f,KAAK44H,EAAuBlmF,IAC7DA,EA6QT,OA5SoB/4C,EAkCPogL,GAlCoBr/K,EAkCJ,CAAC,CAC5BF,IAAK,oBACLqC,MAAO,WAGL,GAFAM,KAAK6igB,kBAEA7igB,KAAKpD,MAAMwgB,OASdpd,KAAK8igB,WAAWpwf,MAAMi8I,cAAgBqF,EAAYxgI,QAAQwjJ,0BAA4B,SAThE,CACtB,IAAI+rV,EAAiB/uW,EAAYxgI,QAAQwjJ,0BAEzCh3K,KAAKgjgB,gBAAgBtwf,MAAMs7I,YAAc+0W,EAAiB,KAEtD/igB,KAAKijgB,kBACPjjgB,KAAKijgB,gBAAgBvwf,MAAMs7I,YAAc+0W,EAAiB,SAM/D,CACD1lgB,IAAK,qBACLqC,MAAO,SAA4Bo8H,EAAWiqC,EAAWmxQ,GACnDl3a,KAAKpD,MAAMygL,eAAiBvhD,EAAUuhD,cACxCr9K,KAAK6igB,mBAGF7igB,KAAKpD,MAAMwgB,QAAUpd,KAAKpD,MAAMg8K,gBACnC54K,KAAKkjgB,gBAAgBxwf,MAAM7L,OAAS7G,KAAKpD,MAAM21K,aAAevyK,KAAKpD,MAAM8+K,iBAAmB,MAG1F17K,KAAKmjgB,wBAA0BnjgB,KAAKpD,MAAM++K,UAC5C37K,KAAKmjgB,wBACLnjgB,KAAKmjgB,sBAAwB,QAGhC,CACD9lgB,IAAK,kBACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAMygL,aAAc,CAC3B,IAAI4B,EAAaj/K,KAAK8uH,UAAUs0Y,uBAEhC,GAAInkV,EAAY,CACd,IAAIokV,EAAmBrvW,EAAYxgI,QAAQ29H,WAAW8tB,EAAY,gCAElEj/K,KAAK8igB,WAAWpwf,MAAM+sE,UAAY4jb,EAAiB3wf,MAAM+sE,eAEzD,IAA8C,IAA1Cz/E,KAAKpD,MAAMygL,aAAahzK,QAAQ,KAAa,CAC/C,IAAIi5f,EAAqBtjgB,KAAKujgB,uBAAuBvjgB,KAAK8uH,WAC1D9uH,KAAK8igB,WAAWpwf,MAAM0+I,WAAa,SACnCpxJ,KAAK8igB,WAAWpwf,MAAM7L,OAAS,QAE/B,IAAI28f,EAAkBxvW,EAAYxgI,QAAQ68H,eAAeizW,GAKrDG,EAHiBzvW,EAAYxgI,QAAQ68H,eAAeizW,EAAmBnvW,eAAiBj2I,SAASle,KAAKpD,MAAMygL,aAAc,IAAM,KACjHmmV,EAAkB,KAIjCxjgB,KAAKpD,MAAMwgB,SACbqmf,GAAoBzvW,EAAYxgI,QAAQwjJ,2BAG1Ch3K,KAAK8igB,WAAWpwf,MAAM7L,OAAS,OAC/B7G,KAAK8igB,WAAWpwf,MAAM+sE,UAAYgkb,EAAmB,KACrDzjgB,KAAK8igB,WAAWpwf,MAAM0+I,WAAa,eAEnCpxJ,KAAK8igB,WAAWpwf,MAAM+sE,UAAYz/E,KAAKpD,MAAMygL,gBAKpD,CACDhgL,IAAK,yBACLqC,MAAO,SAAgCgb,GACrC,GAAIA,EAAS,CAGX,IAFA,IAAIqlB,EAAKrlB,EAEFqlB,IAAOi0H,EAAYxgI,QAAQkwD,SAAS3jD,EAAI,gBAC7CA,EAAKA,EAAGo0H,cAGV,OAAOp0H,EAEP,OAAO,OAGV,CACD1iC,IAAK,iBACLqC,MAAO,WACLM,KAAK0jgB,aAAarkd,WAAa,IAEhC,CACDhiD,IAAK,eACLqC,MAAO,WACL,IAGI2jgB,EAHAhnd,EAASr8C,KAETi/K,EAAaj/K,KAAK8uH,UAAUs0Y,uBAiBhC,GAdInkV,IACFokV,EAAmBrvW,EAAYxgI,QAAQ29H,WAAW8tB,EAAY,iCAGhEj/K,KAAKgjgB,gBAAgBtwf,MAAMq7I,YAAc,EAAI/tJ,KAAK8igB,WAAWzjd,WAAa,KAEtEr/C,KAAKijgB,kBACPjjgB,KAAKijgB,gBAAgBvwf,MAAMq7I,YAAc,EAAI/tJ,KAAK8igB,WAAWzjd,WAAa,MAGxEgkd,IACFA,EAAiB/jd,UAAYt/C,KAAK8igB,WAAWxjd,WAG3Ct/C,KAAKpD,MAAMg8K,cAAe,CAC5B,IAAIjpB,EAAWqE,EAAYxgI,QAAQmwe,gBAAgB3jgB,KAAK8igB,YAEpDc,EAAc5vW,EAAYxgI,QAAQ68H,eAAerwJ,KAAK6jgB,aAEtD9hL,EAAa/hV,KAAKpD,MAAM8+K,iBAAmB17K,KAAKpD,MAAMk2F,KAItDghP,EAFqB9/K,EAAYxgI,QAAQ68H,eAAerwJ,KAAKkjgB,iBAE5BnhL,GAAc,EAC/C+hL,EAAgB9jgB,KAAK6jgB,YAAYnxf,MAAMqkC,KAAO,IAElD,GAAI/2C,KAAK8igB,WAAWxjd,UAAYqwG,EAAWpmJ,WAAWu6f,GAAiBF,GAAe5jgB,KAAK8igB,WAAWxjd,UAAY/1C,WAAWu6f,GAAgB,CACvI9jgB,KAAK+jgB,eACP/jgB,KAAK+jgB,aAAarxf,MAAM0R,QAAU,QAClCpkB,KAAK+jgB,aAAarxf,MAAMqkC,IAAM/2C,KAAK8igB,WAAWxjd,UAAY,MAG5D,IAAIm5G,EAAOtxJ,KAAK0W,MAAM7d,KAAK8igB,WAAWxjd,UAAYw0R,EAAY9zU,KAAK8igB,WAAWzlV,cAAgB,EAE1Fr9K,KAAKpD,MAAMgzK,kBACb5vK,KAAKpD,MAAMgzK,gBAAgB,CACzBnX,KAAMA,IAGRz4J,KAAKmjgB,sBAAwB,WACvB9md,EAAO0nd,eACT1nd,EAAO0nd,aAAarxf,MAAM0R,QAAU,QAGtCi4B,EAAOwnd,YAAYnxf,MAAMqkC,KAAO0hH,EAAO,GAAKspL,EAAa,WAMlE,CACD1kV,IAAK,iBACLqC,MAAO,WACL,OAAIM,KAAKpD,MAAM07G,SAAWt4G,KAAKpD,MAAM07G,QAAQx7G,OACvBy9H,EAAO/mG,QAAQ5Y,cAAc,WAAY,CAC3D+J,UAAW,mCACV3kB,KAAKpD,MAAM07G,QAAQ7wF,KAAI,SAAU6yD,EAAKz9E,GACvC,OAAoB09H,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDvd,IAAKi9E,EAAI19E,MAAM63J,MAAQ,IAAM53J,EAC7B6V,MAAO4nE,EAAI19E,MAAMgkK,aAAetmF,EAAI19E,MAAM8V,MAC1CiS,UAAW21D,EAAI19E,MAAMikK,iBAAmBvmF,EAAI19E,MAAM+nB,gBAI/C,OAGV,CACDtnB,IAAK,qBACLqC,MAAO,SAA4Bu3K,GACjC,IAAIj6H,EAASh9C,KAEb,OAAIA,KAAKpD,MAAMg8K,cACOr+C,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACxDwzD,IAAK,SAAaruC,GAChB,OAAOid,EAAO+md,aAAehke,GAE/BrtB,MAAO,CACLqkC,IAAK,IACL3yB,QAAS,QAEXO,UAAW,iGACVsyJ,EAAUj3K,KAAKpD,MAAMqjK,aAEjB,OAGV,CACD5iK,IAAK,SACLqC,MAAO,WACL,IAAIwgD,EAASlgD,KAET2kB,GAAY,EAAIi2G,EAAYtP,YAAY,8BAA+B,CACzE,0BAA2BtrH,KAAKpD,MAAMwgB,OACtC,6BAA8Bpd,KAAKpD,MAAMwgB,QAAUpd,KAAKpD,MAAM0gL,cAE5D0mV,GAAqB,EAAIppY,EAAYtP,YAAY,oCAAqCtrH,KAAKpD,MAAMwgL,eAAgB,CACnH,4BAA6Bp9K,KAAKpD,MAAMg8K,gBAEtCqrV,GAAuB,EAAIrpY,EAAYtP,YAAY,sCAAuCtrH,KAAKpD,MAAMwgL,gBACrG8mV,GAAuB,EAAItpY,EAAYtP,YAAY,sCAAuCtrH,KAAKpD,MAAMwgL,gBACrG+mV,EAAiBhngB,OAAOu6B,OAAO,CACjCqf,IAAK,KACJ/2C,KAAKpD,MAAMugL,YACVv2K,EAAQ5G,KAAKpD,MAAMwgB,OAASpd,KAAKpD,MAAM0gL,YAAc,eAAiBt9K,KAAKpD,MAAM0gL,YAAc,IAC/FzmI,EAAO72C,KAAKpD,MAAMwgB,OAAS,KAAOpd,KAAKpD,MAAM0gL,YAC7CrG,EAAWj3K,KAAKokgB,iBAChBL,EAAe/jgB,KAAKqkgB,mBAAmBptV,GACvCqtV,GAAuBtkgB,KAAKpD,MAAMwgB,QAAUpd,KAAKpD,MAAMygL,aAAe,CACxE39F,UAAW,UACT,KACJ,OAAoB66C,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAWA,EACXjS,MAAO,CACL9L,MAAOA,EACPiwC,KAAMA,GAERu3B,IAAK,SAAaruC,GAChBmgB,EAAO4uE,UAAY/uF,IAEPw6F,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,gCACXypD,IAAK,SAAaruC,GAChBmgB,EAAOwjd,aAAe3je,GAExBwke,SAAUvkgB,KAAK2igB,gBACDpoY,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,oCACXypD,IAAK,SAAaruC,GAChBmgB,EAAO8id,gBAAkBjje,IAEbw6F,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpD+J,UAAWs/e,EACXvxf,MAAO1S,KAAKpD,MAAMugL,YACjBlG,EAAUj3K,KAAKpD,MAAMyyH,OAAQrvH,KAAKpD,MAAMogL,cAA4BziD,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACzG+J,UAAW,8BACXypD,IAAK,SAAaruC,GAChBmgB,EAAO4id,WAAa/ie,GAEtBrtB,MAAO4xf,EACPC,SAAUvkgB,KAAK4igB,cACDroY,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpDwzD,IAAK,SAAaruC,GAChB,OAAOmgB,EAAO2jd,YAAc9je,GAE9BrtB,MAAOyxf,EACPx/e,UAAWq/e,GACV/sV,EAAUj3K,KAAKpD,MAAMynB,MAAO0/e,EAA2BxpY,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAC5F+J,UAAW,+BACXypD,IAAK,SAAaruC,GAChBmgB,EAAOgjd,gBAAkBnje,MAEXw6F,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACpD+J,UAAW,gCACXypD,IAAK,SAAaruC,GAChBmgB,EAAOskd,aAAezke,IAEVw6F,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,oCACXypD,IAAK,SAAaruC,GAChBmgB,EAAO+id,gBAAkBlje,IAEbw6F,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpD+J,UAAWu/e,EACXxxf,MAAO1S,KAAKpD,MAAMugL,YACjBlG,EAAUj3K,KAAKpD,MAAM+yH,gBAxSgDjzH,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA4S3Ko/K,EA1RyB,CA2RhCriD,EAAOuC,WAET3mI,EAAQymL,eAAiBA,EAEzB5wH,EAAgB4wH,EAAgB,eAAgB,CAC9CvtD,OAAQ,KACRhrG,KAAM,KACNsrG,OAAQ,KACRrX,QAAS,KACTl7F,OAAQ,KACRkgK,YAAa,KACbN,WAAY,KACZpE,eAAe,EACf8C,iBAAkB,KAClB5oF,KAAM,KACNy/E,aAAc,KACdoJ,SAAS,EACTwB,WAAY,KACZC,eAAgB,KAChBxN,gBAAiB,OAGnB5jH,EAAgB4wH,EAAgB,YAAa,CAC3CvtD,OAAQsL,EAAWnnG,QAAQy2F,IAC3B5lG,KAAMs2G,EAAWnnG,QAAQy2F,IACzB0F,OAAQgL,EAAWnnG,QAAQy2F,IAC3B3R,QAASqiB,EAAWnnG,QAAQuvB,MAC5B3lC,OAAQu9G,EAAWnnG,QAAQs2F,KAC3BwzD,YAAa3iD,EAAWnnG,QAAQw2F,OAChCgzD,WAAYriD,EAAWnnG,QAAQy2F,IAC/B2uD,cAAej+C,EAAWnnG,QAAQs2F,KAClC4xD,iBAAkB/gD,EAAWnnG,QAAQu2F,OACrCj3B,KAAM6nC,EAAWnnG,QAAQu2F,OACzB06Y,YAAa9pY,EAAWnnG,QAAQu2F,OAChC4xD,QAAShhD,EAAWnnG,QAAQs2F,KAC5BqzD,WAAYxiD,EAAWnnG,QAAQy2F,IAC/BmzD,eAAgBziD,EAAWnnG,QAAQw2F,OACnC4lD,gBAAiBj1C,EAAWnnG,QAAQi8B,Q,6BC3WtCtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ0kL,eAAY,EAEpB,IAAItgD,EAcJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAdntB65F,CAAwBtkI,EAAQ,IAEzCsugB,EAAWtugB,EAAQ,KAEnB49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7C0kI,EAAe10E,EAAuBhwD,EAAQ,KAE9CuugB,EAAoBvugB,EAAQ,KAEhC,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS+5F,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAI9U,SAASk3B,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,SAASgV,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAItF,SAAqC30C,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJxTC,CAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAUlI,SAASN,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAIhL,SAASx4C,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,IAAIu6K,EAAyB,SAAUl/C,IAdvC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAejXF,CAAUw7K,EAAWl/C,GAErB,IAnBoBn/H,EAAae,EAAYC,EAmBzCypD,EAAStnD,EAAak7K,GAE1B,SAASA,EAAUj+K,GACjB,IAAI24C,EAcJ,OAxCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA4B5GH,CAAgB0D,KAAM66K,IAEtBtlI,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBo+K,WAAazlI,EAAMylI,WAAWn4K,KAAK44H,EAAuBlmF,IAChEA,EAAMqvd,gBAAkBrvd,EAAMqvd,gBAAgB/hgB,KAAK44H,EAAuBlmF,IAC1EA,EAAMsvd,cAAgBtvd,EAAMsvd,cAAchigB,KAAK44H,EAAuBlmF,IACtEA,EAAMw8H,YAAcx8H,EAAMw8H,YAAYlvK,KAAK44H,EAAuBlmF,IAClEA,EAAMuvd,aAAevvd,EAAMuvd,aAAajigB,KAAK44H,EAAuBlmF,IACpEA,EAAMwvd,gBAAkBxvd,EAAMwvd,gBAAgBligB,KAAK44H,EAAuBlmF,IAC1EA,EAAMyvd,aAAezvd,EAAMyvd,aAAanigB,KAAK44H,EAAuBlmF,IACpEA,EAAM0vd,eAAiB1vd,EAAM0vd,eAAepigB,KAAK44H,EAAuBlmF,IACxEA,EAAM2vd,UAAY3vd,EAAM2vd,UAAUrigB,KAAK44H,EAAuBlmF,IACvDA,EAgsBT,OApuBoB/4C,EAuCPq+K,GAvCoBt9K,EAuCT,CAAC,CACvBF,IAAK,aACLqC,MAAO,SAAoB4lB,GACzB,IAAI6/e,EAAa7/e,EAAM+1B,cAAc1+C,OAAOmX,SAE5C,GAAmB,UAAfqxf,GAAyC,WAAfA,GAA0C,MAAfA,IAAsBnxW,EAAYxgI,QAAQkwD,SAASp+D,EAAM+1B,cAAc1+C,OAAQ,eAAxI,CAQA,GAJIqD,KAAKpD,MAAMo+K,YACbh7K,KAAKpD,MAAMo+K,WAAW11J,GAGpBtlB,KAAKpD,MAAMukK,cAAe,CAC5B,IAEIxpH,EAFA4yX,EAAUjlZ,EAAMtU,KAChB+uU,EAAWz6T,EAAM6b,MAGrB,GAAInhC,KAAKolgB,2BAA6B9/e,EAAM+1B,cAAcrE,UAAoC,OAAxBh3C,KAAKqlgB,eACzErxW,EAAYxgI,QAAQ8xe,iBAEpBtlgB,KAAKulgB,cAAgBxlL,EACrBpoS,EAAY33C,KAAKwlgB,YAAYlgf,OACxB,CACL,IAAI+iE,EAAWroF,KAAKowD,WAAWm6W,GAC3Bk7F,GAAgBzlgB,KAAK0lgB,YAAqB1lgB,KAAKpD,MAAMm+K,iBAKzD,GAJA/6K,KAAKqlgB,eAAiBtlL,EACtB//U,KAAKulgB,cAAgBxlL,EACrB//U,KAAK2lgB,eAAiB3lgB,KAAKpD,MAAMisD,MAE7B48c,EAAe,CACjB,IAAI7vW,EAAUtwI,EAAM+1B,cAAcu6G,SAAWtwI,EAAM+1B,cAAcpE,QAEjE,GAAIoxC,GAAYutE,EAAS,CACvB,GAAI51J,KAAK4lgB,wBACPjud,EAAY,SACP,CACL,IAAIkud,EAAiB7lgB,KAAK8lgB,qBAAqBv7F,GAC/C5yX,EAAY33C,KAAKpD,MAAM+6C,UAAU1kC,QAAO,SAAUyQ,EAAK7mB,GACrD,OAAOA,IAAMgpgB,KAIb7lgB,KAAKpD,MAAMu+K,eACbn7K,KAAKpD,MAAMu+K,cAAc,CACvB9/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,aAINjR,KAAK4lgB,wBACPjud,EAAY4yX,EACHvqa,KAAKolgB,4BACDztd,EAATi+G,GAAqB51J,KAAKpD,MAAM+6C,UAAY3C,EAAmBh1C,KAAKpD,MAAM+6C,WAAiC,GAC/GA,EAAY,GAAGnvB,OAAOwsB,EAAmB2C,GAAY,CAAC4yX,KAGpDvqa,KAAKpD,MAAMs+K,aACbl7K,KAAKpD,MAAMs+K,YAAY,CACrB7/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,aAKZ,GAAIjR,KAAK4lgB,wBACHv9a,GACF1wC,EAAY,KAER33C,KAAKpD,MAAMu+K,eACbn7K,KAAKpD,MAAMu+K,cAAc,CACvB9/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,UAIV0mC,EAAY4yX,EAERvqa,KAAKpD,MAAMs+K,aACbl7K,KAAKpD,MAAMs+K,YAAY,CACrB7/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,cAKZ,GAAIo3E,EAAU,CACZ,IAAI09a,EAAkB/lgB,KAAK8lgB,qBAAqBv7F,GAEhD5yX,EAAY33C,KAAKpD,MAAM+6C,UAAU1kC,QAAO,SAAUyQ,EAAK7mB,GACrD,OAAOA,IAAMkpgB,KAGX/lgB,KAAKpD,MAAMs+K,aACbl7K,KAAKpD,MAAMs+K,YAAY,CACrB7/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,aAIV0mC,EAAY,GAAGnvB,OAAOwsB,EAAmBh1C,KAAKpD,MAAM+6C,WAAa,IAAK,CAAC4yX,IAEnEvqa,KAAKpD,MAAMs+K,aACbl7K,KAAKpD,MAAMs+K,YAAY,CACrB7/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,QAQdjR,KAAKpD,MAAMo0K,mBACbhxK,KAAKpD,MAAMo0K,kBAAkB,CAC3B31H,cAAe/1B,EAAM+1B,cACrB37C,MAAOi4C,IAKb33C,KAAK0lgB,YAAa,KAEnB,CACDrogB,IAAK,cACLqC,MAAO,SAAqB4lB,GAC1B,IAAI0gf,EAAYC,EACZC,EAAqBlmgB,KAAKpD,MAAMo9K,MAAQh6K,KAAKpD,MAAMuzK,UAEnD+1V,IACFlmgB,KAAKqlgB,gBAAkBrlgB,KAAK2lgB,eAC5B3lgB,KAAKulgB,eAAiBvlgB,KAAKpD,MAAMisD,OAG/B7oD,KAAKulgB,cAAgBvlgB,KAAKqlgB,gBAC5BW,EAAahmgB,KAAKqlgB,eAClBY,EAAWjmgB,KAAKulgB,eACPvlgB,KAAKulgB,cAAgBvlgB,KAAKqlgB,gBACnCW,EAAahmgB,KAAKulgB,cAClBU,EAAWjmgB,KAAKqlgB,iBAEhBW,EAAahmgB,KAAKulgB,cAClBU,EAAWjmgB,KAAKulgB,eAGdW,IACFF,EAAa7+f,KAAK+K,IAAI8zf,EAAahmgB,KAAKpD,MAAMisD,MAAO,GACrDo9c,GAAYjmgB,KAAKpD,MAAMisD,OAMzB,IAHA,IAAInpD,EAAQM,KAAKpD,MAAM8C,MACnBi4C,EAAY,GAEP96C,EAAImpgB,EAAYnpgB,GAAKopgB,EAAUppgB,IAAK,CAC3C,IAAIspgB,EAAezmgB,EAAM7C,GACzB86C,EAAU7wC,KAAKq/f,GAEXnmgB,KAAKpD,MAAMs+K,aACbl7K,KAAKpD,MAAMs+K,YAAY,CACrB7/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMm1f,EACNl1f,KAAM,QAKZ,OAAO0mC,IAER,CACDt6C,IAAK,gBACLqC,MAAO,SAAuB4lB,GAC5BtlB,KAAK0lgB,YAAa,IAEnB,CACDrogB,IAAK,kBACLqC,MAAO,SAAyB4lB,GAC1BtlB,KAAKpD,MAAM4mD,gBACbwwG,EAAYxgI,QAAQ8xe,iBAEhBtlgB,KAAKpD,MAAMy+K,8BACbr7K,KAAKpD,MAAMy+K,6BAA6B,CACtChgI,cAAe/1B,EAAM+1B,cACrB37C,MAAO4lB,EAAMtU,OAIbhR,KAAKpD,MAAM4mD,eACbxjD,KAAKpD,MAAM4mD,cAAc,CACvBnI,cAAe/1B,EAAM+1B,cACrB37C,MAAOM,KAAKpD,MAAMiH,OAItByhB,EAAM+1B,cAAcP,oBAGvB,CACDz9C,IAAK,eACLqC,MAAO,SAAsB4lB,GAC3B,IACIqyB,EADA4yX,EAAUjlZ,EAAMtU,KAGhBhR,KAAKowD,WAAWm6W,IAClB5yX,EAAY,KAER33C,KAAKpD,MAAMu+K,eACbn7K,KAAKpD,MAAMu+K,cAAc,CACvB9/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,YAIV0mC,EAAY4yX,EAERvqa,KAAKpD,MAAMs+K,aACbl7K,KAAKpD,MAAMs+K,YAAY,CACrB7/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,WAKRjR,KAAKpD,MAAMo0K,mBACbhxK,KAAKpD,MAAMo0K,kBAAkB,CAC3B31H,cAAe/1B,EAAM+1B,cACrB37C,MAAOi4C,MAIZ,CACDt6C,IAAK,kBACLqC,MAAO,SAAyB4lB,GAC9B,IACIqyB,EADA4yX,EAAUjlZ,EAAMtU,KAGpB,GAAIhR,KAAKowD,WAAWm6W,GAAU,CAC5B,IAAIs7F,EAAiB7lgB,KAAK8lgB,qBAAqBv7F,GAC/C5yX,EAAY33C,KAAKpD,MAAM+6C,UAAU1kC,QAAO,SAAUyQ,EAAK7mB,GACrD,OAAOA,IAAMgpgB,KAGX7lgB,KAAKpD,MAAMu+K,eACbn7K,KAAKpD,MAAMu+K,cAAc,CACvB9/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,kBAIV0mC,EAAY,GAAGnvB,OAAOwsB,EAAmBh1C,KAAKpD,MAAM+6C,WAAa,IAAK,CAAC4yX,IAEnEvqa,KAAKpD,MAAMs+K,aACbl7K,KAAKpD,MAAMs+K,YAAY,CACrB7/H,cAAe/1B,EAAM+1B,cACrBrqC,KAAMu5Z,EACNt5Z,KAAM,aAKRjR,KAAKpD,MAAMo0K,mBACbhxK,KAAKpD,MAAMo0K,kBAAkB,CAC3B31H,cAAe/1B,EAAM+1B,cACrB37C,MAAOi4C,MAIZ,CACDt6C,IAAK,wBACLqC,MAAO,WACL,MAAoC,WAA7BM,KAAKpD,MAAMukK,gBAEnB,CACD9jK,IAAK,0BACLqC,MAAO,WACL,MAAoC,aAA7BM,KAAKpD,MAAMukK,gBAEnB,CACD9jK,IAAK,aACLqC,MAAO,SAAoB6qa,GACzB,SAAIA,IAAWvqa,KAAKpD,MAAM+6C,aACpB33C,KAAKpD,MAAM+6C,qBAAqBl3C,MAAcT,KAAK8lgB,qBAAqBv7F,IAAY,EAAcvqa,KAAKugE,OAAOgqW,EAASvqa,KAAKpD,MAAM+6C,cAKzI,CACDt6C,IAAK,wBACLqC,MAAO,SAA+B6qa,GACpC,SAAIA,IAAWvqa,KAAKpD,MAAMw+K,uBACjBp7K,KAAKugE,OAAOgqW,EAASvqa,KAAKpD,MAAMw+K,wBAK1C,CACD/9K,IAAK,SACLqC,MAAO,SAAgBy0K,EAAOC,GAC5B,MAAmC,WAA5Bp0K,KAAK86K,mBAAkC3G,IAAUC,EAAQt5C,EAAatnG,QAAQ+sC,OAAO4zG,EAAOC,EAAOp0K,KAAKpD,MAAM8zI,WAEtH,CACDrzI,IAAK,uBACLqC,MAAO,SAA8B6qa,GACnC,IAAIppY,GAAS,EAEb,GAAInhC,KAAKpD,MAAM+6C,UACb,IAAK,IAAI96C,EAAI,EAAGA,EAAImD,KAAKpD,MAAM+6C,UAAU76C,OAAQD,IAC/C,GAAImD,KAAKugE,OAAOgqW,EAASvqa,KAAKpD,MAAM+6C,UAAU96C,IAAK,CACjDskC,EAAQtkC,EACR,MAKN,OAAOskC,IAER,CACD9jC,IAAK,cACLqC,MAAO,SAAqB4lB,GAC1B,IAAIyrJ,EACArgC,EAAU1wI,KAAKpD,MAAM8zI,QAEzB,GAAIA,EAAS,CACX,IAAI01X,EAAezue,OAAOmjG,EAAatnG,QAAQkhI,iBAAiBpvI,EAAMtU,KAAM0/H,IAG1C,OAFlCqgC,EAAe/wK,KAAKpD,MAAMm0K,aAvYlC,SAAuBp0K,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAuY5dmsI,CAAc,GAAI9oI,KAAKpD,MAAMm0K,cAAgB,IAErEq1V,WACRr1V,EAAaq1V,GAEhBpmgB,KAAKpD,MAAM4+K,eACbx7K,KAAKpD,MAAM4+K,cAAc,CACvBngI,cAAe/1B,EACftU,KAAMsU,EAAMtU,SAIhB+/J,EAAaq1V,IAAgB,EAEzBpmgB,KAAKpD,MAAM2+K,aACbv7K,KAAKpD,MAAM2+K,YAAY,CACrBlgI,cAAe/1B,EACftU,KAAMsU,EAAMtU,YAIb,CACL,IAAIq1f,EAAmBrmgB,KAAKsmgB,qBAAqBhhf,EAAMtU,MACvD+/J,EAAe/wK,KAAKpD,MAAMm0K,aAAe/7H,EAAmBh1C,KAAKpD,MAAMm0K,cAAgB,IAE7D,IAAtBs1V,GACFt1V,EAAeA,EAAa99J,QAAO,SAAUyQ,EAAK7mB,GAChD,OAAOA,IAAMwpgB,KAGXrmgB,KAAKpD,MAAM4+K,eACbx7K,KAAKpD,MAAM4+K,cAAc,CACvBngI,cAAe/1B,EACftU,KAAMsU,EAAMtU,SAIhB+/J,EAAajqK,KAAKwe,EAAMtU,MAEpBhR,KAAKpD,MAAM2+K,aACbv7K,KAAKpD,MAAM2+K,YAAY,CACrBlgI,cAAe/1B,EACftU,KAAMsU,EAAMtU,QAMhBhR,KAAKpD,MAAMm1K,aACb/xK,KAAKpD,MAAMm1K,YAAY,CACrB/gK,KAAM+/J,MAIX,CACD1zK,IAAK,uBACLqC,MAAO,SAA8Bu6E,GACnC,IAAI94C,GAAS,EAEb,GAAInhC,KAAKpD,MAAMm0K,aACb,IAAK,IAAIl0K,EAAI,EAAGA,EAAImD,KAAKpD,MAAMm0K,aAAaj0K,OAAQD,IAClD,GAAIi+H,EAAatnG,QAAQ+sC,OAAOvgE,KAAKpD,MAAMm0K,aAAal0K,GAAIo9E,GAAM,CAChE94C,EAAQtkC,EACR,MAKN,OAAOskC,IAER,CACD9jC,IAAK,gBACLqC,MAAO,SAAuBu6E,GAC5B,IAAIy2D,EAAU1wI,KAAKpD,MAAM8zI,QAEzB,GAAIA,EAAS,CACX,IAAI01X,EAAezue,OAAOmjG,EAAatnG,QAAQkhI,iBAAiBz6E,EAAKy2D,IACrE,OAAO1wI,KAAKpD,MAAMm0K,cAAyD,MAAzC/wK,KAAKpD,MAAMm0K,aAAaq1V,GAE1D,OAA2C,IAApCpmgB,KAAKsmgB,qBAAqBrsb,KAGpC,CACD58E,IAAK,qBACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAMukK,eAAmD,MAAlCnhK,KAAKpD,MAAMizK,oBACzC,OAAO,EAEP,IAAIpvK,MAAMC,QAAQV,KAAKpD,MAAM4V,UAO3B,OAAOxS,KAAKpD,MAAM4V,UAAiD,MAArCxS,KAAKpD,MAAM4V,SAAS2uJ,cANlD,IAAK,IAAItkK,EAAI,EAAGA,EAAImD,KAAKpD,MAAM4V,SAAS1V,OAAQD,IAC9C,GAAImD,KAAKpD,MAAM4V,SAAS3V,GAAGD,MAAMukK,cAC/B,OAAO,EAQf,OAAO,IAER,CACD9jK,IAAK,iBACLqC,MAAO,SAAwB4lB,EAAO6b,GACpCnhC,KAAKumgB,aAAc,EACnBvmgB,KAAKwmgB,gBAAkBrle,EACvB7b,EAAMuyJ,aAAarvE,QAAQ,OAAQ,OAEpC,CACDnrG,IAAK,eACLqC,MAAO,SAAsB4lB,EAAO6b,GAClCnhC,KAAKumgB,aAAc,EACnBvmgB,KAAKwmgB,gBAAkB,KACvBxmgB,KAAKymgB,gBAAkB,OAExB,CACDppgB,IAAK,gBACLqC,MAAO,SAAuB4lB,EAAO6b,GACnC,GAAInhC,KAAKumgB,aAAevmgB,KAAKwmgB,kBAAoBrle,EAAO,CACtD,IAAIule,EAAaphf,EAAMohf,WAEnBC,EAAO3yW,EAAYxgI,QAAQ4gI,UAAUsyW,GAAY3vd,IAAMi9G,EAAYxgI,QAAQg8H,qBAE3EnsE,EAAQ/9D,EAAM+1B,cAAcgoC,MAC5Bujb,EAAUD,EAAO3yW,EAAYxgI,QAAQ68H,eAAeq2W,GAAc,EAClEG,EAAiBH,EAAWtD,uBAE5B//a,EAAQujb,GACV5yW,EAAYxgI,QAAQ+zD,YAAYm/a,EAAY,gCAE5C1mgB,KAAKymgB,gBAAkBtle,EACnB0le,EAAgB7yW,EAAYxgI,QAAQ8jB,SAASuvd,EAAgB,gCAAqC7yW,EAAYxgI,QAAQ8jB,SAASovd,EAAY,+BAE3IG,EAAgB7yW,EAAYxgI,QAAQ+zD,YAAYs/a,EAAgB,gCAAqC7yW,EAAYxgI,QAAQ8jB,SAASovd,EAAY,6BAClJ1mgB,KAAKymgB,gBAAkBtle,EAAQ,EAE/B6yH,EAAYxgI,QAAQ8jB,SAASovd,EAAY,oCAI9C,CACDrpgB,IAAK,iBACLqC,MAAO,SAAwB4lB,GAC7B,IAAIohf,EAAaphf,EAAMohf,WACnBG,EAAiBH,EAAWtD,uBAE5ByD,GACF7yW,EAAYxgI,QAAQ+zD,YAAYs/a,EAAgB,gCAGlD7yW,EAAYxgI,QAAQ+zD,YAAYm/a,EAAY,gCAE5C1yW,EAAYxgI,QAAQ+zD,YAAYm/a,EAAY,+BAE7C,CACDrpgB,IAAK,YACLqC,MAAO,SAAmB4lB,GACxB,GAA4B,MAAxBtlB,KAAKymgB,gBAAyB,CAChC,IAAInuV,EAAYt4K,KAAKwmgB,gBAAkBxmgB,KAAKymgB,gBAAkBzmgB,KAAKymgB,gBAA2C,IAAzBzmgB,KAAKymgB,gBAAwB,EAAIzmgB,KAAKymgB,gBAAkB,EAEzI/if,EAAMsxB,EAAmBh1C,KAAKpD,MAAM8C,OAExCo7H,EAAatnG,QAAQilJ,aAAa/0J,EAAK1jB,KAAKwmgB,gBAAiBluV,GAEzDt4K,KAAKpD,MAAMq/K,cACbj8K,KAAKpD,MAAMq/K,aAAa,CACtB5gI,cAAe/1B,EACf5lB,MAAOgkB,EACP20J,UAAWr4K,KAAKwmgB,gBAChBluV,UAAWt4K,KAAKymgB,kBAMtBzmgB,KAAKilgB,eAAe3/e,GACpBtlB,KAAKglgB,aAAa1/e,KAEnB,CACDjoB,IAAK,uBACLqC,MAAO,SAA8B6qa,EAASppY,GAC5C,IAAIxZ,EAAU,KAUd,MARgC,cAA5B3nB,KAAKpD,MAAMi/K,cAAgC77K,KAAKpD,MAAM0/K,sBACxD30J,EAAuB4yG,EAAO/mG,QAAQ5Y,cAAc+pf,EAAkBmC,iBAAkB,CACtF1rd,QAASp7C,KAAK+xK,YACdw4P,QAASA,EACTt5S,SAAUjxH,KAAK+mgB,cAAcx8F,MAIbhwS,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDvd,IAAK8jC,EAAQ,kBACbxc,UAAW,qBACG41G,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACjDwmJ,QAAS7mC,EAAO/mG,QAAQirH,SAASrtG,MAAMpxC,KAAKpD,MAAM4V,WACjDmV,EAAsB4yG,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CAC5D+J,UAAW,0BACV3kB,KAAKpD,MAAMk/K,uBAAuByuP,EAASppY,QAE/C,CACD9jC,IAAK,uBACLqC,MAAO,SAA8B6qa,EAASppY,GAC5C,OAAoBo5F,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDvd,IAAK8jC,EAAQ,kBACbxc,UAAW,qBACV3kB,KAAKpD,MAAMm/K,uBAAuBwuP,EAASppY,MAE/C,CACD9jC,IAAK,SACLqC,MAAO,WACL,IAEIozF,EAFAz2C,EAASr8C,KAGTgngB,EAAMhngB,KAAKpD,MAAMk2F,MAAQ,EACzBjqC,EAAQ7oD,KAAKpD,MAAMisD,OAAS,EAC5Bo+c,EAAmBjngB,KAAKkngB,qBACxBrrV,EAAe77K,KAAKpD,MAAMi/K,aAC1BsrV,EAAuBtrV,GAAiC,cAAjBA,EACvCurV,EAAkBvrV,GAAiC,YAAjBA,EAClCwrV,GAAyB,EAE7B,GAAIrngB,KAAKpD,MAAM8C,OAASM,KAAKpD,MAAM8C,MAAM5C,OAAQ,CAC/Cg2F,EAAO,GA8HP,IA7HA,IAAIgoD,EAAa96I,KAAKpD,MAAMo9K,KAAO,EAAInxH,EACnCkyF,EAAW/6I,KAAKpD,MAAMg8K,cAAgB99B,EAAmB,EAANksX,EAAUlsX,EAAaksX,GAAOhngB,KAAKpD,MAAM8C,MAAM5C,OAElGy/C,EAAQ,SAAe1/C,GACzB,GAAIA,GAAKw/C,EAAOz/C,MAAM8C,MAAM5C,OAC1B,MAAO,QAGT,IAAIyta,EAAUluX,EAAOz/C,MAAM8C,MAAM7C,GAE7Bo0H,EAAW50E,EAAO0qd,cAAcx8F,GAEhCliV,IAAW4+a,GAAmB5qd,EAAO+T,WAAW/T,EAAOz/C,MAAM8C,MAAM7C,IAEnEyqgB,EAAsBjrd,EAAOkrd,sBAAsBh9F,GAEnDi9F,OAAe,EAEnB,GAAIL,EAAsB,CACxB,IAAIM,EAAsB3sY,EAAatnG,QAAQkhI,iBAAiB61Q,EAASluX,EAAOz/C,MAAMg/K,YAElF8rV,EAAuB5sY,EAAatnG,QAAQkhI,iBAAiBr4G,EAAOz/C,MAAM8C,MAAM7C,EAAI,GAAIw/C,EAAOz/C,MAAMg/K,YAE/F,IAAN/+K,GAAW4qgB,IAAwBC,IACrC50a,EAAKhsF,KAAKu1C,EAAOsrd,qBAAqBp9F,EAAS1ta,IAC/CwqgB,EAAyBp2Y,GAI7B,GAAIm2Y,EAAiB,CACnB,IAAIQ,EAAe/qgB,EAEfgrgB,EAAuB/sY,EAAatnG,QAAQkhI,iBAAiB61Q,EAASluX,EAAOz/C,MAAMmjK,WAIvF,GAFyBljK,IAAMi+I,GAAchgB,EAAatnG,QAAQkhI,iBAAiBr4G,EAAOz/C,MAAM8C,MAAM7C,EAAI,GAAIw/C,EAAOz/C,MAAMmjK,aAAe8nW,EAElH,CACtB,IAAIC,EAAmBD,EAGvB,IAFAL,EAAe,EAERK,IAAyBC,GAAkB,CAChDN,IACA,IAAIO,EAAc1rd,EAAOz/C,MAAM8C,QAAQkogB,GAEvC,IAAIG,EAGF,MAFAD,EAAmBhtY,EAAatnG,QAAQkhI,iBAAiBqzW,EAAa1rd,EAAOz/C,MAAMmjK,aAQ3F,IAAIioW,EAAqB3rd,EAAOz/C,MAAM0/K,qBAAuB6qV,GAAwBE,EAErF,IAAKhrd,EAAOz/C,MAAM0/K,qBAAuB0rV,EAAoB,CAE3D,IAAIC,EAAuB1tY,EAAO/mG,QAAQ5Y,cAAc8pf,EAASwD,QAAS,CACxE7qgB,IAAKR,EACL6C,MAAO28C,EAAOz/C,MAAM8C,MACpB6qa,QAASA,EACTxqF,SAAUljV,EACVu+C,QAASiB,EAAO2+H,WAChB7/H,cAAekB,EAAOz/C,MAAMq+K,iBAC5BktV,aAAc9rd,EAAOuod,gBACrBl7B,WAAYrtb,EAAOwod,cACnB9yV,YAAa11H,EAAO01H,YACpB9gD,SAAUA,EACVkwC,cAAe9kH,EAAOz/C,MAAMukK,cAC5B2jW,aAAczod,EAAOyod,aACrBC,gBAAiB1od,EAAO0od,gBACxB18a,SAAUA,EACVi/a,oBAAqBA,EACrBtrV,aAAc3/H,EAAOz/C,MAAMo/K,aAC3Bjc,UAAW1jH,EAAOz/C,MAAMmjK,UACxB8b,aAAcx/H,EAAOz/C,MAAMi/K,aAC3B2rV,aAAcA,EACdn1c,YAAa,SAAqBtxD,GAChC,OAAOs7C,EAAO+rd,eAAerngB,EAAGlE,IAElCm2D,UAAW3W,EAAO2od,aAClBqD,WAAY,SAAoBtngB,GAC9B,OAAOs7C,EAAOisd,cAAcvngB,EAAGlE,IAEjCw5C,YAAagG,EAAO4od,eACpBtud,OAAQ0F,EAAO6od,UACftsV,cAAev8H,EAAOz/C,MAAMg8K,cAC5B8C,iBAAkBr/H,EAAOz/C,MAAM8+K,iBAC/BpC,SAAUj9H,EAAOz/C,MAAM08K,SACvB4C,mBAAoB7/H,EAAOz/C,MAAMs/K,mBACjCC,cAAe9/H,EAAOz/C,MAAMu/K,cAC5BC,cAAe//H,EAAOz/C,MAAMw/K,cAC5BC,gBAAiBhgI,EAAOz/C,MAAMy/K,gBAC9BE,sBAAuBlgI,EAAOz/C,MAAM2/K,sBACpCC,qBAAsBngI,EAAOz/C,MAAM4/K,sBAClCngI,EAAOz/C,MAAM4V,UAEhBsgF,EAAKhsF,KAAKmhgB,GAIZ,GAAIh3Y,KAAck2Y,IAAwB9qd,EAAOz/C,MAAM0/K,qBAAsB,CAC3E,IAAIisV,EAAqBlsd,EAAOz/C,MAAM0+K,qBAAqBivP,GAEvDi+F,EAA2BjuY,EAAO/mG,QAAQ5Y,cAAc,KAAM,CAChEvd,IAAKR,EAAI,aACK09H,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACjDwmJ,QAAS/kH,EAAOz/C,MAAM4V,SAAS1V,QAC9ByrgB,IAEHz1a,EAAKhsF,KAAK0hgB,GAIZ,GAAIrB,KAA0B9qd,EAAOz/C,MAAM0/K,qBAAuB0rV,GAAqB,CACrF,IAAIS,EAAwB3tY,EAAatnG,QAAQkhI,iBAAiB61Q,EAASluX,EAAOz/C,MAAMg/K,YAEpF8sV,EAAoB5tY,EAAatnG,QAAQkhI,iBAAiBr4G,EAAOz/C,MAAM8C,MAAM7C,EAAI,GAAIw/C,EAAOz/C,MAAMg/K,YAElG/+K,IAAMw/C,EAAOz/C,MAAM8C,MAAM5C,OAAS,GAAK2rgB,IAA0BC,GACnE51a,EAAKhsF,KAAKu1C,EAAOssd,qBAAqBp+F,EAAS1ta,MAK5CA,EAAIi+I,EAAYj+I,EAAIk+I,GAGd,UAFFx+F,EAAM1/C,GADoBA,UAKlC,CACL,IAAI4+K,EAAez7K,KAAKpD,MAAM6+K,aAC9B3oF,EAAQ9yF,KAAKpD,MAAM++K,SAA4B,OAAjBF,EAI6D,KAJxBlhD,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACpG+J,UAAW,4BACG41G,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACjDwmJ,QAASphK,KAAKpD,MAAM4V,SAAS1V,QACJ,oBAAjB2+K,EAA8BA,EAAaz7K,KAAKpD,MAAMwgB,QAAUq+J,IAG5E,OAAoBlhD,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACxD+J,UAAW,qBACVmuE,QAhuBqEp2F,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAouB3Kq9K,EAptBoB,CAqtB3BtgD,EAAOuC,WAET3mI,EAAQ0kL,UAAYA,G,6BCpxBpB19K,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ+xgB,aAAU,EAElB,IAQgCloe,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCwkI,EAAcxkI,EAAQ,IAEtBwygB,EAAYxygB,EAAQ,KAEpB49J,GAE4Bh0H,EAFS5pC,EAAQ,MAEI4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS45H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAAak3H,IAAgBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAgB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAyB,MAAhBnoB,UAAUtD,GAAasD,UAAUtD,GAAK,GAAQA,EAAI,EAAKk9H,EAAQ58H,OAAOmrB,IAAS,GAAMyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAsBF,OAAOk9H,0BAA6Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAmByxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAe,OAAOV,EAE7gB,SAASqvD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAI3M,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,IAAI4ngB,EAAuB,SAAUvsY,IAdrC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAejXF,CAAU6ogB,EAASvsY,GAEnB,IAnBoBn/H,EAAae,EAAYC,EAmBzCypD,EAAStnD,EAAauogB,GAE1B,SAASA,EAAQtrgB,GACf,IAAI24C,EAqBJ,OA/CJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA4B5GH,CAAgB0D,KAAMkogB,IAEtB3yd,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZ8jc,SAAS,GAEXtzd,EAAM6F,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAM4F,cAAgB5F,EAAM4F,cAAct4C,KAAK44H,EAAuBlmF,IACtEA,EAAMm0b,WAAan0b,EAAMm0b,WAAW7me,KAAK44H,EAAuBlmF,IAChEA,EAAM4yd,aAAe5yd,EAAM4yd,aAAatlgB,KAAK44H,EAAuBlmF,IACpEA,EAAMwF,YAAcxF,EAAMwF,YAAYl4C,KAAK44H,EAAuBlmF,IAClEA,EAAMyd,UAAYzd,EAAMyd,UAAUnwD,KAAK44H,EAAuBlmF,IAC9DA,EAAM8yd,WAAa9yd,EAAM8yd,WAAWxlgB,KAAK44H,EAAuBlmF,IAChEA,EAAMc,YAAcd,EAAMc,YAAYxzC,KAAK44H,EAAuBlmF,IAClEA,EAAMoB,OAASpB,EAAMoB,OAAO9zC,KAAK44H,EAAuBlmF,IACxDA,EAAMuG,UAAYvG,EAAMuG,UAAUj5C,KAAK44H,EAAuBlmF,IAC9DA,EAAM4mI,cAAgB5mI,EAAM4mI,cAAct5K,KAAK44H,EAAuBlmF,IACtEA,EAAM6mI,cAAgB7mI,EAAM6mI,cAAcv5K,KAAK44H,EAAuBlmF,IACtEA,EAAM8mI,gBAAkB9mI,EAAM8mI,gBAAgBx5K,KAAK44H,EAAuBlmF,IACnEA,EAqST,OAhVoB/4C,EA8CP0rgB,GA9CoB3qgB,EA8CX,CAAC,CACrBF,IAAK,UACLqC,MAAO,SAAiB4lB,GAClBtlB,KAAKpD,MAAMw+C,SACbp7C,KAAKpD,MAAMw+C,QAAQ,CACjBC,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,QACjBppY,MAAOnhC,KAAKpD,MAAMmjV,aAIvB,CACD1iV,IAAK,gBACLqC,MAAO,SAAuB4lB,GACxBtlB,KAAKpD,MAAMu+C,eACbn7C,KAAKpD,MAAMu+C,cAAc,CACvBE,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,QACjBppY,MAAOnhC,KAAKpD,MAAMmjV,aAIvB,CACD1iV,IAAK,aACLqC,MAAO,SAAoB4lB,GACrBtlB,KAAKpD,MAAM8se,YACb1pe,KAAKpD,MAAM8se,WAAWpkd,KAGzB,CACDjoB,IAAK,eACLqC,MAAO,SAAsB4lB,GACvBtlB,KAAKpD,MAAMurgB,cACbnogB,KAAKpD,MAAMurgB,aAAa,CACtB9sd,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,QACjBppY,MAAOnhC,KAAKpD,MAAMmjV,aAIvB,CACD1iV,IAAK,cACLqC,MAAO,SAAqB4lB,GACtB0uI,EAAYxgI,QAAQkwD,SAASp+D,EAAM3oB,OAAQ,iCAAkC2oB,EAAMk0E,cAAcrjD,WAAY,EAAU7wB,EAAMk0E,cAAcrjD,WAAY,IAE5J,CACD94C,IAAK,YACLqC,MAAO,SAAmB4lB,GACpBtlB,KAAKpD,MAAMo2D,WACbhzD,KAAKpD,MAAMo2D,UAAU1tC,GAGvBA,EAAMk0E,cAAcrjD,WAAY,IAEjC,CACD94C,IAAK,aACLqC,MAAO,SAAoB4lB,GACrBtlB,KAAKpD,MAAMyrgB,YACbrogB,KAAKpD,MAAMyrgB,WAAW,CACpBhtd,cAAe/1B,EACfohf,WAAY1mgB,KAAK8uH,YAIrBxpG,EAAMw1B,mBAEP,CACDz9C,IAAK,cACLqC,MAAO,SAAqB4lB,GACtBtlB,KAAKpD,MAAMy5C,aACbr2C,KAAKpD,MAAMy5C,YAAY,CACrBgF,cAAe/1B,EACfohf,WAAY1mgB,KAAK8uH,cAItB,CACDzxH,IAAK,SACLqC,MAAO,SAAgB4lB,GACjBtlB,KAAKpD,MAAM+5C,QACb32C,KAAKpD,MAAM+5C,OAAO,CAChB0E,cAAe/1B,EACfohf,WAAY1mgB,KAAK8uH,YAIrBxpG,EAAMw1B,mBAEP,CACDz9C,IAAK,YACLqC,MAAO,SAAmB4lB,GACxB,GAAItlB,KAAKpD,MAAMukK,cAAe,CAC5B,IAAIlnF,EAAM30D,EAAM3oB,OAEhB,OAAQ2oB,EAAMu1B,OAEZ,KAAK,GACH,IAAIiud,EAAU9ogB,KAAK+ogB,sBAAsB9ub,GAErC6ub,GACFA,EAAQ1ib,QAGV9gE,EAAMw1B,iBACN,MAGF,KAAK,GACH,IAAIkud,EAAUhpgB,KAAKipgB,sBAAsBhvb,GAErC+ub,GACFA,EAAQ5ib,QAGV9gE,EAAMw1B,iBACN,MAGF,KAAK,GACH96C,KAAKo7C,QAAQ91B,OASpB,CACDjoB,IAAK,wBACLqC,MAAO,SAA+Bu6E,GACpC,IAAI6ub,EAAU7ub,EAAI67F,mBAElB,OAAIgzV,EACE90W,EAAYxgI,QAAQkwD,SAASolb,EAAS,oBAA4BA,EAAoB9ogB,KAAK+ogB,sBAAsBD,GAE9G,OAGV,CACDzrgB,IAAK,wBACLqC,MAAO,SAA+Bu6E,GACpC,IAAI+ub,EAAU/ub,EAAImpb,uBAElB,OAAI4F,EACEh1W,EAAYxgI,QAAQkwD,SAASslb,EAAS,oBAA4BA,EAAoBhpgB,KAAKipgB,sBAAsBD,GAE9G,OAGV,CACD3rgB,IAAK,gBACLqC,MAAO,SAAuB4lB,GACxBtlB,KAAKpD,MAAMu/K,eACbn8K,KAAKpD,MAAMu/K,cAAc,CACvB9gI,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,QACjBppY,MAAOnhC,KAAKpD,MAAMmjV,WAItB//U,KAAKqkK,SAAS,CACZwkW,SAAS,IAEXvjf,EAAMw1B,mBAEP,CACDz9C,IAAK,gBACLqC,MAAO,SAAuB4lB,GAC5B,IAAIoyP,GAAQ,EAER13Q,KAAKpD,MAAMs/K,qBACbw7F,EAAQ13Q,KAAKpD,MAAMs/K,mBAAmBl8K,KAAKpD,MAAM2ta,UAG/Cvqa,KAAKpD,MAAMw/K,eACbp8K,KAAKpD,MAAMw/K,cAAc,CACvB/gI,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,QACjBppY,MAAOnhC,KAAKpD,MAAMmjV,WAItB//U,KAAKqkK,SAAS,CACZwkW,SAAUnxP,IAEZpyP,EAAMw1B,mBAEP,CACDz9C,IAAK,kBACLqC,MAAO,SAAyB4lB,GAC1BtlB,KAAKpD,MAAMy/K,iBACbr8K,KAAKpD,MAAMy/K,gBAAgB,CACzBhhI,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,QACjBppY,MAAOnhC,KAAKpD,MAAMmjV,WAItB//U,KAAKqkK,SAAS,CACZwkW,SAAS,IAEXvjf,EAAMw1B,mBAEP,CACDz9C,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAETs4G,EAAUiiB,EAAO/mG,QAAQirH,SAASD,QAAQx+I,KAAKpD,MAAM4V,UAErD02f,EAAwB,CAC1B,cAAelpgB,KAAKpD,MAAMyrF,SAC1B,0BAA2BroF,KAAKpD,MAAM0qgB,oBACtC,mBAAoBtngB,KAAKpD,MAAMukK,eAGjC,GAAInhK,KAAKpD,MAAMo/K,aAAc,CAC3B,IAAImtV,EAAwBnpgB,KAAKpD,MAAMo/K,aAAah8K,KAAKpD,MAAM2ta,SAC/D2+F,EAAwBpgY,EAAcA,EAAc,GAAIogY,GAAwBC,GAUlF,IAPA,IAAIxkf,GAAY,EAAIi2G,EAAYtP,YAAY49Y,GACxCx2f,EAAQ1S,KAAKpD,MAAMg8K,cAAgB,CACrC/xK,OAAQ7G,KAAKpD,MAAM8+K,kBACjB,GACA0tV,EAAiD,YAA5BppgB,KAAKpD,MAAMi/K,aAChCwzG,EAAQ,GAEHxyR,EAAI,EAAGA,EAAIy7G,EAAQx7G,OAAQD,IAAK,CACvC,IAAIk9E,EAASu+B,EAAQz7G,GACjBwkK,OAAU,EAEd,GAAI+nW,GACEppgB,KAAKpD,MAAMmjK,YAAchmF,EAAOn9E,MAAM63J,MAAO,CAC/C,IAAIz0J,KAAKpD,MAAM4qgB,aAIb,SAHAnmW,EAAUrhK,KAAKpD,MAAM4qgB,aACrB7if,GAAa,6BAOnB,IAAI8yF,EAAoB8iB,EAAO/mG,QAAQ5Y,cAAcguf,EAAUS,SAAU5he,EAAS,CAChFpqC,IAAKR,GACJk9E,EAAOn9E,MAAO,CACf8C,MAAOM,KAAKpD,MAAM8C,MAClB2hK,QAASA,EACTkpQ,QAASvqa,KAAKpD,MAAM2ta,QACpBxqF,SAAU//U,KAAKpD,MAAMmjV,SACrBhuK,YAAa/xK,KAAKpD,MAAMm1K,YACxB9gD,SAAUjxH,KAAKpD,MAAMq0H,SACrB6zY,aAAc9kgB,KAAKpD,MAAMkogB,aACzBC,gBAAiB/kgB,KAAKpD,MAAMmogB,gBAC5B18a,SAAUroF,KAAKpD,MAAMyrF,SACrBixF,SAAUt5K,KAAKpD,MAAM08K,SACrBuvV,QAAS7ogB,KAAK+kE,MAAM8jc,QACpB1sV,cAAen8K,KAAKm8K,cACpBC,cAAep8K,KAAKo8K,cACpBC,gBAAiBr8K,KAAKq8K,gBACtBE,sBAAuBv8K,KAAKpD,MAAM2/K,sBAClCC,qBAAsBx8K,KAAKpD,MAAM4/K,wBAGnC6yG,EAAMvoR,KAAK2wG,GAGb,OAAoB8iB,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDwzG,SAAUpuH,KAAKpD,MAAMukK,cAAgB,IAAM,KAC3C/yF,IAAK,SAAaruC,GAChBsc,EAAOyyE,UAAY/uF,GAErBpb,UAAWA,EACXy2B,QAASp7C,KAAKo7C,QACdD,cAAen7C,KAAKm7C,cACpBuub,WAAY1pe,KAAK0pe,WACjBlmb,cAAexjD,KAAKmogB,aACpBptd,YAAa/6C,KAAK+6C,YAClBsX,YAAaryD,KAAKpD,MAAMy1D,YACxBW,UAAWhzD,KAAKgzD,UAChBq1c,WAAYrogB,KAAKqogB,WACjBhyd,YAAar2C,KAAKq2C,YAClBM,OAAQ32C,KAAK22C,OACbjkC,MAAOA,EACPopC,UAAW97C,KAAK87C,WACfuzO,QA5UqE3yR,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAgV3K0qgB,EAhUkB,CAiUzB3tY,EAAOuC,WAET3mI,EAAQ+xgB,QAAUA,G,6BCpXlB/qgB,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQkzgB,cAAW,EAEnB,IAAI9uY,EAkBJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAlBntB65F,CAAwBtkI,EAAQ,IAEzCwkI,EAAcxkI,EAAQ,IAEtB0kI,EAAe10E,EAAuBhwD,EAAQ,KAE9C49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7CkzgB,EAAkBlzgB,EAAQ,KAE1BmzgB,EAAenzgB,EAAQ,KAEvB2kI,EAAU3kI,EAAQ,IAEtB,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,IAAI+ogB,EAAwB,SAAU1tY,IAdtC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAejXF,CAAUgqgB,EAAU1tY,GAEpB,IAnBoBn/H,EAAae,EAAYC,EAmBzCypD,EAAStnD,EAAa0pgB,GAE1B,SAASA,EAASzsgB,GAChB,IAAI24C,EAaJ,OAvCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA4B5GH,CAAgB0D,KAAMqpgB,IAEtB9zd,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZ8jc,QAAStzd,EAAM34C,MAAMisgB,SAEvBtzd,EAAMi0d,gBAAkBj0d,EAAMi0d,gBAAgB3mgB,KAAK44H,EAAuBlmF,IAC1EA,EAAM6F,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAM24E,OAAS34E,EAAM24E,OAAOrrH,KAAK44H,EAAuBlmF,IACxDA,EAAMuG,UAAYvG,EAAMuG,UAAUj5C,KAAK44H,EAAuBlmF,IAC9DA,EAAMk0d,cAAgBl0d,EAAMk0d,cAAc5mgB,KAAK44H,EAAuBlmF,IAC/DA,EAqST,OAxUoB/4C,EAsCP6sgB,EAtCgC7rgB,EA2TzC,CAAC,CACHH,IAAK,2BACLqC,MAAO,SAAkC0/I,EAAW2mB,GAClD,MAA2B,QAAvB3mB,EAAUk6B,UAAsBl6B,EAAUypX,UAAY9iW,EAAU8iW,QAC3D,CACLA,QAASzpX,EAAUypX,SAIhB,SApUsBtrgB,EAsCV,CAAC,CACtBF,IAAK,kBACLqC,MAAO,SAAyB4lB,GAC1BtlB,KAAKpD,MAAMm1K,aACb/xK,KAAKpD,MAAMm1K,YAAY,CACrB12H,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,UAIrBjlZ,EAAMw1B,mBAEP,CACDz9C,IAAK,YACLqC,MAAO,SAAmB4lB,GACI,QAAxBtlB,KAAKpD,MAAM08K,WACO,KAAhBh0J,EAAMu1B,OAAgC,IAAhBv1B,EAAMu1B,OAE9B76C,KAAK0pgB,qBAAqBpkf,GAAO,GAGf,KAAhBA,EAAMu1B,OAEN76C,KAAK0pgB,qBAAqBpkf,GAAO,MAIxC,CACDjoB,IAAK,UACLqC,MAAO,SAAiB4lB,GACtB,IAAI+2B,EAASr8C,KAEe,QAAxBA,KAAKpD,MAAM08K,WACbt5K,KAAK2pgB,kBAAmB,EAEpB3pgB,KAAKpD,MAAM0kG,SAAWthG,KAAK+kE,MAAM8jc,UACnC7ogB,KAAKqkK,SAAS,CACZwkW,SAAS,IACR,WACGxsd,EAAOz/C,MAAM4kK,cACfnlH,EAAOz/C,MAAM4kK,aAAa,CACxBnmH,cAAe/1B,EACfgwJ,YAAaj5H,EAAOz/C,WAKc,UAApCoD,KAAKpD,MAAM2kK,sBACbvhK,KAAK4pgB,+BAKZ,CACDvsgB,IAAK,SACLqC,MAAO,SAAgB4lB,GACO,QAAxBtlB,KAAKpD,MAAM08K,UAAsBt5K,KAAK+kE,MAAM8jc,SAA+C,SAApC7ogB,KAAKpD,MAAM2kK,sBACpEvhK,KAAK0pgB,qBAAqBpkf,GAAO,KAGpC,CACDjoB,IAAK,gBACLqC,MAAO,SAAuB4lB,GAC5BtlB,KAAKo7C,QAAQ91B,KAEd,CACDjoB,IAAK,2BACLqC,MAAO,WACL,IAAIs9C,EAASh9C,KAERA,KAAK6pgB,uBACR7pgB,KAAK6pgB,qBAAuB,SAAU9ogB,GAC/Bi8C,EAAO2sd,kBACV3sd,EAAO0sd,qBAAqB3ogB,GAAG,GAGjCi8C,EAAO2sd,kBAAmB,GAG5B3pgB,KAAK2pgB,kBAAmB,EACxBrmgB,SAASgwB,iBAAiB,QAAStzB,KAAK6pgB,qBAAsB,CAC5Dx8H,SAAS,OAId,CACDhwY,IAAK,YACLqC,MAAO,WACL,IAAIwgD,EAASlgD,KAGb60B,YAAW,WACTqrB,EAAOmkH,SAAS,CACdwkW,SAAS,MAEV,GACH7ogB,KAAK8pgB,+BAEN,CACDzsgB,IAAK,uBACLqC,MAAO,SAA8B4lB,EAAOoxX,GAC1C,IAAI7+S,EAAS,CACXx8C,cAAe/1B,EACfgwJ,YAAat1K,KAAKpD,QAGf85Y,GAAU12Y,KAAKpD,MAAM8kK,gBACxB1hK,KAAKpD,MAAM8kK,eAAe7pE,GAG5B,IAAI6/K,GAAQ,EAER13Q,KAAKpD,MAAM0kK,kBACbo2G,EAAQ13Q,KAAKpD,MAAM0kK,gBAAgBzpE,IAGjC6/K,IACEg/H,GAAU12Y,KAAKpD,MAAM6kK,gBACvBzhK,KAAKpD,MAAM6kK,eAAe5pE,GAG5B73F,KAAK+pgB,eAGR,CACD1sgB,IAAK,6BACLqC,MAAO,WACDM,KAAK6pgB,uBACPvmgB,SAASwhE,oBAAoB,QAAS9kE,KAAK6pgB,qBAAsB,CAC/Dx8H,SAAS,IAEXrtY,KAAK6pgB,qBAAuB,QAG/B,CACDxsgB,IAAK,qBACLqC,MAAO,WACL,IAAImhD,EAAS7gD,KAEb,GAA4B,QAAxBA,KAAKpD,MAAM08K,UAAsBt5K,KAAK8uH,WAAa9uH,KAAKpD,MAAM0kG,OAGhE,GAFAhtE,aAAat0B,KAAKgqgB,iBAEdhqgB,KAAK+kE,MAAM8jc,QAAS,CACtB,IAAI57E,EAAYj5R,EAAYxgI,QAAQ29H,WAAWnxJ,KAAK8uH,UAAW,SAE3Dm+T,GAAa3pb,SAASu/Y,gBAAkBoqC,IAAcA,EAAU38Y,aAAa,wBAC/E28Y,EAAUr6Z,aAAa,sBAAsB,GAC7Cq6Z,EAAU7mW,SAGZpmF,KAAKiqgB,UAAU77Y,UAAY,OAE3BpuH,KAAKgqgB,gBAAkBn1e,YAAW,WAC5BgsB,EAAOopd,WACTppd,EAAOopd,UAAUr3e,aAAa,WAAY,KAE3C,MAIR,CACDv1B,IAAK,uBACLqC,MAAO,WACLM,KAAK8pgB,+BAEN,CACDzsgB,IAAK,SACLqC,MAAO,WACL,IAEIioB,EAAiBuif,EAFjBzod,EAASzhD,KAGTmqgB,GAAgB,EAAIvvY,EAAYtP,YAAYtrH,KAAKpD,MAAMmkK,eAAiB/gK,KAAKpD,MAAM+nB,UAAW,CAChG,qBAAsB3kB,KAAKpD,MAAMukK,cACjC,oBAAqBnhK,KAAKpD,MAAM0kG,OAChC,iBAAkBthG,KAAK+kE,MAAM8jc,SAAW7ogB,KAAKpD,MAAM0kG,SAGrD,GAAIthG,KAAKpD,MAAMskK,SAAU,CACvB,IAAI4c,GAAgB,EAAIljD,EAAYtP,YAAY,0CAA2C,CACzF,kBAAmBtrH,KAAKpD,MAAMq0H,SAC9B,oBAAqBjxH,KAAKpD,MAAMq0H,WAElCtpG,EAAuB4yG,EAAO/mG,QAAQ5Y,cAAc,SAAU,CAC5D3J,KAAM,SACNmqC,QAASp7C,KAAKwpgB,gBACd7kf,UAAW,wBACG41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAWm5J,IACIvjD,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,YACzD,GAAI78H,KAAKpD,MAAMukK,cAAe,CACnC,IAAIipW,GAAgB,EAEhBpqgB,KAAKpD,MAAM4/K,uBACb4tV,EAAgBpqgB,KAAKpD,MAAM4/K,qBAAqBx8K,KAAKpD,MAAM2ta,UAGzD6/F,IACyCzif,EAAV,WAA7B3nB,KAAKpD,MAAMukK,cAAmD5mC,EAAO/mG,QAAQ5Y,cAAc0uf,EAAgBe,eAAgB,CAC7Hjvd,QAASp7C,KAAKpD,MAAMkogB,aACpBv6F,QAASvqa,KAAKpD,MAAM2ta,QACpBliV,SAAUroF,KAAKpD,MAAMyrF,WACQkyC,EAAO/mG,QAAQ5Y,cAAc2uf,EAAaj/F,YAAa,CACpFlvX,QAASp7C,KAAKpD,MAAMmogB,gBACpBx6F,QAASvqa,KAAKpD,MAAM2ta,QACpBliV,SAAUroF,KAAKpD,MAAMyrF,iBAGpB,GAAIroF,KAAKpD,MAAMglK,WAAY,CAChC,IAAI0oW,GAAc,EAMlB,GAJItqgB,KAAKpD,MAAM2/K,wBACb+tV,EAActqgB,KAAKpD,MAAM2/K,sBAAsBv8K,KAAKpD,MAAM2ta,UAGxD+/F,EAAa,CACf,IAAIC,GAAc,EAAI3vY,EAAYtP,YAAY,gCAAiCtrH,KAAKpD,MAAMilK,gBAC1Fl6I,EAAuB4yG,EAAO/mG,QAAQ5Y,cAAc,IAAK,CACvD+J,UAAW4lf,UAKb5if,EAFO3nB,KAAKpD,MAAMklK,UAChB9hK,KAAK+kE,MAAM8jc,QACUtuY,EAAO/mG,QAAQ5Y,cAAc2/G,EAAO/mG,QAAQ+xG,SAAU,KAAmBhL,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACrI3J,KAAM,SACNmqC,QAASp7C,KAAKpD,MAAMw/K,cACpBz3J,UAAW,4BACG41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,yDACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,OAAqBtC,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACxH3J,KAAM,SACNmqC,QAASp7C,KAAKpD,MAAMy/K,gBACpB13J,UAAW,8BACG41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,2DACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,QAEvCtC,EAAO/mG,QAAQ5Y,cAAc,SAAU,CAC5D3J,KAAM,SACNmqC,QAASp7C,KAAKpD,MAAMu/K,cACpBx3J,UAAW,4BACG41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,0DACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,OAG5D78H,KAAK+kE,MAAM8jc,SAAW7ogB,KAAKpD,MAAM0kG,OACzBthG,KAAKpD,MAAM0kG,OAAOthG,KAAKpD,OAE7BoD,KAAKpD,MAAMynB,KAAgBrkB,KAAKpD,MAAMynB,KAAKrkB,KAAKpD,MAAM2ta,QAASvqa,KAAKpD,OAAsBk+H,EAAatnG,QAAQkhI,iBAAiB10J,KAAKpD,MAAM2ta,QAASvqa,KAAKpD,MAAM63J,OAiBvK,MAb4B,QAAxBz0J,KAAKpD,MAAM08K,WAEb4wV,EAAkBlqgB,KAAKpD,MAAM0kG,QAAuBi5B,EAAO/mG,QAAQ5Y,cAAc,IAAK,CACpFwzG,SAAU,IACVhgD,IAAK,SAAaruC,GAChB0hB,EAAOwod,UAAYlqe,GAErBpb,UAAW,+CACXygZ,QAASpla,KAAKypgB,eACAlvY,EAAO/mG,QAAQ5Y,cAAc,OAAQ,QAInC2/G,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDwzD,IAAK,SAAaruC,GAChB0hB,EAAOqtE,UAAY/uF,GAErBpb,UAAWwlf,EACXz3f,MAAO1S,KAAKpD,MAAMkkK,WAAa9gK,KAAKpD,MAAM8V,MAC1C0oC,QAASp7C,KAAKo7C,QACdU,UAAW97C,KAAK87C,UAChBulH,QAASrhK,KAAKpD,MAAMykK,QACpBnzC,OAAQluH,KAAKkuH,aAxGFmB,EAyGF66Y,EAAiBvif,QAzT4CjrB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAwU3K6rgB,EAxTmB,CAyT1B9uY,EAAOuC,WAET3mI,EAAQkzgB,SAAWA,G,6BC1WnBlsgB,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQk0gB,oBAAiB,EAEzB,IAMgCrqe,EAN5Bu6F,EAUJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAVntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAI4B36F,EAJQ5pC,EAAQ,KAIK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAFnF46F,EAAcxkI,EAAQ,IAI1B,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIqqe,EAA8B,SAAU1uY,IAhB5C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUgrgB,EAAgB1uY,GAE1B,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa0qgB,GAE1B,SAASA,EAAeztgB,GACtB,IAAI24C,EAWJ,OAvCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMqqgB,IAEtB90d,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZi/V,SAAS,GAEXzuX,EAAM6F,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAM6vX,QAAU7vX,EAAM6vX,QAAQvia,KAAK44H,EAAuBlmF,IAC1DA,EAAM24E,OAAS34E,EAAM24E,OAAOrrH,KAAK44H,EAAuBlmF,IACjDA,EA6DT,OAhGoB/4C,EAsCP6tgB,GAtCoB9sgB,EAsCJ,CAAC,CAC5BF,IAAK,UACLqC,MAAO,SAAiB4lB,GAClBtlB,KAAKpD,MAAMw+C,SACbp7C,KAAKpD,MAAMw+C,QAAQ,CACjBC,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,UAIrBvqa,KAAKyiH,MAAMr8B,UAEZ,CACD/oF,IAAK,UACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ2/P,SAAS,MAGZ,CACD3ma,IAAK,SACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ2/P,SAAS,MAGZ,CACD3ma,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAET2kB,GAAY,EAAIi2G,EAAYtP,YAAY,4CAA6C,CACvF,cAAetrH,KAAKpD,MAAMyrF,SAC1B,UAAWroF,KAAK+kE,MAAMi/V,UAExB,OAAoBzpS,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,6BACG41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,uBACG41G,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpDwzD,IAAK,SAAaruC,GAChB,OAAOsc,EAAOomE,MAAQ1iF,GAExB9uB,KAAM,QACNu5Z,eAAgBxqa,KAAKpD,MAAMyrF,SAC3B+8U,QAASpla,KAAKola,QACdl3S,OAAQluH,KAAKkuH,UACGqM,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACpD+J,UAAWA,EACXy2B,QAASp7C,KAAKo7C,QACdskI,KAAM,QACN,eAAgB1/K,KAAKpD,MAAMyrF,UACbkyC,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,0CA3F2DjoB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAgG3K6sgB,EA9EyB,CA+EhC9vY,EAAOuC,WAET3mI,EAAQk0gB,eAAiBA,EAEzBr+c,EAAgBq+c,EAAgB,eAAgB,CAC9C9/F,QAAS,KACTnvX,QAAS,KACTitC,UAAU,IAGZr8B,EAAgBq+c,EAAgB,YAAa,CAC3C9/F,QAAS5vS,EAAWnnG,QAAQ1wB,OAC5Bs4C,QAASu/E,EAAWnnG,QAAQi8B,KAC5B44B,SAAUsyC,EAAWnnG,QAAQs2F,Q,6BCrI/B3sH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ2wgB,sBAAmB,EAE3B,IAQgC9me,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF46F,EAAcxkI,EAAQ,IAEtB2kI,EAAU3kI,EAAQ,IAItB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI8me,EAAgC,SAAUnrY,IAhB9C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUyngB,EAAkBnrY,GAE5B,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAamngB,GAE1B,SAASA,EAAiBlqgB,GACxB,IAAI24C,EAMJ,OAlCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAM8mgB,IAEtBvxd,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBw+C,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IACnDA,EA8BT,OA5DoB/4C,EAiCPsqgB,GAjCoBvpgB,EAiCF,CAAC,CAC9BF,IAAK,UACLqC,MAAO,SAAiB4lB,GAClBtlB,KAAKpD,MAAMw+C,SACbp7C,KAAKpD,MAAMw+C,QAAQ,CACjBC,cAAe/1B,EACftU,KAAMhR,KAAKpD,MAAM2ta,YAItB,CACDlta,IAAK,SACLqC,MAAO,WACL,IAAIo+K,GAAgB,EAAIljD,EAAYtP,YAAY,0CAA2C,CACzF,kBAAmBtrH,KAAKpD,MAAMq0H,SAC9B,oBAAqBjxH,KAAKpD,MAAMq0H,WAElC,OAAoBsJ,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACNmqC,QAASp7C,KAAKo7C,QACdz2B,UAAW,wBACG41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAWm5J,IACIvjD,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,YAxDUngI,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA4D3KspgB,EA1C2B,CA2ClCvsY,EAAOuC,WAET3mI,EAAQ2wgB,iBAAmBA,EAE3B96c,EAAgB86c,EAAkB,eAAgB,CAChDv8F,QAAS,KACTnvX,QAAS,KACT61E,UAAU,IAGZjlE,EAAgB86c,EAAkB,YAAa,CAC7Cv8F,QAAS5vS,EAAWnnG,QAAQ1wB,OAC5Bs4C,QAASu/E,EAAWnnG,QAAQi8B,KAC5BwhE,SAAU0J,EAAWnnG,QAAQs2F,Q,6BCnG/B3sH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQumL,iBAAc,EAEtB,IAAIniD,EAMJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EANntB65F,CAAwBtkI,EAAQ,IAEzCo0gB,EAAcp0gB,EAAQ,KAE1B,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASyH,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAAS7D,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,IAAIo8K,EAA2B,SAAU/gD,IAdzC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAejXF,CAAUq9K,EAAa/gD,GAEvB,IAnBoBn/H,EAAae,EAAYC,EAmBzCypD,EAAStnD,EAAa+8K,GAE1B,SAASA,IAGP,OAFApgL,EAAgB0D,KAAM08K,GAEfz1H,EAAO7mD,MAAMJ,KAAMG,WAuC5B,OA/DoB3D,EA2BPkgL,GA3BoBn/K,EA2BP,CAAC,CACzBF,IAAK,oBACLqC,MAAO,SAA2B2W,EAAM0jE,EAAQl9E,GAC9C,IAAI2V,EAAW+nH,EAAO/mG,QAAQirH,SAASD,QAAQnoI,EAAKzZ,MAAM4V,UAE1D,OAAO+nH,EAAO/mG,QAAQirH,SAASh3H,IAAIjV,GAAU,SAAUunE,EAAQl9E,GAC7D,OAAoB09H,EAAO/mG,QAAQ5Y,cAAc4vf,EAAYC,WAAYhje,EAAS,CAChFpqC,IAAKR,GACJk9E,EAAOn9E,aAGb,CACDS,IAAK,SACLqC,MAAO,WACL,IAEIioB,EAFA4tB,EAAQv1C,KAgBZ,OATE2nB,EAHE3nB,KAAKpD,MAAM69K,YACFlgD,EAAO/mG,QAAQirH,SAASD,QAAQx+I,KAAKpD,MAAM69K,YAAY79K,MAAM4V,UAEzDiV,KAAI,SAAUwyD,EAAKp9E,GAChC,OAAoB09H,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDvd,IAAKR,GACJ04C,EAAMm1d,kBAAkBzwb,OAGNsgD,EAAO/mG,QAAQ5Y,cAAc,KAAM,KAAM5a,KAAK0qgB,kBAAkB1qgB,OAGrEu6H,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACxD+J,UAAW,qBACVgD,QA3DqEjrB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA+D3Kk/K,EA/CsB,CAgD7BniD,EAAOuC,WAET3mI,EAAQumL,YAAcA,G,6BCvFtBv/K,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQs0gB,gBAAa,EAErB,IAIgCzqe,EAJ5Bu6F,EAQJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EARntB65F,CAAwBtkI,EAAQ,IAEzC0kI,GAE4B96F,EAFU5pC,EAAQ,MAEG4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,IAAImqgB,EAA0B,SAAU9uY,IAdxC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAejXF,CAAUorgB,EAAY9uY,GAEtB,IAnBoBn/H,EAAae,EAAYC,EAmBzCypD,EAAStnD,EAAa8qgB,GAE1B,SAASA,IAGP,OAFAnugB,EAAgB0D,KAAMyqgB,GAEfxjd,EAAO7mD,MAAMJ,KAAMG,WAmB5B,OA3CoB3D,EA2BPiugB,GA3BoBltgB,EA2BR,CAAC,CACxBF,IAAK,SACLqC,MAAO,WACL,IAAIilB,EAAY3kB,KAAKpD,MAAMqkK,iBAAmBjhK,KAAKpD,MAAM+nB,UAErDgrG,EAASmL,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAM+yH,OAAQ3vH,KAAKpD,OAExE,OAAoB29H,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrD+J,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAMokK,aAAehhK,KAAKpD,MAAM8V,MAC5C0uJ,QAASphK,KAAKpD,MAAMwkK,QACpBC,QAASrhK,KAAKpD,MAAMykK,SACnB1xC,QAvCqEjzH,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA2C3KitgB,EA3BqB,CA4B5BlwY,EAAOuC,WAET3mI,EAAQs0gB,WAAaA,G,6BCnErBttgB,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQukL,iBAAc,EAEtB,IAAIngD,EAMJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EANntB65F,CAAwBtkI,EAAQ,IAEzCu0gB,EAAcv0gB,EAAQ,KAE1B,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS3/B,EAA2BC,EAAG+sJ,GAAkB,IAAInsJ,EAAI,GAAsB,qBAAXX,QAAgD,MAAtBD,EAAEC,OAAOC,UAAmB,CAAE,GAAIC,MAAMC,QAAQJ,KAAOY,EAE7J,SAAqCZ,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAFpPC,CAA4BtqI,KAAO+sJ,GAAkB/sJ,GAAyB,kBAAbA,EAAExD,OAAqB,CAAMoE,IAAIZ,EAAIY,GAAI,IAAIrE,EAAI,EAAO8D,EAAI,aAAiB,MAAO,CAAEC,EAAGD,EAAGE,EAAG,WAAe,OAAIhE,GAAKyD,EAAExD,OAAe,CAAEgE,MAAM,GAAe,CAAEA,MAAM,EAAOpB,MAAOY,EAAEzD,OAAWkE,EAAG,SAAWC,GAAM,MAAMA,GAAOC,EAAGN,GAAO,MAAM,IAAIlE,UAAU,yIAA4I,IAA6C0E,EAAzCC,GAAmB,EAAMC,GAAS,EAAY,MAAO,CAAET,EAAG,WAAeM,EAAKZ,EAAEC,OAAOC,aAAgBK,EAAG,WAAe,IAAIS,EAAOJ,EAAGK,OAAsC,OAA9BH,EAAmBE,EAAKR,KAAaQ,GAASP,EAAG,SAAWS,GAAOH,GAAS,EAAMF,EAAMK,GAAQP,EAAG,WAAe,IAAWG,GAAiC,MAAbF,EAAGosJ,QAAgBpsJ,EAAGosJ,SAArD,QAA2E,GAAIjsJ,EAAQ,MAAMF,KAIl9B,SAASopI,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAEhL,SAAS54C,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,IAAIo6K,EAA2B,SAAU/+C,IAdzC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAejXF,CAAUq7K,EAAa/+C,GAEvB,IAnBoBn/H,EAAae,EAAYC,EAmBzCypD,EAAStnD,EAAa+6K,GAE1B,SAASA,IAGP,OAFAp+K,EAAgB0D,KAAM06K,GAEfzzH,EAAO7mD,MAAMJ,KAAMG,WAwG5B,OAhIoB3D,EA2BPk+K,GA3BoBn9K,EA2BP,CAAC,CACzBF,IAAK,oBACLqC,MAAO,SAA2B44G,EAAS2Z,GACzC,IAAI18E,EAAQv1C,KAEZ,OAAOu6H,EAAO/mG,QAAQirH,SAASh3H,IAAI6wF,GAAS,SAAUv+B,EAAQl9E,GAC5D,OAAoB09H,EAAO/mG,QAAQ5Y,cAAc+vf,EAAYC,WAAY,CACvEvtgB,IAAK08E,EAAO+lF,WAAa/lF,EAAO06E,OAAS53J,EACzCy4K,YAAav7F,EAAOn9E,MACpB8C,MAAO61C,EAAM34C,MAAM8C,MACnBqvK,OAAQx5H,EAAM34C,MAAMmyK,OACpBhP,UAAWxqH,EAAM34C,MAAMmjK,UACvBiP,UAAWz5H,EAAM34C,MAAMoyK,UACvBC,cAAe15H,EAAM34C,MAAMqyK,cAC3B0B,iBAAkBp7H,EAAM34C,MAAM+zK,iBAC9BrB,oBAAqB/5H,EAAM34C,MAAM0yK,oBACjCJ,SAAU35H,EAAM34C,MAAMsyK,SACtBj9C,cAAeA,EACfs9C,sBAAuBh6H,EAAM34C,MAAM2yK,sBACnCoL,uBAAwBplI,EAAM34C,MAAM+9K,uBACpC9J,mBAAoBt7H,EAAM34C,MAAMi0K,mBAChCx+G,YAAa9c,EAAM34C,MAAM4yK,kBACzB64V,WAAY9yd,EAAM34C,MAAM6yK,iBACxBp5H,YAAad,EAAM34C,MAAM8yK,kBACzB/4H,OAAQpB,EAAM34C,MAAM+yK,aACpBp6I,QAASggB,EAAM34C,MAAM24B,QACrB64F,SAAU74E,EAAM34C,MAAMwxH,gBAI3B,CACD/wH,IAAK,kBACLqC,MAAO,SAAyB44G,GAC9B,GAAIA,EAAS,CACX,IACI3iF,EADAm7H,EAAYzwJ,EAA2Bi4G,GAG3C,IACE,IAAKw4C,EAAUlwJ,MAAO+0B,EAAQm7H,EAAUjwJ,KAAKC,MAG3C,GAFU60B,EAAMj2B,MAER9C,MAAMqW,OACZ,OAAO,EAGX,MAAO9R,GACP2vJ,EAAU/vJ,EAAEI,GATd,QAWE2vJ,EAAU7vJ,KAId,OAAO,IAER,CACD5D,IAAK,SACLqC,MAAO,WACL,IAEIioB,EAFA00B,EAASr8C,KAIb,GAAIA,KAAKpD,MAAM69K,YAGb9yJ,EAFW4yG,EAAO/mG,QAAQirH,SAASD,QAAQx+I,KAAKpD,MAAM69K,YAAY79K,MAAM4V,UAEzDiV,KAAI,SAAUwyD,EAAKp9E,GAChC,OAAoB09H,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDvd,IAAKR,GACJw/C,EAAOwud,kBAAkBtwY,EAAO/mG,QAAQirH,SAASD,QAAQvkE,EAAIr9E,MAAM4V,UAAW,CAC/Es4f,YAAY,EACZ9gG,cAAc,EACd+gG,sBAAsB,YAGrB,CACL,IAAIzyZ,EAAUiiB,EAAO/mG,QAAQirH,SAASD,QAAQx+I,KAAKpD,MAAM4V,UAGvDmV,EADE3nB,KAAKgrgB,gBAAgB1yZ,GACAiiB,EAAO/mG,QAAQ5Y,cAAc2/G,EAAO/mG,QAAQ+xG,SAAU,KAAmBhL,EAAO/mG,QAAQ5Y,cAAc,KAAM,KAAM5a,KAAK6qgB,kBAAkBvyZ,EAAS,CACvKwyZ,YAAY,EACZ9gG,cAAc,EACd+gG,sBAAsB,KACNxwY,EAAO/mG,QAAQ5Y,cAAc,KAAM,KAAM5a,KAAK6qgB,kBAAkBvyZ,EAAS,CACzFwyZ,YAAY,EACZ9gG,cAAc,EACd+gG,sBAAsB,MAGDxwY,EAAO/mG,QAAQ5Y,cAAc,KAAM,KAAM5a,KAAK6qgB,kBAAkBvyZ,EAAS,CAC9FwyZ,YAAY,EACZ9gG,cAAc,EACd+gG,sBAAsB,KAK5B,OAAoBxwY,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACxD+J,UAAW,qBACVgD,QA5HqEjrB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAgI3Kk9K,EAhHsB,CAiH7BngD,EAAOuC,WAET3mI,EAAQukL,YAAcA,G,6BC5JtBv9K,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQy0gB,gBAAa,EAErB,IAUgC5qe,EAV5Bu6F,EAcJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAdntB65F,CAAwBtkI,EAAQ,IAEzC60gB,EAAa70gB,EAAQ,KAErBwkI,EAAcxkI,EAAQ,IAEtBmzgB,EAAenzgB,EAAQ,KAEvB49J,GAE4Bh0H,EAFS5pC,EAAQ,MAEI4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,IAAIsqgB,EAA0B,SAAUjvY,IAdxC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAejXF,CAAUurgB,EAAYjvY,GAEtB,IAnBoBn/H,EAAae,EAAYC,EAmBzCypD,EAAStnD,EAAairgB,GAE1B,SAASA,EAAWhugB,GAClB,IAAI24C,EAcJ,OAxCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA4B5GH,CAAgB0D,KAAM4qgB,IAEtBr1d,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZ60G,YAAa,GACbsxV,cAAc,GAEhB31d,EAAM6F,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAM41d,eAAiB51d,EAAM41d,eAAetogB,KAAK44H,EAAuBlmF,IACxEA,EAAMwF,YAAcxF,EAAMwF,YAAYl4C,KAAK44H,EAAuBlmF,IAClEA,EAAM61d,mBAAqB71d,EAAM61d,mBAAmBvogB,KAAK44H,EAAuBlmF,IAChFA,EAAMuG,UAAYvG,EAAMuG,UAAUj5C,KAAK44H,EAAuBlmF,IACvDA,EAyNT,OA7PoB/4C,EAuCPougB,EAvCgCptgB,EAiPzC,CAAC,CACHH,IAAK,2BACLqC,MAAO,SAAkC0/I,EAAW2mB,GAClD,IAAI/F,EAAc5gB,EAAUk2B,YAAYtV,aAAe5gB,EAAUk2B,YAAY7gB,MACzE/0J,EAAQ0/I,EAAU7pH,SAAW6pH,EAAU7pH,QAAQyqI,GAAe5gB,EAAU7pH,QAAQyqI,GAAatgK,MAAQ,KACzG,MAAO,CACLk6K,YAAuB,OAAVl6K,EAAiBA,EAAQ,GACtCwrgB,aAAc9rX,EAAU6vB,eAAiB7vB,EAAU6vB,cAAcnyK,OAAS,OAxP/CS,EAuCR,CAAC,CACxBF,IAAK,UACLqC,MAAO,SAAiB4lB,GACtB,GAAItlB,KAAKpD,MAAM04K,YAAYpV,SAAU,CACnC,IAAIilW,EAAa7/e,EAAM3oB,QAEnBq3J,EAAYxgI,QAAQkwD,SAASyhb,EAAY,sBAAwBnxW,EAAYxgI,QAAQkwD,SAASyhb,EAAY,mBAAqBnxW,EAAYxgI,QAAQkwD,SAASyhb,EAAY,2BAA6BnxW,EAAYxgI,QAAQkwD,SAASyhb,EAAWhxW,cAAe,6BAC9Pn0J,KAAKpD,MAAMmyK,OAAO,CAChB1zH,cAAe/1B,EACfy6I,UAAW//J,KAAKpD,MAAM04K,YAAYvV,WAAa//J,KAAKpD,MAAM04K,YAAY7gB,MACtE0L,aAAcngK,KAAKpD,MAAM04K,YAAYnV,aACrCD,SAAUlgK,KAAKpD,MAAM04K,YAAYpV,WAGnClM,EAAYxgI,QAAQ8xe,qBAIzB,CACDjogB,IAAK,iBACLqC,MAAO,SAAwBqB,GAC7B,IAAIs7C,EAASr8C,KAET45K,EAAc74K,EAAEpE,OAAO+C,MAEvBM,KAAKpD,MAAM04K,YAAYriK,QAAUjT,KAAKpD,MAAMsyK,WAC1ClvK,KAAKqrgB,eACP/2e,aAAat0B,KAAKqrgB,eAGpBrrgB,KAAKqrgB,cAAgBx2e,YAAW,WAC9BwnB,EAAOz/C,MAAMsyK,SAAS,CACpBxvK,MAAOk6K,EACPnlB,MAAOp4G,EAAOz/C,MAAM04K,YAAYtV,aAAe3jH,EAAOz/C,MAAM04K,YAAY7gB,MACxEigB,UAAWr4H,EAAOz/C,MAAM04K,YAAYlV,kBAGtC/jH,EAAOgvd,cAAgB,OACtBrrgB,KAAKsrgB,cAGVtrgB,KAAKqkK,SAAS,CACZuV,YAAaA,MAGhB,CACDv8K,IAAK,qBACLqC,MAAO,SAA4B4lB,GAC7BtlB,KAAKpD,MAAM+zK,kBAAoB3wK,KAAKpD,MAAM0yK,sBAC5CtvK,KAAKpD,MAAM0yK,oBAAoB,CAC7Bj0H,cAAe/1B,EACf8vJ,SAAU9vJ,EAAM3oB,OAAOw3J,cACvBmhB,YAAat1K,KAAKpD,MAAM04K,cAE1BhwJ,EAAMw1B,oBAGT,CACDz9C,IAAK,cACLqC,MAAO,SAAqB4lB,GACtBtlB,KAAKpD,MAAMi0K,oBAAsB7wK,KAAKpD,MAAM04K,YAAYtT,cAC5B,UAA1B18I,EAAM3oB,OAAOmX,SAAsB9T,KAAK+/B,GAAGoW,WAAY,EAAwC,UAA1B7wB,EAAM3oB,OAAOmX,WAAsB9T,KAAK+/B,GAAGoW,WAAY,MAGnI,CACD94C,IAAK,YACLqC,MAAO,SAAmB4lB,GACN,UAAdA,EAAMjoB,KAAmBioB,EAAMk0E,gBAAkBx5F,KAAK+/B,KACxD//B,KAAKo7C,QAAQ91B,GACbA,EAAMw1B,oBAGT,CACDz9C,IAAK,4BACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAMqyK,cAGb,IAFA,IAAIs8V,EAAkBvrgB,KAAKpD,MAAM04K,YAAYvV,WAAa//J,KAAKpD,MAAM04K,YAAY7gB,MAExE53J,EAAI,EAAGA,EAAImD,KAAKpD,MAAMqyK,cAAcnyK,OAAQD,IACnD,GAAImD,KAAKpD,MAAMqyK,cAAcpyK,GAAG43J,QAAU82W,EACxC,OAAO1ugB,EAKb,OAAQ,IAET,CACDQ,IAAK,cACLqC,MAAO,SAAqB8rgB,EAAQx8V,GAClC,GAAIhvK,KAAKpD,MAAM04K,YAAYpV,SAAU,CACnC,IAAIurW,EAAWD,EAASx8V,EAAY,EAAI,sBAAwB,wBAA0B,cAC1F,MAAiB,iBAAby8V,EAAoC,aAAmC,eAAbA,EAAkC,YAAwB,OAExH,OAAO,OAGV,CACDpugB,IAAK,iBACLqC,MAAO,SAAwB8rgB,EAAQx8V,GACrC,GAAIhvK,KAAKpD,MAAM04K,YAAYpV,SAAU,CACnC,IAAIurW,EAAWD,EAASx8V,EAAY,EAAI,sBAAwB,wBAA0B,cACtF08V,GAAoB,EAAI9wY,EAAYtP,YAAY,kCAAmCmgZ,GACvF,OAAoBlxY,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACvD+J,UAAW+mf,IAGb,OAAO,OAGV,CACDrugB,IAAK,kBACLqC,MAAO,SAAyBisgB,GAC9B,OAA2B,IAAvBA,GAA4B3rgB,KAAK+kE,MAAMmmc,aACrB3wY,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACvD+J,UAAW,2BACVgnf,EAAoB,GAGlB,OAER,CACDtugB,IAAK,SACLqC,MAAO,WACL,IAEI8gK,EAAeorW,EAFf5ud,EAASh9C,KAuBb,GAnBIA,KAAKpD,MAAM04K,YAAYriK,QAAUjT,KAAKpD,MAAMq1H,cAAc+3S,eAC5DxpQ,EAAgBxgK,KAAKpD,MAAM04K,YAAY9U,eAA8BjmC,EAAO/mG,QAAQ5Y,cAAcqwf,EAAWv8Y,UAAW,CACtHtC,SAAUpsH,KAAKmrgB,eACfl6f,KAAMjR,KAAKpD,MAAM04K,YAAYhV,WAC7B5gK,MAAOM,KAAK+kE,MAAM60G,YAClBj1J,UAAW,kBACX8pG,YAAazuH,KAAKpD,MAAM04K,YAAYjV,kBACpCtrE,UAAW/0F,KAAKpD,MAAM04K,YAAY/U,mBAIO,aAAzCvgK,KAAKpD,MAAM04K,YAAYnU,eAAgCnhK,KAAKpD,MAAMq1H,cAAc84Y,uBAClFa,EAA8BrxY,EAAO/mG,QAAQ5Y,cAAc2uf,EAAaj/F,YAAa,CACnFlvX,QAASp7C,KAAKpD,MAAM2yK,sBACpBlnF,SAAUroF,KAAKpD,MAAM+9K,uBACrB/xF,UAAW5oF,KAAKpD,MAAM8C,OAAqC,IAA5BM,KAAKpD,MAAM8C,MAAM5C,UAIhDkD,KAAKpD,MAAMq1H,cAAc64Y,WAC3B,OAAoBvwY,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDwzD,IAAK,SAAaruC,GAChB,OAAOid,EAAOjd,GAAKA,GAErBpb,WAAW,EAAIi2G,EAAYtP,YAAY,kBAAmBtrH,KAAKpD,MAAM04K,YAAY3U,uBACjFjuJ,MAAO1S,KAAKpD,MAAM04K,YAAY5U,mBAAqB1gK,KAAKpD,MAAM04K,YAAY5iK,MAC1E0uJ,QAASphK,KAAKpD,MAAM04K,YAAYlU,QAChCC,QAASrhK,KAAKpD,MAAM04K,YAAYjU,SAC/Bb,EAAeorW,GAElB,IAAID,EAAoB3rgB,KAAK6rgB,4BACzBC,GAA2C,IAAvBH,EAA2B3rgB,KAAKpD,MAAMqyK,cAAc08V,GAAqB,KAC7FI,EAAwC,OAAzB/rgB,KAAKpD,MAAMmjK,YAAqB//J,KAAKpD,MAAM04K,YAAY7gB,QAAUz0J,KAAKpD,MAAMmjK,WAAa//J,KAAKpD,MAAM04K,YAAYvV,YAAc//J,KAAKpD,MAAMmjK,WACxJisW,EAAuC,OAAtBF,EACjB98V,EAAY,EAEZi9V,EAAUjsgB,KAAKpD,MAAM+zK,kBAAiCp2C,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CAC7F+J,UAAW,+BACXo2B,YAAa/6C,KAAKorgB,qBAGhBW,EAAc/8V,EAAYhvK,KAAKpD,MAAMoyK,UAAmBg9V,IAAgBh9V,EAAY88V,EAAkBz7X,OAC1G,IAAIm7X,EAASxrgB,KAAKpD,MAAM04K,YAAYpV,WAAa6rW,GAAgBC,GAC7Drnf,GAAY,EAAIi2G,EAAYtP,YAAY,CAC1C,oBAAqBtrH,KAAKpD,MAAM04K,YAAYpV,SAC5C,cAAesrW,EACf,qBAAsBxrgB,KAAKpD,MAAM+zK,iBACjC,qBAAsB3wK,KAAKpD,MAAM04K,YAAYnU,eAC5CnhK,KAAKpD,MAAM04K,YAAYzU,iBAAmB7gK,KAAKpD,MAAM04K,YAAY3wJ,WAChEunf,EAAkBlsgB,KAAKmsgB,eAAeX,EAAQx8V,GAC9Co9V,EAAepsgB,KAAKqsgB,YAAYb,EAAQx8V,GACxCs9V,EAAYtsgB,KAAKusgB,gBAAgBZ,GACrC,OAAoBpxY,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDwzD,IAAK,SAAaruC,GAChB,OAAOid,EAAOjd,GAAKA,GAErBquF,SAAUpuH,KAAKpD,MAAM04K,YAAYpV,SAAWlgK,KAAKpD,MAAM04K,YAAYlnD,SAAW,KAC9EzpG,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM04K,YAAY1U,aAAe5gK,KAAKpD,MAAM04K,YAAY5iK,MACpE0oC,QAASp7C,KAAKo7C,QACdL,YAAa/6C,KAAK+6C,YAClBe,UAAW97C,KAAK87C,UAChBslH,QAASphK,KAAKpD,MAAM04K,YAAYlU,QAChCC,QAASrhK,KAAKpD,MAAM04K,YAAYjU,QAChC,YAAa+qW,EACb/5c,YAAaryD,KAAKpD,MAAMy1D,YACxBg2c,WAAYrogB,KAAKpD,MAAMyrgB,WACvBhyd,YAAar2C,KAAKpD,MAAMy5C,YACxBM,OAAQ32C,KAAKpD,MAAM+5C,QAClBs1d,EAAsB1xY,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CAC5D+J,UAAW,kBACV3kB,KAAKpD,MAAM04K,YAAYjmD,QAAS68Y,EAAiBI,EAAW9rW,EAAeorW,QA9ORlvgB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA6P3KotgB,EA7OqB,CA8O5BrwY,EAAOuC,WAET3mI,EAAQy0gB,WAAaA,G,6BC3RrBztgB,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQq9B,aAAU,EAElB,IAEgCwM,EAF5Bg0H,GAE4Bh0H,EAFS5pC,EAAQ,MAEI4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAIvF,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAI7S,SAASivD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIwse,EAAyB,WAC3B,SAASA,KATX,SAAyBjwgB,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAU5GH,CAAgB0D,KAAMwsgB,GAN1B,IAAsBhwgB,EAAae,EAAYC,EAmF7C,OAnFoBhB,EASPgwgB,EATgChvgB,EASf,CAAC,CAC7BH,IAAK,gBAKLqC,MAAO,SAAuBqB,GAC5B,IAAI6gB,EAAI7gB,EAAE66C,QAEV,OADAh6B,EAAIoyI,EAAYxgI,QAAQi5e,aAAaj9U,QAASg9U,EAAUE,YAAY9qf,IAAUA,IAClE,IAAMA,GAAK,IAAMA,IAAM4qf,EAAUG,KAAKC,QAAUhrf,IAAM4qf,EAAUG,KAAK55E,KAAOnxa,IAAM4qf,EAAUG,KAAKE,MAE9G,CACDxvgB,IAAK,eACLqC,MAAO,SAAsBqB,GAC3B,IAAI6gB,EAAI7gB,EAAE66C,QACV,OAAa,IAANh6B,GAAiB,KAANA,GAAkB,KAANA,GAAkB,KAANA,GAAkB,KAANA,GAAYA,GAAK,IAAMA,GAAK,IAAMoyI,EAAYxgI,QAAQi5e,aAAaK,QAAU/rgB,EAAEi2C,WAAmB,IAANp1B,GAAWA,GAAK,IAAMA,GAAK,IAAMA,GAAK,IAAMA,GAAK,IAAMA,GAAK,IAAMA,GAAK,MAE1N,CACDvkB,IAAK,SACLqC,MAAO,SAAgBqB,GACrB,IAAI6gB,EAAI7gB,EAAE66C,SAAW76C,EAAEivZ,SACvB,OAAOh8P,EAAYxgI,QAAQi5e,aAAaj9U,QAASg9U,EAAUE,YAAY9qf,IAAUA,IAElF,CACDvkB,IAAK,cACLqC,MAAO,SAAqBqB,GAC1B,OAAOA,EAAEivZ,UAAYjvZ,EAAE66C,SAAW76C,EAAE85C,QAErC,CACDx9C,IAAK,aACLqC,MAAO,SAAoBqB,EAAGqkU,EAAWC,GACvC,IAAIA,EAAJ,CAIA,IAAI/9S,EAAQklf,EAAUO,cAAc3nM,GAAaonM,EAAUO,cAAc3nM,GAAaA,EAElFxyK,EAAUoB,EAAYxgI,QAAQi5e,aAElC,IAAI1rgB,EAAEk2C,UAAWl2C,EAAE+uZ,OAAnB,CAIA,IAAIluY,EAAI5hB,KAAKgtgB,OAAOjsgB,GAEpB,IAAI6xJ,EAAQq6W,WAAYjtgB,KAAKktgB,cAAcnsgB,IAAM6gB,IAAM4qf,EAAUG,KAAKp6E,WAAa3wa,IAAM4qf,EAAUG,KAAKj3c,QAAyB,IAAf30D,EAAEivZ,UAApH,CAIA,IAAI9tZ,EAAIlC,KAAKmtgB,YAAYpsgB,GACrB6qN,EAAKj0L,OAAOE,aAAa31B,KAEzB0wJ,EAAQq6W,UAAYjtgB,KAAKotgB,aAAarsgB,IAAO6qN,KAI5CtkM,EAAMib,KAAKqpL,IACd7qN,EAAE+5C,uBAGL,CACDz9C,IAAK,WACLqC,MAAO,SAAkBqB,EAAGqkU,GAC1B,IAAI1lU,EAAQqB,EAAEpE,OAAO+C,MACjB4lU,GAAkB,EAMtB,OAJI5lU,IAAU0lU,EAAU7iS,KAAK7iC,KAC3B4lU,GAAkB,GAGbA,MA/EsB/nU,EAST,OAToDb,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAmF3KgvgB,EA/EoB,GAkF7Br2gB,EAAQq9B,QAAUg5e,EAElBxgd,EAAgBwgd,EAAW,gBAAiB,CAC1Ca,KAAM,OACN7yK,IAAK,SACLuwD,KAAM,SACNuiH,MAAO,YACPjhY,IAAK,WACLnjF,IAAK,YACLwnQ,MAAO,kBACP7nS,MAAO,UACP0kf,SAAU,eAGZvhd,EAAgBwgd,EAAW,OAAQ,CACjCz5E,IAAK,EACL65E,OAAQ,GACRC,IAAK,GACLt6E,UAAW,EACX78X,OAAQ,KAGV1J,EAAgBwgd,EAAW,cAAe,CACxCgB,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,MAAO,M,6BC1IT7wgB,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQsmL,sBAAmB,EAE3B,IAAIliD,EAIJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAJntB65F,CAAwBtkI,EAAQ,IAE7C,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,IAAIm8K,EAAgC,SAAU9gD,IAd9C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAejXF,CAAUo9K,EAAkB9gD,GAE5B,IAnBoBn/H,EAAae,EAAYC,EAmBzCypD,EAAStnD,EAAa88K,GAE1B,SAASA,IAGP,OAFAngL,EAAgB0D,KAAMy8K,GAEfx1H,EAAO7mD,MAAMJ,KAAMG,WAuC5B,OA/DoB3D,EA2BPigL,GA3BoBl/K,EA2BF,CAAC,CAC9BF,IAAK,YACLqC,MAAO,SAAmByhC,GAGxB,IAFA,IAAIkuP,EAAQ,GAEHxyR,EAAI,EAAGA,EAAImD,KAAKpD,MAAM07G,QAAQx7G,OAAQD,IAC7CwyR,EAAMvoR,KAAmByzH,EAAO/mG,QAAQ5Y,cAAc,KAAM,CAC1Dvd,IAAKR,GACJmD,KAAKpD,MAAM07G,QAAQz7G,GAAGD,MAAMqjK,gBAGjC,OAAoB1lC,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDvd,IAAK8jC,GACJkuP,KAEJ,CACDhyR,IAAK,aACLqC,MAAO,WAGL,IAFA,IAAIozF,EAAO,GAEFj2F,EAAI,EAAGA,EAAImD,KAAKpD,MAAMk2F,KAAMj2F,IACnCi2F,EAAKhsF,KAAK9G,KAAKiugB,UAAUpxgB,IAG3B,OAAOi2F,IAER,CACDz1F,IAAK,SACLqC,MAAO,WACL,IAAIozF,EAAO9yF,KAAKkugB,aAChB,OAAoB3zY,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACxD+J,UAAW,qBACVmuE,QA3DqEp2F,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA+D3Ki/K,EA/C2B,CAgDlCliD,EAAOuC,WAET3mI,EAAQsmL,iBAAmBA,G,6BCnF3Bt/K,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQg4gB,YAAS,EAEjB,IAAI5zY,EAsBJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAtBntB65F,CAAwBtkI,EAAQ,IAEzCgtK,EAAYh9G,EAAuBhwD,EAAQ,KAE3CukI,EAAav0E,EAAuBhwD,EAAQ,IAE5C49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7CwkI,EAAcxkI,EAAQ,IAEtB2ta,EAAqB39W,EAAuBhwD,EAAQ,MAEpD0ta,EAAwB1ta,EAAQ,IAEhC0kI,EAAe10E,EAAuBhwD,EAAQ,KAE9C2kI,EAAU3kI,EAAQ,IAEtB,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASgV,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAItF,SAAqC30C,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJxTC,CAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAUlI,SAASN,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAIhL,SAASx4C,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAImue,EAAsB,SAAUxyY,IAhBpC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU8ugB,EAAQxyY,GAElB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAawugB,GAE1B,SAASA,EAAOvxgB,GACd,IAAI24C,EAoBJ,OAhDJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMmugB,IAEtB54d,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZqpc,YAAaxxgB,EAAM8wD,SAGhBnY,EAAM34C,MAAMyxgB,aACf94d,EAAMwvB,MAAMupc,UAAY1xgB,EAAM0xgB,WAGhC/4d,EAAMs1X,QAAUt1X,EAAMs1X,QAAQhoa,KAAK44H,EAAuBlmF,IAC1DA,EAAMg5d,eAAiBh5d,EAAMg5d,eAAe1rgB,KAAK44H,EAAuBlmF,IACxEA,EAAMi5d,YAAcj5d,EAAMi5d,YAAY3rgB,KAAK44H,EAAuBlmF,IAClEA,EAAMsyI,UAAYtyI,EAAMsyI,UAAUhlL,KAAK44H,EAAuBlmF,IAC9DA,EAAM0yI,OAAS1yI,EAAM0yI,OAAOplL,KAAK44H,EAAuBlmF,IACxDA,EAAM4yI,SAAW5yI,EAAM4yI,SAAStlL,KAAK44H,EAAuBlmF,IAC5DA,EAAMpxB,GAAKoxB,EAAM34C,MAAMunB,KAAM,EAAI4/Y,EAAmBvwY,WAC7C+hB,EAiYT,OA7aoB/4C,EA+CP2xgB,GA/CoB5wgB,EA+CZ,CAAC,CACpBF,IAAK,UACLqC,MAAO,SAAiB4lB,GACtBtlB,KAAKpD,MAAMuyH,SACX7pG,EAAMw1B,mBAEP,CACDz9C,IAAK,QACLqC,MAAO,WACL,IAAIutb,EAAYj5R,EAAYxgI,QAAQ29H,WAAWnxJ,KAAKolD,OAAQ,UAExD6nY,GACFA,EAAU7mW,UAGb,CACD/oF,IAAK,cACLqC,MAAO,SAAqB4lB,GACtBtlB,KAAKpD,MAAM6xgB,iBAAmBzugB,KAAKpD,MAAM8xgB,UAAY1ugB,KAAKpD,MAAM6hd,OAASz+c,KAAKgT,OAASsS,EAAM3oB,QAC/FqD,KAAK6qa,QAAQvlZ,KAGhB,CACDjoB,IAAK,iBACLqC,MAAO,SAAwB4lB,GAC7B,IAAIgpf,GAAatugB,KAAKsugB,UAElBtugB,KAAKpD,MAAMyxgB,WACbrugB,KAAKpD,MAAMyxgB,WAAW,CACpBhzd,cAAe/1B,EACfgpf,UAAWA,IAGbtugB,KAAKqkK,SAAS,CACZiqW,UAAWA,GACVtugB,KAAK2ugB,2BAGVrpf,EAAMw1B,mBAEP,CACDz9C,IAAK,mBACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAGTmzC,EADY,CAAC,SAAU,OAAQ,QAAS,MAAO,WAAY,YAAa,SAAU,cAAe,gBACjFm6B,MAAK,SAAU5lD,GACjC,OAAOA,IAAS20B,EAAOz/C,MAAM+lC,UAAYjb,EAAKjgB,QAAQ,IAAK,MAAQ40C,EAAOz/C,MAAM+lC,YAElF,OAAOwQ,EAAM,YAAY3qB,OAAO2qB,GAAO,KAExC,CACD91C,IAAK,YACLqC,MAAO,WACDM,KAAKpD,MAAM0nK,QACbtkK,KAAKpD,MAAM0nK,SAGTtkK,KAAKpD,MAAMgygB,aACb5ugB,KAAKomF,QAGPpmF,KAAK6ugB,2BAEN,CACDxxgB,IAAK,SACLqC,MAAO,WACLM,KAAKpD,MAAMuyH,WAEZ,CACD9xH,IAAK,WACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ+pW,aAAa,IAEfpugB,KAAK8ugB,4BAEN,CACDzxgB,IAAK,yBACLqC,MAAO,WACDM,KAAKpD,MAAM6hd,OACbz+c,KAAK+ugB,uBAGH/ugB,KAAKpD,MAAMoygB,aAAehvgB,KAAKpD,MAAMqygB,aAAejvgB,KAAKsugB,YAC3Dt6W,EAAYxgI,QAAQ8jB,SAASh0C,SAAS+gB,KAAM,uBAG/C,CACDhnB,IAAK,0BACLqC,MAAO,WACDM,KAAKpD,MAAM6hd,OACbz+c,KAAKkvgB,wBACgB5rgB,SAAS6rgB,mBAAqB7rgB,SAAS6rgB,kBAAkBlxY,MAAK,SAAUvuE,GAC3F,OAAOA,EAAM0/c,mBAIbp7W,EAAYxgI,QAAQ+zD,YAAYjkF,SAAS+gB,KAAM,uBAExCrkB,KAAKpD,MAAMoygB,aAAehvgB,KAAKpD,MAAMqygB,aAAejvgB,KAAKsugB,YAClEt6W,EAAYxgI,QAAQ+zD,YAAYjkF,SAAS+gB,KAAM,uBAGlD,CACDhnB,IAAK,sBACLqC,MAAO,WACDM,KAAKpD,MAAM4hd,eAAiBx+c,KAAKpD,MAAM8xgB,UACzC1ugB,KAAKqvgB,gCAGR,CACDhygB,IAAK,wBACLqC,MAAO,WACLM,KAAKsvgB,kCAEN,CACDjygB,IAAK,8BACLqC,MAAO,WACL,IAAIs9C,EAASh9C,KAEbA,KAAKuvgB,wBAA0B,SAAUjqf,GACvC,IAAIk0E,EAAgBl0E,EAAMk0E,cAE1B,GAAIA,GAAiBA,EAAc21a,kBAAmB,CACpD,IAAIt3a,EAAS2B,EAAc21a,kBACvBK,EAAc33a,EAAO/6F,OACrB2ygB,EAAW53a,EAAO23a,EAAc,GAAGrrf,GAEvC,GAAIsrf,IAAazyd,EAAO74B,GAAI,CAC1B,IAAIihC,EAAS9hD,SAASC,eAAeksgB,GAErC,GAAoB,KAAhBnqf,EAAMu1B,MACRmC,EAAO6tX,QAAQvlZ,GAEfA,EAAMi+D,2BACNsU,EAAOn4D,OAAO8ve,EAAc,EAAG,QAC1B,GAAoB,IAAhBlqf,EAAMu1B,MAAa,CAC5Bv1B,EAAMw1B,iBAEN,IAAI40d,EAAoB17W,EAAYxgI,QAAQm8e,qBAAqBvqd,GAEjE,GAAIsqd,GAAqBA,EAAkB5ygB,OAAS,EAClD,GAAKwG,SAASu/Y,cAEP,CACL,IAAI+sH,EAAeF,EAAkBrlgB,QAAQ/G,SAASu/Y,eAElDv9X,EAAM0xB,UACc,IAAlB44d,GAAwC,IAAjBA,EAAoBF,EAAkBA,EAAkB5ygB,OAAS,GAAGspF,QAAaspb,EAAkBE,EAAe,GAAGxpb,SAE1H,IAAlBwpb,GAAuBA,IAAiBF,EAAkB5ygB,OAAS,EAAG4ygB,EAAkB,GAAGtpb,QAAaspb,EAAkBE,EAAe,GAAGxpb,aAPlJspb,EAAkB,GAAGtpb,YAgBjC,IAAIypb,EAAW,CACb1rf,GAAInkB,KAAKmkB,GACTirf,eAAgBpvgB,KAAKpD,MAAMoygB,aAE7B1rgB,SAAS6rgB,kBAAoB7rgB,SAAS6rgB,kBAAoB,GAAG3mf,OAAOwsB,EAAmB1xC,SAAS6rgB,mBAAoB,CAACU,IAAa,CAACA,GACnIvsgB,SAASgwB,iBAAiB,UAAWtzB,KAAKuvgB,2BAE3C,CACDlygB,IAAK,gCACLqC,MAAO,WACL,IAAIwgD,EAASlgD,KAETA,KAAKuvgB,0BACPjsgB,SAASwhE,oBAAoB,UAAW9kE,KAAKuvgB,yBAC7CjsgB,SAAS6rgB,kBAAoB7rgB,SAAS6rgB,mBAAqB7rgB,SAAS6rgB,kBAAkBl8f,QAAO,SAAUy8C,GACrG,OAAOA,EAAMvrC,KAAO+7B,EAAO/7B,MAE7BnkB,KAAKuvgB,wBAA0B,QAGlC,CACDlygB,IAAK,oBACLqC,MAAO,WACDM,KAAKpD,MAAM8wD,UACb1tD,KAAKgT,KAAKN,MAAMykC,OAASxf,OAAO33B,KAAKm3C,QACrCn3C,KAAK6nL,eAGR,CACDxqL,IAAK,qBACLqC,MAAO,SAA4Bo8H,GACjC,IAAIj7E,EAAS7gD,KAETA,KAAKpD,MAAM8wD,UAAY1tD,KAAK+kE,MAAMqpc,aACpCpugB,KAAKqkK,SAAS,CACZ+pW,aAAa,IACZ,WACDvtd,EAAO7tC,KAAKN,MAAMykC,OAASxf,OAAOkpB,EAAO1J,WAIzC2kF,EAAUwyY,YAActugB,KAAKpD,MAAM0xgB,WAAatugB,KAAKpD,MAAMyxgB,YAC7DrugB,KAAK2ugB,8BAGR,CACDtxgB,IAAK,4BACLqC,MAAO,WACL,IAAKM,KAAKpD,MAAMoygB,YAAa,CAC3B,IAAIttG,EAAW1ha,KAAKsugB,UAAY,WAAa,cAE7Ct6W,EAAYxgI,QAAQkuY,GAAUp+Z,SAAS+gB,KAAM,wBAGhD,CACDhnB,IAAK,uBACLqC,MAAO,WACLM,KAAK8ugB,4BAEN,CACDzxgB,IAAK,kBACLqC,MAAO,WACL,OAAIM,KAAKpD,MAAM8xgB,SACOn0Y,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN0T,UAAW,oDACX,aAAc3kB,KAAKpD,MAAMkzgB,mBACzB10d,QAASp7C,KAAK6qa,SACAtwS,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,2CACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,OAGzD,OAER,CACDx/H,IAAK,qBACLqC,MAAO,WACL,IAAIo+K,GAAgB,EAAIljD,EAAYtP,YAAY,mCAAoC,CAClF,sBAAuBtrH,KAAKsugB,UAC5B,qBAAsBtugB,KAAKsugB,YAG7B,OAAItugB,KAAKpD,MAAMqygB,YACO10Y,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN0T,UAAW,uDACXy2B,QAASp7C,KAAKuugB,gBACAh0Y,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAWm5J,IACIvjD,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,OAGzD,OAER,CACDx/H,IAAK,cACLqC,MAAO,WACL,OAAIM,KAAKpD,MAAMspc,MACNprU,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAMspc,MAAOlmc,KAAKpD,OAG5D,OAER,CACDS,IAAK,eACLqC,MAAO,WACL,IAAI+hD,EAASzhD,KAEb,GAAIA,KAAKpD,MAAMmzgB,WAAY,CACzB,IAAIC,EAAYhwgB,KAAKiwgB,kBACjBC,EAAelwgB,KAAKmwgB,qBACpBjqE,EAAQlmc,KAAKowgB,cACjB,OAAoB71Y,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChB,OAAO0hB,EAAO4ud,cAAgBtwe,GAEhCpb,UAAW,mBACG41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnDuJ,GAAInkB,KAAKmkB,GAAK,UACdQ,UAAW,kBACV3kB,KAAKpD,MAAMyyH,QAAsBkL,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtE+J,UAAW,yBACVuhb,EAAOgqE,EAAcF,IAG1B,OAAO,OAER,CACD3ygB,IAAK,gBACLqC,MAAO,WACL,IAAIiiD,EAAS3hD,KAETswgB,GAAmB,EAAI11Y,EAAYtP,YAAY,mBAAoBtrH,KAAKpD,MAAM0zgB,kBAClF,OAAoB/1Y,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChB,OAAO4hB,EAAO4ud,eAAiBxwe,GAEjCpb,UAAW2rf,EACX59f,MAAO1S,KAAKpD,MAAM06V,cACjBt3V,KAAKpD,MAAM4V,YAEf,CACDnV,IAAK,eACLqC,MAAO,WACL,IAAI0zD,EAASpzD,KAEb,OAAIA,KAAKpD,MAAM+yH,OACO4K,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChB,OAAOqzB,EAAOo9c,cAAgBzwe,GAEhCpb,UAAW,mBACV3kB,KAAKpD,MAAM+yH,QAGT,OAER,CACDtyH,IAAK,gBACLqC,MAAO,WACL,IAAI+zD,EAASzzD,KAET2kB,GAAY,EAAIi2G,EAAYtP,YAAY,uBAAwBtrH,KAAKpD,MAAM+nB,UAAW,CACxF,eAAgB3kB,KAAKpD,MAAM6zgB,IAC3B,qBAAsBzwgB,KAAKsugB,YAEzBoC,GAAgB,EAAI91Y,EAAYtP,YAAY,gBAAiB,CAC/D,sBAAuBtrH,KAAKpD,MAAM6hd,MAClC,mBAAoBz+c,KAAK+kE,MAAMqpc,aAC9BpugB,KAAKpD,MAAM8zgB,cAAe1wgB,KAAK2wgB,oBAC9BthZ,EAASrvH,KAAKsggB,eACd34e,EAAU3nB,KAAK4uV,gBACfj/N,EAAS3vH,KAAK4wgB,eACdC,EAAoB,CACtB1qV,MAA+B,WAAxBnmL,KAAKpD,MAAM+lC,SAAwB,IAAM,IAChDqkJ,KAA8B,WAAxBhnL,KAAKpD,MAAM+lC,SAAwB,IAAM,KAEjD,OAAoB43F,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChB,OAAO0zB,EAAOzgD,KAAO+sB,GAEvBpb,UAAW+rf,EACXt1d,QAASp7C,KAAKwugB,aACAj0Y,EAAO/mG,QAAQ5Y,cAAckpZ,EAAsB76O,cAAe,CAChF39D,WAAY,WACZnzB,QAAS04a,EACTxqV,GAAIrmL,KAAKpD,MAAM8wD,QACf44H,eAAe,EACfuB,UAAW7nL,KAAK6nL,UAChBI,OAAQjoL,KAAKioL,OACbE,SAAUnoL,KAAKmoL,UACD5tD,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClDwzD,IAAK,SAAaruC,GAChB,OAAO0zB,EAAOrO,OAASrlB,GAEzB5b,GAAInkB,KAAKmkB,GACTQ,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,MAClB,kBAAmB1S,KAAKmkB,GAAK,UAC7Bu7J,KAAM,SACN,aAAc1/K,KAAKpD,MAAMspT,OACxB72L,EAAQ1nG,EAASgoG,OAErB,CACDtyH,IAAK,SACLqC,MAAO,WACL,IAAIgb,EAAU1a,KAAKkmK,gBACnB,OAAIlmK,KAAKpD,MAAMs6C,SAA8BksH,EAAU5vI,QAAQu7F,aAAar0G,EAAS1a,KAAKpD,MAAMs6C,UAAsBx8B,IAEvH,CACDrd,IAAK,SACLiF,IAAK,WACH,OAAOtC,KAAKpD,MAAMonK,WAAahQ,EAAYxgI,QAAQywI,mBAEpD,CACD5mK,IAAK,YACLiF,IAAK,WACH,OAAOtC,KAAKpD,MAAMyxgB,WAAarugB,KAAKpD,MAAM0xgB,UAAYtugB,KAAK+kE,MAAMupc,eAzaO5xgB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA6a3K2wgB,EA3ZiB,CA4ZxB5zY,EAAOuC,WAET3mI,EAAQg4gB,OAASA,EAEjBnid,EAAgBmid,EAAQ,eAAgB,CACtChqf,GAAI,KACJkrG,OAAQ,KACRM,OAAQ,KACRjiE,SAAS,EACT/qB,SAAU,SACV87a,OAAO,EACPtvV,OAAQ,KACRm1C,OAAQ,KACRgzL,aAAc,KACdg5K,iBAAkB,KAClB9xD,eAAe,EACfiwD,iBAAiB,EACjBgC,KAAK,EACL/B,UAAU,EACVh8f,MAAO,KACPiS,UAAW,KACX+rf,cAAe,KACfX,YAAY,EACZ74d,SAAU,KACV8sH,WAAY,EACZirW,aAAa,EACbD,aAAa,EACb9oE,MAAO,KACP4pE,mBAAoB,QACpBlB,aAAa,EACbN,WAAW,EACXD,WAAY,OAGdrid,EAAgBmid,EAAQ,YAAa,CACnChqf,GAAIw2G,EAAWnnG,QAAQw2F,OACvBqF,OAAQsL,EAAWnnG,QAAQy2F,IAC3B0F,OAAQgL,EAAWnnG,QAAQy2F,IAC3Bv8D,QAASitE,EAAWnnG,QAAQs2F,KAC5BnnF,SAAUg4F,EAAWnnG,QAAQw2F,OAC7By0V,MAAO9jV,EAAWnnG,QAAQs2F,KAC1BqF,OAAQwL,EAAWnnG,QAAQi8B,KAAKm6D,WAChC06C,OAAQ3pC,EAAWnnG,QAAQi8B,KAC3B6nS,aAAc38N,EAAWnnG,QAAQ1wB,OACjCwtgB,iBAAkB31Y,EAAWnnG,QAAQw2F,OACrCw0V,cAAe7jV,EAAWnnG,QAAQs2F,KAClC2kZ,gBAAiB9zY,EAAWnnG,QAAQs2F,KACpC2mZ,IAAK91Y,EAAWnnG,QAAQs2F,KACxB4kZ,SAAU/zY,EAAWnnG,QAAQs2F,KAC7Bp3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,OAC9B0mZ,cAAe/1Y,EAAWnnG,QAAQw2F,OAClC+lZ,WAAYp1Y,EAAWnnG,QAAQs2F,KAC/B5yE,SAAUyjF,EAAWnnG,QAAQ1wB,OAC7BkhK,WAAYrpC,EAAWnnG,QAAQu2F,OAC/BklZ,YAAat0Y,EAAWnnG,QAAQs2F,KAChCklZ,YAAar0Y,EAAWnnG,QAAQs2F,KAChCo8U,MAAOvrU,EAAWnnG,QAAQy2F,IAC1B6lZ,mBAAoBn1Y,EAAWnnG,QAAQw2F,OACvC4kZ,YAAaj0Y,EAAWnnG,QAAQs2F,KAChCwkZ,UAAW3zY,EAAWnnG,QAAQs2F,KAC9BukZ,WAAY1zY,EAAWnnG,QAAQi8B,Q,6BC1hBjCtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ26gB,gBAAa,EAErB,IAAIv2Y,EAsBJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAtBntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5C26gB,EAAU36gB,EAAQ,IAElB46gB,EAAY56gB,EAAQ,KAEpB66gB,EAAe76gB,EAAQ,KAEvB49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7CwkI,EAAcxkI,EAAQ,IAEtB2kI,EAAU3kI,EAAQ,IAElB0kI,EAAe10E,EAAuBhwD,EAAQ,KAElD,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS3/B,EAA2BC,EAAG+sJ,GAAkB,IAAInsJ,EAAI,GAAsB,qBAAXX,QAAgD,MAAtBD,EAAEC,OAAOC,UAAmB,CAAE,GAAIC,MAAMC,QAAQJ,KAAOY,EAAK0pI,EAA4BtqI,KAAO+sJ,GAAkB/sJ,GAAyB,kBAAbA,EAAExD,OAAqB,CAAMoE,IAAIZ,EAAIY,GAAI,IAAIrE,EAAI,EAAO8D,EAAI,aAAiB,MAAO,CAAEC,EAAGD,EAAGE,EAAG,WAAe,OAAIhE,GAAKyD,EAAExD,OAAe,CAAEgE,MAAM,GAAe,CAAEA,MAAM,EAAOpB,MAAOY,EAAEzD,OAAWkE,EAAG,SAAWC,GAAM,MAAMA,GAAOC,EAAGN,GAAO,MAAM,IAAIlE,UAAU,yIAA4I,IAA6C0E,EAAzCC,GAAmB,EAAMC,GAAS,EAAY,MAAO,CAAET,EAAG,WAAeM,EAAKZ,EAAEC,OAAOC,aAAgBK,EAAG,WAAe,IAAIS,EAAOJ,EAAGK,OAAsC,OAA9BH,EAAmBE,EAAKR,KAAaQ,GAASP,EAAG,SAAWS,GAAOH,GAAS,EAAMF,EAAMK,GAAQP,EAAG,WAAe,IAAWG,GAAiC,MAAbF,EAAGosJ,QAAgBpsJ,EAAGosJ,SAArD,QAA2E,GAAIjsJ,EAAQ,MAAMF,KAEl9B,SAAS6zC,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAAQ21F,EAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAIlI,SAASD,EAA4BtqI,EAAGqqI,GAAU,GAAKrqI,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAiE,MAAnD,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAgB,QAANvB,GAAqB,QAANA,EAAoBJ,MAAMsY,KAAKzY,GAAc,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAW0pI,EAAkBjqI,EAAGqqI,QAAzG,GAM7S,SAASJ,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAIhL,SAASx4C,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI8we,EAA0B,SAAUn1Y,IAhBxC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUyxgB,EAAYn1Y,GAEtB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAamxgB,GAE1B,SAASA,EAAWl0gB,GAClB,IAAI24C,EAuBJ,OAnDJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAM8wgB,IAEtBv7d,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZ67K,MAAO,GACPswR,KAAM,GACNltG,SAAS,GAEXzuX,EAAM47d,OAAS57d,EAAM47d,OAAOtugB,KAAK44H,EAAuBlmF,IACxDA,EAAM43X,OAAS53X,EAAM43X,OAAOtqa,KAAK44H,EAAuBlmF,IACxDA,EAAMyG,MAAQzG,EAAMyG,MAAMn5C,KAAK44H,EAAuBlmF,IACtDA,EAAM67d,aAAe77d,EAAM67d,aAAavugB,KAAK44H,EAAuBlmF,IACpEA,EAAMW,YAAcX,EAAMW,YAAYrzC,KAAK44H,EAAuBlmF,IAClEA,EAAM8yd,WAAa9yd,EAAM8yd,WAAWxlgB,KAAK44H,EAAuBlmF,IAChEA,EAAMc,YAAcd,EAAMc,YAAYxzC,KAAK44H,EAAuBlmF,IAClEA,EAAMoB,OAASpB,EAAMoB,OAAO9zC,KAAK44H,EAAuBlmF,IACxDA,EAAMuG,UAAYvG,EAAMuG,UAAUj5C,KAAK44H,EAAuBlmF,IAC9DA,EAAM6vX,QAAU7vX,EAAM6vX,QAAQvia,KAAK44H,EAAuBlmF,IAC1DA,EAAM24E,OAAS34E,EAAM24E,OAAOrrH,KAAK44H,EAAuBlmF,IACxDA,EAAM87d,sBAAwB97d,EAAM87d,sBAAsBxugB,KAAK44H,EAAuBlmF,IACtFA,EAAM+7d,kBAAmB,EAClB/7d,EAqiBT,OAplBoB/4C,EAkDPs0gB,GAlDoBvzgB,EAkDR,CAAC,CACxBF,IAAK,WACLqC,MAAO,WACL,OAAOM,KAAK+kE,MAAM67K,OAAS5gP,KAAK+kE,MAAM67K,MAAM9jP,OAAS,IAEtD,CACDO,IAAK,UACLqC,MAAO,SAAiBwqO,GACtB,MAAO,WAAW3nM,KAAK2nM,EAAKj5N,QAE7B,CACD5T,IAAK,iBACLqC,MAAO,WACL,OAAOM,KAAKpD,MAAMgsF,UAAY5oF,KAAKpD,MAAM20gB,WAAavxgB,KAAKpD,MAAM20gB,WAAavxgB,KAAK+kE,MAAM67K,MAAM9jP,OAASkD,KAAKwxgB,oBAE9G,CACDn0gB,IAAK,iBACLqC,MAAO,WACL,OAAOM,KAAKpD,MAAMgsF,WAAa5oF,KAAKyxgB,aAErC,CACDp0gB,IAAK,iBACLqC,MAAO,WACL,OAAOM,KAAKpD,MAAMgsF,WAAa5oF,KAAKyxgB,aAErC,CACDp0gB,IAAK,SACLqC,MAAO,SAAgB4lB,EAAO6b,GAC5BnhC,KAAK0xgB,oBAEL,IAAIC,EAAe38d,EAAmBh1C,KAAK+kE,MAAM67K,OAE7CgxR,EAAc5xgB,KAAK+kE,MAAM67K,MAAMz/M,GACnCwwe,EAAajye,OAAOyB,EAAO,GAC3BnhC,KAAKqkK,SAAS,CACZu8E,MAAO+wR,IAGL3xgB,KAAKpD,MAAMmua,UACb/qa,KAAKpD,MAAMmua,SAAS,CAClB1vX,cAAe/1B,EACf4kN,KAAM0nS,MAIX,CACDv0gB,IAAK,oBACLqC,MAAO,WACLM,KAAK6xgB,UAAUnygB,MAAQ,KAExB,CACDrC,IAAK,eACLqC,MAAO,WACDM,KAAK6xgB,YACP7xgB,KAAKsxgB,kBAAmB,EAExBtxgB,KAAK6xgB,UAAUnygB,MAAQ,MAG1B,CACDrC,IAAK,aACLqC,MAAO,SAAoB+hQ,GACzB,GAAc,IAAVA,EACF,MAAO,MAGT,IAGI5kQ,EAAIsK,KAAK0W,MAAM1W,KAAKvB,IAAI67P,GAASt6P,KAAKvB,IAHlC,MAIR,OAAO2D,YAAYk4P,EAAQt6P,KAAKE,IAJxB,IAI+BxK,IAAIm+B,QAHlC,IAGiD,IAF9C,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAEUn+B,KAEvE,CACDQ,IAAK,eACLqC,MAAO,SAAsB4lB,GAC3B,IAAI+2B,EAASr8C,KAEb,GAAmB,SAAfslB,EAAMrU,MAAmBjR,KAAK8xgB,UAAY9xgB,KAAKsxgB,iBACjDtxgB,KAAKsxgB,kBAAmB,MAD1B,CAKAtxgB,KAAKqkK,SAAS,CACZ6sW,KAAM,KAERlxgB,KAAK4gP,MAAQ5gP,KAAK+kE,MAAM67K,OAAS,GAGjC,IAFA,IAAIA,EAAQt7N,EAAMuyJ,aAAevyJ,EAAMuyJ,aAAa+oE,MAAQt7N,EAAM3oB,OAAOikP,MAEhE/jP,EAAI,EAAGA,EAAI+jP,EAAM9jP,OAAQD,IAAK,CACrC,IAAIqtO,EAAO0W,EAAM/jP,GAEZmD,KAAK+xgB,eAAe7nS,IACnBlqO,KAAKwnH,SAAS0iH,KACZlqO,KAAKgygB,QAAQ9nS,KACfA,EAAK+nS,UAAYvwgB,OAAO0+B,IAAIC,gBAAgB6pM,IAG9ClqO,KAAK4gP,MAAM95O,KAAKojO,IAKtBlqO,KAAKqkK,SAAS,CACZu8E,MAAO5gP,KAAK4gP,QACX,WACGvkM,EAAOo1d,YAAcp1d,EAAOz/C,MAAMw8P,MACpC/8M,EAAO8wX,YAIPnta,KAAKpD,MAAMmzD,UACb/vD,KAAKpD,MAAMmzD,SAAS,CAClB1U,cAAe/1B,EACfs7N,MAAOA,IAIQ,SAAft7N,EAAMrU,MAAmBjR,KAAK8xgB,SAChC9xgB,KAAKkygB,eAELlygB,KAAK0xgB,oBAGiB,UAApB1xgB,KAAKpD,MAAM8F,MAAoB1C,KAAK4gP,MAAM9jP,OAAS,IACrDkD,KAAK6xgB,UAAUn/f,MAAM0R,QAAU,WAGlC,CACD/mB,IAAK,iBACLqC,MAAO,SAAwBwqO,GAC7B,IACIv0M,EADAm7H,EAAYzwJ,EAA2BL,KAAK+kE,MAAM67K,OAGtD,IACE,IAAK9vF,EAAUlwJ,MAAO+0B,EAAQm7H,EAAUjwJ,KAAKC,MAAO,CAClD,IAAIqxgB,EAAQx8e,EAAMj2B,MAClB,GAAIyygB,EAAM/vgB,KAAO+vgB,EAAMlhgB,KAAOkhgB,EAAMjtc,OAASglK,EAAK9nO,KAAO8nO,EAAKj5N,KAAOi5N,EAAKhlK,KAAM,OAAO,GAEzF,MAAO/jE,GACP2vJ,EAAU/vJ,EAAEI,GANd,QAQE2vJ,EAAU7vJ,IAGZ,OAAO,IAER,CACD5D,IAAK,SACLqC,MAAO,WACL,QAASgC,OAAM,wBAA8B4B,SAAQ,eAEtD,CACDjG,IAAK,WACLqC,MAAO,SAAkBwqO,GACvB,GAAIlqO,KAAKpD,MAAMw1gB,aAAeloS,EAAKhlK,KAAOllE,KAAKpD,MAAMw1gB,YAAa,CAChE,IAAI5oe,EAAU,CACZ6oe,SAAU,QACVC,QAAStygB,KAAKpD,MAAM21gB,8BAA8B9qgB,QAAQ,MAAOyiO,EAAK9nO,MACtEm5C,OAAQv7C,KAAKpD,MAAM41gB,6BAA6B/qgB,QAAQ,MAAOzH,KAAKyygB,WAAWzygB,KAAKpD,MAAMw1gB,eAW5F,MARwB,aAApBpygB,KAAKpD,MAAM8F,MACb1C,KAAK0ygB,WAAW3gd,KAAKvoB,GAGnBxpC,KAAKpD,MAAM+1gB,kBACb3ygB,KAAKpD,MAAM+1gB,iBAAiBzoS,IAGvB,EAGT,OAAO,IAER,CACD7sO,IAAK,SACLqC,MAAO,WACL,IAAIs9C,EAASh9C,KAEb,GAAIA,KAAKpD,MAAMg2gB,aACT5ygB,KAAKpD,MAAM20gB,YACbvxgB,KAAKwxgB,mBAAqBxxgB,KAAK+kE,MAAM67K,MAAM9jP,QAGzCkD,KAAKpD,MAAMi2gB,eACb7ygB,KAAKpD,MAAMi2gB,cAAc,CACvBjyR,MAAO5gP,KAAK+kE,MAAM67K,YAGjB,CACL5gP,KAAKqkK,SAAS,CACZ6sW,KAAM,KAER,IAAI3nJ,EAAM,IAAIzhX,eACVgrgB,EAAW,IAAI1lW,SAEfptK,KAAKpD,MAAMm2gB,gBACb/ygB,KAAKpD,MAAMm2gB,eAAe,CACxB,IAAOxpJ,EACP,SAAYupJ,IAIhB,IACI7hX,EADAC,EAAa7wJ,EAA2BL,KAAK+kE,MAAM67K,OAGvD,IACE,IAAK1vF,EAAWtwJ,MAAOqwJ,EAASC,EAAWrwJ,KAAKC,MAAO,CACrD,IAAIopO,EAAOj5E,EAAOvxJ,MAClBozgB,EAAStlc,OAAOxtE,KAAKpD,MAAMwF,KAAM8nO,EAAMA,EAAK9nO,OAE9C,MAAOjB,GACP+vJ,EAAWnwJ,EAAEI,GANf,QAQE+vJ,EAAWjwJ,IAGbsoX,EAAI4jD,OAAO75Y,iBAAiB,YAAY,SAAUhO,GAC5CA,EAAM0tf,kBACRh2d,EAAOqnH,SAAS,CACd3mJ,SAAUvW,KAAKi9G,MAAqB,IAAf9+F,EAAM/d,OAAe+d,EAAM84T,SAIhDphS,EAAOpgD,MAAM0rZ,YACftrW,EAAOpgD,MAAM0rZ,WAAW,CACtBjtW,cAAe/1B,EACf5H,SAAUs/B,EAAOt/B,cAOvB6rW,EAAIuc,mBAAqB,WACA,IAAnBvc,EAAIpB,aACNnrU,EAAOqnH,SAAS,CACd3mJ,SAAU,IAGR6rW,EAAI/iM,QAAU,KAAO+iM,EAAI/iM,OAAS,KAChCxpI,EAAOpgD,MAAM20gB,YACfv0d,EAAOw0d,mBAAqBx0d,EAAO+nB,MAAM67K,MAAM9jP,QAG7CkgD,EAAOpgD,MAAMq2gB,UACfj2d,EAAOpgD,MAAMq2gB,SAAS,CACpB1pJ,IAAKA,EACL3oI,MAAO5jM,EAAO+nB,MAAM67K,SAIpB5jM,EAAOpgD,MAAMwlf,SACfplc,EAAOpgD,MAAMwlf,QAAQ,CACnB74H,IAAKA,EACL3oI,MAAO5jM,EAAO+nB,MAAM67K,QAK1B5jM,EAAOhB,UAIXutU,EAAIvhX,KAAK,OAAQhI,KAAKpD,MAAMgL,KAAK,GAE7B5H,KAAKpD,MAAMs2gB,cACblzgB,KAAKpD,MAAMs2gB,aAAa,CACtB,IAAO3pJ,EACP,SAAYupJ,IAIhBvpJ,EAAIyjD,gBAAkBhta,KAAKpD,MAAMowa,gBACjCzjD,EAAIthX,KAAK6qgB,MAGZ,CACDz1gB,IAAK,QACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZu8E,MAAO,KAGL5gP,KAAKpD,MAAMu2gB,SACbnzgB,KAAKpD,MAAMu2gB,UAGbnzgB,KAAK0xgB,sBAEN,CACDr0gB,IAAK,SACLqC,MAAO,WACLM,KAAK6xgB,UAAU9tb,UAEhB,CACD1mF,IAAK,UACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ2/P,SAAS,MAGZ,CACD3ma,IAAK,SACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ2/P,SAAS,MAGZ,CACD3ma,IAAK,YACLqC,MAAO,SAAmB4lB,GACJ,KAAhBA,EAAMu1B,OAER76C,KAAKmxgB,WAGR,CACD9zgB,IAAK,cACLqC,MAAO,SAAqB4lB,GACrBtlB,KAAKpD,MAAMgsF,WACdtjE,EAAM01B,kBACN11B,EAAMw1B,oBAGT,CACDz9C,IAAK,aACLqC,MAAO,SAAoB4lB,GACpBtlB,KAAKpD,MAAMgsF,WACdorE,EAAYxgI,QAAQ8jB,SAASt3C,KAAK2nB,QAAS,0BAE3CrC,EAAM01B,kBACN11B,EAAMw1B,oBAGT,CACDz9C,IAAK,cACLqC,MAAO,SAAqB4lB,GACrBtlB,KAAKpD,MAAMgsF,UACdorE,EAAYxgI,QAAQ+zD,YAAYvnF,KAAK2nB,QAAS,4BAGjD,CACDtqB,IAAK,SACLqC,MAAO,SAAgB4lB,GACrB,IAAKtlB,KAAKpD,MAAMgsF,SAAU,CACxBorE,EAAYxgI,QAAQ+zD,YAAYvnF,KAAK2nB,QAAS,0BAE9CrC,EAAM01B,kBACN11B,EAAMw1B,iBACN,IAAI8lM,EAAQt7N,EAAMuyJ,aAAevyJ,EAAMuyJ,aAAa+oE,MAAQt7N,EAAM3oB,OAAOikP,OACzD5gP,KAAKpD,MAAMurb,UAAYvnM,GAA0B,IAAjBA,EAAM9jP,SAGpDkD,KAAKoxgB,aAAa9rf,MAIvB,CACDjoB,IAAK,wBACLqC,MAAO,WACDM,KAAKyxgB,WACPzxgB,KAAKmta,SAELnta,KAAK6xgB,UAAU9tb,UAGlB,CACD1mF,IAAK,qBACLqC,MAAO,WACL,IAAIwgD,EAASlgD,KAET2kB,GAAY,EAAIi2G,EAAYtP,YAAY,2CAA4C,CACtF,aAActrH,KAAKpD,MAAMgsF,SACzB,UAAW5oF,KAAK+kE,MAAMi/V,UAExB,OAAoBzpS,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACvD+J,UAAWA,EACXy2B,QAASp7C,KAAKmxgB,OACdr1d,UAAW97C,KAAK87C,UAChBspX,QAASpla,KAAKola,QACdl3S,OAAQluH,KAAKkuH,OACbE,SAAU,GACImM,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpDwzD,IAAK,SAAaruC,GAChB,OAAOmgB,EAAO2xd,UAAY9xe,GAE5B9uB,KAAM,OACNm7G,SAAUpsH,KAAKoxgB,aACfjpF,SAAUnob,KAAKpD,MAAMurb,SACrBpyY,OAAQ/1C,KAAKpD,MAAMm5C,OACnB6yC,SAAU5oF,KAAKozgB,mBACA74Y,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACpD+J,UAAW,kEACI41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACpD+J,UAAW,8BACV3kB,KAAKpD,MAAMy2gB,aAA2B94Y,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,SAEvF,CACDx/H,IAAK,cACLqC,MAAO,WACL,IAAImhD,EAAS7gD,KAEb,OAAoBu6H,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,sBACV3kB,KAAK+kE,MAAM67K,MAAMn5N,KAAI,SAAUyiN,EAAM/oM,GACtC,IAAImye,EAAUzyd,EAAOmxd,QAAQ9nS,GAAqB3vG,EAAO/mG,QAAQ5Y,cAAc,MAAO,KAAmB2/G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAC3I83G,IAAKw3G,EAAK9nO,KACVs9K,KAAM,eACNv+J,IAAK+oN,EAAK+nS,UACVrrgB,MAAOi6C,EAAOjkD,MAAM22gB,gBAChB,KAEFpwB,EAAwB5oX,EAAO/mG,QAAQ5Y,cAAc,MAAO,KAAMsvN,EAAK9nO,MAEvE8iE,EAAoBq1D,EAAO/mG,QAAQ5Y,cAAc,MAAO,KAAMimC,EAAO4xd,WAAWvoS,EAAKhlK,OAErFsuc,EAA4Bj5Y,EAAO/mG,QAAQ5Y,cAAc,MAAO,KAAmB2/G,EAAO/mG,QAAQ5Y,cAAcm2f,EAAQ5lZ,OAAQ,CAClIl6G,KAAM,SACNu3E,KAAM,cACNptC,QAAS,SAAiBr6C,GACxB,OAAO8/C,EAAO5gB,OAAOl/B,EAAGogC,OAI5B,OAAoBo5F,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,mBACXtnB,IAAK6sO,EAAK9nO,KAAO8nO,EAAKj5N,KAAOi5N,EAAKhlK,MACjCouc,EAASnwB,EAAUj+a,EAAMsuc,SAG/B,CACDn2gB,IAAK,qBACLqC,MAAO,WACL,OAAIM,KAAKpD,MAAM62gB,gBAAkBzzgB,KAAKyxgB,WAC7B32Y,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAM62gB,cAAezzgB,KAAKpD,OAGpE,OAER,CACDS,IAAK,iBACLqC,MAAO,WACL,IAGIg0gB,EAAcC,EAAcC,EAAWC,EAHvCpyd,EAASzhD,KAET2kB,GAAY,EAAIi2G,EAAYtP,YAAY,iDAAkDtrH,KAAKpD,MAAM+nB,WAErGmvf,EAAe9zgB,KAAK+zgB,qBACpBC,EAAeh0gB,KAAKi0gB,qBA2BxB,OAzBKj0gB,KAAKpD,MAAMw8P,OACds6Q,EAA4Bn5Y,EAAO/mG,QAAQ5Y,cAAcm2f,EAAQ5lZ,OAAQ,CACvEl6G,KAAM,SACN8tD,MAAO/+D,KAAKpD,MAAMs3gB,YAClB1rb,KAAM,eACNptC,QAASp7C,KAAKmta,OACdvkV,SAAU5oF,KAAKm0gB,mBAEjBR,EAA4Bp5Y,EAAO/mG,QAAQ5Y,cAAcm2f,EAAQ5lZ,OAAQ,CACvEl6G,KAAM,SACN8tD,MAAO/+D,KAAKpD,MAAMw3gB,YAClB5rb,KAAM,cACNptC,QAASp7C,KAAKg8C,MACd4sC,SAAU5oF,KAAKq0gB,oBAIfr0gB,KAAKyxgB,aACPmC,EAAY5zgB,KAAKs0gB,cACjBT,EAA2Bt5Y,EAAO/mG,QAAQ5Y,cAAcq2f,EAAasD,YAAa,CAChF70gB,MAAOM,KAAK+kE,MAAMrnD,SAClB82f,WAAW,KAIKj6Y,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDuJ,GAAInkB,KAAKpD,MAAMunB,GACfQ,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,OACJ6nH,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,0BACVmvf,EAAcJ,EAAcC,GAA4Bp5Y,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAC7FwzD,IAAK,SAAaruC,GAChB0hB,EAAO95B,QAAUoY,GAEnBpb,UAAW,uBACXuxB,YAAal2C,KAAKk2C,YAClBmyd,WAAYrogB,KAAKqogB,WACjBhyd,YAAar2C,KAAKq2C,YAClBM,OAAQ32C,KAAK22C,QACZk9d,EAA0Bt5Y,EAAO/mG,QAAQ5Y,cAAco2f,EAAUvmG,SAAU,CAC5Er8V,IAAK,SAAaruC,GAChB,OAAO0hB,EAAOixd,WAAa3ye,KAE3B6ze,EAAWI,MAEhB,CACD32gB,IAAK,cACLqC,MAAO,WACL,IAAIiiD,EAAS3hD,KAET2kB,GAAY,EAAIi2G,EAAYtP,YAAY,8CAA+CtrH,KAAKpD,MAAM+nB,WAClG8vf,GAAkB,EAAI75Y,EAAYtP,YAAY,2CAA4C,CAC5F,+BAAgCtrH,KAAKyxgB,WACrC,aAAczxgB,KAAKpD,MAAMgsF,SACzB,UAAW5oF,KAAK+kE,MAAMi/V,UAEpBlmP,GAAgB,EAAIljD,EAAYtP,YAAY,sCAAuC,CACrF,WAAYtrH,KAAKyxgB,YAAczxgB,KAAKpD,MAAMw8P,KAC1C,YAAap5P,KAAKyxgB,aAAezxgB,KAAKpD,MAAMw8P,OAE1Cr6L,EAAQ/+D,KAAKpD,MAAMw8P,KAAOp5P,KAAKpD,MAAMy2gB,YAAcrzgB,KAAKyxgB,WAAazxgB,KAAK+kE,MAAM67K,MAAM,GAAGx+O,KAAOpC,KAAKpD,MAAMy2gB,YAC/G,OAAoB94Y,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAWA,GACG41G,EAAO/mG,QAAQ5Y,cAAco2f,EAAUvmG,SAAU,CAC/Dr8V,IAAK,SAAaruC,GAChB,OAAO4hB,EAAO+wd,WAAa3ye,KAEdw6F,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACpD+J,UAAW8vf,EACXx6d,UAAWj6C,KAAKqxgB,sBAChBv1d,UAAW97C,KAAK87C,UAChBspX,QAASpla,KAAKola,QACdl3S,OAAQluH,KAAKkuH,OACbE,SAAU,GACImM,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAWm5J,IACIvjD,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACpD+J,UAAW,8BACVo6C,IAAS/+D,KAAKyxgB,YAA2Bl3Y,EAAO/mG,QAAQ5Y,cAAc,QAAS,CAChFwzD,IAAK,SAAaruC,GAChB,OAAO4hB,EAAOkwd,UAAY9xe,GAE5B9uB,KAAM,OACN8kC,OAAQ/1C,KAAKpD,MAAMm5C,OACnB6yC,SAAU5oF,KAAKpD,MAAMgsF,SACrBwjC,SAAUpsH,KAAKoxgB,eACA72Y,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,UAE/D,CACDx/H,IAAK,SACLqC,MAAO,WACL,MAAwB,aAApBM,KAAKpD,MAAM8F,KAA4B1C,KAAK00gB,iBAA8C,UAApB10gB,KAAKpD,MAAM8F,KAAyB1C,KAAK20gB,mBAA7C,OAhlBEj4gB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAolB3KszgB,EAlkBqB,CAmkB5Bv2Y,EAAOuC,WAET3mI,EAAQ26gB,WAAaA,EAErB9kd,EAAgB8kd,EAAY,eAAgB,CAC1C3sf,GAAI,KACJ/hB,KAAM,KACNwF,IAAK,KACLlF,KAAM,WACNylb,UAAU,EACVpyY,OAAQ,KACR6yC,UAAU,EACVwwK,MAAM,EACNg5Q,YAAa,KACbG,8BAA+B,2BAC/BC,6BAA8B,8BAC9B9/f,MAAO,KACPiS,UAAW,KACXiwf,kBAAkB,EAClBrB,aAAc,GACdF,YAAa,SACba,YAAa,SACbE,YAAa,SACbxB,cAAc,EACda,cAAe,KACfV,eAAgB,KAChBG,aAAc,KACdD,SAAU,KACV7wB,QAAS,KACT+wB,QAAS,KACTpjd,SAAU,KACVu4V,WAAY,KACZqqH,iBAAkB,KAClBE,cAAe,KACf9nG,SAAU,OAGZ/+W,EAAgB8kd,EAAY,YAAa,CACvC3sf,GAAIw2G,EAAWnnG,QAAQw2F,OACvB5nH,KAAMu4H,EAAWnnG,QAAQw2F,OACzBpiH,IAAK+yH,EAAWnnG,QAAQw2F,OACxBtnH,KAAMi4H,EAAWnnG,QAAQw2F,OACzBm+T,SAAUxtT,EAAWnnG,QAAQs2F,KAC7B/zE,OAAQ4kF,EAAWnnG,QAAQw2F,OAC3BphC,SAAU+xC,EAAWnnG,QAAQs2F,KAC7BsvI,KAAMz+H,EAAWnnG,QAAQs2F,KACzBsoZ,YAAaz3Y,EAAWnnG,QAAQu2F,OAChCwoZ,8BAA+B53Y,EAAWnnG,QAAQw2F,OAClDwoZ,6BAA8B73Y,EAAWnnG,QAAQw2F,OACjDt3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,OAC9B4qZ,iBAAkBj6Y,EAAWnnG,QAAQs2F,KACrCypZ,aAAc54Y,EAAWnnG,QAAQu2F,OACjCspZ,YAAa14Y,EAAWnnG,QAAQw2F,OAChCkqZ,YAAav5Y,EAAWnnG,QAAQw2F,OAChCoqZ,YAAaz5Y,EAAWnnG,QAAQw2F,OAChC4oZ,aAAcj4Y,EAAWnnG,QAAQs2F,KACjC2pZ,cAAe94Y,EAAWnnG,QAAQy2F,IAClC8oZ,eAAgBp4Y,EAAWnnG,QAAQi8B,KACnCyjd,aAAcv4Y,EAAWnnG,QAAQi8B,KACjCwjd,SAAUt4Y,EAAWnnG,QAAQi8B,KAC7B2yb,QAASznX,EAAWnnG,QAAQi8B,KAC5B0jd,QAASx4Y,EAAWnnG,QAAQi8B,KAC5BM,SAAU4qE,EAAWnnG,QAAQi8B,KAC7B64V,WAAY3tR,EAAWnnG,QAAQi8B,KAC/Bkjd,iBAAkBh4Y,EAAWnnG,QAAQi8B,KACrCojd,cAAel4Y,EAAWnnG,QAAQi8B,KAClCs7W,SAAUpwS,EAAWnnG,QAAQi8B,Q,6BCzsB/BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ60a,eAAY,EAEpB,IAQgChrY,EAR5Bu6F,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAM4B36F,EANQ5pC,EAAQ,KAMK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAJnF46F,EAAcxkI,EAAQ,IAEtB2kI,EAAU3kI,EAAQ,IAItB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIgrY,EAAyB,SAAUrvS,IAhBvC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU2ra,EAAWrvS,GAErB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAaqra,GAE1B,SAASA,EAAUpua,GACjB,IAAI24C,EAOJ,OAnCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMgra,IAEtBz1X,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBw+C,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAMs1X,QAAUt1X,EAAMs1X,QAAQhoa,KAAK44H,EAAuBlmF,IACnDA,EA0GT,OAzIoB/4C,EAkCPwua,GAlCoBzta,EAkCT,CAAC,CACvBF,IAAK,oBACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAERA,KAAKpD,MAAM4sC,QAAQqre,SACtB70gB,KAAKm4F,QAAUtjE,YAAW,WACxBwnB,EAAOwuX,QAAQ,QACd7qa,KAAKpD,MAAM4sC,QAAQsre,MAAQ,QAGjC,CACDz3gB,IAAK,uBACLqC,MAAO,WACDM,KAAKm4F,SACP7jE,aAAat0B,KAAKm4F,WAGrB,CACD96F,IAAK,UACLqC,MAAO,SAAiB4lB,GAClBtlB,KAAKm4F,SACP7jE,aAAat0B,KAAKm4F,SAGhBn4F,KAAKpD,MAAMiua,SACb7qa,KAAKpD,MAAMiua,QAAQ7qa,KAAKpD,MAAM4sC,SAG5BlkB,IACFA,EAAMw1B,iBACNx1B,EAAM01B,qBAGT,CACD39C,IAAK,UACLqC,MAAO,WACDM,KAAKpD,MAAMw+C,SACbp7C,KAAKpD,MAAMw+C,QAAQp7C,KAAKpD,MAAM4sC,WAGjC,CACDnsC,IAAK,kBACLqC,MAAO,WACL,OAAoC,IAAhCM,KAAKpD,MAAM4sC,QAAQkle,SACDn0Y,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN0T,UAAW,yBACXy2B,QAASp7C,KAAK6qa,SACAtwS,EAAO/mG,QAAQ5Y,cAAc,IAAK,CAChD+J,UAAW,qCACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,OAGzD,OAER,CACDx/H,IAAK,gBACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAM4sC,QAAS,CACtB,IAAIure,EAAsB/0gB,KAAKpD,MAAM4sC,QACjC6oe,EAAW0C,EAAoB1C,SAC/B1qf,EAAUotf,EAAoBptf,QAC9B2qf,EAAUyC,EAAoBzC,QAC9B/2d,EAASw5d,EAAoBx5d,OAC7BitC,GAAO,EAAIoyC,EAAYtP,YAAY,qBAAsB,CAC3D,iBAA+B,SAAb+mZ,EAClB,WAAyB,YAAbA,EACZ,0BAAwC,SAAbA,EAC3B,kBAAgC,UAAbA,IAErB,OAAO1qf,GAAwB4yG,EAAO/mG,QAAQ5Y,cAAc2/G,EAAO/mG,QAAQ+xG,SAAU,KAAmBhL,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CAC3I+J,UAAW6jE,IACI+xC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACpD+J,UAAW,qBACV2tf,GAAuB/3Y,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CAC7D+J,UAAW,oBACV42B,IAGL,OAAO,OAER,CACDl+C,IAAK,SACLqC,MAAO,WACL,IAAIs9C,EAASh9C,KAGT2kB,EAAY,mCADD3kB,KAAKpD,MAAM4sC,QAAQ6oe,SAE9BrC,EAAYhwgB,KAAKiwgB,kBACjBzme,EAAUxpC,KAAKg1gB,gBACnB,OAAoBz6Y,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChBid,EAAO8xE,UAAY/uF,GAErBpb,UAAWA,EACXy2B,QAASp7C,KAAKo7C,SACAm/E,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,qBACV6kB,EAASwme,SArI4DtzgB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAyI3Kwta,EAvHoB,CAwH3BzwS,EAAOuC,WAET3mI,EAAQ60a,UAAYA,EAEpBh/W,EAAgBg/W,EAAW,eAAgB,CACzCxhY,QAAS,KACTqhY,QAAS,KACTzvX,QAAS,OAGX4Q,EAAgBg/W,EAAW,YAAa,CACtCxhY,QAASmxF,EAAWnnG,QAAQ1wB,OAC5B+na,QAASlwS,EAAWnnG,QAAQi8B,KAC5BrU,QAASu/E,EAAWnnG,QAAQi8B,Q,6BChL9BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQo+gB,iBAAc,EAEtB,IAMgCv0e,EAN5Bu6F,EAUJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAVntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAI4B36F,EAJQ5pC,EAAQ,KAIK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAFnF46F,EAAcxkI,EAAQ,IAI1B,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIu0e,EAA2B,SAAU54Y,IAhBzC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUk1gB,EAAa54Y,GAEvB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa40gB,GAE1B,SAASA,IAGP,OAFAj4gB,EAAgB0D,KAAMu0gB,GAEfttd,EAAO7mD,MAAMJ,KAAMG,WA+D5B,OAzFoB3D,EA6BP+3gB,GA7BoBh3gB,EA6BP,CAAC,CACzBF,IAAK,cACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAM43gB,WAAiC,MAApBx0gB,KAAKpD,MAAM8C,MAAe,CACpD,IAAIq/D,EAAQ/+D,KAAKpD,MAAMq4gB,qBAAuBj1gB,KAAKpD,MAAMq4gB,qBAAqBj1gB,KAAKpD,MAAM8C,OAASM,KAAKpD,MAAM8C,MAAQM,KAAKpD,MAAMu/I,KAChI,OAAoB5hB,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,uBACVo6C,GAGL,OAAO,OAER,CACD1hE,IAAK,oBACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,sDAAuDtrH,KAAKpD,MAAM+nB,WAC1Go6C,EAAQ/+D,KAAKw8H,cACjB,OAAoBjC,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD8kK,KAAM,cACNv7J,GAAInkB,KAAKpD,MAAMunB,GACfQ,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,MAClB,gBAAiB,IACjB,gBAAiB1S,KAAKpD,MAAM8C,MAC5B,gBAAiB,MACjB,aAAcM,KAAKpD,MAAM8C,OACX66H,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,kDACXjS,MAAO,CACL9L,MAAO5G,KAAKpD,MAAM8C,MAAQ,IAC1B0kB,QAAS,QACTgiD,gBAAiBpmE,KAAKpD,MAAMmN,SAE5Bg1D,KAEL,CACD1hE,IAAK,sBACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,wDAAyDtrH,KAAKpD,MAAM+nB,WAChH,OAAoB41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD8kK,KAAM,cACNv7J,GAAInkB,KAAKpD,MAAMunB,GACfQ,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,OACJ6nH,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,yCACG41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,kDACXjS,MAAO,CACL0zD,gBAAiBpmE,KAAKpD,MAAMmN,aAIjC,CACD1M,IAAK,SACLqC,MAAO,WACL,GAAwB,gBAApBM,KAAKpD,MAAM8F,KAAwB,OAAO1C,KAAKk1gB,oBAAyB,GAAwB,kBAApBl1gB,KAAKpD,MAAM8F,KAA0B,OAAO1C,KAAKm1gB,sBAA2B,MAAM,IAAIj2e,MAAMl/B,KAAKpD,MAAM8F,KAAO,qGArFtHhG,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAyF3K+2gB,EAvEsB,CAwE7Bh6Y,EAAOuC,WAET3mI,EAAQo+gB,YAAcA,EAEtBvod,EAAgBuod,EAAa,eAAgB,CAC3Cpwf,GAAI,KACJzkB,MAAO,KACP80gB,WAAW,EACXr4X,KAAM,IACNzpI,MAAO,KACPiS,UAAW,KACXjiB,KAAM,cACNuygB,qBAAsB,KACtBlrgB,MAAO,OAGTiiD,EAAgBuod,EAAa,YAAa,CACxCpwf,GAAIw2G,EAAWnnG,QAAQw2F,OACvBtqH,MAAOi7H,EAAWnnG,QAAQ+2F,UAAU,CAACoQ,EAAWnnG,QAAQu2F,OAAQ4Q,EAAWnnG,QAAQw2F,SACnFwqZ,UAAW75Y,EAAWnnG,QAAQs2F,KAC9BqyB,KAAMxhB,EAAWnnG,QAAQw2F,OACzBt3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,OAC9BtnH,KAAMi4H,EAAWnnG,QAAQw2F,OACzBirZ,qBAAsBt6Y,EAAWnnG,QAAQi8B,KACzC1lD,MAAO4wH,EAAWnnG,QAAQw2F,U,6BC1I5B7sH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQi/gB,WAAQ,EAEhB,IAAI76Y,EAgBJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAhBntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CwkI,EAAcxkI,EAAQ,IAEtBi/gB,EAAgBj/gB,EAAQ,KAExB49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7C0ta,EAAwB1ta,EAAQ,IAEpC,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAASgV,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAItF,SAAqC30C,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJxTC,CAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAUlI,SAASN,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAIhL,SAASx4C,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI2qY,EAAa,EAEbyqG,EAAqB,SAAUz5Y,IAlBnC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAmBjXF,CAAU+1gB,EAAOz5Y,GAEjB,IAvBoBn/H,EAAae,EAAYC,EAuBzCypD,EAAStnD,EAAay1gB,GAE1B,SAASA,EAAMx4gB,GACb,IAAI24C,EASJ,OAvCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAgC5GH,CAAgB0D,KAAMo1gB,IAEtB7/d,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZ6lW,SAAU,IAEZr1X,EAAMs1X,QAAUt1X,EAAMs1X,QAAQhoa,KAAK44H,EAAuBlmF,IACnDA,EA6ET,OAhHoB/4C,EAsCP44gB,GAtCoB73gB,EAsCb,CAAC,CACnBF,IAAK,OACLqC,MAAO,SAAcA,GACnB,GAAIA,EAAO,CACT,IAAIora,EAEJ,GAAIrqa,MAAMC,QAAQhB,GAChB,IAAK,IAAI7C,EAAI,EAAGA,EAAI6C,EAAM5C,OAAQD,IAChC6C,EAAM7C,GAAGsnB,GAAKwmZ,IACdG,EAAc,GAAGtiZ,OAAOwsB,EAAmBh1C,KAAK+kE,MAAM6lW,UAAW51X,EAAmBt1C,SAGtFA,EAAMykB,GAAKwmZ,IACXG,EAAc9qa,KAAK+kE,MAAM6lW,SAAW,GAAGpiZ,OAAOwsB,EAAmBh1C,KAAK+kE,MAAM6lW,UAAW,CAAClra,IAAU,CAACA,GAGrGM,KAAKqkK,SAAS,CACZumQ,SAAUE,IAEZ9qa,KAAK8uH,UAAUp8G,MAAMykC,OAASxf,OAAO33B,KAAKpD,MAAMonK,WAAahQ,EAAYxgI,QAAQywI,qBAGpF,CACD5mK,IAAK,QACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZumQ,SAAU,OAGb,CACDvta,IAAK,UACLqC,MAAO,SAAiB8pC,GACtB,IAAIshY,EAAc9qa,KAAK+kE,MAAM6lW,SAAS33Z,QAAO,SAAUpN,GACrD,OAAOA,EAAIse,KAAOqlB,EAAQrlB,MAE5BnkB,KAAKqkK,SAAS,CACZumQ,SAAUE,IAGR9qa,KAAKpD,MAAMmua,UACb/qa,KAAKpD,MAAMmua,SAASvhY,KAGvB,CACDnsC,IAAK,SACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAET2kB,GAAY,EAAIi2G,EAAYtP,YAAY,+BAAiCtrH,KAAKpD,MAAM+lC,SAAU3iC,KAAKpD,MAAM+nB,WAC7G,OAAoB41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChBsc,EAAOyyE,UAAY/uF,GAErB5b,GAAInkB,KAAKpD,MAAMunB,GACfQ,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,OACJ6nH,EAAO/mG,QAAQ5Y,cAAckpZ,EAAsB54O,gBAAiB,KAAMlrL,KAAK+kE,MAAM6lW,SAASnjZ,KAAI,SAAU+hB,GAC1H,OAAoB+wF,EAAO/mG,QAAQ5Y,cAAckpZ,EAAsB76O,cAAe,CACpF5rL,IAAKmsC,EAAQrlB,GACbmnG,WAAY,kBACZg7D,eAAe,EACfnuF,QAAS,CACPguF,MAAO,IACPa,KAAM,MAEMzsD,EAAO/mG,QAAQ5Y,cAAcy6f,EAAcC,aAAc,CACvE9re,QAASA,EACT4R,QAASiB,EAAOz/C,MAAMw+C,QACtByvX,QAASxuX,EAAOwuX,qBA1GoDnua,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAgH3K43gB,EA5FgB,CA6FvB76Y,EAAOuC,WAET3mI,EAAQi/gB,MAAQA,EAEhBppd,EAAgBopd,EAAO,eAAgB,CACrCjxf,GAAI,KACJQ,UAAW,KACXjS,MAAO,KACPsxJ,WAAY,EACZrhI,SAAU,YACVyY,QAAS,KACT2vX,SAAU,OAGZ/+W,EAAgBopd,EAAO,YAAa,CAClCjxf,GAAIw2G,EAAWnnG,QAAQw2F,OACvBrlG,UAAWg2G,EAAWnnG,QAAQw2F,OAC9Bt3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1BkhK,WAAYrpC,EAAWnnG,QAAQu2F,OAC/BpnF,SAAUg4F,EAAWnnG,QAAQw2F,OAC7B5uE,QAASu/E,EAAWnnG,QAAQi8B,KAC5Bs7W,SAAUpwS,EAAWnnG,QAAQi8B,Q,6BC/K/BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQm/gB,kBAAe,EAEvB,IAAI/6Y,EAcJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAdntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CwkI,EAAcxkI,EAAQ,IAEtB49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7C2kI,EAAU3kI,EAAQ,IAEtB,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIs1e,EAA4B,SAAU35Y,IAhB1C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUi2gB,EAAc35Y,GAExB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa21gB,GAE1B,SAASA,EAAa14gB,GACpB,IAAI24C,EAOJ,OAnCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMs1gB,IAEtB//d,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBw+C,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAMs1X,QAAUt1X,EAAMs1X,QAAQhoa,KAAK44H,EAAuBlmF,IACnDA,EA+GT,OA9IoB/4C,EAkCP84gB,GAlCoB/3gB,EAkCN,CAAC,CAC1BF,IAAK,uBACLqC,MAAO,WACDM,KAAKm4F,SACP7jE,aAAat0B,KAAKm4F,WAGrB,CACD96F,IAAK,oBACLqC,MAAO,WACL,IAAI28C,EAASr8C,KAERA,KAAKpD,MAAM4sC,QAAQqre,SACtB70gB,KAAKm4F,QAAUtjE,YAAW,WACxBwnB,EAAOwuX,QAAQ,QACd7qa,KAAKpD,MAAM4sC,QAAQsre,MAAQ,QAGjC,CACDz3gB,IAAK,UACLqC,MAAO,WACDM,KAAKm4F,SACP7jE,aAAat0B,KAAKm4F,SAGhBn4F,KAAKpD,MAAMiua,SACb7qa,KAAKpD,MAAMiua,QAAQ7qa,KAAKpD,MAAM4sC,WAGjC,CACDnsC,IAAK,UACLqC,MAAO,SAAiB4lB,IAClBtlB,KAAKpD,MAAMw+C,SAAa44G,EAAYxgI,QAAQkwD,SAASp+D,EAAM3oB,OAAQ,uBAAyBq3J,EAAYxgI,QAAQkwD,SAASp+D,EAAM3oB,OAAQ,4BACzIqD,KAAKpD,MAAMw+C,QAAQp7C,KAAKpD,MAAM4sC,WAGjC,CACDnsC,IAAK,kBACLqC,MAAO,WACL,OAAoC,IAAhCM,KAAKpD,MAAM4sC,QAAQkle,SACDn0Y,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzD3J,KAAM,SACN0T,UAAW,4BACXy2B,QAASp7C,KAAK6qa,SACAtwS,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,wCACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,OAGzD,OAER,CACDx/H,IAAK,gBACLqC,MAAO,WACL,GAAIM,KAAKpD,MAAM4sC,QAAS,CACtB,IAAIure,EAAsB/0gB,KAAKpD,MAAM4sC,QACjC6oe,EAAW0C,EAAoB1C,SAC/B1qf,EAAUotf,EAAoBptf,QAC9B2qf,EAAUyC,EAAoBzC,QAC9B/2d,EAASw5d,EAAoBx5d,OAC7BuiI,GAAgB,EAAIljD,EAAYtP,YAAY,0BAA2B,CACzE,iBAA+B,SAAb+mZ,EAClB,0BAAwC,SAAbA,EAC3B,WAAyB,UAAbA,EACZ,WAAyB,YAAbA,IAEd,OAAO1qf,GAAwB4yG,EAAO/mG,QAAQ5Y,cAAc2/G,EAAO/mG,QAAQ+xG,SAAU,KAAmBhL,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CAC3I+J,UAAWm5J,IACIvjD,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACnD+J,UAAW,wBACG41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,mBACV2tf,GAAU/2d,GAAuBg/E,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtE+J,UAAW,kBACV42B,KAGL,OAAO,OAER,CACDl+C,IAAK,SACLqC,MAAO,WACL,IAAIs9C,EAASh9C,KAETqygB,EAAWrygB,KAAKpD,MAAM4sC,QAAQ6oe,SAC9B1tf,GAAY,EAAIi2G,EAAYtP,YAAY,kBAAmB,CAC7D,uBAAqC,SAAb+mZ,EACxB,uBAAqC,SAAbA,EACxB,wBAAsC,UAAbA,EACzB,0BAAwC,YAAbA,IAEzB7oe,EAAUxpC,KAAKg1gB,gBACfhF,EAAYhwgB,KAAKiwgB,kBACrB,OAAoB11Y,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChBid,EAAOtiC,QAAUqlB,GAEnBpb,UAAWA,EACX+6J,KAAM,QACN,YAAa,YACb,cAAe,OACftkI,QAASp7C,KAAKo7C,SACAm/E,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,2BACV6kB,EAASwme,SA1I4DtzgB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA8I3K83gB,EA5HuB,CA6H9B/6Y,EAAOuC,WAET3mI,EAAQm/gB,aAAeA,EAEvBtpd,EAAgBspd,EAAc,eAAgB,CAC5C9re,QAAS,KACTqhY,QAAS,KACTzvX,QAAS,OAGX4Q,EAAgBspd,EAAc,YAAa,CACzC9re,QAASmxF,EAAWnnG,QAAQ1wB,OAC5B+na,QAASlwS,EAAWnnG,QAAQi8B,KAC5BrU,QAASu/E,EAAWnnG,QAAQi8B,Q,6BCvL9B,IAAI0kL,EAAQ/9O,EAAQ,IAChByM,EAAOzM,EAAQ,KACfm/gB,EAAQn/gB,EAAQ,KAChBo/gB,EAAcp/gB,EAAQ,KAS1B,SAASq/gB,EAAeC,GACtB,IAAIpgd,EAAU,IAAIigd,EAAMG,GACpBn5gB,EAAWsG,EAAK0ygB,EAAM93gB,UAAUstD,QAASuK,GAQ7C,OALA6+K,EAAM/+L,OAAO74C,EAAUg5gB,EAAM93gB,UAAW63D,GAGxC6+K,EAAM/+L,OAAO74C,EAAU+4D,GAEhB/4D,EAIT,IAAIo5gB,EAAQF,EAtBGr/gB,EAAQ,MAyBvBu/gB,EAAMJ,MAAQA,EAGdI,EAAMn2gB,OAAS,SAAgBo2gB,GAC7B,OAAOH,EAAeD,EAAYG,EAAMr2b,SAAUs2b,KAIpDD,EAAM3nG,OAAS53a,EAAQ,KACvBu/gB,EAAME,YAAcz/gB,EAAQ,KAC5Bu/gB,EAAMG,SAAW1/gB,EAAQ,KAGzBu/gB,EAAMl4e,IAAM,SAAas4e,GACvB,OAAOj/e,QAAQ2G,IAAIs4e,IAErBJ,EAAM17J,OAAS7jX,EAAQ,KAEvBF,EAAOC,QAAUw/gB,EAGjBz/gB,EAAOC,QAAQq9B,QAAUmif,G,6BClDzB,IAAIxhS,EAAQ/9O,EAAQ,IAChB+1a,EAAW/1a,EAAQ,KACnB4/gB,EAAqB5/gB,EAAQ,KAC7B6/gB,EAAkB7/gB,EAAQ,KAC1Bo/gB,EAAcp/gB,EAAQ,KAO1B,SAASm/gB,EAAMK,GACb51gB,KAAKs/E,SAAWs2b,EAChB51gB,KAAKk2gB,aAAe,CAClBnrd,QAAS,IAAIird,EACblnV,SAAU,IAAIknV,GASlBT,EAAM93gB,UAAUstD,QAAU,SAAiBrW,GAGnB,kBAAXA,GACTA,EAASv0C,UAAU,IAAM,IAClByH,IAAMzH,UAAU,GAEvBu0C,EAASA,GAAU,IAGrBA,EAAS8ge,EAAYx1gB,KAAKs/E,SAAU5qC,IAGzBqwE,OACTrwE,EAAOqwE,OAASrwE,EAAOqwE,OAAOlsG,cACrB7Y,KAAKs/E,SAASylC,OACvBrwE,EAAOqwE,OAAS/kH,KAAKs/E,SAASylC,OAAOlsG,cAErC67B,EAAOqwE,OAAS,MAIlB,IAAIoxZ,EAAQ,CAACF,OAAiBr2e,GAC1B/I,EAAUC,QAAQw8F,QAAQ5+E,GAU9B,IARA10C,KAAKk2gB,aAAanrd,QAAQh2B,SAAQ,SAAoCqhf,GACpED,EAAMt7e,QAAQu7e,EAAYl3K,UAAWk3K,EAAYj3K,aAGnDn/V,KAAKk2gB,aAAapnV,SAAS/5J,SAAQ,SAAkCqhf,GACnED,EAAMrvgB,KAAKsvgB,EAAYl3K,UAAWk3K,EAAYj3K,aAGzCg3K,EAAMr5gB,QACX+5B,EAAUA,EAAQ88F,KAAKwiZ,EAAMvhc,QAASuhc,EAAMvhc,SAG9C,OAAO/9C,GAGT0+e,EAAM93gB,UAAU44gB,OAAS,SAAgB3he,GAEvC,OADAA,EAAS8ge,EAAYx1gB,KAAKs/E,SAAU5qC,GAC7By3X,EAASz3X,EAAO9sC,IAAK8sC,EAAOmjD,OAAQnjD,EAAOu2X,kBAAkBxja,QAAQ,MAAO,KAIrF0sO,EAAMp/M,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BgwF,GAE/EwwZ,EAAM93gB,UAAUsnH,GAAU,SAASn9G,EAAK8sC,GACtC,OAAO10C,KAAK+qD,QAAQyqd,EAAY9ge,GAAU,GAAI,CAC5CqwE,OAAQA,EACRn9G,IAAKA,SAKXusO,EAAMp/M,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BgwF,GAErEwwZ,EAAM93gB,UAAUsnH,GAAU,SAASn9G,EAAKoJ,EAAM0jC,GAC5C,OAAO10C,KAAK+qD,QAAQyqd,EAAY9ge,GAAU,GAAI,CAC5CqwE,OAAQA,EACRn9G,IAAKA,EACLoJ,KAAMA,SAKZ9a,EAAOC,QAAUo/gB,G,6BC3FjB,IAAIphS,EAAQ/9O,EAAQ,IAEpB,SAAS4/gB,IACPh2gB,KAAKg+U,SAAW,GAWlBg4L,EAAmBv4gB,UAAU2kB,IAAM,SAAa88U,EAAWC,GAKzD,OAJAn/V,KAAKg+U,SAASl3U,KAAK,CACjBo4V,UAAWA,EACXC,SAAUA,IAELn/V,KAAKg+U,SAASlhV,OAAS,GAQhCk5gB,EAAmBv4gB,UAAU64gB,MAAQ,SAAenyf,GAC9CnkB,KAAKg+U,SAAS75T,KAChBnkB,KAAKg+U,SAAS75T,GAAM,OAYxB6xf,EAAmBv4gB,UAAUs3B,QAAU,SAAiBuI,GACtD62M,EAAMp/M,QAAQ/0B,KAAKg+U,UAAU,SAAwBhqT,GACzC,OAANA,GACFsJ,EAAGtJ,OAKT99B,EAAOC,QAAU6/gB,G,6BCjDjB,IAAI7hS,EAAQ/9O,EAAQ,IAChBmghB,EAAgBnghB,EAAQ,KACxB0/gB,EAAW1/gB,EAAQ,KACnBkpF,EAAWlpF,EAAQ,KAKvB,SAASoghB,EAA6B9he,GAChCA,EAAO04X,aACT14X,EAAO04X,YAAYqpG,mBAUvBvghB,EAAOC,QAAU,SAAyBu+C,GA6BxC,OA5BA8he,EAA6B9he,GAG7BA,EAAO03N,QAAU13N,EAAO03N,SAAW,GAGnC13N,EAAO1jC,KAAOulgB,EACZ7he,EAAO1jC,KACP0jC,EAAO03N,QACP13N,EAAO+2X,kBAIT/2X,EAAO03N,QAAUj4B,EAAM3/K,MACrB9f,EAAO03N,QAAQ4/J,QAAU,GACzBt3X,EAAO03N,QAAQ13N,EAAOqwE,SAAW,GACjCrwE,EAAO03N,SAGTj4B,EAAMp/M,QACJ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WAClD,SAA2BgwF,UAClBrwE,EAAO03N,QAAQrnJ,OAIZrwE,EAAOwb,SAAWovB,EAASpvB,SAE1Bxb,GAAQi/E,MAAK,SAA6Bm7D,GAUvD,OATA0nV,EAA6B9he,GAG7Bo6I,EAAS99K,KAAOulgB,EACdznV,EAAS99K,KACT89K,EAASs9E,QACT13N,EAAOg3X,mBAGF58O,KACN,SAA4B4nV,GAc7B,OAbKZ,EAASY,KACZF,EAA6B9he,GAGzBgie,GAAUA,EAAO5nV,WACnB4nV,EAAO5nV,SAAS99K,KAAOulgB,EACrBG,EAAO5nV,SAAS99K,KAChB0lgB,EAAO5nV,SAASs9E,QAChB13N,EAAOg3X,qBAKN50Y,QAAQy8F,OAAOmjZ,Q,6BC1E1B,IAAIviS,EAAQ/9O,EAAQ,IAUpBF,EAAOC,QAAU,SAAuB6a,EAAMo7P,EAASxgI,GAMrD,OAJAuoG,EAAMp/M,QAAQ62G,GAAK,SAAmBtuG,GACpCtsB,EAAOssB,EAAGtsB,EAAMo7P,MAGXp7P,I,6BChBT,IAAImjO,EAAQ/9O,EAAQ,IAEpBF,EAAOC,QAAU,SAA6Bi2Q,EAASuqQ,GACrDxiS,EAAMp/M,QAAQq3O,GAAS,SAAuB1sQ,EAAO0C,GAC/CA,IAASu0gB,GAAkBv0gB,EAAKqjF,gBAAkBkxb,EAAelxb,gBACnE2mL,EAAQuqQ,GAAkBj3gB,SACnB0sQ,EAAQhqQ,S,6BCNrB,IAAImqa,EAAcn2a,EAAQ,KAS1BF,EAAOC,QAAU,SAAgBm9H,EAASC,EAAQu7D,GAChD,IAAIi9O,EAAiBj9O,EAASp6I,OAAOq3X,eAChCj9O,EAAStI,QAAWulP,IAAkBA,EAAej9O,EAAStI,QAGjEjzD,EAAOg5S,EACL,mCAAqCz9O,EAAStI,OAC9CsI,EAASp6I,OACT,KACAo6I,EAAS/jI,QACT+jI,IAPFx7D,EAAQw7D,K,6BCFZ54L,EAAOC,QAAU,SAAsBg9B,EAAOuhB,EAAQnL,EAAMwhB,EAAS+jI,GA4BnE,OA3BA37J,EAAMuhB,OAASA,EACXnL,IACFpW,EAAMoW,KAAOA,GAGfpW,EAAM43B,QAAUA,EAChB53B,EAAM27J,SAAWA,EACjB37J,EAAMyjf,cAAe,EAErBzjf,EAAMo4C,OAAS,WACb,MAAO,CAEL/hC,QAASxpC,KAAKwpC,QACdpnC,KAAMpC,KAAKoC,KAEXouH,YAAaxwH,KAAKwwH,YAClBzG,OAAQ/pH,KAAK+pH,OAEbo5X,SAAUnjf,KAAKmjf,SACfvgd,WAAY5iC,KAAK4iC,WACjBC,aAAc7iC,KAAK6iC,aACnB/F,MAAO98B,KAAK88B,MAEZ4X,OAAQ10C,KAAK00C,OACbnL,KAAMvpC,KAAKupC,OAGRpW,I,6BCtCT,IAAIghN,EAAQ/9O,EAAQ,IAEpBF,EAAOC,QACLg+O,EAAMlmE,uBAIK,CACL4pB,MAAO,SAAez1L,EAAM1C,EAAO+zd,EAASlmd,EAAM0jI,EAAQ0iV,GACxD,IAAIE,EAAS,GACbA,EAAO/sd,KAAK1E,EAAO,IAAM6lB,mBAAmBvoB,IAExCy0O,EAAMntH,SAASysW,IACjBI,EAAO/sd,KAAK,WAAa,IAAIywB,KAAKk8b,GAASojD,eAGzC1iS,EAAM1mE,SAASlgK,IACjBsmd,EAAO/sd,KAAK,QAAUyG,GAGpB4mO,EAAM1mE,SAASx8B,IACjB4iV,EAAO/sd,KAAK,UAAYmqI,IAGX,IAAX0iV,GACFE,EAAO/sd,KAAK,UAGdxD,SAASuwd,OAASA,EAAOxnd,KAAK,OAGhC45M,KAAM,SAAc7jN,GAClB,IAAIoH,EAAQlG,SAASuwd,OAAOrqd,MAAM,IAAIoxB,OAAO,aAAex4B,EAAO,cACnE,OAAQoH,EAAQk0H,mBAAmBl0H,EAAM,IAAM,MAGjDy2B,OAAQ,SAAgB79B,GACtBpC,KAAK63L,MAAMz1L,EAAM,GAAIm1B,KAAKzB,MAAQ,SAO/B,CACL+hK,MAAO,aACPouB,KAAM,WAAkB,OAAO,MAC/BhmL,OAAQ,e,6BC/ChB,IAAI62e,EAAgB1ghB,EAAQ,KACxB2ghB,EAAc3ghB,EAAQ,KAW1BF,EAAOC,QAAU,SAAuBy2a,EAASoqG,GAC/C,OAAIpqG,IAAYkqG,EAAcE,GACrBD,EAAYnqG,EAASoqG,GAEvBA,I,6BCVT9ghB,EAAOC,QAAU,SAAuByR,GAItC,MAAO,gCAAgC26B,KAAK36B,K,6BCH9C1R,EAAOC,QAAU,SAAqBy2a,EAASqqG,GAC7C,OAAOA,EACHrqG,EAAQnla,QAAQ,OAAQ,IAAM,IAAMwvgB,EAAYxvgB,QAAQ,OAAQ,IAChEmla,I,6BCVN,IAAIz4L,EAAQ/9O,EAAQ,IAIhB8ghB,EAAoB,CACtB,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,cAgB5BhhhB,EAAOC,QAAU,SAAsBi2Q,GACrC,IACI/uQ,EACAqmB,EACA7mB,EAHA4qU,EAAS,GAKb,OAAKr7D,GAELj4B,EAAMp/M,QAAQq3O,EAAQ7/P,MAAM,OAAO,SAAgB4K,GAKjD,GAJAta,EAAIsa,EAAK9M,QAAQ,KACjBhN,EAAM82O,EAAM3sO,KAAK2P,EAAK0K,OAAO,EAAGhlB,IAAIgc,cACpC6K,EAAMywN,EAAM3sO,KAAK2P,EAAK0K,OAAOhlB,EAAI,IAE7BQ,EAAK,CACP,GAAIoqU,EAAOpqU,IAAQ65gB,EAAkB7sgB,QAAQhN,IAAQ,EACnD,OAGAoqU,EAAOpqU,GADG,eAARA,GACaoqU,EAAOpqU,GAAOoqU,EAAOpqU,GAAO,IAAImrB,OAAO,CAAC9E,IAEzC+jT,EAAOpqU,GAAOoqU,EAAOpqU,GAAO,KAAOqmB,EAAMA,MAKtD+jT,GAnBgBA,I,6BC9BzB,IAAItzF,EAAQ/9O,EAAQ,IAEpBF,EAAOC,QACLg+O,EAAMlmE,uBAIH,WACC,IAEIkpW,EAFAC,EAAO,kBAAkB70e,KAAKunD,UAAU6nE,WACxC0lX,EAAiB/zgB,SAASsX,cAAc,KAS5C,SAAS08f,EAAW1vgB,GAClB,IAAIgZ,EAAOhZ,EAWX,OATIwvgB,IAEFC,EAAezkf,aAAa,OAAQhS,GACpCA,EAAOy2f,EAAez2f,MAGxBy2f,EAAezkf,aAAa,OAAQhS,GAG7B,CACLA,KAAMy2f,EAAez2f,KACrBkhB,SAAUu1e,EAAev1e,SAAWu1e,EAAev1e,SAASr6B,QAAQ,KAAM,IAAM,GAChFs6B,KAAMs1e,EAAet1e,KACrBw7F,OAAQ85Y,EAAe95Y,OAAS85Y,EAAe95Y,OAAO91H,QAAQ,MAAO,IAAM,GAC3EsxD,KAAMs+c,EAAet+c,KAAOs+c,EAAet+c,KAAKtxD,QAAQ,KAAM,IAAM,GACpEihX,SAAU2uJ,EAAe3uJ,SACzBxnU,KAAMm2d,EAAen2d,KACrBjf,SAAiD,MAAtCo1e,EAAep1e,SAASnZ,OAAO,GACxCuuf,EAAep1e,SACf,IAAMo1e,EAAep1e,UAY3B,OARAk1e,EAAYG,EAAW51gB,OAAOkgC,SAAShhB,MAQhC,SAAyB22f,GAC9B,IAAI9vM,EAAUtzF,EAAM1mE,SAAS8pW,GAAeD,EAAWC,GAAcA,EACrE,OAAQ9vM,EAAO3lS,WAAaq1e,EAAUr1e,UAClC2lS,EAAO1lS,OAASo1e,EAAUp1e,MAhDjC,GAsDQ,WACL,OAAO,I,6BC9Df,IAAIisY,EAAS53a,EAAQ,KAQrB,SAASy/gB,EAAY2B,GACnB,GAAwB,oBAAbA,EACT,MAAM,IAAI/6gB,UAAU,gCAGtB,IAAIg7gB,EACJz3gB,KAAK62B,QAAU,IAAIC,SAAQ,SAAyBw8F,GAClDmkZ,EAAiBnkZ,KAGnB,IAAIh8F,EAAQt3B,KACZw3gB,GAAS,SAAgBhue,GACnBlS,EAAMo/e,SAKVp/e,EAAMo/e,OAAS,IAAI1oG,EAAOxkY,GAC1Biue,EAAengf,EAAMo/e,YAOzBb,EAAYp4gB,UAAUg5gB,iBAAmB,WACvC,GAAIz2gB,KAAK02gB,OACP,MAAM12gB,KAAK02gB,QAQfb,EAAYvtf,OAAS,WACnB,IAAI42C,EAIJ,MAAO,CACL5nC,MAJU,IAAIu+e,GAAY,SAAkB3zgB,GAC5Cg9D,EAASh9D,KAITg9D,OAAQA,IAIZhpE,EAAOC,QAAU0/gB,G,6BClCjB3/gB,EAAOC,QAAU,SAAgBo1C,GAC/B,OAAO,SAAc0J,GACnB,OAAO1J,EAASnrC,MAAM,KAAM60C,M,6BCfnB,IAAIrzB,EAAExrB,EAAQ,KAAiB2L,EAAE3L,EAAQ,GAAS,SAASiyH,EAAE17G,GAAG,IAAI,IAAIzC,EAAE,yDAAyDyC,EAAEzK,EAAE,EAAEA,EAAE/B,UAAUrD,OAAOoF,IAAIgI,GAAG,WAAW+d,mBAAmB9nB,UAAU+B,IAAI,MAAM,yBAAyByK,EAAE,WAAWzC,EAAE,iHAC1Q,IAAIzH,EAAE,oBAAoBlC,QAAQA,OAAO6nH,IAAIsrG,EAAGjxN,EAAElC,OAAO6nH,IAAI,gBAAgB,MAAMpuG,EAAEvX,EAAElC,OAAO6nH,IAAI,kBAAkB,MAAMqjG,EAAGhpN,EAAElC,OAAO6nH,IAAI,qBAAqB,MAAM2mG,EAAGtsN,EAAElC,OAAO6nH,IAAI,kBAAkB,MAAMl7G,EAAEzK,EAAElC,OAAO6nH,IAAI,kBAAkB,MAAM+iG,EAAG1oN,EAAElC,OAAO6nH,IAAI,iBAAiB,MAAM8hG,EAAGznN,EAAElC,OAAO6nH,IAAI,yBAAyB,MAAMoiG,EAAG/nN,EAAElC,OAAO6nH,IAAI,qBAAqB,MAAMwoE,EAAEnuL,EAAElC,OAAO6nH,IAAI,kBAAkB,MAAMyuG,EAAGp0N,EAAElC,OAAO6nH,IAAI,uBAAuB,MAAMyqG,EAAGpwN,EAAElC,OAAO6nH,IAAI,cAAc,MAAMwtG,EAAGnzN,EAAElC,OAAO6nH,IAAI,cAC7f,MAAMsjG,EAAGjpN,EAAElC,OAAO6nH,IAAI,eAAe,MAAMqqG,EAAGhwN,EAAElC,OAAO6nH,IAAI,qBAAqB,MAAMmkG,EAAG9pN,EAAElC,OAAO6nH,IAAI,eAAe,MACrH,SAASwjC,EAAEj/I,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAEqrB,aAAarrB,EAAEvK,MAAM,KAAK,GAAG,kBAAkBuK,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKqN,EAAE,MAAM,WAAW,KAAK05M,EAAG,MAAM,SAAS,KAAK3E,EAAG,MAAM,WAAW,KAAKtD,EAAG,MAAM,aAAa,KAAK76B,EAAE,MAAM,WAAW,KAAKimC,EAAG,MAAM,eAAe,GAAG,kBAAkBlqN,EAAE,OAAOA,EAAE27G,UAAU,KAAK6iG,EAAG,MAAM,mBAAmB,KAAKj+M,EAAE,MAAM,mBAAmB,KAAKs9M,EAAG,IAAItgN,EAAEyC,EAAEmG,OAAmC,OAA5B5I,EAAEA,EAAE8tB,aAAa9tB,EAAE9H,MAAM,GAAUuK,EAAEqrB,cAAc,KAAK9tB,EAAE,cAAcA,EAAE,IAAI,cACnf,KAAK2oN,EAAG,OAAOjnE,EAAEj/I,EAAEsE,MAAM,KAAKy6M,EAAG,OAAO9/D,EAAEj/I,EAAEmG,QAAQ,KAAK8iN,EAAG,GAAGjpN,EAAE,IAAIA,EAAEo1e,QAAQp1e,EAAEq1e,QAAQ,KAAK,OAAOp2V,EAAEj/I,GAAG,OAAO,KAAK,IAAIooL,EAAEhzL,EAAEw/e,mDAAmDxsT,EAAE/xL,eAAe,4BAA4B+xL,EAAEmsT,uBAAuB,CAAClpe,QAAQ,OAAO+8K,EAAE/xL,eAAe,6BAA6B+xL,EAAEosT,wBAAwB,CAACC,SAAS,OAAO,IAAIv4R,EAAG,GAAG,SAAS33B,EAAEvkL,EAAEzC,GAAG,IAAI,IAAIhI,EAAiB,EAAfyK,EAAEg1e,aAAez/e,GAAGgI,EAAEhI,IAAIyK,EAAEzK,GAAGyK,EAAE+0e,eAAe/0e,EAAEg1e,aAAaz/e,EAAE,EAC7R,IAAI,IAAIvB,EAAE,IAAIo1M,YAAY,IAAIzgB,EAAE,EAAE,GAAGA,EAAEA,IAAI30L,EAAE20L,GAAGA,EAAE,EAAE30L,EAAE,IAAI,EAClO,IAAI40N,EAAG,8VAA8VC,EAAGr4N,OAAOM,UAAUuF,eAAeqyN,EAAG,GAAGC,EAAG,GACjZ,SAASpwH,EAAGv4F,GAAG,QAAG6oN,EAAGxzN,KAAKszN,EAAG3oN,KAAe6oN,EAAGxzN,KAAKqzN,EAAG1oN,KAAe4oN,EAAGhzL,KAAK51B,GAAU2oN,EAAG3oN,IAAG,GAAG0oN,EAAG1oN,IAAG,GAAS,IACwG,SAASopL,EAAEppL,EAAEzC,EAAEhI,EAAEC,EAAElB,EAAEgJ,GAAGjK,KAAK2if,gBAAgB,IAAIz4e,GAAG,IAAIA,GAAG,IAAIA,EAAElK,KAAK6c,cAAc1a,EAAEnC,KAAK4if,mBAAmB3hf,EAAEjB,KAAK6if,gBAAgB3gf,EAAElC,KAAK8if,aAAan2e,EAAE3M,KAAKiR,KAAK/G,EAAElK,KAAK+if,YAAY94e,EAAE,IAAIysL,EAAE,GACxZ,uIAAuInqL,MAAM,KAAKwoB,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAeooB,SAAQ,SAASpoB,GAAG,IAAIzC,EAAEyC,EAAE,GAAG+pL,EAAExsL,GAAG,IAAI6rL,EAAE7rL,EAAE,GAAE,EAAGyC,EAAE,GAAG,MAAK,MAAM,CAAC,kBAAkB,YAAY,aAAa,SAASooB,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MAC9d,CAAC,cAAc,4BAA4B,YAAY,iBAAiBkc,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,wNAAwNJ,MAAM,KAAKwoB,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MACzZ,CAAC,UAAU,WAAW,QAAQ,YAAYkc,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,UAAU,YAAYooB,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,OAAO,OAAO,OAAO,QAAQooB,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAE,MAAK,MAAM,CAAC,UAAU,SAASooB,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MAAM,IAAIg3K,EAAE,gBAAgB,SAAS36J,EAAEvoB,GAAG,OAAOA,EAAE,GAAG84E,cAC7X,0jCAA0jCl5E,MAAM,KAAKwoB,SAAQ,SAASpoB,GAAG,IAAIzC,EAAEyC,EAAElF,QAAQooL,EACzmC36J,GAAGwhK,EAAExsL,GAAG,IAAI6rL,EAAE7rL,EAAE,GAAE,EAAGyC,EAAE,MAAK,MAAM,2EAA2EJ,MAAM,KAAKwoB,SAAQ,SAASpoB,GAAG,IAAIzC,EAAEyC,EAAElF,QAAQooL,EAAE36J,GAAGwhK,EAAExsL,GAAG,IAAI6rL,EAAE7rL,EAAE,GAAE,EAAGyC,EAAE,gCAA+B,MAAM,CAAC,WAAW,WAAW,aAAaooB,SAAQ,SAASpoB,GAAG,IAAIzC,EAAEyC,EAAElF,QAAQooL,EAAE36J,GAAGwhK,EAAExsL,GAAG,IAAI6rL,EAAE7rL,EAAE,GAAE,EAAGyC,EAAE,wCAAuC,MAAM,CAAC,WAAW,eAAeooB,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MAC9b69K,EAAEvV,UAAU,IAAI4U,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAI,CAAC,MAAM,OAAO,SAAS,cAAchhK,SAAQ,SAASpoB,GAAG+pL,EAAE/pL,GAAG,IAAIopL,EAAEppL,EAAE,GAAE,EAAGA,EAAEkM,cAAc,MAAK,MAAM,IAAIsgN,EAAG,UAChM,SAASvpC,EAAEjjL,GAAG,GAAG,mBAAmBA,GAAG,kBAAkBA,EAAE,MAAM,GAAGA,EAAEA,EAAE,GAAGA,EAAE,IAAIzC,EAAEivN,EAAG/mM,KAAKzlB,GAAG,GAAGzC,EAAE,CAAC,IAAS/H,EAALD,EAAE,GAAKjB,EAAE,EAAE,IAAIkB,EAAE+H,EAAEi3B,MAAMh/B,EAAEwK,EAAE7P,OAAOqF,IAAI,CAAC,OAAOwK,EAAE0+B,WAAWlpC,IAAI,KAAK,GAAG+H,EAAE,SAAS,MAAM,KAAK,GAAGA,EAAE,QAAQ,MAAM,KAAK,GAAGA,EAAE,SAAS,MAAM,KAAK,GAAGA,EAAE,OAAO,MAAM,KAAK,GAAGA,EAAE,OAAO,MAAM,QAAQ,SAASjJ,IAAIkB,IAAID,GAAGyK,EAAE0kC,UAAUpwC,EAAEkB,IAAIlB,EAAEkB,EAAE,EAAED,GAAGgI,EAAEyC,EAAE1L,IAAIkB,EAAED,EAAEyK,EAAE0kC,UAAUpwC,EAAEkB,GAAGD,EAAE,OAAOyK,EAC9X,SAAS8mN,EAAG9mN,EAAEzC,GAAG,IAAwC/H,EAApCD,EAAEw0L,EAAE1zL,eAAe2J,GAAG+pL,EAAE/pL,GAAG,KAAsH,OAAxGxK,EAAE,UAAUwK,KAAExK,EAAE,OAAOD,EAAE,IAAIA,EAAE+O,KAAO,EAAEtE,EAAE7P,SAAS,MAAM6P,EAAE,IAAI,MAAMA,EAAE,MAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,KAAYxK,GARzK,SAAYwK,EAAEzC,EAAEhI,EAAEC,GAAG,GAAG,OAAO+H,GAAG,qBAAqBA,GAD4D,SAAYyC,EAAEzC,EAAEhI,EAAEC,GAAG,GAAG,OAAOD,GAAG,IAAIA,EAAE+O,KAAK,OAAM,EAAG,cAAc/G,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAG/H,IAAc,OAAOD,GAASA,EAAEygf,gBAAmD,WAAnCh2e,EAAEA,EAAEkM,cAAcm5B,MAAM,EAAE,KAAsB,UAAUrlC,GAAE,QAAQ,OAAM,GACnTmiN,CAAGniN,EAAEzC,EAAEhI,EAAEC,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOD,EAAE,OAAOA,EAAE+O,MAAM,KAAK,EAAE,OAAO/G,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAO8D,MAAM9D,GAAG,KAAK,EAAE,OAAO8D,MAAM9D,IAAI,EAAEA,EAAE,OAAM,EAQzCspN,CAAG7mN,EAAEzC,EAAEhI,GAAE,GAAU,GAAM,OAAOA,GAAGyK,EAAEzK,EAAE2a,cAA0B,KAAZ1a,EAAED,EAAE+O,OAAe,IAAI9O,IAAG,IAAK+H,EAASyC,EAAE,OAAMzK,EAAE6gf,cAAc74e,EAAE,GAAGA,GAAUyC,EAAE,KAAMijL,EAAE1lL,GAAG,MAAYg7F,EAAGv4F,GAAGA,EAAE,KAAMijL,EAAE1lL,GAAG,IAAK,GACjW,IAAI+pN,EAAG,oBAAoB92N,OAAOmH,GAAGnH,OAAOmH,GADwT,SAAYqI,EAAEzC,GAAG,OAAOyC,IAAIzC,IAAI,IAAIyC,GAAG,EAAEA,IAAI,EAAEzC,IAAIyC,IAAIA,GAAGzC,IAAIA,GAChX+qB,EAAE,KAAKwF,EAAE,KAAKy7J,EAAE,KAAKhB,GAAE,EAAGv6J,GAAE,EAAG0sC,EAAE,KAAKouH,EAAE,EAAE,SAASD,IAAI,GAAG,OAAOvgK,EAAE,MAAMiK,MAAMmpF,EAAE,MAAM,OAAOpzF,EAAE,SAAS45L,IAAK,GAAG,EAAEp5B,EAAE,MAAMv2J,MAAMmpF,EAAE,MAAM,MAAM,CAAC67X,cAAc,KAAK9iL,MAAM,KAAK7/T,KAAK,MAAM,SAASonN,IAAqG,OAAhG,OAAOzyB,EAAE,OAAOz7J,GAAGy6J,GAAE,EAAGz6J,EAAEy7J,EAAE24B,MAAO35B,GAAE,EAAGgB,EAAEz7J,GAAG,OAAOy7J,EAAE30L,MAAM2zL,GAAE,EAAGgB,EAAEA,EAAE30L,KAAKstN,MAAO35B,GAAE,EAAGgB,EAAEA,EAAE30L,MAAa20L,EAAE,SAASo1B,EAAG3+M,EAAEzC,EAAEhI,EAAEC,GAAG,KAAKw4B,GAAGA,GAAE,EAAG86J,GAAG,EAAES,EAAE,KAAKh0L,EAAEyK,EAAEzC,EAAE/H,GAAyB,OAAtBs4B,EAAExF,EAAE,KAAKwgK,EAAE,EAAES,EAAE7uH,EAAE,KAAYnlE,EAAE,SAASynN,EAAGh9M,EAAEzC,GAAG,MAAM,oBAAoBA,EAAEA,EAAEyC,GAAGzC,EAC1e,SAAS8rN,EAAGrpN,EAAEzC,EAAEhI,GAAgB,GAAb+yB,EAAEugK,IAAIU,EAAEyyB,IAAQzzB,EAAE,CAAC,IAAI/yL,EAAE+zL,EAAEkrI,MAAmB,GAAbl3T,EAAE/H,EAAEmsZ,SAAY,OAAOjnV,QAAe,KAAXnlE,EAAEmlE,EAAE/kE,IAAIH,IAAe,CAACklE,EAAEy9a,OAAO3if,GAAGA,EAAE+zL,EAAEguT,cAAc,GAAG/hf,EAAEwK,EAAExK,EAAED,EAAE8iE,QAAQ9iE,EAAEA,EAAEX,WAAW,OAAOW,GAAqB,OAAlBg0L,EAAEguT,cAAc/hf,EAAQ,CAACA,EAAE+H,GAAG,MAAM,CAACgsL,EAAEguT,cAAch6e,GAA+I,OAA5IyC,EAAEA,IAAIg9M,EAAG,oBAAoBz/M,EAAEA,IAAIA,OAAE,IAAShI,EAAEA,EAAEgI,GAAGA,EAAEgsL,EAAEguT,cAAcv3e,EAAsCA,GAApCA,EAAEupL,EAAEkrI,MAAM,CAACj4Q,KAAK,KAAKmlW,SAAS,OAAUA,SAAS93L,GAAG3zN,KAAK,KAAKoyB,EAAEtoB,GAAS,CAACupL,EAAEguT,cAAcv3e,GAC5Y,SAAS6pN,GAAG7pN,EAAEzC,EAAEhI,GAAG,KAAK,GAAGuzL,GAAG,MAAMv2J,MAAMmpF,EAAE,MAAM,GAAG17G,IAAIsoB,EAAE,GAAG0F,GAAE,EAAGhuB,EAAE,CAACq4D,OAAO9iE,EAAEX,KAAK,MAAM,OAAO8lE,IAAIA,EAAE,IAAIi0F,UAAgB,KAAXp5J,EAAEmlE,EAAE/kE,IAAI4H,IAAcm9D,EAAE76D,IAAItC,EAAEyC,OAAO,CAAC,IAAIzC,EAAEhI,EAAE,OAAOgI,EAAE3I,MAAM2I,EAAEA,EAAE3I,KAAK2I,EAAE3I,KAAKoL,GAAG,SAAS8oN,MACzM,IAAIjoG,GAAE,EAAEkoG,GAAG,CAACghS,YAAY,SAAS/pf,GAAG,IAAIzC,EAAEsjH,GAAS,OAAP0jE,EAAEvkL,EAAEzC,GAAUyC,EAAEzC,IAAI6gH,WAAW,SAASp+G,GAAG6oL,IAAI,IAAItrL,EAAEsjH,GAAS,OAAP0jE,EAAEvkL,EAAEzC,GAAUyC,EAAEzC,IAAIuxe,QAAQ,SAAS9ue,EAAEzC,GAAoC,GAAjC+qB,EAAEugK,IAAWtrL,OAAE,IAASA,EAAE,KAAKA,EAAK,QAA9BgsL,EAAEyyB,KAAqC,CAAC,IAAIzmN,EAAEg0L,EAAEguT,cAAc,GAAG,OAAOhif,GAAG,OAAOgI,EAAE,CAACyC,EAAE,CAAC,IAAIxK,EAAED,EAAE,GAAG,GAAG,OAAOC,EAAEA,GAAE,MAAO,CAAC,IAAI,IAAIlB,EAAE,EAAEA,EAAEkB,EAAErF,QAAQmE,EAAEiJ,EAAEpN,OAAOmE,IAAI,IAAIgzN,EAAG/pN,EAAEjJ,GAAGkB,EAAElB,IAAI,CAACkB,GAAE,EAAG,MAAMwK,EAAExK,GAAE,GAAI,GAAGA,EAAE,OAAOD,EAAE,IAAgC,OAA5ByK,EAAEA,IAAIupL,EAAEguT,cAAc,CAACv3e,EAAEzC,GAAUyC,GAAG+ue,WAAW1lR,EAAG/pG,OAAO,SAASt/G,GAAGsoB,EAAEugK,IAAW,IAAItrL,GAAXgsL,EAAEyyB,KAAau7R,cAAc,OAAO,OAAOh6e,GAAGyC,EAAE,CAACqL,QAAQrL,GAAGupL,EAAEguT,cACtfv3e,GAAGzC,GAAGqhH,SAAS,SAAS5+G,GAAG,OAAOqpN,EAAGrM,EAAGh9M,IAAIw1e,gBAAgB,aAAat9L,YAAY,SAASl4S,GAAG,OAAOA,GAAGu1e,oBAAoBzsR,GAAGjqG,UAAUiqG,GAAGwsR,cAAcxsR,GAAGkhS,aAAa,SAAShqf,EAAEzC,GAAG,MAAM,CAACtN,MAAMsN,EAAEyqf,UAAUhof,IAAIiqf,iBAAiB,SAASjqf,GAAO,OAAJ6oL,IAAW7oL,GAAGkqf,cAAc,WAAe,OAAJrhU,IAAU,CAAC,SAAS7oL,GAAGA,MAAK,KAAM0sN,GAAS,+BACvU,SAASzQ,GAAGj8M,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,gCAC5I,IAAI0lN,GAAG,CAAC/jI,MAAK,EAAG39E,MAAK,EAAGo5H,IAAG,EAAGzvD,KAAI,EAAG2kD,OAAM,EAAG+oE,IAAG,EAAGlnL,KAAI,EAAG2hG,OAAM,EAAG01T,QAAO,EAAG33Y,MAAK,EAAG0zI,MAAK,EAAGxkH,OAAM,EAAGpnC,QAAO,EAAG8vZ,OAAM,EAAGC,KAAI,GAAIrpN,GAAGptM,EAAE,CAACyle,UAAS,GAAIh1R,IAAIz8B,GAAE,CAAC4vT,yBAAwB,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAG7qY,aAAY,EAAG3C,SAAQ,EAAG4gX,MAAK,EAAG6sB,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAC7fC,iBAAgB,EAAG36e,YAAW,EAAG46e,WAAU,EAAG/9S,YAAW,EAAG//I,SAAQ,EAAGsnF,OAAM,EAAGy2W,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAG7vc,QAAO,EAAGk2B,MAAK,EAAGgzI,aAAY,EAAG4mS,cAAa,EAAGC,aAAY,EAAGn6J,iBAAgB,EAAGo6J,kBAAiB,EAAGC,kBAAiB,EAAGjnS,eAAc,EAAGjzF,aAAY,GAAIslG,GAAG,CAAC,SAAS,KAAK,MAAM,KAAKr1N,OAAO23B,KAAK8gK,IAAG7gK,SAAQ,SAASpoB,GAAG6lN,GAAGz9L,SAAQ,SAAS7qB,GAAGA,EAAEA,EAAEyC,EAAEmc,OAAO,GAAG28D,cAAc94E,EAAE0kC,UAAU,GAAGukJ,GAAE1rL,GAAG0rL,GAAEjpL,SACvZ,IAAIogN,GAAG,WAAW2H,GAAG,OAAO99B,GAAE70L,EAAE08I,SAASD,QAAQs1E,GAAG/+B,EAAEmsT,uBAAuBh4R,GAAG,CAACwuT,SAAQ,EAAGtre,KAAI,EAAGsrY,UAAS,GAAIp+M,GAAG,8BAA8BpL,GAAG,GAAGC,GAAG,GAAwH,IAAI0B,GAAG1yN,OAAOM,UAAUuF,eAAeumN,GAAG,CAAC/2M,SAAS,KAAK2pH,wBAAwB,KAAKw7Y,+BAA+B,KAAKC,yBAAyB,MAAM,SAAS5pT,GAAGrhN,EAAEzC,GAAG,QAAG,IAASyC,EAAE,MAAMuyB,MAAMmpF,EAAE,IAAIujC,EAAE1hJ,IAAI,cACle,SAAS6oN,GAAGpmN,EAAEzC,EAAEhI,GAAG,SAASC,EAAEA,EAAE8H,GAAG,IAAIlJ,EAAEkJ,EAAExM,WAAWwM,EAAExM,UAAUg5a,iBAAiBx1a,EArBnF,SAAY0L,EAAEzC,EAAEhI,EAAEC,GAAG,GAAGA,IAAoB,kBAAhBA,EAAEwK,EAAEi8K,cAAiC,OAAOzmL,GAAG,OAAO+uL,EAAE/uL,EAAED,GAAGC,EAAED,GAAG,GAAGyK,EAAEA,EAAEqpa,aAAa,CAAM,IAAI,IAAI/0a,KAAbiB,EAAE,GAAgByK,EAAEzK,EAAEjB,GAAGiJ,EAAEjJ,GAAGiJ,EAAEhI,OAAOgI,EAAE2+M,EAAG,OAAO3+M,EAqBjFqyB,CAAGtyB,EAAEC,EAAEhI,EAAEnB,GAAG8L,EAAE,GAAGmnB,GAAE,EAAG/xB,EAAE,CAACs+e,UAAU,WAAW,OAAM,GAAIC,mBAAmB,WAAW,GAAG,OAAO3ze,EAAE,OAAO,MAAM4ze,oBAAoB,SAAS9ze,EAAEzK,GAAG8xB,GAAE,EAAGnnB,EAAE,CAAC3K,IAAIw+e,gBAAgB,SAAS/ze,EAAEzK,GAAG,GAAG,OAAO2K,EAAE,OAAO,KAAKA,EAAE/F,KAAK5E,KAAK,GAAGnB,GAAG,GAAGA,EAAE,IAAIkJ,EAAE9H,EAAEvF,MAAMqE,EAAEgB,GAAG,oBAAoBgI,EAAEy8K,yBAAyB,CAAC,IAAI1xJ,EAAE/qB,EAAEy8K,yBAAyB1kL,KAAK,KAAKG,EAAEvF,MAAMmE,EAAEgkE,OAAO,MAAM/vC,IAAIj0B,EAAEgkE,MAAMnjD,EAAE,GAAG7gB,EAAEgkE,MAAM/vC,UAAU,GAAGC,EAAE,GAAGl0B,EAAEkJ,EAAE9H,EAAEvF,MACrfqE,EAAEgB,GAAuB,OAApBlB,EAAEuqN,EAAGrhN,EAAE9H,EAAEvF,MAAMmE,EAAEE,KAAY,MAAMF,EAAE+R,OAAoB,YAARk7M,GAAJrhN,EAAE5L,EAAOkJ,GAAyF,GAA/ElJ,EAAEnE,MAAMuF,EAAEvF,MAAMmE,EAAEu0D,QAAQr0D,EAAEF,EAAE4/e,QAAQ1+e,OAAY,KAAVA,EAAElB,EAAEgkE,SAAmBhkE,EAAEgkE,MAAM9iE,EAAE,MAAS,oBAAoBlB,EAAE81a,2BAA2B,oBAAoB91a,EAAEo1a,mBAAmB,GAAG,oBAAoBp1a,EAAEo1a,oBAAoB,oBAAoBlsa,EAAEy8K,0BAA0B3lL,EAAEo1a,qBAAqB,oBAAoBp1a,EAAE81a,2BAA2B,oBAAoB5sa,EAAEy8K,0BAA0B3lL,EAAE81a,4BAA4Bhqa,EAAE/P,OAAO,CAACmF,EAAE4K,EAAE,IAAItK,EACtfyxB,EAAc,GAAZnnB,EAAE,KAAKmnB,GAAE,EAAMzxB,GAAG,IAAIN,EAAEnF,OAAOiE,EAAEgkE,MAAM9iE,EAAE,OAAO,CAAC+yB,EAAEzyB,EAAEN,EAAE,GAAGlB,EAAEgkE,MAAM,IAAIj4D,GAAE,EAAG,IAAIvK,EAAEA,EAAE,EAAE,EAAEA,EAAEN,EAAEnF,OAAOyF,IAAI,CAAC,IAAIU,EAAEhB,EAAEM,GAAmD,OAAhDU,EAAE,oBAAoBA,EAAEA,EAAEjB,KAAKjB,EAAEi0B,EAAE7yB,EAAEvF,MAAMqE,GAAGgC,KAAY6J,GAAGA,GAAE,EAAGkoB,EAAEpT,EAAE,GAAGoT,EAAE/xB,IAAI2e,EAAEoT,EAAE/xB,IAAIlC,EAAEgkE,MAAM/vC,QAAQnoB,EAAE,KAA0B,GAARmhN,GAAbrhN,EAAE5L,EAAE+R,SAAc7I,GAAM,oBAAoBlJ,EAAEg1a,iBAAwC,kBAAtB5za,EAAE8H,EAAEgsa,mBAAuC,CAAC,IAAI1tT,EAAExnH,EAAEg1a,kBAAkB,IAAI,IAAI3gP,KAAK7sE,EAAE,KAAK6sE,KAAKjzL,GAAG,MAAM+8B,MAAMmpF,EAAE,IAAIujC,EAAE3hJ,IAAI,UAAUmrL,IAAK7sE,IAAIr+G,EAAE0X,EAAE,GAAG1X,EAAEq+G,IAAI,KAAKxmH,EAAEy/H,eAAe70H,IAAI,CAAC,IAAI1L,EAAE0L,EAAE1C,EAAEhJ,EAAEgQ,KAAK,GAAG,oBACpehH,EAAE,MAAM9H,EAAElB,EAAEgJ,GAAG,MAAM,CAACuJ,MAAM7G,EAAE2oD,QAAQprD,GAC7C,IAAIsvN,GAAG,WAAW,SAAS7sN,EAAEA,EAAEzC,GAAGnI,EAAEy/H,eAAe70H,GAAGA,EAAEsE,OAAO+I,EAAErN,EAAE,CAACA,IAAIA,EAAEA,EAAE/P,MAAM4V,SAAS7F,EAAE5K,EAAEy/H,eAAe70H,GAAG,CAACA,GAAGiqL,GAAEjqL,IAAIA,EAAEiqL,GAAEjqL,GAAGA,EAAE,CAACsE,KAAK,KAAK4mgB,aAAax+S,GAAQ7mN,SAAS7F,EAAEu1d,WAAW,EAAE5sa,QAAQuzJ,EAAGl5F,OAAO,IAAI,IAAIztH,EAAEvB,EAAE,GAAG,GAAG,IAAIuB,EAAE,CAAC,IAAI+H,EAAEtJ,EAAiBwB,EAAE,GAAjBD,EAAE+H,EAAEnN,QAAiB,KAAK,OAAOqF,GAAG,MAAM+8B,MAAMmpF,EAAE,MAAM,IAAIr0F,EAAE,IAAI+hL,YAAY5zM,GAAyB,IAAtB6xB,EAAExnB,IAAIvC,IAAGtJ,EAAEqzB,GAAI,GAAG9xB,EAAE,EAAM+H,EAAE/H,EAAE+H,EAAE9H,EAAE,EAAE8H,IAAItJ,EAAEsJ,GAAGA,EAAE,EAAEtJ,EAAEwB,EAAE,GAAG,OAAOxB,EAAE,GAAGA,EAAEuB,GAAGlC,KAAK83gB,SAAS51gB,EAAElC,KAAK88B,MAAM,CAACnwB,GAAG3M,KAAK+3gB,WAAU,EAAG/3gB,KAAKg4gB,mBAAmB,KAAKh4gB,KAAKi4gB,qBAAoB,EAAGj4gB,KAAKk4gB,iBACxfhugB,EAAElK,KAAKm4gB,cAAc,EAAEn4gB,KAAKo4gB,cAAc,EAAEp4gB,KAAKq4gB,aAAa,GAAGr4gB,KAAKs4gB,kBAAkB,GAAG,IAAIpugB,EAAEyC,EAAElP,UAYsH,OAZ5GyM,EAAE6xC,QAAQ,WAAW,IAAI/7C,KAAK+3gB,UAAU,CAAC/3gB,KAAK+3gB,WAAU,EAAG/3gB,KAAKu4gB,iBAAiB,IAAI5rgB,EAAE3M,KAAK83gB,SAASn3gB,EAAEgM,GAAGhM,EAAE,GAAGA,EAAE,GAAGgM,IAAIzC,EAAEsugB,aAAa,SAAS7rgB,GAAG,IAAIzK,IAAIlC,KAAKo4gB,aAAalugB,EAAEyC,EAAEsE,KAAKm2U,SAASn9U,EAAEjK,KAAK83gB,SAAS5mV,EAAEhnL,EAAED,GAAG,IAAI4C,EAAE3C,EAAED,GAAGjK,KAAKq4gB,aAAan2gB,GAAGgI,EAAElK,KAAKs4gB,kBAAkBp2gB,GAAG2K,EAAE3C,EAAED,GAAG0C,EAAE/P,MAAM8C,OAAOwK,EAAEuugB,YAAY,WAAW,IAAI9rgB,EAAE3M,KAAKo4gB,aAAalugB,EAAElK,KAAKq4gB,aAAa1rgB,GAAG1L,EAAEjB,KAAKs4gB,kBAAkB3rgB,GACtf3M,KAAKq4gB,aAAa1rgB,GAAG,KAAK3M,KAAKs4gB,kBAAkB3rgB,GAAG,KAAK3M,KAAKo4gB,eAAelugB,EAAElK,KAAK83gB,UAAU72gB,GAAGiJ,EAAEqugB,eAAe,WAAW,IAAI,IAAI5rgB,EAAE3M,KAAKo4gB,aAAa,GAAGzrgB,EAAEA,IAAI3M,KAAKq4gB,aAAa1rgB,GAAG3M,KAAK83gB,UAAU93gB,KAAKs4gB,kBAAkB3rgB,IAAIzC,EAAE+7M,KAAK,SAASt5M,GAAG,GAAG3M,KAAK+3gB,UAAU,OAAO,KAAK,IAAI7tgB,EAAEsjH,GAAEA,GAAExtH,KAAK83gB,SAAS,IAAI51gB,EAAE4xN,GAAG97M,QAAQ87M,GAAG97M,QAAQ09M,GAAG,IAAI,IAAI,IAAIzrN,EAAE,CAAC,IAAI4C,GAAE,EAAG5C,EAAE,GAAGnN,OAAO6P,GAAG,CAAC,GAAG,IAAI3M,KAAK88B,MAAMhgC,OAAO,CAACkD,KAAK+3gB,WAAU,EAAG,IAAI/jf,EAAEh0B,KAAK83gB,SAASn3gB,EAAEqzB,GAAGrzB,EAAE,GAAGA,EAAE,GAAGqzB,EAAE,MAAM,IAAIjzB,EAAEf,KAAK88B,MAAM98B,KAAK88B,MAAMhgC,OAAO,GAAG,GAAG+P,GAAG9L,EAAEmhe,YACtfnhe,EAAEyR,SAAS1V,OAAO,CAAC,IAAIkzL,EAAEjvL,EAAE4uH,OAA8D,GAAvD,KAAKqgE,IAAIhwL,KAAKi4gB,qBAAoB,GAAIj4gB,KAAK88B,MAAM91B,MAAS,WAAWjG,EAAEkQ,KAAKjR,KAAKg4gB,mBAAmB,UAAU,GAAG,MAAMj3gB,EAAEkQ,MAAM,MAAMlQ,EAAEkQ,KAAKA,MAAMlQ,EAAEkQ,KAAKA,KAAKq3G,WAAWp7G,EAAElN,KAAKy4gB,YAAY13gB,EAAEkQ,WAAW,GAAGlQ,EAAEkQ,OAAO2/K,EAAE,CAAC5wL,KAAKm4gB,gBAAgB,IAAIziV,EAAEzrL,EAAEjD,MAAM,GAAG6F,EAAE,CAACA,GAAE,EAAG,IAAIhM,EAAEE,EAAE23gB,cAAc,IAAI73gB,EAAE,MAAMq+B,MAAMmpF,EAAE,MAAMroH,KAAK88B,MAAMh2B,KAAKjG,GAAGoJ,EAAEjK,KAAKm4gB,gBAAgB,kBAAkB,SAAclugB,EAAEjK,KAAKm4gB,gBAAgBziV,EAAEzrL,EAAEjK,KAAKm4gB,gBAAgBnoV,MAAM,CAAC,IAAI/tL,EAAElB,EAAEyR,SAASzR,EAAEmhe,cAC5eltc,EAAE,GAAG,IAAIA,GAAGh1B,KAAK8S,OAAO7Q,EAAElB,EAAEu0D,QAAQv0D,EAAE82gB,cAAc,MAAMt1gB,GAAG,GAAG,MAAMA,GAAG,oBAAoBA,EAAEoxH,KAAK,MAAMz0F,MAAMmpF,EAAE,MAAM,MAAM9lH,EAAY0H,EAAEnN,QAAQkD,KAAKm4gB,eAAelugB,EAAEnD,KAAK,IAAImD,EAAEjK,KAAKm4gB,gBAAgBnjf,GAAG,OAAO/qB,EAAE,GAFmH,QAExG6pN,GAAG97M,QAAQ9V,EAAEsrH,GAAEtjH,IAAIA,EAAE4I,OAAO,SAASnG,EAAEzC,EAAEjJ,GAAG,GAAG,kBAAkB0L,GAAG,kBAAkBA,EAAU,MAAG,MAAV1L,EAAE,GAAG0L,GAAkB,GAAM3M,KAAKk4gB,iBAAwBtoV,EAAE3uL,GAAMjB,KAAKi4gB,oBAA0B,iBAAiBroV,EAAE3uL,IAAGjB,KAAKi4gB,qBAAoB,EAAUroV,EAAE3uL,IAC1c,GADqe0L,GAAxBzC,EAAE6oN,GAAGpmN,EAAEzC,EAAElK,KAAK83gB,WAActkgB,MACrftJ,EAAEA,EAAEorD,QAAW,OAAO3oD,IAAG,IAAKA,EAAE,MAAM,GAAG,IAAI5K,EAAEy/H,eAAe70H,GAAG,CAAC,GAAG,MAAMA,GAAG,MAAMA,EAAE27G,SAAS,CAAc,IAAbrnH,EAAE0L,EAAE27G,YAAgBorG,EAAG,MAAMx0L,MAAMmpF,EAAE,MAAM,MAAMnpF,MAAMmpF,EAAE,IAAIpnH,EAAEmL,aAA6G,OAA/FO,EAAEiqL,GAAEjqL,GAAG3M,KAAK88B,MAAMh2B,KAAK,CAACmK,KAAK,KAAK4mgB,aAAa52gB,EAAEuR,SAAS7F,EAAEu1d,WAAW,EAAE5sa,QAAQprD,EAAEylH,OAAO,KAAW,GAAG,IAAIztH,EAAEyK,EAAEsE,KAAK,GAAG,kBAAkB/O,EAAE,OAAOlC,KAAK24gB,UAAUhsgB,EAAEzC,EAAEjJ,GAAG,OAAOiB,GAAG,KAAKupN,EAAG,KAAKvB,EAAG,KAAK6E,EAAG,KAAK8H,EAAG,KAAK78M,EAAE,OAAOrN,EAAEiqL,GAAEjqL,EAAE/P,MAAM4V,UAAUxS,KAAK88B,MAAMh2B,KAAK,CAACmK,KAAK,KAAK4mgB,aAAa52gB,EAAEuR,SAAS7F,EAAEu1d,WAAW,EAAE5sa,QAAQprD,EAAEylH,OAAO,KACvf,GAAG,KAAKihE,EAAE,MAAM1xJ,MAAMmpF,EAAE,MAAO,GAAG,kBAAkBnmH,GAAG,OAAOA,EAAE,OAAOA,EAAEomH,UAAU,KAAKkiG,EAAGv1L,EAAE,GAAG,IAAI9yB,EAAED,EAAE4Q,OAAOnG,EAAE/P,MAAM+P,EAAEyhE,KAAmI,OAA9HjsE,EAAEmpN,EAAGppN,EAAE4Q,OAAOnG,EAAE/P,MAAMuF,EAAEwK,EAAEyhE,KAAKjsE,EAAEy0L,GAAEz0L,GAAGnC,KAAK88B,MAAMh2B,KAAK,CAACmK,KAAK,KAAK4mgB,aAAa52gB,EAAEuR,SAASrQ,EAAE+/d,WAAW,EAAE5sa,QAAQprD,EAAEylH,OAAO,KAAW,GAAG,KAAKkjG,EAAG,OAAOlmN,EAAE,CAAC5K,EAAE6Y,cAAc1Y,EAAE+O,KAAK2Q,EAAE,CAACwsD,IAAIzhE,EAAEyhE,KAAKzhE,EAAE/P,SAASoD,KAAK88B,MAAMh2B,KAAK,CAACmK,KAAK,KAAK4mgB,aAAa52gB,EAAEuR,SAAS7F,EAAEu1d,WAAW,EAAE5sa,QAAQprD,EAAEylH,OAAO,KAAK,GAAG,KAAKziH,EAAE,OAA6BjM,EAAE,CAACgQ,KAAKtE,EAAEkrgB,aAAa52gB,EAAEuR,SAA/CtQ,EAAE00L,GAAEjqL,EAAE/P,MAAM4V,UAA8C0vd,WAAW,EACrf5sa,QAAQprD,EAAEylH,OAAO,IAAI3vH,KAAKw4gB,aAAa7rgB,GAAG3M,KAAK88B,MAAMh2B,KAAK7F,GAAG,GAAG,KAAKkqN,EAAGjpN,EAAEyK,EAAEsE,KAAK9O,EAAEwK,EAAE/P,MAAM,IAAIo3B,EAAEh0B,KAAK83gB,SAA2H,OAAlH5mV,EAAEhvL,EAAE8xB,GAAG9xB,EAAE00L,GAAEz0L,EAAEqQ,SAAStQ,EAAE8xB,KAAKh0B,KAAK88B,MAAMh2B,KAAK,CAACmK,KAAKtE,EAAEkrgB,aAAa52gB,EAAEuR,SAAStQ,EAAEgge,WAAW,EAAE5sa,QAAQprD,EAAEylH,OAAO,KAAW,GAAG,KAAK8iG,EAAG,MAAMvzL,MAAMmpF,EAAE,MAAM,KAAKutG,EAAG,OAnCnJ,SAAYjpN,GAAG,IAAI,IAAIA,EAAEo1e,QAAQ,CAACp1e,EAAEo1e,QAAQ,EAAE,IAAI73e,EAAEyC,EAAEm1e,MAAM53e,EAAEA,IAAIyC,EAAEq1e,QAAQ93e,EAAEA,EAAEypH,MAAK,SAASzxH,GAAG,IAAIyK,EAAEo1e,UAAU7/e,EAAEA,EAAEsxB,QAAQ7mB,EAAEo1e,QAAQ,EAAEp1e,EAAEq1e,QAAQ9/e,MAAI,SAASA,GAAG,IAAIyK,EAAEo1e,UAAUp1e,EAAEo1e,QAAQ,EAAEp1e,EAAEq1e,QAAQ9/e,OAmCtCg3N,CAATh3N,EAAEyK,EAAEsE,MAAW/O,EAAE6/e,SAAS,KAAK,EAAE,OAAOp1e,EAAE,CAAC5K,EAAE6Y,cAAc1Y,EAAE8/e,QAAQpge,EAAE,CAACwsD,IAAIzhE,EAAEyhE,KAAKzhE,EAAE/P,SAASoD,KAAK88B,MAAMh2B,KAAK,CAACmK,KAAK,KAAK4mgB,aAAa52gB,EAAEuR,SAAS7F,EAAEu1d,WAAW,EAAE5sa,QAAQprD,EAAEylH,OAAO,KAAK,GAAG,KAAK,EAAE,MAAMztH,EAAE8/e,QAAQ,QAAQ,MAAM9id,MAAMmpF,EAAE,MAC1f,KAAKkkG,EAAG,MAAMrtL,MAAMmpF,EAAE,MAAO,MAAMnpF,MAAMmpF,EAAE,IAAI,MAAMnmH,EAAEA,SAASA,EAAE,MAAOgI,EAAEyugB,UAAU,SAAShsgB,EAAEzC,EAAEjJ,GAAG,IAAIiB,EAAEyK,EAAEsE,KAAK4H,cAAiC,GAAnB5X,IAAIo4N,IAASzQ,GAAG1mN,IAAOgsN,GAAGlrN,eAAed,GAAG,CAAC,IAAIo3N,GAAG/2L,KAAKrgC,GAAG,MAAMg9B,MAAMmpF,EAAE,GAAGnmH,IAAIgsN,GAAGhsN,IAAG,EAAG,IAAIC,EAAEwK,EAAE/P,MAAM,GAAG,UAAUsF,EAAEC,EAAEyf,EAAE,CAAC3Q,UAAK,GAAQ9O,EAAE,CAACqoa,oBAAe,EAAOjjT,kBAAa,EAAO7nH,MAAM,MAAMyC,EAAEzC,MAAMyC,EAAEzC,MAAMyC,EAAEolH,aAAa4E,QAAQ,MAAMhqH,EAAEgqH,QAAQhqH,EAAEgqH,QAAQhqH,EAAEqoa,sBAAsB,GAAG,aAAatoa,EAAE,CAAC,IAAI8xB,EAAE7xB,EAAEzC,MAAM,GAAG,MAAMs0B,EAAE,CAACA,EAAE7xB,EAAEolH,aAAa,IAAIxmH,EAAEoB,EAAEqQ,SAAS,GAAG,MAAMzR,EAAE,CAAC,GAAG,MAC1fizB,EAAE,MAAMkL,MAAMmpF,EAAE,KAAK,GAAG5nH,MAAMC,QAAQK,GAAG,CAAC,KAAK,GAAGA,EAAEjE,QAAQ,MAAMoiC,MAAMmpF,EAAE,KAAKtnH,EAAEA,EAAE,GAAGizB,EAAE,GAAGjzB,EAAE,MAAMizB,IAAIA,EAAE,IAAI7xB,EAAEyf,EAAE,GAAGzf,EAAE,CAACzC,WAAM,EAAO8S,SAAS,GAAGwhB,SAAS,GAAG,WAAW9xB,EAAElC,KAAKg4gB,mBAAmB,MAAM71gB,EAAEzC,MAAMyC,EAAEzC,MAAMyC,EAAEolH,aAAaplH,EAAEyf,EAAE,GAAGzf,EAAE,CAACzC,WAAM,SAAc,GAAG,WAAWwC,EAAE,CAACnB,EAAEf,KAAKg4gB,mBAAmB,IAAIhoV,EAdtJ,SAAYrjL,GAAG,QAAG,IAASA,GAAG,OAAOA,EAAE,OAAOA,EAAE,IAAIzC,EAAE,GAAsD,OAAnDnI,EAAE08I,SAAS1pH,QAAQpoB,GAAE,SAASA,GAAG,MAAMA,IAAIzC,GAAGyC,MAAYzC,EAcqCiqN,CAAGhyN,EAAEqQ,UAAU,GAAG,MAAMzR,EAAE,CAAC,IAAI20L,EAAE,MAAMvzL,EAAEzC,MAAMyC,EAAEzC,MAAM,GAAGswL,EAAO,GAALh8J,GAAE,EAAMvzB,MAAMC,QAAQK,IAAG,IAAI,IAAIF,EAAE,EAAEA,EAAEE,EAAEjE,OAAO+D,IAAK,GAAG,GAAGE,EAAEF,KAAK60L,EAAE,CAAC1hK,GAAE,EAAG,YAAYA,EAAE,GAAGjzB,IAAI20L,EAAEvzL,EAAEyf,EAAE,CAACymE,cAAS,EAAO71E,cAAS,GAChfrQ,EAAE,CAACkmF,SAASr0D,EAAExhB,SAASw9K,KAAK,GAAGh8J,EAAE7xB,EAAE,CAAC,GAAG6sN,GAAG9sN,KAAK,MAAM8xB,EAAExhB,UAAU,MAAMwhB,EAAEmoG,yBAAyB,MAAMj9F,MAAMmpF,EAAE,IAAInmH,EAAE,KAAK,GAAG,MAAM8xB,EAAEmoG,wBAAwB,CAAC,GAAG,MAAMnoG,EAAExhB,SAAS,MAAM0sB,MAAMmpF,EAAE,KAAK,GAAK,kBAAkBr0F,EAAEmoG,2BAAyB,WAAWnoG,EAAEmoG,yBAAyB,MAAMj9F,MAAMmpF,EAAE,KAAM,GAAG,MAAMr0F,EAAEthB,OAAO,kBAAkBshB,EAAEthB,MAAM,MAAMwsB,MAAMmpF,EAAE,GAAG,KAAuE,IAAIhwB,KAArErkE,EAAE7xB,EAAEpB,EAAEf,KAAKk4gB,iBAAiBloV,EAAE,IAAIhwL,KAAK88B,MAAMhgC,OAAO44L,EAAE,IAAI/oL,EAAEsE,KAAc+iB,EAAE,GAAG67L,GAAG7tN,KAAKgyB,EAAEqkE,GAAG,CAAC,IAAIp2F,EAAE+xB,EAAEqkE,GAAG,GAAG,MAAMp2F,EAAE,CAAC,GAAG,UAC5eo2F,EAAE,CAACx3F,OAAE,EAAO,IAAIm0B,EAAE,GAAGzyB,EAAE,GAAG,IAAI1B,KAAKoB,EAAE,GAAGA,EAAEe,eAAenC,GAAG,CAAC,IAAIiM,EAAE,IAAIjM,EAAEwJ,QAAQ,MAAMpH,EAAEhB,EAAEpB,GAAG,GAAG,MAAMoC,EAAE,CAAC,GAAG6J,EAAE,IAAIy7G,EAAE1nH,OAAO,GAAG0nH,EAAE1nH,EAAEstN,GAAGnrN,eAAeulH,GAAGA,EAAE4lG,GAAG5lG,OAAO,CAAC,IAAI6sE,EAAE7sE,EAAE9gH,QAAQslN,GAAG,OAAOl0M,cAAcpR,QAAQitN,GAAG,QAAQnsG,EAAE4lG,GAAG5lG,GAAG6sE,EAAEpgK,GAAGzyB,EAAEgmH,EAAE,IAAIhmH,EAAE1B,EAA2Hm0B,GAAzHloB,EAAE,MAAM7J,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAG6J,GAAG,kBAAkB7J,GAAG,IAAIA,GAAG2yL,GAAE5yL,eAAeT,IAAIqzL,GAAErzL,IAAI,GAAGU,GAAGuE,OAAOvE,EAAE,KAAUV,EAAE,KAAKN,EAAE+yB,GAAG,KAAKn0B,EAAE,KAAKqJ,EAAE,GAAG4C,EAAE5K,EAAEe,EAAE+wB,GAAG,IAAIlnB,EAAEzC,QAAQ,KAAKyC,EAAE,kBAAkB7J,EAAEqB,QAAQ,OAAOwI,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgBA,GACjoB,EAAG,MAAM5C,EAAE,QAAQ4C,GAAE,EAAGA,EAAEy8M,GAAGvmN,eAAeq1F,KAASx3F,EAAEqkG,EAANrkG,EAAEw3F,IAAW,MAAMp2F,EAAEpB,EAAE,KAAM+uL,EAAE3tL,GAAG,IAAK,IAAIpB,EAAE4yN,EAAGp7H,EAAEp2F,GAAGpB,IAAI60L,GAAG,IAAI70L,IAAIE,GAAGivL,IAAI0F,GAAG,sBAAsB,IAAIr9F,EAAEq9F,EAAE1hK,EAAE,GAAGq+L,GAAGrvN,eAAed,GAAGm2F,GAAG,MAAMA,GAAG,IAAIrkE,EAAE,KAAKrnB,EAAEsE,KAAK,KAAKtE,EAAE,CAA6B,GAAG,OAA/B5L,EAAEoB,EAAEg6H,0BAAoC,GAAG,MAAMp7H,EAAEq7H,OAAO,CAACr7H,EAAEA,EAAEq7H,OAAO,MAAMzvH,QAAQ,GAAgB,kBAAb5L,EAAEoB,EAAEqQ,WAA8B,kBAAkBzR,EAAE,CAACA,EAAE6uL,EAAE7uL,GAAG,MAAM4L,EAAE5L,EAAE,KAC7K,OADkL,MAAMA,GAAGoB,EAAE,GAAG+mN,GAAGlmN,eAAed,IAAI,OAAOnB,EAAE+nB,OAAO,KAAKuvE,GAAG,MAAMA,GAAGt3F,GAAGoB,EAAEy0L,GAAEz0L,EAAEqQ,UAAU7F,EAAEA,EAAEsE,KAAKhQ,EAAE,MAAMA,GAAG,iCAC7eA,EAAE2nN,GAAGj8M,GAAG,+BAA+B1L,GAAG,kBAAkB0L,EAAE,+BAA+B1L,EAAEjB,KAAK88B,MAAMh2B,KAAK,CAAC+wgB,aAAa52gB,EAAEgQ,KAAK/O,EAAEsQ,SAASrQ,EAAE+/d,WAAW,EAAE5sa,QAAQprD,EAAEylH,OAAO37F,IAAIh0B,KAAKi4gB,qBAAoB,EAAU5/a,GAAU1rF,EAbzN,GAa8NshN,GAAG,CAAC2qT,eAAe,SAASjsgB,GAAGA,EAAE,IAAI6sN,GAAG7sN,GAAE,GAAI,IAAI,OAAOA,EAAEs5M,KAAK3sH,KAAlB,QAAoC3sF,EAAEovC,YAAY88d,qBAAqB,SAASlsgB,GAAGA,EAAE,IAAI6sN,GAAG7sN,GAAE,GAAI,IAAI,OAAOA,EAAEs5M,KAAK3sH,KAAlB,QAAoC3sF,EAAEovC,YAAY+8d,mBAAmB,WAAW,MAAM55e,MAAMmpF,EAAE,OAAQ0wZ,yBAAyB,WAAW,MAAM75e,MAAMmpF,EAAE,OAC3gBz5E,QAAQ,WAAW14C,EAAOC,QAAQ83N,GAAGz6L,SAASy6L,I,cCjDhD/3N,EAAOC,QAJP,SAAyB8+C,GACvB,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,GAGC/+C,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,cC0BvGD,EAAOC,QA9BP,SAA+B8+C,EAAKp4C,GAClC,IAAI0lD,EAAY,MAAPtN,EAAc,KAAyB,qBAAX10C,QAA0B00C,EAAI10C,OAAOC,WAAay0C,EAAI,cAE3F,GAAU,MAANsN,EAAJ,CACA,IAII2qF,EAAIlsI,EAJJ+rI,EAAO,GACPC,GAAK,EACLC,GAAK,EAIT,IACE,IAAK1qF,EAAKA,EAAGvgD,KAAKizC,KAAQ+3F,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAC9CisI,EAAKjmI,KAAKomI,EAAGxtI,QAET7C,GAAKkwI,EAAKjwI,SAAWD,GAH4BmwI,GAAK,IAK5D,MAAO7rI,GACP8rI,GAAK,EACLjsI,EAAKG,EACL,QACA,IACO6rI,GAAsB,MAAhBzqF,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAI0qF,EAAI,MAAMjsI,GAIlB,OAAO+rI,IAG+B72I,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,gBC9B7G,IAAIoxJ,EAAmB,EAAQ,KAW/BrxJ,EAAOC,QATP,SAAqCmK,EAAGqqI,GACtC,GAAKrqI,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAOinJ,EAAiBjnJ,EAAGqqI,GACtD,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAEpD,MADU,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAC7C,QAANvB,GAAqB,QAANA,EAAoBJ,MAAMsY,KAAKzY,GACxC,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAW0mJ,EAAiBjnJ,EAAGqqI,QAAxG,IAG4Cz0I,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,cCDnHD,EAAOC,QAVP,SAA2B8+C,EAAKjQ,IACnB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAE/C,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAC9Cq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAGhB,OAAOq4C,GAG2Bh/C,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,cCNzGD,EAAOC,QAJP,WACE,MAAM,IAAIsG,UAAU,8IAGavG,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,cCWxGD,EAAOC,QAfP,SAAuCmyB,EAAQmkG,GAC7C,GAAc,MAAVnkG,EAAgB,MAAO,GAC3B,IAEIjrB,EAAKR,EAFLF,EAAS,GACT+vH,EAAavvH,OAAO23B,KAAKxM,GAG7B,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IACjCQ,EAAMqvH,EAAW7vH,GACb4vH,EAASpiH,QAAQhN,IAAQ,IAC7BV,EAAOU,GAAOirB,EAAOjrB,IAGvB,OAAOV,GAGuCzG,EAAOC,QAAQwM,YAAa,EAAMzM,EAAOC,QAAiB,QAAID,EAAOC,S,6BCbrHgH,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ6ihB,QAAU7ihB,EAAQ8ihB,cAAW,EAErC,IAAI1+Y,EAgBJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAhBntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CwkI,EAAcxkI,EAAQ,IAEtB2ta,EAAqB39W,EAAuBhwD,EAAQ,MAEpD49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7C2kI,EAAU3kI,EAAQ,IAEtB,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAI7S,SAAST,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAAS4C,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAEnX,SAAS07H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIi5e,EAAwB,SAAUt9Y,GACpCt8H,EAAU45gB,EAAUt9Y,GAEpB,IAAI10E,EAAStnD,EAAas5gB,GAE1B,SAASA,IAGP,OAFA38gB,EAAgB0D,KAAMi5gB,GAEfhyd,EAAO7mD,MAAMJ,KAAMG,WAG5B,OAAO84gB,EAXmB,CAY1B1+Y,EAAOuC,WAET3mI,EAAQ8ihB,SAAWA,EAEnBjtd,EAAgBitd,EAAU,eAAgB,CACxC5pZ,OAAQ,KACR6pZ,SAAU,KACVC,UAAW,KACXvwb,UAAU,EACVg4E,YAAa,KACbC,gBAAiB,KACjBy2L,aAAc,KACdg5K,iBAAkB,OAGpBtkd,EAAgBitd,EAAU,YAAa,CACrC5pZ,OAAQsL,EAAWnnG,QAAQy2F,IAC3BivZ,SAAUv+Y,EAAWnnG,QAAQw2F,OAC7BmvZ,UAAWx+Y,EAAWnnG,QAAQw2F,OAC9BphC,SAAU+xC,EAAWnnG,QAAQs2F,KAC7B82C,YAAajmC,EAAWnnG,QAAQ1wB,OAChC+9J,gBAAiBlmC,EAAWnnG,QAAQw2F,OACpCstO,aAAc38N,EAAWnnG,QAAQ1wB,OACjCwtgB,iBAAkB31Y,EAAWnnG,QAAQw2F,SAGvC,IAAIgvZ,EAAuB,SAAUl9C,GACnCz8d,EAAU25gB,EAASl9C,GAEnB,IA7DoBt/d,EAAae,EAAYC,EA6DzC47gB,EAAUz5gB,EAAaq5gB,GAE3B,SAASA,EAAQp8gB,GACf,IAAI24C,EAaJ,OAXAj5C,EAAgB0D,KAAMg5gB,IAEtBzje,EAAQ6je,EAAQp3gB,KAAKhC,KAAMpD,IAEhBA,MAAMy8gB,cACf9je,EAAMwvB,MAAQ,CACZm5Z,YAAa3ob,EAAM34C,MAAMshe,cAI7B3ob,EAAMpxB,GAAKoxB,EAAM34C,MAAMunB,KAAM,EAAI4/Y,EAAmBvwY,WAC7C+hB,EAkKT,OA/OoB/4C,EAgFPw8gB,GAhFoBz7gB,EAgFX,CAAC,CACrBF,IAAK,iBACLqC,MAAO,WACL,OAAOM,KAAKpD,MAAMy8gB,YAAcr5gB,KAAKpD,MAAMshe,YAAcl+d,KAAK+kE,MAAMm5Z,cAErE,CACD7ge,IAAK,aACLqC,MAAO,SAAoByhC,GACzB,OAAOA,IAAUnhC,KAAKs5gB,mBAEvB,CACDj8gB,IAAK,mBACLqC,MAAO,SAA0B4lB,EAAO2gQ,EAAK9kP,GACtC8kP,EAAIrpR,MAAMgsF,WACT5oF,KAAKpD,MAAMy8gB,YACbr5gB,KAAKpD,MAAMy8gB,YAAY,CACrBh+d,cAAe/1B,EACf6b,MAAOA,IAGTnhC,KAAKqkK,SAAS,CACZ65T,YAAa/8b,KAKnB7b,EAAMw1B,mBAEP,CACDz9C,IAAK,eACLqC,MAAO,WACL,IAAIw+d,EAAcl+d,KAAKs5gB,iBACnBC,EAAYv5gB,KAAK,OAAOwoB,OAAO01c,IACnCl+d,KAAKw5gB,OAAO9mgB,MAAM9L,MAAQotJ,EAAYxgI,QAAQmiB,SAAS4je,GAAa,KACpEv5gB,KAAKw5gB,OAAO9mgB,MAAMmkC,KAAOm9G,EAAYxgI,QAAQ4gI,UAAUmlX,GAAW1ie,KAAOm9G,EAAYxgI,QAAQ4gI,UAAUp0J,KAAKy5gB,KAAK5ie,KAAO,OAEzH,CACDx5C,IAAK,oBACLqC,MAAO,WACLM,KAAK05gB,iBAEN,CACDr8gB,IAAK,qBACLqC,MAAO,WACLM,KAAK05gB,iBAEN,CACDr8gB,IAAK,kBACLqC,MAAO,SAAyBumR,EAAK9kP,GACnC,IAAIkb,EAASr8C,KAETqoF,EAAWroF,KAAKowD,WAAWjvB,GAC3Bxc,GAAY,EAAIi2G,EAAYtP,YAAY,sBAAuB,CACjE,iCAAkCjjC,EAClC,aAAc49L,EAAIrpR,MAAMgsF,UACvBq9L,EAAIrpR,MAAMikK,iBACT18I,EAAKnkB,KAAKmkB,GAAK,WAAagd,EAC5Bw4e,EAAe35gB,KAAKmkB,GAAK,YAAcgd,EACvCitF,EAAW63J,EAAIrpR,MAAMgsF,SAAW,KAAO,IAC3C,OAAoB2xC,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDwzD,IAAK,SAAaruC,GAChB,OAAOsc,EAAO,OAAO7zB,OAAO2Y,IAAUpB,GAExCpb,UAAWA,EACXjS,MAAOuzQ,EAAIrpR,MAAMgkK,YACjB8e,KAAM,gBACQnlD,EAAO/mG,QAAQ5Y,cAAc,IAAK,CAChD8kK,KAAM,MACN/6J,UAAW,qBACXy2B,QAAS,SAAiB91B,GACxB,OAAO+2B,EAAOu9d,iBAAiBt0f,EAAO2gQ,EAAK9kP,IAE7Chd,GAAIA,EACJ,gBAAiBw1f,EACjB,gBAAiBtxb,EACjB+lC,SAAUA,GACT63J,EAAIrpR,MAAMs8gB,UAAyB3+Y,EAAO/mG,QAAQ5Y,cAAc,IAAK,CACtE+J,UAAWshQ,EAAIrpR,MAAMs8gB,WACN3+Y,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACpD+J,UAAW,mBACVshQ,EAAIrpR,MAAMyyH,QAAS42J,EAAIrpR,MAAMu8gB,WAA0B5+Y,EAAO/mG,QAAQ5Y,cAAc,IAAK,CAC1F+J,UAAWshQ,EAAIrpR,MAAMu8gB,YACN5+Y,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,UAE/D,CACDx/H,IAAK,mBACLqC,MAAO,WACL,IAAIs9C,EAASh9C,KAEb,OAAOu6H,EAAO/mG,QAAQirH,SAASh3H,IAAIznB,KAAKpD,MAAM4V,UAAU,SAAUyzQ,EAAK9kP,GACrE,OAAO6b,EAAO68d,gBAAgB5zP,EAAK9kP,QAGtC,CACD9jC,IAAK,kBACLqC,MAAO,WACL,IAAIwgD,EAASlgD,KAETosQ,EAAUpsQ,KAAK85gB,mBACnB,OAAoBv/Y,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrDwzD,IAAK,SAAaruC,GAChB,OAAOmgB,EAAOu5d,IAAM15e,GAEtBpb,UAAW,gBACX+6J,KAAM,WACL0sF,EAAsB7xI,EAAO/mG,QAAQ5Y,cAAc,KAAM,CAC1DwzD,IAAK,SAAaruC,GAChB,OAAOmgB,EAAOs5d,OAASz5e,GAEzBpb,UAAW,yBAGd,CACDtnB,IAAK,gBACLqC,MAAO,WACL,IAAImhD,EAAS7gD,KAET42M,EAAWr8E,EAAO/mG,QAAQirH,SAASh3H,IAAIznB,KAAKpD,MAAM4V,UAAU,SAAUyzQ,EAAK9kP,GAC7E,IAAK0f,EAAOjkD,MAAMm9gB,kBAAoBl5d,EAAOuP,WAAWjvB,GACtD,OAAO0f,EAAOm5d,cAAc/zP,EAAK9kP,MAIrC,OAAoBo5F,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,oBACViyL,KAEJ,CACDv5M,IAAK,gBACLqC,MAAO,SAAuBumR,EAAK9kP,GACjC,IAAIknD,EAAWroF,KAAKowD,WAAWjvB,GAC3Bxc,GAAY,EAAIi2G,EAAYtP,YAAY26J,EAAIrpR,MAAM0zgB,iBAAkB,kBAAmB,CACzF,YAAajob,IAEXlkE,EAAKnkB,KAAKmkB,GAAK,YAAcgd,EAC7BwnY,EAAiB3oa,KAAKmkB,GAAK,WAAagd,EAC5C,OAAoBo5F,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDuJ,GAAIA,EACJ,kBAAmBwkZ,EACnB,eAAgBtgV,EAChB1jE,UAAWA,EACXjS,MAAOuzQ,EAAIrpR,MAAM06V,aACjB53K,KAAM,YACJ1/K,KAAKpD,MAAMm9gB,iBAAwC1xb,GAAY49L,EAAIrpR,MAAM4V,SAA3CyzQ,EAAIrpR,MAAM4V,YAE7C,CACDnV,IAAK,SACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,wBAAyBtrH,KAAKpD,MAAM+nB,WAC5EmlE,EAAY9pF,KAAKi6gB,kBACjBtyf,EAAU3nB,KAAK4uV,gBACnB,OAAoBr0N,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDuJ,GAAInkB,KAAKpD,MAAMunB,GACfQ,UAAWA,EACXjS,MAAO1S,KAAKpD,MAAM8V,OACjBo3E,EAAWniE,QA3O0DjrB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA+O3Kw7gB,EArLkB,CAsLzBz+Y,EAAOuC,WAET3mI,EAAQ6ihB,QAAUA,EAElBhtd,EAAgBgtd,EAAS,eAAgB,CACvC70f,GAAI,KACJ+5c,YAAa,EACbxrd,MAAO,KACPiS,UAAW,KACXo1f,kBAAkB,EAClBV,YAAa,OAGfrtd,EAAgBgtd,EAAS,YAAa,CACpC70f,GAAIw2G,EAAWnnG,QAAQw2F,OACvBk0W,YAAavjW,EAAWnnG,QAAQu2F,OAChCr3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,OAC9B+vZ,iBAAkBp/Y,EAAWnnG,QAAQs2F,KACrCuvZ,YAAa1+Y,EAAWnnG,QAAQi8B,Q,eChSlCv5D,EAAOC,QAAUsK,MAAMC,SAAW,SAAUu0C,GAC1C,MAA8C,kBAAvC93C,OAAOM,UAAU2O,SAASpK,KAAKizC,K,6BCQ3B,IAAI/qC,EAAE,oBAAoB3J,QAAQA,OAAO6nH,IAAIlmH,EAAEgI,EAAE3J,OAAO6nH,IAAI,iBAAiB,MAAMjmH,EAAE+H,EAAE3J,OAAO6nH,IAAI,gBAAgB,MAAMrnH,EAAEmJ,EAAE3J,OAAO6nH,IAAI,kBAAkB,MAAMnnH,EAAEiJ,EAAE3J,OAAO6nH,IAAI,qBAAqB,MAAMn+G,EAAEC,EAAE3J,OAAO6nH,IAAI,kBAAkB,MAAMp0F,EAAE9pB,EAAE3J,OAAO6nH,IAAI,kBAAkB,MAAMxmG,EAAE1X,EAAE3J,OAAO6nH,IAAI,iBAAiB,MAAMrmH,EAAEmI,EAAE3J,OAAO6nH,IAAI,oBAAoB,MAAMnmH,EAAEiI,EAAE3J,OAAO6nH,IAAI,yBAAyB,MAAMvnH,EAAEqJ,EAAE3J,OAAO6nH,IAAI,qBAAqB,MAAMnlH,EAAEiH,EAAE3J,OAAO6nH,IAAI,kBAAkB,MAAMC,EAAEn+G,EACpf3J,OAAO6nH,IAAI,uBAAuB,MAAM7lH,EAAE2H,EAAE3J,OAAO6nH,IAAI,cAAc,MAAM3lH,EAAEyH,EAAE3J,OAAO6nH,IAAI,cAAc,MAAMl7G,EAAEhD,EAAE3J,OAAO6nH,IAAI,eAAe,MAAMpzF,EAAE9qB,EAAE3J,OAAO6nH,IAAI,qBAAqB,MAAMv7G,EAAE3C,EAAE3J,OAAO6nH,IAAI,mBAAmB,MAAMt7G,EAAE5C,EAAE3J,OAAO6nH,IAAI,eAAe,MAClQ,SAAS/vB,EAAE1rF,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIqN,EAAErN,EAAE27G,SAAS,OAAOtuG,GAAG,KAAK9X,EAAE,OAAOyK,EAAEA,EAAEsE,MAAQ,KAAKlP,EAAE,KAAKE,EAAE,KAAKlB,EAAE,KAAKkJ,EAAE,KAAKhJ,EAAE,KAAKgC,EAAE,OAAO0J,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE27G,UAAY,KAAK1mG,EAAE,KAAK/gB,EAAE,KAAK4B,EAAE,KAAKF,EAAE,KAAKyxB,EAAE,OAAOrnB,EAAE,QAAQ,OAAOqN,GAAG,KAAK7X,EAAE,OAAO6X,IAAI,SAASuuG,EAAE57G,GAAG,OAAO0rF,EAAE1rF,KAAK1K,EAAE9L,EAAQ+uI,UAAUnjI,EAAE5L,EAAQgvI,eAAeljI,EAAE9L,EAAQivI,gBAAgBxjH,EAAEzrB,EAAQkvI,gBAAgBrxG,EAAE79B,EAAQwN,QAAQzB,EAAE/L,EAAQmvI,WAAWzkI,EAAE1K,EAAQovI,SAASxkI,EAAE5K,EAAQqvI,KAAK/iI,EAAEtM,EAAQsvI,KAAKljI,EAAEpM,EAAQ04H,OAAO1sH,EAChfhM,EAAQuvI,SAASz7H,EAAE9T,EAAQwvI,WAAW1kI,EAAE9K,EAAQyvI,SAAS3iI,EAAE9M,EAAQ4vI,YAAY,SAASp5H,GAAG,OAAO47G,EAAE57G,IAAI0rF,EAAE1rF,KAAK5K,GAAG5L,EAAQ2vI,iBAAiBvd,EAAEpyH,EAAQ6vI,kBAAkB,SAASr5H,GAAG,OAAO0rF,EAAE1rF,KAAKiV,GAAGzrB,EAAQ8vI,kBAAkB,SAASt5H,GAAG,OAAO0rF,EAAE1rF,KAAKqnB,GAAG79B,EAAQqtI,UAAU,SAAS72H,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE27G,WAAWpmH,GAAG/L,EAAQ+vI,aAAa,SAASv5H,GAAG,OAAO0rF,EAAE1rF,KAAK9L,GAAG1K,EAAQgwI,WAAW,SAASx5H,GAAG,OAAO0rF,EAAE1rF,KAAK5L,GAAG5K,EAAQiwI,OAAO,SAASz5H,GAAG,OAAO0rF,EAAE1rF,KAAKlK,GACzdtM,EAAQkwI,OAAO,SAAS15H,GAAG,OAAO0rF,EAAE1rF,KAAKpK,GAAGpM,EAAQmwI,SAAS,SAAS35H,GAAG,OAAO0rF,EAAE1rF,KAAKxK,GAAGhM,EAAQowI,WAAW,SAAS55H,GAAG,OAAO0rF,EAAE1rF,KAAK1C,GAAG9T,EAAQqwI,aAAa,SAAS75H,GAAG,OAAO0rF,EAAE1rF,KAAK1L,GAAG9K,EAAQswI,WAAW,SAAS95H,GAAG,OAAO0rF,EAAE1rF,KAAK1J,GACzO9M,EAAQ8rI,mBAAmB,SAASt1H,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAI5L,GAAG4L,IAAI1K,GAAG0K,IAAI1C,GAAG0C,IAAI1L,GAAG0L,IAAI1J,GAAG0J,IAAI07G,GAAG,kBAAkB17G,GAAG,OAAOA,IAAIA,EAAE27G,WAAW7lH,GAAGkK,EAAE27G,WAAW/lH,GAAGoK,EAAE27G,WAAWt0F,GAAGrnB,EAAE27G,WAAW1mG,GAAGjV,EAAE27G,WAAWznH,GAAG8L,EAAE27G,WAAWtzF,GAAGroB,EAAE27G,WAAWz7G,GAAGF,EAAE27G,WAAWx7G,GAAGH,EAAE27G,WAAWp7G,IAAI/W,EAAQ6uI,OAAO3sC,G,kCCZnUliG,EAAQo/M,WAuCR,SAAqB2kU,GACnB,IAAIxnR,EAAOynR,EAAQD,GACfE,EAAW1nR,EAAK,GAChB2nR,EAAkB3nR,EAAK,GAC3B,OAAuC,GAA9B0nR,EAAWC,GAAuB,EAAKA,GA1ClDlkhB,EAAQ42U,YAiDR,SAAsBmtM,GACpB,IAAI3+O,EAcA1+R,EAbA61P,EAAOynR,EAAQD,GACfE,EAAW1nR,EAAK,GAChB2nR,EAAkB3nR,EAAK,GAEvBz9M,EAAM,IAAIqle,EAVhB,SAAsBJ,EAAKE,EAAUC,GACnC,OAAuC,GAA9BD,EAAWC,GAAuB,EAAKA,EAS9Bh4K,CAAY63K,EAAKE,EAAUC,IAEzCE,EAAU,EAGVv1e,EAAMq1e,EAAkB,EACxBD,EAAW,EACXA,EAGJ,IAAKv9gB,EAAI,EAAGA,EAAImoC,EAAKnoC,GAAK,EACxB0+R,EACGi/O,EAAUN,EAAI7ue,WAAWxuC,KAAO,GAChC29gB,EAAUN,EAAI7ue,WAAWxuC,EAAI,KAAO,GACpC29gB,EAAUN,EAAI7ue,WAAWxuC,EAAI,KAAO,EACrC29gB,EAAUN,EAAI7ue,WAAWxuC,EAAI,IAC/Bo4C,EAAIsle,KAAch/O,GAAO,GAAM,IAC/BtmP,EAAIsle,KAAch/O,GAAO,EAAK,IAC9BtmP,EAAIsle,KAAmB,IAANh/O,EAGK,IAApB8+O,IACF9+O,EACGi/O,EAAUN,EAAI7ue,WAAWxuC,KAAO,EAChC29gB,EAAUN,EAAI7ue,WAAWxuC,EAAI,KAAO,EACvCo4C,EAAIsle,KAAmB,IAANh/O,GAGK,IAApB8+O,IACF9+O,EACGi/O,EAAUN,EAAI7ue,WAAWxuC,KAAO,GAChC29gB,EAAUN,EAAI7ue,WAAWxuC,EAAI,KAAO,EACpC29gB,EAAUN,EAAI7ue,WAAWxuC,EAAI,KAAO,EACvCo4C,EAAIsle,KAAch/O,GAAO,EAAK,IAC9BtmP,EAAIsle,KAAmB,IAANh/O,GAGnB,OAAOtmP,GA3FT9+C,EAAQkyU,cAkHR,SAAwBoyM,GAQtB,IAPA,IAAIl/O,EACAv2P,EAAMy1e,EAAM39gB,OACZ49gB,EAAa11e,EAAM,EACnBtG,EAAQ,GAIH7hC,EAAI,EAAG89gB,EAAO31e,EAAM01e,EAAY79gB,EAAI89gB,EAAM99gB,GAH9B,MAInB6hC,EAAM53B,KAAK8zgB,EAAYH,EAAO59gB,EAAIA,EAJf,MAIqC89gB,EAAOA,EAAQ99gB,EAJpD,QAQF,IAAf69gB,GACFn/O,EAAMk/O,EAAMz1e,EAAM,GAClBtG,EAAM53B,KACJu5V,EAAO9kE,GAAO,GACd8kE,EAAQ9kE,GAAO,EAAK,IACpB,OAEsB,IAAfm/O,IACTn/O,GAAOk/O,EAAMz1e,EAAM,IAAM,GAAKy1e,EAAMz1e,EAAM,GAC1CtG,EAAM53B,KACJu5V,EAAO9kE,GAAO,IACd8kE,EAAQ9kE,GAAO,EAAK,IACpB8kE,EAAQ9kE,GAAO,EAAK,IACpB,MAIJ,OAAO78P,EAAMryB,KAAK,KAzIpB,IALA,IAAIg0V,EAAS,GACTm6K,EAAY,GACZF,EAA4B,qBAAf9ic,WAA6BA,WAAa/2E,MAEvD8oC,EAAO,mEACF1sC,EAAI,EAAGmoC,EAAMuE,EAAKzsC,OAAQD,EAAImoC,IAAOnoC,EAC5CwjW,EAAOxjW,GAAK0sC,EAAK1sC,GACjB29gB,EAAUjxe,EAAK8B,WAAWxuC,IAAMA,EAQlC,SAASs9gB,EAASD,GAChB,IAAIl1e,EAAMk1e,EAAIp9gB,OAEd,GAAIkoC,EAAM,EAAI,EACZ,MAAM,IAAI9F,MAAM,kDAKlB,IAAIk7e,EAAWF,EAAI7vgB,QAAQ,KAO3B,OANkB,IAAd+vgB,IAAiBA,EAAWp1e,GAMzB,CAACo1e,EAJcA,IAAap1e,EAC/B,EACA,EAAKo1e,EAAW,GAsEtB,SAASQ,EAAaH,EAAO3igB,EAAOw7B,GAGlC,IAFA,IAAIioP,EARoBlvJ,EASpBzpB,EAAS,GACJ/lH,EAAIib,EAAOjb,EAAIy2C,EAAKz2C,GAAK,EAChC0+R,GACIk/O,EAAM59gB,IAAM,GAAM,WAClB49gB,EAAM59gB,EAAI,IAAM,EAAK,QACP,IAAf49gB,EAAM59gB,EAAI,IACb+lH,EAAO97G,KAdFu5V,GADiBh0N,EAeMkvJ,IAdT,GAAK,IACxB8kE,EAAOh0N,GAAO,GAAK,IACnBg0N,EAAOh0N,GAAO,EAAI,IAClBg0N,EAAa,GAANh0N,IAaT,OAAOzpB,EAAOv2G,KAAK,IAjGrBmugB,EAAU,IAAInve,WAAW,IAAM,GAC/Bmve,EAAU,IAAInve,WAAW,IAAM,I,cClB/Bl1C,EAAQ8vN,KAAO,SAAUz4C,EAAQv4J,EAAQ4lgB,EAAMC,EAAMC,GACnD,IAAIh6gB,EAAGkB,EACH+4gB,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTt+gB,EAAIg+gB,EAAQE,EAAS,EAAK,EAC1B54gB,EAAI04gB,GAAQ,EAAI,EAChBj6gB,EAAI4sK,EAAOv4J,EAASpY,GAOxB,IALAA,GAAKsF,EAELpB,EAAIH,GAAM,IAAOu6gB,GAAU,EAC3Bv6gB,KAAQu6gB,EACRA,GAASH,EACFG,EAAQ,EAAGp6gB,EAAS,IAAJA,EAAWysK,EAAOv4J,EAASpY,GAAIA,GAAKsF,EAAGg5gB,GAAS,GAKvE,IAHAl5gB,EAAIlB,GAAM,IAAOo6gB,GAAU,EAC3Bp6gB,KAAQo6gB,EACRA,GAASL,EACFK,EAAQ,EAAGl5gB,EAAS,IAAJA,EAAWurK,EAAOv4J,EAASpY,GAAIA,GAAKsF,EAAGg5gB,GAAS,GAEvE,GAAU,IAANp6gB,EACFA,EAAI,EAAIm6gB,MACH,IAAIn6gB,IAAMk6gB,EACf,OAAOh5gB,EAAI6L,IAAsBwrF,KAAd14F,GAAK,EAAI,GAE5BqB,GAAQkF,KAAKE,IAAI,EAAGyzgB,GACpB/5gB,GAAQm6gB,EAEV,OAAQt6gB,GAAK,EAAI,GAAKqB,EAAIkF,KAAKE,IAAI,EAAGtG,EAAI+5gB,IAG5C3khB,EAAQ0hM,MAAQ,SAAUrqB,EAAQ9tK,EAAOuV,EAAQ4lgB,EAAMC,EAAMC,GAC3D,IAAIh6gB,EAAGkB,EAAGC,EACN84gB,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChB/jV,EAAe,KAAT4jV,EAAc3zgB,KAAKE,IAAI,GAAI,IAAMF,KAAKE,IAAI,GAAI,IAAM,EAC1DxK,EAAIg+gB,EAAO,EAAKE,EAAS,EACzB54gB,EAAI04gB,EAAO,GAAK,EAChBj6gB,EAAIlB,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQyH,KAAKwjD,IAAIjrD,GAEbsO,MAAMtO,IAAUA,IAAU45F,KAC5Br3F,EAAI+L,MAAMtO,GAAS,EAAI,EACvBqB,EAAIk6gB,IAEJl6gB,EAAIoG,KAAK0W,MAAM1W,KAAKvB,IAAIlG,GAASyH,KAAKmkO,KAClC5rO,GAASwC,EAAIiF,KAAKE,IAAI,GAAItG,IAAM,IAClCA,IACAmB,GAAK,IAGLxC,GADEqB,EAAIm6gB,GAAS,EACNhkV,EAAKh1L,EAELg1L,EAAK/vL,KAAKE,IAAI,EAAG,EAAI6zgB,IAEpBh5gB,GAAK,IACfnB,IACAmB,GAAK,GAGHnB,EAAIm6gB,GAASD,GACfh5gB,EAAI,EACJlB,EAAIk6gB,GACKl6gB,EAAIm6gB,GAAS,GACtBj5gB,GAAMvC,EAAQwC,EAAK,GAAKiF,KAAKE,IAAI,EAAGyzgB,GACpC/5gB,GAAQm6gB,IAERj5gB,EAAIvC,EAAQyH,KAAKE,IAAI,EAAG6zgB,EAAQ,GAAK/zgB,KAAKE,IAAI,EAAGyzgB,GACjD/5gB,EAAI,IAID+5gB,GAAQ,EAAGttW,EAAOv4J,EAASpY,GAAS,IAAJoF,EAAUpF,GAAKsF,EAAGF,GAAK,IAAK64gB,GAAQ,GAI3E,IAFA/5gB,EAAKA,GAAK+5gB,EAAQ74gB,EAClB+4gB,GAAQF,EACDE,EAAO,EAAGxtW,EAAOv4J,EAASpY,GAAS,IAAJkE,EAAUlE,GAAKsF,EAAGpB,GAAK,IAAKi6gB,GAAQ,GAE1ExtW,EAAOv4J,EAASpY,EAAIsF,IAAU,IAAJvB,I,cCnF5B,IAAIwL,EAAW,GAAGA,SAElBlW,EAAOC,QAAUsK,MAAMC,SAAW,SAAUu0C,GAC1C,MAA6B,kBAAtB7oC,EAASpK,KAAKizC,K,iBCHvB,yBAcC,SAASl0C,GACT,GAAyD,oBAAoBq6gB,oBAAoBllhB,EAAOC,QAAQ4K,SAC3G,GAA0C,oBAAoBq6gB,oBAAqB3tR,UAAU1sP,IAAIumJ,EAAO,QAAD,mEACxG,CACH,IAAIrmJ,EACJ,oBAAoB66J,WAAW76J,EAAE66J,WACjC,oBAAoBp6J,OAAOT,EAAES,OAC7B,oBAAoB4kH,EAAOrlH,EAAEqlH,EAC7B,oBAAoBjiH,GAAKA,EAAEiiH,OAAOrlH,EAAEoD,EAAEiiH,OACtC,oBAAoBtlG,OAAO/f,EAAE+f,MAAM/f,EAAEwsP,UAAU1sP,KAThD,EAWC,WAAqC,OAAQ,SAASA,EAAE0B,EAAE5B,EAAE0B,GAAG,SAAS3B,EAAEN,EAAE0Z,GAAG,IAAInZ,EAAEP,GAAG,CAAC,IAAImC,EAAEnC,GAAG,CAAmE,GAAGzD,EAAE,OAAOA,EAAEyD,GAAE,GAAI,MAAM,IAAI4+B,MAAM,uBAAuB5+B,EAAE,KAAK,IAAIW,EAAEJ,EAAEP,GAAG,CAACnK,QAAQ,IAAIsM,EAAEnC,GAAG,GAAG0B,KAAKf,EAAE9K,SAAQ,SAAS4K,GAAG,IAAIF,EAAE4B,EAAEnC,GAAG,GAAGS,GAAG,OAAOH,EAAEC,GAAIE,KAAIE,EAAEA,EAAE9K,QAAQ4K,EAAE0B,EAAE5B,EAAE0B,GAAG,OAAO1B,EAAEP,GAAGnK,QAAkD,IAA1C,IAAI0G,GAAE,EAA4CyD,EAAE,EAAEA,EAAEiC,EAAEzF,OAAOwD,IAAIM,EAAE2B,EAAEjC,IAAI,OAAOM,EAApZ,CAAwZ,CAAC2pM,EAAE,CAAC,SAAS8wU,EAAQnlhB,EAAOC,GACne,aAEA,IAAImlhB,EAAU,oEAIdnlhB,EAAQ42E,OAAS,SAAS01C,EAAO84Z,GAK7B,IAJA,IACI9lS,EAAM+lS,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EADpCj5Z,EAAS,GAET/lH,EAAI,EAEDA,EAAI4lH,EAAM3lH,QAMb4+gB,GAJAjmS,EAAOhzH,EAAMp3E,WAAWxuC,OAIT,EACf8+gB,GAAgB,EAAPlmS,IAAa,GAJtB+lS,EAAO/4Z,EAAMp3E,WAAWxuC,OAIY,EACpC++gB,GAAgB,GAAPJ,IAAc,GAJvBC,EAAOh5Z,EAAMp3E,WAAWxuC,OAIa,EACrCg/gB,EAAc,GAAPJ,EAEHztgB,MAAMwtgB,GACNI,EAAOC,EAAO,GAET7tgB,MAAMytgB,KACXI,EAAO,IAGXj5Z,EAASA,EAAS04Z,EAAQxyf,OAAO4yf,GAAQJ,EAAQxyf,OAAO6yf,GAAQL,EAAQxyf,OAAO8yf,GAAQN,EAAQxyf,OAAO+yf,GAI1G,OAAOj5Z,GAIXzsH,EAAQotH,OAAS,SAASd,EAAO84Z,GAC7B,IACI9lS,EAAM+lS,EAAMC,EACNE,EAAMC,EAAMC,EAFlBj5Z,EAAS,GAGT/lH,EAAI,EAIR,IAFA4lH,EAAQA,EAAMh7G,QAAQ,sBAAuB,IAEtC5K,EAAI4lH,EAAM3lH,QAOb24O,EALO6lS,EAAQjxgB,QAAQo4G,EAAM35F,OAAOjsB,OAKpB,GAJhB8+gB,EAAOL,EAAQjxgB,QAAQo4G,EAAM35F,OAAOjsB,QAIN,EAC9B2+gB,GAAgB,GAAPG,IAAc,GAJvBC,EAAON,EAAQjxgB,QAAQo4G,EAAM35F,OAAOjsB,QAIC,EACrC4+gB,GAAgB,EAAPG,IAAa,GAJtBC,EAAOP,EAAQjxgB,QAAQo4G,EAAM35F,OAAOjsB,OAMpC+lH,GAAkBjrF,OAAOE,aAAa49M,GAE1B,IAARmmS,IACAh5Z,GAAkBjrF,OAAOE,aAAa2jf,IAE9B,IAARK,IACAj5Z,GAAkBjrF,OAAOE,aAAa4jf,IAK9C,OAAO74Z,IAIT,IAAI6nF,EAAE,CAAC,SAAS4wU,EAAQnlhB,EAAOC,GACjC,aACA,SAAS2lhB,IACL97gB,KAAK+7gB,eAAiB,EACtB/7gB,KAAKg8gB,iBAAmB,EACxBh8gB,KAAK0oP,MAAQ,EACb1oP,KAAK2lN,kBAAoB,KACzB3lN,KAAKi8gB,kBAAoB,KAG7BH,EAAiBr+gB,UAAY,CAMzBovP,WAAY,WACR,OAAO,MAOXqvR,qBAAsB,WAClB,OAAO,OAGfhmhB,EAAOC,QAAU2lhB,GAEf,IAAIriR,EAAE,CAAC,SAAS4hR,EAAQnlhB,EAAOC,GACjC,aACAA,EAAQgmhB,MAAQ,CACZhuG,MAAO,OACPh9O,SAAU,SAASxpK,GACf,OAAOA,GAEXo7M,WAAY,SAASp7M,GACjB,OAAOA,GAEXy0f,kBAAmB,KACnBC,oBAAqB,MAEzBlmhB,EAAQmmhB,QAAUjB,EAAQ,YAExB,CAAC,UAAU,IAAI/9M,EAAE,CAAC,SAAS+9M,EAAQnlhB,EAAOC,GAC5C,aAEA,IAAIg+O,EAAQknS,EAAQ,WAEhBlpW,EAAQ,CACR,EAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WASxCj8K,EAAOC,QAAU,SAAessH,EAAO2pL,GACnC,GAAqB,qBAAV3pL,IAA0BA,EAAM3lH,OACvC,OAAO,EAGX,IAAI4D,EAAqC,WAA3ByzO,EAAMooS,UAAU95Z,GAEX,oBAAR2pL,IACPA,EAAM,GAEV,IAEIliS,EAAI,EAERkiS,IAAc,EACd,IAAK,IAAIvvS,EAAI,EAAG2/gB,EAAO/5Z,EAAM3lH,OAAQD,EAAI2/gB,EAAM3/gB,IAC3CqN,EAAIxJ,EAAU+hH,EAAM5lH,GAAK4lH,EAAMp3E,WAAWxuC,GAG1CuvS,EAAOA,IAAQ,EADXj6H,EADY,KAAXi6H,EAAMliS,IAKf,OAAe,EAARkiS,IAIT,CAAC,UAAU,KAAK9lE,EAAE,CAAC,SAAS+0S,EAAQnlhB,EAAOC,GAC7C,aACA,IAAIg+O,EAAQknS,EAAQ,WAEpB,SAASoB,EAAWzrgB,GAChBhR,KAAKgR,KAAO,KACZhR,KAAKlD,OAAS,EACdkD,KAAKmhC,MAAQ,EAEjBs7e,EAAWh/gB,UAAY,CAMnBssU,YAAa,SAAS90T,GAClBjV,KAAK08gB,WAAW18gB,KAAKmhC,MAAQlsB,IAOjCyngB,WAAY,SAAStzI,GACjB,GAAIppY,KAAKlD,OAASssY,GAAYA,EAAW,EACrC,MAAM,IAAIlqW,MAAM,sCAAwCl/B,KAAKlD,OAAS,mBAAsBssY,EAAY,uBAQhHrnU,SAAU,SAASqnU,GACfppY,KAAK08gB,WAAWtzI,GAChBppY,KAAKmhC,MAAQioW,GAOjB5qG,KAAM,SAAS39R,GACXb,KAAK+hE,SAAS/hE,KAAKmhC,MAAQtgC,IAO/B87gB,OAAQ,SAAS9/gB,KAQjB2sO,QAAS,SAAStkK,GACd,IACIroE,EADAgD,EAAS,EAGb,IADAG,KAAK+pU,YAAY7kQ,GACZroE,EAAImD,KAAKmhC,MAAQ+jC,EAAO,EAAGroE,GAAKmD,KAAKmhC,MAAOtkC,IAC7CgD,GAAUA,GAAU,GAAKG,KAAK28gB,OAAO9/gB,GAGzC,OADAmD,KAAKmhC,OAAS+jC,EACPrlE,GAOXunO,WAAY,SAASliK,GACjB,OAAOivK,EAAMyoS,YAAY,SAAU58gB,KAAK68gB,SAAS33c,KAOrD23c,SAAU,SAAS33c,KAQnB43c,qBAAsB,SAASC,KAO/BC,SAAU,WACN,IAAIC,EAAUj9gB,KAAKwpO,QAAQ,GAC3B,OAAO,IAAIjyM,KACgB,MAAzB0lf,GAAW,GAAM,MACjBA,GAAW,GAAM,IAAQ,EAC1BA,GAAW,GAAM,GACjBA,GAAW,GAAM,GACjBA,GAAW,EAAK,IACN,GAAVA,IAAmB,KAG5B/mhB,EAAOC,QAAUsmhB,GAEf,CAAC,UAAU,KAAKl2S,EAAE,CAAC,SAAS80S,EAAQnlhB,EAAOC,GAC7C,aACAA,EAAQ2iT,QAAS,EACjB3iT,EAAQgqa,QAAS,EACjBhqa,EAAQikB,KAAM,EACdjkB,EAAQ+mhB,eAAgB,EACxB/mhB,EAAQihP,KAAO,KACfjhP,EAAQqgN,YAAc,KACtBrgN,EAAQswC,QAAU,MAEhB,IAAI+/L,EAAE,CAAC,SAAS60S,EAAQnlhB,EAAOC,GACjC,aACA,IAAIg+O,EAAQknS,EAAQ,WAMpBllhB,EAAQgnhB,cAAgB,SAASz5Z,GAC7B,OAAOywH,EAAMgpS,cAAcz5Z,IAO/BvtH,EAAQinhB,kBAAoB,SAAS15Z,GACjC,OAAOywH,EAAMyoS,YAAY,aAAcl5Z,IAO3CvtH,EAAQknhB,kBAAoB,SAASt6d,GACjC,OAAOoxL,EAAMyoS,YAAY,SAAU75d,IAOvC5sD,EAAQmnhB,YAAc,SAAS55Z,GAC3B,IAAI8pD,EAAS2mE,EAAMyoS,YAAY,cAAel5Z,GAC9C,OAAOywH,EAAMopS,iBAAiB/vW,IAOlCr3K,EAAQonhB,iBAAmB,SAAS/vW,GAChC,OAAO2mE,EAAMopS,iBAAiB/vW,IAOlCr3K,EAAQymhB,YAAc,SAASY,EAAY/6Z,GACvC,OAAO0xH,EAAMyoS,YAAYY,EAAY/6Z,IAOzCtsH,EAAQomhB,UAAY,SAAS95Z,GACzB,OAAO0xH,EAAMooS,UAAU95Z,IAO3BtsH,EAAQsnhB,aAAe,SAASxsgB,GAC5B,OAAOkjO,EAAMspS,aAAaxsgB,IAO9B9a,EAAQunhB,iBAAmBvpS,EAAMupS,iBAMjCvnhB,EAAQwnhB,iBAAmBxpS,EAAMwpS,iBAOjCxnhB,EAAQg0J,OAAS,SAASzmC,GACtB,OAAOywH,EAAMhqF,OAAOzmC,IAOxBvtH,EAAQynhB,gBAAkB,SAASj4T,GAC/B,OAAOwuB,EAAMypS,gBAAgBj4T,IAOjCxvN,EAAQ0nhB,SAAW,SAAU/6gB,GACzB,OAAOqxO,EAAM0pS,SAAS/6gB,KAIxB,CAAC,UAAU,KAAK42P,EAAE,CAAC,SAAS2hR,EAAQnlhB,EAAOC,GAC7C,aACA,IAAI2nhB,EAAwC,qBAAftmc,YAAuD,qBAAhBu+H,aAAwD,qBAAhBH,YAExGmoU,EAAO1C,EAAQ,QACnBllhB,EAAQkmhB,oBAAsByB,EAAiB,aAAe,QAC9D3nhB,EAAQimhB,kBAAoB0B,EAAiB,aAAe,QAE5D3nhB,EAAQg4a,MAAQ,OAChBh4a,EAAQg7L,SAAW,SAAS1uE,GACxB,OAAOs7Z,EAAKC,WAAWv7Z,IAE3BtsH,EAAQ4sO,WAAc,SAAStgH,GAC3B,OAAOs7Z,EAAKE,WAAWx7Z,KAGzB,CAAC,KAAO,KAAK86M,EAAE,CAAC,SAAS89M,EAAQnlhB,EAAOC,GAC1C,aAEA,IAAI2iT,EAASuiO,EAAQ,YAoBrB,SAAS5tR,EAAUz8O,EAAMutB,GAErB,KAAKv+B,gBAAgBytP,GAAY,OAAO,IAAIA,EAAUz8O,EAAMutB,GAO5Dv+B,KAAK4gP,MAAQ,GAEb5gP,KAAKymC,QAAU,KAGfzmC,KAAKqW,KAAO,GACRrF,GACAhR,KAAK4kB,KAAK5T,EAAMutB,GAEpBv+B,KAAK4zB,MAAQ,WACT,IAAIiN,EAAS,IAAI4sN,EACjB,IAAK,IAAI5wP,KAAKmD,KACa,oBAAZA,KAAKnD,KACZgkC,EAAOhkC,GAAKmD,KAAKnD,IAGzB,OAAOgkC,GAGf4sN,EAAUhwP,UAAY49gB,EAAQ,YAC9B5tR,EAAUhwP,UAAUmnB,KAAOy2f,EAAQ,UACnC5tR,EAAU1sK,QAAUs6b,EAAQ,aAC5B5tR,EAAUnuK,SAAW+7b,EAAQ,cAM7B5tR,EAAUtZ,MAAQknS,EAAQ,2BAE1B5tR,EAAUqrD,OAAS,CAKf/rO,OAAS,SAAS01C,GACd,OAAOq2L,EAAO/rO,OAAO01C,IAMzBc,OAAS,SAASd,GACd,OAAOq2L,EAAOv1L,OAAOd,KAG7BgrI,EAAUywR,aAAe7C,EAAQ,kBACjCnlhB,EAAOC,QAAUs3P,GAEf,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,0BAA0B,EAAE,SAAS,GAAG,WAAW,GAAG,YAAY,KAAK+vE,GAAG,CAAC,SAAS69M,EAAQnlhB,EAAOC,GACrJ,aACA,IAAI2iT,EAASuiO,EAAQ,YACjB8C,EAAa9C,EAAQ,gBACzBnlhB,EAAOC,QAAU,SAAS6a,EAAMutB,GAC5B,IAAIqiN,EAAOw9R,EAAYvhhB,EAAG4lH,EAQ1B,KAPAlkF,EAAUA,GAAW,IACTu6Q,SACR9nS,EAAO8nS,EAAOv1L,OAAOvyG,IAIzB4vO,GADAw9R,EAAa,IAAID,EAAWntgB,EAAMutB,IACfqiN,MACd/jP,EAAI,EAAGA,EAAI+jP,EAAM9jP,OAAQD,IAC1B4lH,EAAQm+H,EAAM/jP,GACdmD,KAAKkqO,KAAKznH,EAAM0gY,SAAU1gY,EAAM47Z,aAAc,CAC1Cl+G,QAAQ,EACRm+G,uBAAuB,EACvBlnS,KAAM30H,EAAM20H,KACZh9N,IAAKqoG,EAAMroG,IACXqsB,QAAUg8E,EAAM87Z,YAAYzhhB,OAAS2lH,EAAM87Z,YAAc,KACzDrB,cAAe3+e,EAAQ2+e,gBAO/B,OAJIkB,EAAWI,WAAW1hhB,SACtBkD,KAAKymC,QAAU23e,EAAWI,YAGvBx+gB,OAGT,CAAC,WAAW,EAAE,eAAe,KAAKy9T,GAAG,CAAC,SAAS49M,EAAQnlhB,EAAOC,IAChE,SAAWs+O,GACX,aACA,IAAIC,EAAqB,aACzB,GAAqB,qBAAXD,EAAwB,CACjC,IAAIE,GAAQF,EAAO17N,KACnB,IAAI47N,EAAM,IAAMF,EAAO17N,KAAK,MAAO,QAAW,MAAMhY,GAAK4zO,GAAO,EAChED,EAAcC,EAAO,SAASxnM,EAAKynM,GAAO,OAAQA,EAAO,IAAIH,EAAOtnM,EAAKynM,GAAO,IAAIH,EAAOtnM,IAAUsnM,EAAO17N,KAAKlW,KAAK4xO,GAElHA,EAAOI,QAAOJ,EAAOI,MAAQ,SAASh0O,GAAK,OAAO,IAAI4zO,EAAO5zO,KAElE3K,EAAOC,QAAU,SAAS6a,EAAMsuL,GAC5B,MAAsB,iBAARtuL,EAAmByjO,EAAOI,MAAM7jO,GAAQ0jO,EAAY1jO,EAAMsuL,IAE5EppM,EAAOC,QAAQosC,KAAO,SAASr4B,GAC3B,OAAOuqO,EAAOvnE,SAAShjK,MAExBlI,KAAKhC,KAAwB,qBAAXy0O,EAAyBA,OAAS70M,IACrD,IAAI89R,GAAG,CAAC,SAAS29M,EAAQnlhB,EAAOC,GAClC,aACA,IAAIsohB,EAAmBpD,EAAQ,sBAE/B,SAASqD,EAAiB1tgB,GACtBhR,KAAKgR,KAAOA,EACZhR,KAAKlD,OAASkD,KAAKgR,KAAKlU,OACxBkD,KAAKmhC,MAAQ,EAEjBu9e,EAAiBjhhB,UAAY,IAAIghhB,EAKjCC,EAAiBjhhB,UAAUo/gB,SAAW,SAAS33c,GAC3CllE,KAAK+pU,YAAY7kQ,GACjB,IAAIrlE,EAASG,KAAKgR,KAAKghC,MAAMhyC,KAAKmhC,MAAOnhC,KAAKmhC,MAAQ+jC,GAEtD,OADAllE,KAAKmhC,OAAS+jC,EACPrlE,GAEX3J,EAAOC,QAAUuohB,GAEf,CAAC,qBAAqB,KAAK/gN,GAAG,CAAC,SAAS09M,EAAQnlhB,EAAOC,GACzD,aACA,IAAI4qF,EAAUs6b,EAAQ,aAClBlnS,EAAQknS,EAAQ,WAChB3yR,EAAQ2yR,EAAQ,WAChBsD,EAAYtD,EAAQ,eACpB/7b,EAAW+7b,EAAQ,cACnBviO,EAASuiO,EAAQ,YACjB6C,EAAe7C,EAAQ,kBACvBS,EAAmBT,EAAQ,sBAC3BuD,EAAavD,EAAQ,gBACrBE,EAAOF,EAAQ,UACfwD,EAAexD,EAAQ,kBACvByD,EAAmBzD,EAAQ,sBAO3B0D,EAAa,SAAS70S,GACtB,GAAIA,EAAKtoH,iBAAiBk6Z,IACtB5xS,EAAKtoH,MAAQsoH,EAAKtoH,MAAMirI,aACxB3iB,EAAK3rM,QAAQ4hY,QAAS,EACtBj2L,EAAK3rM,QAAQu6Q,QAAS,EAEc,eAAhC3kE,EAAMooS,UAAUryS,EAAKtoH,QAAyB,CAC9C,IAAIv9E,EAAO6lM,EAAKtoH,MAGhBsoH,EAAKtoH,MAAQ,IAAIpqC,WAAWnzC,EAAKvnC,QAEb,IAAhBunC,EAAKvnC,QACLotO,EAAKtoH,MAAMp1G,IAAI63B,EAAM,GAIjC,OAAO6lM,EAAKtoH,OAQZo9Z,EAAgB,SAAS90S,GACzB,IAAIrqO,EAASk/gB,EAAW70S,GAExB,MAAa,WADFiK,EAAMooS,UAAU18gB,IAElBqqO,EAAK3rM,QAAQ4hY,QAGVp/U,EAAQk+b,WACDL,EAAW/+gB,EAAQ,SAG3BqqO,EAAK0iB,WAET/sP,GAQPq/gB,EAAe,SAASC,GACxB,IAAIt/gB,EAASk/gB,EAAW/+gB,MACxB,OAAe,OAAXH,GAAqC,qBAAXA,EACnB,IAGPG,KAAKu+B,QAAQu6Q,SACbj5S,EAASi5S,EAAOv1L,OAAO1jH,IAKvBA,EAHAs/gB,GAAUn/gB,KAAKu+B,QAAQ4hY,OAGd/pX,EAAIgpe,WAAWv/gB,GAIfs0O,EAAMyoS,YAAY,SAAU/8gB,GAGpCs/gB,GAAWn/gB,KAAKu+B,QAAQ4hY,SACzBtga,EAASs0O,EAAMyoS,YAAY,SAAUxme,EAAIipe,WAAWx/gB,KAEjDA,IASPy/gB,EAAY,SAASl9gB,EAAM4O,EAAMutB,GACjCv+B,KAAKoC,KAAOA,EACZpC,KAAKoa,IAAMmkB,EAAQnkB,IACnBpa,KAAKo3O,KAAO74M,EAAQ64M,KACpBp3O,KAAKymC,QAAUlI,EAAQkI,QAEvBzmC,KAAK4hH,MAAQ5wG,EACbhR,KAAKu+B,QAAUA,EAOfv+B,KAAKu/gB,iBAAmB,CACtBnlgB,IAAMmkB,EAAQnkB,IACdg9N,KAAO74M,EAAQ64M,OAIrBkoS,EAAU7hhB,UAAY,CAKlBojI,OAAQ,WACJ,OAAOq+Y,EAAal9gB,KAAKhC,MAAM,IAMnC4sP,SAAU,WACN,OAAOsyR,EAAal9gB,KAAKhC,MAAM,IAMnC2sP,aAAc,WACV,IAAI9sP,EAASm/gB,EAAch/gB,MAC3B,OAAOm0O,EAAMyoS,YAAY,aAAc/8gB,IAM3C2/gB,aAAc,WACV,IAAI3/gB,EAASm/gB,EAAch/gB,MAC3B,OAAOm0O,EAAMyoS,YAAY,aAAc/8gB,IAM3C4/gB,cAAe,WACX,OAAOz/gB,KAAKw/gB,eAAehyW,SAWnC,IAAIkyW,EAAW,SAAS9lS,EAAK6nB,GACzB,IACI5kQ,EADAqsD,EAAM,GAEV,IAAKrsD,EAAI,EAAGA,EAAI4kQ,EAAO5kQ,IACnBqsD,GAAOvxB,OAAOE,aAAmB,IAAN+hN,GAC3BA,KAAc,EAElB,OAAO1wL,GASP9T,EAAS,WACT,IAAiBv4C,EAAGqoC,EAAhBrlC,EAAS,GACb,IAAKhD,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAC9B,IAAKqoC,KAAQ/kC,UAAUtD,GACfsD,UAAUtD,GAAGmG,eAAekiC,IAAiC,qBAAjBrlC,EAAOqlC,KACnDrlC,EAAOqlC,GAAQ/kC,UAAUtD,GAAGqoC,IAIxC,OAAOrlC,GA8BP8/gB,EAAU,SAASv9gB,EAAM4O,EAAM1Q,GAE/B,IACIsS,EADAgpZ,EAAWznL,EAAMooS,UAAUvrgB,GAS/B,IANA1Q,EAzBmB,SAASA,GAS5B,OAPiB,KADjBA,EAAIA,GAAK,IACHw4S,QAAiC,OAAbx4S,EAAE6/Z,aAAgCvgY,IAAbt/B,EAAE6/Z,SAC7C7/Z,EAAE6/Z,QAAS,IAEf7/Z,EAAI80C,EAAO90C,EAAGg/E,IACZ83J,KAAO92O,EAAE82O,MAAQ,IAAI7/M,KACD,OAAlBj3B,EAAEk2M,cAAsBl2M,EAAEk2M,YAAcl2M,EAAEk2M,YAAY/wH,eAEnDnlF,EAgBHs/gB,CAAiBt/gB,IAEf48gB,gBAAkBtqgB,EAASitgB,EAAaz9gB,KAC1C09gB,EAAU99gB,KAAKhC,KAAM4S,GAAQ,GAG7BtS,EAAE8Z,KAAgB,OAATpJ,GAAiC,qBAATA,EACjC1Q,EAAEw4S,QAAS,EACXx4S,EAAE6/Z,QAAS,EACXnvZ,EAAO,UAEN,GAAiB,WAAb4qZ,EACDt7Z,EAAE6/Z,SAAW7/Z,EAAEw4S,SAEiB,IAA5Bx4S,EAAEg+gB,wBAGFttgB,EAAOmjO,EAAMgpS,cAAcnsgB,QAIlC,CAID,GAHA1Q,EAAEw4S,QAAS,EACXx4S,EAAE6/Z,QAAS,GAENvE,KAAc5qZ,aAAgB8qgB,GAC/B,MAAM,IAAI58e,MAAM,gBAAkB98B,EAAO,mCAI5B,gBAAbw5Z,IACA5qZ,EAAOmjO,EAAMyoS,YAAY,aAAc5rgB,IAI/C,IAAIlO,EAAS,IAAIw8gB,EAAUl9gB,EAAM4O,EAAM1Q,GAEvC,OADAN,KAAK4gP,MAAMx+O,GAAQU,EACZA,GASP+8gB,EAAe,SAAUtygB,GACH,KAAlBA,EAAKykC,OAAO,KACZzkC,EAAOA,EAAK8jC,UAAU,EAAG9jC,EAAKzQ,OAAS,IAE3C,IAAIijhB,EAAYxygB,EAAK6lC,YAAY,KACjC,OAAQ2se,EAAY,EAAKxygB,EAAK8jC,UAAU,EAAG0ue,GAAa,IAWxDD,EAAY,SAAS19gB,EAAM86gB,GAe3B,MAbsB,KAAlB96gB,EAAK4vC,OAAO,KACZ5vC,GAAQ,KAGZ86gB,EAA0C,qBAAlBA,GAAiCA,EAGpDl9gB,KAAK4gP,MAAMx+O,IACZu9gB,EAAQ39gB,KAAKhC,KAAMoC,EAAM,KAAM,CAC3BgY,KAAK,EACL8igB,cAAeA,IAGhBl9gB,KAAK4gP,MAAMx+O,IASlB49gB,EAA+B,SAAS91S,EAAM1zB,GAC9C,IACI7uL,EADA9nB,EAAS,IAAIi8gB,EAqCjB,OAjCI5xS,EAAKtoH,iBAAiBk6Z,GACtBj8gB,EAAOm8gB,iBAAmB9xS,EAAKtoH,MAAMo6Z,iBACrCn8gB,EAAO6oP,MAAQxe,EAAKtoH,MAAM8mI,MAEM,IAA5B7oP,EAAOm8gB,kBAA0B9xS,EAAK9vN,KACtCo8L,EAAc0nU,EAAY,MAC1Br+gB,EAAOo8gB,kBAAoB,GAC3Bp8gB,EAAO6oP,MAAQ,GAEVxe,EAAKtoH,MAAM+jG,oBAAsBnP,EAAY23N,MAClDtua,EAAOo8gB,kBAAoB/xS,EAAKtoH,MAAMs6Z,wBAGtCv0f,EAAUuiN,EAAKtoH,MAAMirI,aAErBhtP,EAAOo8gB,kBAAoBzlU,EAAYrlB,SAASgjD,EAAMyoS,YAAYpmU,EAAY4lU,kBAAmBz0f,QAKrGA,EAAUq3f,EAAc90S,KACW,IAAnBviN,EAAQ7qB,SAAgBotO,EAAK9vN,MACzCo8L,EAAc0nU,EAAY,MAC1Bv2f,EAAU,IAEd9nB,EAAOm8gB,iBAAmBr0f,EAAQ7qB,OAClC+C,EAAO6oP,MAAQA,EAAM/gO,GACrB9nB,EAAOo8gB,kBAAoBzlU,EAAYrlB,SAASgjD,EAAMyoS,YAAYpmU,EAAY4lU,kBAAmBz0f,KAGrG9nB,EAAOk8gB,eAAiBl8gB,EAAOo8gB,kBAAkBn/gB,OACjD+C,EAAO8lN,kBAAoBnP,EAAY23N,MAEhCtua,GAWPoghB,EAAmB,SAAS79gB,EAAM8nO,EAAMg2S,EAAkBjrgB,GAC/CirgB,EAAiBjE,kBAA5B,IAOIkE,EACAC,EAIAhmgB,EAAKg9N,EAXLipS,EAAqBlsS,EAAMyoS,YAAY,SAAUrB,EAAK8D,WAAWn1S,EAAK9nO,OACtEqkC,EAAUyjM,EAAKzjM,SAAW,GAC1B65e,EAAoBnsS,EAAMyoS,YAAY,SAAUrB,EAAK8D,WAAW54e,IAChE85e,EAAqBF,EAAmBvjhB,SAAWotO,EAAK9nO,KAAKtF,OAC7D0jhB,EAAoBF,EAAkBxjhB,SAAW2pC,EAAQ3pC,OACzDwD,EAAI4pO,EAAK3rM,QAGTg6H,EAAc,GACdkoX,EAAwB,GACxBC,EAA2B,GAM3BtmgB,EADA8vN,EAAKq1S,iBAAiBnlgB,MAAQ8vN,EAAK9vN,IAC7B8vN,EAAK9vN,IAEL9Z,EAAE8Z,IAWZ+lgB,GANI/oS,EADDlN,EAAKq1S,iBAAiBnoS,OAASlN,EAAKkN,KAC5BlN,EAAKkN,KAEL92O,EAAE82O,MAIE9gD,WACf6pV,IAAqB,EACrBA,GAAoB/oS,EAAK7gD,aACzB4pV,IAAqB,EACrBA,GAAoB/oS,EAAK5gD,aAAe,EAExC4pV,EAAUhpS,EAAKjhD,cAAgB,KAC/BiqV,IAAqB,EACrBA,GAAqBhpS,EAAKhhD,WAAa,EACvCgqV,IAAqB,EACrBA,GAAoBhpS,EAAK/gD,UAErBkqV,IAUAE,EAEIf,EAAS,EAAG,GAEZA,EAASh3R,EAAM23R,GAAqB,GAEpCA,EAEJ9nX,GAEI,KAEAmnX,EAASe,EAAsB3jhB,OAAQ,GAEvC2jhB,GAGLD,IAECE,EAEIhB,EAAS,EAAG,GAEZA,EAAS1/gB,KAAK0oP,MAAM43R,GAAoB,GAExCA,EAEJ/nX,GAEI,KAEAmnX,EAASgB,EAAyB5jhB,OAAQ,GAE1C4jhB,GAGR,IAAIrxZ,EAAS,GAiDb,OA9CAA,GAAU,OAGVA,GAAWkxZ,GAAsBC,EAAqB,OAAa,OAEnEnxZ,GAAU6wZ,EAAiBv6T,kBAE3Bt2F,GAAUqwZ,EAASS,EAAS,GAE5B9wZ,GAAUqwZ,EAASU,EAAS,GAE5B/wZ,GAAUqwZ,EAASQ,EAAiBx3R,MAAO,GAE3Cr5H,GAAUqwZ,EAASQ,EAAiBnE,eAAgB,GAEpD1sZ,GAAUqwZ,EAASQ,EAAiBlE,iBAAkB,GAEtD3sZ,GAAUqwZ,EAASW,EAAmBvjhB,OAAQ,GAE9CuyH,GAAUqwZ,EAASnnX,EAAYz7J,OAAQ,GA2BhC,CACH6jhB,WAzBahC,EAAUiC,kBAAoBvxZ,EAASgxZ,EAAqB9nX,EA0BzEsoX,UAxBYlC,EAAUmC,oBAE1B,SAEAzxZ,EAEAqwZ,EAASY,EAAkBxjhB,OAAQ,GANnB6hhB,aAYP,IAARvkgB,EAAe,aAAqB,YAErCslgB,EAASzqgB,EAAQ,GAEjBorgB,EAEA9nX,EAEA+nX,EAKIJ,iBAAkBA,IAMtB9pe,EAAM,CASNxxB,KAAM,SAASosK,EAAQzyJ,GACnB,MAAM,IAAIW,MAAM,qEAUpBjsB,OAAQ,SAASsqH,GACb,IACIomE,EAAUo9U,EAAc72S,EAAM82S,EAD9BnhhB,EAAS,GAEb,IAAK8jM,KAAY3jM,KAAK4gP,MACb5gP,KAAK4gP,MAAM59O,eAAe2gM,KAG/BumC,EAAOlqO,KAAK4gP,MAAMj9C,GAElBq9U,EAAY,IAAI1B,EAAUp1S,EAAK9nO,KAAM8nO,EAAKtoH,MAAOxsE,EAAO80L,EAAK3rM,UAC7Dwif,EAAep9U,EAAS3xJ,MAAMhyC,KAAKqW,KAAKvZ,OAAQ6mM,EAAS7mM,QACrD6mM,EAAS3xJ,MAAM,EAAGhyC,KAAKqW,KAAKvZ,UAAYkD,KAAKqW,MACjDknH,EAAOwjZ,EAAcC,IACjBnhhB,EAAOiH,KAAKk6gB,IAGpB,OAAOnhhB,GAYXqqO,KAAM,SAAS9nO,EAAM4O,EAAM1Q,GACvB,GAAyB,IAArBH,UAAUrD,OAAc,CACxB,GAAIq3O,EAAM0pS,SAASz7gB,GAAO,CACtB,IAAI0oJ,EAAS1oJ,EACb,OAAOpC,KAAKiT,QAAO,SAAS8tgB,EAAc72S,GACtC,OAAQA,EAAK9vN,KAAO0wI,EAAOvoH,KAAKw+e,MAIpC,OAAO/ghB,KAAKiT,QAAO,SAAS8tgB,EAAc72S,GACtC,OAAQA,EAAK9vN,KAAO2mgB,IAAiB3+gB,KACtC,IAAM,KAOjB,OAHIA,EAAOpC,KAAKqW,KAAOjU,EACnBu9gB,EAAQ39gB,KAAKhC,KAAMoC,EAAM4O,EAAM1Q,GAE5BN,MAQXihhB,OAAQ,SAASvtZ,GACb,IAAKA,EACD,OAAO1zH,KAGX,GAAIm0O,EAAM0pS,SAASnqZ,GACf,OAAO1zH,KAAKiT,QAAO,SAAS8tgB,EAAc72S,GACtC,OAAOA,EAAK9vN,KAAOs5G,EAAInxF,KAAKw+e,MAKpC,IAAI3+gB,EAAOpC,KAAKqW,KAAOq9G,EACnBwtZ,EAAYpB,EAAU99gB,KAAKhC,KAAMoC,GAGjCub,EAAM3d,KAAK4zB,QAEf,OADAjW,EAAItH,KAAO6qgB,EAAU9+gB,KACdub,GAQXsiB,OAAQ,SAAS79B,GACbA,EAAOpC,KAAKqW,KAAOjU,EACnB,IAAI8nO,EAAOlqO,KAAK4gP,MAAMx+O,GAStB,GARK8nO,IAEqB,KAAlB9nO,EAAK4vC,OAAO,KACZ5vC,GAAQ,KAEZ8nO,EAAOlqO,KAAK4gP,MAAMx+O,IAGlB8nO,IAASA,EAAK9vN,WAEPpa,KAAK4gP,MAAMx+O,QAMlB,IAHA,IAAI++gB,EAAOnhhB,KAAKiT,QAAO,SAAS8tgB,EAAc72S,GAC1C,OAAOA,EAAK9nO,KAAK4vC,MAAM,EAAG5vC,EAAKtF,UAAYsF,KAEtCvF,EAAI,EAAGA,EAAIskhB,EAAKrkhB,OAAQD,WACtBmD,KAAK4gP,MAAMugS,EAAKtkhB,GAAGuF,MAIlC,OAAOpC,MAWX01E,SAAU,SAASn3C,GACfA,EAAU6W,EAAO7W,GAAW,GAAI,CAC5Bu6Q,QAAQ,EACRtiG,YAAa,QACbvlM,KAAM,SACNw1B,QAAS,OAGb0tM,EAAMspS,aAAal/e,EAAQttB,MAE3B,IAGImwgB,EAAQvkhB,EAHRwkhB,EAAU,GACVC,EAAiB,EACjBC,EAAmB,EAEnBjB,EAAoBnsS,EAAMyoS,YAAY,SAAU58gB,KAAKq/gB,WAAW9gf,EAAQkI,SAAWzmC,KAAKymC,SAAW,KAGvG,IAAK,IAAIrkC,KAAQpC,KAAK4gP,MAClB,GAAK5gP,KAAK4gP,MAAM59O,eAAeZ,GAA/B,CAGA,IAAI8nO,EAAOlqO,KAAK4gP,MAAMx+O,GAElBo/gB,EAAkBt3S,EAAK3rM,QAAQi4K,aAAej4K,EAAQi4K,YAAY/wH,cAClE+wH,EAAc0nU,EAAasD,GAC/B,IAAKhrU,EACD,MAAM,IAAIt3K,MAAMsif,EAAkB,wCAGtC,IAAItB,EAAmBF,EAA6Bh+gB,KAAKhC,KAAMkqO,EAAM1zB,GAEjEirU,EAAUxB,EAAiBj+gB,KAAKhC,KAAMoC,EAAM8nO,EAAMg2S,EAAkBoB,GACxEA,GAAkBG,EAAQd,WAAW7jhB,OAASojhB,EAAiBnE,eAC/DwF,GAAoBE,EAAQZ,UAAU/jhB,OACtCukhB,EAAQv6gB,KAAK26gB,GAGjB,IAAIC,EAGJA,EAAS/C,EAAUgD,sBAAVhD,WAMTe,EAAS2B,EAAQvkhB,OAAQ,GAEzB4ihB,EAAS2B,EAAQvkhB,OAAQ,GAEzB4ihB,EAAS6B,EAAkB,GAE3B7B,EAAS4B,EAAgB,GAEzB5B,EAASY,EAAkBxjhB,OAAQ,GAEnCwjhB,EAKA,IAAIsB,EAAWrjf,EAAQttB,KAAK4H,cAO5B,IALIuogB,EADU,eAAXQ,GAAoC,gBAAXA,GAAqC,SAAXA,GAA8B,eAAXA,EAC5D,IAAI9C,EAAiBwC,EAAiBC,EAAmBG,EAAO5khB,QAEhE,IAAI+hhB,EAAayC,EAAiBC,EAAmBG,EAAO5khB,QAGpED,EAAI,EAAGA,EAAIwkhB,EAAQvkhB,OAAQD,IAC5BukhB,EAAO5zc,OAAO6zc,EAAQxkhB,GAAG8jhB,YACzBS,EAAO5zc,OAAO6zc,EAAQxkhB,GAAGqjhB,iBAAiBjE,mBAE9C,IAAKp/gB,EAAI,EAAGA,EAAIwkhB,EAAQvkhB,OAAQD,IAC5BukhB,EAAO5zc,OAAO6zc,EAAQxkhB,GAAGgkhB,WAG7BO,EAAO5zc,OAAOk0c,GAEd,IAAIz0R,EAAMm0R,EAAOS,WAIjB,OAAOtjf,EAAQttB,KAAK4H,eAEhB,IAAK,aACL,IAAK,cACL,IAAK,aACF,OAAOs7N,EAAMyoS,YAAYr+e,EAAQttB,KAAK4H,cAAeo0O,GACxD,IAAK,OACF,OAAO9Y,EAAMopS,iBAAiBppS,EAAMyoS,YAAY,cAAe3vR,IAElE,IAAK,SACF,OAAQ1uN,EAAQu6Q,OAAUA,EAAO/rO,OAAOkgL,GAAOA,EAClD,QACG,OAAOA,IASlBvE,MAAO,SAAUjmI,EAAO2pL,GACpB,OAAO1jD,EAAMjmI,EAAO2pL,IAOxBizO,WAAY,SAAUr1Z,GAClB,OAAOmqH,EAAMyoS,YAAY,SAAUrB,EAAK8D,WAAWr1Z,KAOvDo1Z,WAAY,SAAU38Z,GAClB,OAAO84Z,EAAK6D,WAAW38Z,KAG/BvsH,EAAOC,QAAUigD,GAEf,CAAC,WAAW,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,GAAG,cAAc,GAAG,iBAAiB,GAAG,YAAY,GAAG,qBAAqB,GAAG,SAAS,GAAG,UAAU,KAAKujN,GAAG,CAAC,SAAS0hR,EAAQnlhB,EAAOC,GAC1O,aACAA,EAAQyqhB,kBAAoB,aAC5BzqhB,EAAQ2qhB,oBAAsB,aAC9B3qhB,EAAQwrhB,sBAAwB,aAChCxrhB,EAAQ2rhB,gCAAkC,aAC1C3rhB,EAAQ4rhB,4BAA8B,aACtC5rhB,EAAQ6rhB,gBAAkB,YAExB,IAAIpkN,GAAG,CAAC,SAASy9M,EAAQnlhB,EAAOC,GAClC,aACA,IAAIsmhB,EAAapB,EAAQ,gBACrBlnS,EAAQknS,EAAQ,WAEpB,SAAS4G,EAAajxgB,EAAMstgB,GACxBt+gB,KAAKgR,KAAOA,EACPstgB,IACDt+gB,KAAKgR,KAAOmjO,EAAMgpS,cAAcn9gB,KAAKgR,OAEzChR,KAAKlD,OAASkD,KAAKgR,KAAKlU,OACxBkD,KAAKmhC,MAAQ,EAEjB8gf,EAAaxkhB,UAAY,IAAIg/gB,EAI7BwF,EAAaxkhB,UAAUk/gB,OAAS,SAAS9/gB,GACrC,OAAOmD,KAAKgR,KAAKq6B,WAAWxuC,IAKhColhB,EAAaxkhB,UAAUq/gB,qBAAuB,SAASC,GACnD,OAAO/8gB,KAAKgR,KAAKoiC,YAAY2pe,IAKjCkF,EAAaxkhB,UAAUo/gB,SAAW,SAAS33c,GACvCllE,KAAK+pU,YAAY7kQ,GAEjB,IAAIrlE,EAASG,KAAKgR,KAAKghC,MAAMhyC,KAAKmhC,MAAOnhC,KAAKmhC,MAAQ+jC,GAEtD,OADAllE,KAAKmhC,OAAS+jC,EACPrlE,GAEX3J,EAAOC,QAAU8rhB,GAEf,CAAC,eAAe,EAAE,UAAU,KAAKpkN,GAAG,CAAC,SAASw9M,EAAQnlhB,EAAOC,GAC/D,aAEA,IAAIg+O,EAAQknS,EAAQ,WAMhBwD,EAAe,WACf7+gB,KAAKgR,KAAO,IAEhB6tgB,EAAaphhB,UAAY,CAKrB+vE,OAAQ,SAASi1C,GACbA,EAAQ0xH,EAAMyoS,YAAY,SAAUn6Z,GACpCziH,KAAKgR,KAAKlK,KAAK27G,IAMnBo/Z,SAAU,WACN,OAAO7hhB,KAAKgR,KAAK3E,KAAK,MAI9BnW,EAAOC,QAAU0ohB,GAEf,CAAC,UAAU,KAAK/gN,GAAG,CAAC,SAASu9M,EAAQnlhB,EAAOC,IAC9C,SAAWs+O,GACX,aAYA,GAXAt+O,EAAQ2iT,QAAS,EACjB3iT,EAAQ4sD,OAAQ,EAChB5sD,EAAQ6zH,QAAS,EACjB7zH,EAAQ+rhB,YAAqC,qBAAhB50W,aAAqD,qBAAf91F,WAInErhF,EAAQ8ohB,WAA+B,qBAAXxqS,EAE5Bt+O,EAAQgshB,WAAmC,qBAAf3qc,WAED,qBAAhB81F,YACPn3K,EAAQurC,MAAO,MAEd,CACD,IAAI8rI,EAAS,IAAIF,YAAY,GAC7B,IACIn3K,EAAQurC,KAEI,IAFG,IAAInB,KAAK,CAACitI,GAAS,CAC9Bv8J,KAAM,oBACPi0D,KAEP,MAAOnkE,GACH,IACI,IACIqhhB,EAAU,IADA1ghB,OAAO2ghB,aAAe3ghB,OAAO4ghB,mBAAqB5ghB,OAAO6ghB,gBAAkB7ghB,OAAO8ghB,eAEhGJ,EAAQ50c,OAAOggG,GACfr3K,EAAQurC,KAAmD,IAA5C0gf,EAAQ3+U,QAAQ,mBAAmBv+H,KAEtD,MAAOnkE,GACH5K,EAAQurC,MAAO,OAKxB1/B,KAAKhC,KAAwB,qBAAXy0O,EAAyBA,OAAS70M,IACrD,IAAIm+R,GAAG,CAAC,SAASs9M,EAAQnlhB,EAAOC,GAClC,aACA,IAAIsmhB,EAAapB,EAAQ,gBAEzB,SAASoD,EAAiBztgB,GAClBA,IACAhR,KAAKgR,KAAOA,EACZhR,KAAKlD,OAASkD,KAAKgR,KAAKlU,OACxBkD,KAAKmhC,MAAQ,GAGrBs9e,EAAiBhhhB,UAAY,IAAIg/gB,EAIjCgC,EAAiBhhhB,UAAUk/gB,OAAS,SAAS9/gB,GACzC,OAAOmD,KAAKgR,KAAKnU,IAKrB4hhB,EAAiBhhhB,UAAUq/gB,qBAAuB,SAASC,GAKvD,IAJA,IAAI0F,EAAO1F,EAAI1xe,WAAW,GACtBq3e,EAAO3F,EAAI1xe,WAAW,GACtBs3e,EAAO5F,EAAI1xe,WAAW,GACtBu3e,EAAO7F,EAAI1xe,WAAW,GACjBxuC,EAAImD,KAAKlD,OAAS,EAAGD,GAAK,IAAKA,EACpC,GAAImD,KAAKgR,KAAKnU,KAAO4lhB,GAAQzihB,KAAKgR,KAAKnU,EAAI,KAAO6lhB,GAAQ1ihB,KAAKgR,KAAKnU,EAAI,KAAO8lhB,GAAQ3ihB,KAAKgR,KAAKnU,EAAI,KAAO+lhB,EACxG,OAAO/lhB,EAIf,OAAQ,GAKZ4hhB,EAAiBhhhB,UAAUo/gB,SAAW,SAAS33c,GAE3C,GADAllE,KAAK+pU,YAAY7kQ,GACL,IAATA,EAEC,OAAO,IAAIsS,WAAW,GAE1B,IAAI33E,EAASG,KAAKgR,KAAKqlM,SAASr2M,KAAKmhC,MAAOnhC,KAAKmhC,MAAQ+jC,GAEzD,OADAllE,KAAKmhC,OAAS+jC,EACPrlE,GAEX3J,EAAOC,QAAUsohB,GAEf,CAAC,eAAe,IAAIzgN,GAAG,CAAC,SAASq9M,EAAQnlhB,EAAOC,GAClD,aAEA,IAAIg+O,EAAQknS,EAAQ,WAOhByD,EAAmB,SAAShihB,GAC5BkD,KAAKgR,KAAO,IAAIwmE,WAAW16E,GAC3BkD,KAAKmhC,MAAQ,GAEjB29e,EAAiBrhhB,UAAY,CAKzB+vE,OAAQ,SAASi1C,GACQ,IAAjBA,EAAM3lH,SAEN2lH,EAAQ0xH,EAAMyoS,YAAY,aAAcn6Z,GACxCziH,KAAKgR,KAAKxE,IAAIi2G,EAAOziH,KAAKmhC,OAC1BnhC,KAAKmhC,OAASshF,EAAM3lH,SAO5B+khB,SAAU,WACN,OAAO7hhB,KAAKgR,OAIpB9a,EAAOC,QAAU2ohB,GAEf,CAAC,UAAU,KAAK7gN,GAAG,CAAC,SAASo9M,EAAQnlhB,EAAOC,GAC9C,aAeA,IAbA,IAAIg+O,EAAQknS,EAAQ,WAChBt6b,EAAUs6b,EAAQ,aAClBuD,EAAavD,EAAQ,gBAUrBwH,EAAW,IAAIpihB,MAAM,KAChB5D,EAAE,EAAGA,EAAE,IAAKA,IACnBgmhB,EAAShmhB,GAAMA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAI,EAE5FgmhB,EAAS,KAAKA,EAAS,KAAK,EAG5B,IA+DIC,EAAa,SAAS31e,EAAKj7B,GAC3B,IAAIihC,EAOJ,KALAjhC,EAAMA,GAAOi7B,EAAIrwC,QACPqwC,EAAIrwC,SAAUoV,EAAMi7B,EAAIrwC,QAGlCq2C,EAAMjhC,EAAI,EACHihC,GAAO,GAA2B,OAAV,IAAXhG,EAAIgG,KAAyBA,IAIjD,OAAIA,EAAM,GAIE,IAARA,EAJkBjhC,EAMdihC,EAAM0ve,EAAS11e,EAAIgG,IAAQjhC,EAAOihC,EAAMjhC,GAIhD6wgB,EAAa,SAAU51e,GACvB,IAAStwC,EAAGu5C,EAAKl0C,EAAG8ghB,EAChBh+e,EAAMmI,EAAIrwC,OAKVmmhB,EAAW,IAAIxihB,MAAU,EAAJukC,GAEzB,IAAKoR,EAAI,EAAGv5C,EAAE,EAAGA,EAAEmoC,GAGf,IAFA9iC,EAAIirC,EAAItwC,MAEA,IAAQomhB,EAAS7se,KAASl0C,OAIlC,IAFA8ghB,EAAQH,EAAS3ghB,IAEL,EAAK+ghB,EAAS7se,KAAS,MAAQv5C,GAAKmmhB,EAAM,MAAtD,CAKA,IAFA9ghB,GAAe,IAAV8ghB,EAAc,GAAiB,IAAVA,EAAc,GAAO,EAExCA,EAAQ,GAAKnmhB,EAAImoC,GACpB9iC,EAAKA,GAAK,EAAiB,GAAXirC,EAAItwC,KACpBmmhB,IAIAA,EAAQ,EAAKC,EAAS7se,KAAS,MAE/Bl0C,EAAI,MACJ+ghB,EAAS7se,KAASl0C,GAElBA,GAAK,MACL+ghB,EAAS7se,KAAS,MAAWl0C,GAAK,GAAM,KACxC+ghB,EAAS7se,KAAS,MAAc,KAAJl0C,GAcpC,OATI+ghB,EAASnmhB,SAAWs5C,IACjB6se,EAAS5sU,SACR4sU,EAAWA,EAAS5sU,SAAS,EAAGjgK,GAEhC6se,EAASnmhB,OAASs5C,GAKnB+9L,EAAM+uS,kBAAkBD,IAanC9shB,EAAQkphB,WAAa,SAAoB37Z,GACrC,OAAI3iC,EAAQk+b,WACDL,EAAWl7Z,EAAK,SApJd,SAAUA,GACvB,IAAIv2E,EAAKjrC,EAAGmxL,EAAI8vV,EAAOtmhB,EAAGumhB,EAAU1/Z,EAAI5mH,OAAQumhB,EAAU,EAG1D,IAAKF,EAAQ,EAAGA,EAAQC,EAASD,IAEP,SAAZ,OADVjhhB,EAAIwhH,EAAIr4E,WAAW83e,MACeA,EAAM,EAAIC,GAElB,SAAZ,OADV/vV,EAAK3vE,EAAIr4E,WAAW83e,EAAM,OAEtBjhhB,EAAI,OAAYA,EAAI,OAAW,KAAOmxL,EAAK,OAC3C8vV,KAGRE,GAAYnhhB,EAAI,IAAQ,EAAMA,EAAI,KAAS,EAAMA,EAAI,MAAW,EAAI,EAWxE,IANIirC,EADA4zC,EAAQohc,WACF,IAAI3qc,WAAW6rc,GAEf,IAAI5ihB,MAAM4ihB,GAIfxmhB,EAAE,EAAGsmhB,EAAQ,EAAGtmhB,EAAIwmhB,EAASF,IAET,SAAZ,OADTjhhB,EAAIwhH,EAAIr4E,WAAW83e,MACaA,EAAM,EAAIC,GAEhB,SAAZ,OADV/vV,EAAK3vE,EAAIr4E,WAAW83e,EAAM,OAEtBjhhB,EAAI,OAAYA,EAAI,OAAW,KAAOmxL,EAAK,OAC3C8vV,KAGJjhhB,EAAI,IAEJirC,EAAItwC,KAAOqF,EACJA,EAAI,MAEXirC,EAAItwC,KAAO,IAAQqF,IAAM,EACzBirC,EAAItwC,KAAO,IAAY,GAAJqF,GACZA,EAAI,OAEXirC,EAAItwC,KAAO,IAAQqF,IAAM,GACzBirC,EAAItwC,KAAO,IAASqF,IAAM,EAAK,GAC/BirC,EAAItwC,KAAO,IAAY,GAAJqF,IAGnBirC,EAAItwC,KAAO,IAAQqF,IAAM,GACzBirC,EAAItwC,KAAO,IAASqF,IAAM,GAAM,GAChCirC,EAAItwC,KAAO,IAASqF,IAAM,EAAK,GAC/BirC,EAAItwC,KAAO,IAAY,GAAJqF,GAI3B,OAAOirC,EAiGAm2e,CAAW5/Z,IAUtBvtH,EAAQiphB,WAAa,SAAoBjye,GACrC,GAAI4zC,EAAQk+b,WACR,OAAO9qS,EAAMyoS,YAAY,aAAczve,GAAK/gC,SAAS,SAUzD,IADA,IAAIvM,EAAS,GAAI+hB,EAAI,EAAGojB,GANxBmI,EAAMgnM,EAAMyoS,YAAY77b,EAAQohc,WAAa,aAAe,QAASh1e,IAMnCrwC,OAC3B8kB,EAAIojB,GAAK,CACZ,IAAIu+e,EAAeT,EAAW31e,EAAKhmC,KAAK6K,IAAI4P,EAFE,MAESojB,IACnD+7C,EAAQohc,WACRtihB,EAAOiH,KAAKi8gB,EAAW51e,EAAIkpK,SAASz0L,EAAG2hgB,KAEvC1jhB,EAAOiH,KAAKi8gB,EAAW51e,EAAI6E,MAAMpwB,EAAG2hgB,KAExC3hgB,EAAI2hgB,EAER,OAAO1jhB,EAAOwM,KAAK,MAKrB,CAAC,eAAe,GAAG,YAAY,GAAG,UAAU,KAAK6xT,GAAG,CAAC,SAASm9M,EAAQnlhB,EAAOC,GAC/E,aACA,IAAI4qF,EAAUs6b,EAAQ,aAClB6C,EAAe7C,EAAQ,kBACvBuD,EAAavD,EAAQ,gBA6CzB,SAASvwY,EAASroB,GACd,OAAOA,EASX,SAAS+ga,EAAkB9/Z,EAAK3gE,GAC5B,IAAK,IAAIlmD,EAAI,EAAGA,EAAI6mH,EAAI5mH,SAAUD,EAC9BkmD,EAAMlmD,GAAyB,IAApB6mH,EAAIr4E,WAAWxuC,GAE9B,OAAOkmD,EAQX,SAAS0ge,EAAkB1ge,GAUvB,IAAIikT,EAAQ,MACRnnW,EAAS,GACTmlC,EAAM+d,EAAMjmD,OACZmU,EAAO9a,EAAQomhB,UAAUx5d,GACzBnhC,EAAI,EACJ8hgB,GAAc,EAChB,IACG,OAAOzygB,GACJ,IAAK,aACF0mB,OAAOE,aAAaz3B,MAAM,KAAM,IAAIo3E,WAAW,IAC/C,MACH,IAAK,aACF7/C,OAAOE,aAAaz3B,MAAM,KAAMw+gB,EAAW,KAGlD,MAAM79gB,GACL2ihB,GAAc,EAKjB,IAAKA,EAAa,CAEf,IADA,IAAIC,EAAY,GACR9mhB,EAAI,EAAGA,EAAIkmD,EAAMjmD,OAAOD,IAC7B8mhB,GAAahsf,OAAOE,aAAakrB,EAAMlmD,IAE/C,OAAO8mhB,EAEP,KAAO/hgB,EAAIojB,GAAOgiU,EAAQ,GACtB,IACiB,UAAT/1V,GAA6B,eAATA,EACpBpR,EAAOiH,KAAK6wB,OAAOE,aAAaz3B,MAAM,KAAM2iD,EAAM/Q,MAAMpwB,EAAGza,KAAK6K,IAAI4P,EAAIolV,EAAOhiU,MAG/EnlC,EAAOiH,KAAK6wB,OAAOE,aAAaz3B,MAAM,KAAM2iD,EAAMszJ,SAASz0L,EAAGza,KAAK6K,IAAI4P,EAAIolV,EAAOhiU,MAEtFpjB,GAAKolV,EAET,MAAOjmW,GACHimW,EAAQ7/V,KAAK0W,MAAMmpV,EAAQ,GAGnC,OAAOnnW,EAAOwM,KAAK,IAYvB,SAASu3gB,EAAqBC,EAAWC,GACrC,IAAK,IAAIjnhB,EAAI,EAAGA,EAAIgnhB,EAAU/mhB,OAAQD,IAClCinhB,EAAQjnhB,GAAKgnhB,EAAUhnhB,GAE3B,OAAOinhB,EAjIX3thB,EAAQgnhB,cAAgB,SAASz5Z,GAE7B,IADA,IAAI7jH,EAAS,GACJhD,EAAI,EAAGA,EAAI6mH,EAAI5mH,OAAQD,IAC5BgD,GAAU83B,OAAOE,aAAiC,IAApB6rF,EAAIr4E,WAAWxuC,IAEjD,OAAOgD,GAEX1J,EAAQonhB,iBAAmB,SAAS/vW,GAChCr3K,EAAQsnhB,aAAa,QAErB,IAEI,OAAO,IAAIl9e,KAAK,CAACitI,GAAS,CACtBv8J,KAAM,oBAGd,MAAOlQ,GAEH,IAEI,IACIqhhB,EAAU,IADA1ghB,OAAO2ghB,aAAe3ghB,OAAO4ghB,mBAAqB5ghB,OAAO6ghB,gBAAkB7ghB,OAAO8ghB,eAGhG,OADAJ,EAAQ50c,OAAOggG,GACR40W,EAAQ3+U,QAAQ,mBAE3B,MAAO1iM,GAGH,MAAM,IAAIm+B,MAAM,sCAwF5B/oC,EAAQ+shB,kBAAoBO,EAiB5B,IAAIjzgB,EAAY,GAGhBA,EAAS,OAAa,CAClB,OAAUs6H,EACV,MAAS,SAASroB,GACd,OAAO+ga,EAAkB/ga,EAAO,IAAIhiH,MAAMgiH,EAAM3lH,UAEpD,YAAe,SAAS2lH,GACpB,OAAOjyG,EAAS,OAAT,WAAkCiyG,GAAO+qD,QAEpD,WAAc,SAAS/qD,GACnB,OAAO+ga,EAAkB/ga,EAAO,IAAIjrC,WAAWirC,EAAM3lH,UAEzD,WAAc,SAAS2lH,GACnB,OAAO+ga,EAAkB/ga,EAAOm8Z,EAAWn8Z,EAAM3lH,WAKzD0T,EAAS,MAAY,CACjB,OAAUizgB,EACV,MAAS34Y,EACT,YAAe,SAASroB,GACpB,OAAQ,IAAIjrC,WAAWirC,GAAQ+qD,QAEnC,WAAc,SAAS/qD,GACnB,OAAO,IAAIjrC,WAAWirC,IAE1B,WAAc,SAASA,GACnB,OAAOm8Z,EAAWn8Z,KAK1BjyG,EAAS,YAAkB,CACvB,OAAU,SAASiyG,GACf,OAAOgha,EAAkB,IAAIjsc,WAAWirC,KAE5C,MAAS,SAASA,GACd,OAAOmha,EAAqB,IAAIpsc,WAAWirC,GAAQ,IAAIhiH,MAAMgiH,EAAM8yF,cAEvE,YAAezqE,EACf,WAAc,SAASroB,GACnB,OAAO,IAAIjrC,WAAWirC,IAE1B,WAAc,SAASA,GACnB,OAAOm8Z,EAAW,IAAIpnc,WAAWirC,MAKzCjyG,EAAS,WAAiB,CACtB,OAAUizgB,EACV,MAAS,SAAShha,GACd,OAAOmha,EAAqBnha,EAAO,IAAIhiH,MAAMgiH,EAAM3lH,UAEvD,YAAe,SAAS2lH,GACpB,OAAOA,EAAM+qD,QAEjB,WAAc1iC,EACd,WAAc,SAASroB,GACnB,OAAOm8Z,EAAWn8Z,KAK1BjyG,EAAS,WAAiB,CACtB,OAAUizgB,EACV,MAAS,SAAShha,GACd,OAAOmha,EAAqBnha,EAAO,IAAIhiH,MAAMgiH,EAAM3lH,UAEvD,YAAe,SAAS2lH,GACpB,OAAOjyG,EAAS,WAAT,WAAsCiyG,GAAO+qD,QAExD,WAAc,SAAS/qD,GACnB,OAAOmha,EAAqBnha,EAAO,IAAIjrC,WAAWirC,EAAM3lH,UAE5D,WAAcguI,GAWlB30I,EAAQymhB,YAAc,SAASY,EAAY/6Z,GAMvC,GALKA,IAGDA,EAAQ,KAEP+6Z,EACD,OAAO/6Z,EAEXtsH,EAAQsnhB,aAAaD,GACrB,IAAIuG,EAAY5thB,EAAQomhB,UAAU95Z,GAElC,OADajyG,EAAUuzgB,GAAWvG,GAAY/6Z,IAUlDtsH,EAAQomhB,UAAY,SAAS95Z,GACzB,MAAqB,kBAAVA,EACA,SAEmC,mBAA1CtlH,OAAOM,UAAU2O,SAASpK,KAAKygH,GACxB,QAEP1hC,EAAQk+b,YAAcL,EAAWr8e,KAAKkgF,GAC/B,aAEP1hC,EAAQohc,YAAc1/Z,aAAiBjrC,WAChC,aAEPuJ,EAAQmhc,aAAez/Z,aAAiB6qD,YACjC,mBADX,GAUJn3K,EAAQsnhB,aAAe,SAASxsgB,GAE5B,IADgB8vE,EAAQ9vE,EAAK4H,eAEzB,MAAM,IAAIqmB,MAAMjuB,EAAO,sCAG/B9a,EAAQunhB,iBAAmB,MAC3BvnhB,EAAQwnhB,kBAAoB,EAO5BxnhB,EAAQg0J,OAAS,SAASzmC,GACtB,IACIn6E,EAAM1sC,EADNkvI,EAAM,GAEV,IAAKlvI,EAAI,EAAGA,GAAK6mH,GAAO,IAAI5mH,OAAQD,IAEhCkvI,GAAO,QADPxiG,EAAOm6E,EAAIr4E,WAAWxuC,IACC,GAAK,IAAM,IAAM0sC,EAAKn9B,SAAS,IAAIq5E,cAE9D,OAAOsmD,GAQX51I,EAAQynhB,gBAAkB,SAASj4T,GAC/B,IAAK,IAAI5gG,KAAUm5Z,EACf,GAAKA,EAAal7gB,eAAe+hH,IAG7Bm5Z,EAAan5Z,GAAQopT,QAAUxoN,EAC/B,OAAOu4T,EAAan5Z,GAG5B,OAAO,MAQX5uH,EAAQ0nhB,SAAW,SAAU/6gB,GACzB,MAAkD,oBAA3C3F,OAAOM,UAAU2O,SAASpK,KAAKc,KAIxC,CAAC,iBAAiB,EAAE,eAAe,GAAG,YAAY,KAAKq7T,GAAG,CAAC,SAASk9M,EAAQnlhB,EAAOC,GACrF,aACA,IAAI8rhB,EAAe5G,EAAQ,kBACvBqD,EAAmBrD,EAAQ,sBAC3BoD,EAAmBpD,EAAQ,sBAC3BlnS,EAAQknS,EAAQ,WAChB0B,EAAM1B,EAAQ,eACd2I,EAAW3I,EAAQ,cACnBt6b,EAAUs6b,EAAQ,aAClB4I,EAAa5I,EAAQ,YAQzB,SAAS8C,EAAWntgB,EAAMkzgB,GACtBlkhB,KAAK4gP,MAAQ,GACb5gP,KAAKkkhB,YAAcA,EACflzgB,GACAhR,KAAK4kB,KAAK5T,GAGlBmtgB,EAAW1ghB,UAAY,CAMnB0mhB,eAAgB,SAASC,GACrB,IAAIzF,EAAY3+gB,KAAKqkhB,OAAOj9S,WAAW,GACvC,GAAIu3S,IAAcyF,EACd,MAAM,IAAIllf,MAAM,gDAAuDi1M,EAAMhqF,OAAOw0X,GAAa,cAAgBxqS,EAAMhqF,OAAOi6X,GAAqB,MAM3JE,sBAAuB,WACnBtkhB,KAAKukhB,WAAavkhB,KAAKqkhB,OAAO76S,QAAQ,GACtCxpO,KAAKwkhB,wBAA0BxkhB,KAAKqkhB,OAAO76S,QAAQ,GACnDxpO,KAAKykhB,4BAA8BzkhB,KAAKqkhB,OAAO76S,QAAQ,GACvDxpO,KAAK0khB,kBAAoB1khB,KAAKqkhB,OAAO76S,QAAQ,GAC7CxpO,KAAK2khB,eAAiB3khB,KAAKqkhB,OAAO76S,QAAQ,GAC1CxpO,KAAK4khB,iBAAmB5khB,KAAKqkhB,OAAO76S,QAAQ,GAE5CxpO,KAAK6khB,iBAAmB7khB,KAAKqkhB,OAAO76S,QAAQ,GAI5CxpO,KAAKw+gB,WAAax+gB,KAAKqkhB,OAAOj9S,WAAWpnO,KAAK6khB,kBAG9C7khB,KAAKw+gB,WAAayF,EAAW7E,WAAWp/gB,KAAKw+gB,aAQjDsG,2BAA4B,WACxB9khB,KAAK+khB,sBAAwB/khB,KAAKqkhB,OAAO76S,QAAQ,GACjDxpO,KAAKglhB,cAAgBhlhB,KAAKqkhB,OAAOj9S,WAAW,GAC5CpnO,KAAKilhB,cAAgBjlhB,KAAKqkhB,OAAO76S,QAAQ,GACzCxpO,KAAKukhB,WAAavkhB,KAAKqkhB,OAAO76S,QAAQ,GACtCxpO,KAAKwkhB,wBAA0BxkhB,KAAKqkhB,OAAO76S,QAAQ,GACnDxpO,KAAKykhB,4BAA8BzkhB,KAAKqkhB,OAAO76S,QAAQ,GACvDxpO,KAAK0khB,kBAAoB1khB,KAAKqkhB,OAAO76S,QAAQ,GAC7CxpO,KAAK2khB,eAAiB3khB,KAAKqkhB,OAAO76S,QAAQ,GAC1CxpO,KAAK4khB,iBAAmB5khB,KAAKqkhB,OAAO76S,QAAQ,GAE5CxpO,KAAKklhB,oBAAsB,GAM3B,IALA,IAEIC,EACAC,EACAC,EAJAC,EAAgBtlhB,KAAK+khB,sBAAwB,GACrC,EAIGO,GACXH,EAAenlhB,KAAKqkhB,OAAO76S,QAAQ,GACnC47S,EAAmBplhB,KAAKqkhB,OAAO76S,QAAQ,GACvC67S,EAAkBrlhB,KAAKqkhB,OAAOj9S,WAAWg+S,GACzCplhB,KAAKklhB,oBAAoBC,GAAgB,CACrChhgB,GAAIghgB,EACJrohB,OAAQsohB,EACR1lhB,MAAO2lhB,IAOnBE,kCAAmC,WAI/B,GAHAvlhB,KAAKwlhB,6BAA+BxlhB,KAAKqkhB,OAAO76S,QAAQ,GACxDxpO,KAAKylhB,mCAAqCzlhB,KAAKqkhB,OAAO76S,QAAQ,GAC9DxpO,KAAK0lhB,WAAa1lhB,KAAKqkhB,OAAO76S,QAAQ,GAClCxpO,KAAK0lhB,WAAa,EAClB,MAAM,IAAIxmf,MAAM,wCAMxBymf,eAAgB,WACZ,IAAI9ohB,EAAGqtO,EACP,IAAKrtO,EAAI,EAAGA,EAAImD,KAAK4gP,MAAM9jP,OAAQD,IAC/BqtO,EAAOlqO,KAAK4gP,MAAM/jP,GAClBmD,KAAKqkhB,OAAOtid,SAASmoK,EAAK07S,mBAC1B5lhB,KAAKmkhB,eAAepH,EAAI6D,mBACxB12S,EAAK27S,cAAc7lhB,KAAKqkhB,QACxBn6S,EAAK47S,cAMbC,eAAgB,WACZ,IAAI77S,EAGJ,IADAlqO,KAAKqkhB,OAAOtid,SAAS/hE,KAAK4khB,kBACnB5khB,KAAKqkhB,OAAOj9S,WAAW,KAAO21S,EAAI+D,sBACrC52S,EAAO,IAAI85S,EAAS,CAChBgC,MAAOhmhB,KAAKgmhB,OACbhmhB,KAAKkkhB,cACH+B,gBAAgBjmhB,KAAKqkhB,QAC1BrkhB,KAAK4gP,MAAM95O,KAAKojO,IAMxBg8S,iBAAkB,WACd,IAAIjxgB,EAASjV,KAAKqkhB,OAAOvH,qBAAqBC,EAAI4E,uBAClD,IAAgB,IAAZ1sgB,EACA,MAAM,IAAIiqB,MAAM,uDAiBpB,GAfAl/B,KAAKqkhB,OAAOtid,SAAS9sD,GACrBjV,KAAKmkhB,eAAepH,EAAI4E,uBACxB3hhB,KAAKskhB,wBAaDtkhB,KAAKukhB,aAAepwS,EAAMupS,kBAAoB19gB,KAAKwkhB,0BAA4BrwS,EAAMupS,kBAAoB19gB,KAAKykhB,8BAAgCtwS,EAAMupS,kBAAoB19gB,KAAK0khB,oBAAsBvwS,EAAMupS,kBAAoB19gB,KAAK2khB,iBAAmBxwS,EAAMwpS,kBAAoB39gB,KAAK4khB,mBAAqBzwS,EAAMwpS,iBAAkB,CAcjU,GAbA39gB,KAAKgmhB,OAAQ,GAaG,KADhB/wgB,EAASjV,KAAKqkhB,OAAOvH,qBAAqBC,EAAI+E,kCAE1C,MAAM,IAAI5if,MAAM,yEAEpBl/B,KAAKqkhB,OAAOtid,SAAS9sD,GACrBjV,KAAKmkhB,eAAepH,EAAI+E,iCACxB9hhB,KAAKulhB,oCAGLvlhB,KAAKqkhB,OAAOtid,SAAS/hE,KAAKylhB,oCAC1BzlhB,KAAKmkhB,eAAepH,EAAIgF,6BACxB/hhB,KAAK8khB,+BAGbqB,cAAe,SAASn1gB,GACpB,IAAIC,EAAOkjO,EAAMooS,UAAUvrgB,GACd,WAATC,GAAsB8vE,EAAQohc,WAI9BnihB,KAAKqkhB,OADS,eAATpzgB,EACS,IAAIytgB,EAAiB1tgB,GAGrB,IAAIytgB,EAAiBtqS,EAAMyoS,YAAY,aAAc5rgB,IANnEhR,KAAKqkhB,OAAS,IAAIpC,EAAajxgB,EAAMhR,KAAKkkhB,YAAY5F,wBAa9D15f,KAAM,SAAS5T,GACXhR,KAAKmmhB,cAAcn1gB,GACnBhR,KAAKkmhB,mBACLlmhB,KAAK+lhB,iBACL/lhB,KAAK2lhB,mBAIbzvhB,EAAOC,QAAUgohB,GAEf,CAAC,qBAAqB,GAAG,WAAW,GAAG,cAAc,GAAG,iBAAiB,GAAG,YAAY,GAAG,qBAAqB,GAAG,UAAU,GAAG,aAAa,KAAKiI,GAAG,CAAC,SAAS/K,EAAQnlhB,EAAOC,GAChL,aACA,IAAI8rhB,EAAe5G,EAAQ,kBACvBlnS,EAAQknS,EAAQ,WAChBS,EAAmBT,EAAQ,sBAC3B4I,EAAa5I,EAAQ,YAQzB,SAAS2I,EAASzlf,EAAS2lf,GACvBlkhB,KAAKu+B,QAAUA,EACfv+B,KAAKkkhB,YAAcA,EAEvBF,EAASvmhB,UAAY,CAKjB4ohB,YAAa,WAET,OAAmC,KAAZ,EAAfrmhB,KAAKsmhB,UAMjBC,QAAS,WAEL,OAAmC,QAAZ,KAAfvmhB,KAAKsmhB,UASjBE,yBAA0B,SAASnC,EAAQtrgB,EAAMjc,GAC7C,OAAO,WACH,IAAI2phB,EAAgBpC,EAAOljf,MAC3Bkjf,EAAOtid,SAAShpD,GAChB,IAAI2tgB,EAAqBrC,EAAOxH,SAAS//gB,GAGzC,OAFAunhB,EAAOtid,SAAS0kd,GAETC,IAYfC,eAAgB,SAAStC,EAAQtrgB,EAAMjc,EAAQ05M,EAAawlU,GACxD,OAAO,WAEH,IAAI0K,EAAqBvyS,EAAMyoS,YAAYpmU,EAAY6lU,oBAAqBr8gB,KAAKk8gB,wBAC7E0K,EAAuBpwU,EAAYusB,WAAW2jT,GAElD,GAAIE,EAAqB9phB,SAAWk/gB,EAChC,MAAM,IAAI98e,MAAM,yCAGpB,OAAO0nf,IAOff,cAAe,SAASxB,GACpB,IAAI7tU,EAAaqwU,EAwBjB,GAjBAxC,EAAO7lP,KAAK,IAYZx+R,KAAK8mhB,eAAiBzC,EAAO76S,QAAQ,GACrCq9S,EAAyBxC,EAAO76S,QAAQ,GACxCxpO,KAAKmjf,SAAWkhC,EAAOj9S,WAAWpnO,KAAK8mhB,gBACvCzC,EAAO7lP,KAAKqoP,IAEgB,GAAxB7mhB,KAAK+7gB,iBAAkD,GAA1B/7gB,KAAKg8gB,iBAClC,MAAM,IAAI98e,MAAM,qIAIpB,GAAoB,QADpBs3K,EAAc29B,EAAMypS,gBAAgB59gB,KAAK2lN,oBAErC,MAAM,IAAIzmL,MAAM,+BAAiCi1M,EAAMhqF,OAAOnqJ,KAAK2lN,mBAAqB,0BAA4B3lN,KAAKmjf,SAAW,KAWxI,GATAnjf,KAAKq+gB,aAAe,IAAIvC,EACxB97gB,KAAKq+gB,aAAatC,eAAiB/7gB,KAAK+7gB,eACxC/7gB,KAAKq+gB,aAAarC,iBAAmBh8gB,KAAKg8gB,iBAC1Ch8gB,KAAKq+gB,aAAa31R,MAAQ1oP,KAAK0oP,MAC/B1oP,KAAKq+gB,aAAa14T,kBAAoB3lN,KAAK2lN,kBAC3C3lN,KAAKq+gB,aAAanC,qBAAuBl8gB,KAAKwmhB,yBAAyBnC,EAAQA,EAAOljf,MAAOnhC,KAAK+7gB,eAAgBvlU,GAClHx2M,KAAKq+gB,aAAaxxR,WAAa7sP,KAAK2mhB,eAAetC,EAAQA,EAAOljf,MAAOnhC,KAAK+7gB,eAAgBvlU,EAAax2M,KAAKg8gB,kBAG5Gh8gB,KAAKkkhB,YAAY6C,aACjB/mhB,KAAKq+gB,aAAelqS,EAAMyoS,YAAY,SAAU58gB,KAAKq+gB,aAAaxxR,cAC9Do3R,EAAWv7R,MAAM1oP,KAAKq+gB,gBAAkBr+gB,KAAK0oP,OAC7C,MAAM,IAAIxpN,MAAM,mCAS5B+mf,gBAAiB,SAAS5B,GAiBtB,GAhBArkhB,KAAKglhB,cAAgBX,EAAOj9S,WAAW,GACvCpnO,KAAKilhB,cAAgBZ,EAAO76S,QAAQ,GACpCxpO,KAAKsmhB,QAAUjC,EAAO76S,QAAQ,GAC9BxpO,KAAK2lN,kBAAoB0+T,EAAOj9S,WAAW,GAC3CpnO,KAAKo3O,KAAOitS,EAAOrH,WACnBh9gB,KAAK0oP,MAAQ27R,EAAO76S,QAAQ,GAC5BxpO,KAAK+7gB,eAAiBsI,EAAO76S,QAAQ,GACrCxpO,KAAKg8gB,iBAAmBqI,EAAO76S,QAAQ,GACvCxpO,KAAK8mhB,eAAiBzC,EAAO76S,QAAQ,GACrCxpO,KAAKgnhB,kBAAoB3C,EAAO76S,QAAQ,GACxCxpO,KAAKinhB,kBAAoB5C,EAAO76S,QAAQ,GACxCxpO,KAAKknhB,gBAAkB7C,EAAO76S,QAAQ,GACtCxpO,KAAKmnhB,uBAAyB9C,EAAO76S,QAAQ,GAC7CxpO,KAAKonhB,uBAAyB/C,EAAO76S,QAAQ,GAC7CxpO,KAAK4lhB,kBAAoBvB,EAAO76S,QAAQ,GAEpCxpO,KAAKqmhB,cACL,MAAM,IAAInnf,MAAM,mCAGpBl/B,KAAKmjf,SAAWkhC,EAAOj9S,WAAWpnO,KAAK8mhB,gBACvC9mhB,KAAKqnhB,gBAAgBhD,GACrBrkhB,KAAKsnhB,qBAAqBjD,GAC1BrkhB,KAAKu+gB,YAAc8F,EAAOj9S,WAAWpnO,KAAKinhB,mBAG1CjnhB,KAAKoa,OAAoC,GAA9Bpa,KAAKonhB,yBAMpBE,qBAAsB,SAASjD,GAE3B,GAAKrkhB,KAAKu4J,YAAY,GAAtB,CAKA,IAAIgvX,EAAc,IAAItF,EAAajihB,KAAKu4J,YAAY,GAAQ74J,OAIxDM,KAAKg8gB,mBAAqB7nS,EAAMwpS,mBAChC39gB,KAAKg8gB,iBAAmBuL,EAAY/9S,QAAQ,IAE5CxpO,KAAK+7gB,iBAAmB5nS,EAAMwpS,mBAC9B39gB,KAAK+7gB,eAAiBwL,EAAY/9S,QAAQ,IAE1CxpO,KAAK4lhB,oBAAsBzxS,EAAMwpS,mBACjC39gB,KAAK4lhB,kBAAoB2B,EAAY/9S,QAAQ,IAE7CxpO,KAAKknhB,kBAAoB/yS,EAAMwpS,mBAC/B39gB,KAAKknhB,gBAAkBK,EAAY/9S,QAAQ,MAOnD69S,gBAAiB,SAAShD,GACtB,IACIc,EACAC,EACAC,EAHAvtgB,EAAQusgB,EAAOljf,MAOnB,IAFAnhC,KAAKu4J,YAAcv4J,KAAKu4J,aAAe,GAEhC8rX,EAAOljf,MAAQrpB,EAAQ9X,KAAKgnhB,mBAC/B7B,EAAed,EAAO76S,QAAQ,GAC9B47S,EAAmBf,EAAO76S,QAAQ,GAClC67S,EAAkBhB,EAAOj9S,WAAWg+S,GAEpCplhB,KAAKu4J,YAAY4sX,GAAgB,CAC7BhhgB,GAAIghgB,EACJrohB,OAAQsohB,EACR1lhB,MAAO2lhB,IAOnBS,WAAY,WACR,GAAI9lhB,KAAKumhB,UACLvmhB,KAAKmjf,SAAW8gC,EAAW7E,WAAWp/gB,KAAKmjf,UAC3Cnjf,KAAKu+gB,YAAc0F,EAAW7E,WAAWp/gB,KAAKu+gB,iBAC3C,CACH,IAAIiJ,EAAQxnhB,KAAKynhB,4BACH,OAAVD,IACAxnhB,KAAKmjf,SAAWqkC,GAEpB,IAAIE,EAAW1nhB,KAAK2nhB,+BACH,OAAbD,IACA1nhB,KAAKu+gB,YAAcmJ,KAS/BD,0BAA2B,WACvB,IAAIG,EAAa5nhB,KAAKu4J,YAAY,OAClC,GAAIqvX,EAAY,CACZ,IAAIL,EAAc,IAAItF,EAAa2F,EAAWlohB,OAG9C,OAA+B,IAA3B6nhB,EAAY/9S,QAAQ,IAKpBy6S,EAAWv7R,MAAM1oP,KAAKmjf,YAAcokC,EAAY/9S,QAAQ,GAJjD,KAQJy6S,EAAW7E,WAAWmI,EAAYngT,WAAWwgT,EAAW9qhB,OAAS,IAE5E,OAAO,MAOX6qhB,6BAA8B,WAC1B,IAAIE,EAAgB7nhB,KAAKu4J,YAAY,OACrC,GAAIsvX,EAAe,CACf,IAAIN,EAAc,IAAItF,EAAa4F,EAAcnohB,OAGjD,OAA+B,IAA3B6nhB,EAAY/9S,QAAQ,IAKpBy6S,EAAWv7R,MAAM1oP,KAAKu+gB,eAAiBgJ,EAAY/9S,QAAQ,GAJpD,KAQJy6S,EAAW7E,WAAWmI,EAAYngT,WAAWygT,EAAc/qhB,OAAS,IAE/E,OAAO,OAGf5G,EAAOC,QAAU6thB,GAEf,CAAC,qBAAqB,EAAE,WAAW,GAAG,iBAAiB,GAAG,UAAU,KAAK8D,GAAG,CAAC,SAASzM,EAAQnlhB,EAAOC,GAEvG,aAEA,IAMI4nhB,EAAO,IAEXrmf,EARgB2jf,EAAQ,sBAAsB3jf,QAQvCqmf,EANS1C,EAAQ,iBACRA,EAAQ,iBACRA,EAAQ,yBAMxBnlhB,EAAOC,QAAU4nhB,GACf,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,KAAKgK,GAAG,CAAC,SAAS1M,EAAQnlhB,EAAOC,GACzH,aAGA,IAAI6xhB,EAAe3M,EAAQ,qBACvBlnS,EAAQknS,EAAQ,kBAChBjtS,EAAUitS,EAAQ,mBAClBx1gB,EAAMw1gB,EAAQ,mBACd4M,EAAU5M,EAAQ,kBA2GlB6M,EAAU,SAAS3pf,GAErBv+B,KAAKu+B,QAAU41M,EAAMz8M,OAAO,CAC1BstF,OAlGwB,EAmGxBD,OA/Fc,EAgGdoja,UAAW,MACXC,WAAY,GACZC,SAAU,EACV5ra,SArGwB,EAsGxBj/F,GAAI,IACH+gB,GAAW,IAEd,IAAIokD,EAAM3iF,KAAKu+B,QAEXokD,EAAIwnJ,KAAQxnJ,EAAIylc,WAAa,EAC/Bzlc,EAAIylc,YAAczlc,EAAIylc,WAGfzlc,EAAI2lc,MAAS3lc,EAAIylc,WAAa,GAAOzlc,EAAIylc,WAAa,KAC7Dzlc,EAAIylc,YAAc,IAGpBpohB,KAAKmB,IAAS,EACdnB,KAAK6F,IAAS,GACd7F,KAAKuohB,OAAS,EACdvohB,KAAKwohB,OAAS,GAEdxohB,KAAKyohB,KAAO,IAAIR,EAChBjohB,KAAKyohB,KAAKC,UAAY,EAEtB,IAAIliW,EAASwhW,EAAaW,aACxB3ohB,KAAKyohB,KACL9lc,EAAIqiC,MACJriC,EAAIoiC,OACJpiC,EAAIylc,WACJzlc,EAAI0lc,SACJ1lc,EAAI85B,UAGN,GAzIoB,IAyIhB+pE,EACF,MAAM,IAAItnJ,MAAMr5B,EAAI2gL,IAGlB7jG,EAAI0sC,QACN24Z,EAAaY,iBAAiB5ohB,KAAKyohB,KAAM9lc,EAAI0sC,SA6JjD,SAASw5Z,EAAQpma,EAAOlkF,GACtB,IAAIuqf,EAAW,IAAIZ,EAAQ3pf,GAK3B,GAHAuqf,EAAShihB,KAAK27G,GAAO,GAGjBqma,EAAS3nhB,IAAO,MAAM2nhB,EAASjjhB,IAEnC,OAAOijhB,EAASjphB,OArIlBqohB,EAAQzqhB,UAAUqJ,KAAO,SAASkK,EAAMtO,GACtC,IAEI8jL,EAAQuiW,EAFRN,EAAOzohB,KAAKyohB,KACZN,EAAYnohB,KAAKu+B,QAAQ4pf,UAG7B,GAAInohB,KAAKuohB,MAAS,OAAO,EAEzBQ,EAASrmhB,MAAWA,EAAQA,GAAkB,IAATA,EAvLjB,EADA,EA6LlB+lhB,EAAKhma,MAFa,kBAATzxG,EAEIo9N,EAAQk1S,WAAWtygB,GAEnBA,EAGfy3gB,EAAKO,QAAU,EACfP,EAAKQ,SAAWR,EAAKhma,MAAM3lH,OAE3B,EAAG,CAQD,GAPuB,IAAnB2rhB,EAAKC,YACPD,EAAK7la,OAAS,IAAIuxH,EAAM+0S,KAAKf,GAC7BM,EAAKU,SAAW,EAChBV,EAAKC,UAAYP,GArMD,KAuMlB3hW,EAASwhW,EAAaa,QAAQJ,EAAMM,KAxMlB,IA0MaviW,EAG7B,OAFAxmL,KAAKophB,MAAM5iW,GACXxmL,KAAKuohB,OAAQ,GACN,GAEc,IAAnBE,EAAKC,WAAsC,IAAlBD,EAAKQ,UAjNhB,IAiNkCF,KAC1B,WAApB/ohB,KAAKu+B,QAAQ/gB,GACfxd,KAAKqphB,OAAOj7S,EAAQk7S,cAAcn1S,EAAMo1S,UAAUd,EAAK7la,OAAQ6la,EAAKU,YAEpEnphB,KAAKqphB,OAAOl1S,EAAMo1S,UAAUd,EAAK7la,OAAQ6la,EAAKU,mBAG1CV,EAAKQ,SAAW,GAAwB,IAAnBR,EAAKC,YArNhB,IAqNoCliW,GAGxD,OA3NoB,IA2NhBuiW,IACFviW,EAASwhW,EAAawB,WAAWxphB,KAAKyohB,MACtCzohB,KAAKophB,MAAM5iW,GACXxmL,KAAKuohB,OAAQ,EA5NK,IA6NX/hW,IAgBX0hW,EAAQzqhB,UAAU4rhB,OAAS,SAASriL,GAClChnW,KAAKwohB,OAAO1hhB,KAAKkgW,IAanBkhL,EAAQzqhB,UAAU2rhB,MAAQ,SAAS5iW,GA3Pb,IA6PhBA,IACsB,WAApBxmL,KAAKu+B,QAAQ/gB,GACfxd,KAAKH,OAASG,KAAKwohB,OAAOn8gB,KAAK,IAE/BrM,KAAKH,OAASs0O,EAAMs1S,cAAczphB,KAAKwohB,SAG3CxohB,KAAKwohB,OAAS,GACdxohB,KAAKmB,IAAMqlL,EACXxmL,KAAK6F,IAAM7F,KAAKyohB,KAAK5ihB,KA+EvB1P,EAAQ+xhB,QAAUA,EAClB/xhB,EAAQ0yhB,QAAUA,EAClB1yhB,EAAQ6nhB,WAxBR,SAAoBv7Z,EAAOlkF,GAGzB,OAFAA,EAAUA,GAAW,IACb4rM,KAAM,EACP0+S,EAAQpma,EAAOlkF,IAsBxBpoC,EAAQmyhB,KAVR,SAAc7la,EAAOlkF,GAGnB,OAFAA,EAAUA,GAAW,IACb+pf,MAAO,EACRO,EAAQpma,EAAOlkF,KAQtB,CAAC,iBAAiB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,iBAAiB,KAAKmrf,GAAG,CAAC,SAASrO,EAAQnlhB,EAAOC,GAC1I,aAGA,IAAIwzhB,EAAetO,EAAQ,qBACvBlnS,EAAQknS,EAAQ,kBAChBjtS,EAAUitS,EAAQ,mBAClBn5gB,EAAIm5gB,EAAQ,oBACZx1gB,EAAMw1gB,EAAQ,mBACd4M,EAAU5M,EAAQ,kBAClBuO,EAAWvO,EAAQ,mBA+EnBwO,EAAU,SAAStrf,GAErBv+B,KAAKu+B,QAAU41M,EAAMz8M,OAAO,CAC1Bywf,UAAW,MACXC,WAAY,EACZ5qgB,GAAI,IACH+gB,GAAW,IAEd,IAAIokD,EAAM3iF,KAAKu+B,QAIXokD,EAAIwnJ,KAAQxnJ,EAAIylc,YAAc,GAAOzlc,EAAIylc,WAAa,KACxDzlc,EAAIylc,YAAczlc,EAAIylc,WACC,IAAnBzlc,EAAIylc,aAAoBzlc,EAAIylc,YAAc,OAI3Czlc,EAAIylc,YAAc,GAAOzlc,EAAIylc,WAAa,KACzC7pf,GAAWA,EAAQ6pf,aACvBzlc,EAAIylc,YAAc,IAKfzlc,EAAIylc,WAAa,IAAQzlc,EAAIylc,WAAa,IAGf,KAAR,GAAjBzlc,EAAIylc,cACPzlc,EAAIylc,YAAc,IAItBpohB,KAAKmB,IAAS,EACdnB,KAAK6F,IAAS,GACd7F,KAAKuohB,OAAS,EACdvohB,KAAKwohB,OAAS,GAEdxohB,KAAKyohB,KAAS,IAAIR,EAClBjohB,KAAKyohB,KAAKC,UAAY,EAEtB,IAAIliW,EAAUmjW,EAAaG,aACzB9phB,KAAKyohB,KACL9lc,EAAIylc,YAGN,GAAI5hW,IAAWtkL,EAAE6nhB,KACf,MAAM,IAAI7qf,MAAMr5B,EAAI2gL,IAGtBxmL,KAAKqvH,OAAS,IAAIu6Z,EAElBD,EAAaK,iBAAiBhqhB,KAAKyohB,KAAMzohB,KAAKqvH,SAuLhD,SAASq4H,EAAQjlI,EAAOlkF,GACtB,IAAI0rf,EAAW,IAAIJ,EAAQtrf,GAK3B,GAHA0rf,EAASnjhB,KAAK27G,GAAO,GAGjBwna,EAAS9ohB,IAAO,MAAM8ohB,EAASpkhB,IAEnC,OAAOokhB,EAASpqhB,OAjKlBgqhB,EAAQpshB,UAAUqJ,KAAO,SAASkK,EAAMtO,GACtC,IAEI8jL,EAAQuiW,EACRmB,EAAe17M,EAAM27M,EAHrB1B,EAAOzohB,KAAKyohB,KACZN,EAAYnohB,KAAKu+B,QAAQ4pf,UAI7B,GAAInohB,KAAKuohB,MAAS,OAAO,EACzBQ,EAASrmhB,MAAWA,EAAQA,GAAkB,IAATA,EAAiBR,EAAEkohB,SAAWlohB,EAAEmohB,WAKnE5B,EAAKhma,MAFa,kBAATzxG,EAEIo9N,EAAQk8S,cAAct5gB,GAEtBA,EAGfy3gB,EAAKO,QAAU,EACfP,EAAKQ,SAAWR,EAAKhma,MAAM3lH,OAE3B,EAAG,CASD,GARuB,IAAnB2rhB,EAAKC,YACPD,EAAK7la,OAAS,IAAIuxH,EAAM+0S,KAAKf,GAC7BM,EAAKU,SAAW,EAChBV,EAAKC,UAAYP,IAGnB3hW,EAASmjW,EAAajiS,QAAQ+gS,EAAMvmhB,EAAEmohB,eAEvBnohB,EAAEqohB,cAAgB/jW,IAAWtkL,EAAE6nhB,KAG5C,OAFA/phB,KAAKophB,MAAM5iW,GACXxmL,KAAKuohB,OAAQ,GACN,EAGLE,EAAKU,WACgB,IAAnBV,EAAKC,WAAmBliW,IAAWtkL,EAAEqohB,cAAmC,IAAlB9B,EAAKQ,UAAkBF,IAAU7mhB,EAAEkohB,YAEnE,WAApBpqhB,KAAKu+B,QAAQ/gB,IAEf0sgB,EAAgB97S,EAAQ00S,WAAW2F,EAAK7la,OAAQ6la,EAAKU,UAErD36M,EAAOi6M,EAAKU,SAAWe,EACvBC,EAAU/7S,EAAQ20S,WAAW0F,EAAK7la,OAAQsna,GAG1CzB,EAAKU,SAAW36M,EAChBi6M,EAAKC,UAAYP,EAAY35M,EACzBA,GAAQr6F,EAAMq2S,SAAS/B,EAAK7la,OAAQ6la,EAAK7la,OAAQsna,EAAe17M,EAAM,GAE1ExuU,KAAKqphB,OAAOc,IAGZnqhB,KAAKqphB,OAAOl1S,EAAMo1S,UAAUd,EAAK7la,OAAQ6la,EAAKU,kBAI5CV,EAAKQ,SAAW,GAAMziW,IAAWtkL,EAAEqohB,cAM7C,OAJI/jW,IAAWtkL,EAAEqohB,eACfxB,EAAQ7mhB,EAAEkohB,UAGRrB,IAAU7mhB,EAAEkohB,WACd5jW,EAASmjW,EAAac,WAAWzqhB,KAAKyohB,MACtCzohB,KAAKophB,MAAM5iW,GACXxmL,KAAKuohB,OAAQ,EACN/hW,IAAWtkL,EAAE6nhB,OAgBxBF,EAAQpshB,UAAU4rhB,OAAS,SAASriL,GAClChnW,KAAKwohB,OAAO1hhB,KAAKkgW,IAanB6iL,EAAQpshB,UAAU2rhB,MAAQ,SAAS5iW,GAE7BA,IAAWtkL,EAAE6nhB,OACS,WAApB/phB,KAAKu+B,QAAQ/gB,GAGfxd,KAAKH,OAASG,KAAKwohB,OAAOn8gB,KAAK,IAE/BrM,KAAKH,OAASs0O,EAAMs1S,cAAczphB,KAAKwohB,SAG3CxohB,KAAKwohB,OAAS,GACdxohB,KAAKmB,IAAMqlL,EACXxmL,KAAK6F,IAAM7F,KAAKyohB,KAAK5ihB,KAgFvB1P,EAAQ0zhB,QAAUA,EAClB1zhB,EAAQuxP,QAAUA,EAClBvxP,EAAQ8nhB,WAnBR,SAAoBx7Z,EAAOlkF,GAGzB,OAFAA,EAAUA,GAAW,IACb4rM,KAAM,EACPud,EAAQjlI,EAAOlkF,IAiBxBpoC,EAAQu0hB,OAAUhjS,GAEhB,CAAC,iBAAiB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,iBAAiB,KAAK4jQ,GAAG,CAAC,SAAS+vB,EAAQnlhB,EAAOC,GACrL,aAGA,IAAIw0hB,EAAmC,qBAAfnzc,YACgB,qBAAhBu+H,aACe,qBAAfC,WAGxB7/M,EAAQuhC,OAAS,SAAUsI,GAEzB,IADA,IAAI3X,EAAU5nB,MAAMhD,UAAUu0C,MAAMhwC,KAAK7B,UAAW,GAC7CkoB,EAAQvrB,QAAQ,CACrB,IAAIwrB,EAASD,EAAQusD,QACrB,GAAKtsD,EAAL,CAEA,GAAuB,kBAAZA,EACT,MAAM,IAAI7rB,UAAU6rB,EAAS,sBAG/B,IAAK,IAAIrlB,KAAKqlB,EACRA,EAAOtlB,eAAeC,KACxB+8B,EAAI/8B,GAAKqlB,EAAOrlB,KAKtB,OAAO+8B,GAKT7pC,EAAQozhB,UAAY,SAAUp8e,EAAK+3B,GACjC,OAAI/3B,EAAIrwC,SAAWooE,EAAe/3B,EAC9BA,EAAIkpK,SAAmBlpK,EAAIkpK,SAAS,EAAGnxI,IAC3C/3B,EAAIrwC,OAASooE,EACN/3B,IAIT,IAAIy9e,EAAU,CACZJ,SAAU,SAAUhjf,EAAMrmB,EAAK0pgB,EAAU7lf,EAAK8lf,GAC5C,GAAI3pgB,EAAIk1L,UAAY7uK,EAAK6uK,SACvB7uK,EAAKh7B,IAAI2U,EAAIk1L,SAASw0U,EAAUA,EAAS7lf,GAAM8lf,QAIjD,IAAI,IAAIjuhB,EAAE,EAAGA,EAAEmoC,EAAKnoC,IAClB2qC,EAAKsjf,EAAYjuhB,GAAKskB,EAAI0pgB,EAAWhuhB,IAIzC4shB,cAAe,SAASjB,GACtB,IAAI3rhB,EAAGkF,EAAGijC,EAAKmO,EAAK6zT,EAAOnnW,EAI3B,IADAmlC,EAAM,EACDnoC,EAAE,EAAGkF,EAAEymhB,EAAO1rhB,OAAQD,EAAEkF,EAAGlF,IAC9BmoC,GAAOwjf,EAAO3rhB,GAAGC,OAMnB,IAFA+C,EAAS,IAAI23E,WAAWxyC,GACxBmO,EAAM,EACDt2C,EAAE,EAAGkF,EAAEymhB,EAAO1rhB,OAAQD,EAAEkF,EAAGlF,IAC9BmqW,EAAQwhL,EAAO3rhB,GACfgD,EAAO2M,IAAIw6V,EAAO7zT,GAClBA,GAAO6zT,EAAMlqW,OAGf,OAAO+C,IAIPkrhB,EAAY,CACdP,SAAU,SAAUhjf,EAAMrmB,EAAK0pgB,EAAU7lf,EAAK8lf,GAC5C,IAAI,IAAIjuhB,EAAE,EAAGA,EAAEmoC,EAAKnoC,IAClB2qC,EAAKsjf,EAAYjuhB,GAAKskB,EAAI0pgB,EAAWhuhB,IAIzC4shB,cAAe,SAASjB,GACtB,MAAO,GAAGhggB,OAAOpoB,MAAM,GAAIoohB,KAO/BryhB,EAAQ60hB,SAAW,SAAU9ve,GACvBA,GACF/kD,EAAQ+yhB,KAAQ1xc,WAChBrhF,EAAQ80hB,MAAQl1U,YAChB5/M,EAAQ+0hB,MAAQl1U,WAChB7/M,EAAQuhC,OAAOvhC,EAASy0hB,KAExBz0hB,EAAQ+yhB,KAAQzohB,MAChBtK,EAAQ80hB,MAAQxqhB,MAChBtK,EAAQ+0hB,MAAQzqhB,MAChBtK,EAAQuhC,OAAOvhC,EAAS40hB,KAI5B50hB,EAAQ60hB,SAASL,IACf,IAAIQ,GAAG,CAAC,SAAS9P,EAAQnlhB,EAAOC,GAElC,aAGA,IAAIg+O,EAAQknS,EAAQ,YAQhB+P,GAAe,EACfC,GAAmB,EAEvB,IAAM1zf,OAAOE,aAAaz3B,MAAM,KAAM,CAAC,IAAO,MAAMuzU,GAAMy3M,GAAe,EACzE,IAAMzzf,OAAOE,aAAaz3B,MAAM,KAAM,IAAIo3E,WAAW,IAAO,MAAMm8P,GAAM03M,GAAmB,EAO3F,IADA,IAAIxI,EAAW,IAAI1uS,EAAM+0S,KAAK,KACrBrshB,EAAE,EAAGA,EAAE,IAAKA,IACnBgmhB,EAAShmhB,GAAMA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAI,EA4D5F,SAASyshB,EAAcn8e,EAAKnI,GAE1B,GAAIA,EAAM,QACHmI,EAAIkpK,UAAYg1U,IAAuBl+e,EAAIkpK,UAAY+0U,GAC1D,OAAOzzf,OAAOE,aAAaz3B,MAAM,KAAM+zO,EAAMo1S,UAAUp8e,EAAKnI,IAKhE,IADA,IAAInlC,EAAS,GACLhD,EAAE,EAAGA,EAAImoC,EAAKnoC,IACpBgD,GAAU83B,OAAOE,aAAasV,EAAItwC,IAEpC,OAAOgD,EAtETgjhB,EAAS,KAAKA,EAAS,KAAK,EAI5B1shB,EAAQmthB,WAAa,SAAU5/Z,GAC7B,IAAIv2E,EAAKjrC,EAAGmxL,EAAI8vV,EAAOtmhB,EAAGumhB,EAAU1/Z,EAAI5mH,OAAQumhB,EAAU,EAG1D,IAAKF,EAAQ,EAAGA,EAAQC,EAASD,IAEV,SAAZ,OADTjhhB,EAAIwhH,EAAIr4E,WAAW83e,MACaA,EAAM,EAAIC,GAElB,SAAZ,OADV/vV,EAAK3vE,EAAIr4E,WAAW83e,EAAM,OAExBjhhB,EAAI,OAAYA,EAAI,OAAW,KAAOmxL,EAAK,OAC3C8vV,KAGJE,GAAWnhhB,EAAI,IAAO,EAAIA,EAAI,KAAQ,EAAIA,EAAI,MAAU,EAAI,EAO9D,IAHAirC,EAAM,IAAIgnM,EAAM+0S,KAAK7F,GAGhBxmhB,EAAE,EAAGsmhB,EAAQ,EAAGtmhB,EAAIwmhB,EAASF,IAEX,SAAZ,OADTjhhB,EAAIwhH,EAAIr4E,WAAW83e,MACaA,EAAM,EAAIC,GAElB,SAAZ,OADV/vV,EAAK3vE,EAAIr4E,WAAW83e,EAAM,OAExBjhhB,EAAI,OAAYA,EAAI,OAAW,KAAOmxL,EAAK,OAC3C8vV,KAGAjhhB,EAAI,IAENirC,EAAItwC,KAAOqF,EACFA,EAAI,MAEbirC,EAAItwC,KAAO,IAAQqF,IAAM,EACzBirC,EAAItwC,KAAO,IAAY,GAAJqF,GACVA,EAAI,OAEbirC,EAAItwC,KAAO,IAAQqF,IAAM,GACzBirC,EAAItwC,KAAO,IAAQqF,IAAM,EAAI,GAC7BirC,EAAItwC,KAAO,IAAY,GAAJqF,IAGnBirC,EAAItwC,KAAO,IAAQqF,IAAM,GACzBirC,EAAItwC,KAAO,IAAQqF,IAAM,GAAK,GAC9BirC,EAAItwC,KAAO,IAAQqF,IAAM,EAAI,GAC7BirC,EAAItwC,KAAO,IAAY,GAAJqF,GAIvB,OAAOirC,GAqBTh3C,EAAQmzhB,cAAgB,SAASn8e,GAC/B,OAAOm8e,EAAcn8e,EAAKA,EAAIrwC,SAKhC3G,EAAQm0hB,cAAgB,SAAS5ma,GAE/B,IADA,IAAIv2E,EAAM,IAAIgnM,EAAM+0S,KAAKxla,EAAI5mH,QACrBD,EAAE,EAAGmoC,EAAImI,EAAIrwC,OAAQD,EAAImoC,EAAKnoC,IACpCswC,EAAItwC,GAAK6mH,EAAIr4E,WAAWxuC,GAE1B,OAAOswC,GAKTh3C,EAAQ4shB,WAAa,SAAU51e,EAAKj7B,GAClC,IAAIrV,EAAGu5C,EAAKl0C,EAAG8ghB,EACXh+e,EAAM9yB,GAAOi7B,EAAIrwC,OAKjBmmhB,EAAW,IAAIxihB,MAAU,EAAJukC,GAEzB,IAAKoR,EAAI,EAAGv5C,EAAE,EAAGA,EAAEmoC,GAGjB,IAFA9iC,EAAIirC,EAAItwC,MAEA,IAAQomhB,EAAS7se,KAASl0C,OAIlC,IAFA8ghB,EAAQH,EAAS3ghB,IAEL,EAAK+ghB,EAAS7se,KAAS,MAAQv5C,GAAKmmhB,EAAM,MAAtD,CAKA,IAFA9ghB,GAAe,IAAV8ghB,EAAc,GAAiB,IAAVA,EAAc,GAAO,EAExCA,EAAQ,GAAKnmhB,EAAImoC,GACtB9iC,EAAKA,GAAK,EAAiB,GAAXirC,EAAItwC,KACpBmmhB,IAIEA,EAAQ,EAAKC,EAAS7se,KAAS,MAE/Bl0C,EAAI,MACN+ghB,EAAS7se,KAASl0C,GAElBA,GAAK,MACL+ghB,EAAS7se,KAAS,MAAWl0C,GAAK,GAAM,KACxC+ghB,EAAS7se,KAAS,MAAc,KAAJl0C,GAIhC,OAAOonhB,EAAcrG,EAAU7se,IAUjCjgD,EAAQ2shB,WAAa,SAAS31e,EAAKj7B,GACjC,IAAIihC,EAOJ,KALAjhC,EAAMA,GAAOi7B,EAAIrwC,QACPqwC,EAAIrwC,SAAUoV,EAAMi7B,EAAIrwC,QAGlCq2C,EAAMjhC,EAAI,EACHihC,GAAO,GAA2B,OAAV,IAAXhG,EAAIgG,KAAyBA,IAIjD,OAAIA,EAAM,GAIE,IAARA,EAJkBjhC,EAMdihC,EAAM0ve,EAAS11e,EAAIgG,IAAQjhC,EAAOihC,EAAMjhC,IAGhD,CAAC,WAAW,KAAKo5gB,GAAG,CAAC,SAASjQ,EAAQnlhB,EAAOC,GAC/C,aA+BAD,EAAOC,QAzBP,SAAiB8+V,EAAO9nT,EAAKnI,EAAKmO,GAKhC,IAJA,IAAIwxD,EAAc,MAARswP,EAAiB,EACvBrwP,EAAOqwP,IAAU,GAAM,MAAS,EAChCp0V,EAAI,EAEO,IAARmkC,GAAW,CAKhBA,GADAnkC,EAAImkC,EAAM,IAAO,IAAOA,EAGxB,GAEE4/D,EAAMA,GADND,EAAMA,EAAKx3D,EAAIgG,KAAS,GACR,UACPtyC,GAEX8jG,GAAM,MACNC,GAAM,MAGR,OAAQD,EAAMC,GAAM,GAAM,IAK1B,IAAI2mb,GAAG,CAAC,SAASlQ,EAAQnlhB,EAAOC,GAClCD,EAAOC,QAAU,CAGfk0hB,WAAoB,EACpBmB,gBAAoB,EACpBC,aAAoB,EACpBC,aAAoB,EACpBtB,SAAoB,EACpBuB,QAAoB,EACpBC,QAAoB,EAKpB7B,KAAoB,EACpBQ,aAAoB,EACpBsB,YAAoB,EACpBC,SAAoB,EACpBC,gBAAoB,EACpBC,cAAoB,EAEpBC,aAAoB,EAIpBC,iBAA0B,EAC1BC,aAA0B,EAC1BC,mBAA0B,EAC1BC,uBAA0B,EAG1BC,WAA0B,EAC1BC,eAA0B,EAC1BC,MAA0B,EAC1BC,QAA0B,EAC1BC,mBAA0B,EAG1BC,SAA0B,EAC1BC,OAA0B,EAE1BC,UAA0B,EAG1BC,WAA0B,IAG1B,IAAIC,GAAG,CAAC,SAAS1R,EAAQnlhB,EAAOC,GAClC,aAuBA,IAAI62hB,EAfJ,WAGE,IAFA,IAAI9qhB,EAAGiwK,EAAQ,GAEPtxK,EAAG,EAAGA,EAAI,IAAKA,IAAI,CACzBqB,EAAIrB,EACJ,IAAI,IAAI+gB,EAAG,EAAGA,EAAI,EAAGA,IACnB1f,EAAQ,EAAFA,EAAQ,WAAcA,IAAM,EAAOA,IAAM,EAEjDiwK,EAAMtxK,GAAKqB,EAGb,OAAOiwK,EAIM86W,GAiBf/2hB,EAAOC,QAdP,SAAei2S,EAAKj/P,EAAKnI,EAAKmO,GAC5B,IAAI1wC,EAAIuqhB,EACJ15e,EAAMH,EAAMnO,EAEhBonQ,IAAc,EAEd,IAAK,IAAIvvS,EAAIs2C,EAAKt2C,EAAIy2C,EAAKz2C,IACzBuvS,EAAOA,IAAQ,EAAK3pS,EAAmB,KAAhB2pS,EAAMj/P,EAAItwC,KAGnC,OAAgB,EAARuvS,IAKR,IAAI3lE,GAAG,CAAC,SAAS40S,EAAQnlhB,EAAOC,GAClC,aAEA,IAAIg+O,EAAUknS,EAAQ,mBAClB6R,EAAU7R,EAAQ,WAClB8R,EAAU9R,EAAQ,aAClB3yR,EAAU2yR,EAAQ,WAClBx1gB,EAAQw1gB,EAAQ,cAmGpB,SAASl6gB,EAAIsnhB,EAAM3xZ,GAEjB,OADA2xZ,EAAK5ihB,IAAMA,EAAIixH,GACRA,EAGT,SAASs2Z,EAAKnshB,GACZ,OAASA,GAAM,IAAOA,EAAK,EAAI,EAAI,GAGrC,SAASsia,EAAKp2X,GAA6B,IAAtB,IAAInI,EAAMmI,EAAIrwC,SAAiBkoC,GAAO,GAAKmI,EAAInI,GAAO,EAS3E,SAASqof,EAAc5E,GACrB,IAAI7nhB,EAAI6nhB,EAAK1jd,MAGT//B,EAAMpkC,EAAE2gU,QACRv8R,EAAMyjf,EAAKC,YACb1jf,EAAMyjf,EAAKC,WAED,IAAR1jf,IAEJmvM,EAAMq2S,SAAS/B,EAAK7la,OAAQhiH,EAAE0shB,YAAa1shB,EAAE2shB,YAAavof,EAAKyjf,EAAKU,UACpEV,EAAKU,UAAYnkf,EACjBpkC,EAAE2shB,aAAevof,EACjByjf,EAAK+E,WAAaxof,EAClByjf,EAAKC,WAAa1jf,EAClBpkC,EAAE2gU,SAAWv8R,EACK,IAAdpkC,EAAE2gU,UACJ3gU,EAAE2shB,YAAc,IAKpB,SAASE,EAAkB7shB,EAAGuoD,GAC5B+je,EAAMQ,gBAAgB9shB,EAAIA,EAAE+shB,aAAe,EAAI/shB,EAAE+shB,aAAe,EAAI/shB,EAAEgthB,SAAWhthB,EAAE+shB,YAAaxke,GAChGvoD,EAAE+shB,YAAc/shB,EAAEgthB,SAClBP,EAAczshB,EAAE6nhB,MAIlB,SAASoF,EAASjthB,EAAGsJ,GACnBtJ,EAAE0shB,YAAY1shB,EAAE2gU,WAAar3T,EAS/B,SAAS4jhB,EAAYlthB,EAAGsJ,GAGtBtJ,EAAE0shB,YAAY1shB,EAAE2gU,WAAcr3T,IAAM,EAAK,IACzCtJ,EAAE0shB,YAAY1shB,EAAE2gU,WAAiB,IAAJr3T,EAW/B,SAAS6jhB,EAAStF,EAAMt7e,EAAKr1B,EAAOotD,GAClC,IAAIlgC,EAAMyjf,EAAKQ,SAGf,OADIjkf,EAAMkgC,IAAQlgC,EAAMkgC,GACZ,IAARlgC,EAAoB,GAExByjf,EAAKQ,UAAYjkf,EAEjBmvM,EAAMq2S,SAASr9e,EAAKs7e,EAAKhma,MAAOgma,EAAKO,QAAShkf,EAAKltB,GAC3B,IAApB2wgB,EAAK1jd,MAAMkoV,KACbw7H,EAAKxzL,MAAQk4L,EAAQ1E,EAAKxzL,MAAO9nT,EAAKnI,EAAKltB,GAGhB,IAApB2wgB,EAAK1jd,MAAMkoV,OAClBw7H,EAAKxzL,MAAQvsG,EAAM+/R,EAAKxzL,MAAO9nT,EAAKnI,EAAKltB,IAG3C2wgB,EAAKO,SAAWhkf,EAChByjf,EAAKuF,UAAYhpf,EAEVA,GAaT,SAASipf,EAAcrthB,EAAGsthB,GACxB,IAEI1khB,EACAw7B,EAHAmpf,EAAevthB,EAAEwthB,iBACjBC,EAAOzthB,EAAEgthB,SAGTU,EAAW1thB,EAAE2thB,YACbC,EAAa5thB,EAAE4thB,WACfviN,EAASrrU,EAAEgthB,SAAYhthB,EAAE6thB,OAnIVC,IAoIf9thB,EAAEgthB,UAAYhthB,EAAE6thB,OApIDC,KAoI2B,EAE1CC,EAAO/thB,EAAEc,OAETkthB,EAAQhuhB,EAAEiuhB,OACVl1c,EAAQ/4E,EAAE+4E,KAMVm1c,EAASluhB,EAAEgthB,SAhJD,IAiJVmB,EAAaJ,EAAKN,EAAOC,EAAW,GACpCU,EAAaL,EAAKN,EAAOC,GAQzB1thB,EAAE2thB,aAAe3thB,EAAEquhB,aACrBd,IAAiB,GAKfK,EAAa5thB,EAAEsuhB,YAAaV,EAAa5thB,EAAEsuhB,WAI/C,GAaE,GAAIP,GAXJnlhB,EAAQ0khB,GAWSI,KAAkBU,GAC/BL,EAAKnlhB,EAAQ8khB,EAAW,KAAOS,GAC/BJ,EAAKnlhB,KAA0BmlhB,EAAKN,IACpCM,IAAOnlhB,KAAwBmlhB,EAAKN,EAAO,GAH/C,CAaAA,GAAQ,EACR7khB,IAMA,UAESmlhB,IAAON,KAAUM,IAAOnlhB,IAAUmlhB,IAAON,KAAUM,IAAOnlhB,IAC1DmlhB,IAAON,KAAUM,IAAOnlhB,IAAUmlhB,IAAON,KAAUM,IAAOnlhB,IAC1DmlhB,IAAON,KAAUM,IAAOnlhB,IAAUmlhB,IAAON,KAAUM,IAAOnlhB,IAC1DmlhB,IAAON,KAAUM,IAAOnlhB,IAAUmlhB,IAAON,KAAUM,IAAOnlhB,IAC1D6khB,EAAOS,GAOhB,GAHA9pf,EA/MY,KA+MO8pf,EAAST,GAC5BA,EAAOS,EAhNK,IAkNR9pf,EAAMspf,EAAU,CAGlB,GAFA1thB,EAAEuuhB,YAAcjB,EAChBI,EAAWtpf,EACPA,GAAOwpf,EACT,MAEFO,EAAaJ,EAAKN,EAAOC,EAAW,GACpCU,EAAaL,EAAKN,EAAOC,YAEnBJ,EAAYv0c,EAAKu0c,EAAYU,IAAU3iN,GAA4B,MAAjBkiN,GAE5D,OAAIG,GAAY1thB,EAAEsuhB,UACTZ,EAEF1thB,EAAEsuhB,UAcX,SAASE,EAAYxuhB,GACnB,IACIqC,EAAGpC,EAAGoB,EAAGothB,EAAM3ra,EADf4ra,EAAU1uhB,EAAE6thB,OAKhB,EAAG,CAqBD,GApBAY,EAAOzuhB,EAAE2uhB,YAAc3uhB,EAAEsuhB,UAAYtuhB,EAAEgthB,SAoBnChthB,EAAEgthB,UAAY0B,GAAWA,EAxQZZ,KAwQsC,CAErDv6S,EAAMq2S,SAAS5phB,EAAEc,OAAQd,EAAEc,OAAQ4thB,EAASA,EAAS,GACrD1uhB,EAAEuuhB,aAAeG,EACjB1uhB,EAAEgthB,UAAY0B,EAEd1uhB,EAAE+shB,aAAe2B,EAUjBrshB,EADApC,EAAID,EAAE4uhB,UAEN,GACEvthB,EAAIrB,EAAEq9B,OAAOh7B,GACbrC,EAAEq9B,KAAKh7B,GAAMhB,GAAKqthB,EAAUrthB,EAAIqthB,EAAU,UACjCzuhB,GAGXoC,EADApC,EAAIyuhB,EAEJ,GACErthB,EAAIrB,EAAE+4E,OAAO12E,GACbrC,EAAE+4E,KAAK12E,GAAMhB,GAAKqthB,EAAUrthB,EAAIqthB,EAAU,UAIjCzuhB,GAEXwuhB,GAAQC,EAEV,GAAwB,IAApB1uhB,EAAE6nhB,KAAKQ,SACT,MAmBF,GAJApohB,EAAIkthB,EAASnthB,EAAE6nhB,KAAM7nhB,EAAEc,OAAQd,EAAEgthB,SAAWhthB,EAAEsuhB,UAAWG,GACzDzuhB,EAAEsuhB,WAAaruhB,EAGXD,EAAEsuhB,UAAYtuhB,EAAEsxZ,QAhUR,EAyUV,IARAxuS,EAAM9iH,EAAEgthB,SAAWhthB,EAAEsxZ,OACrBtxZ,EAAE6uhB,MAAQ7uhB,EAAEc,OAAOgiH,GAGnB9iH,EAAE6uhB,OAAU7uhB,EAAE6uhB,OAAS7uhB,EAAE8uhB,WAAc9uhB,EAAEc,OAAOgiH,EAAM,IAAM9iH,EAAE+uhB,UAIvD/uhB,EAAEsxZ,SAEPtxZ,EAAE6uhB,OAAU7uhB,EAAE6uhB,OAAS7uhB,EAAE8uhB,WAAc9uhB,EAAEc,OAAOgiH,EA3UxC,EA2UwD,IAAM9iH,EAAE+uhB,UAExE/uhB,EAAE+4E,KAAK+pC,EAAM9iH,EAAEiuhB,QAAUjuhB,EAAEq9B,KAAKr9B,EAAE6uhB,OAClC7uhB,EAAEq9B,KAAKr9B,EAAE6uhB,OAAS/ra,EAClBA,IACA9iH,EAAEsxZ,WACEtxZ,EAAEsuhB,UAAYtuhB,EAAEsxZ,OAjVZ,aA0VLtxZ,EAAEsuhB,UAxVQR,KAwVyC,IAApB9thB,EAAE6nhB,KAAKQ,UAmJjD,SAAS2G,EAAahvhB,EAAGi6Y,GAIvB,IAHA,IAAIg1I,EACAC,IAEK,CAMP,GAAIlvhB,EAAEsuhB,UArfWR,IAqfgB,CAE/B,GADAU,EAAYxuhB,GACRA,EAAEsuhB,UAvfSR,KAzEC,IAgkBmB7zI,EACjC,OA5egB,EA8elB,GAAoB,IAAhBj6Y,EAAEsuhB,UACJ,MA2BJ,GApBAW,EAAY,EACRjvhB,EAAEsuhB,WArgBM,IAugBVtuhB,EAAE6uhB,OAAU7uhB,EAAE6uhB,OAAS7uhB,EAAE8uhB,WAAc9uhB,EAAEc,OAAOd,EAAEgthB,SAvgBxC,EAugB+D,IAAMhthB,EAAE+uhB,UACjFE,EAAYjvhB,EAAE+4E,KAAK/4E,EAAEgthB,SAAWhthB,EAAEiuhB,QAAUjuhB,EAAEq9B,KAAKr9B,EAAE6uhB,OACrD7uhB,EAAEq9B,KAAKr9B,EAAE6uhB,OAAS7uhB,EAAEgthB,UAOJ,IAAdiC,GAA4BjvhB,EAAEgthB,SAAWiC,GAAejvhB,EAAE6thB,OA9gB7CC,MAmhBf9thB,EAAEmvhB,aAAe9B,EAAcrthB,EAAGivhB,IAGhCjvhB,EAAEmvhB,cAxhBM,EAoiBV,GAPAD,EAAS5C,EAAM8C,UAAUpvhB,EAAGA,EAAEgthB,SAAWhthB,EAAEuuhB,YAAavuhB,EAAEmvhB,aA7hBhD,GA+hBVnvhB,EAAEsuhB,WAAatuhB,EAAEmvhB,aAKbnvhB,EAAEmvhB,cAAgBnvhB,EAAEqvhB,gBAAuCrvhB,EAAEsuhB,WApiBvD,EAoiB+E,CACvFtuhB,EAAEmvhB,eACF,GACEnvhB,EAAEgthB,WAEFhthB,EAAE6uhB,OAAU7uhB,EAAE6uhB,OAAS7uhB,EAAE8uhB,WAAc9uhB,EAAEc,OAAOd,EAAEgthB,SAziB5C,EAyiBmE,IAAMhthB,EAAE+uhB,UACjFE,EAAYjvhB,EAAE+4E,KAAK/4E,EAAEgthB,SAAWhthB,EAAEiuhB,QAAUjuhB,EAAEq9B,KAAKr9B,EAAE6uhB,OACrD7uhB,EAAEq9B,KAAKr9B,EAAE6uhB,OAAS7uhB,EAAEgthB,eAKQ,MAAnBhthB,EAAEmvhB,cACbnvhB,EAAEgthB,gBAGFhthB,EAAEgthB,UAAYhthB,EAAEmvhB,aAChBnvhB,EAAEmvhB,aAAe,EACjBnvhB,EAAE6uhB,MAAQ7uhB,EAAEc,OAAOd,EAAEgthB,UAErBhthB,EAAE6uhB,OAAU7uhB,EAAE6uhB,OAAS7uhB,EAAE8uhB,WAAc9uhB,EAAEc,OAAOd,EAAEgthB,SAAW,IAAMhthB,EAAE+uhB,eAavEG,EAAS5C,EAAM8C,UAAUpvhB,EAAG,EAAGA,EAAEc,OAAOd,EAAEgthB,WAE1ChthB,EAAEsuhB,YACFtuhB,EAAEgthB,WAEJ,GAAIkC,IAEFrC,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WACT,OAhkBgB,EAskBtB,OADA9nhB,EAAEsxZ,OAAWtxZ,EAAEgthB,SAAYsC,EAAgBtvhB,EAAEgthB,SAAWsC,EAtpBpC,IAupBhBr1I,GAEF4yI,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,UAvkBS,EACA,GA4kBlB9nhB,EAAEuvhB,WAEJ1C,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WAllBS,EACA,EA8lBxB,SAAS0H,EAAaxvhB,EAAGi6Y,GAOvB,IANA,IAAIg1I,EACAC,EAEAO,IAGK,CAMP,GAAIzvhB,EAAEsuhB,UAxnBWR,IAwnBgB,CAE/B,GADAU,EAAYxuhB,GACRA,EAAEsuhB,UA1nBSR,KAzEC,IAmsBmB7zI,EACjC,OA/mBgB,EAinBlB,GAAoB,IAAhBj6Y,EAAEsuhB,UAAmB,MA0C3B,GApCAW,EAAY,EACRjvhB,EAAEsuhB,WAtoBM,IAwoBVtuhB,EAAE6uhB,OAAU7uhB,EAAE6uhB,OAAS7uhB,EAAE8uhB,WAAc9uhB,EAAEc,OAAOd,EAAEgthB,SAxoBxC,EAwoB+D,IAAMhthB,EAAE+uhB,UACjFE,EAAYjvhB,EAAE+4E,KAAK/4E,EAAEgthB,SAAWhthB,EAAEiuhB,QAAUjuhB,EAAEq9B,KAAKr9B,EAAE6uhB,OACrD7uhB,EAAEq9B,KAAKr9B,EAAE6uhB,OAAS7uhB,EAAEgthB,UAMtBhthB,EAAE2thB,YAAc3thB,EAAEmvhB,aAClBnvhB,EAAE0vhB,WAAa1vhB,EAAEuuhB,YACjBvuhB,EAAEmvhB,aAAeG,EAEC,IAAdL,GAA0BjvhB,EAAE2thB,YAAc3thB,EAAEqvhB,gBAC5CrvhB,EAAEgthB,SAAWiC,GAAcjvhB,EAAE6thB,OAnpBhBC,MAwpBf9thB,EAAEmvhB,aAAe9B,EAAcrthB,EAAGivhB,GAG9BjvhB,EAAEmvhB,cAAgB,IAtsBA,IAusBlBnvhB,EAAE67G,UA9pBI,IA8pBwB77G,EAAEmvhB,cAA8BnvhB,EAAEgthB,SAAWhthB,EAAEuuhB,YAAc,QAK7FvuhB,EAAEmvhB,aAAeG,IAMjBtvhB,EAAE2thB,aAzqBM,GAyqBsB3thB,EAAEmvhB,cAAgBnvhB,EAAE2thB,YAAa,CACjE8B,EAAazvhB,EAAEgthB,SAAWhthB,EAAEsuhB,UA1qBlB,EAirBVY,EAAS5C,EAAM8C,UAAUpvhB,EAAGA,EAAEgthB,SAAW,EAAGhthB,EAAE0vhB,WAAY1vhB,EAAE2thB,YAjrBlD,GAurBV3thB,EAAEsuhB,WAAatuhB,EAAE2thB,YAAY,EAC7B3thB,EAAE2thB,aAAe,EACjB,KACQ3thB,EAAEgthB,UAAYyC,IAElBzvhB,EAAE6uhB,OAAU7uhB,EAAE6uhB,OAAS7uhB,EAAE8uhB,WAAc9uhB,EAAEc,OAAOd,EAAEgthB,SA5rB5C,EA4rBmE,IAAMhthB,EAAE+uhB,UACjFE,EAAYjvhB,EAAE+4E,KAAK/4E,EAAEgthB,SAAWhthB,EAAEiuhB,QAAUjuhB,EAAEq9B,KAAKr9B,EAAE6uhB,OACrD7uhB,EAAEq9B,KAAKr9B,EAAE6uhB,OAAS7uhB,EAAEgthB,gBAGK,MAAlBhthB,EAAE2thB,aAKb,GAJA3thB,EAAE2vhB,gBAAkB,EACpB3vhB,EAAEmvhB,aAAeG,EACjBtvhB,EAAEgthB,WAEEkC,IAEFrC,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WACT,OA5rBc,OAisBb,GAAI9nhB,EAAE2vhB,iBAgBX,IATAT,EAAS5C,EAAM8C,UAAUpvhB,EAAG,EAAGA,EAAEc,OAAOd,EAAEgthB,SAAS,MAIjDH,EAAiB7shB,GAAG,GAGtBA,EAAEgthB,WACFhthB,EAAEsuhB,YACuB,IAArBtuhB,EAAE6nhB,KAAKC,UACT,OAltBgB,OAwtBlB9nhB,EAAE2vhB,gBAAkB,EACpB3vhB,EAAEgthB,WACFhthB,EAAEsuhB,YAYN,OARItuhB,EAAE2vhB,kBAGJT,EAAS5C,EAAM8C,UAAUpvhB,EAAG,EAAGA,EAAEc,OAAOd,EAAEgthB,SAAS,IAEnDhthB,EAAE2vhB,gBAAkB,GAEtB3vhB,EAAEsxZ,OAAStxZ,EAAEgthB,SAAWsC,EAActvhB,EAAEgthB,SAAWsC,EAtzB/B,IAuzBhBr1I,GAEF4yI,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,UAvuBS,EACA,GA4uBlB9nhB,EAAEuvhB,WAEJ1C,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WAlvBS,EACA,EAw5BxB,IAQI8H,EARAC,EAAS,SAAUC,EAAaC,EAAUC,EAAaC,EAAWphe,GACpEzvD,KAAK0whB,YAAcA,EACnB1whB,KAAK2whB,SAAWA,EAChB3whB,KAAK4whB,YAAcA,EACnB5whB,KAAK6whB,UAAYA,EACjB7whB,KAAKyvD,KAAOA,GA+Cd,SAASqhe,IACP9whB,KAAKyohB,KAAO,KACZzohB,KAAKwmL,OAAS,EACdxmL,KAAKsthB,YAAc,KACnBtthB,KAAK+whB,iBAAmB,EACxB/whB,KAAKuthB,YAAc,EACnBvthB,KAAKuhU,QAAU,EACfvhU,KAAKitZ,KAAO,EACZjtZ,KAAKgxhB,OAAS,KACdhxhB,KAAKixhB,QAAU,EACfjxhB,KAAK+kH,OAhgCW,EAigChB/kH,KAAKkxhB,YAAc,EAEnBlxhB,KAAKyuhB,OAAS,EACdzuhB,KAAKmxhB,OAAS,EACdnxhB,KAAK6uhB,OAAS,EAEd7uhB,KAAK0B,OAAS,KAQd1B,KAAKuvhB,YAAc,EAKnBvvhB,KAAK25E,KAAO,KAMZ35E,KAAKi+B,KAAO,KAEZj+B,KAAKyvhB,MAAQ,EACbzvhB,KAAKwvhB,UAAY,EACjBxvhB,KAAKoxhB,UAAY,EACjBpxhB,KAAK2vhB,UAAY,EAEjB3vhB,KAAK0vhB,WAAa,EAOlB1vhB,KAAK2thB,YAAc,EAKnB3thB,KAAK+vhB,aAAe,EACpB/vhB,KAAKswhB,WAAa,EAClBtwhB,KAAKuwhB,gBAAkB,EACvBvwhB,KAAK4thB,SAAW,EAChB5thB,KAAKmvhB,YAAc,EACnBnvhB,KAAKkvhB,UAAY,EAEjBlvhB,KAAKuuhB,YAAc,EAKnBvuhB,KAAKouhB,iBAAmB,EAMxBpuhB,KAAKiwhB,eAAiB,EAYtBjwhB,KAAKglH,MAAQ,EACbhlH,KAAKy8G,SAAW,EAEhBz8G,KAAKivhB,WAAa,EAGlBjvhB,KAAKwuhB,WAAa,EAYlBxuhB,KAAKqxhB,UAAa,IAAIl9S,EAAM82S,MAAMqG,MAClCtxhB,KAAKuxhB,UAAa,IAAIp9S,EAAM82S,MAAM,KAClCjrhB,KAAKwxhB,QAAa,IAAIr9S,EAAM82S,MAAM,IAClC1nH,EAAKvja,KAAKqxhB,WACV9tH,EAAKvja,KAAKuxhB,WACVhuH,EAAKvja,KAAKwxhB,SAEVxxhB,KAAKyxhB,OAAW,KAChBzxhB,KAAK0xhB,OAAW,KAChB1xhB,KAAK2xhB,QAAW,KAGhB3xhB,KAAK8lP,SAAW,IAAI3R,EAAM82S,MAAM2G,IAIhC5xhB,KAAK6xhB,KAAO,IAAI19S,EAAM82S,MAAM,KAC5B1nH,EAAKvja,KAAK6xhB,MAEV7xhB,KAAK8xhB,SAAW,EAChB9xhB,KAAK+xhB,SAAW,EAKhB/xhB,KAAK85W,MAAQ,IAAI3lI,EAAM82S,MAAM,KAC7B1nH,EAAKvja,KAAK85W,OAIV95W,KAAKgyhB,MAAQ,EAEbhyhB,KAAKiyhB,YAAc,EAoBnBjyhB,KAAKmwhB,SAAW,EAEhBnwhB,KAAKkyhB,MAAQ,EAMblyhB,KAAKmyhB,QAAU,EACfnyhB,KAAKoyhB,WAAa,EAClBpyhB,KAAK4D,QAAU,EACf5D,KAAKkyZ,OAAS,EAGdlyZ,KAAKqyhB,OAAS,EAIdryhB,KAAKsyhB,SAAW,EAgBlB,SAASC,EAAiB9J,GACxB,IAAI7nhB,EAEJ,OAAK6nhB,GAASA,EAAK1jd,OAInB0jd,EAAKuF,SAAWvF,EAAK+E,UAAY,EACjC/E,EAAK+J,UA/rCqB,GAisC1B5xhB,EAAI6nhB,EAAK1jd,OACPw8P,QAAU,EACZ3gU,EAAE2shB,YAAc,EAEZ3shB,EAAEqsZ,KAAO,IACXrsZ,EAAEqsZ,MAAQrsZ,EAAEqsZ,MAGdrsZ,EAAE4lL,OAAU5lL,EAAEqsZ,KApqCC,GAKA,IAgqCfw7H,EAAKxzL,MAAoB,IAAXr0V,EAAEqsZ,KACd,EAEA,EACFrsZ,EAAEswhB,WAtvCkB,EAuvCpBhE,EAAMuF,SAAS7xhB,GA3uCK,GAutCXO,EAAIsnhB,GAntCO,GA4uCtB,SAASiK,EAAajK,GACpB,IAlPe7nhB,EAkPX+c,EAAM40gB,EAAiB9J,GAI3B,OArvCoB,IAkvChB9qgB,KAnPW/c,EAoPL6nhB,EAAK1jd,OAnPbwqd,YAAc,EAAI3uhB,EAAE6thB,OAGtBlrH,EAAK3ia,EAAEq9B,MAIPr9B,EAAEqvhB,eAAiBO,EAAoB5vhB,EAAEokH,OAAO2ra,SAChD/vhB,EAAEquhB,WAAauB,EAAoB5vhB,EAAEokH,OAAO0ra,YAC5C9vhB,EAAE4thB,WAAagC,EAAoB5vhB,EAAEokH,OAAO4ra,YAC5ChwhB,EAAEwthB,iBAAmBoC,EAAoB5vhB,EAAEokH,OAAO6ra,UAElDjwhB,EAAEgthB,SAAW,EACbhthB,EAAE+shB,YAAc,EAChB/shB,EAAEsuhB,UAAY,EACdtuhB,EAAEsxZ,OAAS,EACXtxZ,EAAEmvhB,aAAenvhB,EAAE2thB,YAAc2B,EACjCtvhB,EAAE2vhB,gBAAkB,EACpB3vhB,EAAE6uhB,MAAQ,GAmOH9xgB,EAYT,SAASgrgB,EAAaF,EAAMzja,EAAOD,EAAQqja,EAAYC,EAAU5ra,GAC/D,IAAKgsa,EACH,OA/vCkB,EAiwCpB,IAAIx7H,EAAO,EAiBX,IAvwC0B,IAwvCtBjoS,IACFA,EAAQ,GAGNoja,EAAa,GACfn7H,EAAO,EACPm7H,GAAcA,GAGPA,EAAa,KACpBn7H,EAAO,EACPm7H,GAAc,IAIZC,EAAW,GAAKA,EAjvCF,GALF,IAsvCgCtja,GAC9Cqja,EAAa,GAAKA,EAAa,IAAMpja,EAAQ,GAAKA,EAAQ,GAC1DvI,EAAW,GAAKA,EAnwCQ,EAowCxB,OAAOt7G,EAAIsnhB,GArxCO,GAyxCD,IAAfL,IACFA,EAAa,GAIf,IAAIxnhB,EAAI,IAAIkwhB,EAmCZ,OAjCArI,EAAK1jd,MAAQnkE,EACbA,EAAE6nhB,KAAOA,EAET7nhB,EAAEqsZ,KAAOA,EACTrsZ,EAAEowhB,OAAS,KACXpwhB,EAAEuwhB,OAAS/I,EACXxnhB,EAAE6thB,OAAS,GAAK7thB,EAAEuwhB,OAClBvwhB,EAAEiuhB,OAASjuhB,EAAE6thB,OAAS,EAEtB7thB,EAAEwwhB,UAAY/I,EAAW,EACzBznhB,EAAE4uhB,UAAY,GAAK5uhB,EAAEwwhB,UACrBxwhB,EAAE+uhB,UAAY/uhB,EAAE4uhB,UAAY,EAC5B5uhB,EAAE8uhB,eAAiB9uhB,EAAEwwhB,UArvCP,EAqvC+B,GArvC/B,GAuvCdxwhB,EAAEc,OAAS,IAAIyyO,EAAM+0S,KAAgB,EAAXtohB,EAAE6thB,QAC5B7thB,EAAEq9B,KAAO,IAAIk2M,EAAM82S,MAAMrqhB,EAAE4uhB,WAC3B5uhB,EAAE+4E,KAAO,IAAIw6J,EAAM82S,MAAMrqhB,EAAE6thB,QAK3B7thB,EAAEqxhB,YAAc,GAAM5J,EAAW,EAEjCznhB,EAAEmwhB,iBAAmC,EAAhBnwhB,EAAEqxhB,YACvBrxhB,EAAE0shB,YAAc,IAAIn5S,EAAM+0S,KAAKtohB,EAAEmwhB,kBAEjCnwhB,EAAEsxhB,MAAQtxhB,EAAEqxhB,aAAe,EAC3BrxhB,EAAEoxhB,MAAQ,EAAUpxhB,EAAEqxhB,YAEtBrxhB,EAAEokH,MAAQA,EACVpkH,EAAE67G,SAAWA,EACb77G,EAAEmkH,OAASA,EAEJ2ta,EAAajK,GAzVtB+H,EAAsB,CAEpB,IAAIC,EAAO,EAAG,EAAG,EAAG,GAxiBtB,SAAwB7vhB,EAAGi6Y,GAIzB,IAAI83I,EAAiB,MAOrB,IALIA,EAAiB/xhB,EAAEmwhB,iBAAmB,IACxC4B,EAAiB/xhB,EAAEmwhB,iBAAmB,KAI/B,CAEP,GAAInwhB,EAAEsuhB,WAAa,EAAG,CAUpB,GADAE,EAAYxuhB,GACQ,IAAhBA,EAAEsuhB,WAzeU,IAyeSr0I,EACvB,OArZgB,EAwZlB,GAAoB,IAAhBj6Y,EAAEsuhB,UACJ,MAOJtuhB,EAAEgthB,UAAYhthB,EAAEsuhB,UAChBtuhB,EAAEsuhB,UAAY,EAGd,IAAI0D,EAAYhyhB,EAAE+shB,YAAcgF,EAEhC,IAAmB,IAAf/xhB,EAAEgthB,UAAkBhthB,EAAEgthB,UAAYgF,KAEpChyhB,EAAEsuhB,UAAYtuhB,EAAEgthB,SAAWgF,EAC3BhyhB,EAAEgthB,SAAWgF,EAEbnF,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WACT,OA7agB,EAsbpB,GAAI9nhB,EAAEgthB,SAAWhthB,EAAE+shB,aAAgB/shB,EAAE6thB,OAlcpBC,MAocfjB,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WACT,OA1bgB,EAkctB,OAFA9nhB,EAAEsxZ,OAAS,EAjhBS,IAmhBhBrX,GAEF4yI,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,UAncS,EACA,IAyclB9nhB,EAAEgthB,SAAWhthB,EAAE+shB,cAEjBF,EAAiB7shB,GAAG,GAChBA,EAAE6nhB,KAAKC,WA/cS,MAs6BtB,IAAI+H,EAAO,EAAG,EAAG,EAAG,EAAGb,GACvB,IAAIa,EAAO,EAAG,EAAG,GAAI,EAAGb,GACxB,IAAIa,EAAO,EAAG,EAAG,GAAI,GAAIb,GAEzB,IAAIa,EAAO,EAAG,EAAG,GAAI,GAAIL,GACzB,IAAIK,EAAO,EAAG,GAAI,GAAI,GAAIL,GAC1B,IAAIK,EAAO,EAAG,GAAI,IAAK,IAAKL,GAC5B,IAAIK,EAAO,EAAG,GAAI,IAAK,IAAKL,GAC5B,IAAIK,EAAO,GAAI,IAAK,IAAK,KAAML,GAC/B,IAAIK,EAAO,GAAI,IAAK,IAAK,KAAML,IAksBjCj6hB,EAAQ08hB,YAlXR,SAAqBpK,EAAMzja,GACzB,OAAO2ja,EAAaF,EAAMzja,EAzyCV,EAOF,GAEI,EAnBQ,IAqqD5B7uH,EAAQwyhB,aAAeA,EACvBxyhB,EAAQu8hB,aAAeA,EACvBv8hB,EAAQo8hB,iBAAmBA,EAC3Bp8hB,EAAQyyhB,iBArcR,SAA0BH,EAAMxqf,GAC9B,OAAKwqf,GAASA,EAAK1jd,MACK,IAApB0jd,EAAK1jd,MAAMkoV,MAvvCK,GAwvCpBw7H,EAAK1jd,MAAMisd,OAAS/yf,EA5vCA,IAIA,GA2rDtB9nC,EAAQ0yhB,QAlXR,SAAiBJ,EAAM5tI,GACrB,IAAIi4I,EAAWlyhB,EACXmyhB,EAAKrvgB,EAET,IAAK+kgB,IAASA,EAAK1jd,OACjB81U,EAz1CkB,GAy1CCA,EAAQ,EAC3B,OAAO4tI,EAAOtnhB,EAAIsnhB,GA/0CA,MAo1CpB,GAFA7nhB,EAAI6nhB,EAAK1jd,OAEJ0jd,EAAK7la,SACJ6la,EAAKhma,OAA2B,IAAlBgma,EAAKQ,UAlxCR,MAmxCZrohB,EAAE4lL,QAl2Ca,IAk2Ccq0N,EAChC,OAAO15Y,EAAIsnhB,EAA0B,IAAnBA,EAAKC,WAp1CL,GAHA,GA+1CpB,GALA9nhB,EAAE6nhB,KAAOA,EACTqK,EAAYlyhB,EAAEswhB,WACdtwhB,EAAEswhB,WAAar2I,EA/xCA,KAkyCXj6Y,EAAE4lL,OAEJ,GAAe,IAAX5lL,EAAEqsZ,KACJw7H,EAAKxzL,MAAQ,EACb44L,EAASjthB,EAAG,IACZithB,EAASjthB,EAAG,KACZithB,EAASjthB,EAAG,GACPA,EAAEowhB,QAaLnD,EAASjthB,GAAIA,EAAEowhB,OAAO/8gB,KAAO,EAAI,IACpBrT,EAAEowhB,OAAOgC,KAAO,EAAI,IACnBpyhB,EAAEowhB,OAAOvrR,MAAY,EAAJ,IACjB7kQ,EAAEowhB,OAAO5uhB,KAAW,EAAJ,IAChBxB,EAAEowhB,OAAOvqf,QAAc,GAAJ,IAEjConf,EAASjthB,EAAmB,IAAhBA,EAAEowhB,OAAO35S,MACrBw2S,EAASjthB,EAAIA,EAAEowhB,OAAO35S,MAAQ,EAAK,KACnCw2S,EAASjthB,EAAIA,EAAEowhB,OAAO35S,MAAQ,GAAM,KACpCw2S,EAASjthB,EAAIA,EAAEowhB,OAAO35S,MAAQ,GAAM,KACpCw2S,EAASjthB,EAAe,IAAZA,EAAEokH,MAAc,EACfpkH,EAAE67G,UA/2CK,GA+2CyB77G,EAAEokH,MAAQ,EAC1C,EAAI,GACjB6oa,EAASjthB,EAAiB,IAAdA,EAAEowhB,OAAO1oR,IACjB1nQ,EAAEowhB,OAAOvrR,OAAS7kQ,EAAEowhB,OAAOvrR,MAAM3oQ,SACnC+whB,EAASjthB,EAA2B,IAAxBA,EAAEowhB,OAAOvrR,MAAM3oQ,QAC3B+whB,EAASjthB,EAAIA,EAAEowhB,OAAOvrR,MAAM3oQ,QAAU,EAAK,MAEzC8D,EAAEowhB,OAAOgC,OACXvK,EAAKxzL,MAAQvsG,EAAM+/R,EAAKxzL,MAAOr0V,EAAE0shB,YAAa1shB,EAAE2gU,QAAS,IAE3D3gU,EAAEqwhB,QAAU,EACZrwhB,EAAE4lL,OA30CQ,KAyyCVqnW,EAASjthB,EAAG,GACZithB,EAASjthB,EAAG,GACZithB,EAASjthB,EAAG,GACZithB,EAASjthB,EAAG,GACZithB,EAASjthB,EAAG,GACZithB,EAASjthB,EAAe,IAAZA,EAAEokH,MAAc,EACfpkH,EAAE67G,UA91CK,GA81CyB77G,EAAEokH,MAAQ,EAC1C,EAAI,GACjB6oa,EAASjthB,EAryCH,GAsyCNA,EAAE4lL,OA9yCO,SA20Cb,CACE,IAAIn3D,EAl3CQ,GAk3CiBzuH,EAAEuwhB,OAAS,GAAM,IAAO,EAYrD9ha,IATIzuH,EAAE67G,UAl4CgB,GAk4Cc77G,EAAEokH,MAAQ,EAC9B,EACLpkH,EAAEokH,MAAQ,EACL,EACO,IAAZpkH,EAAEokH,MACG,EAEA,IAEU,EACP,IAAfpkH,EAAEgthB,WAAkBv+Z,GAh2CZ,IAi2CZA,GAAU,GAAMA,EAAS,GAEzBzuH,EAAE4lL,OA51CS,IA61CXsnW,EAAYlthB,EAAGyuH,GAGI,IAAfzuH,EAAEgthB,WACJE,EAAYlthB,EAAG6nhB,EAAKxzL,QAAU,IAC9B64L,EAAYlthB,EAAgB,MAAb6nhB,EAAKxzL,QAEtBwzL,EAAKxzL,MAAQ,EAKjB,GA72CgB,KA62CZr0V,EAAE4lL,OACJ,GAAI5lL,EAAEowhB,OAAOvrR,MAAqB,CAGhC,IAFAstR,EAAMnyhB,EAAE2gU,QAED3gU,EAAEqwhB,SAAmC,MAAxBrwhB,EAAEowhB,OAAOvrR,MAAM3oQ,UAC7B8D,EAAE2gU,UAAY3gU,EAAEmwhB,mBACdnwhB,EAAEowhB,OAAOgC,MAAQpyhB,EAAE2gU,QAAUwxN,IAC/BtK,EAAKxzL,MAAQvsG,EAAM+/R,EAAKxzL,MAAOr0V,EAAE0shB,YAAa1shB,EAAE2gU,QAAUwxN,EAAKA,IAEjE1F,EAAc5E,GACdsK,EAAMnyhB,EAAE2gU,QACJ3gU,EAAE2gU,UAAY3gU,EAAEmwhB,oBAItBlD,EAASjthB,EAA+B,IAA5BA,EAAEowhB,OAAOvrR,MAAM7kQ,EAAEqwhB,UAC7BrwhB,EAAEqwhB,UAEArwhB,EAAEowhB,OAAOgC,MAAQpyhB,EAAE2gU,QAAUwxN,IAC/BtK,EAAKxzL,MAAQvsG,EAAM+/R,EAAKxzL,MAAOr0V,EAAE0shB,YAAa1shB,EAAE2gU,QAAUwxN,EAAKA,IAE7DnyhB,EAAEqwhB,UAAYrwhB,EAAEowhB,OAAOvrR,MAAM3oQ,SAC/B8D,EAAEqwhB,QAAU,EACZrwhB,EAAE4lL,OAn4CO,SAu4CX5lL,EAAE4lL,OAv4CS,GA04Cf,GA14Ce,KA04CX5lL,EAAE4lL,OACJ,GAAI5lL,EAAEowhB,OAAO5uhB,KAAoB,CAC/B2whB,EAAMnyhB,EAAE2gU,QAGR,EAAG,CACD,GAAI3gU,EAAE2gU,UAAY3gU,EAAEmwhB,mBACdnwhB,EAAEowhB,OAAOgC,MAAQpyhB,EAAE2gU,QAAUwxN,IAC/BtK,EAAKxzL,MAAQvsG,EAAM+/R,EAAKxzL,MAAOr0V,EAAE0shB,YAAa1shB,EAAE2gU,QAAUwxN,EAAKA,IAEjE1F,EAAc5E,GACdsK,EAAMnyhB,EAAE2gU,QACJ3gU,EAAE2gU,UAAY3gU,EAAEmwhB,kBAAkB,CACpCrtgB,EAAM,EACN,MAKFA,EADE9iB,EAAEqwhB,QAAUrwhB,EAAEowhB,OAAO5uhB,KAAKtF,OACkB,IAAxC8D,EAAEowhB,OAAO5uhB,KAAKipC,WAAWzqC,EAAEqwhB,WAE3B,EAERpD,EAASjthB,EAAG8iB,SACG,IAARA,GAEL9iB,EAAEowhB,OAAOgC,MAAQpyhB,EAAE2gU,QAAUwxN,IAC/BtK,EAAKxzL,MAAQvsG,EAAM+/R,EAAKxzL,MAAOr0V,EAAE0shB,YAAa1shB,EAAE2gU,QAAUwxN,EAAKA,IAErD,IAARrvgB,IACF9iB,EAAEqwhB,QAAU,EACZrwhB,EAAE4lL,OAx6CU,SA46Cd5lL,EAAE4lL,OA56CY,GA+6ClB,GA/6CkB,KA+6Cd5lL,EAAE4lL,OACJ,GAAI5lL,EAAEowhB,OAAOvqf,QAAuB,CAClCssf,EAAMnyhB,EAAE2gU,QAGR,EAAG,CACD,GAAI3gU,EAAE2gU,UAAY3gU,EAAEmwhB,mBACdnwhB,EAAEowhB,OAAOgC,MAAQpyhB,EAAE2gU,QAAUwxN,IAC/BtK,EAAKxzL,MAAQvsG,EAAM+/R,EAAKxzL,MAAOr0V,EAAE0shB,YAAa1shB,EAAE2gU,QAAUwxN,EAAKA,IAEjE1F,EAAc5E,GACdsK,EAAMnyhB,EAAE2gU,QACJ3gU,EAAE2gU,UAAY3gU,EAAEmwhB,kBAAkB,CACpCrtgB,EAAM,EACN,MAKFA,EADE9iB,EAAEqwhB,QAAUrwhB,EAAEowhB,OAAOvqf,QAAQ3pC,OACkB,IAA3C8D,EAAEowhB,OAAOvqf,QAAQ4E,WAAWzqC,EAAEqwhB,WAE9B,EAERpD,EAASjthB,EAAG8iB,SACG,IAARA,GAEL9iB,EAAEowhB,OAAOgC,MAAQpyhB,EAAE2gU,QAAUwxN,IAC/BtK,EAAKxzL,MAAQvsG,EAAM+/R,EAAKxzL,MAAOr0V,EAAE0shB,YAAa1shB,EAAE2gU,QAAUwxN,EAAKA,IAErD,IAARrvgB,IACF9iB,EAAE4lL,OA58CO,UAg9CX5lL,EAAE4lL,OAh9CS,IAs+Cf,GAt+Ce,MAm9CX5lL,EAAE4lL,SACA5lL,EAAEowhB,OAAOgC,MACPpyhB,EAAE2gU,QAAU,EAAI3gU,EAAEmwhB,kBACpB1D,EAAc5E,GAEZ7nhB,EAAE2gU,QAAU,GAAK3gU,EAAEmwhB,mBACrBlD,EAASjthB,EAAgB,IAAb6nhB,EAAKxzL,OACjB44L,EAASjthB,EAAI6nhB,EAAKxzL,OAAS,EAAK,KAChCwzL,EAAKxzL,MAAQ,EACbr0V,EAAE4lL,OA39CO,MA+9CX5lL,EAAE4lL,OA/9CS,KAq+CG,IAAd5lL,EAAE2gU,SAEJ,GADA8rN,EAAc5E,GACS,IAAnBA,EAAKC,UAQP,OADA9nhB,EAAEswhB,YAAc,EApjDA,OA4jDb,GAAsB,IAAlBzI,EAAKQ,UAAkBmE,EAAKvyI,IAAUuyI,EAAK0F,IApkDlC,IAqkDlBj4I,EACA,OAAO15Y,EAAIsnhB,GAvjDO,GA2jDpB,GA3/CiB,MA2/Cb7nhB,EAAE4lL,QAA6C,IAAlBiiW,EAAKQ,SACpC,OAAO9nhB,EAAIsnhB,GA5jDO,GAikDpB,GAAsB,IAAlBA,EAAKQ,UAAkC,IAAhBrohB,EAAEsuhB,WAplDT,IAqlDjBr0I,GAlgDc,MAkgDUj6Y,EAAE4lL,OAA0B,CACrD,IAAIysW,EAvjDoB,IAujDVryhB,EAAE67G,SAjqBpB,SAAsB77G,EAAGi6Y,GAGvB,IAFA,IAAIi1I,IAEK,CAEP,GAAoB,IAAhBlvhB,EAAEsuhB,YACJE,EAAYxuhB,GACQ,IAAhBA,EAAEsuhB,WAAiB,CACrB,GA77Bc,IA67BVr0I,EACF,OAz2Bc,EA22BhB,MAWJ,GANAj6Y,EAAEmvhB,aAAe,EAGjBD,EAAS5C,EAAM8C,UAAUpvhB,EAAG,EAAGA,EAAEc,OAAOd,EAAEgthB,WAC1ChthB,EAAEsuhB,YACFtuhB,EAAEgthB,WACEkC,IAEFrC,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WACT,OA13BgB,EAg4BtB,OADA9nhB,EAAEsxZ,OAAS,EAh9BS,IAi9BhBrX,GAEF4yI,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,UAj4BS,EACA,GAs4BlB9nhB,EAAEuvhB,WAEJ1C,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WA54BS,EACA,EAggD2BwK,CAAatyhB,EAAGi6Y,GAtjDvC,IAujDrBj6Y,EAAE67G,SAjwBT,SAAqB77G,EAAGi6Y,GAOtB,IANA,IAAIi1I,EACAn2c,EACA00c,EAAMS,EAENH,EAAO/thB,EAAEc,SAEJ,CAKP,GAAId,EAAEsuhB,WA1xBM,IA0xBkB,CAE5B,GADAE,EAAYxuhB,GACRA,EAAEsuhB,WA5xBI,KAxEM,IAo2BgBr0I,EAC9B,OAhxBgB,EAkxBlB,GAAoB,IAAhBj6Y,EAAEsuhB,UAAmB,MAK3B,GADAtuhB,EAAEmvhB,aAAe,EACbnvhB,EAAEsuhB,WAryBM,GAqyBoBtuhB,EAAEgthB,SAAW,IAE3Cj0c,EAAOg1c,EADPN,EAAOzthB,EAAEgthB,SAAW,MAEPe,IAAON,IAAS10c,IAASg1c,IAAON,IAAS10c,IAASg1c,IAAON,GAAO,CAC3ES,EAASluhB,EAAEgthB,SAxyBH,IAyyBR,UAESj0c,IAASg1c,IAAON,IAAS10c,IAASg1c,IAAON,IACzC10c,IAASg1c,IAAON,IAAS10c,IAASg1c,IAAON,IACzC10c,IAASg1c,IAAON,IAAS10c,IAASg1c,IAAON,IACzC10c,IAASg1c,IAAON,IAAS10c,IAASg1c,IAAON,IACzCA,EAAOS,GAChBluhB,EAAEmvhB,aAhzBM,KAgzBsBjB,EAAST,GACnCzthB,EAAEmvhB,aAAenvhB,EAAEsuhB,YACrBtuhB,EAAEmvhB,aAAenvhB,EAAEsuhB,WAyBzB,GAlBItuhB,EAAEmvhB,cA1zBM,GA8zBVD,EAAS5C,EAAM8C,UAAUpvhB,EAAG,EAAGA,EAAEmvhB,aA9zBvB,GAg0BVnvhB,EAAEsuhB,WAAatuhB,EAAEmvhB,aACjBnvhB,EAAEgthB,UAAYhthB,EAAEmvhB,aAChBnvhB,EAAEmvhB,aAAe,IAKjBD,EAAS5C,EAAM8C,UAAUpvhB,EAAG,EAAGA,EAAEc,OAAOd,EAAEgthB,WAE1ChthB,EAAEsuhB,YACFtuhB,EAAEgthB,YAEAkC,IAEFrC,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WACT,OAl0BgB,EAw0BtB,OADA9nhB,EAAEsxZ,OAAS,EAx5BS,IAy5BhBrX,GAEF4yI,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,UAz0BS,EACA,GA80BlB9nhB,EAAEuvhB,WAEJ1C,EAAiB7shB,GAAG,GACK,IAArBA,EAAE6nhB,KAAKC,WAp1BS,EACA,EAigDMyK,CAAYvyhB,EAAGi6Y,GACrC21I,EAAoB5vhB,EAAEokH,OAAOv1D,KAAK7uD,EAAGi6Y,GAKzC,GAtgDoB,IAmgDhBo4I,GAlgDgB,IAkgDgBA,IAClCryhB,EAAE4lL,OAxgDW,KAEK,IAwgDhBysW,GAtgDgB,IAsgDWA,EAK7B,OAJuB,IAAnBxK,EAAKC,YACP9nhB,EAAEswhB,YAAc,GAnlDF,EA+lDlB,GArhDoB,IAqhDhB+B,IA1mDc,IA2mDZp4I,EACFqyI,EAAMkG,UAAUxyhB,GAxmDF,IA0mDPi6Y,IAEPqyI,EAAMmG,iBAAiBzyhB,EAAG,EAAG,GAAG,GA9mDlB,IAknDVi6Y,IAEF0oB,EAAK3ia,EAAEq9B,MAEa,IAAhBr9B,EAAEsuhB,YACJtuhB,EAAEgthB,SAAW,EACbhthB,EAAE+shB,YAAc,EAChB/shB,EAAEsxZ,OAAS,KAIjBm7H,EAAc5E,GACS,IAAnBA,EAAKC,WAEP,OADA9nhB,EAAEswhB,YAAc,EAtnDF,EA8nDpB,OAtoDoB,IAsoDhBr2I,EA9nDgB,EA+nDhBj6Y,EAAEqsZ,MAAQ,EA9nDM,GAioDL,IAAXrsZ,EAAEqsZ,MACJ4gI,EAASjthB,EAAgB,IAAb6nhB,EAAKxzL,OACjB44L,EAASjthB,EAAI6nhB,EAAKxzL,OAAS,EAAK,KAChC44L,EAASjthB,EAAI6nhB,EAAKxzL,OAAS,GAAM,KACjC44L,EAASjthB,EAAI6nhB,EAAKxzL,OAAS,GAAM,KACjC44L,EAASjthB,EAAmB,IAAhB6nhB,EAAKuF,UACjBH,EAASjthB,EAAI6nhB,EAAKuF,UAAY,EAAK,KACnCH,EAASjthB,EAAI6nhB,EAAKuF,UAAY,GAAM,KACpCH,EAASjthB,EAAI6nhB,EAAKuF,UAAY,GAAM,OAIpCF,EAAYlthB,EAAG6nhB,EAAKxzL,QAAU,IAC9B64L,EAAYlthB,EAAgB,MAAb6nhB,EAAKxzL,QAGtBo4L,EAAc5E,GAIV7nhB,EAAEqsZ,KAAO,IAAKrsZ,EAAEqsZ,MAAQrsZ,EAAEqsZ,MAET,IAAdrsZ,EAAE2gU,QAxpDW,EACA,IA+rDtBprU,EAAQqzhB,WArCR,SAAoBf,GAClB,IAAIjiW,EAEJ,OAAKiiW,GAAsBA,EAAK1jd,MA7lDjB,MAimDfyhH,EAASiiW,EAAK1jd,MAAMyhH,SAhmDJ,KAkmDdA,GAjmDa,KAkmDbA,GAjmDgB,KAkmDhBA,GAjmDa,MAkmDbA,GAjmDa,MAkmDbA,GAjmDe,MAkmDfA,EAEOrlL,EAAIsnhB,GAvqDO,IA0qDpBA,EAAK1jd,MAAQ,KAxmDE,MA0mDRyhH,EAAwBrlL,EAAIsnhB,GA3qDf,GALA,IAIA,GA6rDtBtyhB,EAAQm9hB,YAAc,sCAWpB,CAAC,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,KAAK/nC,GAAG,CAAC,SAAS8vB,EAAQnlhB,EAAOC,GAC/G,aAuCAD,EAAOC,QApCP,WAEE6J,KAAKiU,KAAa,EAElBjU,KAAKq3O,KAAa,EAElBr3O,KAAKuzhB,OAAa,EAElBvzhB,KAAKsoQ,GAAa,EAElBtoQ,KAAKylQ,MAAa,KAElBzlQ,KAAKwzhB,UAAa,EAWlBxzhB,KAAKoC,KAAa,GAIlBpC,KAAKymC,QAAa,GAIlBzmC,KAAKgzhB,KAAa,EAElBhzhB,KAAKc,MAAa,IAIlB,IAAI0qf,GAAG,CAAC,SAAS6vB,EAAQnlhB,EAAOC,GAClC,aAyCAD,EAAOC,QAAU,SAAsBsyhB,EAAM3wgB,GAC3C,IAAIitD,EACA0ud,EACAtqe,EACA+xY,EACA63F,EACAz/e,EAEAogf,EAEAC,EACAC,EACAC,EACAnyhB,EACAqga,EACA7vY,EACA4hgB,EACAC,EACAC,EACAC,EACAC,EACApwc,EAEA9+C,EACA64C,EACA9kE,EACAo7gB,EAGA1xa,EAAOG,EAGX79C,EAAQ0jd,EAAK1jd,MAEb0ud,EAAMhL,EAAKO,QACXvma,EAAQgma,EAAKhma,MACbt5D,EAAOsqe,GAAOhL,EAAKQ,SAAW,GAC9B/tF,EAAOutF,EAAKU,SACZvma,EAAS6la,EAAK7la,OACdmwa,EAAM73F,GAAQpjb,EAAQ2wgB,EAAKC,WAC3Bp1e,EAAM4nZ,GAAQutF,EAAKC,UAAY,KAE/BgL,EAAO3ud,EAAM2ud,KAEbC,EAAQ5ud,EAAM4ud,MACdC,EAAQ7ud,EAAM6ud,MACdC,EAAQ9ud,EAAM8ud,MACdnyhB,EAASqjE,EAAMrjE,OACfqga,EAAOh9V,EAAMg9V,KACb7vY,EAAO6yC,EAAM7yC,KACb4hgB,EAAQ/ud,EAAMqvd,QACdL,EAAQhvd,EAAMsvd,SACdL,GAAS,GAAKjvd,EAAMuvd,SAAW,EAC/BL,GAAS,GAAKlvd,EAAMwvd,UAAY,EAMhCx9e,EACA,EAAG,CACG7kB,EAAO,KACT6vY,GAAQt/S,EAAMgxa,MAAUvhgB,EACxBA,GAAQ,EACR6vY,GAAQt/S,EAAMgxa,MAAUvhgB,EACxBA,GAAQ,GAGVgigB,EAAOJ,EAAM/xH,EAAOiyH,GAEpBQ,EACA,OAAS,CAKP,GAHAzyH,KADAj+U,EAAKowc,IAAS,GAEdhigB,GAAQ4xD,EAEG,KADXA,EAAMowc,IAAS,GAAM,KAKnBtxa,EAAOs4U,KAAiB,MAAPg5F,MAEd,MAAS,GAALpwc,GAwKJ,IAAkB,KAAR,GAALA,GAAgB,CACxBowc,EAAOJ,GAAc,MAAPI,IAA8BnyH,GAAS,GAAKj+U,GAAM,IAChE,SAAS0wc,EAEN,GAAS,GAAL1wc,EAAS,CAEhB/e,EAAMriE,KArSH,GAsSH,MAAMq0C,EAGN0xe,EAAK5ihB,IAAM,8BACXk/D,EAAMriE,KA3SJ,GA4SF,MAAMq0C,EAnLN/R,EAAa,MAAPkvf,GACNpwc,GAAM,MAEA5xD,EAAO4xD,IACTi+U,GAAQt/S,EAAMgxa,MAAUvhgB,EACxBA,GAAQ,GAEV8S,GAAO+8X,GAAS,GAAKj+U,GAAM,EAC3Bi+U,KAAUj+U,EACV5xD,GAAQ4xD,GAGN5xD,EAAO,KACT6vY,GAAQt/S,EAAMgxa,MAAUvhgB,EACxBA,GAAQ,EACR6vY,GAAQt/S,EAAMgxa,MAAUvhgB,EACxBA,GAAQ,GAEVgigB,EAAOH,EAAMhyH,EAAOkyH,GAEpBQ,EACA,OAAS,CAMP,GAJA1yH,KADAj+U,EAAKowc,IAAS,GAEdhigB,GAAQ4xD,IAGC,IAFTA,EAAMowc,IAAS,GAAM,MAiIhB,IAAkB,KAAR,GAALpwc,GAAgB,CACxBowc,EAAOH,GAAc,MAAPG,IAA8BnyH,GAAS,GAAKj+U,GAAM,IAChE,SAAS2wc,EAGThM,EAAK5ihB,IAAM,wBACXk/D,EAAMriE,KAzRR,GA0RE,MAAMq0C,EAzHN,GAZA8mC,EAAc,MAAPq2c,EAEHhigB,GADJ4xD,GAAM,MAEJi+U,GAAQt/S,EAAMgxa,MAAUvhgB,GACxBA,GAAQ,GACG4xD,IACTi+U,GAAQt/S,EAAMgxa,MAAUvhgB,EACxBA,GAAQ,KAGZ2rD,GAAQkkV,GAAS,GAAKj+U,GAAM,GAEjB4vc,EAAM,CACfjL,EAAK5ihB,IAAM,gCACXk/D,EAAMriE,KAnKV,GAoKI,MAAMq0C,EAOR,GAJAgrX,KAAUj+U,EACV5xD,GAAQ4xD,EAGJjG,GADJiG,EAAKo3W,EAAO63F,GACG,CAEb,IADAjvc,EAAKjG,EAAOiG,GACH8vc,GACH7ud,EAAM2vd,KAAM,CACdjM,EAAK5ihB,IAAM,gCACXk/D,EAAMriE,KAhLd,GAiLQ,MAAMq0C,EA2BV,GAFAh+B,EAAO,EACPo7gB,EAAczyhB,EACA,IAAVmyhB,GAEF,GADA96gB,GAAQ46gB,EAAQ7vc,EACZA,EAAK9+C,EAAK,CACZA,GAAO8+C,EACP,GACE8+B,EAAOs4U,KAAUx5b,EAAOqX,aACf+qE,GACX/qE,EAAOmib,EAAOr9W,EACds2c,EAAcvxa,QAGb,GAAIixa,EAAQ/vc,GAGf,GAFA/qE,GAAQ46gB,EAAQE,EAAQ/vc,GACxBA,GAAM+vc,GACG7uf,EAAK,CACZA,GAAO8+C,EACP,GACE8+B,EAAOs4U,KAAUx5b,EAAOqX,aACf+qE,GAEX,GADA/qE,EAAO,EACH86gB,EAAQ7uf,EAAK,CAEfA,GADA8+C,EAAK+vc,EAEL,GACEjxa,EAAOs4U,KAAUx5b,EAAOqX,aACf+qE,GACX/qE,EAAOmib,EAAOr9W,EACds2c,EAAcvxa,SAMlB,GADA7pG,GAAQ86gB,EAAQ/vc,EACZA,EAAK9+C,EAAK,CACZA,GAAO8+C,EACP,GACE8+B,EAAOs4U,KAAUx5b,EAAOqX,aACf+qE,GACX/qE,EAAOmib,EAAOr9W,EACds2c,EAAcvxa,EAGlB,KAAO59E,EAAM,GACX49E,EAAOs4U,KAAUi5F,EAAYp7gB,KAC7B6pG,EAAOs4U,KAAUi5F,EAAYp7gB,KAC7B6pG,EAAOs4U,KAAUi5F,EAAYp7gB,KAC7BisB,GAAO,EAELA,IACF49E,EAAOs4U,KAAUi5F,EAAYp7gB,KACzBisB,EAAM,IACR49E,EAAOs4U,KAAUi5F,EAAYp7gB,WAI9B,CACHA,EAAOmib,EAAOr9W,EACd,GACE+kC,EAAOs4U,KAAUt4U,EAAO7pG,KACxB6pG,EAAOs4U,KAAUt4U,EAAO7pG,KACxB6pG,EAAOs4U,KAAUt4U,EAAO7pG,KACxBisB,GAAO,QACAA,EAAM,GACXA,IACF49E,EAAOs4U,KAAUt4U,EAAO7pG,KACpBisB,EAAM,IACR49E,EAAOs4U,KAAUt4U,EAAO7pG,OAehC,OAkBJ,aAEK06gB,EAAMtqe,GAAQ+xY,EAAO5nZ,GAI9Bmgf,GADAzuf,EAAM9S,GAAQ,EAGd6vY,IAAS,IADT7vY,GAAQ8S,GAAO,IACO,EAGtByjf,EAAKO,QAAUyK,EACfhL,EAAKU,SAAWjuF,EAChButF,EAAKQ,SAAYwK,EAAMtqe,EAAYA,EAAOsqe,EAAZ,EAAmB,GAAKA,EAAMtqe,GAC5Ds/d,EAAKC,UAAaxtF,EAAO5nZ,EAAaA,EAAM4nZ,EAAb,IAAqB,KAAOA,EAAO5nZ,GAClEyxB,EAAMg9V,KAAOA,EACbh9V,EAAM7yC,KAAOA,IAIb,IAAIu5d,GAAG,CAAC,SAAS4vB,EAAQnlhB,EAAOC,GAClC,aAGA,IAAIg+O,EAAQknS,EAAQ,mBAChB8R,EAAU9R,EAAQ,aAClB3yR,EAAU2yR,EAAQ,WAClBsZ,EAAetZ,EAAQ,aACvBuZ,EAAgBvZ,EAAQ,cAuF5B,SAASwZ,EAAQxsa,GACf,OAAWA,IAAM,GAAM,MACbA,IAAM,EAAK,SACP,MAAJA,IAAe,KACX,IAAJA,IAAa,IAIzB,SAASysa,IACP90hB,KAAK0C,KAAO,EACZ1C,KAAKmpD,MAAO,EACZnpD,KAAKitZ,KAAO,EACZjtZ,KAAK+0hB,UAAW,EAChB/0hB,KAAK6kM,MAAQ,EACb7kM,KAAK0zhB,KAAO,EACZ1zhB,KAAKmgF,MAAQ,EACbngF,KAAKo+U,MAAQ,EAEbp+U,KAAKi+B,KAAO,KAGZj+B,KAAK0xV,MAAQ,EACb1xV,KAAK2zhB,MAAQ,EACb3zhB,KAAK4zhB,MAAQ,EACb5zhB,KAAK6zhB,MAAQ,EACb7zhB,KAAK0B,OAAS,KAGd1B,KAAK+ha,KAAO,EACZ/ha,KAAKkyB,KAAO,EAGZlyB,KAAKlD,OAAS,EACdkD,KAAKiV,OAAS,EAGdjV,KAAKylQ,MAAQ,EAGbzlQ,KAAKo0hB,QAAU,KACfp0hB,KAAKq0hB,SAAW,KAChBr0hB,KAAKs0hB,QAAU,EACft0hB,KAAKu0hB,SAAW,EAGhBv0hB,KAAKg1hB,MAAQ,EACbh1hB,KAAKi1hB,KAAO,EACZj1hB,KAAKk1hB,MAAQ,EACbl1hB,KAAKm1hB,KAAO,EACZn1hB,KAAKuB,KAAO,KAEZvB,KAAK0yP,KAAO,IAAIve,EAAM82S,MAAM,KAC5BjrhB,KAAKo1hB,KAAO,IAAIjhT,EAAM82S,MAAM,KAO5BjrhB,KAAKq1hB,OAAS,KACdr1hB,KAAKs1hB,QAAU,KACft1hB,KAAK00hB,KAAO,EACZ10hB,KAAKu1hB,KAAO,EACZv1hB,KAAKw1hB,IAAM,EAGb,SAASC,EAAiBhN,GACxB,IAAI1jd,EAEJ,OAAK0jd,GAASA,EAAK1jd,OACnBA,EAAQ0jd,EAAK1jd,MACb0jd,EAAKuF,SAAWvF,EAAK+E,UAAYzod,EAAMq5Q,MAAQ,EAC/CqqM,EAAK5ihB,IAAM,GACPk/D,EAAMkoV,OACRw7H,EAAKxzL,MAAqB,EAAblwR,EAAMkoV,MAErBloV,EAAMriE,KA1HM,EA2HZqiE,EAAM5b,KAAO,EACb4b,EAAMgwd,SAAW,EACjBhwd,EAAM2ud,KAAO,MACb3ud,EAAM9mC,KAAO,KACb8mC,EAAMg9V,KAAO,EACbh9V,EAAM7yC,KAAO,EAEb6yC,EAAMqvd,QAAUrvd,EAAMswd,OAAS,IAAIlhT,EAAM+2S,MA7FzB,KA8FhBnmd,EAAMsvd,SAAWtvd,EAAMuwd,QAAU,IAAInhT,EAAM+2S,MA7F1B,KA+FjBnmd,EAAM2vd,KAAO,EACb3vd,EAAMwwd,MAAQ,EAxJM,IAIA,EAyJtB,SAASG,EAAajN,GACpB,IAAI1jd,EAEJ,OAAK0jd,GAASA,EAAK1jd,QACnBA,EAAQ0jd,EAAK1jd,OACP4ud,MAAQ,EACd5ud,EAAM6ud,MAAQ,EACd7ud,EAAM8ud,MAAQ,EACP4B,EAAiBhN,KAjKJ,EAqKtB,SAASkN,EAAclN,EAAML,GAC3B,IAAIn7H,EACAloV,EAGJ,OAAK0jd,GAASA,EAAK1jd,OACnBA,EAAQ0jd,EAAK1jd,MAGTqjd,EAAa,GACfn7H,EAAO,EACPm7H,GAAcA,IAGdn7H,EAA2B,GAAnBm7H,GAAc,GAClBA,EAAa,KACfA,GAAc,KAKdA,IAAeA,EAAa,GAAKA,EAAa,KA1L9B,GA6LC,OAAjBrjd,EAAMrjE,QAAmBqjE,EAAM2sR,QAAU02L,IAC3Crjd,EAAMrjE,OAAS,MAIjBqjE,EAAMkoV,KAAOA,EACbloV,EAAM2sR,MAAQ02L,EACPsN,EAAajN,MApMA,EAuMtB,SAASqB,EAAarB,EAAML,GAC1B,IAAIzqgB,EACAonD,EAEJ,OAAK0jd,GAGL1jd,EAAQ,IAAI+vd,EAIZrM,EAAK1jd,MAAQA,EACbA,EAAMrjE,OAAS,KAvNK,KAwNpBic,EAAMg4gB,EAAclN,EAAML,MAExBK,EAAK1jd,MAAQ,MAERpnD,IAxNa,EA0OtB,IAEIi4gB,EAAQC,EAFRC,GAAS,EAIb,SAASC,EAAYhxd,GAEnB,GAAI+wd,EAAQ,CACV,IAAI57Z,EAOJ,IALA07Z,EAAS,IAAIzhT,EAAM+2S,MAAM,KACzB2K,EAAU,IAAI1hT,EAAM+2S,MAAM,IAG1BhxZ,EAAM,EACCA,EAAM,KAAOn1D,EAAM2tL,KAAKx4H,KAAS,EACxC,KAAOA,EAAM,KAAOn1D,EAAM2tL,KAAKx4H,KAAS,EACxC,KAAOA,EAAM,KAAOn1D,EAAM2tL,KAAKx4H,KAAS,EACxC,KAAOA,EAAM,KAAOn1D,EAAM2tL,KAAKx4H,KAAS,EAMxC,IAJA06Z,EArRO,EAqRc7vd,EAAM2tL,KAAM,EAAG,IAAKkjS,EAAU,EAAG7wd,EAAMqwd,KAAM,CAACljgB,KAAM,IAGzEgoG,EAAM,EACCA,EAAM,IAAMn1D,EAAM2tL,KAAKx4H,KAAS,EAEvC06Z,EA1RQ,EA0Ra7vd,EAAM2tL,KAAM,EAAG,GAAMmjS,EAAS,EAAG9wd,EAAMqwd,KAAM,CAACljgB,KAAM,IAGzE4jgB,GAAS,EAGX/wd,EAAMqvd,QAAUwB,EAChB7wd,EAAMuvd,QAAU,EAChBvvd,EAAMsvd,SAAWwB,EACjB9wd,EAAMwvd,SAAW,EA6pCnBp+hB,EAAQu/hB,aAAeA,EACvBv/hB,EAAQw/hB,cAAgBA,EACxBx/hB,EAAQs/hB,iBAAmBA,EAC3Bt/hB,EAAQ6/hB,YAjtCR,SAAqBvN,GACnB,OAAOqB,EAAarB,EArKN,KAs3ChBtyhB,EAAQ2zhB,aAAeA,EACvB3zhB,EAAQuxP,QAtmCR,SAAiB+gS,EAAM5tI,GACrB,IAAI91U,EACA09C,EAAOG,EACPrhH,EACAm1N,EACAy+T,EAAMt+e,EACNkrX,EACA7vY,EACAuhgB,EAAKv4F,EACL72Z,EACAtrB,EACAo7gB,EAEA8B,EAAWC,EAASC,EAEpBC,EAAWC,EAASC,EACpBtxf,EACArnB,EAEAta,EAEAxC,EATAqzhB,EAAO,EAMPqC,EAAO,IAAIpiT,EAAM+0S,KAAK,GAKtB74Y,EACF,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAGjE,IAAKo4Y,IAASA,EAAK1jd,QAAU0jd,EAAK7la,SAC5B6la,EAAKhma,OAA2B,IAAlBgma,EAAKQ,SACvB,OArWkB,EAyBJ,MA+UhBlkd,EAAQ0jd,EAAK1jd,OACHriE,OAAiBqiE,EAAMriE,KA/Uf,IAmVlBg0N,EAAM+xT,EAAKU,SACXvma,EAAS6la,EAAK7la,OACd/rE,EAAO4xe,EAAKC,UACZnnhB,EAAOknhB,EAAKO,QACZvma,EAAQgma,EAAKhma,MACb0ya,EAAO1M,EAAKQ,SACZlnH,EAAOh9V,EAAMg9V,KACb7vY,EAAO6yC,EAAM7yC,KAGbuhgB,EAAM0B,EACNj6F,EAAOrkZ,EACPl5B,EA7XoB,EA+XpB64gB,EACA,OACE,OAAQzxd,EAAMriE,MACd,KAhXU,EAiXR,GAAmB,IAAfqiE,EAAMkoV,KAAY,CACpBloV,EAAMriE,KAtWM,GAuWZ,MAGF,KAAOwvB,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV,GAAkB,EAAb6yC,EAAMkoV,MAAsB,QAAT8U,EAAiB,CACvCh9V,EAAMob,MAAQ,EAEdo2c,EAAK,GAAY,IAAPx0H,EACVw0H,EAAK,GAAMx0H,IAAS,EAAK,IACzBh9V,EAAMob,MAAQuoK,EAAM3jL,EAAMob,MAAOo2c,EAAM,EAAG,GAI1Cx0H,EAAO,EACP7vY,EAAO,EAEP6yC,EAAMriE,KAxYC,EAyYP,MAMF,GAJAqiE,EAAM8/H,MAAQ,EACV9/H,EAAM9mC,OACR8mC,EAAM9mC,KAAKn9B,MAAO,KAED,EAAbikE,EAAMkoV,UACA,IAAP8U,IAA2B,IAAMA,GAAQ,IAAM,GAAI,CACtD0mH,EAAK5ihB,IAAM,yBACXk/D,EAAMriE,KAtXD,GAuXL,MAEF,GA7ZY,KA6ZA,GAAPq/Z,GAAwC,CAC3C0mH,EAAK5ihB,IAAM,6BACXk/D,EAAMriE,KA3XD,GA4XL,MAOF,GAHAwvB,GAAQ,EAER8S,EAAiC,GAAnB,IAHd+8X,KAAU,IAIU,IAAhBh9V,EAAM2sR,MACR3sR,EAAM2sR,MAAQ1sT,OAEX,GAAIA,EAAM+/B,EAAM2sR,MAAO,CAC1B+2L,EAAK5ihB,IAAM,sBACXk/D,EAAMriE,KAxYD,GAyYL,MAEFqiE,EAAM2ud,KAAO,GAAK1uf,EAElByjf,EAAKxzL,MAAQlwR,EAAMob,MAAQ,EAC3Bpb,EAAMriE,KAAc,IAAPq/Z,EAlaH,GAEE,GAkaZA,EAAO,EACP7vY,EAAO,EAEP,MACF,KAhbW,EAkbT,KAAOA,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAIV,GADA6yC,EAAM8/H,MAAQk9N,EAjcF,KAkcO,IAAdh9V,EAAM8/H,OAA8B,CACvC4jV,EAAK5ihB,IAAM,6BACXk/D,EAAMriE,KAhaD,GAiaL,MAEF,GAAkB,MAAdqiE,EAAM8/H,MAAgB,CACxB4jV,EAAK5ihB,IAAM,2BACXk/D,EAAMriE,KAraD,GAsaL,MAEEqiE,EAAM9mC,OACR8mC,EAAM9mC,KAAKhqB,KAAS8tZ,GAAQ,EAAK,GAEjB,IAAdh9V,EAAM8/H,QAER0xV,EAAK,GAAY,IAAPx0H,EACVw0H,EAAK,GAAMx0H,IAAS,EAAK,IACzBh9V,EAAMob,MAAQuoK,EAAM3jL,EAAMob,MAAOo2c,EAAM,EAAG,IAI5Cx0H,EAAO,EACP7vY,EAAO,EAEP6yC,EAAMriE,KAjdE,EAmdV,KAndU,EAqdR,KAAOwvB,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGN6yC,EAAM9mC,OACR8mC,EAAM9mC,KAAKo5M,KAAO0qL,GAEF,IAAdh9V,EAAM8/H,QAER0xV,EAAK,GAAY,IAAPx0H,EACVw0H,EAAK,GAAMx0H,IAAS,EAAK,IACzBw0H,EAAK,GAAMx0H,IAAS,GAAM,IAC1Bw0H,EAAK,GAAMx0H,IAAS,GAAM,IAC1Bh9V,EAAMob,MAAQuoK,EAAM3jL,EAAMob,MAAOo2c,EAAM,EAAG,IAI5Cx0H,EAAO,EACP7vY,EAAO,EAEP6yC,EAAMriE,KA3eA,EA6eR,KA7eQ,EA+eN,KAAOwvB,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGN6yC,EAAM9mC,OACR8mC,EAAM9mC,KAAKs1f,OAAiB,IAAPxxH,EACrBh9V,EAAM9mC,KAAKqqO,GAAMy5J,GAAQ,GAET,IAAdh9V,EAAM8/H,QAER0xV,EAAK,GAAY,IAAPx0H,EACVw0H,EAAK,GAAMx0H,IAAS,EAAK,IACzBh9V,EAAMob,MAAQuoK,EAAM3jL,EAAMob,MAAOo2c,EAAM,EAAG,IAI5Cx0H,EAAO,EACP7vY,EAAO,EAEP6yC,EAAMriE,KApgBG,EAsgBX,KAtgBW,EAugBT,GAAkB,KAAdqiE,EAAM8/H,MAAgB,CAExB,KAAO3yK,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV6yC,EAAMjoE,OAASila,EACXh9V,EAAM9mC,OACR8mC,EAAM9mC,KAAKu1f,UAAYzxH,GAEP,IAAdh9V,EAAM8/H,QAER0xV,EAAK,GAAY,IAAPx0H,EACVw0H,EAAK,GAAMx0H,IAAS,EAAK,IACzBh9V,EAAMob,MAAQuoK,EAAM3jL,EAAMob,MAAOo2c,EAAM,EAAG,IAI5Cx0H,EAAO,EACP7vY,EAAO,OAGA6yC,EAAM9mC,OACb8mC,EAAM9mC,KAAKwnO,MAAQ,MAErB1gM,EAAMriE,KAliBG,EAoiBX,KApiBW,EAqiBT,GAAkB,KAAdqiE,EAAM8/H,SACRxgK,EAAO0gC,EAAMjoE,QACFq4hB,IAAQ9wf,EAAO8wf,GACtB9wf,IACE0gC,EAAM9mC,OACR+G,EAAM+/B,EAAM9mC,KAAKu1f,UAAYzud,EAAMjoE,OAC9BioE,EAAM9mC,KAAKwnO,QAEd1gM,EAAM9mC,KAAKwnO,MAAQ,IAAIhlQ,MAAMskE,EAAM9mC,KAAKu1f,YAE1Cr/S,EAAMq2S,SACJzld,EAAM9mC,KAAKwnO,MACXhjJ,EACAlhH,EAGA8iC,EAEAW,IAMc,IAAd+/B,EAAM8/H,QACR9/H,EAAMob,MAAQuoK,EAAM3jL,EAAMob,MAAOsiC,EAAOp+E,EAAM9iC,IAEhD4zhB,GAAQ9wf,EACR9iC,GAAQ8iC,EACR0gC,EAAMjoE,QAAUunC,GAEd0gC,EAAMjoE,QAAU,MAAM05hB,EAE5Bzxd,EAAMjoE,OAAS,EACfioE,EAAMriE,KAtkBE,EAwkBV,KAxkBU,EAykBR,GAAkB,KAAdqiE,EAAM8/H,MAAgB,CACxB,GAAa,IAATswV,EAAc,MAAMqB,EACxBnyf,EAAO,EACP,GAEEW,EAAMy9E,EAAMlhH,EAAO8iC,KAEf0gC,EAAM9mC,MAAQ+G,GACb+/B,EAAMjoE,OAAS,QAClBioE,EAAM9mC,KAAK77B,MAAQu1B,OAAOE,aAAamN,UAElCA,GAAOX,EAAO8wf,GAOvB,GALkB,IAAdpwd,EAAM8/H,QACR9/H,EAAMob,MAAQuoK,EAAM3jL,EAAMob,MAAOsiC,EAAOp+E,EAAM9iC,IAEhD4zhB,GAAQ9wf,EACR9iC,GAAQ8iC,EACJW,EAAO,MAAMwxf,OAEVzxd,EAAM9mC,OACb8mC,EAAM9mC,KAAK77B,KAAO,MAEpB2iE,EAAMjoE,OAAS,EACfioE,EAAMriE,KAhmBK,EAkmBb,KAlmBa,EAmmBX,GAAkB,KAAdqiE,EAAM8/H,MAAgB,CACxB,GAAa,IAATswV,EAAc,MAAMqB,EACxBnyf,EAAO,EACP,GACEW,EAAMy9E,EAAMlhH,EAAO8iC,KAEf0gC,EAAM9mC,MAAQ+G,GACb+/B,EAAMjoE,OAAS,QAClBioE,EAAM9mC,KAAKwI,SAAW9O,OAAOE,aAAamN,UAErCA,GAAOX,EAAO8wf,GAMvB,GALkB,IAAdpwd,EAAM8/H,QACR9/H,EAAMob,MAAQuoK,EAAM3jL,EAAMob,MAAOsiC,EAAOp+E,EAAM9iC,IAEhD4zhB,GAAQ9wf,EACR9iC,GAAQ8iC,EACJW,EAAO,MAAMwxf,OAEVzxd,EAAM9mC,OACb8mC,EAAM9mC,KAAKwI,QAAU,MAEvBs+B,EAAMriE,KAvnBE,EAynBV,KAznBU,EA0nBR,GAAkB,IAAdqiE,EAAM8/H,MAAgB,CAExB,KAAO3yK,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV,GAAI6vY,KAAwB,MAAdh9V,EAAMob,OAAiB,CACnCsoc,EAAK5ihB,IAAM,sBACXk/D,EAAMriE,KAhnBH,GAinBH,MAGFq/Z,EAAO,EACP7vY,EAAO,EAGL6yC,EAAM9mC,OACR8mC,EAAM9mC,KAAK+0f,KAASjud,EAAM8/H,OAAS,EAAK,EACxC9/H,EAAM9mC,KAAKn9B,MAAO,GAEpB2nhB,EAAKxzL,MAAQlwR,EAAMob,MAAQ,EAC3Bpb,EAAMriE,KA/oBM,GAgpBZ,MACF,KAnpBY,GAqpBV,KAAOwvB,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGVu2f,EAAKxzL,MAAQlwR,EAAMob,MAAQ00c,EAAQ9yH,GAEnCA,EAAO,EACP7vY,EAAO,EAEP6yC,EAAMriE,KAhqBE,GAkqBV,KAlqBU,GAmqBR,GAAuB,IAAnBqiE,EAAMgwd,SASR,OAPAtM,EAAKU,SAAWzyT,EAChB+xT,EAAKC,UAAY7xe,EACjB4xe,EAAKO,QAAUznhB,EACfknhB,EAAKQ,SAAWkM,EAChBpwd,EAAMg9V,KAAOA,EACbh9V,EAAM7yC,KAAOA,EApsBC,EAwsBhBu2f,EAAKxzL,MAAQlwR,EAAMob,MAAQ,EAC3Bpb,EAAMriE,KA9qBM,GAgrBd,KAhrBc,GAirBZ,GArtBgB,IAqtBZm4Y,GAptBY,IAotBSA,EAAqB,MAAM27I,EAEtD,KAlrBgB,GAmrBd,GAAIzxd,EAAM5b,KAAM,CAEd44W,KAAiB,EAAP7vY,EACVA,GAAe,EAAPA,EAER6yC,EAAMriE,KA1qBC,GA2qBP,MAGF,KAAOwvB,EAAO,GAAG,CACf,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EASV,OANA6yC,EAAM5b,KAAe,EAAP44W,EAGd7vY,GAAQ,EAGQ,GAJhB6vY,KAAU,IAKV,KAAK,EAGHh9V,EAAMriE,KA5sBM,GA6sBZ,MACF,KAAK,EAKH,GAJAqzhB,EAAYhxd,GAGZA,EAAMriE,KA5sBQ,GA3CA,IAwvBVm4Y,EAAmB,CAErBknB,KAAU,EACV7vY,GAAQ,EAER,MAAMskgB,EAER,MACF,KAAK,EAGHzxd,EAAMriE,KA3tBK,GA4tBX,MACF,KAAK,EACH+lhB,EAAK5ihB,IAAM,qBACXk/D,EAAMriE,KAltBD,GAqtBPq/Z,KAAU,EACV7vY,GAAQ,EAER,MACF,KAzuBgB,GA+uBd,IAJA6vY,KAAiB,EAAP7vY,EACVA,GAAe,EAAPA,EAGDA,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV,IAAY,MAAP6vY,MAAqBA,IAAS,GAAM,OAAS,CAChD0mH,EAAK5ihB,IAAM,+BACXk/D,EAAMriE,KAxuBD,GAyuBL,MAUF,GARAqiE,EAAMjoE,OAAgB,MAAPila,EAIfA,EAAO,EACP7vY,EAAO,EAEP6yC,EAAMriE,KAjwBO,GAtCG,IAwyBZm4Y,EAAqB,MAAM27I,EAEjC,KApwBe,GAqwBbzxd,EAAMriE,KApwBM,GAswBd,KAtwBc,GAwwBZ,GADA2hC,EAAO0gC,EAAMjoE,OACH,CAGR,GAFIunC,EAAO8wf,IAAQ9wf,EAAO8wf,GACtB9wf,EAAOwS,IAAQxS,EAAOwS,GACb,IAATxS,EAAc,MAAMmyf,EAExBriT,EAAMq2S,SAAS5na,EAAQH,EAAOlhH,EAAM8iC,EAAMqyL,GAE1Cy+T,GAAQ9wf,EACR9iC,GAAQ8iC,EACRwS,GAAQxS,EACRqyL,GAAOryL,EACP0gC,EAAMjoE,QAAUunC,EAChB,MAGF0gC,EAAMriE,KA3xBM,GA4xBZ,MACF,KAxxBe,GA0xBb,KAAOwvB,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAmBV,GAhBA6yC,EAAMkwd,KAAkC,KAAnB,GAAPlzH,GAEdA,KAAU,EACV7vY,GAAQ,EAER6yC,EAAMmwd,MAAmC,GAAnB,GAAPnzH,GAEfA,KAAU,EACV7vY,GAAQ,EAER6yC,EAAMiwd,MAAmC,GAAnB,GAAPjzH,GAEfA,KAAU,EACV7vY,GAAQ,EAGJ6yC,EAAMkwd,KAAO,KAAOlwd,EAAMmwd,MAAQ,GAAI,CACxCzM,EAAK5ihB,IAAM,sCACXk/D,EAAMriE,KAtyBD,GAuyBL,MAIFqiE,EAAMowd,KAAO,EACbpwd,EAAMriE,KAxzBS,GA0zBjB,KA1zBiB,GA2zBf,KAAOqiE,EAAMowd,KAAOpwd,EAAMiwd,OAAO,CAE/B,KAAO9igB,EAAO,GAAG,CACf,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV6yC,EAAM2tL,KAAKriH,EAAMtrE,EAAMowd,SAAmB,EAAPpzH,EAEnCA,KAAU,EACV7vY,GAAQ,EAGV,KAAO6yC,EAAMowd,KAAO,IAClBpwd,EAAM2tL,KAAKriH,EAAMtrE,EAAMowd,SAAW,EAapC,GAPApwd,EAAMqvd,QAAUrvd,EAAMswd,OACtBtwd,EAAMuvd,QAAU,EAEhBjxhB,EAAO,CAAC6uB,KAAM6yC,EAAMuvd,SACpB32gB,EAAMi3gB,EA74BA,EA64BqB7vd,EAAM2tL,KAAM,EAAG,GAAI3tL,EAAMqvd,QAAS,EAAGrvd,EAAMqwd,KAAM/xhB,GAC5E0hE,EAAMuvd,QAAUjxhB,EAAK6uB,KAEjBvU,EAAK,CACP8qgB,EAAK5ihB,IAAM,2BACXk/D,EAAMriE,KA90BD,GA+0BL,MAGFqiE,EAAMowd,KAAO,EACbpwd,EAAMriE,KA91BU,GAg2BlB,KAh2BkB,GAi2BhB,KAAOqiE,EAAMowd,KAAOpwd,EAAMkwd,KAAOlwd,EAAMmwd,OAAO,CAC5C,KAGEgB,GAFAhC,EAAOnvd,EAAMqvd,QAAQryH,GAAS,GAAKh9V,EAAMuvd,SAAW,MAEhC,GAAM,IAC1B6B,EAAkB,MAAPjC,KAFX+B,EAAY/B,IAAS,KAIFhigB,IANZ,CAQP,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV,GAAIikgB,EAAW,GAEbp0H,KAAUk0H,EACV/jgB,GAAQ+jgB,EAERlxd,EAAM2tL,KAAK3tL,EAAMowd,QAAUgB,MAExB,CACH,GAAiB,KAAbA,EAAiB,CAGnB,IADAt1hB,EAAIo1hB,EAAY,EACT/jgB,EAAOrxB,GAAG,CACf,GAAa,IAATs0hB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAOV,GAHA6vY,KAAUk0H,EACV/jgB,GAAQ+jgB,EAEW,IAAflxd,EAAMowd,KAAY,CACpB1M,EAAK5ihB,IAAM,4BACXk/D,EAAMriE,KA73BP,GA83BC,MAEFsiC,EAAM+/B,EAAM2tL,KAAK3tL,EAAMowd,KAAO,GAC9B9wf,EAAO,GAAY,EAAP09X,GAEZA,KAAU,EACV7vY,GAAQ,OAGL,GAAiB,KAAbikgB,EAAiB,CAGxB,IADAt1hB,EAAIo1hB,EAAY,EACT/jgB,EAAOrxB,GAAG,CACf,GAAa,IAATs0hB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAKVA,GAAQ+jgB,EAERjxf,EAAM,EACNX,EAAO,GAAY,GAJnB09X,KAAUk0H,IAMVl0H,KAAU,EACV7vY,GAAQ,MAGL,CAGH,IADArxB,EAAIo1hB,EAAY,EACT/jgB,EAAOrxB,GAAG,CACf,GAAa,IAATs0hB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAKVA,GAAQ+jgB,EAERjxf,EAAM,EACNX,EAAO,IAAa,KAJpB09X,KAAUk0H,IAMVl0H,KAAU,EACV7vY,GAAQ,EAGV,GAAI6yC,EAAMowd,KAAO9wf,EAAO0gC,EAAMkwd,KAAOlwd,EAAMmwd,MAAO,CAChDzM,EAAK5ihB,IAAM,4BACXk/D,EAAMriE,KAn7BL,GAo7BD,MAEF,KAAO2hC,KACL0gC,EAAM2tL,KAAK3tL,EAAMowd,QAAUnwf,GAMjC,GA77BO,KA67BH+/B,EAAMriE,KAAgB,MAG1B,GAAwB,IAApBqiE,EAAM2tL,KAAK,KAAY,CACzB+1R,EAAK5ihB,IAAM,uCACXk/D,EAAMriE,KAl8BD,GAm8BL,MAeF,GATAqiE,EAAMuvd,QAAU,EAEhBjxhB,EAAO,CAAC6uB,KAAM6yC,EAAMuvd,SACpB32gB,EAAMi3gB,EA/gCD,EA+gCqB7vd,EAAM2tL,KAAM,EAAG3tL,EAAMkwd,KAAMlwd,EAAMqvd,QAAS,EAAGrvd,EAAMqwd,KAAM/xhB,GAGnF0hE,EAAMuvd,QAAUjxhB,EAAK6uB,KAGjBvU,EAAK,CACP8qgB,EAAK5ihB,IAAM,8BACXk/D,EAAMriE,KAp9BD,GAq9BL,MAcF,GAXAqiE,EAAMwvd,SAAW,EAGjBxvd,EAAMsvd,SAAWtvd,EAAMuwd,QACvBjyhB,EAAO,CAAC6uB,KAAM6yC,EAAMwvd,UACpB52gB,EAAMi3gB,EA/hCA,EA+hCqB7vd,EAAM2tL,KAAM3tL,EAAMkwd,KAAMlwd,EAAMmwd,MAAOnwd,EAAMsvd,SAAU,EAAGtvd,EAAMqwd,KAAM/xhB,GAG/F0hE,EAAMwvd,SAAWlxhB,EAAK6uB,KAGlBvU,EAAK,CACP8qgB,EAAK5ihB,IAAM,wBACXk/D,EAAMriE,KAr+BD,GAs+BL,MAIF,GADAqiE,EAAMriE,KAn/BU,GA3CA,IA+hCZm4Y,EAAqB,MAAM27I,EAEjC,KAt/BkB,GAu/BhBzxd,EAAMriE,KAt/BS,GAw/BjB,KAx/BiB,GAy/Bf,GAAIyyhB,GAAQ,GAAKt+e,GAAQ,IAAK,CAE5B4xe,EAAKU,SAAWzyT,EAChB+xT,EAAKC,UAAY7xe,EACjB4xe,EAAKO,QAAUznhB,EACfknhB,EAAKQ,SAAWkM,EAChBpwd,EAAMg9V,KAAOA,EACbh9V,EAAM7yC,KAAOA,EAEbyigB,EAAalM,EAAMvtF,GAEnBxkO,EAAM+xT,EAAKU,SACXvma,EAAS6la,EAAK7la,OACd/rE,EAAO4xe,EAAKC,UACZnnhB,EAAOknhB,EAAKO,QACZvma,EAAQgma,EAAKhma,MACb0ya,EAAO1M,EAAKQ,SACZlnH,EAAOh9V,EAAMg9V,KACb7vY,EAAO6yC,EAAM7yC,KAphCH,KAuhCN6yC,EAAMriE,OACRqiE,EAAMwwd,MAAQ,GAEhB,MAGF,IADAxwd,EAAMwwd,KAAO,EAIXW,GAFAhC,EAAOnvd,EAAMqvd,QAAQryH,GAAS,GAAKh9V,EAAMuvd,SAAU,MAE/B,GAAM,IAC1B6B,EAAkB,MAAPjC,KAFX+B,EAAY/B,IAAS,KAIJhigB,IANV,CAQP,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV,GAAIgkgB,GAAgC,KAAV,IAAVA,GAAuB,CAIrC,IAHAE,EAAYH,EACZI,EAAUH,EACVI,EAAWH,EAKTD,GAHAhC,EAAOnvd,EAAMqvd,QAAQkC,IACXv0H,GAAS,GAAMq0H,EAAYC,GAAW,IAAoCD,OAEhE,GAAM,IAC1BD,EAAkB,MAAPjC,IAENkC,GAJLH,EAAY/B,IAAS,KAIUhigB,IAPxB,CASP,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAIV6vY,KAAUq0H,EACVlkgB,GAAQkkgB,EAERrxd,EAAMwwd,MAAQa,EAQhB,GALAr0H,KAAUk0H,EACV/jgB,GAAQ+jgB,EAERlxd,EAAMwwd,MAAQU,EACdlxd,EAAMjoE,OAASq5hB,EACC,IAAZD,EAAe,CAIjBnxd,EAAMriE,KAhkCO,GAikCb,MAEF,GAAc,GAAVwzhB,EAAc,CAEhBnxd,EAAMwwd,MAAQ,EACdxwd,EAAMriE,KAplCI,GAqlCV,MAEF,GAAc,GAAVwzhB,EAAc,CAChBzN,EAAK5ihB,IAAM,8BACXk/D,EAAMriE,KAvkCD,GAwkCL,MAEFqiE,EAAM0gM,MAAkB,GAAVywR,EACdnxd,EAAMriE,KAnlCY,GAqlCpB,KArlCoB,GAslClB,GAAIqiE,EAAM0gM,MAAO,CAGf,IADA5kQ,EAAIkkE,EAAM0gM,MACHvzO,EAAOrxB,GAAG,CACf,GAAa,IAATs0hB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV6yC,EAAMjoE,QAAUila,GAAS,GAAKh9V,EAAM0gM,OAAQ,EAE5Cs8J,KAAUh9V,EAAM0gM,MAChBvzO,GAAQ6yC,EAAM0gM,MAEd1gM,EAAMwwd,MAAQxwd,EAAM0gM,MAGtB1gM,EAAMywd,IAAMzwd,EAAMjoE,OAClBioE,EAAMriE,KAxmCU,GA0mClB,KA1mCkB,GA2mChB,KAGEwzhB,GAFAhC,EAAOnvd,EAAMsvd,SAAStyH,GAAS,GAAKh9V,EAAMwvd,UAAW,MAEjC,GAAM,IAC1B4B,EAAkB,MAAPjC,KAFX+B,EAAY/B,IAAS,KAIFhigB,IANZ,CAQP,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV,GAAyB,KAAV,IAAVgkgB,GAAuB,CAI1B,IAHAE,EAAYH,EACZI,EAAUH,EACVI,EAAWH,EAKTD,GAHAhC,EAAOnvd,EAAMsvd,SAASiC,IACZv0H,GAAS,GAAMq0H,EAAYC,GAAW,IAAoCD,OAEhE,GAAM,IAC1BD,EAAkB,MAAPjC,IAENkC,GAJLH,EAAY/B,IAAS,KAIUhigB,IAPxB,CASP,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAIV6vY,KAAUq0H,EACVlkgB,GAAQkkgB,EAERrxd,EAAMwwd,MAAQa,EAOhB,GAJAr0H,KAAUk0H,EACV/jgB,GAAQ+jgB,EAERlxd,EAAMwwd,MAAQU,EACA,GAAVC,EAAc,CAChBzN,EAAK5ihB,IAAM,wBACXk/D,EAAMriE,KAlpCD,GAmpCL,MAEFqiE,EAAM9vD,OAASkhhB,EACfpxd,EAAM0gM,MAAoB,GAAXywR,EACfnxd,EAAMriE,KA7pCa,GA+pCrB,KA/pCqB,GAgqCnB,GAAIqiE,EAAM0gM,MAAO,CAGf,IADA5kQ,EAAIkkE,EAAM0gM,MACHvzO,EAAOrxB,GAAG,CACf,GAAa,IAATs0hB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV6yC,EAAM9vD,QAAU8sZ,GAAS,GAAKh9V,EAAM0gM,OAAQ,EAE5Cs8J,KAAUh9V,EAAM0gM,MAChBvzO,GAAQ6yC,EAAM0gM,MAEd1gM,EAAMwwd,MAAQxwd,EAAM0gM,MAGtB,GAAI1gM,EAAM9vD,OAAS8vD,EAAM2ud,KAAM,CAC7BjL,EAAK5ihB,IAAM,gCACXk/D,EAAMriE,KA9qCD,GA+qCL,MAIFqiE,EAAMriE,KAxrCW,GA0rCnB,KA1rCmB,GA2rCjB,GAAa,IAATm0C,EAAc,MAAM2/e,EAExB,GADAnyf,EAAO62Z,EAAOrkZ,EACVkuB,EAAM9vD,OAASovB,EAAM,CAEvB,IADAA,EAAO0gC,EAAM9vD,OAASovB,GACX0gC,EAAM6ud,OACX7ud,EAAM2vd,KAAM,CACdjM,EAAK5ihB,IAAM,gCACXk/D,EAAMriE,KA7rCL,GA8rCD,MAkBA2hC,EAAO0gC,EAAM8ud,OACfxvf,GAAQ0gC,EAAM8ud,MACd96gB,EAAOgsD,EAAM4ud,MAAQtvf,GAGrBtrB,EAAOgsD,EAAM8ud,MAAQxvf,EAEnBA,EAAO0gC,EAAMjoE,SAAUunC,EAAO0gC,EAAMjoE,QACxCq3hB,EAAcpvd,EAAMrjE,YAGpByyhB,EAAcvxa,EACd7pG,EAAO29M,EAAM3xJ,EAAM9vD,OACnBovB,EAAO0gC,EAAMjoE,OAEXunC,EAAOwS,IAAQxS,EAAOwS,GAC1BA,GAAQxS,EACR0gC,EAAMjoE,QAAUunC,EAChB,GACEu+E,EAAO8zG,KAASy9T,EAAYp7gB,aACnBsrB,GACU,IAAjB0gC,EAAMjoE,SAAgBioE,EAAMriE,KA9uCjB,IA+uCf,MACF,KA3uCiB,GA4uCf,GAAa,IAATm0C,EAAc,MAAM2/e,EACxB5za,EAAO8zG,KAAS3xJ,EAAMjoE,OACtB+5C,IACAkuB,EAAMriE,KApvCS,GAqvCf,MACF,KAhvCW,GAivCT,GAAIqiE,EAAMkoV,KAAM,CAEd,KAAO/6X,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IAEApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAcV,GAXAgpa,GAAQrkZ,EACR4xe,EAAK+E,WAAatyF,EAClBn2X,EAAMq5Q,OAAS88G,EACXA,IACFutF,EAAKxzL,MAAQlwR,EAAMob,MAEdpb,EAAM8/H,MAAQ6jD,EAAM3jL,EAAMob,MAAOyiC,EAAQs4U,EAAMxkO,EAAMwkO,GAAQiyF,EAAQpod,EAAMob,MAAOyiC,EAAQs4U,EAAMxkO,EAAMwkO,IAG7GA,EAAOrkZ,GAEFkuB,EAAM8/H,MAAQk9N,EAAO8yH,EAAQ9yH,MAAWh9V,EAAMob,MAAO,CACxDsoc,EAAK5ihB,IAAM,uBACXk/D,EAAMriE,KArwCH,GAswCH,MAGFq/Z,EAAO,EACP7vY,EAAO,EAIT6yC,EAAMriE,KAhxCI,GAkxCZ,KAlxCY,GAmxCV,GAAIqiE,EAAMkoV,MAAQloV,EAAM8/H,MAAO,CAE7B,KAAO3yK,EAAO,IAAI,CAChB,GAAa,IAATijgB,EAAc,MAAMqB,EACxBrB,IACApzH,GAAQt/S,EAAMlhH,MAAW2wB,EACzBA,GAAQ,EAGV,GAAI6vY,KAAwB,WAAdh9V,EAAMq5Q,OAAqB,CACvCqqM,EAAK5ihB,IAAM,yBACXk/D,EAAMriE,KA5xCH,GA6xCH,MAGFq/Z,EAAO,EACP7vY,EAAO,EAIT6yC,EAAMriE,KAtyCE,GAwyCV,KAxyCU,GAyyCRib,EAt1CgB,EAu1ChB,MAAM64gB,EACR,KA1yCS,GA2yCP74gB,GAr1CgB,EAs1ChB,MAAM64gB,EACR,KA5yCS,GA6yCP,OAv1CgB,EAw1ClB,KA7yCU,GA+yCV,QACE,OA71CgB,EAm3CpB,OARA/N,EAAKU,SAAWzyT,EAChB+xT,EAAKC,UAAY7xe,EACjB4xe,EAAKO,QAAUznhB,EACfknhB,EAAKQ,SAAWkM,EAChBpwd,EAAMg9V,KAAOA,EACbh9V,EAAM7yC,KAAOA,GAGT6yC,EAAM4ud,OAAUz4F,IAASutF,EAAKC,WAAa3jd,EAAMriE,KAx0C1C,KAy0CUqiE,EAAMriE,KA50Cd,IApDO,IAg4CuBm4Y,KAtlC7C,SAAsB4tI,EAAMtngB,EAAKmyB,EAAKjP,GACpC,IAAIw5C,EACA9Y,EAAQ0jd,EAAK1jd,MAqCjB,OAlCqB,OAAjBA,EAAMrjE,SACRqjE,EAAM4ud,MAAQ,GAAK5ud,EAAM2sR,MACzB3sR,EAAM8ud,MAAQ,EACd9ud,EAAM6ud,MAAQ,EAEd7ud,EAAMrjE,OAAS,IAAIyyO,EAAM+0S,KAAKnkd,EAAM4ud,QAIlCtvf,GAAQ0gC,EAAM4ud,OAChBx/S,EAAMq2S,SAASzld,EAAMrjE,OAAOyf,EAAKmyB,EAAMyxB,EAAM4ud,MAAO5ud,EAAM4ud,MAAO,GACjE5ud,EAAM8ud,MAAQ,EACd9ud,EAAM6ud,MAAQ7ud,EAAM4ud,SAGpB91c,EAAO9Y,EAAM4ud,MAAQ5ud,EAAM8ud,OAChBxvf,IACTw5C,EAAOx5C,GAGT8vM,EAAMq2S,SAASzld,EAAMrjE,OAAOyf,EAAKmyB,EAAMjP,EAAMw5C,EAAM9Y,EAAM8ud,QACzDxvf,GAAQw5C,IAGNs2J,EAAMq2S,SAASzld,EAAMrjE,OAAOyf,EAAKmyB,EAAMjP,EAAMA,EAAM,GACnD0gC,EAAM8ud,MAAQxvf,EACd0gC,EAAM6ud,MAAQ7ud,EAAM4ud,QAGpB5ud,EAAM8ud,OAASh2c,EACX9Y,EAAM8ud,QAAU9ud,EAAM4ud,QAAS5ud,EAAM8ud,MAAQ,GAC7C9ud,EAAM6ud,MAAQ7ud,EAAM4ud,QAAS5ud,EAAM6ud,OAAS/1c,KAG7C,EAgjCD44c,CAAahO,EAAMA,EAAK7la,OAAQ6la,EAAKU,SAAUjuF,EAAOutF,EAAKC,YAC7D3jd,EAAMriE,KA10CC,IA1CS,IAw3CpB+whB,GAAOhL,EAAKQ,SACZ/tF,GAAQutF,EAAKC,UACbD,EAAKuF,UAAYyF,EACjBhL,EAAK+E,WAAatyF,EAClBn2X,EAAMq5Q,OAAS88G,EACXn2X,EAAMkoV,MAAQiuC,IAChButF,EAAKxzL,MAAQlwR,EAAMob,MAChBpb,EAAM8/H,MAAQ6jD,EAAM3jL,EAAMob,MAAOyiC,EAAQs4U,EAAMutF,EAAKU,SAAWjuF,GAAQiyF,EAAQpod,EAAMob,MAAOyiC,EAAQs4U,EAAMutF,EAAKU,SAAWjuF,IAE/HutF,EAAK+J,UAAYztd,EAAM7yC,MAAQ6yC,EAAM5b,KAAO,GAAK,IA12CjC,KA22CG4b,EAAMriE,KAAgB,IAAM,IAn2C3B,KAo2CDqiE,EAAMriE,MAz2CR,KAy2CyBqiE,EAAMriE,KAAiB,IAAM,IACzD,IAAR+whB,GAAsB,IAATv4F,GAl5CC,IAk5CcrgD,IA14Cd,IA04CqCl9X,IACvDA,GAp4CkB,GAs4CbA,IAsCTxnB,EAAQs0hB,WAnCR,SAAoBhC,GAElB,IAAKA,IAASA,EAAK1jd,MACjB,OA/4CkB,EAk5CpB,IAAIA,EAAQ0jd,EAAK1jd,MAKjB,OAJIA,EAAMrjE,SACRqjE,EAAMrjE,OAAS,MAEjB+mhB,EAAK1jd,MAAQ,KA15CO,GAo7CtB5uE,EAAQ6zhB,iBAtBR,SAA0BvB,EAAMxqf,GAC9B,IAAI8mC,EAGJ,OAAK0jd,GAASA,EAAK1jd,MAEM,KAAP,GADlBA,EAAQ0jd,EAAK1jd,OACFkoV,OAh6CS,GAm6CpBloV,EAAM9mC,KAAOA,EACbA,EAAKn9B,MAAO,EAx6CQ,IAIA,GAi7CtB3K,EAAQugiB,YAAc,sCAYpB,CAAC,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,KAAKhrC,GAAG,CAAC,SAAS2vB,EAAQnlhB,EAAOC,GACjH,aAGA,IAAIg+O,EAAQknS,EAAQ,mBAWhBsb,EAAQ,CACV,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACrD,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAG3DC,EAAO,CACT,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGtDC,EAAQ,CACV,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IACtD,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAClD,KAAM,MAAO,MAAO,MAAO,EAAG,GAG5BC,EAAO,CACT,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGtB5giB,EAAOC,QAAU,SAAuB8a,EAAMyhP,EAAMqkS,EAAYhhQ,EAAO5jH,EAAO6kX,EAAa5B,EAAM/xhB,GAE/F,IAYI4zhB,EACAthhB,EACAuhhB,EACAlkhB,EACAzR,EAIA+xC,EAMA2if,EAAWC,EAASC,EA1BpBjkgB,EAAO7uB,EAAK6uB,KAGZ8S,EAAM,EACNk1F,EAAM,EACNloH,EAAM,EAAGE,EAAM,EACfmE,EAAO,EACPkD,EAAO,EACP+8B,EAAO,EACPO,EAAO,EACPy2a,EAAO,EACP6pE,EAAO,EAMPxmhB,EAAO,KACPymhB,EAAa,EAGbhmf,EAAQ,IAAI+iM,EAAM82S,MAAMoM,IACxBC,EAAO,IAAInjT,EAAM82S,MAAMoM,IACvB5xR,EAAQ,KACR8xR,EAAc,EAoClB,IAAKvyf,EAAM,EAAGA,GA7FF,GA6FkBA,IAC5BoM,EAAMpM,GAAO,EAEf,IAAKk1F,EAAM,EAAGA,EAAM67J,EAAO77J,IACzB9oF,EAAMshN,EAAKqkS,EAAa78Z,MAK1B,IADA7jH,EAAO6b,EACFhgB,EAtGO,GAsGQA,GAAO,GACN,IAAfk/B,EAAMl/B,GADkBA,KAM9B,GAHImE,EAAOnE,IACTmE,EAAOnE,GAEG,IAARA,EAaF,OATAigK,EAAM6kX,KAAkB,SAMxB7kX,EAAM6kX,KAAkB,SAExB3zhB,EAAK6uB,KAAO,EACL,EAET,IAAKlgB,EAAM,EAAGA,EAAME,GACC,IAAfk/B,EAAMp/B,GADaA,KASzB,IANIqE,EAAOrE,IACTqE,EAAOrE,GAIT6kC,EAAO,EACF7R,EAAM,EAAGA,GApIF,GAoIkBA,IAG5B,GAFA6R,IAAS,GACTA,GAAQzF,EAAMpM,IACH,EACT,OAAQ,EAGZ,GAAI6R,EAAO,IAtID,IAsIO5lC,GAA0B,IAARiB,GACjC,OAAQ,EAKV,IADAolhB,EAAK,GAAK,EACLtyf,EAAM,EAAGA,EAjJF,GAiJiBA,IAC3Bsyf,EAAKtyf,EAAM,GAAKsyf,EAAKtyf,GAAOoM,EAAMpM,GAIpC,IAAKk1F,EAAM,EAAGA,EAAM67J,EAAO77J,IACM,IAA3Bw4H,EAAKqkS,EAAa78Z,KACpBk7Z,EAAKkC,EAAK5kS,EAAKqkS,EAAa78Z,OAAWA,GAiE3C,GApNU,IAyLNjpH,GACAN,EAAO80P,EAAQ2vR,EACf9hf,EAAM,IA1LD,IA2LEriC,GACPN,EAAOgmhB,EACPS,GAAc,IACd3xR,EAAQmxR,EACRW,GAAe,IACfjkf,EAAM,MAEN3iC,EAAOkmhB,EACPpxR,EAAQqxR,EACRxjf,GAAO,GAIX6jf,EAAO,EACPj9Z,EAAM,EACNl1F,EAAMhzB,EACNzQ,EAAOy1hB,EACPz9gB,EAAOlD,EACPigC,EAAO,EACP4gf,GAAO,EAEPlkhB,GADAs6c,EAAO,GAAKj3c,GACE,EAhNL,IAmNJpF,GAAiBq8c,EAxNN,KAMN,IAmNPr8c,GAAkBq8c,EAxNJ,IAyNf,OAAO,EAKT,OAAS,CAGP2oE,EAAYjxf,EAAMsR,EACd8+e,EAAKl7Z,GAAO5mF,GACd4if,EAAU,EACVC,EAAWf,EAAKl7Z,IAETk7Z,EAAKl7Z,GAAO5mF,GACnB4if,EAAUzwR,EAAM8xR,EAAcnC,EAAKl7Z,IACnCi8Z,EAAWxlhB,EAAKymhB,EAAahC,EAAKl7Z,MAGlCg8Z,EAAU,GACVC,EAAW,GAIbc,EAAO,GAAMjyf,EAAMsR,EAEnBtkC,EADA2D,EAAO,GAAK4D,EAEZ,GAEE44J,EAAM5wK,GAAQ41hB,GAAQ7gf,IADtB3gC,GAAQshhB,IAC+BhB,GAAa,GAAOC,GAAW,GAAMC,EAAU,QACtE,IAATxghB,GAIT,IADAshhB,EAAO,GAAMjyf,EAAM,EACZmyf,EAAOF,GACZA,IAAS,EAWX,GATa,IAATA,GACFE,GAAQF,EAAO,EACfE,GAAQF,GAERE,EAAO,EAITj9Z,IACqB,MAAf9oF,EAAMpM,GAAY,CACtB,GAAIA,IAAQ9yB,EAAO,MACnB8yB,EAAM0tN,EAAKqkS,EAAa3B,EAAKl7Z,IAI/B,GAAIl1F,EAAM3uB,IAAS8ghB,EAAOnkhB,KAAUkkhB,EAAK,CAYvC,IAVa,IAAT5gf,IACFA,EAAOjgC,GAIT9U,GAAQyQ,EAIR6kC,EAAO,IADPt9B,EAAOyrB,EAAMsR,GAEN/8B,EAAO+8B,EAAOpkC,MACnB2kC,GAAQzF,EAAM73B,EAAO+8B,KACT,IACZ/8B,IACAs9B,IAAS,EAKX,GADAy2a,GAAQ,GAAK/zc,EA5RR,IA6RAtI,GAAiBq8c,EAlSV,KAMN,IA6RHr8c,GAAkBq8c,EAlSR,IAmSX,OAAO,EAQTn7S,EAJA+kX,EAAMC,EAAOnkhB,GAICqD,GAAQ,GAAOkD,GAAQ,GAAOhY,EAAOy1hB,EAAc,GAiBrE,OAVa,IAATG,IAIFhlX,EAAM5wK,EAAO41hB,GAAUnyf,EAAMsR,GAAS,GAAO,IAAM,GAAK,GAK1DjzC,EAAK6uB,KAAO7b,EACL,IAGP,CAAC,kBAAkB,KAAKs1e,GAAG,CAAC,SAAS0vB,EAAQnlhB,EAAOC,GACtD,aAEAD,EAAOC,QAAU,CACf,EAAQ,kBACR,EAAQ,aACR,EAAQ,GACR,KAAQ,aACR,KAAQ,eACR,KAAQ,aACR,KAAQ,sBACR,KAAQ,eACR,KAAQ,yBAER,IAAIy1f,GAAG,CAAC,SAASyvB,EAAQnlhB,EAAOC,GAClC,aAGA,IAAIg+O,EAAQknS,EAAQ,mBAqBpB,SAAS93G,EAAKp2X,GAA6B,IAAtB,IAAInI,EAAMmI,EAAIrwC,SAAiBkoC,GAAO,GAAKmI,EAAInI,GAAO,EAI3E,IA0DIwyf,EACF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAEvDC,EACF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAEhEC,EACF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAEnCC,EACF,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAc3CC,EAAgB,IAAIn3hB,MAAM,KAC9B8ia,EAAKq0H,GAOL,IAAIC,EAAgB,IAAIp3hB,MAAMq3hB,IAC9Bv0H,EAAKs0H,GAKL,IAAIE,EAAgB,IAAIt3hB,MAjBJ,KAkBpB8ia,EAAKw0H,GAML,IAAIC,EAAgB,IAAIv3hB,MAAMiuhB,KAC9BnrH,EAAKy0H,GAGL,IAAIC,EAAgB,IAAIx3hB,MA7FJ,IA8FpB8ia,EAAK00H,GAGL,IAAIC,EAAgB,IAAIz3hB,MAxFJ,IAyFpB8ia,EAAK20H,GAIL,IAaIC,EACAC,EACAC,EAfAC,EAAiB,SAAUC,EAAaC,EAAYC,EAAYn3c,EAAOo3c,GAEzE14hB,KAAKu4hB,YAAeA,EACpBv4hB,KAAKw4hB,WAAeA,EACpBx4hB,KAAKy4hB,WAAeA,EACpBz4hB,KAAKshF,MAAeA,EACpBthF,KAAK04hB,WAAeA,EAGpB14hB,KAAK24hB,UAAeJ,GAAeA,EAAYz7hB,QAS7C87hB,EAAW,SAASC,EAAUC,GAChC94hB,KAAK64hB,SAAWA,EAChB74hB,KAAK+4hB,SAAW,EAChB/4hB,KAAK84hB,UAAYA,GAKnB,SAASE,EAAOn7c,GACd,OAAOA,EAAO,IAAMk6c,EAAWl6c,GAAQk6c,EAAW,KAAOl6c,IAAS,IAQpE,SAASo7c,EAAWr4hB,EAAGo0B,GAGrBp0B,EAAE0shB,YAAY1shB,EAAE2gU,WAAmB,IAALvsS,EAC9Bp0B,EAAE0shB,YAAY1shB,EAAE2gU,WAAcvsS,IAAM,EAAK,IAQ3C,SAASkkgB,EAAUt4hB,EAAGlB,EAAO5C,GACvB8D,EAAE0xhB,SAjIY,GAiIWx1hB,GAC3B8D,EAAEyxhB,QAAW3yhB,GAASkB,EAAE0xhB,SAAY,MACpC2G,EAAUr4hB,EAAGA,EAAEyxhB,QACfzxhB,EAAEyxhB,OAAS3yhB,GApIK,GAoIgBkB,EAAE0xhB,SAClC1xhB,EAAE0xhB,UAAYx1hB,EArIE,KAuIhB8D,EAAEyxhB,QAAW3yhB,GAASkB,EAAE0xhB,SAAY,MACpC1xhB,EAAE0xhB,UAAYx1hB,GAKlB,SAASq8hB,EAAUv4hB,EAAGsB,EAAG09W,GACvBs5K,EAAUt4hB,EAAGg/W,EAAO,EAAF19W,GAAe09W,EAAO,EAAF19W,EAAM,IAS9C,SAASk3hB,EAAW7vf,EAAMvE,GACxB,IAAI+mG,EAAM,EACV,GACEA,GAAc,EAAPxiG,EACPA,KAAU,EACVwiG,IAAQ,UACC/mG,EAAM,GACjB,OAAO+mG,IAAQ,EAgIjB,SAASstZ,EAAUz5K,EAAMm5K,EAAUjzS,GAKjC,IAEI5zN,EACArxB,EAHAimP,EAAY,IAAIrmP,MAAMmxhB,IACtBrof,EAAO,EAOX,IAAKrX,EAAO,EAAGA,GA9SG,GA8SeA,IAC/B40N,EAAU50N,GAAQqX,EAAQA,EAAOu8M,EAAS5zN,EAAK,IAAO,EASxD,IAAKrxB,EAAI,EAAIA,GAAKk4hB,EAAUl4hB,IAAK,CAC/B,IAAImkC,EAAM46U,EAAO,EAAF/+W,EAAM,GACT,IAARmkC,IAEJ46U,EAAO,EAAF/+W,GAAgBu4hB,EAAWtyS,EAAU9hN,KAAQA,KAmHtD,SAASs0f,EAAW14hB,GAClB,IAAIC,EAGJ,IAAKA,EAAI,EAAGA,EA/bM04hB,IA+bQ14hB,IAAOD,EAAEywhB,UAAY,EAAFxwhB,GAAgB,EAC7D,IAAKA,EAAI,EAAGA,EA7bM,GA6bQA,IAAOD,EAAE2whB,UAAY,EAAF1whB,GAAgB,EAC7D,IAAKA,EAAI,EAAGA,EA3bM,GA2bQA,IAAOD,EAAE4whB,QAAU,EAAF3whB,GAAgB,EAE3DD,EAAEywhB,UAAUmI,KAAwB,EACpC54hB,EAAEuxhB,QAAUvxhB,EAAEwxhB,WAAa,EAC3BxxhB,EAAEuvhB,SAAWvvhB,EAAEgD,QAAU,EAO3B,SAAS61hB,EAAU74hB,GAEbA,EAAE0xhB,SAAW,EACf2G,EAAUr4hB,EAAGA,EAAEyxhB,QACNzxhB,EAAE0xhB,SAAW,IAEtB1xhB,EAAE0shB,YAAY1shB,EAAE2gU,WAAa3gU,EAAEyxhB,QAEjCzxhB,EAAEyxhB,OAAS,EACXzxhB,EAAE0xhB,SAAW,EA8Bf,SAASoH,EAAQ95K,EAAM/+W,EAAGoB,EAAG63W,GAC3B,IAAI6/K,EAAQ,EAAF94hB,EACN+4hB,EAAQ,EAAF33hB,EACV,OAAQ29W,EAAK+5K,GAAgB/5K,EAAKg6K,IAC1Bh6K,EAAK+5K,KAAkB/5K,EAAKg6K,IAAiB9/K,EAAMj5W,IAAMi5W,EAAM73W,GASzE,SAAS43hB,EAAWj5hB,EAAGg/W,EAAMh+V,GAO3B,IAFA,IAAI1U,EAAItM,EAAEixhB,KAAKjwgB,GACXxI,EAAIwI,GAAK,EACNxI,GAAKxY,EAAEkxhB,WAER14gB,EAAIxY,EAAEkxhB,UACR4H,EAAQ95K,EAAMh/W,EAAEixhB,KAAKz4gB,EAAE,GAAIxY,EAAEixhB,KAAKz4gB,GAAIxY,EAAEk5W,QACxC1gW,KAGEsghB,EAAQ95K,EAAM1yW,EAAGtM,EAAEixhB,KAAKz4gB,GAAIxY,EAAEk5W,SAGlCl5W,EAAEixhB,KAAKjwgB,GAAKhhB,EAAEixhB,KAAKz4gB,GACnBwI,EAAIxI,EAGJA,IAAM,EAERxY,EAAEixhB,KAAKjwgB,GAAK1U,EAUd,SAAS4shB,EAAel5hB,EAAGm5hB,EAAOC,GAKhC,IAAIn8c,EACAi1I,EAEAvpL,EACAk8N,EAFAw0R,EAAK,EAIT,GAAmB,IAAfr5hB,EAAEuvhB,SACJ,GACEtyc,EAAQj9E,EAAE0shB,YAAY1shB,EAAEsxhB,MAAW,EAAH+H,IAAS,EAAMr5hB,EAAE0shB,YAAY1shB,EAAEsxhB,MAAW,EAAH+H,EAAO,GAC9EnnU,EAAKlyN,EAAE0shB,YAAY1shB,EAAEoxhB,MAAQiI,GAC7BA,IAEa,IAATp8c,EACFs7c,EAAUv4hB,EAAGkyN,EAAIinU,IAKjBZ,EAAUv4hB,GADV2oC,EAAOyuf,EAAallU,IA1jBR,IA2jBe,EAAGinU,GAEhB,KADdt0R,EAAQ+xR,EAAYjuf,KAGlB2vf,EAAUt4hB,EADVkyN,GAAMmlU,EAAY1uf,GACDk8N,GAMnB0zR,EAAUv4hB,EAHV2oC,EAAOyvf,IADPn7c,GAImBm8c,GAEL,KADdv0R,EAAQgyR,EAAYluf,KAGlB2vf,EAAUt4hB,EADVi9E,GAAQq6c,EAAU3uf,GACCk8N,UAQhBw0R,EAAKr5hB,EAAEuvhB,UAGlBgJ,EAAUv4hB,EAvjBM,IAujBQm5hB,GAY1B,SAASt0S,EAAW7kP,EAAG6jB,GAIrB,IAII5jB,EAAGoB,EAEH4B,EANA+7W,EAAWn7V,EAAKo0gB,SAChBqB,EAAWz1gB,EAAKq0gB,UAAUP,YAC1BI,EAAYl0gB,EAAKq0gB,UAAUH,UAC3Br3c,EAAW78D,EAAKq0gB,UAAUx3c,MAE1By3c,GAAY,EAUhB,IAHAn4hB,EAAEkxhB,SAAW,EACblxhB,EAAEmxhB,SArmBgB,IAumBblxhB,EAAI,EAAGA,EAAIygF,EAAOzgF,IACQ,IAAzB++W,EAAS,EAAJ/+W,IACPD,EAAEixhB,OAAOjxhB,EAAEkxhB,UAAYiH,EAAWl4hB,EAClCD,EAAEk5W,MAAMj5W,GAAK,GAGb++W,EAAO,EAAF/+W,EAAM,GAAa,EAS5B,KAAOD,EAAEkxhB,SAAW,GAElBlyK,EAAY,GADZ/7W,EAAOjD,EAAEixhB,OAAOjxhB,EAAEkxhB,UAAaiH,EAAW,IAAMA,EAAW,IACjC,EAC1Bn4hB,EAAEk5W,MAAMj2W,GAAQ,EAChBjD,EAAEuxhB,UAEEwG,IACF/3hB,EAAEwxhB,YAAc8H,EAAW,EAALr2hB,EAAS,IASnC,IALA4gB,EAAKs0gB,SAAWA,EAKXl4hB,EAAKD,EAAEkxhB,UAAY,EAAcjxhB,GAAK,EAAGA,IAAOg5hB,EAAWj5hB,EAAGg/W,EAAM/+W,GAKzEgD,EAAOy9E,EACP,GAGEzgF,EAAID,EAAEixhB,KAAK,GACXjxhB,EAAEixhB,KAAK,GAAiBjxhB,EAAEixhB,KAAKjxhB,EAAEkxhB,YACjC+H,EAAWj5hB,EAAGg/W,EAAM,GAGpB39W,EAAIrB,EAAEixhB,KAAK,GAEXjxhB,EAAEixhB,OAAOjxhB,EAAEmxhB,UAAYlxhB,EACvBD,EAAEixhB,OAAOjxhB,EAAEmxhB,UAAY9vhB,EAGvB29W,EAAY,EAAP/7W,GAAqB+7W,EAAS,EAAJ/+W,GAAkB++W,EAAS,EAAJ39W,GACtDrB,EAAEk5W,MAAMj2W,IAASjD,EAAEk5W,MAAMj5W,IAAMD,EAAEk5W,MAAM73W,GAAKrB,EAAEk5W,MAAMj5W,GAAKD,EAAEk5W,MAAM73W,IAAM,EACvE29W,EAAO,EAAF/+W,EAAM,GAAa++W,EAAO,EAAF39W,EAAM,GAAa4B,EAGhDjD,EAAEixhB,KAAK,GAAiBhuhB,IACxBg2hB,EAAWj5hB,EAAGg/W,EAAM,SAEbh/W,EAAEkxhB,UAAY,GAEvBlxhB,EAAEixhB,OAAOjxhB,EAAEmxhB,UAAYnxhB,EAAEixhB,KAAK,GAjehC,SAAoBjxhB,EAAG6jB,GAIrB,IAOIuP,EACAnzB,EAAGoB,EACHiwB,EACAiogB,EACAl5hB,EAXA2+W,EAAkBn7V,EAAKo0gB,SACvBE,EAAkBt0gB,EAAKs0gB,SACvBmB,EAAkBz1gB,EAAKq0gB,UAAUP,YACjCI,EAAkBl0gB,EAAKq0gB,UAAUH,UACjClzR,EAAkBhhP,EAAKq0gB,UAAUN,WACjC7nhB,EAAkB8T,EAAKq0gB,UAAUL,WACjCC,EAAkBj0gB,EAAKq0gB,UAAUJ,WAMjCx4c,EAAW,EAEf,IAAKhuD,EAAO,EAAGA,GAlNG,GAkNeA,IAC/BtxB,EAAEklP,SAAS5zN,GAAQ,EAQrB,IAFA0tV,EAAwB,EAAnBh/W,EAAEixhB,KAAKjxhB,EAAEmxhB,UAAc,GAAa,EAEpC/9f,EAAIpzB,EAAEmxhB,SAAS,EAAG/9f,EA9NL,IA8NoBA,KAEpC9B,EAAO0tV,EAA4B,EAAvBA,EAAO,GADnB/+W,EAAID,EAAEixhB,KAAK79f,IACW,GAAiB,GAAa,GACzC0kgB,IACTxmgB,EAAOwmgB,EACPx4c,KAEF0/R,EAAO,EAAF/+W,EAAM,GAAaqxB,EAGpBrxB,EAAIk4hB,IAERn4hB,EAAEklP,SAAS5zN,KACXiogB,EAAQ,EACJt5hB,GAAK8P,IACPwphB,EAAQ10R,EAAM5kQ,EAAE8P,IAElB1P,EAAI2+W,EAAS,EAAJ/+W,GACTD,EAAEuxhB,SAAWlxhB,GAAKixB,EAAOiogB,GACrBxB,IACF/3hB,EAAEwxhB,YAAcnxhB,GAAKi5hB,EAAQ,EAAFr5hB,EAAM,GAAas5hB,KAGlD,GAAiB,IAAbj6c,EAAJ,CAMA,EAAG,CAED,IADAhuD,EAAOwmgB,EAAW,EACU,IAArB93hB,EAAEklP,SAAS5zN,IAAeA,IACjCtxB,EAAEklP,SAAS5zN,KACXtxB,EAAEklP,SAAS5zN,EAAK,IAAM,EACtBtxB,EAAEklP,SAAS4yS,KAIXx4c,GAAY,QACLA,EAAW,GAOpB,IAAKhuD,EAAOwmgB,EAAqB,IAATxmgB,EAAYA,IAElC,IADArxB,EAAID,EAAEklP,SAAS5zN,GACF,IAANrxB,IACLoB,EAAIrB,EAAEixhB,OAAO79f,IACL+kgB,IACJn5K,EAAO,EAAF39W,EAAM,KAAeiwB,IAE5BtxB,EAAEuxhB,UAAYjggB,EAAO0tV,EAAO,EAAF39W,EAAM,IAAY29W,EAAO,EAAF39W,GACjD29W,EAAO,EAAF39W,EAAM,GAAaiwB,GAE1BrxB,MAmZJu5hB,CAAWx5hB,EAAG6jB,GAGd40gB,EAAUz5K,EAAMm5K,EAAUn4hB,EAAEklP,UAQ9B,SAASu0S,EAAUz5hB,EAAGg/W,EAAMm5K,GAK1B,IAAIl4hB,EAEAy5hB,EADAC,GAAW,EAGXC,EAAU56K,EAAK,GAEfxuU,EAAQ,EACRqpf,EAAY,EACZC,EAAY,EAQhB,IANgB,IAAZF,IACFC,EAAY,IACZC,EAAY,GAEd96K,EAAkB,GAAZm5K,EAAS,GAAO,GAAa,MAE9Bl4hB,EAAI,EAAGA,GAAKk4hB,EAAUl4hB,IACzBy5hB,EAASE,EACTA,EAAU56K,EAAW,GAAL/+W,EAAE,GAAO,KAEnBuwC,EAAQqpf,GAAaH,IAAWE,IAG3Bppf,EAAQspf,EACjB95hB,EAAE4whB,QAAiB,EAAT8I,IAAwBlpf,EAEd,IAAXkpf,GAELA,IAAWC,GAAW35hB,EAAE4whB,QAAiB,EAAT8I,KACpC15hB,EAAE4whB,QAAQmJ,OAEDvpf,GAAS,GAClBxwC,EAAE4whB,QAAQoJ,MAGVh6hB,EAAE4whB,QAAQqJ,MAGZzpf,EAAQ,EACRmpf,EAAUD,EAEM,IAAZE,GACFC,EAAY,IACZC,EAAY,GAEHJ,IAAWE,GACpBC,EAAY,EACZC,EAAY,IAGZD,EAAY,EACZC,EAAY,IAUlB,SAASI,EAAUl6hB,EAAGg/W,EAAMm5K,GAK1B,IAAIl4hB,EAEAy5hB,EADAC,GAAW,EAGXC,EAAU56K,EAAK,GAEfxuU,EAAQ,EACRqpf,EAAY,EACZC,EAAY,EAQhB,IALgB,IAAZF,IACFC,EAAY,IACZC,EAAY,GAGT75hB,EAAI,EAAGA,GAAKk4hB,EAAUl4hB,IAIzB,GAHAy5hB,EAASE,EACTA,EAAU56K,EAAW,GAAL/+W,EAAE,GAAO,OAEnBuwC,EAAQqpf,GAAaH,IAAWE,GAAtC,CAGO,GAAIppf,EAAQspf,EACjB,GAAKvB,EAAUv4hB,EAAG05hB,EAAQ15hB,EAAE4whB,eAA+B,MAAVpgf,QAE7B,IAAXkpf,GACLA,IAAWC,IACbpB,EAAUv4hB,EAAG05hB,EAAQ15hB,EAAE4whB,SACvBpgf,KAGF+nf,EAAUv4hB,EAvwBE,GAuwBUA,EAAE4whB,SACxB0H,EAAUt4hB,EAAGwwC,EAAM,EAAG,IAEbA,GAAS,IAClB+nf,EAAUv4hB,EAxwBE,GAwwBYA,EAAE4whB,SAC1B0H,EAAUt4hB,EAAGwwC,EAAM,EAAG,KAGtB+nf,EAAUv4hB,EAzwBE,GAywBcA,EAAE4whB,SAC5B0H,EAAUt4hB,EAAGwwC,EAAM,GAAI,IAGzBA,EAAQ,EACRmpf,EAAUD,EACM,IAAZE,GACFC,EAAY,IACZC,EAAY,GAEHJ,IAAWE,GACpBC,EAAY,EACZC,EAAY,IAGZD,EAAY,EACZC,EAAY,IAuHlB,IAAIK,GAAmB,EA4BvB,SAAS1H,EAAiBzyhB,EAAGusC,EAAK6tf,EAAY7xe,GAM5C+ve,EAAUt4hB,EAAG,GAAmBuoD,EAAO,EAAI,GAAI,GAzfjD,SAAoBvoD,EAAGusC,EAAKnI,EAAKqqF,GAM/Boqa,EAAU74hB,GAENyuH,IACF4pa,EAAUr4hB,EAAGokC,GACbi0f,EAAUr4hB,GAAIokC,IAKhBmvM,EAAMq2S,SAAS5phB,EAAE0shB,YAAa1shB,EAAEc,OAAQyrC,EAAKnI,EAAKpkC,EAAE2gU,SACpD3gU,EAAE2gU,SAAWv8R,EA0ebi2f,CAAWr6hB,EAAGusC,EAAK6tf,GAAY,GAoKjC7kiB,EAAQs8hB,SAlMR,SAAkB7xhB,GAGXm6hB,KAxmBP,WACE,IAAIl6hB,EACAqxB,EACAp1B,EACAysC,EACAs0C,EACAioK,EAAW,IAAIrlP,MAAMmxhB,IAiBzB,IADA90hB,EAAS,EACJysC,EAAO,EAAGA,EAAO2xf,GAAgB3xf,IAEpC,IADA0uf,EAAY1uf,GAAQzsC,EACf+D,EAAI,EAAGA,EAAK,GAAG22hB,EAAYjuf,GAAQ1oC,IACtCm3hB,EAAal7hB,KAAYysC,EAY7B,IAJAyuf,EAAal7hB,EAAO,GAAKysC,EAGzBs0C,EAAO,EACFt0C,EAAO,EAAIA,EAAO,GAAIA,IAEzB,IADA2uf,EAAU3uf,GAAQs0C,EACbh9E,EAAI,EAAGA,EAAK,GAAG42hB,EAAYluf,GAAQ1oC,IACtCk3hB,EAAWl6c,KAAUt0C,EAKzB,IADAs0C,IAAS,EACDt0C,EA9XU,GA8XMA,IAEtB,IADA2uf,EAAU3uf,GAAQs0C,GAAQ,EACrBh9E,EAAI,EAAGA,EAAK,GAAI42hB,EAAYluf,GAAM,EAAK1oC,IAC1Ck3hB,EAAW,IAAMl6c,KAAUt0C,EAM/B,IAAKrX,EAAO,EAAGA,GA9XG,GA8XeA,IAC/B4zN,EAAS5zN,GAAQ,EAInB,IADArxB,EAAI,EACGA,GAAK,KACV+2hB,EAAe,EAAF/2hB,EAAM,GAAa,EAChCA,IACAilP,EAAS,KAEX,KAAOjlP,GAAK,KACV+2hB,EAAe,EAAF/2hB,EAAM,GAAa,EAChCA,IACAilP,EAAS,KAEX,KAAOjlP,GAAK,KACV+2hB,EAAe,EAAF/2hB,EAAM,GAAa,EAChCA,IACAilP,EAAS,KAEX,KAAOjlP,GAAK,KACV+2hB,EAAe,EAAF/2hB,EAAM,GAAa,EAChCA,IACAilP,EAAS,KASX,IAHAuzS,EAAUzB,EAAcuD,IAAWr1S,GAG9BjlP,EAAI,EAAGA,EAvaM,GAuaOA,IACvBg3hB,EAAe,EAAFh3hB,EAAM,GAAa,EAChCg3hB,EAAe,EAAFh3hB,GAAgBu4hB,EAAWv4hB,EAAG,GAI7Cs3hB,EAAgB,IAAIG,EAAeV,EAAcJ,EAAa+B,IAhb5CA,IAYA,IAqalBnB,EAAgB,IAAIE,EAAeT,EAAcJ,EAAa,EA9a5C,GASA,IAsalBY,EAAgB,IAAIC,EAAe,IAAI73hB,MAAM,GAAIi3hB,EAAc,EA5a7C,GAiBF,GAq6Bd0D,GACAL,GAAmB,GAGrBn6hB,EAAE6whB,OAAU,IAAImH,EAASh4hB,EAAEywhB,UAAW8G,GACtCv3hB,EAAE8whB,OAAU,IAAIkH,EAASh4hB,EAAE2whB,UAAW6G,GACtCx3hB,EAAE+whB,QAAU,IAAIiH,EAASh4hB,EAAE4whB,QAAS6G,GAEpCz3hB,EAAEyxhB,OAAS,EACXzxhB,EAAE0xhB,SAAW,EAGbgH,EAAW14hB,IAmLbzK,EAAQk9hB,iBAAmBA,EAC3Bl9hB,EAAQu3hB,gBAnJR,SAAyB9shB,EAAGusC,EAAK6tf,EAAY7xe,GAM3C,IAAIkye,EAAUC,EACVC,EAAc,EAGd36hB,EAAEokH,MAAQ,GAhhCY,IAmhCpBpkH,EAAE6nhB,KAAK+J,YACT5xhB,EAAE6nhB,KAAK+J,UArGb,SAA0B5xhB,GAKxB,IACIC,EADA26hB,EAAa,WAIjB,IAAK36hB,EAAI,EAAGA,GAAK,GAAIA,IAAK26hB,KAAgB,EACxC,GAAkB,EAAbA,GAAkD,IAA9B56hB,EAAEywhB,UAAY,EAAFxwhB,GACnC,OA77BsB,EAk8B1B,GAAoC,IAAhCD,EAAEywhB,UAAU,KAA0D,IAAjCzwhB,EAAEywhB,UAAU,KAChB,IAAjCzwhB,EAAEywhB,UAAU,IACd,OAn8BwB,EAq8B1B,IAAKxwhB,EAAI,GAAIA,EAz6BK,IAy6BSA,IACzB,GAAoC,IAAhCD,EAAEywhB,UAAc,EAAJxwhB,GACd,OAv8BsB,EA88B1B,OA/8B0B,EAuhCH46hB,CAAiB76hB,IAItC6kP,EAAW7kP,EAAGA,EAAE6whB,QAIhBhsS,EAAW7kP,EAAGA,EAAE8whB,QAUhB6J,EAnMJ,SAAuB36hB,GACrB,IAAI26hB,EAgBJ,IAbAlB,EAAUz5hB,EAAGA,EAAEywhB,UAAWzwhB,EAAE6whB,OAAOsH,UACnCsB,EAAUz5hB,EAAGA,EAAE2whB,UAAW3whB,EAAE8whB,OAAOqH,UAGnCtzS,EAAW7kP,EAAGA,EAAE+whB,SASX4J,EAAcG,GAAYH,GAAe,GACW,IAAnD36hB,EAAE4whB,QAA8B,EAAtBmG,EAAS4D,GAAiB,GADOA,KAUjD,OAJA36hB,EAAEuxhB,SAAW,GAAGoJ,EAAY,GAAK,EAAE,EAAE,EAI9BA,EAwKSI,CAAc/6hB,GAG5By6hB,EAAYz6hB,EAAEuxhB,QAAQ,EAAE,IAAO,GAC/BmJ,EAAe16hB,EAAEwxhB,WAAW,EAAE,IAAO,IAMlBiJ,IAAYA,EAAWC,IAI1CD,EAAWC,EAAcN,EAAa,EAGnCA,EAAW,GAAKK,IAAuB,IAATluf,EASjCkmf,EAAiBzyhB,EAAGusC,EAAK6tf,EAAY7xe,GAvkCb,IAykCfvoD,EAAE67G,UAAwB6+a,IAAgBD,GAEnDnC,EAAUt4hB,EAAG,GAAqBuoD,EAAO,EAAI,GAAI,GACjD2we,EAAel5hB,EAAGg3hB,EAAcC,KAGhCqB,EAAUt4hB,EAAG,GAAkBuoD,EAAO,EAAI,GAAI,GAjMlD,SAAwBvoD,EAAGg7hB,EAAQC,EAAQC,GAIzC,IAAI1O,EASJ,IAHA8L,EAAUt4hB,EAAGg7hB,EAAO,IAAK,GACzB1C,EAAUt4hB,EAAGi7hB,EAAO,EAAK,GACzB3C,EAAUt4hB,EAAGk7hB,EAAQ,EAAI,GACpB1O,EAAO,EAAGA,EAAO0O,EAAS1O,IAE7B8L,EAAUt4hB,EAAGA,EAAE4whB,QAAuB,EAAfmG,EAASvK,GAAU,GAAY,GAIxD0N,EAAUl6hB,EAAGA,EAAEywhB,UAAWuK,EAAO,GAGjCd,EAAUl6hB,EAAGA,EAAE2whB,UAAWsK,EAAO,GA4K/BE,CAAen7hB,EAAGA,EAAE6whB,OAAOsH,SAAS,EAAGn4hB,EAAE8whB,OAAOqH,SAAS,EAAGwC,EAAY,GACxEzB,EAAel5hB,EAAGA,EAAEywhB,UAAWzwhB,EAAE2whB,YAMnC+H,EAAW14hB,GAEPuoD,GACFswe,EAAU74hB,IAuEdzK,EAAQ65hB,UA7DR,SAAmBpvhB,EAAGi9E,EAAMi1I,GAmD1B,OA5CAlyN,EAAE0shB,YAAY1shB,EAAEsxhB,MAAqB,EAAbtxhB,EAAEuvhB,UAAqBtyc,IAAS,EAAK,IAC7Dj9E,EAAE0shB,YAAY1shB,EAAEsxhB,MAAqB,EAAbtxhB,EAAEuvhB,SAAe,GAAY,IAAPtyc,EAE9Cj9E,EAAE0shB,YAAY1shB,EAAEoxhB,MAAQpxhB,EAAEuvhB,UAAiB,IAALr9T,EACtClyN,EAAEuvhB,WAEW,IAATtyc,EAEFj9E,EAAEywhB,UAAa,EAAHv+T,MAEZlyN,EAAEgD,UAEFi6E,IAKAj9E,EAAEywhB,UAA0C,GAA/B2G,EAAallU,GA3lCV,IA2lCuB,MACvClyN,EAAE2whB,UAAyB,EAAfyH,EAAOn7c,OA0Bbj9E,EAAEuvhB,WAAavvhB,EAAEqxhB,YAAY,GAWvC97hB,EAAQi9hB,UAhKR,SAAmBxyhB,GACjBs4hB,EAAUt4hB,EAAGo7hB,EAAiB,GAC9B7C,EAAUv4hB,EAt8BM,IAs8BQg3hB,GA5yB1B,SAAkBh3hB,GACG,KAAfA,EAAE0xhB,UACJ2G,EAAUr4hB,EAAGA,EAAEyxhB,QACfzxhB,EAAEyxhB,OAAS,EACXzxhB,EAAE0xhB,SAAW,GAEJ1xhB,EAAE0xhB,UAAY,IACvB1xhB,EAAE0shB,YAAY1shB,EAAE2gU,WAAwB,IAAX3gU,EAAEyxhB,OAC/BzxhB,EAAEyxhB,SAAW,EACbzxhB,EAAE0xhB,UAAY,GAoyBhB2J,CAASr7hB,KA8JT,CAAC,kBAAkB,KAAKirf,GAAG,CAAC,SAASwvB,EAAQnlhB,EAAOC,GACtD,aA4BAD,EAAOC,QAzBP,WAEE6J,KAAKyiH,MAAQ,KACbziH,KAAKgphB,QAAU,EAEfhphB,KAAKiphB,SAAW,EAEhBjphB,KAAKguhB,SAAW,EAEhBhuhB,KAAK4iH,OAAS,KACd5iH,KAAKmphB,SAAW,EAEhBnphB,KAAK0ohB,UAAY,EAEjB1ohB,KAAKwthB,UAAY,EAEjBxthB,KAAK6F,IAAM,GAEX7F,KAAK+kE,MAAQ,KAEb/kE,KAAKwyhB,UAAY,EAEjBxyhB,KAAKi1V,MAAQ,IAIb,KAAK,GAAG,CAAC,GA5wRoC,CA6wR9C,Q,iECpyRD,SAASnhR,EAAQ9zC,GAAkC,OAAO8zC,EAAU,mBAAqBvzE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUw/B,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBz/B,QAAUy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAgBA,GAEzU7iC,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvC,OAAOC,eAAejH,EAAS,gBAAiB,CAC9C6G,YAAY,EACZsF,IAAK,WACH,OAAO45hB,EAAe1ogB,WAG1Br9B,EAAQq9B,aAAU,EAElB,IAAI48F,EAwBJ,SAAiCpwF,EAAK+uW,GAAe,IAAKA,GAAe/uW,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,EAAyBu0Q,GAAc,GAAIxmS,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAY,YAAR3iC,GAAqBF,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAxBjxB65F,CAAwBtkI,EAAQ,IAExCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CgtK,EAAYh9G,EAAuBhwD,EAAQ,KAE3C+liB,EAAS/1e,EAAuBhwD,EAAQ,MAExC+6a,EAAU/6a,EAAQ,KAElBgmiB,EAAehmiB,EAAQ,KAEvB+3Y,EAAS/3Y,EAAQ,KAEjB8liB,EAAiB91e,EAAuBhwD,EAAQ,MAEhDimiB,EAAOj2e,EAAuBhwD,EAAQ,MAEtCg/J,EAAY,CAAC,OAAQ,SAAU,WAAY,kBAAmB,mBAAoB,2BAA4B,0BAA2B,WAAY,iBAAkB,SAE3K,SAAShvG,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,EAAyBu0Q,GAAe,GAAuB,oBAAZ/zQ,QAAwB,OAAO,KAAM,IAAIg0Q,EAAoB,IAAIh0Q,QAAei0Q,EAAmB,IAAIj0Q,QAAW,OAAQR,EAA2B,SAAkCu0Q,GAAe,OAAOA,EAAcE,EAAmBD,IAAsBD,GAIhU,SAAStnW,IAA2Q,OAA9PA,EAAWtqC,OAAOu6B,QAAU,SAAU/6B,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAASnoB,UAAUtD,GAAI,IAAK,IAAIQ,KAAOirB,EAAcnrB,OAAOM,UAAUuF,eAAehB,KAAKsmB,EAAQjrB,KAAQV,EAAOU,GAAOirB,EAAOjrB,IAAY,OAAOV,IAA2ByD,MAAMJ,KAAMG,WAEhT,SAASqsH,EAAyBlkG,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAAkEjrB,EAAKR,EAAnEF,EAEzF,SAAuC2rB,EAAQmkG,GAAY,GAAc,MAAVnkG,EAAgB,MAAO,GAAI,IAA2DjrB,EAAKR,EAA5DF,EAAS,GAAQ+vH,EAAavvH,OAAO23B,KAAKxM,GAAqB,IAAKzrB,EAAI,EAAGA,EAAI6vH,EAAW5vH,OAAQD,IAAOQ,EAAMqvH,EAAW7vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,IAAaV,EAAOU,GAAOirB,EAAOjrB,IAAQ,OAAOV,EAFxMgwH,CAA8BrkG,EAAQmkG,GAAuB,GAAItvH,OAAOq6B,sBAAuB,CAAE,IAAIo1F,EAAmBzvH,OAAOq6B,sBAAsBlP,GAAS,IAAKzrB,EAAI,EAAGA,EAAI+vH,EAAiB9vH,OAAQD,IAAOQ,EAAMuvH,EAAiB/vH,GAAQ4vH,EAASpiH,QAAQhN,IAAQ,GAAkBF,OAAOM,UAAUg6B,qBAAqBz1B,KAAKsmB,EAAQjrB,KAAgBV,EAAOU,GAAOirB,EAAOjrB,IAAU,OAAOV,EAIne,SAASo9H,EAAQj3H,EAAQk3H,GAAkB,IAAIllG,EAAO33B,OAAO23B,KAAKhyB,GAAS,GAAI3F,OAAOq6B,sBAAuB,CAAE,IAAIyiG,EAAU98H,OAAOq6B,sBAAsB10B,GAASk3H,IAAmBC,EAAUA,EAAQhnH,QAAO,SAAUinH,GAAO,OAAO/8H,OAAOg9H,yBAAyBr3H,EAAQo3H,GAAKl9H,eAAiB83B,EAAKhuB,KAAK1G,MAAM00B,EAAMmlG,GAAY,OAAOnlG,EAE9U,SAASg0G,EAAcnsI,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAIsD,UAAUrD,OAAQD,IAAK,CAAE,IAAIyrB,EAAS,MAAQnoB,UAAUtD,GAAKsD,UAAUtD,GAAK,GAAIA,EAAI,EAAIk9H,EAAQ58H,OAAOmrB,IAAS,GAAIyM,SAAQ,SAAU13B,GAAO2uD,EAAgBrvD,EAAQU,EAAKirB,EAAOjrB,OAAYF,OAAOk9H,0BAA4Bl9H,OAAOm9H,iBAAiB39H,EAAQQ,OAAOk9H,0BAA0B/xG,IAAWyxG,EAAQ58H,OAAOmrB,IAASyM,SAAQ,SAAU13B,GAAOF,OAAOC,eAAeT,EAAQU,EAAKF,OAAOg9H,yBAAyB7xG,EAAQjrB,OAAa,OAAOV,EAEjf,SAASkwI,EAAe53F,EAAKp4C,GAAK,OAUlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAVtB63F,CAAgB73F,IAQzD,SAA+BA,EAAKp4C,GAAK,IAAI0lD,EAAY,MAAPtN,EAAc,KAAyB,qBAAX10C,QAA0B00C,EAAI10C,OAAOC,WAAay0C,EAAI,cAAe,GAAU,MAANsN,EAAY,OAAQ,IAAkD2qF,EAAIlsI,EAAlD+rI,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAK1qF,EAAKA,EAAGvgD,KAAKizC,KAAQ+3F,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAApK,QAAqL,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EARzbI,CAAsBl4F,EAAKp4C,IAI5F,SAAqCyD,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJpTC,CAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAMzI,SAAS7C,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAQhL,SAASx4C,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,GAAIA,IAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIvF,UAAU,4DAA+D,OAAOg/H,EAAuBz6G,GAExR,SAASy6G,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAK3M,IAAIo9b,EAAyB,SAAUr3S,IAnBvC,SAAmBzmL,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAWE,OAAOC,eAAekC,EAAU,YAAa,CAAEpC,UAAU,IAAcqC,GAAY07H,EAAgB37H,EAAUC,GAoBpbF,CAAU+9d,EAAWr3S,GAErB,IAxBoBvpL,EAAae,EAAYC,EAwBzCypD,EAAStnD,EAAay9d,GAE1B,SAASA,EAAUxge,GAGjB,IAAI24C,EAoHJ,OArJJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAmC5GH,CAAgB0D,KAAMo9d,GAItBpxa,EAAgByvE,EAFhBlmF,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IAEqB,eAAe,SAAUmE,EAAG4va,GAMzE,IALA,EAAI0rH,EAAK7ogB,SAAS,6BAA8Bm9Y,IAK5B,IAHFp7X,EAAM34C,MAAM4kH,QAAQzgH,GAAG,EAAIq7hB,EAAa1rH,qBAAqBj1S,EAAuBlmF,GAAQo7X,IAGnF,OAAO,EAElCp7X,EAAM8uH,SAAS,CACb6+R,UAAU,EACVjC,SAAS,OAIbj1Y,EAAgByvE,EAAuBlmF,GAAQ,UAAU,SAAUx0C,EAAG4va,GACpE,IAAKp7X,EAAMwvB,MAAMm+X,SAAU,OAAO,GAClC,EAAIm5F,EAAK7ogB,SAAS,wBAAyBm9Y,GAC3C,IAAI2rH,GAAS,EAAIF,EAAa1rH,qBAAqBj1S,EAAuBlmF,GAAQo7X,GAC9E3kH,EAEF,CACAn/S,EAAGyvhB,EAAOzvhB,EACVC,EAAGwvhB,EAAOxvhB,GAGZ,GAAIyoC,EAAM34C,MAAM82F,OAAQ,CAEtB,IAAI7mF,EAAIm/S,EAASn/S,EACbC,EAAIk/S,EAASl/S,EAIjBk/S,EAASn/S,GAAK0oC,EAAMwvB,MAAMw3d,OAC1BvwO,EAASl/S,GAAKyoC,EAAMwvB,MAAMy3d,OAE1B,IACIC,EAAqB5vZ,GADD,EAAIuvZ,EAAaxrH,kBAAkBn1S,EAAuBlmF,GAAQy2Q,EAASn/S,EAAGm/S,EAASl/S,GACpD,GACvD4vhB,EAAYD,EAAmB,GAC/BE,EAAYF,EAAmB,GAEnCzwO,EAASn/S,EAAI6vhB,EACb1wO,EAASl/S,EAAI6vhB,EAEb3wO,EAASuwO,OAAShnf,EAAMwvB,MAAMw3d,QAAU1vhB,EAAIm/S,EAASn/S,GACrDm/S,EAASwwO,OAASjnf,EAAMwvB,MAAMy3d,QAAU1vhB,EAAIk/S,EAASl/S,GAErDwvhB,EAAOzvhB,EAAIm/S,EAASn/S,EACpByvhB,EAAOxvhB,EAAIk/S,EAASl/S,EACpBwvhB,EAAOvyK,OAAS/9D,EAASn/S,EAAI0oC,EAAMwvB,MAAMl4D,EACzCyvhB,EAAOtyK,OAASh+D,EAASl/S,EAAIyoC,EAAMwvB,MAAMj4D,EAM3C,IAAqB,IAFFyoC,EAAM34C,MAAMy6C,OAAOt2C,EAAGu7hB,GAEb,OAAO,EAEnC/mf,EAAM8uH,SAAS2nJ,MAGjBhgQ,EAAgByvE,EAAuBlmF,GAAQ,cAAc,SAAUx0C,EAAG4va,GACxE,IAAKp7X,EAAMwvB,MAAMm+X,SAAU,OAAO,EAIlC,IAAuB,IAFF3tZ,EAAM34C,MAAMggiB,OAAO77hB,GAAG,EAAIq7hB,EAAa1rH,qBAAqBj1S,EAAuBlmF,GAAQo7X,IAElF,OAAO,GACrC,EAAI0rH,EAAK7ogB,SAAS,4BAA6Bm9Y,GAC/C,IAAI3kH,EAEF,CACAk3I,UAAU,EACVq5F,OAAQ,EACRC,OAAQ,GAMV,GAFiBn7f,QAAQkU,EAAM34C,MAAM+lC,UAErB,CACd,IAAIk6f,EAAuBtnf,EAAM34C,MAAM+lC,SACnC91B,EAAIgwhB,EAAqBhwhB,EACzBC,EAAI+vhB,EAAqB/vhB,EAC7Bk/S,EAASn/S,EAAIA,EACbm/S,EAASl/S,EAAIA,EAGfyoC,EAAM8uH,SAAS2nJ,MAGjBz2Q,EAAMwvB,MAAQ,CAEZm+X,UAAU,EAEVjC,SAAS,EAETp0b,EAAGjQ,EAAM+lC,SAAW/lC,EAAM+lC,SAAS91B,EAAIjQ,EAAMkgiB,gBAAgBjwhB,EAC7DC,EAAGlQ,EAAM+lC,SAAW/lC,EAAM+lC,SAAS71B,EAAIlQ,EAAMkgiB,gBAAgBhwhB,EAC7DiwhB,kBAAmBj0Z,EAAc,GAAIlsI,EAAM+lC,UAE3C45f,OAAQ,EACRC,OAAQ,EAERQ,cAAc,IAGZpgiB,EAAM+lC,UAAc/lC,EAAMy6C,QAAUz6C,EAAMggiB,QAE5C92hB,QAAQuhC,KAAK,6NAGRkO,EAmHT,OApQoB/4C,EAoJP4ge,EApJgC5/d,EAyOzC,CAAC,CACHH,IAAK,2BACLqC,MAEA,SAAkCotH,EAAMia,GAGtC,IAAIpkG,EAAWmqF,EAAKnqF,SAChBo6f,EAAoBh2Z,EAAMg2Z,kBAG9B,OAAIp6f,GAAco6f,GAAqBp6f,EAAS91B,IAAMkwhB,EAAkBlwhB,GAAK81B,EAAS71B,IAAMiwhB,EAAkBjwhB,EAYvG,OAXL,EAAIuvhB,EAAK7ogB,SAAS,yCAA0C,CAC1DmP,SAAUA,EACVo6f,kBAAmBA,IAEd,CACLlwhB,EAAG81B,EAAS91B,EACZC,EAAG61B,EAAS71B,EACZiwhB,kBAAmBj0Z,EAAc,GAAInmG,SA5PZplC,EAoJT,CAAC,CACvBF,IAAK,oBACLqC,MAAO,WAE4B,qBAAtBgC,OAAOu7hB,YAA8Bj9hB,KAAKunL,wBAAyB7lL,OAAOu7hB,YACnFj9hB,KAAKqkK,SAAS,CACZ24X,cAAc,MAInB,CACD3/hB,IAAK,uBACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ6+R,UAAU,MAKb,CACD7lc,IAAK,cACLqC,MAAO,WAGL,IAAIw9hB,EAAuB5nY,EAAa6nY,EAExC,OAA4O,QAApOD,EAAuD,QAA9B5nY,EAAct1J,KAAKpD,aAAmC,IAAhB04J,GAAkF,QAA/C6nY,EAAsB7nY,EAAY+xB,eAA6C,IAAxB81W,OAAjE,EAA2GA,EAAoBnlhB,eAA+C,IAA1BklhB,EAAmCA,EAAwB95X,EAAU5vI,QAAQ+zJ,YAAYvnL,QAE9U,CACD3C,IAAK,SACLqC,MAAO,WAGL,IAAI09hB,EAEAtnY,EAAe91J,KAAKpD,MAGpB4V,GAFOsjJ,EAAarkB,KACXqkB,EAAapiE,OACXoiE,EAAatjJ,UACxBsqhB,EAAkBhnY,EAAagnY,gBAC/BO,EAAmBvnY,EAAaunY,iBAChCC,EAA2BxnY,EAAawnY,yBACxCC,EAA0BznY,EAAaynY,wBACvC56f,EAAWmzH,EAAanzH,SACxB+qW,EAAiB53O,EAAa43O,eAE9B8vJ,GADQ1nY,EAAaxlJ,MACAk8G,EAAyBspC,EAAcV,IAE5D1iJ,EAAQ,GACR+qhB,EAAe,KAGftnf,GADa9U,QAAQsB,IACM3iC,KAAK+kE,MAAMm+X,SACtCw6F,EAAgB/6f,GAAYm6f,EAC5Ba,EAAgB,CAElB9whB,GAAG,EAAIuvhB,EAAahsH,UAAUpwa,OAASm2C,EAAYn2C,KAAK+kE,MAAMl4D,EAAI6whB,EAAc7whB,EAEhFC,GAAG,EAAIsvhB,EAAa/rH,UAAUrwa,OAASm2C,EAAYn2C,KAAK+kE,MAAMj4D,EAAI4whB,EAAc5whB,GAG9E9M,KAAK+kE,MAAMi4d,aACbS,GAAe,EAAItsH,EAAQpjC,oBAAoB4vJ,EAAejwJ,GAM9Dh7X,GAAQ,EAAIy+Z,EAAQ3jC,oBAAoBmwJ,EAAejwJ,GAIzD,IAAI/oX,GAAY,EAAIw3gB,EAAO3ogB,SAAShhB,EAAS5V,MAAM+nB,WAAa,GAAI04gB,GAA+Brxe,EAAZoxe,EAAQ,GAA2BE,EAA0Bt9hB,KAAK+kE,MAAMm+X,UAAWl3Y,EAAgBoxe,EAAOG,EAAyBv9hB,KAAK+kE,MAAMk8X,SAAUm8F,IAG/O,OAAoBhta,EAAMx1G,cAAcshhB,EAAe1ogB,QAASiU,EAAS,GAAI+1f,EAAoB,CAC/Fh8a,QAASxhH,KAAKqyD,YACdhb,OAAQr3C,KAAKq3C,OACbulf,OAAQ58hB,KAAK49hB,aACExta,EAAMkzC,aAAalzC,EAAMquB,SAASkqC,KAAKn2K,GAAW,CACjEmS,UAAWA,EACXjS,MAAOo2H,EAAcA,EAAc,GAAIt2H,EAAS5V,MAAM8V,OAAQA,GAC9DlC,UAAWithB,UAtO2D/giB,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAAcL,OAAOC,eAAeZ,EAAa,YAAa,CAAEU,UAAU,IAoQrPkge,EA/OoB,CAgP3BhtW,EAAM0M,WAER3mI,EAAQq9B,QAAU4pc,EAElBpxa,EAAgBoxa,EAAW,cAAe,aAE1Cpxa,EAAgBoxa,EAAW,YAAat0V,EAAcA,EAAc,GAAIozZ,EAAe1ogB,QAAQ65F,WAAY,GAAI,CAc7GokB,KAAM9W,EAAWnnG,QAAQ82F,MAAM,CAAC,OAAQ,IAAK,IAAK,SA4BlD52B,OAAQinC,EAAWnnG,QAAQ+2F,UAAU,CAACoQ,EAAWnnG,QAAQmsB,MAAM,CAC7D9I,KAAM8jF,EAAWnnG,QAAQu2F,OACzBlnC,MAAO83C,EAAWnnG,QAAQu2F,OAC1BhzE,IAAK4jF,EAAWnnG,QAAQu2F,OACxBnnC,OAAQ+3C,EAAWnnG,QAAQu2F,SACzB4Q,EAAWnnG,QAAQw2F,OAAQ2Q,EAAWnnG,QAAQ82F,MAAM,EAAC,MACzD+ya,iBAAkB1ia,EAAWnnG,QAAQw2F,OACrCsza,yBAA0B3ia,EAAWnnG,QAAQw2F,OAC7Cuza,wBAAyB5ia,EAAWnnG,QAAQw2F,OAmB5C8ya,gBAAiBnia,EAAWnnG,QAAQmsB,MAAM,CACxC9yC,EAAG8tH,EAAWnnG,QAAQu2F,OACtBj9G,EAAG6tH,EAAWnnG,QAAQu2F,SAExB2jR,eAAgB/yQ,EAAWnnG,QAAQmsB,MAAM,CACvC9yC,EAAG8tH,EAAWnnG,QAAQ+2F,UAAU,CAACoQ,EAAWnnG,QAAQu2F,OAAQ4Q,EAAWnnG,QAAQw2F,SAC/El9G,EAAG6tH,EAAWnnG,QAAQ+2F,UAAU,CAACoQ,EAAWnnG,QAAQu2F,OAAQ4Q,EAAWnnG,QAAQw2F,WAuBjFrnF,SAAUg4F,EAAWnnG,QAAQmsB,MAAM,CACjC9yC,EAAG8tH,EAAWnnG,QAAQu2F,OACtBj9G,EAAG6tH,EAAWnnG,QAAQu2F,SAMxBplG,UAAWwpX,EAAO7zC,UAClB5nV,MAAOy7X,EAAO7zC,UACd9pV,UAAW29X,EAAO7zC,aAGpBtuS,EAAgBoxa,EAAW,eAAgBt0V,EAAcA,EAAc,GAAIozZ,EAAe1ogB,QAAQopG,cAAe,GAAI,CACnH6U,KAAM,OACN/9C,QAAQ,EACR2pc,iBAAkB,kBAClBC,yBAA0B,2BAC1BC,wBAAyB,0BACzBT,gBAAiB,CACfjwhB,EAAG,EACHC,EAAG,GAELwD,MAAO,M,6BCvcT,SAAS/N,EAAExB,GAAG,IAAI0B,EAAExB,EAAEJ,EAAE,GAAG,GAAG,iBAAiBE,GAAG,iBAAiBA,EAAEF,GAAGE,OAAO,GAAG,iBAAiBA,EAAE,GAAGN,MAAMC,QAAQK,GAAG,IAAI0B,EAAE,EAAEA,EAAE1B,EAAEjE,OAAO2F,IAAI1B,EAAE0B,KAAKxB,EAAEsB,EAAExB,EAAE0B,OAAO5B,IAAIA,GAAG,KAAKA,GAAGI,QAAQ,IAAIwB,KAAK1B,EAAEA,EAAE0B,KAAK5B,IAAIA,GAAG,KAAKA,GAAG4B,GAAG,OAAO5B,EAAS,SAASg9hB,IAAO,IAAI,IAAI98hB,EAAE0B,EAAExB,EAAE,EAAEJ,EAAE,GAAGI,EAAEd,UAAUrD,SAASiE,EAAEZ,UAAUc,QAAQwB,EAAEF,EAAExB,MAAMF,IAAIA,GAAG,KAAKA,GAAG4B,GAAG,OAAO5B,EAAhW,4CAAiXg9hB,a,6BCEjX1giB,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ23Y,mBAAqBA,EAC7B33Y,EAAQ2niB,qBAuCR,SAA8Bt4hB,EAE5BmgC,GAKA,OAAOA,EAAS,IAAInd,OAAOmd,EAAO9sB,cAAe,KAAK2P,OAAOhjB,GAAQA,GA7CvErP,EAAQq9B,aAAU,EAClBr9B,EAAQ4niB,UAAYA,EACpB,IAAIC,EAAW,CAAC,MAAO,SAAU,IAAK,MAEtC,SAASD,IAGP,IAAIE,EAAkBC,EAElB14hB,EAEFrF,UAAUrD,OAAS,QAAsB8iC,IAAjBz/B,UAAU,GAAmBA,UAAU,GAAK,YAGtE,GAAsB,qBAAXuB,OAAwB,MAAO,GAG1C,IAAIgR,EAAiD,QAAxCurhB,EAAmBv8hB,OAAO4B,gBAA2C,IAArB26hB,GAAsG,QAA9DC,EAAwBD,EAAiBz4gB,uBAAuD,IAA1B04gB,OAAhF,EAA4HA,EAAsBxrhB,MAC7O,IAAKA,EAAO,MAAO,GACnB,GAAIlN,KAAQkN,EAAO,MAAO,GAE1B,IAAK,IAAI7V,EAAI,EAAGA,EAAImhiB,EAASlhiB,OAAQD,IACnC,GAAIixY,EAAmBtoY,EAAMw4hB,EAASnhiB,MAAO6V,EAAO,OAAOsrhB,EAASnhiB,GAGtE,MAAO,GAGT,SAASixY,EAAmBtoY,EAE1BmgC,GAKA,OAAOA,EAAS,GAAGnd,OAAOmd,GAAQnd,OAapC,SAA0Bk7F,GAQxB,IAHA,IAAIttE,EAAM,GACN+nf,GAAmB,EAEdthiB,EAAI,EAAGA,EAAI6mH,EAAI5mH,OAAQD,IAC1BshiB,GACF/nf,GAAOstE,EAAI7mH,GAAG4oF,cACd04c,GAAmB,GACC,MAAXz6a,EAAI7mH,GACbshiB,GAAmB,EAEnB/nf,GAAOstE,EAAI7mH,GAIf,OAAOu5C,EAhCkCgof,CAAiB54hB,IAASA,EAsCrE,IAAI+mZ,EAAYwxI,IAIhB5niB,EAAQq9B,QAAU+4X,G,6BClFlB,SAASz4U,EAAQ9zC,GAAkC,OAAO8zC,EAAU,mBAAqBvzE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUw/B,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBz/B,QAAUy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAgBA,GAEzU7iC,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQq9B,aAAU,EAElB,IAAI48F,EAkBJ,SAAiCpwF,EAAK+uW,GAAe,IAAKA,GAAe/uW,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,EAAyBu0Q,GAAc,GAAIxmS,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAY,YAAR3iC,GAAqBF,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAlBjxB65F,CAAwBtkI,EAAQ,IAExCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CgtK,EAAYh9G,EAAuBhwD,EAAQ,KAE3C+6a,EAAU/6a,EAAQ,KAElBgmiB,EAAehmiB,EAAQ,KAEvB+3Y,EAAS/3Y,EAAQ,KAEjBimiB,EAAOj2e,EAAuBhwD,EAAQ,MAE1C,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,EAAyBu0Q,GAAe,GAAuB,oBAAZ/zQ,QAAwB,OAAO,KAAM,IAAIg0Q,EAAoB,IAAIh0Q,QAAei0Q,EAAmB,IAAIj0Q,QAAW,OAAQR,EAA2B,SAAkCu0Q,GAAe,OAAOA,EAAcE,EAAmBD,IAAsBD,GAIhU,SAASliQ,EAAe53F,EAAKp4C,GAAK,OAUlC,SAAyBo4C,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOA,EAVtB63F,CAAgB73F,IAQzD,SAA+BA,EAAKp4C,GAAK,IAAI0lD,EAAY,MAAPtN,EAAc,KAAyB,qBAAX10C,QAA0B00C,EAAI10C,OAAOC,WAAay0C,EAAI,cAAe,GAAU,MAANsN,EAAY,OAAQ,IAAkD2qF,EAAIlsI,EAAlD+rI,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAK1qF,EAAKA,EAAGvgD,KAAKizC,KAAQ+3F,GAAME,EAAK3qF,EAAGhhD,QAAQT,QAAoBisI,EAAKjmI,KAAKomI,EAAGxtI,QAAY7C,GAAKkwI,EAAKjwI,SAAWD,GAA3DmwI,GAAK,IAAoE,MAAO7rI,GAAO8rI,GAAK,EAAMjsI,EAAKG,EAApK,QAAqL,IAAW6rI,GAAsB,MAAhBzqF,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,GAAI0qF,EAAI,MAAMjsI,GAAQ,OAAO+rI,EARzbI,CAAsBl4F,EAAKp4C,IAI5F,SAAqCyD,EAAGqqI,GAAU,IAAKrqI,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAc,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAM,GAAU,QAANvB,GAAqB,QAANA,EAAa,OAAOJ,MAAMsY,KAAKzY,GAAI,GAAU,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAI,OAAO0pI,EAAkBjqI,EAAGqqI,GAJpTC,CAA4B31F,EAAKp4C,IAEnI,WAA8B,MAAM,IAAIJ,UAAU,6IAFuF2wI,GAMzI,SAAS7C,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAMhL,SAAS54C,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF/5F,QAAQ5jC,UAAUunJ,QAAQhjJ,KAAK/B,QAAQC,UAAUmhC,QAAS,IAAI,iBAAyB,EAAQ,MAAOtgC,GAAK,OAAO,GAN9Ps6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,GAAIA,IAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIvF,UAAU,4DAA+D,OAAOg/H,EAAuBz6G,GAExR,SAASy6G,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAG3M,IAAIq+f,EACK,CACLvmhB,MAAO,aACPksC,KAAM,YACNvgD,KAAM,YAJN46hB,EAMK,CACLvmhB,MAAO,YACPksC,KAAM,YACNvgD,KAAM,WAIN66hB,EAAeD,EAgDfhhE,EAA6B,SAAUt3S,IA9E3C,SAAmBzmL,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAWE,OAAOC,eAAekC,EAAU,YAAa,CAAEpC,UAAU,IAAcqC,GAAY07H,EAAgB37H,EAAUC,GA+EpbF,CAAUg+d,EAAet3S,GAEzB,IAnFoBvpL,EAAae,EAAYC,EAmFzCypD,EAAStnD,EAAa09d,GAE1B,SAASA,IACP,IAAI9nb,EAEJj5C,EAAgB0D,KAAMq9d,GAEtB,IAAK,IAAI76a,EAAOriD,UAAUrD,OAAQ4mD,EAAO,IAAIjjD,MAAM+hD,GAAOmN,EAAO,EAAGA,EAAOnN,EAAMmN,IAC/EjM,EAAKiM,GAAQxvD,UAAUwvD,GA8MzB,OAzMA3D,EAAgByvE,EAFhBlmF,EAAQ0R,EAAOjlD,KAAK5B,MAAM6mD,EAAQ,CAACjnD,MAAMwoB,OAAOk7B,KAED,QAAS,CACtDw/Y,UAAU,EAEV1yB,MAAO1ia,IACP2ia,MAAO3ia,IACPuja,gBAAiB,OAGnBrlX,EAAgByvE,EAAuBlmF,GAAQ,WAAW,GAE1DyW,EAAgByvE,EAAuBlmF,GAAQ,mBAAmB,SAAUx0C,GAK1E,GAHAw0C,EAAM34C,MAAMm+C,YAAYh6C,IAGnBw0C,EAAM34C,MAAM2hiB,eAAqC,kBAAbx9hB,EAAEmjF,QAAoC,IAAbnjF,EAAEmjF,OAAc,OAAO,EAEzF,IAAIs6c,EAAWjpf,EAAMgyI,cAErB,IAAKi3W,IAAaA,EAASt0f,gBAAkBs0f,EAASt0f,cAAc7lB,KAClE,MAAM,IAAI6a,MAAM,6CAGlB,IAAIgL,EAAgBs0f,EAASt0f,cAE7B,KAAIqL,EAAM34C,MAAMgsF,YAAc7nF,EAAEpE,kBAAkButC,EAAcumQ,YAAYtlQ,OAASoK,EAAM34C,MAAMy0D,UAAW,EAAI8/W,EAAQ7iC,6BAA6BvtY,EAAEpE,OAAQ44C,EAAM34C,MAAMy0D,OAAQmte,IAAajpf,EAAM34C,MAAMsiE,SAAU,EAAIiyW,EAAQ7iC,6BAA6BvtY,EAAEpE,OAAQ44C,EAAM34C,MAAMsiE,OAAQs/d,IAA7R,CAMe,eAAXz9hB,EAAEkQ,MAAuBlQ,EAAE+5C,iBAI/B,IAAIu2X,GAAkB,EAAIF,EAAQ/iC,oBAAoBrtY,GAEtDw0C,EAAM8uH,SAAS,CACbgtQ,gBAAiBA,IAInB,IAAI1uY,GAAW,EAAIy5f,EAAahrH,oBAAoBrwa,EAAGswa,EAAiB51S,EAAuBlmF,IAC/F,GAAgB,MAAZ5S,EAAJ,CAEA,IAAI91B,EAAI81B,EAAS91B,EACbC,EAAI61B,EAAS71B,EAEb2xhB,GAAY,EAAIrC,EAAa9rH,gBAAgB70S,EAAuBlmF,GAAQ1oC,EAAGC,IACnF,EAAIuvhB,EAAK7ogB,SAAS,qCAAsCirgB,IAExD,EAAIpC,EAAK7ogB,SAAS,UAAW+hB,EAAM34C,MAAM4kH,UAIpB,IAFFjsE,EAAM34C,MAAM4kH,QAAQzgH,EAAG09hB,KAEM,IAAlBlpf,EAAM+1I,UAGhC/1I,EAAM34C,MAAM8hiB,uBAAsB,EAAIvtH,EAAQ7jC,qBAAqBpjW,GAIvEqL,EAAM8uH,SAAS,CACb6+R,UAAU,EACV1yB,MAAO3ja,EACP4ja,MAAO3ja,KAMT,EAAIqka,EAAQhkC,UAAUjjW,EAAeo0f,EAAat6e,KAAMzO,EAAM8xV,aAC9D,EAAI8pC,EAAQhkC,UAAUjjW,EAAeo0f,EAAa76hB,KAAM8xC,EAAMopf,sBAGhE3ye,EAAgByvE,EAAuBlmF,GAAQ,cAAc,SAAUx0C,GAErE,IAAI4hC,GAAW,EAAIy5f,EAAahrH,oBAAoBrwa,EAAGw0C,EAAMwvB,MAAMssW,gBAAiB51S,EAAuBlmF,IAC3G,GAAgB,MAAZ5S,EAAJ,CACA,IAAI91B,EAAI81B,EAAS91B,EACbC,EAAI61B,EAAS71B,EAEjB,GAAIrM,MAAMC,QAAQ60C,EAAM34C,MAAMo4E,MAAO,CACnC,IAAI+0S,EAASl9W,EAAI0oC,EAAMwvB,MAAMyrW,MACzBxmD,EAASl9W,EAAIyoC,EAAMwvB,MAAM0rW,MAIzBmuH,EAAe/xZ,GAFD,EAAIuvZ,EAAa5qH,YAAYj8X,EAAM34C,MAAMo4E,KAAM+0S,EAAQC,GAE1B,GAI/C,GAFAD,EAAS60K,EAAa,GACtB50K,EAAS40K,EAAa,IACjB70K,IAAWC,EAAQ,OAExBn9W,EAAI0oC,EAAMwvB,MAAMyrW,MAAQzmD,EAAQj9W,EAAIyoC,EAAMwvB,MAAM0rW,MAAQzmD,EAG1D,IAAIy0K,GAAY,EAAIrC,EAAa9rH,gBAAgB70S,EAAuBlmF,GAAQ1oC,EAAGC,GAKnF,IAJA,EAAIuvhB,EAAK7ogB,SAAS,gCAAiCirgB,IAI9B,IAFFlpf,EAAM34C,MAAMy6C,OAAOt2C,EAAG09hB,KAEO,IAAlBlpf,EAAM+1I,QAqBpC/1I,EAAM8uH,SAAS,CACbmsQ,MAAO3ja,EACP4ja,MAAO3ja,SAtBP,IAEEyoC,EAAMopf,eAAe,IAAI3vW,WAAW,YACpC,MAAO7tL,GAEP,IAAImkB,EAAUhiB,SAAS2rL,YAAY,eAOnC3pK,EAAM4pK,eAAe,WAAW,GAAM,EAAMxtL,OAAQ,EAAG,EAAG,EAAG,EAAG,GAAG,GAAO,GAAO,GAAO,EAAO,EAAG,MAElG6zC,EAAMopf,eAAer5gB,QAY3B0mC,EAAgByvE,EAAuBlmF,GAAQ,kBAAkB,SAAUx0C,GACzE,GAAKw0C,EAAMwvB,MAAMm+X,SAAjB,CACA,IAAIvga,GAAW,EAAIy5f,EAAahrH,oBAAoBrwa,EAAGw0C,EAAMwvB,MAAMssW,gBAAiB51S,EAAuBlmF,IAC3G,GAAgB,MAAZ5S,EAAJ,CACA,IAAI91B,EAAI81B,EAAS91B,EACbC,EAAI61B,EAAS71B,EAEjB,GAAIrM,MAAMC,QAAQ60C,EAAM34C,MAAMo4E,MAAO,CACnC,IAAI+0S,EAASl9W,EAAI0oC,EAAMwvB,MAAMyrW,OAAS,EAClCxmD,EAASl9W,EAAIyoC,EAAMwvB,MAAM0rW,OAAS,EAIlCouH,EAAehyZ,GAFA,EAAIuvZ,EAAa5qH,YAAYj8X,EAAM34C,MAAMo4E,KAAM+0S,EAAQC,GAE1B,GAEhDD,EAAS80K,EAAa,GACtB70K,EAAS60K,EAAa,GACtBhyhB,EAAI0oC,EAAMwvB,MAAMyrW,MAAQzmD,EAAQj9W,EAAIyoC,EAAMwvB,MAAM0rW,MAAQzmD,EAG1D,IAAIy0K,GAAY,EAAIrC,EAAa9rH,gBAAgB70S,EAAuBlmF,GAAQ1oC,EAAGC,GAInF,IAAuB,IAFFyoC,EAAM34C,MAAMggiB,OAAO77hB,EAAG09hB,KAEO,IAAlBlpf,EAAM+1I,QAAmB,OAAO,EAEhE,IAAIkzW,EAAWjpf,EAAMgyI,cAEjBi3W,GAEEjpf,EAAM34C,MAAM8hiB,uBAAsB,EAAIvtH,EAAQriC,wBAAwB0vJ,EAASt0f,gBAGrF,EAAImyf,EAAK7ogB,SAAS,oCAAqCirgB,GAEvDlpf,EAAM8uH,SAAS,CACb6+R,UAAU,EACV1yB,MAAO1ia,IACP2ia,MAAO3ia,MAGL0whB,KAEF,EAAInC,EAAK7ogB,SAAS,qCAClB,EAAI29Y,EAAQviC,aAAa4vJ,EAASt0f,cAAeo0f,EAAat6e,KAAMzO,EAAM8xV,aAC1E,EAAI8pC,EAAQviC,aAAa4vJ,EAASt0f,cAAeo0f,EAAa76hB,KAAM8xC,EAAMopf,sBAI9E3ye,EAAgByvE,EAAuBlmF,GAAQ,eAAe,SAAUx0C,GAGtE,OAFAu9hB,EAAeD,EAER9of,EAAMupf,gBAAgB/9hB,MAG/BirD,EAAgByvE,EAAuBlmF,GAAQ,aAAa,SAAUx0C,GAEpE,OADAu9hB,EAAeD,EACR9of,EAAMopf,eAAe59hB,MAG9BirD,EAAgByvE,EAAuBlmF,GAAQ,gBAAgB,SAAUx0C,GAGvE,OADAu9hB,EAAeD,EACR9of,EAAMupf,gBAAgB/9hB,MAG/BirD,EAAgByvE,EAAuBlmF,GAAQ,cAAc,SAAUx0C,GAGrE,OADAu9hB,EAAeD,EACR9of,EAAMopf,eAAe59hB,MAGvBw0C,EAoET,OA7WoB/4C,EA4SP6ge,GA5SoB9/d,EA4SL,CAAC,CAC3BF,IAAK,oBACLqC,MAAO,WACLM,KAAKsrL,SAAU,EAGf,IAAIkzW,EAAWx+hB,KAAKunL,cAEhBi3W,IACF,EAAIrtH,EAAQhkC,UAAUqxJ,EAAUH,EAAgBvmhB,MAAO9X,KAAK8pY,aAAc,CACxEwvF,SAAS,MAId,CACDj8d,IAAK,uBACLqC,MAAO,WACLM,KAAKsrL,SAAU,EAGf,IAAIkzW,EAAWx+hB,KAAKunL,cAEpB,GAAIi3W,EAAU,CACZ,IAAIt0f,EAAgBs0f,EAASt0f,eAC7B,EAAIinY,EAAQviC,aAAa1kW,EAAem0f,EAAgBr6e,KAAMhkD,KAAKqnY,aACnE,EAAI8pC,EAAQviC,aAAa1kW,EAAem0f,EAAgBr6e,KAAMhkD,KAAKqnY,aACnE,EAAI8pC,EAAQviC,aAAa1kW,EAAem0f,EAAgB56hB,KAAMzD,KAAK2+hB,iBACnE,EAAIxtH,EAAQviC,aAAa1kW,EAAem0f,EAAgB56hB,KAAMzD,KAAK2+hB,iBACnE,EAAIxtH,EAAQviC,aAAa4vJ,EAAUH,EAAgBvmhB,MAAO9X,KAAK8pY,aAAc,CAC3EwvF,SAAS,IAEPt5d,KAAKpD,MAAM8hiB,uBAAsB,EAAIvtH,EAAQriC,wBAAwB5kW,MAK5E,CACD7sC,IAAK,cACLqC,MAAO,WAGL,IAAI41J,EAAaQ,EAAcipY,EAE/B,OAAsC,QAA9BzpY,EAAct1J,KAAKpD,aAAmC,IAAhB04J,GAA0BA,EAAY+xB,QAA0C,QAA/BvxB,EAAe91J,KAAKpD,aAAoC,IAAjBk5J,GAAqF,QAAjDipY,EAAuBjpY,EAAauxB,eAA8C,IAAzB03W,OAAnE,EAA8GA,EAAqB/mhB,QAAUorJ,EAAU5vI,QAAQ+zJ,YAAYvnL,QAE5U,CACD3C,IAAK,SACLqC,MAAO,WAKL,OAAoB0wH,EAAMkzC,aAAalzC,EAAMquB,SAASkqC,KAAK3oL,KAAKpD,MAAM4V,UAAW,CAG/EuoC,YAAa/6C,KAAK+6C,YAClBd,UAAWj6C,KAAKi6C,UAIhByvb,WAAY1pe,KAAK0pe,kBAxWqDhte,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAAcL,OAAOC,eAAeZ,EAAa,YAAa,CAAEU,UAAU,IA6WrPmge,EA7RwB,CA8R/BjtW,EAAM0M,WAER3mI,EAAQq9B,QAAU6pc,EAElBrxa,EAAgBqxa,EAAe,cAAe,iBAE9Crxa,EAAgBqxa,EAAe,YAAa,CAO1CkhE,cAAe5ja,EAAWnnG,QAAQs2F,KAMlClhC,SAAU+xC,EAAWnnG,QAAQs2F,KAO7B40a,qBAAsB/ja,EAAWnnG,QAAQs2F,KAMzC5kG,aAAc,SAAsBtoB,EAElC2sH,GAGA,GAAI3sH,EAAM2sH,IAA0C,IAA7B3sH,EAAM2sH,GAAU11G,SACrC,MAAM,IAAIqrB,MAAM,iDAOpB81C,KAAM2lD,EAAWnnG,QAAQ02F,QAAQyQ,EAAWnnG,QAAQu2F,QAsBpD14D,OAAQspE,EAAWnnG,QAAQw2F,OAsB3B9qD,OAAQy7D,EAAWnnG,QAAQw2F,OAmB3Bq9D,QAAS1sD,EAAWnnG,QAAQ1wB,OAM5B0+G,QAASmZ,EAAWnnG,QAAQi8B,KAM5BpY,OAAQsjF,EAAWnnG,QAAQi8B,KAM3Bmte,OAAQjia,EAAWnnG,QAAQi8B,KAM3B1U,YAAa4/E,EAAWnnG,QAAQi8B,KAKhCn/C,MAAOqqH,EAAWnnG,QAAQu2F,OAK1BplG,UAAWwpX,EAAO7zC,UAClB5nV,MAAOy7X,EAAO7zC,UACd9pV,UAAW29X,EAAO7zC,YAGpBtuS,EAAgBqxa,EAAe,eAAgB,CAC7CkhE,eAAe,EAEf31c,UAAU,EACV81c,sBAAsB,EACtBl9a,QAAS,aACTnqE,OAAQ,aACRulf,OAAQ,aACR7hf,YAAa,aACbzqC,MAAO,K,6BCrjBTnT,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQ6oiB,iBAAc,EAEtB,IAAIpka,EAAcxkI,EAAQ,IAEtBukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CmkI,EAwBJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAxBntB65F,CAAwBtkI,EAAQ,IAEzC0ta,EAAwB1ta,EAAQ,IAEhCykI,EAAWzkI,EAAQ,IAEnB49J,EAAc5tG,EAAuBhwD,EAAQ,KAE7Co4K,EAAepoH,EAAuBhwD,EAAQ,MAE9C0kI,EAAe10E,EAAuBhwD,EAAQ,KAE9C6oiB,EAAqB7oiB,EAAQ,KAE7B8oiB,EAAmB9oiB,EAAQ,KAE3B+oiB,EAAoB/oiB,EAAQ,KAE5B2ta,EAAqB39W,EAAuBhwD,EAAQ,MAEpDmtK,EAAiCn9G,EAAuBhwD,EAAQ,MAEpE,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASniD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAAS8zC,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAASgV,EAAmBC,GAAO,OAQnC,SAA4BA,GAAO,GAAIx0C,MAAMC,QAAQu0C,GAAM,OAAOs1F,EAAkBt1F,GAR1Cu1F,CAAmBv1F,IAM7D,SAA0Bw1F,GAAQ,GAAsB,qBAAXlqI,QAA0BA,OAAOC,YAAYrD,OAAOstI,GAAO,OAAOhqI,MAAMsY,KAAK0xH,GANrDC,CAAiBz1F,IAAQ21F,EAA4B31F,IAE1H,WAAgC,MAAM,IAAIx4C,UAAU,wIAF8EouI,GAIlI,SAASD,EAA4BtqI,EAAGqqI,GAAU,GAAKrqI,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOiqI,EAAkBjqI,EAAGqqI,GAAS,IAAI9pI,EAAI1D,OAAOM,UAAU2O,SAASpK,KAAK1B,GAAG0xC,MAAM,GAAI,GAAiE,MAAnD,WAANnxC,GAAkBP,EAAEb,cAAaoB,EAAIP,EAAEb,YAAY2C,MAAgB,QAANvB,GAAqB,QAANA,EAAoBJ,MAAMsY,KAAKzY,GAAc,cAANO,GAAqB,2CAA2C0hC,KAAK1hC,GAAW0pI,EAAkBjqI,EAAGqqI,QAAzG,GAM7S,SAASJ,EAAkBt1F,EAAKjQ,IAAkB,MAAPA,GAAeA,EAAMiQ,EAAIn4C,UAAQkoC,EAAMiQ,EAAIn4C,QAAQ,IAAK,IAAID,EAAI,EAAGq4C,EAAO,IAAIz0C,MAAMukC,GAAMnoC,EAAImoC,EAAKnoC,IAAOq4C,EAAKr4C,GAAKo4C,EAAIp4C,GAAM,OAAOq4C,EAIhL,SAASx4C,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIg/f,EAA2B,SAAUrja,IAhBzC,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAU2/hB,EAAarja,GAEvB,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAaq/hB,GAE1B,SAASA,EAAYpiiB,GACnB,IAAI24C,EAwBJ,OApDJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMg/hB,IAEtBzpf,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBmoE,MAAQ,CACZ9xD,OAAQ,GACR+wZ,SAAS,EACTC,gBAAgB,GAElB1uX,EAAM6F,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAMuG,UAAYvG,EAAMuG,UAAUj5C,KAAK44H,EAAuBlmF,IAC9DA,EAAMivX,cAAgBjvX,EAAMivX,cAAc3ha,KAAK44H,EAAuBlmF,IACtEA,EAAM6pf,gBAAkB7pf,EAAM6pf,gBAAgBv8hB,KAAK44H,EAAuBlmF,IAC1EA,EAAM6vX,QAAU7vX,EAAM6vX,QAAQvia,KAAK44H,EAAuBlmF,IAC1DA,EAAM24E,OAAS34E,EAAM24E,OAAOrrH,KAAK44H,EAAuBlmF,IACxDA,EAAM25H,SAAW35H,EAAM25H,SAASrsK,KAAK44H,EAAuBlmF,IAC5DA,EAAM8pf,aAAe9pf,EAAM8pf,aAAax8hB,KAAK44H,EAAuBlmF,IACpEA,EAAM+pf,YAAc/pf,EAAM+pf,YAAYz8hB,KAAK44H,EAAuBlmF,IAClEA,EAAMqvX,eAAiBrvX,EAAMqvX,eAAe/ha,KAAK44H,EAAuBlmF,IACxEA,EAAMsvX,iBAAmBtvX,EAAMsvX,iBAAiBhia,KAAK44H,EAAuBlmF,IAC5EA,EAAMuvX,cAAgBvvX,EAAMuvX,cAAcjia,KAAK44H,EAAuBlmF,IACtEA,EAAMwvX,gBAAkBxvX,EAAMwvX,gBAAgBlia,KAAK44H,EAAuBlmF,IAC1EA,EAAMpxB,GAAKoxB,EAAM34C,MAAMunB,KAAM,EAAI4/Y,EAAmBvwY,WAC7C+hB,EAquBT,OArxBoB/4C,EAmDPwiiB,GAnDoBzhiB,EAmDP,CAAC,CACzBF,IAAK,gBACLqC,MAAO,SAAuB4lB,GAC5B,IAEIxb,EAFAg9Z,EAAc9ma,KAAK+ma,eAAezhZ,EAAM22S,QACxC4pM,EAAiB7lgB,KAAKu/hB,mBAAmBz4H,GAElBh9Z,GAAH,IAApB+7f,EAAkC7lgB,KAAKpD,MAAM8C,MAAMuT,QAAO,SAAUyQ,EAAK7mB,GAC3E,OAAOA,IAAMgpgB,KACI,GAAGr9e,OAAOwsB,EAAmBh1C,KAAKpD,MAAM8C,OAAS,IAAK,CAACona,IAC1E9ma,KAAKw/hB,YAAYl6gB,EAAM+1B,cAAevxC,KAEvC,CACDzM,IAAK,kBACLqC,MAAO,SAAyB4lB,GAC9B,IAAI+1B,EAAgB/1B,EAAM+1B,cACtByjF,EAAWzjF,EAAcm+C,cAE7B,OAAQn+C,EAAcR,OAEpB,KAAK,GACH,IAAIwrC,EAAWrmF,KAAKy/hB,aAAa3ga,GAE7Bz4C,GACFA,EAASD,QAGX/qC,EAAcP,iBACd,MAGF,KAAK,GACH,IAAI8qC,EAAW5lF,KAAK0/hB,aAAa5ga,GAE7Bl5C,GACFA,EAASQ,QAGX/qC,EAAcP,iBACd,MAGF,KAAK,GACL,KAAK,GACH96C,KAAKwka,cAAcl/Y,GACnB+1B,EAAcP,iBACd,MAGF,KAAK,GACH96C,KAAK4xD,OACL5xD,KAAKumF,WAAWH,WAOrB,CACD/oF,IAAK,eACLqC,MAAO,SAAsBgoB,GAC3B,IAAI2+D,EAAW3+D,EAAKouJ,mBACpB,OAAIzvF,EAAkB2tE,EAAYxgI,QAAQkwD,SAAS2C,EAAU,sBAAsDA,EAA9BrmF,KAAKy/hB,aAAap5c,GAAiC,OAEzI,CACDhpF,IAAK,eACLqC,MAAO,SAAsBgoB,GAC3B,IAAIk+D,EAAWl+D,EAAK07e,uBACpB,OAAIx9a,EAAkBouE,EAAYxgI,QAAQkwD,SAASkC,EAAU,sBAAsDA,EAA9B5lF,KAAK0/hB,aAAa95c,GAAiC,OAEzI,CACDvoF,IAAK,UACLqC,MAAO,SAAiB4lB,GACjBtlB,KAAKpD,MAAMgsF,UAAa5oF,KAAK2/hB,eAAer6gB,IAAW0uI,EAAYxgI,QAAQkwD,SAASp+D,EAAM3oB,OAAQ,6BAAgCqD,KAAKgla,eAAe1/Y,KACrJtlB,KAAK+kE,MAAMk/V,eACbjka,KAAK4xD,OAEL5xD,KAAK+xD,OAGP/xD,KAAKumF,WAAWH,WAGnB,CACD/oF,IAAK,YACLqC,MAAO,SAAmB4lB,GACxB,OAAQA,EAAMu1B,OAEZ,KAAK,IACE76C,KAAK+kE,MAAMk/V,gBAAkB3+Y,EAAMwqY,SACtC9vZ,KAAK+xD,OACLzsC,EAAMw1B,kBAGR,MAGF,KAAK,GACE96C,KAAK+kE,MAAMk/V,iBACdjka,KAAK+xD,OACLzsC,EAAMw1B,kBAGR,MAGF,KAAK,GACH96C,KAAK4xD,UAOV,CACDv0D,IAAK,cACLqC,MAAO,SAAqB4lB,GAC1B,IAAIxb,EAEJ,GAAIwb,EAAM6mG,QACRriH,EAAW,OACN,CACL,IAAIy0B,EAAUv+B,KAAKywK,YAAczwK,KAAK4/hB,cAAc5/hB,KAAKpD,MAAM2hC,SAAWv+B,KAAKpD,MAAM2hC,QAErF,GAAIA,EAAS,CACXz0B,EAAW,GAEX,IACI6rB,EADAm7H,EAnMd,SAAoCxwJ,EAAG+sJ,GAAkB,IAAInsJ,EAAI,GAAsB,qBAAXX,QAAgD,MAAtBD,EAAEC,OAAOC,UAAmB,CAAE,GAAIC,MAAMC,QAAQJ,KAAOY,EAAK0pI,EAA4BtqI,KAAO+sJ,GAAkB/sJ,GAAyB,kBAAbA,EAAExD,OAAqB,CAAMoE,IAAIZ,EAAIY,GAAI,IAAIrE,EAAI,EAAO8D,EAAI,aAAiB,MAAO,CAAEC,EAAGD,EAAGE,EAAG,WAAe,OAAIhE,GAAKyD,EAAExD,OAAe,CAAEgE,MAAM,GAAe,CAAEA,MAAM,EAAOpB,MAAOY,EAAEzD,OAAWkE,EAAG,SAAWC,GAAM,MAAMA,GAAOC,EAAGN,GAAO,MAAM,IAAIlE,UAAU,yIAA4I,IAA6C0E,EAAzCC,GAAmB,EAAMC,GAAS,EAAY,MAAO,CAAET,EAAG,WAAeM,EAAKZ,EAAEC,OAAOC,aAAgBK,EAAG,WAAe,IAAIS,EAAOJ,EAAGK,OAAsC,OAA9BH,EAAmBE,EAAKR,KAAaQ,GAASP,EAAG,SAAWS,GAAOH,GAAS,EAAMF,EAAMK,GAAQP,EAAG,WAAe,IAAWG,GAAiC,MAAbF,EAAGosJ,QAAgBpsJ,EAAGosJ,SAArD,QAA2E,GAAIjsJ,EAAQ,MAAMF,KAmMx7Bd,CAA2Bk+B,GAG3C,IACE,IAAKuyH,EAAUlwJ,MAAO+0B,EAAQm7H,EAAUjwJ,KAAKC,MAAO,CAClD,IAAIm7T,EAAStmS,EAAMj2B,MACnBoK,EAAShD,KAAK9G,KAAK+ma,eAAe9qG,KAEpC,MAAO96T,GACP2vJ,EAAU/vJ,EAAEI,GANd,QAQE2vJ,EAAU7vJ,MAKhBjB,KAAKw/hB,YAAYl6gB,EAAM+1B,cAAevxC,KAEvC,CACDzM,IAAK,cACLqC,MAAO,SAAqB4lB,EAAO5lB,GAC7BM,KAAKpD,MAAMwvH,UACbpsH,KAAKpD,MAAMwvH,SAAS,CAClB/wE,cAAe/1B,EACf5lB,MAAOA,EACPs7C,gBAAiB,aACjBF,eAAgB,aAChBn+C,OAAQ,CACNyF,KAAMpC,KAAKpD,MAAMwF,KACjB+hB,GAAInkB,KAAKmkB,GACTzkB,MAAOA,OAKd,CACDrC,IAAK,WACLqC,MAAO,SAAkB4lB,GACvBtlB,KAAKqkK,SAAS,CACZpxJ,OAAQqS,EAAMm4G,UAGjB,CACDpgI,IAAK,cACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZpxJ,OAAQ,OAGX,CACD5V,IAAK,OACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ4/P,gBAAgB,MAGnB,CACD5ma,IAAK,OACLqC,MAAO,WACLM,KAAKqkK,SAAS,CACZ4/P,gBAAgB,MAGnB,CACD5ma,IAAK,iBACLqC,MAAO,WACLM,KAAKina,MAAMvsZ,QAAQhI,MAAMykC,OAASxf,OAAOq8H,EAAYxgI,QAAQywI,kBAC7DjkK,KAAKkna,eAEN,CACD7pa,IAAK,mBACLqC,MAAO,WACLM,KAAK2ma,4BACL3ma,KAAKwkK,qBACLxkK,KAAKona,uBAEN,CACD/pa,IAAK,gBACLqC,MAAO,WACLM,KAAKuna,8BACLvna,KAAK4kK,uBACL5kK,KAAKwna,yBAEN,CACDnqa,IAAK,kBACLqC,MAAO,WACDM,KAAKpD,MAAMqW,QAAUjT,KAAKpD,MAAM6qa,mBAClCzna,KAAK0na,gBAGR,CACDrqa,IAAK,aACLqC,MAAO,WACL,IAAIovH,EAAY9uH,KAAK++D,MAAMo1F,cAEvBn0J,KAAKpD,MAAMs6C,UACbl3C,KAAKina,MAAMvsZ,QAAQhI,MAAMg6C,SAAWsnG,EAAYxgI,QAAQmiB,SAASm5E,GAAa,KAE9EklC,EAAYxgI,QAAQm0Y,iBAAiB3na,KAAKina,MAAMvsZ,QAASo0G,IAEzDklC,EAAYxgI,QAAQo0Y,iBAAiB5na,KAAKina,MAAMvsZ,QAASo0G,KAG5D,CACDzxH,IAAK,eACLqC,MAAO,SAAsB4lB,GAC3BtlB,KAAK4xD,OACL5xD,KAAKumF,WAAWH,QAChB9gE,EAAMw1B,iBACNx1B,EAAM01B,oBAEP,CACD39C,IAAK,qBACLqC,MAAO,SAA4BA,GACjC,IAAIyhC,GAAS,EAEb,GAAInhC,KAAKpD,MAAM8C,MAGb,IAFA,IAAIrC,EAAM2C,KAAK6/hB,cAENhjiB,EAAI,EAAGA,EAAImD,KAAKpD,MAAM8C,MAAM5C,OAAQD,IAC3C,GAAIi+H,EAAatnG,QAAQ+sC,OAAOvgE,KAAKpD,MAAM8C,MAAM7C,GAAI6C,EAAOrC,GAAM,CAChE8jC,EAAQtkC,EACR,MAKN,OAAOskC,IAER,CACD9jC,IAAK,aACLqC,MAAO,SAAoBu8T,GACzB,OAAiE,IAA1Dj8T,KAAKu/hB,mBAAmBv/hB,KAAK+ma,eAAe9qG,MAEpD,CACD5+T,IAAK,kBACLqC,MAAO,SAAyBgkB,GAG9B,IAFA,IAAIq7C,EAAQ,KAEHliE,EAAI,EAAGA,EAAImD,KAAKpD,MAAM2hC,QAAQzhC,OAAQD,IAAK,CAClD,IAAIo/T,EAASj8T,KAAKpD,MAAM2hC,QAAQ1hC,GAC5Biqa,EAAc9ma,KAAK+ma,eAAe9qG,GAClC5+T,EAAM2C,KAAK6/hB,cAEf,GAAI/ka,EAAatnG,QAAQ+sC,OAAOumW,EAAapjZ,EAAKrmB,GAAM,CACtD0hE,EAAQ/+D,KAAKuma,eAAetqG,GAC5B,OAIJ,OAAOl9P,IAER,CACD1hE,IAAK,UACLqC,MAAO,SAAiB4lB,GACtB,IAAI+2B,EAASr8C,KAEbslB,EAAM6/Y,UACNnla,KAAKqkK,SAAS,CACZ2/P,SAAS,IACR,WACG3nX,EAAOz/C,MAAMwoa,SACf/oX,EAAOz/C,MAAMwoa,QAAQ9/Y,QAI1B,CACDjoB,IAAK,SACLqC,MAAO,SAAgB4lB,GACrB,IAAI03B,EAASh9C,KAEbslB,EAAM6/Y,UACNnla,KAAKqkK,SAAS,CACZ2/P,SAAS,IACR,WACGhnX,EAAOpgD,MAAMsxH,QACflxE,EAAOpgD,MAAMsxH,OAAO5oG,QAIzB,CACDjoB,IAAK,4BACLqC,MAAO,WACL,IAAIwgD,EAASlgD,KAERA,KAAK+na,wBACR/na,KAAK+na,sBAAwB,SAAUziZ,GACjC46B,EAAO6kB,MAAMk/V,gBAAkB/jX,EAAO8nX,iBAAiB1iZ,IACzD46B,EAAO0R,QAIXtuD,SAASgwB,iBAAiB,QAAStzB,KAAK+na,0BAG3C,CACD1qa,IAAK,qBACLqC,MAAO,WACL,IAAImhD,EAAS7gD,KAERA,KAAK6kK,gBACR7kK,KAAK6kK,cAAgB,IAAItB,EAA+B/vI,QAAQxzB,KAAK8uH,WAAW,WAC1EjuE,EAAOkkB,MAAMk/V,gBACfpjX,EAAO+Q,WAKb5xD,KAAK6kK,cAAcL,uBAEpB,CACDnnK,IAAK,uBACLqC,MAAO,WACDM,KAAK6kK,eACP7kK,KAAK6kK,cAAcD,yBAGtB,CACDvnK,IAAK,qBACLqC,MAAO,WACL,IAAI+hD,EAASzhD,KAERA,KAAKq4G,iBACRr4G,KAAKq4G,eAAiB,WAChB52D,EAAOsjB,MAAMk/V,gBACfxiX,EAAOmQ,QAIXlwD,OAAO4xB,iBAAiB,SAAUtzB,KAAKq4G,mBAG1C,CACDh7G,IAAK,uBACLqC,MAAO,WACDM,KAAKq4G,iBACP32G,OAAOojE,oBAAoB,SAAU9kE,KAAKq4G,gBAC1Cr4G,KAAKq4G,eAAiB,QAGzB,CACDh7G,IAAK,mBACLqC,MAAO,SAA0B4lB,GAC/B,OAAOtlB,KAAK8uH,aAAe9uH,KAAK8uH,UAAUm5S,WAAW3iZ,EAAM3oB,SAAWqD,KAAKgla,eAAe1/Y,IAAUtlB,KAAK8uH,UAAU3uE,SAAS76B,EAAM3oB,SAAWqD,KAAKina,OAASjna,KAAKina,MAAMvsZ,SAAW1a,KAAKina,MAAMvsZ,QAAQylC,SAAS76B,EAAM3oB,WAEpN,CACDU,IAAK,iBACLqC,MAAO,SAAwB4lB,GAC7B,OAAO0uI,EAAYxgI,QAAQkwD,SAASp+D,EAAM3oB,OAAQ,8BAEnD,CACDU,IAAK,iBACLqC,MAAO,SAAwB4lB,GAC7B,OAAOtlB,KAAKina,OAASjna,KAAKina,MAAMvsZ,SAAW1a,KAAKina,MAAMvsZ,QAAQylC,SAAS76B,EAAM3oB,UAE9E,CACDU,IAAK,8BACLqC,MAAO,WACDM,KAAK+na,wBACPzka,SAASwhE,oBAAoB,QAAS9kE,KAAK+na,uBAC3C/na,KAAK+na,sBAAwB,QAGhC,CACD1qa,IAAK,oBACLqC,MAAO,WACDM,KAAKpD,MAAMg/H,SACb57H,KAAK67H,kBAGR,CACDx+H,IAAK,qBACLqC,MAAO,SAA4Bo8H,GAC7BA,EAAUF,UAAY57H,KAAKpD,MAAMg/H,UAC/B57H,KAAK47H,QAAS57H,KAAK47H,QAAQG,cAAc/7H,KAAKpD,MAAMg/H,SAAc57H,KAAK67H,mBAG9E,CACDx+H,IAAK,uBACLqC,MAAO,WACLM,KAAKuna,8BACLvna,KAAKwna,uBAEDxna,KAAK6kK,gBACP7kK,KAAK6kK,cAAc9oH,UACnB/7C,KAAK6kK,cAAgB,MAGnB7kK,KAAK47H,UACP57H,KAAK47H,QAAQ7/E,UACb/7C,KAAK47H,QAAU,QAGlB,CACDv+H,IAAK,YACLqC,MAAO,WACL,OAAOM,KAAK+kE,MAAM9xD,QAAUjT,KAAK+kE,MAAM9xD,OAAOzL,OAAO1K,OAAS,IAE/D,CACDO,IAAK,eACLqC,MAAO,SAAsB6la,GAC3B,OAAIvla,KAAKywK,YAAoBzwK,KAAKpD,MAAM8C,OAAS6la,GAAkBA,EAAezoa,QAAUkD,KAAKpD,MAAM8C,MAAM5C,SAAWyoa,EAAezoa,OAAmBkD,KAAKpD,MAAM8C,OAASM,KAAKpD,MAAM2hC,SAAWv+B,KAAKpD,MAAM8C,MAAM5C,SAAWkD,KAAKpD,MAAM2hC,QAAQzhC,SAEpP,CACDO,IAAK,gBACLqC,MAAO,SAAuB6+B,GAC5B,GAAIA,EAAS,CACX,IAAIq7I,EAAc55K,KAAK+kE,MAAM9xD,OAAOzL,OAAOulY,kBAAkB/sY,KAAKpD,MAAMk9K,cACpE0sP,EAAexma,KAAKpD,MAAM6pa,SAAWzma,KAAKpD,MAAM6pa,SAASl6Z,MAAM,KAAO,CAACvM,KAAKpD,MAAM8pa,aAAe,SACrG,OAAOl4P,EAAah7I,QAAQvgB,OAAOsrB,EAASioY,EAAc5sP,EAAa55K,KAAKpD,MAAMwjK,gBAAiBpgK,KAAKpD,MAAMk9K,iBAGjH,CACDz8K,IAAK,iBACLqC,MAAO,SAAwBu8T,GAC7B,OAAOj8T,KAAKpD,MAAM8pa,YAAc5rS,EAAatnG,QAAQkhI,iBAAiBunK,EAAQj8T,KAAKpD,MAAM8pa,aAAezqG,QAA8Br8R,IAApBq8R,EAAM,MAA0BA,EAAM,MAAYA,IAErK,CACD5+T,IAAK,iBACLqC,MAAO,SAAwBu8T,GAC7B,OAAOj8T,KAAKpD,MAAMkqa,YAAchsS,EAAatnG,QAAQkhI,iBAAiBunK,EAAQj8T,KAAKpD,MAAMkqa,aAAe7qG,QAA8Br8R,IAApBq8R,EAAM,MAA0BA,EAAM,MAAYA,IAErK,CACD5+T,IAAK,UACLqC,MAAO,WACL,OAAQM,KAAKpD,MAAM8C,OAAqC,IAA5BM,KAAKpD,MAAM8C,MAAM5C,SAE9C,CACDO,IAAK,cACLqC,MAAO,WACL,OAAOM,KAAKpD,MAAMkqa,YAAc,KAAO9ma,KAAKpD,MAAM8zI,UAEnD,CACDrzI,IAAK,gBACLqC,MAAO,WACL,OAAOM,KAAKkoa,aAAaC,kBAE1B,CACD9qa,IAAK,aACLqC,MAAO,SAAoB4lB,EAAOoC,GAChC,IAAIrqB,EAAM2C,KAAK6/hB,cACXngiB,EAAQM,KAAKpD,MAAM8C,MAAMuT,QAAO,SAAUyQ,GAC5C,OAAQo3G,EAAatnG,QAAQ+sC,OAAO78C,EAAKgE,EAAMrqB,MAEjD2C,KAAKw/hB,YAAYl6gB,EAAO5lB,KAEzB,CACDrC,IAAK,wBACLqC,MAAO,WACL,IAAI+a,EAAU,UAEd,OAAIA,EAAQ8nB,KAAKviC,KAAKpD,MAAMkjiB,oBACnB9/hB,KAAKpD,MAAMkjiB,mBAAmBr4hB,QAAQzH,KAAKpD,MAAMkjiB,mBAAmBt2hB,MAAMiR,GAAS,GAAIza,KAAKpD,MAAM8C,MAAM5C,OAAS,IAGnHkD,KAAKpD,MAAMkjiB,qBAEnB,CACDziiB,IAAK,WACLqC,MAAO,WACL,IAAIq/D,EAEJ,IAAK/+D,KAAKyhE,YAAczhE,KAAKpD,MAAMmjiB,iBAAkB,CACnDhhe,EAAQ,GAER,IAAK,IAAIliE,EAAI,EAAGA,EAAImD,KAAKpD,MAAM8C,MAAM5C,OAAQD,IACjC,IAANA,IACFkiE,GAAS,KAGXA,GAAS/+D,KAAKggiB,gBAAgBhgiB,KAAKpD,MAAM8C,MAAM7C,IAGjD,OAAImD,KAAKpD,MAAM8C,MAAM5C,QAAUkD,KAAKpD,MAAMqjiB,kBACjClhe,EAEA/+D,KAAKkgiB,wBAIhB,OAAOnhe,IAER,CACD1hE,IAAK,kBACLqC,MAAO,WACL,IAAIiiD,EAAS3hD,KAEb,OAAIA,KAAKpD,MAAMujiB,qBACRngiB,KAAKyhE,UAaDq5D,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAMujiB,sBAZjDngiB,KAAKpD,MAAM8C,MAAM5C,QAAUkD,KAAKpD,MAAMqjiB,kBACjCjgiB,KAAKpD,MAAM8C,MAAM+nB,KAAI,SAAU/D,EAAKyd,GACzC,IAAIzZ,EAAOozG,EAAatnG,QAAQs1Y,cAAcnnX,EAAO/kD,MAAMujiB,qBAAsBz8gB,GAEjF,OAAoB62G,EAAO/mG,QAAQ5Y,cAAc2/G,EAAO/mG,QAAQ+xG,SAAU,CACxEloI,IAAK8jC,GACJzZ,MAGE1nB,KAAKkgiB,wBAMW,SAAvBlgiB,KAAKpD,MAAMwnB,SAAuBpkB,KAAKyhE,UAkBpCzhE,KAAKg/D,WAjBHh/D,KAAKpD,MAAM8C,MAAM+nB,KAAI,SAAU/D,GACpC,IAAIq7C,EAAQpd,EAAOq+e,gBAAgBt8gB,GAEnC,OAAoB62G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,sBACXtnB,IAAK0hE,GACSw7D,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,6BACVo6C,IAASpd,EAAO/kD,MAAMgsF,UAAyB2xC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACrF+J,UAAW,8CACXy2B,QAAS,SAAiBr6C,GACxB,OAAO4gD,EAAOy+e,WAAWr/hB,EAAG2iB,YASvC,CACDrmB,IAAK,gBACLqC,MAAO,WACLM,KAAK47H,SAAU,EAAIf,EAASmB,KAAK,CAC/Br/H,OAAQqD,KAAK8uH,UACbnnG,QAAS3nB,KAAKpD,MAAMg/H,QACpBr9F,QAASv+B,KAAKpD,MAAMq/H,mBAGvB,CACD5+H,IAAK,eACLqC,MAAO,SAAsBujF,GAC3B,OAAoBs3C,EAAO/mG,QAAQ5Y,cAAcqkhB,EAAmBoB,kBAAmB,CACrFpthB,OAAQjT,KAAKpD,MAAMqW,OACnB2mK,YAAa55K,KAAK+kE,MAAM9xD,OACxBi8J,SAAUlvK,KAAKkvK,SACf7O,kBAAmBrgK,KAAKpD,MAAMyjK,kBAC9BwqQ,QAAS7qa,KAAKq/hB,aACdC,YAAat/hB,KAAKs/hB,YAClBgB,WAAYtgiB,KAAKugiB,aAAat9c,OAGjC,CACD5lF,IAAK,kBACLqC,MAAO,WACL,IAAI0zD,EAASpzD,KAIb,OAFYA,KAAKyhE,YAEHzhE,KAAKpD,MAAMmsa,WAAc/oa,KAAKpD,MAAMgsF,SAS3C,KARe2xC,EAAO/mG,QAAQ5Y,cAAc,IAAK,CACpD+J,UAAW,uCACXy2B,QAAS,SAAiBr6C,GACxB,OAAOqyD,EAAOose,YAAYz+hB,EAAG,WAOpC,CACD1D,IAAK,cACLqC,MAAO,WACL,IAAI+zD,EAASzzD,KAEToyJ,EAAQpyJ,KAAKyhE,UACb95C,EAAU3nB,KAAKwgiB,kBACfjpM,GAAiB,EAAI38N,EAAYtP,YAAY,sBAAuB,CACtE,gBAAiB8mC,GAASpyJ,KAAKpD,MAAM6xH,YACrC,4BAA6B2jC,IAAUpyJ,KAAKpD,MAAM6xH,cAAgBzuH,KAAKpD,MAAMujiB,qBAC7E,6BAA8B/tY,GAASpyJ,KAAKpD,MAAM8C,MAAM5C,OAASkD,KAAKpD,MAAMqjiB,oBAE9E,OAAoB1la,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDwzD,IAAK,SAAaruC,GAChB,OAAO0zB,EAAOsL,MAAQh/B,GAExBpb,UAAW,iCACG41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW4yU,GACV5vU,GAAW3nB,KAAKpD,MAAM6xH,aAAe,YAEzC,CACDpxH,IAAK,qBACLqC,MAAO,WACL,IAAIq0D,EAAU/zD,KAEVygiB,EAAkBzgiB,KAAKpD,MAAM8C,MAAQM,KAAKpD,MAAM8C,MAAM+nB,KAAI,SAAUw0S,EAAQ96R,GAC9E,OAAoBo5F,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACzDvd,IAAK02D,EAAQwyW,eAAetqG,GAAU,IAAM96R,EAC5CzhC,MAAOq0D,EAAQgzW,eAAe9qG,QAE7B,KACL,OAAoB1hM,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,mDACG41G,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACrDwzD,IAAK,SAAaruC,GAChB,OAAOg0B,EAAQm0W,aAAenoY,GAEhCsuF,SAAUruH,KAAKpD,MAAMyxH,SACrBjsH,KAAMpC,KAAKpD,MAAMwF,KACjBgsH,SAAU,KACV,cAAe,OACf+5T,UAAU,GACTs4G,MAEJ,CACDpjiB,IAAK,SACLqC,MAAO,WACL,IAAIw0D,EAAUl0D,KAEV2kB,GAAY,EAAIi2G,EAAYtP,YAAY,2CAA4C,CACtF,qBAA6C,SAAvBtrH,KAAKpD,MAAMwnB,QACjC,aAAcpkB,KAAKpD,MAAMgsF,SACzB,0BAA2B5oF,KAAKpD,MAAMmsa,YAAc/oa,KAAKpD,MAAMgsF,SAC/D,UAAW5oF,KAAK+kE,MAAMi/V,QACtB,wBAAyBhka,KAAKpD,MAAM8C,OAASM,KAAKpD,MAAM8C,MAAM5C,OAAS,EACvE,uBAAwBkD,KAAK+kE,MAAMi/V,SAClChka,KAAKpD,MAAM+nB,WACVo6C,EAAQ/+D,KAAKw8H,cACbytS,EAAYjqa,KAAKkqa,kBACjBT,EAAezpa,KAAK0pa,qBACpBzmV,EAAQjjF,KAAKpD,MAAM2hC,QACnBkyI,EAAYzwK,KAAKywK,YAMrB,GAJIA,IACFxtF,EAAQjjF,KAAK4/hB,cAAc38c,IAGzBA,GAASA,EAAMnmF,OACjBmmF,EAAQA,EAAMx7D,KAAI,SAAUw0S,EAAQ96R,GAClC,IAAIulY,EAAcxyW,EAAQqyW,eAAetqG,GAEzC,OAAoB1hM,EAAO/mG,QAAQ5Y,cAAcskhB,EAAiBwB,gBAAiB,CACjFrjiB,IAAKqpa,EAAc,IAAMvlY,EACzB49B,MAAO2nW,EACPzqG,OAAQA,EACRvpJ,SAAUx+G,EAAQt3D,MAAMysa,aACxBhhV,SAAUn0B,EAAQ9D,WAAW6rQ,GAC7B7gR,QAAS8Y,EAAQswW,cACjB1oX,UAAWoY,EAAQkre,gBACnBhxa,SAAUl6D,EAAQt3D,MAAMwxH,mBAGvB,GAAIqiD,EAAW,CACpB,IAAI64P,EAAqBxuS,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAM0sa,mBAAoBtpa,KAAKpD,OAEhGqmF,EAAqBs3C,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACtD+J,UAAW,+BACV2kZ,GAGL,IAAIj6S,EAASrvH,KAAKsggB,aAAar9a,GAC/B,OAAoBs3C,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtDuJ,GAAInkB,KAAKmkB,GACTQ,UAAWA,EACXy2B,QAASp7C,KAAKo7C,QACdgzB,IAAK,SAAaruC,GAChB,OAAOm0B,EAAQ46D,UAAY/uF,GAE7BrtB,MAAO1S,KAAKpD,MAAM8V,OACjB+2Z,EAA2BlvS,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAChE+J,UAAW,uBACG41G,EAAO/mG,QAAQ5Y,cAAc,QAAS,CACpDwzD,IAAK,SAAaruC,GAChB,OAAOm0B,EAAQqyB,WAAaxmD,GAE9B5b,GAAInkB,KAAKpD,MAAM6ra,QACfrkH,UAAU,EACVnzS,KAAM,OACNm0Z,QAASpla,KAAKola,QACdl3S,OAAQluH,KAAKkuH,OACbpyE,UAAW97C,KAAK87C,UAChB4jI,KAAM,UACN,gBAAiB,UACjB,kBAAmB1/K,KAAKpD,MAAM+ra,eAC9B,gBAAiB3oa,KAAK+kE,MAAMk/V,eAC5Br7U,SAAU5oF,KAAKpD,MAAMgsF,SACrBwlC,SAAUpuH,KAAKpD,MAAMwxH,YAClBrvD,EAAOkrW,EAAwB1vS,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtE+J,UAAW,yBACG41G,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,uDACK41G,EAAO/mG,QAAQ5Y,cAAckpZ,EAAsB76O,cAAe,CAClF39D,WAAY,sBACZ+6D,GAAIrmL,KAAK+kE,MAAMk/V,eACf9rU,QAAS,CACPguF,MAAO,IACPa,KAAM,KAERV,eAAe,EACfwB,QAAS9nL,KAAK4ka,eACd/8O,UAAW7nL,KAAK6ka,iBAChB58O,OAAQjoL,KAAK8ka,cACb38O,SAAUnoL,KAAK+ka,iBACDxqS,EAAO/mG,QAAQ5Y,cAAcukhB,EAAkBwB,iBAAkB,CAC/Evyd,IAAK,SAAaruC,GAChB,OAAOm0B,EAAQ+yW,MAAQlnY,GAEzBsvF,OAAQA,EACRn4E,SAAUl3C,KAAKpD,MAAMs6C,SACrBmmI,aAAcr9K,KAAKpD,MAAMygL,aACzBgtP,eAAgBrqa,KAAKpD,MAAMyta,eAC3BD,WAAYpqa,KAAKpD,MAAMwta,YACtBnnV,UAjxBqEvmF,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAqxB3KwhiB,EAnwBsB,CAowB7Bzka,EAAOuC,WAET3mI,EAAQ6oiB,YAAcA,EAEtBhze,EAAgBgze,EAAa,eAAgB,CAC3C76gB,GAAI,KACJ/hB,KAAM,KACN1C,MAAO,KACP6+B,QAAS,KACTmoY,YAAa,KACbI,YAAa,KACb1iZ,QAAS,QACT1R,MAAO,KACPiS,UAAW,KACX0lZ,eAAgB,KAChBD,WAAY,KACZ/sP,aAAc,QACd5uD,YAAa,KACbsxa,kBAAkB,EAClBn3c,UAAU,EACVmgV,WAAW,EACX91Z,QAAQ,EACRwzZ,SAAU,KACVrmQ,gBAAiB,WACjBC,kBAAmB,KACnByZ,kBAAcl6I,EACd0pY,mBAAoB,mBACpB7B,mBAAmB,EACnBr5S,SAAU,IACVsiB,QAAS,KACT+3R,QAAS,KACTp6S,UAAU,EACVn3E,SAAU,KACV0kF,QAAS,KACTK,eAAgB,KAChBgka,kBAAmB,EACnBH,mBAAoB,qBACpBn3H,eAAgB,KAChBU,aAAc,KACd82H,qBAAsB,KACtB/za,SAAU,KACVg5S,QAAS,KACTl3S,OAAQ,OAGVliE,EAAgBgze,EAAa,YAAa,CACxC76gB,GAAIw2G,EAAWnnG,QAAQw2F,OACvB5nH,KAAMu4H,EAAWnnG,QAAQw2F,OACzBtqH,MAAOi7H,EAAWnnG,QAAQy2F,IAC1B1rF,QAASo8F,EAAWnnG,QAAQuvB,MAC5B2jX,YAAa/rS,EAAWnnG,QAAQw2F,OAChC88S,YAAansS,EAAWnnG,QAAQw2F,OAChC5lG,QAASu2G,EAAWnnG,QAAQw2F,OAC5Bt3G,MAAOioH,EAAWnnG,QAAQ1wB,OAC1B6hB,UAAWg2G,EAAWnnG,QAAQw2F,OAC9BqgT,eAAgB1vS,EAAWnnG,QAAQw2F,OACnCogT,WAAYzvS,EAAWnnG,QAAQ1wB,OAC/Bu6K,aAAc1iD,EAAWnnG,QAAQw2F,OACjCyE,YAAakM,EAAWnnG,QAAQw2F,OAChC+1a,iBAAkBpla,EAAWnnG,QAAQs2F,KACrClhC,SAAU+xC,EAAWnnG,QAAQs2F,KAC7Bi/S,UAAWpuS,EAAWnnG,QAAQs2F,KAC9B72G,OAAQ0nH,EAAWnnG,QAAQs2F,KAC3B28S,SAAU9rS,EAAWnnG,QAAQw2F,OAC7Bo2C,gBAAiBzlC,EAAWnnG,QAAQw2F,OACpCq2C,kBAAmB1lC,EAAWnnG,QAAQw2F,OACtC8vD,aAAcn/C,EAAWnnG,QAAQw2F,OACjCs/S,mBAAoB3uS,EAAWnnG,QAAQy2F,IACvCw9S,kBAAmB9sS,EAAWnnG,QAAQs2F,KACtCsE,SAAUuM,EAAWnnG,QAAQw2F,OAC7B0mB,QAAS/V,EAAWnnG,QAAQw2F,OAC5By+S,QAAS9tS,EAAWnnG,QAAQw2F,OAC5BqE,SAAUsM,EAAWnnG,QAAQs2F,KAC7B5yE,SAAUyjF,EAAWnnG,QAAQ1wB,OAC7B84H,QAASjB,EAAWnnG,QAAQw2F,OAC5BiS,eAAgBtB,EAAWnnG,QAAQ1wB,OACnCm9hB,kBAAmBtla,EAAWnnG,QAAQu2F,OACtC+1a,mBAAoBnla,EAAWnnG,QAAQw2F,OACvC2+S,eAAgBhuS,EAAWnnG,QAAQw2F,OACnCq/S,aAAc1uS,EAAWnnG,QAAQy2F,IACjCk2a,qBAAsBxla,EAAWnnG,QAAQy2F,IACzCmC,SAAUuO,EAAWnnG,QAAQi8B,KAC7B21W,QAASzqS,EAAWnnG,QAAQi8B,KAC5By+D,OAAQyM,EAAWnnG,QAAQi8B,Q,6BCl6B7BtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQkqiB,uBAAoB,EAE5B,IAUgCrggB,EAV5Bu6F,EAcJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAdntB65F,CAAwBtkI,EAAQ,IAEzCukI,GAQ4B36F,EARQ5pC,EAAQ,KAQK4pC,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GANnFire,EAAa70gB,EAAQ,KAErBwqiB,EAAYxqiB,EAAQ,KAEpB2kI,EAAU3kI,EAAQ,IAItB,SAASokI,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAIqggB,EAAiC,SAAU1ka,IAhB/C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUghiB,EAAmB1ka,GAE7B,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa0giB,GAE1B,SAASA,IACP,IAAI9qf,EAOJ,OAnCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAMqgiB,IAEtB9qf,EAAQ0R,EAAOjlD,KAAKhC,OACdkvK,SAAW35H,EAAM25H,SAASrsK,KAAK44H,EAAuBlmF,IAC5DA,EAAM+pf,YAAc/pf,EAAM+pf,YAAYz8hB,KAAK44H,EAAuBlmF,IAC3DA,EAgET,OA/FoB/4C,EAkCP6jiB,GAlCoB9iiB,EAkCD,CAAC,CAC/BF,IAAK,WACLqC,MAAO,SAAkB4lB,GACnBtlB,KAAKpD,MAAMsyK,UACblvK,KAAKpD,MAAMsyK,SAAS,CAClB7zH,cAAe/1B,EACfm4G,MAAOn4G,EAAM3oB,OAAO+C,UAIzB,CACDrC,IAAK,cACLqC,MAAO,SAAqB4lB,GACtBtlB,KAAKpD,MAAM0iiB,aACbt/hB,KAAKpD,MAAM0iiB,YAAY,CACrBjkf,cAAe/1B,EACf6mG,QAASnsH,KAAKpD,MAAM0jiB,eAIzB,CACDjjiB,IAAK,sBACLqC,MAAO,WACL,OAAIM,KAAKpD,MAAMqW,OACOsnH,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,kCACG41G,EAAO/mG,QAAQ5Y,cAAcqwf,EAAWv8Y,UAAW,CACjEz9G,KAAM,OACNyuK,KAAM,UACNhgL,MAAOM,KAAKpD,MAAMg9K,YAClBxtD,SAAUpsH,KAAKkvK,SACfvqJ,UAAW,uBACX8pG,YAAazuH,KAAKpD,MAAMyjK,oBACT9lC,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACpD+J,UAAW,4CAIR,OAER,CACDtnB,IAAK,SACLqC,MAAO,WACL,IAAI8gK,EAAgBxgK,KAAK6giB,sBACzB,OAAoBtma,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW,wBACG41G,EAAO/mG,QAAQ5Y,cAAcgmhB,EAAU70a,SAAU,CAC/DI,QAASnsH,KAAKpD,MAAM0jiB,WACpBl0a,SAAUpsH,KAAKs/hB,YACf5/W,KAAM,WACN,eAAgB1/K,KAAKpD,MAAM0jiB,aACzB9/X,EAA4BjmC,EAAO/mG,QAAQ5Y,cAAc,SAAU,CACrE3J,KAAM,SACN0T,UAAW,6BACXy2B,QAASp7C,KAAKpD,MAAMiua,SACNtwS,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAW,yCACI41G,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,aA3FUngI,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GA+F3K6iiB,EA7E4B,CA8EnC9la,EAAOuC,WAET3mI,EAAQkqiB,kBAAoBA,EAE5Br0e,EAAgBq0e,EAAmB,eAAgB,CACjDpthB,QAAQ,EACR2mK,YAAa,KACbvZ,kBAAmB,KACnB6O,SAAU,KACV27P,QAAS,KACTy0H,YAAa,KACbgB,YAAY,IAGdt0e,EAAgBq0e,EAAmB,YAAa,CAC9CpthB,OAAQ0nH,EAAWnnG,QAAQs2F,KAC3B8vD,YAAaj/C,EAAWnnG,QAAQw2F,OAChCq2C,kBAAmB1lC,EAAWnnG,QAAQw2F,OACtCs2a,WAAY3la,EAAWnnG,QAAQs2F,KAC/BolD,SAAUv0C,EAAWnnG,QAAQi8B,KAC7Bo7W,QAASlwS,EAAWnnG,QAAQi8B,KAC5B6ve,YAAa3ka,EAAWnnG,QAAQi8B,Q,6BChJlCtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQuqiB,qBAAkB,EAE1B,IAAInma,EAcJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAdntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CwkI,EAAcxkI,EAAQ,IAEtB0kI,EAAe10E,EAAuBhwD,EAAQ,KAE9C2kI,EAAU3kI,EAAQ,IAEtB,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAInX,SAAStjC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAA8Cy5H,EAAuBz6G,GAAtChf,EAEnI,SAASy5H,EAAuBz6G,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAI/J,SAASs6G,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI0ggB,EAA+B,SAAU/ka,IAhB7C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUqhiB,EAAiB/ka,GAE3B,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAa+giB,GAE1B,SAASA,EAAgB9jiB,GACvB,IAAI24C,EAOJ,OAnCJ,SAAyBh5C,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCA8B5GH,CAAgB0D,KAAM0giB,IAEtBnrf,EAAQ0R,EAAOjlD,KAAKhC,KAAMpD,IACpBw+C,QAAU7F,EAAM6F,QAAQv4C,KAAK44H,EAAuBlmF,IAC1DA,EAAMuG,UAAYvG,EAAMuG,UAAUj5C,KAAK44H,EAAuBlmF,IACvDA,EAuDT,OAtFoB/4C,EAkCPkkiB,GAlCoBnjiB,EAkCH,CAAC,CAC7BF,IAAK,UACLqC,MAAO,SAAiB4lB,GAClBtlB,KAAKpD,MAAMw+C,SACbp7C,KAAKpD,MAAMw+C,QAAQ,CACjBC,cAAe/1B,EACf22S,OAAQj8T,KAAKpD,MAAMq/T,SAIvB32S,EAAMw1B,mBAEP,CACDz9C,IAAK,YACLqC,MAAO,SAAmB4lB,GACpBtlB,KAAKpD,MAAMk/C,WACb97C,KAAKpD,MAAMk/C,UAAU,CACnBT,cAAe/1B,EACf22S,OAAQj8T,KAAKpD,MAAMq/T,WAIxB,CACD5+T,IAAK,SACLqC,MAAO,WACL,IAAIilB,GAAY,EAAIi2G,EAAYtP,YAAY,qBAAsB,CAChE,cAAetrH,KAAKpD,MAAMyrF,UACzBroF,KAAKpD,MAAMq/T,OAAOt3S,WACjBm8gB,GAAoB,EAAIlma,EAAYtP,YAAY,iBAAkB,CACpE,cAAetrH,KAAKpD,MAAMyrF,WAExB04c,GAAe,EAAInma,EAAYtP,YAAY,sBAAuB,CACpE,cAAetrH,KAAKpD,MAAMyrF,WAExB1gE,EAAU3nB,KAAKpD,MAAM81K,SAAW53C,EAAatnG,QAAQs1Y,cAAc9oa,KAAKpD,MAAM81K,SAAU1yK,KAAKpD,MAAMq/T,QAAUj8T,KAAKpD,MAAMmiE,MAC5H,OAAoBw7D,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACrD+J,UAAWA,EACXy2B,QAASp7C,KAAKo7C,QACdgzE,SAAUpuH,KAAKpD,MAAMwxH,SACrBtyE,UAAW97C,KAAK87C,UAChB4jI,KAAM,SACN,gBAAiB1/K,KAAKpD,MAAMyrF,UACdkyC,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAW,0BACG41G,EAAO/mG,QAAQ5Y,cAAc,MAAO,CAClD+J,UAAWm8gB,GACGvma,EAAO/mG,QAAQ5Y,cAAc,OAAQ,CACnD+J,UAAWo8gB,MACMxma,EAAO/mG,QAAQ5Y,cAAc,OAAQ,KAAM+M,GAAuB4yG,EAAO/mG,QAAQ5Y,cAAcmgH,EAAQ8B,OAAQ,YAlF1DngI,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAsF3KkjiB,EApE0B,CAqEjCnma,EAAOuC,WAET3mI,EAAQuqiB,gBAAkBA,EAE1B10e,EAAgB00e,EAAiB,eAAgB,CAC/CzkO,OAAQ,KACRl9P,MAAO,KACPspB,UAAU,EACV+lC,SAAU,KACVskD,SAAU,KACVt3H,QAAS,KACTU,UAAW,OAGbkQ,EAAgB00e,EAAiB,YAAa,CAC5CzkO,OAAQthM,EAAWnnG,QAAQy2F,IAC3BlrD,MAAO47D,EAAWnnG,QAAQw2F,OAC1B3hC,SAAUsyC,EAAWnnG,QAAQs2F,KAC7BsE,SAAUuM,EAAWnnG,QAAQw2F,OAC7B0oD,SAAU/3C,EAAWnnG,QAAQy2F,IAC7B7uE,QAASu/E,EAAWnnG,QAAQi8B,KAC5B3T,UAAW6+E,EAAWnnG,QAAQi8B,Q,6BCvIhCtyD,OAAOC,eAAejH,EAAS,aAAc,CAC3CuJ,OAAO,IAETvJ,EAAQwqiB,sBAAmB,EAE3B,IAAIpma,EAYJ,SAAiCv6F,GAAO,GAAIA,GAAOA,EAAIr9B,WAAc,OAAOq9B,EAAO,GAAY,OAARA,GAAiC,WAAjB8zC,EAAQ9zC,IAAoC,oBAARA,EAAsB,MAAO,CAAExM,QAASwM,GAAS,IAAIuoE,EAAQiyB,IAA4B,GAAIjyB,GAASA,EAAMvjB,IAAIhlD,GAAQ,OAAOuoE,EAAMjmG,IAAI09B,GAAQ,IAAIa,EAAS,GAAQ45F,EAAwBt9H,OAAOC,gBAAkBD,OAAOg9H,yBAA0B,IAAK,IAAI98H,KAAO2iC,EAAO,GAAI7iC,OAAOM,UAAUuF,eAAehB,KAAKg+B,EAAK3iC,GAAM,CAAE,IAAIonB,EAAOg2G,EAAwBt9H,OAAOg9H,yBAAyBn6F,EAAK3iC,GAAO,KAAUonB,IAASA,EAAKniB,KAAOmiB,EAAKjY,KAAQrP,OAAOC,eAAeyjC,EAAQxjC,EAAKonB,GAAgBoc,EAAOxjC,GAAO2iC,EAAI3iC,GAAYwjC,EAAOrN,QAAUwM,EAASuoE,GAASA,EAAM/7F,IAAIwzB,EAAKa,GAAW,OAAOA,EAZntB65F,CAAwBtkI,EAAQ,IAEzCukI,EAAav0E,EAAuBhwD,EAAQ,IAE5CgtK,EAAYh9G,EAAuBhwD,EAAQ,KAE3CwkI,EAAcxkI,EAAQ,IAE1B,SAASgwD,EAAuBpmB,GAAO,OAAOA,GAAOA,EAAIr9B,WAAaq9B,EAAM,CAAExM,QAASwM,GAEvF,SAASw6F,IAA6B,GAAuB,oBAAZQ,QAAwB,OAAO,KAAM,IAAIzyB,EAAQ,IAAIyyB,QAA6F,OAAlFR,EAA2B,WAAsC,OAAOjyB,GAAiBA,EAI1M,SAASz0B,EAAQ9zC,GAAmV,OAAtO8zC,EAArD,oBAAXvzE,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiBw/B,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXz/B,QAAyBy/B,EAAIvgC,cAAgBc,QAAUy/B,IAAQz/B,OAAO9C,UAAY,gBAAkBuiC,IAAyBA,GAEnX,SAAS1jC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAEhH,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAM7S,SAASk+H,EAAgB36H,EAAG2C,GAA+G,OAA1Gg4H,EAAkB99H,OAAO65H,gBAAkB,SAAyB12H,EAAG2C,GAAsB,OAAjB3C,EAAEsnC,UAAY3kC,EAAU3C,IAA6BA,EAAG2C,GAErK,SAAStD,EAAaC,GAAW,IAAIs7H,EAMrC,WAAuC,GAAuB,qBAAZj7H,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUi7H,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E7jG,KAAK95B,UAAU2O,SAASpK,KAAK/B,QAAQC,UAAUq3B,KAAM,IAAI,iBAAyB,EAAQ,MAAOx2B,GAAK,OAAO,GANzPs6H,GAA6B,OAAO,WAAkC,IAAsCx7H,EAAlCC,EAAQw7H,EAAgB17H,GAAkB,GAAIs7H,EAA2B,CAAE,IAAIn7H,EAAYu7H,EAAgBt7H,MAAMP,YAAaI,EAASI,QAAQC,UAAUJ,EAAOK,UAAWJ,QAAqBF,EAASC,EAAMM,MAAMJ,KAAMG,WAAc,OAAOo7H,EAA2Bv7H,KAAMH,IAE5Z,SAAS07H,EAA2Bv6G,EAAMhf,GAAQ,OAAIA,GAA2B,WAAlB8xE,EAAQ9xE,IAAsC,oBAATA,EAEpG,SAAgCgf,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIw6G,eAAe,6DAAgE,OAAOx6G,EAFby6G,CAAuBz6G,GAAtChf,EAMnI,SAASs5H,EAAgBh7H,GAAwJ,OAAnJg7H,EAAkBn+H,OAAO65H,eAAiB75H,OAAOu+H,eAAiB,SAAyBp7H,GAAK,OAAOA,EAAEsnC,WAAazqC,OAAOu+H,eAAep7H,KAA8BA,GAExM,SAAS0rD,EAAgBhsB,EAAK3iC,EAAKqC,GAAiK,OAApJrC,KAAO2iC,EAAO7iC,OAAOC,eAAe4iC,EAAK3iC,EAAK,CAAEqC,MAAOA,EAAO1C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB8iC,EAAI3iC,GAAOqC,EAAgBsgC,EAE3M,IAAI2ggB,EAAgC,SAAUhla,IAhB9C,SAAmBr8H,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI9C,UAAU,sDAAyD6C,EAAS7B,UAAYN,OAAOqC,OAAOD,GAAcA,EAAW9B,UAAW,CAAEgC,YAAa,CAAEC,MAAOJ,EAAUpC,UAAU,EAAMD,cAAc,KAAesC,GAAY07H,EAAgB37H,EAAUC,GAiBjXF,CAAUshiB,EAAkBhla,GAE5B,IArBoBn/H,EAAae,EAAYC,EAqBzCypD,EAAStnD,EAAaghiB,GAE1B,SAASA,IAGP,OAFArkiB,EAAgB0D,KAAM2giB,GAEf15e,EAAO7mD,MAAMJ,KAAMG,WAwC5B,OAlEoB3D,EA6BPmkiB,GA7BoBpjiB,EA6BF,CAAC,CAC9BF,IAAK,gBACLqC,MAAO,WACL,IAAI61C,EAAQv1C,KAERqqa,GAAiB,EAAIzvS,EAAYtP,YAAY,kCAAmCtrH,KAAKpD,MAAMyta,gBAC/F,OAAoB9vS,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACtD+J,UAAW0lZ,EACX33Z,MAAO1S,KAAKpD,MAAMwta,WAClBh8V,IAAK,SAAaruC,GAChB,OAAOwV,EAAM76B,QAAUqlB,GAEzBqb,QAASp7C,KAAKpD,MAAMw+C,SACnBp7C,KAAKpD,MAAMyyH,OAAqBkL,EAAO/mG,QAAQ5Y,cAAc,MAAO,CACrE+J,UAAW,8BACXjS,MAAO,CACL+sE,UAAWz/E,KAAKpD,MAAMygL,eAEV9iD,EAAO/mG,QAAQ5Y,cAAc,KAAM,CACjD+J,UAAW,kCACX+6J,KAAM,UACN,wBAAwB,GACvB1/K,KAAKpD,MAAM4V,cAEf,CACDnV,IAAK,SACLqC,MAAO,WACL,IAAIgb,EAAU1a,KAAKkmK,gBAEnB,OAAIlmK,KAAKpD,MAAMs6C,SACOksH,EAAU5vI,QAAQu7F,aAAar0G,EAAS1a,KAAKpD,MAAMs6C,UAEhEx8B,OA7D+Dhe,EAAkBF,EAAYiB,UAAWF,GAAiBC,GAAad,EAAkBF,EAAagB,GAkE3KmjiB,EAhD2B,CAiDlCpma,EAAOuC,WAET3mI,EAAQwqiB,iBAAmBA,EAE3B30e,EAAgB20e,EAAkB,eAAgB,CAChDzpf,SAAU,KACVm4E,OAAQ,KACRj0E,QAAS,KACTiiI,aAAc,KACdgtP,eAAgB,KAChBD,WAAY,OAGdp+W,EAAgB20e,EAAkB,YAAa,CAC7Czpf,SAAUyjF,EAAWnnG,QAAQ1wB,OAC7BusH,OAAQsL,EAAWnnG,QAAQy2F,IAC3B7uE,QAASu/E,EAAWnnG,QAAQi8B,KAC5B4tH,aAAc1iD,EAAWnnG,QAAQw2F,OACjCqgT,eAAgB1vS,EAAWnnG,QAAQw2F,OACnCogT,WAAYzvS,EAAWnnG,QAAQ1wB,U,kBCjHhC,wBAAUwjH,EAAQ1mF,GACf,aAEA,IAAI0mF,EAAOosT,aAAX,CAIA,IAIIsuH,EAJAC,EAAa,EACbC,EAAgB,GAChBC,GAAwB,EACxB59f,EAAM+iF,EAAOhjH,SAoJb89hB,EAAWjkiB,OAAOu+H,gBAAkBv+H,OAAOu+H,eAAepV,GAC9D86a,EAAWA,GAAYA,EAASvsgB,WAAausgB,EAAW96a,EAGf,qBAArC,GAAGl6G,SAASpK,KAAKskH,EAAOr0F,SApFxB+ugB,EAAoB,SAAS3ve,GACzBp/B,EAAQ4nU,UAAS,WAAcwnM,EAAahwe,OAIpD,WAGI,GAAIi1D,EAAOo5Y,cAAgBp5Y,EAAOg7a,cAAe,CAC7C,IAAIC,GAA4B,EAC5BC,EAAel7a,EAAOm5Y,UAM1B,OALAn5Y,EAAOm5Y,UAAY,WACf8hC,GAA4B,GAEhCj7a,EAAOo5Y,YAAY,GAAI,KACvBp5Y,EAAOm5Y,UAAY+hC,EACZD,GAwEJE,GApEX,WAKI,IAAIC,EAAgB,gBAAkBv6hB,KAAKk/G,SAAW,IAClDs7a,EAAkB,SAASr8gB,GACvBA,EAAMgD,SAAWg+F,GACK,kBAAfhhG,EAAMtU,MACyB,IAAtCsU,EAAMtU,KAAK3G,QAAQq3hB,IACnBL,GAAc/7gB,EAAMtU,KAAKghC,MAAM0vf,EAAc5kiB,UAIjDwpH,EAAOhzF,iBACPgzF,EAAOhzF,iBAAiB,UAAWqugB,GAAiB,GAEpDr7a,EAAOjzF,YAAY,YAAasugB,GAGpCX,EAAoB,SAAS3ve,GACzBi1D,EAAOo5Y,YAAYgiC,EAAgBrwe,EAAQ,MAiD/Cuwe,GAEOt7a,EAAO+4Y,eA/ClB,WACI,IAAIwiC,EAAU,IAAIxiC,eAClBwiC,EAAQrpc,MAAMina,UAAY,SAASn6e,GAE/B+7gB,EADa/7gB,EAAMtU,OAIvBgwhB,EAAoB,SAAS3ve,GACzBwwe,EAAQriC,MAAME,YAAYruc,IAyC9Bywe,GAEOv+f,GAAO,uBAAwBA,EAAI3oB,cAAc,UAvC5D,WACI,IAAI66B,EAAOlS,EAAI/d,gBACfw7gB,EAAoB,SAAS3ve,GAGzB,IAAIyvP,EAASv9Q,EAAI3oB,cAAc,UAC/BkmS,EAAOglF,mBAAqB,WACxBu7J,EAAahwe,GACbyvP,EAAOglF,mBAAqB,KAC5BrwV,EAAKlxB,YAAYu8R,GACjBA,EAAS,MAEbrrQ,EAAKnxB,YAAYw8R,IA6BrBihP,GAxBAf,EAAoB,SAAS3ve,GACzBx8B,WAAWwsgB,EAAc,EAAGhwe,IA8BpC+ve,EAAS1uH,aA1KT,SAAsBnnY,GAEI,oBAAbA,IACTA,EAAW,IAAIrT,SAAS,GAAKqT,IAI/B,IADA,IAAImY,EAAO,IAAIjjD,MAAMN,UAAUrD,OAAS,GAC/BD,EAAI,EAAGA,EAAI6mD,EAAK5mD,OAAQD,IAC7B6mD,EAAK7mD,GAAKsD,UAAUtD,EAAI,GAG5B,IAAImliB,EAAO,CAAEz2f,SAAUA,EAAUmY,KAAMA,GAGvC,OAFAw9e,EAAcD,GAAce,EAC5BhB,EAAkBC,GACXA,KA6JTG,EAASzuH,eAAiBA,EA1J1B,SAASA,EAAethX,UACb6ve,EAAc7ve,GAyBzB,SAASgwe,EAAahwe,GAGlB,GAAI8ve,EAGAtsgB,WAAWwsgB,EAAc,EAAGhwe,OACzB,CACH,IAAI2we,EAAOd,EAAc7ve,GACzB,GAAI2we,EAAM,CACNb,GAAwB,EACxB,KAjCZ,SAAaa,GACT,IAAIz2f,EAAWy2f,EAAKz2f,SAChBmY,EAAOs+e,EAAKt+e,KAChB,OAAQA,EAAK5mD,QACb,KAAK,EACDyuC,IACA,MACJ,KAAK,EACDA,EAASmY,EAAK,IACd,MACJ,KAAK,EACDnY,EAASmY,EAAK,GAAIA,EAAK,IACvB,MACJ,KAAK,EACDnY,EAASmY,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAChC,MACJ,QACInY,EAASnrC,WAnDpB,EAmDqCsjD,IAiBlBh9B,CAAIs7gB,GADR,QAGIrvH,EAAethX,GACf8ve,GAAwB,MAvE3C,CAyLiB,qBAATnghB,KAAyC,qBAAXslG,EAAyBtmH,KAAOsmH,EAAStlG,Q,uCCnKhF9qB,EAAOC,QAZP,SAAoB4sD,EAAOyzU,GAIzB,IAHA,IAAIr1V,GAAS,EACTrkC,EAAkB,MAATimD,EAAgB,EAAIA,EAAMjmD,SAE9BqkC,EAAQrkC,GACf,IAAK05X,EAAUzzU,EAAM5hB,GAAQA,EAAO4hB,GAClC,OAAO,EAGX,OAAO,I,gBCnBT,IAAI25S,EAAWtmW,EAAQ,KAoBvBF,EAAOC,QATP,SAAmB0uD,EAAY2xU,GAC7B,IAAI32X,GAAS,EAKb,OAJA68V,EAAS73S,GAAY,SAASnlD,EAAOyhC,EAAO0jB,GAE1C,OADAhlD,IAAW22X,EAAU92X,EAAOyhC,EAAO0jB,MAG9BhlD,I,gBCjBT,IAaI88V,EAbgBvmW,EAAQ,IAad0mW,GAEd5mW,EAAOC,QAAUwmW,G,cCSjBzmW,EAAOC,QAjBP,SAAuBsmW,GACrB,OAAO,SAAS35V,EAAQ8qU,EAAUivB,GAMhC,IALA,IAAI17T,GAAS,EACTy7T,EAAWz/V,OAAO2F,GAClBlG,EAAQigW,EAAS/5V,GACjBhG,EAASF,EAAME,OAEZA,KAAU,CACf,IAAIO,EAAMT,EAAM6/V,EAAY3/V,IAAWqkC,GACvC,IAA+C,IAA3CysS,EAASgvB,EAASv/V,GAAMA,EAAKu/V,GAC/B,MAGJ,OAAO95V,K,gBCpBX,IAAIw5V,EAAYlmW,EAAQ,KACpBimW,EAAcjmW,EAAQ,KACtBsK,EAAUtK,EAAQ,IAClB82K,EAAW92K,EAAQ,KACnBmlW,EAAUnlW,EAAQ,KAClB+8a,EAAe/8a,EAAQ,KAMvB4M,EAHc7F,OAAOM,UAGQuF,eAqCjC9M,EAAOC,QA3BP,SAAuBuJ,EAAOy8V,GAC5B,IAAI8lM,EAAQvhiB,EAAQhB,GAChBwiiB,GAASD,GAAS5lM,EAAY38V,GAC9ByiiB,GAAUF,IAAUC,GAASh1X,EAASxtK,GACtC0iiB,GAAUH,IAAUC,IAAUC,GAAUhvH,EAAazza,GACrD68V,EAAc0lM,GAASC,GAASC,GAAUC,EAC1CviiB,EAAS08V,EAAcD,EAAU58V,EAAM5C,OAAQ66B,QAAU,GACzD76B,EAAS+C,EAAO/C,OAEpB,IAAK,IAAIO,KAAOqC,GACTy8V,IAAan5V,EAAehB,KAAKtC,EAAOrC,IACvCk/V,IAEQ,UAAPl/V,GAEC8kiB,IAAkB,UAAP9kiB,GAA0B,UAAPA,IAE9B+kiB,IAAkB,UAAP/kiB,GAA0B,cAAPA,GAA8B,cAAPA,IAEtDk+V,EAAQl+V,EAAKP,KAElB+C,EAAOiH,KAAKzJ,GAGhB,OAAOwC,I,cC1BT3J,EAAOC,QAVP,SAAmB0K,EAAG+sU,GAIpB,IAHA,IAAIzsS,GAAS,EACTthC,EAASY,MAAMI,KAEVsgC,EAAQtgC,GACfhB,EAAOshC,GAASysS,EAASzsS,GAE3B,OAAOthC,I,gBChBT,IAAIq9I,EAAa9mJ,EAAQ,KACrB8wT,EAAe9wT,EAAQ,KAgB3BF,EAAOC,QAJP,SAAyBuJ,GACvB,OAAOwnT,EAAaxnT,IAVR,sBAUkBw9I,EAAWx9I,K,gBCd3C,IAAIa,EAASnK,EAAQ,KAGjB6lW,EAAc9+V,OAAOM,UAGrBuF,EAAiBi5V,EAAYj5V,eAO7B+ue,EAAuB91I,EAAY7vV,SAGnC+xS,EAAiB59S,EAASA,EAAOiC,iBAAco9B,EA6BnD1pC,EAAOC,QApBP,SAAmBuJ,GACjB,IAAIsye,EAAQhve,EAAehB,KAAKtC,EAAOy+S,GACnCl0K,EAAMvqI,EAAMy+S,GAEhB,IACEz+S,EAAMy+S,QAAkBv+Q,EACxB,IAAIqyc,GAAW,EACf,MAAOlxe,IAET,IAAIlB,EAASkye,EAAqB/ve,KAAKtC,GAQvC,OAPIuye,IACED,EACFtye,EAAMy+S,GAAkBl0K,SAEjBvqI,EAAMy+S,IAGVt+S,I,cCzCT,IAOIkye,EAPc50e,OAAOM,UAOc2O,SAavClW,EAAOC,QAJP,SAAwBuJ,GACtB,OAAOqye,EAAqB/ve,KAAKtC,K,cCDnCxJ,EAAOC,QAJP,WACE,OAAO,I,gBCdT,IAAI+mJ,EAAa9mJ,EAAQ,KACrB26U,EAAW36U,EAAQ,KACnB8wT,EAAe9wT,EAAQ,KA8BvBisiB,EAAiB,GACrBA,EAZiB,yBAYYA,EAXZ,yBAYjBA,EAXc,sBAWYA,EAVX,uBAWfA,EAVe,uBAUYA,EATZ,uBAUfA,EATsB,8BASYA,EARlB,wBAShBA,EARgB,yBAQY,EAC5BA,EAjCc,sBAiCYA,EAhCX,kBAiCfA,EApBqB,wBAoBYA,EAhCnB,oBAiCdA,EApBkB,qBAoBYA,EAhChB,iBAiCdA,EAhCe,kBAgCYA,EA/Bb,qBAgCdA,EA/Ba,gBA+BYA,EA9BT,mBA+BhBA,EA9BgB,mBA8BYA,EA7BZ,mBA8BhBA,EA7Ba,gBA6BYA,EA5BT,mBA6BhBA,EA5BiB,qBA4BY,EAc7BnsiB,EAAOC,QALP,SAA0BuJ,GACxB,OAAOwnT,EAAaxnT,IAClBqxU,EAASrxU,EAAM5C,WAAauliB,EAAenlZ,EAAWx9I,M,iBCxD1D,gBAAI0jL,EAAahtL,EAAQ,KAGrBy8a,EAA4C18a,IAAYA,EAAQ0d,UAAY1d,EAG5E28a,EAAaD,GAAgC,iBAAV38a,GAAsBA,IAAWA,EAAO2d,UAAY3d,EAMvFosiB,EAHgBxvH,GAAcA,EAAW38a,UAAY08a,GAGtBzvP,EAAWnxJ,QAG1CghZ,EAAY,WACd,IAEE,IAAIlxV,EAAQ+wV,GAAcA,EAAW18a,SAAW08a,EAAW18a,QAAQ,QAAQ2rF,MAE3E,OAAIA,GAKGugd,GAAeA,EAAYpoM,SAAWooM,EAAYpoM,QAAQ,QACjE,MAAOn5V,KAXK,GAchB7K,EAAOC,QAAU88a,I,sCC7BjB,IAAIj2E,EAAc5mW,EAAQ,KACtB8lW,EAAa9lW,EAAQ,KAMrB4M,EAHc7F,OAAOM,UAGQuF,eAsBjC9M,EAAOC,QAbP,SAAkB2M,GAChB,IAAKk6V,EAAYl6V,GACf,OAAOo5V,EAAWp5V,GAEpB,IAAIjD,EAAS,GACb,IAAK,IAAIxC,KAAOF,OAAO2F,GACjBE,EAAehB,KAAKc,EAAQzF,IAAe,eAAPA,GACtCwC,EAAOiH,KAAKzJ,GAGhB,OAAOwC,I,cCzBT,IAAIo8V,EAAc9+V,OAAOM,UAgBzBvH,EAAOC,QAPP,SAAqBuJ,GACnB,IAAI0hJ,EAAO1hJ,GAASA,EAAMD,YAG1B,OAAOC,KAFqB,mBAAR0hJ,GAAsBA,EAAK3jJ,WAAcw+V,K,gBCZ/D,IAGIC,EAHU9lW,EAAQ,IAGLmsiB,CAAQpliB,OAAO23B,KAAM33B,QAEtCjH,EAAOC,QAAU+lW,G,cCSjBhmW,EAAOC,QANP,SAAiBs5D,EAAMj/C,GACrB,OAAO,SAASkjH,GACd,OAAOjkE,EAAKj/C,EAAUkjH,O,gBCV1B,IAAIknO,EAAcxkW,EAAQ,KA+B1BF,EAAOC,QArBP,SAAwBqmW,EAAUC,GAChC,OAAO,SAAS53S,EAAY+oR,GAC1B,GAAkB,MAAd/oR,EACF,OAAOA,EAET,IAAK+1S,EAAY/1S,GACf,OAAO23S,EAAS33S,EAAY+oR,GAM9B,IAJA,IAAI9wU,EAAS+nD,EAAW/nD,OACpBqkC,EAAQs7T,EAAY3/V,GAAU,EAC9B8/V,EAAWz/V,OAAO0nD,IAEd43S,EAAYt7T,MAAYA,EAAQrkC,KACa,IAA/C8wU,EAASgvB,EAASz7T,GAAQA,EAAOy7T,KAIvC,OAAO/3S,K,gBC3BX,IAAI29e,EAAcpsiB,EAAQ,KACtBqsiB,EAAersiB,EAAQ,KACvBssiB,EAA0BtsiB,EAAQ,KAmBtCF,EAAOC,QAVP,SAAqBmyB,GACnB,IAAIq6gB,EAAYF,EAAan6gB,GAC7B,OAAwB,GAApBq6gB,EAAU7liB,QAAe6liB,EAAU,GAAG,GACjCD,EAAwBC,EAAU,GAAG,GAAIA,EAAU,GAAG,IAExD,SAAS7/hB,GACd,OAAOA,IAAWwlB,GAAUk6gB,EAAY1/hB,EAAQwlB,EAAQq6gB,M,gBCjB5D,IAAIlvH,EAAQr9a,EAAQ,KAChBsgY,EAActgY,EAAQ,KA4D1BF,EAAOC,QA5CP,SAAqB2M,EAAQwlB,EAAQq6gB,EAAW1yJ,GAC9C,IAAI9uW,EAAQwhgB,EAAU7liB,OAClBA,EAASqkC,EACTyhgB,GAAgB3yJ,EAEpB,GAAc,MAAVntY,EACF,OAAQhG,EAGV,IADAgG,EAAS3F,OAAO2F,GACTq+B,KAAS,CACd,IAAInwB,EAAO2xhB,EAAUxhgB,GACrB,GAAKyhgB,GAAgB5xhB,EAAK,GAClBA,EAAK,KAAOlO,EAAOkO,EAAK,MACtBA,EAAK,KAAMlO,GAEnB,OAAO,EAGX,OAASq+B,EAAQrkC,GAAQ,CAEvB,IAAIO,GADJ2T,EAAO2xhB,EAAUxhgB,IACF,GACX6nZ,EAAWlmb,EAAOzF,GAClBm3a,EAAWxja,EAAK,GAEpB,GAAI4xhB,GAAgB5xhB,EAAK,IACvB,QAAiB4uB,IAAbopZ,KAA4B3rb,KAAOyF,GACrC,OAAO,MAEJ,CACL,IAAIg6B,EAAQ,IAAI22Y,EAChB,GAAIxjC,EACF,IAAIpwY,EAASowY,EAAW+4C,EAAUxU,EAAUn3a,EAAKyF,EAAQwlB,EAAQwU,GAEnE,UAAiB8C,IAAX//B,EACE62X,EAAY89C,EAAUwU,EAAU65G,EAA+C5yJ,EAAYnzW,GAC3Fj9B,GAEN,OAAO,GAIb,OAAO,I,cC9CT3J,EAAOC,QALP,WACE6J,KAAKs7V,SAAW,GAChBt7V,KAAKklE,KAAO,I,gBCTd,IAAI49d,EAAe1siB,EAAQ,KAMvBspC,EAHaj/B,MAAMhD,UAGCiiC,OA4BxBxpC,EAAOC,QAjBP,SAAyBkH,GACvB,IAAI2T,EAAOhR,KAAKs7V,SACZn6T,EAAQ2hgB,EAAa9xhB,EAAM3T,GAE/B,QAAI8jC,EAAQ,KAIRA,GADYnwB,EAAKlU,OAAS,EAE5BkU,EAAKhK,MAEL04B,EAAO19B,KAAKgP,EAAMmwB,EAAO,KAEzBnhC,KAAKklE,MACA,K,gBC/BT,IAAI49d,EAAe1siB,EAAQ,KAkB3BF,EAAOC,QAPP,SAAsBkH,GACpB,IAAI2T,EAAOhR,KAAKs7V,SACZn6T,EAAQ2hgB,EAAa9xhB,EAAM3T,GAE/B,OAAO8jC,EAAQ,OAAIvB,EAAY5uB,EAAKmwB,GAAO,K,gBCf7C,IAAI2hgB,EAAe1siB,EAAQ,KAe3BF,EAAOC,QAJP,SAAsBkH,GACpB,OAAOyliB,EAAa9iiB,KAAKs7V,SAAUj+V,IAAQ,I,gBCZ7C,IAAIyliB,EAAe1siB,EAAQ,KAyB3BF,EAAOC,QAbP,SAAsBkH,EAAKqC,GACzB,IAAIsR,EAAOhR,KAAKs7V,SACZn6T,EAAQ2hgB,EAAa9xhB,EAAM3T,GAQ/B,OANI8jC,EAAQ,KACRnhC,KAAKklE,KACPl0D,EAAKlK,KAAK,CAACzJ,EAAKqC,KAEhBsR,EAAKmwB,GAAO,GAAKzhC,EAEZM,O,gBCtBT,IAAIk7V,EAAY9kW,EAAQ,KAcxBF,EAAOC,QALP,WACE6J,KAAKs7V,SAAW,IAAIJ,EACpBl7V,KAAKklE,KAAO,I,cCMdhvE,EAAOC,QARP,SAAqBkH,GACnB,IAAI2T,EAAOhR,KAAKs7V,SACZz7V,EAASmR,EAAI,OAAW3T,GAG5B,OADA2C,KAAKklE,KAAOl0D,EAAKk0D,KACVrlE,I,cCDT3J,EAAOC,QAJP,SAAkBkH,GAChB,OAAO2C,KAAKs7V,SAASh5V,IAAIjF,K,cCG3BnH,EAAOC,QAJP,SAAkBkH,GAChB,OAAO2C,KAAKs7V,SAASt2Q,IAAI3nF,K,gBCV3B,IAAI69V,EAAY9kW,EAAQ,KACpBklK,EAAMllK,EAAQ,KACd05Y,EAAW15Y,EAAQ,KA+BvBF,EAAOC,QAhBP,SAAkBkH,EAAKqC,GACrB,IAAIsR,EAAOhR,KAAKs7V,SAChB,GAAItqV,aAAgBkqV,EAAW,CAC7B,IAAI6nM,EAAQ/xhB,EAAKsqV,SACjB,IAAKhgM,GAAQynY,EAAMjmiB,OAASkmiB,IAG1B,OAFAD,EAAMj8hB,KAAK,CAACzJ,EAAKqC,IACjBM,KAAKklE,OAASl0D,EAAKk0D,KACZllE,KAETgR,EAAOhR,KAAKs7V,SAAW,IAAIw0C,EAASizJ,GAItC,OAFA/xhB,EAAKxE,IAAInP,EAAKqC,GACdM,KAAKklE,KAAOl0D,EAAKk0D,KACVllE,O,gBC9BT,IAAI+mF,EAAa3wF,EAAQ,IACrB6siB,EAAW7siB,EAAQ,KACnB+mJ,EAAW/mJ,EAAQ,IACnBu8Y,EAAWv8Y,EAAQ,KASnBk7Y,EAAe,8BAGfU,EAAY95W,SAASz6B,UACrBw+V,EAAc9+V,OAAOM,UAGrB20Y,EAAeJ,EAAU5lY,SAGzBpJ,EAAiBi5V,EAAYj5V,eAG7BqvY,EAAaz3W,OAAO,IACtBw3W,EAAapwY,KAAKgB,GAAgByE,QAjBjB,sBAiBuC,QACvDA,QAAQ,yDAA0D,SAAW,KAmBhFvR,EAAOC,QARP,SAAsBuJ,GACpB,SAAKy9I,EAASz9I,IAAUujiB,EAASvjiB,MAGnBqnF,EAAWrnF,GAAS2yY,EAAaf,GAChC/uW,KAAKowW,EAASjzY,M,gBC3C/B,IAAIuyY,EAAa77Y,EAAQ,KAGrB87Y,EAAc,WAChB,IAAIhzT,EAAM,SAAS9sD,KAAK6/W,GAAcA,EAAWn9W,MAAQm9W,EAAWn9W,KAAKq9W,UAAY,IACrF,OAAOjzT,EAAO,iBAAmBA,EAAO,GAFxB,GAgBlBhpF,EAAOC,QAJP,SAAkBs5D,GAChB,QAASyiV,GAAeA,KAAcziV,I,gBChBxC,IAGIwiV,EAHO77Y,EAAQ,IAGG,sBAEtBF,EAAOC,QAAU87Y,G,cCOjB/7Y,EAAOC,QAJP,SAAkB2M,EAAQzF,GACxB,OAAiB,MAAVyF,OAAiB88B,EAAY98B,EAAOzF,K,gBCT7C,IAAI6liB,EAAO9siB,EAAQ,KACf8kW,EAAY9kW,EAAQ,KACpBklK,EAAMllK,EAAQ,KAkBlBF,EAAOC,QATP,WACE6J,KAAKklE,KAAO,EACZllE,KAAKs7V,SAAW,CACd,KAAQ,IAAI4nM,EACZ,IAAO,IAAK5nY,GAAO4/L,GACnB,OAAU,IAAIgoM,K,gBChBlB,IAAIC,EAAY/siB,EAAQ,KACpBgtiB,EAAahtiB,EAAQ,KACrBitiB,EAAUjtiB,EAAQ,KAClBktiB,EAAUltiB,EAAQ,KAClBmtiB,EAAUntiB,EAAQ,KAStB,SAAS8siB,EAAK3uc,GACZ,IAAIpzD,GAAS,EACTrkC,EAAoB,MAAXy3F,EAAkB,EAAIA,EAAQz3F,OAG3C,IADAkD,KAAKg8C,UACI7a,EAAQrkC,GAAQ,CACvB,IAAI4jD,EAAQ6zC,EAAQpzD,GACpBnhC,KAAKwM,IAAIk0C,EAAM,GAAIA,EAAM,KAK7Bwif,EAAKzliB,UAAUu+C,MAAQmnf,EACvBD,EAAKzliB,UAAL,OAA2B2liB,EAC3BF,EAAKzliB,UAAU6E,IAAM+giB,EACrBH,EAAKzliB,UAAUunF,IAAMs+c,EACrBJ,EAAKzliB,UAAU+O,IAAM+2hB,EAErBrtiB,EAAOC,QAAU+siB,G,gBC/BjB,IAAI/nM,EAAe/kW,EAAQ,KAc3BF,EAAOC,QALP,WACE6J,KAAKs7V,SAAWH,EAAeA,EAAa,MAAQ,GACpDn7V,KAAKklE,KAAO,I,cCKdhvE,EAAOC,QANP,SAAoBkH,GAClB,IAAIwC,EAASG,KAAKglF,IAAI3nF,WAAe2C,KAAKs7V,SAASj+V,GAEnD,OADA2C,KAAKklE,MAAQrlE,EAAS,EAAI,EACnBA,I,gBCbT,IAAIs7V,EAAe/kW,EAAQ,KASvB4M,EAHc7F,OAAOM,UAGQuF,eAoBjC9M,EAAOC,QATP,SAAiBkH,GACf,IAAI2T,EAAOhR,KAAKs7V,SAChB,GAAIH,EAAc,CAChB,IAAIt7V,EAASmR,EAAK3T,GAClB,MArBiB,8BAqBVwC,OAA4B+/B,EAAY//B,EAEjD,OAAOmD,EAAehB,KAAKgP,EAAM3T,GAAO2T,EAAK3T,QAAOuiC,I,gBC1BtD,IAAIu7T,EAAe/kW,EAAQ,KAMvB4M,EAHc7F,OAAOM,UAGQuF,eAgBjC9M,EAAOC,QALP,SAAiBkH,GACf,IAAI2T,EAAOhR,KAAKs7V,SAChB,OAAOH,OAA8Bv7T,IAAd5uB,EAAK3T,GAAsB2F,EAAehB,KAAKgP,EAAM3T,K,gBCnB9E,IAAI89V,EAAe/kW,EAAQ,KAsB3BF,EAAOC,QAPP,SAAiBkH,EAAKqC,GACpB,IAAIsR,EAAOhR,KAAKs7V,SAGhB,OAFAt7V,KAAKklE,MAAQllE,KAAKglF,IAAI3nF,GAAO,EAAI,EACjC2T,EAAK3T,GAAQ89V,QAA0Bv7T,IAAVlgC,EAfV,4BAekDA,EAC9DM,O,gBCnBT,IAAIwjiB,EAAaptiB,EAAQ,KAiBzBF,EAAOC,QANP,SAAwBkH,GACtB,IAAIwC,EAAS2jiB,EAAWxjiB,KAAM3C,GAAjB,OAAgCA,GAE7C,OADA2C,KAAKklE,MAAQrlE,EAAS,EAAI,EACnBA,I,cCAT3J,EAAOC,QAPP,SAAmBuJ,GACjB,IAAIuR,SAAcvR,EAClB,MAAgB,UAARuR,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVvR,EACU,OAAVA,I,gBCXP,IAAI8jiB,EAAaptiB,EAAQ,KAezBF,EAAOC,QAJP,SAAqBkH,GACnB,OAAOmmiB,EAAWxjiB,KAAM3C,GAAKiF,IAAIjF,K,gBCZnC,IAAImmiB,EAAaptiB,EAAQ,KAezBF,EAAOC,QAJP,SAAqBkH,GACnB,OAAOmmiB,EAAWxjiB,KAAM3C,GAAK2nF,IAAI3nF,K,gBCZnC,IAAImmiB,EAAaptiB,EAAQ,KAqBzBF,EAAOC,QATP,SAAqBkH,EAAKqC,GACxB,IAAIsR,EAAOwyhB,EAAWxjiB,KAAM3C,GACxB6nE,EAAOl0D,EAAKk0D,KAIhB,OAFAl0D,EAAKxE,IAAInP,EAAKqC,GACdM,KAAKklE,MAAQl0D,EAAKk0D,MAAQA,EAAO,EAAI,EAC9BllE,O,gBClBT,IAAIyza,EAAQr9a,EAAQ,KAChBqtiB,EAAcrtiB,EAAQ,KACtBstiB,EAAattiB,EAAQ,KACrButiB,EAAevtiB,EAAQ,KACvBwtiB,EAASxtiB,EAAQ,KACjBsK,EAAUtK,EAAQ,IAClB82K,EAAW92K,EAAQ,KACnB+8a,EAAe/8a,EAAQ,KAQvBytiB,EAAY,kBAMZ7giB,EAHc7F,OAAOM,UAGQuF,eA6DjC9M,EAAOC,QA7CP,SAAyB2M,EAAQi6C,EAAOizV,EAASC,EAAY4jC,EAAW/2Y,GACtE,IAAIgngB,EAAWpjiB,EAAQoC,GACnBihiB,EAAWrjiB,EAAQq8C,GACnBinf,EAASF,EA1BA,iBA0BsBF,EAAO9giB,GACtCmhiB,EAASF,EA3BA,iBA2BsBH,EAAO7mf,GAKtCmnf,GAHJF,EA9BY,sBA8BHA,EAAoBH,EAAYG,IAGhBH,EACrBM,GAHJF,EA/BY,sBA+BHA,EAAoBJ,EAAYI,IAGhBJ,EACrBO,EAAYJ,GAAUC,EAE1B,GAAIG,GAAal3X,EAASpqK,GAAS,CACjC,IAAKoqK,EAASnwH,GACZ,OAAO,EAET+mf,GAAW,EACXI,GAAW,EAEb,GAAIE,IAAcF,EAEhB,OADApngB,IAAUA,EAAQ,IAAI22Y,GACdqwH,GAAY3wH,EAAarwa,GAC7B2giB,EAAY3giB,EAAQi6C,EAAOizV,EAASC,EAAY4jC,EAAW/2Y,GAC3D4mgB,EAAW5giB,EAAQi6C,EAAOinf,EAAQh0J,EAASC,EAAY4jC,EAAW/2Y,GAExE,KArDyB,EAqDnBkzW,GAAiC,CACrC,IAAIq0J,EAAeH,GAAYlhiB,EAAehB,KAAKc,EAAQ,eACvDwhiB,EAAeH,GAAYnhiB,EAAehB,KAAK+6C,EAAO,eAE1D,GAAIsnf,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAevhiB,EAAOpD,QAAUoD,EAC/C0hiB,EAAeF,EAAevnf,EAAMr9C,QAAUq9C,EAGlD,OADAjgB,IAAUA,EAAQ,IAAI22Y,GACfI,EAAU0wH,EAAcC,EAAcx0J,EAASC,EAAYnzW,IAGtE,QAAKsngB,IAGLtngB,IAAUA,EAAQ,IAAI22Y,GACfkwH,EAAa7giB,EAAQi6C,EAAOizV,EAASC,EAAY4jC,EAAW/2Y,M,cC7DrE5mC,EAAOC,QALP,SAAqBuJ,GAEnB,OADAM,KAAKs7V,SAAS9uV,IAAI9M,EAbC,6BAcZM,O,cCFT9J,EAAOC,QAJP,SAAqBuJ,GACnB,OAAOM,KAAKs7V,SAASt2Q,IAAItlF,K,gBCV3B,IAAIa,EAASnK,EAAQ,KACjBohF,EAAaphF,EAAQ,KACrBisJ,EAAKjsJ,EAAQ,KACbqtiB,EAAcrtiB,EAAQ,KACtBquiB,EAAaruiB,EAAQ,KACrBsuiB,EAAatuiB,EAAQ,KAqBrBuuiB,EAAcpkiB,EAASA,EAAO9C,eAAYmiC,EAC1CglgB,EAAgBD,EAAcA,EAAY3/Y,aAAUplH,EAoFxD1pC,EAAOC,QAjEP,SAAoB2M,EAAQi6C,EAAOktF,EAAK+lQ,EAASC,EAAY4jC,EAAW/2Y,GACtE,OAAQmtG,GACN,IAzBc,oBA0BZ,GAAKnnI,EAAOyyM,YAAcx4J,EAAMw4J,YAC3BzyM,EAAO+iU,YAAc9oR,EAAM8oR,WAC9B,OAAO,EAET/iU,EAASA,EAAO0qK,OAChBzwH,EAAQA,EAAMywH,OAEhB,IAlCiB,uBAmCf,QAAK1qK,EAAOyyM,YAAcx4J,EAAMw4J,aAC3Bs+N,EAAU,IAAIr8V,EAAW10E,GAAS,IAAI00E,EAAWz6B,KAKxD,IAnDU,mBAoDV,IAnDU,gBAoDV,IAjDY,kBAoDV,OAAOslG,GAAIv/I,GAASi6C,GAEtB,IAxDW,iBAyDT,OAAOj6C,EAAOV,MAAQ26C,EAAM36C,MAAQU,EAAO0mC,SAAWuT,EAAMvT,QAE9D,IAxDY,kBAyDZ,IAvDY,kBA2DV,OAAO1mC,GAAWi6C,EAAQ,GAE5B,IAjES,eAkEP,IAAI0lK,EAAUgiV,EAEhB,IAjES,eAkEP,IAAI3wH,EA5EiB,EA4EL9jC,EAGhB,GAFAvtL,IAAYA,EAAUiiV,GAElB5hiB,EAAOoiE,MAAQnoB,EAAMmoB,OAAS4uW,EAChC,OAAO,EAGT,IAAI+wH,EAAU/ngB,EAAMx6B,IAAIQ,GACxB,GAAI+hiB,EACF,OAAOA,GAAW9nf,EAEpBizV,GAtFuB,EAyFvBlzW,EAAMtwB,IAAI1J,EAAQi6C,GAClB,IAAIl9C,EAAS4jiB,EAAYhhV,EAAQ3/M,GAAS2/M,EAAQ1lK,GAAQizV,EAASC,EAAY4jC,EAAW/2Y,GAE1F,OADAA,EAAK,OAAWh6B,GACTjD,EAET,IAnFY,kBAoFV,GAAI+kiB,EACF,OAAOA,EAAc5iiB,KAAKc,IAAW8hiB,EAAc5iiB,KAAK+6C,GAG9D,OAAO,I,gBC5GT,IAGIy6B,EAHOphF,EAAQ,IAGGohF,WAEtBthF,EAAOC,QAAUqhF,G,cCYjBthF,EAAOC,QAVP,SAAoBsxB,GAClB,IAAI0Z,GAAS,EACTthC,EAASY,MAAMgnB,EAAIy9C,MAKvB,OAHAz9C,EAAIsN,SAAQ,SAASr1B,EAAOrC,GAC1BwC,IAASshC,GAAS,CAAC9jC,EAAKqC,MAEnBG,I,gBCdT,IAAIiliB,EAAa1uiB,EAAQ,KASrB4M,EAHc7F,OAAOM,UAGQuF,eAgFjC9M,EAAOC,QAjEP,SAAsB2M,EAAQi6C,EAAOizV,EAASC,EAAY4jC,EAAW/2Y,GACnE,IAAIg3Y,EAtBqB,EAsBT9jC,EACZ+0J,EAAWD,EAAWhiiB,GACtBkiiB,EAAYD,EAASjoiB,OAIzB,GAAIkoiB,GAHWF,EAAW/nf,GACDjgD,SAEMg3a,EAC7B,OAAO,EAGT,IADA,IAAI3yY,EAAQ6jgB,EACL7jgB,KAAS,CACd,IAAI9jC,EAAM0niB,EAAS5jgB,GACnB,KAAM2yY,EAAYz2a,KAAO0/C,EAAQ/5C,EAAehB,KAAK+6C,EAAO1/C,IAC1D,OAAO,EAIX,IAAI4niB,EAAanogB,EAAMx6B,IAAIQ,GACvBmxa,EAAan3Y,EAAMx6B,IAAIy6C,GAC3B,GAAIkof,GAAchxH,EAChB,OAAOgxH,GAAclof,GAASk3X,GAAcnxa,EAE9C,IAAIjD,GAAS,EACbi9B,EAAMtwB,IAAI1J,EAAQi6C,GAClBjgB,EAAMtwB,IAAIuwC,EAAOj6C,GAGjB,IADA,IAAIoiiB,EAAWpxH,IACN3yY,EAAQ6jgB,GAAW,CAE1B,IAAIh8G,EAAWlmb,EADfzF,EAAM0niB,EAAS5jgB,IAEXgzY,EAAWp3X,EAAM1/C,GAErB,GAAI4yY,EACF,IAAImkC,EAAWN,EACX7jC,EAAWkkC,EAAU6U,EAAU3rb,EAAK0/C,EAAOj6C,EAAQg6B,GACnDmzW,EAAW+4C,EAAU7U,EAAU92a,EAAKyF,EAAQi6C,EAAOjgB,GAGzD,UAAmB8C,IAAbw0Y,EACG4U,IAAa7U,GAAYN,EAAUmV,EAAU7U,EAAUnkC,EAASC,EAAYnzW,GAC7Es3Y,GACD,CACLv0a,GAAS,EACT,MAEFqliB,IAAaA,EAAkB,eAAP7niB,GAE1B,GAAIwC,IAAWqliB,EAAU,CACvB,IAAIC,EAAUriiB,EAAOrD,YACjB2liB,EAAUrof,EAAMt9C,YAGhB0liB,GAAWC,KACV,gBAAiBtiiB,MAAU,gBAAiBi6C,IACzB,mBAAXoof,GAAyBA,aAAmBA,GACjC,mBAAXC,GAAyBA,aAAmBA,IACvDvliB,GAAS,GAKb,OAFAi9B,EAAK,OAAWh6B,GAChBg6B,EAAK,OAAWigB,GACTl9C,I,gBCtFT,IAAIwliB,EAAiBjviB,EAAQ,KACzBkviB,EAAalviB,EAAQ,KACrB0+B,EAAO1+B,EAAQ,KAanBF,EAAOC,QAJP,SAAoB2M,GAClB,OAAOuiiB,EAAeviiB,EAAQgyB,EAAMwwgB,K,gBCZtC,IAAIzwH,EAAYz+a,EAAQ,KACpBsK,EAAUtK,EAAQ,IAkBtBF,EAAOC,QALP,SAAwB2M,EAAQ+5V,EAAU0oM,GACxC,IAAI1liB,EAASg9V,EAAS/5V,GACtB,OAAOpC,EAAQoC,GAAUjD,EAASg1a,EAAUh1a,EAAQ0liB,EAAYziiB,M,gBChBlE,IAAI0iiB,EAAcpviB,EAAQ,KACtBqviB,EAAYrviB,EAAQ,KAMpBqhC,EAHct6B,OAAOM,UAGcg6B,qBAGnCiugB,EAAmBvoiB,OAAOq6B,sBAS1B8tgB,EAAcI,EAA+B,SAAS5iiB,GACxD,OAAc,MAAVA,EACK,IAETA,EAAS3F,OAAO2F,GACT0iiB,EAAYE,EAAiB5iiB,IAAS,SAASue,GACpD,OAAOoW,EAAqBz1B,KAAKc,EAAQue,QANRokhB,EAUrCvviB,EAAOC,QAAUmviB,G,cCLjBpviB,EAAOC,QAfP,SAAqB4sD,EAAOyzU,GAM1B,IALA,IAAIr1V,GAAS,EACTrkC,EAAkB,MAATimD,EAAgB,EAAIA,EAAMjmD,OACnCi1Y,EAAW,EACXlyY,EAAS,KAEJshC,EAAQrkC,GAAQ,CACvB,IAAI4C,EAAQqjD,EAAM5hB,GACdq1V,EAAU92X,EAAOyhC,EAAO4hB,KAC1BljD,EAAOkyY,KAAcryY,GAGzB,OAAOG,I,cCCT3J,EAAOC,QAJP,WACE,MAAO,K,gBCnBT,IAAI8xN,EAAW7xN,EAAQ,KACnBklK,EAAMllK,EAAQ,KACd0gC,EAAU1gC,EAAQ,KAClBmoK,EAAMnoK,EAAQ,KACd4kI,EAAU5kI,EAAQ,KAClB8mJ,EAAa9mJ,EAAQ,KACrBu8Y,EAAWv8Y,EAAQ,KAYnBuviB,EAAqBhzJ,EAAS1qL,GAC9B29U,EAAgBjzJ,EAASr3O,GACzBuqY,EAAoBlzJ,EAAS77W,GAC7BgvgB,EAAgBnzJ,EAASp0O,GACzBwnY,EAAoBpzJ,EAAS33Q,GAS7B4oa,EAAS1mZ,GAGR+qE,GAnBa,qBAmBD27U,EAAO,IAAI37U,EAAS,IAAI36C,YAAY,MAChDhS,GA1BQ,gBA0BDsoY,EAAO,IAAItoY,IAClBxkI,GAzBY,oBAyBD8sgB,EAAO9sgB,EAAQw8F,YAC1BirC,GAzBQ,gBAyBDqlY,EAAO,IAAIrlY,IAClBvjC,GAzBY,oBAyBD4oa,EAAO,IAAI5oa,MACzB4oa,EAAS,SAASlkiB,GAChB,IAAIG,EAASq9I,EAAWx9I,GACpB0hJ,EA/BQ,mBA+BDvhJ,EAAsBH,EAAMD,iBAAcmgC,EACjDomgB,EAAa5kZ,EAAOuxP,EAASvxP,GAAQ,GAEzC,GAAI4kZ,EACF,OAAQA,GACN,KAAKL,EAAoB,MA/Bf,oBAgCV,KAAKC,EAAe,MAtCf,eAuCL,KAAKC,EAAmB,MArCf,mBAsCT,KAAKC,EAAe,MArCf,eAsCL,KAAKC,EAAmB,MArCf,mBAwCb,OAAOlmiB,IAIX3J,EAAOC,QAAUytiB,G,gBCzDjB,IAII37U,EAJY7xN,EAAQ,IAITglW,CAHJhlW,EAAQ,IAGY,YAE/BF,EAAOC,QAAU8xN,G,gBCNjB,IAIInxL,EAJY1gC,EAAQ,IAIVglW,CAHHhlW,EAAQ,IAGW,WAE9BF,EAAOC,QAAU2gC,G,gBCNjB,IAIIkkG,EAJY5kI,EAAQ,IAIVglW,CAHHhlW,EAAQ,IAGW,WAE9BF,EAAOC,QAAU6kI,G,gBCNjB,IAAIira,EAAqB7viB,EAAQ,KAC7B0+B,EAAO1+B,EAAQ,KAsBnBF,EAAOC,QAbP,SAAsB2M,GAIpB,IAHA,IAAIjD,EAASi1B,EAAKhyB,GACdhG,EAAS+C,EAAO/C,OAEbA,KAAU,CACf,IAAIO,EAAMwC,EAAO/C,GACb4C,EAAQoD,EAAOzF,GAEnBwC,EAAO/C,GAAU,CAACO,EAAKqC,EAAOumiB,EAAmBvmiB,IAEnD,OAAOG,I,gBCpBT,IAAI62X,EAActgY,EAAQ,KACtBkM,EAAMlM,EAAQ,IACd8viB,EAAQ9viB,EAAQ,KAChBq+a,EAAQr+a,EAAQ,KAChB6viB,EAAqB7viB,EAAQ,KAC7BssiB,EAA0BtsiB,EAAQ,KAClC+5Y,EAAQ/5Y,EAAQ,KA0BpBF,EAAOC,QAZP,SAA6BoX,EAAMina,GACjC,OAAIC,EAAMlna,IAAS04hB,EAAmBzxH,GAC7BkuH,EAAwBvyJ,EAAM5iY,GAAOina,GAEvC,SAAS1xa,GACd,IAAIkmb,EAAW1mb,EAAIQ,EAAQyK,GAC3B,YAAqBqyB,IAAbopZ,GAA0BA,IAAaxU,EAC3C0xH,EAAMpjiB,EAAQyK,GACdmpX,EAAY89C,EAAUwU,EAAU65G,M,gBC5BxC,IAAIsD,EAAgB/viB,EAAQ,KAGxBgwiB,EAAa,mGAGbC,EAAe,WASf3xH,EAAeyxH,GAAc,SAASn8a,GACxC,IAAInqH,EAAS,GAOb,OAN6B,KAAzBmqH,EAAO3+E,WAAW,IACpBxrC,EAAOiH,KAAK,IAEdkjH,EAAOviH,QAAQ2+hB,GAAY,SAAS58hB,EAAOugH,EAAQgwP,EAAOusL,GACxDzmiB,EAAOiH,KAAKizW,EAAQusL,EAAU7+hB,QAAQ4+hB,EAAc,MAASt8a,GAAUvgH,MAElE3J,KAGT3J,EAAOC,QAAUu+a,G,gBC1BjB,IAAIl3Y,EAAUpnC,EAAQ,KAyBtBF,EAAOC,QAZP,SAAuBs5D,GACrB,IAAI5vD,EAAS29B,EAAQiyB,GAAM,SAASpyD,GAIlC,OAfmB,MAYfkrG,EAAMrjC,MACRqjC,EAAMvsD,QAED3+C,KAGLkrG,EAAQ1oG,EAAO0oG,MACnB,OAAO1oG,I,gBCtBT,IAAIiwY,EAAW15Y,EAAQ,KAiDvB,SAASonC,EAAQiyB,EAAM2zT,GACrB,GAAmB,mBAAR3zT,GAAmC,MAAZ2zT,GAAuC,mBAAZA,EAC3D,MAAM,IAAI3mX,UAhDQ,uBAkDpB,IAAI8piB,EAAW,SAAXA,IACF,IAAI7if,EAAOvjD,UACP9C,EAAM+lX,EAAWA,EAAShjX,MAAMJ,KAAM0jD,GAAQA,EAAK,GACnD6kD,EAAQg+b,EAASh+b,MAErB,GAAIA,EAAMvjB,IAAI3nF,GACZ,OAAOkrG,EAAMjmG,IAAIjF,GAEnB,IAAIwC,EAAS4vD,EAAKrvD,MAAMJ,KAAM0jD,GAE9B,OADA6if,EAASh+b,MAAQA,EAAM/7F,IAAInP,EAAKwC,IAAW0oG,EACpC1oG,GAGT,OADA0miB,EAASh+b,MAAQ,IAAK/qE,EAAQ64V,OAASyZ,GAChCy2J,EAIT/ogB,EAAQ64V,MAAQyZ,EAEhB55Y,EAAOC,QAAUqnC,G,gBCxEjB,IAAIj9B,EAASnK,EAAQ,KACjBowiB,EAAWpwiB,EAAQ,KACnBsK,EAAUtK,EAAQ,IAClBmtI,EAAWntI,EAAQ,KAMnBuuiB,EAAcpkiB,EAASA,EAAO9C,eAAYmiC,EAC1C6mgB,EAAiB9B,EAAcA,EAAYv4hB,cAAWwzB,EA0B1D1pC,EAAOC,QAhBP,SAASw+a,EAAaj1a,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIgB,EAAQhB,GAEV,OAAO8miB,EAAS9miB,EAAOi1a,GAAgB,GAEzC,GAAIpxS,EAAS7jI,GACX,OAAO+miB,EAAiBA,EAAezkiB,KAAKtC,GAAS,GAEvD,IAAIG,EAAUH,EAAQ,GACtB,MAAkB,KAAVG,GAAkB,EAAIH,IA3BjB,IA2BwC,KAAOG,I,gBCjC9D,IAAI6miB,EAAYtwiB,EAAQ,KACpBuwiB,EAAUvwiB,EAAQ,KAgCtBF,EAAOC,QAJP,SAAe2M,EAAQyK,GACrB,OAAiB,MAAVzK,GAAkB6jiB,EAAQ7jiB,EAAQyK,EAAMm5hB,K,cClBjDxwiB,EAAOC,QAJP,SAAmB2M,EAAQzF,GACzB,OAAiB,MAAVyF,GAAkBzF,KAAOF,OAAO2F,K,gBCTzC,IAAIotY,EAAW95Y,EAAQ,KACnBimW,EAAcjmW,EAAQ,KACtBsK,EAAUtK,EAAQ,IAClBmlW,EAAUnlW,EAAQ,KAClB26U,EAAW36U,EAAQ,KACnB+5Y,EAAQ/5Y,EAAQ,KAiCpBF,EAAOC,QAtBP,SAAiB2M,EAAQyK,EAAMq5hB,GAO7B,IAJA,IAAIzlgB,GAAS,EACTrkC,GAHJyQ,EAAO2iY,EAAS3iY,EAAMzK,IAGJhG,OACd+C,GAAS,IAEJshC,EAAQrkC,GAAQ,CACvB,IAAIO,EAAM8yY,EAAM5iY,EAAK4zB,IACrB,KAAMthC,EAAmB,MAAViD,GAAkB8jiB,EAAQ9jiB,EAAQzF,IAC/C,MAEFyF,EAASA,EAAOzF,GAElB,OAAIwC,KAAYshC,GAASrkC,EAChB+C,KAET/C,EAAmB,MAAVgG,EAAiB,EAAIA,EAAOhG,SAClBi0U,EAASj0U,IAAWy+V,EAAQl+V,EAAKP,KACjD4D,EAAQoC,IAAWu5V,EAAYv5V,M,gBCnCpC,IAAI+jiB,EAAezwiB,EAAQ,KACvB0wiB,EAAmB1wiB,EAAQ,KAC3Bq+a,EAAQr+a,EAAQ,KAChB+5Y,EAAQ/5Y,EAAQ,KA4BpBF,EAAOC,QAJP,SAAkBoX,GAChB,OAAOkna,EAAMlna,GAAQs5hB,EAAa12J,EAAM5iY,IAASu5hB,EAAiBv5hB,K,cCfpErX,EAAOC,QANP,SAAsBkH,GACpB,OAAO,SAASyF,GACd,OAAiB,MAAVA,OAAiB88B,EAAY98B,EAAOzF,M,gBCT/C,IAAI83J,EAAU/+J,EAAQ,KAetBF,EAAOC,QANP,SAA0BoX,GACxB,OAAO,SAASzK,GACd,OAAOqyJ,EAAQryJ,EAAQyK,M,gBCX3B,IAAImgU,EAAet3U,EAAQ,KACvBwkW,EAAcxkW,EAAQ,KACtB0+B,EAAO1+B,EAAQ,KAsBnBF,EAAOC,QAbP,SAAoB4wiB,GAClB,OAAO,SAASlif,EAAY2xU,EAAWrsN,GACrC,IAAIyyL,EAAWz/V,OAAO0nD,GACtB,IAAK+1S,EAAY/1S,GAAa,CAC5B,IAAI+oR,EAAWF,EAAa8oD,EAAW,GACvC3xU,EAAa/vB,EAAK+vB,GAClB2xU,EAAY,SAASn5X,GAAO,OAAOuwU,EAASgvB,EAASv/V,GAAMA,EAAKu/V,IAElE,IAAIz7T,EAAQ4lgB,EAAclif,EAAY2xU,EAAWrsN,GACjD,OAAOhpI,GAAS,EAAIy7T,EAAShvB,EAAW/oR,EAAW1jB,GAASA,QAASvB,K,gBCpBzE,IAAI8xW,EAAgBt7Y,EAAQ,KACxBs3U,EAAet3U,EAAQ,KACvBmuJ,EAAYnuJ,EAAQ,KAGpBm8Y,EAAYprY,KAAK+K,IAiDrBhc,EAAOC,QAZP,SAAmB4sD,EAAOyzU,EAAWrsN,GACnC,IAAIrtK,EAAkB,MAATimD,EAAgB,EAAIA,EAAMjmD,OACvC,IAAKA,EACH,OAAQ,EAEV,IAAIqkC,EAAqB,MAAbgpI,EAAoB,EAAI5lB,EAAU4lB,GAI9C,OAHIhpI,EAAQ,IACVA,EAAQoxW,EAAUz1Y,EAASqkC,EAAO,IAE7BuwW,EAAc3uV,EAAO2qR,EAAa8oD,EAAW,GAAIr1V,K,gBCnD1D,IAAIs0W,EAAWr/Y,EAAQ,KAmCvBF,EAAOC,QAPP,SAAmBuJ,GACjB,IAAIG,EAAS41Y,EAAS/1Y,GAClBi2Y,EAAY91Y,EAAS,EAEzB,OAAOA,IAAWA,EAAU81Y,EAAY91Y,EAAS81Y,EAAY91Y,EAAU,I,gBChCzE,IAAIgye,EAAkBz7e,EAAQ,KAG1B07e,EAAc,OAelB57e,EAAOC,QANP,SAAkB6zH,GAChB,OAAOA,EACHA,EAAOh4E,MAAM,EAAG6/b,EAAgB7nX,GAAU,GAAGviH,QAAQqqe,EAAa,IAClE9nX,I,cCdN,IAAI4nX,EAAe,KAiBnB17e,EAAOC,QAPP,SAAyB6zH,GAGvB,IAFA,IAAI7oF,EAAQ6oF,EAAOltH,OAEZqkC,KAAWywc,EAAarvc,KAAKynF,EAAOlhG,OAAOqY,MAClD,OAAOA,I,gBCfT,IAAI9qB,EAAOjgB,EAAQ,IAsBnBF,EAAOC,QAJG,WACR,OAAOkgB,EAAKkhB,KAAKzB,Q,gBCnBnB,IAAIv1B,EAASnK,EAAQ,KACjBimW,EAAcjmW,EAAQ,KACtBsK,EAAUtK,EAAQ,IAGlB4wiB,EAAmBzmiB,EAASA,EAAO0miB,wBAAqBrngB,EAc5D1pC,EAAOC,QALP,SAAuBuJ,GACrB,OAAOgB,EAAQhB,IAAU28V,EAAY38V,OAChCsniB,GAAoBtniB,GAASA,EAAMsniB,M,gBChB1C,IAAIR,EAAWpwiB,EAAQ,KACnB++J,EAAU/+J,EAAQ,KAClBs3U,EAAet3U,EAAQ,KACvB8wiB,EAAU9wiB,EAAQ,KAClB+wiB,EAAa/wiB,EAAQ,KACrB48a,EAAY58a,EAAQ,KACpBgxiB,EAAkBhxiB,EAAQ,KAC1B00I,EAAW10I,EAAQ,KACnBsK,EAAUtK,EAAQ,IAwCtBF,EAAOC,QA7BP,SAAqB0uD,EAAY0oR,EAAW85N,GAExC95N,EADEA,EAAUzwU,OACA0piB,EAASj5N,GAAW,SAASK,GACvC,OAAIltU,EAAQktU,GACH,SAASluU,GACd,OAAOy1J,EAAQz1J,EAA2B,IAApBkuU,EAAS9wU,OAAe8wU,EAAS,GAAKA,IAGzDA,KAGG,CAAC9iM,GAGf,IAAI3pG,GAAS,EACbosS,EAAYi5N,EAASj5N,EAAWylG,EAAUtlG,IAE1C,IAAI7tU,EAASqniB,EAAQrif,GAAY,SAASnlD,EAAOrC,EAAKwnD,GAIpD,MAAO,CAAE,SAHM2hf,EAASj5N,GAAW,SAASK,GAC1C,OAAOA,EAASluU,MAEa,QAAWyhC,EAAO,MAASzhC,MAG5D,OAAOyniB,EAAWtniB,GAAQ,SAASiD,EAAQi6C,GACzC,OAAOqqf,EAAgBtkiB,EAAQi6C,EAAOsqf,Q,cCxB1CnxiB,EAAOC,QAVP,SAAoB4sD,EAAOukf,GACzB,IAAIxqiB,EAASimD,EAAMjmD,OAGnB,IADAimD,EAAMC,KAAKskf,GACJxqiB,KACLimD,EAAMjmD,GAAUimD,EAAMjmD,GAAQ4C,MAEhC,OAAOqjD,I,gBCjBT,IAAIwkf,EAAmBnxiB,EAAQ,KA2C/BF,EAAOC,QA3BP,SAAyB2M,EAAQi6C,EAAOsqf,GAOtC,IANA,IAAIlmgB,GAAS,EACTqmgB,EAAc1kiB,EAAO2kiB,SACrBC,EAAc3qf,EAAM0qf,SACpB3qiB,EAAS0qiB,EAAY1qiB,OACrB6qiB,EAAeN,EAAOvqiB,SAEjBqkC,EAAQrkC,GAAQ,CACvB,IAAI+C,EAAS0niB,EAAiBC,EAAYrmgB,GAAQumgB,EAAYvmgB,IAC9D,GAAIthC,EACF,OAAIshC,GAASwmgB,EACJ9niB,EAGFA,GAAmB,QADdwniB,EAAOlmgB,IACiB,EAAI,GAU5C,OAAOr+B,EAAOq+B,MAAQ4b,EAAM5b,Q,gBCxC9B,IAAIoiG,EAAWntI,EAAQ,KAwCvBF,EAAOC,QA9BP,SAA0BuJ,EAAOq9C,GAC/B,GAAIr9C,IAAUq9C,EAAO,CACnB,IAAI6qf,OAAyBhogB,IAAVlgC,EACfmoiB,EAAsB,OAAVnoiB,EACZooiB,EAAiBpoiB,IAAUA,EAC3BqoiB,EAAcxka,EAAS7jI,GAEvBsoiB,OAAyBpogB,IAAVmd,EACfkrf,EAAsB,OAAVlrf,EACZmrf,EAAiBnrf,IAAUA,EAC3Borf,EAAc5ka,EAASxmF,GAE3B,IAAMkrf,IAAcE,IAAgBJ,GAAeroiB,EAAQq9C,GACtDgrf,GAAeC,GAAgBE,IAAmBD,IAAcE,GAChEN,GAAaG,GAAgBE,IAC5BN,GAAgBM,IACjBJ,EACH,OAAO,EAET,IAAMD,IAAcE,IAAgBI,GAAezoiB,EAAQq9C,GACtDorf,GAAeP,GAAgBE,IAAmBD,IAAcE,GAChEE,GAAaL,GAAgBE,IAC5BE,GAAgBF,IACjBI,EACH,OAAQ,EAGZ,OAAO,I,gBCrCT,IAAIp9Z,EAAW10I,EAAQ,KACnBgyiB,EAAWhyiB,EAAQ,KACnBiyiB,EAAcjyiB,EAAQ,KAc1BF,EAAOC,QAJP,SAAkBs5D,EAAM33C,GACtB,OAAOuwhB,EAAYD,EAAS34e,EAAM33C,EAAOgzH,GAAWr7E,EAAO,M,gBCb7D,IAAIrvD,EAAQhK,EAAQ,KAGhBm8Y,EAAYprY,KAAK+K,IAgCrBhc,EAAOC,QArBP,SAAkBs5D,EAAM33C,EAAOtH,GAE7B,OADAsH,EAAQy6X,OAAoB3yW,IAAV9nB,EAAuB23C,EAAK3yD,OAAS,EAAKgb,EAAO,GAC5D,WAML,IALA,IAAI4rC,EAAOvjD,UACPghC,GAAS,EACTrkC,EAASy1Y,EAAU7uV,EAAK5mD,OAASgb,EAAO,GACxCirC,EAAQtiD,MAAM3D,KAETqkC,EAAQrkC,GACfimD,EAAM5hB,GAASuiB,EAAK5rC,EAAQqpB,GAE9BA,GAAS,EAET,IADA,IAAIq0W,EAAY/0Y,MAAMqX,EAAQ,KACrBqpB,EAAQrpB,GACf09X,EAAUr0W,GAASuiB,EAAKviB,GAG1B,OADAq0W,EAAU19X,GAAStH,EAAUuyC,GACtB3iD,EAAMqvD,EAAMzvD,KAAMw1Y,M,cCX7Bt/Y,EAAOC,QAVP,SAAes5D,EAAM2+G,EAAS1qH,GAC5B,OAAQA,EAAK5mD,QACX,KAAK,EAAG,OAAO2yD,EAAKztD,KAAKosK,GACzB,KAAK,EAAG,OAAO3+G,EAAKztD,KAAKosK,EAAS1qH,EAAK,IACvC,KAAK,EAAG,OAAO+L,EAAKztD,KAAKosK,EAAS1qH,EAAK,GAAIA,EAAK,IAChD,KAAK,EAAG,OAAO+L,EAAKztD,KAAKosK,EAAS1qH,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE3D,OAAO+L,EAAKrvD,MAAMguK,EAAS1qH,K,gBCjB7B,IAAI4kf,EAAkBlyiB,EAAQ,KAW1BiyiB,EAVWjyiB,EAAQ,IAULmyiB,CAASD,GAE3BpyiB,EAAOC,QAAUkyiB,G,gBCbjB,IAAIrvZ,EAAW5iJ,EAAQ,KACnBgH,EAAiBhH,EAAQ,KACzB00I,EAAW10I,EAAQ,KAUnBkyiB,EAAmBlriB,EAA4B,SAASqyD,EAAMu6D,GAChE,OAAO5sH,EAAeqyD,EAAM,WAAY,CACtC,cAAgB,EAChB,YAAc,EACd,MAASupF,EAAShvB,GAClB,UAAY,KALwB8gB,EASxC50I,EAAOC,QAAUmyiB,G,cCIjBpyiB,EAAOC,QANP,SAAkBuJ,GAChB,OAAO,WACL,OAAOA,K,cCpBX,IAII8oiB,EAAYjxgB,KAAKzB,IA+BrB5/B,EAAOC,QApBP,SAAkBs5D,GAChB,IAAIre,EAAQ,EACRq3f,EAAa,EAEjB,OAAO,WACL,IAAIC,EAAQF,IACRjhO,EApBO,IAoBiBmhO,EAAQD,GAGpC,GADAA,EAAaC,EACTnhO,EAAY,GACd,KAAMn2R,GAzBI,IA0BR,OAAOjxC,UAAU,QAGnBixC,EAAQ,EAEV,OAAOqe,EAAKrvD,WAAMw/B,EAAWz/B,c,gBChCjC,IAAIwoiB,EAAYvyiB,EAAQ,KACpBi3U,EAAiBj3U,EAAQ,KACzBq/Y,EAAWr/Y,EAAQ,KA2BvBF,EAAOC,QAlBP,SAAqBsmW,GACnB,OAAO,SAAS3kV,EAAOw7B,EAAKhyC,GAa1B,OAZIA,GAAuB,iBAARA,GAAoB+rU,EAAev1T,EAAOw7B,EAAKhyC,KAChEgyC,EAAMhyC,OAAOs+B,GAGf9nB,EAAQ29X,EAAS39X,QACL8nB,IAAR0T,GACFA,EAAMx7B,EACNA,EAAQ,GAERw7B,EAAMmiW,EAASniW,GAEjBhyC,OAAgBs+B,IAATt+B,EAAsBwW,EAAQw7B,EAAM,GAAK,EAAKmiW,EAASn0Y,GACvDqniB,EAAU7whB,EAAOw7B,EAAKhyC,EAAMm7V,M,cCxBvC,IAAImsM,EAAazhiB,KAAK4W,KAClBw0X,EAAYprY,KAAK+K,IAyBrBhc,EAAOC,QAZP,SAAmB2hB,EAAOw7B,EAAKhyC,EAAMm7V,GAKnC,IAJA,IAAIt7T,GAAS,EACTrkC,EAASy1Y,EAAUq2J,GAAYt1f,EAAMx7B,IAAUxW,GAAQ,IAAK,GAC5DzB,EAASY,MAAM3D,GAEZA,KACL+C,EAAO48V,EAAY3/V,IAAWqkC,GAASrpB,EACvCA,GAASxW,EAEX,OAAOzB,I,gBCxBT,IAAIgpiB,EAAYzyiB,EAAQ,KACpB0yiB,EAAa1yiB,EAAQ,KACrB2yiB,EAAgB3yiB,EAAQ,KACxBgW,EAAWhW,EAAQ,KA6BvBF,EAAOC,QApBP,SAAyBq1J,GACvB,OAAO,SAASxhC,GACdA,EAAS59G,EAAS49G,GAElB,IAAIg/a,EAAaF,EAAW9+a,GACxB++a,EAAc/+a,QACdpqF,EAEA47O,EAAMwtR,EACNA,EAAW,GACXh/a,EAAOlhG,OAAO,GAEdoxX,EAAW8uJ,EACXH,EAAUG,EAAY,GAAG38hB,KAAK,IAC9B29G,EAAOh4E,MAAM,GAEjB,OAAOwpO,EAAIhwH,KAAgB0uP,K,gBC5B/B,IAAI+uJ,EAAY7yiB,EAAQ,KAiBxBF,EAAOC,QANP,SAAmB4sD,EAAOjrC,EAAOw7B,GAC/B,IAAIx2C,EAASimD,EAAMjmD,OAEnB,OADAw2C,OAAc1T,IAAR0T,EAAoBx2C,EAASw2C,GAC1Bx7B,GAASw7B,GAAOx2C,EAAUimD,EAAQkmf,EAAUlmf,EAAOjrC,EAAOw7B,K,cCgBrEp9C,EAAOC,QArBP,SAAmB4sD,EAAOjrC,EAAOw7B,GAC/B,IAAInS,GAAS,EACTrkC,EAASimD,EAAMjmD,OAEfgb,EAAQ,IACVA,GAASA,EAAQhb,EAAS,EAAKA,EAASgb,IAE1Cw7B,EAAMA,EAAMx2C,EAASA,EAASw2C,GACpB,IACRA,GAAOx2C,GAETA,EAASgb,EAAQw7B,EAAM,EAAMA,EAAMx7B,IAAW,EAC9CA,KAAW,EAGX,IADA,IAAIjY,EAASY,MAAM3D,KACVqkC,EAAQrkC,GACf+C,EAAOshC,GAAS4hB,EAAM5hB,EAAQrpB,GAEhC,OAAOjY,I,gBC3BT,IAAIqpiB,EAAe9yiB,EAAQ,KACvB0yiB,EAAa1yiB,EAAQ,KACrB+yiB,EAAiB/yiB,EAAQ,KAe7BF,EAAOC,QANP,SAAuB6zH,GACrB,OAAO8+a,EAAW9+a,GACdm/a,EAAen/a,GACfk/a,EAAal/a,K,cCHnB9zH,EAAOC,QAJP,SAAsB6zH,GACpB,OAAOA,EAAOz9G,MAAM,M,cCPtB,IAQI68hB,EAAW,oBACXC,EAAU,kDACVC,EAAS,2BAETC,EAAc,qBACdC,EAAa,kCACbC,EAAa,qCAIbC,EAPa,MAAQL,EAAU,IAAMC,EAAS,IAOtB,IAGxBK,EAFW,oBAEQD,GADP,gBAAwB,CAACH,EAAaC,EAAYC,GAAYp9hB,KAAK,KAAnE,qBAA2Fq9hB,EAAW,MAElHE,EAAW,MAAQ,CAACL,EAAcF,EAAU,IAAKA,EAASG,EAAYC,EAAYL,GAAU/8hB,KAAK,KAAO,IAGxGw9hB,EAAYjvgB,OAAO0ugB,EAAS,MAAQA,EAAS,KAAOM,EAAWD,EAAO,KAa1EzziB,EAAOC,QAJP,SAAwB6zH,GACtB,OAAOA,EAAOxgH,MAAMqgiB,IAAc,K,cCvBpC3ziB,EAAOC,QAJP,SAAgBuJ,EAAOq9C,GACrB,OAAOr9C,EAAQq9C,I,cCGjB7mD,EAAOC,QAJP,SAAgBuJ,EAAOq9C,GACrB,OAAOr9C,EAAQq9C,I,gBCVjB,IAAIypf,EAAWpwiB,EAAQ,KACnBs3U,EAAet3U,EAAQ,KACvB8wiB,EAAU9wiB,EAAQ,KAClBsK,EAAUtK,EAAQ,IAiDtBF,EAAOC,QALP,SAAa0uD,EAAY+oR,GAEvB,OADWltU,EAAQmkD,GAAc2hf,EAAWU,GAChCrif,EAAY6oR,EAAaE,EAAU,M,gBCjDjD,IAAI8lG,EAAWt9a,EAAQ,KACnBq7Y,EAAgBr7Y,EAAQ,KACxB0ziB,EAAoB1ziB,EAAQ,KAC5Bw9a,EAAWx9a,EAAQ,KACnBmmE,EAAYnmE,EAAQ,KACpBsuiB,EAAatuiB,EAAQ,KAkEzBF,EAAOC,QApDP,SAAkB4sD,EAAO6qR,EAAUqnG,GACjC,IAAI9zY,GAAS,EACT+8F,EAAWuzQ,EACX30Y,EAASimD,EAAMjmD,OACfitiB,GAAW,EACXlqiB,EAAS,GACTugP,EAAOvgP,EAEX,GAAIo1a,EACF80H,GAAW,EACX7ra,EAAW4ra,OAER,GAAIhtiB,GAvBY,IAuBgB,CACnC,IAAI0P,EAAMohU,EAAW,KAAOrxQ,EAAUxZ,GACtC,GAAIv2C,EACF,OAAOk4hB,EAAWl4hB,GAEpBu9hB,GAAW,EACX7ra,EAAW01S,EACXxzL,EAAO,IAAIszL,OAGXtzL,EAAOwtF,EAAW,GAAK/tU,EAEzB8/H,EACA,OAASx+F,EAAQrkC,GAAQ,CACvB,IAAI4C,EAAQqjD,EAAM5hB,GACdqxX,EAAW5kF,EAAWA,EAASluU,GAASA,EAG5C,GADAA,EAASu1a,GAAwB,IAAVv1a,EAAeA,EAAQ,EAC1CqqiB,GAAYv3I,IAAaA,EAAU,CAErC,IADA,IAAIw3I,EAAY5pT,EAAKtjP,OACdktiB,KACL,GAAI5pT,EAAK4pT,KAAex3I,EACtB,SAAS7yR,EAGTiuM,GACFxtF,EAAKt5O,KAAK0rZ,GAEZ3yZ,EAAOiH,KAAKpH,QAEJw+H,EAASkiH,EAAMoyK,EAAUyiB,KAC7B70L,IAASvgP,GACXugP,EAAKt5O,KAAK0rZ,GAEZ3yZ,EAAOiH,KAAKpH,IAGhB,OAAOG,I,gBCpET,IAAI+xY,EAAcx7Y,EAAQ,KAgB1BF,EAAOC,QALP,SAAuB4sD,EAAOrjD,GAE5B,SADsB,MAATqjD,EAAgB,EAAIA,EAAMjmD,SACpB80Y,EAAY7uV,EAAOrjD,EAAO,IAAM,I,gBCbrD,IAAIgyY,EAAgBt7Y,EAAQ,KACxBu7Y,EAAYv7Y,EAAQ,KACpB6ziB,EAAgB7ziB,EAAQ,KAiB5BF,EAAOC,QANP,SAAqB4sD,EAAOrjD,EAAOyqK,GACjC,OAAOzqK,IAAUA,EACbuqiB,EAAclnf,EAAOrjD,EAAOyqK,GAC5BunO,EAAc3uV,EAAO4uV,EAAWxnO,K,cCLtCj0K,EAAOC,QAJP,SAAmBuJ,GACjB,OAAOA,IAAUA,I,cCcnBxJ,EAAOC,QAZP,SAAuB4sD,EAAOrjD,EAAOyqK,GAInC,IAHA,IAAIhpI,EAAQgpI,EAAY,EACpBrtK,EAASimD,EAAMjmD,SAEVqkC,EAAQrkC,GACf,GAAIimD,EAAM5hB,KAAWzhC,EACnB,OAAOyhC,EAGX,OAAQ,I,cCEVjrC,EAAOC,QAZP,SAA2B4sD,EAAOrjD,EAAOu1a,GAIvC,IAHA,IAAI9zY,GAAS,EACTrkC,EAAkB,MAATimD,EAAgB,EAAIA,EAAMjmD,SAE9BqkC,EAAQrkC,GACf,GAAIm4a,EAAWv1a,EAAOqjD,EAAM5hB,IAC1B,OAAO,EAGX,OAAO,I,gBClBT,IAAIo9H,EAAMnoK,EAAQ,KACd4sF,EAAO5sF,EAAQ,KACfsuiB,EAAatuiB,EAAQ,KAYrBmmE,EAAcgiG,GAAQ,EAAImmY,EAAW,IAAInmY,EAAI,CAAC,EAAE,KAAK,IAT1C,IASoE,SAAS9gJ,GAC1F,OAAO,IAAI8gJ,EAAI9gJ,IAD2DulE,EAI5E9sF,EAAOC,QAAUomE,G,cCFjBrmE,EAAOC,QAJP,c,gBCZA,IAAIumW,EAAWtmW,EAAQ,KAqBvBF,EAAOC,QAVP,SAAkB0uD,EAAY2xU,GAC5B,IAAI32X,EAMJ,OAJA68V,EAAS73S,GAAY,SAASnlD,EAAOyhC,EAAO0jB,GAE1C,QADAhlD,EAAS22X,EAAU92X,EAAOyhC,EAAO0jB,SAG1BhlD,I,gBClBX,IAAIzC,EAAiBhH,EAAQ,KAwB7BF,EAAOC,QAbP,SAAyB2M,EAAQzF,EAAKqC,GACzB,aAAPrC,GAAsBD,EACxBA,EAAe0F,EAAQzF,EAAK,CAC1B,cAAgB,EAChB,YAAc,EACd,MAASqC,EACT,UAAY,IAGdoD,EAAOzF,GAAOqC,I,gBCpBlB,IAAI4kC,EAAQluC,EAAQ,KAChBivY,EAAOjvY,EAAQ,KACf+xB,EAAY/xB,EAAQ,KAExB,SAAS8ziB,EAAYxqiB,GACnB,OAAIM,gBAAgBkqiB,GAClBlqiB,KAAKsgP,MAAQh8M,EAAM5kC,GACZM,MAEF,IAAIkqiB,EAAYxqiB,GAGzBwqiB,EAAYzsiB,UAAU2O,SAAW,WAC/B,OAAO3L,MAAMC,QAAQV,KAAKsgP,OAASn4N,EAAUnoB,KAAKsgP,OAAS,IAG7D4pT,EAAYzsiB,UAAU4nY,KAAO,SAASt4M,EAAIo9W,GAExC,OADA9kK,EAAKrlY,KAAKsgP,MAAOvzD,EAAIo9W,GACdnqiB,MAGTkqiB,EAAY/tZ,KAAO/lJ,EAAQ,KAE3B8ziB,EAAY7kK,KAAOA,EAEnB6kK,EAAY/hhB,UAAYA,EAExBjyB,EAAOC,QAAU+ziB,G,cC3BjB,IAAIE,EAAkB,IAAI/+f,WAAW,GACjCg/f,EAAmB,IAAIh/f,WAAW,GAClCi/f,EAAc,IAAIj/f,WAAW,GAC7Bk/f,EAAc,IAAIl/f,WAAW,GAC7Bm/f,EAAY,KAAKn/f,WAAW,GAC5BmgI,EAAQ,IAAIngI,WAAW,GACvBm4X,EAAQ,IAAIn4X,WAAW,GACvBo/f,EAAQ,IAAIp/f,WAAW,GACvBq/f,EAAO,IAAIr/f,WAAW,GAE1Bn1C,EAAOC,QAAU,SAASssH,GAgBxB,IAfA,IAGIlhH,EAAMw4W,EAAOpgS,EAAMriD,EAAOy+R,EAAQ40O,EAAWC,EAM7Ch4hB,EATA8E,EAAS,GACThY,EAAQ+iH,EAGRtvE,EAAM,EACN5J,EAAO7pC,EAAM2rC,WAAW8H,GACxBjhC,EAAMxS,EAAM5C,OACZggC,EAAQ,CAAC,CAAEwjN,MAAO5oO,IAClBmzhB,EAAW,EAGXzoiB,EAAO,GACPm9B,EAAS,GACTqyG,EAAQ,GAELz+F,EAAMjhC,GAEX,GAAIq3B,GAAQ,GAAI,CACdhoC,EAAO4xC,EACP,GACE5xC,GAAQ,EACRgoC,EAAO7pC,EAAM2rC,WAAW9pC,SACjBgoC,GAAQ,IACjBjS,EAAQ53B,EAAMsyC,MAAMmB,EAAK5xC,GAEzBo4E,EAAOjiE,EAAOA,EAAO5a,OAAS,GAC1BysC,IAAS8ggB,GAAoBQ,EAC/Bj5Z,EAAQt6G,EACCqiD,GAAsB,QAAdA,EAAK1oE,KACtB0oE,EAAKi4D,MAAQt6G,EAEbiS,IAASi6X,GACTj6X,IAASkhgB,GACRlhgB,IAASiiI,GAAS9rK,EAAM2rC,WAAW9pC,EAAO,KAAOmpiB,EAElDnrgB,EAASjI,EAET5f,EAAO5Q,KAAK,CACVmK,KAAM,QACN8uY,YAAa5sW,EACbzzC,MAAO43B,IAIX6b,EAAM5xC,OAGD,GAAIgoC,IAAS+ggB,GAAe/ggB,IAASghgB,EAAa,CACvDhpiB,EAAO4xC,EAEP7b,EAAQ,CACNrmB,KAAM,SACN8uY,YAAa5sW,EACb4mU,MAJFA,EAAQxwU,IAAS+ggB,EAAc,IAAM,KAMrC,GAGE,GAFAv0O,GAAS,IACTx0T,EAAO7B,EAAM2K,QAAQ0vW,EAAOx4W,EAAO,IAGjC,IADAopiB,EAAYppiB,EACL7B,EAAM2rC,WAAWs/f,EAAY,KAAOH,GACzCG,GAAa,EACb50O,GAAUA,OAIZx0T,GADA7B,GAASq6W,GACIj9W,OAAS,EACtBw6B,EAAMwzgB,UAAW,QAEZ/0O,GACTz+R,EAAM53B,MAAQA,EAAMsyC,MAAMmB,EAAM,EAAG5xC,GAEnCmW,EAAO5Q,KAAKwwB,GACZ6b,EAAM5xC,EAAO,EACbgoC,EAAO7pC,EAAM2rC,WAAW8H,QAGnB,GAAI5J,IAASiiI,GAAS9rK,EAAM2rC,WAAW8H,EAAM,KAAOu3f,EACzDpzgB,EAAQ,CACNrmB,KAAM,UACN8uY,YAAa5sW,IAID,KADd5xC,EAAO7B,EAAM2K,QAAQ,KAAM8oC,MAEzB7b,EAAMwzgB,UAAW,EACjBvpiB,EAAO7B,EAAM5C,QAGfw6B,EAAM53B,MAAQA,EAAMsyC,MAAMmB,EAAM,EAAG5xC,GACnCmW,EAAO5Q,KAAKwwB,GAEZ6b,EAAM5xC,EAAO,EACbgoC,EAAO7pC,EAAM2rC,WAAW8H,QAGnB,GAAI5J,IAASiiI,GAASjiI,IAASi6X,GAASj6X,IAASkhgB,EACtDnzgB,EAAQ53B,EAAMyzC,GAEdz7B,EAAO5Q,KAAK,CACVmK,KAAM,MACN8uY,YAAa5sW,EAAM5T,EAAOziC,OAC1B4C,MAAO43B,EACPiI,OAAQA,EACRqyG,MAAO,KAETryG,EAAS,GAET4T,GAAO,EACP5J,EAAO7pC,EAAM2rC,WAAW8H,QAGnB,GAAIi3f,IAAoB7ggB,EAAM,CAEnChoC,EAAO4xC,EACP,GACE5xC,GAAQ,EACRgoC,EAAO7pC,EAAM2rC,WAAW9pC,SACjBgoC,GAAQ,IASjB,GARAjS,EAAQ,CACNrmB,KAAM,WACN8uY,YAAa5sW,EAAM/wC,EAAKtF,OACxB4C,MAAO0C,EACPm9B,OAAQ7/B,EAAMsyC,MAAMmB,EAAM,EAAG5xC,IAE/B4xC,EAAM5xC,EAEO,QAATa,GAAkBmnC,IAAS+ggB,GAAe/ggB,IAASghgB,EAAa,CAClEhpiB,GAAQ,EACR,GAGE,GAFAw0T,GAAS,IACTx0T,EAAO7B,EAAM2K,QAAQ,IAAK9I,EAAO,IAG/B,IADAopiB,EAAYppiB,EACL7B,EAAM2rC,WAAWs/f,EAAY,KAAOH,GACzCG,GAAa,EACb50O,GAAUA,OAIZx0T,GADA7B,GAAS,KACI5C,OAAS,EACtBw6B,EAAMwzgB,UAAW,QAEZ/0O,GAET60O,EAAgBrpiB,EAChB,GACEqpiB,GAAiB,EACjBrhgB,EAAO7pC,EAAM2rC,WAAWu/f,SACjBrhgB,GAAQ,IAEfjS,EAAMgpN,MADJntM,IAAQy3f,EAAgB,EACZ,CACZ,CACE35hB,KAAM,OACN8uY,YAAa5sW,EACbzzC,MAAOA,EAAMsyC,MAAMmB,EAAKy3f,EAAgB,KAI9B,GAEZtzgB,EAAMwzgB,UAAYF,EAAgB,IAAMrpiB,GAC1C+1B,EAAMs6G,MAAQ,GACdt6G,EAAMgpN,MAAMx5O,KAAK,CACfmK,KAAM,QACN8uY,YAAa6qJ,EAAgB,EAC7BlriB,MAAOA,EAAMsyC,MAAM44f,EAAgB,EAAGrpiB,MAGxC+1B,EAAMs6G,MAAQlyI,EAAMsyC,MAAM44f,EAAgB,EAAGrpiB,GAE/C4xC,EAAM5xC,EAAO,EACbgoC,EAAO7pC,EAAM2rC,WAAW8H,GACxBz7B,EAAO5Q,KAAKwwB,QAEZuzgB,GAAY,EACZvzgB,EAAMs6G,MAAQ,GACdl6H,EAAO5Q,KAAKwwB,GACZwF,EAAMh2B,KAAKwwB,GACX5f,EAAS4f,EAAMgpN,MAAQ,GACvB1tO,EAAS0kB,EAEXl1B,EAAO,QAGF,GAAIioiB,IAAqB9ggB,GAAQshgB,EACtC13f,GAAO,EACP5J,EAAO7pC,EAAM2rC,WAAW8H,GAExBvgC,EAAOg/H,MAAQA,EACfA,EAAQ,GACRi5Z,GAAY,EACZ/tgB,EAAM91B,MAEN0Q,GADA9E,EAASkqB,EAAM+tgB,IACCvqT,UAGX,CACL/+O,EAAO4xC,EACP,GACM5J,IAASihgB,IACXjpiB,GAAQ,GAEVA,GAAQ,EACRgoC,EAAO7pC,EAAM2rC,WAAW9pC,SAExBA,EAAO2Q,KAELq3B,GAAQ,IACRA,IAAS+ggB,GACT/ggB,IAASghgB,GACThhgB,IAASi6X,GACTj6X,IAASkhgB,GACTlhgB,IAASiiI,GACTjiI,IAAS6ggB,GACR7ggB,IAAS8ggB,GAAoBQ,IAGlCvzgB,EAAQ53B,EAAMsyC,MAAMmB,EAAK5xC,GAErB6oiB,IAAoB7ggB,EACtBnnC,EAAOk1B,EAEP5f,EAAO5Q,KAAK,CACVmK,KAAM,OACN8uY,YAAa5sW,EACbzzC,MAAO43B,IAIX6b,EAAM5xC,EAIV,IAAK4xC,EAAMrW,EAAMhgC,OAAS,EAAGq2C,EAAKA,GAAO,EACvCrW,EAAMqW,GAAK23f,UAAW,EAGxB,OAAOhugB,EAAM,GAAGwjN,Q,cCzPlBpqP,EAAOC,QAAU,SAASkvY,EAAK/kJ,EAAOvzD,EAAIo9W,GACxC,IAAIttiB,EAAGqV,EAAKrO,EAAMhE,EAElB,IAAKhD,EAAI,EAAGqV,EAAMouO,EAAMxjP,OAAQD,EAAIqV,EAAKrV,GAAK,EAC5CgH,EAAOy8O,EAAMzjP,GACRstiB,IACHtqiB,EAASktL,EAAGlpL,EAAMhH,EAAGyjP,KAIV,IAAXzgP,GACc,aAAdgE,EAAKoN,MACLxQ,MAAMC,QAAQmD,EAAKy8O,QAEnB+kJ,EAAKxhY,EAAKy8O,MAAOvzD,EAAIo9W,GAGnBA,GACFp9W,EAAGlpL,EAAMhH,EAAGyjP,K,cClBlB,SAASyqT,EAAclniB,EAAMw3b,GAC3B,IAEIluZ,EACA69f,EAHA/5hB,EAAOpN,EAAKoN,KACZvR,EAAQmE,EAAKnE,MAIjB,OAAI27b,QAA4Cz7Z,KAAjCorgB,EAAe3vG,EAAOx3b,IAC5BmniB,EACW,SAAT/5hB,GAA4B,UAATA,EACrBvR,EACW,WAATuR,GACTk8B,EAAMtpC,EAAKk2W,OAAS,IACPr6W,GAASmE,EAAKiniB,SAAW,GAAK39f,GACzB,YAATl8B,EACF,KAAOvR,GAASmE,EAAKiniB,SAAW,GAAK,MAC1B,QAAT75hB,GACDpN,EAAK07B,QAAU,IAAM7/B,GAASmE,EAAK+tI,OAAS,IAC3CnxI,MAAMC,QAAQmD,EAAKy8O,QAC5BnzM,EAAMhlB,EAAUtkB,EAAKy8O,OACR,aAATrvO,EACKk8B,EAGPztC,EACA,KACCmE,EAAK07B,QAAU,IAChB4N,GACCtpC,EAAK+tI,OAAS,KACd/tI,EAAKiniB,SAAW,GAAK,MAGnBpriB,EAGT,SAASyoB,EAAUm4N,EAAO+6M,GACxB,IAAIx7b,EAAQhD,EAEZ,GAAI4D,MAAMC,QAAQ4/O,GAAQ,CAExB,IADAzgP,EAAS,GACJhD,EAAIyjP,EAAMxjP,OAAS,GAAID,EAAGA,GAAK,EAClCgD,EAASkriB,EAAczqT,EAAMzjP,GAAIw+b,GAAUx7b,EAE7C,OAAOA,EAET,OAAOkriB,EAAczqT,EAAO+6M,GAG9Bnlc,EAAOC,QAAUgyB,G,cC/CjB,IAAIo7H,EAAQ,IAAIl4G,WAAW,GACvB04G,EAAO,IAAI14G,WAAW,GACtBk9B,EAAM,IAAIl9B,WAAW,GACrBs4G,EAAM,IAAIt4G,WAAW,GACrB4/f,EAAM,IAAI5/f,WAAW,GAEzBn1C,EAAOC,QAAU,SAASuJ,GAQxB,IAPA,IAKI6pC,EALA4J,EAAM,EACNr2C,EAAS4C,EAAM5C,OACfouiB,GAAS,EACTC,GAAU,EACVC,GAAiB,EAGdj4f,EAAMr2C,GAAQ,CAGnB,IAFAysC,EAAO7pC,EAAM2rC,WAAW8H,KAEZ,IAAM5J,GAAQ,GACxB6hgB,GAAiB,OACZ,GAAI7hgB,IAASo6G,GAAOp6G,IAAS0hgB,EAAK,CACvC,GAAIE,GAAU,EACZ,MAEFA,EAASh4f,OACJ,GAAI5J,IAASg/B,EAAK,CACvB,GAAI2ie,EACF,MAEFA,GAAS,MACJ,IAAI3hgB,IAASw6G,GAAQx6G,IAASg6G,EAKnC,MAJA,GAAY,IAARpwG,EACF,MAMJA,GAAO,EAKT,OAFIg4f,EAAS,IAAMh4f,GAAKA,MAEjBi4f,GACH,CACErhb,OAAQrqH,EAAMsyC,MAAM,EAAGmB,GACvBgpG,KAAMz8I,EAAMsyC,MAAMmB,M,gBC+Ud,IAAI6nU,EAAU,WAO1B,SAASqwL,EAAiBxliB,EAAKkzD,GAiB3B,IAAIuye,EACJ,GAjBAnuiB,OAAOC,eAAe4C,KAAM,OAAQ,CAChChD,YAAY,EACZE,UAAU,EACVwC,MAAO,qBAGA,MAAPmG,IAAaA,EAAM,OAEvB1I,OAAOC,eAAe4C,KAAM,UAAW,CACnChD,YAAY,EACZE,UAAU,EACVwC,MAAOmG,IAGX7F,KAAK+4D,KAAOA,EAGRA,GAAQA,EAAK2gG,qBAAqBx6H,MAAO,CACzC,IAAIqsgB,EAAMxye,EAAK2gG,UACf15J,KAAKwpC,QAAU+hgB,EAAI/hgB,SAAW3jC,EAC9ByliB,EAAaC,EAAIzugB,MAEhBwugB,IACGpsgB,MAAMl8B,eAAe,qBACrBk8B,MAAMuK,kBAAkBzpC,KAAMA,KAAKP,aAEnC6riB,EAAc,IAAIpsgB,MAAMr5B,GAAMi3B,OAGlCwugB,GACAnuiB,OAAOC,eAAe4C,KAAM,QAAS,CACjChD,YAAY,EACZE,UAAU,EACVwC,MAAO4riB,IAwFX,SAAS1qiB,EAAEsB,EAAGH,EAAG4K,GACbA,EAAIA,GAAK,EACT,IAAK,IAAI9P,EAAI,EAAGA,EAAIkF,EAAGlF,IACnBmD,KAAK8G,KAAK5E,GACVA,GAAKyK,EAMb,SAASzK,EAAErF,EAAGkF,GAEV,IAAKA,GADLlF,EAAImD,KAAKlD,OAASD,EACLA,EAAIkF,EAAGlF,IAChBmD,KAAK8G,KAAK9G,KAAKnD,IAKvB,SAASmd,EAAErN,GAEP,IADA,IAAI6+hB,EAAK,GACA3uiB,EAAI,EAAGkF,EAAI4K,EAAE7P,OAAQD,EAAIkF,EAAGlF,IAAK,CACtC,IAAIkE,EAAI4L,EAAE9P,GAEO,oBAANkE,GACPlE,IACAkE,EAAEX,MAAMoriB,EAAI7+hB,EAAE9P,KAEd2uiB,EAAG1kiB,KAAK/F,GAGhB,OAAOyqiB,EAjHkB,oBAA1BruiB,OAAO65H,eACd75H,OAAO65H,eAAeq0a,EAAiB5tiB,UAAWyhC,MAAMzhC,WAExD4tiB,EAAiB5tiB,UAAYN,OAAOqC,OAAO0/B,MAAMzhC,WAErD4tiB,EAAiB5tiB,UAAUgC,YAAc4riB,EACzCA,EAAiB5tiB,UAAU2E,KAAO,mBA+GlC,IAAI44W,EAAS,CAyDbnc,MAAO,aACPwsM,iBAAkBA,EAClBI,GAAI,GACJltgB,QAAS,CACPttB,KAAM,OACNy6hB,+BAA+B,EAC/BC,+BAAgC,GAElCC,SAAU,CACR,QAAW,EACX,KAAQ,EACR,IAAO,EACP,MAAS,GACT,IAAO,GACP,MAAS,GACT,UAAa,GACb,QAAW,GACX,IAAO,EACP,IAAO,GACP,IAAO,EACP,IAAO,GACP,KAAQ,GACR,OAAU,GACV,OAAU,EACV,IAAO,EACP,YAAe,EACf,OAAU,GACV,WAAc,GACd,OAAU,GACV,KAAQ,GACR,IAAO,GACP,OAAU,EACV,IAAO,EACP,KAAQ,GACR,IAAO,GACP,MAAS,GACT,MAAS,GACT,IAAO,GACP,UAAa,GACb,aAAgB,GAChB,MAAS,EACT,WAAc,GACd,gBAAmB,GACnB,MAAS,IAEXC,WAAY,CACVthW,EAAG,MACHE,EAAG,QACHgvD,EAAG,MACH6jE,EAAG,MACHh3F,EAAG,MACHC,EAAG,MACHC,EAAG,SACHkzB,EAAG,SACH6jE,EAAG,cACHC,GAAI,SACJC,GAAI,SACJC,GAAI,UACJC,GAAI,YACJhkE,GAAI,QACJikE,GAAI,SACJC,GAAI,QACJC,GAAI,OACJC,GAAI,OACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJioN,GAAI,OACJ0B,GAAI,MACJC,GAAI,MACJ2B,GAAI,QACJp+B,GAAI,QACJ6/B,GAAI,cAEN2gB,OAAQ,EACJC,IAAK,EAILC,kBAAmB,KACnBC,mBAAoB,KACpBC,kBAAmB,KACnBC,wBAAyB,KACzBC,oBAAqB,KAErBC,uBAAwB,EACxBC,cAAe,GACfC,uBAAwB,GAYxBC,UAAW,SAA0BC,GACjC,MAAO,IAAMA,EAAS,KAM1BC,cAAe,SAA8BrrhB,GACzC,GAAIrhB,KAAK6riB,WAAWxqhB,GAChB,OAAOrhB,KAAK6riB,WAAWxqhB,GAU3B,IAAIzgB,EAAIZ,KAAK4riB,SACb,IAAK,IAAIvuiB,KAAOuD,EACZ,GAAIA,EAAEvD,KAASgkB,EACX,OAAOhkB,EAGf,OAAO,MAOXsviB,eAAgB,SAA+BtrhB,GAC3C,GAAIA,IAAWrhB,KAAK+riB,KAAO/riB,KAAK4siB,wBAA0B5siB,KAAK4siB,uBAAuBvrhB,GAClF,OAAOrhB,KAAK4siB,uBAAuBvrhB,GAElC,GAAIA,IAAWrhB,KAAK+riB,IACrB,MAAO,eAEX,IAAI5nhB,EAAKnkB,KAAK0siB,cAAcrrhB,GAC5B,OAAI8C,EACOnkB,KAAKwsiB,UAAUrohB,GAEnB,MAWX0ohB,2BAA4B,SAA2C9ne,EAAO+ne,GAC1E,IAAIhB,EAAS9riB,KAAK8riB,OACdiB,EAAW,GACX5sd,EAAQ,GAGZ,IAAK2sd,GAAmB9siB,KAAKgtiB,qBAAuBhtiB,KAAKgtiB,oBAAoBjoe,GACzE,MAAO,CACH/kE,KAAKgtiB,oBAAoBjoe,IAGjC,IAAK,IAAI9hE,KAAKjD,KAAKmyK,MAAMptG,GAErB,IADA9hE,GAAKA,KACK6oiB,EAAQ,CACd,IAAI3piB,EAAI2qiB,EAAkB7piB,EAAIjD,KAAK2siB,eAAe1piB,GAC9Cd,IAAMg+E,EAAMh+E,KACZ4qiB,EAASjmiB,KAAK3E,GACdg+E,EAAMh+E,IAAK,GAIvB,OAAO4qiB,GAEfE,aAnVQ,SAAYrsiB,GAIR,IAHA,IAAI4qiB,EAAK,GACLvoiB,EAAIrC,EAAEoG,IACNzE,EAAI3B,EAAE69T,KACD5hU,EAAI,EAAGkF,EAAIkB,EAAEnG,OAAQD,EAAIkF,EAAGlF,IACjC2uiB,EAAG1kiB,KAAK,CACJ7D,EAAEpG,GACF0F,EAAE1F,KAGV,OAAO2uiB,EAyULrqJ,CAAG,CACfn6Y,IAAKgT,EAAE,CACP,GACApZ,EACA,CAAC,GAAI,IACL,GACA,GACA,GACA,GACAA,EACA,CAAC,GAAI,MAEL69T,KAAMzkT,EAAE,CACR,EACApZ,EACA,CAAC,EAAG,GACJ,EACA,EACAA,EACA,CAAC,EAAG,GACJ,EACA,EACA,EACAA,EACA,CAAC,EAAG,IACJ,MAGFssiB,cAAe,SAA+BC,EAAyBC,EAAMC,GAKnE,IAAI5B,EAAKzriB,KAAKyriB,GACCA,EAAGzwL,OACJywL,EAAG6B,MAIjB,OAAQH,GAClB,KAAK,EAIDntiB,KAAKqE,EAAIgpiB,EAASD,EAAO,GAEzB,MAEJ,KAAK,EAQD,OAJAptiB,KAAKqE,EAAIgpiB,EAASD,EAAO,GAIlBC,EAASD,EAAO,GAG3B,KAAK,EAEL,KAAK,EAEL,KAAK,EAEL,KAAK,EAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,iBAAkB8wY,SAAUsrJ,EAASD,EAAO,GAAIv2f,KAAMw2f,EAASD,EAAO,GAAIvqd,MAAOwqd,EAASD,IAC3G,MAEJ,KAAK,EAGDptiB,KAAKqE,EAAIgpiB,EAASD,EAAO,GACzB,MAEJ,KAAK,EAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,OAAQvR,MAAO2tiB,EAASD,EAAO,IAChD,MAEJ,KAAK,EAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,OAAQvR,MAAO2tiB,EAASD,EAAO,GAAIzngB,OAAQ0ngB,EAASD,EAAO,IAC5E,MAEJ,KAAK,EAEL,KAAK,GAEL,KAAK,GAGDptiB,KAAKqE,EAAIgpiB,EAASD,GAClB,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,QAASvR,MAAO6J,WAAW8jiB,EAASD,KACrD,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,QAASvR,OAAqC,EAA9B6J,WAAW8jiB,EAASD,KACrD,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,cAAevR,MAAO2tiB,EAASD,EAAO,IACvD,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,cAAevR,MAAO2tiB,EAASD,EAAO,GAAItqL,SAAUuqL,EAASD,EAAO,IACrF,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,cAAevR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,SAAS/pH,KAAKi7gB,EAASD,IAAO,IACvG,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,aAAcvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,SAAS/pH,KAAKi7gB,EAASD,IAAO,IACtG,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,YAAavR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,SAAS/pH,KAAKi7gB,EAASD,IAAO,IACrG,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,iBAAkBvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,SAAS/pH,KAAKi7gB,EAASD,IAAO,IAC1G,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,kBAAmBvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,SAAS/pH,KAAKi7gB,EAASD,IAAO,IAC3G,MAEJ,KAAK,GAGDptiB,KAAKqE,EAAI,CAAE4M,KAAM,UAAWvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,MACrE,MAEJ,KAAK,GAGDn8I,KAAKqE,EAAI,CAAE4M,KAAM,UAAWvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,MACrE,MAEJ,KAAK,GAGDn8I,KAAKqE,EAAI,CAAE4M,KAAM,UAAWvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,MACrE,MAEJ,KAAK,GAGDn8I,KAAKqE,EAAI,CAAE4M,KAAM,WAAYvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,OACtE,MAEJ,KAAK,GAGDn8I,KAAKqE,EAAI,CAAE4M,KAAM,UAAWvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,MACrE,MAEJ,KAAK,GAGDn8I,KAAKqE,EAAI,CAAE4M,KAAM,UAAWvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,MACrE,MAEJ,KAAK,GAGDn8I,KAAKqE,EAAI,CAAE4M,KAAM,YAAavR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,QACvE,MAEJ,KAAK,GAGDn8I,KAAKqE,EAAI,CAAE4M,KAAM,YAAavR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,QACvE,MAEJ,KAAK,GAGDn8I,KAAKqE,EAAI,CAAE4M,KAAM,kBAAmBvR,MAAO6J,WAAW8jiB,EAASD,IAAQjxZ,KAAM,KAC7E,MAEJ,KAAK,GAGD,IAAIxiE,EAAO0zd,EAASD,GAAOzzd,EAAKj6E,QAAU,EAAGM,KAAKqE,EAAIs1E,IAK1Dw4F,MA5gBQ,SAAYvxK,GAQR,IAPA,IAAI4qiB,EAAK,GACLrpiB,EAAIvB,EAAEokC,IACNl4B,EAAIlM,EAAEygB,OACN5e,EAAI7B,EAAEqQ,KACNtE,EAAI/L,EAAEmkE,MACN9iE,EAAIrB,EAAE8B,KACNuH,EAAIrJ,EAAE2siB,KACD1wiB,EAAI,EAAGkF,EAAII,EAAErF,OAAQD,EAAIkF,EAAGlF,IAAK,CAGtC,IAFA,IAAIgE,EAAIsB,EAAEtF,GACNwrH,EAAI,GACCjvG,EAAI,EAAGA,EAAIvY,EAAGuY,IAAK,CACxB,IAAIi/E,EAAIvrF,EAAE8nE,QACV,OAAQnyE,EAAEmyE,SACV,KAAK,EACDyzC,EAAEhwB,GAAK,CACHp2F,EAAE2yE,QACF3qE,EAAE2qE,SAEN,MAEJ,KAAK,EACDyzC,EAAEhwB,GAAK1rF,EAAEioE,QACT,MAEJ,QAEIyzC,EAAEhwB,GAAK,CACH,IAIZmzc,EAAG1kiB,KAAKuhH,GAEZ,OAAOmjb,EA0eZtzW,CAAG,CACRlzJ,IAAKhrB,EAAE,CACP,GACA,EACA,EACA,GACA,EACA,GACApZ,EACA,CAAC,EAAG,GACJ,EACAA,EACA,CAAC,EAAG,IACJA,EACA,CAAC,GAAI,GACLsB,EACA,CAAC,GAAI,GACL,EACA,EACA,GACA,EACA,EACA,EACAtB,EACA,CAAC,EAAG,GACJ,EACA,EACA,EACAsB,EACA,CAAC,GAAI,GACLA,EACA,CAAC,GAAI,GACL,EACA,EACA,IAEAmf,OAAQrH,EAAE,CACV,EACA,EACA,EACA,GACA,GACApZ,EACA,CAAC,GAAI,GAAI,GACT,EACA,EACAA,EACA,CAAC,EAAG,EAAG,GACPsB,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,GACL,EACA,EACA,GACA,GACAA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,GACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,IAAK,GACN,EACAA,EACA,CAAC,GAAI,IACL,EACAA,EACA,CAAC,IAAK,IACN,GACAA,EACA,CAAC,IAAK,GACN,EACAA,EACA,CAAC,EAAG,GACJA,EACA,CAAC,EAAG,GACJ,EACA,EACA,GACAA,EACA,CAAC,IAAK,IACNA,EACA,CAAC,GAAI,MAEL+O,KAAM+I,EAAE,CACRpZ,EACA,CAAC,EAAG,IACJA,EACA,CAAC,EAAG,GACJ,EACAA,EACA,CAAC,EAAG,IACJA,EACA,CAAC,EAAG,GACJsB,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,IAAK,MAEN6iE,MAAO/qD,EAAE,CACT,EACA,EACA,EACA,EACA,EACA,GACA9X,EACA,CAAC,EAAG,GACJ,GACA,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,GAAI,GACL,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,KAEJQ,KAAMsX,EAAE,CACRpZ,EACA,CAAC,EAAG,KACJA,EACA,CAAC,EAAG,GACJsB,EACA,CAAC,EAAG,GACJA,EACA,CAAC,EAAG,GACJtB,EACA,CAAC,EAAG,MAEJ2siB,KAAMvzhB,EAAE,CACR,EACA,EACA,EACA,GACApZ,EACA,CAAC,EAAG,GAAI,GACRA,EACA,CAAC,GAAI,EAAG,GACRsB,EACA,CAAC,GAAI,IACL,GACA,GACA,GACA,GACAA,EACA,CAAC,GAAI,IACL,GACAA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,IAAK,GACN,GACAA,EACA,CAAC,GAAI,IACL,GACA,GACAA,EACA,CAAC,GAAI,IACL,GACAtB,EACA,CAAC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","file":"static/js/2.587bda32.chunk.js","sourcesContent":["'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","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport const Constants = {\n LIBRARY_NAME: \"MSAL.JS\",\n SKU: \"msal.js.common\",\n // Prefix for all library cache entries\n CACHE_PREFIX: \"msal\",\n // default authority\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\n DEFAULT_COMMON_TENANT: \"common\",\n // ADFS String\n ADFS: \"adfs\",\n DSTS: \"dstsv2\",\n // Default AAD Instance Discovery Endpoint\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\n // Resource delimiter - used for certain cache entries\n RESOURCE_DELIM: \"|\",\n // Placeholder for non-existent account ids/objects\n NO_ACCOUNT: \"NO_ACCOUNT\",\n // Claims\n CLAIMS: \"claims\",\n // Consumer UTID\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\n // Default scopes\n OPENID_SCOPE: \"openid\",\n PROFILE_SCOPE: \"profile\",\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\n EMAIL_SCOPE: \"email\",\n // Default response type for authorization code flow\n CODE_RESPONSE_TYPE: \"code\",\n CODE_GRANT_TYPE: \"authorization_code\",\n RT_GRANT_TYPE: \"refresh_token\",\n FRAGMENT_RESPONSE_MODE: \"fragment\",\n S256_CODE_CHALLENGE_METHOD: \"S256\",\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\n AUTHORIZATION_PENDING: \"authorization_pending\",\n NOT_DEFINED: \"not_defined\",\n EMPTY_STRING: \"\",\n NOT_APPLICABLE: \"N/A\",\n FORWARD_SLASH: \"/\",\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\n IMDS_VERSION: \"2020-06-01\",\n IMDS_TIMEOUT: 2000,\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\n REGIONAL_AUTH_NON_MSI_QUERY_STRING: \"allowestsrnonmsi=true\",\n KNOWN_PUBLIC_CLOUDS: [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"],\n TOKEN_RESPONSE_TYPE: \"token\",\n ID_TOKEN_RESPONSE_TYPE: \"id_token\",\n SHR_NONCE_VALIDITY: 240,\n INVALID_INSTANCE: \"invalid_instance\",\n};\n\nexport const OIDC_DEFAULT_SCOPES = [\n Constants.OPENID_SCOPE,\n Constants.PROFILE_SCOPE,\n Constants.OFFLINE_ACCESS_SCOPE\n];\n\nexport const OIDC_SCOPES = [\n ...OIDC_DEFAULT_SCOPES,\n Constants.EMAIL_SCOPE\n];\n\n/**\n * Request header names\n */\nexport enum HeaderNames {\n CONTENT_TYPE = \"Content-Type\",\n RETRY_AFTER = \"Retry-After\",\n CCS_HEADER = \"X-AnchorMailbox\",\n WWWAuthenticate = \"WWW-Authenticate\",\n AuthenticationInfo = \"Authentication-Info\",\n X_MS_REQUEST_ID = \"x-ms-request-id\",\n X_MS_HTTP_VERSION= \"x-ms-httpver\"\n}\n\n/**\n * Persistent cache keys MSAL which stay while user is logged in.\n */\nexport enum PersistentCacheKeys {\n ID_TOKEN = \"idtoken\",\n CLIENT_INFO = \"client.info\",\n ADAL_ID_TOKEN = \"adal.idtoken\",\n ERROR = \"error\",\n ERROR_DESC = \"error.description\",\n ACTIVE_ACCOUNT = \"active-account\", // Legacy active-account cache key, use new key instead\n ACTIVE_ACCOUNT_FILTERS = \"active-account-filters\" // new cache entry for active_account for a more robust version for browser\n}\n\n/**\n * String constants related to AAD Authority\n */\nexport enum AADAuthorityConstants {\n COMMON = \"common\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\"\n}\n\n/**\n * Keys in the hashParams sent by AAD Server\n */\nexport enum AADServerParamKeys {\n CLIENT_ID = \"client_id\",\n REDIRECT_URI = \"redirect_uri\",\n RESPONSE_TYPE = \"response_type\",\n RESPONSE_MODE = \"response_mode\",\n GRANT_TYPE = \"grant_type\",\n CLAIMS = \"claims\",\n SCOPE = \"scope\",\n ERROR = \"error\",\n ERROR_DESCRIPTION = \"error_description\",\n ACCESS_TOKEN = \"access_token\",\n ID_TOKEN = \"id_token\",\n REFRESH_TOKEN = \"refresh_token\",\n EXPIRES_IN = \"expires_in\",\n STATE = \"state\",\n NONCE = \"nonce\",\n PROMPT = \"prompt\",\n SESSION_STATE = \"session_state\",\n CLIENT_INFO = \"client_info\",\n CODE = \"code\",\n CODE_CHALLENGE = \"code_challenge\",\n CODE_CHALLENGE_METHOD = \"code_challenge_method\",\n CODE_VERIFIER = \"code_verifier\",\n CLIENT_REQUEST_ID = \"client-request-id\",\n X_CLIENT_SKU = \"x-client-SKU\",\n X_CLIENT_VER = \"x-client-VER\",\n X_CLIENT_OS = \"x-client-OS\",\n X_CLIENT_CPU = \"x-client-CPU\",\n X_CLIENT_CURR_TELEM = \"x-client-current-telemetry\",\n X_CLIENT_LAST_TELEM = \"x-client-last-telemetry\",\n X_MS_LIB_CAPABILITY = \"x-ms-lib-capability\",\n X_APP_NAME = \"x-app-name\",\n X_APP_VER = \"x-app-ver\",\n POST_LOGOUT_URI = \"post_logout_redirect_uri\",\n ID_TOKEN_HINT = \"id_token_hint\",\n DEVICE_CODE = \"device_code\",\n CLIENT_SECRET = \"client_secret\",\n CLIENT_ASSERTION = \"client_assertion\",\n CLIENT_ASSERTION_TYPE = \"client_assertion_type\",\n TOKEN_TYPE = \"token_type\",\n REQ_CNF = \"req_cnf\",\n OBO_ASSERTION = \"assertion\",\n REQUESTED_TOKEN_USE = \"requested_token_use\",\n ON_BEHALF_OF = \"on_behalf_of\",\n FOCI = \"foci\",\n CCS_HEADER = \"X-AnchorMailbox\",\n RETURN_SPA_CODE = \"return_spa_code\",\n NATIVE_BROKER = \"nativebroker\",\n LOGOUT_HINT = \"logout_hint\"\n}\n\n/**\n * Claims request keys\n */\nexport enum ClaimsRequestKeys {\n ACCESS_TOKEN = \"access_token\",\n XMS_CC = \"xms_cc\"\n}\n\n/**\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\n */\nexport const PromptValue = {\n LOGIN: \"login\",\n SELECT_ACCOUNT: \"select_account\",\n CONSENT: \"consent\",\n NONE: \"none\",\n CREATE: \"create\",\n NO_SESSION: \"no_session\"\n};\n\n/**\n * SSO Types - generated to populate hints\n */\nexport enum SSOTypes {\n ACCOUNT = \"account\",\n SID = \"sid\",\n LOGIN_HINT = \"login_hint\",\n ID_TOKEN = \"id_token\",\n DOMAIN_HINT = \"domain_hint\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\",\n ACCOUNT_ID = \"accountIdentifier\",\n HOMEACCOUNT_ID = \"homeAccountIdentifier\"\n}\n\n/**\n * Disallowed extra query parameters.\n */\nexport const BlacklistedEQParams = [\n SSOTypes.SID,\n SSOTypes.LOGIN_HINT\n];\n\n/**\n * allowed values for codeVerifier\n */\nexport const CodeChallengeMethodValues = {\n PLAIN: \"plain\",\n S256: \"S256\"\n};\n\n/**\n * The method used to encode the code verifier for the code challenge parameter. can be one\n * of plain or s256. if excluded, code challenge is assumed to be plaintext. for more\n * information, see the pkce rcf: https://tools.ietf.org/html/rfc7636\n */\nexport const CodeChallengeMethodValuesArray: string[] = [\n CodeChallengeMethodValues.PLAIN,\n CodeChallengeMethodValues.S256\n];\n\n/**\n * allowed values for response_mode\n */\nexport enum ResponseMode {\n QUERY = \"query\",\n FRAGMENT = \"fragment\",\n FORM_POST = \"form_post\"\n}\n\n/**\n * allowed grant_type\n */\nexport enum GrantType {\n IMPLICIT_GRANT = \"implicit\",\n AUTHORIZATION_CODE_GRANT = \"authorization_code\",\n CLIENT_CREDENTIALS_GRANT = \"client_credentials\",\n RESOURCE_OWNER_PASSWORD_GRANT = \"password\",\n REFRESH_TOKEN_GRANT = \"refresh_token\",\n DEVICE_CODE_GRANT = \"device_code\",\n JWT_BEARER = \"urn:ietf:params:oauth:grant-type:jwt-bearer\"\n}\n\n/**\n * Account types in Cache\n */\nexport enum CacheAccountType {\n MSSTS_ACCOUNT_TYPE = \"MSSTS\",\n ADFS_ACCOUNT_TYPE = \"ADFS\",\n MSAV1_ACCOUNT_TYPE = \"MSA\",\n GENERIC_ACCOUNT_TYPE = \"Generic\" // NTLM, Kerberos, FBA, Basic etc\n}\n\n/**\n * Separators used in cache\n */\nexport enum Separators {\n CACHE_KEY_SEPARATOR = \"-\",\n CLIENT_INFO_SEPARATOR = \".\"\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CredentialType {\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n ACCESS_TOKEN_WITH_AUTH_SCHEME = \"AccessToken_With_AuthScheme\",\n REFRESH_TOKEN = \"RefreshToken\",\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CacheSchemaType {\n ACCOUNT = \"Account\",\n CREDENTIAL = \"Credential\",\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n REFRESH_TOKEN = \"RefreshToken\",\n APP_METADATA = \"AppMetadata\",\n TEMPORARY = \"TempCache\",\n TELEMETRY = \"Telemetry\",\n UNDEFINED = \"Undefined\",\n THROTTLING = \"Throttling\"\n}\n\n/**\n * Combine all cache types\n */\nexport enum CacheType {\n ADFS = 1001,\n MSA = 1002,\n MSSTS = 1003,\n GENERIC = 1004,\n ACCESS_TOKEN = 2001,\n REFRESH_TOKEN = 2002,\n ID_TOKEN = 2003,\n APP_METADATA = 3001,\n UNDEFINED = 9999\n}\n\n/**\n * More Cache related constants\n */\nexport const APP_METADATA = \"appmetadata\";\nexport const CLIENT_INFO = \"client_info\";\nexport const THE_FAMILY_ID = \"1\";\n\nexport const AUTHORITY_METADATA_CONSTANTS = {\n CACHE_KEY: \"authority-metadata\",\n REFRESH_TIME_SECONDS: 3600 * 24 // 24 Hours\n};\n\nexport enum AuthorityMetadataSource {\n CONFIG = \"config\",\n CACHE = \"cache\",\n NETWORK = \"network\",\n HARDCODED_VALUES= \"hardcoded_values\",\n}\n\nexport const SERVER_TELEM_CONSTANTS = {\n SCHEMA_VERSION: 5,\n MAX_CUR_HEADER_BYTES: 80, // ESTS limit is 100B, set to 80 to provide a 20B buffer\n MAX_LAST_HEADER_BYTES: 330, // ESTS limit is 350B, set to 330 to provide a 20B buffer,\n MAX_CACHED_ERRORS: 50, // Limit the number of errors that can be stored to prevent uncontrolled size gains\n CACHE_KEY: \"server-telemetry\",\n CATEGORY_SEPARATOR: \"|\",\n VALUE_SEPARATOR: \",\",\n OVERFLOW_TRUE: \"1\",\n OVERFLOW_FALSE: \"0\",\n UNKNOWN_ERROR: \"unknown_error\"\n};\n\n/**\n * Type of the authentication request\n */\nexport enum AuthenticationScheme {\n BEARER = \"Bearer\",\n POP = \"pop\",\n SSH = \"ssh-cert\"\n}\n\n/**\n * Constants related to throttling\n */\nexport const ThrottlingConstants = {\n // Default time to throttle RequestThumbprint in seconds\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\n // Default maximum time to throttle in seconds, overrides what the server sends back\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\n // Prefix for storing throttling entries\n THROTTLING_PREFIX: \"throttling\",\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\"\n};\n\nexport const Errors = {\n INVALID_GRANT_ERROR: \"invalid_grant\",\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\n};\n\n/**\n * Password grant parameters\n */\nexport enum PasswordGrantConstants {\n username = \"username\",\n password = \"password\"\n}\n\n/**\n * Response codes\n */\nexport enum ResponseCodes {\n httpSuccess = 200,\n httpBadRequest = 400\n}\n\n/**\n * Region Discovery Sources\n */\nexport enum RegionDiscoverySources {\n FAILED_AUTO_DETECTION = \"1\",\n INTERNAL_CACHE = \"2\",\n ENVIRONMENT_VARIABLE = \"3\",\n IMDS = \"4\",\n}\n\n/**\n * Region Discovery Outcomes\n */\nexport enum RegionDiscoveryOutcomes {\n CONFIGURED_MATCHES_DETECTED = \"1\",\n CONFIGURED_NO_AUTO_DETECTION = \"2\",\n CONFIGURED_NOT_DETECTED = \"3\",\n AUTO_DETECTION_REQUESTED_SUCCESSFUL = \"4\",\n AUTO_DETECTION_REQUESTED_FAILED = \"5\"\n}\n\nexport enum CacheOutcome {\n NO_CACHE_HIT = \"0\",\n FORCE_REFRESH = \"1\",\n NO_CACHED_ACCESS_TOKEN = \"2\",\n CACHED_ACCESS_TOKEN_EXPIRED = \"3\",\n REFRESH_CACHED_ACCESS_TOKEN = \"4\"\n}\n\nexport enum JsonTypes {\n Jwt = \"JWT\",\n Jwk = \"JWK\"\n}\n\nexport const ONE_DAY_IN_MS = 86400000;\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { OIDC_DEFAULT_SCOPES } from \"@azure/msal-common\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\n\n/**\n * Constants\n */\nexport const BrowserConstants = {\n /**\n * Interaction in progress cache value\n */\n INTERACTION_IN_PROGRESS_VALUE: \"interaction_in_progress\",\n /**\n * Invalid grant error code\n */\n INVALID_GRANT_ERROR: \"invalid_grant\",\n /**\n * Default popup window width\n */\n POPUP_WIDTH: 483,\n /**\n * Default popup window height\n */\n POPUP_HEIGHT: 600,\n /**\n * Name of the popup window starts with\n */\n POPUP_NAME_PREFIX: \"msal\",\n /**\n * Default popup monitor poll interval in milliseconds\n */\n DEFAULT_POLL_INTERVAL_MS: 30,\n /**\n * Msal-browser SKU\n */\n MSAL_SKU: \"msal.js.browser\",\n};\n\nexport const NativeConstants = {\n CHANNEL_ID: \"53ee284d-920a-4b59-9d30-a60315b26836\",\n PREFERRED_EXTENSION_ID: \"ppnbnpeolgkicgegkbkbjmhlideopiji\",\n MATS_TELEMETRY: \"MATS\"\n};\n\nexport enum NativeExtensionMethod {\n HandshakeRequest = \"Handshake\",\n HandshakeResponse = \"HandshakeResponse\",\n GetToken = \"GetToken\",\n Response = \"Response\"\n}\n\nexport enum BrowserCacheLocation {\n LocalStorage = \"localStorage\",\n SessionStorage = \"sessionStorage\",\n MemoryStorage = \"memoryStorage\"\n}\n\n/**\n * HTTP Request types supported by MSAL.\n */\nexport enum HTTP_REQUEST_TYPE {\n GET = \"GET\",\n POST = \"POST\"\n}\n\n/**\n * Temporary cache keys for MSAL, deleted after any request.\n */\nexport enum TemporaryCacheKeys {\n AUTHORITY = \"authority\",\n ACQUIRE_TOKEN_ACCOUNT = \"acquireToken.account\",\n SESSION_STATE = \"session.state\",\n REQUEST_STATE = \"request.state\",\n NONCE_IDTOKEN = \"nonce.id_token\",\n ORIGIN_URI = \"request.origin\",\n RENEW_STATUS = \"token.renew.status\",\n URL_HASH = \"urlHash\",\n REQUEST_PARAMS = \"request.params\",\n SCOPES = \"scopes\",\n INTERACTION_STATUS_KEY = \"interaction.status\",\n CCS_CREDENTIAL = \"ccs.credential\",\n CORRELATION_ID = \"request.correlationId\",\n NATIVE_REQUEST = \"request.native\",\n REDIRECT_CONTEXT = \"request.redirect.context\"\n}\n\n/**\n * Cache keys stored in-memory\n */\nexport enum InMemoryCacheKeys {\n WRAPPER_SKU = \"wrapper.sku\",\n WRAPPER_VER = \"wrapper.version\"\n}\n\n/**\n * API Codes for Telemetry purposes. \n * Before adding a new code you must claim it in the MSAL Telemetry tracker as these number spaces are shared across all MSALs\n * 0-99 Silent Flow\n * 800-899 Auth Code Flow\n */\nexport enum ApiId {\n acquireTokenRedirect = 861,\n acquireTokenPopup = 862,\n ssoSilent = 863,\n acquireTokenSilent_authCode = 864,\n handleRedirectPromise = 865,\n acquireTokenByCode = 866,\n acquireTokenSilent_silentFlow = 61,\n logout = 961,\n logoutPopup = 962\n}\n\n/*\n * Interaction type of the API - used for state and telemetry\n */\nexport enum InteractionType {\n Redirect = \"redirect\",\n Popup = \"popup\",\n Silent = \"silent\",\n None = \"none\"\n}\n\n/**\n * Types of interaction currently in progress.\n * Used in events in wrapper libraries to invoke functions when certain interaction is in progress or all interactions are complete.\n */\nexport enum InteractionStatus {\n /**\n * Initial status before interaction occurs\n */\n Startup = \"startup\",\n /**\n * Status set when all login calls occuring\n */\n Login = \"login\",\n /**\n * Status set when logout call occuring\n */ \n Logout = \"logout\",\n /**\n * Status set for acquireToken calls\n */\n AcquireToken = \"acquireToken\",\n /**\n * Status set for ssoSilent calls\n */\n SsoSilent = \"ssoSilent\",\n /**\n * Status set when handleRedirect in progress\n */\n HandleRedirect = \"handleRedirect\",\n /**\n * Status set when interaction is complete\n */\n None = \"none\"\n}\n\nexport const DEFAULT_REQUEST: RedirectRequest|PopupRequest = {\n scopes: OIDC_DEFAULT_SCOPES\n};\n\n/**\n * JWK Key Format string (Type MUST be defined for window crypto APIs)\n */\nexport const KEY_FORMAT_JWK = \"jwk\";\n\n// Supported wrapper SKUs\nexport enum WrapperSKU {\n React = \"@azure/msal-react\",\n Angular = \"@azure/msal-angular\"\n}\n\n// DatabaseStorage Constants\nexport const DB_NAME = \"msal.db\";\nexport const DB_VERSION = 1;\nexport const DB_TABLE_NAME = `${DB_NAME}.keys`;\n\nexport enum CacheLookupPolicy {\n /*\n * acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired\n * or cannot be found the refresh token will be used to acquire a new one. Finally, if the refresh token\n * is expired acquireTokenSilent will attempt to acquire new access and refresh tokens.\n */\n Default = 0, // 0 is falsy, is equivalent to not passing in a CacheLookupPolicy\n /*\n * acquireTokenSilent will only look for access tokens in the cache. It will not attempt to renew access or\n * refresh tokens.\n */\n AccessToken = 1,\n /*\n * acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired or\n * cannot be found, the refresh token will be used to acquire a new one. If the refresh token is expired, it\n * will not be renewed and acquireTokenSilent will fail.\n */\n AccessTokenAndRefreshToken = 2,\n /*\n * acquireTokenSilent will not attempt to retrieve access tokens from the cache and will instead attempt to\n * exchange the cached refresh token for a new access token. If the refresh token is expired, it will not be\n * renewed and acquireTokenSilent will fail.\n */\n RefreshToken = 3,\n /*\n * acquireTokenSilent will not look in the cache for the access token. It will go directly to network with the\n * cached refresh token. If the refresh token is expired an attempt will be made to renew it. This is equivalent to\n * setting \"forceRefresh: true\".\n */\n RefreshTokenAndNetwork = 4,\n /*\n * acquireTokenSilent will attempt to renew both access and refresh tokens. It will not look in the cache. This will\n * always fail if 3rd party cookies are blocked by the browser.\n */\n Skip = 5,\n}\n","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n return function () {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (isNativeReflectConstruct()) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = unsupportedIterableToArray(o))) {\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"draw2d\"] = factory();\n\telse\n\t\troot[\"draw2d\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/canvg-browser/index.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/canvg-browser/index.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\n var RGBColor = __webpack_require__(/*! rgbcolor */ \"./node_modules/rgbcolor/index.js\");\r\n var stackblur = __webpack_require__(/*! stackblur */ \"./node_modules/stackblur/index.js\");\r\n var xmldom = __webpack_require__(/*! xmldom */ \"./node_modules/xmldom/dom-parser.js\");\r\n\r\n/*\r\n * canvg.js - Javascript SVG parser and renderer on Canvas\r\n * MIT Licensed\r\n * Gabe Lerner (gabelerner@gmail.com)\r\n * http://code.google.com/p/canvg/\r\n *\r\n * Requires: rgbcolor.js - http://www.phpied.com/rgb-color-parser-in-javascript/\r\n */\r\n\r\n/*\r\ncanvg(target, s)\r\n empty parameters: replace all 'svg' elements on page with 'canvas' elements\r\n target: canvas element or the id of a canvas element\r\n s: svg string, url to svg file, or xml document\r\n opts: optional hash of options\r\n ignoreMouse: true => ignore mouse events\r\n ignoreAnimation: true => ignore animations\r\n ignoreDimensions: true => does not try to resize canvas\r\n ignoreClear: true => does not clear canvas\r\n offsetX: int => draws at a x offset\r\n offsetY: int => draws at a y offset\r\n scaleWidth: int => scales horizontally to width\r\n scaleHeight: int => scales vertically to height\r\n renderCallback: function => will call the function after the first render is completed\r\n forceRedraw: function => will call the function on every frame, if it returns true, will redraw\r\n*/\r\nfunction canvg(target, s, opts) {\r\n\r\n\t// no parameters\r\n\tif (target == null && s == null && opts == null) {\r\n\t\tvar svgTags = document.querySelectorAll('svg');\r\n\t\tfor (var i=0; i~\\.\\[:]+)/g;\r\n var classRegex = /(\\.[^\\s\\+>~\\.\\[:]+)/g;\r\n var pseudoElementRegex = /(::[^\\s\\+>~\\.\\[:]+|:first-line|:first-letter|:before|:after)/gi;\r\n var pseudoClassWithBracketsRegex = /(:[\\w-]+\\([^\\)]*\\))/gi;\r\n var pseudoClassRegex = /(:[^\\s\\+>~\\.\\[:]+)/g;\r\n var elementRegex = /([^\\s\\+>~\\.\\[:]+)/g;\r\n\r\n\tvar findMatch = function(regex, type) {\r\n\t\tvar matches = selector.match(regex);\r\n\t\tif (matches == null) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\ttypeCount[type] += matches.length;\r\n\t\tselector = selector.replace(regex, ' ');\r\n\t};\r\n\r\n\tselector = selector.replace(/:not\\(([^\\)]*)\\)/g, ' $1 ');\r\n\tselector = selector.replace(/{[^]*/gm, ' ');\r\n\tfindMatch(attributeRegex, 1);\r\n\tfindMatch(idRegex, 0);\r\n\tfindMatch(classRegex, 1);\r\n\tfindMatch(pseudoElementRegex, 2);\r\n\tfindMatch(pseudoClassWithBracketsRegex, 1);\r\n\tfindMatch(pseudoClassRegex, 1);\r\n\tselector = selector.replace(/[\\*\\s\\+>~]/g, ' ');\r\n\tselector = selector.replace(/[#\\.]/g, ' ');\r\n\tfindMatch(elementRegex, 2);\r\n\treturn typeCount.join('');\r\n}\r\n\r\nfunction build(opts) {\r\n\tvar svg = { opts: opts };\r\n\r\n var matchesSelector = getMatchesSelector();\r\n\r\n if (typeof CanvasRenderingContext2D != 'undefined') {\r\n CanvasRenderingContext2D.prototype.drawSvg = function(s, dx, dy, dw, dh, opts) {\r\n var cOpts = {\r\n ignoreMouse: true,\r\n ignoreAnimation: true,\r\n ignoreDimensions: true,\r\n ignoreClear: true,\r\n offsetX: dx,\r\n offsetY: dy,\r\n scaleWidth: dw,\r\n scaleHeight: dh\r\n };\r\n\r\n for(var prop in opts) {\r\n if(opts.hasOwnProperty(prop)){\r\n cOpts[prop] = opts[prop];\r\n }\r\n }\r\n canvg(this.canvas, s, cOpts);\r\n };\r\n }\r\n\r\n\tsvg.FRAMERATE = 30;\r\n\tsvg.MAX_VIRTUAL_PIXELS = 30000;\r\n\r\n\tsvg.log = function(msg) {};\r\n\tif (svg.opts.log == true && typeof console != 'undefined') {\r\n\t\tsvg.log = function(msg) { console.log(msg); };\r\n\t}\r\n\r\n\t// globals\r\n\tsvg.init = function(ctx) {\r\n\t\tvar uniqueId = 0;\r\n\t\tsvg.UniqueId = function () { uniqueId++; return 'canvg' + uniqueId;\t};\r\n\t\tsvg.Definitions = {};\r\n\t\tsvg.Styles = {};\r\n\t\tsvg.StylesSpecificity = {};\r\n\t\tsvg.Animations = [];\r\n\t\tsvg.Images = [];\r\n\t\tsvg.ctx = ctx;\r\n\t\tsvg.ViewPort = new (function () {\r\n\t\t\tthis.viewPorts = [];\r\n\t\t\tthis.Clear = function() { this.viewPorts = []; };\r\n\t\t\tthis.SetCurrent = function(width, height) { this.viewPorts.push({ width: width, height: height }); };\r\n\t\t\tthis.RemoveCurrent = function() { this.viewPorts.pop(); };\r\n\t\t\tthis.Current = function() { return this.viewPorts[this.viewPorts.length - 1]; };\r\n\t\t\tthis.width = function() { return this.Current().width; };\r\n\t\t\tthis.height = function() { return this.Current().height; };\r\n\t\t\tthis.ComputeSize = function(d) {\r\n\t\t\t\tif (d != null && typeof d == 'number') return d;\r\n\t\t\t\tif (d == 'x') return this.width();\r\n\t\t\t\tif (d == 'y') return this.height();\r\n\t\t\t\treturn Math.sqrt(Math.pow(this.width(), 2) + Math.pow(this.height(), 2)) / Math.sqrt(2);\r\n\t\t\t};\r\n\t\t});\r\n\t}\r\n\tsvg.init();\r\n\r\n\t// images loaded\r\n\tsvg.ImagesLoaded = function() {\r\n\t\tfor (var i=0; i]*>/, '');\r\n\t\t\tvar xmlDoc = new ActiveXObject('Microsoft.XMLDOM');\r\n\t\t\txmlDoc.async = 'false';\r\n\t\t\txmlDoc.loadXML(xml);\r\n\t\t\treturn xmlDoc;\r\n\t\t}\r\n\t}\r\n\r\n\tsvg.Property = function(name, value) {\r\n\t\tthis.name = name;\r\n\t\tthis.value = value;\r\n\t}\r\n\t\tsvg.Property.prototype.getValue = function() {\r\n\t\t\treturn this.value;\r\n\t\t}\r\n\r\n\t\tsvg.Property.prototype.hasValue = function() {\r\n\t\t\treturn (this.value != null && this.value != '');\r\n\t\t}\r\n\r\n\t\t// return the numerical value of the property\r\n\t\tsvg.Property.prototype.numValue = function() {\r\n\t\t\tif (!this.hasValue()) return 0;\r\n\r\n\t\t\tvar n = parseFloat(this.value);\r\n\t\t\tif ((this.value + '').match(/%$/)) {\r\n\t\t\t\tn = n / 100.0;\r\n\t\t\t}\r\n\t\t\treturn n;\r\n\t\t}\r\n\r\n\t\tsvg.Property.prototype.valueOrDefault = function(def) {\r\n\t\t\tif (this.hasValue()) return this.value;\r\n\t\t\treturn def;\r\n\t\t}\r\n\r\n\t\tsvg.Property.prototype.numValueOrDefault = function(def) {\r\n\t\t\tif (this.hasValue()) return this.numValue();\r\n\t\t\treturn def;\r\n\t\t}\r\n\r\n\t\t// color extensions\r\n\t\t\t// augment the current color value with the opacity\r\n\t\t\tsvg.Property.prototype.addOpacity = function(opacityProp) {\r\n\t\t\t\tvar newValue = this.value;\r\n\t\t\t\tif (opacityProp.value != null && opacityProp.value != '' && typeof this.value == 'string') { // can only add opacity to colors, not patterns\r\n\t\t\t\t\tvar color = new RGBColor(this.value);\r\n\t\t\t\t\tif (color.ok) {\r\n\t\t\t\t\t\tnewValue = 'rgba(' + color.r + ', ' + color.g + ', ' + color.b + ', ' + opacityProp.numValue() + ')';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn new svg.Property(this.name, newValue);\r\n\t\t\t}\r\n\r\n\t\t// definition extensions\r\n\t\t\t// get the definition from the definitions table\r\n\t\t\tsvg.Property.prototype.getDefinition = function() {\r\n\t\t\t\tvar name = this.value.match(/#([^\\)'\"]+)/);\r\n\t\t\t\tif (name) { name = name[1]; }\r\n\t\t\t\tif (!name) { name = this.value; }\r\n\t\t\t\treturn svg.Definitions[name];\r\n\t\t\t}\r\n\r\n\t\t\tsvg.Property.prototype.isUrlDefinition = function() {\r\n\t\t\t\treturn this.value.indexOf('url(') == 0\r\n\t\t\t}\r\n\r\n\t\t\tsvg.Property.prototype.getFillStyleDefinition = function(e, opacityProp) {\r\n\t\t\t\tvar def = this.getDefinition();\r\n\r\n\t\t\t\t// gradient\r\n\t\t\t\tif (def != null && def.createGradient) {\r\n\t\t\t\t\treturn def.createGradient(svg.ctx, e, opacityProp);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// pattern\r\n\t\t\t\tif (def != null && def.createPattern) {\r\n\t\t\t\t\tif (def.getHrefAttribute().hasValue()) {\r\n\t\t\t\t\t\tvar pt = def.attribute('patternTransform');\r\n\t\t\t\t\t\tdef = def.getHrefAttribute().getDefinition();\r\n\t\t\t\t\t\tif (pt.hasValue()) { def.attribute('patternTransform', true).value = pt.value; }\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn def.createPattern(svg.ctx, e);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t// length extensions\r\n\t\t\tsvg.Property.prototype.getDPI = function(viewPort) {\r\n\t\t\t\treturn 96.0; // TODO: compute?\r\n\t\t\t}\r\n\r\n\t\t\tsvg.Property.prototype.getEM = function(viewPort) {\r\n\t\t\t\tvar em = 12;\r\n\r\n\t\t\t\tvar fontSize = new svg.Property('fontSize', svg.Font.Parse(svg.ctx.font).fontSize);\r\n\t\t\t\tif (fontSize.hasValue()) em = fontSize.toPixels(viewPort);\r\n\r\n\t\t\t\treturn em;\r\n\t\t\t}\r\n\r\n\t\t\tsvg.Property.prototype.getUnits = function() {\r\n\t\t\t\tvar s = this.value+'';\r\n\t\t\t\treturn s.replace(/[0-9\\.\\-]/g,'');\r\n\t\t\t}\r\n\r\n\t\t\t// get the length as pixels\r\n\t\t\tsvg.Property.prototype.toPixels = function(viewPort, processPercent) {\r\n\t\t\t\tif (!this.hasValue()) return 0;\r\n\t\t\t\tvar s = this.value+'';\r\n\t\t\t\tif (s.match(/em$/)) return this.numValue() * this.getEM(viewPort);\r\n\t\t\t\tif (s.match(/ex$/)) return this.numValue() * this.getEM(viewPort) / 2.0;\r\n\t\t\t\tif (s.match(/px$/)) return this.numValue();\r\n\t\t\t\tif (s.match(/pt$/)) return this.numValue() * this.getDPI(viewPort) * (1.0 / 72.0);\r\n\t\t\t\tif (s.match(/pc$/)) return this.numValue() * 15;\r\n\t\t\t\tif (s.match(/cm$/)) return this.numValue() * this.getDPI(viewPort) / 2.54;\r\n\t\t\t\tif (s.match(/mm$/)) return this.numValue() * this.getDPI(viewPort) / 25.4;\r\n\t\t\t\tif (s.match(/in$/)) return this.numValue() * this.getDPI(viewPort);\r\n\t\t\t\tif (s.match(/%$/)) return this.numValue() * svg.ViewPort.ComputeSize(viewPort);\r\n\t\t\t\tvar n = this.numValue();\r\n\t\t\t\tif (processPercent && n < 1.0) return n * svg.ViewPort.ComputeSize(viewPort);\r\n\t\t\t\treturn n;\r\n\t\t\t}\r\n\r\n\t\t// time extensions\r\n\t\t\t// get the time as milliseconds\r\n\t\t\tsvg.Property.prototype.toMilliseconds = function() {\r\n\t\t\t\tif (!this.hasValue()) return 0;\r\n\t\t\t\tvar s = this.value+'';\r\n\t\t\t\tif (s.match(/s$/)) return this.numValue() * 1000;\r\n\t\t\t\tif (s.match(/ms$/)) return this.numValue();\r\n\t\t\t\treturn this.numValue();\r\n\t\t\t}\r\n\r\n\t\t// angle extensions\r\n\t\t\t// get the angle as radians\r\n\t\t\tsvg.Property.prototype.toRadians = function() {\r\n\t\t\t\tif (!this.hasValue()) return 0;\r\n\t\t\t\tvar s = this.value+'';\r\n\t\t\t\tif (s.match(/deg$/)) return this.numValue() * (Math.PI / 180.0);\r\n\t\t\t\tif (s.match(/grad$/)) return this.numValue() * (Math.PI / 200.0);\r\n\t\t\t\tif (s.match(/rad$/)) return this.numValue();\r\n\t\t\t\treturn this.numValue() * (Math.PI / 180.0);\r\n\t\t\t}\r\n\r\n\t\t// text extensions\r\n\t\t\t// get the text baseline\r\n\t\t\tvar textBaselineMapping = {\r\n\t\t\t\t'baseline': 'alphabetic',\r\n\t\t\t\t'before-edge': 'top',\r\n\t\t\t\t'text-before-edge': 'top',\r\n\t\t\t\t'middle': 'middle',\r\n\t\t\t\t'central': 'middle',\r\n\t\t\t\t'after-edge': 'bottom',\r\n\t\t\t\t'text-after-edge': 'bottom',\r\n\t\t\t\t'ideographic': 'ideographic',\r\n\t\t\t\t'alphabetic': 'alphabetic',\r\n\t\t\t\t'hanging': 'hanging',\r\n\t\t\t\t'mathematical': 'alphabetic'\r\n\t\t\t};\r\n\t\t\tsvg.Property.prototype.toTextBaseline = function () {\r\n\t\t\t\tif (!this.hasValue()) return null;\r\n\t\t\t\treturn textBaselineMapping[this.value];\r\n\t\t\t}\r\n\r\n\t// fonts\r\n\tsvg.Font = new (function() {\r\n\t\tthis.Styles = 'normal|italic|oblique|inherit';\r\n\t\tthis.Variants = 'normal|small-caps|inherit';\r\n\t\tthis.Weights = 'normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit';\r\n\r\n\t\tthis.CreateFont = function(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) {\r\n\t\t\tvar f = inherit != null ? this.Parse(inherit) : this.CreateFont('', '', '', '', '', svg.ctx.font);\r\n\t\t\treturn {\r\n\t\t\t\tfontFamily: fontFamily || f.fontFamily,\r\n\t\t\t\tfontSize: fontSize || f.fontSize,\r\n\t\t\t\tfontStyle: fontStyle || f.fontStyle,\r\n\t\t\t\tfontWeight: fontWeight || f.fontWeight,\r\n\t\t\t\tfontVariant: fontVariant || f.fontVariant,\r\n\t\t\t\ttoString: function () { return [this.fontStyle, this.fontVariant, this.fontWeight, this.fontSize, this.fontFamily].join(' ') }\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar that = this;\r\n\t\tthis.Parse = function(s) {\r\n\t\t\tvar f = {};\r\n\t\t\tvar d = svg.trim(svg.compressSpaces(s || '')).split(' ');\r\n\t\t\tvar set = { fontSize: false, fontStyle: false, fontWeight: false, fontVariant: false }\r\n\t\t\tvar ff = '';\r\n\t\t\tfor (var i=0; i this.x2) this.x2 = x;\r\n\t\t\t}\r\n\r\n\t\t\tif (y != null) {\r\n\t\t\t\tif (isNaN(this.y1) || isNaN(this.y2)) {\r\n\t\t\t\t\tthis.y1 = y;\r\n\t\t\t\t\tthis.y2 = y;\r\n\t\t\t\t}\r\n\t\t\t\tif (y < this.y1) this.y1 = y;\r\n\t\t\t\tif (y > this.y2) this.y2 = y;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.addX = function(x) { this.addPoint(x, null); }\r\n\t\tthis.addY = function(y) { this.addPoint(null, y); }\r\n\r\n\t\tthis.addBoundingBox = function(bb) {\r\n\t\t\tthis.addPoint(bb.x1, bb.y1);\r\n\t\t\tthis.addPoint(bb.x2, bb.y2);\r\n\t\t}\r\n\r\n\t\tthis.addQuadraticCurve = function(p0x, p0y, p1x, p1y, p2x, p2y) {\r\n\t\t\tvar cp1x = p0x + 2/3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0)\r\n\t\t\tvar cp1y = p0y + 2/3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0)\r\n\t\t\tvar cp2x = cp1x + 1/3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0)\r\n\t\t\tvar cp2y = cp1y + 1/3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0)\r\n\t\t\tthis.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y,\tcp2y, p2x, p2y);\r\n\t\t}\r\n\r\n\t\tthis.addBezierCurve = function(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) {\r\n\t\t\t// from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\r\n\t\t\tvar p0 = [p0x, p0y], p1 = [p1x, p1y], p2 = [p2x, p2y], p3 = [p3x, p3y];\r\n\t\t\tthis.addPoint(p0[0], p0[1]);\r\n\t\t\tthis.addPoint(p3[0], p3[1]);\r\n\r\n\t\t\tfor (var i=0; i<=1; i++) {\r\n\t\t\t\tvar f = function(t) {\r\n\t\t\t\t\treturn Math.pow(1-t, 3) * p0[i]\r\n\t\t\t\t\t+ 3 * Math.pow(1-t, 2) * t * p1[i]\r\n\t\t\t\t\t+ 3 * (1-t) * Math.pow(t, 2) * p2[i]\r\n\t\t\t\t\t+ Math.pow(t, 3) * p3[i];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\r\n\t\t\t\tvar a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\r\n\t\t\t\tvar c = 3 * p1[i] - 3 * p0[i];\r\n\r\n\t\t\t\tif (a == 0) {\r\n\t\t\t\t\tif (b == 0) continue;\r\n\t\t\t\t\tvar t = -c / b;\r\n\t\t\t\t\tif (0 < t && t < 1) {\r\n\t\t\t\t\t\tif (i == 0) this.addX(f(t));\r\n\t\t\t\t\t\tif (i == 1) this.addY(f(t));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar b2ac = Math.pow(b, 2) - 4 * c * a;\r\n\t\t\t\tif (b2ac < 0) continue;\r\n\t\t\t\tvar t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\r\n\t\t\t\tif (0 < t1 && t1 < 1) {\r\n\t\t\t\t\tif (i == 0) this.addX(f(t1));\r\n\t\t\t\t\tif (i == 1) this.addY(f(t1));\r\n\t\t\t\t}\r\n\t\t\t\tvar t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\r\n\t\t\t\tif (0 < t2 && t2 < 1) {\r\n\t\t\t\t\tif (i == 0) this.addX(f(t2));\r\n\t\t\t\t\tif (i == 1) this.addY(f(t2));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.isPointInBox = function(x, y) {\r\n\t\t\treturn (this.x1 <= x && x <= this.x2 && this.y1 <= y && y <= this.y2);\r\n\t\t}\r\n\r\n\t\tthis.addPoint(x1, y1);\r\n\t\tthis.addPoint(x2, y2);\r\n\t}\r\n\r\n\t// transforms\r\n\tsvg.Transform = function(v) {\r\n\t\tvar that = this;\r\n\t\tthis.Type = {}\r\n\r\n\t\t// translate\r\n\t\tthis.Type.translate = function(s) {\r\n\t\t\tthis.p = svg.CreatePoint(s);\r\n\t\t\tthis.apply = function(ctx) {\r\n\t\t\t\tctx.translate(this.p.x || 0.0, this.p.y || 0.0);\r\n\t\t\t}\r\n\t\t\tthis.unapply = function(ctx) {\r\n\t\t\t\tctx.translate(-1.0 * this.p.x || 0.0, -1.0 * this.p.y || 0.0);\r\n\t\t\t}\r\n\t\t\tthis.applyToPoint = function(p) {\r\n\t\t\t\tp.applyTransform([1, 0, 0, 1, this.p.x || 0.0, this.p.y || 0.0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// rotate\r\n\t\tthis.Type.rotate = function(s) {\r\n\t\t\tvar a = svg.ToNumberArray(s);\r\n\t\t\tthis.angle = new svg.Property('angle', a[0]);\r\n\t\t\tthis.cx = a[1] || 0;\r\n\t\t\tthis.cy = a[2] || 0;\r\n\t\t\tthis.apply = function(ctx) {\r\n\t\t\t\tctx.translate(this.cx, this.cy);\r\n\t\t\t\tctx.rotate(this.angle.toRadians());\r\n\t\t\t\tctx.translate(-this.cx, -this.cy);\r\n\t\t\t}\r\n\t\t\tthis.unapply = function(ctx) {\r\n\t\t\t\tctx.translate(this.cx, this.cy);\r\n\t\t\t\tctx.rotate(-1.0 * this.angle.toRadians());\r\n\t\t\t\tctx.translate(-this.cx, -this.cy);\r\n\t\t\t}\r\n\t\t\tthis.applyToPoint = function(p) {\r\n\t\t\t\tvar a = this.angle.toRadians();\r\n\t\t\t\tp.applyTransform([1, 0, 0, 1, this.p.x || 0.0, this.p.y || 0.0]);\r\n\t\t\t\tp.applyTransform([Math.cos(a), Math.sin(a), -Math.sin(a), Math.cos(a), 0, 0]);\r\n\t\t\t\tp.applyTransform([1, 0, 0, 1, -this.p.x || 0.0, -this.p.y || 0.0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.Type.scale = function(s) {\r\n\t\t\tthis.p = svg.CreatePoint(s);\r\n\t\t\tthis.apply = function(ctx) {\r\n\t\t\t\tctx.scale(this.p.x || 1.0, this.p.y || this.p.x || 1.0);\r\n\t\t\t}\r\n\t\t\tthis.unapply = function(ctx) {\r\n\t\t\t\tctx.scale(1.0 / this.p.x || 1.0, 1.0 / this.p.y || this.p.x || 1.0);\r\n\t\t\t}\r\n\t\t\tthis.applyToPoint = function(p) {\r\n\t\t\t\tp.applyTransform([this.p.x || 0.0, 0, 0, this.p.y || 0.0, 0, 0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.Type.matrix = function(s) {\r\n\t\t\tthis.m = svg.ToNumberArray(s);\r\n\t\t\tthis.apply = function(ctx) {\r\n\t\t\t\tctx.transform(this.m[0], this.m[1], this.m[2], this.m[3], this.m[4], this.m[5]);\r\n\t\t\t}\r\n\t\t\tthis.unapply = function(ctx) {\r\n\t\t\t\tvar a = this.m[0];\r\n\t\t\t\tvar b = this.m[2];\r\n\t\t\t\tvar c = this.m[4];\r\n\t\t\t\tvar d = this.m[1];\r\n\t\t\t\tvar e = this.m[3];\r\n\t\t\t\tvar f = this.m[5];\r\n\t\t\t\tvar g = 0.0;\r\n\t\t\t\tvar h = 0.0;\r\n\t\t\t\tvar i = 1.0;\r\n\t\t\t\tvar det = 1 / (a*(e*i-f*h)-b*(d*i-f*g)+c*(d*h-e*g));\r\n\t\t\t\tctx.transform(\r\n\t\t\t\t\tdet*(e*i-f*h),\r\n\t\t\t\t\tdet*(f*g-d*i),\r\n\t\t\t\t\tdet*(c*h-b*i),\r\n\t\t\t\t\tdet*(a*i-c*g),\r\n\t\t\t\t\tdet*(b*f-c*e),\r\n\t\t\t\t\tdet*(c*d-a*f)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tthis.applyToPoint = function(p) {\r\n\t\t\t\tp.applyTransform(this.m);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.Type.SkewBase = function(s) {\r\n\t\t\tthis.base = that.Type.matrix;\r\n\t\t\tthis.base(s);\r\n\t\t\tthis.angle = new svg.Property('angle', s);\r\n\t\t}\r\n\t\tthis.Type.SkewBase.prototype = new this.Type.matrix;\r\n\r\n\t\tthis.Type.skewX = function(s) {\r\n\t\t\tthis.base = that.Type.SkewBase;\r\n\t\t\tthis.base(s);\r\n\t\t\tthis.m = [1, 0, Math.tan(this.angle.toRadians()), 1, 0, 0];\r\n\t\t}\r\n\t\tthis.Type.skewX.prototype = new this.Type.SkewBase;\r\n\r\n\t\tthis.Type.skewY = function(s) {\r\n\t\t\tthis.base = that.Type.SkewBase;\r\n\t\t\tthis.base(s);\r\n\t\t\tthis.m = [1, Math.tan(this.angle.toRadians()), 0, 1, 0, 0];\r\n\t\t}\r\n\t\tthis.Type.skewY.prototype = new this.Type.SkewBase;\r\n\r\n\t\tthis.transforms = [];\r\n\r\n\t\tthis.apply = function(ctx) {\r\n\t\t\tfor (var i=0; i=0; i--) {\r\n\t\t\t\tthis.transforms[i].unapply(ctx);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.applyToPoint = function(p) {\r\n\t\t\tfor (var i=0; i existingSpecificity) {\r\n\t\t\t\t\t\t\t\tthis.styles[name] = styles[name];\r\n\t\t\t\t\t\t\t\tthis.stylesSpecificity[name] = specificity;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif (node != null && node.nodeType == 1) { //ELEMENT_NODE\r\n\t\t\t// add attributes\r\n\t\t\tfor (var i=0; i 0) {\r\n\t\t\t\tmarkers.push([this.points[this.points.length-1], markers[markers.length-1][1]]);\r\n\t\t\t}\r\n\t\t\treturn markers;\r\n\t\t}\r\n\t}\r\n\tsvg.Element.polyline.prototype = new svg.Element.PathElementBase;\r\n\r\n\t// polygon element\r\n\tsvg.Element.polygon = function(node) {\r\n\t\tthis.base = svg.Element.polyline;\r\n\t\tthis.base(node);\r\n\r\n\t\tthis.basePath = this.path;\r\n\t\tthis.path = function(ctx) {\r\n\t\t\tvar bb = this.basePath(ctx);\r\n\t\t\tif (ctx != null) {\r\n\t\t\t\tctx.lineTo(this.points[0].x, this.points[0].y);\r\n\t\t\t\tctx.closePath();\r\n\t\t\t}\r\n\t\t\treturn bb;\r\n\t\t}\r\n\t}\r\n\tsvg.Element.polygon.prototype = new svg.Element.polyline;\r\n\r\n\t// path element\r\n\tsvg.Element.path = function(node) {\r\n\t\tthis.base = svg.Element.PathElementBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tvar d = this.attribute('d').value;\r\n\t\t// TODO: convert to real lexer based on http://www.w3.org/TR/SVG11/paths.html#PathDataBNF\r\n\t\td = d.replace(/,/gm,' '); // get rid of all commas\r\n\t\t// As the end of a match can also be the start of the next match, we need to run this replace twice.\r\n\t\tfor(var i=0; i<2; i++)\r\n\t\t\td = d.replace(/([MmZzLlHhVvCcSsQqTtAa])([^\\s])/gm,'$1 $2'); // suffix commands with spaces\r\n\t\td = d.replace(/([^\\s])([MmZzLlHhVvCcSsQqTtAa])/gm,'$1 $2'); // prefix commands with spaces\r\n\t\td = d.replace(/([0-9])([+\\-])/gm,'$1 $2'); // separate digits on +- signs\r\n\t\t// Again, we need to run this twice to find all occurances\r\n\t\tfor(var i=0; i<2; i++)\r\n\t\t\td = d.replace(/(\\.[0-9]*)(\\.)/gm,'$1 $2'); // separate digits when they start with a comma\r\n\t\td = d.replace(/([Aa](\\s+[0-9]+){3})\\s+([01])\\s*([01])/gm,'$1 $3 $4 '); // shorthand elliptical arc path syntax\r\n\t\td = svg.compressSpaces(d); // compress multiple spaces\r\n\t\td = svg.trim(d);\r\n\t\tthis.PathParser = new (function(d) {\r\n\t\t\tthis.tokens = d.split(' ');\r\n\r\n\t\t\tthis.reset = function() {\r\n\t\t\t\tthis.i = -1;\r\n\t\t\t\tthis.command = '';\r\n\t\t\t\tthis.previousCommand = '';\r\n\t\t\t\tthis.start = new svg.Point(0, 0);\r\n\t\t\t\tthis.control = new svg.Point(0, 0);\r\n\t\t\t\tthis.current = new svg.Point(0, 0);\r\n\t\t\t\tthis.points = [];\r\n\t\t\t\tthis.angles = [];\r\n\t\t\t}\r\n\r\n\t\t\tthis.isEnd = function() {\r\n\t\t\t\treturn this.i >= this.tokens.length - 1;\r\n\t\t\t}\r\n\r\n\t\t\tthis.isCommandOrEnd = function() {\r\n\t\t\t\tif (this.isEnd()) return true;\r\n\t\t\t\treturn this.tokens[this.i + 1].match(/^[A-Za-z]$/) != null;\r\n\t\t\t}\r\n\r\n\t\t\tthis.isRelativeCommand = function() {\r\n\t\t\t\tswitch(this.command)\r\n\t\t\t\t{\r\n\t\t\t\t\tcase 'm':\r\n\t\t\t\t\tcase 'l':\r\n\t\t\t\t\tcase 'h':\r\n\t\t\t\t\tcase 'v':\r\n\t\t\t\t\tcase 'c':\r\n\t\t\t\t\tcase 's':\r\n\t\t\t\t\tcase 'q':\r\n\t\t\t\t\tcase 't':\r\n\t\t\t\t\tcase 'a':\r\n\t\t\t\t\tcase 'z':\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tthis.getToken = function() {\r\n\t\t\t\tthis.i++;\r\n\t\t\t\treturn this.tokens[this.i];\r\n\t\t\t}\r\n\r\n\t\t\tthis.getScalar = function() {\r\n\t\t\t\treturn parseFloat(this.getToken());\r\n\t\t\t}\r\n\r\n\t\t\tthis.nextCommand = function() {\r\n\t\t\t\tthis.previousCommand = this.command;\r\n\t\t\t\tthis.command = this.getToken();\r\n\t\t\t}\r\n\r\n\t\t\tthis.getPoint = function() {\r\n\t\t\t\tvar p = new svg.Point(this.getScalar(), this.getScalar());\r\n\t\t\t\treturn this.makeAbsolute(p);\r\n\t\t\t}\r\n\r\n\t\t\tthis.getAsControlPoint = function() {\r\n\t\t\t\tvar p = this.getPoint();\r\n\t\t\t\tthis.control = p;\r\n\t\t\t\treturn p;\r\n\t\t\t}\r\n\r\n\t\t\tthis.getAsCurrentPoint = function() {\r\n\t\t\t\tvar p = this.getPoint();\r\n\t\t\t\tthis.current = p;\r\n\t\t\t\treturn p;\r\n\t\t\t}\r\n\r\n\t\t\tthis.getReflectedControlPoint = function() {\r\n\t\t\t\tif (this.previousCommand.toLowerCase() != 'c' &&\r\n\t\t\t\t this.previousCommand.toLowerCase() != 's' &&\r\n\t\t\t\t\tthis.previousCommand.toLowerCase() != 'q' &&\r\n\t\t\t\t\tthis.previousCommand.toLowerCase() != 't' ){\r\n\t\t\t\t\treturn this.current;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// reflect point\r\n\t\t\t\tvar p = new svg.Point(2 * this.current.x - this.control.x, 2 * this.current.y - this.control.y);\r\n\t\t\t\treturn p;\r\n\t\t\t}\r\n\r\n\t\t\tthis.makeAbsolute = function(p) {\r\n\t\t\t\tif (this.isRelativeCommand()) {\r\n\t\t\t\t\tp.x += this.current.x;\r\n\t\t\t\t\tp.y += this.current.y;\r\n\t\t\t\t}\r\n\t\t\t\treturn p;\r\n\t\t\t}\r\n\r\n\t\t\tthis.addMarker = function(p, from, priorTo) {\r\n\t\t\t\t// if the last angle isn't filled in because we didn't have this point yet ...\r\n\t\t\t\tif (priorTo != null && this.angles.length > 0 && this.angles[this.angles.length-1] == null) {\r\n\t\t\t\t\tthis.angles[this.angles.length-1] = this.points[this.points.length-1].angleTo(priorTo);\r\n\t\t\t\t}\r\n\t\t\t\tthis.addMarkerAngle(p, from == null ? null : from.angleTo(p));\r\n\t\t\t}\r\n\r\n\t\t\tthis.addMarkerAngle = function(p, a) {\r\n\t\t\t\tthis.points.push(p);\r\n\t\t\t\tthis.angles.push(a);\r\n\t\t\t}\r\n\r\n\t\t\tthis.getMarkerPoints = function() { return this.points; }\r\n\t\t\tthis.getMarkerAngles = function() {\r\n\t\t\t\tfor (var i=0; i 1) {\r\n\t\t\t\t\t\t\trx *= Math.sqrt(l);\r\n\t\t\t\t\t\t\try *= Math.sqrt(l);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// cx', cy'\r\n\t\t\t\t\t\tvar s = (largeArcFlag == sweepFlag ? -1 : 1) * Math.sqrt(\r\n\t\t\t\t\t\t\t((Math.pow(rx,2)*Math.pow(ry,2))-(Math.pow(rx,2)*Math.pow(currp.y,2))-(Math.pow(ry,2)*Math.pow(currp.x,2))) /\r\n\t\t\t\t\t\t\t(Math.pow(rx,2)*Math.pow(currp.y,2)+Math.pow(ry,2)*Math.pow(currp.x,2))\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tif (isNaN(s)) s = 0;\r\n\t\t\t\t\t\tvar cpp = new svg.Point(s * rx * currp.y / ry, s * -ry * currp.x / rx);\r\n\t\t\t\t\t\t// cx, cy\r\n\t\t\t\t\t\tvar centp = new svg.Point(\r\n\t\t\t\t\t\t\t(curr.x + cp.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y,\r\n\t\t\t\t\t\t\t(curr.y + cp.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\t// vector magnitude\r\n\t\t\t\t\t\tvar m = function(v) { return Math.sqrt(Math.pow(v[0],2) + Math.pow(v[1],2)); }\r\n\t\t\t\t\t\t// ratio between two vectors\r\n\t\t\t\t\t\tvar r = function(u, v) { return (u[0]*v[0]+u[1]*v[1]) / (m(u)*m(v)) }\r\n\t\t\t\t\t\t// angle between two vectors\r\n\t\t\t\t\t\tvar a = function(u, v) { return (u[0]*v[1] < u[1]*v[0] ? -1 : 1) * Math.acos(r(u,v)); }\r\n\t\t\t\t\t\t// initial angle\r\n\t\t\t\t\t\tvar a1 = a([1,0], [(currp.x-cpp.x)/rx,(currp.y-cpp.y)/ry]);\r\n\t\t\t\t\t\t// angle delta\r\n\t\t\t\t\t\tvar u = [(currp.x-cpp.x)/rx,(currp.y-cpp.y)/ry];\r\n\t\t\t\t\t\tvar v = [(-currp.x-cpp.x)/rx,(-currp.y-cpp.y)/ry];\r\n\t\t\t\t\t\tvar ad = a(u, v);\r\n\t\t\t\t\t\tif (r(u,v) <= -1) ad = Math.PI;\r\n\t\t\t\t\t\tif (r(u,v) >= 1) ad = 0;\r\n\r\n\t\t\t\t\t\t// for markers\r\n\t\t\t\t\t\tvar dir = 1 - sweepFlag ? 1.0 : -1.0;\r\n\t\t\t\t\t\tvar ah = a1 + dir * (ad / 2.0);\r\n\t\t\t\t\t\tvar halfWay = new svg.Point(\r\n\t\t\t\t\t\t\tcentp.x + rx * Math.cos(ah),\r\n\t\t\t\t\t\t\tcentp.y + ry * Math.sin(ah)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tpp.addMarkerAngle(halfWay, ah - dir * Math.PI / 2);\r\n\t\t\t\t\t\tpp.addMarkerAngle(cp, ah - dir * Math.PI);\r\n\r\n\t\t\t\t\t\tbb.addPoint(cp.x, cp.y); // TODO: this is too naive, make it better\r\n\t\t\t\t\t\tif (ctx != null) {\r\n\t\t\t\t\t\t\tvar r = rx > ry ? rx : ry;\r\n\t\t\t\t\t\t\tvar sx = rx > ry ? 1 : rx / ry;\r\n\t\t\t\t\t\t\tvar sy = rx > ry ? ry / rx : 1;\r\n\r\n\t\t\t\t\t\t\tctx.translate(centp.x, centp.y);\r\n\t\t\t\t\t\t\tctx.rotate(xAxisRotation);\r\n\t\t\t\t\t\t\tctx.scale(sx, sy);\r\n\t\t\t\t\t\t\tctx.arc(0, 0, r, a1, a1 + ad, 1 - sweepFlag);\r\n\t\t\t\t\t\t\tctx.scale(1/sx, 1/sy);\r\n\t\t\t\t\t\t\tctx.rotate(-xAxisRotation);\r\n\t\t\t\t\t\t\tctx.translate(-centp.x, -centp.y);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'Z':\r\n\t\t\t\tcase 'z':\r\n\t\t\t\t\tif (ctx != null) ctx.closePath();\r\n\t\t\t\t\tpp.current = pp.start;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn bb;\r\n\t\t}\r\n\r\n\t\tthis.getMarkers = function() {\r\n\t\t\tvar points = this.PathParser.getMarkerPoints();\r\n\t\t\tvar angles = this.PathParser.getMarkerAngles();\r\n\r\n\t\t\tvar markers = [];\r\n\t\t\tfor (var i=0; i 1) this.offset = 1;\r\n\r\n\t\tvar stopColor = this.style('stop-color', true);\r\n\t\tif (stopColor.value == '') stopColor.value = '#000';\r\n\t\tif (this.style('stop-opacity').hasValue()) stopColor = stopColor.addOpacity(this.style('stop-opacity'));\r\n\t\tthis.color = stopColor.value;\r\n\t}\r\n\tsvg.Element.stop.prototype = new svg.Element.ElementBase;\r\n\r\n\t// animation base element\r\n\tsvg.Element.AnimateBase = function(node) {\r\n\t\tthis.base = svg.Element.ElementBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tsvg.Animations.push(this);\r\n\r\n\t\tthis.duration = 0.0;\r\n\t\tthis.begin = this.attribute('begin').toMilliseconds();\r\n\t\tthis.maxDuration = this.begin + this.attribute('dur').toMilliseconds();\r\n\r\n\t\tthis.getProperty = function() {\r\n\t\t\tvar attributeType = this.attribute('attributeType').value;\r\n\t\t\tvar attributeName = this.attribute('attributeName').value;\r\n\r\n\t\t\tif (attributeType == 'CSS') {\r\n\t\t\t\treturn this.parent.style(attributeName, true);\r\n\t\t\t}\r\n\t\t\treturn this.parent.attribute(attributeName, true);\r\n\t\t};\r\n\r\n\t\tthis.initialValue = null;\r\n\t\tthis.initialUnits = '';\r\n\t\tthis.removed = false;\r\n\r\n\t\tthis.calcValue = function() {\r\n\t\t\t// OVERRIDE ME!\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tthis.update = function(delta) {\r\n\t\t\t// set initial value\r\n\t\t\tif (this.initialValue == null) {\r\n\t\t\t\tthis.initialValue = this.getProperty().value;\r\n\t\t\t\tthis.initialUnits = this.getProperty().getUnits();\r\n\t\t\t}\r\n\r\n\t\t\t// if we're past the end time\r\n\t\t\tif (this.duration > this.maxDuration) {\r\n\t\t\t\t// loop for indefinitely repeating animations\r\n\t\t\t\tif (this.attribute('repeatCount').value == 'indefinite'\r\n\t\t\t\t || this.attribute('repeatDur').value == 'indefinite') {\r\n\t\t\t\t\tthis.duration = 0.0\r\n\t\t\t\t}\r\n\t\t\t\telse if (this.attribute('fill').valueOrDefault('remove') == 'freeze' && !this.frozen) {\r\n\t\t\t\t\tthis.frozen = true;\r\n\t\t\t\t\tthis.parent.animationFrozen = true;\r\n\t\t\t\t\tthis.parent.animationFrozenValue = this.getProperty().value;\r\n\t\t\t\t}\r\n\t\t\t\telse if (this.attribute('fill').valueOrDefault('remove') == 'remove' && !this.removed) {\r\n\t\t\t\t\tthis.removed = true;\r\n\t\t\t\t\tthis.getProperty().value = this.parent.animationFrozen ? this.parent.animationFrozenValue : this.initialValue;\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tthis.duration = this.duration + delta;\r\n\r\n\t\t\t// if we're past the begin time\r\n\t\t\tvar updated = false;\r\n\t\t\tif (this.begin < this.duration) {\r\n\t\t\t\tvar newValue = this.calcValue(); // tween\r\n\r\n\t\t\t\tif (this.attribute('type').hasValue()) {\r\n\t\t\t\t\t// for transform, etc.\r\n\t\t\t\t\tvar type = this.attribute('type').value;\r\n\t\t\t\t\tnewValue = type + '(' + newValue + ')';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.getProperty().value = newValue;\r\n\t\t\t\tupdated = true;\r\n\t\t\t}\r\n\r\n\t\t\treturn updated;\r\n\t\t}\r\n\r\n\t\tthis.from = this.attribute('from');\r\n\t\tthis.to = this.attribute('to');\r\n\t\tthis.values = this.attribute('values');\r\n\t\tif (this.values.hasValue()) this.values.value = this.values.value.split(';');\r\n\r\n\t\t// fraction of duration we've covered\r\n\t\tthis.progress = function() {\r\n\t\t\tvar ret = { progress: (this.duration - this.begin) / (this.maxDuration - this.begin) };\r\n\t\t\tif (this.values.hasValue()) {\r\n\t\t\t\tvar p = ret.progress * (this.values.value.length - 1);\r\n\t\t\t\tvar lb = Math.floor(p), ub = Math.ceil(p);\r\n\t\t\t\tret.from = new svg.Property('from', parseFloat(this.values.value[lb]));\r\n\t\t\t\tret.to = new svg.Property('to', parseFloat(this.values.value[ub]));\r\n\t\t\t\tret.progress = (p - lb) / (ub - lb);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tret.from = this.from;\r\n\t\t\t\tret.to = this.to;\r\n\t\t\t}\r\n\t\t\treturn ret;\r\n\t\t}\r\n\t}\r\n\tsvg.Element.AnimateBase.prototype = new svg.Element.ElementBase;\r\n\r\n\t// animate element\r\n\tsvg.Element.animate = function(node) {\r\n\t\tthis.base = svg.Element.AnimateBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tthis.calcValue = function() {\r\n\t\t\tvar p = this.progress();\r\n\r\n\t\t\t// tween value linearly\r\n\t\t\tvar newValue = p.from.numValue() + (p.to.numValue() - p.from.numValue()) * p.progress;\r\n\t\t\treturn newValue + this.initialUnits;\r\n\t\t};\r\n\t}\r\n\tsvg.Element.animate.prototype = new svg.Element.AnimateBase;\r\n\r\n\t// animate color element\r\n\tsvg.Element.animateColor = function(node) {\r\n\t\tthis.base = svg.Element.AnimateBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tthis.calcValue = function() {\r\n\t\t\tvar p = this.progress();\r\n\t\t\tvar from = new RGBColor(p.from.value);\r\n\t\t\tvar to = new RGBColor(p.to.value);\r\n\r\n\t\t\tif (from.ok && to.ok) {\r\n\t\t\t\t// tween color linearly\r\n\t\t\t\tvar r = from.r + (to.r - from.r) * p.progress;\r\n\t\t\t\tvar g = from.g + (to.g - from.g) * p.progress;\r\n\t\t\t\tvar b = from.b + (to.b - from.b) * p.progress;\r\n\t\t\t\treturn 'rgb('+parseInt(r,10)+','+parseInt(g,10)+','+parseInt(b,10)+')';\r\n\t\t\t}\r\n\t\t\treturn this.attribute('from').value;\r\n\t\t};\r\n\t}\r\n\tsvg.Element.animateColor.prototype = new svg.Element.AnimateBase;\r\n\r\n\t// animate transform element\r\n\tsvg.Element.animateTransform = function(node) {\r\n\t\tthis.base = svg.Element.AnimateBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tthis.calcValue = function() {\r\n\t\t\tvar p = this.progress();\r\n\r\n\t\t\t// tween value linearly\r\n\t\t\tvar from = svg.ToNumberArray(p.from.value);\r\n\t\t\tvar to = svg.ToNumberArray(p.to.value);\r\n\t\t\tvar newValue = '';\r\n\t\t\tfor (var i=0; i startI && child.attribute('x').hasValue()) break; // new group\r\n\t\t\t\t\twidth += child.measureTextRecursive(ctx);\r\n\t\t\t\t}\r\n\t\t\t\treturn -1 * (textAnchor == 'end' ? width : width / 2.0);\r\n\t\t\t}\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tthis.renderChild = function(ctx, textParent, parent, i) {\r\n\t\t\tvar child = parent.children[i];\r\n\t\t\tif (child.attribute('x').hasValue()) {\r\n\t\t\t\tchild.x = child.attribute('x').toPixels('x') + textParent.getAnchorDelta(ctx, parent, i);\r\n\t\t\t\tif (child.attribute('dx').hasValue()) child.x += child.attribute('dx').toPixels('x');\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (child.attribute('dx').hasValue()) textParent.x += child.attribute('dx').toPixels('x');\r\n\t\t\t\tchild.x = textParent.x;\r\n\t\t\t}\r\n\t\t\ttextParent.x = child.x + child.measureText(ctx);\r\n\r\n\t\t\tif (child.attribute('y').hasValue()) {\r\n\t\t\t\tchild.y = child.attribute('y').toPixels('y');\r\n\t\t\t\tif (child.attribute('dy').hasValue()) child.y += child.attribute('dy').toPixels('y');\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (child.attribute('dy').hasValue()) textParent.y += child.attribute('dy').toPixels('y');\r\n\t\t\t\tchild.y = textParent.y;\r\n\t\t\t}\r\n\t\t\ttextParent.y = child.y;\r\n\r\n\t\t\tchild.render(ctx);\r\n\r\n\t\t\tfor (var i=0; i0 && text[i-1]!=' ' && i0 && text[i-1]!=' ' && (i == text.length-1 || text[i+1]==' ')) arabicForm = 'initial';\r\n\t\t\t\tif (typeof font.glyphs[c] != 'undefined') {\r\n\t\t\t\t\tglyph = font.glyphs[c][arabicForm];\r\n\t\t\t\t\tif (glyph == null && font.glyphs[c].type == 'glyph') glyph = font.glyphs[c];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tglyph = font.glyphs[c];\r\n\t\t\t}\r\n\t\t\tif (glyph == null) glyph = font.missingGlyph;\r\n\t\t\treturn glyph;\r\n\t\t}\r\n\r\n\t\tthis.renderChildren = function(ctx) {\r\n\t\t\tvar customFont = this.parent.style('font-family').getDefinition();\r\n\t\t\tif (customFont != null) {\r\n\t\t\t\tvar fontSize = this.parent.style('font-size').numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize);\r\n\t\t\t\tvar fontStyle = this.parent.style('font-style').valueOrDefault(svg.Font.Parse(svg.ctx.font).fontStyle);\r\n\t\t\t\tvar text = this.getText();\r\n\t\t\t\tif (customFont.isRTL) text = text.split(\"\").reverse().join(\"\");\r\n\r\n\t\t\t\tvar dx = svg.ToNumberArray(this.parent.attribute('dx').value);\r\n\t\t\t\tfor (var i=0; i 0) { return ''; }\r\n\t\t\treturn this.text;\r\n\t\t}\r\n\t}\r\n\tsvg.Element.tspan.prototype = new svg.Element.TextElementBase;\r\n\r\n\t// tref\r\n\tsvg.Element.tref = function(node) {\r\n\t\tthis.base = svg.Element.TextElementBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tthis.getText = function() {\r\n\t\t\tvar element = this.getHrefAttribute().getDefinition();\r\n\t\t\tif (element != null) return element.children[0].getText();\r\n\t\t}\r\n\t}\r\n\tsvg.Element.tref.prototype = new svg.Element.TextElementBase;\r\n\r\n\t// a element\r\n\tsvg.Element.a = function(node) {\r\n\t\tthis.base = svg.Element.TextElementBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tthis.hasText = node.childNodes.length > 0;\r\n\t\tfor (var i=0; i 0) {\r\n\t\t\t\t// render as temporary group\r\n\t\t\t\tvar g = new svg.Element.g();\r\n\t\t\t\tg.children = this.children;\r\n\t\t\t\tg.parent = this;\r\n\t\t\t\tg.render(ctx);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.onclick = function() {\r\n\t\t\twindow.open(this.getHrefAttribute().value);\r\n\t\t}\r\n\r\n\t\tthis.onmousemove = function() {\r\n\t\t\tsvg.ctx.canvas.style.cursor = 'pointer';\r\n\t\t}\r\n\t}\r\n\tsvg.Element.a.prototype = new svg.Element.TextElementBase;\r\n\r\n\t// image element\r\n\tsvg.Element.image = function(node) {\r\n\t\tthis.base = svg.Element.RenderedElementBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tvar href = this.getHrefAttribute().value;\r\n\t\tif (href == '') { return; }\r\n\t\tvar isSvg = href.match(/\\.svg$/)\r\n\r\n\t\tsvg.Images.push(this);\r\n\t\tthis.loaded = false;\r\n\t\tif (!isSvg) {\r\n\t\t\tthis.img = document.createElement('img');\r\n\t\t\tif (svg.opts['useCORS'] == true) { this.img.crossOrigin = 'Anonymous'; }\r\n\t\t\tvar self = this;\r\n\t\t\tthis.img.onload = function() { self.loaded = true; }\r\n\t\t\tthis.img.onerror = function() { svg.log('ERROR: image \"' + href + '\" not found'); self.loaded = true; }\r\n\t\t\tthis.img.src = href;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.img = svg.ajax(href);\r\n\t\t\tthis.loaded = true;\r\n\t\t}\r\n\r\n\t\tthis.renderChildren = function(ctx) {\r\n\t\t\tvar x = this.attribute('x').toPixels('x');\r\n\t\t\tvar y = this.attribute('y').toPixels('y');\r\n\r\n\t\t\tvar width = this.attribute('width').toPixels('x');\r\n\t\t\tvar height = this.attribute('height').toPixels('y');\r\n\t\t\tif (width == 0 || height == 0) return;\r\n\r\n\t\t\tctx.save();\r\n\t\t\tif (isSvg) {\r\n\t\t\t\tctx.drawSvg(this.img, x, y, width, height);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tsvg.AspectRatio(ctx,\r\n\t\t\t\t\t\t\t\tthis.attribute('preserveAspectRatio').value,\r\n\t\t\t\t\t\t\t\twidth,\r\n\t\t\t\t\t\t\t\tthis.img.width,\r\n\t\t\t\t\t\t\t\theight,\r\n\t\t\t\t\t\t\t\tthis.img.height,\r\n\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t0);\r\n\t\t\t\tctx.drawImage(this.img, 0, 0);\r\n\t\t\t}\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\r\n\t\tthis.getBoundingBox = function() {\r\n\t\t\tvar x = this.attribute('x').toPixels('x');\r\n\t\t\tvar y = this.attribute('y').toPixels('y');\r\n\t\t\tvar width = this.attribute('width').toPixels('x');\r\n\t\t\tvar height = this.attribute('height').toPixels('y');\r\n\t\t\treturn new svg.BoundingBox(x, y, x + width, y + height);\r\n\t\t}\r\n\t}\r\n\tsvg.Element.image.prototype = new svg.Element.RenderedElementBase;\r\n\r\n\t// group element\r\n\tsvg.Element.g = function(node) {\r\n\t\tthis.base = svg.Element.RenderedElementBase;\r\n\t\tthis.base(node);\r\n\r\n\t\tthis.getBoundingBox = function() {\r\n\t\t\tvar bb = new svg.BoundingBox();\r\n\t\t\tfor (var i=0; i 0) {\r\n\t\t\t\t\t\t\t\t\tvar urlStart = srcs[s].indexOf('url');\r\n\t\t\t\t\t\t\t\t\tvar urlEnd = srcs[s].indexOf(')', urlStart);\r\n\t\t\t\t\t\t\t\t\tvar url = srcs[s].substr(urlStart + 5, urlEnd - urlStart - 6);\r\n\t\t\t\t\t\t\t\t\tvar doc = svg.parseXml(svg.ajax(url));\r\n\t\t\t\t\t\t\t\t\tvar fonts = doc.getElementsByTagName('font');\r\n\t\t\t\t\t\t\t\t\tfor (var f=0; f label > input,\\n.context-menu-item > label > textarea {\\n -webkit-user-select: text;\\n -moz-user-select: text;\\n -ms-user-select: text;\\n user-select: text;\\n}\\n\\n.context-menu-item.hover {\\n cursor: pointer;\\n background-color: #39F;\\n}\\n\\n.context-menu-item.disabled {\\n color: #666;\\n}\\n\\n.context-menu-input.hover,\\n.context-menu-item.disabled.hover {\\n cursor: default;\\n background-color: #EEE;\\n}\\n\\n.context-menu-submenu:after {\\n content: \\\">\\\";\\n color: #666;\\n position: absolute;\\n top: 0;\\n right: 3px;\\n z-index: 1;\\n}\\n\\n/* icons\\n #protip:\\n In case you want to use sprites for icons (which I would suggest you do) have a look at\\n http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement\\n .context-menu-item.icon:before {}\\n */\\n.context-menu-item.icon { min-height: 18px; background-repeat: no-repeat; background-position: 4px 2px; }\\n\\n/* vertically align inside labels */\\n.context-menu-input > label > * { vertical-align: top; }\\n\\n/* position checkboxes and radios as icons */\\n.context-menu-input > label > input[type=\\\"checkbox\\\"],\\n.context-menu-input > label > input[type=\\\"radio\\\"] {\\n margin-left: -17px;\\n}\\n.context-menu-input > label > span {\\n margin-left: 5px;\\n}\\n\\n.context-menu-input > label,\\n.context-menu-input > label > input[type=\\\"text\\\"],\\n.context-menu-input > label > textarea,\\n.context-menu-input > label > select {\\n display: block;\\n width: 100%;\\n\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n -ms-box-sizing: border-box;\\n -o-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n\\n.context-menu-input > label > textarea {\\n height: 100px;\\n}\\n.context-menu-item > .context-menu-list {\\n display: none;\\n /* re-positioned by js */\\n right: -5px;\\n top: 5px;\\n}\\n\\n.context-menu-item.hover > .context-menu-list {\\n display: block;\\n}\\n\\n.context-menu-accesskey {\\n text-decoration: underline;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/lib/css-base.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/css-loader/lib/css-base.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/raw-loader/index.js!./src/lib/Class.exec.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/raw-loader!./src/lib/Class.exec.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"/* \\n * Simple JavaScript Inheritance \\n * By John Resig http://ejohn.org/ \\n * MIT Licensed. \\n * \\n ****************************************************** \\n * Example Usage \\n ****************************************************** \\n var Person = Class.extend({ \\n init: function(isDancing){ \\n this.dancing = isDancing; \\n }, \\n dance: function(){ \\n return this.dancing; \\n } \\n}); \\n\\nvar Ninja = Person.extend({ \\n init: function(){ \\n this._super( false ); \\n }, \\n dance: function(){ \\n // Call the inherited version of dance() \\n return this._super(); \\n }, \\n swingSword: function(){ \\n return true; \\n } \\n}); \\n\\nvar p = new Person(true); \\np.dance(); // => true \\n\\nvar n = new Ninja(); \\nn.dance(); // => false \\nn.swingSword(); // => true \\n\\n// Should all be true \\np instanceof Person && p instanceof Class && \\nn instanceof Ninja && n instanceof Person && n instanceof Class \\n\\n ****************************************************** \\n */ \\n \\n// Inspired by base2 and Prototype \\n(function(){ \\n var fnTest = /xyz/.test(function(){xyz;}) ? /\\\\b_super\\\\b/ : /.*/; \\n\\n // The base Class implementation (does nothing) \\n this.Class = function(){}; \\n \\n\\n // Create a new Class that inherits from this class \\n Class.extend = function(prop) { \\n var _super = this.prototype; \\n \\n // Instantiate a base class (but only create the instance, \\n // don't run the init constructor) \\n initializing = true; \\n var prototype = new this(); \\n initializing = false; \\n \\n \\n // Copy the properties over onto the new prototype \\n for (var name in prop) { \\n // Check if we're overwriting an existing function \\n prototype[name] = typeof prop[name] == \\\"function\\\" && \\n typeof _super[name] == \\\"function\\\" && fnTest.test(prop[name]) ? \\n (function(name, fn){ \\n return function() { \\n var tmp = this._super; \\n \\n // Add a new ._super() method that is the same method \\n // but on the super-class \\n this._super = _super[name]; \\n \\n // The method only need to be bound temporarily, so we \\n // remove it when we're done executing \\n var ret = fn.apply(this, arguments); \\n this._super = tmp; \\n \\n return ret; \\n }; \\n })(name, prop[name]) : \\n prop[name]; \\n } \\n \\n // The dummy class constructor \\n function Class() { \\n // All construction is actually done in the init method \\n if ( !initializing && this.init ) \\n this.init.apply(this, arguments); \\n } \\n \\n // Populate our constructed prototype object \\n Class.prototype = prototype; \\n \\n // Enforce the constructor to be what we expect \\n Class.prototype.constructor = Class; \\n\\n // And make this class extendable \\n Class.extend = arguments.callee; \\n \\n // EXTENSION BY Draw2D.org to inject methods into an existing class to provide plugins or \\n // bugfixes for further releases \\n // \\n Class.inject = function (prop) { \\n var proto = this.prototype; \\n var parent = {}; \\n for (var name in prop) { \\n if (typeof (prop[name]) == \\\"function\\\" && typeof (proto[name]) == \\\"function\\\" && fnTest.test(prop[name])) { \\n parent[name] = proto[name]; \\n proto[name] = (function (name, fn) { \\n return function () { \\n var tmp = this.parent; \\n this.parent = parent[name]; \\n var ret = fn.apply(this, arguments); \\n this.parent = tmp; \\n return ret; \\n }; \\n })(name, prop[name]); \\n } else { \\n proto[name] = prop[name]; \\n } \\n } \\n }; \\n \\n return Class; \\n }; \\n})();\\n \\n\"\n\n/***/ }),\n\n/***/ \"./node_modules/raw-loader/index.js!./src/lib/pathfinding.exec.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/raw-loader!./src/lib/pathfinding.exec.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"var PF=function(){var e=function(t,n){var r=e.resolve(t,n||\\\"/\\\"),i=e.modules[r];if(!i)throw new Error(\\\"Failed to resolve module \\\"+t+\\\", tried \\\"+r);var s=i._cached?i._cached:i();return s};return e.paths=[],e.modules={},e.extensions=[\\\".js\\\",\\\".coffee\\\"],e._core={assert:!0,events:!0,fs:!0,path:!0,vm:!0},e.resolve=function(){return function(t,n){function u(t){if(e.modules[t])return t;for(var n=0;n=0;i--){if(t[i]===\\\"node_modules\\\")continue;var s=t.slice(0,i+1).join(\\\"/\\\")+\\\"/node_modules\\\";n.push(s)}return n}n||(n=\\\"/\\\");if(e._core[t])return t;var r=e.modules.path();n=r.resolve(\\\"/\\\",n);var i=n||\\\"/\\\";if(t.match(/^(?:\\\\.\\\\.?\\\\/|\\\\/)/)){var s=u(r.resolve(i,t))||a(r.resolve(i,t));if(s)return s}var o=f(t,i);if(o)return o;throw new Error(\\\"Cannot find module '\\\"+t+\\\"'\\\")}}(),e.alias=function(t,n){var r=e.modules.path(),i=null;try{i=e.resolve(t+\\\"/package.json\\\",\\\"/\\\")}catch(s){i=e.resolve(t,\\\"/\\\")}var o=r.dirname(i),u=(Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t})(e.modules);for(var a=0;a0){var n=e.shift();n()}}},!0),function(n){t?(e.push(n),window.postMessage(\\\"browserify-tick\\\",\\\"*\\\")):setTimeout(n,0)}}()),process.title||(process.title=\\\"browser\\\"),process.binding||(process.binding=function(t){if(t===\\\"evals\\\")return e(\\\"vm\\\");throw new Error(\\\"No such module\\\")}),process.cwd||(process.cwd=function(){return\\\".\\\"}),process.env||(process.env={}),process.argv||(process.argv=[]),e.define(\\\"path\\\",function(e,t,n,r,i){function s(e,t){var n=[];for(var r=0;r=0;r--){var i=e[r];i==\\\".\\\"?e.splice(r,1):i===\\\"..\\\"?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift(\\\"..\\\");return e}var u=/^(.+\\\\/(?!$)|\\\\/)?((?:.+?)?(\\\\.[^.]*)?)$/;n.resolve=function(){var e=\\\"\\\",t=!1;for(var n=arguments.length;n>=-1&&!t;n--){var r=n>=0?arguments[n]:process.cwd();if(typeof r!=\\\"string\\\"||!r)continue;e=r+\\\"/\\\"+e,t=r.charAt(0)===\\\"/\\\"}return e=o(s(e.split(\\\"/\\\"),function(e){return!!e}),!t).join(\\\"/\\\"),(t?\\\"/\\\":\\\"\\\")+e||\\\".\\\"},n.normalize=function(e){var t=e.charAt(0)===\\\"/\\\",n=e.slice(-1)===\\\"/\\\";return e=o(s(e.split(\\\"/\\\"),function(e){return!!e}),!t).join(\\\"/\\\"),!e&&!t&&(e=\\\".\\\"),e&&n&&(e+=\\\"/\\\"),(t?\\\"/\\\":\\\"\\\")+e},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(s(e,function(e,t){return e&&typeof e==\\\"string\\\"}).join(\\\"/\\\"))},n.dirname=function(e){var t=u.exec(e)[1]||\\\"\\\",n=!1;return t?t.length===1||n&&t.length<=3&&t.charAt(1)===\\\":\\\"?t:t.substring(0,t.length-1):\\\".\\\"},n.basename=function(e,t){var n=u.exec(e)[2]||\\\"\\\";return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){return u.exec(e)[3]||\\\"\\\"}}),e.define(\\\"/core/Node.js\\\",function(e,t,n,r,i){function s(e,t,n){this.x=e,this.y=t,this.walkable=n===undefined?!0:n}t.exports=s}),e.define(\\\"/core/Grid.js\\\",function(e,t,n,r,i){function o(e,t,n){this.width=e,this.height=t,this.nodes=this._buildNodes(e,t,n)}var s=e(\\\"./Node\\\");o.prototype._buildNodes=function(e,t,n){var r,i,o=new Array(t),u;for(r=0;r=0&&e=0&&tt?1:0},f=function(e,t,i,s,o){var u;i==null&&(i=0),o==null&&(o=n);if(i<0)throw new Error(\\\"lo must be non-negative\\\");s==null&&(s=e.length);while(o(i,s)<0)u=r((i+s)/2),o(t,e[u])<0?s=u:i=u+1;return[].splice.apply(e,[i,i-i].concat(t)),t},o=function(e,t,r){return r==null&&(r=n),e.push(t),d(e,0,e.length-1,r)},s=function(e,t){var r,i;return t==null&&(t=n),r=e.pop(),e.length?(i=e[0],e[0]=r,v(e,0,t)):i=r,i},a=function(e,t,r){var i;return r==null&&(r=n),i=e[0],e[0]=t,v(e,0,r),i},u=function(e,t,r){var i;return r==null&&(r=n),e.length&&r(e[0],t)<0&&(i=[e[0],t],t=i[0],e[0]=i[1],v(e,0,r)),t},i=function(e,t){var i,s,o,u,a,f,l,c;t==null&&(t=n),f=function(){c=[];for(var t=0,n=r(e.length/2);0<=n?tn;0<=n?t++:t--)c.push(t);return c}.apply(this).reverse(),l=[];for(s=0,u=f.length;sm;u=0<=m?++p:--p)g.push(s(e,r));return g},d=function(e,t,r,i){var s,o,u;i==null&&(i=n),s=e[r];while(r>t){u=r-1>>1,o=e[u];if(i(s,o)<0){e[r]=o,r=u;continue}break}return e[r]=s},v=function(e,t,r){var i,s,o,u,a;r==null&&(r=n),s=e.length,a=t,o=e[t],i=2*t+1;while(i-f&&(l-=f,e+=o),c Arguments\\n\\n - name (string) name of the *event*, dot (`.`) or slash (`/`) separated\\n - scope (object) context for the event handlers\\n - varargs (...) the rest of arguments will be sent to event handlers\\n\\n = (object) array of returned values from the listeners\\n \\\\*/\\n eve = function (name, scope) {\\n name = String(name);\\n var e = events,\\n oldstop = stop,\\n args = Array.prototype.slice.call(arguments, 2),\\n listeners = eve.listeners(name),\\n z = 0,\\n f = false,\\n l,\\n indexed = [],\\n queue = {},\\n out = [],\\n ce = current_event,\\n errors = [];\\n current_event = name;\\n stop = 0;\\n for (var i = 0, ii = listeners.length; i < ii; i++) if (\\\"zIndex\\\" in listeners[i]) {\\n indexed.push(listeners[i].zIndex);\\n if (listeners[i].zIndex < 0) {\\n queue[listeners[i].zIndex] = listeners[i];\\n }\\n }\\n indexed.sort(numsort);\\n while (indexed[z] < 0) {\\n l = queue[indexed[z++]];\\n out.push(l.apply(scope, args));\\n if (stop) {\\n stop = oldstop;\\n return out;\\n }\\n }\\n for (i = 0; i < ii; i++) {\\n l = listeners[i];\\n if (\\\"zIndex\\\" in l) {\\n if (l.zIndex == indexed[z]) {\\n out.push(l.apply(scope, args));\\n if (stop) {\\n break;\\n }\\n do {\\n z++;\\n l = queue[indexed[z]];\\n l && out.push(l.apply(scope, args));\\n if (stop) {\\n break;\\n }\\n } while (l)\\n } else {\\n queue[l.zIndex] = l;\\n }\\n } else {\\n out.push(l.apply(scope, args));\\n if (stop) {\\n break;\\n }\\n }\\n }\\n stop = oldstop;\\n current_event = ce;\\n return out.length ? out : null;\\n };\\n // Undocumented. Debug only.\\n eve._events = events;\\n /*\\\\\\n * eve.listeners\\n [ method ]\\n\\n * Internal method which gives you array of all event handlers that will be triggered by the given `name`.\\n\\n > Arguments\\n\\n - name (string) name of the event, dot (`.`) or slash (`/`) separated\\n\\n = (array) array of event handlers\\n \\\\*/\\n eve.listeners = function (name) {\\n var names = name.split(separator),\\n e = events,\\n item,\\n items,\\n k,\\n i,\\n ii,\\n j,\\n jj,\\n nes,\\n es = [e],\\n out = [];\\n for (i = 0, ii = names.length; i < ii; i++) {\\n nes = [];\\n for (j = 0, jj = es.length; j < jj; j++) {\\n e = es[j].n;\\n items = [e[names[i]], e[wildcard]];\\n k = 2;\\n while (k--) {\\n item = items[k];\\n if (item) {\\n nes.push(item);\\n out = out.concat(item.f || []);\\n }\\n }\\n }\\n es = nes;\\n }\\n return out;\\n };\\n\\n /*\\\\\\n * eve.on\\n [ method ]\\n **\\n * Binds given event handler with a given name. You can use wildcards “`*`” for the names:\\n | eve.on(\\\"*.under.*\\\", f);\\n | eve(\\\"mouse.under.floor\\\"); // triggers f\\n * Use @eve to trigger the listener.\\n **\\n > Arguments\\n **\\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\\n - f (function) event handler function\\n **\\n = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment.\\n > Example:\\n | eve.on(\\\"mouse\\\", eatIt)(2);\\n | eve.on(\\\"mouse\\\", scream);\\n | eve.on(\\\"mouse\\\", catchIt)(1);\\n * This will ensure that `catchIt()` function will be called before `eatIt()`.\\n *\\n * If you want to put your handler before non-indexed handlers, specify a negative value.\\n * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in case”.\\n \\\\*/\\n eve.on = function (name, f) {\\n name = String(name);\\n if (typeof f != \\\"function\\\") {\\n return function () {};\\n }\\n var names = name.split(separator),\\n e = events;\\n for (var i = 0, ii = names.length; i < ii; i++) {\\n e = e.n;\\n e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n: {}});\\n }\\n e.f = e.f || [];\\n for (i = 0, ii = e.f.length; i < ii; i++) if (e.f[i] == f) {\\n return fun;\\n }\\n e.f.push(f);\\n return function (zIndex) {\\n if (+zIndex == +zIndex) {\\n f.zIndex = +zIndex;\\n }\\n };\\n };\\n /*\\\\\\n * eve.f\\n [ method ]\\n **\\n * Returns function that will fire given event with optional arguments.\\n * Arguments that will be passed to the result function will be also\\n * concated to the list of final arguments.\\n | el.onclick = eve.f(\\\"click\\\", 1, 2);\\n | eve.on(\\\"click\\\", function (a, b, c) {\\n | console.log(a, b, c); // 1, 2, [event object]\\n | });\\n > Arguments\\n - event (string) event name\\n - varargs (…) and any other arguments\\n = (function) possible event handler function\\n \\\\*/\\n eve.f = function (event) {\\n var attrs = [].slice.call(arguments, 1);\\n return function () {\\n eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));\\n };\\n };\\n /*\\\\\\n * eve.stop\\n [ method ]\\n **\\n * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing.\\n \\\\*/\\n eve.stop = function () {\\n stop = 1;\\n };\\n /*\\\\\\n * eve.nt\\n [ method ]\\n **\\n * Could be used inside event handler to figure out actual name of the event.\\n **\\n > Arguments\\n **\\n - subname (string) #optional subname of the event\\n **\\n = (string) name of the event, if `subname` is not specified\\n * or\\n = (boolean) `true`, if current event’s name contains `subname`\\n \\\\*/\\n eve.nt = function (subname) {\\n if (subname) {\\n return new RegExp(\\\"(?:\\\\\\\\.|\\\\\\\\/|^)\\\" + subname + \\\"(?:\\\\\\\\.|\\\\\\\\/|$)\\\").test(current_event);\\n }\\n return current_event;\\n };\\n /*\\\\\\n * eve.nts\\n [ method ]\\n **\\n * Could be used inside event handler to figure out actual name of the event.\\n **\\n **\\n = (array) names of the event\\n \\\\*/\\n eve.nts = function () {\\n return current_event.split(separator);\\n };\\n /*\\\\\\n * eve.off\\n [ method ]\\n **\\n * Removes given function from the list of event listeners assigned to given name.\\n * If no arguments specified all the events will be cleared.\\n **\\n > Arguments\\n **\\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\\n - f (function) event handler function\\n \\\\*/\\n /*\\\\\\n * eve.unbind\\n [ method ]\\n **\\n * See @eve.off\\n \\\\*/\\n eve.off = eve.unbind = function (name, f) {\\n if (!name) {\\n eve._events = events = {n: {}};\\n return;\\n }\\n var names = name.split(separator),\\n e,\\n key,\\n splice,\\n i, ii, j, jj,\\n cur = [events];\\n for (i = 0, ii = names.length; i < ii; i++) {\\n for (j = 0; j < cur.length; j += splice.length - 2) {\\n splice = [j, 1];\\n e = cur[j].n;\\n if (names[i] != wildcard) {\\n if (e[names[i]]) {\\n splice.push(e[names[i]]);\\n }\\n } else {\\n for (key in e) if (e[has](key)) {\\n splice.push(e[key]);\\n }\\n }\\n cur.splice.apply(cur, splice);\\n }\\n }\\n for (i = 0, ii = cur.length; i < ii; i++) {\\n e = cur[i];\\n while (e.n) {\\n if (f) {\\n if (e.f) {\\n for (j = 0, jj = e.f.length; j < jj; j++) if (e.f[j] == f) {\\n e.f.splice(j, 1);\\n break;\\n }\\n !e.f.length && delete e.f;\\n }\\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\\n var funcs = e.n[key].f;\\n for (j = 0, jj = funcs.length; j < jj; j++) if (funcs[j] == f) {\\n funcs.splice(j, 1);\\n break;\\n }\\n !funcs.length && delete e.n[key].f;\\n }\\n } else {\\n delete e.f;\\n for (key in e.n) if (e.n[has](key) && e.n[key].f) {\\n delete e.n[key].f;\\n }\\n }\\n e = e.n;\\n }\\n }\\n };\\n /*\\\\\\n * eve.once\\n [ method ]\\n **\\n * Binds given event handler with a given name to only run once then unbind itself.\\n | eve.once(\\\"login\\\", f);\\n | eve(\\\"login\\\"); // triggers f\\n | eve(\\\"login\\\"); // no listeners\\n * Use @eve to trigger the listener.\\n **\\n > Arguments\\n **\\n - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards\\n - f (function) event handler function\\n **\\n = (function) same return function as @eve.on\\n \\\\*/\\n eve.once = function (name, f) {\\n var f2 = function () {\\n eve.unbind(name, f2);\\n return f.apply(this, arguments);\\n };\\n return eve.on(name, f2);\\n };\\n /*\\\\\\n * eve.version\\n [ property (string) ]\\n **\\n * Current version of the library.\\n \\\\*/\\n eve.version = version;\\n eve.toString = function () {\\n return \\\"You are running Eve \\\" + version;\\n };\\n\\n return eve;\\n}));\\n\\n// ┌────────────────────────────────────────────────────────────────────┐ \\\\\\\\\\n// │ Raphaël 2.1.4 - JavaScript Vector Library │ \\\\\\\\\\n// ├────────────────────────────────────────────────────────────────────┤ \\\\\\\\\\n// │ Core Module │ \\\\\\\\\\n// ├────────────────────────────────────────────────────────────────────┤ \\\\\\\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\\\\\\\\\n// └────────────────────────────────────────────────────────────────────┘ \\\\\\\\\\n\\n(function (glob, factory) {\\n if (typeof define === \\\"function\\\" && define.amd) {\\n define(\\\"raphael.core\\\", [\\\"eve\\\"], function(eve) {\\n return factory(eve);\\n });\\n } else if (typeof exports === \\\"object\\\") {\\n module.exports = factory(require(\\\"eve\\\"));\\n } else {\\n glob.Raphael = factory(glob.eve);\\n }\\n}(this, function (eve) {\\n /*\\\\\\n * Raphael\\n [ method ]\\n **\\n * Creates a canvas object on which to draw.\\n * You must do this first, as all future calls to drawing methods\\n * from this instance will be bound to this canvas.\\n > Parameters\\n **\\n - container (HTMLElement|string) DOM element or its ID which is going to be a parent for drawing surface\\n - width (number)\\n - height (number)\\n - callback (function) #optional callback function which is going to be executed in the context of newly created paper\\n * or\\n - x (number)\\n - y (number)\\n - width (number)\\n - height (number)\\n - callback (function) #optional callback function which is going to be executed in the context of newly created paper\\n * or\\n - all (array) (first 3 or 4 elements in the array are equal to [containerID, width, height] or [x, y, width, height]. The rest are element descriptions in format {type: type, }). See @Paper.add.\\n - callback (function) #optional callback function which is going to be executed in the context of newly created paper\\n * or\\n - onReadyCallback (function) function that is going to be called on DOM ready event. You can also subscribe to this event via Eve’s “DOMLoad” event. In this case method returns `undefined`.\\n = (object) @Paper\\n > Usage\\n | // Each of the following examples create a canvas\\n | // that is 320px wide by 200px high.\\n | // Canvas is created at the viewport’s 10,50 coordinate.\\n | var paper = Raphael(10, 50, 320, 200);\\n | // Canvas is created at the top left corner of the #notepad element\\n | // (or its top right corner in dir=\\\"rtl\\\" elements)\\n | var paper = Raphael(document.getElementById(\\\"notepad\\\"), 320, 200);\\n | // Same as above\\n | var paper = Raphael(\\\"notepad\\\", 320, 200);\\n | // Image dump\\n | var set = Raphael([\\\"notepad\\\", 320, 200, {\\n | type: \\\"rect\\\",\\n | x: 10,\\n | y: 10,\\n | width: 25,\\n | height: 25,\\n | stroke: \\\"#f00\\\"\\n | }, {\\n | type: \\\"text\\\",\\n | x: 30,\\n | y: 40,\\n | text: \\\"Dump\\\"\\n | }]);\\n \\\\*/\\n function R(first) {\\n if (R.is(first, \\\"function\\\")) {\\n return loaded ? first() : eve.on(\\\"raphael.DOMload\\\", first);\\n } else if (R.is(first, array)) {\\n return R._engine.create[apply](R, first.splice(0, 3 + R.is(first[0], nu))).add(first);\\n } else {\\n var args = Array.prototype.slice.call(arguments, 0);\\n if (R.is(args[args.length - 1], \\\"function\\\")) {\\n var f = args.pop();\\n return loaded ? f.call(R._engine.create[apply](R, args)) : eve.on(\\\"raphael.DOMload\\\", function () {\\n f.call(R._engine.create[apply](R, args));\\n });\\n } else {\\n return R._engine.create[apply](R, arguments);\\n }\\n }\\n }\\n R.version = \\\"2.1.4\\\";\\n R.eve = eve;\\n var loaded,\\n separator = /[, ]+/,\\n elements = {circle: 1, rect: 1, path: 1, ellipse: 1, text: 1, image: 1},\\n formatrg = /\\\\{(\\\\d+)\\\\}/g,\\n proto = \\\"prototype\\\",\\n has = \\\"hasOwnProperty\\\",\\n g = {\\n doc: document,\\n win: window\\n },\\n oldRaphael = {\\n was: Object.prototype[has].call(g.win, \\\"Raphael\\\"),\\n is: g.win.Raphael\\n },\\n Paper = function () {\\n /*\\\\\\n * Paper.ca\\n [ property (object) ]\\n **\\n * Shortcut for @Paper.customAttributes\\n \\\\*/\\n /*\\\\\\n * Paper.customAttributes\\n [ property (object) ]\\n **\\n * If you have a set of attributes that you would like to represent\\n * as a function of some number you can do it easily with custom attributes:\\n > Usage\\n | paper.customAttributes.hue = function (num) {\\n | num = num % 1;\\n | return {fill: \\\"hsb(\\\" + num + \\\", 0.75, 1)\\\"};\\n | };\\n | // Custom attribute “hue” will change fill\\n | // to be given hue with fixed saturation and brightness.\\n | // Now you can use it like this:\\n | var c = paper.circle(10, 10, 10).attr({hue: .45});\\n | // or even like this:\\n | c.animate({hue: 1}, 1e3);\\n |\\n | // You could also create custom attribute\\n | // with multiple parameters:\\n | paper.customAttributes.hsb = function (h, s, b) {\\n | return {fill: \\\"hsb(\\\" + [h, s, b].join(\\\",\\\") + \\\")\\\"};\\n | };\\n | c.attr({hsb: \\\"0.5 .8 1\\\"});\\n | c.animate({hsb: [1, 0, 0.5]}, 1e3);\\n \\\\*/\\n this.ca = this.customAttributes = {};\\n },\\n paperproto,\\n appendChild = \\\"appendChild\\\",\\n apply = \\\"apply\\\",\\n concat = \\\"concat\\\",\\n supportsTouch = ('ontouchstart' in g.win) || g.win.DocumentTouch && g.doc instanceof DocumentTouch, //taken from Modernizr touch test\\n E = \\\"\\\",\\n S = \\\" \\\",\\n Str = String,\\n split = \\\"split\\\",\\n events = \\\"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\\\"[split](S),\\n touchMap = {\\n mousedown: \\\"touchstart\\\",\\n mousemove: \\\"touchmove\\\",\\n mouseup: \\\"touchend\\\"\\n },\\n lowerCase = Str.prototype.toLowerCase,\\n math = Math,\\n mmax = math.max,\\n mmin = math.min,\\n abs = math.abs,\\n pow = math.pow,\\n PI = math.PI,\\n nu = \\\"number\\\",\\n string = \\\"string\\\",\\n array = \\\"array\\\",\\n toString = \\\"toString\\\",\\n fillString = \\\"fill\\\",\\n objectToString = Object.prototype.toString,\\n paper = {},\\n push = \\\"push\\\",\\n ISURL = R._ISURL = /^url\\\\(['\\\"]?(.+?)['\\\"]?\\\\)$/i,\\n colourRegExp = /^\\\\s*((#[a-f\\\\d]{6})|(#[a-f\\\\d]{3})|rgba?\\\\(\\\\s*([\\\\d\\\\.]+%?\\\\s*,\\\\s*[\\\\d\\\\.]+%?\\\\s*,\\\\s*[\\\\d\\\\.]+%?(?:\\\\s*,\\\\s*[\\\\d\\\\.]+%?)?)\\\\s*\\\\)|hsba?\\\\(\\\\s*([\\\\d\\\\.]+(?:deg|\\\\xb0|%)?\\\\s*,\\\\s*[\\\\d\\\\.]+%?\\\\s*,\\\\s*[\\\\d\\\\.]+(?:%?\\\\s*,\\\\s*[\\\\d\\\\.]+)?)%?\\\\s*\\\\)|hsla?\\\\(\\\\s*([\\\\d\\\\.]+(?:deg|\\\\xb0|%)?\\\\s*,\\\\s*[\\\\d\\\\.]+%?\\\\s*,\\\\s*[\\\\d\\\\.]+(?:%?\\\\s*,\\\\s*[\\\\d\\\\.]+)?)%?\\\\s*\\\\))\\\\s*$/i,\\n isnan = {\\\"NaN\\\": 1, \\\"Infinity\\\": 1, \\\"-Infinity\\\": 1},\\n bezierrg = /^(?:cubic-)?bezier\\\\(([^,]+),([^,]+),([^,]+),([^\\\\)]+)\\\\)/,\\n round = math.round,\\n setAttribute = \\\"setAttribute\\\",\\n toFloat = parseFloat,\\n toInt = parseInt,\\n upperCase = Str.prototype.toUpperCase,\\n availableAttrs = R._availableAttrs = {\\n \\\"arrow-end\\\": \\\"none\\\",\\n \\\"arrow-start\\\": \\\"none\\\",\\n blur: 0,\\n \\\"clip-rect\\\": \\\"0 0 1e9 1e9\\\",\\n cursor: \\\"default\\\",\\n cx: 0,\\n cy: 0,\\n fill: \\\"#fff\\\",\\n \\\"fill-opacity\\\": 1,\\n font: '10px \\\"Arial\\\"',\\n \\\"font-family\\\": '\\\"Arial\\\"',\\n \\\"font-size\\\": \\\"10\\\",\\n \\\"font-style\\\": \\\"normal\\\",\\n \\\"font-weight\\\": 400,\\n gradient: 0,\\n height: 0,\\n href: \\\"http://raphaeljs.com/\\\",\\n \\\"letter-spacing\\\": 0,\\n opacity: 1,\\n path: \\\"M0,0\\\",\\n r: 0,\\n rx: 0,\\n ry: 0,\\n src: \\\"\\\",\\n stroke: \\\"#000\\\",\\n \\\"stroke-dasharray\\\": \\\"\\\",\\n \\\"stroke-linecap\\\": \\\"butt\\\",\\n \\\"stroke-linejoin\\\": \\\"butt\\\",\\n \\\"stroke-miterlimit\\\": 0,\\n \\\"stroke-opacity\\\": 1,\\n \\\"stroke-width\\\": 1,\\n \\\"stroke-scale\\\": false, // FreeGroup: draw2d enhancement\\n target: \\\"_blank\\\",\\n \\\"text-anchor\\\": \\\"middle\\\",\\n title: \\\"Raphael\\\",\\n transform: \\\"\\\",\\n width: 0,\\n x: 0,\\n y: 0\\n },\\n availableAnimAttrs = R._availableAnimAttrs = {\\n blur: nu,\\n \\\"clip-rect\\\": \\\"csv\\\",\\n cx: nu,\\n cy: nu,\\n fill: \\\"colour\\\",\\n \\\"fill-opacity\\\": nu,\\n \\\"font-size\\\": nu,\\n height: nu,\\n opacity: nu,\\n path: \\\"path\\\",\\n r: nu,\\n rx: nu,\\n ry: nu,\\n stroke: \\\"colour\\\",\\n \\\"stroke-opacity\\\": nu,\\n \\\"stroke-width\\\": nu,\\n transform: \\\"transform\\\",\\n width: nu,\\n x: nu,\\n y: nu\\n },\\n whitespace = /[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]/g,\\n commaSpaces = /[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*,[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*/,\\n hsrg = {hs: 1, rg: 1},\\n p2s = /,?([achlmqrstvxz]),?/gi,\\n pathCommand = /([achlmrqstvz])[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*,?[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*)+)/ig,\\n tCommand = /([rstm])[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*,?[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*)+)/ig,\\n pathValues = /(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*,?[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*/ig,\\n radial_gradient = R._radial_gradient = /^r(?:\\\\(([^,]+?)[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*,[\\\\x09\\\\x0a\\\\x0b\\\\x0c\\\\x0d\\\\x20\\\\xa0\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\u2028\\\\u2029]*([^\\\\)]+?)\\\\))?/,\\n eldata = {},\\n sortByKey = function (a, b) {\\n return a.key - b.key;\\n },\\n sortByNumber = function (a, b) {\\n return toFloat(a) - toFloat(b);\\n },\\n fun = function () {},\\n pipe = function (x) {\\n return x;\\n },\\n rectPath = R._rectPath = function (x, y, w, h, r) {\\n if (r) {\\n return [[\\\"M\\\", x + r, y], [\\\"l\\\", w - r * 2, 0], [\\\"a\\\", r, r, 0, 0, 1, r, r], [\\\"l\\\", 0, h - r * 2], [\\\"a\\\", r, r, 0, 0, 1, -r, r], [\\\"l\\\", r * 2 - w, 0], [\\\"a\\\", r, r, 0, 0, 1, -r, -r], [\\\"l\\\", 0, r * 2 - h], [\\\"a\\\", r, r, 0, 0, 1, r, -r], [\\\"z\\\"]];\\n }\\n return [[\\\"M\\\", x, y], [\\\"l\\\", w, 0], [\\\"l\\\", 0, h], [\\\"l\\\", -w, 0], [\\\"z\\\"]];\\n },\\n ellipsePath = function (x, y, rx, ry) {\\n if (ry == null) {\\n ry = rx;\\n }\\n return [[\\\"M\\\", x, y], [\\\"m\\\", 0, -ry], [\\\"a\\\", rx, ry, 0, 1, 1, 0, 2 * ry], [\\\"a\\\", rx, ry, 0, 1, 1, 0, -2 * ry], [\\\"z\\\"]];\\n },\\n getPath = R._getPath = {\\n path: function (el) {\\n return el.attr(\\\"path\\\");\\n },\\n circle: function (el) {\\n var a = el.attrs;\\n return ellipsePath(a.cx, a.cy, a.r);\\n },\\n ellipse: function (el) {\\n var a = el.attrs;\\n return ellipsePath(a.cx, a.cy, a.rx, a.ry);\\n },\\n rect: function (el) {\\n var a = el.attrs;\\n return rectPath(a.x, a.y, a.width, a.height, a.r);\\n },\\n image: function (el) {\\n var a = el.attrs;\\n return rectPath(a.x, a.y, a.width, a.height);\\n },\\n text: function (el) {\\n var bbox = el._getBBox();\\n return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);\\n },\\n set : function(el) {\\n var bbox = el._getBBox();\\n return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);\\n }\\n },\\n /*\\\\\\n * Raphael.mapPath\\n [ method ]\\n **\\n * Transform the path string with given matrix.\\n > Parameters\\n - path (string) path string\\n - matrix (object) see @Matrix\\n = (string) transformed path string\\n \\\\*/\\n mapPath = R.mapPath = function (path, matrix) {\\n if (!matrix) {\\n return path;\\n }\\n var x, y, i, j, ii, jj, pathi;\\n path = path2curve(path);\\n for (i = 0, ii = path.length; i < ii; i++) {\\n pathi = path[i];\\n for (j = 1, jj = pathi.length; j < jj; j += 2) {\\n x = matrix.x(pathi[j], pathi[j + 1]);\\n y = matrix.y(pathi[j], pathi[j + 1]);\\n pathi[j] = x;\\n pathi[j + 1] = y;\\n }\\n }\\n return path;\\n };\\n\\n R._g = g;\\n /*\\\\\\n * Raphael.type\\n [ property (string) ]\\n **\\n * Can be “SVG”, “VML” or empty, depending on browser support.\\n \\\\*/\\n R.type = (g.win.SVGAngle || g.doc.implementation.hasFeature(\\\"http://www.w3.org/TR/SVG11/feature#BasicStructure\\\", \\\"1.1\\\") ? \\\"SVG\\\" : \\\"VML\\\");\\n if (R.type == \\\"VML\\\") {\\n var d = g.doc.createElement(\\\"div\\\"),\\n b;\\n d.innerHTML = '';\\n b = d.firstChild;\\n b.style.behavior = \\\"url(#default#VML)\\\";\\n if (!(b && typeof b.adj == \\\"object\\\")) {\\n return (R.type = E);\\n }\\n d = null;\\n }\\n /*\\\\\\n * Raphael.svg\\n [ property (boolean) ]\\n **\\n * `true` if browser supports SVG.\\n \\\\*/\\n /*\\\\\\n * Raphael.vml\\n [ property (boolean) ]\\n **\\n * `true` if browser supports VML.\\n \\\\*/\\n R.svg = !(R.vml = R.type == \\\"VML\\\");\\n R._Paper = Paper;\\n /*\\\\\\n * Raphael.fn\\n [ property (object) ]\\n **\\n * You can add your own method to the canvas. For example if you want to draw a pie chart,\\n * you can create your own pie chart function and ship it as a Raphaël plugin. To do this\\n * you need to extend the `Raphael.fn` object. You should modify the `fn` object before a\\n * Raphaël instance is created, otherwise it will take no effect. Please note that the\\n * ability for namespaced plugins was removed in Raphael 2.0. It is up to the plugin to\\n * ensure any namespacing ensures proper context.\\n > Usage\\n | Raphael.fn.arrow = function (x1, y1, x2, y2, size) {\\n | return this.path( ... );\\n | };\\n | // or create namespace\\n | Raphael.fn.mystuff = {\\n | arrow: function () {…},\\n | star: function () {…},\\n | // etc…\\n | };\\n | var paper = Raphael(10, 10, 630, 480);\\n | // then use it\\n | paper.arrow(10, 10, 30, 30, 5).attr({fill: \\\"#f00\\\"});\\n | paper.mystuff.arrow();\\n | paper.mystuff.star();\\n \\\\*/\\n R.fn = paperproto = Paper.prototype = R.prototype;\\n R._id = 0;\\n R._oid = 0;\\n /*\\\\\\n * Raphael.is\\n [ method ]\\n **\\n * Handful of replacements for `typeof` operator.\\n > Parameters\\n - o (…) any object or primitive\\n - type (string) name of the type, i.e. “string”, “function”, “number”, etc.\\n = (boolean) is given value is of given type\\n \\\\*/\\n R.is = function (o, type) {\\n type = lowerCase.call(type);\\n if (type == \\\"finite\\\") {\\n return !isnan[has](+o);\\n }\\n if (type == \\\"array\\\") {\\n return o instanceof Array;\\n }\\n return (type == \\\"null\\\" && o === null) ||\\n (type == typeof o && o !== null) ||\\n (type == \\\"object\\\" && o === Object(o)) ||\\n (type == \\\"array\\\" && Array.isArray && Array.isArray(o)) ||\\n objectToString.call(o).slice(8, -1).toLowerCase() == type;\\n };\\n\\n function clone(obj) {\\n if (typeof obj == \\\"function\\\" || Object(obj) !== obj) {\\n return obj;\\n }\\n var res = new obj.constructor;\\n for (var key in obj) if (obj[has](key)) {\\n res[key] = clone(obj[key]);\\n }\\n return res;\\n }\\n\\n /*\\\\\\n * Raphael.angle\\n [ method ]\\n **\\n * Returns angle between two or three points\\n > Parameters\\n - x1 (number) x coord of first point\\n - y1 (number) y coord of first point\\n - x2 (number) x coord of second point\\n - y2 (number) y coord of second point\\n - x3 (number) #optional x coord of third point\\n - y3 (number) #optional y coord of third point\\n = (number) angle in degrees.\\n \\\\*/\\n R.angle = function (x1, y1, x2, y2, x3, y3) {\\n if (x3 == null) {\\n var x = x1 - x2,\\n y = y1 - y2;\\n if (!x && !y) {\\n return 0;\\n }\\n return (180 + math.atan2(-y, -x) * 180 / PI + 360) % 360;\\n } else {\\n return R.angle(x1, y1, x3, y3) - R.angle(x2, y2, x3, y3);\\n }\\n };\\n /*\\\\\\n * Raphael.rad\\n [ method ]\\n **\\n * Transform angle to radians\\n > Parameters\\n - deg (number) angle in degrees\\n = (number) angle in radians.\\n \\\\*/\\n R.rad = function (deg) {\\n return deg % 360 * PI / 180;\\n };\\n /*\\\\\\n * Raphael.deg\\n [ method ]\\n **\\n * Transform angle to degrees\\n > Parameters\\n - rad (number) angle in radians\\n = (number) angle in degrees.\\n \\\\*/\\n R.deg = function (rad) {\\n return Math.round ((rad * 180 / PI% 360)* 1000) / 1000;\\n };\\n /*\\\\\\n * Raphael.snapTo\\n [ method ]\\n **\\n * Snaps given value to given grid.\\n > Parameters\\n - values (array|number) given array of values or step of the grid\\n - value (number) value to adjust\\n - tolerance (number) #optional tolerance for snapping. Default is `10`.\\n = (number) adjusted value.\\n \\\\*/\\n R.snapTo = function (values, value, tolerance) {\\n tolerance = R.is(tolerance, \\\"finite\\\") ? tolerance : 10;\\n if (R.is(values, array)) {\\n var i = values.length;\\n while (i--) if (abs(values[i] - value) <= tolerance) {\\n return values[i];\\n }\\n } else {\\n values = +values;\\n var rem = value % values;\\n if (rem < tolerance) {\\n return value - rem;\\n }\\n if (rem > values - tolerance) {\\n return value - rem + values;\\n }\\n }\\n return value;\\n };\\n\\n /*\\\\\\n * Raphael.createUUID\\n [ method ]\\n **\\n * Returns RFC4122, version 4 ID\\n \\\\*/\\n var createUUID = R.createUUID = (function (uuidRegEx, uuidReplacer) {\\n return function () {\\n return \\\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\\\".replace(uuidRegEx, uuidReplacer).toUpperCase();\\n };\\n })(/[xy]/g, function (c) {\\n var r = math.random() * 16 | 0,\\n v = c == \\\"x\\\" ? r : (r & 3 | 8);\\n return v.toString(16);\\n });\\n\\n /*\\\\\\n * Raphael.setWindow\\n [ method ]\\n **\\n * Used when you need to draw in `<iframe>`. Switched window to the iframe one.\\n > Parameters\\n - newwin (window) new window object\\n \\\\*/\\n R.setWindow = function (newwin) {\\n eve(\\\"raphael.setWindow\\\", R, g.win, newwin);\\n g.win = newwin;\\n g.doc = g.win.document;\\n if (R._engine.initWin) {\\n R._engine.initWin(g.win);\\n }\\n };\\n var toHex = function (color) {\\n if (R.vml) {\\n // http://dean.edwards.name/weblog/2009/10/convert-any-colour-value-to-hex-in-msie/\\n var trim = /^\\\\s+|\\\\s+$/g;\\n var bod;\\n try {\\n var docum = new ActiveXObject(\\\"htmlfile\\\");\\n docum.write(\\\"\\\");\\n docum.close();\\n bod = docum.body;\\n } catch(e) {\\n bod = createPopup().document.body;\\n }\\n var range = bod.createTextRange();\\n toHex = cacher(function (color) {\\n try {\\n bod.style.color = Str(color).replace(trim, E);\\n var value = range.queryCommandValue(\\\"ForeColor\\\");\\n value = ((value & 255) << 16) | (value & 65280) | ((value & 16711680) >>> 16);\\n return \\\"#\\\" + (\\\"000000\\\" + value.toString(16)).slice(-6);\\n } catch(e) {\\n return \\\"none\\\";\\n }\\n });\\n } else {\\n var i = g.doc.createElement(\\\"i\\\");\\n i.title = \\\"Rapha\\\\xebl Colour Picker\\\";\\n i.style.display = \\\"none\\\";\\n g.doc.body.appendChild(i);\\n toHex = cacher(function (color) {\\n i.style.color = color;\\n return g.doc.defaultView.getComputedStyle(i, E).getPropertyValue(\\\"color\\\");\\n });\\n }\\n return toHex(color);\\n },\\n hsbtoString = function () {\\n return \\\"hsb(\\\" + [this.h, this.s, this.b] + \\\")\\\";\\n },\\n hsltoString = function () {\\n return \\\"hsl(\\\" + [this.h, this.s, this.l] + \\\")\\\";\\n },\\n rgbtoString = function () {\\n return this.hex;\\n },\\n prepareRGB = function (r, g, b) {\\n if (g == null && R.is(r, \\\"object\\\") && \\\"r\\\" in r && \\\"g\\\" in r && \\\"b\\\" in r) {\\n b = r.b;\\n g = r.g;\\n r = r.r;\\n }\\n if (g == null && R.is(r, string)) {\\n var clr = R.getRGB(r);\\n r = clr.r;\\n g = clr.g;\\n b = clr.b;\\n }\\n if (r > 1 || g > 1 || b > 1) {\\n r /= 255;\\n g /= 255;\\n b /= 255;\\n }\\n\\n return [r, g, b];\\n },\\n packageRGB = function (r, g, b, o) {\\n r *= 255;\\n g *= 255;\\n b *= 255;\\n var rgb = {\\n r: r,\\n g: g,\\n b: b,\\n hex: R.rgb(r, g, b),\\n toString: rgbtoString\\n };\\n R.is(o, \\\"finite\\\") && (rgb.opacity = o);\\n return rgb;\\n };\\n\\n /*\\\\\\n * Raphael.color\\n [ method ]\\n **\\n * Parses the color string and returns object with all values for the given color.\\n > Parameters\\n - clr (string) color string in one of the supported formats (see @Raphael.getRGB)\\n = (object) Combined RGB & HSB object in format:\\n o {\\n o r (number) red,\\n o g (number) green,\\n o b (number) blue,\\n o hex (string) color in HTML/CSS format: #••••••,\\n o error (boolean) `true` if string can’t be parsed,\\n o h (number) hue,\\n o s (number) saturation,\\n o v (number) value (brightness),\\n o l (number) lightness\\n o }\\n \\\\*/\\n R.color = function (clr) {\\n var rgb;\\n if (R.is(clr, \\\"object\\\") && \\\"h\\\" in clr && \\\"s\\\" in clr && \\\"b\\\" in clr) {\\n rgb = R.hsb2rgb(clr);\\n clr.r = rgb.r;\\n clr.g = rgb.g;\\n clr.b = rgb.b;\\n clr.hex = rgb.hex;\\n } else if (R.is(clr, \\\"object\\\") && \\\"h\\\" in clr && \\\"s\\\" in clr && \\\"l\\\" in clr) {\\n rgb = R.hsl2rgb(clr);\\n clr.r = rgb.r;\\n clr.g = rgb.g;\\n clr.b = rgb.b;\\n clr.hex = rgb.hex;\\n } else {\\n if (R.is(clr, \\\"string\\\")) {\\n clr = R.getRGB(clr);\\n }\\n if (R.is(clr, \\\"object\\\") && \\\"r\\\" in clr && \\\"g\\\" in clr && \\\"b\\\" in clr) {\\n rgb = R.rgb2hsl(clr);\\n clr.h = rgb.h;\\n clr.s = rgb.s;\\n clr.l = rgb.l;\\n rgb = R.rgb2hsb(clr);\\n clr.v = rgb.b;\\n } else {\\n clr = {hex: \\\"none\\\"};\\n clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1;\\n }\\n }\\n clr.toString = rgbtoString;\\n return clr;\\n };\\n /*\\\\\\n * Raphael.hsb2rgb\\n [ method ]\\n **\\n * Converts HSB values to RGB object.\\n > Parameters\\n - h (number) hue\\n - s (number) saturation\\n - v (number) value or brightness\\n = (object) RGB object in format:\\n o {\\n o r (number) red,\\n o g (number) green,\\n o b (number) blue,\\n o hex (string) color in HTML/CSS format: #••••••\\n o }\\n \\\\*/\\n R.hsb2rgb = function (h, s, v, o) {\\n if (this.is(h, \\\"object\\\") && \\\"h\\\" in h && \\\"s\\\" in h && \\\"b\\\" in h) {\\n v = h.b;\\n s = h.s;\\n o = h.o;\\n h = h.h;\\n }\\n h *= 360;\\n var R, G, B, X, C;\\n h = (h % 360) / 60;\\n C = v * s;\\n X = C * (1 - abs(h % 2 - 1));\\n R = G = B = v - C;\\n\\n h = ~~h;\\n R += [C, X, 0, 0, X, C][h];\\n G += [X, C, C, X, 0, 0][h];\\n B += [0, 0, X, C, C, X][h];\\n return packageRGB(R, G, B, o);\\n };\\n /*\\\\\\n * Raphael.hsl2rgb\\n [ method ]\\n **\\n * Converts HSL values to RGB object.\\n > Parameters\\n - h (number) hue\\n - s (number) saturation\\n - l (number) luminosity\\n = (object) RGB object in format:\\n o {\\n o r (number) red,\\n o g (number) green,\\n o b (number) blue,\\n o hex (string) color in HTML/CSS format: #••••••\\n o }\\n \\\\*/\\n R.hsl2rgb = function (h, s, l, o) {\\n if (this.is(h, \\\"object\\\") && \\\"h\\\" in h && \\\"s\\\" in h && \\\"l\\\" in h) {\\n l = h.l;\\n s = h.s;\\n h = h.h;\\n }\\n if (h > 1 || s > 1 || l > 1) {\\n h /= 360;\\n s /= 100;\\n l /= 100;\\n }\\n h *= 360;\\n var R, G, B, X, C;\\n h = (h % 360) / 60;\\n C = 2 * s * (l < .5 ? l : 1 - l);\\n X = C * (1 - abs(h % 2 - 1));\\n R = G = B = l - C / 2;\\n\\n h = ~~h;\\n R += [C, X, 0, 0, X, C][h];\\n G += [X, C, C, X, 0, 0][h];\\n B += [0, 0, X, C, C, X][h];\\n return packageRGB(R, G, B, o);\\n };\\n /*\\\\\\n * Raphael.rgb2hsb\\n [ method ]\\n **\\n * Converts RGB values to HSB object.\\n > Parameters\\n - r (number) red\\n - g (number) green\\n - b (number) blue\\n = (object) HSB object in format:\\n o {\\n o h (number) hue\\n o s (number) saturation\\n o b (number) brightness\\n o }\\n \\\\*/\\n R.rgb2hsb = function (r, g, b) {\\n b = prepareRGB(r, g, b);\\n r = b[0];\\n g = b[1];\\n b = b[2];\\n\\n var H, S, V, C;\\n V = mmax(r, g, b);\\n C = V - mmin(r, g, b);\\n H = (C == 0 ? null :\\n V == r ? (g - b) / C :\\n V == g ? (b - r) / C + 2 :\\n (r - g) / C + 4\\n );\\n H = ((H + 360) % 6) * 60 / 360;\\n S = C == 0 ? 0 : C / V;\\n return {h: H, s: S, b: V, toString: hsbtoString};\\n };\\n /*\\\\\\n * Raphael.rgb2hsl\\n [ method ]\\n **\\n * Converts RGB values to HSL object.\\n > Parameters\\n - r (number) red\\n - g (number) green\\n - b (number) blue\\n = (object) HSL object in format:\\n o {\\n o h (number) hue\\n o s (number) saturation\\n o l (number) luminosity\\n o }\\n \\\\*/\\n R.rgb2hsl = function (r, g, b) {\\n b = prepareRGB(r, g, b);\\n r = b[0];\\n g = b[1];\\n b = b[2];\\n\\n var H, S, L, M, m, C;\\n M = mmax(r, g, b);\\n m = mmin(r, g, b);\\n C = M - m;\\n H = (C == 0 ? null :\\n M == r ? (g - b) / C :\\n M == g ? (b - r) / C + 2 :\\n (r - g) / C + 4);\\n H = ((H + 360) % 6) * 60 / 360;\\n L = (M + m) / 2;\\n S = (C == 0 ? 0 :\\n L < .5 ? C / (2 * L) :\\n C / (2 - 2 * L));\\n return {h: H, s: S, l: L, toString: hsltoString};\\n };\\n R._path2string = function () {\\n return this.join(\\\",\\\").replace(p2s, \\\"$1\\\");\\n };\\n function repush(array, item) {\\n for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) {\\n return array.push(array.splice(i, 1)[0]);\\n }\\n }\\n function cacher(f, scope, postprocessor) {\\n function newf() {\\n var arg = Array.prototype.slice.call(arguments, 0),\\n args = arg.join(\\\"\\\\u2400\\\"),\\n cache = newf.cache = newf.cache || {},\\n count = newf.count = newf.count || [];\\n if (cache[has](args)) {\\n repush(count, args);\\n return postprocessor ? postprocessor(cache[args]) : cache[args];\\n }\\n count.length >= 1e3 && delete cache[count.shift()];\\n count.push(args);\\n cache[args] = f[apply](scope, arg);\\n return postprocessor ? postprocessor(cache[args]) : cache[args];\\n }\\n return newf;\\n }\\n\\n var preload = R._preload = function (src, f) {\\n var img = g.doc.createElement(\\\"img\\\");\\n img.style.cssText = \\\"position:absolute;left:-9999em;top:-9999em\\\";\\n img.onload = function () {\\n f.call(this);\\n this.onload = null;\\n g.doc.body.removeChild(this);\\n };\\n img.onerror = function () {\\n g.doc.body.removeChild(this);\\n };\\n g.doc.body.appendChild(img);\\n img.src = src;\\n };\\n\\n function clrToString() {\\n return this.hex;\\n }\\n\\n /*\\\\\\n * Raphael.getRGB\\n [ method ]\\n **\\n * Parses colour string as RGB object\\n > Parameters\\n - colour (string) colour string in one of formats:\\n #
    \\n #
  • Colour name (“red”, “green”, “cornflowerblue”, etc)
  • \\n #
  • #••• — shortened HTML colour: (“#000”, “#fc0”, etc)
  • \\n #
  • #•••••• — full length HTML colour: (“#000000”, “#bd2300”)
  • \\n #
  • rgb(•••, •••, •••) — red, green and blue channels’ values: (“rgb(200, 100, 0)”)
  • \\n #
  • rgb(•••%, •••%, •••%) — same as above, but in %: (“rgb(100%, 175%, 0%)”)
  • \\n #
  • hsb(•••, •••, •••) — hue, saturation and brightness values: (“hsb(0.5, 0.25, 1)”)
  • \\n #
  • hsb(•••%, •••%, •••%) — same as above, but in %
  • \\n #
  • hsl(•••, •••, •••) — same as hsb
  • \\n #
  • hsl(•••%, •••%, •••%) — same as hsb
  • \\n #
\\n = (object) RGB object in format:\\n o {\\n o r (number) red,\\n o g (number) green,\\n o b (number) blue\\n o hex (string) color in HTML/CSS format: #••••••,\\n o error (boolean) true if string can’t be parsed\\n o }\\n \\\\*/\\n R.getRGB = cacher(function (colour) {\\n if (!colour || !!((colour = Str(colour)).indexOf(\\\"-\\\") + 1)) {\\n return {r: -1, g: -1, b: -1, hex: \\\"none\\\", error: 1, toString: clrToString};\\n }\\n if (colour == \\\"none\\\") {\\n return {r: -1, g: -1, b: -1, hex: \\\"none\\\", toString: clrToString};\\n }\\n !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == \\\"#\\\") && (colour = toHex(colour));\\n var res,\\n red,\\n green,\\n blue,\\n opacity,\\n t,\\n values,\\n rgb = colour.match(colourRegExp);\\n if (rgb) {\\n if (rgb[2]) {\\n blue = toInt(rgb[2].substring(5), 16);\\n green = toInt(rgb[2].substring(3, 5), 16);\\n red = toInt(rgb[2].substring(1, 3), 16);\\n }\\n if (rgb[3]) {\\n blue = toInt((t = rgb[3].charAt(3)) + t, 16);\\n green = toInt((t = rgb[3].charAt(2)) + t, 16);\\n red = toInt((t = rgb[3].charAt(1)) + t, 16);\\n }\\n if (rgb[4]) {\\n values = rgb[4][split](commaSpaces);\\n red = toFloat(values[0]);\\n values[0].slice(-1) == \\\"%\\\" && (red *= 2.55);\\n green = toFloat(values[1]);\\n values[1].slice(-1) == \\\"%\\\" && (green *= 2.55);\\n blue = toFloat(values[2]);\\n values[2].slice(-1) == \\\"%\\\" && (blue *= 2.55);\\n rgb[1].toLowerCase().slice(0, 4) == \\\"rgba\\\" && (opacity = toFloat(values[3]));\\n values[3] && values[3].slice(-1) == \\\"%\\\" && (opacity /= 100);\\n }\\n if (rgb[5]) {\\n values = rgb[5][split](commaSpaces);\\n red = toFloat(values[0]);\\n values[0].slice(-1) == \\\"%\\\" && (red *= 2.55);\\n green = toFloat(values[1]);\\n values[1].slice(-1) == \\\"%\\\" && (green *= 2.55);\\n blue = toFloat(values[2]);\\n values[2].slice(-1) == \\\"%\\\" && (blue *= 2.55);\\n (values[0].slice(-3) == \\\"deg\\\" || values[0].slice(-1) == \\\"\\\\xb0\\\") && (red /= 360);\\n rgb[1].toLowerCase().slice(0, 4) == \\\"hsba\\\" && (opacity = toFloat(values[3]));\\n values[3] && values[3].slice(-1) == \\\"%\\\" && (opacity /= 100);\\n return R.hsb2rgb(red, green, blue, opacity);\\n }\\n if (rgb[6]) {\\n values = rgb[6][split](commaSpaces);\\n red = toFloat(values[0]);\\n values[0].slice(-1) == \\\"%\\\" && (red *= 2.55);\\n green = toFloat(values[1]);\\n values[1].slice(-1) == \\\"%\\\" && (green *= 2.55);\\n blue = toFloat(values[2]);\\n values[2].slice(-1) == \\\"%\\\" && (blue *= 2.55);\\n (values[0].slice(-3) == \\\"deg\\\" || values[0].slice(-1) == \\\"\\\\xb0\\\") && (red /= 360);\\n rgb[1].toLowerCase().slice(0, 4) == \\\"hsla\\\" && (opacity = toFloat(values[3]));\\n values[3] && values[3].slice(-1) == \\\"%\\\" && (opacity /= 100);\\n return R.hsl2rgb(red, green, blue, opacity);\\n }\\n rgb = {r: red, g: green, b: blue, toString: clrToString};\\n rgb.hex = \\\"#\\\" + (16777216 | blue | (green << 8) | (red << 16)).toString(16).slice(1);\\n R.is(opacity, \\\"finite\\\") && (rgb.opacity = opacity);\\n return rgb;\\n }\\n return {r: -1, g: -1, b: -1, hex: \\\"none\\\", error: 1, toString: clrToString};\\n }, R);\\n /*\\\\\\n * Raphael.hsb\\n [ method ]\\n **\\n * Converts HSB values to hex representation of the colour.\\n > Parameters\\n - h (number) hue\\n - s (number) saturation\\n - b (number) value or brightness\\n = (string) hex representation of the colour.\\n \\\\*/\\n R.hsb = cacher(function (h, s, b) {\\n return R.hsb2rgb(h, s, b).hex;\\n });\\n /*\\\\\\n * Raphael.hsl\\n [ method ]\\n **\\n * Converts HSL values to hex representation of the colour.\\n > Parameters\\n - h (number) hue\\n - s (number) saturation\\n - l (number) luminosity\\n = (string) hex representation of the colour.\\n \\\\*/\\n R.hsl = cacher(function (h, s, l) {\\n return R.hsl2rgb(h, s, l).hex;\\n });\\n /*\\\\\\n * Raphael.rgb\\n [ method ]\\n **\\n * Converts RGB values to hex representation of the colour.\\n > Parameters\\n - r (number) red\\n - g (number) green\\n - b (number) blue\\n = (string) hex representation of the colour.\\n \\\\*/\\n R.rgb = cacher(function (r, g, b) {\\n function round(x) { return (x + 0.5) | 0; }\\n return \\\"#\\\" + (16777216 | round(b) | (round(g) << 8) | (round(r) << 16)).toString(16).slice(1);\\n });\\n /*\\\\\\n * Raphael.getColor\\n [ method ]\\n **\\n * On each call returns next colour in the spectrum. To reset it back to red call @Raphael.getColor.reset\\n > Parameters\\n - value (number) #optional brightness, default is `0.75`\\n = (string) hex representation of the colour.\\n \\\\*/\\n R.getColor = function (value) {\\n var start = this.getColor.start = this.getColor.start || {h: 0, s: 1, b: value || .75},\\n rgb = this.hsb2rgb(start.h, start.s, start.b);\\n start.h += .075;\\n if (start.h > 1) {\\n start.h = 0;\\n start.s -= .2;\\n start.s <= 0 && (this.getColor.start = {h: 0, s: 1, b: start.b});\\n }\\n return rgb.hex;\\n };\\n /*\\\\\\n * Raphael.getColor.reset\\n [ method ]\\n **\\n * Resets spectrum position for @Raphael.getColor back to red.\\n \\\\*/\\n R.getColor.reset = function () {\\n delete this.start;\\n };\\n\\n // http://schepers.cc/getting-to-the-point\\n function catmullRom2bezier(crp, z) {\\n var d = [];\\n for (var i = 0, iLen = crp.length; iLen - 2 * !z > i; i += 2) {\\n var p = [\\n {x: +crp[i - 2], y: +crp[i - 1]},\\n {x: +crp[i], y: +crp[i + 1]},\\n {x: +crp[i + 2], y: +crp[i + 3]},\\n {x: +crp[i + 4], y: +crp[i + 5]}\\n ];\\n if (z) {\\n if (!i) {\\n p[0] = {x: +crp[iLen - 2], y: +crp[iLen - 1]};\\n } else if (iLen - 4 == i) {\\n p[3] = {x: +crp[0], y: +crp[1]};\\n } else if (iLen - 2 == i) {\\n p[2] = {x: +crp[0], y: +crp[1]};\\n p[3] = {x: +crp[2], y: +crp[3]};\\n }\\n } else {\\n if (iLen - 4 == i) {\\n p[3] = p[2];\\n } else if (!i) {\\n p[0] = {x: +crp[i], y: +crp[i + 1]};\\n }\\n }\\n d.push([\\\"C\\\",\\n (-p[0].x + 6 * p[1].x + p[2].x) / 6,\\n (-p[0].y + 6 * p[1].y + p[2].y) / 6,\\n (p[1].x + 6 * p[2].x - p[3].x) / 6,\\n (p[1].y + 6*p[2].y - p[3].y) / 6,\\n p[2].x,\\n p[2].y\\n ]);\\n }\\n\\n return d;\\n }\\n /*\\\\\\n * Raphael.parsePathString\\n [ method ]\\n **\\n * Utility method\\n **\\n * Parses given path string into an array of arrays of path segments.\\n > Parameters\\n - pathString (string|array) path string or array of segments (in the last case it will be returned straight away)\\n = (array) array of segments.\\n \\\\*/\\n R.parsePathString = function (pathString) {\\n if (!pathString) {\\n return null;\\n }\\n var pth = paths(pathString);\\n if (pth.arr) {\\n return pathClone(pth.arr);\\n }\\n\\n var paramCounts = {a: 7, c: 6, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, z: 0},\\n data = [];\\n if (R.is(pathString, array) && R.is(pathString[0], array)) { // rough assumption\\n data = pathClone(pathString);\\n }\\n if (!data.length) {\\n Str(pathString).replace(pathCommand, function (a, b, c) {\\n var params = [],\\n name = b.toLowerCase();\\n c.replace(pathValues, function (a, b) {\\n b && params.push(+b);\\n });\\n if (name == \\\"m\\\" && params.length > 2) {\\n data.push([b][concat](params.splice(0, 2)));\\n name = \\\"l\\\";\\n b = b == \\\"m\\\" ? \\\"l\\\" : \\\"L\\\";\\n }\\n if (name == \\\"r\\\") {\\n data.push([b][concat](params));\\n } else while (params.length >= paramCounts[name]) {\\n data.push([b][concat](params.splice(0, paramCounts[name])));\\n if (!paramCounts[name]) {\\n break;\\n }\\n }\\n });\\n }\\n data.toString = R._path2string;\\n pth.arr = pathClone(data);\\n return data;\\n };\\n /*\\\\\\n * Raphael.parseTransformString\\n [ method ]\\n **\\n * Utility method\\n **\\n * Parses given path string into an array of transformations.\\n > Parameters\\n - TString (string|array) transform string or array of transformations (in the last case it will be returned straight away)\\n = (array) array of transformations.\\n \\\\*/\\n R.parseTransformString = cacher(function (TString) {\\n if (!TString) {\\n return null;\\n }\\n var paramCounts = {r: 3, s: 4, t: 2, m: 6},\\n data = [];\\n if (R.is(TString, array) && R.is(TString[0], array)) { // rough assumption\\n data = pathClone(TString);\\n }\\n if (!data.length) {\\n Str(TString).replace(tCommand, function (a, b, c) {\\n var params = [],\\n name = lowerCase.call(b);\\n c.replace(pathValues, function (a, b) {\\n b && params.push(+b);\\n });\\n data.push([b][concat](params));\\n });\\n }\\n data.toString = R._path2string;\\n return data;\\n });\\n // PATHS\\n var paths = function (ps) {\\n var p = paths.ps = paths.ps || {};\\n if (p[ps]) {\\n p[ps].sleep = 100;\\n } else {\\n p[ps] = {\\n sleep: 100\\n };\\n }\\n setTimeout(function () {\\n for (var key in p) if (p[has](key) && key != ps) {\\n p[key].sleep--;\\n !p[key].sleep && delete p[key];\\n }\\n });\\n return p[ps];\\n };\\n /*\\\\\\n * Raphael.findDotsAtSegment\\n [ method ]\\n **\\n * Utility method\\n **\\n * Find dot coordinates on the given cubic bezier curve at the given t.\\n > Parameters\\n - p1x (number) x of the first point of the curve\\n - p1y (number) y of the first point of the curve\\n - c1x (number) x of the first anchor of the curve\\n - c1y (number) y of the first anchor of the curve\\n - c2x (number) x of the second anchor of the curve\\n - c2y (number) y of the second anchor of the curve\\n - p2x (number) x of the second point of the curve\\n - p2y (number) y of the second point of the curve\\n - t (number) position on the curve (0..1)\\n = (object) point information in format:\\n o {\\n o x: (number) x coordinate of the point\\n o y: (number) y coordinate of the point\\n o m: {\\n o x: (number) x coordinate of the left anchor\\n o y: (number) y coordinate of the left anchor\\n o }\\n o n: {\\n o x: (number) x coordinate of the right anchor\\n o y: (number) y coordinate of the right anchor\\n o }\\n o start: {\\n o x: (number) x coordinate of the start of the curve\\n o y: (number) y coordinate of the start of the curve\\n o }\\n o end: {\\n o x: (number) x coordinate of the end of the curve\\n o y: (number) y coordinate of the end of the curve\\n o }\\n o alpha: (number) angle of the curve derivative at the point\\n o }\\n \\\\*/\\n R.findDotsAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\\n var t1 = 1 - t,\\n t13 = pow(t1, 3),\\n t12 = pow(t1, 2),\\n t2 = t * t,\\n t3 = t2 * t,\\n x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x,\\n y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y,\\n mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x),\\n my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y),\\n nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x),\\n ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y),\\n ax = t1 * p1x + t * c1x,\\n ay = t1 * p1y + t * c1y,\\n cx = t1 * c2x + t * p2x,\\n cy = t1 * c2y + t * p2y,\\n alpha = (90 - math.atan2(mx - nx, my - ny) * 180 / PI);\\n (mx > nx || my < ny) && (alpha += 180);\\n return {\\n x: x,\\n y: y,\\n m: {x: mx, y: my},\\n n: {x: nx, y: ny},\\n start: {x: ax, y: ay},\\n end: {x: cx, y: cy},\\n alpha: alpha\\n };\\n };\\n /*\\\\\\n * Raphael.bezierBBox\\n [ method ]\\n **\\n * Utility method\\n **\\n * Return bounding box of a given cubic bezier curve\\n > Parameters\\n - p1x (number) x of the first point of the curve\\n - p1y (number) y of the first point of the curve\\n - c1x (number) x of the first anchor of the curve\\n - c1y (number) y of the first anchor of the curve\\n - c2x (number) x of the second anchor of the curve\\n - c2y (number) y of the second anchor of the curve\\n - p2x (number) x of the second point of the curve\\n - p2y (number) y of the second point of the curve\\n * or\\n - bez (array) array of six points for bezier curve\\n = (object) point information in format:\\n o {\\n o min: {\\n o x: (number) x coordinate of the left point\\n o y: (number) y coordinate of the top point\\n o }\\n o max: {\\n o x: (number) x coordinate of the right point\\n o y: (number) y coordinate of the bottom point\\n o }\\n o }\\n \\\\*/\\n R.bezierBBox = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {\\n if (!R.is(p1x, \\\"array\\\")) {\\n p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y];\\n }\\n var bbox = curveDim.apply(null, p1x);\\n return {\\n x: bbox.min.x,\\n y: bbox.min.y,\\n x2: bbox.max.x,\\n y2: bbox.max.y,\\n width: bbox.max.x - bbox.min.x,\\n height: bbox.max.y - bbox.min.y\\n };\\n };\\n /*\\\\\\n * Raphael.isPointInsideBBox\\n [ method ]\\n **\\n * Utility method\\n **\\n * Returns `true` if given point is inside bounding boxes.\\n > Parameters\\n - bbox (string) bounding box\\n - x (string) x coordinate of the point\\n - y (string) y coordinate of the point\\n = (boolean) `true` if point inside\\n \\\\*/\\n R.isPointInsideBBox = function (bbox, x, y) {\\n return x >= bbox.x && x <= bbox.x2 && y >= bbox.y && y <= bbox.y2;\\n };\\n /*\\\\\\n * Raphael.isBBoxIntersect\\n [ method ]\\n **\\n * Utility method\\n **\\n * Returns `true` if two bounding boxes intersect\\n > Parameters\\n - bbox1 (string) first bounding box\\n - bbox2 (string) second bounding box\\n = (boolean) `true` if they intersect\\n \\\\*/\\n R.isBBoxIntersect = function (bbox1, bbox2) {\\n var i = R.isPointInsideBBox;\\n return i(bbox2, bbox1.x, bbox1.y)\\n || i(bbox2, bbox1.x2, bbox1.y)\\n || i(bbox2, bbox1.x, bbox1.y2)\\n || i(bbox2, bbox1.x2, bbox1.y2)\\n || i(bbox1, bbox2.x, bbox2.y)\\n || i(bbox1, bbox2.x2, bbox2.y)\\n || i(bbox1, bbox2.x, bbox2.y2)\\n || i(bbox1, bbox2.x2, bbox2.y2)\\n || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x)\\n && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y);\\n };\\n function base3(t, p1, p2, p3, p4) {\\n var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4,\\n t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;\\n return t * t2 - 3 * p1 + 3 * p2;\\n }\\n function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {\\n if (z == null) {\\n z = 1;\\n }\\n z = z > 1 ? 1 : z < 0 ? 0 : z;\\n var z2 = z / 2,\\n n = 12,\\n Tvalues = [-0.1252,0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,-0.9041,0.9041,-0.9816,0.9816],\\n Cvalues = [0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],\\n sum = 0;\\n for (var i = 0; i < n; i++) {\\n var ct = z2 * Tvalues[i] + z2,\\n xbase = base3(ct, x1, x2, x3, x4),\\n ybase = base3(ct, y1, y2, y3, y4),\\n comb = xbase * xbase + ybase * ybase;\\n sum += Cvalues[i] * math.sqrt(comb);\\n }\\n return z2 * sum;\\n }\\n function getTatLen(x1, y1, x2, y2, x3, y3, x4, y4, ll) {\\n if (ll < 0 || bezlen(x1, y1, x2, y2, x3, y3, x4, y4) < ll) {\\n return;\\n }\\n var t = 1,\\n step = t / 2,\\n t2 = t - step,\\n l,\\n e = .01;\\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\\n while (abs(l - ll) > e) {\\n step /= 2;\\n t2 += (l < ll ? 1 : -1) * step;\\n l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);\\n }\\n return t2;\\n }\\n function intersect(x1, y1, x2, y2, x3, y3, x4, y4) {\\n if (\\n mmax(x1, x2) < mmin(x3, x4) ||\\n mmin(x1, x2) > mmax(x3, x4) ||\\n mmax(y1, y2) < mmin(y3, y4) ||\\n mmin(y1, y2) > mmax(y3, y4)\\n ) {\\n return;\\n }\\n var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4),\\n ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4),\\n denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\\n\\n if (!denominator) {\\n return;\\n }\\n var px = nx / denominator,\\n py = ny / denominator,\\n px2 = +px.toFixed(2),\\n py2 = +py.toFixed(2);\\n if (\\n px2 < +mmin(x1, x2).toFixed(2) ||\\n px2 > +mmax(x1, x2).toFixed(2) ||\\n px2 < +mmin(x3, x4).toFixed(2) ||\\n px2 > +mmax(x3, x4).toFixed(2) ||\\n py2 < +mmin(y1, y2).toFixed(2) ||\\n py2 > +mmax(y1, y2).toFixed(2) ||\\n py2 < +mmin(y3, y4).toFixed(2) ||\\n py2 > +mmax(y3, y4).toFixed(2)\\n ) {\\n return;\\n }\\n return {x: px, y: py};\\n }\\n function inter(bez1, bez2) {\\n return interHelper(bez1, bez2);\\n }\\n function interCount(bez1, bez2) {\\n return interHelper(bez1, bez2, 1);\\n }\\n function interHelper(bez1, bez2, justCount) {\\n var bbox1 = R.bezierBBox(bez1),\\n bbox2 = R.bezierBBox(bez2);\\n if (!R.isBBoxIntersect(bbox1, bbox2)) {\\n return justCount ? 0 : [];\\n }\\n var l1 = bezlen.apply(0, bez1),\\n l2 = bezlen.apply(0, bez2),\\n n1 = mmax(~~(l1 / 5), 1),\\n n2 = mmax(~~(l2 / 5), 1),\\n dots1 = [],\\n dots2 = [],\\n xy = {},\\n res = justCount ? 0 : [];\\n for (var i = 0; i < n1 + 1; i++) {\\n var p = R.findDotsAtSegment.apply(R, bez1.concat(i / n1));\\n dots1.push({x: p.x, y: p.y, t: i / n1});\\n }\\n for (i = 0; i < n2 + 1; i++) {\\n p = R.findDotsAtSegment.apply(R, bez2.concat(i / n2));\\n dots2.push({x: p.x, y: p.y, t: i / n2});\\n }\\n for (i = 0; i < n1; i++) {\\n for (var j = 0; j < n2; j++) {\\n var di = dots1[i],\\n di1 = dots1[i + 1],\\n dj = dots2[j],\\n dj1 = dots2[j + 1],\\n ci = abs(di1.x - di.x) < .001 ? \\\"y\\\" : \\\"x\\\",\\n cj = abs(dj1.x - dj.x) < .001 ? \\\"y\\\" : \\\"x\\\",\\n is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y);\\n if (is) {\\n if (xy[is.x.toFixed(4)] == is.y.toFixed(4)) {\\n continue;\\n }\\n xy[is.x.toFixed(4)] = is.y.toFixed(4);\\n var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t),\\n t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);\\n if (t1 >= 0 && t1 <= 1.001 && t2 >= 0 && t2 <= 1.001) {\\n if (justCount) {\\n res++;\\n } else {\\n res.push({\\n x: is.x,\\n y: is.y,\\n t1: mmin(t1, 1),\\n t2: mmin(t2, 1)\\n });\\n }\\n }\\n }\\n }\\n }\\n return res;\\n }\\n /*\\\\\\n * Raphael.pathIntersection\\n [ method ]\\n **\\n * Utility method\\n **\\n * Finds intersections of two paths\\n > Parameters\\n - path1 (string) path string\\n - path2 (string) path string\\n = (array) dots of intersection\\n o [\\n o {\\n o x: (number) x coordinate of the point\\n o y: (number) y coordinate of the point\\n o t1: (number) t value for segment of path1\\n o t2: (number) t value for segment of path2\\n o segment1: (number) order number for segment of path1\\n o segment2: (number) order number for segment of path2\\n o bez1: (array) eight coordinates representing beziér curve for the segment of path1\\n o bez2: (array) eight coordinates representing beziér curve for the segment of path2\\n o }\\n o ]\\n \\\\*/\\n R.pathIntersection = function (path1, path2) {\\n return interPathHelper(path1, path2);\\n };\\n R.pathIntersectionNumber = function (path1, path2) {\\n return interPathHelper(path1, path2, 1);\\n };\\n function interPathHelper(path1, path2, justCount) {\\n path1 = R._path2curve(path1);\\n path2 = R._path2curve(path2);\\n var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2,\\n res = justCount ? 0 : [];\\n for (var i = 0, ii = path1.length; i < ii; i++) {\\n var pi = path1[i];\\n if (pi[0] == \\\"M\\\") {\\n x1 = x1m = pi[1];\\n y1 = y1m = pi[2];\\n } else {\\n if (pi[0] == \\\"C\\\") {\\n bez1 = [x1, y1].concat(pi.slice(1));\\n x1 = bez1[6];\\n y1 = bez1[7];\\n } else {\\n bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];\\n x1 = x1m;\\n y1 = y1m;\\n }\\n for (var j = 0, jj = path2.length; j < jj; j++) {\\n var pj = path2[j];\\n if (pj[0] == \\\"M\\\") {\\n x2 = x2m = pj[1];\\n y2 = y2m = pj[2];\\n } else {\\n if (pj[0] == \\\"C\\\") {\\n bez2 = [x2, y2].concat(pj.slice(1));\\n x2 = bez2[6];\\n y2 = bez2[7];\\n } else {\\n bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];\\n x2 = x2m;\\n y2 = y2m;\\n }\\n var intr = interHelper(bez1, bez2, justCount);\\n if (justCount) {\\n res += intr;\\n } else {\\n for (var k = 0, kk = intr.length; k < kk; k++) {\\n intr[k].segment1 = i;\\n intr[k].segment2 = j;\\n intr[k].bez1 = bez1;\\n intr[k].bez2 = bez2;\\n }\\n res = res.concat(intr);\\n }\\n }\\n }\\n }\\n }\\n return res;\\n }\\n /*\\\\\\n * Raphael.isPointInsidePath\\n [ method ]\\n **\\n * Utility method\\n **\\n * Returns `true` if given point is inside a given closed path.\\n > Parameters\\n - path (string) path string\\n - x (number) x of the point\\n - y (number) y of the point\\n = (boolean) true, if point is inside the path\\n \\\\*/\\n R.isPointInsidePath = function (path, x, y) {\\n var bbox = R.pathBBox(path);\\n return R.isPointInsideBBox(bbox, x, y) &&\\n interPathHelper(path, [[\\\"M\\\", x, y], [\\\"H\\\", bbox.x2 + 10]], 1) % 2 == 1;\\n };\\n R._removedFactory = function (methodname) {\\n return function () {\\n eve(\\\"raphael.log\\\", null, \\\"Rapha\\\\xebl: you are calling to method \\\\u201c\\\" + methodname + \\\"\\\\u201d of removed object\\\", methodname);\\n };\\n };\\n /*\\\\\\n * Raphael.pathBBox\\n [ method ]\\n **\\n * Utility method\\n **\\n * Return bounding box of a given path\\n > Parameters\\n - path (string) path string\\n = (object) bounding box\\n o {\\n o x: (number) x coordinate of the left top point of the box\\n o y: (number) y coordinate of the left top point of the box\\n o x2: (number) x coordinate of the right bottom point of the box\\n o y2: (number) y coordinate of the right bottom point of the box\\n o width: (number) width of the box\\n o height: (number) height of the box\\n o cx: (number) x coordinate of the center of the box\\n o cy: (number) y coordinate of the center of the box\\n o }\\n \\\\*/\\n var pathDimensions = R.pathBBox = function (path) {\\n var pth = paths(path);\\n if (pth.bbox) {\\n var b= pth.bbox;\\n return {x: b.x, y: b.y, width: b.width, height: b.height, x2: b.x2, y2: b.y2} ; // FREEGROUP FIX!!!!!!\\n // raphael reuse the returned bbox. You must clone it here if the caller need the bbxo for\\n //further calculation\\n }\\n if (!path) {\\n return {x: 0, y: 0, width: 0, height: 0, x2: 0, y2: 0};\\n }\\n path = path2curve(path);\\n var x = 0,\\n y = 0,\\n X = [],\\n Y = [],\\n p;\\n for (var i = 0, ii = path.length; i < ii; i++) {\\n p = path[i];\\n if (p[0] == \\\"M\\\") {\\n x = p[1];\\n y = p[2];\\n X.push(x);\\n Y.push(y);\\n } else {\\n var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\\n X = X[concat](dim.min.x, dim.max.x);\\n Y = Y[concat](dim.min.y, dim.max.y);\\n x = p[5];\\n y = p[6];\\n }\\n }\\n var xmin = mmin[apply](0, X),\\n ymin = mmin[apply](0, Y),\\n xmax = mmax[apply](0, X),\\n ymax = mmax[apply](0, Y),\\n width = xmax - xmin,\\n height = ymax - ymin,\\n bb = {\\n x: xmin,\\n y: ymin,\\n x2: xmax,\\n y2: ymax,\\n width: width,\\n height: height,\\n cx: xmin + width / 2,\\n cy: ymin + height / 2\\n };\\n pth.bbox = clone(bb);\\n return bb;\\n },\\n pathClone = function (pathArray) {\\n var res = clone(pathArray);\\n res.toString = R._path2string;\\n return res;\\n },\\n pathToRelative = R._pathToRelative = function (pathArray) {\\n var pth = paths(pathArray);\\n if (pth.rel) {\\n return pathClone(pth.rel);\\n }\\n if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) { // rough assumption\\n pathArray = R.parsePathString(pathArray);\\n }\\n var res = [],\\n x = 0,\\n y = 0,\\n mx = 0,\\n my = 0,\\n start = 0;\\n if (pathArray[0][0] == \\\"M\\\") {\\n x = pathArray[0][1];\\n y = pathArray[0][2];\\n mx = x;\\n my = y;\\n start++;\\n res.push([\\\"M\\\", x, y]);\\n }\\n for (var i = start, ii = pathArray.length; i < ii; i++) {\\n var r = res[i] = [],\\n pa = pathArray[i];\\n if (pa[0] != lowerCase.call(pa[0])) {\\n r[0] = lowerCase.call(pa[0]);\\n switch (r[0]) {\\n case \\\"a\\\":\\n r[1] = pa[1];\\n r[2] = pa[2];\\n r[3] = pa[3];\\n r[4] = pa[4];\\n r[5] = pa[5];\\n r[6] = +(pa[6] - x).toFixed(3);\\n r[7] = +(pa[7] - y).toFixed(3);\\n break;\\n case \\\"v\\\":\\n r[1] = +(pa[1] - y).toFixed(3);\\n break;\\n case \\\"m\\\":\\n mx = pa[1];\\n my = pa[2];\\n default:\\n for (var j = 1, jj = pa.length; j < jj; j++) {\\n r[j] = +(pa[j] - ((j % 2) ? x : y)).toFixed(3);\\n }\\n }\\n } else {\\n r = res[i] = [];\\n if (pa[0] == \\\"m\\\") {\\n mx = pa[1] + x;\\n my = pa[2] + y;\\n }\\n for (var k = 0, kk = pa.length; k < kk; k++) {\\n res[i][k] = pa[k];\\n }\\n }\\n var len = res[i].length;\\n switch (res[i][0]) {\\n case \\\"z\\\":\\n x = mx;\\n y = my;\\n break;\\n case \\\"h\\\":\\n x += +res[i][len - 1];\\n break;\\n case \\\"v\\\":\\n y += +res[i][len - 1];\\n break;\\n default:\\n x += +res[i][len - 2];\\n y += +res[i][len - 1];\\n }\\n }\\n res.toString = R._path2string;\\n pth.rel = pathClone(res);\\n return res;\\n },\\n pathToAbsolute = R._pathToAbsolute = function (pathArray) {\\n var pth = paths(pathArray);\\n if (pth.abs) {\\n return pathClone(pth.abs);\\n }\\n if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) { // rough assumption\\n pathArray = R.parsePathString(pathArray);\\n }\\n if (!pathArray || !pathArray.length) {\\n return [[\\\"M\\\", 0, 0]];\\n }\\n var res = [],\\n x = 0,\\n y = 0,\\n mx = 0,\\n my = 0,\\n start = 0;\\n if (pathArray[0][0] == \\\"M\\\") {\\n x = +pathArray[0][1];\\n y = +pathArray[0][2];\\n mx = x;\\n my = y;\\n start++;\\n res[0] = [\\\"M\\\", x, y];\\n }\\n var crz = pathArray.length == 3 && pathArray[0][0] == \\\"M\\\" && pathArray[1][0].toUpperCase() == \\\"R\\\" && pathArray[2][0].toUpperCase() == \\\"Z\\\";\\n for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) {\\n res.push(r = []);\\n pa = pathArray[i];\\n if (pa[0] != upperCase.call(pa[0])) {\\n r[0] = upperCase.call(pa[0]);\\n switch (r[0]) {\\n case \\\"A\\\":\\n r[1] = pa[1];\\n r[2] = pa[2];\\n r[3] = pa[3];\\n r[4] = pa[4];\\n r[5] = pa[5];\\n r[6] = +(pa[6] + x);\\n r[7] = +(pa[7] + y);\\n break;\\n case \\\"V\\\":\\n r[1] = +pa[1] + y;\\n break;\\n case \\\"H\\\":\\n r[1] = +pa[1] + x;\\n break;\\n case \\\"R\\\":\\n var dots = [x, y][concat](pa.slice(1));\\n for (var j = 2, jj = dots.length; j < jj; j++) {\\n dots[j] = +dots[j] + x;\\n dots[++j] = +dots[j] + y;\\n }\\n res.pop();\\n res = res[concat](catmullRom2bezier(dots, crz));\\n break;\\n case \\\"M\\\":\\n mx = +pa[1] + x;\\n my = +pa[2] + y;\\n default:\\n for (j = 1, jj = pa.length; j < jj; j++) {\\n r[j] = +pa[j] + ((j % 2) ? x : y);\\n }\\n }\\n } else if (pa[0] == \\\"R\\\") {\\n dots = [x, y][concat](pa.slice(1));\\n res.pop();\\n res = res[concat](catmullRom2bezier(dots, crz));\\n r = [\\\"R\\\"][concat](pa.slice(-2));\\n } else {\\n for (var k = 0, kk = pa.length; k < kk; k++) {\\n r[k] = pa[k];\\n }\\n }\\n switch (r[0]) {\\n case \\\"Z\\\":\\n x = mx;\\n y = my;\\n break;\\n case \\\"H\\\":\\n x = r[1];\\n break;\\n case \\\"V\\\":\\n y = r[1];\\n break;\\n case \\\"M\\\":\\n mx = r[r.length - 2];\\n my = r[r.length - 1];\\n default:\\n x = r[r.length - 2];\\n y = r[r.length - 1];\\n }\\n }\\n res.toString = R._path2string;\\n pth.abs = pathClone(res);\\n return res;\\n },\\n l2c = function (x1, y1, x2, y2) {\\n return [x1, y1, x2, y2, x2, y2];\\n },\\n q2c = function (x1, y1, ax, ay, x2, y2) {\\n var _13 = 1 / 3,\\n _23 = 2 / 3;\\n return [\\n _13 * x1 + _23 * ax,\\n _13 * y1 + _23 * ay,\\n _13 * x2 + _23 * ax,\\n _13 * y2 + _23 * ay,\\n x2,\\n y2\\n ];\\n },\\n a2c = function (x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\\n // for more information of where this math came from visit:\\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\\n var _120 = PI * 120 / 180,\\n rad = PI / 180 * (+angle || 0),\\n res = [],\\n xy,\\n rotate = cacher(function (x, y, rad) {\\n var X = x * math.cos(rad) - y * math.sin(rad),\\n Y = x * math.sin(rad) + y * math.cos(rad);\\n return {x: X, y: Y};\\n });\\n if (!recursive) {\\n xy = rotate(x1, y1, -rad);\\n x1 = xy.x;\\n y1 = xy.y;\\n xy = rotate(x2, y2, -rad);\\n x2 = xy.x;\\n y2 = xy.y;\\n var cos = math.cos(PI / 180 * angle),\\n sin = math.sin(PI / 180 * angle),\\n x = (x1 - x2) / 2,\\n y = (y1 - y2) / 2;\\n var h = (x * x) / (rx * rx) + (y * y) / (ry * ry);\\n if (h > 1) {\\n h = math.sqrt(h);\\n rx = h * rx;\\n ry = h * ry;\\n }\\n var rx2 = rx * rx,\\n ry2 = ry * ry,\\n k = (large_arc_flag == sweep_flag ? -1 : 1) *\\n math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),\\n cx = k * rx * y / ry + (x1 + x2) / 2,\\n cy = k * -ry * x / rx + (y1 + y2) / 2,\\n f1 = math.asin(((y1 - cy) / ry).toFixed(9)),\\n f2 = math.asin(((y2 - cy) / ry).toFixed(9));\\n\\n f1 = x1 < cx ? PI - f1 : f1;\\n f2 = x2 < cx ? PI - f2 : f2;\\n f1 < 0 && (f1 = PI * 2 + f1);\\n f2 < 0 && (f2 = PI * 2 + f2);\\n if (sweep_flag && f1 > f2) {\\n f1 = f1 - PI * 2;\\n }\\n if (!sweep_flag && f2 > f1) {\\n f2 = f2 - PI * 2;\\n }\\n } else {\\n f1 = recursive[0];\\n f2 = recursive[1];\\n cx = recursive[2];\\n cy = recursive[3];\\n }\\n var df = f2 - f1;\\n if (abs(df) > _120) {\\n var f2old = f2,\\n x2old = x2,\\n y2old = y2;\\n f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);\\n x2 = cx + rx * math.cos(f2);\\n y2 = cy + ry * math.sin(f2);\\n res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);\\n }\\n df = f2 - f1;\\n var c1 = math.cos(f1),\\n s1 = math.sin(f1),\\n c2 = math.cos(f2),\\n s2 = math.sin(f2),\\n t = math.tan(df / 4),\\n hx = 4 / 3 * rx * t,\\n hy = 4 / 3 * ry * t,\\n m1 = [x1, y1],\\n m2 = [x1 + hx * s1, y1 - hy * c1],\\n m3 = [x2 + hx * s2, y2 - hy * c2],\\n m4 = [x2, y2];\\n m2[0] = 2 * m1[0] - m2[0];\\n m2[1] = 2 * m1[1] - m2[1];\\n if (recursive) {\\n return [m2, m3, m4][concat](res);\\n } else {\\n res = [m2, m3, m4][concat](res).join()[split](\\\",\\\");\\n var newres = [];\\n for (var i = 0, ii = res.length; i < ii; i++) {\\n newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;\\n }\\n return newres;\\n }\\n },\\n findDotAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\\n var t1 = 1 - t;\\n return {\\n x: pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x,\\n y: pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y\\n };\\n },\\n curveDim = cacher(function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {\\n var a = (c2x - 2 * c1x + p1x) - (p2x - 2 * c2x + c1x),\\n b = 2 * (c1x - p1x) - 2 * (c2x - c1x),\\n c = p1x - c1x,\\n t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a,\\n t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a,\\n y = [p1y, p2y],\\n x = [p1x, p2x],\\n dot;\\n abs(t1) > \\\"1e12\\\" && (t1 = .5);\\n abs(t2) > \\\"1e12\\\" && (t2 = .5);\\n if (t1 > 0 && t1 < 1) {\\n dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);\\n x.push(dot.x);\\n y.push(dot.y);\\n }\\n if (t2 > 0 && t2 < 1) {\\n dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);\\n x.push(dot.x);\\n y.push(dot.y);\\n }\\n a = (c2y - 2 * c1y + p1y) - (p2y - 2 * c2y + c1y);\\n b = 2 * (c1y - p1y) - 2 * (c2y - c1y);\\n c = p1y - c1y;\\n t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a;\\n t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a;\\n abs(t1) > \\\"1e12\\\" && (t1 = .5);\\n abs(t2) > \\\"1e12\\\" && (t2 = .5);\\n if (t1 > 0 && t1 < 1) {\\n dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);\\n x.push(dot.x);\\n y.push(dot.y);\\n }\\n if (t2 > 0 && t2 < 1) {\\n dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);\\n x.push(dot.x);\\n y.push(dot.y);\\n }\\n return {\\n min: {x: mmin[apply](0, x), y: mmin[apply](0, y)},\\n max: {x: mmax[apply](0, x), y: mmax[apply](0, y)}\\n };\\n }),\\n path2curve = R._path2curve = cacher(function (path, path2) {\\n var pth = !path2 && paths(path);\\n if (!path2 && pth.curve) {\\n return pathClone(pth.curve);\\n }\\n var p = pathToAbsolute(path),\\n p2 = path2 && pathToAbsolute(path2),\\n attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\\n attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},\\n processPath = function (path, d, pcom) {\\n var nx, ny, tq = {T:1, Q:1};\\n if (!path) {\\n return [\\\"C\\\", d.x, d.y, d.x, d.y, d.x, d.y];\\n }\\n !(path[0] in tq) && (d.qx = d.qy = null);\\n switch (path[0]) {\\n case \\\"M\\\":\\n d.X = path[1];\\n d.Y = path[2];\\n break;\\n case \\\"A\\\":\\n path = [\\\"C\\\"][concat](a2c[apply](0, [d.x, d.y][concat](path.slice(1))));\\n break;\\n case \\\"S\\\":\\n if (pcom == \\\"C\\\" || pcom == \\\"S\\\") { // In \\\"S\\\" case we have to take into account, if the previous command is C/S.\\n nx = d.x * 2 - d.bx; // And reflect the previous\\n ny = d.y * 2 - d.by; // command's control point relative to the current point.\\n }\\n else { // or some else or nothing\\n nx = d.x;\\n ny = d.y;\\n }\\n path = [\\\"C\\\", nx, ny][concat](path.slice(1));\\n break;\\n case \\\"T\\\":\\n if (pcom == \\\"Q\\\" || pcom == \\\"T\\\") { // In \\\"T\\\" case we have to take into account, if the previous command is Q/T.\\n d.qx = d.x * 2 - d.qx; // And make a reflection similar\\n d.qy = d.y * 2 - d.qy; // to case \\\"S\\\".\\n }\\n else { // or something else or nothing\\n d.qx = d.x;\\n d.qy = d.y;\\n }\\n path = [\\\"C\\\"][concat](q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));\\n break;\\n case \\\"Q\\\":\\n d.qx = path[1];\\n d.qy = path[2];\\n path = [\\\"C\\\"][concat](q2c(d.x, d.y, path[1], path[2], path[3], path[4]));\\n break;\\n case \\\"L\\\":\\n path = [\\\"C\\\"][concat](l2c(d.x, d.y, path[1], path[2]));\\n break;\\n case \\\"H\\\":\\n path = [\\\"C\\\"][concat](l2c(d.x, d.y, path[1], d.y));\\n break;\\n case \\\"V\\\":\\n path = [\\\"C\\\"][concat](l2c(d.x, d.y, d.x, path[1]));\\n break;\\n case \\\"Z\\\":\\n path = [\\\"C\\\"][concat](l2c(d.x, d.y, d.X, d.Y));\\n break;\\n }\\n return path;\\n },\\n fixArc = function (pp, i) {\\n if (pp[i].length > 7) {\\n pp[i].shift();\\n var pi = pp[i];\\n while (pi.length) {\\n pcoms1[i]=\\\"A\\\"; // if created multiple C:s, their original seg is saved\\n p2 && (pcoms2[i]=\\\"A\\\"); // the same as above\\n pp.splice(i++, 0, [\\\"C\\\"][concat](pi.splice(0, 6)));\\n }\\n pp.splice(i, 1);\\n ii = mmax(p.length, p2 && p2.length || 0);\\n }\\n },\\n fixM = function (path1, path2, a1, a2, i) {\\n if (path1 && path2 && path1[i][0] == \\\"M\\\" && path2[i][0] != \\\"M\\\") {\\n path2.splice(i, 0, [\\\"M\\\", a2.x, a2.y]);\\n a1.bx = 0;\\n a1.by = 0;\\n a1.x = path1[i][1];\\n a1.y = path1[i][2];\\n ii = mmax(p.length, p2 && p2.length || 0);\\n }\\n },\\n pcoms1 = [], // path commands of original path p\\n pcoms2 = [], // path commands of original path p2\\n pfirst = \\\"\\\", // temporary holder for original path command\\n pcom = \\\"\\\"; // holder for previous path command of original path\\n for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0); i < ii; i++) {\\n p[i] && (pfirst = p[i][0]); // save current path command\\n\\n if (pfirst != \\\"C\\\") // C is not saved yet, because it may be result of conversion\\n {\\n pcoms1[i] = pfirst; // Save current path command\\n i && ( pcom = pcoms1[i-1]); // Get previous path command pcom\\n }\\n p[i] = processPath(p[i], attrs, pcom); // Previous path command is inputted to processPath\\n\\n if (pcoms1[i] != \\\"A\\\" && pfirst == \\\"C\\\") pcoms1[i] = \\\"C\\\"; // A is the only command\\n // which may produce multiple C:s\\n // so we have to make sure that C is also C in original path\\n\\n fixArc(p, i); // fixArc adds also the right amount of A:s to pcoms1\\n\\n if (p2) { // the same procedures is done to p2\\n p2[i] && (pfirst = p2[i][0]);\\n if (pfirst != \\\"C\\\")\\n {\\n pcoms2[i] = pfirst;\\n i && (pcom = pcoms2[i-1]);\\n }\\n p2[i] = processPath(p2[i], attrs2, pcom);\\n\\n if (pcoms2[i]!=\\\"A\\\" && pfirst==\\\"C\\\") pcoms2[i]=\\\"C\\\";\\n\\n fixArc(p2, i);\\n }\\n fixM(p, p2, attrs, attrs2, i);\\n fixM(p2, p, attrs2, attrs, i);\\n var seg = p[i],\\n seg2 = p2 && p2[i],\\n seglen = seg.length,\\n seg2len = p2 && seg2.length;\\n attrs.x = seg[seglen - 2];\\n attrs.y = seg[seglen - 1];\\n attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;\\n attrs.by = toFloat(seg[seglen - 3]) || attrs.y;\\n attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x);\\n attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y);\\n attrs2.x = p2 && seg2[seg2len - 2];\\n attrs2.y = p2 && seg2[seg2len - 1];\\n }\\n if (!p2) {\\n pth.curve = pathClone(p);\\n }\\n return p2 ? [p, p2] : p;\\n }, null, pathClone),\\n parseDots = R._parseDots = cacher(function (gradient) {\\n var dots = [];\\n for (var i = 0, ii = gradient.length; i < ii; i++) {\\n var dot = {},\\n par = gradient[i].match(/^([^:]*):?([\\\\d\\\\.]*)/);\\n dot.color = R.getRGB(par[1]);\\n if (dot.color.error) {\\n return null;\\n }\\n dot.opacity = dot.color.opacity;\\n dot.color = dot.color.hex;\\n par[2] && (dot.offset = par[2] + \\\"%\\\");\\n dots.push(dot);\\n }\\n for (i = 1, ii = dots.length - 1; i < ii; i++) {\\n if (!dots[i].offset) {\\n var start = toFloat(dots[i - 1].offset || 0),\\n end = 0;\\n for (var j = i + 1; j < ii; j++) {\\n if (dots[j].offset) {\\n end = dots[j].offset;\\n break;\\n }\\n }\\n if (!end) {\\n end = 100;\\n j = ii;\\n }\\n end = toFloat(end);\\n var d = (end - start) / (j - i + 1);\\n for (; i < j; i++) {\\n start += d;\\n dots[i].offset = start + \\\"%\\\";\\n }\\n }\\n }\\n return dots;\\n }),\\n tear = R._tear = function (el, paper) {\\n el == paper.top && (paper.top = el.prev);\\n el == paper.bottom && (paper.bottom = el.next);\\n el.next && (el.next.prev = el.prev);\\n el.prev && (el.prev.next = el.next);\\n },\\n tofront = R._tofront = function (el, paper) {\\n if (paper.top === el) {\\n return;\\n }\\n tear(el, paper);\\n el.next = null;\\n el.prev = paper.top;\\n paper.top.next = el;\\n paper.top = el;\\n },\\n toback = R._toback = function (el, paper) {\\n if (paper.bottom === el) {\\n return;\\n }\\n tear(el, paper);\\n el.next = paper.bottom;\\n el.prev = null;\\n paper.bottom.prev = el;\\n paper.bottom = el;\\n },\\n insertafter = R._insertafter = function (el, el2, paper) {\\n tear(el, paper);\\n el2 == paper.top && (paper.top = el);\\n el2.next && (el2.next.prev = el);\\n el.next = el2.next;\\n el.prev = el2;\\n el2.next = el;\\n },\\n insertbefore = R._insertbefore = function (el, el2, paper) {\\n tear(el, paper);\\n el2 == paper.bottom && (paper.bottom = el);\\n el2.prev && (el2.prev.next = el);\\n el.prev = el2.prev;\\n el2.prev = el;\\n el.next = el2;\\n },\\n /*\\\\\\n * Raphael.toMatrix\\n [ method ]\\n **\\n * Utility method\\n **\\n * Returns matrix of transformations applied to a given path\\n > Parameters\\n - path (string) path string\\n - transform (string|array) transformation string\\n = (object) @Matrix\\n \\\\*/\\n toMatrix = R.toMatrix = function (path, transform) {\\n var bb = pathDimensions(path),\\n el = {\\n _: {\\n transform: E\\n },\\n getBBox: function () {\\n return bb;\\n }\\n };\\n extractTransform(el, transform);\\n return el.matrix;\\n },\\n /*\\\\\\n * Raphael.transformPath\\n [ method ]\\n **\\n * Utility method\\n **\\n * Returns path transformed by a given transformation\\n > Parameters\\n - path (string) path string\\n - transform (string|array) transformation string\\n = (string) path\\n \\\\*/\\n transformPath = R.transformPath = function (path, transform) {\\n return mapPath(path, toMatrix(path, transform));\\n },\\n extractTransform = R._extractTransform = function (el, tstr) {\\n if (tstr == null) {\\n return el._.transform;\\n }\\n tstr = Str(tstr).replace(/\\\\.{3}|\\\\u2026/g, el._.transform || E);\\n var tdata = R.parseTransformString(tstr),\\n deg = 0,\\n dx = 0,\\n dy = 0,\\n sx = 1,\\n sy = 1,\\n _ = el._,\\n m = new Matrix;\\n _.transform = tdata || [];\\n if (tdata) {\\n for (var i = 0, ii = tdata.length; i < ii; i++) {\\n var t = tdata[i],\\n tlen = t.length,\\n command = Str(t[0]).toLowerCase(),\\n absolute = t[0] != command,\\n inver = absolute ? m.invert() : 0,\\n x1,\\n y1,\\n x2,\\n y2,\\n bb;\\n if (command == \\\"t\\\" && tlen == 3) {\\n if (absolute) {\\n x1 = inver.x(0, 0);\\n y1 = inver.y(0, 0);\\n x2 = inver.x(t[1], t[2]);\\n y2 = inver.y(t[1], t[2]);\\n m.translate(x2 - x1, y2 - y1);\\n } else {\\n m.translate(t[1], t[2]);\\n }\\n } else if (command == \\\"r\\\") {\\n if (tlen == 2) {\\n bb = bb || el.getBBox(1);\\n m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2);\\n deg += t[1];\\n } else if (tlen == 4) {\\n if (absolute) {\\n x2 = inver.x(t[2], t[3]);\\n y2 = inver.y(t[2], t[3]);\\n m.rotate(t[1], x2, y2);\\n } else {\\n m.rotate(t[1], t[2], t[3]);\\n }\\n deg += t[1];\\n }\\n } else if (command == \\\"s\\\") {\\n if (tlen == 2 || tlen == 3) {\\n bb = bb || el.getBBox(1);\\n m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2);\\n sx *= t[1];\\n sy *= t[tlen - 1];\\n } else if (tlen == 5) {\\n if (absolute) {\\n x2 = inver.x(t[3], t[4]);\\n y2 = inver.y(t[3], t[4]);\\n m.scale(t[1], t[2], x2, y2);\\n } else {\\n m.scale(t[1], t[2], t[3], t[4]);\\n }\\n sx *= t[1];\\n sy *= t[2];\\n }\\n } else if (command == \\\"m\\\" && tlen == 7) {\\n m.add(t[1], t[2], t[3], t[4], t[5], t[6]);\\n }\\n _.dirtyT = 1;\\n el.matrix = m;\\n }\\n }\\n\\n /*\\\\\\n * Element.matrix\\n [ property (object) ]\\n **\\n * Keeps @Matrix object, which represents element transformation\\n \\\\*/\\n el.matrix = m;\\n\\n _.sx = sx;\\n _.sy = sy;\\n _.deg = deg;\\n _.dx = dx = m.e;\\n _.dy = dy = m.f;\\n\\n if (sx == 1 && sy == 1 && !deg && _.bbox) {\\n _.bbox.x += +dx;\\n _.bbox.y += +dy;\\n } else {\\n _.dirtyT = 1;\\n }\\n },\\n getEmpty = function (item) {\\n var l = item[0];\\n switch (l.toLowerCase()) {\\n case \\\"t\\\": return [l, 0, 0];\\n case \\\"m\\\": return [l, 1, 0, 0, 1, 0, 0];\\n case \\\"r\\\": if (item.length == 4) {\\n return [l, 0, item[2], item[3]];\\n } else {\\n return [l, 0];\\n }\\n case \\\"s\\\": if (item.length == 5) {\\n return [l, 1, 1, item[3], item[4]];\\n } else if (item.length == 3) {\\n return [l, 1, 1];\\n } else {\\n return [l, 1];\\n }\\n }\\n },\\n equaliseTransform = R._equaliseTransform = function (t1, t2) {\\n t2 = Str(t2).replace(/\\\\.{3}|\\\\u2026/g, t1);\\n t1 = R.parseTransformString(t1) || [];\\n t2 = R.parseTransformString(t2) || [];\\n var maxlength = mmax(t1.length, t2.length),\\n from = [],\\n to = [],\\n i = 0, j, jj,\\n tt1, tt2;\\n for (; i < maxlength; i++) {\\n tt1 = t1[i] || getEmpty(t2[i]);\\n tt2 = t2[i] || getEmpty(tt1);\\n if ((tt1[0] != tt2[0]) ||\\n (tt1[0].toLowerCase() == \\\"r\\\" && (tt1[2] != tt2[2] || tt1[3] != tt2[3])) ||\\n (tt1[0].toLowerCase() == \\\"s\\\" && (tt1[3] != tt2[3] || tt1[4] != tt2[4]))\\n ) {\\n return;\\n }\\n from[i] = [];\\n to[i] = [];\\n for (j = 0, jj = mmax(tt1.length, tt2.length); j < jj; j++) {\\n j in tt1 && (from[i][j] = tt1[j]);\\n j in tt2 && (to[i][j] = tt2[j]);\\n }\\n }\\n return {\\n from: from,\\n to: to\\n };\\n };\\n R._getContainer = function (x, y, w, h) {\\n var container;\\n container = h == null && !R.is(x, \\\"object\\\") ? g.doc.getElementById(x) : x;\\n if (container == null) {\\n return;\\n }\\n if (container.tagName) {\\n if (y == null) {\\n return {\\n container: container,\\n width: container.style.pixelWidth || container.offsetWidth,\\n height: container.style.pixelHeight || container.offsetHeight\\n };\\n } else {\\n return {\\n container: container,\\n width: y,\\n height: w\\n };\\n }\\n }\\n return {\\n container: 1,\\n x: x,\\n y: y,\\n width: w,\\n height: h\\n };\\n };\\n /*\\\\\\n * Raphael.pathToRelative\\n [ method ]\\n **\\n * Utility method\\n **\\n * Converts path to relative form\\n > Parameters\\n - pathString (string|array) path string or array of segments\\n = (array) array of segments.\\n \\\\*/\\n R.pathToRelative = pathToRelative;\\n R._engine = {};\\n /*\\\\\\n * Raphael.path2curve\\n [ method ]\\n **\\n * Utility method\\n **\\n * Converts path to a new path where all segments are cubic bezier curves.\\n > Parameters\\n - pathString (string|array) path string or array of segments\\n = (array) array of segments.\\n \\\\*/\\n R.path2curve = path2curve;\\n /*\\\\\\n * Raphael.matrix\\n [ method ]\\n **\\n * Utility method\\n **\\n * Returns matrix based on given parameters.\\n > Parameters\\n - a (number)\\n - b (number)\\n - c (number)\\n - d (number)\\n - e (number)\\n - f (number)\\n = (object) @Matrix\\n \\\\*/\\n R.matrix = function (a, b, c, d, e, f) {\\n return new Matrix(a, b, c, d, e, f);\\n };\\n function Matrix(a, b, c, d, e, f) {\\n if (a != null) {\\n this.a = +a;\\n this.b = +b;\\n this.c = +c;\\n this.d = +d;\\n this.e = +e;\\n this.f = +f;\\n } else {\\n this.a = 1;\\n this.b = 0;\\n this.c = 0;\\n this.d = 1;\\n this.e = 0;\\n this.f = 0;\\n }\\n }\\n (function (matrixproto) {\\n /*\\\\\\n * Matrix.add\\n [ method ]\\n **\\n * Adds given matrix to existing one.\\n > Parameters\\n - a (number)\\n - b (number)\\n - c (number)\\n - d (number)\\n - e (number)\\n - f (number)\\n or\\n - matrix (object) @Matrix\\n \\\\*/\\n matrixproto.add = function (a, b, c, d, e, f) {\\n var out = [[], [], []],\\n m = [[this.a, this.c, this.e], [this.b, this.d, this.f], [0, 0, 1]],\\n matrix = [[a, c, e], [b, d, f], [0, 0, 1]],\\n x, y, z, res;\\n\\n if (a && a instanceof Matrix) {\\n matrix = [[a.a, a.c, a.e], [a.b, a.d, a.f], [0, 0, 1]];\\n }\\n\\n for (x = 0; x < 3; x++) {\\n for (y = 0; y < 3; y++) {\\n res = 0;\\n for (z = 0; z < 3; z++) {\\n res += m[x][z] * matrix[z][y];\\n }\\n out[x][y] = res;\\n }\\n }\\n this.a = out[0][0];\\n this.b = out[1][0];\\n this.c = out[0][1];\\n this.d = out[1][1];\\n this.e = out[0][2];\\n this.f = out[1][2];\\n };\\n /*\\\\\\n * Matrix.invert\\n [ method ]\\n **\\n * Returns inverted version of the matrix\\n = (object) @Matrix\\n \\\\*/\\n matrixproto.invert = function () {\\n var me = this,\\n x = me.a * me.d - me.b * me.c;\\n return new Matrix(me.d / x, -me.b / x, -me.c / x, me.a / x, (me.c * me.f - me.d * me.e) / x, (me.b * me.e - me.a * me.f) / x);\\n };\\n /*\\\\\\n * Matrix.clone\\n [ method ]\\n **\\n * Returns copy of the matrix\\n = (object) @Matrix\\n \\\\*/\\n matrixproto.clone = function () {\\n return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);\\n };\\n /*\\\\\\n * Matrix.translate\\n [ method ]\\n **\\n * Translate the matrix\\n > Parameters\\n - x (number)\\n - y (number)\\n \\\\*/\\n matrixproto.translate = function (x, y) {\\n this.add(1, 0, 0, 1, x, y);\\n };\\n /*\\\\\\n * Matrix.scale\\n [ method ]\\n **\\n * Scales the matrix\\n > Parameters\\n - x (number)\\n - y (number) #optional\\n - cx (number) #optional\\n - cy (number) #optional\\n \\\\*/\\n matrixproto.scale = function (x, y, cx, cy) {\\n y == null && (y = x);\\n (cx || cy) && this.add(1, 0, 0, 1, cx, cy);\\n this.add(x, 0, 0, y, 0, 0);\\n (cx || cy) && this.add(1, 0, 0, 1, -cx, -cy);\\n };\\n /*\\\\\\n * Matrix.rotate\\n [ method ]\\n **\\n * Rotates the matrix\\n > Parameters\\n - a (number)\\n - x (number)\\n - y (number)\\n \\\\*/\\n matrixproto.rotate = function (a, x, y) {\\n a = R.rad(a);\\n x = x || 0;\\n y = y || 0;\\n var cos = +math.cos(a).toFixed(9),\\n sin = +math.sin(a).toFixed(9);\\n this.add(cos, sin, -sin, cos, x, y);\\n this.add(1, 0, 0, 1, -x, -y);\\n };\\n /*\\\\\\n * Matrix.x\\n [ method ]\\n **\\n * Return x coordinate for given point after transformation described by the matrix. See also @Matrix.y\\n > Parameters\\n - x (number)\\n - y (number)\\n = (number) x\\n \\\\*/\\n matrixproto.x = function (x, y) {\\n return x * this.a + y * this.c + this.e;\\n };\\n /*\\\\\\n * Matrix.y\\n [ method ]\\n **\\n * Return y coordinate for given point after transformation described by the matrix. See also @Matrix.x\\n > Parameters\\n - x (number)\\n - y (number)\\n = (number) y\\n \\\\*/\\n matrixproto.y = function (x, y) {\\n return x * this.b + y * this.d + this.f;\\n };\\n matrixproto.get = function (i) {\\n return +this[Str.fromCharCode(97 + i)].toFixed(4);\\n };\\n matrixproto.toString = function () {\\n return R.svg ?\\n \\\"matrix(\\\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + \\\")\\\" :\\n [this.get(0), this.get(2), this.get(1), this.get(3), 0, 0].join();\\n };\\n matrixproto.toFilter = function () {\\n return \\\"progid:DXImageTransform.Microsoft.Matrix(M11=\\\" + this.get(0) +\\n \\\", M12=\\\" + this.get(2) + \\\", M21=\\\" + this.get(1) + \\\", M22=\\\" + this.get(3) +\\n \\\", Dx=\\\" + this.get(4) + \\\", Dy=\\\" + this.get(5) + \\\", sizingmethod='auto expand')\\\";\\n };\\n matrixproto.offset = function () {\\n return [this.e.toFixed(4), this.f.toFixed(4)];\\n };\\n function norm(a) {\\n return a[0] * a[0] + a[1] * a[1];\\n }\\n function normalize(a) {\\n var mag = math.sqrt(norm(a));\\n a[0] && (a[0] /= mag);\\n a[1] && (a[1] /= mag);\\n }\\n /*\\\\\\n * Matrix.split\\n [ method ]\\n **\\n * Splits matrix into primitive transformations\\n = (object) in format:\\n o dx (number) translation by x\\n o dy (number) translation by y\\n o scalex (number) scale by x\\n o scaley (number) scale by y\\n o shear (number) shear\\n o rotate (number) rotation in deg\\n o isSimple (boolean) could it be represented via simple transformations\\n \\\\*/\\n matrixproto.split = function () {\\n var out = {};\\n // translation\\n out.dx = this.e;\\n out.dy = this.f;\\n\\n // scale and shear\\n var row = [[this.a, this.c], [this.b, this.d]];\\n out.scalex = math.sqrt(norm(row[0]));\\n normalize(row[0]);\\n\\n out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1];\\n row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear];\\n\\n out.scaley = math.sqrt(norm(row[1]));\\n normalize(row[1]);\\n out.shear /= out.scaley;\\n\\n // rotation\\n var sin = -row[0][1],\\n cos = row[1][1];\\n if (cos < 0) {\\n out.rotate = R.deg(math.acos(cos));\\n if (sin < 0) {\\n out.rotate = 360 - out.rotate;\\n }\\n } else {\\n out.rotate = R.deg(math.asin(sin));\\n }\\n\\n out.isSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) || !out.rotate);\\n out.isSuperSimple = !+out.shear.toFixed(9) && out.scalex.toFixed(9) == out.scaley.toFixed(9) && !out.rotate;\\n out.noRotation = !+out.shear.toFixed(9) && !out.rotate;\\n return out;\\n };\\n /*\\\\\\n * Matrix.toTransformString\\n [ method ]\\n **\\n * Return transform string that represents given matrix\\n = (string) transform string\\n \\\\*/\\n matrixproto.toTransformString = function (shorter) {\\n var s = shorter || this[split]();\\n if (s.isSimple) {\\n s.scalex = +s.scalex.toFixed(4);\\n s.scaley = +s.scaley.toFixed(4);\\n s.rotate = +s.rotate.toFixed(4);\\n return (s.dx || s.dy ? \\\"t\\\" + [s.dx, s.dy] : E) +\\n (s.scalex != 1 || s.scaley != 1 ? \\\"s\\\" + [s.scalex, s.scaley, 0, 0] : E) +\\n (s.rotate ? \\\"r\\\" + [s.rotate, 0, 0] : E);\\n } else {\\n return \\\"m\\\" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)];\\n }\\n };\\n })(Matrix.prototype);\\n\\n var preventDefault = function () {\\n this.returnValue = false;\\n },\\n preventTouch = function () {\\n return this.originalEvent.preventDefault();\\n },\\n stopPropagation = function () {\\n this.cancelBubble = true;\\n },\\n stopTouch = function () {\\n return this.originalEvent.stopPropagation();\\n },\\n getEventPosition = function (e) {\\n var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,\\n scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;\\n\\n return {\\n x: e.clientX + scrollX,\\n y: e.clientY + scrollY\\n };\\n },\\n addEvent = (function () {\\n if (g.doc.addEventListener) {\\n return function (obj, type, fn, element) {\\n var f = function (e) {\\n var pos = getEventPosition(e);\\n return fn.call(element, e, pos.x, pos.y);\\n };\\n obj.addEventListener(type, f, false);\\n\\n if (supportsTouch && touchMap[type]) {\\n var _f = function (e) {\\n var pos = getEventPosition(e),\\n olde = e;\\n\\n for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {\\n if (e.targetTouches[i].target == obj) {\\n e = e.targetTouches[i];\\n e.originalEvent = olde;\\n e.preventDefault = preventTouch;\\n e.stopPropagation = stopTouch;\\n break;\\n }\\n }\\n\\n return fn.call(element, e, pos.x, pos.y);\\n };\\n obj.addEventListener(touchMap[type], _f, false);\\n }\\n\\n return function () {\\n obj.removeEventListener(type, f, false);\\n\\n if (supportsTouch && touchMap[type])\\n obj.removeEventListener(touchMap[type], _f, false);\\n\\n return true;\\n };\\n };\\n } else if (g.doc.attachEvent) {\\n return function (obj, type, fn, element) {\\n var f = function (e) {\\n e = e || g.win.event;\\n var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,\\n scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft,\\n x = e.clientX + scrollX,\\n y = e.clientY + scrollY;\\n e.preventDefault = e.preventDefault || preventDefault;\\n e.stopPropagation = e.stopPropagation || stopPropagation;\\n return fn.call(element, e, x, y);\\n };\\n obj.attachEvent(\\\"on\\\" + type, f);\\n var detacher = function () {\\n obj.detachEvent(\\\"on\\\" + type, f);\\n return true;\\n };\\n return detacher;\\n };\\n }\\n })(),\\n drag = [],\\n dragMove = function (e) {\\n var x = e.clientX,\\n y = e.clientY,\\n scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,\\n scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft,\\n dragi,\\n j = drag.length;\\n while (j--) {\\n dragi = drag[j];\\n if (supportsTouch && e.touches) {\\n var i = e.touches.length,\\n touch;\\n while (i--) {\\n touch = e.touches[i];\\n if (touch.identifier == dragi.el._drag.id) {\\n x = touch.clientX;\\n y = touch.clientY;\\n (e.originalEvent ? e.originalEvent : e).preventDefault();\\n break;\\n }\\n }\\n } else {\\n e.preventDefault();\\n }\\n var node = dragi.el.node,\\n o,\\n next = node.nextSibling,\\n parent = node.parentNode,\\n display = node.style.display;\\n g.win.opera && parent.removeChild(node);\\n node.style.display = \\\"none\\\";\\n o = dragi.el.paper.getElementByPoint(x, y);\\n node.style.display = display;\\n g.win.opera && (next ? parent.insertBefore(node, next) : parent.appendChild(node));\\n o && eve(\\\"raphael.drag.over.\\\" + dragi.el.id, dragi.el, o);\\n x += scrollX;\\n y += scrollY;\\n eve(\\\"raphael.drag.move.\\\" + dragi.el.id, dragi.move_scope || dragi.el, x - dragi.el._drag.x, y - dragi.el._drag.y, x, y, e);\\n }\\n },\\n dragUp = function (e) {\\n R.unmousemove(dragMove).unmouseup(dragUp);\\n var i = drag.length,\\n dragi;\\n while (i--) {\\n dragi = drag[i];\\n dragi.el._drag = {};\\n eve(\\\"raphael.drag.end.\\\" + dragi.el.id, dragi.end_scope || dragi.start_scope || dragi.move_scope || dragi.el, e);\\n }\\n drag = [];\\n },\\n /*\\\\\\n * Raphael.el\\n [ property (object) ]\\n **\\n * You can add your own method to elements. This is usefull when you want to hack default functionality or\\n * want to wrap some common transformation or attributes in one method. In difference to canvas methods,\\n * you can redefine element method at any time. Expending element methods wouldn’t affect set.\\n > Usage\\n | Raphael.el.red = function () {\\n | this.attr({fill: \\\"#f00\\\"});\\n | };\\n | // then use it\\n | paper.circle(100, 100, 20).red();\\n \\\\*/\\n elproto = R.el = {};\\n /*\\\\\\n * Element.click\\n [ method ]\\n **\\n * Adds event handler for click for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.unclick\\n [ method ]\\n **\\n * Removes event handler for click for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.dblclick\\n [ method ]\\n **\\n * Adds event handler for double click for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.undblclick\\n [ method ]\\n **\\n * Removes event handler for double click for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.mousedown\\n [ method ]\\n **\\n * Adds event handler for mousedown for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.unmousedown\\n [ method ]\\n **\\n * Removes event handler for mousedown for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.mousemove\\n [ method ]\\n **\\n * Adds event handler for mousemove for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.unmousemove\\n [ method ]\\n **\\n * Removes event handler for mousemove for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.mouseout\\n [ method ]\\n **\\n * Adds event handler for mouseout for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.unmouseout\\n [ method ]\\n **\\n * Removes event handler for mouseout for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.mouseover\\n [ method ]\\n **\\n * Adds event handler for mouseover for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.unmouseover\\n [ method ]\\n **\\n * Removes event handler for mouseover for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.mouseup\\n [ method ]\\n **\\n * Adds event handler for mouseup for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.unmouseup\\n [ method ]\\n **\\n * Removes event handler for mouseup for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.touchstart\\n [ method ]\\n **\\n * Adds event handler for touchstart for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.untouchstart\\n [ method ]\\n **\\n * Removes event handler for touchstart for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.touchmove\\n [ method ]\\n **\\n * Adds event handler for touchmove for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.untouchmove\\n [ method ]\\n **\\n * Removes event handler for touchmove for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.touchend\\n [ method ]\\n **\\n * Adds event handler for touchend for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.untouchend\\n [ method ]\\n **\\n * Removes event handler for touchend for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n\\n /*\\\\\\n * Element.touchcancel\\n [ method ]\\n **\\n * Adds event handler for touchcancel for the element.\\n > Parameters\\n - handler (function) handler for the event\\n = (object) @Element\\n \\\\*/\\n /*\\\\\\n * Element.untouchcancel\\n [ method ]\\n **\\n * Removes event handler for touchcancel for the element.\\n > Parameters\\n - handler (function) #optional handler for the event\\n = (object) @Element\\n \\\\*/\\n for (var i = events.length; i--;) {\\n (function (eventName) {\\n R[eventName] = elproto[eventName] = function (fn, scope) {\\n if (R.is(fn, \\\"function\\\")) {\\n this.events = this.events || [];\\n this.events.push({name: eventName, f: fn, unbind: addEvent(this.shape || this.node || g.doc, eventName, fn, scope || this)});\\n }\\n return this;\\n };\\n R[\\\"un\\\" + eventName] = elproto[\\\"un\\\" + eventName] = function (fn) {\\n var events = this.events || [],\\n l = events.length;\\n while (l--){\\n if (events[l].name == eventName && (R.is(fn, \\\"undefined\\\") || events[l].f == fn)) {\\n events[l].unbind();\\n events.splice(l, 1);\\n !events.length && delete this.events;\\n }\\n }\\n return this;\\n };\\n })(events[i]);\\n }\\n\\n /*\\\\\\n * Element.data\\n [ method ]\\n **\\n * Adds or retrieves given value asociated with given key.\\n **\\n * See also @Element.removeData\\n > Parameters\\n - key (string) key to store data\\n - value (any) #optional value to store\\n = (object) @Element\\n * or, if value is not specified:\\n = (any) value\\n * or, if key and value are not specified:\\n = (object) Key/value pairs for all the data associated with the element.\\n > Usage\\n | for (var i = 0, i < 5, i++) {\\n | paper.circle(10 + 15 * i, 10, 10)\\n | .attr({fill: \\\"#000\\\"})\\n | .data(\\\"i\\\", i)\\n | .click(function () {\\n | alert(this.data(\\\"i\\\"));\\n | });\\n | }\\n \\\\*/\\n elproto.data = function (key, value) {\\n var data = eldata[this.id] = eldata[this.id] || {};\\n if (arguments.length == 0) {\\n return data;\\n }\\n if (arguments.length == 1) {\\n if (R.is(key, \\\"object\\\")) {\\n for (var i in key) if (key[has](i)) {\\n this.data(i, key[i]);\\n }\\n return this;\\n }\\n eve(\\\"raphael.data.get.\\\" + this.id, this, data[key], key);\\n return data[key];\\n }\\n data[key] = value;\\n eve(\\\"raphael.data.set.\\\" + this.id, this, value, key);\\n return this;\\n };\\n /*\\\\\\n * Element.removeData\\n [ method ]\\n **\\n * Removes value associated with an element by given key.\\n * If key is not provided, removes all the data of the element.\\n > Parameters\\n - key (string) #optional key\\n = (object) @Element\\n \\\\*/\\n elproto.removeData = function (key) {\\n if (key == null) {\\n eldata[this.id] = {};\\n } else {\\n eldata[this.id] && delete eldata[this.id][key];\\n }\\n return this;\\n };\\n /*\\\\\\n * Element.getData\\n [ method ]\\n **\\n * Retrieves the element data\\n = (object) data\\n \\\\*/\\n elproto.getData = function () {\\n return clone(eldata[this.id] || {});\\n };\\n /*\\\\\\n * Element.hover\\n [ method ]\\n **\\n * Adds event handlers for hover for the element.\\n > Parameters\\n - f_in (function) handler for hover in\\n - f_out (function) handler for hover out\\n - icontext (object) #optional context for hover in handler\\n - ocontext (object) #optional context for hover out handler\\n = (object) @Element\\n \\\\*/\\n elproto.hover = function (f_in, f_out, scope_in, scope_out) {\\n return this.mouseover(f_in, scope_in).mouseout(f_out, scope_out || scope_in);\\n };\\n /*\\\\\\n * Element.unhover\\n [ method ]\\n **\\n * Removes event handlers for hover for the element.\\n > Parameters\\n - f_in (function) handler for hover in\\n - f_out (function) handler for hover out\\n = (object) @Element\\n \\\\*/\\n elproto.unhover = function (f_in, f_out) {\\n return this.unmouseover(f_in).unmouseout(f_out);\\n };\\n var draggable = [];\\n /*\\\\\\n * Element.drag\\n [ method ]\\n **\\n * Adds event handlers for drag of the element.\\n > Parameters\\n - onmove (function) handler for moving\\n - onstart (function) handler for drag start\\n - onend (function) handler for drag end\\n - mcontext (object) #optional context for moving handler\\n - scontext (object) #optional context for drag start handler\\n - econtext (object) #optional context for drag end handler\\n * Additionaly following `drag` events will be triggered: `drag.start.` on start,\\n * `drag.end.` on end and `drag.move.` on every move. When element will be dragged over another element\\n * `drag.over.` will be fired as well.\\n *\\n * Start event and start handler will be called in specified context or in context of the element with following parameters:\\n o x (number) x position of the mouse\\n o y (number) y position of the mouse\\n o event (object) DOM event object\\n * Move event and move handler will be called in specified context or in context of the element with following parameters:\\n o dx (number) shift by x from the start point\\n o dy (number) shift by y from the start point\\n o x (number) x position of the mouse\\n o y (number) y position of the mouse\\n o event (object) DOM event object\\n * End event and end handler will be called in specified context or in context of the element with following parameters:\\n o event (object) DOM event object\\n = (object) @Element\\n \\\\*/\\n elproto.drag = function (onmove, onstart, onend, move_scope, start_scope, end_scope) {\\n function start(e) {\\n (e.originalEvent || e).preventDefault();\\n var x = e.clientX,\\n y = e.clientY,\\n scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,\\n scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;\\n this._drag.id = e.identifier;\\n if (supportsTouch && e.touches) {\\n var i = e.touches.length, touch;\\n while (i--) {\\n touch = e.touches[i];\\n this._drag.id = touch.identifier;\\n if (touch.identifier == this._drag.id) {\\n x = touch.clientX;\\n y = touch.clientY;\\n break;\\n }\\n }\\n }\\n this._drag.x = x + scrollX;\\n this._drag.y = y + scrollY;\\n !drag.length && R.mousemove(dragMove).mouseup(dragUp);\\n drag.push({el: this, move_scope: move_scope, start_scope: start_scope, end_scope: end_scope});\\n onstart && eve.on(\\\"raphael.drag.start.\\\" + this.id, onstart);\\n onmove && eve.on(\\\"raphael.drag.move.\\\" + this.id, onmove);\\n onend && eve.on(\\\"raphael.drag.end.\\\" + this.id, onend);\\n eve(\\\"raphael.drag.start.\\\" + this.id, start_scope || move_scope || this, e.clientX + scrollX, e.clientY + scrollY, e);\\n }\\n this._drag = {};\\n draggable.push({el: this, start: start});\\n this.mousedown(start);\\n return this;\\n };\\n /*\\\\\\n * Element.onDragOver\\n [ method ]\\n **\\n * Shortcut for assigning event handler for `drag.over.` event, where id is id of the element (see @Element.id).\\n > Parameters\\n - f (function) handler for event, first argument would be the element you are dragging over\\n \\\\*/\\n elproto.onDragOver = function (f) {\\n f ? eve.on(\\\"raphael.drag.over.\\\" + this.id, f) : eve.unbind(\\\"raphael.drag.over.\\\" + this.id);\\n };\\n /*\\\\\\n * Element.undrag\\n [ method ]\\n **\\n * Removes all drag event handlers from given element.\\n \\\\*/\\n elproto.undrag = function () {\\n var i = draggable.length;\\n while (i--) if (draggable[i].el == this) {\\n this.unmousedown(draggable[i].start);\\n draggable.splice(i, 1);\\n eve.unbind(\\\"raphael.drag.*.\\\" + this.id);\\n }\\n !draggable.length && R.unmousemove(dragMove).unmouseup(dragUp);\\n drag = [];\\n };\\n /*\\\\\\n * Paper.circle\\n [ method ]\\n **\\n * Draws a circle.\\n **\\n > Parameters\\n **\\n - x (number) x coordinate of the centre\\n - y (number) y coordinate of the centre\\n - r (number) radius\\n = (object) Raphaël element object with type “circle”\\n **\\n > Usage\\n | var c = paper.circle(50, 50, 40);\\n \\\\*/\\n paperproto.circle = function (x, y, r) {\\n var out = R._engine.circle(this, x || 0, y || 0, r || 0);\\n this.__set__ && this.__set__.push(out);\\n return out;\\n };\\n /*\\\\\\n * Paper.rect\\n [ method ]\\n *\\n * Draws a rectangle.\\n **\\n > Parameters\\n **\\n - x (number) x coordinate of the top left corner\\n - y (number) y coordinate of the top left corner\\n - width (number) width\\n - height (number) height\\n - r (number) #optional radius for rounded corners, default is 0\\n = (object) Raphaël element object with type “rect”\\n **\\n > Usage\\n | // regular rectangle\\n | var c = paper.rect(10, 10, 50, 50);\\n | // rectangle with rounded corners\\n | var c = paper.rect(40, 40, 50, 50, 10);\\n \\\\*/\\n paperproto.rect = function (x, y, w, h, r) {\\n var out = R._engine.rect(this, x || 0, y || 0, w || 0, h || 0, r || 0);\\n this.__set__ && this.__set__.push(out);\\n return out;\\n };\\n /*\\\\\\n * Paper.ellipse\\n [ method ]\\n **\\n * Draws an ellipse.\\n **\\n > Parameters\\n **\\n - x (number) x coordinate of the centre\\n - y (number) y coordinate of the centre\\n - rx (number) horizontal radius\\n - ry (number) vertical radius\\n = (object) Raphaël element object with type “ellipse”\\n **\\n > Usage\\n | var c = paper.ellipse(50, 50, 40, 20);\\n \\\\*/\\n paperproto.ellipse = function (x, y, rx, ry) {\\n var out = R._engine.ellipse(this, x || 0, y || 0, rx || 0, ry || 0);\\n this.__set__ && this.__set__.push(out);\\n return out;\\n };\\n /*\\\\\\n * Paper.path\\n [ method ]\\n **\\n * Creates a path element by given path data string.\\n > Parameters\\n - pathString (string) #optional path string in SVG format.\\n * Path string consists of one-letter commands, followed by comma seprarated arguments in numercal form. Example:\\n | \\\"M10,20L30,40\\\"\\n * Here we can see two commands: “M”, with arguments `(10, 20)` and “L” with arguments `(30, 40)`. Upper case letter mean command is absolute, lower case—relative.\\n *\\n #

Here is short list of commands available, for more details see SVG path string format.

\\n # \\n # \\n # \\n # \\n # \\n # \\n # \\n # \\n # \\n # \\n # \\n #
CommandNameParameters
Mmoveto(x y)+
Zclosepath(none)
Llineto(x y)+
Hhorizontal linetox+
Vvertical linetoy+
Ccurveto(x1 y1 x2 y2 x y)+
Ssmooth curveto(x2 y2 x y)+
Qquadratic Bézier curveto(x1 y1 x y)+
Tsmooth quadratic Bézier curveto(x y)+
Aelliptical arc(rx ry x-axis-rotation large-arc-flag sweep-flag x y)+
RCatmull-Rom curveto*x1 y1 (x y)+
\\n * * “Catmull-Rom curveto” is a not standard SVG command and added in 2.0 to make life easier.\\n * Note: there is a special case when path consist of just three commands: “M10,10R…z”. In this case path will smoothly connects to its beginning.\\n > Usage\\n | var c = paper.path(\\\"M10 10L90 90\\\");\\n | // draw a diagonal line:\\n | // move to 10,10, line to 90,90\\n * For example of path strings, check out these icons: http://raphaeljs.com/icons/\\n \\\\*/\\n paperproto.path = function (pathString) {\\n pathString && !R.is(pathString, string) && !R.is(pathString[0], array) && (pathString += E);\\n var out = R._engine.path(R.format[apply](R, arguments), this);\\n this.__set__ && this.__set__.push(out);\\n return out;\\n };\\n /*\\\\\\n * Paper.image\\n [ method ]\\n **\\n * Embeds an image into the surface.\\n **\\n > Parameters\\n **\\n - src (string) URI of the source image\\n - x (number) x coordinate position\\n - y (number) y coordinate position\\n - width (number) width of the image\\n - height (number) height of the image\\n = (object) Raphaël element object with type “image”\\n **\\n > Usage\\n | var c = paper.image(\\\"apple.png\\\", 10, 10, 80, 80);\\n \\\\*/\\n paperproto.image = function (src, x, y, w, h) {\\n var out = R._engine.image(this, src || \\\"about:blank\\\", x || 0, y || 0, w || 0, h || 0);\\n this.__set__ && this.__set__.push(out);\\n return out;\\n };\\n /*\\\\\\n * Paper.text\\n [ method ]\\n **\\n * Draws a text string. If you need line breaks, put “\\\\n” in the string.\\n **\\n > Parameters\\n **\\n - x (number) x coordinate position\\n - y (number) y coordinate position\\n - text (string) The text string to draw\\n = (object) Raphaël element object with type “text”\\n **\\n > Usage\\n | var t = paper.text(50, 50, \\\"Raphaël\\\\nkicks\\\\nbutt!\\\");\\n \\\\*/\\n paperproto.text = function (x, y, text) {\\n var out = R._engine.text(this, x || 0, y || 0, Str(text));\\n this.__set__ && this.__set__.push(out);\\n return out;\\n };\\n /*\\\\\\n * Paper.set\\n [ method ]\\n **\\n * Creates array-like object to keep and operate several elements at once.\\n * Warning: it doesn’t create any elements for itself in the page, it just groups existing elements.\\n * Sets act as pseudo elements — all methods available to an element can be used on a set.\\n = (object) array-like object that represents set of elements\\n **\\n > Usage\\n | var st = paper.set();\\n | st.push(\\n | paper.circle(10, 10, 5),\\n | paper.circle(30, 10, 5)\\n | );\\n | st.attr({fill: \\\"red\\\"}); // changes the fill of both circles\\n \\\\*/\\n paperproto.set = function (itemsArray) {\\n !R.is(itemsArray, \\\"array\\\") && (itemsArray = Array.prototype.splice.call(arguments, 0, arguments.length));\\n var out = new Set(itemsArray);\\n this.__set__ && this.__set__.push(out);\\n out[\\\"paper\\\"] = this;\\n out[\\\"type\\\"] = \\\"set\\\";\\n return out;\\n };\\n /*\\\\\\n * Paper.setStart\\n [ method ]\\n **\\n * Creates @Paper.set. All elements that will be created after calling this method and before calling\\n * @Paper.setFinish will be added to the set.\\n **\\n > Usage\\n | paper.setStart();\\n | paper.circle(10, 10, 5),\\n | paper.circle(30, 10, 5)\\n | var st = paper.setFinish();\\n | st.attr({fill: \\\"red\\\"}); // changes the fill of both circles\\n \\\\*/\\n paperproto.setStart = function (set) {\\n this.__set__ = set || this.set();\\n };\\n /*\\\\\\n * Paper.setFinish\\n [ method ]\\n **\\n * See @Paper.setStart. This method finishes catching and returns resulting set.\\n **\\n = (object) set\\n \\\\*/\\n paperproto.setFinish = function (set) {\\n var out = this.__set__;\\n delete this.__set__;\\n return out;\\n };\\n /*\\\\\\n * Paper.getSize\\n [ method ]\\n **\\n * Obtains current paper actual size.\\n **\\n = (object)\\n \\\\*/\\n paperproto.getSize = function () {\\n var container = this.canvas.parentNode;\\n return {\\n width: container.offsetWidth,\\n height: container.offsetHeight\\n };\\n };\\n /*\\\\\\n * Paper.setSize\\n [ method ]\\n **\\n * If you need to change dimensions of the canvas call this method\\n **\\n > Parameters\\n **\\n - width (number) new width of the canvas\\n - height (number) new height of the canvas\\n \\\\*/\\n paperproto.setSize = function (width, height) {\\n return R._engine.setSize.call(this, width, height);\\n };\\n /*\\\\\\n * Paper.setViewBox\\n [ method ]\\n **\\n * Sets the view box of the paper. Practically it gives you ability to zoom and pan whole paper surface by\\n * specifying new boundaries.\\n **\\n > Parameters\\n **\\n - x (number) new x position, default is `0`\\n - y (number) new y position, default is `0`\\n - w (number) new width of the canvas\\n - h (number) new height of the canvas\\n - fit (boolean) `true` if you want graphics to fit into new boundary box\\n \\\\*/\\n paperproto.setViewBox = function (x, y, w, h, fit) {\\n return R._engine.setViewBox.call(this, x, y, w, h, fit);\\n };\\n /*\\\\\\n * Paper.top\\n [ property ]\\n **\\n * Points to the topmost element on the paper\\n \\\\*/\\n /*\\\\\\n * Paper.bottom\\n [ property ]\\n **\\n * Points to the bottom element on the paper\\n \\\\*/\\n paperproto.top = paperproto.bottom = null;\\n /*\\\\\\n * Paper.raphael\\n [ property ]\\n **\\n * Points to the @Raphael object/function\\n \\\\*/\\n paperproto.raphael = R;\\n var getOffset = function (elem) {\\n var box = elem.getBoundingClientRect(),\\n doc = elem.ownerDocument,\\n body = doc.body,\\n docElem = doc.documentElement,\\n clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,\\n top = box.top + (g.win.pageYOffset || docElem.scrollTop || body.scrollTop ) - clientTop,\\n left = box.left + (g.win.pageXOffset || docElem.scrollLeft || body.scrollLeft) - clientLeft;\\n return {\\n y: top,\\n x: left\\n };\\n };\\n /*\\\\\\n * Paper.getElementByPoint\\n [ method ]\\n **\\n * Returns you topmost element under given point.\\n **\\n = (object) Raphaël element object\\n > Parameters\\n **\\n - x (number) x coordinate from the top left corner of the window\\n - y (number) y coordinate from the top left corner of the window\\n > Usage\\n | paper.getElementByPoint(mouseX, mouseY).attr({stroke: \\\"#f00\\\"});\\n \\\\*/\\n paperproto.getElementByPoint = function (x, y) {\\n var paper = this,\\n svg = paper.canvas,\\n target = g.doc.elementFromPoint(x, y);\\n if (g.win.opera && target.tagName == \\\"svg\\\") {\\n var so = getOffset(svg),\\n sr = svg.createSVGRect();\\n sr.x = x - so.x;\\n sr.y = y - so.y;\\n sr.width = sr.height = 1;\\n var hits = svg.getIntersectionList(sr, null);\\n if (hits.length) {\\n target = hits[hits.length - 1];\\n }\\n }\\n if (!target) {\\n return null;\\n }\\n while (target.parentNode && target != svg.parentNode && !target.raphael) {\\n target = target.parentNode;\\n }\\n target == paper.canvas.parentNode && (target = svg);\\n target = target && target.raphael ? paper.getById(target.raphaelid) : null;\\n return target;\\n };\\n\\n /*\\\\\\n * Paper.getElementsByBBox\\n [ method ]\\n **\\n * Returns set of elements that have an intersecting bounding box\\n **\\n > Parameters\\n **\\n - bbox (object) bbox to check with\\n = (object) @Set\\n \\\\*/\\n paperproto.getElementsByBBox = function (bbox) {\\n var set = this.set();\\n this.forEach(function (el) {\\n if (R.isBBoxIntersect(el.getBBox(), bbox)) {\\n set.push(el);\\n }\\n });\\n return set;\\n };\\n\\n /*\\\\\\n * Paper.getById\\n [ method ]\\n **\\n * Returns you element by its internal ID.\\n **\\n > Parameters\\n **\\n - id (number) id\\n = (object) Raphaël element object\\n \\\\*/\\n paperproto.getById = function (id) {\\n var bot = this.bottom;\\n while (bot) {\\n if (bot.id == id) {\\n return bot;\\n }\\n bot = bot.next;\\n }\\n return null;\\n };\\n /*\\\\\\n * Paper.forEach\\n [ method ]\\n **\\n * Executes given function for each element on the paper\\n *\\n * If callback function returns `false` it will stop loop running.\\n **\\n > Parameters\\n **\\n - callback (function) function to run\\n - thisArg (object) context object for the callback\\n = (object) Paper object\\n > Usage\\n | paper.forEach(function (el) {\\n | el.attr({ stroke: \\\"blue\\\" });\\n | });\\n \\\\*/\\n paperproto.forEach = function (callback, thisArg) {\\n var bot = this.bottom;\\n while (bot) {\\n if (callback.call(thisArg, bot) === false) {\\n return this;\\n }\\n bot = bot.next;\\n }\\n return this;\\n };\\n /*\\\\\\n * Paper.getElementsByPoint\\n [ method ]\\n **\\n * Returns set of elements that have common point inside\\n **\\n > Parameters\\n **\\n - x (number) x coordinate of the point\\n - y (number) y coordinate of the point\\n = (object) @Set\\n \\\\*/\\n paperproto.getElementsByPoint = function (x, y) {\\n var set = this.set();\\n this.forEach(function (el) {\\n if (el.isPointInside(x, y)) {\\n set.push(el);\\n }\\n });\\n return set;\\n };\\n function x_y() {\\n return this.x + S + this.y;\\n }\\n function x_y_w_h() {\\n return this.x + S + this.y + S + this.width + \\\" \\\\xd7 \\\" + this.height;\\n }\\n /*\\\\\\n * Element.isPointInside\\n [ method ]\\n **\\n * Determine if given point is inside this element’s shape\\n **\\n > Parameters\\n **\\n - x (number) x coordinate of the point\\n - y (number) y coordinate of the point\\n = (boolean) `true` if point inside the shape\\n \\\\*/\\n elproto.isPointInside = function (x, y) {\\n var rp = this.realPath = getPath[this.type](this);\\n if (this.attr('transform') && this.attr('transform').length) {\\n rp = R.transformPath(rp, this.attr('transform'));\\n }\\n return R.isPointInsidePath(rp, x, y);\\n };\\n /*\\\\\\n * Element.getBBox\\n [ method ]\\n **\\n * Return bounding box for a given element\\n **\\n > Parameters\\n **\\n - isWithoutTransform (boolean) flag, `true` if you want to have bounding box before transformations. Default is `false`.\\n = (object) Bounding box object:\\n o {\\n o x: (number) top left corner x\\n o y: (number) top left corner y\\n o x2: (number) bottom right corner x\\n o y2: (number) bottom right corner y\\n o width: (number) width\\n o height: (number) height\\n o }\\n \\\\*/\\n elproto.getBBox = function (isWithoutTransform) {\\n if (this.removed) {\\n return {};\\n }\\n var _ = this._;\\n if (isWithoutTransform) {\\n if (_.dirty || !_.bboxwt) {\\n this.realPath = getPath[this.type](this);\\n _.bboxwt = pathDimensions(this.realPath);\\n _.bboxwt.toString = x_y_w_h;\\n _.dirty = 0;\\n }\\n return _.bboxwt;\\n }\\n if (_.dirty || _.dirtyT || !_.bbox) {\\n if (_.dirty || !this.realPath) {\\n _.bboxwt = 0;\\n this.realPath = getPath[this.type](this);\\n }\\n _.bbox = pathDimensions(mapPath(this.realPath, this.matrix));\\n _.bbox.toString = x_y_w_h;\\n _.dirty = _.dirtyT = 0;\\n }\\n return _.bbox;\\n };\\n /*\\\\\\n * Element.clone\\n [ method ]\\n **\\n = (object) clone of a given element\\n **\\n \\\\*/\\n elproto.clone = function () {\\n if (this.removed) {\\n return null;\\n }\\n var out = this.paper[this.type]().attr(this.attr());\\n this.__set__ && this.__set__.push(out);\\n return out;\\n };\\n /*\\\\\\n * Element.glow\\n [ method ]\\n **\\n * Return set of elements that create glow-like effect around given element. See @Paper.set.\\n *\\n * Note: Glow is not connected to the element. If you change element attributes it won’t adjust itself.\\n **\\n > Parameters\\n **\\n - glow (object) #optional parameters object with all properties optional:\\n o {\\n o width (number) size of the glow, default is `10`\\n o fill (boolean) will it be filled, default is `false`\\n o opacity (number) opacity, default is `0.5`\\n o offsetx (number) horizontal offset, default is `0`\\n o offsety (number) vertical offset, default is `0`\\n o color (string) glow colour, default is `black`\\n o }\\n = (object) @Paper.set of elements that represents glow\\n \\\\*/\\n elproto.glow = function (glow) {\\n if (this.type == \\\"text\\\") {\\n return null;\\n }\\n glow = glow || {};\\n var s = {\\n width: (glow.width || 10) + (+this.attr(\\\"stroke-width\\\") || 1),\\n fill: glow.fill || false,\\n opacity: glow.opacity == null ? .5 : glow.opacity,\\n offsetx: glow.offsetx || 0,\\n offsety: glow.offsety || 0,\\n color: glow.color || \\\"#000\\\"\\n },\\n c = s.width / 2,\\n r = this.paper,\\n out = r.set(),\\n path = this.realPath || getPath[this.type](this);\\n path = this.matrix ? mapPath(path, this.matrix) : path;\\n for (var i = 1; i < c + 1; i++) {\\n out.push(r.path(path).attr({\\n stroke: s.color,\\n fill: s.fill ? s.color : \\\"none\\\",\\n \\\"stroke-linejoin\\\": \\\"round\\\",\\n \\\"stroke-linecap\\\": \\\"round\\\",\\n \\\"stroke-width\\\": +(s.width / c * i).toFixed(3),\\n opacity: +(s.opacity / c).toFixed(3)\\n }));\\n }\\n return out.insertBefore(this).translate(s.offsetx, s.offsety);\\n };\\n var curveslengths = {},\\n getPointAtSegmentLength = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length) {\\n if (length == null) {\\n return bezlen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y);\\n } else {\\n return R.findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, getTatLen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length));\\n }\\n },\\n getLengthFactory = function (istotal, subpath) {\\n return function (path, length, onlystart) {\\n path = path2curve(path);\\n var x, y, p, l, sp = \\\"\\\", subpaths = {}, point,\\n len = 0;\\n for (var i = 0, ii = path.length; i < ii; i++) {\\n p = path[i];\\n if (p[0] == \\\"M\\\") {\\n x = +p[1];\\n y = +p[2];\\n } else {\\n l = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);\\n if (len + l > length) {\\n if (subpath && !subpaths.start) {\\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\\n sp += [\\\"C\\\" + point.start.x, point.start.y, point.m.x, point.m.y, point.x, point.y];\\n if (onlystart) {return sp;}\\n subpaths.start = sp;\\n sp = [\\\"M\\\" + point.x, point.y + \\\"C\\\" + point.n.x, point.n.y, point.end.x, point.end.y, p[5], p[6]].join();\\n len += l;\\n x = +p[5];\\n y = +p[6];\\n continue;\\n }\\n if (!istotal && !subpath) {\\n point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);\\n return {x: point.x, y: point.y, alpha: point.alpha};\\n }\\n }\\n len += l;\\n x = +p[5];\\n y = +p[6];\\n }\\n sp += p.shift() + p;\\n }\\n subpaths.end = sp;\\n point = istotal ? len : subpath ? subpaths : R.findDotsAtSegment(x, y, p[0], p[1], p[2], p[3], p[4], p[5], 1);\\n point.alpha && (point = {x: point.x, y: point.y, alpha: point.alpha});\\n return point;\\n };\\n };\\n var getTotalLength = getLengthFactory(1),\\n getPointAtLength = getLengthFactory(),\\n getSubpathsAtLength = getLengthFactory(0, 1);\\n /*\\\\\\n * Raphael.getTotalLength\\n [ method ]\\n **\\n * Returns length of the given path in pixels.\\n **\\n > Parameters\\n **\\n - path (string) SVG path string.\\n **\\n = (number) length.\\n \\\\*/\\n R.getTotalLength = getTotalLength;\\n /*\\\\\\n * Raphael.getPointAtLength\\n [ method ]\\n **\\n * Return coordinates of the point located at the given length on the given path.\\n **\\n > Parameters\\n **\\n - path (string) SVG path string\\n - length (number)\\n **\\n = (object) representation of the point:\\n o {\\n o x: (number) x coordinate\\n o y: (number) y coordinate\\n o alpha: (number) angle of derivative\\n o }\\n \\\\*/\\n R.getPointAtLength = getPointAtLength;\\n /*\\\\\\n * Raphael.getSubpath\\n [ method ]\\n **\\n * Return subpath of a given path from given length to given length.\\n **\\n > Parameters\\n **\\n - path (string) SVG path string\\n - from (number) position of the start of the segment\\n - to (number) position of the end of the segment\\n **\\n = (string) pathstring for the segment\\n \\\\*/\\n R.getSubpath = function (path, from, to) {\\n if (this.getTotalLength(path) - to < 1e-6) {\\n return getSubpathsAtLength(path, from).end;\\n }\\n var a = getSubpathsAtLength(path, to, 1);\\n return from ? getSubpathsAtLength(a, from).end : a;\\n };\\n /*\\\\\\n * Element.getTotalLength\\n [ method ]\\n **\\n * Returns length of the path in pixels. Only works for element of “path” type.\\n = (number) length.\\n \\\\*/\\n elproto.getTotalLength = function () {\\n var path = this.getPath();\\n if (!path) {\\n return;\\n }\\n\\n if (this.node.getTotalLength) {\\n return this.node.getTotalLength();\\n }\\n\\n return getTotalLength(path);\\n };\\n /*\\\\\\n * Element.getPointAtLength\\n [ method ]\\n **\\n * Return coordinates of the point located at the given length on the given path. Only works for element of “path” type.\\n **\\n > Parameters\\n **\\n - length (number)\\n **\\n = (object) representation of the point:\\n o {\\n o x: (number) x coordinate\\n o y: (number) y coordinate\\n o alpha: (number) angle of derivative\\n o }\\n \\\\*/\\n elproto.getPointAtLength = function (length) {\\n var path = this.getPath();\\n if (!path) {\\n return;\\n }\\n\\n return getPointAtLength(path, length);\\n };\\n /*\\\\\\n * Element.getPath\\n [ method ]\\n **\\n * Returns path of the element. Only works for elements of “path” type and simple elements like circle.\\n = (object) path\\n **\\n \\\\*/\\n elproto.getPath = function () {\\n var path,\\n getPath = R._getPath[this.type];\\n\\n if (this.type == \\\"text\\\" || this.type == \\\"set\\\") {\\n return;\\n }\\n\\n if (getPath) {\\n path = getPath(this);\\n }\\n\\n return path;\\n };\\n /*\\\\\\n * Element.getSubpath\\n [ method ]\\n **\\n * Return subpath of a given element from given length to given length. Only works for element of “path” type.\\n **\\n > Parameters\\n **\\n - from (number) position of the start of the segment\\n - to (number) position of the end of the segment\\n **\\n = (string) pathstring for the segment\\n \\\\*/\\n elproto.getSubpath = function (from, to) {\\n var path = this.getPath();\\n if (!path) {\\n return;\\n }\\n\\n return R.getSubpath(path, from, to);\\n };\\n /*\\\\\\n * Raphael.easing_formulas\\n [ property ]\\n **\\n * Object that contains easing formulas for animation. You could extend it with your own. By default it has following list of easing:\\n #
    \\n #
  • “linear”
  • \\n #
  • “<” or “easeIn” or “ease-in”
  • \\n #
  • “>” or “easeOut” or “ease-out”
  • \\n #
  • “<>” or “easeInOut” or “ease-in-out”
  • \\n #
  • “backIn” or “back-in”
  • \\n #
  • “backOut” or “back-out”
  • \\n #
  • “elastic”
  • \\n #
  • “bounce”
  • \\n #
\\n #

See also Easing demo.

\\n \\\\*/\\n var ef = R.easing_formulas = {\\n linear: function (n) {\\n return n;\\n },\\n \\\"<\\\": function (n) {\\n return pow(n, 1.7);\\n },\\n \\\">\\\": function (n) {\\n return pow(n, .48);\\n },\\n \\\"<>\\\": function (n) {\\n var q = .48 - n / 1.04,\\n Q = math.sqrt(.1734 + q * q),\\n x = Q - q,\\n X = pow(abs(x), 1 / 3) * (x < 0 ? -1 : 1),\\n y = -Q - q,\\n Y = pow(abs(y), 1 / 3) * (y < 0 ? -1 : 1),\\n t = X + Y + .5;\\n return (1 - t) * 3 * t * t + t * t * t;\\n },\\n backIn: function (n) {\\n var s = 1.70158;\\n return n * n * ((s + 1) * n - s);\\n },\\n backOut: function (n) {\\n n = n - 1;\\n var s = 1.70158;\\n return n * n * ((s + 1) * n + s) + 1;\\n },\\n elastic: function (n) {\\n if (n == !!n) {\\n return n;\\n }\\n return pow(2, -10 * n) * math.sin((n - .075) * (2 * PI) / .3) + 1;\\n },\\n bounce: function (n) {\\n var s = 7.5625,\\n p = 2.75,\\n l;\\n if (n < (1 / p)) {\\n l = s * n * n;\\n } else {\\n if (n < (2 / p)) {\\n n -= (1.5 / p);\\n l = s * n * n + .75;\\n } else {\\n if (n < (2.5 / p)) {\\n n -= (2.25 / p);\\n l = s * n * n + .9375;\\n } else {\\n n -= (2.625 / p);\\n l = s * n * n + .984375;\\n }\\n }\\n }\\n return l;\\n }\\n };\\n ef.easeIn = ef[\\\"ease-in\\\"] = ef[\\\"<\\\"];\\n ef.easeOut = ef[\\\"ease-out\\\"] = ef[\\\">\\\"];\\n ef.easeInOut = ef[\\\"ease-in-out\\\"] = ef[\\\"<>\\\"];\\n ef[\\\"back-in\\\"] = ef.backIn;\\n ef[\\\"back-out\\\"] = ef.backOut;\\n\\n var animationElements = [],\\n requestAnimFrame = window.requestAnimationFrame ||\\n window.webkitRequestAnimationFrame ||\\n window.mozRequestAnimationFrame ||\\n window.oRequestAnimationFrame ||\\n window.msRequestAnimationFrame ||\\n function (callback) {\\n setTimeout(callback, 16);\\n },\\n animation = function () {\\n var Now = +new Date,\\n l = 0;\\n for (; l < animationElements.length; l++) {\\n var e = animationElements[l];\\n if (e.el.removed || e.paused) {\\n continue;\\n }\\n var time = Now - e.start,\\n ms = e.ms,\\n easing = e.easing,\\n from = e.from,\\n diff = e.diff,\\n to = e.to,\\n t = e.t,\\n that = e.el,\\n set = {},\\n now,\\n init = {},\\n key;\\n if (e.initstatus) {\\n time = (e.initstatus * e.anim.top - e.prev) / (e.percent - e.prev) * ms;\\n e.status = e.initstatus;\\n delete e.initstatus;\\n e.stop && animationElements.splice(l--, 1);\\n } else {\\n e.status = (e.prev + (e.percent - e.prev) * (time / ms)) / e.anim.top;\\n }\\n if (time < 0) {\\n continue;\\n }\\n if (time < ms) {\\n var pos = easing(time / ms);\\n for (var attr in from) if (from[has](attr)) {\\n switch (availableAnimAttrs[attr]) {\\n case nu:\\n now = +from[attr] + pos * ms * diff[attr];\\n break;\\n case \\\"colour\\\":\\n now = \\\"rgb(\\\" + [\\n upto255(round(from[attr].r + pos * ms * diff[attr].r)),\\n upto255(round(from[attr].g + pos * ms * diff[attr].g)),\\n upto255(round(from[attr].b + pos * ms * diff[attr].b))\\n ].join(\\\",\\\") + \\\")\\\";\\n break;\\n case \\\"path\\\":\\n now = [];\\n for (var i = 0, ii = from[attr].length; i < ii; i++) {\\n now[i] = [from[attr][i][0]];\\n for (var j = 1, jj = from[attr][i].length; j < jj; j++) {\\n now[i][j] = +from[attr][i][j] + pos * ms * diff[attr][i][j];\\n }\\n now[i] = now[i].join(S);\\n }\\n now = now.join(S);\\n break;\\n case \\\"transform\\\":\\n if (diff[attr].real) {\\n now = [];\\n for (i = 0, ii = from[attr].length; i < ii; i++) {\\n now[i] = [from[attr][i][0]];\\n for (j = 1, jj = from[attr][i].length; j < jj; j++) {\\n now[i][j] = from[attr][i][j] + pos * ms * diff[attr][i][j];\\n }\\n }\\n } else {\\n var get = function (i) {\\n return +from[attr][i] + pos * ms * diff[attr][i];\\n };\\n // now = [[\\\"r\\\", get(2), 0, 0], [\\\"t\\\", get(3), get(4)], [\\\"s\\\", get(0), get(1), 0, 0]];\\n now = [[\\\"m\\\", get(0), get(1), get(2), get(3), get(4), get(5)]];\\n }\\n break;\\n case \\\"csv\\\":\\n if (attr == \\\"clip-rect\\\") {\\n now = [];\\n i = 4;\\n while (i--) {\\n now[i] = +from[attr][i] + pos * ms * diff[attr][i];\\n }\\n }\\n break;\\n default:\\n var from2 = [][concat](from[attr]);\\n now = [];\\n i = that.paper.customAttributes[attr].length;\\n while (i--) {\\n now[i] = +from2[i] + pos * ms * diff[attr][i];\\n }\\n break;\\n }\\n set[attr] = now;\\n }\\n that.attr(set);\\n (function (id, that, anim) {\\n setTimeout(function () {\\n eve(\\\"raphael.anim.frame.\\\" + id, that, anim);\\n });\\n })(that.id, that, e.anim);\\n } else {\\n (function(f, el, a) {\\n setTimeout(function() {\\n eve(\\\"raphael.anim.frame.\\\" + el.id, el, a);\\n eve(\\\"raphael.anim.finish.\\\" + el.id, el, a);\\n R.is(f, \\\"function\\\") && f.call(el);\\n });\\n })(e.callback, that, e.anim);\\n that.attr(to);\\n animationElements.splice(l--, 1);\\n if (e.repeat > 1 && !e.next) {\\n for (key in to) if (to[has](key)) {\\n init[key] = e.totalOrigin[key];\\n }\\n e.el.attr(init);\\n runAnimation(e.anim, e.el, e.anim.percents[0], null, e.totalOrigin, e.repeat - 1);\\n }\\n if (e.next && !e.stop) {\\n runAnimation(e.anim, e.el, e.next, null, e.totalOrigin, e.repeat);\\n }\\n }\\n }\\n animationElements.length && requestAnimFrame(animation);\\n },\\n upto255 = function (color) {\\n return color > 255 ? 255 : color < 0 ? 0 : color;\\n };\\n /*\\\\\\n * Element.animateWith\\n [ method ]\\n **\\n * Acts similar to @Element.animate, but ensure that given animation runs in sync with another given element.\\n **\\n > Parameters\\n **\\n - el (object) element to sync with\\n - anim (object) animation to sync with\\n - params (object) #optional final attributes for the element, see also @Element.attr\\n - ms (number) #optional number of milliseconds for animation to run\\n - easing (string) #optional easing type. Accept on of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)`\\n - callback (function) #optional callback function. Will be called at the end of animation.\\n * or\\n - element (object) element to sync with\\n - anim (object) animation to sync with\\n - animation (object) #optional animation object, see @Raphael.animation\\n **\\n = (object) original element\\n \\\\*/\\n elproto.animateWith = function (el, anim, params, ms, easing, callback) {\\n var element = this;\\n if (element.removed) {\\n callback && callback.call(element);\\n return element;\\n }\\n var a = params instanceof Animation ? params : R.animation(params, ms, easing, callback),\\n x, y;\\n runAnimation(a, element, a.percents[0], null, element.attr());\\n for (var i = 0, ii = animationElements.length; i < ii; i++) {\\n if (animationElements[i].anim == anim && animationElements[i].el == el) {\\n animationElements[ii - 1].start = animationElements[i].start;\\n break;\\n }\\n }\\n return element;\\n //\\n //\\n // var a = params ? R.animation(params, ms, easing, callback) : anim,\\n // status = element.status(anim);\\n // return this.animate(a).status(a, status * anim.ms / a.ms);\\n };\\n function CubicBezierAtTime(t, p1x, p1y, p2x, p2y, duration) {\\n var cx = 3 * p1x,\\n bx = 3 * (p2x - p1x) - cx,\\n ax = 1 - cx - bx,\\n cy = 3 * p1y,\\n by = 3 * (p2y - p1y) - cy,\\n ay = 1 - cy - by;\\n function sampleCurveX(t) {\\n return ((ax * t + bx) * t + cx) * t;\\n }\\n function solve(x, epsilon) {\\n var t = solveCurveX(x, epsilon);\\n return ((ay * t + by) * t + cy) * t;\\n }\\n function solveCurveX(x, epsilon) {\\n var t0, t1, t2, x2, d2, i;\\n for(t2 = x, i = 0; i < 8; i++) {\\n x2 = sampleCurveX(t2) - x;\\n if (abs(x2) < epsilon) {\\n return t2;\\n }\\n d2 = (3 * ax * t2 + 2 * bx) * t2 + cx;\\n if (abs(d2) < 1e-6) {\\n break;\\n }\\n t2 = t2 - x2 / d2;\\n }\\n t0 = 0;\\n t1 = 1;\\n t2 = x;\\n if (t2 < t0) {\\n return t0;\\n }\\n if (t2 > t1) {\\n return t1;\\n }\\n while (t0 < t1) {\\n x2 = sampleCurveX(t2);\\n if (abs(x2 - x) < epsilon) {\\n return t2;\\n }\\n if (x > x2) {\\n t0 = t2;\\n } else {\\n t1 = t2;\\n }\\n t2 = (t1 - t0) / 2 + t0;\\n }\\n return t2;\\n }\\n return solve(t, 1 / (200 * duration));\\n }\\n elproto.onAnimation = function (f) {\\n f ? eve.on(\\\"raphael.anim.frame.\\\" + this.id, f) : eve.unbind(\\\"raphael.anim.frame.\\\" + this.id);\\n return this;\\n };\\n function Animation(anim, ms) {\\n var percents = [],\\n newAnim = {};\\n this.ms = ms;\\n this.times = 1;\\n if (anim) {\\n for (var attr in anim) if (anim[has](attr)) {\\n newAnim[toFloat(attr)] = anim[attr];\\n percents.push(toFloat(attr));\\n }\\n percents.sort(sortByNumber);\\n }\\n this.anim = newAnim;\\n this.top = percents[percents.length - 1];\\n this.percents = percents;\\n }\\n /*\\\\\\n * Animation.delay\\n [ method ]\\n **\\n * Creates a copy of existing animation object with given delay.\\n **\\n > Parameters\\n **\\n - delay (number) number of ms to pass between animation start and actual animation\\n **\\n = (object) new altered Animation object\\n | var anim = Raphael.animation({cx: 10, cy: 20}, 2e3);\\n | circle1.animate(anim); // run the given animation immediately\\n | circle2.animate(anim.delay(500)); // run the given animation after 500 ms\\n \\\\*/\\n Animation.prototype.delay = function (delay) {\\n var a = new Animation(this.anim, this.ms);\\n a.times = this.times;\\n a.del = +delay || 0;\\n return a;\\n };\\n /*\\\\\\n * Animation.repeat\\n [ method ]\\n **\\n * Creates a copy of existing animation object with given repetition.\\n **\\n > Parameters\\n **\\n - repeat (number) number iterations of animation. For infinite animation pass `Infinity`\\n **\\n = (object) new altered Animation object\\n \\\\*/\\n Animation.prototype.repeat = function (times) {\\n var a = new Animation(this.anim, this.ms);\\n a.del = this.del;\\n a.times = math.floor(mmax(times, 0)) || 1;\\n return a;\\n };\\n function runAnimation(anim, element, percent, status, totalOrigin, times) {\\n percent = toFloat(percent);\\n var params,\\n isInAnim,\\n isInAnimSet,\\n percents = [],\\n next,\\n prev,\\n timestamp,\\n ms = anim.ms,\\n from = {},\\n to = {},\\n diff = {};\\n if (status) {\\n for (i = 0, ii = animationElements.length; i < ii; i++) {\\n var e = animationElements[i];\\n if (e.el.id == element.id && e.anim == anim) {\\n if (e.percent != percent) {\\n animationElements.splice(i, 1);\\n isInAnimSet = 1;\\n } else {\\n isInAnim = e;\\n }\\n element.attr(e.totalOrigin);\\n break;\\n }\\n }\\n } else {\\n status = +to; // NaN\\n }\\n for (var i = 0, ii = anim.percents.length; i < ii; i++) {\\n if (anim.percents[i] == percent || anim.percents[i] > status * anim.top) {\\n percent = anim.percents[i];\\n prev = anim.percents[i - 1] || 0;\\n ms = ms / anim.top * (percent - prev);\\n next = anim.percents[i + 1];\\n params = anim.anim[percent];\\n break;\\n } else if (status) {\\n element.attr(anim.anim[anim.percents[i]]);\\n }\\n }\\n if (!params) {\\n return;\\n }\\n if (!isInAnim) {\\n for (var attr in params) if (params[has](attr)) {\\n if (availableAnimAttrs[has](attr) || element.paper.customAttributes[has](attr)) {\\n from[attr] = element.attr(attr);\\n (from[attr] == null) && (from[attr] = availableAttrs[attr]);\\n to[attr] = params[attr];\\n switch (availableAnimAttrs[attr]) {\\n case nu:\\n diff[attr] = (to[attr] - from[attr]) / ms;\\n break;\\n case \\\"colour\\\":\\n from[attr] = R.getRGB(from[attr]);\\n var toColour = R.getRGB(to[attr]);\\n diff[attr] = {\\n r: (toColour.r - from[attr].r) / ms,\\n g: (toColour.g - from[attr].g) / ms,\\n b: (toColour.b - from[attr].b) / ms\\n };\\n break;\\n case \\\"path\\\":\\n var pathes = path2curve(from[attr], to[attr]),\\n toPath = pathes[1];\\n from[attr] = pathes[0];\\n diff[attr] = [];\\n for (i = 0, ii = from[attr].length; i < ii; i++) {\\n diff[attr][i] = [0];\\n for (var j = 1, jj = from[attr][i].length; j < jj; j++) {\\n diff[attr][i][j] = (toPath[i][j] - from[attr][i][j]) / ms;\\n }\\n }\\n break;\\n case \\\"transform\\\":\\n var _ = element._,\\n eq = equaliseTransform(_[attr], to[attr]);\\n if (eq) {\\n from[attr] = eq.from;\\n to[attr] = eq.to;\\n diff[attr] = [];\\n diff[attr].real = true;\\n for (i = 0, ii = from[attr].length; i < ii; i++) {\\n diff[attr][i] = [from[attr][i][0]];\\n for (j = 1, jj = from[attr][i].length; j < jj; j++) {\\n diff[attr][i][j] = (to[attr][i][j] - from[attr][i][j]) / ms;\\n }\\n }\\n } else {\\n var m = (element.matrix || new Matrix),\\n to2 = {\\n _: {transform: _.transform},\\n getBBox: function () {\\n return element.getBBox(1);\\n }\\n };\\n from[attr] = [\\n m.a,\\n m.b,\\n m.c,\\n m.d,\\n m.e,\\n m.f\\n ];\\n extractTransform(to2, to[attr]);\\n to[attr] = to2._.transform;\\n diff[attr] = [\\n (to2.matrix.a - m.a) / ms,\\n (to2.matrix.b - m.b) / ms,\\n (to2.matrix.c - m.c) / ms,\\n (to2.matrix.d - m.d) / ms,\\n (to2.matrix.e - m.e) / ms,\\n (to2.matrix.f - m.f) / ms\\n ];\\n // from[attr] = [_.sx, _.sy, _.deg, _.dx, _.dy];\\n // var to2 = {_:{}, getBBox: function () { return element.getBBox(); }};\\n // extractTransform(to2, to[attr]);\\n // diff[attr] = [\\n // (to2._.sx - _.sx) / ms,\\n // (to2._.sy - _.sy) / ms,\\n // (to2._.deg - _.deg) / ms,\\n // (to2._.dx - _.dx) / ms,\\n // (to2._.dy - _.dy) / ms\\n // ];\\n }\\n break;\\n case \\\"csv\\\":\\n var values = Str(params[attr])[split](separator),\\n from2 = Str(from[attr])[split](separator);\\n if (attr == \\\"clip-rect\\\") {\\n from[attr] = from2;\\n diff[attr] = [];\\n i = from2.length;\\n while (i--) {\\n diff[attr][i] = (values[i] - from[attr][i]) / ms;\\n }\\n }\\n to[attr] = values;\\n break;\\n default:\\n values = [][concat](params[attr]);\\n from2 = [][concat](from[attr]);\\n diff[attr] = [];\\n i = element.paper.customAttributes[attr].length;\\n while (i--) {\\n diff[attr][i] = ((values[i] || 0) - (from2[i] || 0)) / ms;\\n }\\n break;\\n }\\n }\\n }\\n var easing = params.easing,\\n easyeasy = R.easing_formulas[easing];\\n if (!easyeasy) {\\n easyeasy = Str(easing).match(bezierrg);\\n if (easyeasy && easyeasy.length == 5) {\\n var curve = easyeasy;\\n easyeasy = function (t) {\\n return CubicBezierAtTime(t, +curve[1], +curve[2], +curve[3], +curve[4], ms);\\n };\\n } else {\\n easyeasy = pipe;\\n }\\n }\\n timestamp = params.start || anim.start || +new Date;\\n e = {\\n anim: anim,\\n percent: percent,\\n timestamp: timestamp,\\n start: timestamp + (anim.del || 0),\\n status: 0,\\n initstatus: status || 0,\\n stop: false,\\n ms: ms,\\n easing: easyeasy,\\n from: from,\\n diff: diff,\\n to: to,\\n el: element,\\n callback: params.callback,\\n prev: prev,\\n next: next,\\n repeat: times || anim.times,\\n origin: element.attr(),\\n totalOrigin: totalOrigin\\n };\\n animationElements.push(e);\\n if (status && !isInAnim && !isInAnimSet) {\\n e.stop = true;\\n e.start = new Date - ms * status;\\n if (animationElements.length == 1) {\\n return animation();\\n }\\n }\\n if (isInAnimSet) {\\n e.start = new Date - e.ms * status;\\n }\\n animationElements.length == 1 && requestAnimFrame(animation);\\n } else {\\n isInAnim.initstatus = status;\\n isInAnim.start = new Date - isInAnim.ms * status;\\n }\\n eve(\\\"raphael.anim.start.\\\" + element.id, element, anim);\\n }\\n /*\\\\\\n * Raphael.animation\\n [ method ]\\n **\\n * Creates an animation object that can be passed to the @Element.animate or @Element.animateWith methods.\\n * See also @Animation.delay and @Animation.repeat methods.\\n **\\n > Parameters\\n **\\n - params (object) final attributes for the element, see also @Element.attr\\n - ms (number) number of milliseconds for animation to run\\n - easing (string) #optional easing type. Accept one of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)`\\n - callback (function) #optional callback function. Will be called at the end of animation.\\n **\\n = (object) @Animation\\n \\\\*/\\n R.animation = function (params, ms, easing, callback) {\\n if (params instanceof Animation) {\\n return params;\\n }\\n if (R.is(easing, \\\"function\\\") || !easing) {\\n callback = callback || easing || null;\\n easing = null;\\n }\\n params = Object(params);\\n ms = +ms || 0;\\n var p = {},\\n json,\\n attr;\\n for (attr in params) if (params[has](attr) && toFloat(attr) != attr && toFloat(attr) + \\\"%\\\" != attr) {\\n json = true;\\n p[attr] = params[attr];\\n }\\n if (!json) {\\n // if percent-like syntax is used and end-of-all animation callback used\\n if(callback){\\n // find the last one\\n var lastKey = 0;\\n for(var i in params){\\n var percent = toInt(i);\\n if(params[has](i) && percent > lastKey){\\n lastKey = percent;\\n }\\n }\\n lastKey += '%';\\n // if already defined callback in the last keyframe, skip\\n !params[lastKey].callback && (params[lastKey].callback = callback);\\n }\\n return new Animation(params, ms);\\n } else {\\n easing && (p.easing = easing);\\n callback && (p.callback = callback);\\n return new Animation({100: p}, ms);\\n }\\n };\\n /*\\\\\\n * Element.animate\\n [ method ]\\n **\\n * Creates and starts animation for given element.\\n **\\n > Parameters\\n **\\n - params (object) final attributes for the element, see also @Element.attr\\n - ms (number) number of milliseconds for animation to run\\n - easing (string) #optional easing type. Accept one of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)`\\n - callback (function) #optional callback function. Will be called at the end of animation.\\n * or\\n - animation (object) animation object, see @Raphael.animation\\n **\\n = (object) original element\\n \\\\*/\\n elproto.animate = function (params, ms, easing, callback) {\\n var element = this;\\n if (element.removed) {\\n callback && callback.call(element);\\n return element;\\n }\\n var anim = params instanceof Animation ? params : R.animation(params, ms, easing, callback);\\n runAnimation(anim, element, anim.percents[0], null, element.attr());\\n return element;\\n };\\n /*\\\\\\n * Element.setTime\\n [ method ]\\n **\\n * Sets the status of animation of the element in milliseconds. Similar to @Element.status method.\\n **\\n > Parameters\\n **\\n - anim (object) animation object\\n - value (number) number of milliseconds from the beginning of the animation\\n **\\n = (object) original element if `value` is specified\\n * Note, that during animation following events are triggered:\\n *\\n * On each animation frame event `anim.frame.`, on start `anim.start.` and on end `anim.finish.`.\\n \\\\*/\\n elproto.setTime = function (anim, value) {\\n if (anim && value != null) {\\n this.status(anim, mmin(value, anim.ms) / anim.ms);\\n }\\n return this;\\n };\\n /*\\\\\\n * Element.status\\n [ method ]\\n **\\n * Gets or sets the status of animation of the element.\\n **\\n > Parameters\\n **\\n - anim (object) #optional animation object\\n - value (number) #optional 0 – 1. If specified, method works like a setter and sets the status of a given animation to the value. This will cause animation to jump to the given position.\\n **\\n = (number) status\\n * or\\n = (array) status if `anim` is not specified. Array of objects in format:\\n o {\\n o anim: (object) animation object\\n o status: (number) status\\n o }\\n * or\\n = (object) original element if `value` is specified\\n \\\\*/\\n elproto.status = function (anim, value) {\\n var out = [],\\n i = 0,\\n len,\\n e;\\n if (value != null) {\\n runAnimation(anim, this, -1, mmin(value, 1));\\n return this;\\n } else {\\n len = animationElements.length;\\n for (; i < len; i++) {\\n e = animationElements[i];\\n if (e.el.id == this.id && (!anim || e.anim == anim)) {\\n if (anim) {\\n return e.status;\\n }\\n out.push({\\n anim: e.anim,\\n status: e.status\\n });\\n }\\n }\\n if (anim) {\\n return 0;\\n }\\n return out;\\n }\\n };\\n /*\\\\\\n * Element.pause\\n [ method ]\\n **\\n * Stops animation of the element with ability to resume it later on.\\n **\\n > Parameters\\n **\\n - anim (object) #optional animation object\\n **\\n = (object) original element\\n \\\\*/\\n elproto.pause = function (anim) {\\n for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {\\n if (eve(\\\"raphael.anim.pause.\\\" + this.id, this, animationElements[i].anim) !== false) {\\n animationElements[i].paused = true;\\n }\\n }\\n return this;\\n };\\n /*\\\\\\n * Element.resume\\n [ method ]\\n **\\n * Resumes animation if it was paused with @Element.pause method.\\n **\\n > Parameters\\n **\\n - anim (object) #optional animation object\\n **\\n = (object) original element\\n \\\\*/\\n elproto.resume = function (anim) {\\n for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {\\n var e = animationElements[i];\\n if (eve(\\\"raphael.anim.resume.\\\" + this.id, this, e.anim) !== false) {\\n delete e.paused;\\n this.status(e.anim, e.status);\\n }\\n }\\n return this;\\n };\\n /*\\\\\\n * Element.stop\\n [ method ]\\n **\\n * Stops animation of the element.\\n **\\n > Parameters\\n **\\n - anim (object) #optional animation object\\n **\\n = (object) original element\\n \\\\*/\\n elproto.stop = function (anim) {\\n for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {\\n if (eve(\\\"raphael.anim.stop.\\\" + this.id, this, animationElements[i].anim) !== false) {\\n animationElements.splice(i--, 1);\\n }\\n }\\n return this;\\n };\\n function stopAnimation(paper) {\\n for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.paper == paper) {\\n animationElements.splice(i--, 1);\\n }\\n }\\n eve.on(\\\"raphael.remove\\\", stopAnimation);\\n eve.on(\\\"raphael.clear\\\", stopAnimation);\\n elproto.toString = function () {\\n return \\\"Rapha\\\\xebl\\\\u2019s object\\\";\\n };\\n\\n // Set\\n var Set = function (items) {\\n this.items = [];\\n this.length = 0;\\n this.type = \\\"set\\\";\\n if (items) {\\n for (var i = 0, ii = items.length; i < ii; i++) {\\n if (items[i] && (items[i].constructor == elproto.constructor || items[i].constructor == Set)) {\\n this[this.items.length] = this.items[this.items.length] = items[i];\\n this.length++;\\n }\\n }\\n }\\n },\\n setproto = Set.prototype;\\n /*\\\\\\n * Set.push\\n [ method ]\\n **\\n * Adds each argument to the current set.\\n = (object) original element\\n \\\\*/\\n setproto.push = function () {\\n var item,\\n len;\\n for (var i = 0, ii = arguments.length; i < ii; i++) {\\n item = arguments[i];\\n if (item && (item.constructor == elproto.constructor || item.constructor == Set)) {\\n len = this.items.length;\\n this[len] = this.items[len] = item;\\n this.length++;\\n }\\n }\\n return this;\\n };\\n /*\\\\\\n * Set.pop\\n [ method ]\\n **\\n * Removes last element and returns it.\\n = (object) element\\n \\\\*/\\n setproto.pop = function () {\\n this.length && delete this[this.length--];\\n return this.items.pop();\\n };\\n /*\\\\\\n * Set.forEach\\n [ method ]\\n **\\n * Executes given function for each element in the set.\\n *\\n * If function returns `false` it will stop loop running.\\n **\\n > Parameters\\n **\\n - callback (function) function to run\\n - thisArg (object) context object for the callback\\n = (object) Set object\\n \\\\*/\\n setproto.forEach = function (callback, thisArg) {\\n for (var i = 0, ii = this.items.length; i < ii; i++) {\\n if (callback.call(thisArg, this.items[i], i) === false) {\\n return this;\\n }\\n }\\n return this;\\n };\\n for (var method in elproto) if (elproto[has](method)) {\\n setproto[method] = (function (methodname) {\\n return function () {\\n var arg = arguments;\\n return this.forEach(function (el) {\\n el[methodname][apply](el, arg);\\n });\\n };\\n })(method);\\n }\\n setproto.attr = function (name, value) {\\n if (name && R.is(name, array) && R.is(name[0], \\\"object\\\")) {\\n for (var j = 0, jj = name.length; j < jj; j++) {\\n this.items[j].attr(name[j]);\\n }\\n } else {\\n for (var i = 0, ii = this.items.length; i < ii; i++) {\\n this.items[i].attr(name, value);\\n }\\n }\\n return this;\\n };\\n /*\\\\\\n * Set.clear\\n [ method ]\\n **\\n * Removes all elements from the set\\n \\\\*/\\n setproto.clear = function () {\\n while (this.length) {\\n this.pop();\\n }\\n };\\n /*\\\\\\n * Set.splice\\n [ method ]\\n **\\n * Removes given element from the set\\n **\\n > Parameters\\n **\\n - index (number) position of the deletion\\n - count (number) number of element to remove\\n - insertion… (object) #optional elements to insert\\n = (object) set elements that were deleted\\n \\\\*/\\n setproto.splice = function (index, count, insertion) {\\n index = index < 0 ? mmax(this.length + index, 0) : index;\\n count = mmax(0, mmin(this.length - index, count));\\n var tail = [],\\n todel = [],\\n args = [],\\n i;\\n for (i = 2; i < arguments.length; i++) {\\n args.push(arguments[i]);\\n }\\n for (i = 0; i < count; i++) {\\n todel.push(this[index + i]);\\n }\\n for (; i < this.length - index; i++) {\\n tail.push(this[index + i]);\\n }\\n var arglen = args.length;\\n for (i = 0; i < arglen + tail.length; i++) {\\n this.items[index + i] = this[index + i] = i < arglen ? args[i] : tail[i - arglen];\\n }\\n i = this.items.length = this.length -= count - arglen;\\n while (this[i]) {\\n delete this[i++];\\n }\\n return new Set(todel);\\n };\\n /*\\\\\\n * Set.exclude\\n [ method ]\\n **\\n * Removes given element from the set\\n **\\n > Parameters\\n **\\n - element (object) element to remove\\n = (boolean) `true` if object was found & removed from the set\\n \\\\*/\\n setproto.exclude = function (el) {\\n for (var i = 0, ii = this.length; i < ii; i++) if (this[i] == el) {\\n this.splice(i, 1);\\n return true;\\n }\\n };\\n setproto.animate = function (params, ms, easing, callback) {\\n (R.is(easing, \\\"function\\\") || !easing) && (callback = easing || null);\\n var len = this.items.length,\\n i = len,\\n item,\\n set = this,\\n collector;\\n if (!len) {\\n return this;\\n }\\n callback && (collector = function () {\\n !--len && callback.call(set);\\n });\\n easing = R.is(easing, string) ? easing : collector;\\n var anim = R.animation(params, ms, easing, collector);\\n item = this.items[--i].animate(anim);\\n while (i--) {\\n this.items[i] && !this.items[i].removed && this.items[i].animateWith(item, anim, anim);\\n (this.items[i] && !this.items[i].removed) || len--;\\n }\\n return this;\\n };\\n setproto.insertAfter = function (el) {\\n var i = this.items.length;\\n while (i--) {\\n this.items[i].insertAfter(el);\\n }\\n return this;\\n };\\n\\n // FREEGROUP Fix: RaphaelJS changes the order of the elements of the 'set' by calling the toBack method.\\n // \\\"toBack\\\" must be called reverse to care about the rendering order. In this case we override\\n // the buggy default implementation here.\\n //\\n setproto.toBack = function () {\\n var i = this.items.length;\\n while (i--) {\\n this.items[i].toBack();\\n }\\n return this;\\n };\\n\\n // FREEGROUP Fix: Unfortunately raphael didn'T expose the \\\"set.prototype\\\". In this case\\n // I must add all extension to the raphael implementation itself.\\n // Provide support method for easy check if the elements are visible.\\n setproto.isVisible = function () {\\n var i = this.items.length;\\n var visible = false;\\n while (i--) {\\n visible = visible ||this.items[i].isVisible();\\n }\\n return visible;\\n };\\n\\n\\n // FREEGROUP FIX: Adding \\\"isWithoutTransform\\\" to the function and redirect them to the elements\\n setproto.getBBox = function (isWithoutTransform) {\\n var x = [],\\n y = [],\\n x2 = [],\\n y2 = [];\\n for (var i = this.items.length; i--;) if (!this.items[i].removed) {\\n var box = this.items[i].getBBox(isWithoutTransform);\\n x.push(box.x);\\n y.push(box.y);\\n x2.push(box.x + box.width);\\n y2.push(box.y + box.height);\\n }\\n x = mmin[apply](0, x);\\n y = mmin[apply](0, y);\\n x2 = mmax[apply](0, x2);\\n y2 = mmax[apply](0, y2);\\n return {\\n x: x,\\n y: y,\\n x2: x2,\\n y2: y2,\\n width: x2 - x,\\n height: y2 - y\\n };\\n };\\n setproto.clone = function (s) {\\n s = this.paper.set();\\n for (var i = 0, ii = this.items.length; i < ii; i++) {\\n s.push(this.items[i].clone());\\n }\\n return s;\\n };\\n setproto.toString = function () {\\n return \\\"Rapha\\\\xebl\\\\u2018s set\\\";\\n };\\n\\n setproto.glow = function(glowConfig) {\\n var ret = this.paper.set();\\n this.forEach(function(shape, index){\\n var g = shape.glow(glowConfig);\\n if(g != null){\\n g.forEach(function(shape2, index2){\\n ret.push(shape2);\\n });\\n }\\n });\\n return ret;\\n };\\n\\n\\n /*\\\\\\n * Set.isPointInside\\n [ method ]\\n **\\n * Determine if given point is inside this set’s elements\\n **\\n > Parameters\\n **\\n - x (number) x coordinate of the point\\n - y (number) y coordinate of the point\\n = (boolean) `true` if point is inside any of the set's elements\\n \\\\*/\\n setproto.isPointInside = function (x, y) {\\n var isPointInside = false;\\n this.forEach(function (el) {\\n if (el.isPointInside(x, y)) {\\n isPointInside = true;\\n return false; // stop loop\\n }\\n });\\n return isPointInside;\\n };\\n\\n /*\\\\\\n * Raphael.registerFont\\n [ method ]\\n **\\n * Adds given font to the registered set of fonts for Raphaël. Should be used as an internal call from within Cufón’s font file.\\n * Returns original parameter, so it could be used with chaining.\\n # More about Cufón and how to convert your font form TTF, OTF, etc to JavaScript file.\\n **\\n > Parameters\\n **\\n - font (object) the font to register\\n = (object) the font you passed in\\n > Usage\\n | Cufon.registerFont(Raphael.registerFont({…}));\\n \\\\*/\\n R.registerFont = function (font) {\\n if (!font.face) {\\n return font;\\n }\\n this.fonts = this.fonts || {};\\n var fontcopy = {\\n w: font.w,\\n face: {},\\n glyphs: {}\\n },\\n family = font.face[\\\"font-family\\\"];\\n for (var prop in font.face) if (font.face[has](prop)) {\\n fontcopy.face[prop] = font.face[prop];\\n }\\n if (this.fonts[family]) {\\n this.fonts[family].push(fontcopy);\\n } else {\\n this.fonts[family] = [fontcopy];\\n }\\n if (!font.svg) {\\n fontcopy.face[\\\"units-per-em\\\"] = toInt(font.face[\\\"units-per-em\\\"], 10);\\n for (var glyph in font.glyphs) if (font.glyphs[has](glyph)) {\\n var path = font.glyphs[glyph];\\n fontcopy.glyphs[glyph] = {\\n w: path.w,\\n k: {},\\n d: path.d && \\\"M\\\" + path.d.replace(/[mlcxtrv]/g, function (command) {\\n return {l: \\\"L\\\", c: \\\"C\\\", x: \\\"z\\\", t: \\\"m\\\", r: \\\"l\\\", v: \\\"c\\\"}[command] || \\\"M\\\";\\n }) + \\\"z\\\"\\n };\\n if (path.k) {\\n for (var k in path.k) if (path[has](k)) {\\n fontcopy.glyphs[glyph].k[k] = path.k[k];\\n }\\n }\\n }\\n }\\n return font;\\n };\\n /*\\\\\\n * Paper.getFont\\n [ method ]\\n **\\n * Finds font object in the registered fonts by given parameters. You could specify only one word from the font name, like “Myriad” for “Myriad Pro”.\\n **\\n > Parameters\\n **\\n - family (string) font family name or any word from it\\n - weight (string) #optional font weight\\n - style (string) #optional font style\\n - stretch (string) #optional font stretch\\n = (object) the font object\\n > Usage\\n | paper.print(100, 100, \\\"Test string\\\", paper.getFont(\\\"Times\\\", 800), 30);\\n \\\\*/\\n paperproto.getFont = function (family, weight, style, stretch) {\\n stretch = stretch || \\\"normal\\\";\\n style = style || \\\"normal\\\";\\n weight = +weight || {normal: 400, bold: 700, lighter: 300, bolder: 800}[weight] || 400;\\n if (!R.fonts) {\\n return;\\n }\\n var font = R.fonts[family];\\n if (!font) {\\n var name = new RegExp(\\\"(^|\\\\\\\\s)\\\" + family.replace(/[^\\\\w\\\\d\\\\s+!~.:_-]/g, E) + \\\"(\\\\\\\\s|$)\\\", \\\"i\\\");\\n for (var fontName in R.fonts) if (R.fonts[has](fontName)) {\\n if (name.test(fontName)) {\\n font = R.fonts[fontName];\\n break;\\n }\\n }\\n }\\n var thefont;\\n if (font) {\\n for (var i = 0, ii = font.length; i < ii; i++) {\\n thefont = font[i];\\n if (thefont.face[\\\"font-weight\\\"] == weight && (thefont.face[\\\"font-style\\\"] == style || !thefont.face[\\\"font-style\\\"]) && thefont.face[\\\"font-stretch\\\"] == stretch) {\\n break;\\n }\\n }\\n }\\n return thefont;\\n };\\n /*\\\\\\n * Paper.print\\n [ method ]\\n **\\n * Creates path that represent given text written using given font at given position with given size.\\n * Result of the method is path element that contains whole text as a separate path.\\n **\\n > Parameters\\n **\\n - x (number) x position of the text\\n - y (number) y position of the text\\n - string (string) text to print\\n - font (object) font object, see @Paper.getFont\\n - size (number) #optional size of the font, default is `16`\\n - origin (string) #optional could be `\\\"baseline\\\"` or `\\\"middle\\\"`, default is `\\\"middle\\\"`\\n - letter_spacing (number) #optional number in range `-1..1`, default is `0`\\n - line_spacing (number) #optional number in range `1..3`, default is `1`\\n = (object) resulting path element, which consist of all letters\\n > Usage\\n | var txt = r.print(10, 50, \\\"print\\\", r.getFont(\\\"Museo\\\"), 30).attr({fill: \\\"#fff\\\"});\\n \\\\*/\\n paperproto.print = function (x, y, string, font, size, origin, letter_spacing, line_spacing) {\\n origin = origin || \\\"middle\\\"; // baseline|middle\\n letter_spacing = mmax(mmin(letter_spacing || 0, 1), -1);\\n line_spacing = mmax(mmin(line_spacing || 1, 3), 1);\\n var letters = Str(string)[split](E),\\n shift = 0,\\n notfirst = 0,\\n path = E,\\n scale;\\n R.is(font, \\\"string\\\") && (font = this.getFont(font));\\n if (font) {\\n scale = (size || 16) / font.face[\\\"units-per-em\\\"];\\n var bb = font.face.bbox[split](separator),\\n top = +bb[0],\\n lineHeight = bb[3] - bb[1],\\n shifty = 0,\\n height = +bb[1] + (origin == \\\"baseline\\\" ? lineHeight + (+font.face.descent) : lineHeight / 2);\\n for (var i = 0, ii = letters.length; i < ii; i++) {\\n if (letters[i] == \\\"\\\\n\\\") {\\n shift = 0;\\n curr = 0;\\n notfirst = 0;\\n shifty += lineHeight * line_spacing;\\n } else {\\n var prev = notfirst && font.glyphs[letters[i - 1]] || {},\\n curr = font.glyphs[letters[i]];\\n shift += notfirst ? (prev.w || font.w) + (prev.k && prev.k[letters[i]] || 0) + (font.w * letter_spacing) : 0;\\n notfirst = 1;\\n }\\n if (curr && curr.d) {\\n path += R.transformPath(curr.d, [\\\"t\\\", shift * scale, shifty * scale, \\\"s\\\", scale, scale, top, height, \\\"t\\\", (x - top) / scale, (y - height) / scale]);\\n }\\n }\\n }\\n return this.path(path).attr({\\n fill: \\\"#000\\\",\\n stroke: \\\"none\\\"\\n });\\n };\\n\\n /*\\\\\\n * Paper.add\\n [ method ]\\n **\\n * Imports elements in JSON array in format `{type: type, }`\\n **\\n > Parameters\\n **\\n - json (array)\\n = (object) resulting set of imported elements\\n > Usage\\n | paper.add([\\n | {\\n | type: \\\"circle\\\",\\n | cx: 10,\\n | cy: 10,\\n | r: 5\\n | },\\n | {\\n | type: \\\"rect\\\",\\n | x: 10,\\n | y: 10,\\n | width: 10,\\n | height: 10,\\n | fill: \\\"#fc0\\\"\\n | }\\n | ]);\\n \\\\*/\\n paperproto.add = function (json) {\\n if (R.is(json, \\\"array\\\")) {\\n var res = this.set(),\\n i = 0,\\n ii = json.length,\\n j;\\n for (; i < ii; i++) {\\n j = json[i] || {};\\n elements[has](j.type) && res.push(this[j.type]().attr(j));\\n }\\n }\\n return res;\\n };\\n\\n /*\\\\\\n * Raphael.format\\n [ method ]\\n **\\n * Simple format function. Replaces construction of type “`{}`” to the corresponding argument.\\n **\\n > Parameters\\n **\\n - token (string) string to format\\n - … (string) rest of arguments will be treated as parameters for replacement\\n = (string) formated string\\n > Usage\\n | var x = 10,\\n | y = 20,\\n | width = 40,\\n | height = 50;\\n | // this will draw a rectangular shape equivalent to \\\"M10,20h40v50h-40z\\\"\\n | paper.path(Raphael.format(\\\"M{0},{1}h{2}v{3}h{4}z\\\", x, y, width, height, -width));\\n \\\\*/\\n R.format = function (token, params) {\\n var args = R.is(params, array) ? [0][concat](params) : arguments;\\n token && R.is(token, string) && args.length - 1 && (token = token.replace(formatrg, function (str, i) {\\n return args[++i] == null ? E : args[i];\\n }));\\n return token || E;\\n };\\n /*\\\\\\n * Raphael.fullfill\\n [ method ]\\n **\\n * A little bit more advanced format function than @Raphael.format. Replaces construction of type “`{}`” to the corresponding argument.\\n **\\n > Parameters\\n **\\n - token (string) string to format\\n - json (object) object which properties will be used as a replacement\\n = (string) formated string\\n > Usage\\n | // this will draw a rectangular shape equivalent to \\\"M10,20h40v50h-40z\\\"\\n | paper.path(Raphael.fullfill(\\\"M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']}z\\\", {\\n | x: 10,\\n | y: 20,\\n | dim: {\\n | width: 40,\\n | height: 50,\\n | \\\"negative width\\\": -40\\n | }\\n | }));\\n \\\\*/\\n R.fullfill = (function () {\\n var tokenRegex = /\\\\{([^\\\\}]+)\\\\}/g,\\n objNotationRegex = /(?:(?:^|\\\\.)(.+?)(?=\\\\[|\\\\.|$|\\\\()|\\\\[('|\\\")(.+?)\\\\2\\\\])(\\\\(\\\\))?/g, // matches .xxxxx or [\\\"xxxxx\\\"] to run over object properties\\n replacer = function (all, key, obj) {\\n var res = obj;\\n key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) {\\n name = name || quotedName;\\n if (res) {\\n if (name in res) {\\n res = res[name];\\n }\\n typeof res == \\\"function\\\" && isFunc && (res = res());\\n }\\n });\\n res = (res == null || res == obj ? all : res) + \\\"\\\";\\n return res;\\n };\\n return function (str, obj) {\\n return String(str).replace(tokenRegex, function (all, key) {\\n return replacer(all, key, obj);\\n });\\n };\\n })();\\n /*\\\\\\n * Raphael.ninja\\n [ method ]\\n **\\n * If you want to leave no trace of Raphaël (Well, Raphaël creates only one global variable `Raphael`, but anyway.) You can use `ninja` method.\\n * Beware, that in this case plugins could stop working, because they are depending on global variable existence.\\n **\\n = (object) Raphael object\\n > Usage\\n | (function (local_raphael) {\\n | var paper = local_raphael(10, 10, 320, 200);\\n | …\\n | })(Raphael.ninja());\\n \\\\*/\\n R.ninja = function () {\\n oldRaphael.was ? (g.win.Raphael = oldRaphael.is) : delete Raphael;\\n return R;\\n };\\n /*\\\\\\n * Raphael.st\\n [ property (object) ]\\n **\\n * You can add your own method to elements and sets. It is wise to add a set method for each element method\\n * you added, so you will be able to call the same method on sets too.\\n **\\n * See also @Raphael.el.\\n > Usage\\n | Raphael.el.red = function () {\\n | this.attr({fill: \\\"#f00\\\"});\\n | };\\n | Raphael.st.red = function () {\\n | this.forEach(function (el) {\\n | el.red();\\n | });\\n | };\\n | // then use it\\n | paper.set(paper.circle(100, 100, 20), paper.circle(110, 100, 20)).red();\\n \\\\*/\\n R.st = setproto;\\n\\n eve.on(\\\"raphael.DOMload\\\", function () {\\n loaded = true;\\n });\\n\\n // Firefox <3.6 fix: http://webreflection.blogspot.com/2009/11/195-chars-to-help-lazy-loading.html\\n (function (doc, loaded, f) {\\n if (doc.readyState == null && doc.addEventListener){\\n doc.addEventListener(loaded, f = function () {\\n doc.removeEventListener(loaded, f, false);\\n doc.readyState = \\\"complete\\\";\\n }, false);\\n doc.readyState = \\\"loading\\\";\\n }\\n function isLoaded() {\\n (/in/).test(doc.readyState) ? setTimeout(isLoaded, 9) : R.eve(\\\"raphael.DOMload\\\");\\n }\\n isLoaded();\\n })(document, \\\"DOMContentLoaded\\\");\\n\\n return R;\\n}));\\n\\n// ┌─────────────────────────────────────────────────────────────────────┐ \\\\\\\\\\n// │ Raphaël 2.1.4 - JavaScript Vector Library │ \\\\\\\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\\\\\\n// │ SVG Module │ \\\\\\\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\\\\\\n// │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\\\\\\\\\n// │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\\\\\\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license. │ \\\\\\\\\\n// └─────────────────────────────────────────────────────────────────────┘ \\\\\\\\\\n\\n(function (glob, factory) {\\n if (typeof define === \\\"function\\\" && define.amd) {\\n define(\\\"raphael.svg\\\", [\\\"raphael.core\\\"], function(raphael) {\\n return factory(raphael);\\n });\\n } else if (typeof exports === \\\"object\\\") {\\n factory(require(\\\"./raphael.core\\\"));\\n } else {\\n factory(glob.Raphael);\\n }\\n}(this, function(R) {\\n if (R && !R.svg) {\\n return;\\n }\\n\\n var has = \\\"hasOwnProperty\\\",\\n Str = String,\\n toFloat = parseFloat,\\n toInt = parseInt,\\n math = Math,\\n mmax = math.max,\\n abs = math.abs,\\n pow = math.pow,\\n separator = /[, ]+/,\\n eve = R.eve,\\n E = \\\"\\\",\\n S = \\\" \\\";\\n var xlink = \\\"http://www.w3.org/1999/xlink\\\",\\n markers = {\\n block: \\\"M5,0 0,2.5 5,5z\\\",\\n classic: \\\"M5,0 0,2.5 5,5 3.5,3 3.5,2z\\\",\\n diamond: \\\"M2.5,0 5,2.5 2.5,5 0,2.5z\\\",\\n open: \\\"M6,1 1,3.5 6,6\\\",\\n oval: \\\"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z\\\"\\n },\\n markerCounter = {};\\n R.toString = function () {\\n return \\\"Your browser supports SVG.\\\\nYou are running Rapha\\\\xebl \\\" + this.version;\\n };\\n var $ = function (el, attr) {\\n if (attr) {\\n if (typeof el == \\\"string\\\") {\\n el = $(el);\\n }\\n for (var key in attr) if (attr[has](key)) {\\n if (key.substring(0, 6) == \\\"xlink:\\\") {\\n el.setAttributeNS(xlink, key.substring(6), Str(attr[key]));\\n } else {\\n try {\\n el.setAttribute(key, Str(attr[key]));\\n }\\n catch(e){\\n debugger\\n }\\n }\\n }\\n } else {\\n el = R._g.doc.createElementNS(\\\"http://www.w3.org/2000/svg\\\", el);\\n el.style && (el.style.webkitTapHighlightColor = \\\"rgba(0,0,0,0)\\\");\\n }\\n return el;\\n },\\n addGradientFill = function (element, gradient) {\\n var type = \\\"linear\\\",\\n id = element.id + gradient,\\n fx = .5, fy = .5,\\n o = element.node,\\n SVG = element.paper,\\n s = o.style,\\n el = R._g.doc.getElementById(id);\\n if (!el) {\\n gradient = Str(gradient).replace(R._radial_gradient, function (all, _fx, _fy) {\\n type = \\\"radial\\\";\\n if (_fx && _fy) {\\n fx = toFloat(_fx);\\n fy = toFloat(_fy);\\n var dir = ((fy > .5) * 2 - 1);\\n pow(fx - .5, 2) + pow(fy - .5, 2) > .25 &&\\n (fy = math.sqrt(.25 - pow(fx - .5, 2)) * dir + .5) &&\\n fy != .5 &&\\n (fy = fy.toFixed(5) - 1e-5 * dir);\\n }\\n return E;\\n });\\n gradient = gradient.split(/\\\\s*\\\\-\\\\s*/);\\n if (type == \\\"linear\\\") {\\n var angle = gradient.shift();\\n angle = -toFloat(angle);\\n if (isNaN(angle)) {\\n return null;\\n }\\n var vector = [0, 0, math.cos(R.rad(angle)), math.sin(R.rad(angle))],\\n max = 1 / (mmax(abs(vector[2]), abs(vector[3])) || 1);\\n vector[2] *= max;\\n vector[3] *= max;\\n if (vector[2] < 0) {\\n vector[0] = -vector[2];\\n vector[2] = 0;\\n }\\n if (vector[3] < 0) {\\n vector[1] = -vector[3];\\n vector[3] = 0;\\n }\\n }\\n var dots = R._parseDots(gradient);\\n if (!dots) {\\n return null;\\n }\\n id = id.replace(/[\\\\(\\\\)\\\\s,\\\\xb0#]/g, \\\"_\\\");\\n\\n if (element.gradient && id != element.gradient.id) {\\n SVG.defs.removeChild(element.gradient);\\n delete element.gradient;\\n }\\n\\n if (!element.gradient) {\\n el = $(type + \\\"Gradient\\\", {id: id});\\n element.gradient = el;\\n $(el, type == \\\"radial\\\" ? {\\n fx: fx,\\n fy: fy\\n } : {\\n x1: vector[0],\\n y1: vector[1],\\n x2: vector[2],\\n y2: vector[3],\\n gradientTransform: element.matrix.invert()\\n });\\n SVG.defs.appendChild(el);\\n for (var i = 0, ii = dots.length; i < ii; i++) {\\n el.appendChild($(\\\"stop\\\", {\\n offset: dots[i].offset ? dots[i].offset : i ? \\\"100%\\\" : \\\"0%\\\",\\n \\\"stop-color\\\": dots[i].color || \\\"#fff\\\",\\n \\\"stop-opacity\\\": isFinite(dots[i].opacity) ? dots[i].opacity : 1\\n }));\\n }\\n }\\n }\\n /* FREEGROUP: don't push URL parameter into the drawing. This will break Apps with \\\"?\\\" in the URL\\n * see: https://github.com/DmitryBaranovskiy/raphael/issues/693\\n **/\\n var url =\\\"\\\";//document.location.protocol + \\\"//\\\" + document.location.host + document.location.pathname;\\n $(o, {\\n fill: \\\"url('\\\" + url + \\\"#\\\" + id + \\\"')\\\",\\n opacity: 1,\\n \\\"fill-opacity\\\": 1\\n });\\n\\n s.fill = E;\\n s.opacity = 1;\\n s.fillOpacity = 1;\\n return 1;\\n },\\n updatePosition = function (o) {\\n var bbox = o.getBBox(1);\\n $(o.pattern, {patternTransform: o.matrix.invert() + \\\" translate(\\\" + bbox.x + \\\",\\\" + bbox.y + \\\")\\\"});\\n },\\n addArrow = function (o, value, isEnd) {\\n if (o.type == \\\"path\\\") {\\n var values = Str(value).toLowerCase().split(\\\"-\\\"),\\n p = o.paper,\\n se = isEnd ? \\\"end\\\" : \\\"start\\\",\\n node = o.node,\\n attrs = o.attrs,\\n stroke = attrs[\\\"stroke-width\\\"],\\n i = values.length,\\n type = \\\"classic\\\",\\n from,\\n to,\\n dx,\\n refX,\\n attr,\\n w = 3,\\n h = 3,\\n t = 5;\\n while (i--) {\\n switch (values[i]) {\\n case \\\"block\\\":\\n case \\\"classic\\\":\\n case \\\"oval\\\":\\n case \\\"diamond\\\":\\n case \\\"open\\\":\\n case \\\"none\\\":\\n type = values[i];\\n break;\\n case \\\"wide\\\": h = 5; break;\\n case \\\"narrow\\\": h = 2; break;\\n case \\\"long\\\": w = 5; break;\\n case \\\"short\\\": w = 2; break;\\n }\\n }\\n if (type == \\\"open\\\") {\\n w += 2;\\n h += 2;\\n t += 2;\\n dx = 1;\\n refX = isEnd ? 4 : 1;\\n attr = {\\n fill: \\\"none\\\",\\n stroke: attrs.stroke\\n };\\n } else {\\n refX = dx = w / 2;\\n attr = {\\n fill: attrs.stroke,\\n stroke: \\\"none\\\"\\n };\\n }\\n if (o._.arrows) {\\n if (isEnd) {\\n o._.arrows.endPath && markerCounter[o._.arrows.endPath]--;\\n o._.arrows.endMarker && markerCounter[o._.arrows.endMarker]--;\\n } else {\\n o._.arrows.startPath && markerCounter[o._.arrows.startPath]--;\\n o._.arrows.startMarker && markerCounter[o._.arrows.startMarker]--;\\n }\\n } else {\\n o._.arrows = {};\\n }\\n if (type != \\\"none\\\") {\\n var pathId = \\\"raphael-marker-\\\" + type,\\n markerId = \\\"raphael-marker-\\\" + se + type + w + h + \\\"-obj\\\" + o.id;\\n if (!R._g.doc.getElementById(pathId)) {\\n p.defs.appendChild($($(\\\"path\\\"), {\\n \\\"stroke-linecap\\\": \\\"round\\\",\\n d: markers[type],\\n id: pathId\\n }));\\n markerCounter[pathId] = 1;\\n } else {\\n markerCounter[pathId]++;\\n }\\n var marker = R._g.doc.getElementById(markerId),\\n use;\\n if (!marker) {\\n marker = $($(\\\"marker\\\"), {\\n id: markerId,\\n markerHeight: h,\\n markerWidth: w,\\n orient: \\\"auto\\\",\\n refX: refX,\\n refY: h / 2\\n });\\n use = $($(\\\"use\\\"), {\\n \\\"xlink:href\\\": \\\"#\\\" + pathId,\\n transform: (isEnd ? \\\"rotate(180 \\\" + w / 2 + \\\" \\\" + h / 2 + \\\") \\\" : E) + \\\"scale(\\\" + w / t + \\\",\\\" + h / t + \\\")\\\",\\n \\\"stroke-width\\\": (1 / ((w / t + h / t) / 2)).toFixed(4)\\n });\\n marker.appendChild(use);\\n p.defs.appendChild(marker);\\n markerCounter[markerId] = 1;\\n } else {\\n markerCounter[markerId]++;\\n use = marker.getElementsByTagName(\\\"use\\\")[0];\\n }\\n $(use, attr);\\n var delta = dx * (type != \\\"diamond\\\" && type != \\\"oval\\\");\\n if (isEnd) {\\n from = o._.arrows.startdx * stroke || 0;\\n to = R.getTotalLength(attrs.path) - delta * stroke;\\n } else {\\n from = delta * stroke;\\n to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0);\\n }\\n attr = {};\\n attr[\\\"marker-\\\" + se] = \\\"url(#\\\" + markerId + \\\")\\\";\\n if (to || from) {\\n attr.d = R.getSubpath(attrs.path, from, to);\\n }\\n $(node, attr);\\n o._.arrows[se + \\\"Path\\\"] = pathId;\\n o._.arrows[se + \\\"Marker\\\"] = markerId;\\n o._.arrows[se + \\\"dx\\\"] = delta;\\n o._.arrows[se + \\\"Type\\\"] = type;\\n o._.arrows[se + \\\"String\\\"] = value;\\n } else {\\n if (isEnd) {\\n from = o._.arrows.startdx * stroke || 0;\\n to = R.getTotalLength(attrs.path) - from;\\n } else {\\n from = 0;\\n to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0);\\n }\\n o._.arrows[se + \\\"Path\\\"] && $(node, {d: R.getSubpath(attrs.path, from, to)});\\n delete o._.arrows[se + \\\"Path\\\"];\\n delete o._.arrows[se + \\\"Marker\\\"];\\n delete o._.arrows[se + \\\"dx\\\"];\\n delete o._.arrows[se + \\\"Type\\\"];\\n delete o._.arrows[se + \\\"String\\\"];\\n }\\n for (attr in markerCounter) if (markerCounter[has](attr) && !markerCounter[attr]) {\\n var item = R._g.doc.getElementById(attr);\\n item && item.parentNode.removeChild(item);\\n }\\n }\\n },\\n dasharray = {\\n \\\"-\\\": [3, 1],\\n \\\".\\\": [1, 1],\\n \\\"-.\\\": [3, 1, 1, 1],\\n \\\"-..\\\": [3, 1, 1, 1, 1, 1],\\n \\\". \\\": [1, 3],\\n \\\"- \\\": [4, 3],\\n \\\"--\\\": [8, 3],\\n \\\"- .\\\": [4, 3, 1, 3],\\n \\\"--.\\\": [8, 3, 1, 3],\\n \\\"--..\\\": [8, 3, 1, 3, 1, 3]\\n },\\n addDashes = function (o, value, params) {\\n value = dasharray[Str(value).toLowerCase()];\\n if (value) {\\n var width = o.attrs[\\\"stroke-width\\\"] || \\\"1\\\",\\n butt = {round: width, square: width, butt: 0}[o.attrs[\\\"stroke-linecap\\\"] || params[\\\"stroke-linecap\\\"]] || 0,\\n dashes = [],\\n i = value.length;\\n while (i--) {\\n dashes[i] = value[i] * width + ((i % 2) ? 1 : -1) * butt;\\n }\\n $(o.node, {\\\"stroke-dasharray\\\": dashes.join(\\\",\\\")});\\n }\\n else {\\n $(o.node, {\\\"stroke-dasharray\\\": \\\"none\\\"});\\n }\\n },\\n setFillAndStroke = function (o, params) {\\n var node = o.node,\\n attrs = o.attrs,\\n vis = node.style.visibility;\\n node.style.visibility = \\\"hidden\\\";\\n for (var att in params) {\\n if (params[has](att)) {\\n if (!R._availableAttrs[has](att)) {\\n continue;\\n }\\n var value = params[att];\\n attrs[att] = value;\\n switch (att) {\\n case \\\"blur\\\":\\n o.blur(value);\\n break;\\n case \\\"title\\\":\\n var title = node.getElementsByTagName(\\\"title\\\");\\n\\n // Use the existing .\\n if (title.length && (title = title[0])) {\\n title.firstChild.nodeValue = value;\\n } else {\\n title = $(\\\"title\\\");\\n var val = R._g.doc.createTextNode(value);\\n title.appendChild(val);\\n node.appendChild(title);\\n }\\n break;\\n case \\\"href\\\":\\n case \\\"target\\\":\\n var pn = node.parentNode;\\n if (pn.tagName.toLowerCase() != \\\"a\\\") {\\n var hl = $(\\\"a\\\");\\n pn.insertBefore(hl, node);\\n hl.appendChild(node);\\n pn = hl;\\n }\\n if (att == \\\"target\\\") {\\n pn.setAttributeNS(xlink, \\\"show\\\", value == \\\"blank\\\" ? \\\"new\\\" : value);\\n } else {\\n pn.setAttributeNS(xlink, att, value);\\n }\\n break;\\n case \\\"cursor\\\":\\n node.style.cursor = value;\\n break;\\n case \\\"transform\\\":\\n o.transform(value);\\n break;\\n case \\\"arrow-start\\\":\\n addArrow(o, value);\\n break;\\n case \\\"arrow-end\\\":\\n addArrow(o, value, 1);\\n break;\\n case \\\"clip-rect\\\":\\n var rect = Str(value).split(separator);\\n if (rect.length == 4) {\\n o.clip && o.clip.parentNode.parentNode.removeChild(o.clip.parentNode);\\n var el = $(\\\"clipPath\\\"),\\n rc = $(\\\"rect\\\");\\n el.id = R.createUUID();\\n $(rc, {\\n x: rect[0],\\n y: rect[1],\\n width: rect[2],\\n height: rect[3]\\n });\\n el.appendChild(rc);\\n o.paper.defs.appendChild(el);\\n $(node, {\\\"clip-path\\\": \\\"url(#\\\" + el.id + \\\")\\\"});\\n o.clip = rc;\\n }\\n if (!value) {\\n var path = node.getAttribute(\\\"clip-path\\\");\\n if (path) {\\n var clip = R._g.doc.getElementById(path.replace(/(^url\\\\(#|\\\\)$)/g, E));\\n clip && clip.parentNode.removeChild(clip);\\n $(node, {\\\"clip-path\\\": E});\\n delete o.clip;\\n }\\n }\\n break;\\n case \\\"path\\\":\\n if (o.type == \\\"path\\\") {\\n $(node, {d: value ? attrs.path = R._pathToAbsolute(value) : \\\"M0,0\\\"});\\n o._.dirty = 1;\\n if (o._.arrows) {\\n \\\"startString\\\" in o._.arrows && addArrow(o, o._.arrows.startString);\\n \\\"endString\\\" in o._.arrows && addArrow(o, o._.arrows.endString, 1);\\n }\\n }\\n break;\\n case \\\"width\\\":\\n node.setAttribute(att, value);\\n o._.dirty = 1;\\n if (attrs.fx) {\\n att = \\\"x\\\";\\n value = attrs.x;\\n } else {\\n break;\\n }\\n case \\\"x\\\":\\n if (attrs.fx) {\\n value = -attrs.x - (attrs.width || 0);\\n }\\n case \\\"rx\\\":\\n if (att == \\\"rx\\\" && o.type == \\\"rect\\\") {\\n break;\\n }\\n case \\\"cx\\\":\\n node.setAttribute(att, value);\\n o.pattern && updatePosition(o);\\n o._.dirty = 1;\\n break;\\n case \\\"height\\\":\\n node.setAttribute(att, value);\\n o._.dirty = 1;\\n if (attrs.fy) {\\n att = \\\"y\\\";\\n value = attrs.y;\\n } else {\\n break;\\n }\\n case \\\"y\\\":\\n if (attrs.fy) {\\n value = -attrs.y - (attrs.height || 0);\\n }\\n case \\\"ry\\\":\\n if (att == \\\"ry\\\" && o.type == \\\"rect\\\") {\\n break;\\n }\\n case \\\"cy\\\":\\n node.setAttribute(att, value);\\n o.pattern && updatePosition(o);\\n o._.dirty = 1;\\n break;\\n case \\\"r\\\":\\n if (o.type == \\\"rect\\\") {\\n $(node, {rx: value, ry: value});\\n } else {\\n node.setAttribute(att, value);\\n }\\n o._.dirty = 1;\\n break;\\n case \\\"src\\\":\\n if (o.type == \\\"image\\\") {\\n node.setAttributeNS(xlink, \\\"href\\\", value);\\n }\\n break;\\n case \\\"stroke-width\\\":\\n /* FREEGROUP fix\\n * draw2d version 3.0.3\\n *\\n * don't scale the line width if the user resize an shape/element.\\n * Obscure stroke-width in case of \\\"Draw2D touch\\\" usage\\n */\\n if(!attrs[\\\"stroke-scale\\\"]){\\n if (o._.sx != 1 || o._.sy != 1) {\\n value /= mmax(abs(o._.sx), abs(o._.sy)) || 1;\\n }\\n if (o.paper._vbSize) {\\n // value *= o.paper._vbSize;\\n }\\n }\\n\\n\\n node.setAttribute(att, value);\\n if (attrs[\\\"stroke-dasharray\\\"]) {\\n addDashes(o, attrs[\\\"stroke-dasharray\\\"], params);\\n }\\n if (o._.arrows) {\\n \\\"startString\\\" in o._.arrows && addArrow(o, o._.arrows.startString);\\n \\\"endString\\\" in o._.arrows && addArrow(o, o._.arrows.endString, 1);\\n }\\n break;\\n case \\\"stroke-dasharray\\\":\\n addDashes(o, value, params);\\n break;\\n case \\\"fill\\\":\\n var isURL = Str(value).match(R._ISURL);\\n if (isURL) {\\n el = $(\\\"pattern\\\");\\n var ig = $(\\\"image\\\");\\n el.id = R.createUUID();\\n $(el, {x: 0, y: 0, patternUnits: \\\"userSpaceOnUse\\\", height: 1, width: 1});\\n $(ig, {x: 0, y: 0, \\\"xlink:href\\\": isURL[1]});\\n el.appendChild(ig);\\n\\n (function (el) {\\n R._preload(isURL[1], function () {\\n var w = this.offsetWidth,\\n h = this.offsetHeight;\\n $(el, {width: w, height: h});\\n $(ig, {width: w, height: h});\\n });\\n })(el);\\n o.paper.defs.appendChild(el);\\n $(node, {fill: \\\"url(#\\\" + el.id + \\\")\\\"});\\n o.pattern = el;\\n o.pattern && updatePosition(o);\\n break;\\n }\\n var clr = R.getRGB(value);\\n if (!clr.error) {\\n delete params.gradient;\\n delete attrs.gradient;\\n !R.is(attrs.opacity, \\\"undefined\\\") &&\\n R.is(params.opacity, \\\"undefined\\\") &&\\n $(node, {opacity: attrs.opacity});\\n !R.is(attrs[\\\"fill-opacity\\\"], \\\"undefined\\\") &&\\n R.is(params[\\\"fill-opacity\\\"], \\\"undefined\\\") &&\\n $(node, {\\\"fill-opacity\\\": attrs[\\\"fill-opacity\\\"]});\\n } else if ((o.type == \\\"circle\\\" || o.type == \\\"ellipse\\\" || Str(value).charAt() != \\\"r\\\") && addGradientFill(o, value)) {\\n if (\\\"opacity\\\" in attrs || \\\"fill-opacity\\\" in attrs) {\\n var gradient = R._g.doc.getElementById(node.getAttribute(\\\"fill\\\").replace(/^url\\\\(#|\\\\)$/g, E));\\n if (gradient) {\\n var stops = gradient.getElementsByTagName(\\\"stop\\\");\\n $(stops[stops.length - 1], {\\\"stop-opacity\\\": (\\\"opacity\\\" in attrs ? attrs.opacity : 1) * (\\\"fill-opacity\\\" in attrs ? attrs[\\\"fill-opacity\\\"] : 1)});\\n }\\n }\\n attrs.gradient = value;\\n attrs.fill = \\\"none\\\";\\n break;\\n }\\n clr[has](\\\"opacity\\\") && $(node, {\\\"fill-opacity\\\": clr.opacity > 1 ? clr.opacity / 100 : clr.opacity});\\n case \\\"stroke\\\":\\n clr = R.getRGB(value);\\n node.setAttribute(att, clr.hex);\\n att == \\\"stroke\\\" && clr[has](\\\"opacity\\\") && $(node, {\\\"stroke-opacity\\\": clr.opacity > 1 ? clr.opacity / 100 : clr.opacity});\\n if (att == \\\"stroke\\\" && o._.arrows) {\\n \\\"startString\\\" in o._.arrows && addArrow(o, o._.arrows.startString);\\n \\\"endString\\\" in o._.arrows && addArrow(o, o._.arrows.endString, 1);\\n }\\n break;\\n case \\\"gradient\\\":\\n (o.type == \\\"circle\\\" || o.type == \\\"ellipse\\\" || Str(value).charAt() != \\\"r\\\") && addGradientFill(o, value);\\n break;\\n case \\\"opacity\\\":\\n if (attrs.gradient && !attrs[has](\\\"stroke-opacity\\\")) {\\n $(node, {\\\"stroke-opacity\\\": value > 1 ? value / 100 : value});\\n }\\n // fall\\n case \\\"fill-opacity\\\":\\n if (attrs.gradient) {\\n gradient = R._g.doc.getElementById(node.getAttribute(\\\"fill\\\").replace(/^url\\\\(#|\\\\)$/g, E));\\n if (gradient) {\\n stops = gradient.getElementsByTagName(\\\"stop\\\");\\n // FREEGROUP FIX\\n for (gri = 0, grii = stops.length; gri < grii; gri++) {\\n $(stops[gri], {\\\"stop-opacity\\\": value});\\n }\\n // END FIX\\n }\\n break;\\n }\\n default:\\n att == \\\"font-size\\\" && (value = toInt(value, 10) + \\\"px\\\");\\n var cssrule = att.replace(/(\\\\-.)/g, function (w) {\\n return w.substring(1).toUpperCase();\\n });\\n node.style[cssrule] = value;\\n o._.dirty = 1;\\n node.setAttribute(att, value);\\n break;\\n }\\n }\\n }\\n\\n tuneText(o, params);\\n node.style.visibility = vis;\\n },\\n leading = 1.2,\\n tuneText = function (el, params) {\\n if (el.type != \\\"text\\\" || !(params[has](\\\"text\\\") || params[has](\\\"font\\\") || params[has](\\\"font-size\\\") || params[has](\\\"x\\\") || params[has](\\\"y\\\"))) {\\n return;\\n }\\n var a = el.attrs,\\n node = el.node,\\n fontSize = node.firstChild ? toInt(R._g.doc.defaultView.getComputedStyle(node.firstChild, E).getPropertyValue(\\\"font-size\\\"), 10) : 10;\\n\\n if (params[has](\\\"text\\\")) {\\n a.text = params.text;\\n while (node.firstChild) {\\n node.removeChild(node.firstChild);\\n }\\n var texts = Str(params.text).split(\\\"\\\\n\\\"),\\n tspans = [],\\n tspan;\\n for (var i = 0, ii = texts.length; i < ii; i++) {\\n tspan = $(\\\"tspan\\\");\\n i && $(tspan, {dy: fontSize * leading, x: a.x});\\n tspan.appendChild(R._g.doc.createTextNode(texts[i]));\\n node.appendChild(tspan);\\n tspans[i] = tspan;\\n }\\n } else {\\n tspans = node.getElementsByTagName(\\\"tspan\\\");\\n for (i = 0, ii = tspans.length; i < ii; i++) if (i) {\\n $(tspans[i], {dy: fontSize * leading, x: a.x});\\n } else {\\n $(tspans[0], {dy: 0});\\n }\\n }\\n $(node, {x: a.x, y: a.y});\\n el._.dirty = 1;\\n var bb = el._getBBox(),\\n dif = a.y - (bb.y + bb.height / 2);\\n dif && R.is(dif, \\\"finite\\\") && $(tspans[0], {dy: dif});\\n },\\n getRealNode = function (node) {\\n if (node.parentNode && node.parentNode.tagName.toLowerCase() === \\\"a\\\") {\\n return node.parentNode;\\n } else {\\n return node;\\n }\\n },\\n Element = function (node, svg) {\\n var X = 0,\\n Y = 0;\\n /*\\\\\\n * Element.node\\n [ property (object) ]\\n **\\n * Gives you a reference to the DOM object, so you can assign event handlers or just mess around.\\n **\\n * Note: Don’t mess with it.\\n > Usage\\n | // draw a circle at coordinate 10,10 with radius of 10\\n | var c = paper.circle(10, 10, 10);\\n | c.node.onclick = function () {\\n | c.attr(\\\"fill\\\", \\\"red\\\");\\n | };\\n \\\\*/\\n this[0] = this.node = node;\\n /*\\\\\\n * Element.raphael\\n [ property (object) ]\\n **\\n * Internal reference to @Raphael object. In case it is not available.\\n > Usage\\n | Raphael.el.red = function () {\\n | var hsb = this.paper.raphael.rgb2hsb(this.attr(\\\"fill\\\"));\\n | hsb.h = 1;\\n | this.attr({fill: this.paper.raphael.hsb2rgb(hsb).hex});\\n | }\\n \\\\*/\\n node.raphael = true;\\n /*\\\\\\n * Element.id\\n [ property (number) ]\\n **\\n * Unique id of the element. Especially useful when you want to listen to events of the element,\\n * because all events are fired in format `<module>.<action>.<id>`. Also useful for @Paper.getById method.\\n \\\\*/\\n this.id = R._oid++;\\n node.raphaelid = this.id;\\n this.matrix = R.matrix();\\n this.realPath = null;\\n /*\\\\\\n * Element.paper\\n [ property (object) ]\\n **\\n * Internal reference to “paper” where object drawn. Mainly for use in plugins and element extensions.\\n > Usage\\n | Raphael.el.cross = function () {\\n | this.attr({fill: \\\"red\\\"});\\n | this.paper.path(\\\"M10,10L50,50M50,10L10,50\\\")\\n | .attr({stroke: \\\"red\\\"});\\n | }\\n \\\\*/\\n this.paper = svg;\\n this.attrs = this.attrs || {};\\n this._ = {\\n transform: [],\\n sx: 1,\\n sy: 1,\\n deg: 0,\\n dx: 0,\\n dy: 0,\\n dirty: 1\\n };\\n !svg.bottom && (svg.bottom = this);\\n /*\\\\\\n * Element.prev\\n [ property (object) ]\\n **\\n * Reference to the previous element in the hierarchy.\\n \\\\*/\\n this.prev = svg.top;\\n svg.top && (svg.top.next = this);\\n svg.top = this;\\n /*\\\\\\n * Element.next\\n [ property (object) ]\\n **\\n * Reference to the next element in the hierarchy.\\n \\\\*/\\n this.next = null;\\n },\\n elproto = R.el;\\n\\n Element.prototype = elproto;\\n elproto.constructor = Element;\\n\\n R._engine.path = function (pathString, SVG) {\\n var el = $(\\\"path\\\");\\n SVG.canvas && SVG.canvas.appendChild(el);\\n var p = new Element(el, SVG);\\n p.type = \\\"path\\\";\\n setFillAndStroke(p, {\\n fill: \\\"none\\\",\\n stroke: \\\"#000\\\",\\n path: pathString\\n });\\n return p;\\n };\\n /*\\\\\\n * Element.rotate\\n [ method ]\\n **\\n * Deprecated! Use @Element.transform instead.\\n * Adds rotation by given angle around given point to the list of\\n * transformations of the element.\\n > Parameters\\n - deg (number) angle in degrees\\n - cx (number) #optional x coordinate of the centre of rotation\\n - cy (number) #optional y coordinate of the centre of rotation\\n * If cx & cy aren’t specified centre of the shape is used as a point of rotation.\\n = (object) @Element\\n \\\\*/\\n elproto.rotate = function (deg, cx, cy) {\\n if (this.removed) {\\n return this;\\n }\\n deg = Str(deg).split(separator);\\n if (deg.length - 1) {\\n cx = toFloat(deg[1]);\\n cy = toFloat(deg[2]);\\n }\\n deg = toFloat(deg[0]);\\n (cy == null) && (cx = cy);\\n if (cx == null || cy == null) {\\n var bbox = this.getBBox(1);\\n cx = bbox.x + bbox.width / 2;\\n cy = bbox.y + bbox.height / 2;\\n }\\n this.transform(this._.transform.concat([[\\\"r\\\", deg, cx, cy]]));\\n return this;\\n };\\n /*\\\\\\n * Element.scale\\n [ method ]\\n **\\n * Deprecated! Use @Element.transform instead.\\n * Adds scale by given amount relative to given point to the list of\\n * transformations of the element.\\n > Parameters\\n - sx (number) horisontal scale amount\\n - sy (number) vertical scale amount\\n - cx (number) #optional x coordinate of the centre of scale\\n - cy (number) #optional y coordinate of the centre of scale\\n * If cx & cy aren’t specified centre of the shape is used instead.\\n = (object) @Element\\n \\\\*/\\n elproto.scale = function (sx, sy, cx, cy) {\\n if (this.removed) {\\n return this;\\n }\\n sx = Str(sx).split(separator);\\n if (sx.length - 1) {\\n sy = toFloat(sx[1]);\\n cx = toFloat(sx[2]);\\n cy = toFloat(sx[3]);\\n }\\n sx = toFloat(sx[0]);\\n (sy == null) && (sy = sx);\\n (cy == null) && (cx = cy);\\n if (cx == null || cy == null) {\\n var bbox = this.getBBox(1);\\n }\\n cx = cx == null ? bbox.x + bbox.width / 2 : cx;\\n cy = cy == null ? bbox.y + bbox.height / 2 : cy;\\n this.transform(this._.transform.concat([[\\\"s\\\", sx, sy, cx, cy]]));\\n return this;\\n };\\n /*\\\\\\n * Element.translate\\n [ method ]\\n **\\n * Deprecated! Use @Element.transform instead.\\n * Adds translation by given amount to the list of transformations of the element.\\n > Parameters\\n - dx (number) horisontal shift\\n - dy (number) vertical shift\\n = (object) @Element\\n \\\\*/\\n elproto.translate = function (dx, dy) {\\n if (this.removed) {\\n return this;\\n }\\n dx = Str(dx).split(separator);\\n if (dx.length - 1) {\\n dy = toFloat(dx[1]);\\n }\\n dx = toFloat(dx[0]) || 0;\\n dy = +dy || 0;\\n this.transform(this._.transform.concat([[\\\"t\\\", dx, dy]]));\\n return this;\\n };\\n /*\\\\\\n * Element.transform\\n [ method ]\\n **\\n * Adds transformation to the element which is separate to other attributes,\\n * i.e. translation doesn’t change `x` or `y` of the rectange. The format\\n * of transformation string is similar to the path string syntax:\\n | \\\"t100,100r30,100,100s2,2,100,100r45s1.5\\\"\\n * Each letter is a command. There are four commands: `t` is for translate, `r` is for rotate, `s` is for\\n * scale and `m` is for matrix.\\n *\\n * There are also alternative “absolute” translation, rotation and scale: `T`, `R` and `S`. They will not take previous transformation into account. For example, `...T100,0` will always move element 100 px horisontally, while `...t100,0` could move it vertically if there is `r90` before. Just compare results of `r90t100,0` and `r90T100,0`.\\n *\\n * So, the example line above could be read like “translate by 100, 100; rotate 30° around 100, 100; scale twice around 100, 100;\\n * rotate 45° around centre; scale 1.5 times relative to centre”. As you can see rotate and scale commands have origin\\n * coordinates as optional parameters, the default is the centre point of the element.\\n * Matrix accepts six parameters.\\n > Usage\\n | var el = paper.rect(10, 20, 300, 200);\\n | // translate 100, 100, rotate 45°, translate -100, 0\\n | el.transform(\\\"t100,100r45t-100,0\\\");\\n | // if you want you can append or prepend transformations\\n | el.transform(\\\"...t50,50\\\");\\n | el.transform(\\\"s2...\\\");\\n | // or even wrap\\n | el.transform(\\\"t50,50...t-50-50\\\");\\n | // to reset transformation call method with empty string\\n | el.transform(\\\"\\\");\\n | // to get current value call it without parameters\\n | console.log(el.transform());\\n > Parameters\\n - tstr (string) #optional transformation string\\n * If tstr isn’t specified\\n = (string) current transformation string\\n * else\\n = (object) @Element\\n \\\\*/\\n elproto.transform = function (tstr) {\\n var _ = this._;\\n if (tstr == null) {\\n return _.transform;\\n }\\n R._extractTransform(this, tstr);\\n\\n this.clip && $(this.clip, {transform: this.matrix.invert()});\\n this.pattern && updatePosition(this);\\n this.node && $(this.node, {transform: this.matrix});\\n\\n if (_.sx != 1 || _.sy != 1) {\\n var sw = this.attrs[has](\\\"stroke-width\\\") ? this.attrs[\\\"stroke-width\\\"] : 1;\\n this.attr({\\\"stroke-width\\\": sw});\\n }\\n\\n //Reduce transform string\\n _.transform = this.matrix.toTransformString();\\n\\n return this;\\n };\\n /*\\\\\\n * Element.hide\\n [ method ]\\n **\\n * Makes element invisible. See @Element.show.\\n = (object) @Element\\n \\\\*/\\n elproto.hide = function () {\\n if(!this.removed) this.node.style.display = \\\"none\\\";\\n return this;\\n };\\n /*\\\\\\n * Element.show\\n [ method ]\\n **\\n * Makes element visible. See @Element.hide.\\n = (object) @Element\\n \\\\*/\\n elproto.show = function () {\\n if(!this.removed) this.node.style.display = \\\"\\\";\\n return this;\\n };\\n /*\\\\\\n * Element.remove\\n [ method ]\\n **\\n * Removes element from the paper.\\n \\\\*/\\n elproto.remove = function () {\\n var node = getRealNode(this.node);\\n if (this.removed || !node.parentNode) {\\n return;\\n }\\n var paper = this.paper;\\n paper.__set__ && paper.__set__.exclude(this);\\n eve.unbind(\\\"raphael.*.*.\\\" + this.id);\\n if (this.gradient) {\\n paper.defs.removeChild(this.gradient);\\n }\\n R._tear(this, paper);\\n\\n node.parentNode.removeChild(node);\\n\\n // Remove custom data for element\\n this.removeData();\\n\\n for (var i in this) {\\n this[i] = typeof this[i] == \\\"function\\\" ? R._removedFactory(i) : null;\\n }\\n this.removed = true;\\n };\\n elproto._getBBox = function () {\\n if (this.node.style.display == \\\"none\\\") {\\n this.show();\\n var hide = true;\\n }\\n var canvasHidden = false,\\n containerStyle;\\n if (this.paper.canvas.parentElement) {\\n containerStyle = this.paper.canvas.parentElement.style;\\n } //IE10+ can't find parentElement\\n else if (this.paper.canvas.parentNode) {\\n containerStyle = this.paper.canvas.parentNode.style;\\n }\\n\\n if(containerStyle && containerStyle.display == \\\"none\\\") {\\n canvasHidden = true;\\n containerStyle.display = \\\"\\\";\\n }\\n var bbox = {};\\n try {\\n bbox = this.node.getBBox();\\n } catch(e) {\\n // Firefox 3.0.x, 25.0.1 (probably more versions affected) play badly here - possible fix\\n bbox = {\\n x: this.node.clientLeft,\\n y: this.node.clientTop,\\n width: this.node.clientWidth,\\n height: this.node.clientHeight\\n }\\n } finally {\\n bbox = bbox || {};\\n if(canvasHidden){\\n containerStyle.display = \\\"none\\\";\\n }\\n }\\n hide && this.hide();\\n return bbox;\\n };\\n /*\\\\\\n * Element.attr\\n [ method ]\\n **\\n * Sets the attributes of the element.\\n > Parameters\\n - attrName (string) attribute’s name\\n - value (string) value\\n * or\\n - params (object) object of name/value pairs\\n * or\\n - attrName (string) attribute’s name\\n * or\\n - attrNames (array) in this case method returns array of current values for given attribute names\\n = (object) @Element if attrsName & value or params are passed in.\\n = (...) value of the attribute if only attrsName is passed in.\\n = (array) array of values of the attribute if attrsNames is passed in.\\n = (object) object of attributes if nothing is passed in.\\n > Possible parameters\\n # <p>Please refer to the <a href=\\\"http://www.w3.org/TR/SVG/\\\" title=\\\"The W3C Recommendation for the SVG language describes these properties in detail.\\\">SVG specification</a> for an explanation of these parameters.</p>\\n o arrow-end (string) arrowhead on the end of the path. The format for string is `<type>[-<width>[-<length>]]`. Possible types: `classic`, `block`, `open`, `oval`, `diamond`, `none`, width: `wide`, `narrow`, `medium`, length: `long`, `short`, `midium`.\\n o clip-rect (string) comma or space separated values: x, y, width and height\\n o cursor (string) CSS type of the cursor\\n o cx (number) the x-axis coordinate of the center of the circle, or ellipse\\n o cy (number) the y-axis coordinate of the center of the circle, or ellipse\\n o fill (string) colour, gradient or image\\n o fill-opacity (number)\\n o font (string)\\n o font-family (string)\\n o font-size (number) font size in pixels\\n o font-weight (string)\\n o height (number)\\n o href (string) URL, if specified element behaves as hyperlink\\n o opacity (number)\\n o path (string) SVG path string format\\n o r (number) radius of the circle, ellipse or rounded corner on the rect\\n o rx (number) horisontal radius of the ellipse\\n o ry (number) vertical radius of the ellipse\\n o src (string) image URL, only works for @Element.image element\\n o stroke (string) stroke colour\\n o stroke-dasharray (string) [“”, “none”, “`-`”, “`.`”, “`-.`”, “`-..`”, “`. `”, “`- `”, “`--`”, “`- .`”, “`--.`”, “`--..`”]\\n o stroke-linecap (string) [“`butt`”, “`square`”, “`round`”]\\n o stroke-linejoin (string) [“`bevel`”, “`round`”, “`miter`”]\\n o stroke-miterlimit (number)\\n o stroke-opacity (number)\\n o stroke-width (number) stroke width in pixels, default is '1'\\n o target (string) used with href\\n o text (string) contents of the text element. Use `\\\\n` for multiline text\\n o text-anchor (string) [“`start`”, “`middle`”, “`end`”], default is “`middle`”\\n o title (string) will create tooltip with a given text\\n o transform (string) see @Element.transform\\n o width (number)\\n o x (number)\\n o y (number)\\n > Gradients\\n * Linear gradient format: “`‹angle›-‹colour›[-‹colour›[:‹offset›]]*-‹colour›`”, example: “`90-#fff-#000`” – 90°\\n * gradient from white to black or “`0-#fff-#f00:20-#000`” – 0° gradient from white via red (at 20%) to black.\\n *\\n * radial gradient: “`r[(‹fx›, ‹fy›)]‹colour›[-‹colour›[:‹offset›]]*-‹colour›`”, example: “`r#fff-#000`” –\\n * gradient from white to black or “`r(0.25, 0.75)#fff-#000`” – gradient from white to black with focus point\\n * at 0.25, 0.75. Focus point coordinates are in 0..1 range. Radial gradients can only be applied to circles and ellipses.\\n > Path String\\n # <p>Please refer to <a href=\\\"http://www.w3.org/TR/SVG/paths.html#PathData\\\" title=\\\"Details of a path’s data attribute’s format are described in the SVG specification.\\\">SVG documentation regarding path string</a>. Raphaël fully supports it.</p>\\n > Colour Parsing\\n # <ul>\\n # <li>Colour name (“<code>red</code>”, “<code>green</code>”, “<code>cornflowerblue</code>”, etc)</li>\\n # <li>#••• — shortened HTML colour: (“<code>#000</code>”, “<code>#fc0</code>”, etc)</li>\\n # <li>#•••••• — full length HTML colour: (“<code>#000000</code>”, “<code>#bd2300</code>”)</li>\\n # <li>rgb(•••, •••, •••) — red, green and blue channels’ values: (“<code>rgb(200, 100, 0)</code>”)</li>\\n # <li>rgb(•••%, •••%, •••%) — same as above, but in %: (“<code>rgb(100%, 175%, 0%)</code>”)</li>\\n # <li>rgba(•••, •••, •••, •••) — red, green and blue channels’ values: (“<code>rgba(200, 100, 0, .5)</code>”)</li>\\n # <li>rgba(•••%, •••%, •••%, •••%) — same as above, but in %: (“<code>rgba(100%, 175%, 0%, 50%)</code>”)</li>\\n # <li>hsb(•••, •••, •••) — hue, saturation and brightness values: (“<code>hsb(0.5, 0.25, 1)</code>”)</li>\\n # <li>hsb(•••%, •••%, •••%) — same as above, but in %</li>\\n # <li>hsba(•••, •••, •••, •••) — same as above, but with opacity</li>\\n # <li>hsl(•••, •••, •••) — almost the same as hsb, see <a href=\\\"http://en.wikipedia.org/wiki/HSL_and_HSV\\\" title=\\\"HSL and HSV - Wikipedia, the free encyclopedia\\\">Wikipedia page</a></li>\\n # <li>hsl(•••%, •••%, •••%) — same as above, but in %</li>\\n # <li>hsla(•••, •••, •••, •••) — same as above, but with opacity</li>\\n # <li>Optionally for hsb and hsl you could specify hue as a degree: “<code>hsl(240deg, 1, .5)</code>” or, if you want to go fancy, “<code>hsl(240°, 1, .5)</code>”</li>\\n # </ul>\\n \\\\*/\\n elproto.attr = function (name, value) {\\n if (this.removed) {\\n return this;\\n }\\n if (name == null) {\\n var res = {};\\n for (var a in this.attrs) if (this.attrs[has](a)) {\\n res[a] = this.attrs[a];\\n }\\n res.gradient && res.fill == \\\"none\\\" && (res.fill = res.gradient) && delete res.gradient;\\n res.transform = this._.transform;\\n return res;\\n }\\n if (value == null && R.is(name, \\\"string\\\")) {\\n if (name == \\\"fill\\\" && this.attrs.fill == \\\"none\\\" && this.attrs.gradient) {\\n return this.attrs.gradient;\\n }\\n if (name == \\\"transform\\\") {\\n return this._.transform;\\n }\\n var names = name.split(separator),\\n out = {};\\n for (var i = 0, ii = names.length; i < ii; i++) {\\n name = names[i];\\n if (name in this.attrs) {\\n out[name] = this.attrs[name];\\n } else if (R.is(this.paper.customAttributes[name], \\\"function\\\")) {\\n out[name] = this.paper.customAttributes[name].def;\\n } else {\\n out[name] = R._availableAttrs[name];\\n }\\n }\\n return ii - 1 ? out : out[names[0]];\\n }\\n if (value == null && R.is(name, \\\"array\\\")) {\\n out = {};\\n for (i = 0, ii = name.length; i < ii; i++) {\\n out[name[i]] = this.attr(name[i]);\\n }\\n return out;\\n }\\n if (value != null) {\\n var params = {};\\n params[name] = value;\\n } else if (name != null && R.is(name, \\\"object\\\")) {\\n params = name;\\n }\\n for (var key in params) {\\n eve(\\\"raphael.attr.\\\" + key + \\\".\\\" + this.id, this, params[key]);\\n }\\n for (key in this.paper.customAttributes) if (this.paper.customAttributes[has](key) && params[has](key) && R.is(this.paper.customAttributes[key], \\\"function\\\")) {\\n var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));\\n this.attrs[key] = params[key];\\n for (var subkey in par) if (par[has](subkey)) {\\n params[subkey] = par[subkey];\\n }\\n }\\n setFillAndStroke(this, params);\\n return this;\\n };\\n /*\\\\\\n * Element.toFront\\n [ method ]\\n **\\n * Moves the element so it is the closest to the viewer’s eyes, on top of other elements.\\n = (object) @Element\\n \\\\*/\\n elproto.toFront = function () {\\n if (this.removed) {\\n return this;\\n }\\n var node = getRealNode(this.node);\\n node.parentNode.appendChild(node);\\n var svg = this.paper;\\n svg.top != this && R._tofront(this, svg);\\n return this;\\n };\\n /*\\\\\\n * Element.toBack\\n [ method ]\\n **\\n * Moves the element so it is the furthest from the viewer’s eyes, behind other elements.\\n = (object) @Element\\n \\\\*/\\n elproto.toBack = function () {\\n if (this.removed) {\\n return this;\\n }\\n var node = getRealNode(this.node);\\n var parentNode = node.parentNode;\\n parentNode.insertBefore(node, parentNode.firstChild);\\n R._toback(this, this.paper);\\n var svg = this.paper;\\n return this;\\n };\\n /*\\\\\\n * Element.insertAfter\\n [ method ]\\n **\\n * Inserts current object after the given one.\\n = (object) @Element\\n \\\\*/\\n elproto.insertAfter = function (element) {\\n if (this.removed || !element) {\\n return this;\\n }\\n\\n var node = getRealNode(this.node);\\n var afterNode = getRealNode(element.node || element[element.length - 1].node);\\n if (afterNode.nextSibling) {\\n afterNode.parentNode.insertBefore(node, afterNode.nextSibling);\\n } else {\\n afterNode.parentNode.appendChild(node);\\n }\\n R._insertafter(this, element, this.paper);\\n return this;\\n };\\n /*\\\\\\n * Element.insertBefore\\n [ method ]\\n **\\n * Inserts current object before the given one.\\n = (object) @Element\\n \\\\*/\\n elproto.insertBefore = function (element) {\\n if (this.removed || !element) {\\n return this;\\n }\\n\\n var node = getRealNode(this.node);\\n var beforeNode = getRealNode(element.node || element[0].node);\\n beforeNode.parentNode.insertBefore(node, beforeNode);\\n R._insertbefore(this, element, this.paper);\\n return this;\\n };\\n elproto.blur = function (size) {\\n // Experimental. No Safari support. Use it on your own risk.\\n var t = this;\\n if (+size !== 0) {\\n var fltr = $(\\\"filter\\\"),\\n blur = $(\\\"feGaussianBlur\\\");\\n t.attrs.blur = size;\\n fltr.id = R.createUUID();\\n $(blur, {stdDeviation: +size || 1.5});\\n fltr.appendChild(blur);\\n t.paper.defs.appendChild(fltr);\\n t._blur = fltr;\\n $(t.node, {filter: \\\"url(#\\\" + fltr.id + \\\")\\\"});\\n } else {\\n if (t._blur) {\\n t._blur.parentNode.removeChild(t._blur);\\n delete t._blur;\\n delete t.attrs.blur;\\n }\\n t.node.removeAttribute(\\\"filter\\\");\\n }\\n return t;\\n };\\n R._engine.circle = function (svg, x, y, r) {\\n var el = $(\\\"circle\\\");\\n svg.canvas && svg.canvas.appendChild(el);\\n var res = new Element(el, svg);\\n res.attrs = {cx: x, cy: y, r: r, fill: \\\"none\\\", stroke: \\\"#000\\\"};\\n res.type = \\\"circle\\\";\\n $(el, res.attrs);\\n return res;\\n };\\n R._engine.rect = function (svg, x, y, w, h, r) {\\n var el = $(\\\"rect\\\");\\n svg.canvas && svg.canvas.appendChild(el);\\n var res = new Element(el, svg);\\n res.attrs = {x: x, y: y, width: w, height: h, rx: r || 0, ry: r || 0, fill: \\\"none\\\", stroke: \\\"#000\\\"};\\n res.type = \\\"rect\\\";\\n $(el, res.attrs);\\n return res;\\n };\\n R._engine.ellipse = function (svg, x, y, rx, ry) {\\n var el = $(\\\"ellipse\\\");\\n svg.canvas && svg.canvas.appendChild(el);\\n var res = new Element(el, svg);\\n res.attrs = {cx: x, cy: y, rx: rx, ry: ry, fill: \\\"none\\\", stroke: \\\"#000\\\"};\\n res.type = \\\"ellipse\\\";\\n $(el, res.attrs);\\n return res;\\n };\\n R._engine.image = function (svg, src, x, y, w, h) {\\n var el = $(\\\"image\\\");\\n $(el, {x: x, y: y, width: w, height: h, preserveAspectRatio: \\\"none\\\"});\\n el.setAttributeNS(xlink, \\\"href\\\", src);\\n svg.canvas && svg.canvas.appendChild(el);\\n var res = new Element(el, svg);\\n res.attrs = {x: x, y: y, width: w, height: h, src: src};\\n res.type = \\\"image\\\";\\n return res;\\n };\\n R._engine.text = function (svg, x, y, text) {\\n var el = $(\\\"text\\\");\\n svg.canvas && svg.canvas.appendChild(el);\\n var res = new Element(el, svg);\\n res.attrs = {\\n x: x,\\n y: y,\\n \\\"text-anchor\\\": \\\"middle\\\",\\n text: text,\\n \\\"font-family\\\": R._availableAttrs[\\\"font-family\\\"],\\n \\\"font-size\\\": R._availableAttrs[\\\"font-size\\\"],\\n stroke: \\\"none\\\",\\n fill: \\\"#000\\\"\\n };\\n res.type = \\\"text\\\";\\n setFillAndStroke(res, res.attrs);\\n return res;\\n };\\n R._engine.setSize = function (width, height) {\\n this.width = width || this.width;\\n this.height = height || this.height;\\n this.canvas.setAttribute(\\\"width\\\", this.width);\\n this.canvas.setAttribute(\\\"height\\\", this.height);\\n if (this._viewBox) {\\n this.setViewBox.apply(this, this._viewBox);\\n }\\n return this;\\n };\\n R._engine.create = function () {\\n var con = R._getContainer.apply(0, arguments),\\n container = con && con.container,\\n x = con.x,\\n y = con.y,\\n width = con.width,\\n height = con.height;\\n if (!container) {\\n throw new Error(\\\"SVG container not found.\\\");\\n }\\n var cnvs = $(\\\"svg\\\"),\\n css = \\\"overflow:hidden;\\\",\\n isFloating;\\n x = x || 0;\\n y = y || 0;\\n width = width || 512;\\n height = height || 342;\\n $(cnvs, {\\n height: height,\\n version: 1.1,\\n width: width,\\n xmlns: \\\"http://www.w3.org/2000/svg\\\",\\n \\\"xmlns:xlink\\\": \\\"http://www.w3.org/1999/xlink\\\"\\n });\\n if (container == 1) {\\n cnvs.style.cssText = css + \\\"position:absolute;left:\\\" + x + \\\"px;top:\\\" + y + \\\"px\\\";\\n R._g.doc.body.appendChild(cnvs);\\n isFloating = 1;\\n } else {\\n cnvs.style.cssText = css + \\\"position:relative\\\";\\n if (container.firstChild) {\\n container.insertBefore(cnvs, container.firstChild);\\n } else {\\n container.appendChild(cnvs);\\n }\\n }\\n container = new R._Paper;\\n container.width = width;\\n container.height = height;\\n container.canvas = cnvs;\\n container.clear();\\n container._left = container._top = 0;\\n isFloating && (container.renderfix = function () {});\\n container.renderfix();\\n return container;\\n };\\n R._engine.setViewBox = function (x, y, w, h, fit) {\\n eve(\\\"raphael.setViewBox\\\", this, this._viewBox, [x, y, w, h, fit]);\\n var paperSize = this.getSize(),\\n size = mmax(w / paperSize.width, h / paperSize.height),\\n top = this.top,\\n aspectRatio = fit ? \\\"xMidYMid meet\\\" : \\\"xMinYMin\\\",\\n vb,\\n sw;\\n if (x == null) {\\n if (this._vbSize) {\\n size = 1;\\n }\\n delete this._vbSize;\\n vb = \\\"0 0 \\\" + this.width + S + this.height;\\n } else {\\n this._vbSize = size;\\n vb = x + S + y + S + w + S + h;\\n }\\n $(this.canvas, {\\n viewBox: vb,\\n preserveAspectRatio: aspectRatio\\n });\\n while (size && top) {\\n sw = \\\"stroke-width\\\" in top.attrs ? top.attrs[\\\"stroke-width\\\"] : 1;\\n top.attr({\\\"stroke-width\\\": sw});\\n top._.dirty = 1;\\n top._.dirtyT = 1;\\n top = top.prev;\\n }\\n this._viewBox = [x, y, w, h, !!fit];\\n return this;\\n };\\n /*\\\\\\n * Paper.renderfix\\n [ method ]\\n **\\n * Fixes the issue of Firefox and IE9 regarding subpixel rendering. If paper is dependant\\n * on other elements after reflow it could shift half pixel which cause for lines to lost their crispness.\\n * This method fixes the issue.\\n **\\n Special thanks to Mariusz Nowak (http://www.medikoo.com/) for this method.\\n \\\\*/\\n R.prototype.renderfix = function () {\\n var cnvs = this.canvas,\\n s = cnvs.style,\\n pos;\\n try {\\n pos = cnvs.getScreenCTM() || cnvs.createSVGMatrix();\\n } catch (e) {\\n pos = cnvs.createSVGMatrix();\\n }\\n var left = -pos.e % 1,\\n top = -pos.f % 1;\\n if (left || top) {\\n if (left) {\\n this._left = (this._left + left) % 1;\\n s.left = this._left + \\\"px\\\";\\n }\\n if (top) {\\n this._top = (this._top + top) % 1;\\n s.top = this._top + \\\"px\\\";\\n }\\n }\\n };\\n /*\\\\\\n * Paper.clear\\n [ method ]\\n **\\n * Clears the paper, i.e. removes all the elements.\\n \\\\*/\\n R.prototype.clear = function () {\\n R.eve(\\\"raphael.clear\\\", this);\\n var c = this.canvas;\\n while (c.firstChild) {\\n c.removeChild(c.firstChild);\\n }\\n this.bottom = this.top = null;\\n (this.desc = $(\\\"desc\\\")).appendChild(R._g.doc.createTextNode(\\\"Created with Rapha\\\\xebl \\\" + R.version));\\n c.appendChild(this.desc);\\n c.appendChild(this.defs = $(\\\"defs\\\"));\\n };\\n /*\\\\\\n * Paper.remove\\n [ method ]\\n **\\n * Removes the paper from the DOM.\\n \\\\*/\\n R.prototype.remove = function () {\\n eve(\\\"raphael.remove\\\", this);\\n this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas);\\n for (var i in this) {\\n this[i] = typeof this[i] == \\\"function\\\" ? R._removedFactory(i) : null;\\n }\\n };\\n var setproto = R.st;\\n for (var method in elproto) if (elproto[has](method) && !setproto[has](method)) {\\n setproto[method] = (function (methodname) {\\n return function () {\\n var arg = arguments;\\n return this.forEach(function (el) {\\n el[methodname].apply(el, arg);\\n });\\n };\\n })(method);\\n }\\n}));\\n\\n// ┌─────────────────────────────────────────────────────────────────────┐ \\\\\\\\\\n// │ Raphaël 2.1.4 - JavaScript Vector Library │ \\\\\\\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\\\\\\n// │ VML Module │ \\\\\\\\\\n// ├─────────────────────────────────────────────────────────────────────┤ \\\\\\\\\\n// │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\\\\\\\\\n// │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\\\\\\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license. │ \\\\\\\\\\n// └─────────────────────────────────────────────────────────────────────┘ \\\\\\\\\\n\\n(function (glob, factory) {\\n if (typeof define === \\\"function\\\" && define.amd) {\\n define(\\\"raphael.vml\\\", [\\\"raphael.core\\\"], function(raphael) {\\n return factory(raphael);\\n });\\n } else if (typeof exports === \\\"object\\\") {\\n factory(require(\\\"./raphael.core\\\"));\\n } else {\\n factory(glob.Raphael);\\n }\\n}(this, function(R) {\\n if (R && !R.vml) {\\n return;\\n }\\n\\n var has = \\\"hasOwnProperty\\\",\\n Str = String,\\n toFloat = parseFloat,\\n math = Math,\\n round = math.round,\\n mmax = math.max,\\n mmin = math.min,\\n abs = math.abs,\\n fillString = \\\"fill\\\",\\n separator = /[, ]+/,\\n eve = R.eve,\\n ms = \\\" progid:DXImageTransform.Microsoft\\\",\\n S = \\\" \\\",\\n E = \\\"\\\",\\n map = {M: \\\"m\\\", L: \\\"l\\\", C: \\\"c\\\", Z: \\\"x\\\", m: \\\"t\\\", l: \\\"r\\\", c: \\\"v\\\", z: \\\"x\\\"},\\n bites = /([clmz]),?([^clmz]*)/gi,\\n blurregexp = / progid:\\\\S+Blur\\\\([^\\\\)]+\\\\)/g,\\n val = /-?[^,\\\\s-]+/g,\\n cssDot = \\\"position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)\\\",\\n zoom = 21600,\\n pathTypes = {path: 1, rect: 1, image: 1},\\n ovalTypes = {circle: 1, ellipse: 1},\\n path2vml = function (path) {\\n var total = /[ahqstv]/ig,\\n command = R._pathToAbsolute;\\n Str(path).match(total) && (command = R._path2curve);\\n total = /[clmz]/g;\\n if (command == R._pathToAbsolute && !Str(path).match(total)) {\\n var res = Str(path).replace(bites, function (all, command, args) {\\n var vals = [],\\n isMove = command.toLowerCase() == \\\"m\\\",\\n res = map[command];\\n args.replace(val, function (value) {\\n if (isMove && vals.length == 2) {\\n res += vals + map[command == \\\"m\\\" ? \\\"l\\\" : \\\"L\\\"];\\n vals = [];\\n }\\n vals.push(round(value * zoom));\\n });\\n return res + vals;\\n });\\n return res;\\n }\\n var pa = command(path), p, r;\\n res = [];\\n for (var i = 0, ii = pa.length; i < ii; i++) {\\n p = pa[i];\\n r = pa[i][0].toLowerCase();\\n r == \\\"z\\\" && (r = \\\"x\\\");\\n for (var j = 1, jj = p.length; j < jj; j++) {\\n r += round(p[j] * zoom) + (j != jj - 1 ? \\\",\\\" : E);\\n }\\n res.push(r);\\n }\\n return res.join(S);\\n },\\n compensation = function (deg, dx, dy) {\\n var m = R.matrix();\\n m.rotate(-deg, .5, .5);\\n return {\\n dx: m.x(dx, dy),\\n dy: m.y(dx, dy)\\n };\\n },\\n setCoords = function (p, sx, sy, dx, dy, deg) {\\n var _ = p._,\\n m = p.matrix,\\n fillpos = _.fillpos,\\n o = p.node,\\n s = o.style,\\n y = 1,\\n flip = \\\"\\\",\\n dxdy,\\n kx = zoom / sx,\\n ky = zoom / sy;\\n s.visibility = \\\"hidden\\\";\\n if (!sx || !sy) {\\n return;\\n }\\n o.coordsize = abs(kx) + S + abs(ky);\\n s.rotation = deg * (sx * sy < 0 ? -1 : 1);\\n if (deg) {\\n var c = compensation(deg, dx, dy);\\n dx = c.dx;\\n dy = c.dy;\\n }\\n sx < 0 && (flip += \\\"x\\\");\\n sy < 0 && (flip += \\\" y\\\") && (y = -1);\\n s.flip = flip;\\n o.coordorigin = (dx * -kx) + S + (dy * -ky);\\n if (fillpos || _.fillsize) {\\n var fill = o.getElementsByTagName(fillString);\\n fill = fill && fill[0];\\n o.removeChild(fill);\\n if (fillpos) {\\n c = compensation(deg, m.x(fillpos[0], fillpos[1]), m.y(fillpos[0], fillpos[1]));\\n fill.position = c.dx * y + S + c.dy * y;\\n }\\n if (_.fillsize) {\\n fill.size = _.fillsize[0] * abs(sx) + S + _.fillsize[1] * abs(sy);\\n }\\n o.appendChild(fill);\\n }\\n s.visibility = \\\"visible\\\";\\n };\\n R.toString = function () {\\n return \\\"Your browser doesn\\\\u2019t support SVG. Falling down to VML.\\\\nYou are running Rapha\\\\xebl \\\" + this.version;\\n };\\n var addArrow = function (o, value, isEnd) {\\n var values = Str(value).toLowerCase().split(\\\"-\\\"),\\n se = isEnd ? \\\"end\\\" : \\\"start\\\",\\n i = values.length,\\n type = \\\"classic\\\",\\n w = \\\"medium\\\",\\n h = \\\"medium\\\";\\n while (i--) {\\n switch (values[i]) {\\n case \\\"block\\\":\\n case \\\"classic\\\":\\n case \\\"oval\\\":\\n case \\\"diamond\\\":\\n case \\\"open\\\":\\n case \\\"none\\\":\\n type = values[i];\\n break;\\n case \\\"wide\\\":\\n case \\\"narrow\\\": h = values[i]; break;\\n case \\\"long\\\":\\n case \\\"short\\\": w = values[i]; break;\\n }\\n }\\n var stroke = o.node.getElementsByTagName(\\\"stroke\\\")[0];\\n stroke[se + \\\"arrow\\\"] = type;\\n stroke[se + \\\"arrowlength\\\"] = w;\\n stroke[se + \\\"arrowwidth\\\"] = h;\\n },\\n setFillAndStroke = function (o, params) {\\n // o.paper.canvas.style.display = \\\"none\\\";\\n o.attrs = o.attrs || {};\\n var node = o.node,\\n a = o.attrs,\\n s = node.style,\\n xy,\\n newpath = pathTypes[o.type] && (params.x != a.x || params.y != a.y || params.width != a.width || params.height != a.height || params.cx != a.cx || params.cy != a.cy || params.rx != a.rx || params.ry != a.ry || params.r != a.r),\\n isOval = ovalTypes[o.type] && (a.cx != params.cx || a.cy != params.cy || a.r != params.r || a.rx != params.rx || a.ry != params.ry),\\n res = o;\\n\\n\\n for (var par in params) if (params[has](par)) {\\n a[par] = params[par];\\n }\\n if (newpath) {\\n a.path = R._getPath[o.type](o);\\n o._.dirty = 1;\\n }\\n params.href && (node.href = params.href);\\n params.title && (node.title = params.title);\\n params.target && (node.target = params.target);\\n params.cursor && (s.cursor = params.cursor);\\n \\\"blur\\\" in params && o.blur(params.blur);\\n if (params.path && o.type == \\\"path\\\" || newpath) {\\n node.path = path2vml(~Str(a.path).toLowerCase().indexOf(\\\"r\\\") ? R._pathToAbsolute(a.path) : a.path);\\n o._.dirty = 1;\\n if (o.type == \\\"image\\\") {\\n o._.fillpos = [a.x, a.y];\\n o._.fillsize = [a.width, a.height];\\n setCoords(o, 1, 1, 0, 0, 0);\\n }\\n }\\n \\\"transform\\\" in params && o.transform(params.transform);\\n if (isOval) {\\n var cx = +a.cx,\\n cy = +a.cy,\\n rx = +a.rx || +a.r || 0,\\n ry = +a.ry || +a.r || 0;\\n node.path = R.format(\\\"ar{0},{1},{2},{3},{4},{1},{4},{1}x\\\", round((cx - rx) * zoom), round((cy - ry) * zoom), round((cx + rx) * zoom), round((cy + ry) * zoom), round(cx * zoom));\\n o._.dirty = 1;\\n }\\n if (\\\"clip-rect\\\" in params) {\\n var rect = Str(params[\\\"clip-rect\\\"]).split(separator);\\n if (rect.length == 4) {\\n rect[2] = +rect[2] + (+rect[0]);\\n rect[3] = +rect[3] + (+rect[1]);\\n var div = node.clipRect || R._g.doc.createElement(\\\"div\\\"),\\n dstyle = div.style;\\n dstyle.clip = R.format(\\\"rect({1}px {2}px {3}px {0}px)\\\", rect);\\n if (!node.clipRect) {\\n dstyle.position = \\\"absolute\\\";\\n dstyle.top = 0;\\n dstyle.left = 0;\\n dstyle.width = o.paper.width + \\\"px\\\";\\n dstyle.height = o.paper.height + \\\"px\\\";\\n node.parentNode.insertBefore(div, node);\\n div.appendChild(node);\\n node.clipRect = div;\\n }\\n }\\n if (!params[\\\"clip-rect\\\"]) {\\n node.clipRect && (node.clipRect.style.clip = \\\"auto\\\");\\n }\\n }\\n if (o.textpath) {\\n var textpathStyle = o.textpath.style;\\n params.font && (textpathStyle.font = params.font);\\n params[\\\"font-family\\\"] && (textpathStyle.fontFamily = '\\\"' + params[\\\"font-family\\\"].split(\\\",\\\")[0].replace(/^['\\\"]+|['\\\"]+$/g, E) + '\\\"');\\n params[\\\"font-size\\\"] && (textpathStyle.fontSize = params[\\\"font-size\\\"]);\\n params[\\\"font-weight\\\"] && (textpathStyle.fontWeight = params[\\\"font-weight\\\"]);\\n params[\\\"font-style\\\"] && (textpathStyle.fontStyle = params[\\\"font-style\\\"]);\\n }\\n if (\\\"arrow-start\\\" in params) {\\n addArrow(res, params[\\\"arrow-start\\\"]);\\n }\\n if (\\\"arrow-end\\\" in params) {\\n addArrow(res, params[\\\"arrow-end\\\"], 1);\\n }\\n if (params.opacity != null ||\\n params[\\\"stroke-width\\\"] != null ||\\n params.fill != null ||\\n params.src != null ||\\n params.stroke != null ||\\n params[\\\"stroke-width\\\"] != null ||\\n params[\\\"stroke-opacity\\\"] != null ||\\n params[\\\"fill-opacity\\\"] != null ||\\n params[\\\"stroke-dasharray\\\"] != null ||\\n params[\\\"stroke-miterlimit\\\"] != null ||\\n params[\\\"stroke-linejoin\\\"] != null ||\\n params[\\\"stroke-linecap\\\"] != null) {\\n var fill = node.getElementsByTagName(fillString),\\n newfill = false;\\n fill = fill && fill[0];\\n !fill && (newfill = fill = createNode(fillString));\\n if (o.type == \\\"image\\\" && params.src) {\\n fill.src = params.src;\\n }\\n params.fill && (fill.on = true);\\n if (fill.on == null || params.fill == \\\"none\\\" || params.fill === null) {\\n fill.on = false;\\n }\\n if (fill.on && params.fill) {\\n var isURL = Str(params.fill).match(R._ISURL);\\n if (isURL) {\\n fill.parentNode == node && node.removeChild(fill);\\n fill.rotate = true;\\n fill.src = isURL[1];\\n fill.type = \\\"tile\\\";\\n var bbox = o.getBBox(1);\\n fill.position = bbox.x + S + bbox.y;\\n o._.fillpos = [bbox.x, bbox.y];\\n\\n R._preload(isURL[1], function () {\\n o._.fillsize = [this.offsetWidth, this.offsetHeight];\\n });\\n } else {\\n fill.color = R.getRGB(params.fill).hex;\\n fill.src = E;\\n fill.type = \\\"solid\\\";\\n if (R.getRGB(params.fill).error && (res.type in {circle: 1, ellipse: 1} || Str(params.fill).charAt() != \\\"r\\\") && addGradientFill(res, params.fill, fill)) {\\n a.fill = \\\"none\\\";\\n a.gradient = params.fill;\\n fill.rotate = false;\\n }\\n }\\n }\\n if (\\\"fill-opacity\\\" in params || \\\"opacity\\\" in params) {\\n var opacity = ((+a[\\\"fill-opacity\\\"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+R.getRGB(params.fill).o + 1 || 2) - 1);\\n opacity = mmin(mmax(opacity, 0), 1);\\n fill.opacity = opacity;\\n if (fill.src) {\\n fill.color = \\\"none\\\";\\n }\\n }\\n node.appendChild(fill);\\n var stroke = (node.getElementsByTagName(\\\"stroke\\\") && node.getElementsByTagName(\\\"stroke\\\")[0]),\\n newstroke = false;\\n !stroke && (newstroke = stroke = createNode(\\\"stroke\\\"));\\n if ((params.stroke && params.stroke != \\\"none\\\") ||\\n params[\\\"stroke-width\\\"] ||\\n params[\\\"stroke-opacity\\\"] != null ||\\n params[\\\"stroke-dasharray\\\"] ||\\n params[\\\"stroke-miterlimit\\\"] ||\\n params[\\\"stroke-linejoin\\\"] ||\\n params[\\\"stroke-linecap\\\"]) {\\n stroke.on = true;\\n }\\n (params.stroke == \\\"none\\\" || params.stroke === null || stroke.on == null || params.stroke == 0 || params[\\\"stroke-width\\\"] == 0) && (stroke.on = false);\\n var strokeColor = R.getRGB(params.stroke);\\n stroke.on && params.stroke && (stroke.color = strokeColor.hex);\\n opacity = ((+a[\\\"stroke-opacity\\\"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+strokeColor.o + 1 || 2) - 1);\\n var width = (toFloat(params[\\\"stroke-width\\\"]) || 1) * .75;\\n opacity = mmin(mmax(opacity, 0), 1);\\n params[\\\"stroke-width\\\"] == null && (width = a[\\\"stroke-width\\\"]);\\n params[\\\"stroke-width\\\"] && (stroke.weight = width);\\n width && width < 1 && (opacity *= width) && (stroke.weight = 1);\\n stroke.opacity = opacity;\\n\\n params[\\\"stroke-linejoin\\\"] && (stroke.joinstyle = params[\\\"stroke-linejoin\\\"] || \\\"miter\\\");\\n stroke.miterlimit = params[\\\"stroke-miterlimit\\\"] || 8;\\n params[\\\"stroke-linecap\\\"] && (stroke.endcap = params[\\\"stroke-linecap\\\"] == \\\"butt\\\" ? \\\"flat\\\" : params[\\\"stroke-linecap\\\"] == \\\"square\\\" ? \\\"square\\\" : \\\"round\\\");\\n if (\\\"stroke-dasharray\\\" in params) {\\n var dasharray = {\\n \\\"-\\\": \\\"shortdash\\\",\\n \\\".\\\": \\\"shortdot\\\",\\n \\\"-.\\\": \\\"shortdashdot\\\",\\n \\\"-..\\\": \\\"shortdashdotdot\\\",\\n \\\". \\\": \\\"dot\\\",\\n \\\"- \\\": \\\"dash\\\",\\n \\\"--\\\": \\\"longdash\\\",\\n \\\"- .\\\": \\\"dashdot\\\",\\n \\\"--.\\\": \\\"longdashdot\\\",\\n \\\"--..\\\": \\\"longdashdotdot\\\"\\n };\\n stroke.dashstyle = dasharray[has](params[\\\"stroke-dasharray\\\"]) ? dasharray[params[\\\"stroke-dasharray\\\"]] : E;\\n }\\n newstroke && node.appendChild(stroke);\\n }\\n if (res.type == \\\"text\\\") {\\n res.paper.canvas.style.display = E;\\n var span = res.paper.span,\\n m = 100,\\n fontSize = a.font && a.font.match(/\\\\d+(?:\\\\.\\\\d*)?(?=px)/);\\n s = span.style;\\n a.font && (s.font = a.font);\\n a[\\\"font-family\\\"] && (s.fontFamily = a[\\\"font-family\\\"]);\\n a[\\\"font-weight\\\"] && (s.fontWeight = a[\\\"font-weight\\\"]);\\n a[\\\"font-style\\\"] && (s.fontStyle = a[\\\"font-style\\\"]);\\n fontSize = toFloat(a[\\\"font-size\\\"] || fontSize && fontSize[0]) || 10;\\n s.fontSize = fontSize * m + \\\"px\\\";\\n res.textpath.string && (span.innerHTML = Str(res.textpath.string).replace(/</g, \\\"<\\\").replace(/&/g, \\\"&\\\").replace(/\\\\n/g, \\\"<br>\\\"));\\n var brect = span.getBoundingClientRect();\\n res.W = a.w = (brect.right - brect.left) / m;\\n res.H = a.h = (brect.bottom - brect.top) / m;\\n // res.paper.canvas.style.display = \\\"none\\\";\\n res.X = a.x;\\n res.Y = a.y + res.H / 2;\\n\\n (\\\"x\\\" in params || \\\"y\\\" in params) && (res.path.v = R.format(\\\"m{0},{1}l{2},{1}\\\", round(a.x * zoom), round(a.y * zoom), round(a.x * zoom) + 1));\\n var dirtyattrs = [\\\"x\\\", \\\"y\\\", \\\"text\\\", \\\"font\\\", \\\"font-family\\\", \\\"font-weight\\\", \\\"font-style\\\", \\\"font-size\\\"];\\n for (var d = 0, dd = dirtyattrs.length; d < dd; d++) if (dirtyattrs[d] in params) {\\n res._.dirty = 1;\\n break;\\n }\\n\\n // text-anchor emulation\\n switch (a[\\\"text-anchor\\\"]) {\\n case \\\"start\\\":\\n res.textpath.style[\\\"v-text-align\\\"] = \\\"left\\\";\\n res.bbx = res.W / 2;\\n break;\\n case \\\"end\\\":\\n res.textpath.style[\\\"v-text-align\\\"] = \\\"right\\\";\\n res.bbx = -res.W / 2;\\n break;\\n default:\\n res.textpath.style[\\\"v-text-align\\\"] = \\\"center\\\";\\n res.bbx = 0;\\n break;\\n }\\n res.textpath.style[\\\"v-text-kern\\\"] = true;\\n }\\n // res.paper.canvas.style.display = E;\\n },\\n addGradientFill = function (o, gradient, fill) {\\n o.attrs = o.attrs || {};\\n var attrs = o.attrs,\\n pow = Math.pow,\\n opacity,\\n oindex,\\n type = \\\"linear\\\",\\n fxfy = \\\".5 .5\\\";\\n o.attrs.gradient = gradient;\\n gradient = Str(gradient).replace(R._radial_gradient, function (all, fx, fy) {\\n type = \\\"radial\\\";\\n if (fx && fy) {\\n fx = toFloat(fx);\\n fy = toFloat(fy);\\n pow(fx - .5, 2) + pow(fy - .5, 2) > .25 && (fy = math.sqrt(.25 - pow(fx - .5, 2)) * ((fy > .5) * 2 - 1) + .5);\\n fxfy = fx + S + fy;\\n }\\n return E;\\n });\\n gradient = gradient.split(/\\\\s*\\\\-\\\\s*/);\\n if (type == \\\"linear\\\") {\\n var angle = gradient.shift();\\n angle = -toFloat(angle);\\n if (isNaN(angle)) {\\n return null;\\n }\\n }\\n var dots = R._parseDots(gradient);\\n if (!dots) {\\n return null;\\n }\\n o = o.shape || o.node;\\n if (dots.length) {\\n o.removeChild(fill);\\n fill.on = true;\\n fill.method = \\\"none\\\";\\n fill.color = dots[0].color;\\n fill.color2 = dots[dots.length - 1].color;\\n var clrs = [];\\n for (var i = 0, ii = dots.length; i < ii; i++) {\\n dots[i].offset && clrs.push(dots[i].offset + S + dots[i].color);\\n }\\n fill.colors = clrs.length ? clrs.join() : \\\"0% \\\" + fill.color;\\n if (type == \\\"radial\\\") {\\n fill.type = \\\"gradientTitle\\\";\\n fill.focus = \\\"100%\\\";\\n fill.focussize = \\\"0 0\\\";\\n fill.focusposition = fxfy;\\n fill.angle = 0;\\n } else {\\n // fill.rotate= true;\\n fill.type = \\\"gradient\\\";\\n fill.angle = (270 - angle) % 360;\\n }\\n o.appendChild(fill);\\n }\\n return 1;\\n },\\n Element = function (node, vml) {\\n this[0] = this.node = node;\\n node.raphael = true;\\n this.id = R._oid++;\\n node.raphaelid = this.id;\\n this.X = 0;\\n this.Y = 0;\\n this.attrs = {};\\n this.paper = vml;\\n this.matrix = R.matrix();\\n this._ = {\\n transform: [],\\n sx: 1,\\n sy: 1,\\n dx: 0,\\n dy: 0,\\n deg: 0,\\n dirty: 1,\\n dirtyT: 1\\n };\\n !vml.bottom && (vml.bottom = this);\\n this.prev = vml.top;\\n vml.top && (vml.top.next = this);\\n vml.top = this;\\n this.next = null;\\n };\\n var elproto = R.el;\\n\\n Element.prototype = elproto;\\n elproto.constructor = Element;\\n elproto.transform = function (tstr) {\\n if (tstr == null) {\\n return this._.transform;\\n }\\n var vbs = this.paper._viewBoxShift,\\n vbt = vbs ? \\\"s\\\" + [vbs.scale, vbs.scale] + \\\"-1-1t\\\" + [vbs.dx, vbs.dy] : E,\\n oldt;\\n if (vbs) {\\n oldt = tstr = Str(tstr).replace(/\\\\.{3}|\\\\u2026/g, this._.transform || E);\\n }\\n R._extractTransform(this, vbt + tstr);\\n var matrix = this.matrix.clone(),\\n skew = this.skew,\\n o = this.node,\\n split,\\n isGrad = ~Str(this.attrs.fill).indexOf(\\\"-\\\"),\\n isPatt = !Str(this.attrs.fill).indexOf(\\\"url(\\\");\\n matrix.translate(1, 1);\\n if (isPatt || isGrad || this.type == \\\"image\\\") {\\n skew.matrix = \\\"1 0 0 1\\\";\\n skew.offset = \\\"0 0\\\";\\n split = matrix.split();\\n if ((isGrad && split.noRotation) || !split.isSimple) {\\n o.style.filter = matrix.toFilter();\\n var bb = this.getBBox(),\\n bbt = this.getBBox(1),\\n dx = bb.x - bbt.x,\\n dy = bb.y - bbt.y;\\n o.coordorigin = (dx * -zoom) + S + (dy * -zoom);\\n setCoords(this, 1, 1, dx, dy, 0);\\n } else {\\n o.style.filter = E;\\n setCoords(this, split.scalex, split.scaley, split.dx, split.dy, split.rotate);\\n }\\n } else {\\n o.style.filter = E;\\n skew.matrix = Str(matrix);\\n skew.offset = matrix.offset();\\n }\\n if (oldt !== null) { // empty string value is true as well\\n this._.transform = oldt;\\n R._extractTransform(this, oldt);\\n }\\n return this;\\n };\\n elproto.rotate = function (deg, cx, cy) {\\n if (this.removed) {\\n return this;\\n }\\n if (deg == null) {\\n return;\\n }\\n deg = Str(deg).split(separator);\\n if (deg.length - 1) {\\n cx = toFloat(deg[1]);\\n cy = toFloat(deg[2]);\\n }\\n deg = toFloat(deg[0]);\\n (cy == null) && (cx = cy);\\n if (cx == null || cy == null) {\\n var bbox = this.getBBox(1);\\n cx = bbox.x + bbox.width / 2;\\n cy = bbox.y + bbox.height / 2;\\n }\\n this._.dirtyT = 1;\\n this.transform(this._.transform.concat([[\\\"r\\\", deg, cx, cy]]));\\n return this;\\n };\\n elproto.translate = function (dx, dy) {\\n if (this.removed) {\\n return this;\\n }\\n dx = Str(dx).split(separator);\\n if (dx.length - 1) {\\n dy = toFloat(dx[1]);\\n }\\n dx = toFloat(dx[0]) || 0;\\n dy = +dy || 0;\\n if (this._.bbox) {\\n this._.bbox.x += dx;\\n this._.bbox.y += dy;\\n }\\n this.transform(this._.transform.concat([[\\\"t\\\", dx, dy]]));\\n return this;\\n };\\n elproto.scale = function (sx, sy, cx, cy) {\\n if (this.removed) {\\n return this;\\n }\\n sx = Str(sx).split(separator);\\n if (sx.length - 1) {\\n sy = toFloat(sx[1]);\\n cx = toFloat(sx[2]);\\n cy = toFloat(sx[3]);\\n isNaN(cx) && (cx = null);\\n isNaN(cy) && (cy = null);\\n }\\n sx = toFloat(sx[0]);\\n (sy == null) && (sy = sx);\\n (cy == null) && (cx = cy);\\n if (cx == null || cy == null) {\\n var bbox = this.getBBox(1);\\n }\\n cx = cx == null ? bbox.x + bbox.width / 2 : cx;\\n cy = cy == null ? bbox.y + bbox.height / 2 : cy;\\n\\n this.transform(this._.transform.concat([[\\\"s\\\", sx, sy, cx, cy]]));\\n this._.dirtyT = 1;\\n return this;\\n };\\n elproto.hide = function () {\\n !this.removed && (this.node.style.display = \\\"none\\\");\\n return this;\\n };\\n elproto.show = function () {\\n !this.removed && (this.node.style.display = E);\\n return this;\\n };\\n // Needed to fix the vml setViewBox issues\\n elproto.auxGetBBox = R.el.getBBox;\\n elproto.getBBox = function(){\\n var b = this.auxGetBBox();\\n if (this.paper && this.paper._viewBoxShift)\\n {\\n var c = {};\\n var z = 1/this.paper._viewBoxShift.scale;\\n c.x = b.x - this.paper._viewBoxShift.dx;\\n c.x *= z;\\n c.y = b.y - this.paper._viewBoxShift.dy;\\n c.y *= z;\\n c.width = b.width * z;\\n c.height = b.height * z;\\n c.x2 = c.x + c.width;\\n c.y2 = c.y + c.height;\\n return c;\\n }\\n return b;\\n };\\n elproto._getBBox = function () {\\n if (this.removed) {\\n return {};\\n }\\n return {\\n x: this.X + (this.bbx || 0) - this.W / 2,\\n y: this.Y - this.H,\\n width: this.W,\\n height: this.H\\n };\\n };\\n elproto.remove = function () {\\n if (this.removed || !this.node.parentNode) {\\n return;\\n }\\n this.paper.__set__ && this.paper.__set__.exclude(this);\\n R.eve.unbind(\\\"raphael.*.*.\\\" + this.id);\\n R._tear(this, this.paper);\\n this.node.parentNode.removeChild(this.node);\\n this.shape && this.shape.parentNode.removeChild(this.shape);\\n for (var i in this) {\\n this[i] = typeof this[i] == \\\"function\\\" ? R._removedFactory(i) : null;\\n }\\n this.removed = true;\\n };\\n elproto.attr = function (name, value) {\\n if (this.removed) {\\n return this;\\n }\\n if (name == null) {\\n var res = {};\\n for (var a in this.attrs) if (this.attrs[has](a)) {\\n res[a] = this.attrs[a];\\n }\\n res.gradient && res.fill == \\\"none\\\" && (res.fill = res.gradient) && delete res.gradient;\\n res.transform = this._.transform;\\n return res;\\n }\\n if (value == null && R.is(name, \\\"string\\\")) {\\n if (name == fillString && this.attrs.fill == \\\"none\\\" && this.attrs.gradient) {\\n return this.attrs.gradient;\\n }\\n var names = name.split(separator),\\n out = {};\\n for (var i = 0, ii = names.length; i < ii; i++) {\\n name = names[i];\\n if (name in this.attrs) {\\n out[name] = this.attrs[name];\\n } else if (R.is(this.paper.customAttributes[name], \\\"function\\\")) {\\n out[name] = this.paper.customAttributes[name].def;\\n } else {\\n out[name] = R._availableAttrs[name];\\n }\\n }\\n return ii - 1 ? out : out[names[0]];\\n }\\n if (this.attrs && value == null && R.is(name, \\\"array\\\")) {\\n out = {};\\n for (i = 0, ii = name.length; i < ii; i++) {\\n out[name[i]] = this.attr(name[i]);\\n }\\n return out;\\n }\\n var params;\\n if (value != null) {\\n params = {};\\n params[name] = value;\\n }\\n value == null && R.is(name, \\\"object\\\") && (params = name);\\n for (var key in params) {\\n eve(\\\"raphael.attr.\\\" + key + \\\".\\\" + this.id, this, params[key]);\\n }\\n if (params) {\\n for (key in this.paper.customAttributes) if (this.paper.customAttributes[has](key) && params[has](key) && R.is(this.paper.customAttributes[key], \\\"function\\\")) {\\n var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));\\n this.attrs[key] = params[key];\\n for (var subkey in par) if (par[has](subkey)) {\\n params[subkey] = par[subkey];\\n }\\n }\\n // this.paper.canvas.style.display = \\\"none\\\";\\n if (params.text && this.type == \\\"text\\\") {\\n this.textpath.string = params.text;\\n }\\n setFillAndStroke(this, params);\\n // this.paper.canvas.style.display = E;\\n }\\n return this;\\n };\\n elproto.toFront = function () {\\n !this.removed && this.node.parentNode.appendChild(this.node);\\n this.paper && this.paper.top != this && R._tofront(this, this.paper);\\n return this;\\n };\\n elproto.toBack = function () {\\n if (this.removed) {\\n return this;\\n }\\n if (this.node.parentNode.firstChild != this.node) {\\n this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild);\\n R._toback(this, this.paper);\\n }\\n return this;\\n };\\n elproto.insertAfter = function (element) {\\n if (this.removed) {\\n return this;\\n }\\n if (element.constructor == R.st.constructor) {\\n element = element[element.length - 1];\\n }\\n if (element.node.nextSibling) {\\n element.node.parentNode.insertBefore(this.node, element.node.nextSibling);\\n } else {\\n element.node.parentNode.appendChild(this.node);\\n }\\n R._insertafter(this, element, this.paper);\\n return this;\\n };\\n elproto.insertBefore = function (element) {\\n if (this.removed) {\\n return this;\\n }\\n if (element.constructor == R.st.constructor) {\\n element = element[0];\\n }\\n element.node.parentNode.insertBefore(this.node, element.node);\\n R._insertbefore(this, element, this.paper);\\n return this;\\n };\\n elproto.blur = function (size) {\\n var s = this.node.runtimeStyle,\\n f = s.filter;\\n f = f.replace(blurregexp, E);\\n if (+size !== 0) {\\n this.attrs.blur = size;\\n s.filter = f + S + ms + \\\".Blur(pixelradius=\\\" + (+size || 1.5) + \\\")\\\";\\n s.margin = R.format(\\\"-{0}px 0 0 -{0}px\\\", round(+size || 1.5));\\n } else {\\n s.filter = f;\\n s.margin = 0;\\n delete this.attrs.blur;\\n }\\n return this;\\n };\\n\\n R._engine.path = function (pathString, vml) {\\n var el = createNode(\\\"shape\\\");\\n el.style.cssText = cssDot;\\n el.coordsize = zoom + S + zoom;\\n el.coordorigin = vml.coordorigin;\\n var p = new Element(el, vml),\\n attr = {fill: \\\"none\\\", stroke: \\\"#000\\\"};\\n pathString && (attr.path = pathString);\\n p.type = \\\"path\\\";\\n p.path = [];\\n p.Path = E;\\n setFillAndStroke(p, attr);\\n vml.canvas.appendChild(el);\\n var skew = createNode(\\\"skew\\\");\\n skew.on = true;\\n el.appendChild(skew);\\n p.skew = skew;\\n p.transform(E);\\n return p;\\n };\\n R._engine.rect = function (vml, x, y, w, h, r) {\\n var path = R._rectPath(x, y, w, h, r),\\n res = vml.path(path),\\n a = res.attrs;\\n res.X = a.x = x;\\n res.Y = a.y = y;\\n res.W = a.width = w;\\n res.H = a.height = h;\\n a.r = r;\\n a.path = path;\\n res.type = \\\"rect\\\";\\n return res;\\n };\\n R._engine.ellipse = function (vml, x, y, rx, ry) {\\n var res = vml.path(),\\n a = res.attrs;\\n res.X = x - rx;\\n res.Y = y - ry;\\n res.W = rx * 2;\\n res.H = ry * 2;\\n res.type = \\\"ellipse\\\";\\n setFillAndStroke(res, {\\n cx: x,\\n cy: y,\\n rx: rx,\\n ry: ry\\n });\\n return res;\\n };\\n R._engine.circle = function (vml, x, y, r) {\\n var res = vml.path(),\\n a = res.attrs;\\n res.X = x - r;\\n res.Y = y - r;\\n res.W = res.H = r * 2;\\n res.type = \\\"circle\\\";\\n setFillAndStroke(res, {\\n cx: x,\\n cy: y,\\n r: r\\n });\\n return res;\\n };\\n R._engine.image = function (vml, src, x, y, w, h) {\\n var path = R._rectPath(x, y, w, h),\\n res = vml.path(path).attr({stroke: \\\"none\\\"}),\\n a = res.attrs,\\n node = res.node,\\n fill = node.getElementsByTagName(fillString)[0];\\n a.src = src;\\n res.X = a.x = x;\\n res.Y = a.y = y;\\n res.W = a.width = w;\\n res.H = a.height = h;\\n a.path = path;\\n res.type = \\\"image\\\";\\n fill.parentNode == node && node.removeChild(fill);\\n fill.rotate = true;\\n fill.src = src;\\n fill.type = \\\"tile\\\";\\n res._.fillpos = [x, y];\\n res._.fillsize = [w, h];\\n node.appendChild(fill);\\n setCoords(res, 1, 1, 0, 0, 0);\\n return res;\\n };\\n R._engine.text = function (vml, x, y, text) {\\n var el = createNode(\\\"shape\\\"),\\n path = createNode(\\\"path\\\"),\\n o = createNode(\\\"textpath\\\");\\n x = x || 0;\\n y = y || 0;\\n text = text || \\\"\\\";\\n path.v = R.format(\\\"m{0},{1}l{2},{1}\\\", round(x * zoom), round(y * zoom), round(x * zoom) + 1);\\n path.textpathok = true;\\n o.string = Str(text);\\n o.on = true;\\n el.style.cssText = cssDot;\\n el.coordsize = zoom + S + zoom;\\n el.coordorigin = \\\"0 0\\\";\\n var p = new Element(el, vml),\\n attr = {\\n fill: \\\"#000\\\",\\n stroke: \\\"none\\\",\\n font: R._availableAttrs.font,\\n text: text\\n };\\n p.shape = el;\\n p.path = path;\\n p.textpath = o;\\n p.type = \\\"text\\\";\\n p.attrs.text = Str(text);\\n p.attrs.x = x;\\n p.attrs.y = y;\\n p.attrs.w = 1;\\n p.attrs.h = 1;\\n setFillAndStroke(p, attr);\\n el.appendChild(o);\\n el.appendChild(path);\\n vml.canvas.appendChild(el);\\n var skew = createNode(\\\"skew\\\");\\n skew.on = true;\\n el.appendChild(skew);\\n p.skew = skew;\\n p.transform(E);\\n return p;\\n };\\n R._engine.setSize = function (width, height) {\\n var cs = this.canvas.style;\\n this.width = width;\\n this.height = height;\\n width == +width && (width += \\\"px\\\");\\n height == +height && (height += \\\"px\\\");\\n cs.width = width;\\n cs.height = height;\\n cs.clip = \\\"rect(0 \\\" + width + \\\" \\\" + height + \\\" 0)\\\";\\n if (this._viewBox) {\\n R._engine.setViewBox.apply(this, this._viewBox);\\n }\\n return this;\\n };\\n R._engine.setViewBox = function (x, y, w, h, fit) {\\n R.eve(\\\"raphael.setViewBox\\\", this, this._viewBox, [x, y, w, h, fit]);\\n var paperSize = this.getSize(),\\n width = paperSize.width,\\n height = paperSize.height,\\n H, W;\\n if (fit) {\\n H = height / h;\\n W = width / w;\\n if (w * H < width) {\\n x -= (width - w * H) / 2 / H;\\n }\\n if (h * W < height) {\\n y -= (height - h * W) / 2 / W;\\n }\\n }\\n this._viewBox = [x, y, w, h, !!fit];\\n this._viewBoxShift = {\\n dx: -x,\\n dy: -y,\\n scale: paperSize\\n };\\n this.forEach(function (el) {\\n el.transform(\\\"...\\\");\\n });\\n return this;\\n };\\n var createNode;\\n R._engine.initWin = function (win) {\\n var doc = win.document;\\n if (doc.styleSheets.length < 31) {\\n doc.createStyleSheet().addRule(\\\".rvml\\\", \\\"behavior:url(#default#VML)\\\");\\n } else {\\n // no more room, add to the existing one\\n // http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx\\n doc.styleSheets[0].addRule(\\\".rvml\\\", \\\"behavior:url(#default#VML)\\\");\\n }\\n try {\\n !doc.namespaces.rvml && doc.namespaces.add(\\\"rvml\\\", \\\"urn:schemas-microsoft-com:vml\\\");\\n createNode = function (tagName) {\\n return doc.createElement('<rvml:' + tagName + ' class=\\\"rvml\\\">');\\n };\\n } catch (e) {\\n createNode = function (tagName) {\\n return doc.createElement('<' + tagName + ' xmlns=\\\"urn:schemas-microsoft.com:vml\\\" class=\\\"rvml\\\">');\\n };\\n }\\n };\\n R._engine.initWin(R._g.win);\\n R._engine.create = function () {\\n var con = R._getContainer.apply(0, arguments),\\n container = con.container,\\n height = con.height,\\n s,\\n width = con.width,\\n x = con.x,\\n y = con.y;\\n if (!container) {\\n throw new Error(\\\"VML container not found.\\\");\\n }\\n var res = new R._Paper,\\n c = res.canvas = R._g.doc.createElement(\\\"div\\\"),\\n cs = c.style;\\n x = x || 0;\\n y = y || 0;\\n width = width || 512;\\n height = height || 342;\\n res.width = width;\\n res.height = height;\\n width == +width && (width += \\\"px\\\");\\n height == +height && (height += \\\"px\\\");\\n res.coordsize = zoom * 1e3 + S + zoom * 1e3;\\n res.coordorigin = \\\"0 0\\\";\\n res.span = R._g.doc.createElement(\\\"span\\\");\\n res.span.style.cssText = \\\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;\\\";\\n c.appendChild(res.span);\\n cs.cssText = R.format(\\\"top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden\\\", width, height);\\n if (container == 1) {\\n R._g.doc.body.appendChild(c);\\n cs.left = x + \\\"px\\\";\\n cs.top = y + \\\"px\\\";\\n cs.position = \\\"absolute\\\";\\n } else {\\n if (container.firstChild) {\\n container.insertBefore(c, container.firstChild);\\n } else {\\n container.appendChild(c);\\n }\\n }\\n res.renderfix = function () {};\\n return res;\\n };\\n R.prototype.clear = function () {\\n R.eve(\\\"raphael.clear\\\", this);\\n this.canvas.innerHTML = E;\\n this.span = R._g.doc.createElement(\\\"span\\\");\\n this.span.style.cssText = \\\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;\\\";\\n this.canvas.appendChild(this.span);\\n this.bottom = this.top = null;\\n };\\n R.prototype.remove = function () {\\n R.eve(\\\"raphael.remove\\\", this);\\n this.canvas.parentNode.removeChild(this.canvas);\\n for (var i in this) {\\n this[i] = typeof this[i] == \\\"function\\\" ? R._removedFactory(i) : null;\\n }\\n return true;\\n };\\n\\n var setproto = R.st;\\n for (var method in elproto) if (elproto[has](method) && !setproto[has](method)) {\\n setproto[method] = (function (methodname) {\\n return function () {\\n var arg = arguments;\\n return this.forEach(function (el) {\\n el[methodname].apply(el, arg);\\n });\\n };\\n })(method);\\n }\\n}));\\n\\n// ┌────────────────────────────────────────────────────────────────────┐ \\\\\\\\\\n// │ Raphaël @VERSION - JavaScript Vector Library │ \\\\\\\\\\n// ├────────────────────────────────────────────────────────────────────┤ \\\\\\\\\\n// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\\\\\\\\\n// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\\\\\\\\\n// ├────────────────────────────────────────────────────────────────────┤ \\\\\\\\\\n// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\\\\\\\\\n// └────────────────────────────────────────────────────────────────────┘ \\\\\\\\\\n\\n(function (glob, factory) {\\n if (typeof define === \\\"function\\\" && define.amd) {\\n define(\\\"raphael\\\", [\\\"raphael.core\\\", \\\"raphael.svg\\\", \\\"raphael.vml\\\"], function(Raphael) {\\n return (glob.Raphael = factory(Raphael));\\n });\\n } else if (typeof exports === \\\"object\\\") {\\n var raphael = require(\\\"raphael.core\\\");\\n\\n require(\\\"raphael.svg\\\");\\n require(\\\"raphael.vml\\\");\\n\\n module.exports = factory(raphael);\\n } else {\\n glob.Raphael = factory(glob.Raphael);\\n }\\n}(this, function (Raphael) {\\n return Raphael.ninja();\\n}));\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/**\\n * FRaphael\\n * \\tAn extension for Raphael.js to make it easier to work with Filter Effects\\n *\\n * Copyright © 2013 Chris Scott <chris.scott@factmint.com>\\n * Delivered with and licensed under the MIT licence\\n *\\n */\\n\\n// Create the global FRaphael object\\n(function(scope) {\\n var\\tversion = \\\"0.0.1\\\",\\n license = \\\"MIT\\\";\\n\\n var\\tns = \\\"http://www.w3.org/2000/svg\\\",\\n idCounter = 0;\\n\\n var FR = {\\n // Object prototype for a filter\\n Filter: function(id) {\\n if (id == undefined) {\\n id = \\\"filter-\\\" + idCounter++;\\n while(FR.filters[id] != undefined) {\\n id = \\\"filter-\\\" + idCounter++;\\n }\\n }\\n\\n if (FR.filters[id] != undefined) {\\n throw \\\"A filter with id \\\" + id + \\\" already exists\\\";\\n }\\n\\n this.element = document.createElementNS(ns, \\\"filter\\\");\\n this.element.setAttribute(\\\"id\\\", id);\\n this.element.setAttribute(\\\"x\\\", \\\"-25%\\\");\\n this.element.setAttribute(\\\"y\\\", \\\"-25%\\\");\\n this.element.setAttribute(\\\"width\\\", \\\"150%\\\");\\n this.element.setAttribute(\\\"height\\\", \\\"150%\\\");\\n\\n this.lastFEResult = null;\\n\\n FR.filters[id] = this;\\n this.id = id;\\n },\\n\\n // Object prototype for an effect\\n FilterEffect: function(type, attributes) {\\n this.element = document.createElementNS(ns, type);\\n for (var key in attributes) {\\n this.element.setAttribute(key, attributes[key]);\\n }\\n },\\n\\n // Return the filter applied to an element or a new filter if none are currently applied\\n getFilter: function(element) {\\n var filterId = element.data(\\\"filterId\\\");\\n var filter = null;\\n\\n if (filterId == undefined) {\\n filterId = \\\"element-filter-\\\" + element.id;\\n filter = element.paper.createFilter(filterId);\\n element.filter(filterId);\\n } else {\\n filter = FR.filters[filterId];\\n }\\n\\n return filter;\\n },\\n\\n // maintain a list of filters by id\\n filters: {}\\n };\\n\\n FR.Filter.prototype = {\\n addEffect: function(type, attributes, children) {\\n var effect = new FR.FilterEffect(type, attributes);\\n\\n if (children) {\\n if (children instanceof Array) {\\n for (var x in children) {\\n if (!children.hasOwnProperty(x)) continue;\\n\\n effect.element.appendChild(children[x].element);\\n }\\n } else {\\n effect.element.appendChild(children.element);\\n }\\n }\\n\\n this.element.appendChild(effect.element);\\n\\n return this;\\n },\\n\\n chainEffect: function(type, attributes, children) {\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n\\n var inId;\\n var outId;\\n if (attributes.in == undefined) {\\n inId = this.getLastResult();\\n } else {\\n inId = attributes.in;\\n }\\n if (attributes.result == undefined) {\\n outId = idCounter++;\\n } else {\\n outId = attributes.result;\\n }\\n\\n this.lastFEResult = outId;\\n\\n attributes.in = inId;\\n attributes.result = outId;\\n\\n this.addEffect(type, attributes, children);\\n\\n return this;\\n },\\n\\n getLastResult: function() {\\n return (this.lastFEResult == undefined) ? \\\"SourceGraphic\\\" : this.lastFEResult;\\n },\\n\\n merge: function(in1, in2, attributes) {\\n var mergeNode1 = new FR.FilterEffect(\\\"feMergeNode\\\", {\\n in: in1\\n });\\n var mergeNode2 = new FR.FilterEffect(\\\"feMergeNode\\\", {\\n in: in2\\n });\\n\\n this.chainEffect(\\\"feMerge\\\", attributes, [mergeNode1, mergeNode2]);\\n\\n return this;\\n },\\n\\n compose: function(in1, in2, operator, attributes) {\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n\\n if (operator == undefined) {\\n operator = \\\"over\\\";\\n }\\n\\n attributes.in = in1;\\n attributes.in2 = in2;\\n attributes.operator = operator;\\n\\n this.chainEffect(\\\"feComposite\\\", attributes);\\n\\n return this;\\n },\\n\\n arithmeticCompose: function(in1, in2, k1, k2, k3, k4) {\\n if (k1 == undefined) {\\n k1 = 0;\\n }\\n if (k2 == undefined) {\\n k2 = 0;\\n }\\n if (k3 == undefined) {\\n k3 = 0;\\n }\\n if (k4 == undefined) {\\n k4 = 0;\\n }\\n\\n this.compose(in1, in2, \\\"arithmetic\\\", {\\n k1: k1,\\n k2: k2,\\n k3: k3,\\n k4: k4\\n });\\n\\n return this;\\n },\\n\\n addBlur: function(stdDeviation, attributes) {\\n if (!stdDeviation) {\\n throw \\\"Standard deviation is required to perform a blur filter\\\";\\n }\\n\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n attributes.stdDeviation = stdDeviation;\\n\\n this.chainEffect(\\\"feGaussianBlur\\\", attributes);\\n\\n return this;\\n },\\n\\n addOffset: function(dx, dy, attributes) {\\n if (dx == undefined | dy == undefined) {\\n throw \\\"dx and dy values are required to perform an offset FE\\\";\\n }\\n\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n attributes.dx = dx;\\n attributes.dy = dy;\\n\\n this.chainEffect(\\\"feOffset\\\", attributes);\\n\\n return this;\\n },\\n\\n addLighting: function(x, y, z, color, type, attributes) {\\n if (x == undefined | y == undefined | z == undefined) {\\n throw \\\"Three co-ordinates are required to create a light source\\\";\\n }\\n\\n var previousResult = this.getLastResult();\\n\\n var id = idCounter++;\\n\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n\\n attributes.result = id;\\n if (color != undefined) {\\n attributes[\\\"lighting-color\\\"] = color;\\n }\\n\\n if (type == undefined || type == \\\"diffuse\\\") {\\n type = \\\"feDiffuseLighting\\\";\\n } else if (type == \\\"specular\\\") {\\n type = \\\"feSpecularLighting\\\";\\n }\\n\\n var lightSource = new FR.FilterEffect(\\\"fePointLight\\\", {\\n x: x,\\n y: y,\\n z: z\\n });\\n\\n this.chainEffect(type, attributes, lightSource).arithmeticCompose(previousResult, id, 3, 0.2, 0, 0);\\n\\n return this;\\n },\\n\\n addShiftToColor: function(color, moveBy, attributes) {\\n if (color == undefined) {\\n throw \\\"A colour string is a required argument to create a colorMatrix\\\";\\n }\\n if (moveBy == undefined) {\\n moveBy = 0.5;\\n }\\n\\n var remainingColor = 1 - moveBy, x = remainingColor;\\n\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n\\n var colorObject = Raphael.color(color);\\n var\\tr = colorObject.r * moveBy / 255,\\n g = colorObject.g * moveBy / 255,\\n b = colorObject.b * moveBy / 255;\\n\\n /**\\n * r'\\tx 0 0 0 r\\t\\tr\\n * g'\\t0 x 0 0 g\\t\\tg\\n * b' =\\t0 0 x 0 b\\t.\\tb\\n * a'\\t0 0 0 1 0\\t\\to\\n * 1\\t\\t\\t\\t\\t1\\n */\\n attributes.values = x + \\\" 0 0 0 \\\" + r + \\\" 0 \\\" + x + \\\" 0 0 \\\" + g + \\\" 0 0 \\\" + x + \\\" 0 \\\" + b + \\\" 0 0 0 1 0 \\\";\\n\\n this.chainEffect(\\\"feColorMatrix\\\", attributes);\\n\\n return this;\\n },\\n\\n addRecolor: function(color, opacity, attributes) {\\n if (color == undefined) {\\n throw \\\"A colour string is a required argument to create a colorMatrix\\\";\\n }\\n if (opacity == undefined) {\\n opacity = 1;\\n }\\n\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n\\n var colorObject = Raphael.color(color);\\n var\\tr = colorObject.r / 255,\\n g = colorObject.g / 255,\\n b = colorObject.b / 255;\\n\\n /**\\n * r'\\t0 0 0 0 r\\t\\tr\\n * g'\\t0 0 0 0 g\\t\\tg\\n * b' =\\t0 0 0 0 b\\t.\\tb\\n * a'\\t0 0 0 a 0\\t\\ta\\n * 1\\t\\t\\t\\t\\t1\\n */\\n attributes.values = \\\"0 0 0 0 \\\" + r + \\\" 0 0 0 0 \\\" + g + \\\" 0 0 0 0 \\\" + b + \\\" 0 0 0 \\\" + opacity + \\\" 0 \\\";\\n\\n this.chainEffect(\\\"feColorMatrix\\\", attributes);\\n\\n return this;\\n },\\n\\n addDesaturate: function(saturation, attributes) {\\n if (saturation == undefined) {\\n saturnation = 0;\\n }\\n\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n\\n attributes.values = saturation;\\n attributes.type = \\\"saturate\\\";\\n\\n this.chainEffect(\\\"feColorMatrix\\\", attributes);\\n\\n return this;\\n },\\n\\n addConvolveMatrix: function(matrix, attributes) {\\n if (matrix == undefined) {\\n throw \\\"A matrix (usually 9 numbers) must be provided to apply a convolve matrix transform\\\";\\n }\\n\\n if (attributes == undefined) {\\n attributes = {};\\n }\\n\\n attributes.kernelMatrix = matrix;\\n\\n this.chainEffect(\\\"feConvolveMatrix\\\", attributes);\\n\\n return this;\\n },\\n\\n createShadow: function(dx, dy, blur, opacity, color) {\\n if (dx == undefined) {\\n throw \\\"dx is required for the shadow effect\\\";\\n }\\n if (dy == undefined) {\\n throw \\\"dy is required for the shadow effect\\\";\\n }\\n if (blur == undefined) {\\n throw \\\"blur (stdDeviation) is required for the shadow effect\\\";\\n }\\n\\n if (opacity == undefined) {\\n opacity = 0.6;\\n }\\n\\n var previousResult = this.getLastResult();\\n\\n if (color == undefined) {\\n color = \\\"#000000\\\";\\n }\\n\\n this.addOffset(dx, dy, {\\n in: \\\"SourceAlpha\\\"\\n });\\n\\n this.addRecolor(color, opacity);\\n\\n this.addBlur(blur);\\n\\n this.merge(this.getLastResult(), previousResult);\\n\\n return this;\\n },\\n\\n createEmboss: function(height, x, y, z) {\\n if (height == undefined) {\\n height = 2;\\n }\\n if (x == undefined) {\\n x = -1000;\\n }\\n if (y == undefined) {\\n y = -5000;\\n }\\n if (z == undefined) {\\n z = 300;\\n }\\n\\n // Create the highlight\\n\\n this.addOffset(height * x / (x + y), height * y / (x + y), {\\n in: \\\"SourceAlpha\\\"\\n });\\n\\n this.addBlur(height * 0.5);\\n\\n var whiteLightSource = new FR.FilterEffect(\\\"fePointLight\\\", {\\n x: x,\\n y: y,\\n z: z\\n });\\n\\n this.chainEffect(\\\"feSpecularLighting\\\", {\\n surfaceScale: height,\\n specularConstant: 0.8,\\n specularExponent: 15\\n }, whiteLightSource);\\n\\n this.compose(this.getLastResult(), \\\"SourceAlpha\\\", \\\"in\\\");\\n var whiteLight = this.getLastResult();\\n\\n // Create the lowlight\\n\\n this.addOffset(height * -1 * x / (x + y), height * -1 * y / (x + y), {\\n in: \\\"SourceAlpha\\\"\\n });\\n\\n this.addBlur(height * 0.5);\\n\\n var darkLightSource = new FR.FilterEffect(\\\"fePointLight\\\", {\\n x: -1 * x,\\n y: -1 * y,\\n z: z\\n });\\n\\n this.chainEffect(\\\"feSpecularLighting\\\", {\\n surfaceScale: height,\\n specularConstant: 1.8,\\n specularExponent: 6\\n }, darkLightSource);\\n\\n this.compose(this.getLastResult(), \\\"SourceAlpha\\\", \\\"in\\\");\\n this.chainEffect(\\\"feColorMatrix\\\", {\\n values: \\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\\\"\\n });\\n var darkLight = this.getLastResult();\\n\\n this.arithmeticCompose(whiteLight, darkLight, 0, 0.8, 0.5, 0);\\n\\n this.merge(\\\"SourceGraphic\\\", this.getLastResult());\\n\\n return this;\\n }\\n };\\n\\n scope.FRaphael = FR;\\n})(this);\\n\\n/**\\n * add a filter to the paper by id\\n */\\nRaphael.fn.createFilter = function(id) {\\n var paper = this;\\n var filter = new FRaphael.Filter(id);\\n paper.defs.appendChild(filter.element);\\n\\n return filter;\\n};\\n\\n/**\\n * Apply a filter to an element by id\\n */\\nRaphael.el.filter = function(filter) {\\n var id = (filter instanceof FRaphael.Filter) ? filter.id : filter;\\n\\n this.node.setAttribute(\\\"filter\\\", \\\"url(#\\\" + id + \\\")\\\");\\n this.data(\\\"filterId\\\", id);\\n\\n return this;\\n};\\n\\n/**\\n * Get the current filter for an element or a new one if not\\n */\\nRaphael.el.getFilter = function() {\\n return FRaphael.getFilter(this);\\n};\\n\\n/**\\n * A shorthand method for applying blur\\n */\\nRaphael.el.blur = function(stdDeviation) {\\n if (stdDeviation == undefined) {\\n stdDeviation = 3;\\n }\\n\\n this.getFilter().addBlur(stdDeviation);\\n\\n return this;\\n};\\n\\n/**\\n * A shorthand method for applying a drop shadow\\n */\\nRaphael.el.shadow = function(dx, dy, blur, opacity, color) {\\n if (dx == undefined) {\\n dx = 3;\\n }\\n if (dy == undefined) {\\n dy = 3;\\n }\\n if (blur == undefined) {\\n blur = 3;\\n }\\n\\n this.getFilter().createShadow(dx, dy, blur, opacity, color);\\n\\n return this;\\n};\\n\\n/**\\n * A shorthand method for applying lighting\\n */\\nRaphael.el.light = function(x, y, z, color, type) {\\n if (x == undefined) {\\n x = this.paper.width;\\n }\\n if (y == undefined) {\\n y = 0;\\n }\\n if (z == undefined) {\\n z = 20;\\n }\\n\\n this.getFilter().addLighting(x, y, z, color, type);\\n\\n return this;\\n};\\n\\n/**\\n * A shorthand method for applying a colour shift\\n */\\nRaphael.el.colorShift = function(color, shift) {\\n if (color == undefined) {\\n color = \\\"black\\\";\\n }\\n if (shift == undefined) {\\n shift = 0.5;\\n }\\n\\n this.getFilter().addShiftToColor(color, shift);\\n\\n return this;\\n};\\n\\n/**\\n * A shorthand method for embossing\\n */\\nRaphael.el.emboss = function(height) {\\n this.getFilter().createEmboss(height);\\n\\n return this;\\n};\\n\\n/**\\n * A shorthand method for desaturating\\n */\\nRaphael.el.desaturate = function(saturation) {\\n this.getFilter().addDesaturate(saturation);\\n\\n return this;\\n};\\n\\n/**\\n * A shorthand method for complete desaturation\\n */\\nRaphael.el.greyScale = function() {\\n this.getFilter().addDesaturate(0);\\n\\n return this;\\n};\\n\"\n\n/***/ }),\n\n/***/ \"./node_modules/rgbcolor/index.js\":\n/*!****************************************!*\\\n !*** ./node_modules/rgbcolor/index.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/*\n\tBased on rgbcolor.js by Stoyan Stefanov <sstoo@gmail.com>\n\thttp://www.phpied.com/rgb-color-parser-in-javascript/\n*/\n\nmodule.exports = function(color_string) {\n this.ok = false;\n this.alpha = 1.0;\n\n // strip any leading #\n if (color_string.charAt(0) == '#') { // remove # if any\n color_string = color_string.substr(1,6);\n }\n\n color_string = color_string.replace(/ /g,'');\n color_string = color_string.toLowerCase();\n\n // before getting into regexps, try simple matches\n // and overwrite the input\n var simple_colors = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dodgerblue: '1e90ff',\n feldspar: 'd19275',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred : 'cd5c5c',\n indigo : '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgrey: 'd3d3d3',\n lightgreen: '90ee90',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslateblue: '8470ff',\n lightslategray: '778899',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '00ff00',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'ff00ff',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370d8',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'd87093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n red: 'ff0000',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n violetred: 'd02090',\n wheat: 'f5deb3',\n white: 'ffffff',\n whitesmoke: 'f5f5f5',\n yellow: 'ffff00',\n yellowgreen: '9acd32'\n };\n color_string = simple_colors[color_string] || color_string;\n // emd of simple type-in colors\n\n // array of color definition objects\n var color_defs = [\n {\n re: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*((?:\\d?\\.)?\\d)\\)$/,\n example: ['rgba(123, 234, 45, 0.8)', 'rgba(255,234,245,1.0)'],\n process: function (bits){\n return [\n parseInt(bits[1]),\n parseInt(bits[2]),\n parseInt(bits[3]),\n parseFloat(bits[4])\n ];\n }\n },\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'],\n process: function (bits){\n return [\n parseInt(bits[1]),\n parseInt(bits[2]),\n parseInt(bits[3])\n ];\n }\n },\n {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n example: ['#00ff00', '336699'],\n process: function (bits){\n return [\n parseInt(bits[1], 16),\n parseInt(bits[2], 16),\n parseInt(bits[3], 16)\n ];\n }\n },\n {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n example: ['#fb0', 'f0f'],\n process: function (bits){\n return [\n parseInt(bits[1] + bits[1], 16),\n parseInt(bits[2] + bits[2], 16),\n parseInt(bits[3] + bits[3], 16)\n ];\n }\n }\n ];\n\n // search through the definitions to find a match\n for (var i = 0; i < color_defs.length; i++) {\n var re = color_defs[i].re;\n var processor = color_defs[i].process;\n var bits = re.exec(color_string);\n if (bits) {\n var channels = processor(bits);\n this.r = channels[0];\n this.g = channels[1];\n this.b = channels[2];\n if (channels.length > 3) {\n this.alpha = channels[3];\n }\n this.ok = true;\n }\n\n }\n\n // validate/cleanup values\n this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r);\n this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g);\n this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b);\n this.alpha = (this.alpha < 0) ? 0 : ((this.alpha > 1.0 || isNaN(this.alpha)) ? 1.0 : this.alpha);\n\n // some getters\n this.toRGB = function () {\n return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')';\n }\n this.toRGBA = function () {\n return 'rgba(' + this.r + ', ' + this.g + ', ' + this.b + ', ' + this.alpha + ')';\n }\n this.toHex = function () {\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n if (r.length == 1) r = '0' + r;\n if (g.length == 1) g = '0' + g;\n if (b.length == 1) b = '0' + b;\n return '#' + r + g + b;\n }\n\n // help\n this.getHelpXML = function () {\n\n var examples = new Array();\n // add regexps\n for (var i = 0; i < color_defs.length; i++) {\n var example = color_defs[i].example;\n for (var j = 0; j < example.length; j++) {\n examples[examples.length] = example[j];\n }\n }\n // add type-in colors\n for (var sc in simple_colors) {\n examples[examples.length] = sc;\n }\n\n var xml = document.createElement('ul');\n xml.setAttribute('id', 'rgbcolor-examples');\n for (var i = 0; i < examples.length; i++) {\n try {\n var list_item = document.createElement('li');\n var list_color = new RGBColor(examples[i]);\n var example_div = document.createElement('div');\n example_div.style.cssText =\n 'margin: 3px; '\n + 'border: 1px solid black; '\n + 'background:' + list_color.toHex() + '; '\n + 'color:' + list_color.toHex()\n ;\n example_div.appendChild(document.createTextNode('test'));\n var list_item_value = document.createTextNode(\n ' ' + examples[i] + ' -> ' + list_color.toRGB() + ' -> ' + list_color.toHex()\n );\n list_item.appendChild(example_div);\n list_item.appendChild(list_item_value);\n xml.appendChild(list_item);\n\n } catch(e){}\n }\n return xml;\n\n }\n\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/script-loader/addScript.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/script-loader/addScript.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nmodule.exports = function(src) {\n\tfunction log(error) {\n\t\t(typeof console !== \"undefined\")\n\t\t&& (console.error || console.log)(\"[Script Loader]\", error);\n\t}\n\n\t// Check for IE =< 8\n\tfunction isIE() {\n\t\treturn typeof attachEvent !== \"undefined\" && typeof addEventListener === \"undefined\";\n\t}\n\n\ttry {\n\t\tif (typeof execScript !== \"undefined\" && isIE()) {\n\t\t\texecScript(src);\n\t\t} else if (typeof eval !== \"undefined\") {\n\t\t\teval.call(null, src);\n\t\t} else {\n\t\t\tlog(\"EvalError: No eval function available\");\n\t\t}\n\t} catch (error) {\n\t\tlog(error);\n\t}\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/shifty/dist/shifty.js\":\n/*!********************************************!*\\\n !*** ./node_modules/shifty/dist/shifty.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*! 2.3.1 */\n!function(t,e){ true?module.exports=e():undefined}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/assets/\",e(e.s=6)}([function(t,e,n){\"use strict\";(function(t){function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=new j,n=e.tween(t);return n.tweenable=e,n}Object.defineProperty(e,\"__esModule\",{value:!0}),e.Tweenable=e.composeEasingObject=e.tweenProps=e.clone=e.each=void 0;var u=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};e.tween=o;var c=n(5),s=r(c),f=n(1),h=function(t){return t&&t.__esModule?t:{default:t}}(f),l=n(7),p=r(l),d=\"undefined\"!=typeof window?window:t,m=d.cancelAnimationFrame||d.webkitCancelAnimationFrame||d.oCancelAnimationFrame||d.msCancelAnimationFrame||d.mozCancelRequestAnimationFrame||d.clearTimeout,_=d.requestAnimationFrame||d.webkitRequestAnimationFrame||d.oRequestAnimationFrame||d.msRequestAnimationFrame||d.mozCancelRequestAnimationFrame&&d.mozRequestAnimationFrame||setTimeout,v=function(){},y=e.each=function(t,e){return Object.keys(t).forEach(e)},w=e.clone=function(t){return(0,h.default)({},t)},g=w(s),b=function(t,e,n,r){return t+(e-t)*n(r)},O=e.tweenProps=function(t,e,n,r,i,o,u){var a=t<o?0:(t-o)/i;return y(e,function(t){var i=u[t],o=\"function\"==typeof i?i:g[i];e[t]=b(n[t],r[t],o,a)}),e},M=e.composeEasingObject=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"linear\",n={},r=void 0===e?\"undefined\":a(e);return\"string\"===r||\"function\"===r?y(t,function(t){return n[t]=e}):y(t,function(t){return n[t]=n[t]||e[t]||\"linear\"}),n},j=e.Tweenable=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;i(this,t),this._currentState=e,this._configured=!1,this._scheduleFunction=_,void 0!==n&&this.setConfig(n)}return u(t,[{key:\"_applyFilter\",value:function(e){var n=this,r=t.filters,i=this._filterArgs;y(r,function(t){var o=r[t][e];void 0!==o&&o.apply(n,i)})}},{key:\"_timeoutHandler\",value:function(e){var n=this,r=arguments,i=this._currentState,o=this._delay,u=this._duration,a=this._step,c=this._targetState,s=this._timestamp,f=s+o+u,h=Math.min(e||t.now(),f),l=h>=f,p=u-(f-h);this.isPlaying()&&(l?(a(c,this._attachment,p),this.stop(!0)):(this._scheduleId=this._scheduleFunction.call(d,function(){return n._timeoutHandler.apply(n,r)},1e3/60),this._applyFilter(\"beforeTween\"),h<s+o?(h=1,u=1,s=1):s+=o,O(h,i,this._originalState,c,u,s,this._easing),this._applyFilter(\"afterTween\"),a(i,this._attachment,p)))}},{key:\"tween\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=this._attachment,r=this._configured;return this._isTweening?this:(void 0===e&&r||this.setConfig(e),this._timestamp=t.now(),this._start(this.get(),n),this.resume())}},{key:\"setConfig\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._configured=!0,this._attachment=e.attachment,(0,h.default)(this,{_pausedAtTime:null,_scheduleId:null,_delay:e.delay||0,_start:e.start||v,_step:e.step||v,_duration:e.duration||500,_currentState:w(e.from||this.get())}),(0,h.default)(this,{_originalState:this.get(),_targetState:w(e.to||this.get())});var n=this._currentState;this._targetState=(0,h.default)({},n,this._targetState),this._easing=M(n,e.easing),this._filterArgs=[n,this._originalState,this._targetState,this._easing],this._applyFilter(\"tweenCreated\");var r=e.promise||Promise;return this._promise=new r(function(e,n){t._resolve=e,t._reject=n}),this._promise.catch(v),this}},{key:\"get\",value:function(){return w(this._currentState)}},{key:\"set\",value:function(t){this._currentState=t}},{key:\"pause\",value:function(){return this._pausedAtTime=t.now(),this._isPaused=!0,this}},{key:\"resume\",value:function(){return this._isPaused&&(this._timestamp+=t.now()-this._pausedAtTime),this._isPaused=!1,this._isTweening=!0,this._timeoutHandler(),this._promise}},{key:\"seek\",value:function(e){e=Math.max(e,0);var n=t.now();return this._timestamp+e===0?this:(this._timestamp=n-e,this.isPlaying()||(this._isTweening=!0,this._isPaused=!1,this._timeoutHandler(n),this.pause()),this)}},{key:\"stop\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this._attachment,n=this._currentState,r=this._easing,i=this._originalState,o=this._targetState;return this._isTweening=!1,this._isPaused=!1,m(this._scheduleId),t?(this._applyFilter(\"beforeTween\"),O(1,n,i,o,1,0,r),this._applyFilter(\"afterTween\"),this._applyFilter(\"afterTweenEnd\"),this._resolve(n,e)):this._reject(n,e),this}},{key:\"isPlaying\",value:function(){return this._isTweening&&!this._isPaused}},{key:\"setScheduleFunction\",value:function(t){this._scheduleFunction=t}},{key:\"dispose\",value:function(){var t=this;y(this,function(e){return delete t[e]})}}]),t}();(0,h.default)(j,{formulas:g,filters:{token:p},now:Date.now||function(t){return+new Date}})}).call(e,n(4))},function(t,e,n){\"use strict\";function r(t){if(null===t||void 0===t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){r[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,c=r(t),s=1;s<arguments.length;s++){n=Object(arguments[s]);for(var f in n)o.call(n,f)&&(c[f]=n[f]);if(i){a=i(n);for(var h=0;h<a.length;h++)u.call(n,a[h])&&(c[a[h]]=n[a[h]])}}return c}},function(t,e,n){\"use strict\";function r(t,e,n,r,i,o){var u=0,a=0,c=0,s=0,f=0,h=0,l=function(t){return((u*t+a)*t+c)*t},p=function(t){return((s*t+f)*t+h)*t},d=function(t){return(3*u*t+2*a)*t+c},m=function(t){return t>=0?t:0-t},_=function(t,e){var n=void 0,r=void 0,i=void 0,o=void 0,u=void 0,a=void 0;for(i=t,a=0;a<8;a++){if(o=l(i)-t,m(o)<e)return i;if(u=d(i),m(u)<1e-6)break;i-=o/u}if(n=0,r=1,(i=t)<n)return n;if(i>r)return r;for(;n<r;){if(o=l(i),m(o-t)<e)return i;t>o?n=i:r=i,i=.5*(r-n)+n}return i};return c=3*e,a=3*(r-e)-c,u=1-c-a,h=3*n,f=3*(i-n)-h,s=1-h-f,function(t,e){return p(_(t,e))}(t,function(t){return 1/(200*t)}(o))}Object.defineProperty(e,\"__esModule\",{value:!0}),e.unsetBezierFunction=e.setBezierFunction=void 0;var i=n(0),o=n(1),u=function(t){return t&&t.__esModule?t:{default:t}}(o),a=function(t,e,n,i){return function(o){return r(o,t,e,n,i,1)}};e.setBezierFunction=function(t,e,n,r,o){return i.Tweenable.formulas[t]=(0,u.default)(a(e,n,r,o),{displayName:t,x1:e,y1:n,x2:r,y2:o})},e.unsetBezierFunction=function(t){return delete i.Tweenable.formulas[t]}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.interpolate=void 0;var r=n(0),i=new r.Tweenable;i._filterArgs=[];e.interpolate=function(t,e,n,o){var u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=(0,r.clone)(t),c=(0,r.composeEasingObject)(t,o);i.set({}),i._filterArgs=[a,t,e,c],i._applyFilter(\"tweenCreated\"),i._applyFilter(\"beforeTween\");var s=(0,r.tweenProps)(n,a,t,e,1,u,c);return i._applyFilter(\"afterTween\"),s}},function(t,e,n){\"use strict\";var r,i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};r=function(){return this}();try{r=r||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"===(\"undefined\"==typeof window?\"undefined\":i(window))&&(r=window)}t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.linear=function(t){return t},e.easeInQuad=function(t){return Math.pow(t,2)},e.easeOutQuad=function(t){return-(Math.pow(t-1,2)-1)},e.easeInOutQuad=function(t){return(t/=.5)<1?.5*Math.pow(t,2):-.5*((t-=2)*t-2)},e.easeInCubic=function(t){return Math.pow(t,3)},e.easeOutCubic=function(t){return Math.pow(t-1,3)+1},e.easeInOutCubic=function(t){return(t/=.5)<1?.5*Math.pow(t,3):.5*(Math.pow(t-2,3)+2)},e.easeInQuart=function(t){return Math.pow(t,4)},e.easeOutQuart=function(t){return-(Math.pow(t-1,4)-1)},e.easeInOutQuart=function(t){return(t/=.5)<1?.5*Math.pow(t,4):-.5*((t-=2)*Math.pow(t,3)-2)},e.easeInQuint=function(t){return Math.pow(t,5)},e.easeOutQuint=function(t){return Math.pow(t-1,5)+1},e.easeInOutQuint=function(t){return(t/=.5)<1?.5*Math.pow(t,5):.5*(Math.pow(t-2,5)+2)},e.easeInSine=function(t){return 1-Math.cos(t*(Math.PI/2))},e.easeOutSine=function(t){return Math.sin(t*(Math.PI/2))},e.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)},e.easeInExpo=function(t){return 0===t?0:Math.pow(2,10*(t-1))},e.easeOutExpo=function(t){return 1===t?1:1-Math.pow(2,-10*t)},e.easeInOutExpo=function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*--t))},e.easeInCirc=function(t){return-(Math.sqrt(1-t*t)-1)},e.easeOutCirc=function(t){return Math.sqrt(1-Math.pow(t-1,2))},e.easeInOutCirc=function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},e.easeOutBounce=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},e.easeInBack=function(t){var e=1.70158;return t*t*((e+1)*t-e)},e.easeOutBack=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},e.easeInOutBack=function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},e.elastic=function(t){return-1*Math.pow(4,-8*t)*Math.sin((6*t-1)*(2*Math.PI)/2)+1},e.swingFromTo=function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},e.swingFrom=function(t){var e=1.70158;return t*t*((e+1)*t-e)},e.swingTo=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},e.bounce=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},e.bouncePast=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?2-(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?2-(7.5625*(t-=2.25/2.75)*t+.9375):2-(7.5625*(t-=2.625/2.75)*t+.984375)},e.easeFromTo=function(t){return(t/=.5)<1?.5*Math.pow(t,4):-.5*((t-=2)*Math.pow(t,3)-2)},e.easeFrom=function(t){return Math.pow(t,4)},e.easeTo=function(t){return Math.pow(t,.25)}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(0);Object.defineProperty(e,\"Tweenable\",{enumerable:!0,get:function(){return r.Tweenable}}),Object.defineProperty(e,\"tween\",{enumerable:!0,get:function(){return r.tween}});var i=n(3);Object.defineProperty(e,\"interpolate\",{enumerable:!0,get:function(){return i.interpolate}});var o=n(2);Object.defineProperty(e,\"setBezierFunction\",{enumerable:!0,get:function(){return o.setBezierFunction}}),Object.defineProperty(e,\"unsetBezierFunction\",{enumerable:!0,get:function(){return o.unsetBezierFunction}})},function(t,e,n){\"use strict\";function r(t){return parseInt(t,16)}function i(t,e,n){[t,e,n].forEach(_),this._tokenData=g(t)}function o(t,e,n,r){var i=this._tokenData;P(r,i),[t,e,n].forEach(function(t){return b(t,i)})}function u(t,e,n,r){var i=this._tokenData;[t,e,n].forEach(function(t){return F(t,i)}),S(r,i)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.tweenCreated=i,e.beforeTween=o,e.afterTween=u;var a=n(0),c=function(){var t=/[0-9.\\-]+/g.source,e=/,\\s*/.source;return new RegExp(\"rgb\\\\(\"+t+e+t+e+t+\"\\\\)\",\"g\")}(),s=/#([0-9]|[a-f]){3,6}/gi,f=function(t,e){return t.map(function(t,n){return\"_\"+e+\"_\"+n})},h=function(t){var e=t.match(/([^\\-0-9\\.]+)/g);return e?(1===e.length||t.charAt(0).match(/(\\d|\\-|\\.)/))&&e.unshift(\"\"):e=[\"\",\"\"],e.join(\"VAL\")},l=function(t){return t=t.replace(/#/,\"\"),3===t.length&&(t=t.split(\"\"),t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),[r(t.substr(0,2)),r(t.substr(2,2)),r(t.substr(4,2))]},p=function(t){return\"rgb(\"+l(t).join(\",\")+\")\"},d=function(t,e,n){var r=e.match(t),i=e.replace(t,\"VAL\");return r&&r.forEach(function(t){return i=i.replace(\"VAL\",n(t))}),i},m=function(t){return d(s,t,p)},_=function(t){(0,a.each)(t,function(e){var n=t[e];\"string\"==typeof n&&n.match(s)&&(t[e]=m(n))})},v=function(t){var e=t.match(/[0-9.\\-]+/g).map(Math.floor);return\"\"+t.match(/^.*\\(/)[0]+e.join(\",\")+\")\"},y=function(t){return d(c,t,v)},w=function(t){return t.match(/[0-9.\\-]+/g)},g=function(t){var e={};return(0,a.each)(t,function(n){var r=t[n];\"string\"==typeof r&&(e[n]={formatString:h(r),chunkNames:f(w(r),n)})}),e},b=function(t,e){(0,a.each)(e,function(n){w(t[n]).forEach(function(r,i){return t[e[n].chunkNames[i]]=+r}),delete t[n]})},O=function(t,e){var n={};return e.forEach(function(e){n[e]=t[e],delete t[e]}),n},M=function(t,e){return e.map(function(e){return t[e]})},j=function(t,e){return e.forEach(function(e){return t=t.replace(\"VAL\",+e.toFixed(4))}),t},F=function(t,e){(0,a.each)(e,function(n){var r=e[n],i=r.chunkNames,o=r.formatString,u=j(o,M(O(t,i),i));t[n]=y(u)})},P=function(t,e){(0,a.each)(e,function(n){var r=e[n].chunkNames,i=t[n];\"string\"==typeof i?function(){var e=i.split(\" \"),n=e[e.length-1];r.forEach(function(r,i){return t[r]=e[i]||n})}():r.forEach(function(e){return t[e]=i}),delete t[n]})},S=function(t,e){(0,a.each)(e,function(n){var r=e[n].chunkNames,i=(r.length,t[r[0]]);t[n]=\"string\"==typeof i?r.map(function(e){var n=t[e];return delete t[e],n}).join(\" \"):i})}}])});\n//# sourceMappingURL=shifty.js.map\n\n/***/ }),\n\n/***/ \"./node_modules/stackblur/index.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/stackblur/index.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/*\n\nStackBlur - a fast almost Gaussian Blur For Canvas\n\nVersion: \t0.5\nAuthor:\t\tMario Klingemann\nContact: \tmario@quasimondo.com\nWebsite:\thttp://www.quasimondo.com/StackBlurForCanvas\nTwitter:\t@quasimondo\n\nIn case you find this class useful - especially in commercial projects -\nI am not totally unhappy for a small donation to my PayPal account\nmario@quasimondo.de\n\nOr support me on flattr: \nhttps://flattr.com/thing/72791/StackBlur-a-fast-almost-Gaussian-Blur-Effect-for-CanvasJavascript\n\nCopyright (c) 2010 Mario Klingemann\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n*/\n\nvar mul_table = [\n 512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,\n 454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,\n 482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,\n 437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,\n 497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,\n 320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,\n 446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,\n 329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,\n 505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,\n 399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,\n 324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,\n 268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,\n 451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,\n 385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,\n 332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,\n 289,287,285,282,280,278,275,273,271,269,267,265,263,261,259];\n \n \nvar shg_table = [\n\t 9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, \n\t\t17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, \n\t\t19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20,\n\t\t20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,\n\t\t21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\n\t\t21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, \n\t\t22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,\n\t\t22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, \n\t\t23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n\t\t23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n\t\t23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, \n\t\t23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, \n\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n\t\t24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 ];\n\nfunction blur( pixels, width, height, radius )\n{\n\tif ( isNaN(radius) || radius < 1 ) return;\n\tradius |= 0;\n\n\tvar x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum, \n\tr_out_sum, g_out_sum, b_out_sum, a_out_sum,\n\tr_in_sum, g_in_sum, b_in_sum, a_in_sum, \n\tpr, pg, pb, pa, rbs;\n\t\t\t\n\tvar div = radius + radius + 1;\n\tvar w4 = width << 2;\n\tvar widthMinus1 = width - 1;\n\tvar heightMinus1 = height - 1;\n\tvar radiusPlus1 = radius + 1;\n\tvar sumFactor = radiusPlus1 * ( radiusPlus1 + 1 ) / 2;\n\t\n\tvar stackStart = new BlurStack();\n\tvar stack = stackStart;\n\tfor ( i = 1; i < div; i++ )\n\t{\n\t\tstack = stack.next = new BlurStack();\n\t\tif ( i == radiusPlus1 ) var stackEnd = stack;\n\t}\n\tstack.next = stackStart;\n\tvar stackIn = null;\n\tvar stackOut = null;\n\t\n\tyw = yi = 0;\n\t\n\tvar mul_sum = mul_table[radius];\n\tvar shg_sum = shg_table[radius];\n\t\n\tfor ( y = 0; y < height; y++ )\n\t{\n\t\tr_in_sum = g_in_sum = b_in_sum = a_in_sum = r_sum = g_sum = b_sum = a_sum = 0;\n\t\t\n\t\tr_out_sum = radiusPlus1 * ( pr = pixels[yi] );\n\t\tg_out_sum = radiusPlus1 * ( pg = pixels[yi+1] );\n\t\tb_out_sum = radiusPlus1 * ( pb = pixels[yi+2] );\n\t\ta_out_sum = radiusPlus1 * ( pa = pixels[yi+3] );\n\t\t\n\t\tr_sum += sumFactor * pr;\n\t\tg_sum += sumFactor * pg;\n\t\tb_sum += sumFactor * pb;\n\t\ta_sum += sumFactor * pa;\n\t\t\n\t\tstack = stackStart;\n\t\t\n\t\tfor( i = 0; i < radiusPlus1; i++ )\n\t\t{\n\t\t\tstack.r = pr;\n\t\t\tstack.g = pg;\n\t\t\tstack.b = pb;\n\t\t\tstack.a = pa;\n\t\t\tstack = stack.next;\n\t\t}\n\t\t\n\t\tfor( i = 1; i < radiusPlus1; i++ )\n\t\t{\n\t\t\tp = yi + (( widthMinus1 < i ? widthMinus1 : i ) << 2 );\n\t\t\tr_sum += ( stack.r = ( pr = pixels[p])) * ( rbs = radiusPlus1 - i );\n\t\t\tg_sum += ( stack.g = ( pg = pixels[p+1])) * rbs;\n\t\t\tb_sum += ( stack.b = ( pb = pixels[p+2])) * rbs;\n\t\t\ta_sum += ( stack.a = ( pa = pixels[p+3])) * rbs;\n\t\t\t\n\t\t\tr_in_sum += pr;\n\t\t\tg_in_sum += pg;\n\t\t\tb_in_sum += pb;\n\t\t\ta_in_sum += pa;\n\t\t\t\n\t\t\tstack = stack.next;\n\t\t}\n\t\t\n\t\t\n\t\tstackIn = stackStart;\n\t\tstackOut = stackEnd;\n\t\tfor ( x = 0; x < width; x++ )\n\t\t{\n\t\t\tpixels[yi+3] = pa = (a_sum * mul_sum) >> shg_sum;\n\t\t\tif ( pa != 0 )\n\t\t\t{\n\t\t\t\tpa = 255 / pa;\n\t\t\t\tpixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;\n\t\t\t\tpixels[yi+1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n\t\t\t\tpixels[yi+2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n\t\t\t} else {\n\t\t\t\tpixels[yi] = pixels[yi+1] = pixels[yi+2] = 0;\n\t\t\t}\n\t\t\t\n\t\t\tr_sum -= r_out_sum;\n\t\t\tg_sum -= g_out_sum;\n\t\t\tb_sum -= b_out_sum;\n\t\t\ta_sum -= a_out_sum;\n\t\t\t\n\t\t\tr_out_sum -= stackIn.r;\n\t\t\tg_out_sum -= stackIn.g;\n\t\t\tb_out_sum -= stackIn.b;\n\t\t\ta_out_sum -= stackIn.a;\n\t\t\t\n\t\t\tp = ( yw + ( ( p = x + radius + 1 ) < widthMinus1 ? p : widthMinus1 ) ) << 2;\n\t\t\t\n\t\t\tr_in_sum += ( stackIn.r = pixels[p]);\n\t\t\tg_in_sum += ( stackIn.g = pixels[p+1]);\n\t\t\tb_in_sum += ( stackIn.b = pixels[p+2]);\n\t\t\ta_in_sum += ( stackIn.a = pixels[p+3]);\n\t\t\t\n\t\t\tr_sum += r_in_sum;\n\t\t\tg_sum += g_in_sum;\n\t\t\tb_sum += b_in_sum;\n\t\t\ta_sum += a_in_sum;\n\t\t\t\n\t\t\tstackIn = stackIn.next;\n\t\t\t\n\t\t\tr_out_sum += ( pr = stackOut.r );\n\t\t\tg_out_sum += ( pg = stackOut.g );\n\t\t\tb_out_sum += ( pb = stackOut.b );\n\t\t\ta_out_sum += ( pa = stackOut.a );\n\t\t\t\n\t\t\tr_in_sum -= pr;\n\t\t\tg_in_sum -= pg;\n\t\t\tb_in_sum -= pb;\n\t\t\ta_in_sum -= pa;\n\t\t\t\n\t\t\tstackOut = stackOut.next;\n\n\t\t\tyi += 4;\n\t\t}\n\t\tyw += width;\n\t}\n\n\t\n\tfor ( x = 0; x < width; x++ )\n\t{\n\t\tg_in_sum = b_in_sum = a_in_sum = r_in_sum = g_sum = b_sum = a_sum = r_sum = 0;\n\t\t\n\t\tyi = x << 2;\n\t\tr_out_sum = radiusPlus1 * ( pr = pixels[yi]);\n\t\tg_out_sum = radiusPlus1 * ( pg = pixels[yi+1]);\n\t\tb_out_sum = radiusPlus1 * ( pb = pixels[yi+2]);\n\t\ta_out_sum = radiusPlus1 * ( pa = pixels[yi+3]);\n\t\t\n\t\tr_sum += sumFactor * pr;\n\t\tg_sum += sumFactor * pg;\n\t\tb_sum += sumFactor * pb;\n\t\ta_sum += sumFactor * pa;\n\t\t\n\t\tstack = stackStart;\n\t\t\n\t\tfor( i = 0; i < radiusPlus1; i++ )\n\t\t{\n\t\t\tstack.r = pr;\n\t\t\tstack.g = pg;\n\t\t\tstack.b = pb;\n\t\t\tstack.a = pa;\n\t\t\tstack = stack.next;\n\t\t}\n\t\t\n\t\typ = width;\n\t\t\n\t\tfor( i = 1; i <= radius; i++ )\n\t\t{\n\t\t\tyi = ( yp + x ) << 2;\n\t\t\t\n\t\t\tr_sum += ( stack.r = ( pr = pixels[yi])) * ( rbs = radiusPlus1 - i );\n\t\t\tg_sum += ( stack.g = ( pg = pixels[yi+1])) * rbs;\n\t\t\tb_sum += ( stack.b = ( pb = pixels[yi+2])) * rbs;\n\t\t\ta_sum += ( stack.a = ( pa = pixels[yi+3])) * rbs;\n\t\t \n\t\t\tr_in_sum += pr;\n\t\t\tg_in_sum += pg;\n\t\t\tb_in_sum += pb;\n\t\t\ta_in_sum += pa;\n\t\t\t\n\t\t\tstack = stack.next;\n\t\t\n\t\t\tif( i < heightMinus1 )\n\t\t\t{\n\t\t\t\typ += width;\n\t\t\t}\n\t\t}\n\t\t\n\t\tyi = x;\n\t\tstackIn = stackStart;\n\t\tstackOut = stackEnd;\n\t\tfor ( y = 0; y < height; y++ )\n\t\t{\n\t\t\tp = yi << 2;\n\t\t\tpixels[p+3] = pa = (a_sum * mul_sum) >> shg_sum;\n\t\t\tif ( pa > 0 )\n\t\t\t{\n\t\t\t\tpa = 255 / pa;\n\t\t\t\tpixels[p] = ((r_sum * mul_sum) >> shg_sum ) * pa;\n\t\t\t\tpixels[p+1] = ((g_sum * mul_sum) >> shg_sum ) * pa;\n\t\t\t\tpixels[p+2] = ((b_sum * mul_sum) >> shg_sum ) * pa;\n\t\t\t} else {\n\t\t\t\tpixels[p] = pixels[p+1] = pixels[p+2] = 0;\n\t\t\t}\n\t\t\t\n\t\t\tr_sum -= r_out_sum;\n\t\t\tg_sum -= g_out_sum;\n\t\t\tb_sum -= b_out_sum;\n\t\t\ta_sum -= a_out_sum;\n\t\t \n\t\t\tr_out_sum -= stackIn.r;\n\t\t\tg_out_sum -= stackIn.g;\n\t\t\tb_out_sum -= stackIn.b;\n\t\t\ta_out_sum -= stackIn.a;\n\t\t\t\n\t\t\tp = ( x + (( ( p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1 ) * width )) << 2;\n\t\t\t\n\t\t\tr_sum += ( r_in_sum += ( stackIn.r = pixels[p]));\n\t\t\tg_sum += ( g_in_sum += ( stackIn.g = pixels[p+1]));\n\t\t\tb_sum += ( b_in_sum += ( stackIn.b = pixels[p+2]));\n\t\t\ta_sum += ( a_in_sum += ( stackIn.a = pixels[p+3]));\n\t\t \n\t\t\tstackIn = stackIn.next;\n\t\t\t\n\t\t\tr_out_sum += ( pr = stackOut.r );\n\t\t\tg_out_sum += ( pg = stackOut.g );\n\t\t\tb_out_sum += ( pb = stackOut.b );\n\t\t\ta_out_sum += ( pa = stackOut.a );\n\t\t\t\n\t\t\tr_in_sum -= pr;\n\t\t\tg_in_sum -= pg;\n\t\t\tb_in_sum -= pb;\n\t\t\ta_in_sum -= pa;\n\t\t\t\n\t\t\tstackOut = stackOut.next;\n\t\t\t\n\t\t\tyi += width;\n\t\t}\n\t}\n}\n\nfunction BlurStack()\n{\n\tthis.r = 0;\n\tthis.g = 0;\n\tthis.b = 0;\n\tthis.a = 0;\n\tthis.next = null;\n}\n\nmodule.exports = blur;\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/lib/addStyles.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/style-loader/lib/addStyles.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target) {\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = __webpack_require__(/*! ./urls */ \"./node_modules/style-loader/lib/urls.js\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/lib/urls.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/style-loader/lib/urls.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n !*** (webpack)/buildin/global.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"./node_modules/xmldom/dom-parser.js\":\n/*!*******************************************!*\\\n !*** ./node_modules/xmldom/dom-parser.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction DOMParser(options){\r\n\tthis.options = options ||{locator:{}};\r\n\t\r\n}\r\nDOMParser.prototype.parseFromString = function(source,mimeType){\r\n\tvar options = this.options;\r\n\tvar sax = new XMLReader();\r\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\r\n\tvar errorHandler = options.errorHandler;\r\n\tvar locator = options.locator;\r\n\tvar defaultNSMap = options.xmlns||{};\r\n\tvar entityMap = {'lt':'<','gt':'>','amp':'&','quot':'\"','apos':\"'\"}\r\n\tif(locator){\r\n\t\tdomBuilder.setDocumentLocator(locator)\r\n\t}\r\n\t\r\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\r\n\tsax.domBuilder = options.domBuilder || domBuilder;\r\n\tif(/\\/x?html?$/.test(mimeType)){\r\n\t\tentityMap.nbsp = '\\xa0';\r\n\t\tentityMap.copy = '\\xa9';\r\n\t\tdefaultNSMap['']= 'http://www.w3.org/1999/xhtml';\r\n\t}\r\n\tdefaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';\r\n\tif(source){\r\n\t\tsax.parse(source,defaultNSMap,entityMap);\r\n\t}else{\r\n\t\tsax.errorHandler.error(\"invalid doc source\");\r\n\t}\r\n\treturn domBuilder.doc;\r\n}\r\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\r\n\tif(!errorImpl){\r\n\t\tif(domBuilder instanceof DOMHandler){\r\n\t\t\treturn domBuilder;\r\n\t\t}\r\n\t\terrorImpl = domBuilder ;\r\n\t}\r\n\tvar errorHandler = {}\r\n\tvar isCallback = errorImpl instanceof Function;\r\n\tlocator = locator||{}\r\n\tfunction build(key){\r\n\t\tvar fn = errorImpl[key];\r\n\t\tif(!fn && isCallback){\r\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\r\n\t\t}\r\n\t\terrorHandler[key] = fn && function(msg){\r\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\r\n\t\t}||function(){};\r\n\t}\r\n\tbuild('warning');\r\n\tbuild('error');\r\n\tbuild('fatalError');\r\n\treturn errorHandler;\r\n}\r\n\r\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\r\n/**\r\n * +ContentHandler+ErrorHandler\r\n * +LexicalHandler+EntityResolver2\r\n * -DeclHandler-DTDHandler \r\n * \r\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\r\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\r\n */\r\nfunction DOMHandler() {\r\n this.cdata = false;\r\n}\r\nfunction position(locator,node){\r\n\tnode.lineNumber = locator.lineNumber;\r\n\tnode.columnNumber = locator.columnNumber;\r\n}\r\n/**\r\n * @see org.xml.sax.ContentHandler#startDocument\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\r\n */ \r\nDOMHandler.prototype = {\r\n\tstartDocument : function() {\r\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\r\n \tif (this.locator) {\r\n \tthis.doc.documentURI = this.locator.systemId;\r\n \t}\r\n\t},\r\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\r\n\t\tvar doc = this.doc;\r\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\r\n\t var len = attrs.length;\r\n\t appendElement(this, el);\r\n\t this.currentElement = el;\r\n\t \r\n\t\tthis.locator && position(this.locator,el)\r\n\t for (var i = 0 ; i < len; i++) {\r\n\t var namespaceURI = attrs.getURI(i);\r\n\t var value = attrs.getValue(i);\r\n\t var qName = attrs.getQName(i);\r\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\r\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\r\n\t\t\tattr.value = attr.nodeValue = value;\r\n\t\t\tel.setAttributeNode(attr)\r\n\t }\r\n\t},\r\n\tendElement:function(namespaceURI, localName, qName) {\r\n\t\tvar current = this.currentElement\r\n\t\tvar tagName = current.tagName;\r\n\t\tthis.currentElement = current.parentNode;\r\n\t},\r\n\tstartPrefixMapping:function(prefix, uri) {\r\n\t},\r\n\tendPrefixMapping:function(prefix) {\r\n\t},\r\n\tprocessingInstruction:function(target, data) {\r\n\t var ins = this.doc.createProcessingInstruction(target, data);\r\n\t this.locator && position(this.locator,ins)\r\n\t appendElement(this, ins);\r\n\t},\r\n\tignorableWhitespace:function(ch, start, length) {\r\n\t},\r\n\tcharacters:function(chars, start, length) {\r\n\t\tchars = _toString.apply(this,arguments)\r\n\t\t//console.log(chars)\r\n\t\tif(chars){\r\n\t\t\tif (this.cdata) {\r\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\r\n\t\t\t} else {\r\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\r\n\t\t\t}\r\n\t\t\tif(this.currentElement){\r\n\t\t\t\tthis.currentElement.appendChild(charNode);\r\n\t\t\t}else if(/^\\s*$/.test(chars)){\r\n\t\t\t\tthis.doc.appendChild(charNode);\r\n\t\t\t\t//process xml\r\n\t\t\t}\r\n\t\t\tthis.locator && position(this.locator,charNode)\r\n\t\t}\r\n\t},\r\n\tskippedEntity:function(name) {\r\n\t},\r\n\tendDocument:function() {\r\n\t\tthis.doc.normalize();\r\n\t},\r\n\tsetDocumentLocator:function (locator) {\r\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\r\n\t \tlocator.lineNumber = 0;\r\n\t }\r\n\t},\r\n\t//LexicalHandler\r\n\tcomment:function(chars, start, length) {\r\n\t\tchars = _toString.apply(this,arguments)\r\n\t var comm = this.doc.createComment(chars);\r\n\t this.locator && position(this.locator,comm)\r\n\t appendElement(this, comm);\r\n\t},\r\n\t\r\n\tstartCDATA:function() {\r\n\t //used in characters() methods\r\n\t this.cdata = true;\r\n\t},\r\n\tendCDATA:function() {\r\n\t this.cdata = false;\r\n\t},\r\n\t\r\n\tstartDTD:function(name, publicId, systemId) {\r\n\t\tvar impl = this.doc.implementation;\r\n\t if (impl && impl.createDocumentType) {\r\n\t var dt = impl.createDocumentType(name, publicId, systemId);\r\n\t this.locator && position(this.locator,dt)\r\n\t appendElement(this, dt);\r\n\t }\r\n\t},\r\n\t/**\r\n\t * @see org.xml.sax.ErrorHandler\r\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\r\n\t */\r\n\twarning:function(error) {\r\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\r\n\t},\r\n\terror:function(error) {\r\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\r\n\t},\r\n\tfatalError:function(error) {\r\n\t\tconsole.error('[xmldom fatalError]\\t'+error,_locator(this.locator));\r\n\t throw error;\r\n\t}\r\n}\r\nfunction _locator(l){\r\n\tif(l){\r\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\r\n\t}\r\n}\r\nfunction _toString(chars,start,length){\r\n\tif(typeof chars == 'string'){\r\n\t\treturn chars.substr(start,length)\r\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\r\n\t\tif(chars.length >= start+length || start){\r\n\t\t\treturn new java.lang.String(chars,start,length)+'';\r\n\t\t}\r\n\t\treturn chars;\r\n\t}\r\n}\r\n\r\n/*\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\r\n * used method of org.xml.sax.ext.LexicalHandler:\r\n * #comment(chars, start, length)\r\n * #startCDATA()\r\n * #endCDATA()\r\n * #startDTD(name, publicId, systemId)\r\n *\r\n *\r\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\r\n * #endDTD()\r\n * #startEntity(name)\r\n * #endEntity(name)\r\n *\r\n *\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\r\n * IGNORED method of org.xml.sax.ext.DeclHandler\r\n * \t#attributeDecl(eName, aName, type, mode, value)\r\n * #elementDecl(name, model)\r\n * #externalEntityDecl(name, publicId, systemId)\r\n * #internalEntityDecl(name, value)\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\r\n * IGNORED method of org.xml.sax.EntityResolver2\r\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\r\n * #resolveEntity(publicId, systemId)\r\n * #getExternalSubset(name, baseURI)\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\r\n * IGNORED method of org.xml.sax.DTDHandler\r\n * #notationDecl(name, publicId, systemId) {};\r\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\r\n */\r\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\r\n\tDOMHandler.prototype[key] = function(){return null}\r\n})\r\n\r\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\r\nfunction appendElement (hander,node) {\r\n if (!hander.currentElement) {\r\n hander.doc.appendChild(node);\r\n } else {\r\n hander.currentElement.appendChild(node);\r\n }\r\n}//appendChild and setAttributeNS are preformance key\r\n\r\n//if(typeof require == 'function'){\r\n\tvar XMLReader = __webpack_require__(/*! ./sax */ \"./node_modules/xmldom/sax.js\").XMLReader;\r\n\tvar DOMImplementation = exports.DOMImplementation = __webpack_require__(/*! ./dom */ \"./node_modules/xmldom/dom.js\").DOMImplementation;\r\n\texports.XMLSerializer = __webpack_require__(/*! ./dom */ \"./node_modules/xmldom/dom.js\").XMLSerializer ;\r\n\texports.DOMParser = DOMParser;\r\n//}\r\n\n\n/***/ }),\n\n/***/ \"./node_modules/xmldom/dom.js\":\n/*!************************************!*\\\n !*** ./node_modules/xmldom/dom.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/*\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n */\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tdest[p] = src[p];\n\t}\n}\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(Object.create){\n\t\tvar ppt = Object.create(Super.prototype)\n\t\tpt.__proto__ = ppt;\n\t}\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknow Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\nvar htmlns = 'http://www.w3.org/1999/xhtml' ;\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0, \n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long \n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index. \n\t */\n\titem: function(index) {\n\t\treturn this[index] || null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t}\n};\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif(list._inc != inc){\n\t\tvar ls = list._refresh(list._node);\n\t\t//console.log(ls.length)\n\t\t__set__(list,'length',ls.length);\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i];\n}\n\n_extends(LiveNodeList,NodeList);\n/**\n * \n * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities \n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t\t\n\t\t\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\t\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n/**\n * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490\n */\nfunction DOMImplementation(/* Object */ features) {\n\tthis._features = {};\n\tif (features) {\n\t\tfor (var feature in features) {\n\t\t\t this._features = features[feature];\n\t\t}\n\t}\n};\n\nDOMImplementation.prototype = {\n\thasFeature: function(/* string */ feature, /* string */ version) {\n\t\tvar versions = this._features[feature.toLowerCase()];\n\t\tif (versions && (!version || version in versions)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateDocument:function(namespaceURI, qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype;\n\t\tif(doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif(qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI,qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId;\n\t\tnode.systemId = systemId;\n\t\t// Introduced in DOM Level 2:\n\t\t//readonly attribute DOMString internalSubset;\n\t\t\n\t\t//TODO:..\n\t\t// readonly attribute NamedNodeMap entities;\n\t\t// readonly attribute NamedNodeMap notations;\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises \n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises \n\t\tthis.insertBefore(newChild,oldChild);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n \t\t\t\tif(map[n] == namespaceURI){\n \t\t\t\t\treturn n;\n \t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(prefix in map){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '<' ||\n c == '>' && '>' ||\n c == '&' && '&' ||\n c == '\"' && '"' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n}\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns == 'http://www.w3.org/2000/xmlns/'){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns == 'http://www.w3.org/2000/xmlns/'){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\nfunction _onUpdateChild(doc,el,newChild){\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif(newChild){\n\t\t\tcs[cs.length++] = newChild;\n\t\t}else{\n\t\t\t//console.log(1)\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile(child){\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild =child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t}\n\t}\n}\n\n/**\n * attributes;\n * children;\n * \n * writeable properties:\n * nodeValue,Attr:value,CharacterData:data\n * prefix\n */\nfunction _removeChild(parentNode,child){\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif(previous){\n\t\tprevious.nextSibling = next;\n\t}else{\n\t\tparentNode.firstChild = next\n\t}\n\tif(next){\n\t\tnext.previousSibling = previous;\n\t}else{\n\t\tparentNode.lastChild = previous;\n\t}\n\t_onUpdateChild(parentNode.ownerDocument,parentNode);\n\treturn child;\n}\n/**\n * preformance key(refChild == null)\n */\nfunction _insertBefore(parentNode,newChild,nextChild){\n\tvar cp = newChild.parentNode;\n\tif(cp){\n\t\tcp.removeChild(newChild);//remove and update\n\t}\n\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = newChild.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn newChild;\n\t\t}\n\t\tvar newLast = newChild.lastChild;\n\t}else{\n\t\tnewFirst = newLast = newChild;\n\t}\n\tvar pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = nextChild;\n\t\n\t\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparentNode.firstChild = newFirst;\n\t}\n\tif(nextChild == null){\n\t\tparentNode.lastChild = newLast;\n\t}else{\n\t\tnextChild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parentNode;\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parentNode.ownerDocument||parentNode,parentNode);\n\t//console.log(parentNode.lastChild.nextSibling == null)\n\tif (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnewChild.firstChild = newChild.lastChild = null;\n\t}\n\treturn newChild;\n}\nfunction _appendSingleChild(parentNode,newChild){\n\tvar cp = newChild.parentNode;\n\tif(cp){\n\t\tvar pre = parentNode.lastChild;\n\t\tcp.removeChild(newChild);//remove and update\n\t\tvar pre = parentNode.lastChild;\n\t}\n\tvar pre = parentNode.lastChild;\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = pre;\n\tnewChild.nextSibling = null;\n\tif(pre){\n\t\tpre.nextSibling = newChild;\n\t}else{\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument,parentNode,newChild);\n\treturn newChild;\n\t//console.log(\"__aa\",parentNode.lastChild.nextSibling == null)\n}\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\t\n\tinsertBefore : function(newChild, refChild){//raises \n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\tif(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t\t\n\t\treturn _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\t\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.target = target;\n\t\tnode.nodeValue= node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\t\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\t\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\t\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t\t\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\t\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9?this.documentElement:this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\t\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\nfunction needNamespaceDefine(node,isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix||'';\n\tvar uri = node.namespaceURI;\n\tif (!prefix && !uri){\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === \"http://www.w3.org/XML/1998/namespace\" \n\t\t|| uri == 'http://www.w3.org/2000/xmlns/'){\n\t\treturn false;\n\t}\n\t\n\tvar i = visibleNamespaces.length \n\t//console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces)\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\t//console.log(node.nodeType,node.tagName,ns.prefix,prefix)\n\t\tif (ns.prefix == prefix){\n\t\t\treturn ns.namespace != uri;\n\t\t}\n\t}\n\t//console.log(isHTML,uri,prefix=='')\n\t//if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){\n\t//\treturn false;\n\t//}\n\t//node.flag = '11111'\n\t//console.error(3,true,node.flag,node.prefix,node.namespaceURI)\n\treturn true;\n}\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tif (!visibleNamespaces) visibleNamespaces = [];\n\t\tvar startVisibleNamespaces = visibleNamespaces.length;\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\t\t\n\t\tisHTML = (htmlns === node.namespaceURI) ||isHTML \n\t\tbuf.push('<',nodeName);\n\t\t\n\t\t\n\t\t\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\tvar ns = prefix ? ' xmlns:' + prefix : \" xmlns\";\n\t\t\t\tbuf.push(ns, '=\"' , uri , '\"');\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\t\t// add namespace for current node\t\t\n\t\tif (needNamespaceDefine(node,isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\tvar ns = prefix ? ' xmlns:' + prefix : \" xmlns\";\n\t\t\tbuf.push(ns, '=\"' , uri , '\"');\n\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t}\n\t\t\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',nodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn buf.push(' ',node.name,'=\"',node.value.replace(/[<&\"]/g,_xmlEncoder),'\"');\n\tcase TEXT_NODE:\n\t\treturn buf.push(node.data.replace(/[<&]/g,_xmlEncoder));\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC \"',pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push( '\" \"',sysid);\n\t\t\t}\n\t\t\tbuf.push('\">');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM \"',sysid,'\">');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor(var n in node){\n\t\tvar v = node[n];\n\t\tif(typeof v != 'object' ){\n\t\t\tif(v != node2[n]){\n\t\t\t\tnode2[n] = v;\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t//TODO:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\t\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.DOMImplementation = DOMImplementation;\n\texports.XMLSerializer = XMLSerializer;\n//}\n\n\n/***/ }),\n\n/***/ \"./node_modules/xmldom/sax.js\":\n/*!************************************!*\\\n !*** ./node_modules/xmldom/sax.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\r\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\r\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\r\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\r\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\r\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\r\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\r\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\r\n\r\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\r\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\r\nvar S_TAG = 0;//tag name offerring\r\nvar S_ATTR = 1;//attr name offerring \r\nvar S_ATTR_SPACE=2;//attr name end and space offer\r\nvar S_EQ = 3;//=space?\r\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\r\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\r\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\r\nvar S_TAG_CLOSE = 7;//closed el<el />\r\n\r\nfunction XMLReader(){\r\n\t\r\n}\r\n\r\nXMLReader.prototype = {\r\n\tparse:function(source,defaultNSMap,entityMap){\r\n\t\tvar domBuilder = this.domBuilder;\r\n\t\tdomBuilder.startDocument();\r\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\r\n\t\tparse(source,defaultNSMap,entityMap,\r\n\t\t\t\tdomBuilder,this.errorHandler);\r\n\t\tdomBuilder.endDocument();\r\n\t}\r\n}\r\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\r\n\tfunction fixedFromCharCode(code) {\r\n\t\t// String.prototype.fromCharCode does not supports\r\n\t\t// > 2 bytes unicode chars directly\r\n\t\tif (code > 0xffff) {\r\n\t\t\tcode -= 0x10000;\r\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\r\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\r\n\r\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\r\n\t\t} else {\r\n\t\t\treturn String.fromCharCode(code);\r\n\t\t}\r\n\t}\r\n\tfunction entityReplacer(a){\r\n\t\tvar k = a.slice(1,-1);\r\n\t\tif(k in entityMap){\r\n\t\t\treturn entityMap[k]; \r\n\t\t}else if(k.charAt(0) === '#'){\r\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\r\n\t\t}else{\r\n\t\t\terrorHandler.error('entity not found:'+a);\r\n\t\t\treturn a;\r\n\t\t}\r\n\t}\r\n\tfunction appendText(end){//has some bugs\r\n\t\tif(end>start){\r\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\tlocator&&position(start);\r\n\t\t\tdomBuilder.characters(xt,0,end-start);\r\n\t\t\tstart = end\r\n\t\t}\r\n\t}\r\n\tfunction position(p,m){\r\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\r\n\t\t\tlineStart = m.index;\r\n\t\t\tlineEnd = lineStart + m[0].length;\r\n\t\t\tlocator.lineNumber++;\r\n\t\t\t//console.log('line++:',locator,startPos,endPos)\r\n\t\t}\r\n\t\tlocator.columnNumber = p-lineStart+1;\r\n\t}\r\n\tvar lineStart = 0;\r\n\tvar lineEnd = 0;\r\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\r\n\tvar locator = domBuilder.locator;\r\n\t\r\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\r\n\tvar closeMap = {};\r\n\tvar start = 0;\r\n\twhile(true){\r\n\t\ttry{\r\n\t\t\tvar tagStart = source.indexOf('<',start);\r\n\t\t\tif(tagStart<0){\r\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\r\n\t\t\t\t\tvar doc = domBuilder.doc;\r\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\r\n\t \t\t\tdoc.appendChild(text);\r\n\t \t\t\tdomBuilder.currentElement = text;\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif(tagStart>start){\r\n\t\t\t\tappendText(tagStart);\r\n\t\t\t}\r\n\t\t\tswitch(source.charAt(tagStart+1)){\r\n\t\t\tcase '/':\r\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\r\n\t\t\t\tvar tagName = source.substring(tagStart+2,end);\r\n\t\t\t\tvar config = parseStack.pop();\r\n\t\t\t\tif(end<0){\r\n\t\t\t\t\t\r\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\r\n\t \t\t//console.error('#@@@@@@'+tagName)\r\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\r\n\t \t\tend = tagStart+1+tagName.length;\r\n\t \t}else if(tagName.match(/\\s</)){\r\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\r\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\r\n\t \t\tend = tagStart+1+tagName.length;\r\n\t\t\t\t}\r\n\t\t\t\t//console.error(parseStack.length,parseStack)\r\n\t\t\t\t//console.error(config);\r\n\t\t\t\tvar localNSMap = config.localNSMap;\r\n\t\t\t\tvar endMatch = config.tagName == tagName;\r\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\r\n\t\t if(endIgnoreCaseMach){\r\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\r\n\t\t\t\t\tif(localNSMap){\r\n\t\t\t\t\t\tfor(var prefix in localNSMap){\r\n\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix) ;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(!endMatch){\r\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName );\r\n\t\t\t\t\t}\r\n\t\t }else{\r\n\t\t \tparseStack.push(config)\r\n\t\t }\r\n\t\t\t\t\r\n\t\t\t\tend++;\r\n\t\t\t\tbreak;\r\n\t\t\t\t// end elment\r\n\t\t\tcase '?':// <?...?>\r\n\t\t\t\tlocator&&position(tagStart);\r\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\r\n\t\t\t\tbreak;\r\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\r\n\t\t\t\tlocator&&position(tagStart);\r\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tlocator&&position(tagStart);\r\n\t\t\t\tvar el = new ElementAttributes();\r\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\r\n\t\t\t\t//elStartEnd\r\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\r\n\t\t\t\tvar len = el.length;\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\r\n\t\t\t\t\tel.closed = true;\r\n\t\t\t\t\tif(!entityMap.nbsp){\r\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(locator && len){\r\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\r\n\t\t\t\t\t//try{//attribute position fixed\r\n\t\t\t\t\tfor(var i = 0;i<len;i++){\r\n\t\t\t\t\t\tvar a = el[i];\r\n\t\t\t\t\t\tposition(a.offset);\r\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//}catch(e){console.error('@@@@@'+e)}\r\n\t\t\t\t\tdomBuilder.locator = locator2\r\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\r\n\t\t\t\t\t\tparseStack.push(el)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdomBuilder.locator = locator;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\r\n\t\t\t\t\t\tparseStack.push(el)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tif(el.uri === 'http://www.w3.org/1999/xhtml' && !el.closed){\r\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\r\n\t\t\t\t}else{\r\n\t\t\t\t\tend++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}catch(e){\r\n\t\t\terrorHandler.error('element parse error: '+e)\r\n\t\t\t//errorHandler.error('element parse error: '+e);\r\n\t\t\tend = -1;\r\n\t\t\t//throw e;\r\n\t\t}\r\n\t\tif(end>start){\r\n\t\t\tstart = end;\r\n\t\t}else{\r\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\r\n\t\t\tappendText(Math.max(tagStart,start)+1);\r\n\t\t}\r\n\t}\r\n}\r\nfunction copyLocator(f,t){\r\n\tt.lineNumber = f.lineNumber;\r\n\tt.columnNumber = f.columnNumber;\r\n\treturn t;\r\n}\r\n\r\n/**\r\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\r\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\r\n */\r\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\r\n\tvar attrName;\r\n\tvar value;\r\n\tvar p = ++start;\r\n\tvar s = S_TAG;//status\r\n\twhile(true){\r\n\t\tvar c = source.charAt(p);\r\n\t\tswitch(c){\r\n\t\tcase '=':\r\n\t\t\tif(s === S_ATTR){//attrName\r\n\t\t\t\tattrName = source.slice(start,p);\r\n\t\t\t\ts = S_EQ;\r\n\t\t\t}else if(s === S_ATTR_SPACE){\r\n\t\t\t\ts = S_EQ;\r\n\t\t\t}else{\r\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\r\n\t\t\t\tthrow new Error('attribute equal must after attrName');\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase '\\'':\r\n\t\tcase '\"':\r\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\r\n\t\t\t\t){//equal\r\n\t\t\t\tif(s === S_ATTR){\r\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\r\n\t\t\t\t\tattrName = source.slice(start,p)\r\n\t\t\t\t}\r\n\t\t\t\tstart = p+1;\r\n\t\t\t\tp = source.indexOf(c,start)\r\n\t\t\t\tif(p>0){\r\n\t\t\t\t\tvalue = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t\tel.add(attrName,value,start-1);\r\n\t\t\t\t\ts = S_ATTR_END;\r\n\t\t\t\t}else{\r\n\t\t\t\t\t//fatalError: no end quot match\r\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\r\n\t\t\t\t}\r\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\r\n\t\t\t\tvalue = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t//console.log(attrName,value,start,p)\r\n\t\t\t\tel.add(attrName,value,start);\r\n\t\t\t\t//console.dir(el)\r\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\r\n\t\t\t\tstart = p+1;\r\n\t\t\t\ts = S_ATTR_END\r\n\t\t\t}else{\r\n\t\t\t\t//fatalError: no equal before\r\n\t\t\t\tthrow new Error('attribute value must after \"=\"');\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase '/':\r\n\t\t\tswitch(s){\r\n\t\t\tcase S_TAG:\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\tcase S_ATTR_END:\r\n\t\t\tcase S_TAG_SPACE:\r\n\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\ts =S_TAG_CLOSE;\r\n\t\t\t\tel.closed = true;\r\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\r\n\t\t\tcase S_ATTR:\r\n\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\tbreak;\r\n\t\t\t//case S_EQ:\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\")\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase ''://end document\r\n\t\t\t//throw new Error('unexpected end of input')\r\n\t\t\terrorHandler.error('unexpected end of input');\r\n\t\t\tif(s == S_TAG){\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\t}\r\n\t\t\treturn p;\r\n\t\tcase '>':\r\n\t\t\tswitch(s){\r\n\t\t\tcase S_TAG:\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\tcase S_ATTR_END:\r\n\t\t\tcase S_TAG_SPACE:\r\n\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\tbreak;//normal\r\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\r\n\t\t\tcase S_ATTR:\r\n\t\t\t\tvalue = source.slice(start,p);\r\n\t\t\t\tif(value.slice(-1) === '/'){\r\n\t\t\t\t\tel.closed = true;\r\n\t\t\t\t\tvalue = value.slice(0,-1)\r\n\t\t\t\t}\r\n\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\tif(s === S_ATTR_SPACE){\r\n\t\t\t\t\tvalue = attrName;\r\n\t\t\t\t}\r\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\r\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\r\n\t\t\t\t\tel.add(attrName,value.replace(/&#?\\w+;/g,entityReplacer),start)\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){\r\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\r\n\t\t\t\t\t}\r\n\t\t\t\t\tel.add(value,value,start)\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase S_EQ:\r\n\t\t\t\tthrow new Error('attribute value missed!!');\r\n\t\t\t}\r\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\r\n\t\t\treturn p;\r\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\r\n\t\tcase '\\u0080':\r\n\t\t\tc = ' ';\r\n\t\tdefault:\r\n\t\t\tif(c<= ' '){//space\r\n\t\t\t\tswitch(s){\r\n\t\t\t\tcase S_TAG:\r\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\r\n\t\t\t\t\ts = S_TAG_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR:\r\n\t\t\t\t\tattrName = source.slice(start,p)\r\n\t\t\t\t\ts = S_ATTR_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\r\n\t\t\t\t\tvar value = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\r\n\t\t\t\t\tel.add(attrName,value,start)\r\n\t\t\t\tcase S_ATTR_END:\r\n\t\t\t\t\ts = S_TAG_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t//case S_TAG_SPACE:\r\n\t\t\t\t//case S_EQ:\r\n\t\t\t\t//case S_ATTR_SPACE:\r\n\t\t\t\t//\tvoid();break;\r\n\t\t\t\t//case S_TAG_CLOSE:\r\n\t\t\t\t\t//ignore warning\r\n\t\t\t\t}\r\n\t\t\t}else{//not space\r\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\r\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\r\n\t\t\t\tswitch(s){\r\n\t\t\t\t//case S_TAG:void();break;\r\n\t\t\t\t//case S_ATTR:void();break;\r\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\r\n\t\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\t\tvar tagName = el.tagName;\r\n\t\t\t\t\tif(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){\r\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\r\n\t\t\t\t\t}\r\n\t\t\t\t\tel.add(attrName,attrName,start);\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\ts = S_ATTR;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR_END:\r\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\r\n\t\t\t\tcase S_TAG_SPACE:\r\n\t\t\t\t\ts = S_ATTR;\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_EQ:\r\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}//end outer switch\r\n\t\t//console.log('p++',p)\r\n\t\tp++;\r\n\t}\r\n}\r\n/**\r\n * @return true if has new namespace define\r\n */\r\nfunction appendElement(el,domBuilder,currentNSMap){\r\n\tvar tagName = el.tagName;\r\n\tvar localNSMap = null;\r\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\r\n\tvar i = el.length;\r\n\twhile(i--){\r\n\t\tvar a = el[i];\r\n\t\tvar qName = a.qName;\r\n\t\tvar value = a.value;\r\n\t\tvar nsp = qName.indexOf(':');\r\n\t\tif(nsp>0){\r\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\r\n\t\t\tvar localName = qName.slice(nsp+1);\r\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\r\n\t\t}else{\r\n\t\t\tlocalName = qName;\r\n\t\t\tprefix = null\r\n\t\t\tnsPrefix = qName === 'xmlns' && ''\r\n\t\t}\r\n\t\t//can not set prefix,because prefix !== ''\r\n\t\ta.localName = localName ;\r\n\t\t//prefix == null for no ns prefix attribute \r\n\t\tif(nsPrefix !== false){//hack!!\r\n\t\t\tif(localNSMap == null){\r\n\t\t\t\tlocalNSMap = {}\r\n\t\t\t\t//console.log(currentNSMap,0)\r\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\r\n\t\t\t\t//console.log(currentNSMap,1)\r\n\t\t\t}\r\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\r\n\t\t\ta.uri = 'http://www.w3.org/2000/xmlns/'\r\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value) \r\n\t\t}\r\n\t}\r\n\tvar i = el.length;\r\n\twhile(i--){\r\n\t\ta = el[i];\r\n\t\tvar prefix = a.prefix;\r\n\t\tif(prefix){//no prefix attribute has no namespace\r\n\t\t\tif(prefix === 'xml'){\r\n\t\t\t\ta.uri = 'http://www.w3.org/XML/1998/namespace';\r\n\t\t\t}if(prefix !== 'xmlns'){\r\n\t\t\t\ta.uri = currentNSMap[prefix || '']\r\n\t\t\t\t\r\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvar nsp = tagName.indexOf(':');\r\n\tif(nsp>0){\r\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\r\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\r\n\t}else{\r\n\t\tprefix = null;//important!!\r\n\t\tlocalName = el.localName = tagName;\r\n\t}\r\n\t//no prefix element has default namespace\r\n\tvar ns = el.uri = currentNSMap[prefix || ''];\r\n\tdomBuilder.startElement(ns,localName,tagName,el);\r\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\r\n\t//localNSMap = null\r\n\tif(el.closed){\r\n\t\tdomBuilder.endElement(ns,localName,tagName);\r\n\t\tif(localNSMap){\r\n\t\t\tfor(prefix in localNSMap){\r\n\t\t\t\tdomBuilder.endPrefixMapping(prefix) \r\n\t\t\t}\r\n\t\t}\r\n\t}else{\r\n\t\tel.currentNSMap = currentNSMap;\r\n\t\tel.localNSMap = localNSMap;\r\n\t\t//parseStack.push(el);\r\n\t\treturn true;\r\n\t}\r\n}\r\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\r\n\tif(/^(?:script|textarea)$/i.test(tagName)){\r\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\r\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\r\n\t\tif(/[&<]/.test(text)){\r\n\t\t\tif(/^script$/i.test(tagName)){\r\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\r\n\t\t\t\t\t//lexHandler.startCDATA();\r\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\r\n\t\t\t\t\t//lexHandler.endCDATA();\r\n\t\t\t\t\treturn elEndStart;\r\n\t\t\t\t//}\r\n\t\t\t}//}else{//text area\r\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\tdomBuilder.characters(text,0,text.length);\r\n\t\t\t\treturn elEndStart;\r\n\t\t\t//}\r\n\t\t\t\r\n\t\t}\r\n\t}\r\n\treturn elStartEnd+1;\r\n}\r\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\r\n\t//if(tagName in closeMap){\r\n\tvar pos = closeMap[tagName];\r\n\tif(pos == null){\r\n\t\t//console.log(tagName)\r\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\r\n\t\tif(pos<elStartEnd){//忘记闭合\r\n\t\t\tpos = source.lastIndexOf('</'+tagName)\r\n\t\t}\r\n\t\tcloseMap[tagName] =pos\r\n\t}\r\n\treturn pos<elStartEnd;\r\n\t//} \r\n}\r\nfunction _copy(source,target){\r\n\tfor(var n in source){target[n] = source[n]}\r\n}\r\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\r\n\tvar next= source.charAt(start+2)\r\n\tswitch(next){\r\n\tcase '-':\r\n\t\tif(source.charAt(start + 3) === '-'){\r\n\t\t\tvar end = source.indexOf('-->',start+4);\r\n\t\t\t//append comment source.substring(4,end)//<!--\r\n\t\t\tif(end>start){\r\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\r\n\t\t\t\treturn end+3;\r\n\t\t\t}else{\r\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\t//error\r\n\t\t\treturn -1;\r\n\t\t}\r\n\tdefault:\r\n\t\tif(source.substr(start+3,6) == 'CDATA['){\r\n\t\t\tvar end = source.indexOf(']]>',start+9);\r\n\t\t\tdomBuilder.startCDATA();\r\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\r\n\t\t\tdomBuilder.endCDATA() \r\n\t\t\treturn end+3;\r\n\t\t}\r\n\t\t//<!DOCTYPE\r\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId) \r\n\t\tvar matchs = split(source,start);\r\n\t\tvar len = matchs.length;\r\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\r\n\t\t\tvar name = matchs[1][0];\r\n\t\t\tvar pubid = len>3 && /^public$/i.test(matchs[2][0]) && matchs[3][0]\r\n\t\t\tvar sysid = len>4 && matchs[4][0];\r\n\t\t\tvar lastMatch = matchs[len-1]\r\n\t\t\tdomBuilder.startDTD(name,pubid && pubid.replace(/^(['\"])(.*?)\\1$/,'$2'),\r\n\t\t\t\t\tsysid && sysid.replace(/^(['\"])(.*?)\\1$/,'$2'));\r\n\t\t\tdomBuilder.endDTD();\r\n\t\t\t\r\n\t\t\treturn lastMatch.index+lastMatch[0].length\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n\r\n\r\nfunction parseInstruction(source,start,domBuilder){\r\n\tvar end = source.indexOf('?>',start);\r\n\tif(end){\r\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\r\n\t\tif(match){\r\n\t\t\tvar len = match[0].length;\r\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\r\n\t\t\treturn end+2;\r\n\t\t}else{//error\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n/**\r\n * @param source\r\n */\r\nfunction ElementAttributes(source){\r\n\t\r\n}\r\nElementAttributes.prototype = {\r\n\tsetTagName:function(tagName){\r\n\t\tif(!tagNamePattern.test(tagName)){\r\n\t\t\tthrow new Error('invalid tagName:'+tagName)\r\n\t\t}\r\n\t\tthis.tagName = tagName\r\n\t},\r\n\tadd:function(qName,value,offset){\r\n\t\tif(!tagNamePattern.test(qName)){\r\n\t\t\tthrow new Error('invalid attribute:'+qName)\r\n\t\t}\r\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\r\n\t},\r\n\tlength:0,\r\n\tgetLocalName:function(i){return this[i].localName},\r\n\tgetLocator:function(i){return this[i].locator},\r\n\tgetQName:function(i){return this[i].qName},\r\n\tgetURI:function(i){return this[i].uri},\r\n\tgetValue:function(i){return this[i].value}\r\n//\t,getIndex:function(uri, localName)){\r\n//\t\tif(localName){\r\n//\t\t\t\r\n//\t\t}else{\r\n//\t\t\tvar qName = uri\r\n//\t\t}\r\n//\t},\r\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\r\n//\tgetType:function(uri,localName){}\r\n//\tgetType:function(i){},\r\n}\r\n\r\n\r\n\r\n\r\nfunction _set_proto_(thiz,parent){\r\n\tthiz.__proto__ = parent;\r\n\treturn thiz;\r\n}\r\nif(!(_set_proto_({},_set_proto_.prototype) instanceof _set_proto_)){\r\n\t_set_proto_ = function(thiz,parent){\r\n\t\tfunction p(){};\r\n\t\tp.prototype = parent;\r\n\t\tp = new p();\r\n\t\tfor(parent in thiz){\r\n\t\t\tp[parent] = thiz[parent];\r\n\t\t}\r\n\t\treturn p;\r\n\t}\r\n}\r\n\r\nfunction split(source,start){\r\n\tvar match;\r\n\tvar buf = [];\r\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\r\n\treg.lastIndex = start;\r\n\treg.exec(source);//skip <\r\n\twhile(match = reg.exec(source)){\r\n\t\tbuf.push(match);\r\n\t\tif(match[1])return buf;\r\n\t}\r\n}\r\n\r\nexports.XMLReader = XMLReader;\r\n\r\n\n\n/***/ }),\n\n/***/ \"./src/Canvas.js\":\n/*!***********************!*\\\n !*** ./src/Canvas.js ***!\n \\***********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @class\n * A scrolling Canvas that contains Figures. Call `add(draw2d.Figure)` to add shapes to the Viewport.\n *\n *\n * @author Andreas Herz\n */\n_packages2.default.Canvas = Class.extend(\n/** @lends draw2d.Canvas.prototype */\n{\n\n NAME: \"draw2d.Canvas\",\n\n /**\n * Create a new canvas with the given HTML DOM references.\n *\n * @param {String} canvasId the id of the DOM element to use a parent container\n */\n init: function init(canvasId, width, height) {\n var _this = this;\n\n this.setScrollArea(document.body);\n this.canvasId = canvasId;\n this.html = $(\"#\" + canvasId);\n this.html.css({ \"cursor\": \"default\" });\n if (!isNaN(parseFloat(width)) && !isNaN(parseFloat(height))) {\n this.initialWidth = parseInt(width);\n this.initialHeight = parseInt(height);\n this.html.height(this.initialHeight).width(this.initialWidth);\n } else {\n this.initialWidth = this.getWidth();\n this.initialHeight = this.getHeight();\n }\n\n // avoid the \"highlighting\" in iPad, iPhone if the user tab/touch on the canvas.\n // .... I didn't like this.\n this.html.css({ \"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\" });\n\n // Drag&Drop handling from foreign DIV into the Canvas\n // Only available in combination with jQuery-UI\n //\n // Create the droppable area for the css class \"draw2d_droppable\"\n // This can be done by a palette of toolbar or something else.\n // For more information see : http://jqueryui.com/demos/droppable/\n //\n $(this.html).droppable({\n accept: '.draw2d_droppable',\n over: function over(event, ui) {\n _this.onDragEnter(ui.draggable);\n },\n out: function out(event, ui) {\n _this.onDragLeave(ui.draggable);\n },\n drop: function drop(event, ui) {\n event = _this._getEvent(event);\n var helperPos = $(ui.helper).position();\n var pos = _this.fromDocumentToCanvasCoordinate(event.clientX, event.clientY);\n _this.onDrop(ui.draggable, pos.getX() - (event.clientX - helperPos.left) + 5, pos.getY() - (event.clientY - helperPos.top) + 5, event.shiftKey, event.ctrlKey);\n }\n });\n\n // Create the jQuery-Draggable for the palette -> canvas drag&drop interaction\n //\n $(\".draw2d_droppable\").draggable({\n appendTo: \"body\",\n stack: \"body\",\n zIndex: 27000,\n helper: \"clone\",\n drag: function drag(event, ui) {\n event = _this._getEvent(event);\n var pos = _this.fromDocumentToCanvasCoordinate(event.clientX, event.clientY);\n _this.onDrag(ui.draggable, pos.getX(), pos.getY(), event.shiftKey, event.ctrlKey);\n },\n stop: function stop(e, ui) {},\n start: function start(e, ui) {\n $(ui.helper).addClass(\"shadow\");\n }\n });\n\n // painting stuff\n //\n if (!isNaN(parseFloat(height))) {\n this.paper = Raphael(canvasId, width, height);\n } else {\n this.paper = Raphael(canvasId, this.getWidth(), this.getHeight());\n }\n this.paper.canvas.style.position = \"absolute\";\n\n // Status handling\n //\n this.zoomPolicy = null; // default ZoomEditPolicy\n this.zoomFactor = 1.0; // range [0.001..10]\n this.selection = new _packages2.default.Selection();\n this.currentDropTarget = null;\n this.currentHoverFigure = null;\n\n // installed to all added figures to avoid that a figure can be placed outside the canvas area\n // during a drag&drop operation\n this.regionDragDropConstraint = new _packages2.default.policy.figure.RegionEditPolicy(0, 0, this.getWidth(), this.getHeight());\n\n // event handling since version 5.0.0\n this.eventSubscriptions = {};\n\n this.editPolicy = new _packages2.default.util.ArrayList();\n\n // internal document with all figures, ports, ....\n //\n this.figures = new _packages2.default.util.ArrayList();\n this.lines = new _packages2.default.util.ArrayList(); // crap - why are connections not just figures. Design by accident\n this.commonPorts = new _packages2.default.util.ArrayList();\n\n // all visible resize handles which can be drag&drop around. Selection handles like AntRectangleSelectionFeedback\n // are not part of this collection. Required for hitTest only\n this.resizeHandles = new _packages2.default.util.ArrayList();\n\n // The CommandStack for undo/redo operations\n //\n this.commandStack = new _packages2.default.command.CommandStack();\n\n // INTERSECTION/CROSSING handling for connections and lines\n //\n this.linesToRepaintAfterDragDrop = new _packages2.default.util.ArrayList();\n this.lineIntersections = new _packages2.default.util.ArrayList();\n\n // alternative/legacy zoom implementation\n // this.installEditPolicy( new draw2d.policy.canvas.ZoomPolicy()); // Responsible for zooming\n this.installEditPolicy(new _packages2.default.policy.canvas.WheelZoomPolicy()); // Responsible for zooming with mouse wheel\n this.installEditPolicy(new _packages2.default.policy.canvas.DefaultKeyboardPolicy()); // Handles the keyboard interaction\n this.installEditPolicy(new _packages2.default.policy.canvas.BoundingboxSelectionPolicy()); // Responsible for selection handling\n this.installEditPolicy(new _packages2.default.policy.canvas.DropInterceptorPolicy()); // Responsible for drop operations\n this.installEditPolicy(new _packages2.default.policy.connection.ComposedConnectionCreatePolicy( // Responsible for connection creation....\n [new _packages2.default.policy.connection.DragConnectionCreatePolicy(), // ....via drag/´drop\n new _packages2.default.policy.connection.ClickConnectionCreatePolicy() // or clicking on the ports and canvas.\n ]));\n\n // Calculate all intersection between the different lines\n //\n this.commandStack.addEventListener(function (event) {\n if (event.isPostChangeEvent() === true) {\n _this.calculateConnectionIntersection();\n _this.linesToRepaintAfterDragDrop.each(function (i, line) {\n line.svgPathString = null;\n line.repaint();\n });\n _this.linesToRepaintAfterDragDrop = new _packages2.default.util.ArrayList();\n }\n });\n\n // DragDrop status handling\n //\n this.mouseDown = false;\n this.mouseDownX = 0;\n this.mouseDownY = 0;\n this.mouseDragDiffX = 0;\n this.mouseDragDiffY = 0;\n\n this.html.bind(\"mouseup touchend\", function (event) {\n if (_this.mouseDown === false) {\n return;\n }\n\n event = _this._getEvent(event);\n _this.calculateConnectionIntersection();\n\n _this.mouseDown = false;\n var pos = _this.fromDocumentToCanvasCoordinate(event.clientX, event.clientY);\n _this.editPolicy.each(function (i, policy) {\n policy.onMouseUp(_this, pos.x, pos.y, event.shiftKey, event.ctrlKey);\n });\n\n _this.mouseDragDiffX = 0;\n _this.mouseDragDiffY = 0;\n });\n\n this.html.bind(\"mousemove touchmove\", function (event) {\n event = _this._getEvent(event);\n var pos = _this.fromDocumentToCanvasCoordinate(event.clientX, event.clientY);\n if (_this.mouseDown === false) {\n // mouseEnter/mouseLeave events for Figures. Don't use the Raphael or DOM native functions.\n // Raphael didn't work for Rectangle with transparent fill (events only fired for the border line)\n // DOM didn't work well for lines. No eclipse area - you must hit the line exact to retrieve the event.\n // In this case I implement my own stuff...again and again.\n //\n // don't break the main event loop if one element fires an error during enter/leave event.\n try {\n var hover = _this.getBestFigure(pos.x, pos.y);\n if (hover !== _this.currentHoverFigure && _this.currentHoverFigure !== null) {\n _this.currentHoverFigure.onMouseLeave(); // deprecated\n _this.currentHoverFigure.fireEvent(\"mouseleave\");\n _this.fireEvent(\"mouseleave\", { figure: _this.currentHoverFigure });\n }\n if (hover !== _this.currentHoverFigure && hover !== null) {\n hover.onMouseEnter();\n hover.fireEvent(\"mouseenter\");\n _this.fireEvent(\"mouseenter\", { figure: hover });\n }\n _this.currentHoverFigure = hover;\n } catch (exc) {\n // just write it to the console\n console.log(exc);\n }\n\n _this.editPolicy.each(function (i, policy) {\n policy.onMouseMove(_this, pos.x, pos.y, event.shiftKey, event.ctrlKey);\n });\n _this.fireEvent(\"mousemove\", {\n x: pos.x,\n y: pos.y,\n shiftKey: event.shiftKey,\n ctrlKey: event.ctrlKey,\n hoverFigure: _this.currentHoverFigure\n });\n } else {\n var diffXAbs = (event.clientX - _this.mouseDownX) * _this.zoomFactor;\n var diffYAbs = (event.clientY - _this.mouseDownY) * _this.zoomFactor;\n _this.editPolicy.each(function (i, policy) {\n policy.onMouseDrag(_this, diffXAbs, diffYAbs, diffXAbs - _this.mouseDragDiffX, diffYAbs - _this.mouseDragDiffY, event.shiftKey, event.ctrlKey);\n });\n _this.mouseDragDiffX = diffXAbs;\n _this.mouseDragDiffY = diffYAbs;\n _this.fireEvent(\"mousemove\", {\n x: pos.x,\n y: pos.y,\n shiftKey: event.shiftKey,\n ctrlKey: event.ctrlKey,\n hoverFigure: _this.currentHoverFigure\n });\n }\n });\n\n this.html.bind(\"mousedown\", function (event) {\n try {\n var pos = null;\n switch (event.which) {\n case 1: //touch pressed\n case 0:\n //Left mouse button pressed\n try {\n event.preventDefault();\n event = _this._getEvent(event);\n _this.mouseDownX = event.clientX;\n _this.mouseDownY = event.clientY;\n _this.mouseDragDiffX = 0;\n _this.mouseDragDiffY = 0;\n pos = _this.fromDocumentToCanvasCoordinate(event.clientX, event.clientY);\n _this.mouseDown = true;\n _this.editPolicy.each(function (i, policy) {\n policy.onMouseDown(_this, pos.x, pos.y, event.shiftKey, event.ctrlKey);\n });\n } catch (exc) {\n console.log(exc);\n }\n break;\n case 3:\n //Right mouse button pressed\n event.preventDefault();\n if (typeof event.stopPropagation !== \"undefined\") event.stopPropagation();\n event = _this._getEvent(event);\n pos = _this.fromDocumentToCanvasCoordinate(event.clientX, event.clientY);\n _this.onRightMouseDown(pos.x, pos.y, event.shiftKey, event.ctrlKey);\n return false;\n case 2:\n //Middle mouse button pressed\n break;\n default:\n //You have a strange mouse\n }\n } catch (exc) {\n console.log(exc);\n }\n });\n\n // Catch the dblclick and route them to the Canvas hook.\n //\n this.html.on(\"dblclick\", function (event) {\n event = _this._getEvent(event);\n\n _this.mouseDownX = event.clientX;\n _this.mouseDownY = event.clientY;\n var pos = _this.fromDocumentToCanvasCoordinate(event.clientX, event.clientY);\n _this.onDoubleClick(pos.x, pos.y, event.shiftKey, event.ctrlKey);\n });\n\n // Catch the click event and route them to the canvas hook\n //\n this.html.on(\"click\", function (event) {\n event = _this._getEvent(event);\n\n // fire only the click event if we didn't move the mouse (drag&drop)\n //\n if (_this.mouseDownX === event.clientX || _this.mouseDownY === event.clientY) {\n var pos = _this.fromDocumentToCanvasCoordinate(event.clientX, event.clientY);\n _this.onClick(pos.x, pos.y, event.shiftKey, event.ctrlKey);\n }\n });\n\n // Important: MozMousePixelScroll is required to prevent 1px scrolling\n // in FF event if we call \"e.preventDefault()\"\n this.html.on('MozMousePixelScroll DOMMouseScroll mousewheel', function (e) {\n var event = _this._getEvent(e);\n var pos = _this.fromDocumentToCanvasCoordinate(event.originalEvent.clientX, event.originalEvent.clientY);\n\n var delta = 0;\n if (e.type === 'mousewheel') {\n delta = e.originalEvent.wheelDelta * -1;\n } else if (e.type === 'DOMMouseScroll') {\n delta = 40 * e.originalEvent.detail;\n }\n\n var returnValue = _this.onMouseWheel(delta, pos.x, pos.y, event.shiftKey, event.ctrlKey);\n\n if (returnValue === false) {\n e.preventDefault();\n }\n });\n\n // Catch the keyUp and CTRL-key and route them to the Canvas hook.\n //\n this.keyupCallback = function (event) {\n // don't initiate the delete command if the event comes from an INPUT field. In this case the user want delete\n // a character in the input field and not the related shape\n var target = $(event.target);\n if (!target.is(\"input\") && !target.is(\"textarea\")) {\n _this.editPolicy.each(function (i, policy) {\n if (policy instanceof _packages2.default.policy.canvas.KeyboardPolicy) {\n policy.onKeyUp(_this, event.keyCode, event.shiftKey, event.ctrlKey);\n }\n });\n }\n };\n $(document).bind(\"keyup\", this.keyupCallback);\n\n // Catch the keyDown and CTRL-key and route them to the Canvas hook.\n //\n this.keydownCallback = function (event) {\n // don't initiate the delete command if the event comes from an INPUT field. In this case the user want delete\n // a character in the input field and not the related shape\n var target = $(event.target);\n if (!target.is(\"input\") && !target.is(\"textarea\")) {\n _this.editPolicy.each(function (i, policy) {\n if (policy instanceof _packages2.default.policy.canvas.KeyboardPolicy) {\n policy.onKeyDown(_this, event.keyCode, event.shiftKey, event.ctrlKey);\n }\n });\n }\n };\n $(document).bind(\"keydown\", this.keydownCallback);\n },\n\n /**\n *\n * Call this method if you didn't need the canvas anymore. The method unregister all even handlers\n * and frees all resources. The canvas is unusable after this call\n *\n * @since. 4.7.4\n */\n destroy: function destroy() {\n this.clear();\n $(document).unbind(\"keydown\", this.keydownCallback);\n $(document).unbind(\"keyup\", this.keyupCallback);\n // reset the event handlers of the canvas without any notice\n //\n this.eventSubscriptions = {};\n\n try {\n this.paper.remove();\n } catch (exc) {\n // breaks in some ie7 version....don't care about this because ie7/8 isn't a state of the art browser ;-)\n }\n },\n\n /**\n *\n * Reset the canvas and delete all model elements.<br>\n * You can now reload another model to the canvas with a {@link draw2d.io.Reader}\n *\n * @since 1.1.0\n * @returns {this}\n */\n clear: function clear() {\n // notice all listener that the canvas will be cleared\n this.fireEvent(\"clear\");\n\n var _this = this;\n\n this.lines.clone().each(function (i, e) {\n _this.remove(e);\n });\n\n this.figures.clone().each(function (i, e) {\n _this.remove(e);\n });\n\n this.zoomFactor = 1.0;\n this.selection.clear();\n this.currentDropTarget = null;\n\n // internal document with all figures, ports, ....\n //\n this.figures = new _packages2.default.util.ArrayList();\n this.lines = new _packages2.default.util.ArrayList();\n this.commonPorts = new _packages2.default.util.ArrayList();\n\n this.commandStack.markSaveLocation();\n\n // INTERSECTION/CROSSING handling for connections and lines\n //\n this.linesToRepaintAfterDragDrop = new _packages2.default.util.ArrayList();\n this.lineIntersections = new _packages2.default.util.ArrayList();\n\n return this;\n },\n\n /**\n *\n * Callback for any kind of image export tools to trigger the canvas to hide all unwanted\n * decorations. The method is called e.g. from the draw2d.io.png.Writer\n *\n * @since 4.0.0\n * @@interface\n */\n hideDecoration: function hideDecoration() {},\n\n /**\n *\n * callback method for any image export writer to reactivate the decoration\n * of the canvas. e.g. grids, rulers,...\n *\n *\n * @since 4.0.0\n * @template\n */\n showDecoration: function showDecoration() {},\n\n /**\n *\n * Calculate all connection intersection of the canvas.\n * Required for \"bridging\" or \"crossing decoration\"\n *\n * @private\n */\n calculateConnectionIntersection: function calculateConnectionIntersection() {\n var _this2 = this;\n\n this.lineIntersections = new _packages2.default.util.ArrayList();\n var lines = this.getLines().clone();\n\n var _loop = function _loop() {\n var l1 = lines.removeElementAt(0);\n lines.each(function (ii, l2) {\n var partInter = l1.intersection(l2);\n if (partInter.getSize() > 0) {\n _this2.lineIntersections.add({ line: l1, other: l2, intersection: partInter });\n _this2.lineIntersections.add({ line: l2, other: l1, intersection: partInter });\n }\n });\n };\n\n while (lines.getSize() > 0) {\n _loop();\n }\n\n return this;\n },\n\n /**\n *\n *\n * Install a new selection and edit policy into the canvas\n *\n * @since 2.2.0\n * @param {draw2d.policy.EditPolicy} policy\n */\n installEditPolicy: function installEditPolicy(policy) {\n var _this3 = this;\n\n // a canvas can handle only one selection policy\n //\n if (policy instanceof _packages2.default.policy.canvas.SelectionPolicy) {\n // reset old selection before install new selection strategy\n this.getSelection().getAll().each(function (i, figure) {\n figure.unselect();\n });\n\n // remove existing selection policy\n this.editPolicy.grep(function (p) {\n var stay = !(p instanceof _packages2.default.policy.canvas.SelectionPolicy);\n if (stay === false) {\n p.onUninstall(_this3);\n }\n return stay;\n });\n }\n // only one zoom policy at once\n //\n else if (policy instanceof _packages2.default.policy.canvas.ZoomPolicy) {\n // remove existing zoom policy\n this.editPolicy.grep(function (p) {\n var stay = !(p instanceof _packages2.default.policy.canvas.ZoomPolicy);\n if (stay === false) {\n p.onUninstall(_this3);\n }\n return stay;\n });\n // replace the short cut handle for faster access\n this.zoomPolicy = policy;\n } else if (policy instanceof _packages2.default.policy.connection.ConnectionCreatePolicy) {\n this.editPolicy.grep(function (p) {\n var stay = !(p instanceof _packages2.default.policy.connection.ConnectionCreatePolicy);\n if (stay === false) {\n p.onUninstall(_this3);\n }\n return stay;\n });\n } else if (policy instanceof _packages2.default.policy.canvas.DropInterceptorPolicy) {}\n // think about if I allow to install only one drop policy\n\n\n // remove doublicate edit policies\n if (policy.NAME) {\n this.uninstallEditPolicy(policy.NAME);\n }\n\n policy.onInstall(this);\n this.editPolicy.add(policy);\n\n return this;\n },\n\n /**\n *\n *\n * UnInstall the selection and edit policy from the canvas.\n *\n * @since 2.2.0\n * @param {draw2d.policy.EditPolicy|String} policy\n */\n uninstallEditPolicy: function uninstallEditPolicy(policy) {\n if (policy === null) {\n return; //silently\n }\n\n // either remove exact the policy instance...\n //\n var removed = this.editPolicy.remove(policy);\n if (removed !== null) {\n removed.onUninstall(this);\n if (removed instanceof _packages2.default.policy.canvas.ZoomPolicy) {\n this.zoomPolicy = null;\n }\n } else {\n // ..or all of the same class if the policy isn't installed before\n // With this kind of behaviour it is possible to deinstall all policies with\n // the same class at once\n //\n var _this = this;\n var name = typeof policy === \"string\" ? policy : policy.NAME;\n this.editPolicy.grep(function (p) {\n if (p.NAME === name) {\n p.onUninstall(_this);\n // remove short cut handle to the zoom policy\n if (p instanceof _packages2.default.policy.canvas.ZoomPolicy) {\n _this.zoomPolicy = null;\n }\n return false;\n }\n return true;\n });\n }\n return this;\n },\n\n getDropInterceptorPolicies: function getDropInterceptorPolicies() {\n return this.editPolicy.clone().grep(function (p) {\n return p instanceof _packages2.default.policy.canvas.DropInterceptorPolicy;\n });\n },\n\n /**\n *\n * Set the new zoom factor for the canvas. The value must be between [0.01..10]\n *\n * // you can register an eventhandler if the zoom factor did change\n * canvas.on(\"zoom\", function(emitterFigure, zoomData){\n * alert(\"canvas zoomed to:\"+zoomData.value);\n * });\n *\n * @param {Number} zoomFactor new zoom factor. range [0.001..10]. 1.0 is no zoom.\n * @param {Boolean} [animated] set it to true for smooth zoom in/out\n */\n setZoom: function setZoom(zoomFactor, animated) {\n // redirect this legacy method to the new CanvasEditPolicy\n //\n if (this.zoomPolicy) {\n this.zoomPolicy.setZoom(zoomFactor, animated);\n }\n },\n\n /**\n *\n * Return the current zoom factor of the canvas.\n *\n * @returns {Number}\n */\n getZoom: function getZoom() {\n return this.zoomFactor;\n },\n\n /**\n *\n * Return the dimension of the drawing area\n *\n * @since 4.4.0\n * @returns {draw2d.geo.Rectangle}\n */\n getDimension: function getDimension() {\n return new _packages2.default.geo.Rectangle(0, 0, this.initialWidth, this.initialHeight);\n },\n\n /**\n *\n * Tells the canvas to resize. If you do not specific any parameters\n * the canvas will attempt to determine the height and width by the enclosing bounding box\n * of all elements and set the dimension accordingly. If you would like to set the dimension\n * explicitly pass in an draw2d.geo.Rectangle or an object with <b>height</b> and <b>width</b> properties.\n *\n * @since 4.4.0\n * @param {draw2d.geo.Rectangle} [dim] the dimension to set or null for autodetect\n * @param {Number} [height] the height of the canvas if the first argument is a number and not a Rectangle\n */\n setDimension: function setDimension(dim, height) {\n if (typeof dim === \"undefined\") {\n var widths = this.getFigures().clone().map(function (f) {\n return f.getAbsoluteX() + f.getWidth();\n });\n var heights = this.getFigures().clone().map(function (f) {\n return f.getAbsoluteY() + f.getHeight();\n });\n this.initialHeight = Math.max.apply(Math, _toConsumableArray(heights.asArray()));\n this.initialWidth = Math.max.apply(Math, _toConsumableArray(widths.asArray()));\n } else if (dim instanceof _packages2.default.geo.Rectangle) {\n this.initialWidth = dim.w;\n this.initialHeight = dim.h;\n } else if (typeof dim.width === \"number\" && typeof dim.height === \"number\") {\n this.initialWidth = dim.width;\n this.initialHeight = dim.height;\n } else if (typeof dim === \"number\" && typeof height === \"number\") {\n this.initialWidth = dim;\n this.initialHeight = height;\n }\n this.html.css({ \"width\": this.initialWidth + \"px\", \"height\": this.initialHeight + \"px\" });\n this.paper.setSize(this.initialWidth, this.initialHeight);\n this.setZoom(this.zoomFactor, false);\n\n return this;\n },\n\n /**\n *\n * Transforms a document coordinate to canvas coordinate.\n *\n * @param {Number} x the x coordinate relative to the window\n * @param {Number} y the y coordinate relative to the window\n *\n * @returns {draw2d.geo.Point} The coordinate in relation to the canvas [0,0] position\n */\n fromDocumentToCanvasCoordinate: function fromDocumentToCanvasCoordinate(x, y) {\n return new _packages2.default.geo.Point((x - this.getAbsoluteX() + this.getScrollLeft()) * this.zoomFactor, (y - this.getAbsoluteY() + this.getScrollTop()) * this.zoomFactor);\n },\n\n /**\n *\n * Transforms a canvas coordinate to document coordinate.\n *\n * @param {Number} x the x coordinate in the canvas\n * @param {Number} y the y coordinate in the canvas\n *\n * @returns {draw2d.geo.Point} the coordinate in relation to the document [0,0] position\n */\n fromCanvasToDocumentCoordinate: function fromCanvasToDocumentCoordinate(x, y) {\n return new _packages2.default.geo.Point(x * (1 / this.zoomFactor) + this.getAbsoluteX() - this.getScrollLeft(), y * (1 / this.zoomFactor) + this.getAbsoluteY() - this.getScrollTop());\n },\n\n /**\n *\n * The DOM host of the canvas\n *\n * @returns {HTMLElement}\n */\n getHtmlContainer: function getHtmlContainer() {\n return this.html;\n },\n\n /**\n *\n * Return a common event object independed if we run on an iPad or desktop.\n *\n * @param event\n * @returns {DOMEventObject}\n * @private\n */\n _getEvent: function _getEvent(event) {\n // check for iPad, Android touch events\n //\n if (typeof event.originalEvent !== \"undefined\") {\n if (event.originalEvent.touches && event.originalEvent.touches.length) {\n return event.originalEvent.touches[0];\n } else if (event.originalEvent.changedTouches && event.originalEvent.changedTouches.length) {\n return event.originalEvent.changedTouches[0];\n }\n }\n return event;\n },\n\n /**\n *\n *\n * Set the area which are scrolling the canvas. This can be a jquery selector or\n * a jQuery node.\n *\n * @param {String/HTMLElement} elementSelector\n * @returns {this}\n **/\n setScrollArea: function setScrollArea(elementSelector) {\n this.scrollArea = $(elementSelector);\n\n return this;\n },\n\n /**\n *\n *\n * return the scrolling area of the canvas. This is jQuery object\n *\n * @returns {JQueryElement}\n **/\n getScrollArea: function getScrollArea() {\n return this.scrollArea;\n },\n\n /**\n *\n * The left scroll position.\n *\n * @returns {Number} the left scroll offset of the canvas\n **/\n getScrollLeft: function getScrollLeft() {\n return this.getScrollArea().scrollLeft();\n },\n\n /**\n *\n * The top scroll position\n *\n * @returns {Number} the top scroll offset of the cnavas.\n **/\n getScrollTop: function getScrollTop() {\n return this.getScrollArea().scrollTop();\n },\n\n /**\n *\n * Set left scroll position.\n *\n * @param {Number} left the left scroll offset of the canvas\n **/\n setScrollLeft: function setScrollLeft(left) {\n this.getScrollArea().scrollLeft(left);\n\n return this;\n },\n\n /**\n *\n * set top scroll position\n *\n * @param {Number} top the top scroll offset of the canvas.\n **/\n setScrollTop: function setScrollTop(top) {\n this.getScrollArea().scrollTop(top);\n\n return this;\n },\n\n /**\n *\n * set the new scroll position of the canvas\n *\n * @param {Number} top the top scroll offset of the canvas.\n * @param {Number} left the left scroll offset of the canvas\n * @since 5.8.0\n **/\n scrollTo: function scrollTo(top, left) {\n this.getScrollArea().scrollTop(top).scrollLeft(left);\n\n return this;\n },\n\n /**\n *\n * The absolute document x offset.\n *\n * @returns {Number}\n **/\n getAbsoluteX: function getAbsoluteX() {\n return this.html.offset().left;\n },\n\n /**\n *\n * The absolute document y offset.\n *\n * @returns {Number}\n **/\n getAbsoluteY: function getAbsoluteY() {\n return this.html.offset().top;\n },\n\n /**\n *\n * Return the width of the canvas\n *\n * @returns {Number}\n **/\n getWidth: function getWidth() {\n return this.html.width();\n },\n\n /**\n *\n * Return the height of the canvas.\n *\n * @returns {Number}\n **/\n getHeight: function getHeight() {\n return this.html.height();\n },\n\n /**\n *\n * Add a figure at the given x/y coordinate. This method fires an event.\n *\n * Example:\n *\n * canvas.on(\"figure:add\", function(emitter, event){\n * alert(\"figure added:\");\n * });\n *\n * // or more general if you want catch all figure related events\n * //\n * canvas.on(\"figure\", function(emitter, event){\n * // use event.figure.getCanvas()===null to determine if the\n * // figure part of the canvas\n *\n * alert(\"figure added or removed:\");\n * });\n *\n * @param {draw2d.Figure} figure The figure to add.\n * @param {Number/draw2d.geo.Point} [x] The new x coordinate of the figure or the x/y coordinate if it is an draw2d.geo.Point\n * @param {Number} [y] The y position.\n **/\n add: function add(figure, x, y) {\n if (figure.getCanvas() === this) {\n return;\n }\n\n if (figure instanceof _packages2.default.shape.basic.Line) {\n this.lines.add(figure);\n this.linesToRepaintAfterDragDrop = this.lines;\n } else {\n this.figures.add(figure);\n if (typeof y !== \"undefined\") {\n figure.setPosition(x, y);\n } else if (typeof x !== \"undefined\") {\n figure.setPosition(x);\n }\n }\n figure.setCanvas(this);\n\n // to avoid drag&drop outside of this canvas\n figure.installEditPolicy(this.regionDragDropConstraint);\n\n // important initial call\n figure.getShapeElement();\n\n // init a repaint of the figure. This enforce that all properties\n // ( color, dim, stroke,...) will be set and pushed to SVG node.\n figure.repaint();\n\n // fire the figure:add event before the \"move\" event and after the figure.repaint() call!\n // - the move event can only be fired if the figure part of the canvas.\n // and in this case the notification event should be fired to the listener before\n this.fireEvent(\"figure:add\", { figure: figure, canvas: this });\n\n // fire the event that the figure is part of the canvas\n figure.fireEvent(\"added\", { figure: figure, canvas: this });\n\n // ...now we can fire the initial move event\n figure.fireEvent(\"move\", { figure: figure, x: figure.getX(), y: figure.getY(), dx: 0, dy: 0 });\n\n // this is only required if the used router requires the crossing information\n // of the connections\n if (figure instanceof _packages2.default.shape.basic.PolyLine) {\n this.calculateConnectionIntersection();\n this.linesToRepaintAfterDragDrop.each(function (i, line) {\n line.svgPathString = null;\n line.repaint();\n });\n this.linesToRepaintAfterDragDrop = new _packages2.default.util.ArrayList();\n }\n\n return this;\n },\n\n /**\n *\n * Remove a figure or connection from the Canvas. This method fires an event\n * which can be catched.\n *\n * Example:\n *\n * canvas.on(\"figure:remove\", function(emitter, event){\n * alert(\"figure removed:\");\n * });\n *\n * // or more general if you want catch all figure related events\n * //\n * canvas.on(\"figure\", function(emitter, event){\n * // use event.figure.getCanvas()===null to determine if the\n * // figure part of the canvas\n *\n * alert(\"figure added or removed:\");\n * });\n *\n *\n * @param {draw2d.Figure} figure The figure to remove\n **/\n remove: function remove(figure) {\n var _this4 = this;\n\n // don't fire events of calll callbacks if the fire isn'T part of this canvas\n //\n if (figure.getCanvas() !== this) {\n return this;\n }\n\n // remove the figure from a selection handler as well and cleanup the\n // selection feedback\n if (this.getSelection().contains(figure)) {\n this.editPolicy.each(function (i, policy) {\n if (typeof policy.unselect === \"function\") {\n policy.unselect(_this4, figure);\n }\n });\n }\n\n if (figure instanceof _packages2.default.shape.basic.Line) {\n this.lines.remove(figure);\n } else {\n this.figures.remove(figure);\n }\n\n figure.setCanvas(null);\n\n if (figure instanceof _packages2.default.Connection) {\n figure.disconnect();\n }\n\n this.fireEvent(\"figure:remove\", { figure: figure });\n\n figure.fireEvent(\"removed\", { figure: figure, canvas: this });\n\n return this;\n },\n\n /**\n *\n * Returns all lines/connections in this workflow/canvas.<br>\n *\n * @returns {draw2d.util.ArrayList}\n **/\n getLines: function getLines() {\n return this.lines;\n },\n\n /**\n *\n * Returns the internal figures.<br>\n *\n * @returns {draw2d.util.ArrayList}\n **/\n getFigures: function getFigures() {\n return this.figures;\n },\n\n /**\n *\n * Returns the line or connection with the given id.\n *\n * @param {String} id The id of the line.\n *\n * @returns {draw2d.shape.basic.Line}\n **/\n getLine: function getLine(id) {\n var count = this.lines.getSize();\n for (var i = 0; i < count; i++) {\n var line = this.lines.get(i);\n if (line.getId() === id) {\n return line;\n }\n }\n return null;\n },\n\n /**\n *\n * Returns the figure with the given id.\n *\n * @param {String} id The id of the figure.\n * @returns {draw2d.Figure}\n **/\n getFigure: function getFigure(id) {\n var figure = null;\n this.figures.each(function (i, e) {\n if (e.id === id) {\n figure = e;\n return false;\n }\n });\n return figure;\n },\n\n /**\n *\n * Return all intersections draw2d.geo.Point between the given line and all other\n * lines in the canvas.\n *\n * @param {draw2d.shape.basic.Line} line the line for the intersection test\n * @returns {draw2d.util.ArrayList}\n */\n getIntersection: function getIntersection(line) {\n var result = new _packages2.default.util.ArrayList();\n\n this.lineIntersections.each(function (i, entry) {\n if (entry.line === line) {\n entry.intersection.each(function (j, p) {\n result.add({ x: p.x, y: p.y, justTouching: p.justTouching, other: entry.other });\n });\n }\n });\n\n return result;\n },\n\n /**\n *\n * Adjust the coordinate with the installed SnapToHelper.\n *\n * @param {draw2d.Figure} figure The related figure\n * @param {draw2d.geo.Point} pos The position to adjust\n *\n * @returns {draw2d.geo.Point} the adjusted position\n * @private\n **/\n snapToHelper: function snapToHelper(figure, pos) {\n var _this5 = this;\n\n // disable snapToPos if we have select more than one element\n // which are currently in Drag&Drop operation\n //\n if (this.getSelection().getSize() > 1) {\n return pos;\n }\n\n var orig = pos.clone();\n this.editPolicy.each(function (i, policy) {\n if (policy instanceof _packages2.default.policy.canvas.SnapToEditPolicy) {\n pos = policy.snap(_this5, figure, pos, orig);\n }\n });\n\n return pos;\n },\n\n /**\n *\n * Register a port to the canvas. This is required for other ports to find a valid drop target.\n *\n * @param {draw2d.Port} port The new port which has been added to the Canvas.\n **/\n registerPort: function registerPort(port) {\n // All elements have the same drop targets.\n //\n if (!this.commonPorts.contains(port)) {\n this.commonPorts.add(port);\n }\n\n return this;\n },\n\n /**\n *\n * Remove a port from the internal cnavas registration. Now other ports can't find the\n * port anymore as drop target. The port itself is still visible.\n *\n * @param {draw2d.Port} port The port to unregister as potential drop target\n * @private\n * @returns {this}\n **/\n unregisterPort: function unregisterPort(port) {\n this.commonPorts.remove(port);\n\n return this;\n },\n\n /**\n *\n * Return all ports in the canvas\n *\n * @returns {draw2d.util.ArrayList} all ports from all figures\n */\n getAllPorts: function getAllPorts() {\n return this.commonPorts;\n },\n\n /**\n *\n * Returns the command stack for the Canvas. Required for undo/redo support.\n *\n * @returns {draw2d.command.CommandStack}\n **/\n getCommandStack: function getCommandStack() {\n return this.commandStack;\n },\n\n /**\n *\n * Returns the current selected figure in the Canvas.\n *\n * @returns {draw2d.Figure}\n **/\n getPrimarySelection: function getPrimarySelection() {\n return this.selection.getPrimary();\n },\n\n /**\n *\n * Returns the current selection.\n *\n * @returns {draw2d.Selection}\n **/\n getSelection: function getSelection() {\n return this.selection;\n },\n\n /**\n *\n * Set the current selected figure or figures in the canvas.<br>\n * <br>\n * You can hand over a draw2d.util.ArrayList since version 4.8.0 for multiple selection.\n *\n * @param {draw2d.Figure| draw2d.util.ArrayList} object The figure or list of figures to select.\n * @returns {this}\n **/\n setCurrentSelection: function setCurrentSelection(object) {\n var _this6 = this;\n\n // deselect the current selected figures\n //\n // clone the array (getAll) before iterate and modify the initial array\n this.selection.getAll().each(function (i, e) {\n _this6.editPolicy.each(function (i, policy) {\n if (typeof policy.unselect === \"function\") {\n policy.unselect(_this6, e);\n }\n });\n });\n this.addSelection(object);\n\n return this;\n },\n\n /**\n *\n * Add the current figure to the selection. If a single selection policy is installed in the\n * canvas the selection before is reseted and the figure is the one and only selection.\n *\n * @param {draw2d.Figure | draw2d.util.ArrayList} object The figure(s) to add to the selection\n * @since 4.6.0\n * @returns {this}\n **/\n addSelection: function addSelection(object) {\n var _this7 = this;\n\n var add = function add(i, figure) {\n _this7.editPolicy.each(function (i, policy) {\n if (typeof policy.select === \"function\") {\n policy.select(_this7, figure);\n }\n });\n };\n\n if (object instanceof _packages2.default.util.ArrayList || object instanceof _packages2.default.Selection) {\n object.each(add);\n } else {\n add(0, object);\n }\n\n return this;\n },\n\n /**\n *\n * Returns the best figure at the location [x,y]. It is a simple hit test. Keep in mind that only visible objects\n * are returned.\n *\n *\n * @param {Number} x The x position.\n * @param {Number} y The y position.\n * @param {draw2d.Figure|Array|Class} [blacklist] The figures or class which should be ignored.\n * @param {draw2d.Figure|Array|Class} [whitelist] The figures or class should be considered.\n *\n * @returns {draw2d.Figure}\n **/\n getBestFigure: function getBestFigure(x, y, blacklist, whitelist) {\n if (!Array.isArray(blacklist)) {\n if (blacklist) blacklist = [blacklist];else blacklist = [];\n }\n\n if (!Array.isArray(whitelist)) {\n if (whitelist) whitelist = [whitelist];else whitelist = [];\n }\n\n var result = null;\n var testFigure = null;\n\n var isInList = function isInList(testFigure, list) {\n for (var i = 0, len = list.length; i < len; i++) {\n var considering = list[i];\n if (typeof considering === \"function\") {\n if (testFigure instanceof considering) {\n return true;\n }\n } else if (considering === testFigure || considering.contains(testFigure)) {\n return true;\n }\n }\n return false;\n };\n var isInBlacklist = function isInBlacklist(item) {\n return isInList(item, blacklist);\n };\n // empty whitelist means that every kind of object is allowed\n var isInWhitelist = whitelist.length === 0 ? function () {\n return true;\n } : function (item) {\n return isInList(item, whitelist);\n };\n\n // tool method to check recursive a figure for hitTest\n //\n var checkRecursive = function checkRecursive(children) {\n children.each(function (i, e) {\n var c = e.figure;\n checkRecursive(c.children);\n if (result === null && c.isVisible() && c.hitTest(x, y) && !isInBlacklist(c) && isInWhitelist(c)) {\n result = c;\n }\n return result === null; // break the each-loop if we found an element\n });\n };\n\n // ResizeHandles\n //\n for (var i = 0, len = this.resizeHandles.getSize(); i < len; i++) {\n testFigure = this.resizeHandles.get(i);\n if (testFigure.isVisible() && testFigure.hitTest(x, y) && !isInBlacklist(testFigure) && isInWhitelist(testFigure)) {\n return testFigure;\n }\n }\n\n // Checking ports\n //\n for (var _i = 0, _len = this.commonPorts.getSize(); _i < _len; _i++) {\n var port = this.commonPorts.get(_i);\n // check first a children of the figure\n //\n checkRecursive(port.children);\n\n if (result === null && port.isVisible() && port.hitTest(x, y) && !isInBlacklist(port) && isInWhitelist(port)) {\n result = port;\n }\n\n if (result !== null) {\n return result;\n }\n }\n\n // Check now the common objects.\n // run reverse to aware the z-oder of the figures\n for (var _i2 = this.figures.getSize() - 1; _i2 >= 0; _i2--) {\n var figure = this.figures.get(_i2);\n // check first a children of the figure\n //\n checkRecursive(figure.children);\n\n // ...and the figure itself\n //\n if (result === null && figure.isVisible() && figure.hitTest(x, y) && !isInBlacklist(figure) && isInWhitelist(figure)) {\n result = figure;\n break;\n }\n }\n\n var figureResult = result;\n var childResult = null;\n var lineResult = this.getBestLine(x, y, blacklist, whitelist);\n result = null;\n\n // Check the children of the lines as well\n // Not selectable/draggable. But should receive onClick/onDoubleClick events\n // as well.\n var count = this.lines.getSize();\n for (var _i3 = 0; _i3 < count; _i3++) {\n var line = this.lines.get(_i3);\n // check first a children of the figure\n //\n checkRecursive(line.children);\n\n if (result !== null) {\n childResult = result;\n break;\n }\n }\n\n var figureIndex = figureResult !== null ? $(figureResult.shape.node).index() : -1;\n var childIndex = childResult !== null ? $(childResult.shape.node).index() : -1;\n var lineIndex = lineResult !== null ? $(lineResult.shape.node).index() : -1;\n var array = [{ i: figureIndex, f: figureResult }, { i: childIndex, f: childResult }, { i: lineIndex, f: lineResult }];\n array = array.filter(function (e) {\n return e.i !== -1;\n });\n array = array.sort(function (a, b) {\n return b.i - a.i;\n });\n\n if (array.length > 0) {\n result = array[0].f;\n }\n\n return result;\n },\n\n /**\n *\n * Return the line which match the hands over coordinate\n *\n * @param {Number} x the x-coordinate for the hit test\n * @param {Number} y the x-coordinate for the hit test\n * @param {draw2d.shape.basic.Line} [lineToIgnore] a possible line which should be ignored for the hit test\n *\n * @private\n * @returns {draw2d.shape.basic.Line}\n **/\n getBestLine: function getBestLine(x, y, lineToIgnore) {\n if (!Array.isArray(lineToIgnore)) {\n if (lineToIgnore instanceof _packages2.default.Figure) {\n lineToIgnore = [lineToIgnore];\n } else {\n lineToIgnore = [];\n }\n }\n var count = this.lines.getSize();\n\n for (var i = 0; i < count; i++) {\n var line = this.lines.get(i);\n if (line.isVisible() === true && line.hitTest(x, y) === true && $.inArray(line, lineToIgnore) === -1) {\n return line;\n }\n }\n return null;\n },\n\n /**\n *\n * Called by the framework during drag&drop operations.<br>\n * Droppable can be setup with:\n * <pre>\n * $(\".draw2d_droppable\").draggable({\n * appendTo:\"#container\",\n * stack:\"#container\",\n * zIndex: 27000,\n * helper:\"clone\",\n * start: function(e, ui){$(ui.helper).addClass(\"shadow\");}\n * });\n * </pre>\n * Draw2D use the jQuery draggable/droppable lib. Please inspect\n * http://jqueryui.com/demos/droppable/ for further information.\n *\n * @param {HTMLElement} draggedDomNode The DOM element which is currently dragging\n *\n * @template\n **/\n onDragEnter: function onDragEnter(draggedDomNode) {},\n\n /**\n *\n * Called if the DragDrop object is moving around.<br>\n * <br>\n * Draw2D use the jQuery draggable/droppable lib. Please inspect\n * http://jqueryui.com/demos/droppable/ for further information.\n *\n * @param {HTMLElement} draggedDomNode The dragged DOM element.\n * @param {Number} x the x coordinate of the drag\n * @param {Number} y the y coordinate of the drag\n *\n * @template\n **/\n onDrag: function onDrag(draggedDomNode, x, y) {},\n\n /**\n *\n * Called if the DragDrop object leaving the current hover figure.<br>\n * <br>\n * Graphiti use the jQuery draggable/droppable lib. Please inspect\n * http://jqueryui.com/demos/droppable/ for further information.\n *\n * @param {HTMLElement} draggedDomNode The figure which is currently dragging\n *\n * @template\n **/\n onDragLeave: function onDragLeave(draggedDomNode) {},\n\n /**\n *\n * Called if the user drop the droppedDomNode onto the canvas.<br>\n * <br>\n * Draw2D use the jQuery draggable/droppable lib. Please inspect\n * http://jqueryui.com/demos/droppable/ for further information.\n *\n * @param {HTMLElement} droppedDomNode The dropped DOM element.\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @template\n **/\n onDrop: function onDrop(droppedDomNode, x, y, shiftKey, ctrlKey) {},\n\n /**\n *\n * Callback method for the double click event. The x/y coordinates are relative to the top left\n * corner of the canvas.\n *\n * @private\n **/\n onDoubleClick: function onDoubleClick(x, y, shiftKey, ctrlKey) {\n // check if a line has been hit\n //\n var figure = this.getBestFigure(x, y);\n\n // or a line/connection. May we should test the line before a figure..?\n // (since 4.0.0)\n if (figure === null) {\n figure = this.getBestLine(x, y);\n }\n\n this.fireEvent(\"dblclick\", { figure: figure, x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n\n // forward the event to all install policies as well.\n // (since 4.0.0)\n this.editPolicy.each(function (i, policy) {\n policy.onDoubleClick(figure, x, y, shiftKey, ctrlKey);\n });\n },\n\n /**\n *\n * @param {Number} x the x coordinate of the event\n * @param {Number} y the y coordinate of the event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onClick: function onClick(x, y, shiftKey, ctrlKey) {\n // check if a figure has been hit\n //\n var figure = this.getBestFigure(x, y);\n\n this.fireEvent(\"click\", {\n figure: figure,\n x: x,\n y: y,\n relX: figure !== null ? x - figure.getAbsoluteX() : 0,\n relY: figure !== null ? y - figure.getAbsoluteY() : 0,\n shiftKey: shiftKey,\n ctrlKey: ctrlKey\n });\n\n // forward the event to all install policies as well.\n // (since 3.0.0)\n this.editPolicy.each(function (i, policy) {\n policy.onClick(figure, x, y, shiftKey, ctrlKey);\n });\n },\n\n /**\n *\n * The user has triggered a right click. Redirect them to a responsible figure.\n *\n * @param {Number} x The x-coordinate of the click\n * @param {Number} y The y-coordinate of the click\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @private\n * @since 1.1.0\n **/\n onRightMouseDown: function onRightMouseDown(x, y, shiftKey, ctrlKey) {\n var figure = this.getBestFigure(x, y);\n this.fireEvent(\"contextmenu\", { figure: figure, x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n\n if (figure !== null) {\n figure.fireEvent(\"contextmenu\", { figure: figure, x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n // @deprecated legacy call\n figure.onContextMenu(x, y);\n\n // forward the event to all installed policies of the figure\n // soft migration from onHookXYZ to Policies.\n // since 4.4.0\n figure.editPolicy.each(function (i, policy) {\n policy.onRightMouseDown(figure, x, y, shiftKey, ctrlKey);\n });\n }\n\n // forward the event to all install policies as well.\n // (since 4.4.0)\n this.editPolicy.each(function (i, policy) {\n policy.onRightMouseDown(figure, x, y, shiftKey, ctrlKey);\n });\n },\n\n /**\n *\n * @param {Number} wheelDelta the delata of the wheel rotation\n * @param {Number} x the x coordinate of the event\n * @param {Number} y the y coordinate of the event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onMouseWheel: function onMouseWheel(wheelDelta, x, y, shiftKey, ctrlKey) {\n var returnValue = true;\n this.fireEvent(\"wheel\", { wheelDelta: wheelDelta, x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n\n // forward the event to all install policies as well.\n // (since 3.0.0)\n this.editPolicy.each(function (i, policy) {\n returnValue = policy.onMouseWheel(wheelDelta, x, y, shiftKey, ctrlKey) && returnValue;\n });\n\n return returnValue;\n },\n\n // NEW EVENT HANDLING SINCE VERSION 5.0.0\n /**\n *\n * Execute all handlers and behaviors attached to the canvas for the given event type.\n *\n *\n * @param {String} event the event to trigger\n * @param {Object} [args] optional parameters for the triggered event callback\n * @private\n * @since 5.0.0\n */\n fireEvent: function fireEvent(event, args) {\n if (typeof this.eventSubscriptions[event] === 'undefined') {\n return;\n }\n\n var subscribers = this.eventSubscriptions[event];\n for (var i = 0; i < subscribers.length; i++) {\n try {\n subscribers[i](this, args);\n } catch (exc) {\n console.log(exc);\n console.log(subscribers[i]);\n debugger;\n }\n }\n },\n\n /**\n *\n * Attach an event handler function for one or more events to the canvas.\n * To remove events bound with .on(), see {@link #off}.\n *\n * possible events are:<br>\n * <ul>\n * <li>reset</li>\n * <li>select</li>\n * </ul>\n *\n * Example:\n *\n * canvas.on(\"clear\", function(emitter, event){\n * alert(\"canvas.clear() called.\");\n * });\n *\n * canvas.on(\"select\", function(emitter,event){\n * alert(\"figure selected\");\n * });\n *\n * canvas.on(\"unselect\", function(emitter,event){\n * alert(\"figure unselected\");\n * });\n * \n * @param {String} event One or more space-separated event types\n * @param {Function} callback A function to execute when the event is triggered.\n * @param {draw2d.Canvas} callback.emitter the emitter of the event\n * @param {Object} [callback.obj] optional event related data\n *\n * @since 5.0.0\n */\n on: function on(event, callback) {\n var events = event.split(\" \");\n for (var i = 0; i < events.length; i++) {\n if (typeof this.eventSubscriptions[events[i]] === 'undefined') {\n this.eventSubscriptions[events[i]] = [];\n }\n this.eventSubscriptions[events[i]].push(callback);\n }\n return this;\n },\n\n /**\n *\n * The `off()` method removes event handlers that were attached with {@link #on}.<br>\n * Calling .off() with no arguments removes all handlers attached to the canvas.<br>\n * <br>\n * If a simple event name such as \"reset\" is provided, all events of that type are removed from the canvas.\n *\n *\n * @param {String|Function} eventOrFunction the event name of the registerd function\n * @since 5.0.0\n */\n off: function off(eventOrFunction) {\n if (typeof eventOrFunction === \"undefined\") {\n this.eventSubscriptions = {};\n } else if (typeof eventOrFunction === 'string') {\n this.eventSubscriptions[eventOrFunction] = [];\n } else {\n for (var event in this.eventSubscriptions) {\n this.eventSubscriptions[event] = this.eventSubscriptions[event].filter(function (callback) {\n return callback !== eventOrFunction;\n });\n }\n }\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/Configuration.js\":\n/*!******************************!*\\\n !*** ./src/Configuration.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.Configuration = {\n version: \"@VERSION@\",\n i18n: {\n command: {\n move: \"Move Shape\",\n assignShape: \"Add Shapes to Composite\",\n groupShapes: \"Group Shapes\",\n ungroupShapes: \"Ungroup Shapes\",\n deleteShape: \"Delete Shape\",\n moveShape: \"Move Shape\",\n moveLine: \"Move Line\",\n addShape: \"Add Shape\",\n moveVertex: \"Move Vertex\",\n moveVertices: \"Move Vertices\",\n deleteVertex: \"Delete Vertex\",\n resizeShape: \"Resize Shape\",\n rotateShape: \"Rotate Shape\",\n collection: \"Execute Commands\",\n addVertex: \"Add Vertex\",\n changeAttributes: \"Change Attributes\",\n connectPorts: \"Connect Ports\"\n },\n menu: {\n deleteSegment: \"Delete Segment\",\n addSegment: \"Add Segment\"\n },\n dialog: {\n filenamePrompt: \"Enter Filename:\"\n }\n },\n\n factory: {\n // all selection policies calles this method to create a ResizeHandle.\n // It is possible to replace this method with a custom implementation\n // @since 5.2.0\n createResizeHandle: function createResizeHandle(owner, type, width, height) {\n // create a custom SelectionPolicy instead\n console.log(\"deprecated call factory.createResizeHandle\");\n\n return new _packages2.default.ResizeHandle({ owner: owner, type: type, width: width, height: height });\n },\n // The commands an canvas calles this method to create a new connection.\n // all parameters are optional.\n // @since 5.3.0\n // @deprecated\n createConnection: function createConnection(sourcePort, targetPort, callback, dropTarget) {\n console.log(\"deprecated call factory.createConnection\");\n debugger;\n return new _packages2.default.Connection();\n },\n // @since 5.3.0\n createInputPort: function createInputPort(relatedFigure) {\n return new _packages2.default.InputPort();\n },\n // @since 5.3.0\n createOutputPort: function createOutputPort(relatedFigure) {\n return new _packages2.default.OutputPort();\n },\n // @since 5.3.0\n createHybridPort: function createHybridPort(relatedFigure) {\n return new _packages2.default.HybridPort();\n }\n }\n};\n\n/***/ }),\n\n/***/ \"./src/Connection.js\":\n/*!***************************!*\\\n !*** ./src/Connection.js ***!\n \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Connections figures are used to display a line between two points. The Connection interface extends\n * {@link draw2d.shape.basic.PolyLine PolyLine}.<br>\n * The source and target endpoints of a connection are each defined using a {@link draw2d.layout.anchor.ConnectionAnchor ConnectionAnchor}.\n * These endpoints, along with any other points on the connection, are set by the connection's {@link draw2d.layout.connection.ConnectionRouter ConnectionRouter}.\n * <br>\n * Usually every connection in a drawing has the same router instance. Connections with\n * common endpoints can share anchor instances as well.\n *\n * <h2>Connection Usage</h2>\n *\n * Connections are created and added just like any other figure. Unlike normal figures, you must not set the\n * bounds of a connection. Instead, you must provide the source and target port and let the connection router\n * calculate the connection's points. The connection then determines its own bounding box.<br>\n * <br>\n * A connection has a simple router by default - one that can connect the source and target anchors. But additional routers\n * are available and can be set on the connection. Some routers can handle constraints for the connection. Note that when\n * setting a routing constraint on a connection, you must first set the router which will use that constraint.<br>\n * <br>\n *\n * <b>TODO:<br></b>\n * <i>\n * A convenient way to share the router with all connections and to place connections above the drawing is to use a\n * ConnectionLayer. The layer has a connection router property which it shares with every child that's a connection.\n * You can update this property and easily change every connection's router at once.\n * </i>\n * <br>\n * <br>\n * <h2>Routing and Anchors</h2>\n * A connection always has a router and it must set at least two ports on the connection: the source and target\n * endpoints. By default, or when set to null, the connection's routing will be performed by an internal default router.\n * The ends are placed with the help of {@link draw2d.layout.anchor.ConnectionAnchor anchors}. An\n * {@link draw2d.layout.anchor.ConnectionAnchor anchors} is a fixed or calculated location, usually associated with some\n * figure. For example, the {@link draw2d.layout.anchor.ChopboxConnectionAnchor ChopboxAnchor} finds the point at which a\n * line going to the reference point intersects a box, such as the bounds of a figure. The reference point is either\n * the anchor at the opposite end, or a bendpoint or some other point nearest to the anchor.\n * <br>\n * {@img jsdoc_chopbox.gif ChopboxAnchor}\n * <br>\n * The router calculates the endpoints and any other points in the middle of the connection. It then sets the points on the\n * connection by calling {@link draw2d.shape.basic.PolyLine#addPoint Polyline.addPoint}. The connection's existing point list\n * can be reused to reduce garbage, but the points must be set on the connection anyway so that it knows about any changes made.\n * <br>\n * <h2>Adding Decorations and Children to Connections</h2>\n * Like most figures, Connection supports the addition of children. The children might be a label that\n * decorate the connection. The placement of each type of decoration can vary, so a {@link draw2d.layout.locator.ConnectionLocator ConnectionLocator}\n * is used to delegate to each child's constraint object, a Locator. <br>\n * <br>\n * {@link draw2d.decoration.connection.Decorator Decorator} can be used to create and render a rotatable shape at\n * the end or start of a connection like arrows or boxes. Examples are {@link draw2d.decoration.connection.ArrowDecorator ArrowDecorator}, {@link draw2d.decoration.connection.BarDecorator BarDecorator} or {@link draw2d.decoration.connection.CircleDecorator CircleDecorator}\n * <br>\n * <h2>Connection Layout</h2>\n * Connections extend the process of validation and layout to include routing. Since layout is the process of positioning children, routing must\n * come first. This allows a child's locator to operate on the connection's newly-routed points.<br>\n * Check out [Class System Guide](#!/guide/class_system) for additional reading.\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.basic.PolyLine\n */\n\n_packages2.default.Connection = _packages2.default.shape.basic.PolyLine.extend(\n/** @lends draw2d.Connection.prototype */\n{\n\n NAME: \"draw2d.Connection\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.sourcePort = null;\n this.targetPort = null;\n\n this.oldPoint = null;\n\n this.sourceDecorator = null;\n /*:draw2d.ConnectionDecorator*/\n this.targetDecorator = null;\n /*:draw2d.ConnectionDecorator*/\n\n // decoration of the polyline\n //\n this.sourceDecoratorNode = null;\n this.targetDecoratorNode = null;\n\n // helper let to restore the initial visual representation if the user drag&drop\n // the port outside of the browser window. In this case some events get lost and\n // I can restore the initial state of the connection if the mouse comes in the browser window\n // again.\n this.isMoving = false;\n\n var _this = this;\n this.moveListener = function (figure) {\n if (figure === _this.sourcePort) {\n _this.setStartPoint(_this.sourcePort.getAbsoluteX(), _this.sourcePort.getAbsoluteY());\n } else {\n _this.setEndPoint(_this.targetPort.getAbsoluteX(), _this.targetPort.getAbsoluteY());\n }\n };\n\n this._super((0, _extend2.default)({\n color: \"#129CE4\",\n stroke: 2,\n // outlineStroke:1,\n // outlineColor:\"#ffffff\",\n radius: 3\n }, attr), (0, _extend2.default)({\n sourceDecorator: this.setSourceDecorator,\n targetDecorator: this.setTargetDecorator,\n source: this.setSource,\n target: this.setTarget\n }, setter), (0, _extend2.default)({\n sourceDecorator: this.getSourceDecorator,\n targetDecorator: this.getTargetDecorator,\n source: this.getSource,\n target: this.getTarget\n }, getter));\n },\n\n /**\n * @private\n **/\n disconnect: function disconnect() {\n if (this.sourcePort !== null) {\n this.sourcePort.off(this.moveListener);\n this.sourcePort.connections.remove(this);\n\n // fire the events to all listener\n this.sourcePort.fireEvent(\"disconnect\", { port: this.sourcePort, connection: this });\n if (this.canvas !== null) {\n this.canvas.fireEvent(\"disconnect\", { \"port\": this.sourcePort, \"connection\": this });\n }\n this.sourcePort.onDisconnect(this);\n\n this.fireSourcePortRouteEvent();\n }\n\n if (this.targetPort !== null) {\n this.targetPort.off(this.moveListener);\n this.targetPort.connections.remove(this);\n\n // fire the events to all listener\n this.targetPort.fireEvent(\"disconnect\", { port: this.targetPort, connection: this });\n if (this.canvas !== null) {\n this.canvas.fireEvent(\"disconnect\", { \"port\": this.targetPort, \"connection\": this });\n }\n this.targetPort.onDisconnect(this);\n\n this.fireTargetPortRouteEvent();\n }\n },\n\n /**\n * @private\n **/\n reconnect: function reconnect() {\n if (this.sourcePort !== null) {\n this.sourcePort.on(\"move\", this.moveListener);\n this.sourcePort.connections.add(this);\n\n // fire the events to all listener\n this.sourcePort.fireEvent(\"connect\", { port: this.sourcePort, connection: this });\n if (this.canvas !== null) {\n this.canvas.fireEvent(\"connect\", { \"port\": this.sourcePort, \"connection\": this });\n }\n this.sourcePort.onConnect(this);\n\n this.fireSourcePortRouteEvent();\n }\n\n if (this.targetPort !== null) {\n this.targetPort.on(\"move\", this.moveListener);\n this.targetPort.connections.add(this);\n\n // fire the events to all listener\n this.targetPort.fireEvent(\"connect\", { port: this.targetPort, connection: this });\n if (this.canvas !== null) {\n this.canvas.fireEvent(\"connect\", { \"port\": this.targetPort, \"connection\": this });\n }\n this.targetPort.onConnect(this);\n\n this.fireTargetPortRouteEvent();\n }\n this.routingRequired = true;\n this.repaint();\n },\n\n /**\n * You can't drag&drop the resize handles of a connector.\n *\n * @returns {Boolean}\n **/\n isResizeable: function isResizeable() {\n return this.isDraggable();\n },\n\n /**\n *\n * Add a child figure to the Connection. The hands over figure doesn't support drag&drop\n * operations. It's only a decorator for the connection.<br>\n * Mainly for labels or other fancy decorations :-)\n *\n * @param {draw2d.Figure} child the figure to add as decoration to the connection.\n * @param {draw2d.layout.locator.ConnectionLocator} locator the locator for the child.\n * @param {Number} [index] optional index where to insert the figure\n * @returns {this}\n **/\n add: function add(child, locator, index) {\n // just to ensure the right interface for the locator.\n // The base class needs only 'draw2d.layout.locator.Locator'.\n if (!(locator instanceof _packages2.default.layout.locator.ConnectionLocator)) {\n throw \"Locator must implement the class draw2d.layout.locator.ConnectionLocator\";\n }\n\n this._super(child, locator, index);\n },\n\n /**\n *\n * Set the ConnectionDecorator for this object.\n *\n * @param {draw2d.decoration.connection.Decorator} decorator the new source decorator for the connection\n * @returns {this}\n **/\n setSourceDecorator: function setSourceDecorator(decorator) {\n if (this.sourceDecorator) {\n this.sourceDecorator.setParent(null);\n }\n this.sourceDecorator = decorator;\n this.routingRequired = true;\n this.sourceDecorator.setParent(this);\n if (this.sourceDecoratorNode !== null) {\n this.sourceDecoratorNode.remove();\n this.sourceDecoratorNode = null;\n }\n this.repaint();\n\n return this;\n },\n\n /**\n *\n * Get the current source ConnectionDecorator for this object.\n *\n * @returns draw2d.decoration.connection.Decorator\n **/\n getSourceDecorator: function getSourceDecorator() {\n return this.sourceDecorator;\n },\n\n /**\n *\n * Set the ConnectionDecorator for this object.\n *\n * @param {draw2d.decoration.connection.Decorator} decorator the new target decorator for the connection\n * @returns {this}\n **/\n setTargetDecorator: function setTargetDecorator(decorator) {\n if (this.targetDecorator) {\n this.targetDecorator.setParent(null);\n }\n this.targetDecorator = decorator;\n this.routingRequired = true;\n this.targetDecorator.setParent(this);\n if (this.targetDecoratorNode !== null) {\n this.targetDecoratorNode.remove();\n this.targetDecoratorNode = null;\n }\n this.repaint();\n\n return this;\n },\n\n /**\n *\n * Get the current target ConnectionDecorator for this object.\n *\n * @returns draw2d.decoration.connection.Decorator\n **/\n getTargetDecorator: function getTargetDecorator() {\n return this.targetDecorator;\n },\n\n /**\n *\n * Calculate the path of the polyline.\n *\n * @param {Object} routingHints some helper attributes for the router\n * @param {Boolean} routingHints.startMoved is true if just the start location has moved\n * @param {Boolean} routingHints.destMoved is true if the destination location has changed\n * @private\n */\n calculatePath: function calculatePath(routingHints) {\n\n if (this.sourcePort === null || this.targetPort === null) {\n return this;\n }\n\n this._super(routingHints);\n\n if (this.shape !== null) {\n var z1 = this.sourcePort.getZOrder();\n var z2 = this.targetPort.getZOrder();\n z1 < z2 ? this.toBack(this.sourcePort) : this.toBack(this.targetPort);\n }\n\n return this;\n },\n\n /**\n * @private\n **/\n repaint: function repaint(attributes) {\n var _this2 = this;\n\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n if (this.sourcePort === null || this.targetPort === null) {\n return;\n }\n\n this._super(attributes);\n\n // paint the decorator if any exists\n //\n if (this.targetDecorator !== null && this.targetDecoratorNode === null) {\n this.targetDecoratorNode = this.targetDecorator.paint(this.getCanvas().paper);\n }\n\n if (this.sourceDecorator !== null && this.sourceDecoratorNode === null) {\n this.sourceDecoratorNode = this.sourceDecorator.paint(this.getCanvas().paper);\n }\n\n // translate/transform the decorations to the end/start of the connection\n // and rotate them as well\n //\n if (this.sourceDecoratorNode !== null) {\n var start = this.getVertices().first();\n this.sourceDecoratorNode.transform(\"r\" + this.getStartAngle() + \",\" + start.x + \",\" + start.y + \" t\" + start.x + \",\" + start.y);\n // propagate the color and the opacity to the decoration as well\n this.sourceDecoratorNode.attr({ opacity: this.alpha });\n // apply the color of the connection if the decoration doesn't have any\n if (this.sourceDecorator.getColor() === null) {\n this.sourceDecoratorNode.attr({ \"stroke\": \"#\" + this.lineColor.hex() });\n } else {\n this.sourceDecoratorNode.attr({ \"stroke\": \"#\" + this.sourceDecorator.getColor().hex() });\n }\n this.sourceDecoratorNode.forEach(function (shape) {\n shape.node.setAttribute(\"class\", _this2.cssClass !== null ? _this2.cssClass : \"\");\n });\n }\n\n if (this.targetDecoratorNode !== null) {\n var end = this.getVertices().last();\n this.targetDecoratorNode.transform(\"r\" + this.getEndAngle() + \",\" + end.x + \",\" + end.y + \" t\" + end.x + \",\" + end.y);\n this.targetDecoratorNode.attr({ opacity: this.alpha });\n // apply the color of the connection if the decoration doesn't have any\n if (this.targetDecorator.getColor() === null) {\n this.targetDecoratorNode.attr({ \"stroke\": \"#\" + this.lineColor.hex() });\n } else {\n this.targetDecoratorNode.attr({ \"stroke\": \"#\" + this.targetDecorator.getColor().hex() });\n }\n this.targetDecoratorNode.forEach(function (shape) {\n shape.node.setAttribute(\"class\", _this2.cssClass !== null ? _this2.cssClass : \"\");\n });\n }\n },\n\n /**\n *\n * The x-offset related to the canvas.\n * Didn't provided by a connection. Return always '0'. This is required\n * for children position calculation. (e.g. Label decoration)\n *\n * @returns {Number} the x-offset to the parent figure\n **/\n getAbsoluteX: function getAbsoluteX() {\n return 0;\n },\n\n /**\n *\n * The y-offset related to the canvas.\n * Didn't provided by a connection. Return always '0'. This is required\n * for children position calculation. (e.g. Label decoration)\n *\n * @returns {Number} The y-offset to the parent figure.\n **/\n getAbsoluteY: function getAbsoluteY() {\n return 0;\n },\n\n postProcess: function postProcess(postProcessCache) {\n this.router.postProcess(this, this.getCanvas(), postProcessCache);\n },\n\n /**\n *\n * Don't call them manually. This will be done by the framework.<br>\n * Will be called if the object are moved via drag and drop.\n * Sub classes can override this method to implement additional stuff. Don't forget to call\n * the super implementation via <code>this._super(dx, dy, dx2, dy2);</code>\n * @private\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n var _this3 = this;\n\n if (this.command === null) {\n return;\n }\n\n // Delegate the drag&drop operation to the router. The router has\n // all the meta information how to update start/end vertices\n //\n this.router.onDrag(this, dx, dy, dx2, dy2);\n\n this.command.updateVertices(this.getVertices().clone());\n\n // notify all installed policies\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.onDrag(_this3.canvas, _this3);\n }\n });\n\n this.svgPathString = null;\n this.repaint();\n\n // Update the resize handles if the user change the position of the\n // element via an API call.\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this3.canvas, _this3);\n }\n });\n\n this.fireEvent(\"move\", { figure: this, dx: dx, dy: dx });\n },\n\n /**\n *\n * Moves the element so it is the closest to the viewer’s eyes, on top of other elements. Additional\n * the internal model changed as well.\n *\n * Optional: Inserts current object in front of the given one.\n *\n * @param {draw2d.Figure} [figure] move current object in front of the given one.\n * @since 3.0.0\n */\n toFront: function toFront(figure) {\n this._super(figure);\n\n // ensure that the decoration is always in front of the connection\n //\n if (this.shape !== null) {\n if (this.targetDecoratorNode !== null) {\n this.targetDecoratorNode.insertAfter(this.shape);\n }\n if (this.sourceDecoratorNode !== null) {\n this.sourceDecoratorNode.insertAfter(this.shape);\n }\n }\n\n return this;\n },\n\n /**\n *\n * Moves the element to the background. Additional\n * the internal model changed as well.\n *\n * @param {draw2d.Figure} [figure] move this object behind of the 'figure'.\n * @since 4.7.2\n */\n toBack: function toBack(figure) {\n this._super(figure);\n\n if (this.shape !== null) {\n if (this.targetDecoratorNode !== null) {\n this.targetDecoratorNode.insertAfter(this.shape);\n }\n if (this.sourceDecoratorNode !== null) {\n this.sourceDecoratorNode.insertAfter(this.shape);\n }\n }\n\n return this;\n },\n\n /**\n *\n * Return the recalculated position of the start point with the usage of\n * the installed connection anchor locator.\n *\n * @returns {draw2d.geo.Point}\n * @deprecated\n **/\n getStartPoint: function getStartPoint(refPoint) {\n return this.getStartPosition(refPoint);\n },\n\n getStartPosition: function getStartPosition(refPoint) {\n if (this.isMoving === false) {\n if (refPoint) {\n return this.sourcePort.getConnectionAnchorLocation(refPoint, this);\n }\n return this.sourcePort.getConnectionAnchorLocation(this.targetPort.getConnectionAnchorReferencePoint(this), this);\n }\n\n return this._super();\n },\n\n /**\n *\n * Return the recalculated position of the start point with the usage of\n * the installed connection anchor locator.\n *\n * @returns {draw2d.geo.Point}\n * @deprecated\n **/\n getEndPoint: function getEndPoint(refPoint) {\n return this.getEndPosition(refPoint);\n },\n\n getEndPosition: function getEndPosition(refPoint) {\n if (this.isMoving === false) {\n if (refPoint) {\n return this.targetPort.getConnectionAnchorLocation(refPoint, this);\n }\n return this.targetPort.getConnectionAnchorLocation(this.sourcePort.getConnectionAnchorReferencePoint(this), this);\n }\n\n return this._super();\n },\n\n /**\n *\n * Set the new source port of this connection. This enforce a repaint of the connection.\n *\n * @param {draw2d.Port} port The new source port of this connection.\n *\n **/\n setSource: function setSource(port) {\n if (this.sourcePort !== null) {\n this.sourcePort.off(this.moveListener);\n this.sourcePort.connections.remove(this);\n this.sourcePort.fireEvent(\"disconnect\", { port: this.sourcePort, connection: this });\n // it is possible that a connection has already a port but is not assigned to\n // a canvas. In this case we must check if the canvas set correct before we fire this event\n if (this.canvas !== null) {\n this.canvas.fireEvent(\"disconnect\", { \"port\": this.sourcePort, \"connection\": this });\n }\n this.sourcePort.onDisconnect(this);\n }\n\n this.sourcePort = port;\n if (this.sourcePort === null) {\n return;\n }\n\n this.routingRequired = true;\n this.fireSourcePortRouteEvent();\n this.sourcePort.connections.add(this);\n this.sourcePort.on(\"move\", this.moveListener);\n if (this.canvas !== null) {\n this.canvas.fireEvent(\"connect\", { \"port\": this.sourcePort, \"connection\": this });\n }\n this.sourcePort.fireEvent(\"connect\", { port: this.sourcePort, connection: this });\n this.sourcePort.onConnect(this);\n\n this.setStartPoint(port.getAbsoluteX(), port.getAbsoluteY());\n this.fireEvent(\"connect\", { \"port\": this.sourcePort, \"connection\": this });\n },\n\n /**\n *\n * Returns the source port of this connection.\n *\n * @returns {draw2d.Port}\n **/\n getSource: function getSource() {\n return this.sourcePort;\n },\n\n /**\n *\n * Set the target port of this connection. This enforce a repaint of the connection.\n *\n * @param {draw2d.Port} port The new target port of this connection\n **/\n setTarget: function setTarget(port) {\n if (this.targetPort !== null) {\n this.targetPort.off(this.moveListener);\n this.targetPort.connections.remove(this);\n this.targetPort.fireEvent(\"disconnect\", { port: this.targetPort, connection: this });\n // it is possible that a connection has already a port but is not assigned to\n // a canvas. In this case we must check if the canvas set correct before we fire this event\n if (this.canvas !== null) {\n this.canvas.fireEvent(\"disconnect\", { \"port\": this.targetPort, \"connection\": this });\n }\n this.targetPort.onDisconnect(this);\n }\n\n this.targetPort = port;\n if (this.targetPort === null) {\n return;\n }\n\n this.routingRequired = true;\n this.fireTargetPortRouteEvent();\n this.targetPort.connections.add(this);\n this.targetPort.on(\"move\", this.moveListener);\n if (this.canvas !== null) {\n this.canvas.fireEvent(\"connect\", { \"port\": this.targetPort, \"connection\": this });\n }\n this.targetPort.fireEvent(\"connect\", { port: this.targetPort, connection: this });\n this.targetPort.onConnect(this);\n\n this.setEndPoint(port.getAbsoluteX(), port.getAbsoluteY());\n this.fireEvent(\"connect\", { \"port\": this.targetPort, \"connection\": this });\n },\n\n /**\n *\n * Returns the target port of this connection.\n *\n * @returns {draw2d.Port}\n **/\n getTarget: function getTarget() {\n return this.targetPort;\n },\n\n /**\n *\n * Method returns true if the connection has at least one common draw2d.Port with the given connection.\n *\n * @param {draw2d.Connection} other\n *\n * @returns {Boolean}\n */\n sharingPorts: function sharingPorts(other) {\n return this.sourcePort == other.sourcePort || this.sourcePort == other.targetPort || this.targetPort == other.sourcePort || this.targetPort == other.targetPort;\n },\n\n /**\n *\n * Set the canvas element of this figures.\n *\n * @param {draw2d.Canvas} canvas the new parent of the figure or null\n */\n setCanvas: function setCanvas(canvas) {\n if (this.canvas === canvas) {\n return; // nothing to do\n }\n\n var notiCanvas = this.canvas == null ? canvas : this.canvas;\n\n this._super(canvas);\n\n if (this.sourceDecoratorNode !== null) {\n this.sourceDecoratorNode.remove();\n this.sourceDecoratorNode = null;\n }\n\n if (this.targetDecoratorNode !== null) {\n this.targetDecoratorNode.remove();\n this.targetDecoratorNode = null;\n }\n\n if (this.canvas === null) {\n if (this.sourcePort !== null) {\n this.sourcePort.off(this.moveListener);\n notiCanvas.fireEvent(\"disconnect\", { \"port\": this.sourcePort, \"connection\": this });\n this.sourcePort.onDisconnect(this);\n }\n if (this.targetPort !== null) {\n this.targetPort.off(this.moveListener);\n notiCanvas.fireEvent(\"disconnect\", { \"port\": this.targetPort, \"connection\": this });\n this.targetPort.onDisconnect(this);\n }\n } else {\n\n if (this.sourcePort !== null) {\n this.sourcePort.on(\"move\", this.moveListener);\n this.canvas.fireEvent(\"connect\", { \"port\": this.sourcePort, \"connection\": this });\n this.sourcePort.onConnect(this);\n }\n if (this.targetPort !== null) {\n this.targetPort.on(\"move\", this.moveListener);\n this.canvas.fireEvent(\"connect\", { \"port\": this.targetPort, \"connection\": this });\n this.targetPort.onConnect(this);\n }\n }\n },\n\n /**\n * Returns the angle of the connection at the output port (source)\n *\n **/\n getStartAngle: function getStartAngle() {\n // return a good default value if the connection is not routed at the\n // moment\n if (this.lineSegments.getSize() === 0) {\n return 0;\n }\n\n var p1 = this.lineSegments.get(0).start;\n var p2 = this.lineSegments.get(0).end;\n if (this.router instanceof _packages2.default.layout.connection.SplineConnectionRouter) {\n p2 = this.lineSegments.get(5).end;\n }\n var length = Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));\n var angle = -(180 / Math.PI) * Math.asin((p1.y - p2.y) / length);\n\n if (angle < 0) {\n if (p2.x < p1.x) {\n angle = Math.abs(angle) + 180;\n } else {\n angle = 360 - Math.abs(angle);\n }\n } else {\n if (p2.x < p1.x) {\n angle = 180 - angle;\n }\n }\n return angle;\n },\n\n getEndAngle: function getEndAngle() {\n // return a good default value if the connection is not routed at the\n // moment\n if (this.lineSegments.getSize() === 0) {\n return 90;\n }\n\n var p1 = this.lineSegments.get(this.lineSegments.getSize() - 1).end;\n var p2 = this.lineSegments.get(this.lineSegments.getSize() - 1).start;\n if (this.router instanceof _packages2.default.layout.connection.SplineConnectionRouter) {\n p2 = this.lineSegments.get(this.lineSegments.getSize() - 5).end;\n }\n var length = Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));\n var angle = -(180 / Math.PI) * Math.asin((p1.y - p2.y) / length);\n\n if (angle < 0) {\n if (p2.x < p1.x) {\n angle = Math.abs(angle) + 180;\n } else {\n angle = 360 - Math.abs(angle);\n }\n } else {\n if (p2.x < p1.x) {\n angle = 180 - angle;\n }\n }\n return angle;\n },\n\n /**\n * @private\n **/\n fireSourcePortRouteEvent: function fireSourcePortRouteEvent() {\n this.sourcePort.getConnections().each(function (i, conn) {\n conn.routingRequired = true;\n conn.repaint();\n });\n },\n\n /**\n * @private\n **/\n fireTargetPortRouteEvent: function fireTargetPortRouteEvent() {\n // enforce a repaint of all connections which are related to this port\n // this is required for a \"FanConnectionRouter\" or \"ShortesPathConnectionRouter\"\n //\n this.targetPort.getConnections().each(function (i, conn) {\n conn.routingRequired = true;\n conn.repaint();\n });\n },\n\n /**\n *\n * Returns the Command to perform the specified Request or null.\n *\n * @param {draw2d.command.CommandType} request describes the Command being requested\n *\n * @returns {draw2d.command.Command} null or a Command\n **/\n createCommand: function createCommand(request) {\n if (request.getPolicy() === _packages2.default.command.CommandType.MOVE) {\n if (this.isDraggable()) {\n return new _packages2.default.command.CommandMoveVertices(this);\n }\n }\n\n if (request.getPolicy() === _packages2.default.command.CommandType.MOVE_BASEPOINT) {\n // DragDrop of a connection doesn't create a undo command at this point. This will be done in\n // the onDrop method\n return new _packages2.default.command.CommandReconnect(this);\n }\n\n return this._super(request);\n },\n\n /**\n *\n * Return an objects with all important attributes for XML or JSON serialization\n *\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n var parentNode = this.getSource().getParent();\n while (parentNode.getParent() !== null) {\n parentNode = parentNode.getParent();\n }\n memento.source = {\n node: parentNode.getId(),\n port: this.getSource().getName()\n };\n\n parentNode = this.getTarget().getParent();\n while (parentNode.getParent() !== null) {\n parentNode = parentNode.getParent();\n }\n memento.target = {\n node: parentNode.getId(),\n port: this.getTarget().getName()\n };\n\n if (this.sourceDecorator !== null) {\n memento.source.decoration = this.sourceDecorator.NAME;\n }\n\n if (this.targetDecorator !== null) {\n memento.target.decoration = this.targetDecorator.NAME;\n }\n\n return memento;\n },\n\n /**\n *\n * Read all attributes from the serialized properties and transfer them into the shape.\n *\n * @param {Object} memento\n * @returns {this}\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n // nothing to to for the connection creation. This will be done in the draw2d.io.Reader\n // implementation\n //\n // restore your custom attributes here\n if (typeof memento.target.decoration !== \"undefined\" && memento.target.decoration != null) {\n this.setTargetDecorator(eval(\"new \" + memento.target.decoration));\n }\n\n if (typeof memento.source.decoration !== \"undefined\" && memento.source.decoration != null) {\n this.setSourceDecorator(eval(\"new \" + memento.source.decoration));\n }\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/Figure.js\":\n/*!***********************!*\\\n !*** ./src/Figure.js ***!\n \\***********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _JSONUtil = __webpack_require__(/*! util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nvar _UUID = __webpack_require__(/*! util/UUID */ \"./src/util/UUID.js\");\n\nvar _UUID2 = _interopRequireDefault(_UUID);\n\nvar _extend = __webpack_require__(/*! util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @class\n * Base class for all draw2d shapes-\n *\n */\n_packages2.default.Figure = Class.extend(\n/** @lends draw2d.Figure.prototype */\n{\n NAME: \"draw2d.Figure\",\n MIN_TIMER_INTERVAL: 50, // minimum timer interval in milliseconds\n\n /**\n * Creates a new Figure object\n *\n * @param attr\n * @param setter\n * @param getter\n */\n init: function init(attr, setter, getter) {\n var _this2 = this;\n\n // @private\n this.setterWhitelist = (0, _extend2.default)({\n // id the unique id of the figure\n id: this.setId,\n // x the x offset of the figure in relation to the parent figure or canvas\n x: this.setX,\n // y the y offset of the figure in relation to the parent figure or canvas\n y: this.setY,\n // width the new width of the figure. Considering the minWidth of the shape\n width: this.setWidth,\n // height the new height of the figure. Considering the minHeight of the shape\n height: this.setHeight,\n // boundingBox set the new bounding box of the shape\n boundingBox: this.setBoundingBox,\n // minWidth the new min width of the figure.\n minWidth: this.setMinWidth,\n // minHeight the new min height of the figure.\n minHeight: this.setMinHeight,\n // cssClass the css class of the shape. can be used to style the shape via CSS3 (SVG only)\n cssClass: this.setCssClass,\n // userData additional custom data which can be stored by the shape\n userData: this.setUserData,\n // draggable drives the dragging behaviour of the shape\n draggable: this.setDraggable,\n // resizeable drives the resizeable behaviour of the shape\n resizeable: this.setResizeable,\n // selectable drives the selectable behaviour of the shape\n selectable: this.setSelectable,\n // angle the rotation angle of the shape. At the moment only 90 degree increments are possible\n angle: this.setRotationAngle,\n // alpha the the alpha/opacity of the shape. value must be between [0..1]\n alpha: this.setAlpha,\n // opacity the the alpha/opacity of the shape. value must be between [0..1]\n opacity: this.setAlpha,\n // glow the glow flag for the shape. The representation of the \"glow\" depends on the shape\n glow: this.setGlow,\n // visible set the visibility flag of the shape\n visible: this.setVisible,\n // keepAspectRatio indicate if the shape should keep the aspect ratio during resize\n keepAspectRatio: this.setKeepAspectRatio\n }, setter);\n\n this.getterWhitelist = (0, _extend2.default)({\n id: this.getId,\n visible: this.isVisible,\n angle: this.getRotationAngle,\n x: this.getX,\n y: this.getY,\n userData: this.getUserData,\n width: this.getWidth,\n height: this.getHeight,\n draggable: this.isDraggable,\n resizeable: this.isResizeable,\n selectable: this.isSelectable,\n alpha: this.getAlpha,\n opacity: this.getAlpha\n }, getter);\n\n // all figures has an unique id. Required for figure get and persistence storage\n this.id = _UUID2.default.create();\n\n // required for the SelectionEditPolicy to indicate the type of figure\n // which the user clicks\n this.isResizeHandle = false;\n\n // for undo/redo operation. It holds the command during a drag/drop operation\n // and execute it on the CommandStack if the user drop the figure.\n this.command = null;\n\n // the assigned canvas\n this.canvas = null;\n\n // the RaphaelJS element reference\n this.shape = null;\n\n // possible decorations ( e.g. a Label) of the Connection\n // children are fixed bounded the figure. Most of the events of the child will bee\n // routed to the parent\n this.children = new _packages2.default.util.ArrayList();\n\n // behavior flags\n //\n this.selectable = true;\n this.deleteable = true;\n this.resizeable = true;\n this.draggable = true;\n this.visible = true;\n // since 4.1.0.\n this.keepAspectRatio = false;\n\n this.canSnapToHelper = true;\n this.snapToGridAnchor = new _packages2.default.geo.Point(0, 0); // hot spot for snap to grid\n this.editPolicy = new _packages2.default.util.ArrayList();\n\n // timer for animation or automatic update\n //\n this.timerId = -1;\n this.timerInterval = 0;\n\n // possible parent of the figure.\n // @see: this.children\n this.parent = null;\n\n // a figure can be part of a StrongComposite like a group, ...\n //\n this.composite = null;\n\n // generic handle for the JSON read/write of user defined data\n this.userData = null;\n\n // appearance, position and dim properties\n //\n this.x = 0;\n this.y = 0;\n this.minHeight = 5;\n this.minWidth = 5;\n this.rotationAngle = 0;\n // add the name of the class to the css attribute\n this.cssClass = this.NAME.replace(new RegExp(\"[.]\", \"g\"), \"_\");\n\n this.width = this.getMinWidth();\n this.height = this.getMinHeight();\n\n this.alpha = 1.0;\n\n // internal status flags for the Drag&Drop operation handling and other stuff\n //\n this.isInDragDrop = false;\n\n this.ox = 0;\n this.oy = 0;\n this.repaintBlocked = false;\n this.lastAppliedAttributes = {};\n this.selectionHandles = new _packages2.default.util.ArrayList();\n this.panningDelegate = null;\n\n // even handling since version 5.0.0\n this.eventSubscriptions = {};\n\n this.relocateChildrenEventCallback = function () {\n _this2.children.each(function (i, e) {\n e.locator.relocate(i, e.figure);\n });\n };\n\n // new approach to delegate selection requests.\n //\n this.defaultSelectionAdapter = this.selectionAdapter = function () {\n return _this2;\n };\n\n // install default selection handler. Can be overridden or replaced\n this.installEditPolicy(new _packages2.default.policy.figure.RectangleSelectionFeedbackPolicy());\n\n // the new style attr call with object attributes\n this.attr(attr);\n },\n\n /**\n *\n * Read or set shape attributes.<br>\n * When no value is given, reads specified attribute from the element.<br>\n * When value is given, sets the attribute to that value.\n * Multiple attributes can be set by passing an object with name-value pairs.\n *\n * let figure = new draw2d.shape.basic.Rectangle();\n * figure.attr('x'); //=> read value\n * figure.attr('x', 30); //=> set value\n *\n * // multiple attributes:\n * figure.attr({\n * x: 30,\n * y: 40,\n * width : 200,\n * height: 50,\n * cssClass: \"red_border_figure\"\n * });\n *\n * // it is possible to override any method of the figure as well\n * // Instead of inheritance you can just override the callback methods\n * // like\n * //\n * figure.attr({\n * onClick : function(){\n * alert(\"click\");\n * }\n * });\n *\n * // or you can pass the attr values in the constructor\n * //\n * let clickFigure = new draw2d.shape.basic.Rectangle({\n * onClick : function(){\n * alert(\"click\");\n * }\n * });\n *\n *\n * Additional you can set the user defined values (userData) with this method\n * using the dot-notation. User defined values are always part of the exported\n * JSON data.\n *\n * // setting multiple attributes:\n * figure.attr({\n * \"userData.my.property.x\": 30,\n * \"userData.my.property.y\": 40\n * });\n *\n * Also set using array notation is possible for the userData:\n *\n * // dot notation and array brackets:\n * figure.attr({\n * \"userData.my.names[0]\": \"John\",\n * \"userData.my.names[1]\": \"Doe\"\n * });\n *\n *\n * The Object returned should be the equivalent structured object:\n *\n * let obj = figure.getUserData();\n *\n * That is, where obj is equivalent to:\n *\n * let obj = {\n * my:{\n * property:{\n * x: 30,\n * y: 40\n * },\n * names: [\"John\", \"Doe\"]\n * }\n * };\n *\n *\n *\n * @param {String/Object} name\n * @param {Object} [value]\n * @since 5.0.1\n * @experimental\n * @returns {Object} either the requested attribute if this method used as getter or `this` if the method uses as setter\n **/\n attr: function attr(name, value) {\n var _this = this;\n var orig = this.repaintBlocked;\n\n try {\n // call of attr as setter method with {name1:val1, name2:val2 } argument list\n //\n if ($.isPlainObject(name)) {\n for (var key in name) {\n // user can set the \"userData\" with path notation. In this case we\n // expand the path to a real JSON object and set the data.\n // index/brackets are allowed too.\n //\n if (key.substring(0, 9) === \"userData.\") {\n if (this.userData === null) {\n this.userData = {};\n }\n _JSONUtil2.default.set({ userData: this.userData }, key, name[key]);\n this.fireEvent(\"change:\" + key, { value: name[key] });\n } else {\n var func = this.setterWhitelist[key];\n var param = name[key];\n if (func && param !== undefined) {\n func.call(this, param);\n }\n // maybe the user adds a function as property to the attr call\n // e.g.:\n // {\n // doIt: function(){}\n // }\n //\n // in this case we assign the method to this object and wrap it with \"this\" as context\n // a very, very simple method to replace default implemenations of the object\n else if (typeof name[key] === \"function\") {\n this[key] = param.bind(this);\n }\n }\n }\n } else if (typeof name === \"string\") {\n // call attr as getter\n //\n if (typeof value === \"undefined\") {\n var getter = this.getterWhitelist[name];\n if (typeof getter === \"function\") {\n return getter.call(this);\n }\n // or it is a userData path notation like \"userData.any.path.value\"\n else if (name.substring(0, 9) === \"userData.\") {\n var data = { userData: this.userData };\n return _JSONUtil2.default.get(data, name);\n }\n return; // undefined\n }\n // call attr as simple setter with (key , value)\n //\n\n // the value can be a function. In this case we must call the value().\n if (typeof value === \"function\") {\n value = value();\n }\n if (name.substring(0, 9) === \"userData.\") {\n if (this.userData === null) {\n this.userData = {};\n }\n _JSONUtil2.default.set({ userData: this.userData }, name, value);\n this.fireEvent(\"change:\" + name, { value: value });\n } else {\n var setter = this.setterWhitelist[name];\n if (setter) {\n setter.call(this, value);\n }\n }\n }\n // may it is a array of attributes used for the getter\n //\n else if (Array.isArray(name)) {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(Object.keys(name).map(function (k) {\n return _defineProperty({}, k, _this.attr(k));\n }))));\n }\n // generic getter of all registered attributes\n else if (typeof name === \"undefined\") {\n var result = {};\n for (var _key in this.getterWhitelist) {\n result[_key] = this.getterWhitelist[_key].call(this);\n }\n return result;\n }\n } finally {\n this.repaintBlocked = orig;\n }\n // this.repaint();\n\n return this;\n },\n\n /**\n * Return a copy of the object, filtered to only have values for the whitelisted keys.\n * @deprecated\n */\n pick: function pick(obj, var_keys) {\n var keys = typeof arguments[1] !== 'string' ? arguments[1] : Array.prototype.slice.call(arguments, 1);\n var out = {},\n key = void 0;\n for (key in keys) {\n if (typeof obj[key] !== \"undefined\") out[key] = obj[key];\n }\n return out;\n },\n\n /**\n *\n * Add the figure to the current selection and propagate this to all edit policies.\n *\n * @param {Boolean} [asPrimarySelection] true if the element should be the primary selection\n * @private\n */\n select: function select(asPrimarySelection) {\n if (typeof asPrimarySelection === \"undefined\") {\n asPrimarySelection = true;\n }\n\n // apply all EditPolicy for select Operations\n //\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.SelectionPolicy) {\n e.onSelect(_this.canvas, _this, asPrimarySelection);\n }\n });\n\n if (this.canvas !== null) {\n this.canvas.getSelection().add(this);\n }\n\n this.fireEvent(\"select\", { figure: this });\n\n return this;\n },\n\n /**\n *\n * Unselect the figure and propagete this event to all edit policies.\n *\n * @private\n **/\n unselect: function unselect() {\n var _this = this;\n // apply all EditPolicy for select Operations\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.SelectionPolicy) {\n e.onUnselect(_this.canvas, _this);\n }\n });\n\n if (this.canvas !== null) {\n this.canvas.getSelection().remove(this);\n }\n\n this.fireEvent(\"unselect\", { figure: this });\n return this;\n },\n\n /**\n *\n * Returns a function which returns the the figure which must handle the selection handling.\n *\n * @param {Function} [adapter] function which returns the figure which handles the selection handling\n */\n setSelectionAdapter: function setSelectionAdapter(adapter) {\n if (adapter == null) {\n this.selectionAdapter = this.defaultSelectionAdapter;\n } else {\n this.selectionAdapter = adapter;\n }\n\n return this;\n },\n\n /**\n *\n *\n * @returns {Function}\n */\n getSelectionAdapter: function getSelectionAdapter() {\n return this.selectionAdapter;\n },\n\n /**\n *\n * Returns true if the figure part of the current canvas selection.\n *\n * @since 5.5.6\n *\n * @returns {Boolean}\n */\n isSelected: function isSelected() {\n if (this.canvas !== null) {\n return this.canvas.getSelection().contains(this);\n }\n\n return false;\n },\n\n /**\n *\n * Allows a user to attach (or remove) data to an element, without needing to create a custom figure or shape.\n * The data must be a valid JSON object.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * userData: object\n * });\n *\n * @since 2.7.2\n * @param {Object} object\n */\n setUserData: function setUserData(object) {\n this.userData = object;\n this.fireEvent(\"change:userData\", { value: object });\n return this;\n },\n\n /**\n *\n * Returns any user data set previously on the given figure by setUserData.\n *\n * @since 2.7.2\n * @returns {Object}\n */\n getUserData: function getUserData() {\n return this.userData;\n },\n\n /**\n *\n * Return the UUID of this element.\n *\n * @returns {String}\n */\n getId: function getId() {\n return this.id;\n },\n\n /**\n *\n * Set the id of this element.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * id: newId\n * });\n *\n * @param {String} newId the new id for this figure\n */\n setId: function setId(newId) {\n this.id = newId;\n\n return this;\n },\n\n /**\n *\n * Return the css styling class name of the element.\n *\n *\n * @returns {String}\n */\n getCssClass: function getCssClass() {\n return this.cssClass;\n },\n\n /**\n *\n * Set the css class of the node.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * \"cssClass\": \"red_border_figure\"\n * });\n *\n * @param {String} cssClass the new css class name of the node\n * @since 2.9.0\n */\n setCssClass: function setCssClass(cssClass) {\n this.cssClass = cssClass === null ? null : cssClass.trim();\n\n if (this.shape === null) {\n return this;\n }\n\n if (this.cssClass === null) {\n this.shape.node.removeAttribute(\"class\");\n } else {\n this.shape.node.setAttribute(\"class\", this.cssClass);\n }\n this.fireEvent(\"change:cssClass\", { value: this.cssClass });\n\n return this;\n },\n\n /**\n *\n * The method will return true if the class is assigned to the element, even if other classes also are.\n *\n * @param {String} className the class name to check\n * @since 2.9.0\n */\n hasCssClass: function hasCssClass(className) {\n if (this.cssClass === null) {\n return false;\n }\n\n return new RegExp(' ' + className.trim() + ' ').test(' ' + this.cssClass + ' ');\n },\n\n /**\n *\n * Add a CSS class to the figure.<br>\n * It's important to note that this method does not replace a class. It simply adds the class,\n * appending it to any which may already be assigned to the elements.\n *\n * @param {String} className\n * @since 2.9.0\n */\n addCssClass: function addCssClass(className) {\n className = className.trim();\n if (!this.hasCssClass(className)) {\n if (this.cssClass === null) {\n this.setCssClass(className);\n } else {\n this.setCssClass(this.cssClass + ' ' + className);\n }\n this.fireEvent(\"change:cssClass\", { value: this.cssClass });\n }\n\n return this;\n },\n\n /**\n *\n *\n * Remove the given css class name from the figure\n *\n * @param {String} className the css class name to add\n */\n removeCssClass: function removeCssClass(className) {\n className = className.trim();\n var newClass = ' ' + this.cssClass.replace(/[\\t\\r\\n]/g, ' ') + ' ';\n if (this.hasCssClass(className)) {\n while (newClass.indexOf(' ' + className + ' ') >= 0) {\n newClass = newClass.replace(' ' + className + ' ', ' ');\n }\n this.setCssClass(newClass.replace(/^\\s+|\\s+$/g, ''));\n this.fireEvent(\"change:cssClass\", { value: this.cssClass });\n }\n\n return this;\n },\n\n /**\n *\n *\n * Add or remove the given css class name from the figure\n *\n * @param {String} className the class name to toggle\n */\n toggleCssClass: function toggleCssClass(className) {\n className = className.trim();\n var newClass = ' ' + this.cssClass.replace(/[\\t\\r\\n]/g, ' ') + ' ';\n if (this.hasCssClass(className)) {\n while (newClass.indexOf(' ' + className + ' ') >= 0) {\n newClass = newClass.replace(' ' + className + ' ', ' ');\n }\n this.setCssClass(newClass.replace(/^\\s+|\\s+$/g, ''));\n } else {\n this.setCssClass(this.cssClass + ' ' + className);\n }\n this.fireEvent(\"change:cssClass\", { value: this.cssClass });\n\n return this;\n },\n\n /**\n *\n * Set the canvas element of this figures. This can be used to determine whenever an element\n * is added or removed to the canvas.\n *\n * @param {draw2d.Canvas} canvas the new parent of the figure or null\n */\n setCanvas: function setCanvas(canvas) {\n // remove the shape if we reset the canvas and the element\n // was already drawn\n if (canvas === null && this.shape !== null) {\n if (this.isSelected()) {\n this.unselect();\n }\n this.shape.remove();\n this.shape = null;\n }\n\n this.canvas = canvas;\n\n if (this.canvas !== null) {\n this.getShapeElement();\n }\n\n // reset the attribute cache. We must start by paint all attributes\n //\n this.lastAppliedAttributes = {};\n\n if (canvas === null) {\n this.stopTimer();\n } else {\n if (this.timerInterval >= this.MIN_TIMER_INTERVAL) {\n this.startTimer(this.timerInterval);\n }\n }\n\n this.children.each(function (i, e) {\n e.figure.setCanvas(canvas);\n });\n\n return this;\n },\n\n /**\n *\n * Return the current assigned canvas container.\n *\n * @returns {draw2d.Canvas}\n */\n getCanvas: function getCanvas() {\n return this.canvas;\n },\n\n /**\n *\n * Start a timer which calls the onTimer method in the given interval.\n *\n * @param {Number} milliSeconds\n */\n startTimer: function startTimer(milliSeconds) {\n var _this3 = this;\n\n this.stopTimer();\n this.timerInterval = Math.max(this.MIN_TIMER_INTERVAL, milliSeconds);\n\n if (this.canvas !== null) {\n this.timerId = window.setInterval(function () {\n _this3.onTimer();\n _this3.fireEvent(\"timer\");\n }, this.timerInterval);\n }\n\n return this;\n },\n\n /**\n *\n * Stop the internal timer.\n *\n */\n stopTimer: function stopTimer() {\n if (this.timerId >= 0) {\n window.clearInterval(this.timerId);\n this.timerId = -1;\n }\n\n return this;\n },\n\n /**\n *\n * Callback method for the internal timer handling<br>\n * Inherit classes must override this method if they want use the timer feature.\n *\n * // Alternatively you can register for this event with\n * figure.on(\"timer\", function(emitter){\n * alert(\"timer fired\");\n * });\n *\n * @template\n */\n onTimer: function onTimer() {},\n\n /**\n *\n * Moves the element so it is the closest to the viewer’s eyes, on top of other elements. Additional\n * the internal model changed as well.\n *\n * Optional: Inserts current object in front of the given one.\n *\n * @param {draw2d.Figure} [figure] move current object in front of the given one.\n * @since 3.0.0\n */\n toFront: function toFront(figure) {\n var _this4 = this;\n\n // ensure that the z-oder is still correct if the figure is assigned\n // to a StrongComposite\n //\n if (this.composite instanceof _packages2.default.shape.composite.StrongComposite && typeof figure !== \"undefined\") {\n var indexFigure = figure.getZOrder();\n var indexComposite = this.composite.getZOrder();\n if (indexFigure < indexComposite) {\n figure = this.composite;\n }\n }\n\n if (typeof figure === \"undefined\") {\n this.getShapeElement().toFront();\n\n if (this.canvas !== null) {\n var figures = this.canvas.getFigures();\n var lines = this.canvas.getLines();\n if (figures.remove(this) !== null) {\n figures.add(this);\n } else if (lines.remove(this) !== null) {\n lines.add(this);\n }\n }\n } else {\n this.getShapeElement().insertAfter(figure.getTopLevelShapeElement());\n\n if (this.canvas !== null) {\n var _figures = this.canvas.getFigures();\n var _lines = this.canvas.getLines();\n if (_figures.remove(this) !== null) {\n var index = _figures.indexOf(figure);\n _figures.insertElementAt(this, index + 1);\n } else if (_lines.remove(this) !== null) {\n _lines.add(this);\n }\n }\n }\n\n // bring all children in front of the parent\n this.children.each(function (i, child) {\n child.figure.toFront(_this4);\n });\n\n // and last but not lease the ResizeHandles if any present\n //\n this.selectionHandles.each(function (i, handle) {\n handle.toFront();\n });\n\n return this;\n },\n\n /**\n *\n * Moves the element to the background. Additional\n * the internal model changed as well.\n *\n * @since 4.7.2\n */\n toBack: function toBack(figure) {\n // it is not allowed that a figure is behind an assigned composite\n //\n if (this.composite instanceof _packages2.default.shape.composite.StrongComposite) {\n this.toFront(this.composite);\n return;\n }\n\n if (this.canvas !== null) {\n var figures = this.canvas.getFigures();\n var lines = this.canvas.getLines();\n if (figures.remove(this) !== null) {\n figures.insertElementAt(this, 0);\n } else if (lines.remove(this) !== null) {\n lines.insertElementAt(this, 0);\n }\n if (typeof figure !== \"undefined\") {\n this.getShapeElement().insertBefore(figure.getShapeElement());\n } else {\n this.getShapeElement().toBack();\n }\n }\n\n // Bring all children in front of \"this\" figure\n //\n var _this = this;\n this.children.each(function (i, child) {\n child.figure.toFront(_this);\n }, true);\n\n return this;\n },\n\n /**\n *\n * Install a new edit policy to the figure. Each editpolicy is able to focus on a single editing\n * task or group of related tasks. This also allows editing behavior to be selectively reused across\n * different figure implementations. Also, behavior can change dynamically, such as when the layouts\n * or routing methods change.\n *\n * Example for limited DragDrop behavior can be a draw2d.layout.constraint.RegionConstriantPolicy.\n *\n * @param {draw2d.policy.EditPolicy} policy\n */\n installEditPolicy: function installEditPolicy(policy) {\n var _this5 = this;\n\n // it is only possible to install one SelectionFeedbackPolicy at once\n //\n if (policy instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy) {\n this.editPolicy.grep(function (p) {\n var stay = !(p instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy);\n if (!stay) {\n p.onUninstall(_this5);\n }\n return stay;\n });\n }\n\n // It is only allowed to install a policy of the same type once\n //\n this.editPolicy.grep(function (p) {\n var stay = p.__proto__ !== policy.__proto__;\n if (!stay) {\n p.onUninstall(_this5);\n }\n return stay;\n });\n\n policy.onInstall(this);\n this.editPolicy.add(policy);\n\n return this;\n },\n\n /**\n *\n *\n * UnInstall the edit policy from the figure. Either the instance itself if found\n * or all kind of the given edit policies.\n *\n *\n * @param {draw2d.policy.EditPolicy} policy\n * @since 4.81\n */\n uninstallEditPolicy: function uninstallEditPolicy(policy) {\n var removedPolicy = this.editPolicy.remove(policy);\n\n // we found the policy and we are happy\n //\n if (removedPolicy !== null) {\n removedPolicy.onUninstall(this);\n return;\n }\n\n // The policy isn'T part of the figure. In this case we \"think\" the user want\n // deinstall all instances of the policy\n //\n var _this = this;\n var name = typeof policy === \"string\" ? policy : policy.NAME;\n this.editPolicy.grep(function (p) {\n if (p.NAME === name) {\n p.onUninstall(_this);\n return false;\n }\n return true;\n });\n },\n\n /**\n * Add a child figure to the figure. The hands over figure doesn't support drag&drop\n * operations. It's only a decorator for the connection.<br>\n * Mainly for labels or other decorations\n *\n *\n * let start = new draw2d.shape.node.Start({x:80, y:150});\n * start.add(new draw2d.shape.basic.Label({text:\"Test Label\"}), new draw2d.layout.locator.TopLocator());\n *\n * canvas.add( start);\n *\n *\n * @param {draw2d.Figure} child the figure to add as decoration to the connection.\n * @param {draw2d.layout.locator.Locator} locator the locator for the child.\n * @param {Number} [index] optional index where to insert the figure\n * @returns {this}\n **/\n add: function add(child, locator, index) {\n if (typeof locator === \"undefined\" || locator === null) {\n throw \"Second parameter 'locator' is required for method 'Figure#add'\";\n }\n\n // the child is now a slave of the parent\n //\n child.setParent(this);\n\n // inform the locator that a new child is bounded to the parent\n // The call must happen after parent assignment. Reason: the locator\n // can override some behaviours which are propagated from the parent.\n //\n locator.bind(this, child);\n\n child.on(\"resize\", this.relocateChildrenEventCallback);\n\n if (!isNaN(parseInt(index))) {\n this.children.insertElementAt({ figure: child, locator: locator }, index);\n } else {\n this.children.add({ figure: child, locator: locator });\n }\n\n if (this.canvas !== null) {\n child.setCanvas(this.canvas);\n }\n\n this.repaint();\n\n return this;\n },\n\n /**\n *\n * Remove the child figure from this figure and the canvas\n *\n * @param {draw2d.Figure} child the figure to remove.\n *\n * @returns {Object} the removed tupple of figure/locator or null if the child isn't found\n * @returns {draw2d.Figure} return.figure The removed figure\n * @returns {draw2d.shape.layout.Layout} return.locator The used locator of the figure\n *\n * @since 5.0.0\n **/\n remove: function remove(child) {\n if (typeof child === \"undefined\" || child === null) {\n debug.warn(\"The parameter child is required for Figure.remove\");\n return null;\n }\n\n var removed = null;\n this.children.grep(function (e) {\n var stay = e.figure !== child;\n if (!stay) {\n removed = e;\n }\n return stay;\n });\n\n if (removed !== null) {\n child.setParent(null);\n child.setCanvas(null);\n removed.locator.unbind(this, child);\n child.off(this.relocateChildrenEventCallback);\n\n this.repaint();\n return removed;\n }\n\n return null;\n },\n\n /**\n *\n * Return all children/decorations of this shape which has been added with\n * draw2d.Figure.add\n *\n * @returns {draw2d.util.ArrayList}\n */\n getChildren: function getChildren() {\n return this.children.clone().map(function (e) {\n return e.figure;\n });\n },\n\n /**\n *\n * Remove all children/decorations of this shape\n *\n */\n resetChildren: function resetChildren() {\n this.children.each(function (i, e) {\n e.figure.setCanvas(null);\n });\n this.children = new _packages2.default.util.ArrayList();\n this.repaint();\n\n return this;\n },\n\n /**\n *\n * return the current SVG shape element or create it on demand.\n *\n * @protected\n */\n getShapeElement: function getShapeElement() {\n if (this.shape !== null) {\n return this.shape;\n }\n\n this.shape = this.createShapeElement();\n if (!this.isVisible()) {\n this.shape.hide();\n }\n\n // add CSS class to enable styling of the element with CSS rules/files\n //\n if (this.cssClass !== null) {\n this.shape.node.setAttribute(\"class\", this.cssClass);\n }\n\n return this.shape;\n },\n\n /**\n *\n * Get the top level shape element. May the figure has a set of SVG elements. In this case this\n * method must return the top level node.<br>\n * This method is used for the toFront/toBack method to order the nodes in the correct way.\n *\n * @since 5.0.0\n * @private\n */\n getTopLevelShapeElement: function getTopLevelShapeElement() {\n return this.getShapeElement();\n },\n\n /**\n *\n * Inherited classes must override this method to implement it's own draw functionality.\n *\n * @template\n * @abstract\n */\n createShapeElement: function createShapeElement() {\n throw \"Inherited class [\" + this.NAME + \"] must override the abstract method createShapeElement\";\n },\n\n /**\n *\n * propagate all attributes like color, stroke,... to the shape element\n *\n * @param {Object} [attributes] the style attributes for the SVG shape\n * @private\n **/\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return this;\n }\n var _this = this;\n attributes = attributes || {};\n\n if (this.visible === true) {\n if (this.shape.isVisible() === false) {\n if (!isNaN(parseFloat(attributes.visibleDuration))) {\n $(this.shape.node).fadeIn(attributes.visibleDuration, function () {\n _this.shape.show();\n });\n } else {\n this.shape.show();\n }\n }\n } else {\n if (this.shape.isVisible() === true) {\n if (!isNaN(parseFloat(attributes.visibleDuration))) {\n $(this.shape.node).fadeOut(attributes.visibleDuration, function () {\n _this.shape.hide();\n });\n } else {\n this.shape.hide();\n }\n }\n return this;\n }\n\n // enrich with common properties\n attributes.opacity = this.alpha;\n\n // performance improvement\n // Only apply attributes which has changed. This ends in a big performance improvement\n // because the raphael shape isn't redraw at all.\n //\n attributes = _JSONUtil2.default.flatDiff(attributes, this.lastAppliedAttributes);\n this.lastAppliedAttributes = attributes;\n\n if (Object.getOwnPropertyNames(attributes).length > 0) {\n this.shape.attr(attributes);\n }\n\n this.applyTransformation();\n\n // Relocate all children of the figure if the dimension or location of the\n // shape has changed\n //\n if (\"x\" in attributes || \"width\" in attributes || \"cx\" in attributes || \"path\" in attributes) {\n this.children.each(function (i, e) {\n e.locator.relocate(i, e.figure);\n });\n }\n\n return this;\n },\n\n /**\n *\n * apply a transformation to the shape like rotation, translate,..\n *\n * @private\n * @template\n */\n applyTransformation: function applyTransformation() {\n return this;\n },\n\n /**\n *\n * Highlight the element or remove the highlighting\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * glow: flag\n * });\n *\n * @param {Boolean} flag indicates glow/noGlow\n * @template\n */\n setGlow: function setGlow(flag) {\n // do nothing in the base class.\n // Subclasses must implement this method.\n\n return this;\n },\n\n /**\n *\n * Allow dragging only when the cursor is over a specific part of the figure.\n * <br>\n * Override this method to specify the bounding box of an element or a draw2d.util.ArrayList\n * of draw2d.geo.Rectangle of bounding boxes used to drag the figure. The returned coordinates\n * are absolute coordinates to the canvas.\n * <br>\n * <br>\n * Default implementation returns <b>null</b> to indicate to use the complete figures as\n * drag handle.\n *\n * @since 5.6.0\n * @returns {draw2d.geo.Rectangle|draw2d.util.ArrayList}\n */\n getHandleBBox: function getHandleBBox() {\n return null;\n },\n\n /**\n *\n * Called if the drag and drop action begins. You can return [false] if you\n * want avoid that the figure can be move.\n *\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean} true if the figure accepts dragging\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n this.isInDragDrop = false;\n\n // Check whenever the figures has a drag-handle. Allow drag&drop\n // operation only if the x/y is inside this area.\n //\n // @since 5.6.0\n var bbox = this.getHandleBBox();\n if (bbox !== null && bbox.translate(this.getAbsolutePosition().scale(-1)).hitTest(x, y) === false) {\n // design failure: we must catch the figure below the mouse to forward\n // the panning event to this figure. Special handling to provide sliders\n // and other UI elements which requires the panning event. Hack.\n this.panningDelegate = this.getBestChild(this.getX() + x, this.getY() + y);\n if (this.panningDelegate !== null) {\n // transform x/y relative to the panning figure and request the dragStart event\n this.panningDelegate.onDragStart(x - this.panningDelegate.x, y - this.panningDelegate.y, shiftKey, ctrlKey);\n }\n return false;\n }\n\n this.command = this.createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.MOVE));\n\n if (this.command !== null) {\n this.ox = this.getX();\n this.oy = this.getY();\n this.isInDragDrop = true;\n\n // notify all installed policies\n //\n var _this = this;\n var canStartDrag = true;\n\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n canStartDrag = canStartDrag && e.onDragStart(_this.canvas, _this, x, y, shiftKey, ctrlKey);\n }\n });\n\n if (canStartDrag) {\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"dragstart\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n }\n return canStartDrag;\n }\n\n return false;\n },\n\n /**\n *\n * Don't call them manually. This will be done by the framework.<br>\n * Will be called if the object are moved via drag and drop.\n * Sub classes can override this method to implement additional stuff. Don't forget to call\n * the super implementation via <code>this._super(dx, dy, dx2, dy2);</code>\n *\n * @private\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n var _this6 = this;\n\n // apply all EditPolicy for DragDrop Operations. This is something like\n // an policy that forces that an object can only move vertical, horizontal or in a given\n // rectangle.\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n var _newPos = e.adjustPosition(_this6, _this6.ox + dx, _this6.oy + dy);\n if (_newPos) {\n dx = _newPos.x - _this6.ox;\n dy = _newPos.y - _this6.oy;\n }\n }\n });\n var newPos = new _packages2.default.geo.Point(this.ox + dx, this.oy + dy);\n\n // Adjust the new location if the object can snap to a helper\n // like grid, geometry, ruler,...\n //\n if (this.getCanSnapToHelper()) {\n newPos = this.getCanvas().snapToHelper(this, newPos);\n }\n\n this.setPosition(newPos);\n\n // notify all installed policies that the object has moved.\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.onDrag(_this6.canvas, _this6);\n }\n });\n\n // notify all installed listener that th object has moved\n // @since 5.3.3\n this.fireEvent(\"drag\", { dx: dx, dy: dy, dx2: dx2, dy2: dy2, shiftKey: shiftKey, ctrlKey: ctrlKey });\n },\n\n /**\n *\n * Called by the framework if the figure returns false for the drag operation. In this\n * case we send a \"panning\" event - mouseDown + mouseMove. This is very useful for\n * UI-Widget like slider, spinner,...\n *\n * // You can alternatively register an event handler with:\n * figure.on(\"panning\", function(emitter, eventData){\n * alert(\"panning of the figure called\");\n * });\n *\n * @param {Number} dx the x difference between the mouse down operation and now\n * @param {Number} dy the y difference between the mouse down operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onPanning: function onPanning(dx, dy, dx2, dy2, shiftKey, ctrlKey) {},\n\n /**\n *\n * Called by the framework if the panning event of the figures ends. This happens\n * after the mous up event if the panning is active.\n *\n * // You can alternatively register an event handler with:\n * figure.on(\"panningEnd\", function(emitter){\n * alert(\"panning of the figure called\");\n * });\n *\n */\n onPanningEnd: function onPanningEnd() {},\n\n /**\n *\n * Will be called after a drag and drop action.<br>\n * Sub classes can override this method to implement additional stuff. Don't forget to call\n * the super implementation via <code>this._super();</code>\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n **/\n onDragEnd: function onDragEnd(x, y, shiftKey, ctrlKey) {\n var _this7 = this;\n\n // Element ist zwar schon an seine Position, das Command muss aber trotzdem\n // in dem CommandStack gelegt werden damit das Undo funktioniert.\n //\n if (this.command !== null) {\n this.command.setPosition(this.x, this.y);\n this.canvas.getCommandStack().execute(this.command);\n this.command = null;\n }\n this.isInDragDrop = false;\n this.panningDelegate = null;\n\n // notify all installed policies\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.onDragEnd(_this7.canvas, _this7, x, y, shiftKey, ctrlKey);\n }\n });\n\n this.fireEvent(\"move\", { x: this.getX(), y: this.getY(), dx: 0, dy: 0 });\n this.fireEvent(\"change:x\", { x: this.getX(), dx: 0 });\n this.fireEvent(\"change:y\", { y: this.getY(), dy: 0 });\n\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"dragend\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n },\n\n /**\n *\n * Called by the framework during drag&drop operations if the user drag a figure over this figure\n *\n * @param {draw2d.Figure} draggedFigure The figure which is currently dragging\n *\n * @returns {draw2d.Figure} the figure which should receive the drop event or null if the element didn't want a drop event\n * @since 6.1.0\n * @private\n **/\n delegateTarget: function delegateTarget(draggedFigure) {\n var _this8 = this;\n\n var delegate = draggedFigure;\n this.getCanvas().getDropInterceptorPolicies().each(function (i, policy) {\n delegate = policy.delegateTarget(draggedFigure, _this8);\n if (delegate !== null) {\n return false; // break the loop\n }\n });\n\n return delegate;\n },\n\n /**\n *\n * Called by the framework during drag&drop operations if the user drag a figure over this figure\n *\n * @param {draw2d.Figure} draggedFigure The figure which is currently dragging\n *\n * @template\n **/\n onDragEnter: function onDragEnter(draggedFigure) {},\n\n /**\n *\n * Called if the DragDrop object leaving the current hover figure.\n *\n * @param {draw2d.Figure} draggedFigure The figure which is currently dragging\n * @template\n **/\n onDragLeave: function onDragLeave(draggedFigure) {},\n\n /**\n *\n * Called if the user drop this element onto the dropTarget. This event is ONLY fired if the\n * shape return \"this\" in the {@link draw2d.Figure#onDragEnter} method.\n *\n *\n * @param {draw2d.Figure} dropTarget The drop target.\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n **/\n onDrop: function onDrop(dropTarget, x, y, shiftKey, ctrlKey) {},\n\n /**\n *\n * Called if the user dropped an figure onto this element. This event is ONLY fired if the\n * in the canvas installed {@link draw2d.policy.canvas.DropInterceptorPolicy} allow this.\n *\n *\n * @param {draw2d.Figure} droppedFigure The dropped figure.\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n * @since 4.8.0\n **/\n onCatch: function onCatch(droppedFigure, x, y, shiftKey, ctrlKey) {},\n\n /**\n *\n * Callback method for the mouse enter event. Usefull for mouse hover-effects.\n * Override this method for your own effects. Don't call them manually.\n *\n * @template\n **/\n onMouseEnter: function onMouseEnter() {},\n\n /**\n *\n * Callback method for the mouse leave event. Useful for mouse hover-effects.\n *\n * @template\n **/\n onMouseLeave: function onMouseLeave() {},\n\n /**\n *\n * Called when a user dbl clicks on the element\n *\n * // Alternatively you can register an event with:\n * //\n * figure.on(\"dblclick\", function(emitter, event){\n * alert(\"user dbl click on the figure\");\n * });\n *\n * @template\n */\n onDoubleClick: function onDoubleClick() {},\n\n /**\n *\n * Called when a user clicks on the element.\n *\n * // You can alternatively register an event handler with:\n * figure.on(\"click\", function(emitter, event){\n * alert(\"user click on the figure\");\n * });\n *\n * @template\n * @deprecated\n */\n onClick: function onClick() {},\n\n /**\n *\n * called by the framework if the figure should show the context menu.<br>\n * The strategy to show the context menu depends on the platform. Either looong press or\n * right click with the mouse.\n *\n * // Alternatively you register for this event with:\n * figure.on(\"contextmenu\", function(emitter, event){\n * alert(\"user press the right mouse button for a context menu\");\n * });\n *\n * @param {Number} x the x-coordinate to show the menu\n * @param {Number} y the y-coordinate to show the menu\n * @since 1.1.0\n * @template\n */\n onContextMenu: function onContextMenu(x, y) {},\n\n /**\n *\n * Set the alpha blending of this figure.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * \"alpha\": percent\n * });\n *\n * // ...or:\n * figure.attr({\n * \"opacity\": percent\n * });\n *\n * @param {Number} percent value between [0..1].\n **/\n setAlpha: function setAlpha(percent) {\n percent = Math.min(1, Math.max(0, parseFloat(percent)));\n if (percent === this.alpha) {\n return;\n }\n\n this.alpha = percent;\n this.repaint();\n this.fireEvent(\"change:opacity\", { value: this.alpha });\n\n return this;\n },\n\n /**\n *\n * Return the alpha blending of the figure\n *\n * @returns {Number} the current alpha blending\n */\n getAlpha: function getAlpha() {\n return this.alpha;\n },\n\n /**\n *\n * Set the rotation angle in degree [0..356]<br>\n * <b>Only steps of 90 degree is working well</b>\n * <br>\n * // Alternatively you can use the attr method:\n * figure.attr({\n * angle: angle\n * });\n *\n * @param {Number} angle the rotation angle in degree\n */\n setRotationAngle: function setRotationAngle(angle) {\n var _this9 = this;\n\n this.rotationAngle = angle;\n\n // Update the resize handles if the user change the position of the element via an API call.\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this9.canvas, _this9);\n }\n });\n\n this.fireEvent(\"change:angle\", { value: this.rotationAngle });\n this.repaint();\n\n return this;\n },\n\n /**\n *\n * return the rotation angle of the figure in degree of [0..356].\n *\n * <br>\n * <b>NOTE: this method is pre alpha and not for production. Only steps of 90 degree is working well</b>\n * <br>\n * @returns {Number}\n */\n getRotationAngle: function getRotationAngle() {\n return this.rotationAngle;\n },\n\n /**\n *\n * Show/hide the element. The element didn't receive any mouse events (click, dblclick) if you hide the\n * figure.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * visible: flag\n * });\n *\n * @param {Boolean} flag\n * @param {Number} [duration] the optional number for the fadeIn /fadeOut of the figure\n * @since 1.1.0\n */\n setVisible: function setVisible(flag, duration) {\n flag = !!flag;\n if (flag === this.visible) {\n return;\n }\n this.visible = flag;\n\n this.repaint({ visibleDuration: duration });\n\n if (this.visible) {\n this.fireEvent(\"show\");\n } else {\n this.fireEvent(\"hide\");\n }\n this.fireEvent(\"change:visibility\", { value: this.visible });\n\n return this;\n },\n\n /**\n *\n * Return true if the figure visible.\n *\n * @returns {Boolean}\n * @since 1.1.0\n */\n isVisible: function isVisible() {\n return this.visible && this.shape !== null;\n },\n\n /**\n *\n * Guarantee, that the figure width/height will not be distorted. Applicable before calling setDimension().\n * It is false by default.\n *\n * @since 4.1.0\n * @param {Boolean} flag boolean flag if the figure should respect the aspect ratio\n */\n setKeepAspectRatio: function setKeepAspectRatio(flag) {\n this.keepAspectRatio = flag;\n\n return this;\n },\n\n /**\n *\n * Return the flag if the shape keep the aspect ratio.\n *\n * @since 4.1.0\n */\n getKeepAspectRatio: function getKeepAspectRatio() {\n return this.keepAspectRatio;\n },\n\n /**\n *\n * Return the current z-index of the element. Currently this is an expensive method. The index will be calculated\n * all the time. Caching is not implemented at the moment.\n *\n * @returns {Number}\n */\n getZOrder: function getZOrder() {\n if (this.shape === null) {\n return -1;\n }\n\n var i = 0;\n var child = this.shape.node;\n while ((child = child.previousSibling) !== null) {\n i++;\n }\n return i;\n },\n\n /**\n *\n * Set the flag if this object can snap to grid or geometry.\n * A window of dialog should set this flag to false.\n *\n * @param {Boolean} flag The snap to grid/geometry enable flag.\n *\n **/\n setCanSnapToHelper: function setCanSnapToHelper(flag) {\n this.canSnapToHelper = !!flag;\n\n return this;\n },\n\n /**\n *\n * Returns true if the figure can snap to any helper like a grid, guide, geometrie\n * or something else.\n *\n * @returns {Boolean}\n **/\n getCanSnapToHelper: function getCanSnapToHelper() {\n return this.canSnapToHelper;\n },\n\n /**\n *\n * @returns {draw2d.geo.Point}\n **/\n getSnapToGridAnchor: function getSnapToGridAnchor() {\n return this.snapToGridAnchor;\n },\n\n /**\n *\n * Set the hot spot for all snapTo### operations.\n *\n * @param {draw2d.geo.Point} point\n **/\n setSnapToGridAnchor: function setSnapToGridAnchor(point) {\n this.snapToGridAnchor = point;\n\n return this;\n },\n\n /**\n *\n * Set the width of the figure and consider the minWidth attribute\n *\n * @param {Number} width the new width of the figure\n * @since 5.1.0\n */\n setWidth: function setWidth(width) {\n this.setDimension(parseFloat(width), this.getHeight());\n this.fireEvent(\"change:width\", { value: this.width });\n\n return this;\n },\n\n /**\n *\n * The current width of the figure.\n *\n * @type {Number}\n **/\n getWidth: function getWidth() {\n return this.width;\n },\n\n /**\n *\n * Set the heigth of the figure and consider the minWidth attribute\n *\n * @param {Number} height the new height of the figure\n * @since 5.1.0\n */\n setHeight: function setHeight(height) {\n this.setDimension(this.getWidth(), parseFloat(height));\n this.fireEvent(\"change:height\", { value: this.height });\n\n return this;\n },\n\n /**\n *\n * The current height of the figure.\n *\n * @returns {Number}\n **/\n getHeight: function getHeight() {\n return this.height;\n },\n\n /**\n *\n * This value is relevant for the interactive resize of the figure.\n *\n * @returns {Number} Returns the min. width of this object.\n */\n getMinWidth: function getMinWidth() {\n return this.minWidth;\n },\n\n /**\n *\n * Set the minimum width of this figure\n *\n * @param {Number} w\n */\n setMinWidth: function setMinWidth(w) {\n this.minWidth = parseFloat(w);\n this.fireEvent(\"change:minWidth\", { value: this.minWidth });\n\n // fit the width with the new constraint\n this.setWidth(this.getWidth());\n\n return this;\n },\n\n /**\n *\n * This value is relevant for the interactive resize of the figure.\n *\n * @returns {Number} Returns the min. height of this object.\n */\n getMinHeight: function getMinHeight() {\n return this.minHeight;\n },\n\n /**\n *\n * Set the minimum height of the figure.\n *\n * @param {Number} h\n */\n setMinHeight: function setMinHeight(h) {\n this.minHeight = parseFloat(h);\n this.fireEvent(\"change:minHeight\", { value: this.minHeight });\n\n // fit the height with the new constraint\n this.setHeight(this.getHeight());\n\n return this;\n },\n\n /**\n *\n * the the x-offset related to the parent figure or canvas\n *\n * @param {Number} x the new x offset of the figure\n * @since 5.0.8\n */\n setX: function setX(x) {\n this.setPosition(parseFloat(x), this.y);\n return this;\n },\n\n /**\n *\n * The x-offset related to the parent figure or canvas.\n *\n * @returns {Number} the x-offset to the parent figure\n **/\n getX: function getX() {\n return this.x;\n },\n\n /**\n *\n * the the y-offset related to the parent figure or canvas\n *\n * @param {Number} y the new x offset of the figure\n * @since 5.0.8\n */\n setY: function setY(y) {\n this.setPosition(this.x, parseFloat(y));\n return this;\n },\n\n /**\n *\n * The y-offset related to the parent figure or canvas.\n *\n * @returns {Number} The y-offset to the parent figure.\n **/\n getY: function getY() {\n return this.y;\n },\n\n /**\n *\n * The x-offset related to the canvas.\n *\n * @returns {Number} the x-offset to the canvas\n **/\n getAbsoluteX: function getAbsoluteX() {\n if (!this.parent) {\n return this.getX();\n }\n\n return this.getX() + this.parent.getAbsoluteX();\n },\n\n /**\n *\n * The y-offset related to the canvas.\n *\n * @returns {Number} The y-offset to the canvas.\n **/\n getAbsoluteY: function getAbsoluteY() {\n if (!this.parent) {\n return this.getY();\n }\n return this.getY() + this.parent.getAbsoluteY();\n },\n\n /**\n *\n * Returns the absolute y-position of the port.\n *\n * @type {draw2d.geo.Point}\n **/\n getAbsolutePosition: function getAbsolutePosition() {\n return new _packages2.default.geo.Point(this.getAbsoluteX(), this.getAbsoluteY());\n },\n\n /**\n *\n * Returns the absolute y-position of the port.\n *\n * @returns {draw2d.geo.Rectangle}\n **/\n getAbsoluteBounds: function getAbsoluteBounds() {\n return new _packages2.default.geo.Rectangle(this.getAbsoluteX(), this.getAbsoluteY(), this.getWidth(), this.getHeight());\n },\n\n /**\n *\n * Set the position of the object.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * x: x,\n * y: y\n * });\n *\n * @param {Number|draw2d.geo.Point} x The new x coordinate of the figure or the x/y coordinate if it is an draw2d.geo.Point\n * @param {Number} [y] The new y coordinate of the figure\n **/\n setPosition: function setPosition(x, y) {\n var _this10 = this;\n\n if (typeof x === \"undefined\") {\n debugger;\n }\n\n var oldPos = { x: this.x, y: this.y };\n\n if (x instanceof _packages2.default.geo.Point) {\n this.x = x.x;\n this.y = x.y;\n } else {\n this.x = x;\n this.y = y;\n }\n\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n var newPos = e.adjustPosition(_this10, _this10.x, _this10.y);\n _this10.x = newPos.x;\n _this10.y = newPos.y;\n }\n });\n\n this.repaint();\n\n // Update the resize handles if the user change the position of the\n // element via an API call.\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this10.canvas, _this10);\n }\n });\n\n var event = {\n x: this.x,\n y: this.y,\n dx: this.x - oldPos.x,\n dy: this.y - oldPos.y\n };\n this.fireEvent(\"move\", event);\n this.fireEvent(\"change:x\", event);\n this.fireEvent(\"change:y\", event);\n\n return this;\n },\n\n /**\n *\n * Get the current position of the figure\n *\n * @returns {draw2d.geo.Point}\n * @since 2.0.0\n */\n getPosition: function getPosition() {\n return new _packages2.default.geo.Point(this.getX(), this.getY());\n },\n\n /**\n *\n * Translate the figure with the given x/y offset.\n *\n * @param {Number} dx The x offset to translate\n * @param {Number} dy The y offset to translate\n **/\n translate: function translate(dx, dy) {\n this.setPosition(this.getX() + dx, this.getY() + dy);\n\n return this;\n },\n\n /**\n *\n * Set the new width and height of the figure.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * width: w,\n * height: h\n * });\n *\n * @param {Number} w The new width of the figure\n * @param {Number} h The new height of the figure\n **/\n setDimension: function setDimension(w, h) {\n var _this11 = this;\n\n var old = { width: this.width, height: this.height };\n\n w = Math.max(this.getMinWidth(), w);\n h = Math.max(this.getMinHeight(), h);\n\n if (this.width === w && this.height === h) {\n // required if an inherit figure changed the w/h to a given constraint.\n // In this case the Resize handles must be informed that the shape didn't resized.\n // because the minWidth/minHeight did have a higher prio.\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this11.canvas, _this11);\n }\n });\n return this;\n }\n\n // apply all EditPolicy to adjust/modify the new dimension\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n var newDim = e.adjustDimension(_this11, w, h);\n w = newDim.w;\n h = newDim.h;\n }\n });\n\n // respect the aspect ratio if required\n //\n if (this.keepAspectRatio === true) {\n if (w >= this.getMinWidth()) {\n // scale the height to the given ratio\n h = this.getHeight() * (w / this.getWidth());\n // and apply the new dimension only if the values are in range of the given constraints\n if (h >= this.getMinHeight()) {\n this.width = w;\n this.height = h;\n }\n }\n } else {\n this.width = Math.max(this.getMinWidth(), w);\n this.height = Math.max(this.getMinHeight(), h);\n }\n\n this.repaint();\n\n this.fireEvent(\"resize\");\n this.fireEvent(\"change:dimension\", { height: this.height, width: this.width, old: old });\n\n // Update the resize handles if the user change the position of the element via an API call.\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this11.canvas, _this11);\n }\n });\n\n return this;\n },\n\n /**\n *\n * Set the bounding box of the figure\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * width: w,\n * height: h,\n * x: x,\n * y: y\n * });\n *\n * // or\n * figure.attr({\n * boundingBox: {x:1, y:100, width:30, height:30}\n * });\n *\n * @param {draw2d.geo.Rectangle} rect\n * @since 4.8.0\n */\n setBoundingBox: function setBoundingBox(rect) {\n rect = new _packages2.default.geo.Rectangle(rect);\n\n var orig = this.repaintBlocked;\n this.repaintBlocked = true;\n this.setPosition(rect.x, rect.y);\n this.repaintBlocked = orig;\n this.setDimension(rect.w, rect.h);\n\n return this;\n },\n\n /**\n *\n * Returns the bounding box of the figure in absolute position to the canvas.\n *\n * @returns {draw2d.geo.Rectangle}\n **/\n getBoundingBox: function getBoundingBox() {\n return new _packages2.default.geo.Rectangle(this.getAbsoluteX(), this.getAbsoluteY(), this.getWidth(), this.getHeight());\n },\n\n /**\n *\n * Returns the bounding box of the figure in absolute position to the canvas. All child shapes included.\n * The result BoundingBox spans the parent figured plus all children.\n *\n * @returns {draw2d.geo.Rectangle}\n **/\n getOuterBoundingBox: function getOuterBoundingBox() {\n var parentBB = new _packages2.default.geo.Rectangle(this.getAbsoluteX(), this.getAbsoluteY(), this.getWidth(), this.getHeight());\n this.getChildren().each(function (i, child) {\n var childBB = child.getOuterBoundingBox();\n parentBB.merge(childBB);\n });\n return parentBB;\n },\n\n /**\n *\n * Detect whenever the hands over coordinate is inside the figure.\n * The default implementation is a simple bounding box test.\n *\n * @param {Number} iX\n * @param {Number} iY\n * @param {Number} [corona]\n *\n * @returns {Boolean}\n */\n hitTest: function hitTest(iX, iY, corona) {\n if (typeof corona === \"number\") {\n return this.getBoundingBox().scale(corona, corona).hitTest(iX, iY);\n }\n return this.getBoundingBox().hitTest(iX, iY);\n },\n\n /**\n *\n * Switch on/off the drag drop behaviour of this object\n *\n * @param {Boolean} flag The new drag drop indicator\n **/\n setDraggable: function setDraggable(flag) {\n this.draggable = !!flag;\n\n return this;\n },\n\n /**\n *\n * Get the Drag drop enable flag\n *\n * @returns {Boolean} The new drag drop indicator\n **/\n isDraggable: function isDraggable() {\n // delegate to the composite if given\n if (this.composite !== null) {\n return this.composite.isMemberDraggable(this, this.draggable);\n }\n\n return this.draggable;\n },\n\n /**\n *\n * Returns the true if the figure can be resized.\n *\n * @returns {Boolean}\n **/\n isResizeable: function isResizeable() {\n return this.resizeable;\n },\n\n /**\n *\n * You can change the resizeable behaviour of this object. Hands over [false] and\n * the figure has no resizehandles if you select them with the mouse.<br>\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * resizeable: flag\n * });\n *\n * @param {Boolean} flag The resizeable flag.\n **/\n setResizeable: function setResizeable(flag) {\n this.resizeable = !!flag;\n this.fireEvent(\"change:resizeable\", { value: this.resizeable });\n\n return this;\n },\n\n /**\n *\n * Indicates whenever the element is selectable by user interaction or API.\n *\n * @returns {Boolean}\n **/\n isSelectable: function isSelectable() {\n // delegate to the composite if given\n if (this.composite !== null) {\n return this.composite.isMemberSelectable(this, this.selectable);\n }\n\n return this.selectable;\n },\n\n /**\n *\n * You can change the selectable behavior of this object. Hands over [false] and\n * the figure has no selection handles if you try to select them with the mouse.<br>\n *\n * @param {Boolean} flag The selectable flag.\n **/\n setSelectable: function setSelectable(flag) {\n this.selectable = !!flag;\n this.fireEvent(\"change:selectable\", { value: this.selectable });\n\n return this;\n },\n\n /**\n *\n * Return true if the object doesn't care about the aspect ratio.\n * You can change the height and width independent.<br>\n *\n * Replaced with \"getKeepAspectRatio\"\n * @returns {Boolean}\n * @deprecated\n */\n isStrechable: function isStrechable() {\n return !this.getKeepAspectRatio();\n },\n\n /**\n *\n * Return false if you avoid that the user can delete your figure.\n * Sub class can override this method.\n *\n * @returns {Boolean}\n **/\n isDeleteable: function isDeleteable() {\n return this.deleteable;\n },\n\n /**\n *\n * Set the flag if the shape is deleteable.\n *\n * @param {Boolean} flag enable or disable flag for the delete operation\n **/\n setDeleteable: function setDeleteable(flag) {\n this.deleteable = !!flag;\n this.fireEvent(\"change:deleteable\", { value: this.deleteable });\n\n return this;\n },\n\n /**\n *\n * Set the parent of this figure.\n * Don't call them manually.\n *\n * @param {draw2d.Figure} parent The new parent of this figure\n * @private\n **/\n setParent: function setParent(parent) {\n this.parent = parent;\n\n if (parent !== null) {\n // inherit the selection handling impl from the parent\n this.setSelectionAdapter(parent.getSelectionAdapter());\n } else {\n // use default\n this.setSelectionAdapter(null);\n }\n\n return this;\n },\n\n /**\n *\n * Get the parent of this figure.\n *\n * @returns {draw2d.Figure}\n **/\n getParent: function getParent() {\n return this.parent;\n },\n\n /**\n *\n * Check to see if a figure is a descendant of another figure.\n * <br>\n * The contains() method returns true if the figure provided by the argument is a descendant of this figure,\n * whether it is a direct child or nested more deeply. Otherwise, it returns false.\n *\n * @param {draw2d.Figure} containedFigure The figure that may be contained by (a descendant of) this figure.\n * @since 5.5.4\n */\n contains: function contains(containedFigure) {\n if (containedFigure.getParent() === this) {\n return true;\n }\n\n for (var i = 0, len = this.children.getSize(); i < len; i++) {\n var child = this.children.get(i).figure;\n if (child.contains(containedFigure)) {\n return true;\n }\n }\n return false;\n },\n\n /**\n *\n * Get the top most parent of this figure. This can be an layout figure or parent container\n *\n * @returns {draw2d.Figure}\n * @since 5.0.6\n **/\n getRoot: function getRoot() {\n var root = this.parent;\n while (root !== null && root.parent !== null) {\n root = root.parent;\n }\n return root;\n },\n\n /**\n *\n * Set the assigned composite of this figure.\n *\n * @param {draw2d.shape.composite.StrongComposite} composite The assigned composite of this figure\n * @since 4.8.0\n **/\n setComposite: function setComposite(composite) {\n if (composite !== null && !(composite instanceof _packages2.default.shape.composite.StrongComposite)) {\n throw \"'composite must inherit from 'draw2d.shape.composite.StrongComposite'\";\n }\n\n this.composite = composite;\n\n return this;\n },\n\n /**\n *\n * Get the assigned composite of this figure.\n *\n * @returns {draw2d.shape.composite.StrongComposite}\n * @since 4.8.0\n **/\n getComposite: function getComposite() {\n return this.composite;\n },\n\n /**\n *\n * Execute all handlers and behaviors attached to the figure for the given event type.\n *\n *\n * @param {String} event the event to trigger\n * @param {Object} [args] optional parameters for the triggered event callback\n *\n * @since 5.0.0\n */\n fireEvent: function fireEvent(event, args) {\n try {\n if (typeof this.eventSubscriptions[event] === 'undefined') {\n return;\n }\n\n // avoid recursion\n if (this._inEvent === true) {\n return;\n }\n this._inEvent = true;\n var subscribers = this.eventSubscriptions[event];\n for (var i = 0; i < subscribers.length; i++) {\n subscribers[i](this, args);\n }\n } catch (exc) {\n console.log(exc);\n throw exc;\n } finally {\n this._inEvent = false;\n\n // fire a generic change event if an attribute has changed\n // required for some DataBinding frameworks or for the Backbone.Model compatibility\n // the event \"change\" with the corresponding attribute name as additional parameter\n if (event.substring(0, 7) === \"change:\") {\n this.fireEvent(\"change\", event.substring(7));\n }\n }\n },\n\n /**\n *\n * Attach an event handler function for one or more events to the figure.\n * To remove events bound with .on(), see {@link #off}.\n *\n * possible events are:<br>\n * <ul>\n * <li>click</li>\n * <li>dblclick</li>\n * <li>move</li>\n * <li>resize</li>\n * <li>timer</li>\n * <li>contextmenu</li>\n * <li>show</li>\n * <li>hide</li>\n * <li>added</li>\n * <li>removed</li>\n * <li>change:[attr]</li>\n * </ul>\n *\n * @param {String} event One or more space-separated event types\n * @param {Function} callback A function to execute when the event is triggered.\n * @param {draw2d.Figure} callback.emitter the emitter of the event\n * @param {Object} [callback.obj] optional event related data\n * @param {Object} [context] optional context of the function callback.\n * @since 5.0.0\n */\n on: function on(event, callback, context) {\n var events = event.split(\" \");\n if (typeof callback === \"undefined\") {\n debugger;\n }\n // the \"context\" param is add to be compatible with Backbone.Model.\n // The project \"backbone.ModelBinder\" requires this signature and we want to be nice.\n //\n if (context) {\n callback = callback.bind(context);\n callback.___originalCallback = callback;\n }\n\n for (var i = 0; i < events.length; i++) {\n if (typeof this.eventSubscriptions[events[i]] === 'undefined') {\n this.eventSubscriptions[events[i]] = [];\n }\n // avoid duplicate registration for the same event with the same callback method\n if (-1 !== $.inArray(callback, this.eventSubscriptions[events[i]])) {\n // debugger\n } else {\n this.eventSubscriptions[events[i]].push(callback);\n }\n }\n return this;\n },\n\n /**\n *\n * The .off() method removes event handlers that were attached with {@link #on}.<br>\n * Calling .off() with no arguments removes all handlers attached to the elements.<br>\n * <br>\n * If a simple event name such as \"move\" is provided, all events of that type are removed from the figure.\n *\n *\n * @param {String|Function} eventOrFunction the event name of the registerd function or the function itself\n * @since 5.0.0\n */\n off: function off(eventOrFunction) {\n if (typeof eventOrFunction === \"undefined\") {\n this.eventSubscriptions = {};\n } else if (typeof eventOrFunction === 'string') {\n this.eventSubscriptions[eventOrFunction] = [];\n } else {\n for (var event in this.eventSubscriptions) {\n this.eventSubscriptions[event] = this.eventSubscriptions[event].filter(function (callback) {\n if (typeof callback.___originalCallback !== \"undefined\") {\n return callback.___originalCallback !== eventOrFunction;\n }\n return callback !== eventOrFunction;\n });\n }\n }\n\n return this;\n },\n\n /**\n *\n * Returns the best figure at the location [x,y]. It is a simple hit test. Keep in mind that only visible objects\n * are returned.\n *\n * @param {Number} x The x position.\n * @param {Number} y The y position.\n * @param {draw2d.Figure|Array} [figureToIgnore] The figures which should be ignored.\n **/\n getBestChild: function getBestChild(x, y, figureToIgnore) {\n if (!Array.isArray(figureToIgnore)) {\n if (figureToIgnore instanceof _packages2.default.Figure) {\n figureToIgnore = [figureToIgnore];\n } else {\n figureToIgnore = [];\n }\n }\n\n var result = null;\n\n // tool method to check recursive a figure for hitTest\n //\n var checkRecursive = function checkRecursive(children) {\n children.each(function (i, e) {\n var c = e.figure;\n checkRecursive(c.children);\n if (result === null && c.isVisible() === true && c.hitTest(x, y) === true && $.inArray(c, figureToIgnore) === -1) {\n result = c;\n }\n return result === null; // break the each-loop if we found an element\n });\n };\n\n checkRecursive(this.children);\n\n return result;\n },\n\n /**\n *\n * Returns the Command to perform the specified Request or null.\n *\n * @param {draw2d.command.CommandType} request describes the Command being requested\n * @returns {draw2d.command.Command} null or a Command\n * @private\n **/\n createCommand: function createCommand(request) {\n if (request === null) {\n return null;\n }\n\n if (request.getPolicy() === _packages2.default.command.CommandType.MOVE) {\n if (!this.isDraggable()) {\n return null;\n }\n return new _packages2.default.command.CommandMove(this);\n }\n\n if (request.getPolicy() === _packages2.default.command.CommandType.DELETE) {\n if (!this.isDeleteable()) {\n return null;\n }\n return new _packages2.default.command.CommandDelete(this);\n }\n\n if (request.getPolicy() === _packages2.default.command.CommandType.RESIZE) {\n if (!this.isResizeable()) {\n return null;\n }\n return new _packages2.default.command.CommandResize(this);\n }\n\n return null;\n },\n\n /**\n *\n * Clone the figure. <br>\n * You must override and implement the methods <b>getPersistentAttributes</b> and <b>setPersistentAttributes</b> for your custom\n * figures if the have special attributes.\n *\n * The clone() method performs a deep copy of the object, meaning that it copies the children, ports and decorations\n * per default. You can control the clone procedure with the 'cloneMetaData'.\n *\n *\n * @param {Object} [cloneMetaData] controls the clone procedure\n * @param {Boolean} [cloneMetaData.excludeChildren] set it to true if you want exclude the children.\n *\n * @since 4.1.0\n * @experimental\n */\n clone: function clone(cloneMetaData) {\n cloneMetaData = (0, _extend2.default)({ excludeChildren: false }, cloneMetaData);\n\n var clone = eval(\"new \" + this.NAME + \"();\");\n var initialId = clone.id;\n\n clone.setPersistentAttributes(this.getPersistentAttributes());\n\n clone.id = initialId;\n\n // add all decorations to the memento\n //\n if (cloneMetaData.excludeChildren === false) {\n clone.resetChildren();\n this.children.each(function (i, entry) {\n var child = entry.figure.clone();\n // we can ignore the locator if this didn't provide a \"correct\" name, this can happen in some\n // Layout shapes like VerticalLayout or Horziontal Layout. This figures injects it own kind\n // of layouter...so didn'T care about this.\n\n var locator = entry.locator.NAME ? eval(\"new \" + entry.locator.NAME + \"();\") : null;\n clone.add(child, locator);\n });\n }\n\n return clone;\n },\n\n /**\n *\n * Return an objects with all important attributes for XML or JSON serialization\n *\n * @return {Object} all attributes of the figure required for the persistency\n */\n getPersistentAttributes: function getPersistentAttributes() {\n // force deep copy of userData to avoid side effects in the clone method.\n //\n var memento = {\n type: this.NAME,\n id: this.id,\n x: this.getX(),\n y: this.getY(),\n width: this.width,\n height: this.height,\n alpha: this.alpha,\n selectable: this.selectable,\n draggable: this.draggable,\n angle: this.rotationAngle,\n userData: (0, _extend2.default)(true, {}, this.userData)\n };\n\n if (this.cssClass !== null) {\n memento.cssClass = this.cssClass;\n }\n\n if (this.composite !== null) {\n memento.composite = this.composite.getId();\n }\n\n return memento;\n },\n\n /**\n *\n * Read all attributes from the serialized properties and transfer them into the shape.\n *\n * @param {Object} memento\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this.id = memento.id;\n this.setPosition(parseFloat(memento.x), parseFloat(memento.y));\n\n // width and height are optional parameter for the JSON stuff.\n // We use the defaults if the attributes not present\n if (typeof memento.width !== \"undefined\") {\n this.width = parseFloat(memento.width);\n }\n\n if (typeof memento.height !== \"undefined\") {\n this.height = parseFloat(memento.height);\n }\n\n if (typeof memento.userData !== \"undefined\") {\n this.userData = memento.userData;\n }\n\n if (typeof memento.selectable !== \"undefined\") {\n this.selectable = memento.selectable;\n }\n\n if (typeof memento.draggable !== \"undefined\") {\n this.draggable = memento.draggable;\n }\n\n if (typeof memento.cssClass !== \"undefined\") {\n this.setCssClass(memento.cssClass);\n }\n\n if (typeof memento.alpha !== \"undefined\") {\n this.setAlpha(parseFloat(memento.alpha));\n }\n\n if (typeof memento.angle !== \"undefined\") {\n this.rotationAngle = parseFloat(memento.angle);\n }\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/HeadlessCanvas.js\":\n/*!*******************************!*\\\n !*** ./src/HeadlessCanvas.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Required for Node.js draw2d model read/write operations.\n *\n * @inheritable\n * @author Andreas Herz\n */\n\n_packages2.default.HeadlessCanvas = Class.extend(\n/** @lends draw2d.HeadlessCanvas.prototype */\n\n/** @lends draw2d.HeadlessCanvas.prototype */\n{\n\n NAME: \"draw2d.HeadlessCanvas\",\n\n /**\n * Create a new canvas with the given HTML DOM references.\n *\n * @param {String} canvasId the id of the DOM element to use a parent container\n */\n init: function init() {\n // internal document with all figures, ports, ....\n //\n this.figures = new _packages2.default.util.ArrayList();\n this.lines = new _packages2.default.util.ArrayList(); // crap - why are connections not just figures. Design by accident\n this.commonPorts = new _packages2.default.util.ArrayList();\n\n this.eventSubscriptions = {};\n\n // The CommandStack for undo/redo operations\n //\n this.commandStack = new _packages2.default.command.CommandStack();\n },\n\n /**\n * \n * Reset the canvas and delete all model elements.<br>\n * You can now reload another model to the canvas with a {@link draw2d.io.Reader}\n *\n * @since 1.1.0\n */\n clear: function clear() {\n // internal document with all figures, ports, ....\n //\n this.figures = new _packages2.default.util.ArrayList();\n this.lines = new _packages2.default.util.ArrayList();\n this.commonPorts = new _packages2.default.util.ArrayList();\n\n this.commandStack.markSaveLocation();\n\n return this;\n },\n\n calculateConnectionIntersection: function calculateConnectionIntersection() {},\n\n /**\n * \n * Callback for any kind of image export tools to trigger the canvas to hide all unwanted\n * decorations. The method is called e.g. from the draw2d.io.png.Writer\n *\n * @since 4.0.0\n * @template\n */\n hideDecoration: function hideDecoration() {},\n\n /**\n * \n * callback method for any image export writer to reactivate the decoration\n * of the canvas. e.g. grids, rulers,...\n *\n *\n * @since 4.0.0\n * @template\n */\n showDecoration: function showDecoration() {},\n\n /**\n * \n * Add a figure at the given x/y coordinate. This method fires an event.\n *\n * Example:\n *\n * canvas.on(\"figure:add\", function(emitter, event){\n * alert(\"figure added:\");\n * });\n *\n * // or more general if you want catch all figure related events\n * //\n * canvas.on(\"figure\", function(emitter, event){\n * // use event.figure.getCanvas()===null to determine if the\n * // figure part of the canvas\n *\n * alert(\"figure added or removed:\");\n * });\n *\n * @param {draw2d.Figure} figure The figure to add.\n * @param {Number/draw2d.geo.Point} [x] The new x coordinate of the figure or the x/y coordinate if it is an draw2d.geo.Point\n * @param {Number} [y] The y position.\n **/\n add: function add(figure, x, y) {\n if (figure.getCanvas() === this) {\n return;\n }\n\n if (figure instanceof _packages2.default.shape.basic.Line) {\n this.lines.add(figure);\n } else {\n this.figures.add(figure);\n }\n figure.canvas = this;\n\n return this;\n },\n\n /**\n * \n * Returns all lines/connections in this workflow/canvas.<br>\n *\n * @protected\n * @returns {draw2d.util.ArrayList}\n **/\n getLines: function getLines() {\n return this.lines;\n },\n\n /**\n * \n * Returns the internal figures.<br>\n *\n * @protected\n * @returns {draw2d.util.ArrayList}\n **/\n getFigures: function getFigures() {\n return this.figures;\n },\n\n /**\n * \n * Returns the line or connection with the given id.\n *\n * @param {String} id The id of the line.\n *\n * @returns {draw2d.shape.basic.Line}\n **/\n getLine: function getLine(id) {\n var count = this.lines.getSize();\n for (var i = 0; i < count; i++) {\n var line = this.lines.get(i);\n if (line.getId() === id) {\n return line;\n }\n }\n return null;\n },\n\n /**\n * \n * Returns the figure with the given id.\n *\n * @param {String} id The id of the figure.\n * @returns {draw2d.Figure}\n **/\n getFigure: function getFigure(id) {\n var figure = null;\n this.figures.each(function (i, e) {\n if (e.id === id) {\n figure = e;\n return false;\n }\n });\n return figure;\n },\n\n /**\n * \n * Register a port to the canvas. This is required for other ports to find a valid drop target.\n *\n * @param {draw2d.Port} port The new port which has been added to the Canvas.\n **/\n registerPort: function registerPort(port) {\n // All elements have the same drop targets.\n //\n if (!this.commonPorts.contains(port)) {\n this.commonPorts.add(port);\n }\n\n return this;\n },\n\n /**\n * \n * Return all ports in the canvas\n *\n */\n getAllPorts: function getAllPorts() {\n return this.commonPorts;\n },\n\n /**\n * \n * Returns the command stack for the Canvas. Required for undo/redo support.\n *\n * @returns {draw2d.command.CommandStack}\n **/\n getCommandStack: function getCommandStack() {\n return this.commandStack;\n },\n\n // NEW EVENT HANDLING SINCE VERSION 5.0.0\n /**\n * \n * Execute all handlers and behaviors attached to the canvas for the given event type.\n *\n *\n * @param {String} event the event to trigger\n * @param {Object} [args] optional parameters for the triggered event callback\n *\n * @since 5.0.0\n */\n fireEvent: function fireEvent(event, args) {\n if (typeof this.eventSubscriptions[event] === 'undefined') {\n return;\n }\n\n var subscribers = this.eventSubscriptions[event];\n for (var i = 0; i < subscribers.length; i++) {\n try {\n subscribers[i](this, args);\n } catch (exc) {\n console.log(exc);\n console.log(subscribers[i]);\n debugger;\n }\n }\n },\n\n /**\n * \n * Attach an event handler function for one or more events to the canvas.\n * To remove events bound with .on(), see {@link #off}.\n *\n * possible events are:<br>\n * <ul>\n * <li>reset</li>\n * <li>select</li>\n * </ul>\n *\n * Example:\n *\n * canvas.on(\"clear\", function(emitter, event){\n * alert(\"canvas.clear() called.\");\n * });\n *\n * canvas.on(\"select\", function(emitter,event){\n * if(event.figure!==null){\n * alert(\"figure selected\");\n * }\n * else{\n * alert(\"selection cleared\");\n * }\n * });\n *\n * @param {String} event One or more space-separated event types\n * @param {Function} callback A function to execute when the event is triggered.\n * @param {draw2d.Canvas} callback.emitter the emitter of the event\n * @param {Object} [callback.obj] optional event related data\n *\n * @since 5.0.0\n */\n on: function on(event, callback) {\n var events = event.split(\" \");\n for (var i = 0; i < events.length; i++) {\n if (typeof this.eventSubscriptions[events[i]] === 'undefined') {\n this.eventSubscriptions[events[i]] = [];\n }\n this.eventSubscriptions[events[i]].push(callback);\n }\n return this;\n },\n\n /**\n * \n * The .off() method removes event handlers that were attached with {@link #on}.<br>\n * Calling .off() with no arguments removes all handlers attached to the canvas.<br>\n * <br>\n * If a simple event name such as \"reset\" is provided, all events of that type are removed from the canvas.\n *\n *\n * @param {String|Function} eventOrFunction the event name of the registerd function\n * @since 5.0.0\n */\n off: function off(eventOrFunction) {\n if (typeof eventOrFunction === \"undefined\") {\n this.eventSubscriptions = {};\n } else if (typeof eventOrFunction === 'string') {\n this.eventSubscriptions[eventOrFunction] = [];\n } else {\n for (var event in this.eventSubscriptions) {\n this.eventSubscriptions[event] = this.eventSubscriptions[event].filter(function (callback) {\n return callback !== eventOrFunction;\n });\n }\n }\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/HybridPort.js\":\n/*!***************************!*\\\n !*** ./src/HybridPort.js ***!\n \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A HybridPort can work as Input and as Output port in the same way for a {@link draw2d.Connection}.\n *\n * @author Andreas Herz\n * @extends draw2d.Port\n */\n_packages2.default.HybridPort = _packages2.default.Port.extend(\n/** @lends draw2d.HybridPort.prototype */\n{\n NAME: \"draw2d.HybridPort\",\n\n /**\n * Create a new HybridPort element\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n // responsive for the arrangement of the port\n // calculates the x/y coordinates in relation to the parent node\n this.locator = new _packages2.default.layout.locator.InputPortLocator();\n },\n\n /**\n * @param {draw2d.command.CommandType} request The requested operation to perform on the object\n * @returns {draw2d.command.Command} The matching command to the requested operation.\n */\n createCommand: function createCommand(request) {\n // Connect request between two ports\n //\n if (request.getPolicy() === _packages2.default.command.CommandType.CONNECT) {\n\n if (request.source.getParent().getId() === request.target.getParent().getId()) {\n return null;\n }\n\n if (request.source instanceof _packages2.default.InputPort) {\n // This is the difference to the InputPort implementation of createCommand.\n return new _packages2.default.command.CommandConnect(request.target, request.source, request.source);\n } else if (request.source instanceof _packages2.default.OutputPort) {\n // This is the different to the OutputPort implementation of createCommand\n return new _packages2.default.command.CommandConnect(request.source, request.target, request.source);\n } else if (request.source instanceof _packages2.default.HybridPort) {\n // This is the different to the OutputPort implementation of createCommand\n return new _packages2.default.command.CommandConnect(request.target, request.source, request.source);\n }\n\n return null;\n }\n\n // ...else call the base class\n return this._super(request);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/InputPort.js\":\n/*!**************************!*\\\n !*** ./src/InputPort.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A InputPort is the start anchor for a {@link draw2d.Connection}.\n *\n * @author Andreas Herz\n * @extend draw2d.Port\n */\n_packages2.default.InputPort = _packages2.default.Port.extend(\n/** @lends draw2d.InputPort.prototype */\n{\n\n NAME: \"draw2d.InputPort\",\n\n /**\n * Create a new InputPort element\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n // responsive for the arrangement of the port\n // calculates the x/y coordinates in relation to the parent node\n this.locator = new _packages2.default.layout.locator.InputPortLocator();\n },\n\n /**\n * @inheritdoc\n */\n createCommand: function createCommand(request) {\n // Connect request between two ports\n //\n if (request.getPolicy() === _packages2.default.command.CommandType.CONNECT) {\n return new _packages2.default.command.CommandConnect(request.source, request.target, request.source);\n }\n\n // ...else call the base class\n return this._super(request);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/OutputPort.js\":\n/*!***************************!*\\\n !*** ./src/OutputPort.js ***!\n \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A OutputPort is the start anchor for a {@link draw2d.Connection}.\n *\n * @author Andreas Herz\n * @extends draw2d.Port\n */\n_packages2.default.OutputPort = _packages2.default.Port.extend(\n/** @lends draw2d.OutputPort.prototype */\n{\n\n NAME: \"draw2d.OutputPort\",\n\n /**\n * Create a new OutputPort element\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n // responsive for the arrangement of the port\n // calculates the x/y coordinates in relation to the parent node\n this.locator = new _packages2.default.layout.locator.OutputPortLocator();\n },\n\n /**\n * @inheritdoc\n */\n createCommand: function createCommand(request) {\n // Connect request between two ports\n //\n if (request.getPolicy() === _packages2.default.command.CommandType.CONNECT) {\n // source and target are changed.\n return new _packages2.default.command.CommandConnect(request.target, request.source, request.source);\n }\n\n // ...else call the base class\n return this._super(request);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/Port.js\":\n/*!*********************!*\\\n !*** ./src/Port.js ***!\n \\*********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ./util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A port is an object that is used to establish a connection between a node and a {@link draw2d.Connection}. The port can\n * be placed anywhere within a node ( see {@link draw2d.layout.locator.PortLocator} for details)\n *\n *\n * @author Andreas Herz\n * @param {Object} [attr] the configuration of the shape\n * @extends draw2d.shape.basic.Circle\n */\n\n_packages2.default.Port = _packages2.default.shape.basic.Circle.extend(\n/** @lends draw2d.Port.prototype */\n{\n\n NAME: \"draw2d.Port\",\n\n DEFAULT_BORDER_COLOR: new _packages2.default.util.Color(\"#1B1B1B\"),\n\n init: function init(attr, setter, getter) {\n var _this2 = this;\n\n this.locator = null;\n this.lighterBgColor = null;\n this.name = null;\n this.coronaWidth = 5; // the corona width for the hitTest method. Useful during drag&drop of ports. Better SnapTo behavior.\n\n this._super((0, _extend2.default)({\n bgColor: \"#4f6870\",\n stroke: 1,\n diameter: 10,\n color: \"#1B1B1B\",\n selectable: false\n }, attr), (0, _extend2.default)({\n coronaWidth: this.setCoronaWidth,\n semanticGroup: this.setSemanticGroup\n }, setter), (0, _extend2.default)({\n coronaWidth: this.getCoronaWidth,\n semanticGroup: this.getSemanticGroup\n }, getter));\n\n // status vars for user interaction\n //\n this.ox = this.x;\n this.oy = this.y;\n this.corona = null; // draw2d.shape.basic.Circle\n this.useGradient = true;\n\n this.preferredConnectionDirection = null;\n\n // current attached connections\n this.connections = new _packages2.default.util.ArrayList();\n\n this.moveListener = function (emitter, event) {\n _this2.repaint();\n // Falls sich der parent bewegt hat, dann muss der Port dies seinen\n // Connections mitteilen\n _this2.fireEvent(\"move\", { figure: _this2, dx: 0, dy: 0 });\n };\n\n this.connectionAnchor = new _packages2.default.layout.anchor.ConnectionAnchor(this);\n\n // for dynamic diagrams. A Port can have a value which is set by a connector\n //\n this.value = null;\n this.maxFanOut = Number.MAX_SAFE_INTEGER;\n\n // semantic group. Only ports in the same semantic group can be connected\n //\n this.semanticGroup = \"global\";\n\n this.setCanSnapToHelper(false);\n\n // uninstall all default selection policies. This is not required for Ports\n this.editPolicy.each(function (i, policy) {\n return _this2.uninstallEditPolicy(policy);\n });\n\n this.installEditPolicy(new _packages2.default.policy.port.IntrusivePortsFeedbackPolicy());\n // this.installEditPolicy(new draw2d.policy.port.ElasticStrapFeedbackPolicy());\n\n // a port handles the selection handling always by its own regardless if\n // the port is part of an composite, node, group or whatever.\n this.portSelectionAdapter = function () {\n return _this2;\n };\n },\n\n getSelectionAdapter: function getSelectionAdapter() {\n return this.portSelectionAdapter;\n },\n\n /**\n *\n * set the maximal possible count of connections for this port.<br>\n * This method din't delete any connection if you reduce the number and a bunch of\n * connection are bounded already.\n *\n * @param {Number} count the maximal number of connection related to this port\n * @returns {this}\n */\n setMaxFanOut: function setMaxFanOut(count) {\n this.maxFanOut = Math.max(1, count);\n this.fireEvent(\"change:maxFanOut\", { value: this.maxFanOut });\n\n return this;\n },\n\n /**\n *\n * return the maximal possible connections (in+out) for this port.\n *\n * @returns {Number}\n */\n getMaxFanOut: function getMaxFanOut() {\n return this.maxFanOut;\n },\n\n /**\n *\n * Set the semantic group of this port. Only ports in the same semantic group\n * can be connected.\n *\n * The default for all ports is \"global\"\n *\n * @param {String} group the semantic group of this port\n * @returns {this}\n */\n setSemanticGroup: function setSemanticGroup(group) {\n this.semanticGroup = group;\n this.fireEvent(\"change:semanticGroup\", { value: this.semanticGroup });\n\n return this;\n },\n\n /**\n *\n * Get the semantic group of this port. Only ports in the same semantic group\n * can be connected.\n *\n * The default for all ports is \"global\"\n *\n * @returns {String}\n */\n getSemanticGroup: function getSemanticGroup() {\n return this.semanticGroup;\n },\n\n /**\n *\n * Set the Anchor for this object. An anchor is responsible for the endpoint calculation\n * of an connection. just visible representation.\n *\n * @param {draw2d.layout.anchor.ConnectionAnchor} [anchor] the new source anchor for the connection or \"null\" to use the default anchor.\n * @returns {this}\n **/\n setConnectionAnchor: function setConnectionAnchor(anchor) {\n // set some good defaults.\n if (typeof anchor === \"undefined\" || anchor === null) {\n anchor = new _packages2.default.layout.anchor.ConnectionAnchor();\n }\n\n this.connectionAnchor = anchor;\n this.connectionAnchor.setOwner(this);\n\n // the anchor has changed. In this case all connections needs an change event to recalculate\n // the anchor and the routing itself\n this.fireEvent(\"move\", { figure: this, dx: 0, dy: 0 });\n\n return this;\n },\n\n getConnectionAnchorLocation: function getConnectionAnchorLocation(referencePoint, inquiringConnection) {\n return this.connectionAnchor.getLocation(referencePoint, inquiringConnection);\n },\n\n getConnectionAnchorReferencePoint: function getConnectionAnchorReferencePoint(inquiringConnection) {\n return this.connectionAnchor.getReferencePoint(inquiringConnection);\n },\n\n /**\n *\n * Returns the **direction** for the connection in relation to the given port and it's parent.\n *\n * <p>\n * Possible values:\n * <ul>\n * <li>draw2d.geo.Rectangle.DIRECTION_UP</li>\n * <li>draw2d.geo.Rectangle.DIRECTION_RIGHT</li>\n * <li>draw2d.geo.Rectangle.DIRECTION_DOWN</li>\n * <li>draw2d.geo.Rectangle.DIRECTION_LEFT</li>\n * </ul>\n * <p>\n *\n * @param {draw2d.Port} peerPort the counterpart port\n *\n * @returns {Number} the direction.\n */\n getConnectionDirection: function getConnectionDirection(peerPort) {\n // return the calculated connection direction if the port didn't have set any\n //\n if (typeof this.preferredConnectionDirection === \"undefined\" || this.preferredConnectionDirection === null) {\n return this.getParent().getBoundingBox().getDirection(this.getAbsolutePosition());\n }\n\n return this.preferredConnectionDirection;\n },\n\n /**\n *\n * Set the **direction** for the connection in relation to the given port and it's parent.\n *\n * <p>\n * Possible values:\n * <ul>\n * <li>up -> 0</li>\n * <li>right -> 1</li>\n * <li>down -> 2</li>\n * <li>left -> 3</li>\n * <li>calculated -> null</li>\n * </ul>\n * <p>\n *\n * @since 5.2.1\n * @param {Number} direction the preferred connection direction.\n * @returns {this}\n */\n setConnectionDirection: function setConnectionDirection(direction) {\n this.preferredConnectionDirection = direction;\n\n // needs an change event to recalculate the route\n this.fireEvent(\"move\", { figure: this, dx: 0, dy: 0 });\n\n return this;\n },\n\n /**\n *\n * Set the locator/layouter of the port. A locator is responsive for the x/y arrangement of the\n * port in relation to the parent node.\n *\n * @param {draw2d.layout.locator.Locator} locator\n * @returns {this}\n */\n setLocator: function setLocator(locator) {\n this.locator = locator;\n\n return this;\n },\n\n /**\n *\n * Get the locator/layouter of the port. A locator is responsive for the x/y arrangement of the\n * port in relation to the parent node.\n *\n * @since 4.2.0\n */\n getLocator: function getLocator() {\n return this.locator;\n },\n\n /**\n *\n * Set the new background color of the figure. It is possible to hands over\n * <code>null</code> to set the background transparent.\n *\n * @param {draw2d.util.Color|String} color The new background color of the figure\n * @returns {this}\n **/\n setBackgroundColor: function setBackgroundColor(color) {\n this.lighterBgColor = new _packages2.default.util.Color(color).lighter(0.3).rgba();\n this._super(color);\n\n return this;\n },\n\n /**\n *\n * Set a value for the port. This is useful for interactive/dynamic diagrams like circuits, simulator,...\n *\n * @param {Object} value the new value for the port\n * @returns {this}\n */\n setValue: function setValue(value) {\n\n if (value === this.value) {\n return this;\n }\n var old = this.value;\n this.value = value;\n if (this.getParent() !== null) {\n this.getParent().onPortValueChanged(this);\n }\n this.fireEvent(\"change:value\", { value: this.value, old: old });\n\n return this;\n },\n\n /**\n *\n * Return the user defined value of the port.\n *\n * @returns {Object}\n */\n getValue: function getValue() {\n return this.value;\n },\n\n /**\n * @private\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n // a port did have the 0/0 coordinate in the center and not in the top/left corner\n //\n attributes.cx = this.getAbsoluteX();\n attributes.cy = this.getAbsoluteY();\n attributes.rx = this.width / 2;\n attributes.ry = attributes.rx;\n attributes.cursor = \"move\";\n\n if (this.getAlpha() < 0.9 || this.useGradient === false) {\n attributes.fill = this.bgColor.rgba();\n } else {\n attributes.fill = [\"90\", this.bgColor.hash(), this.lighterBgColor].join(\"-\");\n }\n\n this._super(attributes);\n },\n\n /**\n * @inheritdoc\n *\n **/\n onMouseEnter: function onMouseEnter() {\n this._oldstroke = this.getStroke();\n this.setStroke(2);\n },\n\n /**\n * @inheritdoc\n *\n **/\n onMouseLeave: function onMouseLeave() {\n this.setStroke(this._oldstroke);\n },\n\n /**\n *\n * Returns a {@link draw2d.util.ArrayList} of {@link draw2d.Connection}s of all related connections to this port.\n *\n * @returns {draw2d.util.ArrayList}\n **/\n getConnections: function getConnections() {\n return this.connections;\n },\n\n /**\n * @private\n */\n setParent: function setParent(parent) {\n if (this.parent !== null) {\n this.parent.off(this.moveListener);\n }\n\n this._super(parent);\n\n if (this.parent !== null) {\n this.parent.on(\"move\", this.moveListener);\n }\n },\n\n /**\n *\n * Returns the corona width of the Port. The corona width will be used during the\n * drag&drop of a port.\n *\n * @returns {Number}\n **/\n getCoronaWidth: function getCoronaWidth() {\n return this.coronaWidth;\n },\n\n /**\n *\n * Set the corona width of the Port. The corona width will be used during the\n * drag&drop of a port. You can drop a port in the corona of this port to create\n * a connection. It is not necessary to drop exactly on the port.\n *\n * @param {Number} width The new corona width of the port\n * @returns {this}\n **/\n setCoronaWidth: function setCoronaWidth(width) {\n this.coronaWidth = width;\n\n return this;\n },\n\n /**\n * @inheritdoc\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean}\n * @private\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n // just allow the DragOperation if the port didn't have reached the max fanOut\n // limit.\n if (this.getConnections().getSize() >= this.maxFanOut) {\n return false;\n }\n\n var _this = this;\n\n // this.getShapeElement().insertAfter(this.parent.getShapeElement());\n // don't call the super method. This creates a command and this is not necessary for a port\n this.ox = this.x;\n this.oy = this.y;\n\n var canStartDrag = true;\n\n // notify all installed policies\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n // DragStart operation can send a veto for the dragStart\n // @since 6.1.0\n canStartDrag = canStartDrag && e.onDragStart(_this.canvas, _this, x, y, shiftKey, ctrlKey);\n }\n });\n\n return canStartDrag;\n },\n\n /**\n * @inheritdoc\n *\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n *\n * @private\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n // TODO: warum wurde diese methode überschrieben?!\n this._super(dx, dy);\n },\n\n /**\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @private\n **/\n onDragEnd: function onDragEnd(x, y, shiftKey, ctrlKey) {\n // Don't call the parent implementation. This will create an CommandMove object\n // and store them o the CommandStack for the undo operation. This makes no sense for a\n // port.\n // draw2d.shape.basic.Rectangle.prototype.onDragEnd.call(this); DON'T call the super implementation!!!\n\n this.setAlpha(1.0);\n\n // 1.) Restore the old Position of the node\n //\n this.setPosition(this.ox, this.oy);\n },\n\n /**\n *\n * Called if the user drop this element onto the dropTarget\n *\n * @param {draw2d.Figure} dropTarget The drop target.\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @@private\n **/\n onDrop: function onDrop(dropTarget, x, y, shiftKey, ctrlKey) {},\n\n /**\n *\n * Callback method if a new connection has created with this port\n *\n * // Alternatively you register for this event with:\n * port.on(\"connect\", function(emitterPort, connection){\n * alert(\"port connected\");\n * });\n *\n * @param {draw2d.Connection} connection The connection which has been created\n * @since 2.5.1\n *\n * @template\n **/\n onConnect: function onConnect(connection) {},\n\n /**\n *\n * Callback method if a new connection has created with this port\n *\n * // Alternatively you register for this event with:\n * port.on(\"connect\", function(emitterPort, connection){\n * alert(\"port disconnected\");\n * });\n *\n * @param {draw2d.Connection} connection The connection which has been deleted\n * @since 2.5.1\n *\n * @template\n **/\n onDisconnect: function onDisconnect(connection) {},\n\n /**\n *\n * Return the name of this port.\n *\n * @returns {String}\n **/\n getName: function getName() {\n return this.name;\n },\n\n /**\n *\n * Set the name of this port. The name of the port can be referenced by the lookup of\n * ports in the node.\n *\n *\n * @param {String} name The new name of this port.\n * @returns {this}\n **/\n setName: function setName(name) {\n this.name = name;\n\n return this;\n },\n\n /**\n *\n * Hit test for ports. This method respect the corona diameter of the port for the hit test.\n * The corona width can be set with {@link draw2d.Port#setCoronaWidth}\n *\n * @param {Number} iX\n * @param {Number} iY\n * @param {Number} [corona]\n * @returns {Boolean}\n */\n hitTest: function hitTest(iX, iY, corona) {\n var x = this.getAbsoluteX() - this.coronaWidth - this.getWidth() / 2;\n var y = this.getAbsoluteY() - this.coronaWidth - this.getHeight() / 2;\n var iX2 = x + this.getWidth() + this.coronaWidth * 2;\n var iY2 = y + this.getHeight() + this.coronaWidth * 2;\n\n return iX >= x && iX <= iX2 && iY >= y && iY <= iY2;\n },\n\n /**\n *\n * Highlight this port\n *\n * @param {Boolean} flag indicator if the figure should glow.\n * @returns {this}\n */\n setGlow: function setGlow(flag) {\n if (flag === true && this.corona === null) {\n this.corona = new _packages2.default.Corona();\n this.corona.setDimension(this.getWidth() + this.getCoronaWidth() * 2, this.getWidth() + this.getCoronaWidth() * 2);\n this.corona.setPosition(this.getAbsoluteX() - this.getCoronaWidth() - this.getWidth() / 2, this.getAbsoluteY() - this.getCoronaWidth() - this.getHeight() / 2);\n\n this.corona.setCanvas(this.getCanvas());\n\n // important inital\n this.corona.getShapeElement();\n this.corona.repaint();\n } else if (flag === false && this.corona !== null) {\n this.corona.setCanvas(null);\n this.corona = null;\n }\n\n return this;\n },\n\n /**\n *\n * Set the diameter of the port. The center of the circle will be retained.\n *\n * @param {Number} d The new diameter of the circle.\n * @since 4.0.0\n * @returns {this}\n **/\n setDiameter: function setDiameter(d) {\n //let center = this.getCenter()\n this.setDimension(d, d);\n // the port has its center in the middle. In this case there is no need to shift the center of the circle\n // like it is done in the base implementation.\n //this.setCenter(center)\n this.fireEvent(\"change:diameter\", { value: d });\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n createCommand: function createCommand(request) {\n // the port has its own implementation of the CommandMove\n //\n if (request.getPolicy() === _packages2.default.command.CommandType.MOVE) {\n if (!this.isDraggable()) {\n return null;\n }\n return new _packages2.default.command.CommandMovePort(this);\n }\n\n return null;\n },\n\n /**\n *\n * Called from the figure itself when any position changes happens. All listener\n * will be informed.\n * <br>\n * DON'T fire this event if the Port is during a Drag&Drop operation. This can happen\n * if we try to connect two ports\n *\n * @private\n **/\n fireEvent: function fireEvent(event, args) {\n if (this.isInDragDrop === true && event !== \"drag\") {\n return;\n }\n\n this._super(event, args);\n },\n\n /**\n *\n * Return an objects with all important attributes for XML or JSON serialization\n *\n * @return {Object} all attributes required for the persistency\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n memento.maxFanOut = this.maxFanOut;\n memento.name = this.name;\n memento.semanticGroup = this.semanticGroup;\n\n // defined by the locator. Don't persist\n //\n delete memento.x;\n delete memento.y;\n\n // ports didn't have children ports. In this case we\n // delete this attribute as well to avoid confusions.\n //\n delete memento.ports;\n\n return memento;\n },\n\n /**\n *\n * Read all attributes from the serialized properties and transfer them into the shape.\n *\n * @param {Object} memento\n * @returns {this}\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.maxFanOut !== \"undefined\") {\n // Big bug in the past.\n // I used Number.MAX_VALUE as maxFanOut which is 1.7976931348623157e+308\n // parseInt creates \"1\" during the reading of the JSON - which is crap.\n // BIG BIG BUG!!! my fault.\n // Now check if the memento.maxFanOut is a number and take this without crappy parsing.\n if (typeof memento.maxFanOut === \"number\") {\n this.maxFanOut = memento.maxFanOut;\n } else {\n this.maxFanOut = Math.max(1, parseInt(memento.maxFanOut));\n }\n }\n\n if (typeof memento.name !== \"undefined\") {\n this.setName(memento.name);\n }\n\n if (typeof memento.semanticGroup !== \"undefined\") {\n this.setSemanticGroup(memento.semanticGroup);\n }\n\n return this;\n }\n});\n\n/**\n * @class\n * Glow effect for ports. Just for internal use.\n *\n * @private\n * @extend draw2d.shape.basic.Circle\n */\n_packages2.default.Corona = _packages2.default.shape.basic.Circle.extend(\n/** @lends draw2d.shape.basic.Circle.prototype */\n{\n\n init: function init() {\n this._super();\n this.setAlpha(0.3);\n this.setBackgroundColor(new _packages2.default.util.Color(178, 225, 255));\n this.setColor(new _packages2.default.util.Color(102, 182, 252));\n },\n\n /**\n *\n * the the opacity of the element.\n *\n * @param {Number} percent\n */\n setAlpha: function setAlpha(percent) {\n this._super(Math.min(0.3, percent));\n this.setDeleteable(false);\n this.setDraggable(false);\n this.setResizeable(false);\n this.setSelectable(false);\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/ResizeHandle.js\":\n/*!*****************************!*\\\n !*** ./src/ResizeHandle.js ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ./util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * The Resizehandles for Figures.\n\n * <pre>\n * Possible Type:\n *\n * 1 2 3\n * O-----------O-------------O\n * | |\n * | |\n * 8 O + 9 O 4\n * | |\n * | |\n * O-----------O-------------O\n * 7 6 5\n * </pre>\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Rectangle\n */\n_packages2.default.ResizeHandle = _packages2.default.shape.basic.Rectangle.extend(\n/** @lends draw2d.ResizeHandle.prototype */\n{\n\n NAME: \"draw2d.ResizeHandle\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {draw2d.Figure} the owner if the resize handle\n * @param {Number} type the type of the ResizeHandle.\n */\n init: function init(attr, setter, getter) {\n var _this = this;\n\n this.zoomCallback = function () {\n _this.attr({\n width: _this.origWidth * _this.getCanvas().getZoom(),\n height: _this.origHeight * _this.getCanvas().getZoom(),\n radius: _this.origRadius * _this.getCanvas().getZoom(),\n stroke: _this.origStroke * _this.getCanvas().getZoom()\n });\n\n // size of the ResizeHandle has changed. Force a reposition of handle\n //\n if (!_this.blockEvent) _this.owner.fireEvent(\"move\", {});\n };\n\n this._super((0, _extend2.default)({\n // set some good defaults\n bgColor: \"#FDFDFD\",\n stroke: 0.5,\n width: 10,\n height: 10,\n minWidth: 0.3,\n minHeight: 0.3,\n color: \"#a0a0a0\",\n radius: 1,\n selectable: false\n // and allow to override them\n }, attr), (0, _extend2.default)({\n owner: this.setOwner,\n type: this.setType\n }, setter), (0, _extend2.default)({\n owner: this.getOwner,\n type: this.getType\n }, getter));\n\n // required in the SelectionEditPolicy to indicate the type of figure\n // which the user clicks\n this.isResizeHandle = true;\n\n this.command = null;\n this.commandMove = null;\n this.commandResize = null;\n this.useGradient = true;\n\n this.origRadius = this.radius;\n this.origWidth = this.width;\n this.origHeight = this.height;\n this.origStroke = this.stroke;\n },\n\n /**\n *\n * The edge of the rectangle for the snapTo mechanism.\n *\n * @return {draw2d.SnapToHelper} enum of the direction (NORTH, NORTH_WEST, EAST,...)\n */\n getSnapToDirection: function getSnapToDirection() {\n switch (this.type) {\n case 1:\n return _packages2.default.SnapToHelper.NORTH_WEST;\n case 2:\n return _packages2.default.SnapToHelper.NORTH;\n case 3:\n return _packages2.default.SnapToHelper.NORTH_EAST;\n case 4:\n return _packages2.default.SnapToHelper.EAST;\n case 5:\n return _packages2.default.SnapToHelper.SOUTH_EAST;\n case 6:\n return _packages2.default.SnapToHelper.SOUTH;\n case 7:\n return _packages2.default.SnapToHelper.SOUTH_WEST;\n case 8:\n return _packages2.default.SnapToHelper.WEST;\n case 9:\n return _packages2.default.SnapToHelper.NSEW;\n default:\n return _packages2.default.SnapToHelper.EAST;\n }\n },\n\n /**\n * @inheritdoc\n */\n createShapeElement: function createShapeElement() {\n this.shape = this._super();\n\n this.shape.node.setAttribute(\"type\", this.type);\n this.updateCursor(this.shape);\n\n return this.shape;\n },\n\n /**\n *\n * Returns the current used SVG as string\n *\n * @returns {String}\n */\n getOwner: function getOwner() {\n return this.owner;\n },\n\n setOwner: function setOwner(owner) {\n this.owner = owner;\n\n return this;\n },\n\n /**\n *\n * Returns the current used SVG as string\n *\n * @returns {String}\n */\n getType: function getType() {\n return this.type;\n },\n\n setType: function setType(type) {\n this.type = type;\n\n return this;\n },\n\n /**\n *\n * calculate and set the cursor of the reize handle\n * @private\n */\n updateCursor: function updateCursor(shape) {\n if (shape === null) {\n return this;\n }\n\n if (this.isDraggable() === false) {\n shape.attr({ \"cursor\": \"default\" });\n return this;\n }\n\n switch (this.type) {\n case 1:\n shape.attr({ \"cursor\": \"nw-resize\" });\n break;\n case 2:\n shape.attr({ \"cursor\": \"n-resize\" });\n break;\n case 3:\n shape.attr({ \"cursor\": \"ne-resize\" });\n break;\n case 4:\n shape.attr({ \"cursor\": \"e-resize\" });\n break;\n case 5:\n shape.attr({ \"cursor\": \"se-resize\" });\n break;\n case 6:\n shape.attr({ \"cursor\": \"s-resize\" });\n break;\n case 7:\n shape.attr({ \"cursor\": \"sw-resize\" });\n break;\n case 8:\n shape.attr({ \"cursor\": \"w-resize\" });\n break;\n default:\n shape.attr({ \"cursor\": \"move\" });\n break;\n }\n return this;\n },\n\n /**\n *\n * Adjust the draggable flag of the resize handle and update the cursor of the shape in relation\n * to the type of resize handle. north, south,west,..\n *\n * @param flag\n * @returns {this}\n */\n setDraggable: function setDraggable(flag) {\n this._super(flag);\n this.updateCursor(this.shape);\n\n return this;\n },\n\n /**\n *\n * Will be called if the drag and drop action beginns. You can return [false] if you\n * want avoid that the figure can be move.\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean} true whenever the drag drop operation is allowed.\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n // This happens if the selected figure has set the \"nonResizeable\" flag\n // In this case the ResizeHandle can't be dragged. => no resize\n //\n if (!this.isDraggable()) {\n return false;\n }\n\n this.ox = this.getAbsoluteX();\n this.oy = this.getAbsoluteY();\n\n this.commandMove = this.owner.createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.MOVE));\n this.commandResize = this.owner.createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.RESIZE));\n\n return true;\n },\n\n /**\n *\n * Called by the framework if the figure is moved by user interaction.\n *\n * @param {Number} dx the move x offset\n * @param {Number} dy the move y offset\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n *\n */\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n if (this.isDraggable() === false) {\n return;\n }\n\n var oldX = this.getAbsoluteX();\n var oldY = this.getAbsoluteY();\n\n // call the super.drag method with all snapTo### handler and adjustments\n this._super(dx, dy, dx2, dy2);\n\n var diffX = this.getAbsoluteX() - oldX;\n var diffY = this.getAbsoluteY() - oldY;\n\n var obj = this.owner;\n var objPosX = obj.getAbsoluteX();\n var objPosY = obj.getAbsoluteY();\n var objWidth = obj.getWidth();\n var objHeight = obj.getHeight();\n\n var newX = null;\n var newY = null;\n var corrPos = null;\n switch (this.type) {\n case 1:\n obj.setDimension(objWidth - diffX, objHeight - diffY);\n newX = objPosX + (objWidth - obj.getWidth());\n newY = objPosY + (objHeight - obj.getHeight());\n obj.setPosition(newX, newY);\n break;\n case 2:\n obj.setDimension(objWidth, objHeight - diffY);\n newX = objPosX;\n newY = objPosY + (objHeight - obj.getHeight());\n obj.setPosition(newX, newY);\n break;\n case 3:\n obj.setDimension(objWidth + diffX, objHeight - diffY);\n newX = objPosX;\n newY = objPosY + (objHeight - obj.getHeight());\n obj.setPosition(newX, newY);\n break;\n case 4:\n obj.setDimension(objWidth + diffX, objHeight);\n break;\n case 5:\n obj.setDimension(objWidth + diffX, objHeight + diffY);\n break;\n case 6:\n obj.setDimension(objWidth, objHeight + diffY);\n break;\n case 7:\n obj.setDimension(objWidth - diffX, objHeight + diffY);\n newX = objPosX + (objWidth - obj.getWidth());\n newY = objPosY;\n obj.setPosition(newX, newY);\n break;\n case 8:\n obj.setDimension(objWidth - diffX, objHeight);\n newX = objPosX + (objWidth - obj.getWidth());\n newY = objPosY;\n obj.setPosition(newX, newY);\n break;\n }\n\n if (newX !== null) {\n // may the setPosition has changed regarding any constraint or edit policies. In this case\n // we must adjust the dimension with the related correction\n //\n corrPos = obj.getPosition();\n if (corrPos.x !== newX || corrPos.y !== newY) {\n obj.setDimension(obj.getWidth() - (corrPos.x - newX), obj.getHeight() - (corrPos.y - newY));\n }\n }\n },\n\n /**\n *\n * Will be called after a drag and drop action.<br>\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onDragEnd: function onDragEnd(x, y, shiftKey, ctrlKey) {\n if (!this.isDraggable()) {\n return;\n }\n\n // An non draggable resizeHandle doesn't create a move/resize command.\n // This happens if the selected figure has set the \"nonResizeable\" flag.\n //\n if (this.commandMove !== null) {\n this.commandMove.setPosition(this.owner.getX(), this.owner.getY());\n this.canvas.getCommandStack().execute(this.commandMove);\n this.commandMove = null;\n }\n\n if (this.commandResize !== null) {\n this.commandResize.setDimension(this.owner.getWidth(), this.owner.getHeight());\n this.canvas.getCommandStack().execute(this.commandResize);\n this.commandResize = null;\n }\n },\n\n /**\n * Set the position of the object.<br>\n * The ResizeHandle overrides the Figure.setPosition method. The base\n * class updates the resize handles during the update of the Dimension/Position. This\n * is not neccessary for the ResizeHandles. Performance issue.\n *\n * @param {Number|draw2d.geo.Point} x The new x coordinate of the figure\n * @param {Number} y The new y coordinate of the figure\n **/\n setPosition: function setPosition(x, y) {\n // don't call base implementation. Base implementation will show\n // ResizeHandles...but I'm the ResizeHandle\n if (x instanceof _packages2.default.geo.Point) {\n this.x = x.x;\n this.y = x.y;\n } else {\n this.x = x;\n this.y = y;\n }\n\n if (this.repaintBlocked === true || this.shape === null) {\n return this;\n }\n\n // performance improvement by setting the coordinates direct.\n this.shape.attr({ x: this.x, y: this.y });\n\n this.applyTransformation();\n },\n\n /**\n *\n * Set the new dimension of the the ResizeHandle. If you didn't pass any width/height the best default for the\n * platform will be used.\n *\n * Additional the \"snapTo\" anchor is re-calculated in relation to the type of ResizeHandle\n *\n * @param {Number} [width] new width of the resize handle\n * @param {Number} [height] new width of the resize handle\n */\n setDimension: function setDimension(width, height) {\n\n if (typeof height !== \"undefined\") {\n this._super(width, height);\n } else {\n if (_packages2.default.isTouchDevice) {\n this._super(15, 15);\n } else {\n this._super(8, 8);\n }\n }\n\n var offset = this.getWidth();\n var offset2 = offset / 2;\n\n switch (this.type) {\n case 1:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(offset, offset));\n break;\n case 2:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(offset2, offset));\n break;\n case 3:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(0, offset));\n break;\n case 4:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(0, offset2));\n break;\n case 5:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(0, 0));\n break;\n case 6:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(offset2, 0));\n break;\n case 7:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(offset, 0));\n break;\n case 8:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(offset, offset2));\n break;\n case 9:\n this.setSnapToGridAnchor(new _packages2.default.geo.Point(offset2, offset2));\n break;\n }\n\n return this;\n },\n\n /**\n *\n * Show the ResizeHandle and add it to the canvas.<br>\n * Additional bring it in to the front of other figures if we didn't use\n * an overlayCanvas.\n *\n * If the ResizeHandle is place inside an overlayCanvas it is automatically on top.\n *\n * @param {draw2d.Canvas} canvas the canvas to use\n **/\n show: function show(canvas) {\n // don't call the parent function. The parent functions delete this object\n // and a resize handle can't be deleted.\n this.setCanvas(canvas);\n\n this.canvas.resizeHandles.add(this);\n this.shape.insertAfter(this.owner.getShapeElement());\n\n try {\n this.blockEvent = true;\n this.zoomCallback();\n } finally {\n this.blockEvent = false;\n }\n this.repaint();\n\n return this;\n },\n\n /**\n *\n * Hide the resize handle and remove it from the canvas.\n *\n **/\n hide: function hide() {\n // don't call the parent function. The parent functions delete this object\n // and a resize handle shouldn't be deleted.\n if (this.shape === null) {\n return;\n }\n\n this.canvas.resizeHandles.remove(this);\n this.setCanvas(null);\n\n return this;\n },\n\n setCanvas: function setCanvas(canvas) {\n\n if (this.canvas !== null) {\n this.canvas.off(this.zoomCallback);\n }\n\n this._super(canvas);\n\n if (this.canvas !== null) {\n this.canvas.on(\"zoom\", this.zoomCallback);\n }\n },\n\n /**\n *\n * Set the new background color of the figure. It is possible to hands over\n * <code>null</code> to set the background transparent.\n *\n * @param {draw2d.util.Color} color The new background color of the figure\n **/\n setBackgroundColor: function setBackgroundColor(color) {\n color = new _packages2.default.util.Color(color);\n\n this.bgGradient = \"90-\" + color.darker(0.2).hash() + \"-\" + color.hash();\n this._super(color);\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n if (this.bgColor.hash() === \"none\") {\n attributes.fill = \"none\";\n } else if (this.getAlpha() < 0.9 || this.useGradient === false) {\n attributes.fill = this.bgColor.rgba();\n } else {\n attributes.fill = this.bgGradient;\n }\n\n this._super(attributes);\n },\n\n /**\n *\n * return true if the element can be used in combination with the\n * SnapToHelper feature.\n *\n * @returns {Boolean}\n **/\n supportsSnapToHelper: function supportsSnapToHelper() {\n return true;\n },\n\n /**\n *\n * Override this method and redirect them to the cavas. A ResizeHandle didn't support\n * Keyboard interaction at the moment.\n *\n * @param {Number} keyCode the id of the pressed key\n * @param {Boolean} ctrl true if the user has pressed the CTRL/STRG key as well.\n **/\n onKeyDown: function onKeyDown(keyCode, ctrl) {\n // don't call the parent function. The parent functions delete this object\n // and a resize handle can't be deleted.\n this.canvas.onKeyDown(keyCode, ctrl);\n },\n\n /**\n * @inheritdoc\n */\n fireEvent: function fireEvent(event, args) {\n // A resizeHandle doesn't fire this event.\n // Normally this set the document dirty. This is not necessary for a ResizeHandle.\n }\n});\n\n/***/ }),\n\n/***/ \"./src/SVGFigure.js\":\n/*!**************************!*\\\n !*** ./src/SVGFigure.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Abstract class which can handle plain SVG content.\n *\n * @author Andreas Herz\n * @extends draw2d.SetFigure\n */\n_packages2.default.SVGFigure = _packages2.default.SetFigure.extend(\n/** @lends draw2d.SVGFigure.prototype */\n{\n\n NAME: \"draw2d.SVGFigure\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.svg = null;\n\n this._super((0, _extend2.default)({}, attr), (0, _extend2.default)({\n svg: this.setSVG\n }, setter), (0, _extend2.default)({\n svg: this.getSVG\n }, getter));\n },\n\n /**\n * @inheritdoc\n */\n createSet: function createSet() {\n // legacy behaviour. Legacy code of Draw2D didn't have the \"svg\" attribute.\n // in this case we must call the overridden method \"getSVG\" to retrieve the SVG from inherit\n // the inherit class.\n //\n if (this.svg === null) {\n this.svg = this.getSVG();\n }\n\n return this.importSVG(this.canvas, this.svg);\n },\n\n /**\n * \n * Returns the current used SVG as string\n * @returns {String}\n */\n getSVG: function getSVG() {\n return this.svg;\n },\n\n /**\n * \n * Set the SVG of this shape\n *\n * @param {String} svg The new SVG to render as String\n * @param {Number} [duration] the optional duration for the change of the SVG of the figure\n *\n * @returns {draw2d.SVGFigure}\n */\n setSVG: function setSVG(svg, duration) {\n this.svg = svg;\n\n // SVG has changed. Update the rendering\n //\n if (this.canvas !== null && this.svgNodes !== null) {\n var newSVGNodes = this.createSet();\n if (!isNaN(parseFloat(duration))) {\n newSVGNodes.hide();\n newSVGNodes.insertAfter(this.svgNodes);\n var oldSVG = this.svgNodes;\n this.svgNodes = newSVGNodes;\n this.applyTransformation();\n oldSVG.forEach(function (shape) {\n $(shape.node).fadeOut(duration, function () {\n shape.remove();\n });\n });\n newSVGNodes.forEach(function (shape) {\n $(shape.node).fadeIn(duration);\n });\n } else {\n newSVGNodes.insertAfter(this.svgNodes);\n this.svgNodes.remove();\n this.svgNodes = newSVGNodes;\n this.applyTransformation();\n }\n }\n\n return this;\n },\n\n /**\n * \n * Helper method to transform the SVG string into a raphaelJS set.\n *\n * @private\n */\n importSVG: function importSVG(canvas, rawSVG) {\n\n var set = canvas.paper.set();\n\n try {\n if (typeof rawSVG === 'undefined') {\n throw 'No data was provided.';\n }\n\n // Override the dimension from the JSON if the SVG contains any\n //\n var svgDOM = $(rawSVG);\n\n // set the dimension of the element if the JSON import didn't provide\n // a dimension already\n //\n if (typeof this._dimensionReadFromJSON === \"undefined\") {\n if (svgDOM.attr(\"width\") && svgDOM.attr(\"height\")) {\n this.setDimension(parseFloat(svgDOM.attr(\"width\")), parseFloat(svgDOM.attr(\"height\")));\n }\n delete this._dimensionReadFromJSON;\n }\n\n var findStyle = new RegExp('([a-z0-9\\-]+) ?: ?([^ ;]+)[ ;]?', 'gi');\n\n svgDOM.children().each(function (i, element) {\n //element = $(element);\n var shape = null;\n var style = null;\n var attr = {};\n var node = element.tagName;\n\n // remove the namespace of the node if existing. This can happen in IE8\n //\n var index = node.indexOf(\":\");\n if (index != -1) node = node.substr(index + 1);\n\n // map some element to Raphael specifix attributes or ignore some unknown attributes\n //\n $(element.attributes).each(function () {\n switch (this.nodeName) {\n case 'stroke-dasharray':\n attr[this.nodeName] = '- ';\n break;\n case 'style':\n style = this.nodeValue;\n break;\n case 'id':\n case 'xml:space':\n // just to ignore\n break;\n default:\n if (this.value) {\n attr[this.nodeName] = this.value;\n } else {\n // @deprecated\n attr[this.nodeName] = this.nodeValue;\n }\n break;\n }\n });\n\n if (style !== null) {\n while (findStyle.exec(style)) {\n attr[RegExp.$1] = RegExp.$2;\n }\n }\n\n // set some good defaults if the element didn't provide a stroke-width but has a \"stroke\" attribute\n //\n if (typeof attr['stroke-width'] === 'undefined') {\n attr['stroke-width'] = typeof attr.stroke === 'undefined' ? 0 : 1.2;\n }\n\n switch (node) {\n case 'rect':\n shape = canvas.paper.rect();\n\n // transfer rx-SVG attribute to the \"r\" attribute of raphael\n if (typeof attr[\"rx\"] !== \"undefined\") {\n attr.r = parseInt(attr.rx);\n delete attr.rx;\n }\n break;\n case 'circle':\n shape = canvas.paper.circle();\n break;\n case 'ellipse':\n shape = canvas.paper.ellipse();\n break;\n case 'path':\n attr.fill = \"none\";\n shape = canvas.paper.path(attr.d);\n break;\n case 'line':\n attr.d = \"M \" + attr.x1 + \" \" + attr.y1 + \"L\" + attr.x2 + \" \" + attr.y2;\n attr.fill = \"none\";\n shape = canvas.paper.path(attr.d);\n break;\n case 'polyline':\n var path = attr.points;\n attr.d = \"M \" + path.replace(\" \", \" L\");\n shape = canvas.paper.path(attr.d);\n break;\n case 'polygon':\n shape = canvas.paper.polygon(attr.points);\n break;\n case 'image':\n shape = canvas.paper.image();\n break;\n case 'tspan':\n case 'text':\n if (element.childNodes.length > 0) {\n var child = element.firstChild;\n do {\n switch (child.nodeType) {\n case 2: //ATTRIBUTE_NODE\n case 4: //CDATA_SECTION_NODE\n case 5: //ENTITY_REFERENCE_NODE\n case 6: //ENTITY_NODE\n case 7: //PROCESSING_INSTRUCTION_NODE\n case 8: //COMMENT_NODE\n case 9: //DOCUMENT_NODE\n case 10: //DOCUMENT_TYPE_NODE\n case 11: //DOCUMENT_FRAGMENT_NODE\n case 12:\n //NOTATION_NODE\n return;\n case 3:\n //TEXT_NODE\n // redirect to the parent node if we found a simple TEXT without any attributes\n child = element;\n break;\n case 1: //ELEMENT_NODE\n }\n var subShape = canvas.paper.text(0, 0, $(child).text());\n var subAttr = { \"x\": parseFloat(child.attributes.x.value), \"y\": parseFloat(child.attributes.y.value) };\n subAttr[\"text-anchor\"] = \"start\";\n if (typeof child.attributes[\"text-anchor\"] !== \"undefined\") {\n subAttr[\"text-anchor\"] = child.attributes[\"text-anchor\"].value;\n } else if (typeof attr[\"text-anchor\"] !== \"undefined\") {\n subAttr[\"text-anchor\"] = attr[\"text-anchor\"];\n }\n\n if (typeof child.attributes[\"font-size\"] !== \"undefined\") {\n subAttr[\"font-size\"] = parseInt(child.attributes[\"font-size\"].value);\n } else if (typeof attr[\"font-size\"] !== \"undefined\") {\n // inherit the font size from the parent node\n subAttr[\"font-size\"] = parseInt(attr[\"font-size\"]);\n }\n\n if (typeof child.attributes[\"font-family\"] !== \"undefined\") {\n subAttr[\"font-family\"] = child.attributes[\"font-family\"].value;\n } else if (typeof attr[\"font-family\"] !== \"undefined\") {\n // inherit the font size from the parent node\n subAttr[\"font-family\"] = attr[\"font-family\"];\n }\n\n subAttr[\"fill\"] = \"#000000\";\n if (typeof child.attributes[\"fill\"] !== \"undefined\") {\n subAttr[\"fill\"] = child.attributes[\"fill\"].value;\n } else if (typeof attr[\"fill\"] !== \"undefined\") {\n // inherit the font size from the parent node\n subAttr[\"fill\"] = attr[\"fill\"];\n }\n\n subAttr.y = subAttr.y + subShape.getBBox().height / 2;\n\n subShape.attr(subAttr);\n set.push(subShape);\n child = child.nextSibling;\n } while (child && child.nodeType === 3); // 3= TEXT_NODE\n } else {\n shape = canvas.paper.text(0, 0, $(element).html());\n if (typeof attr[\"fill\"] === \"undefined\") attr[\"fill\"] = \"#000000\";\n if (typeof attr[\"text-anchor\"] === \"undefined\") attr[\"text-anchor\"] = \"start\";\n if (typeof attr[\"font-size\"] !== \"undefined\") attr[\"font-size\"] = parseInt(attr[\"font-size\"]);\n if (typeof attr[\"font-family\"] !== \"undefined\") attr[\"font-family\"] = parseInt(attr[\"font-family\"]);\n attr.y = parseFloat(attr.y) + shape.getBBox().height / 2;\n }\n break;\n }\n if (shape !== null) {\n shape.attr(attr);\n set.push(shape);\n }\n });\n } catch (error) {\n alert('The SVG data you entered was invalid! (' + error + ')');\n }\n\n return set;\n },\n\n /**\n * \n * Read all attributes from the serialized properties and transfer them into the shape.\n *\n * @param {Object} memento\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n // keep a temp flag to indicate the we have read the dimension of the\n // element from the JSON struct. In this case we didn't care about the dimension\n // from the SVG data\n //\n if (typeof memento.width !== \"undefined\") {\n this._dimensionReadFromJSON = true;\n } else if (typeof memento.height !== \"undefined\") {\n this._dimensionReadFromJSON = true;\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/Selection.js\":\n/*!**************************!*\\\n !*** ./src/Selection.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Represents the current selection in the canvas. The selection element is a pure passive element which\n * manage/store the selection.\n *\n *\n * @author Andreas Herz\n */\n_packages2.default.Selection = Class.extend(\n/** @lends draw2d.Selection.prototype */\n{\n\n NAME: \"draw2d.Selection\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n */\n init: function init() {\n this.primary = null;\n this.all = new _packages2.default.util.ArrayList();\n },\n\n /**\n * \n * Reset the current selection\n *\n */\n clear: function clear() {\n this.primary = null;\n this.all = new _packages2.default.util.ArrayList();\n\n return this;\n },\n\n /**\n * \n * Return the primary selection. This can only one figure at once.\n *\n * @returns {draw2d.Figure} the primary selected figure\n */\n getPrimary: function getPrimary() {\n return this.primary;\n },\n\n /**\n * \n * Set the primary selection.\n *\n * @param {draw2d.Figure} figure The new primary selection\n */\n setPrimary: function setPrimary(figure) {\n this.primary = figure;\n this.add(figure);\n\n return this;\n },\n\n /**\n * \n * Remove the given figure from the selection (primary,all)\n *\n * @param {draw2d.Figure} figure\n */\n remove: function remove(figure) {\n this.all.remove(figure);\n if (this.primary === figure) {\n this.primary = null;\n }\n\n return this;\n },\n\n /**\n * \n * Add a figure to the selection. No events are fired or update the selection handle. This method just\n * add the figure to the internal management data structure.\n *\n * @param figure\n * @private\n */\n add: function add(figure) {\n if (figure !== null && !this.all.contains(figure)) {\n this.all.add(figure);\n }\n\n return this;\n },\n\n /**\n * \n * return true if the given figure part of the selection.\n *\n * @param {draw2d.Figure} figure The figure to check\n * @param {Boolean} [checkDescendant] Check if the figure provided by the argument is a descendant of the selection whether it is a direct child or nested more deeply.\n *\n * @since 2.2.0\n * @returns {Boolean}\n */\n contains: function contains(figure, checkDescendant) {\n if (checkDescendant) {\n for (var i = 0; i < this.all.getSize(); i++) {\n var figureToCheck = this.all.get(i);\n if (figureToCheck === figure || figureToCheck.contains(figure)) {\n return true;\n }\n }\n return false;\n }\n return this.all.contains(figure);\n },\n\n /**\n * \n * Return the size of the selection\n *\n * @since 4.8.0\n */\n getSize: function getSize() {\n return this.all.getSize();\n },\n\n /**\n * \n * Return the complete selection - including the primary selection.\n *\n * @param {Boolean} [expand] expand all StrongComposite and WeakComposite to get all figures. Didn't expand any SetFigures or LayoutFigures\n * @returns {draw2d.util.ArrayList}\n *\n */\n getAll: function getAll(expand) {\n if (expand === true) {\n var result = new _packages2.default.util.ArrayList();\n var addRecursive = function addRecursive(figures) {\n result.addAll(figures, true);\n figures.each(function (index, figure) {\n if (figure instanceof _packages2.default.shape.composite.StrongComposite) {\n addRecursive(figure.getAssignedFigures());\n }\n });\n };\n addRecursive(this.all);\n\n return result;\n }\n\n return this.all.clone();\n },\n\n /**\n * \n * Iterates over the current selection with <b>func</b> as callback handler.\n *\n * @param {Function} func the callback function to call for each element\n * @param {Number} func.i index of the element in iteration\n * @param {Object} func.value value of the element in iteration.\n * @param {Boolean} [reverse] optional parameter. Iterate the collection reverse if it set to <b>true</b>\n */\n each: function each(func, reverse) {\n this.all.each(func, reverse);\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/SetFigure.js\":\n/*!**************************!*\\\n !*** ./src/SetFigure.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A SetFigure is a composition of different SVG elements.\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Rectangle\n */\n_packages2.default.SetFigure = _packages2.default.shape.basic.Rectangle.extend(\n/** @lends draw2d.SetFigure.prototype */\n{\n\n NAME: \"draw2d.SetFigure\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n // collection of SVG DOM nodes\n this.svgNodes = null;\n\n this.originalWidth = null;\n this.originalHeight = null;\n\n this.scaleX = 1;\n this.scaleY = 1;\n\n this.strokeScale = true; // scale the stroke width of the children nodes if the parent resize\n\n this._super((0, _extend2.default)({ stroke: 0, bgColor: null }, attr), setter, getter);\n },\n\n /**\n * \n * Set/Reset the canvas for the element.\n *\n * @param {draw2d.Canvas} canvas the canvas to use\n */\n setCanvas: function setCanvas(canvas) {\n // remove the shape if we reset the canvas and the element\n // was already drawn\n if (canvas === null && this.svgNodes !== null) {\n this.svgNodes.remove();\n this.svgNodes = null;\n }\n\n this._super(canvas);\n },\n\n /**\n * \n * Set the css class if the node.\n *\n * @param {String} cssClass the new css class name of the node\n * @since 2.9.0\n */\n setCssClass: function setCssClass(cssClass) {\n this._super(cssClass);\n\n if (this.svgNodes === null) {\n return this;\n }\n\n if (this.cssClass === null) {\n this.svgNodes.forEach(function (e) {\n e.node.removeAttribute(\"class\");\n });\n } else {\n this.svgNodes.forEach(function (e) {\n e.node.setAttribute(\"class\", cssClass);\n });\n }\n\n return this;\n },\n\n /**\n * \n * propagate all attributes like color, stroke,... to the shape element and\n * repaint them.\n *\n * @protected\n **/\n repaint: function repaint(attributes) {\n // repaint can be blocked during deserialization and if the shape\n // not part of any canvas.\n //\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n if (this.originalWidth !== null) {\n this.scaleX = this.width / this.originalWidth;\n this.scaleY = this.height / this.originalHeight;\n }\n\n attributes = attributes || {};\n\n this.applyAlpha();\n\n this._super(attributes);\n },\n\n /**\n * @inheritdoc\n */\n setVisible: function setVisible(flag, duration) {\n this._super(flag, duration);\n\n if (this.svgNodes !== null) {\n if (duration) {\n if (this.visible === true) {\n this.svgNodes.forEach(function (shape) {\n $(shape.node).fadeIn(duration, function () {\n return shape.show();\n });\n });\n } else {\n this.svgNodes.forEach(function (shape) {\n $(shape.node).fadeOut(duration, function () {\n return shape.hide();\n });\n });\n }\n } else {\n if (this.visible === true) {\n this.svgNodes.show();\n } else {\n this.svgNodes.hide();\n }\n }\n }\n },\n\n /**\n * \n * Apply the opacity to all child set elements. Override this if you want to avoid opacity changes.\n * @private\n *\n */\n applyAlpha: function applyAlpha() {\n this.svgNodes.attr({ opacity: this.alpha });\n },\n\n /**\n * @private\n */\n applyTransformation: function applyTransformation() {\n var s = \"S\" + this.scaleX + \",\" + this.scaleY + \",0,0 \" + \"R\" + this.rotationAngle + \",\" + (this.getWidth() / 2 | 0) + \",\" + (this.getHeight() / 2 | 0) + \"T\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY() + \"\";\n this.svgNodes.transform(s);\n if (this.rotationAngle === 90 || this.rotationAngle === 270) {\n var before = this.svgNodes.getBBox(true);\n var ratio = before.height / before.width;\n var reverseRatio = before.width / before.height;\n var rs = \"...S\" + ratio + \",\" + reverseRatio + \",\" + (this.getAbsoluteX() + this.getWidth() / 2) + \",\" + (this.getAbsoluteY() + this.getHeight() / 2);\n this.svgNodes.transform(rs);\n }\n\n return this;\n },\n\n /**\n * \n * Moves the element so it is the closest to the viewer’s eyes, on top of other elements. Additional\n * the internal model changed as well.\n *\n * Optional: Inserts current object in front of the given one.\n *\n * @param {draw2d.Figure} [figure] move current object in front of the given one.\n * @since 3.0.0\n */\n toFront: function toFront(figure) {\n ////////////////////////////////////////////////////////////////////\n // NOTE: the code has a complete different order of draw2d.Figure.\n // we must respect the svgNodes here\n ////////////////////////////////////////////////////////////////////\n\n // ensure that the z-oder is still correct if the figure is assigned\n // to a StrongComposite\n //\n if (this.composite instanceof _packages2.default.shape.composite.StrongComposite && typeof figure !== \"undefined\") {\n var indexFigure = figure.getZOrder();\n var indexComposite = this.composite.getZOrder();\n if (indexFigure < indexComposite) {\n figure = this.composite;\n }\n }\n\n if (typeof figure === \"undefined\") {\n // bring the outer frame in front...\n this.getShapeElement().toFront();\n\n // and all inner children\n //\n if (this.svgNodes !== null) {\n this.svgNodes.toFront();\n }\n\n if (this.canvas !== null) {\n var figures = this.canvas.getFigures();\n var lines = this.canvas.getLines();\n if (figures.remove(this) !== null) {\n figures.add(this);\n } else if (lines.remove(this) !== null) {\n lines.add(this);\n }\n }\n } else {\n // Bring the SVG shapes between the \"figure\" and the container of this shape\n //\n if (this.svgNodes !== null) {\n this.svgNodes.insertAfter(figure.getTopLevelShapeElement());\n }\n this.getShapeElement().insertAfter(figure.getTopLevelShapeElement());\n\n if (this.canvas !== null) {\n var _figures = this.canvas.getFigures();\n var _lines = this.canvas.getLines();\n if (_figures.remove(this) !== null) {\n var index = _figures.indexOf(figure);\n _figures.insertElementAt(this, index + 1);\n } else if (_lines.remove(this) !== null) {\n _lines.add(this);\n }\n }\n }\n\n // bring all children in front of the parent\n //\n this.children.each(function (i, child) {\n child.figure.toFront(figure);\n });\n\n // the ports are always on top\n //\n var _this = this;\n this.getPorts().each(function (i, port) {\n port.getConnections().each(function (i, connection) {\n connection.toFront(figure);\n });\n // a port should always be in front of the shape doesn't matter what the\n // \"figure\" parameter says.\n //\n port.toFront(_this);\n });\n\n // and last but not lease the ResizeHandles if any present\n //\n this.selectionHandles.each(function (i, handle) {\n handle.toFront();\n });\n\n return this;\n },\n\n /**\n * \n * Moves the element to the background. Additional\n * the internal model changed as well.\n *\n * Optional: Inserts current object in front of the given one.\n *\n * @param {draw2d.Figure} [figure] move current object in front of the given one.\n * @since 4.7.2\n */\n toBack: function toBack(figure) {\n // it is not allowed that a figure is behind the assigned composite\n //\n if (this.composite instanceof _packages2.default.shape.composite.StrongComposite) {\n this.toFront(this.composite);\n return;\n }\n\n // sort the JSON Doc\n //\n if (this.canvas !== null) {\n var figures = this.canvas.getFigures();\n var lines = this.canvas.getLines();\n if (figures.remove(this) !== null) {\n figures.insertElementAt(this, 0);\n } else if (lines.remove(this) !== null) {\n lines.insertElementAt(this, 0);\n }\n }\n\n // bring all children figures in front of the parent\n // run reverse to the collection to care about the z-order of the children)\n this.children.each(function (i, child) {\n child.figure.toBack(figure);\n }, true);\n\n if (this.svgNodes !== null) {\n if (typeof figure !== \"undefined\") {\n this.svgNodes.insertBefore(figure.getShapeElement());\n } else {\n this.svgNodes.toBack();\n }\n }\n\n if (this.canvas !== null) {\n if (typeof figure !== \"undefined\") {\n this.getShapeElement().insertBefore(figure.getShapeElement());\n } else {\n this.getShapeElement().toBack();\n }\n }\n\n // and last but not least - the ports are always on top\n //\n var _this = this;\n this.getPorts().each(function (i, port) {\n port.getConnections().each(function (i, connection) {\n connection.toFront(_this);\n });\n // a port should always be in front of the shape doesn't matter what the\n // \"figure\" parameter says.\n //\n port.toFront(_this);\n });\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n getTopLevelShapeElement: function getTopLevelShapeElement() {\n if (this.svgNodes.length === 0) {\n return this.shape;\n }\n return this.svgNodes;\n },\n\n /**\n * @private\n */\n createShapeElement: function createShapeElement() {\n // NOTE: don't change the order of the two calls. This defines the z-oder in the canvas.\n // The \"set\" must always be on top.\n var shape = this.canvas.paper.rect(this.getX(), this.getY(), this.getWidth(), this.getHeight());\n this.svgNodes = this.createSet();\n\n // check if the element is a \"set\" or a simple raphael shape. otherwise we wrap them into a set\n //\n if (typeof this.svgNodes.forEach === \"undefined\") {\n var set = this.canvas.paper.set();\n set.push(this.svgNodes);\n this.svgNodes = set;\n }\n\n this.svgNodes.attr({ \"stroke-scale\": this.strokeScale });\n\n // update the visibility of the children\n this.setVisible(this.visible);\n\n // propagate the CSS style to all set elements\n this.setCssClass(this.cssClass);\n\n var bb = this.svgNodes.getBBox();\n this.originalWidth = bb.width;\n this.originalHeight = bb.height;\n\n return shape;\n },\n\n /**\n * \n * Override this method to add your own SVG elements. See {@link draw2d.shape.basic.Label} as example.\n *\n * @template\n */\n createSet: function createSet() {\n return this.canvas.paper.set(); // return empty set as default;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/VectorFigure.js\":\n/*!*****************************!*\\\n !*** ./src/VectorFigure.js ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _JSONUtil = __webpack_require__(/*! util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nvar _extend = __webpack_require__(/*! util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * The base class for all vector based figures like {@link draw2d.shape.basic.Rectangle} or {@link draw2d.shape.basic.Oval}\n * inside a canvas.\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.node.Node\n */\n_packages2.default.VectorFigure = _packages2.default.shape.node.Node.extend(\n/** @lends draw2d.VectorFigure.prototype */\n{\n\n NAME: \"draw2d.VectorFigure\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.stroke = 1;\n this.radius = 0;\n this.bgColor = new _packages2.default.util.Color(\"#ffffff\");\n this.color = new _packages2.default.util.Color(\"#303030\");\n this.dasharray = null;\n\n // memento for the stroke if we reset the glow effect of this shape\n //\n this.strokeBeforeGlow = this.stroke;\n this.glowIsActive = false;\n\n this._super(attr, (0, _extend2.default)({\n // @attr {String} dasharray the line pattern see {@link draw2d.shape.basic.Line#setDashArray} for more information*/\n dasharray: this.setDashArray,\n // @attr {Number} radius the radius to render the line edges */\n radius: this.setRadius,\n // @attr {String|draw2d.util.Color} bgColor the background color of the shape */\n bgColor: this.setBackgroundColor,\n // @attr {String|draw2d.util.Color} color the main color of the shape */\n color: this.setColor,\n // @attr {Number} stroke the stroke width */\n stroke: this.setStroke\n }, setter), (0, _extend2.default)({\n dasharray: this.getDashArray,\n radius: this.getRadius,\n bgColor: this.getBackgroundColor,\n color: this.getColor,\n stroke: this.getStroke\n }, getter));\n },\n\n /**\n * \n * Sets the corner radius or the edges.\n *\n * @param {Number} radius\n * @since 4.2.1\n */\n setRadius: function setRadius(radius) {\n this.radius = radius;\n this.repaint();\n this.fireEvent(\"change:radius\", { value: this.radius });\n\n return this;\n },\n\n /**\n * \n * Get the corner radius of the edges.\n *\n * @returns {Number}\n * @since 4.2.1\n */\n getRadius: function getRadius() {\n return this.radius;\n },\n\n /**\n * \n * Set the line style for this object.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * dash: dashPattern\n * });\n *\n * @param {String} dash can be one of this [\"\", \"-\", \".\", \"-.\", \"-..\", \". \", \"- \", \"--\", \"- .\", \"--.\", \"--..\"]\n */\n setDashArray: function setDashArray(dashPattern) {\n this.dasharray = dashPattern;\n this.repaint();\n\n this.fireEvent(\"change:dashArray\", { value: this.dasharray });\n\n return this;\n },\n\n /**\n * \n * Get the line style for this object.\n *\n * // Alternatively you can use the attr method:\n * figure.attr(\"dash\");\n *\n * @since 5.1.0\n */\n getDashArray: function getDashArray() {\n return this.dasharray;\n },\n\n /**\n * \n * Highlight the element or remove the highlighting\n *\n * @param {Boolean} flag indicates glow/noGlow\n */\n setGlow: function setGlow(flag) {\n\n if (flag === this.glowIsActive) {\n return this;\n }\n\n this.glowIsActive = flag;\n if (flag === true) {\n this.strokeBeforeGlow = this.getStroke();\n this.setStroke(this.strokeBeforeGlow * 2.5);\n } else {\n this.setStroke(this.strokeBeforeGlow);\n }\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n attributes.x = this.getAbsoluteX();\n attributes.y = this.getAbsoluteY();\n\n if (typeof attributes.stroke === \"undefined\") {\n if (this.color === null || this.stroke === 0) {\n attributes.stroke = \"none\";\n } else {\n attributes.stroke = this.color.rgba();\n }\n }\n\n _JSONUtil2.default.ensureDefault(attributes, \"stroke-width\", this.stroke);\n _JSONUtil2.default.ensureDefault(attributes, \"fill\", this.bgColor.rgba());\n _JSONUtil2.default.ensureDefault(attributes, \"dasharray\", this.dasharray);\n _JSONUtil2.default.ensureDefault(attributes, \"stroke-dasharray\", this.dasharray);\n\n this._super(attributes);\n\n return this;\n },\n\n /**\n * \n * Set the new background color of the figure. It is possible to hands over\n * <code>null</code> to set the background transparent.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * \"bgColor\": \"#f0f0f0\"\n * });\n *\n * @param {String|draw2d.util.Color} color The new background color of the figure\n **/\n setBackgroundColor: function setBackgroundColor(color) {\n this.bgColor = new _packages2.default.util.Color(color);\n\n this.repaint();\n this.fireEvent(\"change:bgColor\", { value: this.bgColor });\n\n return this;\n },\n\n /**\n * \n * The current used background color.\n *\n * // Alternatively you can use the attr method:\n * var color =figure.attr(\"bgColor\");\n *\n * @returns {draw2d.util.Color}\n */\n getBackgroundColor: function getBackgroundColor() {\n return this.bgColor;\n },\n\n /**\n * \n * Set the stroke to use.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * \"stroke\": 2\n * });\n *\n * @param {Number} w The new line width of the figure\n **/\n setStroke: function setStroke(w) {\n this.stroke = w;\n this.repaint();\n this.fireEvent(\"change:stroke\", { value: this.stroke });\n\n return this;\n },\n\n /**\n * \n * The used line width.\n *\n * @returns {Number}\n **/\n getStroke: function getStroke() {\n return this.stroke;\n },\n\n /**\n * \n * Set the foreground color of the figure.\n * This method fires a <i>document dirty</i> event.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * \"color\": \"#f3f3f3\"\n * });\n *\n * @param {String|draw2d.util.Color} color The new color of the line.\n **/\n setColor: function setColor(color) {\n this.color = new _packages2.default.util.Color(color);\n this.repaint();\n this.fireEvent(\"change:color\", { value: this.color });\n\n return this;\n },\n\n /**\n * \n * Get the current used foreground color\n *\n *\n * @returns {draw2d.util.Color}\n */\n getColor: function getColor() {\n return this.color;\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n return (0, _extend2.default)(this._super(), {\n bgColor: this.bgColor.rgba(),\n color: this.color.rgba(),\n stroke: this.stroke,\n radius: this.radius,\n dasharray: this.dasharray\n });\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.radius !== \"undefined\") {\n this.setRadius(memento.radius);\n }\n\n if (typeof memento.bgColor !== \"undefined\") {\n this.setBackgroundColor(memento.bgColor);\n }\n\n if (typeof memento.color !== \"undefined\") {\n this.setColor(memento.color);\n }\n\n if (typeof memento.stroke !== \"undefined\") {\n this.setStroke(memento.stroke === null ? 0 : parseFloat(memento.stroke));\n }\n\n if (typeof memento.dasharray === \"string\") {\n this.dasharray = memento.dasharray;\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/command/Command.js\":\n/*!********************************!*\\\n !*** ./src/command/Command.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Commands are passed around throughout editing. They are used to encapsulate and combine\n * changes to the application's model. An application has a single command stack. Commands must\n * be executed using the command stack rather than directly calling execute.\n * <br>\n * This is required for a generic support for the undo/redo concept within draw2d.<br>\n *\n * @inheritable\n * @author Andreas Herz\n */\n_packages2.default.command.Command = Class.extend(\n/** @lends draw2d.command.Command.prototype */\n{\n\n NAME: \"draw2d.command.Command\",\n\n /**\n * Create a new Command objects which can be execute via the CommandStack.\n *\n * @param {String} label\n */\n init: function init(label) {\n this.label = label;\n },\n\n /**\n * \n * Returns a label of the Command. e.g. `move figure`.\n *\n * @returns {String} the label for this command\n **/\n getLabel: function getLabel() {\n return this.label;\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modifies the model. e.g.: a CommandMove with [startX,startX] == [endX,endY] should\n * return false. The execution of this Command doesn't modify the model.\n *\n * @returns {Boolean} return try if the command modify the model or make any relevant changes\n **/\n canExecute: function canExecute() {\n return true;\n },\n\n /**\n * \n * Execute the command the first time.\n * Sup-classes must implement this method.\n *\n * @template\n **/\n execute: function execute() {},\n\n /**\n * \n * Will be called if the user cancel the operation.\n *\n * @template\n **/\n cancel: function cancel() {},\n\n /**\n * \n * Undo the command.\n * Sup-classes must implement this method.\n *\n * @template\n **/\n undo: function undo() {},\n\n /**\n * \n * Redo the command after the user has undo this command.\n * Sup-classes must implement this method.\n *\n * @template\n **/\n redo: function redo() {}\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandAdd.js\":\n/*!***********************************!*\\\n !*** ./src/command/CommandAdd.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Command to add a figure with CommandStack support.\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandAdd = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandAdd.prototype */\n{\n\n NAME: \"draw2d.command.CommandAdd\",\n\n /**\n * Create a add command for the given figure.\n *\n * @param {draw2d.Canvas} canvas the canvas to use\n * @param {draw2d.Figure} figure the figure to add\n * @param {Number|draw2d.geo.Point} x the x-coordinate or a complete point where to place the figure\n * @param {Number} [y] the y-coordinate if x is a number and not a complete point\n */\n init: function init(canvas, figure, x, y) {\n this._super(_packages2.default.Configuration.i18n.command.addShape);\n this.figure = figure;\n this.canvas = canvas;\n this.pos = new _packages2.default.geo.Point(x, y);\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modifies the model. e.g.: a CommandMove with [startX,startX] == [endX,endY] should\n * return false. The execution of this Command doesn't modify the model.\n *\n * @returns {Boolean} return try if the command modify the model or make any relevant changes\n **/\n canExecute: function canExecute() {\n // we can only add the figure once to the canvas\n return this.figure.getCanvas() === null;\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.canvas.add(this.figure, this.pos.x, this.pos.y);\n },\n\n /**\n * \n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.execute();\n },\n\n /**\n * \n * Undo the command\n *\n **/\n undo: function undo() {\n this.canvas.remove(this.figure);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandAddVertex.js\":\n/*!*****************************************!*\\\n !*** ./src/command/CommandAddVertex.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Add a vertex to a polyline or polygon\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandAddVertex = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandAddVertex.prototype */\n{\n\n NAME: \"draw2d.command.CommandAddVertex\",\n\n /**\n * Create a new Command objects which add a vertex to a PolyLine / Polygon.\n *\n * @param {draw2d.shape.basic.PolyLine} line the related line\n * @param {Number} index the index where to add\n * @param {Number} x the x coordinate for the new vertex\n * @param {Number} y the y coordinate for the new vertex\n */\n init: function init(line, index, x, y) {\n this._super(_packages2.default.Configuration.i18n.command.addVertex);\n\n this.line = line;\n this.index = index;\n this.newPoint = new _packages2.default.geo.Point(x, y);\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return true;\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n *\n *\n * Undo the move command\n *\n **/\n undo: function undo() {\n this.line.removeVertexAt(this.index);\n },\n\n /**\n *\n *\n * Redo the move command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.line.insertVertexAt(this.index, this.newPoint.x, this.newPoint.y);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandAssignFigure.js\":\n/*!********************************************!*\\\n !*** ./src/command/CommandAssignFigure.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Assign a figure to a compiste\n *\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n * @since 4.9.0\n */\n_packages2.default.command.CommandAssignFigure = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandAssignFigure.prototype */\n{\n\n NAME: \"draw2d.command.CommandAssignFigure\",\n\n /**\n * Create a new Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.Figure} figure the figure to assign\n * @param {draw2d.Figure} composite the composite where the figure should assign\n */\n init: function init(figure, composite) {\n this._super(_packages2.default.Configuration.i18n.command.assignShape);\n\n this.figure = figure;\n this.composite = composite;\n this.assignedConnections = new _packages2.default.util.ArrayList();\n this.isNode = this.figure instanceof _packages2.default.shape.node.Node;\n this.oldBoundingBox = composite.getBoundingBox();\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return true;\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.composite.assignFigure(this.figure);\n\n // get all connections of the shape and check if source/target node\n // part of the composite. In this case the connection will be part of\n // the composite as well\n if (this.isNode === true) {\n var connections = this.figure.getConnections();\n var _this = this;\n connections.each(function (i, connection) {\n if (connection.getSource().getParent().getComposite() === _this.composite && connection.getTarget().getParent().getComposite() === _this.composite) {\n if (connection.getComposite() !== _this.composite) {\n _this.assignedConnections.add({ oldComposite: connection.getComposite(), connection: connection });\n _this.composite.assignFigure(connection);\n }\n }\n });\n }\n },\n\n /**\n *\n *\n * Undo the move command\n *\n **/\n undo: function undo() {\n this.composite.unassignFigure(this.figure);\n this.assignedConnections.each(function (i, entry) {\n if (entry.oldComposite !== null) {\n entry.oldComposite.assignFigure(entry.connection);\n } else {\n entry.connection.getComposite().unassignFigure(entry.connection);\n }\n });\n this.composite.stickFigures = true;\n this.composite.setBoundingBox(this.oldBoundingBox);\n this.composite.stickFigures = false;\n },\n\n /**\n *\n *\n * Redo the move command after the user has undo this command\n *\n **/\n redo: function redo() {\n var _this2 = this;\n\n this.composite.setBoundingBox(this.oldBoundingBox);\n this.composite.assignFigure(this.figure);\n this.assignedConnections.each(function (i, entry) {\n return _this2.composite.assignFigure(entry.connection);\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandAttr.js\":\n/*!************************************!*\\\n !*** ./src/command/CommandAttr.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *Command to change attributes of a shape with undo/redo support\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandAttr = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandAttr.prototype */\n{\n\n NAME: \"draw2d.command.CommandAttr\",\n\n /**\n * Create a new Command objects which provides undo/redo for attributes.\n *\n * @param {draw2d.Figure} figure the figure to handle\n * @param {Object} attributes new attributes to set\n */\n init: function init(figure, newAttributes) {\n var _this = this;\n\n this._super(_packages2.default.Configuration.i18n.command.changeAttributes);\n\n this.figure = figure;\n this.newAttributes = newAttributes;\n this.oldAttributes = {};\n // Get the current attributes from the shape before we modify them.\n // Required for undo/redo\n Object.keys(newAttributes).forEach(function (key) {\n _this.oldAttributes[key] = figure.attr(key);\n });\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return true;\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * \n *\n * Undo the move command\n *\n **/\n undo: function undo() {\n this.figure.attr(this.oldAttributes);\n },\n\n /**\n * \n *\n * Redo the move command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.figure.attr(this.newAttributes);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandBoundingBox.js\":\n/*!*******************************************!*\\\n !*** ./src/command/CommandBoundingBox.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Set the bounding box of a figure with undo/redo support\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandBoundingBox = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandResize.prototype */\n{\n\n NAME: \"draw2d.command.CommandResize\",\n\n /**\n * Create a new resize Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.Figure} figure the figure to resize\n * @param {draw2d.geo.Rectangle} boundingBox the new bounding box of the figure\n */\n init: function init(figure, boundingBox) {\n this._super(_packages2.default.Configuration.i18n.command.resizeShape);\n this.figure = figure;\n this.oldBoundingBox = this.figure.getBoundingBox();\n this.newBoundingBox = boundingBox;\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return !this.oldBoundingBox.equals(this.newBoundingBox);\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n *\n * Undo the command\n *\n **/\n undo: function undo() {\n this.figure.setBoundingBox(this.oldBoundingBox);\n },\n\n /**\n *\n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.figure.setBoundingBox(this.newBoundingBox);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandCollection.js\":\n/*!******************************************!*\\\n !*** ./src/command/CommandCollection.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A CommandCollection works as a single command. You can add more than one\n * Command to this CommandCollection and execute/undo them onto the CommandStack as a\n * single Command.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandCollection = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandCollection.prototype */\n{\n\n NAME: \"draw2d.command.CommandCollection\",\n\n /**\n * Create a new CommandConnect objects which can be execute via the CommandStack.\n *\n * @param {String} [commandLabel] the label to show on the command stack for the undo/redo operation\n */\n init: function init(commandLabel) {\n this._super(typeof commandLabel === 'undefined' ? _packages2.default.Configuration.i18n.command.collection : commandLabel);\n\n this.commands = new _packages2.default.util.ArrayList();\n },\n\n /**\n *\n * Returns a label of the Command. e.g. \"move figure\".\n *\n * @returns {String} the label for this command\n **/\n getLabel: function getLabel() {\n //return the label of the one and only command\n //\n if (this.commands.getSize() === 1) {\n return this.commands.first().getLabel();\n }\n\n // return a common label if all commands have the same label.\n //\n if (this.commands.getSize() > 1) {\n var labels = this.commands.clone().map(function (e) {\n return e.getLabel();\n });\n labels.unique();\n if (labels.getSize() === 1) {\n return labels.first();\n }\n }\n\n // return the all purpose label.\n return this._super();\n },\n\n /**\n *\n * Add a command to the collection.\n *\n * @param {draw2d.command.Command} command\n */\n add: function add(command) {\n this.commands.add(command);\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modifies the model. e.g.: a CommandMove with [startX,startX] == [endX,endY] should\n * return false. The execution of this Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // We ask all cmd's if they make any changes.\n // Keep in mind: the command will be execute if at least ONE command return [true]!!!!\n // doesn't matter if the other commands return [false].\n // The method should be renamed into: modifiesTheModel()....design flaw.\n var canExec = false;\n this.commands.each(function (i, cmd) {\n canExec = canExec || cmd.canExecute();\n });\n return canExec;\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.commands.each(function (i, cmd) {\n cmd.execute();\n });\n },\n\n /**\n *\n * Redo the command after the user has undo this command.\n *\n **/\n redo: function redo() {\n this.commands.each(function (i, cmd) {\n cmd.redo();\n });\n },\n\n /**\n *\n * Undo the command.\n *\n **/\n undo: function undo() {\n // execute the undo operation in reverse direction.\n\n this.commands.reverse();\n this.commands.each(function (i, cmd) {\n cmd.undo();\n });\n this.commands.reverse();\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandConnect.js\":\n/*!***************************************!*\\\n !*** ./src/command/CommandConnect.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Connects two ports with a connection.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandConnect = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandConnect.prototype */\n{\n\n NAME: \"draw2d.command.CommandConnect\",\n\n /**\n * Create a new CommandConnect objects which can be execute via the CommandStack.\n *\n * @param {draw2d.Port} source the source port for the connection to create\n * @param {draw2d.Port} target the target port for the connection to create\n * @param {draw2d.Port} [dropTarget] the port who has initiate the connection creation. mainly the drop target\n */\n init: function init(source, target, dropTarget) {\n this._super(_packages2.default.Configuration.i18n.command.connectPorts);\n this.canvas = target.getCanvas();\n this.source = source;\n this.target = target;\n this.connection = null;\n this.dropTarget = dropTarget; // optional\n },\n\n /**\n *\n * set the connection to use. called by the ConnectionCreatePolicy\n */\n setConnection: function setConnection(connection) {\n this.connection = connection;\n },\n\n /**\n *\n * Returns the fresh created connection if available. Used in the\n * ClickConnectionCreatePolicy to customize the router and vertices.\n *\n * @returns {null|draw2d.Connection}\n * @since 6.1.0\n */\n getConnection: function getConnection() {\n return this.connection;\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n var _this = this;\n\n var optionalCallback = function optionalCallback(conn) {\n _this.connection = conn;\n _this.connection.setSource(_this.source);\n _this.connection.setTarget(_this.target);\n _this.canvas.add(_this.connection);\n };\n\n // the createConnection must return either a connection or \"undefined\". If the method return \"undefined\"\n // the asynch callback must be called. Usefull if the createConnection shows a selection dialog\n //\n if (this.connection === null) {\n // deprecated call!!!!\n //\n var result = _packages2.default.Configuration.factory.createConnection(this.source, this.target, optionalCallback, this.dropTarget);\n debugger;\n // will be handled by the optional callback\n if (typeof result === \"undefined\") {\n return;\n }\n\n this.connection = result;\n }\n\n optionalCallback(this.connection);\n },\n\n /**\n *\n * Redo the command after the user has undo this command.\n *\n **/\n redo: function redo() {\n this.canvas.add(this.connection);\n this.connection.reconnect();\n },\n\n /**\n *\n * Undo the command.\n *\n **/\n undo: function undo() {\n this.canvas.remove(this.connection);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandDelete.js\":\n/*!**************************************!*\\\n !*** ./src/command/CommandDelete.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Command to remove a figure with CommandStack support.\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandDelete = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandDelete.prototype */\n{\n NAME: \"draw2d.command.CommandDelete\",\n\n /**\n * Create a delete command for the given figure.\n *\n * @param {draw2d.Figure} figure\n */\n init: function init(figure) {\n this._super(_packages2.default.Configuration.i18n.command.deleteShape);\n\n this.parent = figure.getParent();\n this.figure = figure;\n this.canvas = figure.getCanvas();\n this.connections = null;\n this.removedParentEntry = null; // can be null if the figure didn't have any parent shape assigned\n this.indexOfChild = -1;\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modifies the model. e.g.: a CommandMove with [startX,startX] == [endX,endY] should\n * return false. The execution of this Command doesn't modify the model.\n *\n * @returns {Boolean} return try if the command modify the model or make any relevant changes\n **/\n canExecute: function canExecute() {\n // we can only delete the figure if its part of the canvas.\n return this.figure.getCanvas() !== null;\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * \n * Undo the command\n *\n **/\n undo: function undo() {\n if (this.parent !== null) {\n this.parent.add(this.removedParentEntry.figure, this.removedParentEntry.locator, this.indexOfChild);\n this.canvas.setCurrentSelection(this.parent);\n } else {\n this.canvas.add(this.figure);\n this.canvas.setCurrentSelection(this.figure);\n }\n\n if (this.figure instanceof _packages2.default.Connection) {\n this.figure.reconnect();\n }\n\n for (var i = 0; i < this.connections.getSize(); ++i) {\n this.canvas.add(this.connections.get(i));\n this.connections.get(i).reconnect();\n }\n },\n\n /**\n * \n *\n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.canvas.setCurrentSelection(null);\n\n // Collect all connections that are bounded to the figure to delete. This connections\n // must be deleted too.\n //\n if (this.connections === null) {\n if (this.figure instanceof _packages2.default.shape.node.Node) {\n this.connections = this.figure.getConnections();\n } else {\n this.connections = new _packages2.default.util.ArrayList();\n }\n }\n\n // already done in the canvas.remove(..) method\n // if(this.figure instanceof draw2d.Connection){\n // this.figure.disconnect();\n // }\n\n\n // remove all connections\n //\n for (var i = 0; i < this.connections.getSize(); ++i) {\n this.canvas.remove(this.connections.get(i));\n }\n\n // remove this figure from the parent\n //\n if (this.parent !== null) {\n // determine the index of the child before remove\n this.indexOfChild = this.parent.getChildren().indexOf(this.figure);\n this.removedParentEntry = this.parent.remove(this.figure);\n }\n // or from the canvas\n else {\n this.canvas.remove(this.figure);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandDeleteGroup.js\":\n/*!*******************************************!*\\\n !*** ./src/command/CommandDeleteGroup.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Command to remove a group with all related children.\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandDeleteGroup = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandDeleteGroup.prototype */\n{\n\n NAME: \"draw2d.command.CommandDeleteGroup\",\n\n /**\n * Create a delete command for the given figure.\n *\n * @param {draw2d.shape.composite.Group} group\n */\n init: function init(group) {\n this._super(_packages2.default.Configuration.i18n.command.deleteShape);\n\n this.parent = group.getParent();\n this.group = group;\n this.canvas = group.getCanvas();\n this.batchDelete = null;\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modifies the model. e.g.: a CommandMove with [startX,startX] == [endX,endY] should\n * return false. The execution of this Command doesn't modify the model.\n *\n * @returns {Boolean} return try if the command modify the model or make any relevant changes\n **/\n canExecute: function canExecute() {\n // we can only delete the shape if a children can be deleted\n //\n var children = this.group.getAssignedFigures();\n for (var i = 0; i < children.getSize(); i++) {\n if (children.get(i).isDeleteable() === false) {\n return false;\n }\n }\n\n // we can only delete the figure if its part of the canvas.\n return this.group.getCanvas() !== null;\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * \n * Undo the command\n *\n **/\n undo: function undo() {\n this.batchDelete.undo();\n this.canvas.setCurrentSelection(this.group);\n },\n\n /**\n * \n *\n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n if (this.batchDelete === null) {\n this.batchDelete = new _packages2.default.command.CommandCollection();\n\n // remove the assignment of the children to the group before we delete the group\n //\n this.batchDelete.add(new _packages2.default.command.CommandUngroup(this.canvas, this.group));\n\n // add the delete command of the children to the batch\n //\n var children = this.group.getAssignedFigures();\n for (var i = 0; i < children.getSize(); i++) {\n var child = children.get(i);\n // request a delete Command from the child instead of create one by my own. May the child\n // provides its own implementation\n var cmd = child.createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.DELETE));\n this.batchDelete.add(cmd);\n }\n }\n\n this.batchDelete.execute();\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandGroup.js\":\n/*!*************************************!*\\\n !*** ./src/command/CommandGroup.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Command to group a given set of figures\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandGroup = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandGroup.prototype */\n{\n\n NAME: \"draw2d.command.CommandGroup\",\n\n /**\n * Create a group command for the given figure.\n *\n * @param {draw2d.util.ArrayList} figures the figures to group\n */\n init: function init(canvas, figures) {\n this._super(_packages2.default.Configuration.i18n.command.groupShapes);\n if (figures instanceof _packages2.default.Selection) {\n this.figures = figures.getAll();\n } else {\n this.figures = figures;\n }\n\n // figures which already part of an non \"Group\" composite will be removed from the set.\n // It is not possible to assign a figure to two different composites.\n //\n this.figures.grep(function (figure) {\n return figure.getComposite() === null;\n });\n\n this.canvas = canvas;\n this.group = new _packages2.default.shape.composite.Group();\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modifies the model. e.g.: a CommandMove with [startX,startX] == [endX,endY] should\n * return false. The execution of this Command doesn't modify the model.\n *\n * @returns {Boolean} return try if the command modify the model or make any relevant changes\n **/\n canExecute: function canExecute() {\n return !this.figures.isEmpty();\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * \n * Undo the command\n *\n **/\n undo: function undo() {\n var _this = this;\n this.figures.each(function (i, figure) {\n _this.group.unassignFigure(figure);\n });\n\n this.canvas.remove(this.group);\n this.canvas.setCurrentSelection(this.figures);\n },\n\n /**\n * \n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n var _this = this;\n this.figures.each(function (i, figure) {\n _this.group.assignFigure(figure);\n });\n\n this.canvas.add(this.group);\n this.canvas.setCurrentSelection(this.group);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandMove.js\":\n/*!************************************!*\\\n !*** ./src/command/CommandMove.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Command for the movement of figures.\n *\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandMove = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandMove.prototype */\n{\n NAME: \"draw2d.command.CommandMove\",\n\n /**\n * Create a new Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.Figure} figure the figure to move\n * @param {Number} [x] the current x position\n * @param {Number} [y] the current y position\n */\n init: function init(figure, x, y) {\n this._super(_packages2.default.Configuration.i18n.command.moveShape);\n this.figure = figure;\n if (typeof x === \"undefined\") {\n this.oldX = figure.getX();\n this.oldY = figure.getY();\n } else {\n this.oldX = x;\n this.oldY = y;\n }\n },\n\n /**\n * \n * Set the initial position of the element\n *\n * @param {Number} x the new initial x position\n * @param {Number} y the new initial y position\n **/\n setStartPosition: function setStartPosition(x, y) {\n this.oldX = x;\n this.oldY = y;\n },\n\n /**\n * \n * Set the target/final position of the figure move command.\n *\n * @param {Number} x the new x position\n * @param {Number} y the new y position\n **/\n setPosition: function setPosition(x, y) {\n this.newX = x;\n this.newY = y;\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return this.newX !== this.oldX || this.newY !== this.oldY;\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * \n *\n * Undo the move command\n *\n **/\n undo: function undo() {\n this.figure.setPosition(this.oldX, this.oldY);\n },\n\n /**\n * \n *\n * Redo the move command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.figure.setPosition(this.newX, this.newY);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandMoveConnection.js\":\n/*!**********************************************!*\\\n !*** ./src/command/CommandMoveConnection.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Command for the movement of figures.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandMoveConnection = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandMoveConnection.prototype */\n{\n\n NAME: \"draw2d.command.CommandMoveConnection\",\n\n /**\n * Create a new Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.Connection} figure the connection to move\n */\n init: function init(figure) {\n this._super(_packages2.default.Configuration.i18n.command.moveLine);\n this.line = figure;\n this.dx = 0;\n this.dy = 0;\n },\n\n /**\n * \n * set the offset of the line translation\n *\n * @param {Number} dx\n * @param {Number} dy\n */\n setTranslation: function setTranslation(dx, dy) {\n this.dx = dx;\n this.dy = dy;\n },\n\n /**\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return this.dx !== 0 && this.dy !== 0;\n },\n\n /**\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * Undo the command\n *\n **/\n undo: function undo() {\n var _this = this;\n this.line.getVertices().each(function (i, e) {\n e.translate(-_this.dx, -_this.dy);\n });\n this.line.svgPathString = null;\n // required to update resize handles and the painting of the line\n this.line.setPosition(this.line.getStartPosition());\n },\n\n /**\n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n var _this = this;\n this.line.getVertices().each(function (i, e) {\n e.translate(_this.dx, _this.dy);\n });\n this.line.svgPathString = null;\n\n // required to update resize handles and the painting of the line\n this.line.setPosition(this.line.getStartPosition());\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandMoveLine.js\":\n/*!****************************************!*\\\n !*** ./src/command/CommandMoveLine.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Command for the movement of figures.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandMoveLine = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandMoveLine.prototype */\n{\n\n NAME: \"draw2d.command.CommandMoveLine\",\n\n /**\n * Create a new Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.shape.basic.Line} figure the line to move\n */\n init: function init(figure) {\n this._super(_packages2.default.Configuration.i18n.command.moveLine);\n this.line = figure;\n this.dx = 0;\n this.dy = 0;\n },\n\n /**\n *\n * set the offset of the line translation\n *\n * @param {Number} dx\n * @param {Number} dy\n */\n setTranslation: function setTranslation(dx, dy) {\n this.dx = dx;\n this.dy = dy;\n },\n\n /**\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return this.dx !== 0 && this.dy !== 0;\n },\n\n /**\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * Undo the command\n *\n **/\n undo: function undo() {\n var _this = this;\n this.line.getVertices().each(function (i, e) {\n e.translate(-_this.dx, -_this.dy);\n });\n this.line.svgPathString = null;\n // required to update resize handles and the painting of the line\n this.line.setPosition(this.line.getStartPosition());\n },\n\n /**\n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n var _this = this;\n this.line.getVertices().each(function (i, e) {\n e.translate(_this.dx, _this.dy);\n });\n this.line.svgPathString = null;\n\n // required to update resize handles and the painting of the line\n this.line.setPosition(this.line.getStartPosition());\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandMoveVertex.js\":\n/*!******************************************!*\\\n !*** ./src/command/CommandMoveVertex.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Command for the vertex movement of a polyline/polygon.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandMoveVertex = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandMoveVertex.prototype */\n{\n\n NAME: \"draw2d.command.CommandMoveVertex\",\n\n /**\n * Create a new Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.shape.basic.PolyLine} line the related line\n */\n init: function init(line) {\n this._super(_packages2.default.Configuration.i18n.command.moveVertex);\n\n this.line = line;\n this.index = -1;\n this.newPoint = null;\n },\n\n /**\n * \n * Set the index of the vertex of the polyline/polygon to modify.\n *\n * @param {Number} index the related index of the vertex\n **/\n setIndex: function setIndex(index) {\n this.index = index;\n this.origPoint = this.line.getVertices().get(this.index).clone();\n },\n\n updatePosition: function updatePosition(x, y) {\n this.newPoint = new _packages2.default.geo.Point(x, y);\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return this.index !== -1 && this.newPoint !== null;\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * \n *\n * Undo the move command\n *\n **/\n undo: function undo() {\n this.line.setVertex(this.index, this.origPoint.x, this.origPoint.y);\n },\n\n /**\n * \n *\n * Redo the move command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.line.setVertex(this.index, this.newPoint.x, this.newPoint.y);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandMoveVertices.js\":\n/*!********************************************!*\\\n !*** ./src/command/CommandMoveVertices.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Command for the vertices movement of a polyline/polygon.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandMoveVertices = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandMoveVertices.prototype */\n{\n\n NAME: \"draw2d.command.CommandMoveVertices\",\n\n /**\n * Create a new Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.shape.basic.PolyLine} line the related line\n */\n init: function init(line) {\n this._super(_packages2.default.Configuration.i18n.command.moveVertices);\n\n this.line = line;\n this.oldVertices = line.getVertices().clone(true);\n this.newVertices = null;\n },\n\n updateVertices: function updateVertices(newVertices) {\n this.newVertices = newVertices;\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return this.newVertices !== null;\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n *\n *\n * Undo the move command\n *\n **/\n undo: function undo() {\n this.line.setVertices(this.oldVertices);\n },\n\n /**\n *\n *\n * Redo the move command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.line.setVertices(this.newVertices);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandReconnect.js\":\n/*!*****************************************!*\\\n !*** ./src/command/CommandReconnect.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Reconnects two ports. This command is used during the DragDrop operation of a draw2d.Connection.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandReconnect = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandReconnect.prototype */\n{\n\n NAME: \"draw2d.command.CommandReconnect\",\n\n /**\n * Create a new Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.Connection} conn the related Connection which is currently in the drag&drop operation\n */\n init: function init(conn) {\n this._super(_packages2.default.Configuration.i18n.command.connectPorts);\n this.con = conn;\n this.oldSourcePort = conn.getSource();\n this.oldTargetPort = conn.getTarget();\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return true;\n },\n\n /**\n *\n * The new ports to use during the execute of this command.\n *\n * @param {draw2d.Port} source\n * @param {draw2d.Port} target\n */\n setNewPorts: function setNewPorts(source, target) {\n this.newSourcePort = source;\n this.newTargetPort = target;\n },\n\n setIndex: function setIndex(index) {\n // do nothing....but method is required for LineResizeHandle\n // With this common interface the ResizeHandle can handle Lines and Connections\n // with the same code\n },\n\n /**\n * compatibily method to the CommandMoveVertex to handle Line and Connections\n * transparent in the ResizeHandles\n *\n * @param x\n * @param y\n */\n updatePosition: function updatePosition(x, y) {\n // do nothing....but method is required for LineResizeHandle\n // With this common interface the ResizeHandle can handle Lines and Connections\n // with the same code\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n cancel: function cancel() {\n this.con.setSource(this.oldSourcePort);\n this.con.setTarget(this.oldTargetPort);\n\n // force a routing of the connection and DON'T set the old reouter again because this reset all manual added\n // vertices\n this.con.routingRequired = true;\n this.con.repaint();\n },\n\n /**\n *\n * Undo the command\n *\n **/\n undo: function undo() {\n this.con.setSource(this.oldSourcePort);\n this.con.setTarget(this.oldTargetPort);\n // force a routing of the connection and DON'T set the old reouter again because this reset all manual added\n // vertices\n this.con.routingRequired = true;\n this.con.repaint();\n },\n\n /**\n *\n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.con.setSource(this.newSourcePort);\n this.con.setTarget(this.newTargetPort);\n // force a routing of the connection and DON'T set the old reouter again because this reset all manual added\n // vertices\n this.con.routingRequired = true;\n this.con.repaint();\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandRemoveVertex.js\":\n/*!********************************************!*\\\n !*** ./src/command/CommandRemoveVertex.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Remove a vertex from a polyline or polygon\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandRemoveVertex = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandRemoveVertex.prototype */\n{\n\n NAME: \"draw2d.command.CommandRemoveVertex\",\n\n /**\n * Create a new Command objects which add a vertex to a PloyLine.\n *\n * @param {draw2d.shape.basic.PolyLine} line the related line\n * @param {Number} index the index where to add\n */\n init: function init(line, index) {\n this._super(_packages2.default.Configuration.i18n.command.deleteVertex);\n\n this.line = line;\n this.index = index;\n this.oldPoint = line.getVertices().get(index).clone();\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return true;\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n *\n *\n * Undo the move command\n *\n **/\n undo: function undo() {\n this.line.insertVertexAt(this.index, this.oldPoint.x, this.oldPoint.y);\n },\n\n /**\n *\n *\n * Redo the move command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.line.removeVertexAt(this.index);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandReplaceVertices.js\":\n/*!***********************************************!*\\\n !*** ./src/command/CommandReplaceVertices.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Replace the vertices of a polyline.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandReplaceVertices = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandReplaceVertices.prototype */\n{\n\n NAME: \"draw2d.command.CommandReplaceVertices\",\n\n /**\n * Create a new Command objects which add a segment to a PolyLine / Polygon.\n *\n * @param {draw2d.shape.basic.PolyLine} line the related line\n * @param {draw2d.util.ArrayList} originalVertices the original vertices of the polyline\n * @param {draw2d.util.ArrayList} newVertices the new vertices of the polyline\n */\n init: function init(line, originalVertices, newVertices) {\n this._super(_packages2.default.Configuration.i18n.command.addSegment);\n\n this.line = line;\n this.originalVertices = originalVertices;\n this.newVertices = newVertices;\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return true;\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * \n *\n * Undo the move command\n *\n **/\n undo: function undo() {\n this.line.setVertices(this.originalVertices);\n },\n\n /**\n * \n *\n * Redo the move command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.line.setVertices(this.newVertices);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandResize.js\":\n/*!**************************************!*\\\n !*** ./src/command/CommandResize.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Resize command for figures. Can be execute/undo/redo via a CommandStack.\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandResize = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandResize.prototype */\n{\n\n NAME: \"draw2d.command.CommandResize\",\n\n /**\n * Create a new resize Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.Figure} figure the figure to resize\n * @param {Number} [width] the current width\n * @param {Number} [height] the current height\n */\n init: function init(figure, width, height) {\n this._super(_packages2.default.Configuration.i18n.command.resizeShape);\n this.figure = figure;\n\n if (typeof width === \"undefined\") {\n this.oldWidth = figure.getWidth();\n this.oldHeight = figure.getHeight();\n } else {\n this.oldWidth = width;\n this.oldHeight = height;\n }\n },\n\n /**\n * \n * Set the new dimension of the element.\n *\n * @param {Number} width the new width.\n * @param {Number} height the new height of the element.\n **/\n setDimension: function setDimension(width, height) {\n this.newWidth = width | 0;\n this.newHeight = height | 0;\n },\n\n /**\n * \n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return this.newWidth !== this.oldWidth || this.newHeight !== this.oldHeight;\n },\n\n /**\n * \n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n * \n * Undo the command\n *\n **/\n undo: function undo() {\n this.figure.setDimension(this.oldWidth, this.oldHeight);\n },\n\n /**\n * \n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.figure.setDimension(this.newWidth, this.newHeight);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandRotate.js\":\n/*!**************************************!*\\\n !*** ./src/command/CommandRotate.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Set the rotation angle of the given figure\n *\n * @since 4.4.1\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.command.Command\n */\n_packages2.default.command.CommandRotate = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandRotate.prototype */\n{\n\n NAME: \"draw2d.command.CommandRotate\",\n\n /**\n * Create a new resize Command objects which can be execute via the CommandStack.\n *\n * @param {draw2d.Figure} figure the figure to resize\n * @param {Number} angle the angle to rotate\n */\n init: function init(figure, angle) {\n this._super(_packages2.default.Configuration.i18n.command.rotateShape);\n this.figure = figure;\n\n this.oldAngle = figure.getRotationAngle();\n this.newAngle = angle;\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modify the model. A CommandMove with [startX,startX] == [endX,endY] should\n * return false. <br>\n * the execution of the Command doesn't modify the model.\n *\n * @returns {Boolean}\n **/\n canExecute: function canExecute() {\n // return false if we doesn't modify the model => NOP Command\n return this.oldAngle !== this.newAngle;\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n *\n * Undo the command\n *\n **/\n undo: function undo() {\n this.rotate(this.oldAngle);\n },\n\n /**\n *\n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n this.rotate(this.newAngle);\n },\n\n rotate: function rotate(angle) {\n var w = this.figure.getWidth();\n var h = this.figure.getHeight();\n\n this.figure.setRotationAngle(angle);\n\n this.figure.setDimension(h, w);\n\n this.figure.portRelayoutRequired = true;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandStack.js\":\n/*!*************************************!*\\\n !*** ./src/command/CommandStack.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * An implementation of a command stack. A stack manages the executing, undoing, and redoing of Commands. Executed\n * commands are pushed onto a a stack for undoing later. Commands which are undone are pushed onto a redo stack.\n * Whenever a new command is executed, the redo stack is flushed.\n *\n * You can retrieve the current used CommandStack just by calling <code>canvas.getCommandStack()</code>\n *\n */\n_packages2.default.command.CommandStack = Class.extend(\n/** @lends draw2d.command.CommandStack.prototype */\n{\n\n NAME: \"draw2d.command.CommandStack\",\n\n /**\n * Create a new CommandStack objects which can be execute via the CommandStack.\n *\n */\n init: function init() {\n this.undostack = [];\n this.redostack = [];\n this.maxundo = 50;\n this.transactionCommand = null;\n this.eventListeners = new _packages2.default.util.ArrayList();\n },\n\n /**\n *\n * Set the maximal undo stack size. Entries will be remove if the max. stack\n * size has been reached.\n *\n * @param {Number} count The maximal undo stack size.\n * @returns {this}\n **/\n setUndoLimit: function setUndoLimit(count) {\n this.maxundo = count;\n\n return this;\n },\n\n /**\n *\n * Remove the undo / redo history. This is useful if the user has been save the\n * document.\n *\n * @returns {this}\n **/\n markSaveLocation: function markSaveLocation() {\n this.undostack = [];\n this.redostack = [];\n\n // fire an empty command to inform all listener that the stack has been changed\n this.notifyListeners(new _packages2.default.command.Command(), _packages2.default.command.CommandStack.POST_EXECUTE);\n\n return this;\n },\n\n /**\n *\n *\n * Executes the specified Command if possible. Prior to executing the command, a\n * draw2d.command.CommandStackEvent for {@link #PRE_EXECUTE} will be fired to event listeners.\n * Similarly, after attempting to execute the command, an event for {@link #POST_EXECUTE}\n * will be fired.\n *\n * @param {draw2d.command.Command} command The command to execute.\n * @returns {this}\n **/\n execute: function execute(command) {\n if (typeof command === \"undefined\") throw \"Missing parameter [command] for method call CommandStack.execute\";\n\n // nothing to do\n if (command === null) return this; //silently\n\n // return if the command can't execute or it doesn't change the model\n // => Empty command\n if (command.canExecute() === false) return this;\n\n // A command stack transaction is open.\n // The execution will be postpone until the transaction will commit\n //\n if (this.transactionCommand !== null) {\n this.transactionCommand.add(command);\n return this;\n }\n\n this.notifyListeners(command, _packages2.default.command.CommandStack.PRE_EXECUTE, \"PRE_EXECUTE\");\n\n this.undostack.push(command);\n command.execute();\n\n // cleanup the redo stack if the user execute a new command.\n // I think this will create a \"clean\" behaviour of the unde/redo mechanism.\n //\n this.redostack = [];\n\n // monitor only the max. undo stack size\n //\n if (this.undostack.length > this.maxundo) {\n this.undostack = this.undostack.slice(this.undostack.length - this.maxundo);\n }\n this.notifyListeners(command, _packages2.default.command.CommandStack.POST_EXECUTE, \"POST_EXECUTE\");\n\n return this;\n },\n\n /**\n *\n * Opens a transaction for further multiple commands. If you execute a command all\n * {@ #execute} calls will be ignored until you commit the current transaction.\n *\n * @param {String} [commandLabel] the label to show for the undo/redo operation\n * @returns {this}\n * @since 4.0.0\n */\n startTransaction: function startTransaction(commandLabel) {\n if (this.transactionCommand !== null) {\n debugger;\n throw \"CommandStack is already within transactional mode. Don't call 'startTransaction\";\n }\n\n this.transactionCommand = new _packages2.default.command.CommandCollection(commandLabel);\n\n return this;\n },\n\n /**\n *\n * Returns true if the Command Stack has an open transaction.\n * You can start or stop a transaction with `startTransaction`and `commitTransaction`.\n *\n * A transaction is one undo/redo operation.\n *\n * @returns {Boolean}\n */\n isInTransaction: function isInTransaction() {\n return this.transactionCommand !== null;\n },\n\n /**\n *\n * Commit the running transaction. All commands between the start/end of a transaction\n * can be undo/redo in a single step.\n *\n * @since 4.0.0\n * @returns {this}\n */\n commitTransaction: function commitTransaction() {\n if (this.transactionCommand === null) {\n return this; //silently\n }\n\n var cmd = this.transactionCommand;\n this.transactionCommand = null;\n // we can drop the CommandCollection if the collection contains only one command.\n if (cmd.commands.getSize() === 1) {\n this.execute(cmd.commands.first());\n } else {\n this.execute(cmd);\n }\n\n return this;\n },\n\n /**\n *\n * Undo on command from the stack and store them on the redo command stack.\n * @returns {this}\n **/\n undo: function undo() {\n var command = this.undostack.pop();\n if (command) {\n this.notifyListeners(command, _packages2.default.command.CommandStack.PRE_UNDO);\n this.redostack.push(command);\n command.undo();\n this.notifyListeners(command, _packages2.default.command.CommandStack.POST_UNDO);\n }\n\n return this;\n },\n\n /**\n *\n * Redo a command after the user has undo a command\n *\n * @returns {this}\n **/\n redo: function redo() {\n var command = this.redostack.pop();\n\n if (command) {\n this.notifyListeners(command, _packages2.default.command.CommandStack.PRE_REDO);\n this.undostack.push(command);\n command.redo();\n this.notifyListeners(command, _packages2.default.command.CommandStack.POST_REDO);\n }\n\n return this;\n },\n\n /**\n *\n * Return the label of the next REDO command.\n *\n * @returns {String}\n **/\n getRedoLabel: function getRedoLabel() {\n if (this.redostack.length === 0) return \"\";\n\n var command = this.redostack[this.redostack.length - 1];\n\n if (command) {\n return command.getLabel();\n }\n return \"\";\n },\n\n /**\n *\n * Return the label of the next UNDO command.\n *\n * @returns {String}\n **/\n getUndoLabel: function getUndoLabel() {\n if (this.undostack.length === 0) return \"\";\n\n var command = this.undostack[this.undostack.length - 1];\n\n if (command) {\n return command.getLabel();\n }\n return \"\";\n },\n\n /**\n *\n * Indicates whenever a REDO is possible.\n *\n * @returns {Boolean} <code>true</code> if it is appropriate to call {@link #redo()}.\n */\n canRedo: function canRedo() {\n return this.redostack.length > 0;\n },\n\n /**\n *\n * indicator whenever a undo is possible.\n *\n * @returns {Boolean} <code>true</code> if {@link #undo()} can be called\n **/\n canUndo: function canUndo() {\n return this.undostack.length > 0;\n },\n\n /**\n *\n * Adds a listener to the command stack, which will be notified whenever a command has been processed on the stack.\n * @deprecated use on/off to register events\n * @param {draw2d.command.CommandStackEventListener|Function} listener the listener to add.\n * @returns {this}\n */\n addEventListener: function addEventListener(listener) {\n return this.on(\"change\", listener);\n },\n /**\n * Adds a listener to the command stack, which will be notified whenever a command has been processed on the stack.\n *\n * @param event\n * @param func\n * @returns {this}\n */\n on: function on(event, listener) {\n if (event !== \"change\") throw \"only event of kind 'change' is supported\";\n\n if (listener instanceof _packages2.default.command.CommandStackEventListener) {\n this.eventListeners.add(listener);\n } else if (typeof listener.stackChanged === \"function\") {\n this.eventListeners.add(listener);\n } else if (typeof listener === \"function\") {\n this.eventListeners.add({ stackChanged: listener });\n } else {\n throw \"Object doesn't implement required callback interface [draw2d.command.CommandStackListener]\";\n }\n\n return this;\n },\n\n /**\n *\n * Removes a listener from the command stack.\n *\n * @deprecated use on/off to register events\n * @param {draw2d.command.CommandStackEventListener} listener the listener to remove.\n * @returns {this}\n */\n removeEventListener: function removeEventListener(listener) {\n this.off(listener);\n\n return this;\n },\n\n /**\n *\n * @param listener\n * @returns {this}\n */\n off: function off(listener) {\n this.eventListeners.grep(function (entry) {\n return entry === listener || entry.stackChanged === listener;\n });\n /*\n let size = this.eventListeners.getSize()\n for (let i = 0; i < size; i++) {\n let entry = this.eventListeners.get(i)\n if (entry === listener || entry.stackChanged === listener) {\n this.eventListeners.remove(entry)\n return\n }\n }\n */\n return this;\n },\n\n /**\n *\n * Notifies command stack event listeners that the command stack has changed to the\n * specified state.\n *\n * @param {draw2d.command.Command} command the command\n * @param {Number} state the current stack state\n * @private\n **/\n notifyListeners: function notifyListeners(command, state, action) {\n var event = new _packages2.default.command.CommandStackEvent(this, command, state, action);\n var size = this.eventListeners.getSize();\n\n for (var i = 0; i < size; i++) {\n this.eventListeners.get(i).stackChanged(event);\n }\n }\n});\n\n// Constant indicating notification prior to executing a command (value is 1).\n_packages2.default.command.CommandStack.PRE_EXECUTE = 1;\n// Constant indicating notification prior to redoing a command (value is 2).\n_packages2.default.command.CommandStack.PRE_REDO = 2;\n// Constant indicating notification prior to undoing a command (value is 4).\n_packages2.default.command.CommandStack.PRE_UNDO = 4;\n// Constant indicating notification after a command has been executed (value is 8).\n_packages2.default.command.CommandStack.POST_EXECUTE = 8;\n// Constant indicating notification after a command has been redone (value is 16).\n_packages2.default.command.CommandStack.POST_REDO = 16;\n// Constant indicating notification after a command has been undone (value is 32).\n_packages2.default.command.CommandStack.POST_UNDO = 32;\n// Constant indicating notification after the stack has been (re)init (value is 64).\n_packages2.default.command.CommandStack.POST_INIT = 64;\n\n_packages2.default.command.CommandStack.POST_MASK = _packages2.default.command.CommandStack.POST_EXECUTE | _packages2.default.command.CommandStack.POST_UNDO | _packages2.default.command.CommandStack.POST_REDO;\n_packages2.default.command.CommandStack.PRE_MASK = _packages2.default.command.CommandStack.PRE_EXECUTE | _packages2.default.command.CommandStack.PRE_UNDO | _packages2.default.command.CommandStack.PRE_REDO;\n\n/***/ }),\n\n/***/ \"./src/command/CommandStackEvent.js\":\n/*!******************************************!*\\\n !*** ./src/command/CommandStackEvent.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Event class which will be fired for every CommandStack operation. Required for CommandStackListener.\n */\n_packages2.default.command.CommandStackEvent = Class.extend(\n/** @lends draw2d.command.CommandStackEvent.prototype */\n{\n\n NAME: \"draw2d.command.CommandStackEvent\",\n\n /**\n * Create a new CommandStack objects which can be execute via the CommandStack.\n *\n * @param {draw2d.command.Command} command the related command\n * @param {Number} details the current state of the command execution\n *\n */\n init: function init(stack, command, details, action) {\n this.stack = stack;\n this.command = command;\n this.details = details; // deprecated\n this.action = action;\n },\n\n /**\n *\n * Return the corresponding stack of the event.\n *\n * @returns {draw2d.command.CommandStack}\n **/\n getStack: function getStack() {\n return this.stack;\n },\n\n /**\n *\n * Returns null or a Command if a command is relevant to the current event.\n *\n * @returns {draw2d.command.Command}\n **/\n getCommand: function getCommand() {\n return this.command;\n },\n\n /**\n *\n * Returns an integer identifying the type of event which has occurred.\n * Defined by {@link draw2d.command.CommandStack}.\n *\n * @returns {Number}\n **/\n getDetails: function getDetails() {\n return this.details;\n },\n\n /**\n *\n * Returns true if this event is fired after the stack having changed.\n *\n * @returns {Boolean} true if post-change event\n **/\n isPostChangeEvent: function isPostChangeEvent() {\n return 0 !== (this.getDetails() & _packages2.default.command.CommandStack.POST_MASK);\n },\n\n /**\n *\n * Returns true if this event is fired prior to the stack changing.\n *\n * @returns {Boolean} true if pre-change event\n **/\n isPreChangeEvent: function isPreChangeEvent() {\n return 0 !== (this.getDetails() & _packages2.default.command.CommandStack.PRE_MASK);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandStackEventListener.js\":\n/*!**************************************************!*\\\n !*** ./src/command/CommandStackEventListener.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Event class which will be fired for every CommandStack operation. Required for CommandStackListener.\n * @author Andreas Herz\n */\n\n_packages2.default.command.CommandStackEventListener = Class.extend(\n/** @lends draw2d.command.CommandStackEventListener.prototype */\n{\n\n NAME: \"draw2d.command.CommandStackEventListener\",\n\n /**\n * Creates a new Listener Object\n *\n */\n init: function init() {},\n\n /**\n *\n * Sent when an event occurs on the command stack. draw2d.command.CommandStackEvent.getDetail()\n * can be used to identify the type of event which has occurred.\n *\n * @template\n *\n * @param {draw2d.command.CommandStackEvent} event\n **/\n stackChanged: function stackChanged(event) {}\n\n});\n\n/***/ }),\n\n/***/ \"./src/command/CommandType.js\":\n/*!************************************!*\\\n !*** ./src/command/CommandType.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * EditPolicies should determine an Figures editing capabilities.\n * It is possible to implement an Figure such that it handles all editing\n * responsibility.<br>\n * However, it is much more flexible and object-oriented to use\n * EditPolicies. Using policies, you can pick and choose the editing behavior for\n * an Figure without being bound to its class hierarchy. Code reuse is increased,\n * and code management is easier.\n *\n * @author Andreas Herz\n */\n\n_packages2.default.command.CommandType = Class.extend(\n/** @lends draw2d.command.CommandType.prototype */\n{\n\n NAME: \"draw2d.command.CommandType\",\n\n /**\n * Create a new edit policy object\n *\n * @param {String} policy\n */\n init: function init(policy) {\n this.policy = policy;\n },\n\n /**\n * \n * Return the String representation of the policy\n *\n * @returns {String}\n **/\n getPolicy: function getPolicy() {\n return this.policy;\n }\n});\n\n_packages2.default.command.CommandType.DELETE = \"DELETE\";\n_packages2.default.command.CommandType.MOVE = \"MOVE\";\n_packages2.default.command.CommandType.CONNECT = \"CONNECT\";\n_packages2.default.command.CommandType.MOVE_BASEPOINT = \"MOVE_BASEPOINT\";\n_packages2.default.command.CommandType.MOVE_VERTEX = \"MOVE_VERTEX\";\n_packages2.default.command.CommandType.MOVE_VERTICES = \"MOVE_VERTICES\";\n_packages2.default.command.CommandType.MOVE_GHOST_VERTEX = \"MOVE_GHOST_VERTEX\";\n_packages2.default.command.CommandType.RESIZE = \"RESIZE\";\n_packages2.default.command.CommandType.RESET = \"RESET\";\n_packages2.default.command.CommandType.ROTATE = \"ROTATE\";\n\n/***/ }),\n\n/***/ \"./src/command/CommandUngroup.js\":\n/*!***************************************!*\\\n !*** ./src/command/CommandUngroup.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Command to ungroup a given group figures\n *\n * @extends draw2d.command.Command\n */\n\n_packages2.default.command.CommandUngroup = _packages2.default.command.Command.extend(\n/** @lends draw2d.command.CommandUngroup.prototype */\n{\n\n NAME: \"draw2d.command.CommandUngroup\",\n\n /**\n * Create a group command for the given figure.\n *\n * @param {draw2d.Canvas} canvas the responsible canvas\n * @param {draw2d.util.ArrayList|draw2d.Selection} group the figures to group\n */\n init: function init(canvas, group) {\n this._super(_packages2.default.Configuration.i18n.command.ungroupShapes);\n if (group instanceof _packages2.default.Selection) {\n this.group = group.getAll().first();\n } else {\n this.group = group;\n }\n\n this.canvas = canvas;\n this.figures = this.group.getAssignedFigures().clone();\n },\n\n /**\n *\n * Returns [true] if the command can be execute and the execution of the\n * command modifies the model. e.g.: a CommandMove with [startX,startX] == [endX,endY] should\n * return false. The execution of this Command doesn't modify the model.\n *\n * @returns {Boolean} return try if the command modify the model or make any relevant changes\n **/\n canExecute: function canExecute() {\n return !this.figures.isEmpty();\n },\n\n /**\n *\n * Execute the command the first time\n *\n **/\n execute: function execute() {\n this.redo();\n },\n\n /**\n *\n * Undo the command\n *\n **/\n undo: function undo() {\n var _this = this;\n this.figures.each(function (i, figure) {\n _this.group.assignFigure(figure);\n });\n this.canvas.add(this.group);\n this.canvas.setCurrentSelection(this.group);\n },\n\n /**\n *\n * Redo the command after the user has undo this command\n *\n **/\n redo: function redo() {\n var _this = this;\n this.figures.each(function (i, figure) {\n _this.group.unassignFigure(figure);\n });\n\n this.canvas.setCurrentSelection(this.figures);\n this.canvas.remove(this.group);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/css/contextmenu.css\":\n/*!*********************************!*\\\n !*** ./src/css/contextmenu.css ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar content = __webpack_require__(/*! !../../node_modules/css-loader!./contextmenu.css */ \"./node_modules/css-loader/index.js!./src/css/contextmenu.css\");\n\nif(typeof content === 'string') content = [[module.i, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = __webpack_require__(/*! ../../node_modules/style-loader/lib/addStyles.js */ \"./node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(false) {}\n\n/***/ }),\n\n/***/ \"./src/decoration/connection/ArrowDecorator.js\":\n/*!*****************************************************!*\\\n !*** ./src/decoration/connection/ArrowDecorator.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * var start = new draw2d.shape.node.Start();\n * var end = new draw2d.shape.node.End();\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // Create a Connection and connect the Start and End node\n * //\n * var c = new draw2d.Connection();\n *\n * // toggle from ManhattenRouter to DirectRouter to show the rotation of decorations\n * c.setRouter(new draw2d.layout.connection.DirectRouter());\n *\n * // Set the endpoint decorations for the connection\n * //\n * c.setSourceDecorator(new draw2d.decoration.connection.ArrowDecorator());\n * c.setTargetDecorator(new draw2d.decoration.connection.ArrowDecorator());\n *\n * // Connect the endpoints with the start and end port\n * //\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n *\n * // and finally add the connection to the canvas\n * canvas.add(c);\n *\n *\n * @author Andreas Herz\n * @param {Number} [width] the width of the arrow\n * @param {Number} [height] the height of the arrow\n * @extend draw2d.decoration.connection.Decorator\n */\n_packages2.default.decoration.connection.ArrowDecorator = _packages2.default.decoration.connection.Decorator.extend(\n/** @lends draw2d.decoration.connection.ArrowDecorator */\n{\n NAME: \"draw2d.decoration.connection.ArrowDecorator\",\n\n init: function init(width, height) {\n this._super(width, height);\n },\n\n /**\n * Draws a filled arrow decoration.\n *\n *\n * ```\n * ---+ [length , width/2]\n * ------- |\n * [0,0] -------- |\n * +--- |==========================\n * -------- |\n * ------- |\n * ---+ [length ,-width/2]\n *\n * ```\n *\n * @param {RaphaelPaper} paper the raphael paper object for the paint operation\n * @returns {RaphaelPath}\n * @private\n **/\n paint: function paint(paper) {\n var st = paper.set();\n\n st.push(paper.path([\"M0 0\", \"L\", this.width, \" \", -this.height / 2, \"L\", this.width, \" \", this.height / 2, \"L0 0\"].join(\"\")));\n\n st.attr({ fill: this.backgroundColor.rgba() });\n\n return st;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/decoration/connection/BarDecorator.js\":\n/*!***************************************************!*\\\n !*** ./src/decoration/connection/BarDecorator.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * var start = new draw2d.shape.node.Start();\n * var end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // Create a Connection and connect the Start and End node\n * //\n * var c = new draw2d.Connection();\n *\n * // toggle from ManhattenRouter to DirectRouter to show the rotation of decorations\n * c.setRouter(new draw2d.layout.connection.DirectRouter());\n *\n * // Set the endpoint decorations for the connection\n * //\n * c.setSourceDecorator(new draw2d.decoration.connection.BarDecorator());\n * c.setTargetDecorator(new draw2d.decoration.connection.BarDecorator());\n * // Connect the endpoints with the start and end port\n * //\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n *\n * // and finally add the connection to the canvas\n * canvas.add(c);\n *\n * @author Andreas Herz\n * @param {Number} [width] the width of the bar\n * @param {Number} [height] the height of the bar\n * @extend draw2d.decoration.connection.Decorator\n */\n_packages2.default.decoration.connection.BarDecorator = _packages2.default.decoration.connection.Decorator.extend(\n/** @lends draw2d.decoration.connection.BarDecorator */\n{\n\n NAME: \"draw2d.decoration.connection.BarDecorator\",\n\n init: function init(width, height) {\n this._super(width, height);\n },\n\n /**\n * Draw a bar decoration.\n *\n * ```\n *\n * | [length , width/2]\n * |\n * [0,0] | (Connection)\n * +==========|==========================\n * |\n * |\n * | [length ,-width/2]\n *\n * ```\n *\n * @param {RaphaelPaper} paper the raphael paper object for the paint operation\n * @returns {RaphaelPath}\n * @private\n **/\n paint: function paint(paper) {\n var st = paper.set();\n var path = [\"M\", this.width / 2, \" \", -this.height / 2]; // Go to the top center..\n path.push(\"L\", this.width / 2, \" \", this.height / 2); // ...bottom center...\n\n st.push(paper.path(path.join(\"\")));\n st.attr({ fill: this.backgroundColor.rgba() });\n return st;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/decoration/connection/CircleDecorator.js\":\n/*!******************************************************!*\\\n !*** ./src/decoration/connection/CircleDecorator.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * var start = new draw2d.shape.node.Start();\n * var end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // Create a Connection and connect the Start and End node\n * //\n * var c = new draw2d.Connection();\n *\n * // toggle from ManhattenRouter to DirectRouter to show the rotation of decorations\n * c.setRouter(new draw2d.layout.connection.DirectRouter());\n *\n * // Set the endpoint decorations for the connection\n * //\n * c.setSourceDecorator(new draw2d.decoration.connection.CircleDecorator());\n * c.setTargetDecorator(new draw2d.decoration.connection.CircleDecorator());\n * // Connect the endpoints with the start and end port\n * //\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n *\n * // and finally add the connection to the canvas\n * canvas.add(c);\n *\n * @author Andreas Herz\n * @param {Number} [width] the width of the arrow\n * @param {Number} [height] the height of the arrow\n * @extend draw2d.decoration.connection.Decorator\n */\n_packages2.default.decoration.connection.CircleDecorator = _packages2.default.decoration.connection.Decorator.extend(\n/** @lends draw2d.decoration.connection.CircleDecorator */\n{\n\n NAME: \"draw2d.decoration.connection.CircleDecorator\",\n\n init: function init(width, height) {\n this._super(width, height);\n },\n\n /**\n * Draw a filled circle decoration.\n *\n * @param {RaphaelPaper} paper the raphael paper object for the paint operation\n * @returns {RaphaelPath}\n * @private\n **/\n paint: function paint(paper) {\n var st = paper.set();\n\n st.push(paper.circle(0, 0, this.width / 2));\n st.attr({ fill: this.backgroundColor.rgba() });\n\n return st;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/decoration/connection/Decorator.js\":\n/*!************************************************!*\\\n !*** ./src/decoration/connection/Decorator.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _Color = __webpack_require__(/*! ../../util/Color */ \"./src/util/Color.js\");\n\nvar _Color2 = _interopRequireDefault(_Color);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Base class for any kind of Connection end/start decorations like arrows, bullets, circles, bars,...\n *\n * @author Andreas Herz\n */\n_packages2.default.decoration.connection.Decorator = Class.extend(\n/** @lends draw2d.decoration.connection.Decorator */\n{\n\n NAME: \"draw2d.decoration.connection.Decorator\",\n\n init: function init(width, height) {\n\n if (typeof width === \"undefined\" || width < 1) {\n this.width = 20;\n } else {\n this.width = width;\n }\n\n if (typeof height === \"undefined\" || height < 1) {\n this.height = 15;\n } else {\n this.height = height;\n }\n this.parent = null;\n this.color = null; // null => use the color of the connection\n this.backgroundColor = new _Color2.default(250, 250, 250);\n },\n\n /**\n *\n * Paint the decoration for a connector. The Connector starts always in\n * [0,0] and ends in [x,0].\n * It is not necessary to consider any rotation of the connection. This will be done by the\n * framework.\n *\n * <pre>\n * | -Y\n * |\n * |\n * --------------+-----------------------------> +X\n * |\n * |\n * |\n * V +Y\n *\n *\n * </pre>\n *\n * See in ArrowConnectionDecorator for example implementation.\n * @param {RaphaelPaper} paper\n * @private\n */\n paint: function paint(paper) {\n // do nothing per default\n },\n\n /**\n *\n * @param {draw2d.Connection} parent\n * @private\n */\n setParent: function setParent(parent) {\n this.parent = parent;\n },\n\n /**\n *\n * Set the stroke color for the decoration\n *\n * @param {draw2d.util.Color|String} c\n * @returns {this}\n */\n setColor: function setColor(c) {\n this.color = new _Color2.default(c);\n if (this.parent !== null) {\n this.parent.repaint();\n }\n return this;\n },\n\n /**\n * Get the line color of the decoration\n *\n * @returns {drawd.util.Color} the current line color of null if the Decoration should use the color of the host connection\n */\n getColor: function getColor() {\n return this.color;\n },\n\n /**\n *\n * Set the background color for the decoration\n *\n * @param {draw2d.util.Color|String} c\n * @returns {this}\n */\n setBackgroundColor: function setBackgroundColor(c) {\n this.backgroundColor = new _Color2.default(c);\n if (this.parent !== null) {\n this.parent.repaint();\n }\n\n return this;\n },\n\n /**\n * Returns the fill color\n *\n * @returns {draw2d.util.Color}\n */\n getBackgroundColor: function getBackgroundColor() {\n return this.backgroundColor;\n },\n\n /**\n *\n * Change the dimension of the decoration shape\n *\n * @param {Number} width The new width of the decoration\n * @param {Number} height The new height of the decoration\n * @returns {this}\n **/\n setDimension: function setDimension(width, height) {\n this.width = width;\n this.height = height;\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/decoration/connection/DiamondDecorator.js\":\n/*!*******************************************************!*\\\n !*** ./src/decoration/connection/DiamondDecorator.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * @example\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * var start = new draw2d.shape.node.Start();\n * var end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // Create a Connection and connect the Start and End node\n * //\n * var c = new draw2d.Connection();\n *\n * // toggle from ManhattenRouter to DirectRouter to show the rotation of decorations\n * c.setRouter(new draw2d.layout.connection.DirectRouter());\n *\n * // Set the endpoint decorations for the connection\n * //\n * c.setSourceDecorator(new draw2d.decoration.connection.DiamondDecorator());\n * c.setTargetDecorator(new draw2d.decoration.connection.DiamondDecorator());\n * // Connect the endpoints with the start and end port\n * //\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n *\n * // and finally add the connection to the canvas\n * canvas.add(c);\n *\n *\n * @author Andreas Herz\n * @param {Number} [width] the width of the arrow\n * @param {Number} [height] the height of the arrow\n * @extend draw2d.decoration.connection.Decorator\n */\n\n_packages2.default.decoration.connection.DiamondDecorator = _packages2.default.decoration.connection.Decorator.extend(\n/** @lends draw2d.decoration.connection.DiamondDecorator */\n{\n\n NAME: \"draw2d.decoration.connection.DiamondDecorator\",\n\n init: function init(width, height) {\n this._super(width, height);\n },\n\n /**\n * Draw a filled diamond decoration.\n *\n * It's not your work to rotate the arrow. The draw2d do this job for you.\n *\n * @param {RaphaelPaper} paper the raphael paper object for the paint operation\n * @returns {RaphaelPath}\n * @private\n **/\n paint: function paint(paper) {\n var st = paper.set();\n\n st.push(paper.path([\"M\", this.width / 2, \" \", -this.height / 2, // Go to the top center..\n \"L\", this.width, \" \", 0, // ...draw line to the right middle\n \"L\", this.width / 2, \" \", this.height / 2, // ...bottom center...\n \"L\", 0, \" \", 0, // ...left middle...\n \"L\", this.width / 2, \" \", -this.height / 2, // and close the path\n \"Z\"].join(\"\")));\n\n st.attr({ fill: this.backgroundColor.rgba() });\n return st;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/geo/Line.js\":\n/*!*************************!*\\\n !*** ./src/geo/Line.js ***!\n \\*************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Static util function to determine the minimal distance of point(px,py) on the line(x1,y1,x2,y2)\n *\n *\n * @returns {Number}\n * @static\n * @private\n * @param {Number} X1 x coordinate of the start point of the line\n * @param {Number} Y1 y coordinate of the start point of the line\n * @param {Number} X2 x coordinate of the end point of the line\n * @param {Number} Y2 y coordinate of the end point of the line\n * @param {Number} px x coordinate of the point to test\n * @param {Number} py y coordinate of the point to test\n **/\n_packages2.default.geo.Line = {\n\n /**\n * Returns the relative position of the point on the line between [0..1]\n * The point \"p\" must be part of the line!!\n *\n * 0 => given point is on the start location\n * ..=> given point is in between\n * 1 => given point is at the end\n *\n * @returns {Number}\n */\n inverseLerp: function inverseLerp(X1, Y1, X2, Y2, px, py) {\n var nenner = Math.abs(X2 - X1);\n var zaehler = Math.abs(X2 - px);\n if (nenner === 0) {\n nenner = Math.abs(Y2 - Y1);\n zaehler = Math.abs(Y2 - py);\n if (nenner === 0) {\n return 1;\n }\n }\n\n return zaehler / nenner;\n },\n\n /**\n *\n * Returns the projection of the point onto the line.\n *\n * @param {Number} px the x coordinate of the test point\n * @param {Number} py the y coordinate of the test point\n * @returns {draw2d.geo.Point}\n **/\n pointProjection: function pointProjection(X1, Y1, X2, Y2, px, py) {\n var r = new _packages2.default.geo.Point(0, 0);\n if (X1 === X2 && Y1 === Y2) X1 -= 0.00001;\n\n var U = (px - X1) * (X2 - X1) + (py - Y1) * (Y2 - Y1);\n\n var Udenom = Math.pow(X2 - X1, 2) + Math.pow(Y2 - Y1, 2);\n\n U /= Udenom;\n\n r.x = X1 + U * (X2 - X1);\n r.y = Y1 + U * (Y2 - Y1);\n\n var minx = void 0,\n maxx = void 0,\n miny = void 0,\n maxy = void 0;\n\n minx = Math.min(X1, X2);\n maxx = Math.max(X1, X2);\n\n miny = Math.min(Y1, Y2);\n maxy = Math.max(Y1, Y2);\n\n var isValid = r.x >= minx && r.x <= maxx && r.y >= miny && r.y <= maxy;\n\n return isValid ? r : null;\n },\n\n distance: function distance(X1, Y1, X2, Y2, px, py) {\n // Adjust vectors relative to X1,Y1\n // X2,Y2 becomes relative vector from X1,Y1 to end of segment\n X2 -= X1;\n Y2 -= Y1;\n // px,py becomes relative vector from X1,Y1 to test point\n px -= X1;\n py -= Y1;\n var dotprod = px * X2 + py * Y2;\n var projlenSq = void 0;\n if (dotprod <= 0.0) {\n // px,py is on the side of X1,Y1 away from X2,Y2\n // distance to segment is length of px,py vector\n // \"length of its (clipped) projection\" is now 0.0\n projlenSq = 0.0;\n } else {\n // switch to backwards vectors relative to X2,Y2\n // X2,Y2 are already the negative of X1,Y1=>X2,Y2\n // to get px,py to be the negative of px,py=>X2,Y2\n // the dot product of two negated vectors is the same\n // as the dot product of the two normal vectors\n px = X2 - px;\n py = Y2 - py;\n dotprod = px * X2 + py * Y2;\n if (dotprod <= 0.0) {\n // px,py is on the side of X2,Y2 away from X1,Y1\n // distance to segment is length of (backwards) px,py vector\n // \"length of its (clipped) projection\" is now 0.0\n projlenSq = 0.0;\n } else {\n // px,py is between X1,Y1 and X2,Y2\n // dotprod is the length of the px,py vector\n // projected on the X2,Y2=>X1,Y1 vector times the\n // length of the X2,Y2=>X1,Y1 vector\n projlenSq = dotprod * dotprod / (X2 * X2 + Y2 * Y2);\n }\n }\n // Distance to line is now the length of the relative point\n // vector minus the length of its projection onto the line\n // (which is zero if the projection falls outside the range\n // of the line segment).\n var lenSq = px * px + py * py - projlenSq;\n if (lenSq < 0) {\n lenSq = 0;\n }\n return Math.sqrt(lenSq);\n }\n};\n\n/***/ }),\n\n/***/ \"./src/geo/Point.js\":\n/*!**************************!*\\\n !*** ./src/geo/Point.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Represents a point (x, y) in 2-dimensional space.\n *\n * @class\n */\n\n_packages2.default.geo.Point = Class.extend(\n/** @lends draw2d.geo.Point.prototype */\n{\n\n NAME: \"draw2d.geo.Point\",\n\n /**\n * Creates a new Point object with the hands over coordinates.\n *\n * @param {Number|draw2d.geo.Point} x\n * @param {Number} y\n */\n init: function init(x, y) {\n if (x instanceof _packages2.default.geo.Point) {\n this.x = x.x;\n this.y = x.y;\n } else if (!isNaN(parseFloat(x.x)) && !isNaN(parseFloat(x.y))) {\n this.x = x.x;\n this.y = x.y;\n } else {\n this.x = x;\n this.y = y;\n }\n\n // limit for the maxi/minimum boundary of this rectangle\n // It is not possible that the rect leave the boundary if set.\n this.bx = null;\n this.by = null;\n this.bw = null;\n this.bh = null;\n },\n\n /**\n * \n * Ensure the boundary of the rectangle. If set, the rectangle keeps always inside\n * the boundary. It is like a virtual fence.\n *\n * @returns {this}\n */\n setBoundary: function setBoundary(bx, by, bw, bh) {\n if (bx instanceof _packages2.default.geo.Rectangle) {\n this.bx = bx.x;\n this.by = bx.y;\n this.bw = bx.w;\n this.bh = bx.h;\n } else {\n this.bx = bx;\n this.by = by;\n this.bw = bw;\n this.bh = bh;\n }\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n * \n * @private\n * @returns {this}\n */\n adjustBoundary: function adjustBoundary() {\n if (this.bx === null) {\n return this;\n }\n this.x = Math.min(Math.max(this.bx, this.x), this.bw);\n this.y = Math.min(Math.max(this.by, this.y), this.bh);\n\n return this;\n },\n\n /**\n * \n * Moves this Rectangle horizontally by dx and vertically by dy, then returns\n * this Rectangle for convenience.<br>\n * <br>\n * The method return the object itself. This allows you to do command chaining, where\n * you can perform multiple methods on the same elements.\n *\n * @param {Number} dx Shift along X axis\n * @param {Number} dy Shift along Y axis\n * @returns {this}\n **/\n translate: function translate(dx, dy) {\n this.x += dx;\n this.y += dy;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n * \n * The X value of the point\n *\n * @since 0.1\n * @returns {Number} The x coordinate of the top left corner\n */\n getX: function getX() {\n return this.x;\n },\n\n /**\n * \n * The y value of the point\n *\n * @returns {Number} The y coordinate of the top left corner\n */\n getY: function getY() {\n return this.y;\n },\n\n /**\n * \n * Set the new X value of the point\n *\n * @param {Number} x the new x coordinate of the rect\n * @returns {this}\n */\n setX: function setX(x) {\n this.x = x;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n * \n * Set the new Y value of the point\n *\n * @param {Number} y the new y coordinate of the rect\n * @returns {this}\n */\n setY: function setY(y) {\n this.y = y;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n * \n * Set the new x/y coordinates of this point\n *\n * @param {Number|draw2d.geo.Point} x\n * @param {Number} [y]\n * @returns {this}\n */\n setPosition: function setPosition(x, y) {\n if (x instanceof _packages2.default.geo.Point) {\n this.x = x.x;\n this.y = x.y;\n } else {\n this.x = x;\n this.y = y;\n }\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n * \n * Calculates the relative position of the specified Point to this Point.\n *\n * @param {draw2d.geo.Point} p The reference Point\n * @returns {Number} NORTH, SOUTH, EAST, or WEST, as defined in {@link draw2d.geo.PositionConstants}\n */\n getPosition: function getPosition(p) {\n var dx = p.x - this.x;\n var dy = p.y - this.y;\n if (Math.abs(dx) > Math.abs(dy)) {\n if (dx < 0) return _packages2.default.geo.PositionConstants.WEST;\n return _packages2.default.geo.PositionConstants.EAST;\n }\n if (dy < 0) {\n return _packages2.default.geo.PositionConstants.NORTH;\n }\n return _packages2.default.geo.PositionConstants.SOUTH;\n },\n\n /**\n * \n * Compares two points and return [true] if x and y are equals.\n *\n * @param {draw2d.geo.Point} p the point to compare with\n *\n * @returns {Boolean} True if the given p[x,y] has an exact match with the point\n */\n equals: function equals(p) {\n return this.x === p.x && this.y === p.y;\n },\n\n /**\n * \n * Return the distance between this point and the hands over.\n *\n * @param {draw2d.geo.Point} other the point to use\n * @returns {Number} The distance to the given point\n */\n distance: function distance(other) {\n return Math.sqrt((this.x - other.x) * (this.x - other.x) + (this.y - other.y) * (this.y - other.y));\n },\n /* @deprecated */\n getDistance: function getDistance(other) {\n return this.distance(other);\n },\n\n /**\n * \n * Return the length of the vector measured from [0,0]\n *\n * @returns {Number} The length of the vector [0,0][x,y]\n * @since 2.10.0\n */\n length: function length() {\n return Math.sqrt(this.x * this.x + this.y * this.y);\n },\n\n /**\n * \n * Return a new Point translated with the x/y values of the hands over point.\n *\n * @param {draw2d.geo.Point|Number} x the x translation or the complete point to translate\n * @param {Number} [y] the y translation. Required if x is a simple number instead of a draw2d.geo.Point\n * @returns {draw2d.geo.Point} A instance of a translated point.\n */\n translated: function translated(x, y) {\n var other = new _packages2.default.geo.Point(x, y);\n return new _packages2.default.geo.Point(this.x + other.x, this.y + other.y);\n },\n\n /**\n * \n * Scales this point with the handover factor\n *\n * @param {Number} factor the factor to scaled the point.\n * @returns {this}\n */\n scale: function scale(factor) {\n this.x *= factor;\n this.y *= factor;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n * \n * Return a **new** Point scaled with the givben factor\n *\n * @param {Number} factor the factor to scaled the new point.\n * @returns {draw2d.geo.Point} The new translated point.\n */\n scaled: function scaled(factor) {\n return new _packages2.default.geo.Point(this.x * factor, this.y * factor);\n },\n\n /* @deprecated */\n getScaled: function getScaled(factor) {\n return this.scaled(factor);\n },\n\n /**\n * \n * Return an objects with all important attributes for XML or JSON serialization\n *\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes() {\n return {\n x: this.x,\n y: this.y\n };\n },\n\n /**\n * \n * Read all attributes from the serialized properties and transfer them into the shape.\n *\n * @param {Object} memento\n * @returns {this}\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this.x = memento.x;\n this.y = memento.y;\n\n return this;\n },\n\n /**\n * \n * substract the given point and return the **new** point.\n *\n * @param that\n * @returns {draw2d.geo.Point}\n */\n subtract: function subtract(that) {\n return new _packages2.default.geo.Point(this.x - that.x, this.y - that.y);\n },\n\n dot: function dot(that) {\n return this.x * that.x + this.y * that.y;\n },\n\n cross: function cross(that) {\n return this.x * that.y - this.y * that.x;\n },\n\n lerp: function lerp(that, t) {\n return new _packages2.default.geo.Point(this.x + (that.x - this.x) * t, this.y + (that.y - this.y) * t);\n },\n\n /**\n * \n * Return a cloned point\n *\n * @returns {draw2d.geo.Point}\n */\n clone: function clone() {\n return new _packages2.default.geo.Point(this.x, this.y);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/geo/PositionConstants.js\":\n/*!**************************************!*\\\n !*** ./src/geo/PositionConstants.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Static values for point orientation.\n * \n */\n_packages2.default.geo.PositionConstants = {\n /**\n *\n */\n NORTH: 1,\n SOUTH: 4,\n WEST: 8,\n EAST: 16\n};\n\n/***/ }),\n\n/***/ \"./src/geo/Ray.js\":\n/*!************************!*\\\n !*** ./src/geo/Ray.js ***!\n \\************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Represents a vector within 2-dimensional Euclidean space.\n * \n * @inheritable\n * @extends draw2d.geo.Point\n * @author Andreas Herz\n */\n_packages2.default.geo.Ray = _packages2.default.geo.Point.extend(\n/** @lends draw2d.geo.Ray.prototype */\n{\n\n NAME: \"draw2d.geo.Ray\",\n\n /**\n * Creates a ray object.\n *\n * @param {Number} x\n * @param {Number} y\n */\n init: function init(x, y) {\n this._super(x, y);\n },\n\n isHorizontal: function isHorizontal() {\n return this.x != 0;\n },\n\n similarity: function similarity(otherRay) {\n return Math.abs(this.dot(otherRay));\n },\n\n getAveraged: function getAveraged(otherRay) {\n return new _packages2.default.geo.Ray((this.x + otherRay.x) / 2, (this.y + otherRay.y) / 2);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/geo/Rectangle.js\":\n/*!******************************!*\\\n !*** ./src/geo/Rectangle.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Represents a Rectangle(x, y, width, height).\n *\n * @author Andreas Herz\n * @extends draw2d.geo.Point\n */\n_packages2.default.geo.Rectangle = _packages2.default.geo.Point.extend(\n/** @lends draw2d.geo.Rectangle.prototype */\n{\n\n NAME: \"draw2d.geo.Rectangle\",\n\n /**\n * Creates a new Point object with the hands over coordinates.\n * <br>\n * The constructor consumes almost any kind of rectangel definitions\n * like:\n * let rect0 = new draw2d.geo.Rectangle({x:0,y:0,width:20,height:20});\n * let rect1 = new draw2d.geo.Rectangle({x:0,y:0,w:20,h:20});\n * let rect2 = new draw2d.geo.Rectangle($(\"#divid\")[0].getBoundingClientRect());\n * let rect3 = new draw2d.geo.Rectangle(rect1);\n *\n * The rectangle class is usefull for any kind of intersection, hitTest, contains,...calculation\n * or to set the bounding box of any shape.\n *\n * @param {Number|draw2d.geo.Rectangle} x\n * @param {Number} y\n * @param {Number} w\n * @param {Number} h\n */\n init: function init(x, y, w, h) {\n // try to consume any kind rectangle definitions\n //\n if (x instanceof _packages2.default.geo.Rectangle) {\n y = x.y;\n w = x.w;\n h = x.h;\n x = x.x;\n } else if (typeof x.x === \"number\" && typeof x.y === \"number\") {\n y = x.y;\n w = x.w | x.width;\n h = x.h | x.height;\n x = x.x;\n } else if (typeof x.top === \"number\" && typeof x.left === \"number\") {\n y = x.top;\n w = x.w | x.width;\n h = x.h | x.height;\n x = x.left;\n }\n this._super(x, y);\n this.w = w;\n this.h = h;\n },\n\n /**\n *\n * @private\n */\n adjustBoundary: function adjustBoundary() {\n if (this.bx === null) {\n return;\n }\n this.x = Math.min(Math.max(this.bx, this.x), this.bw - this.w);\n this.y = Math.min(Math.max(this.by, this.y), this.bh - this.h);\n this.w = Math.min(this.w, this.bw);\n this.h = Math.min(this.h, this.bh);\n },\n\n /**\n *\n * Resizes this Rectangle by the values supplied as input and returns this for\n * convenience. This Rectangle's width will become this.width + dw. This\n * Rectangle's height will become this.height + dh.\n * <br>\n * The method return the object itself. This allows you to do command chaining, where\n * you can perform multiple methods on the same elements.\n *\n *\n * @param {Number} dw Amount by which width is to be resized\n * @param {Number} dh Amount by which height is to be resized\n * @returns {this}\n **/\n resize: function resize(dw, dh) {\n this.w += dw;\n this.h += dh;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n * Adds the specified padding to the rectangle's bounds. This Rectangle's width\n * will become this.width + dw. The Rectangle's height will become this.height + dh.\n * The top left corner moves -dw/2, -dh/2\n *\n * @param {Number} dw Amount by which width is to be resized\n * @param {Number} dh Amount by which height is to be resized\n * @returns {this}\n **/\n scale: function scale(dw, dh) {\n this.w += dw;\n this.h += dh;\n this.x -= dw / 2;\n this.y -= dh / 2;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n * Translate the rectangle with the given x/y coordiante.\n *\n * @param {draw2d.geo.Point|Number} x the x translation or the complete point to translate\n * @param {Number} [y] the y translation. Required if x is a simple number instead of a draw2d.geo.Point\n *\n *\n * @since 5.6.0\n * @returns {this}\n */\n translate: function translate(x, y) {\n var other = new _packages2.default.geo.Point(x, y);\n this.x += other.x;\n this.y += other.y;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n *\n * Returns a copy of the translated rectangle\n *\n * @param {draw2d.geo.Point|Number} x the x translation or the complete point to translate\n * @param {Number} [y] the y translation. Required if x is a simple number instead of a draw2d.geo.Point\n *\n * @returns {draw2d.geo.Rectangle} The new translated rectangle.\n * @since 5.6.0\n */\n translated: function translated(x, y) {\n var other = new _packages2.default.geo.Point(x, y);\n return new _packages2.default.geo.Rectangle(this.x + other.x, this.y + other.y, this.w, this.h);\n },\n\n /**\n * Sets the parameters of this Rectangle from the Rectangle passed in and\n * returns this for convenience.<br>\n * <br>\n * The method return the object itself. This allows you to do command chaining, where\n * you can perform multiple methods on the same elements.\n *\n * @param {draw2d.geo.Rectangle} Rectangle providing the bounding values\n * @returns {this}\n */\n setBounds: function setBounds(rect) {\n this.setPosition(rect.x, rect.y);\n\n this.w = rect.w;\n this.h = rect.h;\n\n return this;\n },\n\n /**\n *\n * Returns <code>true</code> if this Rectangle's width or height is less than or\n * equal to 0.\n *\n * @returns {Boolean}\n */\n isEmpty: function isEmpty() {\n return this.w <= 0 || this.h <= 0;\n },\n\n /**\n *\n * The width of the dimension element.\n *\n * @returns {Number}\n **/\n getWidth: function getWidth() {\n return this.w;\n },\n\n /**\n *\n * Set the new width of the rectangle.\n *\n * @param {Number} w the new width of the rectangle\n * @returns {this}\n */\n setWidth: function setWidth(w) {\n this.w = w;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n *\n * The height of the dimension element.\n *\n * @returns {Number}\n **/\n getHeight: function getHeight() {\n return this.h;\n },\n\n /**\n *\n * Set the new height of the rectangle.\n *\n * @param {Number} h the new height of the rectangle\n * @returns {this}\n */\n setHeight: function setHeight(h) {\n this.h = h;\n this.adjustBoundary();\n\n return this;\n },\n\n /**\n *\n * The x coordinate of the left corner.\n *\n * @returns {Number}\n **/\n getLeft: function getLeft() {\n return this.x;\n },\n\n /**\n *\n * The x coordinate of the right corner.\n *\n * @returns {Number}\n **/\n getRight: function getRight() {\n return this.x + this.w;\n },\n\n /**\n *\n * The y coordinate of the top.\n *\n *@return {Number}\n **/\n getTop: function getTop() {\n return this.y;\n },\n\n /**\n *\n * The y coordinate of the bottom.\n *\n *@return {Number}\n **/\n getBottom: function getBottom() {\n return this.y + this.h;\n },\n\n /**\n *\n * The top left corner of the dimension object.\n *\n * @returns {draw2d.geo.Point} a new point objects which holds the coordinates\n **/\n getTopLeft: function getTopLeft() {\n return new _packages2.default.geo.Point(this.x, this.y);\n },\n\n /**\n *\n * The top center coordinate of the dimension object.\n *\n * @returns {draw2d.geo.Point} a new point objects which holds the coordinates\n **/\n getTopCenter: function getTopCenter() {\n return new _packages2.default.geo.Point(this.x + this.w / 2, this.y);\n },\n\n /**\n *\n * The top right corner of the dimension object.\n *\n * @returns {draw2d.geo.Point} a new point objects which holds the coordinates\n **/\n getTopRight: function getTopRight() {\n return new _packages2.default.geo.Point(this.x + this.w, this.y);\n },\n\n /**\n *\n * The center left of the dimension object.\n *\n * @returns {draw2d.geo.Point} a new point objects which holds the coordinates\n **/\n getCenterLeft: function getCenterLeft() {\n return new _packages2.default.geo.Point(this.x, this.y + this.h / 2);\n },\n\n /**\n *\n * The center right of the dimension object.\n *\n * @returns {draw2d.geo.Point} a new point objects which holds the coordinates\n **/\n getCenterRight: function getCenterRight() {\n return new _packages2.default.geo.Point(this.x + this.w, this.y + this.h / 2);\n },\n\n /**\n *\n * The bottom left corner of the dimension object.\n *\n * @returns {draw2d.geo.Point} a new point objects which holds the coordinates\n **/\n getBottomLeft: function getBottomLeft() {\n return new _packages2.default.geo.Point(this.x, this.y + this.h);\n },\n\n /**\n *\n * The bottom center coordinate of the dimension object.\n *\n * @returns {draw2d.geo.Point} a new point objects which holds the coordinates\n **/\n getBottomCenter: function getBottomCenter() {\n return new _packages2.default.geo.Point(this.x + this.w / 2, this.y + this.h);\n },\n\n /**\n *\n * The center of the dimension object\n *\n * @returns {draw2d.geo.Point} a new point which holds the center of the object\n **/\n getCenter: function getCenter() {\n return new _packages2.default.geo.Point(this.x + this.w / 2, this.y + this.h / 2);\n },\n\n /**\n *\n * Bottom right corner of the object\n *\n * @returns {draw2d.geo.Point} a new point which holds the bottom right corner\n **/\n getBottomRight: function getBottomRight() {\n return new _packages2.default.geo.Point(this.x + this.w, this.y + this.h);\n },\n\n /**\n *\n * Return all points of the rectangle as array. Starting at topLeft and the\n * clockwise.\n *\n * @returns {draw2d.util.ArrayList} the points starting at top/left and the clockwise\n */\n getVertices: function getVertices() {\n var result = new _packages2.default.util.ArrayList();\n // don't change the order. We expect always that the top left corner has index[0]\n // and goes clock wise\n //\n result.add(this.getTopLeft());\n result.add(this.getTopRight());\n result.add(this.getBottomRight());\n result.add(this.getBottomLeft());\n\n return result;\n },\n\n /**\n *\n * Return a new rectangle which fits into this rectangle. <b>ONLY</b> the x/y coordinates\n * will be changed. Not the dimension of the given rectangle.\n *\n * @param {draw2d.geo.Rectangle} rect the rectangle to adjust\n * @returns the new shifted rectangle\n */\n moveInside: function moveInside(rect) {\n var newRect = new _packages2.default.geo.Rectangle(rect.x, rect.y, rect.w, rect.h);\n // shift the coordinate right/down if coordinate not inside the rect\n //\n newRect.x = Math.max(newRect.x, this.x);\n newRect.y = Math.max(newRect.y, this.y);\n\n // ensure that the right border is inside this rect (if possible). \n //\n if (newRect.w < this.w) {\n newRect.x = Math.min(newRect.x + newRect.w, this.x + this.w) - newRect.w;\n } else {\n newRect.x = this.x;\n }\n\n // ensure that the bottom is inside this rectangle\n //\n if (newRect.h < this.h) {\n newRect.y = Math.min(newRect.y + newRect.h, this.y + this.h) - newRect.h;\n } else {\n newRect.y = this.y;\n }\n\n return newRect;\n },\n\n /**\n *\n * Return the minimum distance of this rectangle to the given {@link draw2d.geo.Point} or\n * {link draw2d.geo.Rectangle}.\n *\n * @param {draw2d.geo.Point|draw2d.geo.Rectangle} pointOrRectangle the reference point/rectangle for the distance calculation\n */\n getDistance: function getDistance(pointOrRectangle) {\n var cx = this.x;\n var cy = this.y;\n var cw = this.w;\n var ch = this.h;\n\n var ox = pointOrRectangle.getX();\n var oy = pointOrRectangle.getY();\n var ow = 1;\n var oh = 1;\n\n if (pointOrRectangle instanceof _packages2.default.geo.Rectangle) {\n ow = pointOrRectangle.getWidth();\n oh = pointOrRectangle.getHeight();\n }\n var oct = 9;\n\n // Determin Octant\n //\n // 0 | 1 | 2\n // __|___|__\n // 7 | 9 | 3\n // __|___|__\n // 6 | 5 | 4\n\n if (cx + cw <= ox) {\n if (cy + ch <= oy) {\n oct = 0;\n } else if (cy >= oy + oh) {\n oct = 6;\n } else {\n oct = 7;\n }\n } else if (cx >= ox + ow) {\n if (cy + ch <= oy) {\n oct = 2;\n } else if (cy >= oy + oh) {\n oct = 4;\n } else {\n oct = 3;\n }\n } else if (cy + ch <= oy) {\n oct = 1;\n } else if (cy >= oy + oh) {\n oct = 5;\n } else {\n return 0;\n }\n\n // Determine Distance based on Quad\n //\n switch (oct) {\n case 0:\n cx = cx + cw - ox;\n cy = cy + ch - oy;\n return -(cx + cy);\n case 1:\n return -(cy + ch - oy);\n case 2:\n cx = ox + ow - cx;\n cy = cy + ch - oy;\n return -(cx + cy);\n case 3:\n return -(ox + ow - cx);\n case 4:\n cx = ox + ow - cx;\n cy = oy + oh - cy;\n return -(cx + cy);\n case 5:\n return -(oy + oh - cy);\n case 6:\n cx = cx + cw - ox;\n cy = oy + oh - cy;\n return -(cx + cy);\n case 7:\n return -(cx + cw - ox);\n }\n\n throw \"Unknown data type of parameter for distance calculation in draw2d.geo.Rectangle.getDistance(..)\";\n },\n\n /**\n *\n * Determin the octant of r2 in relation to this rectangle.\n * <pre>\n *\n * 0 | 1 | 2\n * __|___|__\n * 7 | 8 | 3\n * __|___|__\n * 6 | 5 | 4\n * </pre>\n *\n * @param {draw2d.geo.Rectangle} r2\n *\n */\n determineOctant: function determineOctant(r2) {\n var HISTERESE = 3; // Toleranz um diese vermieden wird, dass der Octant \"8\" zurückgegeben wird\n\n var ox = this.x + HISTERESE;\n var oy = this.y + HISTERESE;\n var ow = this.w - HISTERESE * 2;\n var oh = this.h - HISTERESE * 2;\n\n var cx = r2.x;\n var cy = r2.y;\n var cw = 2;\n var ch = 2;\n if (r2 instanceof _packages2.default.geo.Rectangle) {\n cw = r2.w;\n ch = r2.h;\n }\n\n var oct = 0;\n\n if (cx + cw <= ox) {\n if (cy + ch <= oy) {\n oct = 0;\n } else if (cy >= oy + oh) {\n oct = 6;\n } else {\n oct = 7;\n }\n } else if (cx >= ox + ow) {\n if (cy + ch <= oy) {\n oct = 2;\n } else if (cy >= oy + oh) {\n oct = 4;\n } else {\n oct = 3;\n }\n } else if (cy + ch <= oy) {\n oct = 1;\n } else if (cy >= oy + oh) {\n oct = 5;\n } else {\n oct = 8;\n }\n\n return oct;\n },\n\n /**\n *\n * Returns the direction the point <i>p</i> is in relation to the given rectangle.\n * Util method for inherit router implementations.\n *\n * <p>\n * Possible values:\n * <ul>\n * <li>up -> 0</li>\n * <li>right -> 1</li>\n * <li>down -> 2</li>\n * <li>left -> 3</li>\n * </ul>\n * <p>\n *\n * @param {draw2d.geo.Point} other the point in relation to the given rectangle\n *\n * @returns {Number} the direction from <i>r</i> to <i>p</i>\n */\n getDirection: function getDirection(other) {\n var current = this.getTopLeft();\n switch (this.determineOctant(other)) {\n case 0:\n if (current.x - other.x < current.y - other.y) return _packages2.default.geo.Rectangle.DIRECTION_UP;\n return _packages2.default.geo.Rectangle.DIRECTION_LEFT;\n case 1:\n return _packages2.default.geo.Rectangle.DIRECTION_UP;\n case 2:\n current = this.getTopRight();\n if (other.x - current.x < current.y - other.y) return _packages2.default.geo.Rectangle.DIRECTION_UP;\n return _packages2.default.geo.Rectangle.DIRECTION_RIGHT;\n case 3:\n return _packages2.default.geo.Rectangle.DIRECTION_RIGHT;\n case 4:\n current = this.getBottomRight();\n if (other.x - current.x < other.y - current.y) return _packages2.default.geo.Rectangle.DIRECTION_DOWN;\n return _packages2.default.geo.Rectangle.DIRECTION_RIGHT;\n case 5:\n return _packages2.default.geo.Rectangle.DIRECTION_DOWN;\n case 6:\n current = this.getBottomLeft();\n if (current.x - other.x < other.y - current.y) return _packages2.default.geo.Rectangle.DIRECTION_DOWN;\n return _packages2.default.geo.Rectangle.DIRECTION_LEFT;\n case 7:\n return _packages2.default.geo.Rectangle.DIRECTION_LEFT;\n case 8:\n if (other.y > this.y) {\n return _packages2.default.geo.Rectangle.DIRECTION_DOWN;\n }\n return _packages2.default.geo.Rectangle.DIRECTION_UP;\n\n }\n return _packages2.default.geo.Rectangle.DIRECTION_UP;\n },\n\n /**\n *\n * Compares two rectangle objects\n *\n * @param {draw2d.geo.Rectangle} o\n *\n * @returns {Boolean}\n **/\n equals: function equals(o) {\n return this.x == o.x && this.y == o.y && this.w == o.w && this.h == o.h;\n },\n\n /**\n *\n * Detect whenever the hands over coordinate is inside the rectangle.\n *\n * @param {Number/draw2d.geo.Point} iX\n * @param {Number} iY\n * @returns {Boolean}\n */\n hitTest: function hitTest(iX, iY) {\n if (iX instanceof _packages2.default.geo.Point) {\n iY = iX.y;\n iX = iX.x;\n }\n var iX2 = this.x + this.getWidth();\n var iY2 = this.y + this.getHeight();\n return iX >= this.x && iX <= iX2 && iY >= this.y && iY <= iY2;\n },\n\n /**\n *\n * return true if this rectangle inside the hand over rectangle\n *\n *\n * @param {draw2d.geo.Rectangle} rect\n * @returns {Boolean}\n */\n isInside: function isInside(rect) {\n return rect.hitTest(this.getTopLeft()) && rect.hitTest(this.getTopRight()) && rect.hitTest(this.getBottomLeft()) && rect.hitTest(this.getBottomRight());\n },\n\n /**\n *\n * return true if this rectangle contains the hand over rectangle.\n *\n *\n * @param {draw2d.geo.Rectangle} rect\n * @returns {Boolean}\n * @since 4.7.2\n */\n contains: function contains(rect) {\n return this.hitTest(rect.getTopLeft()) && this.hitTest(rect.getTopRight()) && this.hitTest(rect.getBottomLeft()) && this.hitTest(rect.getBottomRight());\n },\n\n /**\n *\n * checks whenever the rectangles has an intersection.\n *\n * @param {draw2d.geo.Rectangle} rect\n * @returns {Boolean}\n */\n intersects: function intersects(rect) {\n var x11 = rect.x,\n y11 = rect.y,\n x12 = rect.x + rect.w,\n y12 = rect.y + rect.h,\n x21 = this.x,\n y21 = this.y,\n x22 = this.x + this.w,\n y22 = this.y + this.h;\n\n var x_overlap = Math.max(0, Math.min(x12, x22) - Math.max(x11, x21));\n var y_overlap = Math.max(0, Math.min(y12, y22) - Math.max(y11, y21));\n\n return x_overlap * y_overlap !== 0;\n },\n\n /**\n * Merge this rectangle with the given one.\n *\n * @param {draw2d.geo.Rectangle} rect\n * @since 4.8.0\n * @returns {this}\n */\n merge: function merge(rect) {\n var r = Math.max(rect.getRight(), this.getRight());\n var b = Math.max(rect.getBottom(), this.getBottom());\n\n this.setPosition(Math.min(this.x, rect.x), Math.min(this.y, rect.y));\n\n this.w = r - this.x;\n this.h = b - this.y;\n\n return this;\n },\n\n /**\n *\n * returns the intersection points with the given line if any exists\n *\n * @param {draw2d.geo.Point} start\n * @param {draw2d.geo.Point} end\n */\n intersectionWithLine: function intersectionWithLine(start, end) {\n var result = new _packages2.default.util.ArrayList();\n var v = this.getVertices();\n v.add(v.first());\n var p1 = v.first();\n var p2 = null;\n for (var i = 1; i < 5; i++) {\n p2 = v.get(i);\n p1 = _packages2.default.shape.basic.Line.intersection(start, end, p1, p2);\n if (p1 !== null) {\n result.add(p1);\n }\n p1 = p2;\n }\n return result;\n },\n\n /**\n *\n * Returns a copy of this rectangle\n *\n *\n * @returns {draw2d.geo.Rectangle}\n * @since 5.6.0\n */\n clone: function clone() {\n return new _packages2.default.geo.Rectangle(this.x, this.y, this.w, this.h);\n },\n\n /**\n *\n * converts the rectangle to JSON representation. required for the draw2d.io.Writer\n *\n * @returns {Object}\n */\n toJSON: function toJSON() {\n return {\n width: this.w,\n height: this.h,\n x: this.x,\n y: this.y\n };\n }\n\n});\n\n/**\n * ENUM for Direction\n */\n_packages2.default.geo.Rectangle.DIRECTION_UP = 0;\n_packages2.default.geo.Rectangle.DIRECTION_RIGHT = 1;\n_packages2.default.geo.Rectangle.DIRECTION_DOWN = 2;\n_packages2.default.geo.Rectangle.DIRECTION_LEFT = 3;\n\n/***/ }),\n\n/***/ \"./src/geo/Util.js\":\n/*!*************************!*\\\n !*** ./src/geo/Util.js ***!\n \\*************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Geometric utils functions used in ray, point and some routers.\n *\n * @author Andreas Herz\n */\n_packages2.default.geo.Util = {\n\n /**\n *\n * @param start {draw2d.geo.Point} start point of a line\n * @param end {draw2d.geo.Point} end point of a line\n * @param distanceFromStart {Number} distance from the start point to extrapolate a new point\n * @returns {{x: *, y: *}|*} a new point with the distance *distanceFromStart* from the start point\n */\n insetPoint: function insetPoint(start, end, distanceFromStart) {\n if (start.equals(end)) {\n return start;\n }\n var vx = start.x - end.x;\n var vy = start.y - end.y;\n var length = Math.sqrt(vx * vx + vy * vy);\n var localDistance = Math.min(length / 2, distanceFromStart);\n return {\n x: end.x + vx / length * (length - localDistance),\n y: end.y + vy / length * (length - localDistance)\n };\n }\n};\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _raphaelExec = __webpack_require__(/*! lib/raphael.exec.js */ \"./src/lib/raphael.exec.js\");\n\nvar _raphaelExec2 = _interopRequireDefault(_raphaelExec);\n\nvar _ClassExec = __webpack_require__(/*! lib/Class.exec.js */ \"./src/lib/Class.exec.js\");\n\nvar _ClassExec2 = _interopRequireDefault(_ClassExec);\n\nvar _pathfindingExec = __webpack_require__(/*! lib/pathfinding.exec.js */ \"./src/lib/pathfinding.exec.js\");\n\nvar _pathfindingExec2 = _interopRequireDefault(_pathfindingExec);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = _packages2.default;\n\n__webpack_require__(/*! ./util/raphael_ext */ \"./src/util/raphael_ext.js\");\n__webpack_require__(/*! ./util/Polyfill */ \"./src/util/Polyfill.js\");\n__webpack_require__(/*! ./util/Base64 */ \"./src/util/Base64.js\");\n__webpack_require__(/*! ./util/Debug */ \"./src/util/Debug.js\");\n// require('./util/Color');\n\n__webpack_require__(/*! ./util/ArrayList */ \"./src/util/ArrayList.js\");\n__webpack_require__(/*! ./util/SVGUtil */ \"./src/util/SVGUtil.js\");\n//require('./util/JSONUtil');\n//require('./util/UUID');\n__webpack_require__(/*! ./util/spline/Spline */ \"./src/util/spline/Spline.js\");\n__webpack_require__(/*! ./util/spline/CubicSpline */ \"./src/util/spline/CubicSpline.js\");\n__webpack_require__(/*! ./util/spline/CatmullRomSpline */ \"./src/util/spline/CatmullRomSpline.js\");\n__webpack_require__(/*! ./util/spline/BezierSpline */ \"./src/util/spline/BezierSpline.js\");\n__webpack_require__(/*! ./geo/PositionConstants */ \"./src/geo/PositionConstants.js\");\n__webpack_require__(/*! ./geo/Point */ \"./src/geo/Point.js\");\n__webpack_require__(/*! ./geo/Rectangle */ \"./src/geo/Rectangle.js\");\n__webpack_require__(/*! ./geo/Util */ \"./src/geo/Util.js\");\n__webpack_require__(/*! ./geo/Ray */ \"./src/geo/Ray.js\");\n__webpack_require__(/*! ./geo/Line */ \"./src/geo/Line.js\");\n__webpack_require__(/*! ./command/CommandType */ \"./src/command/CommandType.js\");\n__webpack_require__(/*! ./command/Command */ \"./src/command/Command.js\");\n__webpack_require__(/*! ./command/CommandCollection */ \"./src/command/CommandCollection.js\");\n__webpack_require__(/*! ./command/CommandStack */ \"./src/command/CommandStack.js\");\n__webpack_require__(/*! ./command/CommandStackEvent */ \"./src/command/CommandStackEvent.js\");\n__webpack_require__(/*! ./command/CommandStackEventListener */ \"./src/command/CommandStackEventListener.js\");\n__webpack_require__(/*! ./command/CommandMove */ \"./src/command/CommandMove.js\");\n__webpack_require__(/*! ./command/CommandAttr */ \"./src/command/CommandAttr.js\");\n__webpack_require__(/*! ./command/CommandMoveLine */ \"./src/command/CommandMoveLine.js\");\n__webpack_require__(/*! ./command/CommandMoveConnection */ \"./src/command/CommandMoveConnection.js\");\n__webpack_require__(/*! ./command/CommandMoveVertex */ \"./src/command/CommandMoveVertex.js\");\n__webpack_require__(/*! ./command/CommandMoveVertices */ \"./src/command/CommandMoveVertices.js\");\n__webpack_require__(/*! ./command/CommandResize */ \"./src/command/CommandResize.js\");\n__webpack_require__(/*! ./command/CommandRotate */ \"./src/command/CommandRotate.js\");\n__webpack_require__(/*! ./command/CommandConnect */ \"./src/command/CommandConnect.js\");\n__webpack_require__(/*! ./command/CommandReconnect */ \"./src/command/CommandReconnect.js\");\n__webpack_require__(/*! ./command/CommandDelete */ \"./src/command/CommandDelete.js\");\n__webpack_require__(/*! ./command/CommandDeleteGroup */ \"./src/command/CommandDeleteGroup.js\");\n__webpack_require__(/*! ./command/CommandAdd */ \"./src/command/CommandAdd.js\");\n__webpack_require__(/*! ./command/CommandGroup */ \"./src/command/CommandGroup.js\");\n__webpack_require__(/*! ./command/CommandUngroup */ \"./src/command/CommandUngroup.js\");\n__webpack_require__(/*! ./command/CommandAddVertex */ \"./src/command/CommandAddVertex.js\");\n__webpack_require__(/*! ./command/CommandAssignFigure */ \"./src/command/CommandAssignFigure.js\");\n__webpack_require__(/*! ./command/CommandBoundingBox */ \"./src/command/CommandBoundingBox.js\");\n__webpack_require__(/*! ./command/CommandRemoveVertex */ \"./src/command/CommandRemoveVertex.js\");\n__webpack_require__(/*! ./command/CommandReplaceVertices */ \"./src/command/CommandReplaceVertices.js\");\n__webpack_require__(/*! ./layout/connection/ConnectionRouter */ \"./src/layout/connection/ConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/DirectRouter */ \"./src/layout/connection/DirectRouter.js\");\n__webpack_require__(/*! ./layout/connection/RubberbandRouter */ \"./src/layout/connection/RubberbandRouter.js\");\n__webpack_require__(/*! ./layout/connection/VertexRouter */ \"./src/layout/connection/VertexRouter.js\");\n__webpack_require__(/*! ./layout/connection/ManhattanConnectionRouter */ \"./src/layout/connection/ManhattanConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/ManhattanBridgedConnectionRouter */ \"./src/layout/connection/ManhattanBridgedConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/InteractiveManhattanConnectionRouter */ \"./src/layout/connection/InteractiveManhattanConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/CircuitConnectionRouter */ \"./src/layout/connection/CircuitConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/SplineConnectionRouter */ \"./src/layout/connection/SplineConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/FanConnectionRouter */ \"./src/layout/connection/FanConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/MazeConnectionRouter */ \"./src/layout/connection/MazeConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/MuteableManhattanConnectionRouter */ \"./src/layout/connection/MuteableManhattanConnectionRouter.js\");\n__webpack_require__(/*! ./layout/connection/SketchConnectionRouter */ \"./src/layout/connection/SketchConnectionRouter.js\");\n__webpack_require__(/*! ./layout/mesh/MeshLayouter */ \"./src/layout/mesh/MeshLayouter.js\");\n__webpack_require__(/*! ./layout/mesh/ExplodeLayouter */ \"./src/layout/mesh/ExplodeLayouter.js\");\n__webpack_require__(/*! ./layout/mesh/ProposedMeshChange */ \"./src/layout/mesh/ProposedMeshChange.js\");\n__webpack_require__(/*! ./layout/locator/Locator */ \"./src/layout/locator/Locator.js\");\n__webpack_require__(/*! ./layout/locator/PortLocator */ \"./src/layout/locator/PortLocator.js\");\n__webpack_require__(/*! ./layout/locator/DraggableLocator */ \"./src/layout/locator/DraggableLocator.js\");\n__webpack_require__(/*! ./layout/locator/SmartDraggableLocator */ \"./src/layout/locator/SmartDraggableLocator.js\");\n__webpack_require__(/*! ./layout/locator/XYAbsPortLocator */ \"./src/layout/locator/XYAbsPortLocator.js\");\n__webpack_require__(/*! ./layout/locator/XYRelPortLocator */ \"./src/layout/locator/XYRelPortLocator.js\");\n__webpack_require__(/*! ./layout/locator/InputPortLocator */ \"./src/layout/locator/InputPortLocator.js\");\n__webpack_require__(/*! ./layout/locator/OutputPortLocator */ \"./src/layout/locator/OutputPortLocator.js\");\n__webpack_require__(/*! ./layout/locator/ConnectionLocator */ \"./src/layout/locator/ConnectionLocator.js\");\n__webpack_require__(/*! ./layout/locator/ManhattanMidpointLocator */ \"./src/layout/locator/ManhattanMidpointLocator.js\");\n__webpack_require__(/*! ./layout/locator/PolylineMidpointLocator */ \"./src/layout/locator/PolylineMidpointLocator.js\");\n__webpack_require__(/*! ./layout/locator/ParallelMidpointLocator */ \"./src/layout/locator/ParallelMidpointLocator.js\");\n__webpack_require__(/*! ./layout/locator/TopLocator */ \"./src/layout/locator/TopLocator.js\");\n__webpack_require__(/*! ./layout/locator/BottomLocator */ \"./src/layout/locator/BottomLocator.js\");\n__webpack_require__(/*! ./layout/locator/LeftLocator */ \"./src/layout/locator/LeftLocator.js\");\n__webpack_require__(/*! ./layout/locator/RightLocator */ \"./src/layout/locator/RightLocator.js\");\n__webpack_require__(/*! ./layout/locator/CenterLocator */ \"./src/layout/locator/CenterLocator.js\");\n__webpack_require__(/*! ./policy/EditPolicy */ \"./src/policy/EditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/CanvasPolicy */ \"./src/policy/canvas/CanvasPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/ZoomPolicy */ \"./src/policy/canvas/ZoomPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/WheelZoomPolicy */ \"./src/policy/canvas/WheelZoomPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/KeyboardPolicy */ \"./src/policy/canvas/KeyboardPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/DefaultKeyboardPolicy */ \"./src/policy/canvas/DefaultKeyboardPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/ExtendedKeyboardPolicy */ \"./src/policy/canvas/ExtendedKeyboardPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SelectionPolicy */ \"./src/policy/canvas/SelectionPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SingleSelectionPolicy */ \"./src/policy/canvas/SingleSelectionPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/GhostMoveSelectionPolicy */ \"./src/policy/canvas/GhostMoveSelectionPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/PanningSelectionPolicy */ \"./src/policy/canvas/PanningSelectionPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/BoundingboxSelectionPolicy */ \"./src/policy/canvas/BoundingboxSelectionPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/ReadOnlySelectionPolicy */ \"./src/policy/canvas/ReadOnlySelectionPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/DecorationPolicy */ \"./src/policy/canvas/DecorationPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/FadeoutDecorationPolicy */ \"./src/policy/canvas/FadeoutDecorationPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/CoronaDecorationPolicy */ \"./src/policy/canvas/CoronaDecorationPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SnapToEditPolicy */ \"./src/policy/canvas/SnapToEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/ShowDimetricGridEditPolicy */ \"./src/policy/canvas/ShowDimetricGridEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SnapToDimetricGridEditPolicy */ \"./src/policy/canvas/SnapToDimetricGridEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/ShowGridEditPolicy */ \"./src/policy/canvas/ShowGridEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SnapToGridEditPolicy */ \"./src/policy/canvas/SnapToGridEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/ShowDotEditPolicy */ \"./src/policy/canvas/ShowDotEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/ShowChessboardEditPolicy */ \"./src/policy/canvas/ShowChessboardEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SnapToGeometryEditPolicy */ \"./src/policy/canvas/SnapToGeometryEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SnapToVerticesEditPolicy */ \"./src/policy/canvas/SnapToVerticesEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SnapToInBetweenEditPolicy */ \"./src/policy/canvas/SnapToInBetweenEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/SnapToCenterEditPolicy */ \"./src/policy/canvas/SnapToCenterEditPolicy.js\");\n__webpack_require__(/*! ./policy/canvas/DropInterceptorPolicy */ \"./src/policy/canvas/DropInterceptorPolicy.js\");\n__webpack_require__(/*! ./policy/connection/ConnectionCreatePolicy */ \"./src/policy/connection/ConnectionCreatePolicy.js\");\n__webpack_require__(/*! ./policy/connection/ComposedConnectionCreatePolicy */ \"./src/policy/connection/ComposedConnectionCreatePolicy.js\");\n__webpack_require__(/*! ./policy/connection/ClickConnectionCreatePolicy */ \"./src/policy/connection/ClickConnectionCreatePolicy.js\");\n__webpack_require__(/*! ./policy/connection/OrthogonalConnectionCreatePolicy */ \"./src/policy/connection/OrthogonalConnectionCreatePolicy.js\");\n__webpack_require__(/*! ./policy/connection/DragConnectionCreatePolicy */ \"./src/policy/connection/DragConnectionCreatePolicy.js\");\n__webpack_require__(/*! ./policy/figure/FigureEditPolicy */ \"./src/policy/figure/FigureEditPolicy.js\");\n__webpack_require__(/*! ./policy/figure/DragDropEditPolicy */ \"./src/policy/figure/DragDropEditPolicy.js\");\n__webpack_require__(/*! ./policy/figure/RegionEditPolicy */ \"./src/policy/figure/RegionEditPolicy.js\");\n__webpack_require__(/*! ./policy/figure/HorizontalEditPolicy */ \"./src/policy/figure/HorizontalEditPolicy.js\");\n__webpack_require__(/*! ./policy/figure/VerticalEditPolicy */ \"./src/policy/figure/VerticalEditPolicy.js\");\n__webpack_require__(/*! ./policy/figure/SelectionPolicy */ \"./src/policy/figure/SelectionPolicy.js\");\n__webpack_require__(/*! ./policy/figure/SelectionFeedbackPolicy */ \"./src/policy/figure/SelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/ResizeSelectionFeedbackPolicy */ \"./src/policy/figure/ResizeSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/RectangleSelectionFeedbackPolicy */ \"./src/policy/figure/RectangleSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/BigRectangleSelectionFeedbackPolicy */ \"./src/policy/figure/BigRectangleSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/RoundRectangleSelectionFeedbackPolicy */ \"./src/policy/figure/RoundRectangleSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/BusSelectionFeedbackPolicy */ \"./src/policy/figure/BusSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/WidthSelectionFeedbackPolicy */ \"./src/policy/figure/WidthSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/VBusSelectionFeedbackPolicy */ \"./src/policy/figure/VBusSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/HBusSelectionFeedbackPolicy */ \"./src/policy/figure/HBusSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/AntSelectionFeedbackPolicy */ \"./src/policy/figure/AntSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/GlowSelectionFeedbackPolicy */ \"./src/policy/figure/GlowSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/SlimSelectionFeedbackPolicy */ \"./src/policy/figure/SlimSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/figure/VertexSelectionFeedbackPolicy */ \"./src/policy/figure/VertexSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/line/LineSelectionFeedbackPolicy */ \"./src/policy/line/LineSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/line/VertexSelectionFeedbackPolicy */ \"./src/policy/line/VertexSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/line/OrthogonalSelectionFeedbackPolicy */ \"./src/policy/line/OrthogonalSelectionFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/port/PortFeedbackPolicy */ \"./src/policy/port/PortFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/port/ElasticStrapFeedbackPolicy */ \"./src/policy/port/ElasticStrapFeedbackPolicy.js\");\n__webpack_require__(/*! ./policy/port/IntrusivePortsFeedbackPolicy */ \"./src/policy/port/IntrusivePortsFeedbackPolicy.js\");\n__webpack_require__(/*! ./Configuration */ \"./src/Configuration.js\");\n__webpack_require__(/*! ./HeadlessCanvas */ \"./src/HeadlessCanvas.js\");\n__webpack_require__(/*! ./Canvas */ \"./src/Canvas.js\");\n__webpack_require__(/*! ./Selection */ \"./src/Selection.js\");\n__webpack_require__(/*! ./Figure */ \"./src/Figure.js\");\n__webpack_require__(/*! ./shape/node/Node */ \"./src/shape/node/Node.js\");\n__webpack_require__(/*! ./VectorFigure */ \"./src/VectorFigure.js\");\n__webpack_require__(/*! ./shape/basic/Rectangle */ \"./src/shape/basic/Rectangle.js\");\n__webpack_require__(/*! ./SetFigure */ \"./src/SetFigure.js\");\n__webpack_require__(/*! ./SVGFigure */ \"./src/SVGFigure.js\");\n__webpack_require__(/*! ./shape/node/Hub */ \"./src/shape/node/Hub.js\");\n__webpack_require__(/*! ./shape/node/HorizontalBus */ \"./src/shape/node/HorizontalBus.js\");\n__webpack_require__(/*! ./shape/node/VerticalBus */ \"./src/shape/node/VerticalBus.js\");\n__webpack_require__(/*! ./shape/node/Fulcrum */ \"./src/shape/node/Fulcrum.js\");\n__webpack_require__(/*! ./shape/basic/Arc */ \"./src/shape/basic/Arc.js\");\n__webpack_require__(/*! ./shape/basic/Oval */ \"./src/shape/basic/Oval.js\");\n__webpack_require__(/*! ./shape/basic/Circle */ \"./src/shape/basic/Circle.js\");\n__webpack_require__(/*! ./shape/basic/Label */ \"./src/shape/basic/Label.js\");\n__webpack_require__(/*! ./shape/basic/Text */ \"./src/shape/basic/Text.js\");\n__webpack_require__(/*! ./shape/basic/Line */ \"./src/shape/basic/Line.js\");\n__webpack_require__(/*! ./shape/basic/PolyLine */ \"./src/shape/basic/PolyLine.js\");\n__webpack_require__(/*! ./shape/basic/Image */ \"./src/shape/basic/Image.js\");\n__webpack_require__(/*! ./shape/basic/Polygon */ \"./src/shape/basic/Polygon.js\");\n__webpack_require__(/*! ./shape/basic/Diamond */ \"./src/shape/basic/Diamond.js\");\n__webpack_require__(/*! ./shape/dimetric/Rectangle */ \"./src/shape/dimetric/Rectangle.js\");\n__webpack_require__(/*! ./shape/composite/Composite */ \"./src/shape/composite/Composite.js\");\n__webpack_require__(/*! ./shape/composite/StrongComposite */ \"./src/shape/composite/StrongComposite.js\");\n__webpack_require__(/*! ./shape/composite/Group */ \"./src/shape/composite/Group.js\");\n__webpack_require__(/*! ./shape/composite/Jailhouse */ \"./src/shape/composite/Jailhouse.js\");\n__webpack_require__(/*! ./shape/composite/WeakComposite */ \"./src/shape/composite/WeakComposite.js\");\n__webpack_require__(/*! ./shape/composite/Raft */ \"./src/shape/composite/Raft.js\");\n__webpack_require__(/*! ./Connection */ \"./src/Connection.js\");\n__webpack_require__(/*! ./VectorFigure */ \"./src/VectorFigure.js\");\n__webpack_require__(/*! ./ResizeHandle */ \"./src/ResizeHandle.js\");\n__webpack_require__(/*! ./shape/basic/LineResizeHandle */ \"./src/shape/basic/LineResizeHandle.js\");\n__webpack_require__(/*! ./shape/basic/LineStartResizeHandle */ \"./src/shape/basic/LineStartResizeHandle.js\");\n__webpack_require__(/*! ./shape/basic/LineEndResizeHandle */ \"./src/shape/basic/LineEndResizeHandle.js\");\n__webpack_require__(/*! ./shape/basic/VertexResizeHandle */ \"./src/shape/basic/VertexResizeHandle.js\");\n__webpack_require__(/*! ./shape/basic/GhostVertexResizeHandle */ \"./src/shape/basic/GhostVertexResizeHandle.js\");\n__webpack_require__(/*! ./Port */ \"./src/Port.js\");\n__webpack_require__(/*! ./InputPort */ \"./src/InputPort.js\");\n__webpack_require__(/*! ./OutputPort */ \"./src/OutputPort.js\");\n__webpack_require__(/*! ./HybridPort */ \"./src/HybridPort.js\");\n__webpack_require__(/*! ./layout/anchor/ConnectionAnchor */ \"./src/layout/anchor/ConnectionAnchor.js\");\n__webpack_require__(/*! ./layout/anchor/ChopboxConnectionAnchor */ \"./src/layout/anchor/ChopboxConnectionAnchor.js\");\n__webpack_require__(/*! ./layout/anchor/FanConnectionAnchor */ \"./src/layout/anchor/FanConnectionAnchor.js\");\n__webpack_require__(/*! ./layout/anchor/ShortesPathConnectionAnchor */ \"./src/layout/anchor/ShortesPathConnectionAnchor.js\");\n__webpack_require__(/*! ./layout/anchor/CenterEdgeConnectionAnchor */ \"./src/layout/anchor/CenterEdgeConnectionAnchor.js\");\n__webpack_require__(/*! ./shape/arrow/CalligrapherArrowLeft */ \"./src/shape/arrow/CalligrapherArrowLeft.js\");\n__webpack_require__(/*! ./shape/arrow/CalligrapherArrowDownLeft */ \"./src/shape/arrow/CalligrapherArrowDownLeft.js\");\n__webpack_require__(/*! ./shape/node/Start */ \"./src/shape/node/Start.js\");\n__webpack_require__(/*! ./shape/node/End */ \"./src/shape/node/End.js\");\n__webpack_require__(/*! ./shape/node/Between */ \"./src/shape/node/Between.js\");\n__webpack_require__(/*! ./shape/note/PostIt */ \"./src/shape/note/PostIt.js\");\n__webpack_require__(/*! ./shape/flowchart/Document */ \"./src/shape/flowchart/Document.js\");\n__webpack_require__(/*! ./shape/widget/Widget */ \"./src/shape/widget/Widget.js\");\n__webpack_require__(/*! ./shape/widget/Slider */ \"./src/shape/widget/Slider.js\");\n__webpack_require__(/*! ./shape/diagram/Diagram */ \"./src/shape/diagram/Diagram.js\");\n__webpack_require__(/*! ./shape/diagram/Pie */ \"./src/shape/diagram/Pie.js\");\n__webpack_require__(/*! ./shape/diagram/Sparkline */ \"./src/shape/diagram/Sparkline.js\");\n__webpack_require__(/*! ./shape/analog/OpAmp */ \"./src/shape/analog/OpAmp.js\");\n__webpack_require__(/*! ./shape/analog/ResistorBridge */ \"./src/shape/analog/ResistorBridge.js\");\n__webpack_require__(/*! ./shape/analog/ResistorVertical */ \"./src/shape/analog/ResistorVertical.js\");\n__webpack_require__(/*! ./shape/analog/VoltageSupplyHorizontal */ \"./src/shape/analog/VoltageSupplyHorizontal.js\");\n__webpack_require__(/*! ./shape/analog/VoltageSupplyVertical */ \"./src/shape/analog/VoltageSupplyVertical.js\");\n__webpack_require__(/*! ./shape/layout/Layout */ \"./src/shape/layout/Layout.js\");\n__webpack_require__(/*! ./shape/layout/HorizontalLayout */ \"./src/shape/layout/HorizontalLayout.js\");\n__webpack_require__(/*! ./shape/layout/VerticalLayout */ \"./src/shape/layout/VerticalLayout.js\");\n__webpack_require__(/*! ./shape/layout/TableLayout */ \"./src/shape/layout/TableLayout.js\");\n__webpack_require__(/*! ./shape/layout/FlexGridLayout */ \"./src/shape/layout/FlexGridLayout.js\");\n__webpack_require__(/*! ./shape/layout/StackLayout */ \"./src/shape/layout/StackLayout.js\");\n__webpack_require__(/*! ./shape/icon/Icon */ \"./src/shape/icon/Icon.js\");\n__webpack_require__(/*! ./shape/icon/Thunder */ \"./src/shape/icon/Thunder.js\");\n__webpack_require__(/*! ./shape/icon/Snow */ \"./src/shape/icon/Snow.js\");\n__webpack_require__(/*! ./shape/icon/Hail */ \"./src/shape/icon/Hail.js\");\n__webpack_require__(/*! ./shape/icon/Rain */ \"./src/shape/icon/Rain.js\");\n__webpack_require__(/*! ./shape/icon/Cloudy */ \"./src/shape/icon/Cloudy.js\");\n__webpack_require__(/*! ./shape/icon/Sun */ \"./src/shape/icon/Sun.js\");\n__webpack_require__(/*! ./shape/icon/Undo */ \"./src/shape/icon/Undo.js\");\n__webpack_require__(/*! ./shape/icon/Detour */ \"./src/shape/icon/Detour.js\");\n__webpack_require__(/*! ./shape/icon/Merge */ \"./src/shape/icon/Merge.js\");\n__webpack_require__(/*! ./shape/icon/Split */ \"./src/shape/icon/Split.js\");\n__webpack_require__(/*! ./shape/icon/Fork */ \"./src/shape/icon/Fork.js\");\n__webpack_require__(/*! ./shape/icon/ForkAlt */ \"./src/shape/icon/ForkAlt.js\");\n__webpack_require__(/*! ./shape/icon/Exchange */ \"./src/shape/icon/Exchange.js\");\n__webpack_require__(/*! ./shape/icon/Shuffle */ \"./src/shape/icon/Shuffle.js\");\n__webpack_require__(/*! ./shape/icon/Refresh */ \"./src/shape/icon/Refresh.js\");\n__webpack_require__(/*! ./shape/icon/Ccw */ \"./src/shape/icon/Ccw.js\");\n__webpack_require__(/*! ./shape/icon/Acw */ \"./src/shape/icon/Acw.js\");\n__webpack_require__(/*! ./shape/icon/Contract */ \"./src/shape/icon/Contract.js\");\n__webpack_require__(/*! ./shape/icon/Expand */ \"./src/shape/icon/Expand.js\");\n__webpack_require__(/*! ./shape/icon/Stop */ \"./src/shape/icon/Stop.js\");\n__webpack_require__(/*! ./shape/icon/End */ \"./src/shape/icon/End.js\");\n__webpack_require__(/*! ./shape/icon/Start */ \"./src/shape/icon/Start.js\");\n__webpack_require__(/*! ./shape/icon/Ff */ \"./src/shape/icon/Ff.js\");\n__webpack_require__(/*! ./shape/icon/Rw */ \"./src/shape/icon/Rw.js\");\n__webpack_require__(/*! ./shape/icon/ArrowRight */ \"./src/shape/icon/ArrowRight.js\");\n__webpack_require__(/*! ./shape/icon/ArrowLeft */ \"./src/shape/icon/ArrowLeft.js\");\n__webpack_require__(/*! ./shape/icon/ArrowUp */ \"./src/shape/icon/ArrowUp.js\");\n__webpack_require__(/*! ./shape/icon/ArrowDown */ \"./src/shape/icon/ArrowDown.js\");\n__webpack_require__(/*! ./shape/icon/ArrowLeft2 */ \"./src/shape/icon/ArrowLeft2.js\");\n__webpack_require__(/*! ./shape/icon/ArrowRight2 */ \"./src/shape/icon/ArrowRight2.js\");\n__webpack_require__(/*! ./shape/icon/Smile2 */ \"./src/shape/icon/Smile2.js\");\n__webpack_require__(/*! ./shape/icon/Smile */ \"./src/shape/icon/Smile.js\");\n__webpack_require__(/*! ./shape/icon/Alarm */ \"./src/shape/icon/Alarm.js\");\n__webpack_require__(/*! ./shape/icon/Clock */ \"./src/shape/icon/Clock.js\");\n__webpack_require__(/*! ./shape/icon/StopWatch */ \"./src/shape/icon/StopWatch.js\");\n__webpack_require__(/*! ./shape/icon/History */ \"./src/shape/icon/History.js\");\n__webpack_require__(/*! ./shape/icon/Future */ \"./src/shape/icon/Future.js\");\n__webpack_require__(/*! ./shape/icon/GlobeAlt2 */ \"./src/shape/icon/GlobeAlt2.js\");\n__webpack_require__(/*! ./shape/icon/GlobeAlt */ \"./src/shape/icon/GlobeAlt.js\");\n__webpack_require__(/*! ./shape/icon/Globe */ \"./src/shape/icon/Globe.js\");\n__webpack_require__(/*! ./shape/icon/Warning */ \"./src/shape/icon/Warning.js\");\n__webpack_require__(/*! ./shape/icon/Code */ \"./src/shape/icon/Code.js\");\n__webpack_require__(/*! ./shape/icon/Pensil */ \"./src/shape/icon/Pensil.js\");\n__webpack_require__(/*! ./shape/icon/Pen */ \"./src/shape/icon/Pen.js\");\n__webpack_require__(/*! ./shape/icon/Plus */ \"./src/shape/icon/Plus.js\");\n__webpack_require__(/*! ./shape/icon/Minus */ \"./src/shape/icon/Minus.js\");\n__webpack_require__(/*! ./shape/icon/TShirt */ \"./src/shape/icon/TShirt.js\");\n__webpack_require__(/*! ./shape/icon/Sticker */ \"./src/shape/icon/Sticker.js\");\n__webpack_require__(/*! ./shape/icon/Page2 */ \"./src/shape/icon/Page2.js\");\n__webpack_require__(/*! ./shape/icon/Page */ \"./src/shape/icon/Page.js\");\n__webpack_require__(/*! ./shape/icon/Landscape1 */ \"./src/shape/icon/Landscape1.js\");\n__webpack_require__(/*! ./shape/icon/Landscape2 */ \"./src/shape/icon/Landscape2.js\");\n__webpack_require__(/*! ./shape/icon/Plugin */ \"./src/shape/icon/Plugin.js\");\n__webpack_require__(/*! ./shape/icon/Bookmark */ \"./src/shape/icon/Bookmark.js\");\n__webpack_require__(/*! ./shape/icon/Hammer */ \"./src/shape/icon/Hammer.js\");\n__webpack_require__(/*! ./shape/icon/Users */ \"./src/shape/icon/Users.js\");\n__webpack_require__(/*! ./shape/icon/User */ \"./src/shape/icon/User.js\");\n__webpack_require__(/*! ./shape/icon/Customer */ \"./src/shape/icon/Customer.js\");\n__webpack_require__(/*! ./shape/icon/Employee */ \"./src/shape/icon/Employee.js\");\n__webpack_require__(/*! ./shape/icon/Anonymous */ \"./src/shape/icon/Anonymous.js\");\n__webpack_require__(/*! ./shape/icon/Skull */ \"./src/shape/icon/Skull.js\");\n__webpack_require__(/*! ./shape/icon/Mail */ \"./src/shape/icon/Mail.js\");\n__webpack_require__(/*! ./shape/icon/Picture */ \"./src/shape/icon/Picture.js\");\n__webpack_require__(/*! ./shape/icon/Bubble */ \"./src/shape/icon/Bubble.js\");\n__webpack_require__(/*! ./shape/icon/CodeTalk */ \"./src/shape/icon/CodeTalk.js\");\n__webpack_require__(/*! ./shape/icon/Talkq */ \"./src/shape/icon/Talkq.js\");\n__webpack_require__(/*! ./shape/icon/Talke */ \"./src/shape/icon/Talke.js\");\n__webpack_require__(/*! ./shape/icon/Home */ \"./src/shape/icon/Home.js\");\n__webpack_require__(/*! ./shape/icon/Lock */ \"./src/shape/icon/Lock.js\");\n__webpack_require__(/*! ./shape/icon/Clip */ \"./src/shape/icon/Clip.js\");\n__webpack_require__(/*! ./shape/icon/Star */ \"./src/shape/icon/Star.js\");\n__webpack_require__(/*! ./shape/icon/StarOff */ \"./src/shape/icon/StarOff.js\");\n__webpack_require__(/*! ./shape/icon/Star2 */ \"./src/shape/icon/Star2.js\");\n__webpack_require__(/*! ./shape/icon/Star2Off */ \"./src/shape/icon/Star2Off.js\");\n__webpack_require__(/*! ./shape/icon/Star3 */ \"./src/shape/icon/Star3.js\");\n__webpack_require__(/*! ./shape/icon/Star3Off */ \"./src/shape/icon/Star3Off.js\");\n__webpack_require__(/*! ./shape/icon/Chat */ \"./src/shape/icon/Chat.js\");\n__webpack_require__(/*! ./shape/icon/Quote */ \"./src/shape/icon/Quote.js\");\n__webpack_require__(/*! ./shape/icon/Gear2 */ \"./src/shape/icon/Gear2.js\");\n__webpack_require__(/*! ./shape/icon/Gear */ \"./src/shape/icon/Gear.js\");\n__webpack_require__(/*! ./shape/icon/Wrench */ \"./src/shape/icon/Wrench.js\");\n__webpack_require__(/*! ./shape/icon/Wrench2 */ \"./src/shape/icon/Wrench2.js\");\n__webpack_require__(/*! ./shape/icon/Wrench3 */ \"./src/shape/icon/Wrench3.js\");\n__webpack_require__(/*! ./shape/icon/ScrewDriver */ \"./src/shape/icon/ScrewDriver.js\");\n__webpack_require__(/*! ./shape/icon/HammerAndScrewDriver */ \"./src/shape/icon/HammerAndScrewDriver.js\");\n__webpack_require__(/*! ./shape/icon/Magic */ \"./src/shape/icon/Magic.js\");\n__webpack_require__(/*! ./shape/icon/Download */ \"./src/shape/icon/Download.js\");\n__webpack_require__(/*! ./shape/icon/View */ \"./src/shape/icon/View.js\");\n__webpack_require__(/*! ./shape/icon/Noview */ \"./src/shape/icon/Noview.js\");\n__webpack_require__(/*! ./shape/icon/Cloud */ \"./src/shape/icon/Cloud.js\");\n__webpack_require__(/*! ./shape/icon/Cloud2 */ \"./src/shape/icon/Cloud2.js\");\n__webpack_require__(/*! ./shape/icon/CloudDown */ \"./src/shape/icon/CloudDown.js\");\n__webpack_require__(/*! ./shape/icon/CloudUp */ \"./src/shape/icon/CloudUp.js\");\n__webpack_require__(/*! ./shape/icon/Location */ \"./src/shape/icon/Location.js\");\n__webpack_require__(/*! ./shape/icon/Volume0 */ \"./src/shape/icon/Volume0.js\");\n__webpack_require__(/*! ./shape/icon/Volume1 */ \"./src/shape/icon/Volume1.js\");\n__webpack_require__(/*! ./shape/icon/Volume2 */ \"./src/shape/icon/Volume2.js\");\n__webpack_require__(/*! ./shape/icon/Volume3 */ \"./src/shape/icon/Volume3.js\");\n__webpack_require__(/*! ./shape/icon/Key */ \"./src/shape/icon/Key.js\");\n__webpack_require__(/*! ./shape/icon/Ruler */ \"./src/shape/icon/Ruler.js\");\n__webpack_require__(/*! ./shape/icon/Power */ \"./src/shape/icon/Power.js\");\n__webpack_require__(/*! ./shape/icon/Unlock */ \"./src/shape/icon/Unlock.js\");\n__webpack_require__(/*! ./shape/icon/Flag */ \"./src/shape/icon/Flag.js\");\n__webpack_require__(/*! ./shape/icon/Tag */ \"./src/shape/icon/Tag.js\");\n__webpack_require__(/*! ./shape/icon/Search */ \"./src/shape/icon/Search.js\");\n__webpack_require__(/*! ./shape/icon/ZoomOut */ \"./src/shape/icon/ZoomOut.js\");\n__webpack_require__(/*! ./shape/icon/ZoomIn */ \"./src/shape/icon/ZoomIn.js\");\n__webpack_require__(/*! ./shape/icon/Cross */ \"./src/shape/icon/Cross.js\");\n__webpack_require__(/*! ./shape/icon/Check */ \"./src/shape/icon/Check.js\");\n__webpack_require__(/*! ./shape/icon/Settings */ \"./src/shape/icon/Settings.js\");\n__webpack_require__(/*! ./shape/icon/SettingsAlt */ \"./src/shape/icon/SettingsAlt.js\");\n__webpack_require__(/*! ./shape/icon/Feed */ \"./src/shape/icon/Feed.js\");\n__webpack_require__(/*! ./shape/icon/Bug */ \"./src/shape/icon/Bug.js\");\n__webpack_require__(/*! ./shape/icon/Link */ \"./src/shape/icon/Link.js\");\n__webpack_require__(/*! ./shape/icon/Calendar */ \"./src/shape/icon/Calendar.js\");\n__webpack_require__(/*! ./shape/icon/Picker */ \"./src/shape/icon/Picker.js\");\n__webpack_require__(/*! ./shape/icon/No */ \"./src/shape/icon/No.js\");\n__webpack_require__(/*! ./shape/icon/CommandLine */ \"./src/shape/icon/CommandLine.js\");\n__webpack_require__(/*! ./shape/icon/Photo */ \"./src/shape/icon/Photo.js\");\n__webpack_require__(/*! ./shape/icon/Printer */ \"./src/shape/icon/Printer.js\");\n__webpack_require__(/*! ./shape/icon/Export */ \"./src/shape/icon/Export.js\");\n__webpack_require__(/*! ./shape/icon/Import */ \"./src/shape/icon/Import.js\");\n__webpack_require__(/*! ./shape/icon/Run */ \"./src/shape/icon/Run.js\");\n__webpack_require__(/*! ./shape/icon/Magnet */ \"./src/shape/icon/Magnet.js\");\n__webpack_require__(/*! ./shape/icon/NoMagnet */ \"./src/shape/icon/NoMagnet.js\");\n__webpack_require__(/*! ./shape/icon/ReflectH */ \"./src/shape/icon/ReflectH.js\");\n__webpack_require__(/*! ./shape/icon/ReflectV */ \"./src/shape/icon/ReflectV.js\");\n__webpack_require__(/*! ./shape/icon/Resize2 */ \"./src/shape/icon/Resize2.js\");\n__webpack_require__(/*! ./shape/icon/Rotate */ \"./src/shape/icon/Rotate.js\");\n__webpack_require__(/*! ./shape/icon/Connect */ \"./src/shape/icon/Connect.js\");\n__webpack_require__(/*! ./shape/icon/Disconnect */ \"./src/shape/icon/Disconnect.js\");\n__webpack_require__(/*! ./shape/icon/Folder */ \"./src/shape/icon/Folder.js\");\n__webpack_require__(/*! ./shape/icon/Man */ \"./src/shape/icon/Man.js\");\n__webpack_require__(/*! ./shape/icon/Woman */ \"./src/shape/icon/Woman.js\");\n__webpack_require__(/*! ./shape/icon/People */ \"./src/shape/icon/People.js\");\n__webpack_require__(/*! ./shape/icon/Parent */ \"./src/shape/icon/Parent.js\");\n__webpack_require__(/*! ./shape/icon/Notebook */ \"./src/shape/icon/Notebook.js\");\n__webpack_require__(/*! ./shape/icon/Diagram */ \"./src/shape/icon/Diagram.js\");\n__webpack_require__(/*! ./shape/icon/BarChart */ \"./src/shape/icon/BarChart.js\");\n__webpack_require__(/*! ./shape/icon/PieChart */ \"./src/shape/icon/PieChart.js\");\n__webpack_require__(/*! ./shape/icon/LineChart */ \"./src/shape/icon/LineChart.js\");\n__webpack_require__(/*! ./shape/icon/Apps */ \"./src/shape/icon/Apps.js\");\n__webpack_require__(/*! ./shape/icon/Locked */ \"./src/shape/icon/Locked.js\");\n__webpack_require__(/*! ./shape/icon/Ppt */ \"./src/shape/icon/Ppt.js\");\n__webpack_require__(/*! ./shape/icon/Lab */ \"./src/shape/icon/Lab.js\");\n__webpack_require__(/*! ./shape/icon/Umbrella */ \"./src/shape/icon/Umbrella.js\");\n__webpack_require__(/*! ./shape/icon/Dry */ \"./src/shape/icon/Dry.js\");\n__webpack_require__(/*! ./shape/icon/Ipad */ \"./src/shape/icon/Ipad.js\");\n__webpack_require__(/*! ./shape/icon/Iphone */ \"./src/shape/icon/Iphone.js\");\n__webpack_require__(/*! ./shape/icon/Jigsaw */ \"./src/shape/icon/Jigsaw.js\");\n__webpack_require__(/*! ./shape/icon/Lamp */ \"./src/shape/icon/Lamp.js\");\n__webpack_require__(/*! ./shape/icon/Lamp_alt */ \"./src/shape/icon/Lamp_alt.js\");\n__webpack_require__(/*! ./shape/icon/Video */ \"./src/shape/icon/Video.js\");\n__webpack_require__(/*! ./shape/icon/Palm */ \"./src/shape/icon/Palm.js\");\n__webpack_require__(/*! ./shape/icon/Fave */ \"./src/shape/icon/Fave.js\");\n__webpack_require__(/*! ./shape/icon/Help */ \"./src/shape/icon/Help.js\");\n__webpack_require__(/*! ./shape/icon/Crop */ \"./src/shape/icon/Crop.js\");\n__webpack_require__(/*! ./shape/icon/BioHazard */ \"./src/shape/icon/BioHazard.js\");\n__webpack_require__(/*! ./shape/icon/WheelChair */ \"./src/shape/icon/WheelChair.js\");\n__webpack_require__(/*! ./shape/icon/Mic */ \"./src/shape/icon/Mic.js\");\n__webpack_require__(/*! ./shape/icon/MicMute */ \"./src/shape/icon/MicMute.js\");\n__webpack_require__(/*! ./shape/icon/IMac */ \"./src/shape/icon/IMac.js\");\n__webpack_require__(/*! ./shape/icon/Pc */ \"./src/shape/icon/Pc.js\");\n__webpack_require__(/*! ./shape/icon/Cube */ \"./src/shape/icon/Cube.js\");\n__webpack_require__(/*! ./shape/icon/FullCube */ \"./src/shape/icon/FullCube.js\");\n__webpack_require__(/*! ./shape/icon/Font */ \"./src/shape/icon/Font.js\");\n__webpack_require__(/*! ./shape/icon/Trash */ \"./src/shape/icon/Trash.js\");\n__webpack_require__(/*! ./shape/icon/NewWindow */ \"./src/shape/icon/NewWindow.js\");\n__webpack_require__(/*! ./shape/icon/DockRight */ \"./src/shape/icon/DockRight.js\");\n__webpack_require__(/*! ./shape/icon/DockLeft */ \"./src/shape/icon/DockLeft.js\");\n__webpack_require__(/*! ./shape/icon/DockBottom */ \"./src/shape/icon/DockBottom.js\");\n__webpack_require__(/*! ./shape/icon/DockTop */ \"./src/shape/icon/DockTop.js\");\n__webpack_require__(/*! ./shape/icon/Pallete */ \"./src/shape/icon/Pallete.js\");\n__webpack_require__(/*! ./shape/icon/Cart */ \"./src/shape/icon/Cart.js\");\n__webpack_require__(/*! ./shape/icon/Glasses */ \"./src/shape/icon/Glasses.js\");\n__webpack_require__(/*! ./shape/icon/Package */ \"./src/shape/icon/Package.js\");\n__webpack_require__(/*! ./shape/icon/Book */ \"./src/shape/icon/Book.js\");\n__webpack_require__(/*! ./shape/icon/Books */ \"./src/shape/icon/Books.js\");\n__webpack_require__(/*! ./shape/icon/Icons */ \"./src/shape/icon/Icons.js\");\n__webpack_require__(/*! ./shape/icon/List */ \"./src/shape/icon/List.js\");\n__webpack_require__(/*! ./shape/icon/Db */ \"./src/shape/icon/Db.js\");\n__webpack_require__(/*! ./shape/icon/Paper */ \"./src/shape/icon/Paper.js\");\n__webpack_require__(/*! ./shape/icon/TakeOff */ \"./src/shape/icon/TakeOff.js\");\n__webpack_require__(/*! ./shape/icon/Landing */ \"./src/shape/icon/Landing.js\");\n__webpack_require__(/*! ./shape/icon/Plane */ \"./src/shape/icon/Plane.js\");\n__webpack_require__(/*! ./shape/icon/Phone */ \"./src/shape/icon/Phone.js\");\n__webpack_require__(/*! ./shape/icon/HangUp */ \"./src/shape/icon/HangUp.js\");\n__webpack_require__(/*! ./shape/icon/SlideShare */ \"./src/shape/icon/SlideShare.js\");\n__webpack_require__(/*! ./shape/icon/Twitter */ \"./src/shape/icon/Twitter.js\");\n__webpack_require__(/*! ./shape/icon/TwitterBird */ \"./src/shape/icon/TwitterBird.js\");\n__webpack_require__(/*! ./shape/icon/Skype */ \"./src/shape/icon/Skype.js\");\n__webpack_require__(/*! ./shape/icon/Windows */ \"./src/shape/icon/Windows.js\");\n__webpack_require__(/*! ./shape/icon/Apple */ \"./src/shape/icon/Apple.js\");\n__webpack_require__(/*! ./shape/icon/Linux */ \"./src/shape/icon/Linux.js\");\n__webpack_require__(/*! ./shape/icon/NodeJs */ \"./src/shape/icon/NodeJs.js\");\n__webpack_require__(/*! ./shape/icon/JQuery */ \"./src/shape/icon/JQuery.js\");\n__webpack_require__(/*! ./shape/icon/Sencha */ \"./src/shape/icon/Sencha.js\");\n__webpack_require__(/*! ./shape/icon/Vim */ \"./src/shape/icon/Vim.js\");\n__webpack_require__(/*! ./shape/icon/InkScape */ \"./src/shape/icon/InkScape.js\");\n__webpack_require__(/*! ./shape/icon/Aumade */ \"./src/shape/icon/Aumade.js\");\n__webpack_require__(/*! ./shape/icon/Firefox */ \"./src/shape/icon/Firefox.js\");\n__webpack_require__(/*! ./shape/icon/Ie */ \"./src/shape/icon/Ie.js\");\n__webpack_require__(/*! ./shape/icon/Ie9 */ \"./src/shape/icon/Ie9.js\");\n__webpack_require__(/*! ./shape/icon/Opera */ \"./src/shape/icon/Opera.js\");\n__webpack_require__(/*! ./shape/icon/Chrome */ \"./src/shape/icon/Chrome.js\");\n__webpack_require__(/*! ./shape/icon/Safari */ \"./src/shape/icon/Safari.js\");\n__webpack_require__(/*! ./shape/icon/LinkedIn */ \"./src/shape/icon/LinkedIn.js\");\n__webpack_require__(/*! ./shape/icon/Flickr */ \"./src/shape/icon/Flickr.js\");\n__webpack_require__(/*! ./shape/icon/GitHub */ \"./src/shape/icon/GitHub.js\");\n__webpack_require__(/*! ./shape/icon/GitHubAlt */ \"./src/shape/icon/GitHubAlt.js\");\n__webpack_require__(/*! ./shape/icon/Raphael */ \"./src/shape/icon/Raphael.js\");\n__webpack_require__(/*! ./shape/icon/GRaphael */ \"./src/shape/icon/GRaphael.js\");\n__webpack_require__(/*! ./shape/icon/Svg */ \"./src/shape/icon/Svg.js\");\n__webpack_require__(/*! ./shape/icon/Usb */ \"./src/shape/icon/Usb.js\");\n__webpack_require__(/*! ./shape/icon/Ethernet */ \"./src/shape/icon/Ethernet.js\");\n__webpack_require__(/*! ./shape/pert/Activity */ \"./src/shape/pert/Activity.js\");\n__webpack_require__(/*! ./shape/pert/Start */ \"./src/shape/pert/Start.js\");\n__webpack_require__(/*! ./shape/state/Start */ \"./src/shape/state/Start.js\");\n__webpack_require__(/*! ./shape/state/End */ \"./src/shape/state/End.js\");\n__webpack_require__(/*! ./shape/state/State */ \"./src/shape/state/State.js\");\n__webpack_require__(/*! ./shape/state/Connection */ \"./src/shape/state/Connection.js\");\n__webpack_require__(/*! ./ui/LabelEditor */ \"./src/ui/LabelEditor.js\");\n__webpack_require__(/*! ./ui/LabelInplaceEditor */ \"./src/ui/LabelInplaceEditor.js\");\n__webpack_require__(/*! ./decoration/connection/Decorator */ \"./src/decoration/connection/Decorator.js\");\n__webpack_require__(/*! ./decoration/connection/ArrowDecorator */ \"./src/decoration/connection/ArrowDecorator.js\");\n__webpack_require__(/*! ./decoration/connection/DiamondDecorator */ \"./src/decoration/connection/DiamondDecorator.js\");\n__webpack_require__(/*! ./decoration/connection/CircleDecorator */ \"./src/decoration/connection/CircleDecorator.js\");\n__webpack_require__(/*! ./decoration/connection/BarDecorator */ \"./src/decoration/connection/BarDecorator.js\");\n__webpack_require__(/*! ./io/Reader */ \"./src/io/Reader.js\");\n__webpack_require__(/*! ./io/Writer */ \"./src/io/Writer.js\");\n__webpack_require__(/*! ./io/svg/Writer */ \"./src/io/svg/Writer.js\");\n__webpack_require__(/*! ./io/png/Writer */ \"./src/io/png/Writer.js\");\n__webpack_require__(/*! ./io/json/Writer */ \"./src/io/json/Writer.js\");\n__webpack_require__(/*! ./io/json/Reader */ \"./src/io/json/Reader.js\");\n\n/***/ }),\n\n/***/ \"./src/io/Reader.js\":\n/*!**************************!*\\\n !*** ./src/io/Reader.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Template class for general import of a document into the canvas.\n *\n * @author andreas Herz\n */\n_packages2.default.io.Reader = Class.extend(\n/** @lends draw2d.io.Reader */\n{\n\n init: function init() {},\n\n /**\n *\n *\n * Restore the canvas from a given String.\n *\n * @param {draw2d.Canvas} canvas the canvas to restore\n * @param {Object} document the document to read\n *\n * @returns {draw2d.util.ArrayList} the added elements\n * @template\n */\n unmarshal: function unmarshal(canvas, document) {\n // do nothing. Inherit classes must implement this method\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/io/Writer.js\":\n/*!**************************!*\\\n !*** ./src/io/Writer.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Serialize the canvas to an external format. This is only a template/interface class.\n * Inherit classes must implement the export format.\n *\n * @author Andreas Herz\n */\n_packages2.default.io.Writer = Class.extend(\n/** @lends draw2d.io.Writer */\n\n{\n init: function init() {},\n\n /**\n * \n * Export the content to the implemented data format. Inherit class implements\n * content specific writer.\n * <br>\n * <br>\n *\n * Method signature has been changed from version 2.10.1 to version 3.0.0.<br>\n * The parameter <b>resultCallback</b> is required and new. The method calls\n * the callback instead of return the result.\n *\n * @template\n * @since 2.10.1\n * @param {draw2d.Canvas} canvas\n * @param {Function} resultCallback the method to call on success. The first argument is the result object, the second the base64 content of a corresponding file\n * @returns {Object}\n *\n */\n marshal: function marshal(canvas, resultCallback) {\n // I change the API signature from version 2.10.1 to 3.0.0. Throw an exception\n // if any application not care about this changes.\n if (typeof resultCallback !== \"function\") {\n throw \"Writer.marshal method signature has been change from version 2.10.1 to version 3.0.0. Please consult the API documentation about this issue.\";\n }\n\n resultCallback(\"\", \"\");\n },\n\n /**\n * \n * utility method to format a given XML string.\n *\n * @param xml\n * @returns {String}\n */\n formatXml: function formatXml(xml) {\n var formatted = '';\n var reg = new RegExp(\"(>)(<)(\\/*)\", \"g\");\n xml = xml.replace(reg, '$1\\r\\n$2$3');\n var pad = 0;\n xml.split('\\r\\n').forEach(function (node) {\n var indent = 0;\n if (node.match(new RegExp(\".+<\\/\\w[^>]*>$\"))) {\n indent = 0;\n } else if (node.match(new RegExp(\"^<\\/\\w\"))) {\n if (pad != 0) {\n pad -= 1;\n }\n } else if (node.match(new RegExp(\"^<\\w[^>]*[^\\/]>.*$\"))) {\n indent = 1;\n } else {\n indent = 0;\n }\n\n var padding = '';\n for (var i = 0; i < pad; i++) {\n padding += ' ';\n }\n\n formatted += padding + node + '\\r\\n';\n pad += indent;\n });\n\n return formatted;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/io/json/Reader.js\":\n/*!*******************************!*\\\n !*** ./src/io/json/Reader.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Read a JSON data and import them into the canvas. The JSON must be generated with the\n * {@link draw2d.io.json.Writer}.\n *\n * @example\n *\n * // Load a standard draw2d JSON object into the canvas\n * //\n * let jsonDocument =\n * [\n * {\n * \"type\": \"draw2d.shape.basic.Oval\",\n * \"id\": \"5b4c74 b0-96d1-1aa3-7eca-bbeaed5fffd7\",\n * \"x\": 237,\n * \"y\": 236,\n * \"width\": 93,\n * \"height\": 38\n * },\n * {\n * \"type\": \"draw2d.shape.basic.Rectangle\",\n * \"id\": \"354fa3b9-a834-0221-2009-abc2d6bd852a\",\n * \"x\": 225,\n * \"y\": 97,\n * \"width\": 201,\n * \"height\": 82,\n * \"radius\": 2\n * }\n * ];\n * // unmarshal the JSON document into the canvas\n * // (load)\n * let reader = new draw2d.io.json.Reader();\n * reader.unmarshal(canvas, jsonDocument);\n *\n *\n * @author Andreas Herz\n * @extends draw2d.io.Reader\n */\n_packages2.default.io.json.Reader = _packages2.default.io.Reader.extend(\n/** @lends draw2d.io.json.Reader.prototype */\n{\n NAME: \"draw2d.io.json.Reader\",\n\n init: function init() {\n this._super();\n },\n\n /**\n *\n *\n * Restore the canvas from a given JSON object.\n *\n * @param {draw2d.Canvas} canvas the canvas to restore\n * @param {Object|String} json the json object to load.\n */\n unmarshal: function unmarshal(canvas, json) {\n var _this = this;\n\n var result = new _packages2.default.util.ArrayList();\n\n if (typeof json === \"string\") {\n json = JSON.parse(json);\n }\n\n var node = null;\n json.forEach(function (element) {\n try {\n var o = _this.createFigureFromElement(element) || _this.createFigureFromType(element.type);\n var source = null;\n var target = null;\n for (var i in element) {\n var val = element[i];\n if (i === \"source\") {\n node = canvas.getFigure(val.node);\n if (node === null) {\n throw \"Source figure with id '\" + val.node + \"' not found\";\n }\n source = node.getPort(val.port);\n if (source === null) {\n throw \"Unable to find source port '\" + val.port + \"' at figure '\" + val.node + \"' to unmarschal '\" + element.type + \"'\";\n }\n } else if (i === \"target\") {\n node = canvas.getFigure(val.node);\n if (node === null) {\n throw \"Target figure with id '\" + val.node + \"' not found\";\n }\n target = node.getPort(val.port);\n if (target === null) {\n throw \"Unable to find target port '\" + val.port + \"' at figure '\" + val.node + \"' to unmarschal '\" + element.type + \"'\";\n }\n }\n }\n if (source !== null && target !== null) {\n // don't change the order or the source/target set.\n // TARGET must always be the second one because some applications needs the \"source\"\n // port in the \"connect\" event of the target.\n o.setSource(source);\n o.setTarget(target);\n }\n o.setPersistentAttributes(element);\n canvas.add(o);\n result.add(o);\n } catch (exc) {\n debug.error(element, \"Unable to instantiate figure type '\" + element.type + \"' with id '\" + element.id + \"' during unmarshal by \" + _this.NAME + \". Skipping figure..\");\n debug.error(exc);\n debug.warn(element);\n }\n });\n\n // restore group assignment\n //\n json.forEach(function (element) {\n if (typeof element.composite !== \"undefined\") {\n var figure = canvas.getFigure(element.id);\n if (figure === null) {\n figure = canvas.getLine(element.id);\n }\n var group = canvas.getFigure(element.composite);\n group.assignFigure(figure);\n }\n });\n\n // recalculate all crossings and repaint the connections with\n // possible crossing decoration\n canvas.calculateConnectionIntersection();\n canvas.getLines().each(function (i, line) {\n line.svgPathString = null;\n line.repaint();\n });\n canvas.linesToRepaintAfterDragDrop = canvas.getLines().clone();\n\n canvas.showDecoration();\n\n return result;\n },\n\n /**\n *\n * Factory method to create an instance of the given element type.\n *\n * @param {String} type\n * @returns {draw2d.Figure}\n */\n createFigureFromType: function createFigureFromType(type) {\n return eval(\"new \" + type + \"()\");\n },\n\n /**\n *\n * Factory method to create an instance of the given element.\n *\n * @param {Object} element\n * @returns {draw2d.Figure}\n */\n createFigureFromElement: function createFigureFromElement(element) {\n return null;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/io/json/Writer.js\":\n/*!*******************************!*\\\n !*** ./src/io/json/Writer.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Serialize the canvas document into a JSON object which can be read from the corresponding\n * {@link draw2d.io.json.Reader}.\n *\n * // Create a JSON writer and convert it into a JSON-String representation.\n * //\n * var writer = new draw2d.io.json.Writer();\n * writer.marshal(canvas, function(json){\n * // convert the json object into string representation\n * var jsonTxt = JSON.stringify(json,null,2);\n * \n * // insert the json string into a DIV for preview or post\n * // it via ajax to the server....\n * $(\"#json\").text(jsonTxt);\n * \n * });\n *\n *\n *\n * @author Andreas Herz\n * @extends draw2d.io.Writer\n */\n\n_packages2.default.io.json.Writer = _packages2.default.io.Writer.extend(\n/** @lends draw2d.io.json.Writer */\n{\n\n init: function init() {\n this._super();\n },\n\n /**\n *\n * Export the content to the implemented data format. Inherit class implements\n * content specific writer.\n * <br>\n * <br>\n *\n * Method signature has been changed from version 2.10.1 to version 3.0.0.<br>\n * The parameter <b>resultCallback</b> is required and new. The method calls\n * the callback instead of return the result.\n *\n * @param {draw2d.Canvas} canvas\n * @param {Function} resultCallback the method to call on success. The first argument is the result object, the second the base64 representation of the file content\n * @param {Object} resultCallback.json the canvas document as JSON object\n * @param {String} resultCallback.base64 the canvas document as base encoded JSON\n */\n marshal: function marshal(canvas, resultCallback) {\n // I change the API signature from version 2.10.1 to 3.0.0. Throw an exception\n // if any application not care about this changes.\n if (typeof resultCallback !== \"function\") {\n throw \"Writer.marshal method signature has been change from version 2.10.1 to version 3.0.0. Please consult the API documentation about this issue.\";\n }\n\n var result = [];\n\n canvas.getFigures().each(function (i, figure) {\n result.push(figure.getPersistentAttributes());\n });\n\n canvas.getLines().each(function (i, element) {\n result.push(element.getPersistentAttributes());\n });\n\n var base64Content = _packages2.default.util.Base64.encode(JSON.stringify(result, null, 2));\n\n resultCallback(result, base64Content);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/io/png/Writer.js\":\n/*!******************************!*\\\n !*** ./src/io/png/Writer.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar canvg = __webpack_require__(/*! canvg-browser */ \"./node_modules/canvg-browser/index.js\");\n\n/**\n * @class\n *\n * Converts the canvas document into a PNG Image.\n *\n * @example\n * // example how to create a PNG image and set an\n * // image src attribute.\n * //\n * let writer = new draw2d.io.png.Writer();\n * writer.marshal(canvas, function(png){\n * $(\"#preview\").attr(\"src\",png);\n * });\n *\n * @author Andreas Herz\n * @extends draw2d.io.Writer\n */\n_packages2.default.io.png.Writer = _packages2.default.io.Writer.extend(\n/** @lends draw2d.io.png.Writer */\n{\n\n init: function init() {\n this._super();\n },\n\n /**\n *\n * Export the content to a PNG image. The result can be set as <b>src=\"....\"</b> because\n * the result is encoded as data source url <b>data:image/png;base64....</b>\n * <br>\n * <br>\n *\n * Method signature has been changed from version 2.10.1 to version 3.0.0.<br>\n * The parameter <b>resultCallback</b> is required and new. The method calls\n * the callback instead of return the result.\n *\n * @param {draw2d.Canvas} canvas\n * @param {Function} resultCallback the method to call on success. The first argument is the dataUrl, the second is the base64 formated png image\n * @param {String} resultCallback.img The image as data source url <b>data:image/png;base64....</b>\n * @param {String} resultCallback.base64 the image encoded in base64\n * @param {draw2d.geo.Rectangle} cropBoundingBox optional cropping/clipping bounding box\n */\n marshal: function marshal(canvas, resultCallback, cropBoundingBox) {\n // I change the API signature from version 2.10.1 to 3.0.0. Throw an exception\n // if any application not care about this changes.\n if (typeof resultCallback !== \"function\") {\n throw \"Writer.marshal method signature has been change from version 2.10.1 to version 3.0.0. Please consult the API documentation about this issue.\";\n }\n\n var svg = \"\";\n var canvasState = false;\n\n // the png.Writer can create Snapshots of a single figure too.\n // Didn't work in IE <10\n // @status beta\n // @since 5.5.0\n if (canvas instanceof _packages2.default.Figure) {\n var figure = canvas;\n var origPos = figure.getPosition();\n figure.setPosition(1, 1);\n svg = \"<svg xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" >\" + figure.shape.node.outerHTML + \"</svg>\";\n figure.setPosition(origPos);\n figure.initialWidth = figure.getWidth() + 2;\n figure.initialHeight = figure.getHeight() + 2;\n }\n // create a snapshot of a complete canvas\n //\n else {\n canvasState = {\n zoom: canvas.getZoom(),\n scrollLeft: canvas.getScrollLeft(),\n scrollTop: canvas.getScrollTop()\n };\n canvas.setZoom(1.0);\n canvas.hideDecoration();\n svg = new XMLSerializer().serializeToString(canvas.getHtmlContainer().find(\"svg\")[0]);\n }\n\n var canvasDomNode = $('<canvas id=\"canvas_png_export_for_draw2d\"></canvas>');\n $('body').append(canvasDomNode);\n var fullSizeCanvas = $(\"#canvas_png_export_for_draw2d\")[0];\n fullSizeCanvas.width = canvas.initialWidth;\n fullSizeCanvas.height = canvas.initialHeight;\n\n canvg(\"canvas_png_export_for_draw2d\", svg, {\n ignoreMouse: true,\n ignoreAnimation: true,\n renderCallback: function renderCallback() {\n try {\n if (canvas instanceof _packages2.default.Canvas) {\n if (canvasState) {\n canvas.setZoom(canvasState.zoom);\n canvas.setScrollLeft(canvasState.scrollLeft);\n canvas.setScrollTop(canvasState.scrollTop);\n }\n canvas.showDecoration();\n }\n\n if (typeof cropBoundingBox !== \"undefined\") {\n var sourceX = cropBoundingBox.x;\n var sourceY = cropBoundingBox.y;\n var sourceWidth = cropBoundingBox.w;\n var sourceHeight = cropBoundingBox.h;\n\n var croppedCanvas = document.createElement('canvas');\n croppedCanvas.width = sourceWidth;\n croppedCanvas.height = sourceHeight;\n\n croppedCanvas.getContext(\"2d\").drawImage(fullSizeCanvas, sourceX, sourceY, sourceWidth, sourceHeight, 0, 0, sourceWidth, sourceHeight);\n\n var dataUrl = croppedCanvas.toDataURL(\"image/png\");\n var base64Image = dataUrl.replace(\"data:image/png;base64,\", \"\");\n resultCallback(dataUrl, base64Image);\n } else {\n var img = fullSizeCanvas.toDataURL(\"image/png\");\n resultCallback(img, img.replace(\"data:image/png;base64,\", \"\"));\n }\n } finally {\n canvasDomNode.remove();\n }\n }\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/io/svg/Writer.js\":\n/*!******************************!*\\\n !*** ./src/io/svg/Writer.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Serialize the canvas document into a SVG document.\n *\n * // Create a SVG writer and convert the canvas into a SVG document.\n * //\n * var writer = new draw2d.io.svg.Writer();\n * writer.marshal(canvas, function(svg){\n * // insert the svg string into a DIV for preview or post\n * // it via ajax to the server....\n * $(\"#svg\").text(svg);\n * });\n *\n *\n *\n * @author Andreas Herz\n * @extends draw2d.io.Writer\n */\n_packages2.default.io.svg.Writer = _packages2.default.io.Writer.extend(\n/** @lends draw2d.io.svg.Writer */\n{\n init: function init() {\n this._super();\n },\n\n /**\n *\n * Export the content of the canvas into SVG. The SVG document can be loaded with Inkscape or any other SVG Editor.\n * <br>\n * <br>\n *\n * Method signature has been changed from version 2.10.1 to version 3.0.0.<br>\n * The parameter <b>resultCallback</b> is required and new. The method calls\n * the callback instead of return the result.\n *\n *\n * @param {draw2d.Canvas} canvas the canvas to marshal\n * @param {Function} callback the method to call on success. The first argument is the SVG document\n * @param {String} callback.svg the SVG document\n * @param {String} callback.base64 the SVG document encoded in base64\n */\n marshal: function marshal(canvas, callback) {\n // I change the API signature from version 2.10.1 to 3.0.0. Throw an exception\n // if any application not care about this changes.\n if (typeof callback !== \"function\") {\n throw \"Writer.marshal method signature has been change from version 2.10.1 to version 3.0.0. Please consult the API documentation about this issue.\";\n }\n\n var s = canvas.getPrimarySelection();\n canvas.setCurrentSelection(null);\n var svg = canvas.getHtmlContainer().html().replace(/>\\s+/g, \">\").replace(/\\s+</g, \"<\");\n svg = this.formatXml(svg);\n svg = svg.replace(/<desc>.*<\\/desc>/g, \"<desc>Create with draw2d JS graph library and RaphaelJS</desc>\");\n\n canvas.setCurrentSelection(s);\n\n var base64Content = _packages2.default.util.Base64.encode(svg);\n callback(svg, base64Content);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/anchor/CenterEdgeConnectionAnchor.js\":\n/*!*********************************************************!*\\\n !*** ./src/layout/anchor/CenterEdgeConnectionAnchor.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * The CenterEdgeConnectionAnchor's location is found by calculating the intersection of a\n * line drawn from the center point of its owner's box (the parent of the\n * connection port) to a reference point on that box. A Connection using the\n * ChopBoxAnchor will be oriented such that they point to their port owner's\n * center.\n *\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.anchor.ConnectionAnchor\n */\n\n_packages2.default.layout.anchor.CenterEdgeConnectionAnchor = _packages2.default.layout.anchor.ConnectionAnchor.extend(\n/** @lends draw2d.layout.anchor.CenterEdgeConnectionAnchor.prototype */\n{\n\n NAME: \"draw2d.layout.anchor.CenterEdgeConnectionAnchor\",\n\n /**\n *\n * @param {draw2d.Figure} [owner] the figure to use for the anchor calculation\n */\n init: function init(owner) {\n this._super(owner);\n },\n\n /**\n * \n *\n * Returns the location where the Connection should be anchored in\n * absolute coordinates. The anchor may use the given reference\n * Point to calculate this location.\n *\n * @param {draw2d.geo.Point} ref The reference Point in absolute coordinates\n * @param {draw2d.Connection} [inquiringConnection] the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point} The anchor's location\n */\n getLocation: function getLocation(ref, inquiringConnection) {\n var r = this.getOwner().getParent().getBoundingBox();\n\n var dir = r.getDirection(ref);\n var center = r.getCenter();\n\n switch (dir) {\n case 0:\n center.y = r.y;\n break;\n case 1:\n center.x = r.x + r.w;\n break;\n case 2:\n center.y = r.y + r.h;\n break;\n case 3:\n center.x = r.x;\n }\n\n return center;\n },\n\n /**\n * Returns the bounds of this Anchor's owner. Subclasses can\n * override this method to adjust the box. Maybe you return the box\n * of the port parent (the parent figure)\n *\n * @returns {draw2d.geo.Rectangle} The bounds of this Anchor's owner\n */\n getBox: function getBox() {\n return this.getOwner().getParent().getBoundingBox();\n },\n\n /**\n * \n *\n * Returns the bounds of this Anchor's owner. Subclasses can\n * override this method to adjust the box. Maybe you return the box\n * of the port parent (the parent figure)\n *\n * @param {draw2d.Connection} [inquiringConnection] the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point} The bounds of this Anchor's owner\n */\n getReferencePoint: function getReferencePoint(inquiringConnection) {\n return this.getBox().getCenter();\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/anchor/ChopboxConnectionAnchor.js\":\n/*!******************************************************!*\\\n !*** ./src/layout/anchor/ChopboxConnectionAnchor.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * The ChopboxAnchor's location is found by calculating the intersection of a\n * line drawn from the center point of its owner's box (the parent of the\n * connection port) to a reference point on that box. A Connection using the\n * ChopBoxAnchor will be oriented such that they point to their port owner's\n * center.\n *\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.layout.anchor.ConnectionAnchor\n */\n\n_packages2.default.layout.anchor.ChopboxConnectionAnchor = _packages2.default.layout.anchor.ConnectionAnchor.extend(\n/** @lends draw2d.layout.anchor.ChopboxConnectionAnchor.prototype */\n{\n\n NAME: \"draw2d.layout.anchor.ChopboxConnectionAnchor\",\n\n /**\n *\n * @param {draw2d.Figure} owner the figure to use for the anchor calculation\n */\n init: function init(owner) {\n this._super(owner);\n },\n\n /**\n *\n *\n * Returns the location where the Connection should be anchored in\n * absolute coordinates. The anchor may use the given reference\n * Point to calculate this location.\n *\n * @param {draw2d.geo.Point} reference The reference Point in absolute coordinates\n * @param {draw2d.Connection} [inquiringConnection] the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point} The anchor's location\n */\n getLocation: function getLocation(reference, inquiringConnection) {\n var r = new _packages2.default.geo.Rectangle(0, 0);\n r.setBounds(this.getBox());\n r.translate(-1, -1);\n r.resize(1, 1);\n\n var center = r.getCenter();\n\n if (r.isEmpty() || reference.x === center.x && reference.y === center.y) {\n return center; // This avoids divide-by-zero\n }\n\n var dx = reference.x - center.x;\n var dy = reference.y - center.y;\n\n // r.width, r.height, dx, and dy are guaranteed to be non-zero.\n var scale = 0.5 / Math.max(Math.abs(dx) / r.w, Math.abs(dy) / r.h);\n\n dx *= scale;\n dy *= scale;\n center.translate(dx, dy);\n\n return center;\n },\n\n /**\n * Returns the bounds of this Anchor's owner. Subclasses can\n * override this method to adjust the box. Maybe you return the box\n * of the port parent (the parent figure)\n *\n * @returns {draw2d.geo.Rectangle} The bounds of this Anchor's owner\n */\n getBox: function getBox() {\n return this.getOwner().getParent().getBoundingBox();\n },\n\n /**\n *\n *\n * Returns the reference point for this anchor in absolute coordinates. This might be used\n * by another anchor to determine its own location.\n *\n * @param {draw2d.Connection} [inquiringConnection] the connection who ask for the location.\n * @returns {draw2d.geo.Point} The bounds of this Anchor's owner\n */\n getReferencePoint: function getReferencePoint(inquiringConnection) {\n return this.getBox().getCenter();\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/anchor/ConnectionAnchor.js\":\n/*!***********************************************!*\\\n !*** ./src/layout/anchor/ConnectionAnchor.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * An object to which a {@link draw2d.Connection} will be anchored.\n *\n * @inheritable\n * @author Andreas Herz\n */\n\n_packages2.default.layout.anchor.ConnectionAnchor = Class.extend(\n/** @lends draw2d.layout.anchor.ConnectionAnchor.prototype */\n{\n\n NAME: \"draw2d.layout.anchor.ConnectionAnchor\",\n\n /**\n *\n * @param {draw2d.Figure} owner the figure to use for the anchor calculation\n */\n init: function init(owner) {\n this.owner = owner;\n },\n\n /**\n * \n * Returns the location where the Connection should be anchored in absolute coordinates.\n * The anchor may use the given reference Point to calculate this location.\n *\n * @param {draw2d.geo.Point} reference the opposite reference point\n * @param {draw2d.Connection} inquiringConnection the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point}\n */\n getLocation: function getLocation(reference, inquiringConnection) {\n // return the center of the owner/port.\n return this.getReferencePoint(inquiringConnection);\n },\n\n /**\n * \n * Returns the Figure that contains this ConnectionAnchor.\n *\n * @returns {draw2d.Figure} The Figure that contains this ConnectionAnchor\n */\n getOwner: function getOwner() {\n return this.owner;\n },\n\n /**\n * \n * Set the owner of the Anchor.\n *\n * @param {draw2d.Figure} owner the new owner of the anchor locator\n */\n setOwner: function setOwner(owner) {\n if (typeof owner === \"undefined\") {\n throw \"Missing parameter for 'owner' in ConnectionAnchor.setOwner\";\n }\n this.owner = owner;\n },\n\n /**\n * \n * Returns the bounds of this Anchor's owner. Subclasses can override this method\n * to adjust the box. Maybe you return the box of the port parent (the parent figure)\n *\n * @returns {draw2d.geo.Rectangle} The bounds of this Anchor's owner\n */\n getBox: function getBox() {\n return this.getOwner().getAbsoluteBounds();\n },\n\n /**\n * \n * Returns the reference point for this anchor in absolute coordinates. This might be used\n * by another anchor to determine its own location.\n *\n * @param {draw2d.Connection} [inquiringConnection] the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point} The reference Point\n */\n getReferencePoint: function getReferencePoint(inquiringConnection) {\n return this.getOwner().getAbsolutePosition();\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/anchor/FanConnectionAnchor.js\":\n/*!**************************************************!*\\\n !*** ./src/layout/anchor/FanConnectionAnchor.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * The FanConnectionAnchor's location is found by calculating the intersection of a\n * line drawn from the center point of its owner's box (the parent of the\n * connection port) to a reference point on that box.\n * Additional the anchor resolves conflicts by spread the anchor if more than one\n * connection has the same reference point. <br>\n * In a case of a DirectRouter parallel connections are the result.\n *\n *\n * @inheritable\n * @author Andreas Herz\n * @since 4.6.0\n * @extends draw2d.layout.anchor.ConnectionAnchor\n */\n\n_packages2.default.layout.anchor.FanConnectionAnchor = _packages2.default.layout.anchor.ConnectionAnchor.extend(\n/** @lends draw2d.layout.anchor.FanConnectionAnchor.prototype */\n{\n\n NAME: \"draw2d.layout.anchor.FanConnectionAnchor\",\n\n /**\n *\n * @param {draw2d.Figure} owner the figure to use for the anchor calculation\n * @param {Number} [separation] the separation or fan distance between the concurrent/conflicting anchors\n */\n init: function init(owner, separation) {\n this._super(owner);\n\n if (separation) {\n this.separation = parseInt(separation);\n } else {\n this.separation = 10;\n }\n },\n\n /**\n * \n *\n * Returns the location where the Connection should be anchored in\n * absolute coordinates. The anchor may use the given reference\n * Point to calculate this location.\n *\n * @param {draw2d.geo.Point} reference The reference Point in absolute coordinates\n * @param {draw2d.Connection} inquiringConnection the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point} The anchor's location\n */\n getLocation: function getLocation(reference, inquiringConnection) {\n\n var r = new _packages2.default.geo.Rectangle(0, 0);\n r.setBounds(this.getBox());\n r.translate(-1, -1);\n r.resize(1, 1);\n\n var center = r.getCenter();\n\n if (r.isEmpty() || reference.x === center.x && reference.y === center.y) {\n return center; // This avoids divide-by-zero\n }\n\n // translate the center if required\n //\n var s = inquiringConnection.getSource();\n var t = inquiringConnection.getTarget();\n var lines = this.getOwner().getConnections().clone();\n lines.grep(function (other) {\n return other.getTarget() === t && other.getSource() === s || other.getTarget() === s && other.getSource() === t;\n });\n var index = lines.indexOf(inquiringConnection) + 1;\n var position = center.getPosition(reference);\n var ray = void 0;\n if (position === _packages2.default.geo.PositionConstants.SOUTH || position === _packages2.default.geo.PositionConstants.EAST) {\n ray = new _packages2.default.geo.Point(reference.x - center.x, reference.y - center.y);\n } else {\n ray = new _packages2.default.geo.Point(center.x - reference.x, center.y - reference.y);\n }\n var length = Math.sqrt(ray.x * ray.x + ray.y * ray.y);\n if (index <= 2) {\n length *= 1.5;\n }\n var xSeparation = this.separation * ray.x / length;\n var ySeparation = this.separation * ray.y / length;\n if (index % 2 === 0) {\n center = new _packages2.default.geo.Point(center.x + index / 2 * (-1 * ySeparation), center.y + index / 2 * xSeparation);\n } else {\n center = new _packages2.default.geo.Point(center.x + index / 2 * ySeparation, center.y + index / 2 * (-1 * xSeparation));\n }\n\n var intersections = this.getBox().intersectionWithLine(center, reference);\n // perfect - one intersection mean that the shifted center point is inside the bounding box and has only one intersection with it.\n //\n switch (intersections.getSize()) {\n case 0:\n // calculate the edge of the bounding box which is nearest to the reference point\n //\n var v = this.getBox().getVertices();\n var first = v.first();\n first.distance = reference.distance(first);\n return v.asArray().reduce(function (previous, current) {\n current.distance = reference.distance(current);\n return current.distance < previous.distance ? current : previous;\n });\n case 1:\n return intersections.get(0);\n case 2:\n // get the nearest of these points\n var p0 = intersections.get(0);\n var p1 = intersections.get(1);\n var p0diff = reference.distance(p0);\n var p1diff = reference.distance(p1);\n if (p0diff < p1diff) {\n return p0;\n }\n return p1;\n }\n\n // we have 0 or 2 intersections with the bounding box. This means the shifted\n // calculate the intersection if the new \"center\" with the bounding box of the\n // shape (if any exists)\n },\n\n /**\n * Returns the bounds of this Anchor's owner. Subclasses can\n * override this method to adjust the box. Maybe you return the box\n * of the port parent (the parent figure)\n *\n * @returns {draw2d.geo.Rectangle} The bounds of this Anchor's owner\n */\n getBox: function getBox() {\n return this.getOwner().getParent().getBoundingBox();\n },\n\n /**\n * \n *\n * Returns the reference point for this anchor in absolute coordinates. This might be used\n * by another anchor to determine its own location.\n *\n * @param {draw2d.Connection} inquiringConnection the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point} The bounds of this Anchor's owner\n */\n getReferencePoint: function getReferencePoint(inquiringConnection) {\n return this.getBox().getCenter();\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/anchor/ShortesPathConnectionAnchor.js\":\n/*!**********************************************************!*\\\n !*** ./src/layout/anchor/ShortesPathConnectionAnchor.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * The ChopboxAnchor's location is found by calculating the intersection of a\n * line drawn from the center point of its owner's box (the parent of the\n * connection port) to a reference point on that box. A Connection using the\n * ChopBoxAnchor will be oriented such that they point to their port owner's\n * center.\n *\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.layout.anchor.ConnectionAnchor\n */\n\n_packages2.default.layout.anchor.ShortesPathConnectionAnchor = _packages2.default.layout.anchor.ConnectionAnchor.extend(\n/** @lends draw2d.layout.anchor.ShortesPathConnectionAnchor.prototype */\n{\n\n NAME: \"draw2d.layout.anchor.ShortesPathConnectionAnchor\",\n\n /**\n *\n * @param {draw2d.Figure} [owner] the figure to use for the anchor calculation\n */\n init: function init(owner) {\n this._super(owner);\n },\n\n /**\n * \n *\n * Returns the location where the Connection should be anchored in\n * absolute coordinates. The anchor may use the given reference\n * Point to calculate this location.\n *\n * @param {draw2d.geo.Point} ref The reference Point in absolute coordinates\n * @param {draw2d.Connection} inquiringConnection the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point} The anchor's location\n */\n getLocation: function getLocation(ref, inquiringConnection) {\n var r = this.getOwner().getParent().getBoundingBox();\n var center = r.getCenter();\n\n // check if we can calculate with a circle/line intersection\n //\n if (this.getOwner().getParent() instanceof _packages2.default.shape.basic.Oval) {\n var result = this.getOwner().getParent().intersectionWithLine(ref, center);\n if (result.getSize() === 1) {\n return result.get(0);\n }\n }\n\n /* 0 | 1 | 2\n * __|___|__\n * 7 | 8 | 3\n * __|___|__\n * 6 | 5 | 4\n */\n var octant = r.determineOctant(new _packages2.default.geo.Rectangle(ref.x, ref.y, 2, 2));\n\n switch (octant) {\n case 0:\n return r.getTopLeft();\n case 1:\n return new _packages2.default.geo.Point(ref.x, r.getTop());\n case 2:\n return r.getTopRight();\n case 3:\n return new _packages2.default.geo.Point(r.getRight(), ref.y);\n case 4:\n return r.getBottomRight();\n case 5:\n return new _packages2.default.geo.Point(ref.x, r.getBottom());\n case 6:\n return r.getBottomLeft();\n case 7:\n return new _packages2.default.geo.Point(r.getLeft(), ref.y);\n }\n\n return r.getTopLeft();\n },\n\n /**\n * Returns the bounds of this Anchor's owner. Subclasses can\n * override this method to adjust the box. Maybe you return the box\n * of the port parent (the parent figure)\n *\n * @returns {draw2d.geo.Rectangle} The bounds of this Anchor's owner\n */\n getBox: function getBox() {\n return this.getOwner().getParent().getBoundingBox();\n },\n\n /**\n * \n *\n * Returns the bounds of this Anchor's owner. Subclasses can\n * override this method to adjust the box. Maybe you return the box\n * of the port parent (the parent figure)\n *\n * @param {draw2d.Connection} inquiringConnection the connection who ask for the location.\n *\n * @returns {draw2d.geo.Point} The bounds of this Anchor's owner\n */\n getReferencePoint: function getReferencePoint(inquiringConnection) {\n return this.getBox().getCenter();\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/CircuitConnectionRouter.js\":\n/*!**********************************************************!*\\\n !*** ./src/layout/connection/CircuitConnectionRouter.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Provides a {@link draw2d.Connection} with an orthogonal route between the Connection's source\n * and target anchors.\n * <br>\n * Additional a <b>bridge</b> is added to each connection which didn't have a common source or target\n * port.<br>\n * A <b>dot</b> is added at the crossing if the two connections have a common spurce or target port.\n *\n * <br>\n *\n * @example\n *\n * let createConnection=function(){\n * let con = new draw2d.Connection();\n * con.setRouter(new draw2d.layout.connection.CircuitConnectionRouter());\n * return con;\n * };\n *\n * // install a custom connection create policy\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let f1 = new draw2d.shape.analog.OpAmp({x:10, y:10});\n * let f2 = new draw2d.shape.analog.ResistorVertical({angle:90, height:20, x:300, y:150});\n * let f3 = new draw2d.shape.analog.ResistorVertical({x:250, y:70});\n * let f4 = new draw2d.shape.analog.ResistorVertical({x:10, y:90});\n *\n * // ...add it to the canvas\n * //\n * canvas.add( f1);\n * canvas.add( f2);\n * canvas.add( f3);\n * canvas.add( f4);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(f1.getOutputPort(0));\n * c.setTarget(f2.getHybridPort(0));\n * canvas.add(c);\n *\n * // second Connection between the other resistors\n * //\n * c = createConnection();\n * c.setSource(f3.getHybridPort(1));\n * c.setTarget(f4.getHybridPort(0));\n * canvas.add(c);\n *\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.ManhattanConnectionRouter\n */\n\n_packages2.default.layout.connection.CircuitConnectionRouter = _packages2.default.layout.connection.ManhattanConnectionRouter.extend(\n/** @lends draw2d.layout.connection.CircuitConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.CircuitConnectionRouter\",\n\n /**\n * Creates a new Router object.\n *\n */\n init: function init() {\n this._super();\n this.setBridgeRadius(4);\n this.setVertexRadius(2);\n\n // experimental\n this.abortRoutingOnFirstVertexNode = false;\n },\n\n /**\n * \n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n },\n\n /**\n * \n * Callback method if the router has been removed from the connection. In the case of the CircuitRouter\n * all vertex nodes will be removed from the canvas.\n *\n * @param {draw2d.Connection} connection The related connection\n * @template\n * @since 2.7.2\n */\n onUninstall: function onUninstall(connection) {\n if (typeof connection.vertexNodes !== \"undefined\" && connection.vertexNodes !== null) {\n connection.vertexNodes.remove();\n connection.vertexNodes = null;\n }\n },\n\n /**\n * \n * Set the radius of the vertex circle.\n *\n * @param {Number} radius\n */\n setVertexRadius: function setVertexRadius(radius) {\n this.vertexRadius = radius;\n\n return this;\n },\n /** deprecated\n * @private\n * **/\n setJunctionRadius: function setJunctionRadius(radius) {\n this.vertexRadius = radius;\n },\n\n /**\n * \n * Set the radius or span of the bridge. A bridge will be drawn if two connections are crossing and didn't have any\n * common port.\n *\n * @param {Number} radius\n */\n setBridgeRadius: function setBridgeRadius(radius) {\n this.bridgeRadius = radius;\n this.bridge_LR = [\" r\", 0.5, -0.5, radius - radius / 2, -(radius - radius / 4), radius, -radius, radius + radius / 2, -(radius - radius / 4), radius * 2, \"0 \"].join(\" \");\n this.bridge_RL = [\" r\", -0.5, -0.5, -(radius - radius / 2), -(radius - radius / 4), -radius, -radius, -(radius + radius / 2), -(radius - radius / 4), -radius * 2, \"0 \"].join(\" \");\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n route: function route(conn, routingHints) {\n var _this = this;\n\n var fromPt = conn.getStartPoint();\n var fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n\n var toPt = conn.getEndPoint();\n var toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n\n // calculate the lines between the two points with the standard ManhattanRouter.\n //\n this._route(conn, toPt, toDir, fromPt, fromDir);\n\n // get the intersections to the other connections\n //\n var intersectionsASC = conn.getCanvas().getIntersection(conn).sort(\"x\");\n var intersectionsDESC = intersectionsASC.clone().reverse();\n\n var intersectionForCalc = intersectionsASC;\n\n // add a ArrayList of all added vertex nodes to the connection\n //\n if (typeof conn.vertexNodes !== \"undefined\" && conn.vertexNodes !== null) {\n conn.vertexNodes.remove();\n }\n conn.vertexNodes = conn.canvas.paper.set();\n\n // ATTENTION: we cast all x/y coordinates to integer and add 0.5 to avoid subpixel rendering of\n // the connection. The 1px or 2px lines look much clearer than before.\n //\n var ps = conn.getVertices();\n var p = ps.get(0);\n var path = [\"M\", (p.x | 0) + 0.5, \" \", (p.y | 0) + 0.5];\n\n var oldP = p;\n var bridgeWidth = null;\n var bridgeCode = null;\n\n var lastVertexNode = null;\n\n for (var i = 1; i < ps.getSize(); i++) {\n p = ps.get(i);\n\n // line goes from right->left.\n if (oldP.x > p.x) {\n intersectionForCalc = intersectionsDESC;\n bridgeCode = this.bridge_RL;\n bridgeWidth = -this.bridgeRadius;\n }\n // line goes from left->right\n else {\n intersectionForCalc = intersectionsASC;\n bridgeCode = this.bridge_LR;\n bridgeWidth = this.bridgeRadius;\n }\n\n // add a bridge or a vertex node depending to the intersection connection\n //\n // bridge => the connections didn't have a common port\n // vertex => the connections did have a common source or target port\n //\n intersectionForCalc.each(function (ii, interP) {\n if (_packages2.default.shape.basic.Line.hit(1, oldP.x, oldP.y, p.x, p.y, interP.x, interP.y) === true) {\n\n // It is a vertex node..\n //\n if (conn.sharingPorts(interP.other)) {\n var other = interP.other;\n var otherZ = other.getZOrder();\n var connZ = conn.getZOrder();\n if (connZ < otherZ) {\n var vertexNode = conn.canvas.paper.ellipse(interP.x, interP.y, _this.vertexRadius, _this.vertexRadius).attr({ fill: conn.lineColor.rgba() });\n conn.vertexNodes.push(vertexNode);\n // we found a vertex node. In this case an already existing connection did draw the connection.\n //\n if (_this.abortRoutingOnFirstVertexNode === true) {\n if (conn.getSource() === other.getSource() || conn.getSource() === other.getTarget()) {\n path = [\"M\", (interP.x | 0) + 0.5, \" \", (interP.y | 0) + 0.5];\n if (lastVertexNode !== null) {\n lastVertexNode.remove();\n conn.vertexNodes.exclude(lastVertexNode);\n }\n }\n lastVertexNode = vertexNode;\n }\n }\n }\n // ..or a bridge. We draw only horizontal bridges. Just a design decision\n //\n else if (p.y === interP.y) {\n path.push(\" L\", (interP.x - bridgeWidth | 0) + 0.5, \" \", (interP.y | 0) + 0.5);\n path.push(bridgeCode);\n }\n }\n });\n\n path.push(\" L\", (p.x | 0) + 0.5, \" \", (p.y | 0) + 0.5);\n oldP = p;\n }\n conn.svgPathString = path.join(\"\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/ConnectionRouter.js\":\n/*!***************************************************!*\\\n !*** ./src/layout/connection/ConnectionRouter.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Routes a {@link draw2d.Connection}, possibly using a constraint.\n *\n * @author Andreas Herz\n */\n\n_packages2.default.layout.connection.ConnectionRouter = Class.extend(\n/** @lends draw2d.layout.connection.ConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.ConnectionRouter\",\n\n /**\n * Creates a new Router object\n */\n init: function init() {},\n\n /**\n *\n * Routes the Connection.\n *\n * @param {draw2d.Connection} connection The Connection to route\n * @param {Object} [routingHints] some helper attributes for the router\n * @param {Boolean} [routingHints.startMoved] is true if just the start location has moved\n * @param {Boolean} [routingHints.endMoved] is true if the destination location has changed\n * @param {draw2d.util.ArrayList} [routingHints.oldVertices] the vertices before the reroute has been triggered\n *\n * @template\n */\n route: function route(connection, routingHints) {\n throw \"subclasses must implement the method [ConnectionRouter.route]\";\n },\n\n _paint: function _paint(conn) {\n // calculate the path string for the SVG rendering\n // Important: to avoid subpixel error rendering we add 0.5 to each coordinate\n // With this offset the canvas can paint the line on a \"full pixel\" instead\n // of subpixel rendering.\n // let adjust = val => (val| 0) +0.5\n var adjust = function adjust(val) {\n return val;\n };\n\n var ps = conn.getVertices();\n var p = ps.get(0);\n var radius = conn.getRadius();\n var path = [\"M\", adjust(p.x), \" \", adjust(p.y)];\n var i = 1;\n var length = void 0,\n inset = void 0,\n p2 = void 0;\n if (radius > 0) {\n var lastP = p;\n length = ps.getSize() - 1;\n for (; i < length; i++) {\n p = ps.get(i);\n inset = _packages2.default.geo.Util.insetPoint(p, lastP, radius);\n path.push(\"L\", adjust(inset.x), \",\", adjust(inset.y));\n\n p2 = ps.get(i + 1);\n inset = _packages2.default.geo.Util.insetPoint(p, p2, radius);\n\n path.push(\"Q\", p.x, \",\", p.y, \" \", adjust(inset.x), \", \", adjust(inset.y));\n lastP = p;\n }\n p = ps.get(i);\n path.push(\"L\", adjust(p.x), \",\", adjust(p.y));\n } else {\n length = ps.getSize();\n for (; i < length; i++) {\n p = ps.get(i);\n path.push(\"L\", adjust(p.x), \",\", adjust(p.y));\n }\n }\n conn.svgPathString = path.join(\"\");\n },\n\n /**\n *\n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.shape.basic.PolyLine} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {},\n\n /**\n *\n * Callback method if the router has been removed from the connection.\n *\n * @param {draw2d.shape.basic.PolyLine} connection The related connection\n * @template\n * @since 2.7.2\n */\n onUninstall: function onUninstall(connection) {},\n\n /**\n *\n * Callback method for the PolyLine or Connection to check if it possible to remove a vertex from\n * the list. The router can send an veto for this.\n * Per default it is not possible to remove any vertex from the PolyLine exceptional if any interactive\n * router is installed.\n *\n * @param {Number} index\n * @since 4.2.3\n */\n canRemoveVertexAt: function canRemoveVertexAt(index) {\n return false;\n },\n\n /**\n * Callback method for the PolyLine or Connection to verify that a segment is deletable.\n *\n * @param {Number} index\n * @returns {Boolean}\n * @since 4.2.3\n */\n canRemoveSegmentAt: function canRemoveSegmentAt(index) {\n return false;\n },\n\n /**\n *\n * Tweak or enrich the polyline persistence data with routing information\n *\n * @since 2.10.0\n * @param {draw2d.shape.basic.PolyLine} line\n * @param {Object} memento The memento data of the polyline\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes(line, memento) {\n return memento;\n },\n\n /**\n *\n * set the attributes for the polyline with routing information\n *\n * @since 2.10.0\n * @param {draw2d.shape.basic.Line} line\n * @param {Object} memento the JSON data to read\n */\n setPersistentAttributes: function setPersistentAttributes(line, memento) {},\n\n /**\n *\n *\n * The draw2d.Connection delegates the drag operation to the router. The router can\n * handle the different constraints of the connection.\n *\n * @param {draw2d.shape.basic.Line} line\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n */\n onDrag: function onDrag(line, dx, dy, dx2, dy2) {},\n\n /**\n *\n * Called by the connection if the vertices set outside.\n * This enforce the router to avoid full autoroute. E.g. InteractiveManhattanRouter\n *\n * @protected\n * @param {draw2d.shape.basic.Line} line\n */\n verticesSet: function verticesSet(line) {}\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/DirectRouter.js\":\n/*!***********************************************!*\\\n !*** ./src/layout/connection/DirectRouter.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Router for direct connections between two ports. Beeline\n * <br>\n * <br>\n *\n * @example\n *\n * let createConnection=function(){\n * let con = new draw2d.Connection();\n * con.setRouter(new draw2d.layout.connection.DirectRouter());\n * return con;\n * };\n *\n * // install a custom connection create policy\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let start = new draw2d.shape.node.Start();\n * let end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.ConnectionRouter\n */\n\n_packages2.default.layout.connection.DirectRouter = _packages2.default.layout.connection.ConnectionRouter.extend(\n/** @lends draw2d.layout.connection.DirectRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.DirectRouter\",\n\n /**\n * Creates a new Router object\n */\n init: function init() {\n this._super();\n },\n\n /**\n * \n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n },\n\n /**\n * \n * Invalidates the given Connection\n */\n invalidate: function invalidate() {},\n\n /**\n * @inheritdoc\n */\n route: function route(connection, routingHints) {\n var start = connection.getStartPosition();\n var end = connection.getEndPosition();\n\n // required for hit tests\n //\n connection.addPoint(start);\n connection.addPoint(end);\n\n // calculate the path\n var path = [\"M\", start.x, \" \", start.y];\n path.push(\"L\", end.x, \" \", end.y);\n\n connection.svgPathString = path.join(\"\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/FanConnectionRouter.js\":\n/*!******************************************************!*\\\n !*** ./src/layout/connection/FanConnectionRouter.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Automatic router that spreads its {@link draw2d.Connection Connections} in a fan-like fashion upon collision.\n *\n *\n * @example\n *\n * let createConnection=function(){\n * // return my special kind of connection\n * let con = new draw2d.Connection({\n * radius: 14,\n * router: new draw2d.layout.connection.FanConnectionRouter()\n * });\n * return con;\n * };\n *\n * // install a custom connection create policy\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let start = new draw2d.shape.node.Start();\n * let end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n * // second Connection\n * //\n * c = createConnection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n * // third Connection\n * //\n * c = createConnection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.DirectRouter\n */\n\n_packages2.default.layout.connection.FanConnectionRouter = _packages2.default.layout.connection.DirectRouter.extend(\n/** @lends draw2d.layout.connection.FanConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.FanConnectionRouter\",\n\n /**\n * Creates a new Router object.\n *\n */\n init: function init() {\n this._super();\n },\n\n /**\n * \n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n },\n\n /**\n * \n * Layout the hands over connection in a manhattan like layout\n *\n * @param {draw2d.Connection} conn\n * @param {draw2d.util.ArrayList} oldVertices old/existing vertices of the Connection\n * @param {Object} routingHints some helper attributes for the router\n * @param {Boolean} routingHints.startMoved is true if just the start location has moved\n * @param {Boolean} routingHints.destMoved is true if the destination location has changed\n */\n route: function route(conn, routingHints) {\n var lines = conn.getSource().getConnections().clone();\n lines.grep(function (other) {\n return other.getTarget() === conn.getTarget() || other.getSource() === conn.getTarget();\n });\n\n if (lines.getSize() > 1) {\n this.routeCollision(conn, lines.indexOf(conn));\n } else {\n this._super(conn, routingHints);\n }\n },\n\n /**\n * \n * route the connection if connections overlap. Two connections overlap if the combination\n * of source and target anchors are equal.\n *\n * @param {draw2d.Connection} conn\n * @param {Number} index\n */\n routeCollision: function routeCollision(conn, index) {\n index = index + 1;\n var start = conn.getStartPoint();\n var end = conn.getEndPoint();\n\n var separation = 15;\n\n var midPoint = new _packages2.default.geo.Point((end.x + start.x) / 2, (end.y + start.y) / 2);\n var position = end.getPosition(start);\n var ray = void 0;\n if (position === _packages2.default.geo.PositionConstants.SOUTH || position === _packages2.default.geo.PositionConstants.EAST) {\n ray = new _packages2.default.geo.Point(end.x - start.x, end.y - start.y);\n } else {\n ray = new _packages2.default.geo.Point(start.x - end.x, start.y - end.y);\n }\n\n var length = Math.sqrt(ray.x * ray.x + ray.y * ray.y);\n\n var xSeparation = separation * ray.x / length;\n var ySeparation = separation * ray.y / length;\n\n var bendPoint = void 0;\n\n if (index % 2 === 0) {\n bendPoint = new _packages2.default.geo.Point(midPoint.x + index / 2 * (-1 * ySeparation), midPoint.y + index / 2 * xSeparation);\n } else {\n bendPoint = new _packages2.default.geo.Point(midPoint.x + index / 2 * ySeparation, midPoint.y + index / 2 * (-1 * xSeparation));\n }\n\n // required for hit tests\n conn.addPoint(start);\n conn.addPoint(bendPoint);\n conn.addPoint(end);\n\n // calculate the path string for the SVG rendering\n //\n this._paint(conn);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/InteractiveManhattanConnectionRouter.js\":\n/*!***********************************************************************!*\\\n !*** ./src/layout/connection/InteractiveManhattanConnectionRouter.js ***!\n \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Route the connection in an Manhattan style and add resize handles to all vertex for interactive alignment of the\n * routing.\n *\n *\n * @example\n *\n * let createConnection=function(){\n * // return my special kind of connection\n * let con = new draw2d.Connection({\n * radius: 4,\n * router: new draw2d.layout.connection.InteractiveManhattanConnectionRouter()\n * });\n * return con;\n * };\n *\n * // install a custom connection create policy\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let start = new draw2d.shape.node.Start();\n * let end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n * // select the connection to show the selection handles\n * //\n * c.select();\n *\n *\n * @author Andreas Herz\n * @since 4.0.2\n * @extends draw2d.layout.connection.ManhattanConnectionRouter\n */\n\n_packages2.default.layout.connection.InteractiveManhattanConnectionRouter = _packages2.default.layout.connection.ManhattanConnectionRouter.extend(\n/** @lends draw2d.layout.connection.InteractiveManhattanConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.InteractiveManhattanConnectionRouter\",\n\n /**\n * Creates a new Router object.\n *\n */\n init: function init() {\n this._super();\n },\n\n onInstall: function onInstall(conn) {\n conn.installEditPolicy(new _packages2.default.policy.line.OrthogonalSelectionFeedbackPolicy());\n if (!conn._routingMetaData) {\n conn._routingMetaData = {\n routedByUserInteraction: false,\n fromDir: -1,\n toDir: -1\n };\n }\n },\n\n onUninstall: function onUninstall(conn) {\n delete conn._routingMetaData;\n },\n\n /**\n * @inheritDoc\n */\n route: function route(conn, routingHints) {\n if (!routingHints.oldVertices) {\n debugger;\n }\n if (routingHints.oldVertices.getSize() === 0 || conn._routingMetaData.routedByUserInteraction === false) {\n this._super(conn, routingHints);\n conn._routingMetaData.fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n conn._routingMetaData.toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n } else {\n this.halfRoute(conn, routingHints);\n this._paint(conn);\n }\n },\n\n /**\n * \n * The routing algorithm if the user has changed at least on of the vertices manually.\n * This kind of routing just align the start and end vertices to the new source/target port\n * location.\n * The vertices between keep untouched. Modification of this vertices are done by the\n * draw2d.policy.line.OrthogonalSelectionFeedbackPolicy\n *\n * @param {draw2d.Connection} conn the connection to route\n * @param {Object} routingHints some helper attributes for the router\n * @param {Boolean} routingHints.startMoved is true if just the start location has moved\n * @param {Boolean} routingHints.endMoved is true if the destination location has changed\n */\n halfRoute: function halfRoute(conn, routingHints) {\n var MINDIST = this.MINDIST;\n var max = Math.max;\n var min = Math.min;\n\n routingHints = routingHints || { oldVertices: new _packages2.default.util.ArrayList() };\n var oldVertices = routingHints.oldVertices;\n var vertexCount = oldVertices.getSize();\n\n var fromPt = conn.getStartPosition();\n var fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n\n var toPt = conn.getEndPosition();\n var toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n\n // the port orientation has been changed. This can happen if the node rotates. In this case\n // we must recalculate the routing.\n if (conn._routingMetaData.fromDir !== fromDir || conn._routingMetaData.toDir !== toDir) {\n conn._routingMetaData.routedByUserInteraction = false;\n this.route(conn, routingHints);\n }\n\n // TODO: detection for switch back to autoroute isn't good enough.\n // Add more logic. e.g. if the fromDir!==1. This happens if\n // The ports are at bottom and top.\n // The code below covers only the classic workflow configuration left->right\n //\n // go back to the default if no routing is possible anymore\n //\n if (fromDir === _packages2.default.geo.Rectangle.DIRECTION_RIGHT && toDir === _packages2.default.geo.Rectangle.DIRECTION_LEFT && fromPt.x > toPt.x && vertexCount <= 4) {\n\n conn._routingMetaData.routedByUserInteraction = false;\n this.route(conn, routingHints);\n }\n // it makes no sense to have just 2 vertices and manual routing for Manhattan-style routing\n else if (conn.getVertices().getSize() === 2 && conn._routingMetaData.routedByUserInteraction === true) {\n conn._routingMetaData.routedByUserInteraction = false;\n this.route(conn, routingHints);\n }\n\n // transfer the old vertices into the connection\n //\n oldVertices.each(function (i, vertex) {\n conn.addPoint(vertex);\n });\n\n // all points are adjusted with the drag&drop operation. There is no need to move\n // start/end points twice\n if (conn.isInDragDrop) {\n return;\n }\n\n // The SOURCE port (labeled with p0) has been moved/changed.\n //\n if (routingHints.startMoved || !fromPt.equals(oldVertices.get(0))) {\n var p1 = oldVertices.get(1);\n var p2 = oldVertices.get(2); // optional. Happens if the connection has just 2 points\n conn.setVertex(0, fromPt);\n switch (fromDir) {\n // .\n // p0 . p1\n // x------+\n // .\n // .\n //\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n conn.setVertex(1, max(fromPt.x + MINDIST, p1.x), fromPt.y); // p1\n if (p2) conn.setVertex(2, max(fromPt.x + MINDIST, p1.x), p2.y); // p2\n break;\n // .\n // . p1 p0\n // +------x\n // .\n // .\n //\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n conn.setVertex(1, min(fromPt.x - MINDIST, p1.x), fromPt.y); // p1\n if (p2) conn.setVertex(2, min(fromPt.x - MINDIST, p1.x), p2.y); // p2\n break;\n // ...+....\n // p1 |\n // |\n // |\n // p0 x\n //\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n conn.setVertex(1, fromPt.x, min(fromPt.y - MINDIST, p1.y)); // p1\n if (p2) conn.setVertex(2, p2.x, min(fromPt.y - MINDIST, p1.y)); // p2\n break;\n // x\n // p0 |\n // |\n // p1 |\n // ....+....\n //\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n conn.setVertex(1, fromPt.x, max(fromPt.y + MINDIST, p1.y)); // p1\n if (p2) conn.setVertex(2, p2.x, max(fromPt.y + MINDIST, p1.y)); // p2\n break;\n }\n }\n //////////////////////////////////////////////////////////////////\n // the TARGET port (labeled with p0) has moved\n //\n if (routingHints.endMoved || !toPt.equals(oldVertices.get(vertexCount - 1))) {\n var _p = oldVertices.get(vertexCount - 2);\n var _p2 = oldVertices.get(vertexCount - 3); // optional\n conn.setVertex(vertexCount - 1, toPt); // p0\n\n switch (toDir) {\n // .\n // p0 . p1\n // x----------+\n // .\n // .\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n conn.setVertex(vertexCount - 2, max(toPt.x + MINDIST, _p.x), toPt.y); // p1\n if (_p2) conn.setVertex(vertexCount - 3, max(toPt.x + MINDIST, _p.x), _p2.y); // p2\n break;\n\n // .\n // .\n // . p1 p0\n // +----------x\n // .\n // .\n //\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n conn.setVertex(vertexCount - 2, min(toPt.x - MINDIST, _p.x), toPt.y); // p1\n if (_p2) conn.setVertex(vertexCount - 3, min(toPt.x - MINDIST, _p.x), _p2.y); // p2\n break;\n\n // ...+....\n // p1 |\n // |\n // |\n // p0 x\n //\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n conn.setVertex(vertexCount - 2, toPt.x, min(toPt.y - MINDIST, _p.y)); // p1\n if (_p2) conn.setVertex(vertexCount - 3, _p2.x, min(toPt.y - MINDIST, _p.y)); // p2\n break;\n\n // +\n // p0 |\n // |\n // p1 |\n // ...+...\n //\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n conn.setVertex(vertexCount - 2, toPt.x, max(toPt.y + MINDIST, _p.y)); // p1\n if (_p2) conn.setVertex(vertexCount - 3, _p2.x, max(toPt.y + MINDIST, _p.y)); // p2\n break;\n }\n }\n },\n\n /**\n * Callback method for the PolyLine or Connection to verify that a segment is deletable.\n * @param {draw2d.Connection} conn\n * @param {Number} index\n *\n * @returns {Boolean}\n * @since 4.2.3\n */\n canRemoveSegmentAt: function canRemoveSegmentAt(conn, index) {\n\n var segmentCount = conn.getVertices().getSize() - 1; // segmentCount is one less than vertex count\n\n // The first and last segment isn't deletable\n //\n if (index <= 0 || index + 1 >= segmentCount) {\n return false;\n }\n\n // a connection need at least three strokes\n //\n if (segmentCount < 4) {\n return false;\n }\n\n var fromPt = conn.getStartPosition();\n var fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n\n var toPt = conn.getEndPosition();\n var toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n\n if (segmentCount <= 5) {\n // ___\n // | | From\n // | 1 |-----+\n // |___| |\n // |\n // +----------+\n // |\n // | ___\n // | | |\n // +---| 2 | To\n // |___|\n // the connection needs at least 5 segments if the routing is like this\n //\n if (fromDir === _packages2.default.geo.Rectangle.DIRECTION_RIGHT && toDir === _packages2.default.geo.Rectangle.DIRECTION_LEFT && fromPt.x >= toPt.x) {\n return false;\n }\n\n // ___\n // | | To\n // | 2 |-----+\n // |___| |\n // |\n // +----------+\n // |\n // | ___\n // | | |\n // +---| 1 | From\n // |___|\n // the connection needs at least 5 segments if the routing is like this\n //\n if (fromDir == _packages2.default.geo.Rectangle.DIRECTION_LEFT & toDir == _packages2.default.geo.Rectangle.DIRECTION_RIGHT && fromPt.x <= toPt.x) {\n return false;\n }\n\n // ___\n // +_______ | |\n // | from | | 2 |\n // _+_ | |___|\n // | | | To +\n // | 1 | |____________|\n // |___|\n // the connection needs at least 5 segments if the routing is like this\n //\n if (fromDir == _packages2.default.geo.Rectangle.DIRECTION_UP & toDir == _packages2.default.geo.Rectangle.DIRECTION_DOWN && fromPt.y <= toPt.y) {\n return false;\n }\n\n // ___\n // +_______ | |\n // | to | | 1 |\n // _+_ | |___|\n // | | | from +\n // | 2 | |____________|\n // |___|\n // the connection needs at least 5 segments if the routing is like this\n //\n if (fromDir == _packages2.default.geo.Rectangle.DIRECTION_DOWN & toDir == _packages2.default.geo.Rectangle.DIRECTION_UP && fromPt.y >= toPt.y) {\n return false;\n }\n\n // unable to make the decision on the easy way. calculate the route again with an\n // temporary connection and check if the segment count of the new routed connection\n // allows a removal\n //\n var tmpConn = new _packages2.default.Connection();\n tmpConn.lineSegments = new _packages2.default.util.ArrayList();\n tmpConn.vertices = new _packages2.default.util.ArrayList();\n tmpConn.sourcePort = conn.sourcePort;\n tmpConn.targetPort = conn.targetPort;\n tmpConn._routingMetaData = { routedByUserInteraction: false, fromDir: -1, toDir: -1 };\n this.route(tmpConn, { oldVertices: new _packages2.default.util.ArrayList() });\n var curSegmentCount = conn.getVertices().getSize() - 1;\n var minSegmentCount = tmpConn.getVertices().getSize() - 1;\n if (curSegmentCount <= minSegmentCount) {\n return false;\n }\n }\n\n return true;\n },\n\n /**\n * \n *\n * The draw2d.Connection delegates the drag operation to the router. The router can\n * handle the different constraints of the connection and just drag&drop a single segment\n * instead of the complete connection.\n *\n * @param {draw2d.shape.basic.Line} line the related line to handle\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n *\n * @since 6.1.0\n */\n onDrag: function onDrag(line, dx, dy, dx2, dy2) {\n var i = 0;\n // Connection is dragged by source and origin port movement\n // or MultiSelection in this case we drag the complete\n // connection\n if (line.draggedSegment === null) {\n var count = line.getVertices().getSize() - 1;\n for (i = 1; i < count; i++) {\n line.getVertex(i).translate(dx2, dy2);\n }\n return;\n }\n\n // don't drag start/end segments. This segments are bounded to the related\n // ports.\n if (line.draggedSegment.index === 0 || line.draggedSegment.index === line.getSegments().getSize() - 1) {\n return;\n }\n\n line._routingMetaData.routedByUserInteraction = true;\n\n var p0 = line.draggedSegment.start;\n var p1 = line.draggedSegment.end;\n i = line.draggedSegment.index;\n var lp0 = line.getVertices().first();\n var lp1 = line.getVertices().last();\n\n // horizontal segment movement\n // x Py\n // .\n // P0 .\n // +---------------------------+ P1\n // .\n // .\n // x Px\n //\n var distance = 0;\n if (p0.y === p1.y) {\n // ensure that the segment is the min distance away from the source/target port\n // (Px is endpoints of the connection and bounded to a port)\n if (i === 1) distance = p0.y - lp0.y;\n // (Py is endpoints of the connection and bounded to a port)\n if (i === line.getSegments().getSize() - 2) distance = p1.y - lp1.y;\n\n if (distance < 0 && dy2 > 0) {\n dy2 = Math.min(dy2, -distance - this.MINDIST);\n } else if (distance > 0 && dy2 < 0) {\n dy2 = -Math.min(-dy2, distance - this.MINDIST);\n }\n\n line.getVertex(i).translate(0, dy2);\n line.getVertex(i + 1).translate(0, dy2);\n }\n // vertical segment movement\n //\n else if (p0.x === p1.x) {\n // ensure that the segment is the min distance away from the source/target port\n //\n if (i === 1) {\n distance = p0.x - lp0.x;\n if (distance < 0 && dx2 > 0) {\n dx2 = Math.min(dx2, -distance - this.MINDIST);\n } else if (distance > 0 && dx2 < 0) {\n dx2 = -Math.min(-dx2, distance - this.MINDIST);\n }\n }\n\n // we need this additional test too. No \"else if\" because the special\n // case of \"index===1\". In this case the segment can be the last AND first\n // segment if the connection has only three segments at all.\n //\n if (i === line.getSegments().getSize() - 2) {\n distance = p1.x - lp1.x;\n if (distance < 0 && dx2 > 0) {\n dx2 = Math.min(dx2, -distance - this.MINDIST);\n } else if (distance > 0 && dx2 < 0) {\n dx2 = -Math.min(-dx2, distance - this.MINDIST);\n }\n }\n\n line.getVertex(i).translate(dx2, 0);\n line.getVertex(i + 1).translate(dx2, 0);\n }\n },\n\n /**\n * \n * Called by the connection if the vertices set outside.\n * This enforce the router to avoid full autoroute. E.g. InteractiveManhattanRouter\n *\n * @protected\n */\n verticesSet: function verticesSet(conn) {\n conn._routingMetaData.routedByUserInteraction = true;\n if (conn.getSource() !== null && conn.getTarget() !== null) {\n conn._routingMetaData.fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n conn._routingMetaData.toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n }\n },\n\n /**\n * \n * Tweak or enrich the polyline persistence data with routing information\n *\n * @since 2.10.0\n * @param {draw2d.shape.basic.PolyLine} line\n * @param {Object} memento The memento data of the polyline\n *\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes(line, memento) {\n memento.vertex = [];\n\n line.getVertices().each(function (i, e) {\n memento.vertex.push({ x: e.x, y: e.y });\n });\n memento.routingMetaData = (0, _extend2.default)({}, line._routingMetaData);\n\n return memento;\n },\n\n /**\n * \n * set the attributes for the polyline with routing information of the interactive manhattan router.\n *\n * @since 4..0.0\n * @param {Object} memento\n */\n setPersistentAttributes: function setPersistentAttributes(line, memento) {\n // restore the points from the JSON data and add them to the polyline\n //\n if (Array.isArray(memento.vertex)) {\n\n line.oldPoint = null;\n line.lineSegments = new _packages2.default.util.ArrayList();\n\n line.setVertices(memento.vertex);\n\n /*\n line.vertices = new draw2d.util.ArrayList();\n $.each(memento.vertex, function(i,e){\n line.addPoint(e.x, e.y);\n });\n */\n }\n\n if (typeof memento.routingMetaData !== \"undefined\") {\n line._routingMetaData = (0, _extend2.default)({}, memento.routingMetaData);\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/ManhattanBridgedConnectionRouter.js\":\n/*!*******************************************************************!*\\\n !*** ./src/layout/connection/ManhattanBridgedConnectionRouter.js ***!\n \\*******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Provides a {@link draw2d.Connection} with an orthogonal route between the Connection's source\n * and target anchors.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.ManhattanConnectionRouter\n */\n\n_packages2.default.layout.connection.ManhattanBridgedConnectionRouter = _packages2.default.layout.connection.ManhattanConnectionRouter.extend(\n/** @lends draw2d.layout.connection.ManhattanBridgedConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.ManhattanBridgedConnectionRouter\",\n\n BRIDGE_HORIZONTAL_LR: \" r 0 0 3 -4 7 -4 10 0 13 0 \", // Left to right\n BRIDGE_HORIZONTAL_RL: \" r 0 0 -3 -4 -7 -4 -10 0 -13 0 \", // right to left\n\n /**\n * Creates a new Router object.\n *\n */\n init: function init() {\n this._super();\n },\n\n /**\n * \n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n },\n\n /**\n * @inheritdoc\n */\n route: function route(conn, routingHints) {\n var _this = this;\n\n var fromPt = conn.getStartPoint();\n var fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n\n var toPt = conn.getEndPoint();\n var toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n\n // calculate the lines between the two points.\n //\n this._route(conn, toPt, toDir, fromPt, fromDir);\n\n // calculate the path string for the SVG rendering\n //\n var intersectionsASC = conn.getCanvas().getIntersection(conn).sort(\"x\");\n var intersectionsDESC = intersectionsASC.clone().reverse();\n\n var intersectionForCalc = intersectionsASC;\n\n // ATTENTION: we cast all x/y coordinates to int and add 0.5 to avoid subpixel rendering of\n // the connection. The 1px or 2px lines look much clearer than before.\n //\n var ps = conn.getVertices();\n var p = ps.get(0);\n var path = [\"M\", (p.x | 0) + 0.5, \" \", (p.y | 0) + 0.5];\n var oldP = p;\n\n var _loop = function _loop(i) {\n p = ps.get(i);\n\n // check for intersection and paint a bridge if required\n // line goes from left to right\n //\n var bridgeWidth = 5;\n var bridgeCode = _this.BRIDGE_HORIZONTAL_LR;\n\n // line goes from right->left. Inverse the bridge and the bridgeWidth\n //\n if (oldP.x > p.x) {\n intersectionForCalc = intersectionsDESC;\n bridgeCode = _this.BRIDGE_HORIZONTAL_RL;\n bridgeWidth = -bridgeWidth;\n }\n\n intersectionForCalc.each(function (ii, interP) {\n if (interP.justTouching === false && _packages2.default.shape.basic.Line.hit(1, oldP.x, oldP.y, p.x, p.y, interP.x, interP.y) === true) {\n // we draw only horizontal bridges. Just a design decision\n //\n if (p.y === interP.y) {\n path.push(\" L\", (interP.x - bridgeWidth | 0) + 0.5, \" \", (interP.y | 0) + 0.5);\n path.push(bridgeCode);\n }\n }\n });\n\n path.push(\" L\", (p.x | 0) + 0.5, \" \", (p.y | 0) + 0.5);\n oldP = p;\n };\n\n for (var i = 1; i < ps.getSize(); i++) {\n _loop(i);\n }\n conn.svgPathString = path.join(\"\");\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/ManhattanConnectionRouter.js\":\n/*!************************************************************!*\\\n !*** ./src/layout/connection/ManhattanConnectionRouter.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Provides a {@link draw2d.Connection} with an orthogonal route between the Connection's source\n * and target anchors.\n *\n *\n * @example\n *\n * // Override the default connection type. This is used during drag&drop operations of ports.\n * //\n * let createConnection=function(sourcePort, targetPort){\n * // return my special kind of connection\n * let con = new draw2d.Connection();\n * con.setRouter(new draw2d.layout.connection.ManhattanConnectionRouter());\n * return con;\n * };\n *\n * // Install a special policy into the canvas to use my own implementation of connection\n * // if we drag&drop a port\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let start = new draw2d.shape.node.Start();\n * let end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.ConnectionRouter\n */\n\n_packages2.default.layout.connection.ManhattanConnectionRouter = _packages2.default.layout.connection.ConnectionRouter.extend(\n/** @lends draw2d.layout.connection.ManhattanConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.ManhattanConnectionRouter\",\n\n MINDIST: 20,\n TOL: 0.1,\n TOLxTOL: 0.01,\n TOGGLE_DIST: 20,\n\n /**\n * Creates a new Router object.\n *\n */\n init: function init() {\n this._super();\n },\n\n /**\n *\n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n },\n\n /**\n * @inheritdoc\n */\n route: function route(conn, routingHints) {\n var fromPt = conn.getStartPosition();\n var fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n\n var toPt = conn.getEndPosition();\n var toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n\n // calculate the lines between the two points.\n //\n this._route(conn, toPt, toDir, fromPt, fromDir);\n this._paint(conn);\n },\n\n /**\n *\n * Internal routing algorithm.\n *\n * @private\n * @param {draw2d.Connection} conn\n * @param {draw2d.geo.Point} fromPt\n * @param {Number} fromDir\n * @param {draw2d.geo.Point} toPt\n * @param {Number} toDir\n */\n _route: function _route(conn, fromPt, fromDir, toPt, toDir) {\n // fromPt is an x,y to start from.\n // fromDir is an angle that the first link must\n //\n var UP = _packages2.default.geo.Rectangle.DIRECTION_UP;\n var RIGHT = _packages2.default.geo.Rectangle.DIRECTION_RIGHT;\n var DOWN = _packages2.default.geo.Rectangle.DIRECTION_DOWN;\n var LEFT = _packages2.default.geo.Rectangle.DIRECTION_LEFT;\n\n var xDiff = fromPt.x - toPt.x;\n var yDiff = fromPt.y - toPt.y;\n var point = void 0;\n var dir = void 0;\n var pos = void 0;\n\n if (xDiff * xDiff < this.TOLxTOL && yDiff * yDiff < this.TOLxTOL) {\n conn.addPoint(new _packages2.default.geo.Point(toPt.x, toPt.y));\n return;\n }\n\n if (fromDir === LEFT) {\n if (xDiff > 0 && yDiff * yDiff < this.TOL && toDir === RIGHT) {\n point = toPt;\n dir = toDir;\n } else {\n if (xDiff < 0) {\n point = new _packages2.default.geo.Point(fromPt.x - this.MINDIST, fromPt.y);\n } else if (yDiff > 0 && toDir === DOWN || yDiff < 0 && toDir === UP) {\n point = new _packages2.default.geo.Point(toPt.x, fromPt.y);\n } else if (fromDir === toDir) {\n pos = Math.min(fromPt.x, toPt.x) - this.MINDIST;\n point = new _packages2.default.geo.Point(pos, fromPt.y);\n } else {\n point = new _packages2.default.geo.Point(fromPt.x - xDiff / 2, fromPt.y);\n }\n\n if (yDiff > 0) {\n dir = UP;\n } else {\n dir = DOWN;\n }\n }\n } else if (fromDir === RIGHT) {\n if (xDiff < 0 && yDiff * yDiff < this.TOL && toDir === LEFT) {\n point = toPt;\n dir = toDir;\n } else {\n if (xDiff > 0) {\n point = new _packages2.default.geo.Point(fromPt.x + this.MINDIST, fromPt.y);\n } else if (yDiff > 0 && toDir === DOWN || yDiff < 0 && toDir === UP) {\n point = new _packages2.default.geo.Point(toPt.x, fromPt.y);\n } else if (fromDir === toDir) {\n pos = Math.max(fromPt.x, toPt.x) + this.MINDIST;\n point = new _packages2.default.geo.Point(pos, fromPt.y);\n } else {\n point = new _packages2.default.geo.Point(fromPt.x - xDiff / 2, fromPt.y);\n }\n\n if (yDiff > 0) {\n dir = UP;\n } else {\n dir = DOWN;\n }\n }\n } else if (fromDir === DOWN) {\n if (xDiff * xDiff < this.TOL && yDiff < 0 && toDir === UP) {\n point = toPt;\n dir = toDir;\n } else {\n if (yDiff > 0) {\n point = new _packages2.default.geo.Point(fromPt.x, fromPt.y + this.MINDIST);\n } else if (xDiff > 0 && toDir === RIGHT || xDiff < 0 && toDir === LEFT) {\n point = new _packages2.default.geo.Point(fromPt.x, toPt.y);\n } else if (fromDir === toDir) {\n pos = Math.max(fromPt.y, toPt.y) + this.MINDIST;\n point = new _packages2.default.geo.Point(fromPt.x, pos);\n } else {\n point = new _packages2.default.geo.Point(fromPt.x, fromPt.y - yDiff / 2);\n }\n\n if (xDiff > 0) {\n dir = LEFT;\n } else {\n dir = RIGHT;\n }\n }\n } else if (fromDir === UP) {\n if (xDiff * xDiff < this.TOL && yDiff > 0 && toDir === DOWN) {\n point = toPt;\n dir = toDir;\n } else {\n if (yDiff < 0) {\n point = new _packages2.default.geo.Point(fromPt.x, fromPt.y - this.MINDIST);\n } else if (xDiff > 0 && toDir === RIGHT || xDiff < 0 && toDir === LEFT) {\n point = new _packages2.default.geo.Point(fromPt.x, toPt.y);\n } else if (fromDir === toDir) {\n pos = Math.min(fromPt.y, toPt.y) - this.MINDIST;\n point = new _packages2.default.geo.Point(fromPt.x, pos);\n } else {\n point = new _packages2.default.geo.Point(fromPt.x, fromPt.y - yDiff / 2);\n }\n\n if (xDiff > 0) {\n dir = LEFT;\n } else {\n dir = RIGHT;\n }\n }\n }\n this._route(conn, point, dir, toPt, toDir);\n conn.addPoint(fromPt);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/MazeConnectionRouter.js\":\n/*!*******************************************************!*\\\n !*** ./src/layout/connection/MazeConnectionRouter.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * <b>BETA VERSION. Not for production!!!<br></b>\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.ConnectionRouter\n */\n\nvar ROUTER_RECTS = null;\n\n_packages2.default.layout.connection.MazeConnectionRouter = _packages2.default.layout.connection.ConnectionRouter.extend(\n/** @lends draw2d.layout.connection.MazeConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.MazeConnectionRouter\",\n\n /**\n * Creates a new Router object.\n *\n */\n init: function init() {\n this._super();\n\n this.useSpline = false;\n this.useSimplify = true;\n this.useSimplifyValue = 2;\n this.useDebug = false;\n this.useShift = 4;\n this.portOutletOffset = 15;\n\n // \tthis.finder = new PF.AStarFinder();\n // this.finder = new PF.AStarFinder({ allowDiagonal: true, dontCrossCorners: true});\n // this.finder = new PF.AStarFinder({ allowDiagonal: false});\n // this.finder = new PF.BiBreadthFirstFinder({ allowDiagonal: false});\n // this.finder = new PF.BreadthFirstFinder({ allowDiagonal: false});\n this.finder = new PF.JumpPointFinder({ allowDiagonal: false, dontCrossCorners: true });\n },\n\n /**\n * \n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n },\n\n /**\n * @inheritdoc\n */\n route: function route(conn, routingHints) {\n var fromPt = conn.getStartPoint();\n var fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n\n var toPt = conn.getEndPoint();\n var toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n\n // calculate the lines between the two points.\n //\n this._route(conn, toPt, toDir, fromPt, fromDir);\n this._paint(conn);\n },\n\n /**\n * \n * Internal routing algorithm.\n * * <p>\n * Possible values:\n * <ul>\n * <li>up -> 0</li>\n * <li>right -> 1</li>\n * <li>down -> 2</li>\n * <li>left -> 3</li>\n * </ul>\n * <p>\n * @private\n * @param {draw2d.Connection} conn\n * @param {draw2d.geo.Point} fromPt\n * @param {Number} fromDir\n * @param {draw2d.geo.Point} toPt\n * @param {Number} toDir\n */\n _route: function _route(conn, fromPt, fromDir, toPt, toDir) {\n var shift = this.useShift;\n\n var oldToPt = toPt;\n var oldFromPt = fromPt;\n\n // move the points with an offset in the prefered routing direction of the ports\n // to avoid that the routed connection is sticking on one side of the figure.\n //\n fromPt = this.getAdjustedPoint(fromPt, fromDir, this.portOutletOffset);\n toPt = this.getAdjustedPoint(toPt, toDir, this.portOutletOffset);\n\n var grid = this.generateNoGoGrid(conn, fromPt, fromDir, toPt, toDir);\n\n // 4. Calculate the shortest path from source to target based on the grid\n //\n var path = this.finder.findPath(Math.max(fromPt.x) >> shift, Math.max(fromPt.y) >> shift, Math.max(toPt.x) >> shift, Math.max(0, toPt.y) >> shift, grid);\n\n // transfer the path from the grid based coordinates back to the real coordinates\n //\n path.forEach(function (e) {\n e.x = e[0] = e[0] << shift;\n e.y = e[1] = e[1] << shift;\n });\n\n // 5. paint the \"no go\" area in read if we are in debug mode\n //\n if (this.useDebug) {\n if (ROUTER_RECTS !== null) {\n ROUTER_RECTS.remove();\n }\n ROUTER_RECTS = conn.canvas.paper.set();\n\n for (var i = 0; i < grid.width; i++) {\n for (var j = 0; j < grid.height; j++) {\n if (!grid.isWalkableAt(i, j)) ROUTER_RECTS.push(conn.canvas.paper.rect(i << shift, j << shift, 1 << shift, 1 << shift).attr({\n \"fill\": \"red\",\n \"opacity\": \"0.1\"\n }));\n }\n }\n ROUTER_RECTS.push(conn.canvas.paper.rect(fromPt.x - 3, fromPt.y - 3, 6, 6).attr({\n \"fill\": \"#ff0000\",\n \"opacity\": \"0.8\"\n }));\n ROUTER_RECTS.push(conn.canvas.paper.rect(toPt.x - 3, toPt.y - 3, 6, 6).attr({\n \"fill\": \"#ff0000\",\n \"opacity\": \"0.8\"\n }));\n\n // paint the original calculated path without any simplification in BLUE\n path.forEach(function (e) {\n ROUTER_RECTS.push(conn.canvas.paper.rect(e.x - 3, e.y - 3, 6, 6).attr({ \"fill\": \"#0000ff\", \"opacity\": \"0.8\" }));\n });\n var p = path[0];\n var svgPathBefore = [\"M\", p.x, \" \", p.y];\n for (var _i = 1; _i < path.length; _i++) {\n p = path[_i];\n svgPathBefore.push(\"L\", p.x, \" \", p.y);\n }\n svgPathBefore = svgPathBefore.join(\"\");\n ROUTER_RECTS.push(conn.canvas.paper.path(svgPathBefore).attr({ \"stroke\": \"#0000ff\" }));\n }\n\n this.adjustPath(fromPt, path, fromDir);\n path.reverse();\n this.adjustPath(toPt, path, toDir);\n path.reverse();\n\n path.forEach(function (e) {\n e.x = e[0];\n e.y = e[1];\n });\n\n if (this.useSpline) {\n var _p = new _packages2.default.util.ArrayList();\n _p.add(oldFromPt);\n path.forEach(function (e) {\n _p.add(new _packages2.default.geo.Point(e[0], e[1]));\n });\n _p.add(oldToPt);\n\n if (this.useDebug) {\n path.forEach(function (e) {\n ROUTER_RECTS.push(conn.canvas.paper.rect(e.x - 3, e.y - 3, 6, 6).attr({ \"fill\": \"#00ff00\", \"opacity\": \"0.8\" }));\n });\n var pt = path[0];\n var _svgPathBefore = [\"M\", pt.x, \" \", pt.y];\n for (var _i2 = 1; _i2 < path.length; _i2++) {\n pt = path[_i2];\n _svgPathBefore.push(\"L\", pt.x, \" \", pt.y);\n }\n _svgPathBefore = _svgPathBefore.join(\"\");\n ROUTER_RECTS.push(conn.canvas.paper.path(_svgPathBefore).attr({ \"stroke\": \"#00ff00\" }));\n }\n\n this.spline = new _packages2.default.util.spline.CubicSpline();\n var splinePoints = this.spline.generate(_p, 8);\n\n if (this.useSimplify) {\n path = [];\n splinePoints.each(function (i, e) {\n path.push({ x: e.x, y: e.y });\n });\n path = this.simplify(path, this.useSimplifyValue, true);\n\n path.forEach(function (e) {\n conn.addPoint(e.x, e.y);\n });\n } else {\n splinePoints.each(function (i, e) {\n conn.addPoint(e);\n });\n }\n } else {\n if (this.useSimplify) {\n path = this.simplify(path, this.useSimplifyValue, true);\n }\n\n if (this.useDebug) {\n path.forEach(function (e) {\n ROUTER_RECTS.push(conn.canvas.paper.rect(e.x - 3, e.y - 3, 6, 6).attr({ \"fill\": \"#00ff00\", \"opacity\": \"0.8\" }));\n });\n var _p2 = path[0];\n var _svgPathBefore2 = [\"M\", _p2.x, \" \", _p2.y];\n for (var _i3 = 1; _i3 < path.length; _i3++) {\n _p2 = path[_i3];\n _svgPathBefore2.push(\"L\", _p2.x, \" \", _p2.y);\n }\n _svgPathBefore2 = _svgPathBefore2.join(\"\");\n ROUTER_RECTS.push(conn.canvas.paper.path(_svgPathBefore2).attr({ \"stroke\": \"#00ff00\" }));\n }\n\n conn.addPoint(oldFromPt);\n path.forEach(function (e) {\n conn.addPoint(e[0], e[1]);\n });\n conn.addPoint(oldToPt);\n }\n },\n\n /**\n * \n * Generate a grid base no go map required for the path finding algorithm\n *\n * @param conn\n * @returns {PF.Grid}\n * @private\n */\n generateNoGoGrid: function generateNoGoGrid(conn, fromPt, fromDir, toPt, toDir) {\n var shift = this.useShift;\n var oneShift2 = (1 << shift) / 2;\n\n // 1. generate a map with all \"no go\" areas. The bounding box of the shapes defines\n // the no go areas.\n //\n var canvasWidth = conn.getCanvas().paper.width >> shift;\n var canvasHeight = conn.getCanvas().paper.height >> shift;\n var grid = new PF.Grid(canvasWidth, canvasHeight);\n var figures = conn.getCanvas().getFigures();\n figures.each(function (i, e) {\n var box = e.getBoundingBox();\n // remove shapes which are hit by the input or output ports. It is not possible to route\n // out from a not walkable area\n if (box.hitTest(fromPt.x, fromPt.y) === true || box.hitTest(toPt.x, toPt.y)) {\n return;\n }\n\n var x = box.x >> shift;\n var y = box.y >> shift;\n if (x < 1 || y < 1) {\n return;\n }\n var r_orig = box.x + box.w + oneShift2 >> shift;\n var b_orig = box.y + box.h + oneShift2 >> shift;\n for (var _i4 = x; _i4 <= r_orig; _i4++) {\n for (var j = y; j <= b_orig; j++) {\n grid.setWalkableAt(_i4, j, false);\n }\n }\n });\n\n // 3. make the are walkable on the edge of the port side. Otherwise we a\n // an enclosed area around the port if we are very close to another shape\n //\n var box = conn.getSource().getParent().getBoundingBox();\n if (toDir === 1 || toDir === 3) {\n var y = box.y >> shift;\n if (y > 0) {\n var b_orig = box.y + box.h;\n var i = toPt.x >> shift;\n\n for (var j = y - 1; j << shift <= b_orig; j++) {\n grid.setWalkableAt(i, j, true);\n }\n }\n } else {\n var x = box.x >> shift;\n if (x > 0) {\n var r_orig = box.x + box.w;\n var _j = toPt.x >> shift;\n for (var _i5 = x - 1; _i5 << shift <= r_orig; _i5++) {\n grid.setWalkableAt(_i5, _j, true);\n }\n }\n }\n\n box = conn.getTarget().getParent().getBoundingBox();\n if (fromDir === 1 || fromDir === 3) {\n var _y = box.y >> shift;\n if (_y > 0) {\n var _b_orig = box.y + box.h;\n var _i6 = fromPt.x >> shift;\n for (var _j2 = _y - 1; _j2 << shift <= _b_orig; _j2++) {\n grid.setWalkableAt(_i6, _j2, true);\n }\n }\n } else {\n var _x = box.x >> shift;\n if (_x > 0) {\n var _r_orig = box.x + box.w;\n var _j3 = fromPt.x >> shift;\n for (var _i7 = _x - 1; _i7 << shift <= _r_orig; _i7++) {\n grid.setWalkableAt(_i7, _j3, true);\n }\n }\n }\n\n return grid;\n },\n\n /**\n * \n * move the point in the given direction with the given offset\n *\n * @param {draw2d.geo.Point} pt\n * @param {Number} direction\n * @param {Number} adjustment\n *\n * @returns {draw2d.geo.Point}\n */\n getAdjustedPoint: function getAdjustedPoint(pt, direction, adjustment) {\n\n switch (direction) {\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n return new _packages2.default.geo.Point(pt.x, pt.y - adjustment);\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n return new _packages2.default.geo.Point(pt.x + adjustment, pt.y);\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n return new _packages2.default.geo.Point(pt.x, pt.y + adjustment);\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n return new _packages2.default.geo.Point(pt.x - adjustment, pt.y);\n }\n },\n\n adjustPath: function adjustPath(pt, path, direction) {\n var shift = this.useShift;\n var x = pt.x >> shift;\n var y = pt.y >> shift;\n path.forEach(function (e) {\n if (y === e[1] >> shift) {\n e[1] = pt.y;\n } else {\n return false;\n }\n });\n path.forEach(function (e) {\n if (x === e[0] >> shift) {\n e[0] = pt.x;\n } else {\n return false;\n }\n });\n },\n\n getSquareDistance: function getSquareDistance(p1, p2) {\n // square distance between 2 points\n\n var dx = p1.x - p2.x,\n dy = p1.y - p2.y;\n\n return dx * dx + dy * dy;\n },\n\n getSquareSegmentDistance: function getSquareSegmentDistance(p, p1, p2) {\n // square distance from a point to a segment\n\n var x = p1.x,\n y = p1.y,\n dx = p2.x - x,\n dy = p2.y - y,\n t = void 0;\n\n if (dx !== 0 || dy !== 0) {\n\n t = ((p.x - x) * dx + (p.y - y) * dy) / (dx * dx + dy * dy);\n\n if (t > 1) {\n x = p2.x;\n y = p2.y;\n } else if (t > 0) {\n x += dx * t;\n y += dy * t;\n }\n }\n\n dx = p.x - x;\n dy = p.y - y;\n\n return dx * dx + dy * dy;\n },\n\n simplifyRadialDistance: function simplifyRadialDistance(points, sqTolerance) {\n // distance-based simplification\n\n var i = void 0,\n len = points.length,\n point = null,\n prevPoint = points[0],\n newPoints = [prevPoint];\n\n for (i = 1; i < len; i++) {\n point = points[i];\n\n if (this.getSquareDistance(point, prevPoint) > sqTolerance) {\n newPoints.push(point);\n prevPoint = point;\n }\n }\n\n if (prevPoint !== point) {\n newPoints.push(point);\n }\n\n return newPoints;\n },\n\n // simplification using optimized Douglas-Peucker algorithm with recursion elimination\n\n simplifyDouglasPeucker: function simplifyDouglasPeucker(points, sqTolerance) {\n\n var len = points.length,\n MarkerArray = (typeof Uint8Array === \"undefined\" ? \"undefined\" : _typeof(Uint8Array)) !== undefined + '' ? Uint8Array : Array,\n markers = new MarkerArray(len),\n first = 0,\n last = len - 1,\n i = void 0,\n maxSqDist = void 0,\n sqDist = void 0,\n index = void 0,\n firstStack = [],\n lastStack = [],\n newPoints = [];\n\n markers[first] = markers[last] = 1;\n\n while (last) {\n\n maxSqDist = 0;\n\n for (i = first + 1; i < last; i++) {\n sqDist = this.getSquareSegmentDistance(points[i], points[first], points[last]);\n\n if (sqDist > maxSqDist) {\n index = i;\n maxSqDist = sqDist;\n }\n }\n\n if (maxSqDist > sqTolerance) {\n markers[index] = 1;\n\n firstStack.push(first);\n lastStack.push(index);\n\n firstStack.push(index);\n lastStack.push(last);\n }\n\n first = firstStack.pop();\n last = lastStack.pop();\n }\n\n for (i = 0; i < len; i++) {\n if (markers[i]) {\n newPoints.push(points[i]);\n }\n }\n\n return newPoints;\n },\n\n simplify: function simplify(points, tolerance, highestQuality) {\n\n var sqTolerance = tolerance !== undefined ? tolerance * tolerance : 1;\n\n if (!highestQuality) {\n points = this.simplifyRadialDistance(points, sqTolerance);\n }\n points = this.simplifyDouglasPeucker(points, sqTolerance);\n\n return points;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/MuteableManhattanConnectionRouter.js\":\n/*!********************************************************************!*\\\n !*** ./src/layout/connection/MuteableManhattanConnectionRouter.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * JUST FOR RESEARCH AT THE MOMENT!!!!!!\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.ManhattanConnectionRouter\n */\n\n_packages2.default.layout.connection.MuteableManhattanConnectionRouter = _packages2.default.layout.connection.ManhattanConnectionRouter.extend(\n/** @lends draw2d.layout.connection.MuteableManhattanConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.MuteableManhattanConnectionRouter\",\n\n UP: new _packages2.default.geo.Ray(0, -1),\n DOWN: new _packages2.default.geo.Ray(0, 1),\n LEFT: new _packages2.default.geo.Ray(-1, 0),\n RIGHT: new _packages2.default.geo.Ray(1, 0),\n\n /**\n * Creates a new Router object.\n *\n */\n init: function init() {\n this._super();\n\n this.rowsUsed = {}; //new HashMap<Integer, Integer>();\n this.colsUsed = {}; //new HashMap<Integer, Integer>();\n this.constraints = {}; //new HashMap<Connection, Object>();\n this.reservedInfo = {}; //new HashMap<Connection, ReservedInfo>();\n },\n\n /**\n * @inheritdoc\n */\n route: function route(conn, routingHints) {\n this.rowsUsed = {}; //new HashMap<Integer, Integer>();\n this.colsUsed = {}; //new HashMap<Integer, Integer>();\n this.constraints = {}; //new HashMap<Connection, Object>();\n this.reservedInfo = {}; //new HashMap<Connection, ReservedInfo>();\n\n var canvas = conn.getCanvas();\n var i = void 0;\n\n var startPoint = conn.getStartPoint();\n var endPoint = conn.getEndPoint();\n\n var start = new _packages2.default.geo.Ray(startPoint);\n var end = new _packages2.default.geo.Ray(endPoint);\n var average = new _packages2.default.geo.Ray((start.x + end.x) / 2, (start.y + end.y) / 2);\n\n var direction = new _packages2.default.geo.Ray(end.x - start.x, end.y - start.y);\n var startNormal = this.getStartDirection(conn);\n var endNormal = this.getEndDirection(conn);\n\n var positions = new _packages2.default.util.ArrayList();\n var horizontal = startNormal.isHorizontal();\n\n if (horizontal) {\n positions.add(start.y);\n } else {\n positions.add(start.x);\n }\n\n horizontal = !horizontal;\n\n // dot product is zero if the vector orthogonal (90°)\n if (startNormal.dot(endNormal) === 0) {\n if (startNormal.dot(direction) >= 0 && endNormal.dot(direction) <= 0) {\n // 0\n } else {\n\n // 2\n if (startNormal.dot(direction) < 0) i = startNormal.similarity(start.translated(startNormal.scaled(10)));else {\n if (horizontal) i = average.y;else i = average.x;\n }\n\n positions.add(i);\n horizontal = !horizontal;\n\n if (endNormal.dot(direction) > 0) {\n i = endNormal.similarity(end.translated(endNormal.scaled(10)));\n } else {\n if (horizontal) {\n i = average.y;\n } else {\n i = average.x;\n }\n }\n positions.add(i);\n horizontal = !horizontal;\n }\n } else {\n if (startNormal.dot(endNormal) > 0) {\n //1\n if (startNormal.dot(direction) >= 0) i = startNormal.similarity(start.translated(startNormal.scaled(10)));else i = endNormal.similarity(end.translated(endNormal.scaled(10)));\n positions.add(i);\n horizontal = !horizontal;\n } else {\n //3 or 1\n if (startNormal.dot(direction) < 0) {\n i = startNormal.similarity(start.translated(startNormal.scaled(10)));\n positions.add(i);\n horizontal = !horizontal;\n }\n\n // my tweak to route SCA wires starts\n if (this.isCycle(conn)) {\n if (horizontal) i = conn.getSource().getParent().getBoundingBox().getTop() - 10; // * index;\n else i = conn.getSource().getParent().getBoundingBox().getRight() + 10; // * index;\n } else {\n if (horizontal) {\n var j = average.y;\n\n var next = endNormal.similarity(end.translated(endNormal.scaled(10)));\n\n var trial = new _packages2.default.geo.Ray(positions.get(positions.getSize() - 1), j);\n var figure = this.findFirstFigureAtStraightLine(canvas, trial, this.LEFT, _packages2.default.util.ArrayList.EMPTY_LIST);\n\n while (figure != null && figure.getBoundingBox().x + figure.getBoundingBox().width > next) {\n j = figure.getBoundingBox().y + figure.getBoundingBox().height + 5;\n trial.y = j;\n figure = this.findFirstFigureAtStraightLine(canvas, trial, this.LEFT, _packages2.default.util.ArrayList.EMPTY_LIST);\n }\n\n i = j;\n } else {\n var _figure = this.findFirstFigureAtStraightLine(canvas, start, this.RIGHT, this.getExcludingFigures(conn));\n if (_figure == null) i = average.x;else {\n i = Math.min(average.x, start.translated(new _packages2.default.geo.Ray(3 * (_figure.getBoundingBox().x - start.x) / 4, 0)).x);\n i = Math.max(start.x, i);\n }\n i = this.adjust(conn, i);\n }\n }\n // my tweak to route SCA wires ends\n positions.add(i);\n horizontal = !horizontal;\n }\n }\n if (horizontal) positions.add(end.y);else positions.add(end.x);\n\n this.processPositions(start, end, positions, startNormal.isHorizontal(), conn);\n\n this._paint(conn);\n },\n\n /**\n *\n *\n * @param {draw2d.Connection} connection\n * @param {Number} r\n * @param {Number} n\n * @param {Number} x\n *\n * @private\n */\n getColumnNear: function getColumnNear(connection, r, n, x) {\n var min = Math.min(n, x);\n var max = Math.max(n, x);\n\n if (min > r) {\n max = min;\n min = r - (min - r);\n }\n if (max < r) {\n min = max;\n max = r + (r - max);\n }\n\n var proximity = 0;\n var direction = -1;\n if (r % 6 !== 0) {\n r = r - r % 6;\n }\n\n var i = void 0;\n while (proximity < r) {\n i = parseInt(r + proximity * direction);\n if (!(i in this.colsUsed)) {\n this.colsUsed[i] = i;\n this.reserveColumn(connection, i);\n return i;\n }\n\n if (i <= min) {\n return i + 6;\n }\n\n if (i >= max) {\n return i - 6;\n }\n\n if (direction === 1) {\n direction = -1;\n } else {\n direction = 1;\n proximity += 6;\n }\n }\n return r;\n },\n\n getRowNear: function getRowNear(connection, r, n, x) {\n var min = Math.min(n, x);\n var max = Math.max(n, x);\n\n if (min > r) {\n max = min;\n min = r - (min - r);\n }\n if (max < r) {\n min = max;\n max = r + (r - max);\n }\n\n var proximity = 0;\n var direction = -1;\n if (r % 6 !== 0) {\n r = r - r % 6;\n }\n\n var i = void 0;\n while (proximity < r) {\n i = parseInt(r + proximity * direction);\n if (!(i in this.rowsUsed)) {\n this.rowsUsed[i] = i;\n this.reserveRow(connection, i);\n return i;\n }\n if (i <= min) return i + 6;\n if (i >= max) return i - 6;\n if (direction === 1) direction = -1;else {\n direction = 1;\n proximity += 6;\n }\n }\n return r;\n },\n\n /**\n * <li>up -> 0</li>\n * <li>right -> 1</li>\n * <li>down -> 2</li>\n * <li>left -> 3</li>\n **/\n getEndDirection: function getEndDirection(conn) {\n var p = conn.getEndPoint();\n var rect = conn.getTarget().getParent().getBoundingBox();\n return this.getDirection(rect, p);\n },\n\n /**\n * <li>up -> 0</li>\n * <li>right -> 1</li>\n * <li>down -> 2</li>\n * <li>left -> 3</li>\n **/\n getStartDirection: function getStartDirection(conn) {\n var p = conn.getStartPoint();\n var rect = conn.getSource().getParent().getBoundingBox();\n return this.getDirection(rect, p);\n },\n\n /**\n * Returns the direction the point <i>p</i> is in relation to the given rectangle.\n * Possible values are LEFT (-1,0), RIGHT (1,0), UP (0,-1) and DOWN (0,1).\n *\n * @param r the rectangle\n * @param p the point\n * @returns the direction from <i>r</i> to <i>p</i>\n */\n getDirection: function getDirection(r, p) {\n var i = Math.abs(r.y - p.y);\n var distance = Math.abs(r.x - p.x);\n var direction = this.LEFT;\n\n if (i <= distance) {\n distance = i;\n direction = this.UP;\n }\n\n i = Math.abs(r.getBottom() - p.y);\n if (i <= distance) {\n distance = i;\n direction = this.DOWN;\n }\n\n i = Math.abs(r.getRight() - p.x);\n if (i < distance) {\n direction = this.RIGHT;\n }\n\n return direction;\n },\n\n processPositions: function processPositions( /*Ray*/start, /*Ray*/end, /*List*/positions, /*boolean*/horizontal, /*Connection*/conn) {\n this.removeReservedLines(conn);\n\n var pos = [];\n if (horizontal) pos.push(start.x);else pos.push(start.y);\n var i = void 0;\n for (i = 0; i < positions.getSize(); i++) {\n pos.push(positions.get(i));\n }\n\n if (horizontal === (positions.getSize() % 2 === 1)) {\n pos.push(end.x);\n } else {\n pos.push(end.y);\n }\n\n conn.addPoint(new _packages2.default.geo.Point(start.x, start.y));\n var p = void 0;\n var current = void 0,\n prev = void 0,\n min = void 0,\n max = void 0;\n var adjust = void 0;\n for (i = 2; i < pos.length - 1; i++) {\n horizontal = !horizontal;\n prev = pos[i - 1];\n current = pos[i];\n\n adjust = i !== pos.length - 2;\n if (horizontal) {\n if (adjust) {\n min = pos[i - 2];\n max = pos[i + 2];\n pos[i] = current = this.getRowNear(conn, current, min, max);\n }\n p = new _packages2.default.geo.Point(prev, current);\n } else {\n if (adjust) {\n min = pos[i - 2];\n max = pos[i + 2];\n pos[i] = current = this.getColumnNear(conn, current, min, max);\n }\n p = new _packages2.default.geo.Point(current, prev);\n }\n conn.addPoint(p);\n }\n conn.addPoint(new _packages2.default.geo.Point(end.x, end.y));\n },\n\n removeReservedLines: function removeReservedLines(connection) {\n var rInfo = this.reservedInfo[connection];\n if (typeof rInfo === \"undefined\" || rInfo === null) return;\n\n for (var i = 0; i < rInfo.reservedRows.getSize(); i++) {\n delete this.rowsUsed[rInfo.reservedRows.get(i)];\n }\n for (var _i = 0; _i < rInfo.reservedCols.getSize(); _i++) {\n delete this.colsUsed[rInfo.reservedCols.get(_i)];\n }\n delete this.reservedInfo[connection];\n },\n\n reserveColumn: function reserveColumn(connection, column) {\n var info = this.reservedInfo[connection];\n if (typeof info === \"undefined\" || info === null) {\n info = { reservedCols: new _packages2.default.util.ArrayList(), reservedRows: new _packages2.default.util.ArrayList() };\n this.reservedInfo[connection] = info;\n }\n info.reservedCols.add(column);\n },\n\n reserveRow: function reserveRow(connection, row) {\n var info = this.reservedInfo[connection];\n if (typeof info === \"undefined\" || info === null) {\n info = { reservedCols: new _packages2.default.util.ArrayList(), reservedRows: new _packages2.default.util.ArrayList() };\n this.reservedInfo[connection] = info;\n }\n info.reservedRows.add(row);\n },\n\n getConstraint: function getConstraint(connection) {\n return this.constraints[connection];\n },\n\n setConstraint: function setConstraint(connection, constraint) {\n this.constraints[connection] = constraint;\n },\n\n isCycle: function isCycle(conn) {\n var source = conn.getSource().getParent();\n var target = conn.getTarget().getParent();\n\n return source.id === target.id;\n },\n\n getExcludingFigures: function getExcludingFigures(conn) {\n var excluding = new _packages2.default.util.ArrayList();\n\n excluding.add(conn.getSource().getParent());\n excluding.add(conn.getTarget().getParent());\n\n return excluding;\n },\n\n findFirstFigureAtStraightLine: function findFirstFigureAtStraightLine(canvas, /*Ray*/start, /*Ray*/direction, /*List*/excluding) {\n var figure = null;\n\n var figures = canvas.getFigures();\n var _this = this;\n figures.each(function (i, child) {\n try {\n if (!excluding.contains(child)) {\n var rect = child.getBoundingBox();\n if (_this.LEFT.equals(direction)) {\n if (start.x > rect.x && start.y >= rect.y && start.y <= rect.y + rect.h) {\n if (figure === null || rect.x > figure.getBoundingBox().x) figure = child;\n }\n } else if (_this.RIGHT.equals(direction)) {\n if (start.x < rect.x + rect.w && start.y >= rect.y && start.y <= rect.y + rect.h) {\n if (figure == null || rect.x < figure.getBoundingBox().x) figure = child;\n }\n } else if (_this.UP.equals(direction)) {\n if (start.y > rect.y && start.x >= rect.x && start.x <= rect.x + rect.w) {\n if (figure === null || rect.y > figure.getBoundingBox().y) figure = child;\n }\n } else if (_this.DOWN.equals(direction)) {\n if (start.y < rect.y + rect.h && start.x >= rect.x && start.x <= rect.x + rect.w) {\n if (figure === null || rect.y < figure.getBoundingBox().y) figure = child;\n }\n }\n }\n } catch (exc) {\n console.log(exc);\n debugger;\n }\n });\n return figure;\n },\n\n adjust: function adjust(connection, col) {\n var column = col;\n\n var start = connection.getSource().getPosition();\n\n var connections = connection.getCanvas().getLines();\n connections.each(function (i, conn) {\n try {\n if (conn === connection) return;\n\n var end = conn.getTarget().getPosition();\n if (start.x < end.x && start.y === end.y) {\n if (conn.getVertices().getMidpoint().x <= col) column = conn.getVertices().getMidpoint().x - 5;\n }\n } catch (exc) {\n console.log(exc);\n debugger;\n }\n });\n return column;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/RubberbandRouter.js\":\n/*!***************************************************!*\\\n !*** ./src/layout/connection/RubberbandRouter.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Router for direct connections between two ports with a rubber band effect\n *\n *\n * @example\n *\n * let RubberConnection= draw2d.Connection.extend({\n * NAME: \"RubberConnection\",\n *\n * init:function(attr, setter, getter)\n * {\n * this._super(extend({\n * color: \"#33691e\",\n * stroke:1,\n * outlineStroke:0,\n * outlineColor:null\n * },attr),\n * setter,\n * getter);\n *\n *\n * this.setRouter(new draw2d.layout.connection.RubberbandRouter());\n * },\n *\n * repaint:function(attributes)\n * {\n * if (this.repaintBlocked===true || this.shape === null){\n * return;\n * }\n * attributes= attributes || {};\n * // enrich the rendering with a \"fill\" attribute\n * if(typeof attributes.fill === \"undefined\"){\n * \t attributes.fill = \"#aed581\";\n * }\n * this._super(attributes);\n * }\n * });\n *\n * let createConnection=function(){\n * let con = new RubberConnection();\n * return con;\n * };\n *\n * // install a custom connection create policy\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let start = new draw2d.shape.node.Start();\n * let end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.ConnectionRouter\n */\n_packages2.default.layout.connection.RubberbandRouter = _packages2.default.layout.connection.ConnectionRouter.extend(\n/** @lends draw2d.layout.connection.RubberbandRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.RubberbandRouter\",\n\n /**\n * Creates a new Router object\n *\n */\n init: function init() {\n this._super();\n },\n\n /**\n * \n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n },\n\n /**\n * \n * Invalidates the given Connection\n */\n invalidate: function invalidate() {},\n\n /**\n * @inheritdoc\n */\n route: function route(connection, routingHints) {\n var thickness = 10;\n\n var start = connection.getStartPoint();\n var end = connection.getEndPoint();\n\n // 1. Calculate the vector AB→ by subtracting the coordinates of A from the coordinates of B.\n // Let's say you get (u,v) as the vector components.\n //\n // 2. normalize the vector (u,v,) to a length of |1|\n //\n // 3. The vector (−v,u) is AB→ rotated by 90 degrees counterclockwise. (Why? Look up \"rotation matrix\").\n //\n // 4. Add (−v,u) to A to get C. Also add (−v,u) to B to get D.\n\n var uv = end.subtract(start);\n var uv2 = uv.clone();\n var length = uv.length();\n\n var strength = 1 - Math.min(0.75, 1 / 500 * length);\n var first = start.lerp(end, 0.25 * strength); // go closer to the start point if the strength grows\n var second = start.lerp(end, 0.5);\n var third = start.lerp(end, 1 - 0.25 * strength); // go closer to the end point if the strengths grows\n\n thickness = Math.max(5, thickness * strength);\n\n uv.x = uv.x / length * thickness;\n uv.y = uv.y / length * thickness;\n\n uv2.x = uv2.x / length * (thickness * strength);\n uv2.y = uv2.y / length * (thickness * strength);\n\n // anchor points for the 180 arc at the start point of the connection\n //\n var start90 = new _packages2.default.geo.Point(-uv.y + start.x, uv.x + start.y);\n var start270 = new _packages2.default.geo.Point(uv.y + start.x, -uv.x + start.y);\n\n // anchor point in the first segment ( on the upside/downside) of the connection\n //\n var first90 = new _packages2.default.geo.Point(-uv2.y + first.x, uv2.x + first.y);\n var first270 = new _packages2.default.geo.Point(uv2.y + first.x, -uv2.x + first.y);\n\n // center upside/downside anchor point of the connection\n //\n var second90 = new _packages2.default.geo.Point(-uv2.y + second.x, uv2.x + second.y);\n var second270 = new _packages2.default.geo.Point(uv2.y + second.x, -uv2.x + second.y);\n\n // anchor point in the third segment of the connection\n //\n var third90 = new _packages2.default.geo.Point(-uv2.y + third.x, uv2.x + third.y);\n var third270 = new _packages2.default.geo.Point(uv2.y + third.x, -uv2.x + third.y);\n\n // anchor point for the 180 arc at the end\n //\n var end90 = new _packages2.default.geo.Point(-uv.y + end.x, uv.x + end.y);\n var end270 = new _packages2.default.geo.Point(uv.y + end.x, -uv.x + end.y);\n\n // required for hit tests\n //\n connection.addPoint(start);\n connection.addPoint(end);\n\n // calculate the path\n var path = [\"M\", start90.x, \",\", start90.y];\n path.push(\"A\", thickness, \",\", thickness, \"0 0 1 \", start270.x, \",\", start270.y);\n path.push(\"C\", start270.x, \",\", start270.y, first270.x, \",\", first270.y, second270.x, \",\", second270.y);\n path.push(\"C\", second270.x, \",\", second270.y, third270.x, \",\", third270.y, end270.x, \",\", end270.y);\n path.push(\"A\", thickness, \",\", thickness, \"0 0 1\", end90.x, \",\", end90.y);\n path.push(\"C\", end90.x, \",\", end90.y, third90.x, \",\", third90.y, second90.x, \",\", second90.y);\n path.push(\"C\", second90.x, \",\", second90.y, first90.x, \",\", first90.y, start90.x, \",\", start90.y);\n\n connection.svgPathString = path.join(\" \");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/SketchConnectionRouter.js\":\n/*!*********************************************************!*\\\n !*** ./src/layout/connection/SketchConnectionRouter.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Provide a router which routes the connection in a hand drawn manner.\n *\n * @example\n *\n * let createConnection=function(){\n * let con = new draw2d.Connection();\n * con.setRouter(new draw2d.layout.connection.SketchConnectionRouter());\n * return con;\n * };\n *\n * // install a custom connection create policy\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let f1 = new draw2d.shape.analog.OpAmp({x:10, y:10});\n * let f2 = new draw2d.shape.analog.ResistorVertical({angle:90, height:20, x:300, y:150});\n *\n * // ...add it to the canvas\n * //\n * canvas.add( f1);\n * canvas.add( f2);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(f1.getOutputPort(0));\n * c.setTarget(f2.getHybridPort(0));\n * canvas.add(c);\n *\n * @inheritable\n * @author Andreas Herz\n * @since 2.7.2\n * @extends draw2d.layout.connection.MazeConnectionRouter\n */\n_packages2.default.layout.connection.SketchConnectionRouter = _packages2.default.layout.connection.MazeConnectionRouter.extend(\n/** @lends draw2d.layout.connection.SketchConnectionRouter.prototype */\n{\n NAME: \"draw2d.layout.connection.SketchConnectionRouter\",\n\n /**\n * Creates a new Router object.\n *\n */\n init: function init() {\n this._super();\n\n this.useSpline = true;\n this.useShift = 5;\n this.useSimplifyValue = 0.2;\n this.finder = new PF.JumpPointFinder({ allowDiagonal: false, dontCrossCorners: true });\n },\n\n /**\n *\n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/SplineConnectionRouter.js\":\n/*!*********************************************************!*\\\n !*** ./src/layout/connection/SplineConnectionRouter.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A ManhattanConnectionRouter with an spline interpolation between the bend points.\n *\n * @example\n *\n * let createConnection=function(){\n * let con = new draw2d.Connection();\n * con.setRouter(new draw2d.layout.connection.SplineConnectionRouter());\n * return con;\n * };\n *\n * // install a custom connection create policy\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let f1 = new draw2d.shape.analog.OpAmp({x:10, y:10});\n * let f2 = new draw2d.shape.analog.ResistorVertical({angle:90, height:20, x:300, y:150});\n *\n * // ...add it to the canvas\n * //\n * canvas.add( f1);\n * canvas.add( f2);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(f1.getOutputPort(0));\n * c.setTarget(f2.getHybridPort(0));\n * canvas.add(c);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.layout.connection.ManhattanConnectionRouter\n */\n_packages2.default.layout.connection.SplineConnectionRouter = _packages2.default.layout.connection.ManhattanConnectionRouter.extend(\n/** @lends draw2d.layout.connection.SplineConnectionRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.SplineConnectionRouter\",\n\n /**\n * Creates a new Router object\n */\n init: function init() {\n this._super();\n\n // this.spline = new draw2d.util.spline.CatmullRomSpline();\n this.spline = new _packages2.default.util.spline.CubicSpline();\n // this.spline = new draw2d.util.spline.BezierSpline();\n\n this.MINDIST = 50;\n },\n\n /**\n *\n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n },\n\n /**\n * @inheritdoc\n */\n route: function route(conn, routingHints) {\n var i = void 0;\n var fromPt = conn.getStartPoint();\n var fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n\n var toPt = conn.getEndPoint();\n var toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n\n // calculate the manhatten bend points between start/end.\n //\n this._route(conn, toPt, toDir, fromPt, fromDir);\n\n var ps = conn.getVertices();\n\n conn.oldPoint = null;\n conn.lineSegments = new _packages2.default.util.ArrayList();\n conn.vertices = new _packages2.default.util.ArrayList();\n\n var splinePoints = this.spline.generate(ps, 8);\n splinePoints.each(function (i, e) {\n conn.addPoint(e);\n });\n\n // calculate the path string for the SVG rendering\n //\n ps = conn.getVertices();\n var length = ps.getSize();\n var p = ps.get(0);\n var path = [\"M\", p.x, \" \", p.y];\n for (i = 1; i < length; i++) {\n p = ps.get(i);\n path.push(\"L\", p.x, \" \", p.y);\n }\n conn.svgPathString = path.join(\"\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/connection/VertexRouter.js\":\n/*!***********************************************!*\\\n !*** ./src/layout/connection/VertexRouter.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A Router with unlimited vertices.\n *\n *\n * @example\n *\n * // Override the default connection type. This is used during drag&drop operations of ports.\n * //\n * let createConnection=function(){\n * // return my special kind of connection\n * let con = new draw2d.Connection();\n * con.setRouter(new draw2d.layout.connection.VertexRouter());\n * return con;\n * };\n *\n * // Install a special policy into the canvas to use my own implementation of connection\n * // if we drag&drop a port\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy({\n * createConnection: createConnection\n * }));\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let start = new draw2d.shape.node.Start();\n * let end = new draw2d.shape.node.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,80);\n *\n * // first Connection\n * //\n * let c = createConnection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.layout.connection.ConnectionRouter\n */\n_packages2.default.layout.connection.VertexRouter = _packages2.default.layout.connection.ConnectionRouter.extend(\n/** @lends draw2d.layout.connection.VertexRouter.prototype */\n{\n\n NAME: \"draw2d.layout.connection.VertexRouter\",\n\n /**\n * Creates a new Router object\n *\n */\n init: function init() {\n this._super();\n },\n\n /**\n *\n * Callback method if the router has been assigned to a connection.\n *\n * @param {draw2d.Connection} connection The assigned connection\n * @template\n * @since 2.7.2\n */\n onInstall: function onInstall(connection) {\n connection.installEditPolicy(new _packages2.default.policy.line.VertexSelectionFeedbackPolicy());\n },\n\n /**\n *\n * Invalidates the given Connection\n */\n invalidate: function invalidate() {},\n\n /**\n * @inheritdoc\n */\n route: function route(connection, routingHints) {\n // reuse all existing vertex points\n //\n var count = routingHints.oldVertices.getSize();\n for (var i = 0; i < count; i++) {\n connection.addPoint(routingHints.oldVertices.get(i));\n }\n\n var ps = connection.getVertices();\n\n // respect the calculated anchor position if the start/end port has set any Anchor impl.\n var startAnchor = connection.getStartPosition(ps.get(1));\n var endAnchor = connection.getEndPosition(ps.get(ps.getSize() - 2));\n ps.first().setPosition(startAnchor);\n ps.last().setPosition(endAnchor);\n\n this._paint(connection);\n },\n\n /**\n *\n * Callback method for the PolyLine or Connection to check if it possible to remove a vertex from\n * the list. The router can send an veto for this.\n * Per default it is not possible to remove any vertex from the PolyLine exceptional if any interactive\n * router is installed.\n *\n * @param {draw2d.Connection} conn\n * @param {Number} index\n *\n * @since 4.2.3\n */\n canRemoveVertexAt: function canRemoveVertexAt(conn, index) {\n return false;\n },\n\n /**\n * Callback method for the PolyLine or Connection to verify that a segment is deletable.\n *\n * @param {draw2d.Connection} conn\n * @param {Number} index\n *\n * @returns {Boolean}\n * @since 4.2.3\n */\n canRemoveSegmentAt: function canRemoveSegmentAt(conn, index) {\n\n var segmentCount = conn.getVertices().getSize() - 1; // segmentCount is one less than vertex count\n\n // The first and last segment isn't deletable\n //\n if (index <= 0 || index >= segmentCount) {\n return false;\n }\n\n // a connection need at least one strokes\n //\n return segmentCount >= 2;\n },\n\n /**\n *\n * Tweak or enrich the polyline persistence data with routing information\n *\n * @since 2.10.0\n * @param {draw2d.shape.basic.PolyLine} line\n * @param {Object} memento The memento data of the polyline\n *\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes(line, memento) {\n memento.vertex = [];\n\n line.getVertices().each(function (i, e) {\n memento.vertex.push({ x: e.x, y: e.y });\n });\n\n return memento;\n },\n\n /**\n *\n * set the attributes for the polyline with routing information\n *\n * @since 2.10.0\n * @param {Object} memento\n */\n setPersistentAttributes: function setPersistentAttributes(line, memento) {\n // restore the points from the JSON data and add them to the polyline\n //\n if (Array.isArray(memento.vertex) && memento.vertex.length > 1) {\n\n line.oldPoint = null;\n line.lineSegments = new _packages2.default.util.ArrayList();\n\n line.setVertices(memento.vertex);\n }\n },\n\n /**\n *\n *\n * The draw2d.Connection delegates the drag operation to the router. The router can\n * handle the different constraints of the connection and just drag&drop a single segment\n * instead of the complete connection.\n *\n * @param {draw2d.shape.basic.Line} line the related line to handle\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n *\n * @since 6.1.0\n */\n onDrag: function onDrag(line, dx, dy, dx2, dy2) {\n var count = line.getVertices().getSize() - 1;\n for (var i = 1; i < count; i++) {\n line.getVertex(i).translate(dx2, dy2);\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/BottomLocator.js\":\n/*!*********************************************!*\\\n !*** ./src/layout/locator/BottomLocator.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A bottomLocator is used to place figures at the bottom of a parent shape.\n *\n *\n *\n * @example\n *\n * // create a basic figure and add a Label/child via API call\n * //\n * let circle = new draw2d.shape.basic.Circle({\n * x:100,\n * y:50,\n * diameter:100,\n * stroke: 3,\n * color:\"#A63343\",\n * bgColor:\"#E65159\"\n * });\n *\n * circle.add(new draw2d.shape.basic.Label({text:\"Bottom Label\"}), new draw2d.layout.locator.BottomLocator());\n * canvas.add( circle);\n *\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.BottomLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.BottomLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.BottomLocator\",\n\n /**\n *\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Relocates the given Figure.\n *\n * @param {Number} index child index of the target\n * @param {draw2d.Figure} target The figure to relocate\n **/\n relocate: function relocate(index, target) {\n var parent = target.getParent();\n var boundingBox = parent.getBoundingBox();\n // I made a wrong decision in the port handling: anchor point\n // is in the center and not topLeft. Now I must correct this flaw here, and there, and...\n // shit happens.\n var offset = parent instanceof _packages2.default.Port ? boundingBox.w / 2 : 0;\n\n var targetBoundingBox = target.getBoundingBox();\n if (target instanceof _packages2.default.Port) {\n target.setPosition(boundingBox.w / 2 - offset, boundingBox.h);\n } else {\n target.setPosition(boundingBox.w / 2 - targetBoundingBox.w / 2 - offset, 2 + boundingBox.h);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/CenterLocator.js\":\n/*!*********************************************!*\\\n !*** ./src/layout/locator/CenterLocator.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A CenterLocator is used to place figures in the center of a parent shape.\n *\n *\n *\n * @example\n *\n *\n * // create a basic figure and add a Label/child via API call\n * //\n * let circle = new draw2d.shape.basic.Circle({diameter:120});\n * circle.setStroke(3);\n * circle.setColor(\"#A63343\");\n * circle.setBackgroundColor(\"#E65159\");\n * circle.add(new draw2d.shape.basic.Label({text:\"Center Label\"}), new draw2d.layout.locator.CenterLocator());\n * canvas.add( circle, 100,50);\n *\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.CenterLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.CenterLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.CenterLocator\",\n\n /**\n * Constructs a locator with associated parent.\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Relocates the given Figure.\n *\n * @param {Number} index child index of the target\n * @param {draw2d.Figure} target The figure to relocate\n **/\n relocate: function relocate(index, target) {\n var parent = target.getParent();\n var boundingBox = parent.getBoundingBox();\n\n // TODO: instanceof is always a HACK. ugly. Redirect the call to the figure instead of \n // determine the position with a miracle.\n //\n if (target instanceof _packages2.default.Port) {\n target.setPosition(boundingBox.w / 2, boundingBox.h / 2);\n } else {\n var targetBoundingBox = target.getBoundingBox();\n target.setPosition((boundingBox.w / 2 - targetBoundingBox.w / 2 | 0) + 0.5, (boundingBox.h / 2 - targetBoundingBox.h / 2 | 0) + 0.5);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/ConnectionLocator.js\":\n/*!*************************************************!*\\\n !*** ./src/layout/locator/ConnectionLocator.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Repositions a Figure attached to a Connection when the\n * Connection is moved. Provides for alignment at the start\n * (source), middle, or end (target) of the Connection.\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.ConnectionLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.ConnectionLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.ConnectionLocator\",\n\n /**\n * Default constructor for a Locator which can layout a figure in context of a\n * {@link draw2d.Connector}\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/DraggableLocator.js\":\n/*!************************************************!*\\\n !*** ./src/layout/locator/DraggableLocator.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A DraggableLocator is used to place figures relative to the parent top left corner. It is\n * possible to move a child node via drag&drop.\n *\n *\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.DraggableLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.DraggableLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.DraggableLocator\",\n\n /**\n * Constructs a locator with associated parent.\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n bind: function bind(parent, child) {\n // override the parent implementation to avoid\n // that the child is \"!selectable\" and \"!draggable\"\n\n // Don't redirect the selection handling to the parent\n // Using the DraggableLocator provides the ability to the children\n // that they are selectable and draggable. Remove the SelectionAdapter from the parent\n // assignment.\n child.setSelectionAdapter(function () {\n return child;\n });\n },\n\n unbind: function unbind(parent, child) {\n // use default\n child.setSelectionAdapter(null);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/InputPortLocator.js\":\n/*!************************************************!*\\\n !*** ./src/layout/locator/InputPortLocator.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Repositions a Figure attached to a Connection when the\n * Connection is moved. Provides for alignment at the start\n * (source), middle, or end (target) of the Connection.\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.PortLocator\n */\n_packages2.default.layout.locator.InputPortLocator = _packages2.default.layout.locator.PortLocator.extend(\n/** @lends draw2d.layout.locator.InputPortLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.InputPortLocator\",\n\n /**\n * Default constructor for a Locator which can layout a port in context of a\n * {@link draw2d.shape.node.Node}\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Controls the location of an {@link draw2d.Figure}\n *\n * @param {Number} index port index of the figure\n * @param {draw2d.Figure} figure the figure to control\n *\n * @template\n **/\n relocate: function relocate(index, figure) {\n var node = figure.getParent();\n\n var dividerFactor = 1;\n var thisNAME = this.NAME;\n var portIndex = 1;\n node.getPorts().each(function (i, p) {\n portIndex = p === figure ? dividerFactor : portIndex;\n dividerFactor += p.getLocator().NAME === thisNAME ? 1 : 0;\n });\n this.applyConsiderRotation(figure, 0, node.getHeight() / dividerFactor * portIndex);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/LeftLocator.js\":\n/*!*******************************************!*\\\n !*** ./src/layout/locator/LeftLocator.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A LeftLocator is used to place figures to the left of a parent shape.\n *\n *\n *\n * @example\n *\n * // create a basic figure and add a Label/child via API call\n * //\n * let start = new draw2d.shape.node.Start();\n * start.add(new draw2d.shape.basic.Label({text:\"Left Label\"}), new draw2d.layout.locator.LeftLocator({\n * margin:10 // distance to the parent shape\n * }));\n * canvas.add( start, 100,50);\n *\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.LeftLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.LeftLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.LeftLocator\",\n\n /**\n * Constructs a locator with associated parent.\n *\n * @param {Object} attr additional init attributes\n * @param {Object} setter key/value map of injected setter-methods\n * @param {Object} getter key/value map of injected getter-methods\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.margin = attr && \"margin\" in attr ? attr.margin : 5;\n },\n\n /**\n *\n * Relocates the given Figure.\n *\n * @param {Number} index child index of the target\n * @param {draw2d.Figure} target The figure to relocate\n **/\n relocate: function relocate(index, target) {\n var parent = target.getParent();\n var boundingBox = parent.getBoundingBox();\n\n // I made a wrong decision in the port handling: anchor point\n // is in the center and not topLeft. Now I must correct this flaw here, and there, and...\n // shit happens.\n var offset = parent instanceof _packages2.default.Port ? boundingBox.h / 2 : 0;\n\n if (target instanceof _packages2.default.Port) {\n target.setPosition(0, boundingBox.h / 2 - offset);\n } else {\n var targetBoundingBox = target.getBoundingBox();\n target.setPosition(-targetBoundingBox.w - this.margin, boundingBox.h / 2 - targetBoundingBox.h / 2 - offset);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/Locator.js\":\n/*!***************************************!*\\\n !*** ./src/layout/locator/Locator.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _JSONUtil = __webpack_require__(/*! ../../util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @class\n *\n * Controls the location of an IFigure.\n *\n * @author Andreas Herz\n */\n_packages2.default.layout.locator.Locator = Class.extend(\n/** @lends draw2d.layout.locator.Locator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.Locator\",\n\n /**\n * Initial Constructor\n *\n * @param {Object} attr additional init attributes\n * @param {Object} setter key/value map of injected setter-methods\n * @param {Object} getter key/value map of injected getter-methods\n */\n init: function init(attr, setter, getter) {\n\n this.setterWhitelist = (0, _extend2.default)({}, setter);\n this.getterWhitelist = (0, _extend2.default)({}, getter);\n\n // propagate the attr to the new instance\n this.attr(attr);\n },\n\n /**\n *\n * Read or set locator attributes.<br>\n * When no value is given, reads specified attribute from the element.<br>\n * When value is given, sets the attribute to that value.\n * Multiple attributes can be set by passing an object with name-value pairs.\n *\n *\n * // multiple attributes:\n * locator.attr({\n * x: 30,\n * y: 40\n * });\n *\n * let data = locator.attr()\n *\n *\n * @param {String/Object} name\n * @param {Object} [value]\n * @since 5.0.1\n * @experimental\n * @returns {Object} either the requested attribute if this method used as getter or `this` if the method uses as setter\n **/\n attr: function attr(name, value) {\n var _this = this;\n\n // call of attr as setter method with {name1:val1, name2:val2 } argument list\n //\n if ($.isPlainObject(name)) {\n for (var key in name) {\n var func = this.setterWhitelist[key];\n var param = name[key];\n if (func && param !== undefined) {\n func.call(this, param);\n }\n }\n } else if (typeof name === \"string\") {\n // call attr as getter\n //\n if (typeof value === \"undefined\") {\n var getter = this.getterWhitelist[name];\n if (typeof getter === \"function\") {\n return getter.call(this);\n }\n return; // undefined\n }\n\n // the value can be a function. In this case we must call the value().\n if (typeof value === \"function\") {\n value = value();\n }\n var setter = this.setterWhitelist[name];\n if (setter) {\n setter.call(this, value);\n }\n }\n // may it is a array of attributes used for the getter\n //\n else if (Array.isArray(name)) {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(Object.keys(name).map(function (k) {\n return _defineProperty({}, k, _this.attr(k));\n }))));\n }\n // generic getter of all registered attributes\n else if (typeof name === \"undefined\") {\n var result = {};\n for (var _key in this.getterWhitelist) {\n result[_key] = this.getterWhitelist[_key].call(this);\n }\n return result;\n }\n\n return this;\n },\n\n /**\n *\n * Callback method if a child is bounded to a parent. This is\n * the perfect moment to prepare the child node with some basic\n * behaviour which are forced by the <code>Locator</code>\n *\n * @param {draw2d.Figure} figure\n * @param {draw2d.Figure} child\n * @returns {this}\n */\n bind: function bind(figure, child) {\n // default behaviour of an Locator. The child isn't draggable and\n // the locator defines the position of the child.\n //\n child.setDraggable(false);\n child.setSelectable(false);\n\n return this;\n },\n\n /**\n *\n * Callback method if a child is unbounded to the locator.\n *\n * @param {draw2d.Figure} figure\n * @param {draw2d.Figure} child\n * @returns {this}\n */\n unbind: function unbind(figure, child) {\n\n return this;\n },\n\n /**\n *\n * Controls the location of an I{@link draw2d.Figure}\n *\n * @param {Number} index child index of the figure\n * @param {draw2d.Figure} figure the figure to control\n *\n * @private\n **/\n relocate: function relocate(index, figure) {\n // just repaint the child to update the SVG related to the new location\n // of the parent.\n figure.repaint();\n },\n\n /**\n *\n * Return a clone of the locator object\n *\n * @returns {draw2d.layout.locator.Locator}\n */\n clone: function clone() {\n return eval(\"new \" + this.NAME + \"()\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/ManhattanMidpointLocator.js\":\n/*!********************************************************!*\\\n !*** ./src/layout/locator/ManhattanMidpointLocator.js ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A ManhattanMidpointLocator that is used to place figures at the midpoint of a Manhatten routed\n * connection. The midpoint is always in the center of an edge.\n *\n *\n *\n * @example\n *\n * // create and add two Node which contains Ports (In and OUT)\n * let start = new draw2d.shape.node.Start({x:50,y:50});\n * let end = new draw2d.shape.node.End({x:230,y:100});\n *\n * canvas.add( start);\n * canvas.add( end);\n *\n * // Create a Connection and connect the Start and End node\n * //\n * let c = new draw2d.Connection();\n * c.setSource(start.getOutputPort(0));\n * c.setTarget(end.getInputPort(0));\n * canvas.add(c);\n *\n * // create a label which should attach to the connection\n * //\n * let label = new draw2d.shape.basic.Label({text:\"I'm a Label\"});\n * label.setColor(\"#0d0d0d\");\n * label.setFontColor(\"#0d0d0d\");\n * label.setBackgroundColor(\"#f0f0f0\");\n *\n * // add the decoration to the connection with a ManhattanMidpointLocator.\n * //\n * c.add(label, new draw2d.layout.locator.ManhattanMidpointLocator());\n *\n * @author Andreas Herz\n * @extends draw2d.layout.locator.ConnectionLocator\n */\n_packages2.default.layout.locator.ManhattanMidpointLocator = _packages2.default.layout.locator.ConnectionLocator.extend(\n/** @lends draw2d.layout.locator.ManhattanMidpointLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.ManhattanMidpointLocator\",\n\n /**\n * Constructs a ManhattanMidpointLocator with associated Connection c.\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Relocates the given Figure always in the center of an edge.\n *\n * @param {Number} index child index of the target\n * @param {draw2d.Figure} target The figure to relocate\n **/\n relocate: function relocate(index, target) {\n var conn = target.getParent();\n var points = conn.getVertices();\n\n var segmentIndex = Math.floor((points.getSize() - 2) / 2);\n if (points.getSize() <= segmentIndex + 1) return;\n\n var p1 = points.get(segmentIndex);\n var p2 = points.get(segmentIndex + 1);\n\n target.setPosition((p2.x - p1.x) / 2 + p1.x - target.getWidth() / 2 | 0, (p2.y - p1.y) / 2 + p1.y - target.getHeight() / 2 | 0);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/OutputPortLocator.js\":\n/*!*************************************************!*\\\n !*** ./src/layout/locator/OutputPortLocator.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Repositions a Figure attached to a Connection when the\n * Connection is moved. Provides for alignment at the start\n * (source), middle, or end (target) of the Connection.\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.PortLocator\n */\n_packages2.default.layout.locator.OutputPortLocator = _packages2.default.layout.locator.PortLocator.extend(\n/** @lends draw2d.layout.locator.OutputPortLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.OutputPortLocator\",\n\n /**\n * Default constructor for a Locator which can layout a port in context of a\n * {@link draw2d.shape.node.Node}\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Controls the location of an I{@link draw2d.Figure}\n *\n * @param {Number} index child index of the figure\n * @param {draw2d.Figure} figure the figure to control\n *\n * @template\n **/\n relocate: function relocate(index, figure) {\n var node = figure.getParent();\n var dividerFactor = 1;\n var thisNAME = this.NAME;\n var portIndex = 1;\n node.getPorts().each(function (i, p) {\n portIndex = p === figure ? dividerFactor : portIndex;\n dividerFactor += p.getLocator().NAME === thisNAME ? 1 : 0;\n });\n this.applyConsiderRotation(figure, node.getWidth(), node.getHeight() / dividerFactor * portIndex);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/ParallelMidpointLocator.js\":\n/*!*******************************************************!*\\\n !*** ./src/layout/locator/ParallelMidpointLocator.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A ParallelMidpointLocator that is used to place label at the midpoint of a routed\n * connection. The midpoint is always in the center of an edge.\n * The label is aligned to the connection angle at the calculated conection segment.\n *\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.ConnectionLocator\n * @since 4.4.4\n */\n_packages2.default.layout.locator.ParallelMidpointLocator = _packages2.default.layout.locator.ConnectionLocator.extend(\n/** @lends draw2d.layout.locator.ParallelMidpointLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.ParallelMidpointLocator\",\n\n /**\n * Constructs a ParallelMidpointLocator with optional padding to the connection.\n *\n * if the parameter <b>distance</b> is less than zero the label is\n * placed above of the connection. Else the label is below the connection.\n *\n * @param {Object} attr object with {distance: <NUMBER>>} distance of the label to the connection.\n */\n init: function init(attr, setter, getter) {\n this.distance = 0;\n\n this._super((0, _extend2.default)({\n distance: -5\n }, attr), (0, _extend2.default)({\n x: this.setDistance\n }, setter), (0, _extend2.default)({\n distance: this.getDistance\n }, getter));\n },\n\n /**\n * Set the distance to the connection\n *\n * @param {Number} distance the distance to the connection\n * @returns {this}\n */\n setDistance: function setDistance(distance) {\n this.distance = distance;\n return this;\n },\n\n /**\n * Returns the distance to the connection\n *\n * @returns {Number}\n */\n getDistance: function getDistance() {\n return this.distance;\n },\n\n /**\n *\n * Relocates the given Figure always in the center of an edge.\n *\n * @param {Number} index child index of the target\n * @param {draw2d.Figure} target The figure to relocate\n **/\n relocate: function relocate(index, target) {\n var conn = target.getParent();\n var points = conn.getVertices();\n\n var segmentIndex = Math.floor((points.getSize() - 2) / 2);\n if (points.getSize() <= segmentIndex + 1) {\n return;\n }\n\n var p1 = points.get(segmentIndex);\n var p2 = points.get(segmentIndex + 1);\n\n // calculate the distance of the label (above or below the connection)\n var distance = this.distance <= 0 ? this.distance - target.getHeight() : this.distance;\n\n // get the angle of the segment\n var nx = p1.x - p2.x;\n var ny = p1.y - p2.y;\n var length = Math.sqrt(nx * nx + ny * ny);\n var radian = -Math.asin(ny / length);\n var angle = 180 / Math.PI * radian;\n if (radian < 0) {\n if (p2.x < p1.x) {\n radian = Math.abs(radian) + Math.PI;\n angle = 360 - angle;\n distance = -distance - target.getHeight();\n } else {\n radian = Math.PI * 2 - Math.abs(radian);\n angle = 360 + angle;\n }\n } else {\n if (p2.x < p1.x) {\n radian = Math.PI - radian;\n angle = 360 - angle;\n distance = -distance - target.getHeight();\n }\n }\n\n var rotAnchor = this.rotate(length / 2 - target.getWidth() / 2, distance, 0, 0, radian);\n\n // rotate the x/y coordinate with the calculated angle around \"p1\"\n //\n var rotCenterOfLabel = this.rotate(0, 0, target.getWidth() / 2, target.getHeight() / 2, radian);\n\n target.setRotationAngle(angle);\n target.setPosition(rotAnchor.x - rotCenterOfLabel.x + p1.x, rotAnchor.y - rotCenterOfLabel.y + p1.y);\n },\n\n rotate: function rotate(x, y, xm, ym, radian) {\n var cos = Math.cos,\n sin = Math.sin;\n\n // Subtract midpoints, so that midpoint is translated to origin\n // and add it in the end again\n return {\n x: (x - xm) * cos(radian) - (y - ym) * sin(radian) + xm,\n y: (x - xm) * sin(radian) + (y - ym) * cos(radian) + ym\n };\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/PolylineMidpointLocator.js\":\n/*!*******************************************************!*\\\n !*** ./src/layout/locator/PolylineMidpointLocator.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A PolylineMidpointLocator is used to place figures at the midpoint of a routed\n * connection. <br>\n * If the connection did have an odd count of points the figure is located in the center vertex of the polyline.<br>\n * On an even count of junction point, the figure will be center on the middle segment of the ploy line.\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.ManhattanMidpointLocator\n */\n_packages2.default.layout.locator.PolylineMidpointLocator = _packages2.default.layout.locator.ManhattanMidpointLocator.extend(\n/** @lends draw2d.layout.locator.PolylineMidpointLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.PolylineMidpointLocator\",\n\n /**\n * Constructs a ManhattanMidpointLocator with associated Connection c.\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Relocates the given Figure.\n *\n * @param {Number} index child index of the target\n * @param {draw2d.Figure} target The figure to relocate\n **/\n relocate: function relocate(index, target) {\n var conn = target.getParent();\n var points = conn.getVertices();\n\n // it has an event count of points -> use the manhattan algorithm...this is working\n // well in this case\n if (points.getSize() % 2 === 0) {\n this._super(index, target);\n }\n // odd count of points. take the center point as fulcrum\n else {\n var index = Math.floor(points.getSize() / 2);\n var p1 = points.get(index);\n target.setPosition(p1.x - target.getWidth() / 2, p1.y - target.getHeight() / 2);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/PortLocator.js\":\n/*!*******************************************!*\\\n !*** ./src/layout/locator/PortLocator.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * The port locator calculates the position of an port. All ports MUST have a locator\n * if you add them as child to a node.\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.PortLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.PortLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.PortLocator\",\n\n /**\n * Default constructor for a Locator which can layout a port in context of a\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n applyConsiderRotation: function applyConsiderRotation(port, x, y) {\n var parent = port.getParent();\n\n // determine the width/height before manipulate the \n // matrix of the shape\n var halfW = parent.getWidth() / 2;\n var halfH = parent.getHeight() / 2;\n\n var rotAngle = parent.getRotationAngle();\n var m = Raphael.matrix();\n m.rotate(rotAngle, halfW, halfH);\n if (rotAngle === 90 || rotAngle === 270) {\n var ratio = parent.getHeight() / parent.getWidth();\n m.scale(ratio, 1 / ratio, halfW, halfH);\n }\n\n port.setPosition(m.x(x, y), m.y(x, y));\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/RightLocator.js\":\n/*!********************************************!*\\\n !*** ./src/layout/locator/RightLocator.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A RightLocator is used to place figures to the right of a parent shape.\n *\n *\n *\n * @example\n *\n *\n * // create a basic figure and add a Label/child via API call\n * //\n * var end = new draw2d.shape.node.End();\n * end.add(new draw2d.shape.basic.Label({text:\"Right Label\"}), new draw2d.layout.locator.RightLocator({\n * margin: 10 // distance to the parent shape\n * }));\n * canvas.add( end, 50,50);\n *\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.RightLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.RightLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.RightLocator\",\n\n /**\n * Constructs a locator with associated parent.\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.margin = attr && \"margin\" in attr ? attr.margin : 5;\n },\n\n /**\n * \n * Relocates the given Figure.\n *\n * @param {Number} index child index of the target\n * @param {draw2d.Figure} target The figure to relocate\n **/\n relocate: function relocate(index, target) {\n var parent = target.getParent();\n var boundingBox = parent.getBoundingBox();\n\n // I made a wrong decision in the port handling: anchor point\n // is in the center and not topLeft. Now I must correct this flaw here, and there, and...\n // shit happens.\n var offset = parent instanceof _packages2.default.Port ? boundingBox.h / 2 : 0;\n\n if (target instanceof _packages2.default.Port) {\n target.setPosition(boundingBox.w, boundingBox.h / 2 - offset);\n } else {\n var targetBoundingBox = target.getBoundingBox();\n target.setPosition(boundingBox.w + this.margin, boundingBox.h / 2 - targetBoundingBox.h / 2 - offset);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/SmartDraggableLocator.js\":\n/*!*****************************************************!*\\\n !*** ./src/layout/locator/SmartDraggableLocator.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A DraggableLocator is used to place figures relative to the parent nearest corner. It is\n * possible to move a child node via drag&drop.\n *\n *\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.SmartDraggableLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.SmartDraggableLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.SmartDraggableLocator\",\n\n /**\n * Constructs a locator with associated parent.\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n // description see \"bind\" method\n this.boundedCorners = {\n init: false,\n parent: 0,\n child: 0,\n dist: Number.MAX_SAFE_INTEGER,\n xOffset: 0,\n yOffset: 0\n };\n },\n\n bind: function bind(parent, child) {\n var _this = this;\n // determine the best corner of the parent/child node and stick to the calculated corner\n // In the example below it is R1.2 in combination with R2.0\n //\n // 0 1\n // +-----------+\n // | |\n // | R1 |\n // +-----------+\n // 3 2\n //\n // 0 1\n // +-----------+\n // | |\n // | R2 |\n // +-----------+\n // 3 2\n //\n var calcBoundingCorner = function calcBoundingCorner() {\n _this.boundedCorners = {\n init: false,\n parent: 0,\n child: 0,\n dist: Number.MAX_SAFE_INTEGER,\n xOffset: 0,\n yOffset: 0\n };\n var parentVertices = child.getParent().getBoundingBox().getVertices();\n var childVertices = child.getBoundingBox().getVertices();\n var i_parent = void 0,\n i_child = void 0;\n var p1 = void 0,\n p2 = void 0,\n distance = void 0;\n for (i_parent = 0; i_parent < parentVertices.getSize(); i_parent++) {\n for (i_child = 0; i_child < childVertices.getSize(); i_child++) {\n p1 = parentVertices.get(i_parent);\n p2 = childVertices.get(i_child);\n distance = Math.abs(p1.distance(p2));\n if (distance < _this.boundedCorners.dist) {\n _this.boundedCorners = {\n parent: i_parent,\n child: i_child,\n dist: distance,\n xOffset: p1.x - p2.x,\n yOffset: p1.y - p2.y\n };\n }\n }\n }\n _this.boundedCorners.init = true;\n };\n\n // override the parent implementation to avoid\n // that the child is \"!selectable\" and \"!draggable\"\n\n // Don't redirect the selection handling to the parent\n // Using the DraggableLocator provides the ability to the children\n // that they are selectable and draggable. Remove the SelectionAdapter from the parent\n // assignment.\n child.setSelectionAdapter(function () {\n return child;\n });\n\n child.getParent().on(\"added\", calcBoundingCorner);\n child.on(\"dragend\", calcBoundingCorner);\n },\n\n unbind: function unbind(parent, child) {\n // use default\n child.setSelectionAdapter(null);\n },\n\n /**\n * \n * Controls the location of an I{@link draw2d.Figure}\n *\n * @param {Number} index child index of the figure\n * @param {draw2d.Figure} figure the figure to control\n *\n * @template\n **/\n relocate: function relocate(index, figure) {\n this._super(index, figure);\n if (this.boundedCorners.init === true) {\n var parentVertices = figure.getParent().getBoundingBox().getVertices();\n var childVertices = figure.getBoundingBox().getVertices();\n var p1 = parentVertices.get(this.boundedCorners.parent);\n var p2 = childVertices.get(this.boundedCorners.child);\n\n var xOffset = p1.x - p2.x;\n var yOffset = p1.y - p2.y;\n // restore the initial distance from the corner by adding the new offset\n // to the position of the child\n figure.translate(xOffset - this.boundedCorners.xOffset, yOffset - this.boundedCorners.yOffset);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/TopLocator.js\":\n/*!******************************************!*\\\n !*** ./src/layout/locator/TopLocator.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A TopLocator is used to place figures at the top/center of a parent shape.\n *\n *\n *\n * @example\n *\n * // create a basic figure and add a Label/child via API call\n * //\n * let circle = new draw2d.shape.basic.Circle({\n * x:100,\n * y:70,\n * diameter:80,\n * stroke: 3,\n * color:\"#A63343\",\n * bgColor:\"#E65159\"\n * });\n *\n * circle.add(new draw2d.shape.basic.Label({text:\"Top Label\"}), new draw2d.layout.locator.TopLocator());\n * canvas.add( circle);\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.Locator\n */\n_packages2.default.layout.locator.TopLocator = _packages2.default.layout.locator.Locator.extend(\n/** @lends draw2d.layout.locator.TopLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.TopLocator\",\n\n /**\n * Constructs a ManhattanMidpointLocator with associated Connection c.\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Relocates the given Figure.\n *\n * @param {Number} index child index of the target\n * @param {draw2d.Figure} target The figure to relocate\n **/\n relocate: function relocate(index, target) {\n var parent = target.getParent();\n var boundingBox = parent.getBoundingBox();\n\n // I made a wrong decision in the port handling: anchor point\n // is in the center and not topLeft. Now I must correct this flaw here, and there, and...\n // shit happens.\n var offset = parent instanceof _packages2.default.Port ? boundingBox.w / 2 : 0;\n\n var targetBoundingBox = target.getBoundingBox();\n if (target instanceof _packages2.default.Port) {\n target.setPosition(boundingBox.w / 2 - offset, 0);\n } else {\n target.setPosition(boundingBox.w / 2 - targetBoundingBox.w / 2 - offset, -(targetBoundingBox.h + 2));\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/XYAbsPortLocator.js\":\n/*!************************************************!*\\\n !*** ./src/layout/locator/XYAbsPortLocator.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Create a locator for fixed x/y coordinate position. The port in the example below is\n * always 20px below of the top border.\n *\n *\n * @example\n *\n * var figure = new draw2d.shape.basic.Rectangle({x:130,y:30,width:100,height:60});\n * figure.createPort(\"input\", new draw2d.layout.locator.XYAbsPortLocator(0,20));\n *\n * canvas.add(figure);\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.PortLocator\n * @since 4.0.0\n */\n_packages2.default.layout.locator.XYAbsPortLocator = _packages2.default.layout.locator.PortLocator.extend(\n/** @lends draw2d.layout.locator.XYAbsPortLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.XYAbsPortLocator\",\n\n /**\n *\n * {@link draw2d.shape.node.Node}\n *\n * @param {Number} x the x coordinate of the port relative to the left of the parent\n * @param {Number} y the y coordinate of the port relative to the top of the parent\n */\n init: function init(attr, setter, getter) {\n this.x = 0;\n this.y = 0;\n\n this._super(attr, (0, _extend2.default)({\n x: this.setX,\n y: this.setY\n }, setter), (0, _extend2.default)({\n x: this.getX,\n y: this.getY\n }, getter));\n },\n\n /**\n * Set the X Offset for the Locator\n * @param {Number} x\n */\n setX: function setX(x) {\n this.x = x;\n },\n\n /**\n * Set the y-offset of the locator\n *\n * @param {Number} y\n */\n setY: function setY(y) {\n this.y = y;\n },\n\n /**\n * Get the X-Offset of the Locator\n *\n * @returns {Number}\n */\n getX: function getX() {\n return this.x;\n },\n\n /**\n * Returns the Y-Offset of the Locator\n *\n * @returns {Number}\n */\n getY: function getY() {\n return this.y;\n },\n\n /**\n *\n * Controls the location of an {@link draw2d.Figure}\n *\n * @param {Number} index child index of the figure\n * @param {draw2d.Figure} figure the figure to control\n *\n * @template\n **/\n relocate: function relocate(index, figure) {\n this.applyConsiderRotation(figure, this.x, this.y);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/locator/XYRelPortLocator.js\":\n/*!************************************************!*\\\n !*** ./src/layout/locator/XYRelPortLocator.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Create a locator for a relative x/y coordinate position. The coordinates are named in percentage [0..100%]\n * relative to the top/left corner of the parent node.<br>\n * <br>\n * <br>\n * Resize the shape in the example to see what happens. The port top position is always 20% of the shape height.\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.basic.Rectangle({x:130,y:30,width:100,height:60});\n * figure.createPort(\"input\", new draw2d.layout.locator.XYRelPortLocator(0,20));\n *\n * canvas.add(figure);\n *\n *\n * @author Andreas Herz\n * @extend draw2d.layout.locator.PortLocator\n * @since 4.0.0\n */\n_packages2.default.layout.locator.XYRelPortLocator = _packages2.default.layout.locator.PortLocator.extend(\n/** @lends draw2d.layout.locator.XYRelPortLocator.prototype */\n{\n\n NAME: \"draw2d.layout.locator.XYRelPortLocator\",\n\n /**\n *\n *\n * @param {Number} xPercentage the x coordinate in percent of the port relative to the left of the parent\n * @param {Number} yPercentage the y coordinate in percent of the port relative to the top of the parent\n */\n init: function init(attr, setter, getter) {\n // legacy code handling\n // new draw2d.layout.locator.XYRelPortLocator(10,30)\n if (typeof attr === \"number\" && typeof setter === \"number\") {\n this.x = attr;\n this.y = setter;\n this._super();\n }\n // new constructor\n // new draw2d.layout.locator.XYRelPortLocator({x:10, y:30}})\n else {\n this.x = 0;\n this.y = 0;\n this._super(attr, (0, _extend2.default)({\n x: this.setX,\n y: this.setY\n }, setter), (0, _extend2.default)({\n x: this.getX,\n y: this.getY\n }, getter));\n }\n },\n\n /**\n * Set the X Offset for the Locator\n * @param {Number} x\n */\n setX: function setX(x) {\n this.x = x;\n },\n\n /**\n * Set the y-offset of the locator\n *\n * @param {Number} y\n */\n setY: function setY(y) {\n this.y = y;\n },\n\n /**\n * Get the X-Offset of the Locator\n *\n * @returns {Number}\n */\n getX: function getX() {\n return this.x;\n },\n\n /**\n * Returns the Y-Offset of the Locator\n *\n * @returns {Number}\n */\n getY: function getY() {\n return this.y;\n },\n\n /**\n *\n * Controls the location of an I{@link draw2d.Figure}\n *\n * @param {Number} index child index of the figure\n * @param {draw2d.Figure} figure the figure to control\n *\n * @template\n **/\n relocate: function relocate(index, figure) {\n var parent = figure.getParent();\n\n this.applyConsiderRotation(figure, parent.getWidth() / 100 * this.x, parent.getHeight() / 100 * this.y);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/layout/mesh/ExplodeLayouter.js\":\n/*!********************************************!*\\\n !*** ./src/layout/mesh/ExplodeLayouter.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.layout.mesh.ExplodeLayouter = _packages2.default.layout.mesh.MeshLayouter.extend(\n/** @lends draw2d.layout.mesh.ExplodeLayouter.prototype */\n{\n\n MIN_MARGIN: 40,\n\n /**\n * Creates a new layouter object.\n */\n init: function init() {},\n\n /**\n *\n * Return a changes list for an existing mesh/canvas to ensure that the element to insert \n * did have enough space.\n * \n * @param {draw2d.Canvas} canvas the canvas to use for the analytic\n * @param {draw2d.Figure} figure The figure to add to the exising canvas\n * @param {Number} x requested x-position for the figure\n * @param {Number} y requested y-position for the figure\n * \n * \n * @returns {draw2d.util.ArrayList} a list of changes to apply if the user want to insert he figure.\n */\n add: function add(canvas, figureToAdd) {\n // changes for the different octant areas\n var changes = [];\n changes[0] = { x: 0, y: 0 };\n changes[1] = { x: 0, y: 0 };\n changes[2] = { x: 0, y: 0 };\n changes[3] = { x: 0, y: 0 };\n changes[4] = { x: 0, y: 0 };\n changes[5] = { x: 0, y: 0 };\n changes[6] = { x: 0, y: 0 };\n changes[7] = { x: 0, y: 0 };\n changes[8] = { x: 0, y: 0 };\n\n var boundingBox = figureToAdd.getBoundingBox();\n\n var figures = canvas.getFigures();\n var figure = null;\n\n var dis = 0;\n var oct = 0;\n var currentOctChanges = null;\n var i = 0;\n for (i = 0; i < figures.getSize(); i++) {\n\n figure = figures.get(i);\n\n // calculate the distance of all corners in relation to the requested x/y coordinate\n //\n if (figure !== figureToAdd) {\n dis = figure.getBoundingBox().getDistance(boundingBox);\n // other figure is to close\n //\n if (dis < this.MIN_MARGIN) {\n // determine the octant of the figure\n oct = this.determineOctant(boundingBox, figure.getBoundingBox());\n\n // all other relevant segments must be arranged too!!\n //\n switch (oct) {\n case 2:\n changes[2].x = Math.max(changes[2].x, this.MIN_MARGIN - dis);\n changes[3].x = Math.max(changes[3].x, this.MIN_MARGIN - dis);\n changes[4].x = Math.max(changes[4].x, this.MIN_MARGIN - dis);\n break;\n case 3:\n changes[2].x = Math.max(changes[2].x, this.MIN_MARGIN - dis);\n changes[3].x = Math.max(changes[3].x, this.MIN_MARGIN - dis);\n changes[4].x = Math.max(changes[4].x, this.MIN_MARGIN - dis);\n break;\n case 4:\n changes[2].x = Math.max(changes[2].x, this.MIN_MARGIN - dis);\n changes[3].x = Math.max(changes[3].x, this.MIN_MARGIN - dis);\n changes[4].x = Math.max(changes[4].x, this.MIN_MARGIN - dis);\n changes[4].y = Math.max(changes[4].y, this.MIN_MARGIN - dis);\n changes[5].y = Math.max(changes[5].y, this.MIN_MARGIN - dis);\n changes[6].y = Math.max(changes[6].y, this.MIN_MARGIN - dis);\n break;\n case 5:\n changes[4].y = Math.max(changes[4].y, this.MIN_MARGIN - dis);\n changes[5].y = Math.max(changes[5].y, this.MIN_MARGIN - dis);\n changes[6].y = Math.max(changes[6].y, this.MIN_MARGIN - dis);\n break;\n case 6:\n changes[4].y = Math.max(changes[4].y, this.MIN_MARGIN - dis);\n changes[5].y = Math.max(changes[5].y, this.MIN_MARGIN - dis);\n changes[6].y = Math.max(changes[6].y, this.MIN_MARGIN - dis);\n break;\n case 8:\n // overlapping\n // we must determine the new distance with the border of the figures\n dis = boundingBox.getBottomRight().getDistance(figure.getBoundingBox().getTopLeft()) | 0;\n\n changes[2].x = Math.max(changes[2].x, this.MIN_MARGIN + dis);\n changes[3].x = Math.max(changes[3].x, this.MIN_MARGIN + dis);\n changes[4].x = Math.max(changes[4].x, this.MIN_MARGIN + dis);\n changes[4].y = Math.max(changes[4].y, this.MIN_MARGIN + dis);\n changes[5].y = Math.max(changes[5].y, this.MIN_MARGIN + dis);\n changes[6].y = Math.max(changes[6].y, this.MIN_MARGIN + dis);\n changes[8].x = Math.max(changes[8].x, this.MIN_MARGIN + dis);\n // \t\t\t\tchanges[8].y = Math.max(changes[8].y,this.MIN_MARGIN+dis);\n }\n }\n }\n // Falls die minimale Distance zu den Objecten kleiner 80 ist, muss ein layout erfolgen\n }\n\n // calculate the adjustment for each figure\n //\n var result = new _packages2.default.util.ArrayList();\n for (i = 0; i < figures.getSize(); i++) {\n figure = figures.get(i);\n if (figure !== figureToAdd) {\n oct = this.determineOctant(boundingBox, figure.getBoundingBox());\n currentOctChanges = changes[oct];\n if (currentOctChanges.x !== 0 || currentOctChanges.y !== 0) {\n result.add(new _packages2.default.layout.mesh.ProposedMeshChange(figure, currentOctChanges.x, currentOctChanges.y));\n }\n }\n }\n\n return result;\n },\n\n /**\n *\n * Determin Octant\n *\n * 0 | 1 | 2\n * __|___|__\n * 7 | 8 | 3\n * __|___|__\n * 6 | 5 | 4\n *\n * @returns {Number}\n */\n determineOctant: function determineOctant(r1, r2) {\n var ox = r1.x;\n var oy = r1.y;\n var ow = r1.w;\n var oh = r1.h;\n\n var cx = r2.x;\n var cy = r2.y;\n var cw = r2.w;\n var ch = r2.h;\n var oct = 0;\n\n if (cx + cw <= ox) {\n if (cy + ch <= oy) {\n oct = 0;\n } else if (cy >= oy + oh) {\n oct = 6;\n } else {\n oct = 7;\n }\n } else if (cx >= ox + ow) {\n if (cy + ch <= oy) {\n oct = 2;\n } else if (cy >= oy + oh) {\n oct = 4;\n } else {\n oct = 3;\n }\n } else if (cy + ch <= oy) {\n oct = 1;\n } else if (cy >= oy + oh) {\n oct = 5;\n } else {\n oct = 8;\n }\n\n return oct;\n }\n});\n/**\n * @class\n * Routes a {@link draw2d.Connection}, possibly using a constraint.\n *\n * @author Andreas Herz\n * @extend draw2d.layout.mesh.MeshLayouter\n */\n\n/***/ }),\n\n/***/ \"./src/layout/mesh/MeshLayouter.js\":\n/*!*****************************************!*\\\n !*** ./src/layout/mesh/MeshLayouter.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.layout.mesh.MeshLayouter = Class.extend(\n/** @lends draw2d.layout.mesh.MeshLayouter.prototype */\n\n{\n\n /**\n * Creates a new layouter object.\n */\n init: function init() {},\n\n /**\n * \n * Return a changes list for an existing mesh/canvas to ensure that the element to insert\n * did have enough space.\n *\n * @param {draw2d.Canvas} canvas the canvas to use for the analytic\n * @param {draw2d.Figure} figure The figure to add to the exising canvas\n *\n *\n * @returns {draw2d.util.ArrayList} a list of changes to apply if the user want to insert he figure.\n */\n add: function add(canvas, figure) {\n return new _packages2.default.util.ArrayList();\n }\n});\n/**\n * @class\n * Layouter for a mesh or grid.\n *\n * @author Andreas Herz\n */\n\n/***/ }),\n\n/***/ \"./src/layout/mesh/ProposedMeshChange.js\":\n/*!***********************************************!*\\\n !*** ./src/layout/mesh/ProposedMeshChange.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.layout.mesh.ProposedMeshChange = Class.extend(\n/** @lends draw2d.layout.mesh.ProposedMeshChange.prototype */\n\n{\n\n /**\n * Creates change object.\n */\n init: function init(figure, x, y) {\n this.figure = figure;\n this.x = x;\n this.y = y;\n },\n\n /**\n *\n * Return the related figure.\n *\n * @returns {draw2d.Figure} the figure to the related change proposal\n */\n getFigure: function getFigure() {\n return this.figure;\n },\n\n /**\n *\n * The proposed x-coordinate.\n *\n * @returns {Number}\n */\n getX: function getX() {\n return this.x;\n },\n\n /**\n *\n * The proposed y-coordinate\n *\n * @returns {Number}\n */\n getY: function getY() {\n return this.y;\n }\n\n});\n/**\n * @class\n * Change proposal for grid/mesh layout changes.\n *\n * @author Andreas Herz\n */\n\n/***/ }),\n\n/***/ \"./src/lib/Class.exec.js\":\n/*!*******************************!*\\\n !*** ./src/lib/Class.exec.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(/*! !./node_modules/script-loader/addScript.js */ \"./node_modules/script-loader/addScript.js\")(__webpack_require__(/*! !./node_modules/raw-loader!./src/lib/Class.exec.js */ \"./node_modules/raw-loader/index.js!./src/lib/Class.exec.js\"));\n\n/***/ }),\n\n/***/ \"./src/lib/jquery.autoresize.js\":\n/*!**************************************!*\\\n !*** ./src/lib/jquery.autoresize.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n * jQuery.fn.autoResize 1.14\n * --\n * https://github.com/padolsey/jQuery.fn.autoResize\n * --\n * This program is free software. It comes without any warranty, to\n * the extent permitted by applicable law. You can redistribute it\n * and/or modify it under the terms of the Do What The Fuck You Want\n * To Public License, Version 2, as published by Sam Hocevar. See\n * http://sam.zoy.org/wtfpl/COPYING for more details. */\n(function ($) {\n\n\tvar uid = 'ar' + +new Date(),\n\t defaults = autoResize.defaults = {\n\t\tonResize: function onResize() {},\n\t\tonBeforeResize: function onBeforeResize() {\n\t\t\treturn 123;\n\t\t},\n\t\tonAfterResize: function onAfterResize() {\n\t\t\treturn 555;\n\t\t},\n\t\tanimate: {\n\t\t\tduration: 200,\n\t\t\tcomplete: function complete() {}\n\t\t},\n\t\textraSpace: 50,\n\t\tminHeight: 'original',\n\t\tmaxHeight: 500,\n\t\tminWidth: 'original',\n\t\tmaxWidth: 500\n\t};\n\n\tautoResize.cloneCSSProperties = ['lineHeight', 'textDecoration', 'letterSpacing', 'fontSize', 'fontFamily', 'fontStyle', 'fontWeight', 'textTransform', 'textAlign', 'direction', 'wordSpacing', 'fontSizeAdjust', 'paddingTop', 'paddingLeft', 'paddingBottom', 'paddingRight', 'width'];\n\n\tautoResize.cloneCSSValues = {\n\t\tposition: 'absolute',\n\t\ttop: -9999,\n\t\tleft: -9999,\n\t\topacity: 0,\n\t\toverflow: 'hidden'\n\t};\n\n\tautoResize.resizableFilterSelector = ['textarea:not(textarea.' + uid + ')', 'input:not(input[type])', 'input[type=text]', 'input[type=password]', 'input[type=email]', 'input[type=url]'].join(',');\n\n\tautoResize.AutoResizer = AutoResizer;\n\n\t$.fn.autoResize = autoResize;\n\n\tfunction autoResize(config) {\n\t\tthis.filter(autoResize.resizableFilterSelector).each(function () {\n\t\t\tnew AutoResizer($(this), config);\n\t\t});\n\t\treturn this;\n\t}\n\n\tfunction AutoResizer(el, config) {\n\n\t\tif (el.data('AutoResizer')) {\n\t\t\tel.data('AutoResizer').destroy();\n\t\t}\n\n\t\tconfig = this.config = $.extend({}, autoResize.defaults, config);\n\t\tthis.el = el;\n\n\t\tthis.nodeName = el[0].nodeName.toLowerCase();\n\n\t\tthis.originalHeight = el.height();\n\t\tthis.previousScrollTop = null;\n\n\t\tthis.value = el.val();\n\n\t\tif (config.maxWidth === 'original') config.maxWidth = el.width();\n\t\tif (config.minWidth === 'original') config.minWidth = el.width();\n\t\tif (config.maxHeight === 'original') config.maxHeight = el.height();\n\t\tif (config.minHeight === 'original') config.minHeight = el.height();\n\n\t\tif (this.nodeName === 'textarea') {\n\t\t\tel.css({\n\t\t\t\tresize: 'none',\n\t\t\t\toverflowY: 'hidden'\n\t\t\t});\n\t\t}\n\n\t\tel.data('AutoResizer', this);\n\n\t\t// Make sure onAfterResize is called upon animation completion\n\t\tconfig.animate.complete = function (f) {\n\t\t\treturn function () {\n\t\t\t\tconfig.onAfterResize.call(el);\n\t\t\t\treturn f.apply(this, arguments);\n\t\t\t};\n\t\t}(config.animate.complete);\n\n\t\tthis.bind();\n\t}\n\n\tAutoResizer.prototype = {\n\n\t\tbind: function bind() {\n\n\t\t\tvar check = $.proxy(function () {\n\t\t\t\tthis.check();\n\t\t\t\treturn true;\n\t\t\t}, this);\n\n\t\t\tthis.unbind();\n\n\t\t\tthis.el.bind('keyup.autoResize', check)\n\t\t\t//.bind('keydown.autoResize', check)\n\t\t\t.bind('change.autoResize', check).bind('paste.autoResize', function () {\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tcheck();\n\t\t\t\t}, 0);\n\t\t\t});\n\n\t\t\tif (!this.el.is(':hidden')) {\n\t\t\t\tthis.check(null, true);\n\t\t\t}\n\t\t},\n\n\t\tunbind: function unbind() {\n\t\t\tthis.el.unbind('.autoResize');\n\t\t},\n\n\t\tcreateClone: function createClone() {\n\n\t\t\tvar el = this.el,\n\t\t\t clone = this.nodeName === 'textarea' ? el.clone() : $('<span/>');\n\n\t\t\tthis.clone = clone;\n\n\t\t\t$.each(autoResize.cloneCSSProperties, function (i, p) {\n\t\t\t\tclone[0].style[p] = el.css(p);\n\t\t\t});\n\n\t\t\tclone.removeAttr('name').removeAttr('id').addClass(uid).attr('tabIndex', -1).css(autoResize.cloneCSSValues);\n\n\t\t\tif (this.nodeName === 'textarea') {\n\t\t\t\tclone.height('auto');\n\t\t\t} else {\n\t\t\t\tclone.width('auto').css({\n\t\t\t\t\twhiteSpace: 'nowrap'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\tcheck: function check(e, immediate) {\n\n\t\t\tif (!this.clone) {\n\t\t\t\tthis.createClone();\n\t\t\t\tthis.injectClone();\n\t\t\t}\n\n\t\t\tvar config = this.config,\n\t\t\t clone = this.clone,\n\t\t\t el = this.el,\n\t\t\t value = el.val();\n\n\t\t\t// Do nothing if value hasn't changed\n\t\t\tif (value === this.prevValue) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tthis.prevValue = value;\n\n\t\t\tif (this.nodeName === 'input') {\n\n\t\t\t\tclone.text(value);\n\n\t\t\t\t// Calculate new width + whether to change\n\t\t\t\tvar cloneWidth = clone.width(),\n\t\t\t\t newWidth = cloneWidth + config.extraSpace >= config.minWidth ? cloneWidth + config.extraSpace : config.minWidth,\n\t\t\t\t currentWidth = el.width();\n\n\t\t\t\tnewWidth = Math.min(newWidth, config.maxWidth);\n\n\t\t\t\tif (newWidth < currentWidth && newWidth >= config.minWidth || newWidth >= config.minWidth && newWidth <= config.maxWidth) {\n\n\t\t\t\t\tconfig.onBeforeResize.call(el);\n\t\t\t\t\tconfig.onResize.call(el);\n\n\t\t\t\t\tel.scrollLeft(0);\n\n\t\t\t\t\tif (config.animate && !immediate) {\n\t\t\t\t\t\tel.stop(1, 1).animate({\n\t\t\t\t\t\t\twidth: newWidth\n\t\t\t\t\t\t}, config.animate);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tel.width(newWidth);\n\t\t\t\t\t\tconfig.onAfterResize.call(el);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// TEXTAREA\n\n\t\t\tclone.width(el.width()).height(0).val(value).scrollTop(10000);\n\n\t\t\tvar scrollTop = clone[0].scrollTop;\n\n\t\t\tif (!value) {\n\t\t\t\t// empty textarea should be exactly minHeight\n\t\t\t\tscrollTop = config.minHeight;\n\t\t\t\tthis.previousScrollTop = null; // reset state\n\t\t\t} else {\n\t\t\t\t// Don't do anything if scrollTop hasen't changed:\n\t\t\t\tif (this.previousScrollTop === scrollTop) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.previousScrollTop = scrollTop;\n\n\t\t\t\tif (scrollTop + config.extraSpace >= config.maxHeight) {\n\t\t\t\t\tel.css('overflowY', '');\n\t\t\t\t\tscrollTop = config.maxHeight;\n\t\t\t\t\timmediate = true;\n\t\t\t\t} else if (scrollTop + config.extraSpace <= config.minHeight) {\n\t\t\t\t\t// include extraSpace in calculations so the code works correctly\n\t\t\t\t\t// when there are few lines\n\t\t\t\t\tscrollTop = config.minHeight;\n\t\t\t\t} else {\n\t\t\t\t\tel.css('overflowY', 'hidden');\n\t\t\t\t\tscrollTop += config.extraSpace;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconfig.onBeforeResize.call(el);\n\t\t\tconfig.onResize.call(el);\n\n\t\t\t// Either animate or directly apply height:\n\t\t\tif (config.animate && !immediate) {\n\t\t\t\tel.stop(1, 1).animate({\n\t\t\t\t\theight: scrollTop\n\t\t\t\t}, config.animate);\n\t\t\t} else {\n\t\t\t\tel.height(scrollTop);\n\t\t\t\tconfig.onAfterResize.call(el);\n\t\t\t}\n\t\t},\n\n\t\tdestroy: function destroy() {\n\t\t\tthis.unbind();\n\t\t\tthis.el.removeData('AutoResizer');\n\t\t\tthis.clone.remove();\n\t\t\tdelete this.el;\n\t\t\tdelete this.clone;\n\t\t},\n\n\t\tinjectClone: function injectClone() {\n\t\t\t(autoResize.cloneContainer || (autoResize.cloneContainer = $('<arclones/>').appendTo('body'))).append(this.clone);\n\t\t}\n\n\t};\n})(jQuery);\n\n/***/ }),\n\n/***/ \"./src/lib/jquery.contextmenu.js\":\n/*!***************************************!*\\\n !*** ./src/lib/jquery.contextmenu.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*!\n * jQuery contextMenu - Plugin for simple contextMenu handling\n *\n * Version: 1.6.5\n *\n * Authors: Rodney Rehm, Addy Osmani (patches for FF)\n * Web: http://medialize.github.com/jQuery-contextMenu/\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n * GPL v3 http://opensource.org/licenses/GPL-3.0\n *\n */\n(function ($, undefined) {\n\n // TODO: -\n // ARIA stuff: menuitem, menuitemcheckbox und menuitemradio\n // create <menu> structure if $.support[htmlCommand || htmlMenuitem] and !opt.disableNative\n\n // determine html5 compatibility\n $.support.htmlMenuitem = 'HTMLMenuItemElement' in window;\n $.support.htmlCommand = 'HTMLCommandElement' in window;\n $.support.eventSelectstart = \"onselectstart\" in document.documentElement;\n /* // should the need arise, test for css user-select\n $.support.cssUserSelect = (function(){\n var t = false,\n e = document.createElement('div');\n \n $.each('Moz|Webkit|Khtml|O|ms|Icab|'.split('|'), function(i, prefix) {\n var propCC = prefix + (prefix ? 'U' : 'u') + 'serSelect',\n prop = (prefix ? ('-' + prefix.toLowerCase() + '-') : '') + 'user-select';\n \n e.style.cssText = prop + ': text;';\n if (e.style[propCC] == 'text') {\n t = true;\n return false;\n }\n \n return true;\n });\n \n return t;\n })();\n */\n\n if (!$.ui || !$.ui.widget) {\n // duck punch $.cleanData like jQueryUI does to get that remove event\n // https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js#L16-24\n var _cleanData = $.cleanData;\n $.cleanData = function (elems) {\n for (var i = 0, elem; (elem = elems[i]) != null; i++) {\n try {\n $(elem).triggerHandler(\"remove\");\n // http://bugs.jquery.com/ticket/8235\n } catch (e) {}\n }\n _cleanData(elems);\n };\n }\n\n var // currently active contextMenu trigger\n $currentTrigger = null,\n\n // is contextMenu initialized with at least one menu?\n initialized = false,\n\n // window handle\n $win = $(window),\n\n // number of registered menus\n counter = 0,\n\n // mapping selector to namespace\n namespaces = {},\n\n // mapping namespace to options\n menus = {},\n\n // custom command type handlers\n types = {},\n\n // default values\n defaults = {\n // selector of contextMenu trigger\n selector: null,\n // where to append the menu to\n appendTo: null,\n // method to trigger context menu [\"right\", \"left\", \"hover\"]\n trigger: \"right\",\n // hide menu when mouse leaves trigger / menu elements\n autoHide: false,\n // ms to wait before showing a hover-triggered context menu\n delay: 200,\n // flag denoting if a second trigger should simply move (true) or rebuild (false) an open menu\n // as long as the trigger happened on one of the trigger-element's child nodes\n reposition: false,\n // determine position to show menu at\n determinePosition: function determinePosition($menu) {\n // position to the lower middle of the trigger element\n if ($.ui && $.ui.position) {\n // .position() is provided as a jQuery UI utility\n // (...and it won't work on hidden elements)\n $menu.css('display', 'block').position({\n my: \"center top\",\n at: \"center bottom\",\n of: this,\n offset: \"0 5\",\n collision: \"fit\"\n }).css('display', 'none');\n } else {\n // determine contextMenu position\n var offset = this.offset();\n offset.top += this.outerHeight();\n offset.left += this.outerWidth() / 2 - $menu.outerWidth() / 2;\n $menu.css(offset);\n }\n },\n // position menu\n position: function position(opt, x, y) {\n var $this = this,\n offset;\n // determine contextMenu position\n if (!x && !y) {\n opt.determinePosition.call(this, opt.$menu);\n return;\n } else if (x === \"maintain\" && y === \"maintain\") {\n // x and y must not be changed (after re-show on command click)\n offset = opt.$menu.position();\n } else {\n // x and y are given (by mouse event)\n offset = { top: y, left: x };\n }\n\n // correct offset if viewport demands it\n var bottom = $win.scrollTop() + $win.height(),\n right = $win.scrollLeft() + $win.width(),\n height = opt.$menu.height(),\n width = opt.$menu.width();\n\n if (offset.top + height > bottom) {\n offset.top -= height;\n }\n\n if (offset.left + width > right) {\n offset.left -= width;\n }\n\n opt.$menu.css(offset);\n },\n // position the sub-menu\n positionSubmenu: function positionSubmenu($menu) {\n if ($.ui && $.ui.position) {\n // .position() is provided as a jQuery UI utility\n // (...and it won't work on hidden elements)\n $menu.css('display', 'block').position({\n my: \"left top\",\n at: \"right top\",\n of: this,\n collision: \"flipfit fit\"\n }).css('display', '');\n } else {\n // determine contextMenu position\n var offset = {\n top: 0,\n left: this.outerWidth()\n };\n $menu.css(offset);\n }\n },\n // offset to add to zIndex\n zIndex: 1,\n // show hide animation settings\n animation: {\n duration: 50,\n show: 'slideDown',\n hide: 'slideUp'\n },\n // events\n events: {\n show: $.noop,\n hide: $.noop\n },\n // default callback\n callback: null,\n // list of contextMenu items\n items: {}\n },\n\n // mouse position for hover activation\n hoveract = {\n timer: null,\n pageX: null,\n pageY: null\n },\n\n // determine zIndex\n zindex = function zindex($t) {\n var zin = 0,\n $tt = $t;\n\n while (true) {\n zin = Math.max(zin, parseInt($tt.css('z-index'), 10) || 0);\n $tt = $tt.parent();\n if (!$tt || !$tt.length || \"html body\".indexOf($tt.prop('nodeName').toLowerCase()) > -1) {\n break;\n }\n }\n\n return zin;\n },\n\n // event handlers\n handle = {\n // abort anything\n abortevent: function abortevent(e) {\n e.preventDefault();\n e.stopImmediatePropagation();\n },\n\n // contextmenu show dispatcher\n contextmenu: function contextmenu(e) {\n var $this = $(this);\n\n // disable actual context-menu\n e.preventDefault();\n e.stopImmediatePropagation();\n\n // abort native-triggered events unless we're triggering on right click\n if (e.data.trigger != 'right' && e.originalEvent) {\n return;\n }\n\n // abort event if menu is visible for this trigger\n if ($this.hasClass('context-menu-active')) {\n return;\n }\n\n if (!$this.hasClass('context-menu-disabled')) {\n // theoretically need to fire a show event at <menu>\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#context-menus\n // var evt = jQuery.Event(\"show\", { data: data, pageX: e.pageX, pageY: e.pageY, relatedTarget: this });\n // e.data.$menu.trigger(evt);\n\n $currentTrigger = $this;\n if (e.data.build) {\n var built = e.data.build($currentTrigger, e);\n // abort if build() returned false\n if (built === false) {\n return;\n }\n\n // dynamically build menu on invocation\n e.data = $.extend(true, {}, defaults, e.data, built || {});\n\n // abort if there are no items to display\n if (!e.data.items || $.isEmptyObject(e.data.items)) {\n // Note: jQuery captures and ignores errors from event handlers\n if (window.console) {\n (console.error || console.log)(\"No items specified to show in contextMenu\");\n }\n\n throw new Error('No Items sepcified');\n }\n\n // backreference for custom command type creation\n e.data.$trigger = $currentTrigger;\n\n op.create(e.data);\n }\n // show menu\n op.show.call($this, e.data, e.pageX, e.pageY);\n }\n },\n // contextMenu left-click trigger\n click: function click(e) {\n e.preventDefault();\n e.stopImmediatePropagation();\n $(this).trigger($.Event(\"contextmenu\", { data: e.data, pageX: e.pageX, pageY: e.pageY }));\n },\n // contextMenu right-click trigger\n mousedown: function mousedown(e) {\n // register mouse down\n var $this = $(this);\n\n // hide any previous menus\n if ($currentTrigger && $currentTrigger.length && !$currentTrigger.is($this)) {\n $currentTrigger.data('contextMenu').$menu.trigger('contextmenu:hide');\n }\n\n // activate on right click\n if (e.button == 2) {\n $currentTrigger = $this.data('contextMenuActive', true);\n }\n },\n // contextMenu right-click trigger\n mouseup: function mouseup(e) {\n // show menu\n var $this = $(this);\n if ($this.data('contextMenuActive') && $currentTrigger && $currentTrigger.length && $currentTrigger.is($this) && !$this.hasClass('context-menu-disabled')) {\n e.preventDefault();\n e.stopImmediatePropagation();\n $currentTrigger = $this;\n $this.trigger($.Event(\"contextmenu\", { data: e.data, pageX: e.pageX, pageY: e.pageY }));\n }\n\n $this.removeData('contextMenuActive');\n },\n // contextMenu hover trigger\n mouseenter: function mouseenter(e) {\n var $this = $(this),\n $related = $(e.relatedTarget),\n $document = $(document);\n\n // abort if we're coming from a menu\n if ($related.is('.context-menu-list') || $related.closest('.context-menu-list').length) {\n return;\n }\n\n // abort if a menu is shown\n if ($currentTrigger && $currentTrigger.length) {\n return;\n }\n\n hoveract.pageX = e.pageX;\n hoveract.pageY = e.pageY;\n hoveract.data = e.data;\n $document.on('mousemove.contextMenuShow', handle.mousemove);\n hoveract.timer = setTimeout(function () {\n hoveract.timer = null;\n $document.off('mousemove.contextMenuShow');\n $currentTrigger = $this;\n $this.trigger($.Event(\"contextmenu\", { data: hoveract.data, pageX: hoveract.pageX, pageY: hoveract.pageY }));\n }, e.data.delay);\n },\n // contextMenu hover trigger\n mousemove: function mousemove(e) {\n hoveract.pageX = e.pageX;\n hoveract.pageY = e.pageY;\n },\n // contextMenu hover trigger\n mouseleave: function mouseleave(e) {\n // abort if we're leaving for a menu\n var $related = $(e.relatedTarget);\n if ($related.is('.context-menu-list') || $related.closest('.context-menu-list').length) {\n return;\n }\n\n try {\n clearTimeout(hoveract.timer);\n } catch (e) {}\n\n hoveract.timer = null;\n },\n\n // click on layer to hide contextMenu\n layerClick: function layerClick(e) {\n var $this = $(this),\n root = $this.data('contextMenuRoot'),\n mouseup = false,\n button = e.button,\n x = e.pageX,\n y = e.pageY,\n target,\n offset,\n selectors;\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n setTimeout(function () {\n var $window, hideshow, possibleTarget;\n var triggerAction = root.trigger == 'left' && button === 0 || root.trigger == 'right' && button === 2;\n\n // find the element that would've been clicked, wasn't the layer in the way\n if (document.elementFromPoint) {\n root.$layer.hide();\n target = document.elementFromPoint(x - $win.scrollLeft(), y - $win.scrollTop());\n root.$layer.show();\n }\n\n if (root.reposition && triggerAction) {\n if (document.elementFromPoint) {\n if (root.$trigger.is(target) || root.$trigger.has(target).length) {\n root.position.call(root.$trigger, root, x, y);\n return;\n }\n } else {\n offset = root.$trigger.offset();\n $window = $(window);\n // while this looks kinda awful, it's the best way to avoid\n // unnecessarily calculating any positions\n offset.top += $window.scrollTop();\n if (offset.top <= e.pageY) {\n offset.left += $window.scrollLeft();\n if (offset.left <= e.pageX) {\n offset.bottom = offset.top + root.$trigger.outerHeight();\n if (offset.bottom >= e.pageY) {\n offset.right = offset.left + root.$trigger.outerWidth();\n if (offset.right >= e.pageX) {\n // reposition\n root.position.call(root.$trigger, root, x, y);\n return;\n }\n }\n }\n }\n }\n }\n\n if (target && triggerAction) {\n root.$trigger.one('contextmenu:hidden', function () {\n $(target).contextMenu({ x: x, y: y });\n });\n }\n\n root.$menu.trigger('contextmenu:hide');\n }, 50);\n },\n // key handled :hover\n keyStop: function keyStop(e, opt) {\n if (!opt.isInput) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n },\n key: function key(e) {\n var opt = $currentTrigger.data('contextMenu') || {};\n\n switch (e.keyCode) {\n case 9:\n case 38:\n // up\n handle.keyStop(e, opt);\n // if keyCode is [38 (up)] or [9 (tab) with shift]\n if (opt.isInput) {\n if (e.keyCode == 9 && e.shiftKey) {\n e.preventDefault();\n opt.$selected && opt.$selected.find('input, textarea, select').blur();\n opt.$menu.trigger('prevcommand');\n return;\n } else if (e.keyCode == 38 && opt.$selected.find('input, textarea, select').prop('type') == 'checkbox') {\n // checkboxes don't capture this key\n e.preventDefault();\n return;\n }\n } else if (e.keyCode != 9 || e.shiftKey) {\n opt.$menu.trigger('prevcommand');\n return;\n }\n // omitting break;\n\n // case 9: // tab - reached through omitted break;\n case 40:\n // down\n handle.keyStop(e, opt);\n if (opt.isInput) {\n if (e.keyCode == 9) {\n e.preventDefault();\n opt.$selected && opt.$selected.find('input, textarea, select').blur();\n opt.$menu.trigger('nextcommand');\n return;\n } else if (e.keyCode == 40 && opt.$selected.find('input, textarea, select').prop('type') == 'checkbox') {\n // checkboxes don't capture this key\n e.preventDefault();\n return;\n }\n } else {\n opt.$menu.trigger('nextcommand');\n return;\n }\n break;\n\n case 37:\n // left\n handle.keyStop(e, opt);\n if (opt.isInput || !opt.$selected || !opt.$selected.length) {\n break;\n }\n\n if (!opt.$selected.parent().hasClass('context-menu-root')) {\n var $parent = opt.$selected.parent().parent();\n opt.$selected.trigger('contextmenu:blur');\n opt.$selected = $parent;\n return;\n }\n break;\n\n case 39:\n // right\n handle.keyStop(e, opt);\n if (opt.isInput || !opt.$selected || !opt.$selected.length) {\n break;\n }\n\n var itemdata = opt.$selected.data('contextMenu') || {};\n if (itemdata.$menu && opt.$selected.hasClass('context-menu-submenu')) {\n opt.$selected = null;\n itemdata.$selected = null;\n itemdata.$menu.trigger('nextcommand');\n return;\n }\n break;\n\n case 35: // end\n case 36:\n // home\n if (opt.$selected && opt.$selected.find('input, textarea, select').length) {\n return;\n } else {\n (opt.$selected && opt.$selected.parent() || opt.$menu).children(':not(.disabled, .not-selectable)')[e.keyCode == 36 ? 'first' : 'last']().trigger('contextmenu:focus');\n e.preventDefault();\n return;\n }\n break;\n\n case 13:\n // enter\n handle.keyStop(e, opt);\n if (opt.isInput) {\n if (opt.$selected && !opt.$selected.is('textarea, select')) {\n e.preventDefault();\n return;\n }\n break;\n }\n opt.$selected && opt.$selected.trigger('mouseup');\n return;\n\n case 32: // space\n case 33: // page up\n case 34:\n // page down\n // prevent browser from scrolling down while menu is visible\n handle.keyStop(e, opt);\n return;\n\n case 27:\n // esc\n handle.keyStop(e, opt);\n opt.$menu.trigger('contextmenu:hide');\n return;\n\n default:\n // 0-9, a-z\n var k = String.fromCharCode(e.keyCode).toUpperCase();\n if (opt.accesskeys[k]) {\n // according to the specs accesskeys must be invoked immediately\n opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu ? 'contextmenu:focus' : 'mouseup');\n return;\n }\n break;\n }\n // pass event to selected item,\n // stop propagation to avoid endless recursion\n e.stopPropagation();\n opt.$selected && opt.$selected.trigger(e);\n },\n\n // select previous possible command in menu\n prevItem: function prevItem(e) {\n e.stopPropagation();\n var opt = $(this).data('contextMenu') || {};\n\n // obtain currently selected menu\n if (opt.$selected) {\n var $s = opt.$selected;\n opt = opt.$selected.parent().data('contextMenu') || {};\n opt.$selected = $s;\n }\n\n var $children = opt.$menu.children(),\n $prev = !opt.$selected || !opt.$selected.prev().length ? $children.last() : opt.$selected.prev(),\n $round = $prev;\n\n // skip disabled\n while ($prev.hasClass('disabled') || $prev.hasClass('not-selectable')) {\n if ($prev.prev().length) {\n $prev = $prev.prev();\n } else {\n $prev = $children.last();\n }\n if ($prev.is($round)) {\n // break endless loop\n return;\n }\n }\n\n // leave current\n if (opt.$selected) {\n handle.itemMouseleave.call(opt.$selected.get(0), e);\n }\n\n // activate next\n handle.itemMouseenter.call($prev.get(0), e);\n\n // focus input\n var $input = $prev.find('input, textarea, select');\n if ($input.length) {\n $input.focus();\n }\n },\n // select next possible command in menu\n nextItem: function nextItem(e) {\n e.stopPropagation();\n var opt = $(this).data('contextMenu') || {};\n\n // obtain currently selected menu\n if (opt.$selected) {\n var $s = opt.$selected;\n opt = opt.$selected.parent().data('contextMenu') || {};\n opt.$selected = $s;\n }\n\n var $children = opt.$menu.children(),\n $next = !opt.$selected || !opt.$selected.next().length ? $children.first() : opt.$selected.next(),\n $round = $next;\n\n // skip disabled\n while ($next.hasClass('disabled') || $next.hasClass('not-selectable')) {\n if ($next.next().length) {\n $next = $next.next();\n } else {\n $next = $children.first();\n }\n if ($next.is($round)) {\n // break endless loop\n return;\n }\n }\n\n // leave current\n if (opt.$selected) {\n handle.itemMouseleave.call(opt.$selected.get(0), e);\n }\n\n // activate next\n handle.itemMouseenter.call($next.get(0), e);\n\n // focus input\n var $input = $next.find('input, textarea, select');\n if ($input.length) {\n $input.focus();\n }\n },\n\n // flag that we're inside an input so the key handler can act accordingly\n focusInput: function focusInput(e) {\n var $this = $(this).closest('.context-menu-item'),\n data = $this.data(),\n opt = data.contextMenu,\n root = data.contextMenuRoot;\n\n root.$selected = opt.$selected = $this;\n root.isInput = opt.isInput = true;\n },\n // flag that we're inside an input so the key handler can act accordingly\n blurInput: function blurInput(e) {\n var $this = $(this).closest('.context-menu-item'),\n data = $this.data(),\n opt = data.contextMenu,\n root = data.contextMenuRoot;\n\n root.isInput = opt.isInput = false;\n },\n\n // :hover on menu\n menuMouseenter: function menuMouseenter(e) {\n var root = $(this).data().contextMenuRoot;\n if (root) root.hovering = true;\n },\n // :hover on menu\n menuMouseleave: function menuMouseleave(e) {\n var root = $(this).data().contextMenuRoot;\n if (root && root.$layer && root.$layer.is(e.relatedTarget)) {\n root.hovering = false;\n }\n },\n\n // :hover done manually so key handling is possible\n itemMouseenter: function itemMouseenter(e) {\n var $this = $(this),\n data = $this.data(),\n opt = data.contextMenu,\n root = data.contextMenuRoot;\n\n if (!root) return;\n\n root.hovering = true;\n\n // abort if we're re-entering\n if (e && root.$layer && root.$layer.is(e.relatedTarget)) {\n e.preventDefault();\n e.stopImmediatePropagation();\n }\n\n // make sure only one item is selected\n (opt.$menu ? opt : root).$menu.children('.hover').trigger('contextmenu:blur');\n\n if ($this.hasClass('disabled') || $this.hasClass('not-selectable')) {\n opt.$selected = null;\n return;\n }\n\n $this.trigger('contextmenu:focus');\n },\n // :hover done manually so key handling is possible\n itemMouseleave: function itemMouseleave(e) {\n var $this = $(this),\n data = $this.data(),\n opt = data.contextMenu,\n root = data.contextMenuRoot;\n\n if (root && root !== opt && root.$layer && root.$layer.is(e.relatedTarget)) {\n root.$selected && root.$selected.trigger('contextmenu:blur');\n e.preventDefault();\n e.stopImmediatePropagation();\n root.$selected = opt.$selected = opt.$node;\n return;\n }\n\n $this.trigger('contextmenu:blur');\n },\n // contextMenu item click\n itemClick: function itemClick(e) {\n var $this = $(this),\n data = $this.data(),\n opt = data.contextMenu,\n root = data.contextMenuRoot,\n key = data.contextMenuKey,\n callback;\n\n // abort if the key is unknown or disabled or is a menu\n if (!opt.items[key] || $this.is('.disabled, .context-menu-submenu, .context-menu-separator, .not-selectable')) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n if ($.isFunction(root.callbacks[key]) && Object.prototype.hasOwnProperty.call(root.callbacks, key)) {\n // item-specific callback\n callback = root.callbacks[key];\n } else if ($.isFunction(root.callback)) {\n // default callback\n callback = root.callback;\n } else {\n // no callback, no action\n return;\n }\n\n // hide menu if callback doesn't stop that\n if (callback.call(root.$trigger, key, root) !== false) {\n root.$menu.trigger('contextmenu:hide');\n } else if (root.$menu.parent().length) {\n op.update.call(root.$trigger, root);\n }\n },\n // ignore click events on input elements\n inputClick: function inputClick(e) {\n e.stopImmediatePropagation();\n },\n\n // hide <menu>\n hideMenu: function hideMenu(e, data) {\n var root = $(this).data('contextMenuRoot');\n op.hide.call(root.$trigger, root, data && data.force);\n },\n // focus <command>\n focusItem: function focusItem(e) {\n e.stopPropagation();\n var $this = $(this),\n data = $this.data(),\n opt = data.contextMenu,\n root = data.contextMenuRoot;\n\n $this.addClass('hover').siblings('.hover').trigger('contextmenu:blur');\n\n // remember selected\n opt.$selected = root.$selected = $this;\n\n // position sub-menu - do after show so dumb $.ui.position can keep up\n if (opt.$node) {\n root.positionSubmenu.call(opt.$node, opt.$menu);\n }\n },\n // blur <command>\n blurItem: function blurItem(e) {\n e.stopPropagation();\n var $this = $(this),\n data = $this.data(),\n opt = data.contextMenu;\n\n $this.removeClass('hover');\n if (opt) opt.$selected = null;\n }\n },\n\n // operations\n op = {\n show: function show(opt, x, y) {\n var $trigger = $(this),\n offset,\n css = {};\n\n // hide any open menus\n $('#context-menu-layer').trigger('mousedown');\n\n // backreference for callbacks\n opt.$trigger = $trigger;\n\n // show event\n if (opt.events.show.call($trigger, opt) === false) {\n $currentTrigger = null;\n return;\n }\n\n // create or update context menu\n op.update.call($trigger, opt);\n\n // position menu\n opt.position.call($trigger, opt, x, y);\n\n // make sure we're in front\n if (opt.zIndex) {\n css.zIndex = zindex($trigger) + opt.zIndex;\n }\n\n // add layer\n op.layer.call(opt.$menu, opt, css.zIndex);\n\n // adjust sub-menu zIndexes\n opt.$menu.find('ul').css('zIndex', css.zIndex + 1);\n\n // position and show context menu\n opt.$menu.css(css)[opt.animation.show](opt.animation.duration, function () {\n $trigger.trigger('contextmenu:visible');\n });\n // make options available and set state\n $trigger.data('contextMenu', opt).addClass(\"context-menu-active\");\n\n // register key handler\n $(document).off('keydown.contextMenu').on('keydown.contextMenu', handle.key);\n // register autoHide handler\n if (opt.autoHide) {\n // mouse position handler\n $(document).on('mousemove.contextMenuAutoHide', function (e) {\n // need to capture the offset on mousemove,\n // since the page might've been scrolled since activation\n var pos = $trigger.offset();\n pos.right = pos.left + $trigger.outerWidth();\n pos.bottom = pos.top + $trigger.outerHeight();\n\n if (opt.$layer && !opt.hovering && (!(e.pageX >= pos.left && e.pageX <= pos.right) || !(e.pageY >= pos.top && e.pageY <= pos.bottom))) {\n // if mouse in menu...\n opt.$menu.trigger('contextmenu:hide');\n }\n });\n }\n },\n hide: function hide(opt, force) {\n var $trigger = $(this);\n if (!opt) {\n opt = $trigger.data('contextMenu') || {};\n }\n\n // hide event\n if (!force && opt.events && opt.events.hide.call($trigger, opt) === false) {\n return;\n }\n\n // remove options and revert state\n $trigger.removeData('contextMenu').removeClass(\"context-menu-active\");\n\n if (opt.$layer) {\n // keep layer for a bit so the contextmenu event can be aborted properly by opera\n setTimeout(function ($layer) {\n return function () {\n $layer.remove();\n };\n }(opt.$layer), 10);\n\n try {\n delete opt.$layer;\n } catch (e) {\n opt.$layer = null;\n }\n }\n\n // remove handle\n $currentTrigger = null;\n // remove selected\n opt.$menu.find('.hover').trigger('contextmenu:blur');\n opt.$selected = null;\n // unregister key and mouse handlers\n //$(document).off('.contextMenuAutoHide keydown.contextMenu'); // http://bugs.jquery.com/ticket/10705\n $(document).off('.contextMenuAutoHide').off('keydown.contextMenu');\n // hide menu\n opt.$menu && opt.$menu[opt.animation.hide](opt.animation.duration, function () {\n // tear down dynamically built menu after animation is completed.\n if (opt.build) {\n opt.$menu.remove();\n $.each(opt, function (key, value) {\n switch (key) {\n case 'ns':\n case 'selector':\n case 'build':\n case 'trigger':\n return true;\n\n default:\n opt[key] = undefined;\n try {\n delete opt[key];\n } catch (e) {}\n return true;\n }\n });\n }\n\n setTimeout(function () {\n $trigger.trigger('contextmenu:hidden');\n }, 10);\n });\n },\n create: function create(opt, root) {\n if (root === undefined) {\n root = opt;\n }\n // create contextMenu\n opt.$menu = $('<ul class=\"context-menu-list\"></ul>').addClass(opt.className || \"\").data({\n 'contextMenu': opt,\n 'contextMenuRoot': root\n });\n\n $.each(['callbacks', 'commands', 'inputs'], function (i, k) {\n opt[k] = {};\n if (!root[k]) {\n root[k] = {};\n }\n });\n\n root.accesskeys || (root.accesskeys = {});\n\n // create contextMenu items\n $.each(opt.items, function (key, item) {\n var $t = $('<li class=\"context-menu-item\"></li>').addClass(item.className || \"\"),\n $label = null,\n $input = null;\n\n // iOS needs to see a click-event bound to an element to actually\n // have the TouchEvents infrastructure trigger the click event\n $t.on('click', $.noop);\n\n if (typeof item !== \"string\") {\n item.$node = $t.data({\n 'contextMenu': opt,\n 'contextMenuRoot': root,\n 'contextMenuKey': key\n });\n }\n\n // register accesskey\n // NOTE: the accesskey attribute should be applicable to any element, but Safari5 and Chrome13 still can't do that\n if (item.accesskey) {\n var aks = splitAccesskey(item.accesskey);\n for (var i = 0, ak; ak = aks[i]; i++) {\n if (!root.accesskeys[ak]) {\n root.accesskeys[ak] = item;\n item._name = item.name.replace(new RegExp('(' + ak + ')', 'i'), '<span class=\"context-menu-accesskey\">$1</span>');\n break;\n }\n }\n }\n\n if (typeof item == \"string\") {\n $t.addClass('context-menu-separator not-selectable');\n } else if (item.type && types[item.type]) {\n // run custom type handler\n types[item.type].call($t, item, opt, root);\n // register commands\n $.each([opt, root], function (i, k) {\n k.commands[key] = item;\n if ($.isFunction(item.callback)) {\n k.callbacks[key] = item.callback;\n }\n });\n } else {\n // add label for input\n if (item.type == 'html') {\n $t.addClass('context-menu-html not-selectable');\n } else if (item.type) {\n $label = $('<label></label>').appendTo($t);\n $('<span></span>').html(item._name || item.name).appendTo($label);\n $t.addClass('context-menu-input');\n opt.hasTypes = true;\n $.each([opt, root], function (i, k) {\n k.commands[key] = item;\n k.inputs[key] = item;\n });\n } else if (item.items) {\n item.type = 'sub';\n }\n\n switch (item.type) {\n case 'text':\n $input = $('<input type=\"text\" value=\"1\" name=\"\" value=\"\">').attr('name', 'context-menu-input-' + key).val(item.value || \"\").appendTo($label);\n break;\n\n case 'textarea':\n $input = $('<textarea name=\"\"></textarea>').attr('name', 'context-menu-input-' + key).val(item.value || \"\").appendTo($label);\n\n if (item.height) {\n $input.height(item.height);\n }\n break;\n\n case 'checkbox':\n $input = $('<input type=\"checkbox\" value=\"1\" name=\"\" value=\"\">').attr('name', 'context-menu-input-' + key).val(item.value || \"\").prop(\"checked\", !!item.selected).prependTo($label);\n break;\n\n case 'radio':\n $input = $('<input type=\"radio\" value=\"1\" name=\"\" value=\"\">').attr('name', 'context-menu-input-' + item.radio).val(item.value || \"\").prop(\"checked\", !!item.selected).prependTo($label);\n break;\n\n case 'select':\n $input = $('<select name=\"\">').attr('name', 'context-menu-input-' + key).appendTo($label);\n if (item.options) {\n $.each(item.options, function (value, text) {\n $('<option></option>').val(value).text(text).appendTo($input);\n });\n $input.val(item.selected);\n }\n break;\n\n case 'sub':\n // FIXME: shouldn't this .html() be a .text()?\n $('<span></span>').html(item._name || item.name).appendTo($t);\n item.appendTo = item.$node;\n op.create(item, root);\n $t.data('contextMenu', item).addClass('context-menu-submenu');\n item.callback = null;\n break;\n\n case 'html':\n $(item.html).appendTo($t);\n break;\n\n default:\n $.each([opt, root], function (i, k) {\n k.commands[key] = item;\n if ($.isFunction(item.callback)) {\n k.callbacks[key] = item.callback;\n }\n });\n // FIXME: shouldn't this .html() be a .text()?\n $('<span></span>').html(item._name || item.name || \"\").appendTo($t);\n break;\n }\n\n // disable key listener in <input>\n if (item.type && item.type != 'sub' && item.type != 'html') {\n $input.on('focus', handle.focusInput).on('blur', handle.blurInput);\n\n if (item.events) {\n $input.on(item.events, opt);\n }\n }\n\n // add icons\n if (item.icon) {\n $t.addClass(\"icon icon-\" + item.icon);\n }\n }\n\n // cache contained elements\n if (typeof item !== \"string\") {\n item.$input = $input;\n item.$label = $label;\n }\n\n // attach item to menu\n $t.appendTo(opt.$menu);\n\n // Disable text selection\n if (!opt.hasTypes && $.support.eventSelectstart) {\n // browsers support user-select: none,\n // IE has a special event for text-selection\n // browsers supporting neither will not be preventing text-selection\n $t.on('selectstart.disableTextSelect', handle.abortevent);\n }\n });\n // attach contextMenu to <body> (to bypass any possible overflow:hidden issues on parents of the trigger element)\n if (!opt.$node) {\n opt.$menu.css('display', 'none').addClass('context-menu-root');\n }\n opt.$menu.appendTo(opt.appendTo || document.body);\n },\n resize: function resize($menu, nested) {\n // determine widths of submenus, as CSS won't grow them automatically\n // position:absolute within position:absolute; min-width:100; max-width:200; results in width: 100;\n // kinda sucks hard...\n\n // determine width of absolutely positioned element\n $menu.css({ position: 'absolute', display: 'block' });\n // don't apply yet, because that would break nested elements' widths\n // add a pixel to circumvent word-break issue in IE9 - #80\n $menu.data('width', Math.ceil($menu.width()) + 1);\n // reset styles so they allow nested elements to grow/shrink naturally\n $menu.css({\n position: 'static',\n minWidth: '0px',\n maxWidth: '100000px'\n });\n // identify width of nested menus\n $menu.find('> li > ul').each(function () {\n op.resize($(this), true);\n });\n // reset and apply changes in the end because nested\n // elements' widths wouldn't be calculatable otherwise\n if (!nested) {\n $menu.find('ul').andSelf().css({\n position: '',\n display: '',\n minWidth: '',\n maxWidth: ''\n }).width(function () {\n return $(this).data('width');\n });\n }\n },\n update: function update(opt, root) {\n var $trigger = this;\n if (root === undefined) {\n root = opt;\n op.resize(opt.$menu);\n }\n // re-check disabled for each item\n opt.$menu.children().each(function () {\n var $item = $(this),\n key = $item.data('contextMenuKey'),\n item = opt.items[key],\n disabled = item === undefined || typeof item === \"string\" || $.isFunction(item.disabled) && item.disabled.call($trigger, key, root) || item.disabled === true;\n\n // dis- / enable item\n $item[disabled ? 'addClass' : 'removeClass']('disabled');\n\n if (item && item.type) {\n // dis- / enable input elements\n $item.find('input, select, textarea').prop('disabled', disabled);\n\n // update input states\n switch (item.type) {\n case 'text':\n case 'textarea':\n item.$input.val(item.value || \"\");\n break;\n\n case 'checkbox':\n case 'radio':\n item.$input.val(item.value || \"\").prop('checked', !!item.selected);\n break;\n\n case 'select':\n item.$input.val(item.selected || \"\");\n break;\n }\n }\n\n if (item && item.$menu) {\n // update sub-menu\n op.update.call($trigger, item, root);\n }\n });\n },\n layer: function layer(opt, zIndex) {\n // add transparent layer for click area\n // filter and background for Internet Explorer, Issue #23\n var $layer = opt.$layer = $('<div id=\"context-menu-layer\" style=\"position:fixed; z-index:' + zIndex + '; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;\"></div>').css({ height: $win.height(), width: $win.width(), display: 'block' }).data('contextMenuRoot', opt).insertBefore(this).on('contextmenu', handle.abortevent).on('mousedown', handle.layerClick);\n\n // IE6 doesn't know position:fixed;\n if (!$.support.fixedPosition) {\n $layer.css({\n 'position': 'absolute',\n 'height': $(document).height()\n });\n }\n\n return $layer;\n }\n };\n\n // split accesskey according to http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#assigned-access-key\n function splitAccesskey(val) {\n var t = val.split(/\\s+/),\n keys = [];\n\n for (var i = 0, k; k = t[i]; i++) {\n k = k[0].toUpperCase(); // first character only\n // theoretically non-accessible characters should be ignored, but different systems, different keyboard layouts, ... screw it.\n // a map to look up already used access keys would be nice\n keys.push(k);\n }\n\n return keys;\n }\n\n // handle contextMenu triggers\n $.fn.contextMenu = function (operation) {\n if (operation === undefined) {\n this.first().trigger('contextmenu');\n } else if (operation.x && operation.y) {\n this.first().trigger($.Event(\"contextmenu\", { pageX: operation.x, pageY: operation.y }));\n } else if (operation === \"hide\") {\n var $menu = this.data('contextMenu').$menu;\n $menu && $menu.trigger('contextmenu:hide');\n } else if (operation === \"destroy\") {\n $.contextMenu(\"destroy\", { context: this });\n } else if ($.isPlainObject(operation)) {\n operation.context = this;\n $.contextMenu(\"create\", operation);\n } else if (operation) {\n this.removeClass('context-menu-disabled');\n } else if (!operation) {\n this.addClass('context-menu-disabled');\n }\n\n return this;\n };\n\n // manage contextMenu instances\n $.contextMenu = function (operation, options) {\n if (typeof operation != 'string') {\n options = operation;\n operation = 'create';\n }\n\n if (typeof options == 'string') {\n options = { selector: options };\n } else if (options === undefined) {\n options = {};\n }\n\n // merge with default options\n var o = $.extend(true, {}, defaults, options || {});\n var $document = $(document);\n var $context = $document;\n var _hasContext = false;\n\n if (!o.context || !o.context.length) {\n o.context = document;\n } else {\n // you never know what they throw at you...\n $context = $(o.context).first();\n o.context = $context.get(0);\n _hasContext = o.context !== document;\n }\n\n switch (operation) {\n case 'create':\n // no selector no joy\n if (!o.selector) {\n throw new Error('No selector specified');\n }\n // make sure internal classes are not bound to\n if (o.selector.match(/.context-menu-(list|item|input)($|\\s)/)) {\n throw new Error('Cannot bind to selector \"' + o.selector + '\" as it contains a reserved className');\n }\n if (!o.build && (!o.items || $.isEmptyObject(o.items))) {\n throw new Error('No Items sepcified');\n }\n counter++;\n o.ns = '.contextMenu' + counter;\n if (!_hasContext) {\n namespaces[o.selector] = o.ns;\n }\n menus[o.ns] = o;\n\n // default to right click\n if (!o.trigger) {\n o.trigger = 'right';\n }\n\n if (!initialized) {\n // make sure item click is registered first\n $document.on({\n 'contextmenu:hide.contextMenu': handle.hideMenu,\n 'prevcommand.contextMenu': handle.prevItem,\n 'nextcommand.contextMenu': handle.nextItem,\n 'contextmenu.contextMenu': handle.abortevent,\n 'mouseenter.contextMenu': handle.menuMouseenter,\n 'mouseleave.contextMenu': handle.menuMouseleave\n }, '.context-menu-list').on('mouseup.contextMenu', '.context-menu-input', handle.inputClick).on({\n 'mouseup.contextMenu': handle.itemClick,\n 'contextmenu:focus.contextMenu': handle.focusItem,\n 'contextmenu:blur.contextMenu': handle.blurItem,\n 'contextmenu.contextMenu': handle.abortevent,\n 'mouseenter.contextMenu': handle.itemMouseenter,\n 'mouseleave.contextMenu': handle.itemMouseleave\n }, '.context-menu-item');\n\n initialized = true;\n }\n\n // engage native contextmenu event\n $context.on('contextmenu' + o.ns, o.selector, o, handle.contextmenu);\n\n if (_hasContext) {\n // add remove hook, just in case\n $context.on('remove' + o.ns, function () {\n $(this).contextMenu(\"destroy\");\n });\n }\n\n switch (o.trigger) {\n case 'hover':\n $context.on('mouseenter' + o.ns, o.selector, o, handle.mouseenter).on('mouseleave' + o.ns, o.selector, o, handle.mouseleave);\n break;\n\n case 'left':\n $context.on('click' + o.ns, o.selector, o, handle.click);\n break;\n /*\n default:\n // http://www.quirksmode.org/dom/events/contextmenu.html\n $document\n .on('mousedown' + o.ns, o.selector, o, handle.mousedown)\n .on('mouseup' + o.ns, o.selector, o, handle.mouseup);\n break;\n */\n }\n\n // create menu\n if (!o.build) {\n op.create(o);\n }\n break;\n\n case 'destroy':\n var $visibleMenu;\n if (_hasContext) {\n // get proper options\n var context = o.context;\n $.each(menus, function (ns, o) {\n if (o.context !== context) {\n return true;\n }\n\n $visibleMenu = $('.context-menu-list').filter(':visible');\n if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is($(o.context).find(o.selector))) {\n $visibleMenu.trigger('contextmenu:hide', { force: true });\n }\n\n try {\n if (menus[o.ns].$menu) {\n menus[o.ns].$menu.remove();\n }\n\n delete menus[o.ns];\n } catch (e) {\n menus[o.ns] = null;\n }\n\n $(o.context).off(o.ns);\n\n return true;\n });\n } else if (!o.selector) {\n $document.off('.contextMenu .contextMenuAutoHide');\n $.each(menus, function (ns, o) {\n $(o.context).off(o.ns);\n });\n\n namespaces = {};\n menus = {};\n counter = 0;\n initialized = false;\n\n $('#context-menu-layer, .context-menu-list').remove();\n } else if (namespaces[o.selector]) {\n $visibleMenu = $('.context-menu-list').filter(':visible');\n if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)) {\n $visibleMenu.trigger('contextmenu:hide', { force: true });\n }\n\n try {\n if (menus[namespaces[o.selector]].$menu) {\n menus[namespaces[o.selector]].$menu.remove();\n }\n\n delete menus[namespaces[o.selector]];\n } catch (e) {\n menus[namespaces[o.selector]] = null;\n }\n\n $document.off(namespaces[o.selector]);\n }\n break;\n\n case 'html5':\n // if <command> or <menuitem> are not handled by the browser,\n // or options was a bool true,\n // initialize $.contextMenu for them\n if (!$.support.htmlCommand && !$.support.htmlMenuitem || typeof options == \"boolean\" && options) {\n $('menu[type=\"context\"]').each(function () {\n if (this.id) {\n $.contextMenu({\n selector: '[contextmenu=' + this.id + ']',\n items: $.contextMenu.fromMenu(this)\n });\n }\n }).css('display', 'none');\n }\n break;\n\n default:\n throw new Error('Unknown operation \"' + operation + '\"');\n }\n\n return this;\n };\n\n // import values into <input> commands\n $.contextMenu.setInputValues = function (opt, data) {\n if (data === undefined) {\n data = {};\n }\n\n $.each(opt.inputs, function (key, item) {\n switch (item.type) {\n case 'text':\n case 'textarea':\n item.value = data[key] || \"\";\n break;\n\n case 'checkbox':\n item.selected = data[key] ? true : false;\n break;\n\n case 'radio':\n item.selected = (data[item.radio] || \"\") == item.value ? true : false;\n break;\n\n case 'select':\n item.selected = data[key] || \"\";\n break;\n }\n });\n };\n\n // export values from <input> commands\n $.contextMenu.getInputValues = function (opt, data) {\n if (data === undefined) {\n data = {};\n }\n\n $.each(opt.inputs, function (key, item) {\n switch (item.type) {\n case 'text':\n case 'textarea':\n case 'select':\n data[key] = item.$input.val();\n break;\n\n case 'checkbox':\n data[key] = item.$input.prop('checked');\n break;\n\n case 'radio':\n if (item.$input.prop('checked')) {\n data[item.radio] = item.value;\n }\n break;\n }\n });\n\n return data;\n };\n\n // find <label for=\"xyz\">\n function inputLabel(node) {\n return node.id && $('label[for=\"' + node.id + '\"]').val() || node.name;\n }\n\n // convert <menu> to items object\n function menuChildren(items, $children, counter) {\n if (!counter) {\n counter = 0;\n }\n\n $children.each(function () {\n var $node = $(this),\n node = this,\n nodeName = this.nodeName.toLowerCase(),\n label,\n item;\n\n // extract <label><input>\n if (nodeName == 'label' && $node.find('input, textarea, select').length) {\n label = $node.text();\n $node = $node.children().first();\n node = $node.get(0);\n nodeName = node.nodeName.toLowerCase();\n }\n\n /*\n * <menu> accepts flow-content as children. that means <embed>, <canvas> and such are valid menu items.\n * Not being the sadistic kind, $.contextMenu only accepts:\n * <command>, <menuitem>, <hr>, <span>, <p> <input [text, radio, checkbox]>, <textarea>, <select> and of course <menu>.\n * Everything else will be imported as an html node, which is not interfaced with contextMenu.\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#concept-command\n switch (nodeName) {\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-menu-element\n case 'menu':\n item = { name: $node.attr('label'), items: {} };\n counter = menuChildren(item.items, $node.children(), counter);\n break;\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-a-element-to-define-a-command\n case 'a':\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-button-element-to-define-a-command\n case 'button':\n item = {\n name: $node.text(),\n disabled: !!$node.attr('disabled'),\n callback: function () {\n return function () {\n $node.click();\n };\n }()\n };\n break;\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-command-element-to-define-a-command\n\n case 'menuitem':\n case 'command':\n switch ($node.attr('type')) {\n case undefined:\n case 'command':\n case 'menuitem':\n item = {\n name: $node.attr('label'),\n disabled: !!$node.attr('disabled'),\n callback: function () {\n return function () {\n $node.click();\n };\n }()\n };\n break;\n\n case 'checkbox':\n item = {\n type: 'checkbox',\n disabled: !!$node.attr('disabled'),\n name: $node.attr('label'),\n selected: !!$node.attr('checked')\n };\n break;\n\n case 'radio':\n item = {\n type: 'radio',\n disabled: !!$node.attr('disabled'),\n name: $node.attr('label'),\n radio: $node.attr('radiogroup'),\n value: $node.attr('id'),\n selected: !!$node.attr('checked')\n };\n break;\n\n default:\n item = undefined;\n }\n break;\n\n case 'hr':\n item = '-------';\n break;\n\n case 'input':\n switch ($node.attr('type')) {\n case 'text':\n item = {\n type: 'text',\n name: label || inputLabel(node),\n disabled: !!$node.attr('disabled'),\n value: $node.val()\n };\n break;\n\n case 'checkbox':\n item = {\n type: 'checkbox',\n name: label || inputLabel(node),\n disabled: !!$node.attr('disabled'),\n selected: !!$node.attr('checked')\n };\n break;\n\n case 'radio':\n item = {\n type: 'radio',\n name: label || inputLabel(node),\n disabled: !!$node.attr('disabled'),\n radio: !!$node.attr('name'),\n value: $node.val(),\n selected: !!$node.attr('checked')\n };\n break;\n\n default:\n item = undefined;\n break;\n }\n break;\n\n case 'select':\n item = {\n type: 'select',\n name: label || inputLabel(node),\n disabled: !!$node.attr('disabled'),\n selected: $node.val(),\n options: {}\n };\n $node.children().each(function () {\n item.options[this.value] = $(this).text();\n });\n break;\n\n case 'textarea':\n item = {\n type: 'textarea',\n name: label || inputLabel(node),\n disabled: !!$node.attr('disabled'),\n value: $node.val()\n };\n break;\n\n case 'label':\n break;\n\n default:\n item = { type: 'html', html: $node.clone(true) };\n break;\n }\n\n if (item) {\n counter++;\n items['key' + counter] = item;\n }\n });\n\n return counter;\n }\n\n // convert html5 menu\n $.contextMenu.fromMenu = function (element) {\n var $this = $(element),\n items = {};\n\n menuChildren(items, $this.children());\n\n return items;\n };\n\n // make defaults accessible\n $.contextMenu.defaults = defaults;\n $.contextMenu.types = types;\n // export internal functions - undocumented, for hacking only!\n $.contextMenu.handle = handle;\n $.contextMenu.op = op;\n $.contextMenu.menus = menus;\n})(jQuery);\n\n/***/ }),\n\n/***/ \"./src/lib/pathfinding.exec.js\":\n/*!*************************************!*\\\n !*** ./src/lib/pathfinding.exec.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(/*! !./node_modules/script-loader/addScript.js */ \"./node_modules/script-loader/addScript.js\")(__webpack_require__(/*! !./node_modules/raw-loader!./src/lib/pathfinding.exec.js */ \"./node_modules/raw-loader/index.js!./src/lib/pathfinding.exec.js\"));\n\n/***/ }),\n\n/***/ \"./src/lib/raphael.exec.js\":\n/*!*********************************!*\\\n !*** ./src/lib/raphael.exec.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(/*! !./node_modules/script-loader/addScript.js */ \"./node_modules/script-loader/addScript.js\")(__webpack_require__(/*! !./node_modules/raw-loader!./src/lib/raphael.exec.js */ \"./node_modules/raw-loader/index.js!./src/lib/raphael.exec.js\"));\n\n/***/ }),\n\n/***/ \"./src/packages.js\":\n/*!*************************!*\\\n !*** ./src/packages.js ***!\n \\*************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n/**\n *\n * @private\n */\n/**\n * Primary package containing general interfaces and implementation classes.\n * @namespace draw2d */\nexports.default = {\n /**\n * Types representing or manipulating geometric values, such as Points, Rectangles, etc.\n * @namespace draw2d.geo\n * */\n geo: {},\n\n /** \n * Contains classes to load and save Draw2D files into, or from, a Canvas.\n * @namespace draw2d.io \n **/\n io: {\n /** @namespace draw2d.io.json\n * */\n json: {},\n /** @namespace draw2d.io.png */\n png: {},\n /** @namespace draw2d.io.svg */\n svg: {}\n },\n\n /** @namespace draw2d.util */\n util: {\n /** @namespace draw2d.util.spline */\n spline: {}\n },\n\n /**\n * This package contains EditPolicy implementations for all used elements. A *EditPolicy*\n * is a pluggable contribution implementing a portion of an element behavior. Editpolicies contribute to the\n * overall editing behavior of an EditPart.\n *\n * Editing behavior is defined as one or more of the following:\n * - Selection handling\n * - Routing\n * - Feedback management\n * - Delegation and Forwarding of commands\n * - Drag&Drop behaviour\n *\n * @namespace draw2d.policy\n * */\n policy: {\n /**\n * Editpolicies for selection handling, highlighting, background rendering, snapTo behaviour.\n *\n * @namespace draw2d.policy.canvas\n * */\n canvas: {},\n /** \n * Policies for Connection creation. Like 'ClickPolicy'...creates a connection if you click into the canvas. \n * @namespace draw2d.policy.connection \n **/\n connection: {},\n /** @namespace draw2d.policy.line */\n line: {},\n /** @namespace draw2d.policy.port */\n port: {},\n /** \n * Selection decorations for figures. Movement contrains. Width limitation,...\n * @namespace draw2d.policy.figure \n **/\n figure: {}\n },\n\n /** \n * Contains all predefined visual shapes of Draw2D\n * \n * @namespace draw2d.shape \n **/\n shape: {\n /** \n * @namespace draw2d.shape.basic \n **/\n basic: {},\n /** @namespace draw2d.shape.dimetric */\n dimetric: {},\n /** @namespace draw2d.shape.composite */\n composite: {},\n /** @namespace draw2d.shape.arrow */\n arrow: {},\n /** @namespace draw2d.shape.node */\n node: {},\n /** @namespace draw2d.shape.note */\n note: {},\n /** @namespace draw2d.shape.diagram */\n diagram: {},\n /** @namespace draw2d.shape.flowchart */\n flowchart: {},\n /** @namespace draw2d.shape.analog */\n analog: {},\n /** @namespace draw2d.shape.icon */\n icon: {},\n /** @namespace draw2d.shape.layout */\n layout: {},\n /** @namespace draw2d.shape.pert */\n pert: {},\n /** @namespace draw2d.shape.state */\n state: {},\n /** @namespace draw2d.shape.widget */\n widget: {}\n },\n\n /** \n * The command is what eventually changes the model. Figures are asked for a command for a given request. Commands also help \n * determine if the interaction is possible. If there is no command, or it is not executable, the UI will indicate that the \n * interaction is not allowed. \n * \n * All commands (move, drag&drop, insert, remove,....) are stored on top of a CommandStack and available for undo and redo.\n * An `draw2d.Canvas` has a single command stack. **Commands must be executed using the command stack rather than directly calling execute.**\n * \n * @namespace draw2d.command \n **/\n command: {},\n\n /** @namespace draw2d.decoration */\n decoration: {\n /** @namespace draw2d.decoration.connection */\n connection: {}\n },\n\n /** @namespace draw2d.layout */\n layout: {\n /** @namespace draw2d.layout.connection\n * @memberof draw2d.layout\n * */\n connection: {},\n /** @namespace draw2d.layout.anchor */\n anchor: {},\n /** @namespace draw2d.layout.mesh */\n mesh: {},\n /** @namespace draw2d.layout.locator */\n locator: {}\n },\n\n /** @namespace draw2d.ui */\n ui: {},\n\n isTouchDevice:\n //Detect iPhone\n navigator.platform.indexOf(\"iPhone\") != -1 ||\n //Detect iPod\n navigator.platform.indexOf(\"iPod\") != -1 ||\n //Detect iPad\n navigator.platform.indexOf(\"iPad\") != -1\n\n};\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ \"./src/policy/EditPolicy.js\":\n/*!**********************************!*\\\n !*** ./src/policy/EditPolicy.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A plugable contribution implementing a portion of an behavior.\n *\n *\n * EditPolicies should determine an Canvas or figure editing capabilities. It is possible to implement\n * an figure such that it handles all editing responsibility. However, it is much more flexible\n * and object-oriented to use EditPolicies. Using policies, you can pick and choose the editing\n * behavior for an figure/canvas without being bound to its class hierarchy. Code management is easier.\n *\n *\n * This interface is not intended to be implemented by clients. Clients should inherit from {@link draw2d.policy.figure.SelectionFeedbackPolicy}\n * or {@link draw2d.policy.canvas.SelectionPolicy}.\n *\n * @author Andreas Herz\n */\n_packages2.default.policy.EditPolicy = Class.extend(\n/** @lends draw2d.policy.EditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.EditPolicy\",\n\n /**\n *\n */\n init: function init(attr, setter, getter) {\n this.setterWhitelist = (0, _extend2.default)({}, setter);\n\n this.getterWhitelist = (0, _extend2.default)({}, getter);\n\n this.attr(attr);\n },\n\n /**\n * \n * Read or set object attributes.<br>\n * When no value is given, reads specified attribute from the element.<br>\n * When value is given, sets the attribute to that value.\n * Multiple attributes can be set by passing an object with name-value pairs.\n *\n * @param {String/Object} name\n * @param {Object} [value]\n * @since 5.3.2\n * @returns {Object}\n **/\n attr: function attr(name, value) {\n // call of attr as setter method with {name1:val1, name2:val2 } argument list\n //\n if ($.isPlainObject(name)) {\n for (var _key in name) {\n var func = this.setterWhitelist[_key];\n // call the assigned method if given\n if (func) {\n func.call(this, name[_key]);\n }\n // maby the ussser adds a function as property to the attr call\n // e.g.:\n // {\n // doIt: function(){}\n // }\n //\n // in this case we assign the method to this object and wrap it with \"this\" as context\n // a very, very simple method to replace default implemenations of the object\n else if (typeof name[_key] === \"function\") {\n this[_key] = name[_key].bind(this);\n }\n }\n } else if (typeof name === \"string\") {\n // call attr as getter\n //\n if (typeof value === \"undefined\") {\n var getter = this.getterWhitelist[name];\n if (typeof getter === \"function\") {\n return getter.call(this);\n }\n return; // undefined\n }\n // call attr as simple setter with (key , value)\n //\n\n // the value can be a function. In this case we must call the value().\n if (typeof value === \"function\") {\n value = value();\n }\n var setter = this.setterWhitelist[name];\n if (setter) {\n setter.call(this, value);\n }\n }\n // generic getter of all registered attributes\n else if (typeof name === \"undefined\") {\n var result = {};\n for (key in this.getterWhitelist) {\n result[key] = this.getterWhitelist[key].call(this);\n }\n return result;\n }\n\n return this;\n },\n\n /**\n * \n * Called by the host if the policy has been installed.\n *\n * @param {draw2d.Canvas|draw2d.Figure} host\n */\n onInstall: function onInstall(host) {},\n\n /**\n * \n * Called by the host if the policy has been uninstalled.\n *\n * @param {draw2d.Canvas|draw2d.Figure} host\n */\n onUninstall: function onUninstall(host) {}\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/BoundingboxSelectionPolicy.js\":\n/*!*********************************************************!*\\\n !*** ./src/policy/canvas/BoundingboxSelectionPolicy.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.SelectionPolicy\n */\n_packages2.default.policy.canvas.BoundingboxSelectionPolicy = _packages2.default.policy.canvas.SingleSelectionPolicy.extend(\n/** @lends draw2d.policy.canvas.BoundingboxSelectionPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.BoundingboxSelectionPolicy\",\n\n /**\n * Creates a new selection policy for a canvas.\n */\n init: function init() {\n this.isInsideMode = function (rect1, rect2) {\n return rect1.isInside(rect2);\n };\n this.intersectsMode = function (rect1, rect2) {\n return rect1.intersects(rect2);\n };\n\n this.decision = this.isInsideMode;\n\n this._super();\n\n this.boundingBoxFigure1 = null;\n this.boundingBoxFigure2 = null;\n this.x = 0;\n this.y = 0;\n\n // falls ein Port getroffen wird, dann darf keine BoundingBox gezeichnet werden.\n //\n this.canDrawBoundingBox = false;\n },\n\n /**\n * @inheritdoc\n */\n select: function select(canvas, figure) {\n var _this = this;\n\n if (canvas.getSelection().contains(figure)) {\n return; // nothing to to\n }\n\n var oldSelection = canvas.getSelection().getPrimary();\n\n if (figure !== null) {\n figure.select(true); // primary selection\n }\n\n if (oldSelection !== figure) {\n canvas.getSelection().setPrimary(figure);\n\n // inform all selection listeners about the new selection.\n //\n canvas.fireEvent(\"select\", { figure: figure, selection: canvas.getSelection() });\n }\n\n // adding connections to the selection of the source and target port part of the current selection\n //\n var selection = canvas.getSelection();\n canvas.getLines().each(function (i, line) {\n if (line instanceof _packages2.default.Connection) {\n if (selection.contains(line.getSource().getRoot()) && selection.contains(line.getTarget().getRoot())) {\n _this.select(canvas, line, false);\n }\n }\n });\n },\n\n /**\n * \n * Set the selection handling mode to <b>intersection</b> or to <b>isInside</b>.\n * <ul>\n * <li>true = intersection, shapes must only touch the selection bounding box </li>\n * <li>false = isInside, shapes must complete inside the selection bounding box (default)</li>\n * </ul>\n *\n * @param {Boolean} useIntersectionMode set true if the selection handle should use the alternative selection approach\n * @since 4.9.0\n */\n setDecisionMode: function setDecisionMode(useIntersectionMode) {\n if (useIntersectionMode === true) {\n this.decision = this.intersectsMode;\n } else {\n this.decision = this.isInsideMode;\n }\n\n return this;\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseDown: function onMouseDown(canvas, x, y, shiftKey, ctrlKey) {\n var _this2 = this;\n\n try {\n this.x = x;\n this.y = y;\n\n var currentSelection = canvas.getSelection().getAll();\n\n // COPY_PARENT\n // this code part is copied from the parent implementation. The main problem is, that\n // the sequence of unselect/select of elements is broken if we call the base implementation\n // in this case wrong events are fired if we select a figure if already a figure is selected!\n // WRONG: selectNewFigure -> unselectOldFigure\n // RIGHT: unselectOldFigure -> selectNewFigure\n // To ensure this I must copy the parent code and postbound the event propagation\n //\n this.mouseMovedDuringMouseDown = false;\n var canDragStart = true;\n\n this.canDrawBoundingBox = false;\n\n var figure = canvas.getBestFigure(x, y);\n\n // may the figure is assigned to a composite. In this case the composite can\n // override the event receiver\n while (figure !== null) {\n var delegated = figure.getSelectionAdapter()();\n if (delegated === figure) {\n break;\n }\n figure = delegated;\n }\n\n // ignore ports since version 6.1.0. This is handled by the ConnectionCreatePolicy\n //\n if (figure instanceof _packages2.default.Port) {\n return; // silently\n }\n\n if (figure !== null && figure.isSelectable() === false && figure.isDraggable() === false) {\n figure = null;\n }\n\n this.canDrawBoundingBox = true;\n\n if (figure !== null && figure.isDraggable()) {\n canDragStart = figure.onDragStart(x - figure.getAbsoluteX(), y - figure.getAbsoluteY(), shiftKey, ctrlKey);\n // Element send a veto about the drag&drop operation\n this.mouseDraggingElement = canDragStart === false ? null : figure;\n }\n\n this.mouseDownElement = figure;\n\n if (this.mouseDownElement !== null) {\n this.mouseDownElement.fireEvent(\"mousedown\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n }\n\n // we click on an element which are not part of the current selection\n // => reset the \"old\" current selection if we didn't press the shift key\n if (shiftKey === false) {\n if (this.mouseDownElement !== null && this.mouseDownElement.isResizeHandle === false && !currentSelection.contains(this.mouseDownElement)) {\n currentSelection.each(function (i, figure) {\n _this2.unselect(canvas, figure);\n });\n }\n }\n\n if (figure !== canvas.getSelection().getPrimary() && figure !== null && figure.isSelectable() === true) {\n this.select(canvas, figure);\n\n // its a line\n if (figure instanceof _packages2.default.shape.basic.Line) {\n // you can move a line with Drag&Drop...but not a connection.\n // A Connection is fixed linked with the corresponding ports.\n //\n if (!(figure instanceof _packages2.default.Connection)) {\n canvas.draggingLineCommand = figure.createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.MOVE));\n if (canvas.draggingLineCommand !== null) {\n canvas.draggingLine = figure;\n }\n }\n } else if (canDragStart === false) {\n figure.unselect();\n }\n }\n // END_COPY FROM PARENT\n\n\n // inform all figures that they have a new ox/oy position for the relative\n // drag/drop operation\n if (this.mouseDownElement !== null && this.mouseDownElement.isResizeHandle === false) {\n currentSelection = canvas.getSelection().getAll();\n currentSelection.each(function (i, figure) {\n var fakeDragX = 1;\n var fakeDragY = 1;\n\n var handleRect = figure.getHandleBBox();\n if (handleRect !== null) {\n handleRect.translate(figure.getAbsolutePosition().scale(-1));\n fakeDragX = handleRect.x + 1;\n fakeDragY = handleRect.y + 1;\n }\n\n var canDragStart = figure.onDragStart(fakeDragX, fakeDragY, shiftKey, ctrlKey, true /*fakeFlag*/);\n // its a line\n if (figure instanceof _packages2.default.shape.basic.Line) {\n // no special handling\n } else if (canDragStart === false) {\n _this2.unselect(canvas, figure);\n }\n });\n }\n } catch (exc) {\n console.log(exc);\n throw exc;\n }\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} dx The x diff between start of dragging and this event\n * @param {Number} dy The y diff between start of dragging and this event\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n // don't drag a selection box if we drag&drop a port\n //\n if (this.canDrawBoundingBox === false) {\n return;\n }\n\n try {\n this._super(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey);\n\n if (this.mouseDraggingElement === null && this.mouseDownElement === null && this.boundingBoxFigure1 === null) {\n this.boundingBoxFigure1 = new _packages2.default.shape.basic.Rectangle({\n width: 1,\n height: 1,\n x: this.x,\n y: this.y,\n bgColor: \"#d4d1d4\",\n alpha: 0.1\n });\n this.boundingBoxFigure1.setCanvas(canvas);\n\n this.boundingBoxFigure2 = new _packages2.default.shape.basic.Rectangle({\n width: 1,\n height: 1,\n x: this.x,\n y: this.y,\n dash: \"--..\",\n stroke: 0.5,\n color: \"#37a8ff\",\n bgColor: null\n });\n this.boundingBoxFigure2.setCanvas(canvas);\n }\n var abs = Math.abs;\n if (this.boundingBoxFigure1 !== null) {\n this.boundingBoxFigure1.setDimension(abs(dx), abs(dy));\n this.boundingBoxFigure1.setPosition(this.x + Math.min(0, dx), this.y + Math.min(0, dy));\n this.boundingBoxFigure2.setDimension(abs(dx), abs(dy));\n this.boundingBoxFigure2.setPosition(this.x + Math.min(0, dx), this.y + Math.min(0, dy));\n }\n } catch (exc) {\n console.log(exc);\n }\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseUp: function onMouseUp(canvas, x, y, shiftKey, ctrlKey) {\n var _this3 = this;\n\n try {\n // delete the current selection if you have clicked in the empty\n // canvas.\n if (this.mouseDownElement === null) {\n canvas.getSelection().getAll().each(function (i, figure) {\n _this3.unselect(canvas, figure);\n });\n } else if (this.mouseDownElement instanceof _packages2.default.ResizeHandle || this.mouseDownElement instanceof _packages2.default.shape.basic.LineResizeHandle) {}\n // Do nothing\n // A click on a resize handle didn't change the selection of the canvas\n //\n\n // delete the current selection if you click on another figure than the current\n // selection and you didn't drag the complete selection.\n else if (this.mouseDownElement !== null && this.mouseMovedDuringMouseDown === false) {\n var sel = canvas.getSelection().getAll();\n if (!sel.contains(this.mouseDownElement)) {\n canvas.getSelection().getAll().each(function (i, figure) {\n _this3.unselect(canvas, figure);\n });\n }\n }\n this._super(canvas, x, y, shiftKey, ctrlKey);\n\n if (this.boundingBoxFigure1 !== null) {\n // retrieve all figures which are inside the bounding box and select all of them\n //\n var selectionRect = this.boundingBoxFigure1.getBoundingBox();\n canvas.getFigures().each(function (i, figure) {\n if (figure.isSelectable() === true && figure.isVisible() === true && _this3.decision(figure.getBoundingBox(), selectionRect)) {\n var fakeDragX = 1;\n var fakeDragY = 1;\n\n var handleRect = figure.getHandleBBox();\n if (handleRect !== null) {\n handleRect.translate(figure.getAbsolutePosition().scale(-1));\n fakeDragX = handleRect.x + 1;\n fakeDragY = handleRect.y + 1;\n }\n var canDragStart = figure.onDragStart(fakeDragX, fakeDragY, shiftKey, ctrlKey);\n if (canDragStart === true) {\n _this3.select(canvas, figure);\n }\n }\n });\n\n this.boundingBoxFigure1.setCanvas(null);\n this.boundingBoxFigure1 = null;\n this.boundingBoxFigure2.setCanvas(null);\n this.boundingBoxFigure2 = null;\n }\n } catch (exc) {\n console.log(exc);\n debugger;\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/CanvasPolicy.js\":\n/*!*******************************************!*\\\n !*** ./src/policy/canvas/CanvasPolicy.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _Color = __webpack_require__(/*! ../../util/Color */ \"./src/util/Color.js\");\n\nvar _Color2 = _interopRequireDefault(_Color);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.EditPolicy\n */\n_packages2.default.policy.canvas.CanvasPolicy = _packages2.default.policy.EditPolicy.extend(\n/** @lends draw2d.policy.canvas.CanvasPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.CanvasPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this.canvas = null;\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Called if the policy is installed into the canvas.\n *\n * @param {draw2d.Canvas} canvas\n */\n onInstall: function onInstall(canvas) {\n this.canvas = canvas;\n },\n\n /**\n *\n * Called if the policy is deinstalled from the canvas\n *\n * @param {draw2d.Canvas} canvas\n */\n onUninstall: function onUninstall(canvas) {\n this.canvas = null;\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onMouseMove: function onMouseMove(canvas, x, y, shiftKey, ctrlKey) {},\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseDown: function onMouseDown(canvas, x, y, shiftKey, ctrlKey) {},\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} dx The x diff between start of dragging and this event\n * @param {Number} dy The y diff between start of dragging and this event\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {},\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas the shape below the mouse or null\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseUp: function onMouseUp(canvas, x, y, shiftKey, ctrlKey) {},\n\n /**\n *\n * Called if the user press the right mouse in the canvas.\n *\n * @param {draw2d.Figure|draw2d.shape.basic.Line} figure the figure below the mouse\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @since 4.4.0\n */\n onRightMouseDown: function onRightMouseDown(figure, x, y, shiftKey, ctrlKey) {},\n\n /**\n *\n * Called by the canvas if the user click on a figure.\n *\n * @param {draw2d.Figure} figure the figure under the click event. Can be null\n * @param {Number} mouseX the x coordinate of the mouse during the click event\n * @param {Number} mouseY the y coordinate of the mouse during the click event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @since 3.0.0\n *\n * @template\n */\n onClick: function onClick(figure, mouseX, mouseY, shiftKey, ctrlKey) {},\n\n /**\n *\n * Called by the canvas if the user double click on a figure.\n *\n * @param {draw2d.Figure} figure the figure under the double click event. Can be null\n * @param {Number} mouseX the x coordinate of the mouse during the click event\n * @param {Number} mouseY the y coordinate of the mouse during the click event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @since 4.1.0\n *\n * @template\n */\n onDoubleClick: function onDoubleClick(figure, mouseX, mouseY, shiftKey, ctrlKey) {},\n\n /**\n *\n * called if the user uses the mouse wheel.\n *\n *\n * @param {Number} wheelDelta\n * @param {Number} x the x coordinate of the event\n * @param {Number} y the y coordinate of the event\n * @param shiftKey\n * @param ctrlKey\n * @since 5.8.0\n * @template\n *\n * @returns {Boolean} return <b>false</b> to preven tthe default event operation (e.g. scrolling)\n */\n onMouseWheel: function onMouseWheel(wheelDelta, x, y, shiftKey, ctrlKey) {\n // return \"false\" to prevent the default event operation\n return true;\n },\n\n /**\n *\n * Helper method to make an monochrome GIF image WxH pixels big, first create a properly sized array: let pixels = new Array(W*H);.\n * Then, for each pixel X,Y that should be opaque, store a 1 at the proper location: pixels[X+Y*W] = 1;.\n * Finally, create the image: let my_gif = createGif(W, H, pixels, color);\n * \"0\" pixels are transparent.\n * The <b>color</b> defines the foreground color.\n *\n * Now, you can specify this image as the SRC attribute of an IMG tag: document.write(\"<IMG SRC=\\\"\" + my_gif + \"\\\">\");\n * or for the canvas as background-image css attribute.\n *\n *\n * @param w\n * @param h\n * @param d\n * @param color\n * @returns {String}\n *\n * @private\n */\n createMonochromGif: function createMonochromGif(w, h, d, color) {\n color = new _Color2.default(color);\n var r = String.fromCharCode(w % 256) + String.fromCharCode(w / 256) + String.fromCharCode(h % 256) + String.fromCharCode(h / 256);\n\n var gif = 'GIF89a' + r + '\\xf0\\0\\0\\xff\\xff\\xff' + String.fromCharCode(color.red) + String.fromCharCode(color.green) + String.fromCharCode(color.blue) + '!\\xF9\\x04\\x01\\0\\0\\0,\\0\\0\\0\\0' + r + '\\0\\x02';\n\n // help method to generate uncompressed in memory GIF data structure without the usage of a canvas or any other\n // heavy weight stuff.\n var b = {\n bit: 1,\n byte_: 0,\n data: '',\n\n writeBit: function writeBit(b) {\n if (b) this.byte_ |= this.bit;\n this.bit <<= 1;\n if (this.bit === 256) {\n this.bit = 1;\n this.data += String.fromCharCode(this.byte_);\n this.byte_ = 0;\n }\n },\n\n get: function get() {\n var result = \"\";\n var data = this.data;\n if (this.bit !== 1) {\n data += String.fromCharCode(this.byte_);\n }\n for (var i = 0; i < data.length + 1; i += 255) {\n var chunklen = data.length - i;\n if (chunklen < 0) chunklen = 0;\n if (chunklen > 255) chunklen = 255;\n result += String.fromCharCode(chunklen) + data.substring(i, i + 255);\n }\n return result + \"\\0\";\n }\n };\n\n for (var y = 0; y < h; y++) {\n for (var x = 0; x < w; x++) {\n b.writeBit(d[x + w * y]);\n b.writeBit(0);\n b.writeBit(0);\n b.writeBit(0);\n b.writeBit(0);\n b.writeBit(1);\n }\n }\n gif += b.get() + ';';\n\n return 'data:image/gif;base64,' + _packages2.default.util.Base64.encode(gif);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/CoronaDecorationPolicy.js\":\n/*!*****************************************************!*\\\n !*** ./src/policy/canvas/CoronaDecorationPolicy.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * This decorations hides draw2d.Ports which are to far from the current cursor position.\n * This makes the canvas more clean if you have a lot of nodes on it.<br>\n * You didn't see a bunch of ports.\n *\n *\n * @example\n *\n * // install the policy to the canvas\n *\n * // add some demo figure to the canvas\n * canvas.add(new draw2d.shape.node.Start({x: 10, y: 30}));\n * canvas.add(new draw2d.shape.node.End({x: 90, y: 90}));\n * canvas.add(new draw2d.shape.node.Between({ x: 310, y: 30}));\n *\n * canvas.add(new draw2d.shape.basic.Label({text:\"move the mouse and you see that ports are hidden if the mouse far from it\"}),5,5);\n *\n * canvas.installEditPolicy(new draw2d.policy.canvas.CoronaDecorationPolicy());\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.DecorationPolicy\n */\n_packages2.default.policy.canvas.CoronaDecorationPolicy = _packages2.default.policy.canvas.DecorationPolicy.extend(\n/** @lends draw2d.policy.canvas.CoronaDecorationPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.CoronaDecorationPolicy\",\n\n /**\n *\n */\n init: function init(attr, setter, getter) {\n\n this.startDragX = 0;\n this.startDragY = 0;\n this.diameterToBeFullVisible = 0;\n this.diameterToBeVisible = 0;\n this.sumDiameter = 0;\n\n this._super((0, _extend2.default)({ diameterToBeVisible: 200, diameterToBeFullVisible: 20 }, attr), (0, _extend2.default)({\n diameterToBeVisible: this.setDiameterToBeVisible,\n diameterToBeFullVisible: this.setDiameterToBeFullVisible\n }, setter), (0, _extend2.default)({\n diameterToBeVisible: this.getDiameterToBeVisible,\n diameterToBeFullVisible: this.getDiameterToBeFullVisible\n }, getter));\n },\n\n setDiameterToBeVisible: function setDiameterToBeVisible(diameter) {\n this.diameterToBeVisible = diameter;\n this.sumDiameter = this.diameterToBeFullVisible + this.diameterToBeVisible;\n },\n\n getDiameterToBeVisible: function getDiameterToBeVisible() {\n return this.diameterToBeVisible;\n },\n\n setDiameterToBeFullVisible: function setDiameterToBeFullVisible(diameter) {\n this.diameterToBeFullVisible = diameter;\n this.sumDiameter = this.diameterToBeFullVisible + this.diameterToBeVisible;\n },\n\n getDiameterToBeFullVisible: function getDiameterToBeFullVisible() {\n return this.diameterToBeFullVisible;\n },\n\n /**\n * @inheritdoc\n */\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n canvas.getFigures().each(function (i, figure) {\n figure.getPorts().each(function (i, p) {\n return p.setAlpha(0.0);\n });\n });\n },\n\n /**\n * @inheritdoc\n */\n onUninstall: function onUninstall(canvas) {\n this._super(canvas);\n\n canvas.getFigures().each(function (i, figure) {\n figure.getPorts().each(function (i, p) {\n if (p.__origAlpha) {\n p.setAlpha(p.__origAlpha);\n delete p.__origAlpha;\n }\n });\n });\n },\n\n /**\n * @inheritdoc\n */\n onMouseDown: function onMouseDown(canvas, x, y, shiftKey, ctrlKey) {\n this.startDragX = x;\n this.startDragY = y;\n },\n\n /**\n * @inheritdoc\n */\n onMouseMove: function onMouseMove(canvas, x, y, shiftKey, ctrlKey) {\n this.updatePorts(canvas, x, y);\n },\n\n /**\n * @inheritdoc\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n this.updatePorts(canvas, this.startDragX + dx, this.startDragY + dy);\n },\n\n /**\n * \n * Update all ports with the new calculated opacity in relation to the distance to the current\n * mouse position\n *\n * @param canvas\n * @param x\n * @param y\n * @private\n */\n updatePorts: function updatePorts(canvas, x, y) {\n var _this = this;\n\n canvas.getFigures().each(function (i, figure) {\n if (figure instanceof _packages2.default.shape.node.Node) {\n if (figure.isVisible() === true && figure.hitTest(x, y, _this.sumDiameter) === true) {\n figure.getPorts().each(function (i, p) {\n if (p.isVisible() === false) {\n p.__origAlpha = figure.getAlpha();\n }\n var dist = figure.getBoundingBox().getDistance(new _packages2.default.geo.Point(x, y));\n var alpha = Math.max(0, 1 - 100 / (_this.diameterToBeVisible - _this.diameterToBeFullVisible) * dist / 100.0);\n p.setAlpha(alpha);\n });\n } else {\n figure.getPorts().each(function (i, p) {\n p.setAlpha(0.0);\n });\n }\n }\n });\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/DecorationPolicy.js\":\n/*!***********************************************!*\\\n !*** ./src/policy/canvas/DecorationPolicy.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * The base class for any canvas decoration like grid, chessboard, graph paper or\n * other.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.CanvasPolicy\n */\n_packages2.default.policy.canvas.DecorationPolicy = _packages2.default.policy.canvas.CanvasPolicy.extend(\n/** @lends draw2d.policy.canvas.DecorationPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.DecorationPolicy\",\n\n /**\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/DefaultKeyboardPolicy.js\":\n/*!****************************************************!*\\\n !*** ./src/policy/canvas/DefaultKeyboardPolicy.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Standard keyboard policy. This is the standard installed keyboard policy.\n * <br>\n * <br>\n * Keyboard commands\n * <ul>\n * <li>DEL - delete selection</li>\n * </ul>\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.KeyboardPolicy\n */\n_packages2.default.policy.canvas.DefaultKeyboardPolicy = _packages2.default.policy.canvas.KeyboardPolicy.extend(\n/** @lends draw2d.policy.canvas.DefaultKeyboardPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.DefaultKeyboardPolicy\",\n\n /**\n */\n init: function init() {\n this._super();\n },\n\n /**\n * \n * Callback if the user press a key.<br>\n * This implementation checks only if the <b>DEL</b> has been pressed and creates an\n * CommandDelete if this happens.\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {Number} keyCode the pressed key\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onKeyDown: function onKeyDown(canvas, keyCode, shiftKey, ctrlKey) {\n //\n if (keyCode === 46 && canvas.getPrimarySelection() !== null) {\n // create a single undo/redo transaction if the user delete more than one element. \n // This happens with command stack transactions.\n //\n canvas.getCommandStack().startTransaction(_packages2.default.Configuration.i18n.command.deleteShape);\n var selection = canvas.getSelection();\n selection.each(function (index, figure) {\n // don't delete a connection if the source or target figure is part of the selection.\n // In this case the connection is deleted by the DeleteCommand itself and it is not allowed to\n // delete a figure twice.\n //\n if (figure instanceof _packages2.default.Connection) {\n if (selection.contains(figure.getSource(), true)) {\n return;\n }\n if (selection.contains(figure.getTarget(), true)) {\n return;\n }\n }\n var cmd = figure.createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.DELETE));\n if (cmd !== null) {\n canvas.getCommandStack().execute(cmd);\n }\n });\n // execute all single commands at once.\n canvas.getCommandStack().commitTransaction();\n } else {\n this._super(canvas, keyCode, shiftKey, ctrlKey);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/DropInterceptorPolicy.js\":\n/*!****************************************************!*\\\n !*** ./src/policy/canvas/DropInterceptorPolicy.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Drop interceptors are basically event handlers from which you can return a value\n * that tells draw2d to abort what it is that it was doing.<br>\n * <br>\n * Interceptors can be registered via the registerEditPolicy method on the draw2d canvas just like any other\n * edit policies.<br>\n * <br>\n * The <b>delegateTarget</b> method is responsible for all drop event especially to all connection and port handling.\n *\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.CanvasPolicy\n * @since 5.0.0\n */\n_packages2.default.policy.canvas.DropInterceptorPolicy = _packages2.default.policy.canvas.CanvasPolicy.extend(\n/** @lends draw2d.policy.canvas.DropInterceptorPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.DropInterceptorPolicy\",\n\n /**\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Called if the user want connect a port with any kind draw2d.Figure.<br>\n * Return a non <b>null</b> value if the interceptor accept the connect event.<br>\n * <br>\n * It is possible to delegate the drop event to another figure if the policy\n * returns another figure. This is useful if a figure want to accept a port\n * drop event and delegates this drop event to another port.<br>\n *\n *\n * @param {draw2d.Figure} connectInquirer the figure who wants connect\n * @param {draw2d.Figure} connectIntent the potential connect target\n *\n * @returns {draw2d.Figure} the calculated connect intent or <b>null</b> if the interceptor uses the veto right\n */\n delegateTarget: function delegateTarget(connectInquirer, connectIntent) {\n // a composite accept any kind of figures exceptional ports\n //\n if (!(connectInquirer instanceof _packages2.default.Port) && connectIntent instanceof _packages2.default.shape.composite.StrongComposite) {\n return connectIntent;\n }\n\n // Ports accepts only Ports from the same semanticGroup as DropTarget\n //\n if (connectIntent instanceof _packages2.default.Port && connectInquirer instanceof _packages2.default.Port) {\n if (connectIntent.getSemanticGroup() !== connectInquirer.getSemanticGroup()) {\n return null;\n }\n }\n\n // Ports accepts only Ports as DropTarget\n //\n if (!(connectIntent instanceof _packages2.default.Port) || !(connectInquirer instanceof _packages2.default.Port)) {\n return null;\n }\n\n // consider the max possible connections for this port\n //\n if (connectIntent.getConnections().getSize() >= connectIntent.getMaxFanOut()) {\n return null;\n }\n\n // It is not allowed to connect two output ports\n if (connectInquirer instanceof _packages2.default.OutputPort && connectIntent instanceof _packages2.default.OutputPort) {\n return null;\n }\n\n // It is not allowed to connect two input ports\n if (connectInquirer instanceof _packages2.default.InputPort && connectIntent instanceof _packages2.default.InputPort) {\n return null;\n }\n\n // It is not possible to create a loop back connection at the moment.\n // Reason: no connection router implemented for this case\n if (connectInquirer instanceof _packages2.default.Port && connectIntent instanceof _packages2.default.Port) {\n if (connectInquirer.getParent() === connectIntent.getParent()) {\n return null;\n }\n }\n\n // redirect the dragEnter handling to the hybrid port\n //\n if (connectInquirer instanceof _packages2.default.Port && connectIntent instanceof _packages2.default.shape.node.Hub) {\n return connectIntent.getHybridPort(0);\n }\n\n // return the connectTarget determined by the framework or delegate it to another\n // figure.\n return connectIntent;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/ExtendedKeyboardPolicy.js\":\n/*!*****************************************************!*\\\n !*** ./src/policy/canvas/ExtendedKeyboardPolicy.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Extended keyboard policy to <b>delete</b> and <b>group</b> figures in the canvas.\n * <br>\n * Keyboard commands\n * <ul>\n * <li>DEL - delete selection</li>\n * <li>Ctrl+G - group/ungroup selection</li>\n * <li>Ctrl+B - send current selection in the background (toBack)</li>\n * <li>Ctrl+F - send current selection in the foreground (toFront)</li>\n * </ul>\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.KeyboardPolicy\n */\n_packages2.default.policy.canvas.ExtendedKeyboardPolicy = _packages2.default.policy.canvas.KeyboardPolicy.extend(\n/** @lends draw2d.policy.canvas.ExtendedKeyboardPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.ExtendedKeyboardPolicy\",\n\n /**\n */\n init: function init() {\n this._super();\n },\n\n /**\n * \n * Callback if the user press a key\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {Number} keyCode the pressed key\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onKeyDown: function onKeyDown(canvas, keyCode, shiftKey, ctrlKey) {\n if (canvas.getPrimarySelection() !== null && ctrlKey === true) {\n switch (keyCode) {\n\n case 71:\n // G\n if (canvas.getPrimarySelection() instanceof _packages2.default.shape.composite.Group && canvas.getSelection().getSize() === 1) {\n canvas.getCommandStack().execute(new _packages2.default.command.CommandUngroup(canvas, canvas.getPrimarySelection()));\n } else {\n canvas.getCommandStack().execute(new _packages2.default.command.CommandGroup(canvas, canvas.getSelection()));\n }\n break;\n case 66:\n // B\n canvas.getPrimarySelection().toBack();\n break;\n case 70:\n // F\n canvas.getPrimarySelection().toFront();\n }\n } else {\n this._super(canvas, keyCode, shiftKey, ctrlKey);\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/FadeoutDecorationPolicy.js\":\n/*!******************************************************!*\\\n !*** ./src/policy/canvas/FadeoutDecorationPolicy.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Install this edit policy in a canvas if you want fadeout all decorations like ports, resize handles\n * if the user didn't move the mouse. This is good for a clean representation of your diagram.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.DecorationPolicy\n */\n_packages2.default.policy.canvas.FadeoutDecorationPolicy = _packages2.default.policy.canvas.DecorationPolicy.extend(\n/** @lends draw2d.policy.canvas.FadeoutDecorationPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.FadeoutDecorationPolicy\",\n\n DEFAULT_FADEOUT_DURATION: 60,\n DEFAULT_ALPHA_DECREMENT: 0.05,\n\n /**\n * Creates a new fade out policy. Don't forget to install them into the canvas.\n *\n */\n init: function init() {\n this._super();\n this.alpha = 1.0;\n this.alphaDec = this.DEFAULT_ALPHA_DECREMENT;\n this.hidePortsCounter = this.DEFAULT_FADEOUT_DURATION;\n this.portDragging = false;\n },\n\n /**\n * @inheritDoc\n **/\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n this.timerId = window.setInterval(this.onTimer.bind(this), 50);\n\n // initial hide all decorations after install of this policy\n //\n this.hidePortsCounter = 1;\n this.alpha = 0.1;\n },\n\n /**\n * @inheritDoc\n **/\n onUninstall: function onUninstall(canvas) {\n window.clearInterval(this.timerId);\n this.canvas.getAllPorts().each(function (i, port) {\n port.setAlpha(1.0);\n });\n\n this._super(canvas);\n },\n\n /**\n *\n *\n * Timerfucntion to show/hide the related ports\n * @private\n **/\n onTimer: function onTimer() {\n var _this = this;\n\n this.hidePortsCounter--;\n\n if (this.hidePortsCounter <= 0 && this.alpha > 0) {\n this.alpha = Math.max(0, this.alpha - this.alphaDec);\n\n this.canvas.getAllPorts().each(function (i, port) {\n port.setAlpha(_this.alpha);\n });\n\n this.canvas.getSelection().getAll().each(function (i, figure) {\n figure.selectionHandles.each(function (i, handle) {\n handle.setAlpha(_this.alpha);\n });\n });\n } else if (this.hidePortsCounter > 0 && this.alpha !== 1.0) {\n this.alpha = 1; // Math.min(1,this.alpha+0.1);\n this.alphaDec = this.DEFAULT_ALPHA_DECREMENT;\n this.duringHide = false;\n this.canvas.getAllPorts().each(function (i, port) {\n port.setAlpha(_this.alpha);\n });\n this.canvas.getSelection().getAll().each(function (i, figure) {\n figure.selectionHandles.each(function (i, handle) {\n handle.setAlpha(_this.alpha);\n });\n });\n }\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseDown: function onMouseDown(canvas, x, y, shiftKey, ctrlKey) {\n this.hidePortsCounter = this.DEFAULT_FADEOUT_DURATION;\n this.portDragging = canvas.getBestFigure(x, y) instanceof _packages2.default.Port;\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseMove: function onMouseMove(canvas, x, y, shiftKey, ctrlKey) {\n this.hidePortsCounter = this.DEFAULT_FADEOUT_DURATION;\n this.portDragging = false;\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} dx The x diff between start of dragging and this event\n * @param {Number} dy The y diff between start of dragging and this event\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n if (this.portDragging === false) {\n this.hidePortsCounter = 0;\n this.alphaDec = 0.1;\n this.onTimer();\n }\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseUp: function onMouseUp(figure, x, y, shiftKey, ctrlKey) {\n this.hidePortsCounter = this.DEFAULT_FADEOUT_DURATION;\n this.portDragging = false;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/GhostMoveSelectionPolicy.js\":\n/*!*******************************************************!*\\\n !*** ./src/policy/canvas/GhostMoveSelectionPolicy.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A drag&Drop feedback handler for the canvas. The policy didn't move the\n * shapes in real time rather it shows a ghost rectangle as feedback. <br>\n * <br>\n * The shapes are updated after the drag&drop operation.\n *\n *\n *\n * @example\n *\n * // install the policy to the canvas\n * canvas.installEditPolicy(new draw2d.policy.canvas.GhostMoveSelectionPolicy());\n *\n * // add some demo figure to the canvas\n * canvas.add(new draw2d.shape.basic.Circle({diameter: 50, x: 10, y: 30}));\n * canvas.add(new draw2d.shape.basic.Circle({diameter: 30, x: 90, y: 50}));\n * canvas.add(new draw2d.shape.basic.Circle({diameter: 60, x: 110, y: 30}));\n *\n * canvas.add(new draw2d.shape.basic.Label({text:\"move the circle to see the drag&drop feedback\"}),5,5);\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.SingleSelectionPolicy\n */\n_packages2.default.policy.canvas.GhostMoveSelectionPolicy = _packages2.default.policy.canvas.SingleSelectionPolicy.extend(\n/** @lends draw2d.policy.canvas.GhostMoveSelectionPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.GhostMoveSelectionPolicy\",\n\n /**\n */\n init: function init() {\n this.clone = null;\n this.ghostRectangle1 = null;\n this.ghostRectangle2 = null;\n\n this._super();\n },\n\n /**\n * @inheritdoc\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n this.mouseMovedDuringMouseDown = true;\n if (this.mouseDraggingElement !== null) {\n\n // if the figure not part of the selection it must be a ResizeHandle...\n var sel = canvas.getSelection().getAll();\n if (!sel.contains(this.mouseDraggingElement)) {\n this.mouseDraggingElement.onDrag(dx, dy, dx2, dy2, shiftKey, ctrlKey);\n }\n // it is a normal draw2d.Figure\n else {\n // create the ghost handles for the figure to move and update the position\n //\n if (this.ghostRectangle1 === null) {\n this.ghostRectangle1 = new _packages2.default.shape.basic.Rectangle(); // new API with version 5.0.0\n // old API\n this.ghostRectangle1.setBackgroundColor(\"#303030\");\n this.ghostRectangle1.setAlpha(0.1);\n\n this.ghostRectangle2 = new _packages2.default.shape.basic.Rectangle();\n this.ghostRectangle2.setDashArray(\"- \");\n this.ghostRectangle2.setStroke(1);\n this.ghostRectangle2.setColor(\"#5497DC\");\n this.ghostRectangle2.setBackgroundColor(null);\n\n this.ghostRectangle1.setBoundingBox(this.mouseDraggingElement.getBoundingBox());\n this.ghostRectangle2.setBoundingBox(this.mouseDraggingElement.getBoundingBox());\n\n this.ghostRectangle1.setCanvas(canvas);\n this.ghostRectangle1.toFront();\n\n this.ghostRectangle2.setCanvas(canvas);\n this.ghostRectangle2.toFront();\n\n this.clone = this.mouseDraggingElement.clone();\n if (this.clone instanceof _packages2.default.shape.node.Node) {\n this.clone.resetPorts();\n }\n this.clone.setCanvas(canvas);\n this.clone.getShapeElement();\n this.clone.setAlpha(0.4);\n this.clone.repaint();\n } else {\n this.ghostRectangle1.translate(dx2, dy2);\n this.ghostRectangle2.translate(dx2, dy2);\n this.clone.translate(dx2, dy2);\n }\n\n sel.each(function (i, figure) {\n // store the new location in a tmp var.\n figure._newPos = new _packages2.default.geo.Point(figure.ox + dx, figure.oy + dy);\n\n // don't move the figure. This will be done in the MouseUp event\n //figure.onDrag(dx, dy, dx2, dy2);\n });\n }\n\n var p = canvas.fromDocumentToCanvasCoordinate(canvas.mouseDownX + dx / canvas.zoomFactor, canvas.mouseDownY + dy / canvas.zoomFactor);\n var target = canvas.getBestFigure(p.x, p.y, this.mouseDraggingElement);\n\n if (target !== canvas.currentDropTarget) {\n if (canvas.currentDropTarget !== null) {\n canvas.currentDropTarget.onDragLeave(this.mouseDraggingElement);\n canvas.currentDropTarget.fireEvent(\"dragLeave\", { draggingElement: this.draggingElement });\n canvas.currentDropTarget = null;\n }\n if (target !== null) {\n canvas.currentDropTarget = target.delegateTarget(this.mouseDraggingElement);\n // inform all listener that the element has accept a dropEnter event\n if (canvas.currentDropTarget !== null) {\n canvas.currentDropTarget.onDragEnter(this.mouseDraggingElement); // legacy\n canvas.currentDropTarget.fireEvent(\"dragEnter\", { draggingElement: this.draggingElement });\n }\n }\n }\n }\n // Connection didn't support panning at the moment. There is no special reason for that. Just an interaction\n // decision.\n //\n else if (this.mouseDownElement !== null && !(this.mouseDownElement instanceof _packages2.default.Connection)) {\n if (this.mouseDownElement.panningDelegate !== null) {\n this.mouseDownElement.panningDelegate.fireEvent(\"panning\", {\n dx: dx,\n dy: dy,\n dx2: dx2,\n dy2: dy2,\n shiftKey: shiftKey,\n ctrlKey: ctrlKey\n });\n this.mouseDownElement.panningDelegate.onPanning(dx, dy, dx2, dy2, shiftKey, ctrlKey);\n } else {\n this.mouseDownElement.fireEvent(\"panning\", {\n dx: dx,\n dy: dy,\n dx2: dx2,\n dy2: dy2,\n shiftKey: shiftKey,\n ctrlKey: ctrlKey\n });\n this.mouseDownElement.onPanning(dx, dy, dx2, dy2, shiftKey, ctrlKey);\n }\n }\n },\n\n /**\n * @inheritdoc\n */\n onMouseUp: function onMouseUp(canvas, x, y, shiftKey, ctrlKey) {\n\n if (this.ghostRectangle1 !== null) {\n this.ghostRectangle1.setCanvas(null);\n this.ghostRectangle1 = null;\n this.ghostRectangle2.setCanvas(null);\n this.ghostRectangle2 = null;\n this.clone.setCanvas(null);\n this.clone = null;\n }\n\n if (this.mouseDraggingElement !== null) {\n var redrawConnection = new _packages2.default.util.ArrayList();\n if (this.mouseDraggingElement instanceof _packages2.default.shape.node.Node) {\n canvas.lineIntersections.each(function (i, inter) {\n if (!redrawConnection.contains(inter.line)) redrawConnection.add(inter.line);\n if (!redrawConnection.contains(inter.other)) redrawConnection.add(inter.other);\n });\n }\n\n // start CommandStack transaction\n // Trigger an update of the connections if we have move a draw2d.shape.node.Node figure.\n // (only \"nodes\" can have ports and connections)\n //\n canvas.getCommandStack().startTransaction();\n\n var sel = canvas.getSelection().getAll();\n // We move a resize handle...\n //\n if (!sel.contains(this.mouseDraggingElement)) {\n this.mouseDraggingElement.onDragEnd(x, y, shiftKey, ctrlKey);\n }\n // ... or a real figure.\n //\n else {\n canvas.getSelection().getAll().each(function (i, figure) {\n // set position and cleanup tmp variable\n if (figure._newPos) {\n figure.setPosition(figure._newPos);\n delete figure._newPos;\n }\n // done\n figure.onDragEnd(x, y, shiftKey, ctrlKey);\n });\n }\n\n // May we drop the figure onto another shape..handle this here\n //\n if (canvas.currentDropTarget !== null && !this.mouseDraggingElement.isResizeHandle) {\n this.mouseDraggingElement.onDrop(canvas.currentDropTarget, x, y, shiftKey, ctrlKey);\n canvas.currentDropTarget.onDragLeave(this.mouseDraggingElement);\n canvas.currentDropTarget.onCatch(this.mouseDraggingElement, x, y, shiftKey, ctrlKey);\n canvas.currentDropTarget = null;\n }\n\n // end command stack trans\n canvas.getCommandStack().commitTransaction();\n\n if (this.mouseDraggingElement instanceof _packages2.default.shape.node.Node) {\n canvas.lineIntersections.each(function (i, inter) {\n if (!redrawConnection.contains(inter.line)) redrawConnection.add(inter.line);\n if (!redrawConnection.contains(inter.other)) redrawConnection.add(inter.other);\n });\n redrawConnection.each(function (i, line) {\n line.svgPathString = null;\n line.repaint();\n });\n }\n\n this.mouseDraggingElement = null;\n }\n\n // Reset the current selection if the user click in the blank canvas.\n // Don't reset the selection if the user is panning the canvas\n //\n if (this.mouseDownElement === null && this.mouseMovedDuringMouseDown === false) {\n this.select(canvas, null);\n }\n\n this.mouseDownElement = null;\n this.mouseMovedDuringMouseDown = false;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/KeyboardPolicy.js\":\n/*!*********************************************!*\\\n !*** ./src/policy/canvas/KeyboardPolicy.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Default interface for keyboard interaction with the canvas.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.CanvasPolicy\n */\n_packages2.default.policy.canvas.KeyboardPolicy = _packages2.default.policy.canvas.CanvasPolicy.extend(\n/** @lends draw2d.policy.canvas.KeyboardPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.KeyboardPolicy\",\n\n /**\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Callback if the user release a key\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {Number} keyCode the pressed key\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onKeyUp: function onKeyUp(canvas, keyCode, shiftKey, ctrlKey) {\n // do nothing per default\n },\n\n /**\n * \n * Callback if the user press a key down\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {Number} keyCode the pressed key\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onKeyDown: function onKeyDown(canvas, keyCode, shiftKey, ctrlKey) {\n // do nothing per default\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/PanningSelectionPolicy.js\":\n/*!*****************************************************!*\\\n !*** ./src/policy/canvas/PanningSelectionPolicy.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.SingleSelectionPolicy\n */\n_packages2.default.policy.canvas.PanningSelectionPolicy = _packages2.default.policy.canvas.SingleSelectionPolicy.extend(\n/** @lends draw2d.policy.canvas.PanningSelectionPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.PanningSelectionPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init() {\n this._super();\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} dx The x diff between start of dragging and this event\n * @param {Number} dy The y diff between start of dragging and this event\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n this._super(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey);\n\n if (this.mouseDraggingElement === null && this.mouseDownElement === null) {\n\n // check if we are dragging a port. This isn't reported by the selection handler anymore\n //\n var p = canvas.fromDocumentToCanvasCoordinate(canvas.mouseDownX + dx / canvas.zoomFactor, canvas.mouseDownY + dy / canvas.zoomFactor);\n var figure = canvas.getBestFigure(p.x, p.y);\n\n if (figure === null) {\n var area = canvas.getScrollArea();\n area.scrollTop(area.scrollTop() - dy2);\n area.scrollLeft(area.scrollLeft() - dx2);\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/ReadOnlySelectionPolicy.js\":\n/*!******************************************************!*\\\n !*** ./src/policy/canvas/ReadOnlySelectionPolicy.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.SelectionPolicy\n */\n_packages2.default.policy.canvas.ReadOnlySelectionPolicy = _packages2.default.policy.canvas.SelectionPolicy.extend(\n/** @lends draw2d.policy.canvas.ReadOnlySelectionPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.ReadOnlySelectionPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Called by the host if the policy has been installed.\n *\n * @param {draw2d.Canvas/draw2d.Canvas} canvas\n */\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n canvas.getAllPorts().each(function (i, port) {\n port.setVisible(false);\n });\n },\n\n /**\n * \n * Called by the host if the policy has been uninstalled.\n *\n * @param {draw2d.Canvas} canvas\n */\n onUninstall: function onUninstall(canvas) {\n canvas.getAllPorts().each(function (i, port) {\n port.setVisible(true);\n });\n\n this._super(canvas);\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} dx The x diff between start of dragging and this event\n * @param {Number} dy The y diff between start of dragging and this event\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n var area = canvas.getScrollArea();\n area.scrollTop(area.scrollTop() - dy2);\n area.scrollLeft(area.scrollLeft() - dx2);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SelectionPolicy.js\":\n/*!**********************************************!*\\\n !*** ./src/policy/canvas/SelectionPolicy.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.CanvasPolicy\n */\n_packages2.default.policy.canvas.SelectionPolicy = _packages2.default.policy.canvas.CanvasPolicy.extend(\n/** @lends draw2d.policy.canvas.SelectionPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SelectionPolicy\",\n\n /**\n * Creates a new selection policy\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Selects the given figure within the canvas. The policy must unselect already selected\n * figures or show any decorations.\n *\n * @param {draw2d.Canvas} canvas\n * @param {draw2d.Figure} figure\n *\n */\n select: function select(canvas, figure) {},\n\n /**\n *\n * Unselect the given figure in the canvas and remove all resize handles\n *\n * @param {draw2d.Canvas} canvas\n * @param {draw2d.Figure} figure\n */\n unselect: function unselect(canvas, figure) {\n canvas.getSelection().remove(figure);\n\n figure.unselect();\n\n // @since 6.1.42\n canvas.fireEvent(\"unselect\", { figure: figure });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/ShowChessboardEditPolicy.js\":\n/*!*******************************************************!*\\\n !*** ./src/policy/canvas/ShowChessboardEditPolicy.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Just to paint a grid in the background of a canvas.\n *\n *\n * @example\n *\n * canvas.installEditPolicy(new draw2d.policy.canvas.ShowChessboardEditPolicy());\n * let shape = new draw2d.shape.basic.Text({text:\"This is a simple text in a canvas with chessboard background.\"});\n *\n * canvas.add(shape,40,10);\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.DecorationPolicy\n */\n_packages2.default.policy.canvas.ShowChessboardEditPolicy = _packages2.default.policy.canvas.DecorationPolicy.extend(\n/** @lends draw2d.policy.canvas.ShowChessboardEditPolicy.prototype */\n{\n NAME: \"draw2d.policy.canvas.ShowChessboardEditPolicy\",\n\n GRID_COLOR: \"#e0e0e0\",\n GRID_WIDTH: 20,\n\n /**\n * Creates a new constraint policy for snap to grid\n *\n * @param {Number} grid the grid width of the canvas\n */\n init: function init(grid) {\n this._super();\n if (grid) {\n this.grid = grid;\n } else {\n this.grid = this.GRID_WIDTH;\n }\n },\n\n onInstall: function onInstall(canvas) {\n var _this = this;\n\n this._super(canvas);\n\n this.oldBg = this.canvas.html.css(\"background\");\n this.setGrid(1 / canvas.getZoom());\n this.onZoomCallback = function (emitterFigure, zoomData) {\n _this.setGrid(1 / zoomData.value);\n };\n canvas.on(\"zoom\", this.onZoomCallback);\n },\n\n onUninstall: function onUninstall(canvas) {\n this._super(canvas);\n $(canvas.paper.canvas).css({ \"background\": this.oldBg });\n canvas.off(this.onZoomCallback);\n },\n\n /**\n * Activate the grid and set the CSS properties for the SVG canvas\n * @private\n */\n setGrid: function setGrid(zoom) {\n\n var gridColor = this.GRID_COLOR;\n\n var background = \"linear-gradient(45deg, \" + gridColor + \" 25%, transparent 25%, transparent 75%, \" + gridColor + \" 75%, \" + gridColor + \" 100%),\\n\" + (\"linear-gradient(45deg, \" + gridColor + \" 25%, transparent 25%, transparent 75%, \" + gridColor + \" 75%, \" + gridColor + \" 100%)\");\n var backgroundSize = this.grid * 2 * zoom + \"px \" + this.grid * 2 * zoom + \"px\";\n var backgroundPosition = \"0 0, \" + this.grid * zoom + \"px \" + this.grid * zoom + \"px\";\n\n $(this.canvas.paper.canvas).css({\n \"background\": background,\n \"background-size\": backgroundSize,\n \"background-position\": backgroundPosition\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/ShowDimetricGridEditPolicy.js\":\n/*!*********************************************************!*\\\n !*** ./src/policy/canvas/ShowDimetricGridEditPolicy.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A canvas decoration which paints a dimetric in the background.\n * <br>\n * <br>\n *\n * @example\n *\n * canvas.installEditPolicy(new draw2d.policy.canvas.ShowDimetricGridEditPolicy());\n * let shape = new draw2d.shape.basic.Text({text:\"This is a simple text in a canvas with grid background.\"});\n *\n * canvas.add(shape,40,10);\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.DecorationPolicy\n */\n_packages2.default.policy.canvas.ShowDimetricGridEditPolicy = _packages2.default.policy.canvas.DecorationPolicy.extend(\n/** @lends draw2d.policy.canvas.ShowDimetricGridEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.ShowDimetricGridEditPolicy\",\n\n GRID_COLOR: \"#f0f0f0\",\n GRID_WIDTH: 30,\n\n /**\n * Creates a new constraint policy for snap to grid\n *\n * @param {Number} [grid] the grid width of the canvas\n */\n init: function init(grid) {\n this.color = new _packages2.default.util.Color(this.GRID_COLOR);\n this.zoom = 1;\n this.shapes = null;\n\n this._super();\n\n if (typeof grid === \"number\") {\n this.grid = grid;\n } else {\n this.grid = this.GRID_WIDTH;\n }\n },\n\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n this.zoom = canvas.getZoom();\n this.setGrid(this.grid);\n },\n\n onUninstall: function onUninstall(canvas) {\n this._super(canvas);\n if (this.shapes !== null) {\n this.shapes.remove();\n }\n },\n\n /**\n * \n * Set the grid color\n *\n * @param {draw2d.util.Color|String} color a color object or the CSS string declaration for a color\n * @since 5.0.3\n */\n setGridColor: function setGridColor(color) {\n this.color = new _packages2.default.util.Color(color);\n this.setGrid(this.grid);\n },\n\n /**\n * \n * Set a new grid width/height\n *\n * @param {Number} grid\n * @since 5.0.3\n */\n setGrid: function setGrid(grid) {\n this.grid = grid;\n\n if (this.canvas != null) {\n if (this.shapes !== null) {\n this.shapes.remove();\n }\n\n var r = this.canvas.paper;\n var d = this.grid,\n i = void 0;\n var w = r.width;\n var h = r.height;\n var props = { stroke: this.color.rgba() };\n\n var max = Math.sqrt(w * w + h * h);\n var angle26 = Math.atan(.5);\n var angle153 = Math.PI - angle26;\n var cos30 = Math.cos(angle26);\n var sin30 = Math.sin(angle26);\n var cos150 = Math.cos(angle153);\n var sin150 = Math.sin(angle153);\n\n r.setStart();\n // horizontal\n for (i = 0; i <= w; i += d * 2) {\n r.path([[\"M\", i, 0], [\"L\", i + cos30 * max, sin30 * max]]).attr(props);\n r.path([[\"M\", i, 0], [\"L\", i + cos150 * max, sin150 * max]]).attr(props);\n }\n for (i = d; i <= h; i += d) {\n r.path([[\"M\", 0, i], [\"L\", cos30 * max, i + sin30 * max]]).attr(props);\n r.path([[\"M\", w, i], [\"L\", w + cos150 * max, i + sin150 * max]]).attr(props);\n }\n // vertical\n this.shapes = r.setFinish();\n\n this.shapes.toBack();\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/ShowDotEditPolicy.js\":\n/*!************************************************!*\\\n !*** ./src/policy/canvas/ShowDotEditPolicy.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Paint a dotted pattern in the background of the canvas.\n *\n *\n * @example\n *\n * canvas.installEditPolicy(new draw2d.policy.canvas.ShowDotEditPolicy());\n * let shape = new draw2d.shape.basic.Text({text:\"This is a simple text in a canvas with dotted background.\"});\n *\n * canvas.add(shape,40,10);\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.DecorationPolicy\n * @since 4.0.1\n */\n\n_packages2.default.policy.canvas.ShowDotEditPolicy = _packages2.default.policy.canvas.DecorationPolicy.extend(\n/** @lends draw2d.policy.canvas.ShowDotEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.ShowDotEditPolicy\",\n\n DOT_COLOR: \"#999999\",\n DOT_RADIUS: 1,\n DOT_DISTANCE: 20,\n\n /**\n * show a dot grid in the canvas for decoration.\n *\n * @param {Number} [dotDistance] the distance or grid width between the dots.\n * @param {Number} [dotRadius] the radius of the dots.\n * @param {draw2d.util.Color|String} [dotColor] the color for the dots.\n */\n init: function init(dotDistance, dotRadius, dotColor) {\n var _this = this;\n\n this._super();\n\n this.dotDistance = dotDistance ? dotDistance : this.DOT_DISTANCE;\n this.dotRadius = dotRadius ? dotRadius : this.DOT_RADIUS;\n this.dotColor = new _packages2.default.util.Color(dotColor ? dotColor : this.DOT_COLOR);\n this.onZoomCallback = function (emitterFigure, zoomData) {\n _this.setGrid(1 / zoomData.value);\n };\n },\n\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n\n this.oldBg = this.canvas.html.css(\"background\");\n this.setGrid(1 / canvas.getZoom());\n canvas.on(\"zoom\", this.onZoomCallback);\n },\n\n onUninstall: function onUninstall(canvas) {\n this._super(canvas);\n $(canvas.paper.canvas).css({ \"background\": this.oldBg });\n canvas.off(this.onZoomCallback);\n },\n\n /**\n * @private\n * @param {Number} zoom \n */\n setGrid: function setGrid(zoom) {\n var bgColor = \"#FFFFFF\";\n var dotColor = this.dotColor.rgba();\n\n var background = \"linear-gradient(90deg, \" + bgColor + \" \" + (this.dotDistance - this.dotRadius) * zoom + \"px, transparent 1%) center, linear-gradient(\" + bgColor + \" \" + (this.dotDistance - this.dotRadius) * zoom + \"px, transparent 1%) center, \" + dotColor;\n var backgroundSize = this.dotDistance * zoom + \"px \" + this.dotDistance * zoom + \"px\";\n\n $(this.canvas.paper.canvas).css({\n \"background\": background,\n \"background-size\": backgroundSize\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/ShowGridEditPolicy.js\":\n/*!*************************************************!*\\\n !*** ./src/policy/canvas/ShowGridEditPolicy.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A cavas decoration which paints a grid in the background.\n * <br>\n * <br>\n *\n * @example\n *\n * canvas.installEditPolicy(new draw2d.policy.canvas.ShowGridEditPolicy());\n * let shape = new draw2d.shape.basic.Text({text:\"This is a simple text in a canvas with grid background.\"});\n *\n * canvas.add(shape,40,10);\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.DecorationPolicy\n */\n_packages2.default.policy.canvas.ShowGridEditPolicy = _packages2.default.policy.canvas.DecorationPolicy.extend(\n/** @lends draw2d.policy.canvas.ShowGridEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.ShowGridEditPolicy\",\n\n GRID_COLOR: \"#f0f0f0\",\n GRID_WIDTH: 20,\n GRID_STOKE: 1,\n\n /**\n * Creates a new constraint policy for snap to grid\n *\n * @param {Number} [grid] the grid width of the canvas\n */\n init: function init(gridDistance, gridStroke, gridColor) {\n var _this = this;\n\n this.gridWidth = gridDistance || this.GRID_WIDTH;\n this.gridStroke = gridStroke || this.GRID_STOKE;\n this.gridColor = new _packages2.default.util.Color(gridColor || this.GRID_COLOR);\n this._super();\n this.onZoomCallback = function (emitterFigure, zoomData) {\n _this.setGrid(1 / zoomData.value);\n };\n },\n\n /**\n *\n * Set the grid color\n *\n * @param {draw2d.util.Color|String} color a color object or the CSS string declaration for a color\n * @since 5.0.3\n */\n setGridColor: function setGridColor(color) {\n this.gridColor = new _packages2.default.util.Color(color);\n this.setGrid(1 / this.canvas.getZoom());\n },\n\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n\n this.oldBg = this.canvas.html.css(\"background\");\n this.setGrid(1 / canvas.getZoom());\n canvas.on(\"zoom\", this.onZoomCallback);\n },\n\n onUninstall: function onUninstall(canvas) {\n this._super(canvas);\n\n $(canvas.paper.canvas).css({ \"background\": this.oldBg });\n canvas.off(this.onZoomCallback);\n },\n\n /**\n * @private\n * @param {Number} zoom \n */\n setGrid: function setGrid(zoom) {\n var bgColor = \"#FFFFFF\";\n var color = this.gridColor.rgba();\n\n var background = \" linear-gradient(to right, \" + color + \" \" + this.gridStroke + \"px, transparent \" + this.gridStroke + \"px),\\n linear-gradient(to bottom, \" + color + \" \" + this.gridStroke + \"px, \" + bgColor + \" \" + this.gridStroke + \"px)\";\n var backgroundSize = this.gridWidth * zoom + \"px \" + this.gridWidth * zoom + \"px\";\n\n $(this.canvas.paper.canvas).css({\n \"background\": background,\n \"background-size\": backgroundSize\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SingleSelectionPolicy.js\":\n/*!****************************************************!*\\\n !*** ./src/policy/canvas/SingleSelectionPolicy.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.SelectionPolicy\n */\n_packages2.default.policy.canvas.SingleSelectionPolicy = _packages2.default.policy.canvas.SelectionPolicy.extend(\n/** @lends draw2d.policy.canvas.SingleSelectionPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SingleSelectionPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init() {\n this._super();\n this.mouseMovedDuringMouseDown = false;\n this.mouseDraggingElement = null;\n this.mouseDownElement = null;\n },\n\n /**\n * @inheritdoc\n */\n select: function select(canvas, figure) {\n if (canvas.getSelection().contains(figure)) {\n return; // nothing to to\n }\n\n var oldSelection = canvas.getSelection().getPrimary();\n if (canvas.getSelection().getPrimary() !== null) {\n this.unselect(canvas, canvas.getSelection().getPrimary());\n }\n\n if (figure !== null) {\n figure.select(true); // primary selection\n }\n\n canvas.getSelection().setPrimary(figure);\n\n // inform all selection listeners about the new selection.\n //\n if (oldSelection !== figure) {\n canvas.fireEvent(\"select\", { figure: figure, selection: canvas.getSelection() });\n }\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseDown: function onMouseDown(canvas, x, y, shiftKey, ctrlKey) {\n this.mouseMovedDuringMouseDown = false;\n var canDragStart = true;\n\n // ignore ports since version 6.1.0. This is handled by the ConnectionCreatePolicy\n //\n var figure = canvas.getBestFigure(x, y);\n\n // may the figure is assigned to a composite. In this case the composite can\n // override the event receiver\n while (figure !== null) {\n var delegate = figure.getSelectionAdapter()();\n if (delegate === figure) {\n break;\n }\n figure = delegate;\n }\n\n // ignore ports since version 6.1.0. This is handled by the ConnectionCreatePolicy\n //\n if (figure instanceof _packages2.default.Port) {\n return; // silently\n }\n\n if (figure !== null && figure.isDraggable()) {\n canDragStart = figure.onDragStart(x - figure.getAbsoluteX(), y - figure.getAbsoluteY(), shiftKey, ctrlKey);\n // Element send a veto about the drag&drop operation\n this.mouseDraggingElement = canDragStart === false ? null : figure;\n }\n\n this.mouseDownElement = figure;\n if (this.mouseDownElement !== null) {\n this.mouseDownElement.fireEvent(\"mousedown\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n }\n\n if (figure !== canvas.getSelection().getPrimary() && figure !== null && figure.isSelectable() === true) {\n this.select(canvas, figure);\n\n // it's a line\n if (figure instanceof _packages2.default.shape.basic.Line) {\n // you can move a line with Drag&Drop...but not a connection.\n // A Connection is fixed linked with the corresponding ports.\n //\n if (!(figure instanceof _packages2.default.Connection)) {\n canvas.draggingLineCommand = figure.createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.MOVE));\n if (canvas.draggingLineCommand !== null) {\n canvas.draggingLine = figure;\n }\n }\n } else if (canDragStart === false) {\n figure.unselect();\n }\n }\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} dx The x diff between start of dragging and this event\n * @param {Number} dy The y diff between start of dragging and this event\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n\n this.mouseMovedDuringMouseDown = true;\n if (this.mouseDraggingElement !== null) {\n\n // mouseDraggingElement be a ResizeHandle...in this case it is not part of the selection\n //\n var sel = canvas.getSelection();\n if (!sel.contains(this.mouseDraggingElement)) {\n this.mouseDraggingElement.onDrag(dx, dy, dx2, dy2, shiftKey, ctrlKey);\n } else {\n sel.each(function (i, figure) {\n figure.onDrag(dx, dy, dx2, dy2, shiftKey, ctrlKey);\n });\n }\n\n var p = canvas.fromDocumentToCanvasCoordinate(canvas.mouseDownX + dx / canvas.zoomFactor, canvas.mouseDownY + dy / canvas.zoomFactor);\n var target = canvas.getBestFigure(p.x, p.y, this.mouseDraggingElement);\n\n if (target !== canvas.currentDropTarget) {\n if (canvas.currentDropTarget !== null) {\n canvas.currentDropTarget.onDragLeave(this.mouseDraggingElement);\n canvas.currentDropTarget.fireEvent(\"dragLeave\", { draggingElement: this.mouseDraggingElement });\n canvas.currentDropTarget = null;\n }\n if (target !== null) {\n canvas.currentDropTarget = target.delegateTarget(this.mouseDraggingElement);\n // inform all listener that the element has accept the dragEnter event\n //\n if (canvas.currentDropTarget !== null) {\n canvas.currentDropTarget.onDragEnter(this.mouseDraggingElement); // legacy\n canvas.currentDropTarget.fireEvent(\"dragEnter\", { draggingElement: this.mouseDraggingElement });\n }\n }\n }\n }\n // Connection didn't support panning at the moment. There is no special reason for that. Just an interaction\n // decision.\n //\n else if (this.mouseDownElement !== null && !(this.mouseDownElement instanceof _packages2.default.Connection)) {\n if (this.mouseDownElement.panningDelegate !== null) {\n this.mouseDownElement.panningDelegate.fireEvent(\"panning\", {\n dx: dx,\n dy: dy,\n dx2: dx2,\n dy2: dy2,\n shiftKey: shiftKey,\n ctrlKey: ctrlKey\n });\n this.mouseDownElement.panningDelegate.onPanning(dx, dy, dx2, dy2, shiftKey, ctrlKey);\n } else {\n this.mouseDownElement.fireEvent(\"panning\", {\n dx: dx,\n dy: dy,\n dx2: dx2,\n dy2: dy2,\n shiftKey: shiftKey,\n ctrlKey: ctrlKey\n });\n this.mouseDownElement.onPanning(dx, dy, dx2, dy2, shiftKey, ctrlKey);\n }\n }\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas the related Canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseUp: function onMouseUp(canvas, x, y, shiftKey, ctrlKey) {\n if (this.mouseDraggingElement !== null) {\n var redrawConnection = new _packages2.default.util.ArrayList();\n if (this.mouseDraggingElement instanceof _packages2.default.shape.node.Node) {\n // TODO: don't add the connections with to check if a repaint is required\n // may a moved connection didn't have an intersection with the named lines.\n // in this case a redraw is useless\n canvas.lineIntersections.each(function (i, inter) {\n if (!redrawConnection.contains(inter.line)) redrawConnection.add(inter.line);\n if (!redrawConnection.contains(inter.other)) redrawConnection.add(inter.other);\n });\n }\n\n // start CommandStack transaction\n canvas.getCommandStack().startTransaction();\n\n var sel = canvas.getSelection().getAll();\n if (!sel.contains(this.mouseDraggingElement)) {\n this.mouseDraggingElement.onDragEnd(x, y, shiftKey, ctrlKey);\n } else {\n canvas.getSelection().getAll().each(function (i, figure) {\n figure.onDragEnd(x, y, shiftKey, ctrlKey);\n });\n }\n\n if (canvas.currentDropTarget !== null && !this.mouseDraggingElement.isResizeHandle) {\n this.mouseDraggingElement.onDrop(canvas.currentDropTarget, x, y, shiftKey, ctrlKey);\n canvas.currentDropTarget.onDragLeave(this.mouseDraggingElement);\n canvas.currentDropTarget.fireEvent(\"dragLeave\", { draggingElement: this.mouseDraggingElement });\n canvas.currentDropTarget.onCatch(this.mouseDraggingElement, x, y, shiftKey, ctrlKey);\n canvas.currentDropTarget = null;\n }\n\n // end command stack trans\n canvas.getCommandStack().commitTransaction();\n\n if (this.mouseDraggingElement instanceof _packages2.default.shape.node.Node) {\n canvas.lineIntersections.each(function (i, inter) {\n if (!redrawConnection.contains(inter.line)) redrawConnection.add(inter.line);\n if (!redrawConnection.contains(inter.other)) redrawConnection.add(inter.other);\n });\n redrawConnection.each(function (i, line) {\n line.svgPathString = null;\n line.repaint();\n });\n }\n\n this.mouseDraggingElement = null;\n }\n // Connection didn't support panning at the moment. There is no special reason for that. Just an interaction\n // decision.\n //\n else if (this.mouseDownElement !== null && !(this.mouseDownElement instanceof _packages2.default.Connection)) {\n if (this.mouseDownElement.panningDelegate !== null) {\n this.mouseDownElement.panningDelegate.fireEvent(\"panningEnd\");\n this.mouseDownElement.panningDelegate.onPanningEnd();\n } else {\n this.mouseDownElement.fireEvent(\"panningEnd\");\n this.mouseDownElement.onPanningEnd();\n }\n }\n\n // Reset the current selection if the user click in the blank canvas.\n // Don't reset the selection if the user pan the canvas\n //\n if (this.mouseDownElement === null && this.mouseMovedDuringMouseDown === false) {\n this.select(canvas, null);\n }\n\n if (this.mouseDownElement !== null) {\n this.mouseDownElement.fireEvent(\"mouseup\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n }\n\n this.mouseDownElement = null;\n this.mouseMovedDuringMouseDown = false;\n },\n\n /**\n *\n * Called by the canvas if the user click on a figure.\n *\n * @param {draw2d.Figure} figure the figure under the click event. Can be null\n * @param {Number} mouseX the x coordinate of the mouse during the click event\n * @param {Number} mouseY the y coordinate of the mouse during the click event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @since 3.0.0\n */\n onClick: function onClick(figure, mouseX, mouseY, shiftKey, ctrlKey) {\n if (figure !== null) {\n figure.fireEvent(\"click\", {\n figure: figure,\n x: mouseX,\n y: mouseY,\n relX: mouseX - figure.getAbsoluteX(),\n relY: mouseY - figure.getAbsoluteY(),\n shiftKey: shiftKey,\n ctrlKey: ctrlKey\n });\n\n figure.onClick();\n }\n },\n\n /**\n *\n * Called by the canvas if the user double click on a figure.\n *\n * @param {draw2d.Figure} figure the figure under the double click event. Can be null\n * @param {Number} mouseX the x coordinate of the mouse during the click event\n * @param {Number} mouseY the y coordinate of the mouse during the click event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @since 4.1.0\n */\n onDoubleClick: function onDoubleClick(figure, mouseX, mouseY, shiftKey, ctrlKey) {\n if (figure !== null) {\n figure.fireEvent(\"dblclick\", { x: mouseX, y: mouseY, shiftKey: shiftKey, ctrlKey: ctrlKey });\n figure.onDoubleClick();\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SnapToCenterEditPolicy.js\":\n/*!*****************************************************!*\\\n !*** ./src/policy/canvas/SnapToCenterEditPolicy.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Snapping is based on the existing children of a container. When snapping a shape,\n * the center of the bounding box will snap to the center of other figures of the given canvas.\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.SnapToEditPolicy\n * @since 5.6.4\n */\n_packages2.default.policy.canvas.SnapToCenterEditPolicy = _packages2.default.policy.canvas.SnapToEditPolicy.extend(\n/** @lends draw2d.policy.canvas.SnapToCenterEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SnapToCenterEditPolicy\",\n\n SNAP_THRESHOLD: 5,\n FADEOUT_DURATION: 500,\n\n /**\n * Creates a new constraint policy for snap to geometry\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.centers = null;\n\n this.horizontalGuideLines = null;\n this.verticalGuideLines = null;\n },\n\n /**\n *\n *\n * @param {draw2d.Figure} figure the shape below the mouse or null\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseUp: function onMouseUp(figure, x, y, shiftKey, ctrlKey) {\n this.centers = null;\n this.hideHorizontalGuides(false);\n this.hideVerticalGuides(false);\n },\n\n /**\n *\n * Adjust the coordinates to the canvas neighbours\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the figure to snap\n * @param {draw2d.geo.Point} modifiedPos the already modified position of the figure (e.g. from an another Policy)\n * @param {draw2d.geo.Point} originalPos the original requested position of the figure\n *\n * @returns {draw2d.geo.Point} the constraint position of the figure\n */\n snap: function snap(canvas, figure, modifiedPos, originalPos) {\n // do nothing for resize handles\n if (figure instanceof _packages2.default.ResizeHandle) {\n return modifiedPos;\n }\n\n // do nothing for lines\n if (figure instanceof _packages2.default.shape.basic.Line) {\n return modifiedPos;\n }\n\n var allowXChanges = modifiedPos.x === originalPos.x;\n var allowYChanges = modifiedPos.y === originalPos.y;\n\n var inputBounds = new _packages2.default.geo.Rectangle(modifiedPos.x, modifiedPos.y, figure.getWidth(), figure.getHeight());\n var inputCenter = inputBounds.getCenter();\n\n modifiedPos = modifiedPos.clone();\n\n if (allowXChanges === true) {\n var horizontal = this.snapHorizontal(inputCenter);\n\n // Show a horizontal line if the snapper has modified the inputPoint\n //\n if (horizontal.snapped) {\n // show the snap lines..\n this.showHorizontalGuides(figure, horizontal);\n\n // and snap the x coordinate\n modifiedPos.y += horizontal.diff;\n } else {\n this.hideHorizontalGuides(true);\n }\n } else {\n this.hideHorizontalGuides(true);\n }\n\n if (allowYChanges === true) {\n var vertical = this.snapVertical(inputCenter);\n\n // Show a vertical guides if the snapper has modified the inputPoint\n //\n if (vertical.snapped) {\n // show the snap lines..\n this.showVerticalGuides(figure, vertical);\n\n // and snap the x coordinate\n modifiedPos.x += vertical.diff;\n } else {\n this.hideVerticalGuides(true);\n }\n } else {\n this.hideVerticalGuides(true);\n }\n\n return modifiedPos;\n },\n\n snapVertical: function snapVertical(center) {\n var _this = this;\n if (this.centers === null) {\n this.populateCenters();\n }\n\n var result = {\n point: center,\n snapped: false,\n diff: 0\n };\n\n var candidates = [];\n this.centers.forEach(function (point) {\n if (Math.abs(point.x - center.x) < _this.SNAP_THRESHOLD) {\n candidates.push(point);\n }\n });\n\n // we can abort if we didn't find an intersection on the right hand side\n if (candidates.length === 0) {\n return result;\n }\n\n // sort the intersection point and get the closest point to the tested inputPoint\n // In this case it is the point with the greatest X coordinate\n //\n candidates.sort(function (a, b) {\n return a.x - b.x;\n });\n\n var diff = candidates[0].x - center.x;\n var snappedPoint = center.clone();\n snappedPoint.x += diff;\n return { snapped: true, diff: diff, point: candidates[0], snappedPoint: snappedPoint };\n },\n\n snapHorizontal: function snapHorizontal(center) {\n var _this = this;\n if (this.centers === null) {\n this.populateCenters();\n }\n\n var result = {\n point: center,\n snapped: false,\n diff: 0\n };\n\n var candidates = [];\n this.centers.forEach(function (point) {\n if (Math.abs(point.y - center.y) < _this.SNAP_THRESHOLD) {\n candidates.push(point);\n }\n });\n\n // we can abort if we didn't find an intersection on the right hand side\n if (candidates.length === 0) {\n return result;\n }\n\n // sort the intersection point and get the closest point to the tested inputPoint\n // In this case it is the point with the greatest X coordinate\n //\n candidates.sort(function (a, b) {\n return a.y - b.y;\n });\n\n var diff = candidates[0].y - center.y;\n var snappedPoint = center.clone();\n snappedPoint.y += diff;\n return { snapped: true, diff: diff, point: candidates[0], snappedPoint: snappedPoint };\n },\n\n populateCenters: function populateCenters() {\n var selection = this.canvas.getSelection().getAll(true);\n var centers = this.centers = [];\n\n var figures = this.canvas.getFigures();\n figures.each(function (index, figure) {\n if (!selection.contains(figure)) {\n centers.push(figure.getBoundingBox().getCenter());\n }\n });\n },\n\n showHorizontalGuides: function showHorizontalGuides(causedFigure, constraint) {\n if (this.horizontalGuideLines !== null) {\n this.horizontalGuideLines.stop();\n this.horizontalGuideLines.remove();\n }\n\n var start = constraint.point;\n var end = constraint.snappedPoint;\n\n this.canvas.paper.setStart();\n\n // horizontal lines\n //\n this.canvas.paper.path(\"M \" + start.x + \" \" + ((start.y | 0) + 0.5) + \" L \" + end.x + \" \" + ((end.y | 0) + 0.5)).attr({\n \"stroke\": this.lineColor.rgba(),\n \"stroke-width\": 1\n });\n\n this.horizontalGuideLines = this.canvas.paper.setFinish();\n this.horizontalGuideLines.toFront();\n },\n\n /**\n *\n * Hide the horizontal snapping guides\n *\n * @param {Boolean} fast\n */\n hideHorizontalGuides: function hideHorizontalGuides(fast) {\n var _this2 = this;\n\n if (this.horizontalGuideLines === null) {\n return;\n }\n if (fast === true) {\n if (this.horizontalGuideLines !== null) {\n this.horizontalGuideLines.remove();\n this.horizontalGuideLines = null;\n }\n } else {\n this.horizontalGuideLines.animate({ opacity: 0.1 }, this.FADEOUT_DURATION, function () {\n if (_this2.horizontalGuideLines !== null) {\n _this2.horizontalGuideLines.remove();\n _this2.horizontalGuideLines = null;\n }\n });\n }\n },\n\n showVerticalGuides: function showVerticalGuides(causedFigure, constraint) {\n if (this.verticalGuideLines !== null) {\n this.verticalGuideLines.stop();\n this.verticalGuideLines.remove();\n }\n\n var start = constraint.point;\n var end = constraint.snappedPoint;\n\n this.canvas.paper.setStart();\n\n // horizontal lines\n //\n this.canvas.paper.path(\"M \" + ((start.x | 0) + 0.5) + \" \" + start.y + \" L \" + ((end.x | 0) + 0.5) + \" \" + end.y).attr({\n \"stroke\": this.lineColor.rgba(),\n \"stroke-width\": 1\n });\n\n this.verticalGuideLines = this.canvas.paper.setFinish();\n this.verticalGuideLines.toFront();\n },\n\n /**\n *\n * Hide the horizontal snapüing guides\n *\n * @param soft\n */\n hideVerticalGuides: function hideVerticalGuides(fast) {\n var _this3 = this;\n\n if (this.verticalGuideLines === null) {\n return;\n }\n if (fast === true) {\n if (this.verticalGuideLines !== null) {\n this.verticalGuideLines.remove();\n this.verticalGuideLines = null;\n }\n } else {\n this.verticalGuideLines.animate({ opacity: 0.1 }, this.FADEOUT_DURATION, function () {\n if (_this3.verticalGuideLines !== null) {\n _this3.verticalGuideLines.remove();\n _this3.verticalGuideLines = null;\n }\n });\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SnapToDimetricGridEditPolicy.js\":\n/*!***********************************************************!*\\\n !*** ./src/policy/canvas/SnapToDimetricGridEditPolicy.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A helper used to perform snapping to a grid, which is specified on the canvas via the various\n * properties defined in this class.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.ShowDimetricGridEditPolicy\n */\n_packages2.default.policy.canvas.SnapToDimetricGridEditPolicy = _packages2.default.policy.canvas.ShowDimetricGridEditPolicy.extend(\n/** @lends draw2d.policy.canvas.SnapToDimetricGridEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SnapToDimetricGridEditPolicy\",\n\n /**\n * Creates a new constraint policy for snap to grid\n *\n * @param {Number} grid the grid width of the canvas\n */\n init: function init(grid) {\n this._super(grid);\n },\n\n /**\n *\n * Applies a snapping correction to the given result.\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the figure to snap\n * @param {draw2d.geo.Point} modifiedPos the already modified position of the figure (e.g. from an another Policy)\n * @param {draw2d.geo.Point} originalPos the original requested position of the figure\n * @since 2.3.0\n */\n snap: function snap(canvas, figure, modifiedPos, originalPos) {\n // do nothing for lines\n if (figure instanceof _packages2.default.shape.basic.Line) {\n return modifiedPos;\n }\n\n var snapPoint = figure.getSnapToGridAnchor();\n\n modifiedPos.x = modifiedPos.x + snapPoint.x;\n modifiedPos.y = modifiedPos.y + snapPoint.y;\n\n var g = this.grid / 5;\n\n modifiedPos.x = g * Math.floor((modifiedPos.x + g / 2.0) / g);\n modifiedPos.y = g * Math.floor((modifiedPos.y + g / 2.0) / g);\n\n modifiedPos.x = modifiedPos.x - snapPoint.x;\n modifiedPos.y = modifiedPos.y - snapPoint.y;\n\n return modifiedPos;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SnapToEditPolicy.js\":\n/*!***********************************************!*\\\n !*** ./src/policy/canvas/SnapToEditPolicy.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.SnapToHelper = {};\n\n_packages2.default.SnapToHelper.NORTH = 1;\n_packages2.default.SnapToHelper.SOUTH = 4;\n_packages2.default.SnapToHelper.WEST = 8;\n_packages2.default.SnapToHelper.EAST = 16;\n_packages2.default.SnapToHelper.CENTER_H = 32;\n_packages2.default.SnapToHelper.CENTER_V = 642;\n\n_packages2.default.SnapToHelper.NORTH_EAST = _packages2.default.SnapToHelper.NORTH | _packages2.default.SnapToHelper.EAST;\n_packages2.default.SnapToHelper.NORTH_WEST = _packages2.default.SnapToHelper.NORTH | _packages2.default.SnapToHelper.WEST;\n_packages2.default.SnapToHelper.SOUTH_EAST = _packages2.default.SnapToHelper.SOUTH | _packages2.default.SnapToHelper.EAST;\n_packages2.default.SnapToHelper.SOUTH_WEST = _packages2.default.SnapToHelper.SOUTH | _packages2.default.SnapToHelper.WEST;\n_packages2.default.SnapToHelper.NORTH_SOUTH = _packages2.default.SnapToHelper.NORTH | _packages2.default.SnapToHelper.SOUTH;\n_packages2.default.SnapToHelper.EAST_WEST = _packages2.default.SnapToHelper.EAST | _packages2.default.SnapToHelper.WEST;\n_packages2.default.SnapToHelper.NSEW = _packages2.default.SnapToHelper.NORTH_SOUTH | _packages2.default.SnapToHelper.EAST_WEST;\n\n/**\n * @class\n *\n * A helper used by Tools for snapping certain mouse interactions.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.CanvasPolicy\n */\n_packages2.default.policy.canvas.SnapToEditPolicy = _packages2.default.policy.canvas.CanvasPolicy.extend(\n/** @lends draw2d.policy.canvas.SnapToEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SnapToEditPolicy\",\n\n /**\n * Creates a new constraint policy for snap to grid\n *\n */\n init: function init(attr, setter, getter) {\n this.lineColor = null;\n\n this._super((0, _extend2.default)({\n lineColor: \"#51C1FC\"\n }, attr), (0, _extend2.default)({\n // @attr {draw2d.util.Color} color the line color of the snapTo lines */\n lineColor: this.setLineColor\n }, setter), (0, _extend2.default)({\n lineColor: this.getLineColor\n }, getter));\n },\n\n /**\n *\n * Set the color of the snap line.\n *\n * // Alternatively you can use the attr method:\n * policy.attr({\n * lineColor: color\n * });\n *\n * @param {draw2d.util.Color|String} color The new color of the line.\n **/\n setLineColor: function setLineColor(color) {\n this.lineColor = new _packages2.default.util.Color(color);\n return this;\n },\n\n /**\n *\n * Return the current paint color.\n *\n * @returns {draw2d.util.Color} The paint color of the line.\n * @since 5.6.1\n **/\n getLineColor: function getLineColor() {\n return this.lineColor;\n },\n\n /**\n *\n * Adjust the coordinates to the given constraint of the policy.\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the figure to snap\n * @param {draw2d.geo.Point} modifiedPos the already modified position of the figure (e.g. from an another Policy)\n * @param {draw2d.geo.Point} originalPos the original requested position of the figure\n */\n snap: function snap(canvas, figure, modifiedPos, originalPos) {\n return modifiedPos;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SnapToGeometryEditPolicy.js\":\n/*!*******************************************************!*\\\n !*** ./src/policy/canvas/SnapToGeometryEditPolicy.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Snapping is based on the existing children of a container. When snapping a shape,\n * the edges of the bounding box will snap to edges of other rectangles generated\n * from the children of the given canvas.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.SnapToEditPolicy\n */\n_packages2.default.policy.canvas.SnapToGeometryEditPolicy = _packages2.default.policy.canvas.SnapToEditPolicy.extend(\n/** @lends draw2d.policy.canvas.SnapToGeometryEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SnapToGeometryEditPolicy\",\n\n SNAP_THRESHOLD: 3,\n FADEOUT_DURATION: 300,\n\n /**\n * Creates a new constraint policy for snap to geometry\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.rows = null;\n this.cols = null;\n this.vline = null;\n this.hline = null;\n },\n\n /**\n * \n *\n * @param {draw2d.Figure} figure the shape below the mouse or null\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseUp: function onMouseUp(figure, x, y, shiftKey, ctrlKey) {\n this.rows = null;\n this.cols = null;\n this.hideVerticalLine();\n this.hideHorizontalLine();\n },\n\n /**\n * \n * Adjust the coordinates to the canvas neighbours\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the figure to snap\n * @param {draw2d.geo.Point} modifiedPos the already modified position of the figure (e.g. from an another Policy)\n * @param {draw2d.geo.Point} originalPos the original requested position of the figure\n *\n * @returns {draw2d.geo.Point} the constraint position of the figure\n */\n snap: function snap(canvas, figure, modifiedPos, originalPos) {\n // do nothing for lines\n if (figure instanceof _packages2.default.shape.basic.Line) {\n return modifiedPos;\n }\n\n var result = void 0;\n var allowXChanges = modifiedPos.x === originalPos.x;\n var allowYChanges = modifiedPos.y === originalPos.y;\n\n // Coordinates already snapped to an x/y coordinate.\n // Don't change them and in this case no further calculation is requried.\n //\n if (!allowXChanges && !allowYChanges) {\n return modifiedPos;\n }\n\n if (figure instanceof _packages2.default.ResizeHandle) {\n var snapPoint = figure.getSnapToGridAnchor();\n modifiedPos.x += snapPoint.x;\n modifiedPos.y += snapPoint.y;\n\n var snapDirections = figure.getSnapToDirection();\n result = this.snapPoint(snapDirections, modifiedPos);\n\n // Show a vertical line if the snapper has modified the inputPoint\n //\n if (allowXChanges && snapDirections & _packages2.default.SnapToHelper.EAST_WEST && !(result.edge & _packages2.default.SnapToHelper.EAST_WEST)) {\n this.showVerticalLine(figure, _packages2.default.SnapToHelper.WEST, result.point.x);\n } else {\n this.hideVerticalLine();\n }\n\n // Show a horizontal line if the snapper has modified the inputPoint\n //\n if (allowYChanges && snapDirections & _packages2.default.SnapToHelper.NORTH_SOUTH && !(result.edge & _packages2.default.SnapToHelper.NORTH_SOUTH)) {\n this.showHorizontalLine(figure, _packages2.default.SnapToHelper.NORTH, result.point.y);\n } else {\n this.hideHorizontalLine();\n }\n\n // restore the original pos coordinate if x or y coordinate already snapped to any axis\n // or subtract the added snapOffset\n //\n result.point.x = allowXChanges ? result.point.x - snapPoint.x : modifiedPos.x;\n result.point.y = allowYChanges ? result.point.y - snapPoint.y : modifiedPos.y;\n\n return result.point;\n }\n\n // The user drag&drop a normal figure\n var inputBounds = new _packages2.default.geo.Rectangle(modifiedPos.x, modifiedPos.y, figure.getWidth(), figure.getHeight());\n\n result = this.snapRectangle(inputBounds);\n\n if (!allowXChanges) {\n result.bounds.x = modifiedPos.x;\n }\n\n if (!allowYChanges) {\n result.bounds.y = modifiedPos.y;\n }\n\n // Show a vertical line if the snapper has modified the inputPoint\n //\n if (allowXChanges && !(result.edge & _packages2.default.SnapToHelper.WEST)) {\n this.showVerticalLine(figure, _packages2.default.SnapToHelper.WEST, result.bounds.x);\n } else if (allowXChanges && !(result.edge & _packages2.default.SnapToHelper.EAST)) {\n this.showVerticalLine(figure, _packages2.default.SnapToHelper.EAST, result.bounds.x + result.bounds.getWidth());\n } else {\n this.hideVerticalLine();\n }\n\n // Show a horizontal line if the snapper has modified the inputPoint\n //\n if (allowYChanges && !(result.edge & _packages2.default.SnapToHelper.NORTH)) {\n this.showHorizontalLine(figure, _packages2.default.SnapToHelper.NORTH, result.bounds.y);\n } else if (allowYChanges && !(result.edge & _packages2.default.SnapToHelper.SOUTH)) {\n this.showHorizontalLine(figure, _packages2.default.SnapToHelper.SOUTH, result.bounds.y + result.bounds.getHeight());\n } else {\n this.hideHorizontalLine();\n }\n\n return result.bounds.getTopLeft();\n },\n\n /**\n * \n * calculates the snapped position of the rectangle.\n *\n * @param {draw2d.geo.Rectangle} inputBounds\n *\n * @returns {Object}\n */\n snapRectangle: function snapRectangle(inputBounds) {\n var resultBounds = inputBounds.clone();\n\n var topLeft = this.snapPoint(_packages2.default.SnapToHelper.NORTH_WEST, inputBounds.getTopLeft());\n resultBounds.x = topLeft.point.x;\n resultBounds.y = topLeft.point.y;\n\n var bottomRight = this.snapPoint(_packages2.default.SnapToHelper.SOUTH_EAST, inputBounds.getBottomRight());\n\n // The first test (topLeft) has not modified the point. so we can modify them with the bottomRight adjustment\n //\n if (topLeft.edge & _packages2.default.SnapToHelper.WEST) {\n resultBounds.x = bottomRight.point.x - inputBounds.getWidth();\n }\n\n // The first test (topLeft) has not modified the point. so we can modify them with the bottomRight adjustment\n //\n if (topLeft.edge & _packages2.default.SnapToHelper.NORTH) {\n resultBounds.y = bottomRight.point.y - inputBounds.getHeight();\n }\n\n return { edge: topLeft.edge | bottomRight.edge, bounds: resultBounds };\n },\n\n snapPoint: function snapPoint( /*:int*/snapOrientation, /*:draw2d.Point*/inputPoint) {\n var resultPoint = inputPoint.clone();\n\n if (this.rows === null || this.cols === null) this.populateRowsAndCols();\n\n if ((snapOrientation & _packages2.default.SnapToHelper.EAST) !== 0) {\n var rightCorrection = this.getCorrectionFor(this.cols, inputPoint.x + 1, 1);\n if (rightCorrection !== this.SNAP_THRESHOLD) {\n snapOrientation &= ~_packages2.default.SnapToHelper.EAST;\n resultPoint.x += rightCorrection;\n }\n }\n\n if ((snapOrientation & _packages2.default.SnapToHelper.WEST) !== 0) {\n var leftCorrection = this.getCorrectionFor(this.cols, inputPoint.x, -1);\n if (leftCorrection !== this.SNAP_THRESHOLD) {\n snapOrientation &= ~_packages2.default.SnapToHelper.WEST;\n resultPoint.x += leftCorrection;\n }\n }\n\n if ((snapOrientation & _packages2.default.SnapToHelper.SOUTH) !== 0) {\n var bottomCorrection = this.getCorrectionFor(this.rows, inputPoint.y + 1, 1);\n if (bottomCorrection !== this.SNAP_THRESHOLD) {\n snapOrientation &= ~_packages2.default.SnapToHelper.SOUTH;\n resultPoint.y += bottomCorrection;\n }\n }\n\n if ((snapOrientation & _packages2.default.SnapToHelper.NORTH) !== 0) {\n var topCorrection = this.getCorrectionFor(this.rows, inputPoint.y, -1);\n if (topCorrection !== this.SNAP_THRESHOLD) {\n snapOrientation &= ~_packages2.default.SnapToHelper.NORTH;\n resultPoint.y += topCorrection;\n }\n }\n\n return { edge: snapOrientation, point: resultPoint };\n },\n\n populateRowsAndCols: function populateRowsAndCols() {\n var selection = this.canvas.getSelection();\n this.rows = [];\n this.cols = [];\n\n var figures = this.canvas.getFigures();\n for (var i = 0; i < figures.getSize(); i++) {\n var figure = figures.get(i);\n if (!selection.contains(figure, true)) {\n var bounds = figure.getBoundingBox();\n this.cols.push({ type: -1, location: bounds.x });\n this.cols.push({ type: 0, location: bounds.x + (bounds.w - 1) / 2 });\n this.cols.push({ type: 1, location: bounds.getRight() + 1 });\n this.rows.push({ type: -1, location: bounds.y });\n this.rows.push({ type: 0, location: bounds.y + (bounds.h - 1) / 2 });\n this.rows.push({ type: 1, location: bounds.getBottom() + 1 });\n }\n }\n\n // TODO: remove duplicate entries in the rows/cols array\n },\n\n getCorrectionFor: function getCorrectionFor( /*:Array*/entries, /*:double*/value, /*:int*/side) {\n var resultMag = this.SNAP_THRESHOLD;\n var result = this.SNAP_THRESHOLD;\n\n for (var i = 0; i < entries.length; i++) {\n var entry = entries[i];\n var magnitude = void 0;\n\n if (entry.type === -1 && side !== 0) {\n magnitude = Math.abs(value - entry.location);\n if (magnitude < resultMag) {\n resultMag = magnitude;\n result = entry.location - value;\n }\n } else if (entry.type === 0 && side === 0) {\n magnitude = Math.abs(value - entry.location);\n if (magnitude < resultMag) {\n resultMag = magnitude;\n result = entry.location - value;\n }\n } else if (entry.type === 1 && side !== 0) {\n magnitude = Math.abs(value - entry.location);\n if (magnitude < resultMag) {\n resultMag = magnitude;\n result = entry.location - value;\n }\n }\n }\n return result;\n },\n\n showVerticalLine: function showVerticalLine(causedFigure, edge, x) {\n if (this.vline != null) {\n this.vline.stop();\n this.vline.remove();\n }\n\n var figures = this.canvas.getFigures().clone();\n figures.removeAll(this.canvas.getSelection().getAll(true));\n figures.map(function (figure) {\n return figure.getBoundingBox();\n });\n figures.grep(function (bbox) {\n return Math.abs(bbox.x - x) <= 1 || Math.abs(bbox.getRight() - x) <= 1;\n });\n\n // return silently if no figure bounding box is left\n //\n if (figures.getSize() === 0) {\n return;\n }\n\n // figure to align is above the current shape\n //\n var causedBox = causedFigure.getBoundingBox();\n var causedCenter = causedBox.getCenter();\n figures.sort(function (a, b) {\n var d_a = a.getCenter().distance(causedCenter);\n var d_b = b.getCenter().distance(causedCenter);\n return d_a - d_b;\n });\n var fromY = 0;\n var maxLength = this.canvas.getHeight() * Math.max(1, this.canvas.getZoom());\n var yLength = maxLength;\n var snappedBox = figures.get(0);\n if (causedBox.y < snappedBox.y) {\n fromY = causedBox.y;\n yLength = snappedBox.getBottom() - causedBox.y;\n } else {\n fromY = snappedBox.y;\n yLength = causedBox.getBottom() - snappedBox.y;\n }\n\n x = (x | 0) + 0.5; // force a .5 number to avoid subpixel rendering. Blurry lines...\n this.canvas.paper.setStart();\n this.canvas.paper.path(\"M \" + x + \" 0 l 0 \" + maxLength).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n this.canvas.paper.path(\"M \" + x + \" \" + fromY + \" l 0 \" + yLength).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.vline = this.canvas.paper.setFinish();\n this.vline.toBack();\n },\n\n hideVerticalLine: function hideVerticalLine() {\n var _this = this;\n\n if (this.vline == null) {\n return;\n }\n this.vline.animate({ opacity: 0.1 }, this.FADEOUT_DURATION, function () {\n if (_this.vline !== null) {\n _this.vline.remove();\n _this.vline = null;\n }\n });\n },\n\n showHorizontalLine: function showHorizontalLine(causedFigure, edge, y) {\n if (this.hline != null) {\n this.hline.stop();\n this.hline.remove();\n }\n\n var figures = this.canvas.getFigures().clone();\n figures.removeAll(this.canvas.getSelection().getAll(true));\n figures.map(function (figure) {\n return figure.getBoundingBox();\n });\n figures.grep(function (bbox) {\n return Math.abs(bbox.y - y) <= 1 || Math.abs(bbox.getBottom() - y) <= 1;\n });\n\n // return silently if no figure bounding box is left\n //\n if (figures.getSize() === 0) {\n return;\n }\n\n // figure to align is above the current shape\n //\n var causedBox = causedFigure.getBoundingBox();\n var causedCenter = causedBox.getCenter();\n figures.sort(function (a, b) {\n var d_a = a.getCenter().distance(causedCenter);\n var d_b = b.getCenter().distance(causedCenter);\n return d_a - d_b;\n });\n var fromX = 0;\n var maxLength = void 0;\n var xLength = maxLength = this.canvas.getWidth() * Math.max(1, this.canvas.getZoom());\n var snappedBox = figures.get(0);\n if (causedBox.x < snappedBox.x) {\n fromX = causedBox.x;\n xLength = snappedBox.getRight() - causedBox.x;\n } else {\n fromX = snappedBox.x;\n xLength = causedBox.getRight() - snappedBox.x;\n }\n\n y = (y | 0) + 0.5; // force a .5 number to avoid subpixel rendering. Blurry lines...\n\n this.canvas.paper.setStart();\n this.canvas.paper.path(\"M 0 \" + y + \" l \" + maxLength + \" 0\").attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n this.canvas.paper.path(\"M \" + fromX + \" \" + y + \" l \" + xLength + \" 0\").attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.hline = this.canvas.paper.setFinish();\n this.hline.toBack();\n },\n\n hideHorizontalLine: function hideHorizontalLine() {\n var _this2 = this;\n\n if (this.hline === null) {\n return; //silently\n }\n this.hline.animate({ opacity: 0.1 }, this.FADEOUT_DURATION, function () {\n if (_this2.hline !== null) {\n _this2.hline.remove();\n _this2.hline = null;\n }\n });\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SnapToGridEditPolicy.js\":\n/*!***************************************************!*\\\n !*** ./src/policy/canvas/SnapToGridEditPolicy.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A helper used to perform snapping to a grid, which is specified on the canvas via the various\n * properties defined in this class.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.ShowGridEditPolicy\n */\n_packages2.default.policy.canvas.SnapToGridEditPolicy = _packages2.default.policy.canvas.SnapToEditPolicy.extend(\n/** @lends draw2d.policy.canvas.SnapToGridEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SnapToGridEditPolicy\",\n\n /**\n * Creates a new constraint policy for snap to grid\n *\n * @param {Number} grid the grid width of the canvas\n */\n init: function init(grid, showGrid) {\n this._super();\n this.grid = grid || 20;\n\n // Default Value for \"showGrid=true\"\n if (typeof showGrid === \"undefined\" || showGrid === true) {\n this.renderer = new _packages2.default.policy.canvas.ShowGridEditPolicy(this.grid);\n }\n },\n\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n if (this.renderer) this.renderer.onInstall(canvas);\n },\n\n onUninstall: function onUninstall(canvas) {\n this._super(canvas);\n if (this.renderer) this.renderer.onUninstall(canvas);\n },\n\n /**\n *\n * Set a new grid width/height\n *\n * @param {Number} grid\n * @since 5.0.3\n */\n setGrid: function setGrid(grid) {\n this.grid = grid;\n if (this.renderer) this.renderer.setGrid(grid);\n },\n\n /**\n *\n * Applies a snapping correction to the given result.\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the figure to snap\n * @param {draw2d.geo.Point} modifiedPos the already modified position of the figure (e.g. from an another Policy)\n * @param {draw2d.geo.Point} originalPos the original requested position of the figure\n * @since 2.3.0\n */\n snap: function snap(canvas, figure, modifiedPos, originalPos) {\n // do nothing for lines\n if (figure instanceof _packages2.default.shape.basic.Line) {\n return modifiedPos;\n }\n\n var snapPoint = figure.getSnapToGridAnchor();\n\n modifiedPos.x = modifiedPos.x + snapPoint.x;\n modifiedPos.y = modifiedPos.y + snapPoint.y;\n\n modifiedPos.x = this.grid * Math.floor((modifiedPos.x + this.grid / 2.0) / this.grid);\n modifiedPos.y = this.grid * Math.floor((modifiedPos.y + this.grid / 2.0) / this.grid);\n\n modifiedPos.x = modifiedPos.x - snapPoint.x;\n modifiedPos.y = modifiedPos.y - snapPoint.y;\n\n return modifiedPos;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SnapToInBetweenEditPolicy.js\":\n/*!********************************************************!*\\\n !*** ./src/policy/canvas/SnapToInBetweenEditPolicy.js ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Snapping is based on the existing children of a container. When snapping a shape,\n * the edges of the bounding box will snap to edges of other rectangles generated\n * from the children of the given canvas.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.SnapToEditPolicy\n * @since 5.6.4\n */\n_packages2.default.policy.canvas.SnapToInBetweenEditPolicy = _packages2.default.policy.canvas.SnapToEditPolicy.extend(\n/** @lends draw2d.policy.canvas.SnapToInBetweenEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SnapToInBetweenEditPolicy\",\n\n SNAP_THRESHOLD: 5,\n FADEOUT_DURATION: 500,\n\n /**\n * Creates a new constraint policy for snap to geometry\n *\n */\n init: function init(attr, setter, getter) {\n\n this._super(attr, setter, getter);\n\n this.bounds = null;\n\n this.horizontalGuideLines = null;\n this.verticalGuideLines = null;\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onMouseUp: function onMouseUp(figure, x, y, shiftKey, ctrlKey) {\n this.bounds = null;\n this.hideHorizontalGuides(false);\n this.hideVerticalGuides(false);\n },\n\n /**\n *\n * Adjust the coordinates to the canvas neighbours\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the figure to snap\n * @param {draw2d.geo.Point} modifiedPos the already modified position of the figure (e.g. from an another Policy)\n * @param {draw2d.geo.Point} originalPos the original requested position of the figure\n *\n * @returns {draw2d.geo.Point} the constraint position of the figure\n */\n snap: function snap(canvas, figure, modifiedPos, originalPos) {\n // do nothing for resize handles\n if (figure instanceof _packages2.default.ResizeHandle) {\n return modifiedPos;\n }\n // do nothing for lines\n if (figure instanceof _packages2.default.shape.basic.Line) {\n return modifiedPos;\n }\n\n var allowXChanges = modifiedPos.x === originalPos.x;\n var allowYChanges = modifiedPos.y === originalPos.y;\n\n var inputBounds = new _packages2.default.geo.Rectangle(modifiedPos.x, modifiedPos.y, figure.getWidth(), figure.getHeight());\n\n modifiedPos = modifiedPos.clone();\n\n if (allowXChanges === true) {\n var horizontal = this.snapHorizontal(inputBounds);\n\n // Show a horizontal line if the snapper has modified the inputPoint\n //\n if (horizontal.snapped) {\n // show the snap lines..\n this.showHorizontalGuides(figure, horizontal);\n\n // and snap the x coordinate\n modifiedPos.x += horizontal.diff;\n } else {\n this.hideHorizontalGuides(true);\n }\n } else {\n this.hideHorizontalGuides(true);\n }\n\n if (allowYChanges === true) {\n var vertical = this.snapVertical(inputBounds);\n\n // Show a vertical guides if the snapper has modified the inputPoint\n //\n if (vertical.snapped) {\n // show the snap lines..\n this.showVerticalGuides(figure, vertical);\n\n // and snap the x coordinate\n modifiedPos.y += vertical.diff;\n } else {\n this.hideVerticalGuides(true);\n }\n } else {\n this.hideVerticalGuides(true);\n }\n\n return modifiedPos;\n },\n\n snapHorizontal: function snapHorizontal(boundingBox) {\n var center = boundingBox.getCenter();\n if (this.bounds === null) this.populateBounds();\n\n var result = {\n point: center,\n snapped: false,\n snappedBox: boundingBox.clone()\n };\n\n var intersectionPoint = null;\n\n // Calculate the intersections points p(i) of all left side edges of the bounding boxes\n // and the ray from the center of the drag&drop object to the left edge of the canva\n //\n // BBox of Drag&Drop\n // any Figure Figure\n //\n // ....+ ........\n // | . .\n // . |p(i) . .\n // . X<------------->+ .\n // . | . .\n // ....+ . .\n // ........\n //\n //\n var leftIntersections = [];\n var leftInputPoint = center.clone();\n leftInputPoint.x = 0;\n this.bounds.forEach(function (bbox, index) {\n intersectionPoint = _packages2.default.shape.basic.Line.intersection(bbox.getTopRight(), bbox.getBottomRight(), center, leftInputPoint);\n if (intersectionPoint !== null) {\n intersectionPoint.causedBBox = bbox;\n leftIntersections.push(intersectionPoint);\n }\n });\n // we can abort if we didn't find an intersection on the left hand side\n if (leftIntersections.length === 0) {\n return result;\n }\n\n // sort the intersection point and get the closest point to the tested inputPoint\n // In this case it is the point with the greates X coordinate\n //\n leftIntersections.sort(function (a, b) {\n return b.x - a.x;\n });\n\n // Calculate the intersections points p(i) of all right hand side edges of the\n // bounding boxes and the ray from the center of the drag&drop object to the\n // left edge of the canvas\n //\n // Drag&Drop bbox of any\n // Figure figure\n //\n // ........\n // . .\n // . . ...........\n // . +<-------------->X |\n // . . p(i)| |\n // . . | |\n // ........ | |\n // ...........\n //\n var rightIntersections = [];\n var rightInputPoint = center.clone();\n rightInputPoint.x = Number.MAX_SAFE_INTEGER;\n this.bounds.forEach(function (bbox, index) {\n intersectionPoint = _packages2.default.shape.basic.Line.intersection(bbox.getTopLeft(), bbox.getBottomLeft(), center, rightInputPoint);\n if (intersectionPoint !== null) {\n intersectionPoint.causedBBox = bbox;\n rightIntersections.push(intersectionPoint);\n }\n });\n // we can abort if we didn't find an intersection on the right hand side\n if (rightIntersections.length === 0) {\n return result;\n }\n\n // sort the intersection point and get the closest point to the tested inputPoint\n // In this case it is the point with the greates X coordinate\n //\n rightIntersections.sort(function (a, b) {\n return a.x - b.x;\n });\n\n // Snap the point (S) between the two founded intersections\n // p(i1) and p(i2)\n //\n // BBox FigureA Drag&Drop BBox of FigureB\n // Figure\n //\n // ....+ ........\n // | . .\n // . |p(i1) . S . ...........\n // . X<------------->X<-------------->X |\n // . | . . p(i2)| |\n // ....+ . . | |\n // ........ | |\n // ...........\n //\n var snappedRect = boundingBox.clone();\n var diff = (leftIntersections[0].x + rightIntersections[0].x) / 2 - center.x;\n\n snappedRect.x += diff;\n\n return {\n snapped: Math.abs(diff) < this.SNAP_THRESHOLD,\n snappedRect: snappedRect,\n diff: diff,\n leftSide: leftIntersections[0],\n rightSide: rightIntersections[0]\n };\n },\n\n snapVertical: function snapVertical(boundingBox) {\n var center = boundingBox.getCenter();\n\n if (this.bounds === null) {\n this.populateBounds();\n }\n\n var result = {\n point: center,\n snapped: false,\n snappedBox: boundingBox.clone()\n };\n\n var intersectionPoint = null;\n\n // Calculate the intersections points p(i) of all left side edges of the bounding boxes\n // and the ray from the center of the drag&drop object to the left edge of the canva\n //\n // BBox of Drag&Drop\n // any Figure Figure\n //\n // ....+ ........\n // | . .\n // . |p(i) . .\n // . X<------------->+ .\n // . | . .\n // ....+ . .\n // ........\n //\n //\n var topIntersections = [];\n var topInputPoint = center.clone();\n topInputPoint.y = 0;\n this.bounds.forEach(function (bbox) {\n intersectionPoint = _packages2.default.shape.basic.Line.intersection(bbox.getBottomLeft(), bbox.getBottomRight(), center, topInputPoint);\n if (intersectionPoint !== null) {\n intersectionPoint.causedBBox = bbox;\n topIntersections.push(intersectionPoint);\n }\n });\n // we can abort if we didn't find an intersection on the left hand side\n if (topIntersections.length === 0) {\n return result;\n }\n\n // sort the intersection point and get the closest point to the tested inputPoint\n // In this case it is the point with the greates X coordinate\n //\n topIntersections.sort(function (a, b) {\n return b.y - a.y;\n });\n\n // Calculate the intersections points p(i) of all right hand side edges of the\n // bounding boxes and the ray from the center of the drag&drop object to the\n // left edge of the canvas\n //\n // Drag&Drop bbox of any\n // Figure figure\n //\n // ........\n // . .\n // . . ...........\n // . +<-------------->X |\n // . . p(i)| |\n // . . | |\n // ........ | |\n // ...........\n //\n var bottomIntersections = [];\n var bottomInputPoint = center.clone();\n bottomInputPoint.y = Number.MAX_SAFE_INTEGER;\n this.bounds.forEach(function (bbox) {\n intersectionPoint = _packages2.default.shape.basic.Line.intersection(bbox.getTopLeft(), bbox.getTopRight(), center, bottomInputPoint);\n if (intersectionPoint !== null) {\n intersectionPoint.causedBBox = bbox;\n bottomIntersections.push(intersectionPoint);\n }\n });\n // we can abort if we didn't find an intersection on the right hand side\n if (bottomIntersections.length === 0) {\n return result;\n }\n\n // sort the intersection point and get the closest point to the tested inputPoint\n // In this case it is the point with the greates X coordinate\n //\n bottomIntersections.sort(function (a, b) {\n return a.y - b.y;\n });\n\n // Snap the point (S) between the two founded intersections\n // p(i1) and p(i2)\n //\n // BBox FigureA Drag&Drop BBox of FigureB\n // Figure\n //\n // ....+ ........\n // | . .\n // . |p(i1) . S . ...........\n // . X<------------->X<-------------->X |\n // . | . . p(i2)| |\n // ....+ . . | |\n // ........ | |\n // ...........\n //\n var snappedRect = boundingBox.clone();\n var diff = (topIntersections[0].y + bottomIntersections[0].y) / 2 - center.y;\n\n snappedRect.y += diff;\n\n return {\n snapped: Math.abs(diff) < this.SNAP_THRESHOLD,\n snappedRect: snappedRect,\n diff: diff,\n topSide: topIntersections[0],\n bottomSide: bottomIntersections[0]\n };\n },\n\n populateBounds: function populateBounds() {\n var selection = this.canvas.getSelection().getAll(true);\n var bounds = this.bounds = [];\n\n var figures = this.canvas.getFigures();\n figures.each(function (index, figure) {\n if (!selection.contains(figure)) {\n bounds.push(figure.getBoundingBox());\n }\n });\n },\n\n showHorizontalGuides: function showHorizontalGuides(causedFigure, constraint) {\n if (this.horizontalGuideLines != null) {\n this.horizontalGuideLines.stop();\n this.horizontalGuideLines.remove();\n }\n\n var snapTopLeft = constraint.snappedRect.getTopLeft();\n var snapTopRight = constraint.snappedRect.getTopRight();\n var y = (Math.min(constraint.leftSide.causedBBox.getTopRight().y, Math.min(constraint.rightSide.causedBBox.y, causedFigure.getY())) - 50 | 0) + 0.5;\n\n this.canvas.paper.setStart();\n\n // Vertical lines from left to the right order\n //\n this.canvas.paper.path(\"M \" + ((constraint.leftSide.x | 0) + 0.5) + \" \" + y + \" L \" + ((constraint.leftSide.x | 0) + 0.5) + \" \" + constraint.leftSide.y).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n\n this.canvas.paper.path(\"M \" + ((snapTopLeft.x | 0) + 0.5) + \" \" + y + \" L \" + ((snapTopLeft.x | 0) + 0.5) + \" \" + snapTopLeft.y).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n\n this.canvas.paper.path(\"M \" + ((snapTopRight.x | 0) + 0.5) + \" \" + y + \" L \" + ((snapTopRight.x | 0) + 0.5) + \" \" + snapTopRight.y).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n\n this.canvas.paper.path(\"M \" + ((constraint.rightSide.x | 0) + 0.5) + \" \" + y + \" L \" + ((constraint.rightSide.x | 0) + 0.5) + \" \" + constraint.rightSide.y).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n\n // horizontal lines\n //\n this.canvas.paper.path(\"M \" + constraint.leftSide.x + \" \" + (y + 5) + \" L \" + snapTopLeft.x + \" \" + (y + 5)).attr({\n \"stroke\": this.lineColor.rgba(),\n \"stroke-width\": 1\n });\n this.canvas.paper.path(\"M \" + constraint.rightSide.x + \" \" + (y + 5) + \" L \" + snapTopRight.x + \" \" + (y + 5)).attr({\n \"stroke\": this.lineColor.rgba(),\n \"stroke-width\": 1\n });\n\n // 4 arrow heads starting on the left side and add one by one\n //\n this.canvas.paper.path(\" M \" + (constraint.leftSide.x + 5) + \" \" + y + \" L \" + constraint.leftSide.x + \" \" + (y + 5) + \" L \" + (constraint.leftSide.x + 5) + \" \" + (y + 10)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.canvas.paper.path(\" M \" + (snapTopLeft.x - 5) + \" \" + y + \" L \" + snapTopLeft.x + \" \" + (y + 5) + \" L \" + (snapTopLeft.x - 5) + \" \" + (y + 10)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.canvas.paper.path(\" M \" + (snapTopRight.x + 5) + \" \" + y + \" L \" + snapTopRight.x + \" \" + (y + 5) + \" L \" + (snapTopRight.x + 5) + \" \" + (y + 10)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.canvas.paper.path(\" M \" + (constraint.rightSide.x - 5) + \" \" + y + \" L \" + constraint.rightSide.x + \" \" + (y + 5) + \" L \" + (constraint.rightSide.x - 5) + \" \" + (y + 10)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.horizontalGuideLines = this.canvas.paper.setFinish();\n this.horizontalGuideLines.toFront();\n },\n\n /**\n *\n * Hide the horizontal snaping guides\n *\n * @param {Boolean} fast\n */\n hideHorizontalGuides: function hideHorizontalGuides(fast) {\n var _this = this;\n\n if (this.horizontalGuideLines == null) {\n return;\n }\n\n if (fast === true) {\n if (this.horizontalGuideLines !== null) {\n this.horizontalGuideLines.remove();\n this.horizontalGuideLines = null;\n }\n } else {\n this.horizontalGuideLines.animate({ opacity: 0.1 }, this.FADEOUT_DURATION, function () {\n if (_this.horizontalGuideLines !== null) {\n _this.horizontalGuideLines.remove();\n _this.horizontalGuideLines = null;\n }\n });\n }\n },\n\n showVerticalGuides: function showVerticalGuides(causedFigure, constraint) {\n if (this.verticalGuideLines != null) {\n this.verticalGuideLines.stop();\n this.verticalGuideLines.remove();\n }\n\n var snapTopRight = constraint.snappedRect.getTopRight();\n var snapBottomRight = constraint.snappedRect.getBottomRight();\n var x = (Math.max(constraint.topSide.causedBBox.getRight(), Math.max(constraint.bottomSide.causedBBox.getRight(), causedFigure.getX())) + 40 | 0) + 0.5;\n\n this.canvas.paper.setStart();\n\n // Vertical lines from left to the right order\n //\n this.canvas.paper.path(\"M \" + x + \" \" + ((constraint.topSide.y | 0) + 0.5) + \" L \" + ((constraint.topSide.x | 0) + 0.5) + \" \" + ((constraint.topSide.y | 0) + 0.5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n this.canvas.paper.path(\"M \" + x + \" \" + ((snapTopRight.y | 0) + 0.5) + \" L \" + ((snapTopRight.x | 0) + 0.5) + \" \" + ((snapTopRight.y | 0) + 0.5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n this.canvas.paper.path(\"M \" + x + \" \" + ((snapBottomRight.y | 0) + 0.5) + \" L \" + ((snapBottomRight.x | 0) + 0.5) + \" \" + ((snapBottomRight.y | 0) + 0.5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n this.canvas.paper.path(\"M \" + x + \" \" + ((constraint.bottomSide.y | 0) + 0.5) + \" L \" + ((constraint.bottomSide.x | 0) + 0.5) + \" \" + ((constraint.bottomSide.y | 0) + 0.5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n\n // horizontal lines\n //\n this.canvas.paper.path(\"M \" + (x - 5) + \" \" + ((constraint.topSide.y | 0) + 0.5) + \" L \" + (x - 5) + \" \" + ((snapTopRight.y | 0) + 0.5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n this.canvas.paper.path(\"M \" + (x - 5) + \" \" + ((constraint.bottomSide.y | 0) + 0.5) + \" L \" + (x - 5) + \" \" + ((snapBottomRight.y | 0) + 0.5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n // 4 arrow heads starting on the left side and add one by one\n //\n this.canvas.paper.path(\" M \" + (x - 10) + \" \" + (constraint.topSide.y + 5) + \" L \" + (x - 5) + \" \" + constraint.topSide.y + \" L \" + x + \" \" + (constraint.topSide.y + 5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.canvas.paper.path(\" M \" + (x - 10) + \" \" + (snapTopRight.y - 5) + \" L \" + (x - 5) + \" \" + snapTopRight.y + \" L \" + x + \" \" + (snapTopRight.y - 5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.canvas.paper.path(\" M \" + (x - 10) + \" \" + (snapBottomRight.y + 5) + \" L \" + (x - 5) + \" \" + snapBottomRight.y + \" L \" + x + \" \" + (snapBottomRight.y + 5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.canvas.paper.path(\" M \" + (x - 10) + \" \" + (constraint.bottomSide.y - 5) + \" L \" + (x - 5) + \" \" + constraint.bottomSide.y + \" L \" + x + \" \" + (constraint.bottomSide.y - 5)).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.verticalGuideLines = this.canvas.paper.setFinish();\n this.verticalGuideLines.toFront();\n },\n\n hideVerticalGuides: function hideVerticalGuides() {\n var _this2 = this;\n\n if (this.verticalGuideLines == null) {\n return; //silently\n }\n\n this.verticalGuideLines.animate({ opacity: 0.1 }, this.FADEOUT_DURATION, function () {\n if (_this2.verticalGuideLines !== null) {\n _this2.verticalGuideLines.remove();\n _this2.verticalGuideLines = null;\n }\n });\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/SnapToVerticesEditPolicy.js\":\n/*!*******************************************************!*\\\n !*** ./src/policy/canvas/SnapToVerticesEditPolicy.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Snapping is based on the existing children of a container. When snapping a shape,\n * the edges of the bounding box will snap to edges of other rectangles generated\n * from the children of the given canvas.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.SnapToEditPolicy\n */\n_packages2.default.policy.canvas.SnapToVerticesEditPolicy = _packages2.default.policy.canvas.SnapToEditPolicy.extend(\n/** @lends draw2d.policy.canvas.SnapToVerticesEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.SnapToVerticesEditPolicy\",\n\n SNAP_THRESHOLD: 3,\n FADEOUT_DURATION: 300,\n\n /**\n * Creates a new constraint policy for snap to geometry\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.constraints = null;\n this.vline = null;\n this.hline = null;\n },\n\n /**\n * \n *\n * @param {draw2d.Figure} figure the shape below the mouse or null\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseUp: function onMouseUp(figure, x, y, shiftKey, ctrlKey) {\n this.constraints = null;\n this.hideVerticalLine();\n this.hideHorizontalLine();\n },\n\n /**\n * \n * Adjust the coordinates to the canvas neighbours\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the figure to snap\n * @param {draw2d.geo.Point} modifiedPos the already modified position of the figure (e.g. from an another Policy)\n * @param {draw2d.geo.Point} originalPos the original requested position of the figure\n *\n * @returns {draw2d.geo.Point} the constraint position of the figure\n */\n snap: function snap(canvas, figure, modifiedPos, originalPos) {\n // can only handle PolyLies at the moment\n //\n if (!(figure instanceof _packages2.default.shape.basic.VertexResizeHandle)) {\n return modifiedPos;\n }\n\n var allowXChanges = modifiedPos.x === originalPos.x;\n var allowYChanges = modifiedPos.y === originalPos.y;\n\n // Coordinates already snapped to an x/y coordinate.\n // Don't change them and in this case no further calculation is required.\n //\n if (!allowXChanges && !allowYChanges) {\n return modifiedPos;\n }\n\n var result = modifiedPos.clone();\n var correction = this.getCorrectionFor(figure, originalPos);\n\n if (allowXChanges && correction.vertical.x !== Number.MAX_SAFE_INTEGER) {\n result.x = correction.vertical.x;\n this.showVerticalLine(originalPos, correction.vertical);\n } else {\n this.hideVerticalLine();\n }\n\n if (allowYChanges && correction.horizontal.y !== Number.MAX_SAFE_INTEGER) {\n result.y = correction.horizontal.y;\n this.showHorizontalLine(originalPos, correction.horizontal);\n } else {\n this.hideHorizontalLine();\n }\n\n return result;\n },\n\n getCorrectionFor: function getCorrectionFor(vertexResizeHandle, point) {\n var _this = this;\n if (this.constraints === null) {\n this.constraints = [];\n\n var lines = this.canvas.getLines();\n lines.each(function (i, line) {\n line.getVertices().each(function (ii, vertex) {\n if (vertexResizeHandle.index !== ii || vertexResizeHandle.owner !== line) _this.constraints.push(vertex);\n });\n });\n }\n\n var SNAP = this.SNAP_THRESHOLD;\n var vertical = { x: Number.MAX_SAFE_INTEGER, y: Number.MAX_SAFE_INTEGER, diffy: Number.MAX_SAFE_INTEGER };\n var horizontal = { x: Number.MAX_SAFE_INTEGER, y: Number.MAX_SAFE_INTEGER, diffx: Number.MAX_SAFE_INTEGER };\n var diffx, diffy;\n\n for (var i = 0; i < this.constraints.length; i++) {\n var entry = this.constraints[i];\n\n diffx = Math.abs(point.x - entry.x);\n diffy = Math.abs(point.y - entry.y);\n // we found a possible candidate for the vertical snap line\n //\n if (diffx < SNAP) {\n if (diffy < vertical.diffy) {\n vertical = { x: entry.x, y: entry.y, diffy: diffy };\n }\n }\n\n if (diffy < SNAP) {\n if (diffx < horizontal.diffx) {\n horizontal = { x: entry.x, y: entry.y, diffx: diffx };\n }\n }\n }\n return { vertical: vertical, horizontal: horizontal };\n },\n\n showVerticalLine: function showVerticalLine(originalPos, snappedPos) {\n if (this.vline != null) {\n this.vline.stop();\n this.vline.remove();\n }\n\n var maxLength = this.canvas.getHeight();\n var x = (snappedPos.x | 0) + 0.5; // force a .5 number to avoid subpixel rendering. Blurry lines...\n this.canvas.paper.setStart();\n this.canvas.paper.path(\"M \" + x + \" 0 l 0 \" + maxLength).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n this.canvas.paper.path(\"M \" + x + \" \" + originalPos.y + \" L \" + x + \" \" + snappedPos.y).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.vline = this.canvas.paper.setFinish();\n this.vline.toBack();\n },\n\n hideVerticalLine: function hideVerticalLine() {\n var _this2 = this;\n\n if (this.vline == null) {\n return;\n }\n this.vline.animate({ opacity: 0.1 }, this.FADEOUT_DURATION, function () {\n if (_this2.vline !== null) {\n _this2.vline.remove();\n _this2.vline = null;\n }\n });\n },\n\n showHorizontalLine: function showHorizontalLine(originalPos, snappedPos) {\n if (this.hline != null) {\n this.hline.stop();\n this.hline.remove();\n }\n\n var maxLength = this.canvas.getWidth();\n var y = (snappedPos.y | 0) + 0.5; // force a .5 number to avoid subpixel rendering. Blurry lines...\n\n this.canvas.paper.setStart();\n this.canvas.paper.path(\"M 0 \" + y + \" l \" + maxLength + \" 0\").attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1, \"stroke-dasharray\": \". \" });\n this.canvas.paper.path(\"M \" + originalPos.x + \" \" + y + \" L \" + snappedPos.x + \" \" + y).attr({ \"stroke\": this.lineColor.rgba(), \"stroke-width\": 1 });\n\n this.hline = this.canvas.paper.setFinish();\n this.hline.toBack();\n },\n\n hideHorizontalLine: function hideHorizontalLine() {\n var _this3 = this;\n\n if (this.hline === null) {\n return; //silently\n }\n this.hline.animate({ opacity: 0.1 }, this.FADEOUT_DURATION, function () {\n if (_this3.hline !== null) {\n _this3.hline.remove();\n _this3.hline = null;\n }\n });\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/WheelZoomPolicy.js\":\n/*!**********************************************!*\\\n !*** ./src/policy/canvas/WheelZoomPolicy.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _shifty = __webpack_require__(/*! shifty */ \"./node_modules/shifty/dist/shifty.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Zoom support for a canvas. Use the mouse wheel and the shift key to zoom in/out.\n *\n *\n * @example\n *\n * canvas.installEditPolicy(new draw2d.policy.canvas.WheelZoomPolicy());\n * let shape = new draw2d.shape.basic.Text({text:\"Use the mouse wheel + SHIFT to zoom\"});\n *\n * canvas.add(shape,40,10);\n *\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.CanvasPolicy\n * @since 5.8.0\n */\n_packages2.default.policy.canvas.WheelZoomPolicy = _packages2.default.policy.canvas.ZoomPolicy.extend(\n/** @lends draw2d.policy.canvas.WheelZoomPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.WheelZoomPolicy\",\n\n /**\n */\n init: function init() {\n var _this = this;\n\n this._super();\n\n this.center = null;\n this.debouncedZoomedCallback = this._debounce(function () {\n var canvas = _this.canvas;\n if (canvas !== null) {\n canvas.fireEvent(\"zoomed\", { value: canvas.zoomFactor });\n }\n _this.center = null;\n }, 200);\n },\n\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n canvas.setZoom(1);\n canvas.__wheelZoom = 1;\n },\n\n onUninstall: function onUninstall(canvas) {\n this._super(canvas);\n\n // cleanup the canvas object and remove custom properties\n //\n delete canvas.__wheelZoom;\n },\n\n /**\n *\n * called if the user uses the mouse wheel.\n *\n *\n * @param wheelDelta\n * @param {Number} x the x coordinate of the event\n * @param {Number} y the y coordinate of the event\n * @param shiftKey\n * @param ctrlKey\n * @since 5.8.0\n * @template\n * @returns {Boolean} return <b>false</b> to preven tthe default event operation (e.g. scrolling)\n */\n onMouseWheel: function onMouseWheel(wheelDelta, x, y, shiftKey, ctrlKey) {\n // mouse wheel is only supported if the user presses the shift key.\n // normally the canvas scrolls during mouseWheel usage.\n //\n if (shiftKey === false) {\n return true;\n }\n\n wheelDelta = wheelDelta / 1024;\n\n var newZoom = (Math.min(5, Math.max(0.1, this.canvas.zoomFactor + wheelDelta)) * 10000 | 0) / 10000;\n if (this.center === null) {\n var client = this.canvas.fromCanvasToDocumentCoordinate(x, y);\n\n this.center = {\n x: x,\n y: y,\n clientX: client.x,\n clientY: client.y\n };\n }\n this._zoom(newZoom, this.center);\n this.debouncedZoomedCallback();\n\n return false;\n },\n\n /**\n *\n * Set the new zoom level of the canvas.\n *\n * @param zoomFactor\n * @param animated\n */\n setZoom: function setZoom(zoomFactor, animated) {\n var _this2 = this;\n\n // determine the center of the current canvas. We try to keep the\n // current center during zoom operation\n //\n var scrollTop = this.canvas.getScrollTop();\n var scrollLeft = this.canvas.getScrollLeft();\n var scrollWidth = this.canvas.getScrollArea().width();\n var scrollHeight = this.canvas.getScrollArea().height();\n var centerY = scrollTop + scrollHeight / 2 * this.canvas.zoomFactor;\n var centerX = scrollLeft + scrollWidth / 2 * this.canvas.zoomFactor;\n\n if (animated) {\n var myTweenable = new _shifty.Tweenable();\n myTweenable.tween({\n from: { 'x': this.canvas.zoomFactor },\n to: { 'x': zoomFactor },\n duration: 300,\n easing: \"easeOutSine\",\n step: function step(params) {\n _this2._zoom(params.x, centerX, centerY);\n },\n finish: function finish(state) {\n _this2.debouncedZoomedCallback();\n }\n });\n } else {\n this._zoom(zoomFactor, { x: centerX, y: centerY });\n this.debouncedZoomedCallback();\n }\n },\n\n /**\n *\n *\n * @param {Number} zoom\n * @param {draw2d.geo.Point} center\n * @private\n */\n _zoom: function _zoom(zoom, center) {\n var canvas = this.canvas;\n\n if (zoom === canvas.zoomFactor) {\n return;\n }\n\n canvas.zoomFactor = zoom;\n\n canvas.paper.setViewBox(0, 0, canvas.initialWidth, canvas.initialHeight);\n // Change the width and the height attributes manually through DOM\n // unfortunately the raphaelJS 'setSize' method changes the viewBox as well and this is unwanted in this case\n //\n canvas.html.find(\"svg\").attr({\n 'width': canvas.initialWidth / zoom,\n 'height': canvas.initialHeight / zoom\n });\n\n // try to keep the document position to the given client position\n //\n if (center.clientX) {\n var coordsAfter = canvas.fromCanvasToDocumentCoordinate(center.x, center.y);\n canvas.scrollTo(this.canvas.getScrollTop() - (center.clientY - coordsAfter.y), canvas.getScrollLeft() - (center.clientX - coordsAfter.x));\n }\n\n canvas.fireEvent(\"zoom\", { value: canvas.zoomFactor });\n },\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _debounce: function _debounce(func, wait, immediate) {\n var _this3 = this,\n _arguments = arguments;\n\n var timeout = void 0;\n return function () {\n var context = _this3,\n args = _arguments;\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/canvas/ZoomPolicy.js\":\n/*!*****************************************!*\\\n !*** ./src/policy/canvas/ZoomPolicy.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _shifty = __webpack_require__(/*! shifty */ \"./node_modules/shifty/dist/shifty.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Generic zoom policy installable into a canvas object.\n * This is the legacy implementation of the very first zooming in\n * Draw2D. You can use this implementation if you want backward compatible.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.canvas.CanvasPolicy\n * @since 5.8.0\n */\n_packages2.default.policy.canvas.ZoomPolicy = _packages2.default.policy.canvas.CanvasPolicy.extend(\n/** @lends draw2d.policy.canvas.ZoomPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.canvas.ZoomPolicy\",\n\n /**\n */\n init: function init() {\n this._super();\n },\n\n onInstall: function onInstall(canvas) {\n this._super(canvas);\n canvas.setZoom(1);\n },\n\n onUninstall: function onUninstall(canvas) {\n this._super(canvas);\n },\n\n /** \n * Set the new zoom factor for the canvas. The value must be between [0.01..10]\n *\n * // you can register an eventhandler to listen to the zoom factor of the canvas.\n * //\n * canvas.on(\"zoom\", function(emitterFigure, zoomData){\n * alert(\"canvas zoomed to:\"+zoomData.factor);\n * });\n *\n * @param {Number} zoomFactor new zoom factor.\n * @param {Boolean} [animated] set it to true for smooth zoom in/out\n **/\n setZoom: function setZoom(zoomFactor, animated) {\n var canvas = this.canvas;\n\n var _zoom = function _zoom(z) {\n canvas.zoomFactor = Math.min(Math.max(0.01, z), 10);\n\n var viewBoxWidth = canvas.initialWidth * canvas.zoomFactor | 0;\n var viewBoxHeight = canvas.initialHeight * canvas.zoomFactor | 0;\n\n canvas.paper.setViewBox(0, 0, viewBoxWidth, viewBoxHeight);\n\n canvas.fireEvent(\"zoom\", { value: canvas.zoomFactor });\n };\n\n if (animated) {\n var myTweenable = new _shifty.Tweenable();\n myTweenable.tween({\n from: { 'x': canvas.zoomFactor },\n to: { 'x': zoomFactor },\n duration: 300,\n easing: \"easeOutSine\",\n step: function step(params) {\n return _zoom(params.x);\n },\n finish: function finish(state) {\n return canvas.fireEvent(\"zoomed\", { value: canvas.zoomFactor });\n }\n });\n } else {\n _zoom(zoomFactor);\n canvas.fireEvent(\"zoomed\", { value: canvas.zoomFactor });\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/connection/ClickConnectionCreatePolicy.js\":\n/*!**************************************************************!*\\\n !*** ./src/policy/connection/ClickConnectionCreatePolicy.js ***!\n \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.policy.connection.ClickConnectionCreatePolicy = _packages2.default.policy.connection.ConnectionCreatePolicy.extend(\n/** @lends draw2d.policy.connection.ClickConnectionCreatePolicy.prototype */\n{\n\n NAME: \"draw2d.policy.connection.ClickConnectionCreatePolicy\",\n\n /**\n *\n * Creates a new connection create policy instance\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.port1 = null;\n this.beeline = null;\n this.pulse = null;\n this.tempConnection = null;\n\n this.vertices = [];\n },\n\n /**\n * \n * Called by the canvas if the user click on a figure.\n *\n * @param {draw2d.Figure} the figure under the click event. Can be null\n * @param {Number} x the x coordinate of the mouse during the click event\n * @param {Number} y the y coordinate of the mouse during the click event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @since 6.1.0\n */\n onClick: function onClick(figure, x, y, shiftKey, ctrlKey) {\n var _this = this;\n var port = figure;\n\n if (port === null && this.port1 === null) {\n return;\n }\n\n // nothing found at all\n //\n if (port === null) {\n this.vertices.push(new _packages2.default.geo.Point(x, y));\n this.beeline.setStartPosition(x, y);\n this.tempConnection.setVertices(this.vertices);\n if (this.pulse !== null) {\n this.pulse.remove();\n this.pulse = null;\n }\n this.ripple(x, y, 0);\n return;\n }\n\n //just consider ports\n //\n if (!(port instanceof _packages2.default.Port)) {\n return;\n }\n\n // start connection create by selection the start port\n //\n if (this.port1 === null) {\n var canvas = port.getCanvas();\n this.port1 = port;\n this.vertices.push(port.getAbsolutePosition());\n this.beeline = new _packages2.default.shape.basic.Line({\n start: this.port1.getAbsolutePosition(),\n end: this.port1.getAbsolutePosition(),\n dasharray: \"- \",\n color: \"#2C70FF\"\n });\n\n this.beeline.hide = function () {\n _this.beeline.setCanvas(null);\n };\n\n this.beeline.show = function (canvas) {\n _this.beeline.setCanvas(canvas);\n _this.beeline.shape.toFront();\n };\n this.beeline.show(canvas);\n\n this.tempConnection = new _packages2.default.shape.basic.PolyLine({\n start: this.port1.getAbsolutePosition(),\n end: this.port1.getAbsolutePosition(),\n stroke: 2,\n color: \"#2C70FF\"\n });\n\n this.tempConnection.hide = function () {\n _this.tempConnection.setCanvas(null);\n };\n\n this.tempConnection.show = function (canvas) {\n _this.tempConnection.setCanvas(canvas);\n _this.tempConnection.shape.toFront();\n };\n this.tempConnection.show(canvas);\n this.tempConnection.setVertices([this.port1.getAbsolutePosition(), this.port1.getAbsolutePosition()]);\n\n var a = function a() {\n _this.tempConnection.shape.animate({ \"stroke-width\": 2 }, 800, b);\n };\n var b = function b() {\n _this.tempConnection.shape.animate({ \"stroke-width\": 1 }, 800, a);\n };\n a();\n\n var pos = port.getAbsolutePosition();\n this.pulse = this.ripple(pos.x, pos.y, 1);\n return;\n }\n\n var possibleTarget = port.delegateTarget(this.port1);\n\n if (!(possibleTarget instanceof _packages2.default.Port)) {\n return; // silently\n }\n\n var request = new _packages2.default.command.CommandType(_packages2.default.command.CommandType.CONNECT);\n request.source = this.port1;\n request.target = port;\n\n var command = null;\n if (this.port1 instanceof _packages2.default.InputPort) {\n command = this.port1.createCommand(request);\n } else {\n command = port.createCommand(request);\n }\n\n if (command !== null) {\n this.vertices.push(port.getPosition());\n command.setConnection(this.createConnection());\n figure.getCanvas().getCommandStack().execute(command);\n this.beeline.hide();\n this.tempConnection.hide();\n if (this.pulse !== null) {\n this.pulse.remove();\n this.pulse = null;\n }\n this.beeline = null;\n this.port1 = null;\n this.vertices = [];\n }\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseMove: function onMouseMove(canvas, x, y, shiftKey, ctrlKey) {\n if (this.beeline !== null) {\n this.beeline.setEndPosition(x, y);\n }\n },\n\n /**\n * \n * Callback if the user press a key down\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {Number} keyCode the pressed key\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n **/\n onKeyDown: function onKeyDown(canvas, keyCode, shiftKey, ctrlKey) {\n var KEYCODE_ENTER = 13;\n var KEYCODE_ESC = 27;\n if (keyCode === KEYCODE_ESC && this.beeline !== null) {\n this.beeline.hide();\n this.tempConnection.hide();\n this.beeline = null;\n this.port1 = null;\n this.vertices = [];\n if (this.pulse != null) {\n this.pulse.remove();\n this.pulse = null;\n }\n }\n },\n\n createConnection: function createConnection() {\n var connection = this._super();\n if (this.vertices.length === 2) {\n connection.setRouter(new _packages2.default.layout.connection.DirectRouter());\n } else {\n connection.setRouter(new _packages2.default.layout.connection.VertexRouter());\n connection.setVertices(this.vertices);\n }\n connection.setRadius(10);\n return connection;\n }\n\n});\n/**\n * @class\n *\n * The ClickConnectionCreatePolicy can be installed into the canvas to override the\n * default connection crate behaviour. Normally you can create connections by drag&drop a port.\n *\n * With this policy you can route the connection during creation.\n *\n * Creates a connection by clicking on a port.\n * <ul>\n * <li> click on the first port</li>\n * <li> click within the canvas to add additional vertices</li>\n * <li> click on the target port to draw the connection</li>\n * <li> press ESC to abort the operation (didn't work within this JSDoc)</li>\n * </ul>\n * <br>\n * <br>\n * <b>The generated connections didn't have any orthogonal constraints nor any other restrictions or guidance.</b>\n * <br>\n * <br>\n *\n *\n *\n * @example\n *\n * // Override the default connection creation.\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.ClickConnectionCreatePolicy());\n *\n * // create and add two Node which contains Ports (In and OUT)\n * //\n * var start = new draw2d.shape.node.Start({x:50, y:50});\n * var endNode = new draw2d.shape.node.End({x:200, y:70});\n *\n * // add the two nodes to the canvas\n * //\n * canvas.add( start);\n * canvas.add( endNode);\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.connection.ConnectionCreatePolicy\n * @since 6.1.0\n */\n\n/***/ }),\n\n/***/ \"./src/policy/connection/ComposedConnectionCreatePolicy.js\":\n/*!*****************************************************************!*\\\n !*** ./src/policy/connection/ComposedConnectionCreatePolicy.js ***!\n \\*****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.policy.connection.ComposedConnectionCreatePolicy = _packages2.default.policy.connection.ConnectionCreatePolicy.extend(\n/** @lends draw2d.policy.connection.ComposedConnectionCreatePolicy.prototype */\n{\n\n NAME: \"draw2d.policy.connection.ComposedConnectionCreatePolicy\",\n\n /**\n *\n * Creates a new connection create policy instance\n *\n * @param {array} policies the policies to use\n */\n init: function init(policies) {\n this.policies = policies;\n this._super();\n },\n\n onMouseDown: function onMouseDown() {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onMouseDown.apply(p, _arg);\n });\n },\n onMouseDrag: function onMouseDrag() {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onMouseDrag.apply(p, _arg);\n });\n },\n\n onMouseUp: function onMouseUp() {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onMouseUp.apply(p, _arg);\n });\n },\n\n onClick: function onClick() {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onClick.apply(p, _arg);\n });\n },\n onMouseMove: function onMouseMove() {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onMouseMove.apply(p, _arg);\n });\n },\n\n /**\n * @inheritDoc\n **/\n onKeyUp: function onKeyUp(canvas, keyCode, shiftKey, ctrlKey) {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onKeyUp.apply(p, _arg);\n });\n },\n\n /**\n * @inheritDoc\n **/\n onKeyDown: function onKeyDown(canvas, keyCode, shiftKey, ctrlKey) {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onKeyDown.apply(p, _arg);\n });\n },\n\n /**\n * \n * Called if the policy is installed into the canvas.\n *\n * @param {draw2d.Canvas} canvas\n */\n onInstall: function onInstall(canvas) {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onInstall.apply(p, _arg);\n });\n },\n\n /**\n * \n * Called if the policy is deinstalled from the canvas\n *\n * @param {draw2d.Canvas} canvas\n */\n onUninstall: function onUninstall(canvas) {\n var _arg = arguments;\n this.policies.forEach(function (p) {\n p.onUninstall.apply(p, _arg);\n });\n }\n\n});\n/**\n * @class\n * A composed connection create policy. Use this to install more than one\n * ConnectionCreatePolicy into the canvas. Normally it is not allowed to install\n * more than one policy from the same type.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.connection.ConnectionCreatePolicy\n */\n\n/***/ }),\n\n/***/ \"./src/policy/connection/ConnectionCreatePolicy.js\":\n/*!*********************************************************!*\\\n !*** ./src/policy/connection/ConnectionCreatePolicy.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.policy.connection.ConnectionCreatePolicy = _packages2.default.policy.canvas.KeyboardPolicy.extend(\n/** @lends draw2d.policy.connection.ConnectionCreatePolicy.prototype */\n{\n\n NAME: \"draw2d.policy.connection.ConnectionCreatePolicy\",\n\n /**\n *\n * Creates a new connection create policy instance\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Factory method to create the connection to insert.\n *\n * @returns {draw2d.Connection}\n * @template\n */\n createConnection: function createConnection() {\n return new _packages2.default.Connection({\n router: new _packages2.default.layout.connection.DirectRouter()\n });\n },\n\n ripple: function ripple(x, y, type) {\n switch (type) {\n case 0:\n var circle = this.canvas.paper.circle(x, y, 3, 3).attr({ fill: null, stroke: \"#d0d0ff\" });\n var anim = Raphael.animation({ transform: \"s6\", opacity: 0.0, \"stroke-width\": 3 }, 500, \"linear\", function () {\n circle.remove();\n });\n circle.animate(anim);\n // return an emmpty raphael.set. The circle removes itself after animation is done\n //\n return this.canvas.paper.set();\n break;\n case 1:\n var circle1 = this.canvas.paper.circle(x, y, 3, 3).attr({ fill: null, stroke: \"#3f72bf\" });\n var circle2 = this.canvas.paper.circle(x, y, 3, 3).attr({ fill: null, stroke: \"#ff0000\" });\n var anim1 = Raphael.animation({ transform: \"s6\", opacity: 0.0, \"stroke-width\": 1 }, 1200, \"linear\").repeat(Infinity);\n circle1.animate(anim1);\n var anim2 = Raphael.animation({ transform: \"s12\", opacity: 0.0, \"stroke-width\": 4 }, 500, \"linear\", function () {\n circle2.remove();\n });\n circle2.animate(anim2);\n\n // return the \"circle1\". This shape must be remove by the caller\n // \"circle2\" is removed automaticly\n //\n return circle1;\n break;\n }\n }\n\n});\n/**\n * @class\n * Base class for connection creation by user interaction.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.canvas.KeyboardPolicy\n */\n\n/***/ }),\n\n/***/ \"./src/policy/connection/DragConnectionCreatePolicy.js\":\n/*!*************************************************************!*\\\n !*** ./src/policy/connection/DragConnectionCreatePolicy.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.policy.connection.DragConnectionCreatePolicy = _packages2.default.policy.connection.ConnectionCreatePolicy.extend(\n/** @lends draw2d.policy.connection.DragConnectionCreatePolicy.prototype */\n{\n\n NAME: \"draw2d.policy.connection.DragConnectionCreatePolicy\",\n\n /**\n *\n * Creates a new connection create policy instance\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.mouseDraggingElement = null;\n this.currentDropTarget = null;\n this.currentTarget = null;\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseDown: function onMouseDown(canvas, x, y, shiftKey, ctrlKey) {\n //just consider ports\n //\n var port = canvas.getBestFigure(x, y);\n\n // nothing found at all\n //\n if (port === null) {\n return;\n }\n\n // may there is a resize handle below the port or another figure\n // in this case the ResizeHandle has prio. and handled by another\n // Policy\n if (!(port instanceof _packages2.default.Port)) {\n return;\n }\n\n // this can happen if the user release the mouse button outside the window during a drag&drop\n // operation. In this case we must fire the \"onDragEnd\" event postpond.\n //\n if (port.isInDragDrop === true) {\n port.onDragEnd(x, y, shiftKey, ctrlKey);\n port.isInDragDrop = false;\n }\n\n // introspect the port only if it is draggable at all\n //\n if (port.isDraggable()) {\n var canDragStart = port.onDragStart(x - port.getAbsoluteX(), y - port.getAbsoluteY(), shiftKey, ctrlKey);\n if (canDragStart) {\n port.fireEvent(\"dragstart\", { x: x - port.getAbsoluteX(), y: y - port.getAbsoluteY(), shiftKey: shiftKey, ctrlKey: ctrlKey });\n }\n\n // Element send a veto about the drag&drop operation\n this.mouseDraggingElement = canDragStart === false ? null : port;\n this.mouseDownElement = port;\n }\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} dx The x diff between start of dragging and this event\n * @param {Number} dy The y diff between start of dragging and this event\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @template\n */\n onMouseDrag: function onMouseDrag(canvas, dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n try {\n if (this.mouseDraggingElement !== null) {\n var de = this.mouseDraggingElement;\n var ct = this.currentTarget;\n\n de.isInDragDrop = true;\n de.onDrag(dx, dy, dx2, dy2, shiftKey, ctrlKey);\n\n var target = canvas.getBestFigure(de.getAbsoluteX(), de.getAbsoluteY(), de);\n\n // the hovering element has been changed\n if (target !== ct) {\n if (ct !== null) {\n ct.onDragLeave(de);\n ct.fireEvent(\"dragLeave\", { draggingElement: de });\n de.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.port.PortFeedbackPolicy) {\n e.onHoverLeave(canvas, de, ct);\n }\n });\n }\n\n // possible hoverEnter event\n //\n if (target !== null) {\n this.currentTarget = ct = target.delegateTarget(de);\n if (ct !== null) {\n ct.onDragEnter(de); // legacy\n ct.fireEvent(\"dragEnter\", { draggingElement: de });\n de.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.port.PortFeedbackPolicy) {\n e.onHoverEnter(canvas, de, ct);\n }\n });\n }\n } else {\n this.currentTarget = null;\n }\n }\n\n var p = canvas.fromDocumentToCanvasCoordinate(canvas.mouseDownX + dx / canvas.zoomFactor, canvas.mouseDownY + dy / canvas.zoomFactor);\n var target = canvas.getBestFigure(p.x, p.y, this.mouseDraggingElement);\n\n if (target !== this.currentDropTarget) {\n if (this.currentDropTarget !== null) {\n this.currentDropTarget.onDragLeave(this.mouseDraggingElement);\n this.currentDropTarget.fireEvent(\"dragLeave\", { draggingElement: this.mouseDraggingElement });\n this.currentDropTarget = null;\n }\n if (target !== null) {\n this.currentDropTarget = target.delegateTarget(this.mouseDraggingElement);\n // inform all listener that the element has accept the dragEnter event\n //\n if (this.currentDropTarget !== null) {\n this.currentDropTarget.onDragEnter(this.mouseDraggingElement); // legacy\n this.currentDropTarget.fireEvent(\"dragEnter\", { draggingElement: this.mouseDraggingElement });\n }\n }\n }\n }\n } catch (exc) {\n console.log(exc);\n debugger;\n }\n },\n\n /**\n * \n *\n * @param {draw2d.Figure} figure the shape below the mouse or null\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onMouseUp: function onMouseUp(canvas, x, y, shiftKey, ctrlKey) {\n if (this.mouseDraggingElement !== null) {\n\n var de = this.mouseDraggingElement;\n var ct = this.currentTarget;\n // start CommandStack transaction\n canvas.getCommandStack().startTransaction();\n\n de.onDragEnd(x, y, shiftKey, ctrlKey);\n // notify all installed policies\n //\n if (ct) {\n de.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.port.PortFeedbackPolicy) {\n e.onHoverLeave(canvas, de, ct);\n }\n });\n }\n\n de.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.onDragEnd(canvas, de, x, y, shiftKey, ctrlKey);\n }\n });\n\n // Reset the drag&drop flyover information\n //\n this.currentTarget = null;\n de.isInDragDrop = false;\n\n // fire an event\n // @since 5.3.3\n de.fireEvent(\"dragend\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n\n // check if we drop the port onto a valid\n // drop target and create a connection if possible\n //\n if (this.currentDropTarget !== null) {\n this.mouseDraggingElement.onDrop(this.currentDropTarget, x, y, shiftKey, ctrlKey);\n\n this.currentDropTarget.onDragLeave(this.mouseDraggingElement);\n this.currentDropTarget.fireEvent(\"dragLeave\", { draggingElement: this.mouseDraggingElement });\n\n // Ports accepts only Ports as DropTarget\n //\n if (this.currentDropTarget instanceof _packages2.default.Port) {\n var request = new _packages2.default.command.CommandType(_packages2.default.command.CommandType.CONNECT);\n request.source = this.currentDropTarget;\n request.target = this.mouseDraggingElement;\n var command = this.mouseDraggingElement.createCommand(request);\n\n if (command !== null) {\n command.setConnection(this.createConnection());\n canvas.getCommandStack().execute(command);\n this.currentDropTarget.onCatch(this.mouseDraggingElement, x, y, shiftKey, ctrlKey);\n }\n }\n }\n\n // end command stack trans\n canvas.getCommandStack().commitTransaction();\n this.currentDropTarget = null;\n this.mouseDraggingElement = null;\n }\n },\n\n createConnection: function createConnection() {\n var connection = this._super();\n connection.setRouter(new _packages2.default.layout.connection.DirectRouter());\n\n return connection;\n }\n\n});\n/**\n * @class\n *\n * The DragConnectionCreatePolicy is the default configuration for connection creation.\n * You must drag a port and drop them onto another port to create connection.\n *\n * Creates a connection by drag&drop on a port.\n * <ul>\n * <li> click on the first port</li>\n * <li> drag it to the target port</li>\n * <li> drop it onto the target</li>\n * </ul>\n * <br>\n * <br>\n *\n *\n *\n * @example\n *\n * // Override the default connection creation.\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.DragConnectionCreatePolicy());\n *\n * // create and add two Node which contains Ports (In and OUT)\n * //\n * var start = new draw2d.shape.node.Start({x:50, y:50});\n * var endNode = new draw2d.shape.node.End({x:200, y:70});\n *\n * // add the two nodes to the canvas\n * //\n * canvas.add( start);\n * canvas.add( endNode);\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.connection.ConnectionCreatePolicy\n */\n\n/***/ }),\n\n/***/ \"./src/policy/connection/OrthogonalConnectionCreatePolicy.js\":\n/*!*******************************************************************!*\\\n !*** ./src/policy/connection/OrthogonalConnectionCreatePolicy.js ***!\n \\*******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.policy.connection.OrthogonalConnectionCreatePolicy = _packages2.default.policy.connection.ConnectionCreatePolicy.extend(\n/** @lends draw2d.policy.connection.ClickConnectionCreatePolicy.prototype */\n{\n\n NAME: \"draw2d.policy.connection.ClickConnectionCreatePolicy\",\n\n /**\n *\n * Creates a new connection create policy instance\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.port1 = null;\n this.beeline = null;\n this.pulse = null;\n this.tempConnection = null;\n\n this.vertices = new _packages2.default.util.ArrayList();\n },\n\n /**\n * \n * Called by the canvas if the user click on a figure.\n *\n * @param {draw2d.Figure} the figure under the click event. Can be null\n * @param {Number} x the x coordinate of the mouse during the click event\n * @param {Number} y the y coordinate of the mouse during the click event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @since 6.1.0\n *\n * @template\n */\n onClick: function onClick(figure, x, y, shiftKey, ctrlKey) {\n var UP = _packages2.default.geo.Rectangle.DIRECTION_UP;\n var RIGHT = _packages2.default.geo.Rectangle.DIRECTION_RIGHT;\n var DOWN = _packages2.default.geo.Rectangle.DIRECTION_DOWN;\n var LEFT = _packages2.default.geo.Rectangle.DIRECTION_LEFT;\n\n var _this = this;\n var port = figure; // .getCanvas().getBestFigure(x, y);\n\n // nothing to do\n if (port === null && this.port1 === null) {\n return;\n }\n\n // nothing found at all\n //\n if (port === null) {\n var canvas = this.port1.getCanvas();\n var newPos = this.beeline.getEndPosition();\n this.vertices.add(newPos);\n this.beeline.setStartPosition(this.beeline.getEndPosition());\n this.tempConnection.setVertices(this.vertices);\n if (this.pulse !== null) {\n this.pulse.remove();\n this.pulse = null;\n }\n this.ripple(newPos.x, newPos.y, 0);\n return;\n }\n\n // we just considering ports\n //\n if (!(port instanceof _packages2.default.Port)) {\n return;\n }\n\n // start connection create by selection the start port\n //\n if (this.port1 === null) {\n var canvas = port.getCanvas();\n this.port1 = port;\n this.vertices.add(port.getAbsolutePosition());\n this.beeline = new _packages2.default.shape.basic.Line({\n start: this.port1.getAbsolutePosition(),\n end: this.port1.getAbsolutePosition(),\n dasharray: \"- \",\n color: \"#2C70FF\"\n });\n\n this.beeline.hide = function () {\n _this.beeline.setCanvas(null);\n };\n\n this.beeline.show = function (canvas) {\n _this.beeline.setCanvas(canvas);\n _this.beeline.shape.toFront();\n };\n this.beeline.show(canvas);\n\n this.tempConnection = new _packages2.default.shape.basic.PolyLine({\n start: this.port1.getAbsolutePosition(),\n end: this.port1.getAbsolutePosition(),\n stroke: 2,\n color: \"#2C70FF\"\n });\n\n this.tempConnection.hide = function () {\n _this.tempConnection.setCanvas(null);\n };\n\n this.tempConnection.show = function (canvas) {\n _this.tempConnection.setCanvas(canvas);\n _this.tempConnection.shape.toFront();\n };\n this.tempConnection.show(canvas);\n this.tempConnection.setVertices([this.port1.getAbsolutePosition(), this.port1.getAbsolutePosition()]);\n\n var a = function a() {\n _this.tempConnection.shape.animate({ \"stroke-width\": 2 }, 800, b);\n };\n var b = function b() {\n _this.tempConnection.shape.animate({ \"stroke-width\": 1 }, 800, a);\n };\n a();\n\n canvas.paper.setStart();\n\n // delete the previews puls if the user press twice on the starting port\n //\n if (this.pulse !== null) {\n this.pulse.remove();\n this.pulse = null;\n }\n\n var pos = port.getAbsolutePosition();\n this.ripple(pos.x, pos.y, 1);\n this.pulse = canvas.paper.setFinish();\n } else {\n var possibleTarget = port.delegateTarget(this.port1);\n\n if (!(possibleTarget instanceof _packages2.default.Port)) {\n return; // silently\n }\n\n // check whenever the target port allows a connection\n //\n var request = new _packages2.default.command.CommandType(_packages2.default.command.CommandType.CONNECT);\n request.source = this.port1;\n request.target = port;\n var command = null;\n if (this.port1 instanceof _packages2.default.InputPort) {\n command = this.port1.createCommand(request);\n } else {\n command = port.createCommand(request);\n }\n\n if (command !== null) {\n var connection = this.createConnection();\n command.setConnection(connection);\n port.getCanvas().getCommandStack().execute(command);\n\n this.beeline.hide();\n this.tempConnection.hide();\n if (this.pulse !== null) {\n this.pulse.remove();\n this.pulse = null;\n }\n this.beeline = null;\n this.port1 = null;\n\n // use the default routing if the user didn't add some\n // vertices\n if (this.vertices.getSize() <= 2) {\n return;\n }\n\n var MINDIST = command.getConnection().getRouter().MINDIST;\n var beforeVertex = this.vertices.get(this.vertices.getSize() - 2);\n var lastVertex = this.vertices.last();\n var portPos = port.getAbsolutePosition();\n var lastSegmentDir = UP;\n if (lastVertex.x === beforeVertex.x) {\n lastSegmentDir = lastVertex.y < beforeVertex.y ? UP : DOWN;\n } else {\n lastSegmentDir = lastVertex.x < beforeVertex.x ? LEFT : RIGHT;\n }\n\n // CALCULATE THE LAST MILE OF THE CONNECTION\n //\n // ensure that we have a valid \"manhattan style\" connection.\n // We must add or adjust some points or segments.\n //\n // The code below creates and adjust the points in that way that the\n // DOTTED line is the calculated part to the user defined vertices.\n // ==================================\n //\n switch (port.getConnectionDirection(this.port1)) {\n case UP:\n switch (lastSegmentDir) {\n case UP:\n // o..................o lastVertex\n // | . |\n // | . |\n // | +----O----+ |\n // ------o | portPos | o------------\n // | | beforeVertex\n // +---------+\n //\n if (lastVertex.y < portPos.y - MINDIST) {\n this.vertices.add(new _packages2.default.geo.Point(portPos.x, lastVertex.y));\n this.vertices.add(portPos);\n }\n // ...................\n // . . .\n // . +----O----+ .\n // o | portPos | o lastVertex\n // | | | |\n // | +---------+ |\n // -------o o------------\n // beforeVertex\n //\n else {\n lastVertex.y = portPos.y - MINDIST;\n this.vertices.add(new _packages2.default.geo.Point(portPos.x, lastVertex.y));\n this.vertices.add(portPos);\n }\n break;\n case RIGHT:\n // ..............................\n // . . .\n // . . .\n // o------->o +----O----+ o---------------->O\n // | | portPos | | beforeVertex lastVertex\n // | | | |\n // | +---------+\n if (lastVertex.y > portPos.y - MINDIST) {\n beforeVertex.y = portPos.y - MINDIST;\n lastVertex.x = portPos.x;\n lastVertex.y = beforeVertex.y;\n this.vertices.add(portPos);\n }\n //\n // beforeVertex lastVertex\n // o---------->o..................o------------->O\n // | . |\n // | +----O----+ |\n // | | portPos | |\n // | | | |\n // +---------+\n else {\n lastVertex.x = portPos.x;\n this.vertices.add(portPos);\n }\n break;\n case DOWN:\n // beforeVertex\n // ------o..................o------------\n // | . |\n // | . |\n // V +----O----+ V\n // o | portPos | o lastVertex\n // | |\n // +---------+\n //\n if (lastVertex.y < portPos.y - MINDIST) {\n beforeVertex.x = portPos.x;\n lastVertex.setPosition(portPos);\n }\n // ...................\n // . . .\n // . +----O----+ . beforeVertex\n // -------o | portPos | o------------\n // | | | |\n // V +---------+ V\n // o o\n // lastVertex\n //\n else {\n lastVertex.y = portPos.y - MINDIST;\n this.vertices.add(new _packages2.default.geo.Point(portPos.x, lastVertex.y));\n this.vertices.add(portPos);\n }\n break;\n case LEFT:\n // ..................................\n // . . .\n // . . .\n // o<--------o +----O----+ o<-------------O beforeVertex\n // | | portPos | lastVertex |\n // | | | |\n // +---------+\n if (lastVertex.y > portPos.y - MINDIST) {\n beforeVertex.y = portPos.y - MINDIST;\n lastVertex.x = portPos.x;\n lastVertex.y = beforeVertex.y;\n this.vertices.add(portPos);\n }\n // | |\n // | |\n // o<--------o................o<-------------O\n // . lastVertex beforeVertex\n // +----O----+\n // | portPos |\n // | |\n // +---------+\n else {\n lastVertex.x = portPos.x;\n this.vertices.add(portPos);\n }\n break;\n }\n break;\n case RIGHT:\n switch (lastSegmentDir) {\n case UP:\n // o lastVertex\n // |\n // |\n // ------------------o beforeVertex\n // .\n // +----------+ .\n // | | .\n // | portPos O.......\n // | | .\n // +----------+ .\n // o lastVertex\n // |\n // |\n // -----------------o beforeVertex\n //\n if (lastVertex.x > portPos.x + MINDIST) {\n lastVertex.y = portPos.y;\n this.vertices.add(portPos);\n }\n // lastVertex\n // o...............\n // | .\n // | .\n // ----o beforeVertex .\n // .\n // +----------+ .\n // | | .\n // | portPos O........\n // | | .\n // +----------+ .\n // o...............\n // | lastVertex\n // |\n //------o\n // beforeVertex\n //\n //\n else {\n this.vertices.add(new _packages2.default.geo.Point(portPos.x + MINDIST, lastVertex.y));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x + MINDIST, portPos.y));\n this.vertices.add(portPos);\n }\n break;\n case RIGHT:\n // beforeVertex lastVertex\n // o-------------->o\n // .\n // +----------+ .\n // | | .\n // | portPos O.......\n // | | .\n // +----------+ .\n // .\n // o-------------->o\n // beforeVertex lastVertex\n //\n if (lastVertex.x > portPos.x + MINDIST) {\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, portPos.y));\n this.vertices.add(portPos);\n }\n // beforeVertex lastVertex\n // o------------>o.........\n // .\n // +----------+ .\n // | | .\n // | portPos O.......\n // | | .\n // +----------+ .\n // .\n // o----------->o..........\n // beforeVertex lastVertex\n //\n else {\n lastVertex.x = portPos.x + MINDIST;\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, portPos.y));\n this.vertices.add(portPos);\n }\n break;\n case DOWN:\n // ----------------o beforeVertex\n // |\n // |\n // o lastVertex\n // .\n // +----------+ .\n // | | .\n // | portPos O.......\n // | | .\n // +----------+ .\n // .\n // --------------o beforeVertex\n // |\n // |\n // o lastVertex\n //\n if (lastVertex.x > portPos.x + MINDIST) {\n lastVertex.y = portPos.y;\n this.vertices.add(portPos);\n }\n // -----o beforeVertex\n // |\n // | lastVertex\n // o...........\n // .\n // +----------+ .\n // | | .\n // | portPos O.......\n // | | .\n // +----------+ .\n // .\n // ----o beforeVertex .\n // | .\n // | lastVertex .\n // o...............\n //\n else {\n this.vertices.add(new _packages2.default.geo.Point(portPos.x + MINDIST, lastVertex.y));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x + MINDIST, portPos.y));\n this.vertices.add(portPos);\n }\n break;\n case LEFT:\n // lastVertex beforeVertex\n // o<--------------o\n // .\n // +----------+ .\n // | | .\n // | portPos O..\n // | | .\n // +----------+ .\n // .\n // o<--------------o\n // lastVertex beforeVertex\n //\n if (lastVertex.x > portPos.x + MINDIST) {\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, portPos.y));\n this.vertices.add(portPos);\n }\n // lastVertex beforeVertex\n // o<-----------------------o\n // .\n // +----------+ .\n // | | .\n // | portPos O....\n // | | .\n // +----------+ .\n // .\n // o<----------------------o\n // lastVertex beforeVertex\n //\n else {\n lastVertex.x = portPos.x + MINDIST;\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, portPos.y));\n this.vertices.add(portPos);\n }\n break;\n }\n break;\n case DOWN:\n switch (lastSegmentDir) {\n case UP:\n // o o lastVertex\n // | |\n // | |\n // | +---------+ |\n // ------o | | o------------\n // . | portPos | . beforeVertex\n // . +----O----+ .\n // . . .\n // ....................\n //\n if (lastVertex.y < portPos.y + MINDIST) {\n lastVertex.y = portPos.y + MINDIST;\n this.vertices.add(new _packages2.default.geo.Point(portPos.x, lastVertex.y));\n this.vertices.add(portPos);\n }\n // +---------+\n // | |\n // | portPos |\n // +----O----+\n // .\n // o.................o lastVertex\n // | |\n // | |\n // -------o o------------\n // beforeVertex\n //\n else {\n lastVertex.x = portPos.x;\n lastVertex.y = portPos.y;\n beforeVertex.x = portPos.x;\n }\n break;\n case RIGHT:\n // +---------+\n // | |\n // | portPos |\n // o------->o +----O----+ o--------------->O\n // | . . | beforeVertex . lastVertex\n // | .....................|.................\n // |\n //\n //\n if (lastVertex.y < portPos.y + MINDIST) {\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, portPos.y + MINDIST));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x, portPos.y + MINDIST));\n this.vertices.add(portPos);\n }\n // +---------+\n // | |\n // | portPos |\n // +----O----+\n // .\n // ...................................\n // . beforeVertex . lastVertex\n // o---------->o o------------->O\n // | |\n // | |\n //\n else {\n lastVertex.x = portPos.x;\n this.vertices.add(portPos);\n }\n break;\n case DOWN:\n // beforeVertex\n // ------o o------------\n // | |\n // | |\n // V +---------+ V\n // o | | o lastVertex\n // . | portPos | .\n // . +----O----+ .\n // . . .\n // ....................\n //\n if (lastVertex.y < portPos.y + MINDIST) {\n lastVertex.y = portPos.y + MINDIST;\n this.vertices.add(new _packages2.default.geo.Point(portPos.x, lastVertex.y));\n this.vertices.add(portPos);\n }\n //\n // +---------+ beforeVertex\n // -------o | portPos | o------------\n // | | | |\n // V +----O----+ V\n // o . o\n // .................. lastVertex\n //\n else {\n this.vertices.add(new _packages2.default.geo.Point(portPos.x, lastVertex.y));\n this.vertices.add(portPos);\n }\n break;\n case LEFT:\n //\n // o<--------o +---------+ o<-------------O beforeVertex\n // . | | | . lastVertex |\n // . | | portPos | . |\n // . +----O----+ .\n // . . .\n // ..............................\n //\n if (lastVertex.y < portPos.y - MINDIST) {\n beforeVertex.y = portPos.y - MINDIST;\n lastVertex.x = portPos.x;\n lastVertex.y = beforeVertex.y;\n this.vertices.add(portPos);\n }\n //\n // +---------+\n // | | | |\n // | | portPos | |\n // | +----O----+ |\n // | . |\n // o<--------o...................o<---------o\n //\n else {\n lastVertex.x = portPos.x;\n this.vertices.add(portPos);\n }\n break;\n }\n break;\n case LEFT:\n switch (lastSegmentDir) {\n case UP:\n // ................o lastVertex\n // . |\n // . |\n // --.---------------o beforeVertex\n // .\n // . +----------+\n // . | |\n // ....o portPos |\n // . | |\n // . +----------+\n // .\n // ................o lastVertex\n // |\n // |\n // -----------------o beforeVertex\n //\n if (lastVertex.x >= portPos.x - MINDIST) {\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, lastVertex.y));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, portPos.y));\n this.vertices.add(portPos);\n }\n //\n // +----------+\n // | |\n // ......o portPos |\n // . | |\n // . +----------+\n // o\n // | lastVertex\n // |\n //------o\n // beforeVertex\n //\n //\n else if (lastVertex.y > portPos.y && lastVertex.x < portPos.x - MINDIST) {\n lastVertex.y = portPos.y;\n this.vertices.add(portPos);\n }\n // lastVertex\n // o..\n // | .\n // | .\n // ----o . beforeVertex\n // .\n // . +----------+\n // . | |\n // ....o portPos |\n // | |\n // +----------+\n //\n else {\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, lastVertex.y));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, portPos.y));\n this.vertices.add(portPos);\n }\n break;\n case RIGHT:\n // beforeVertex lastVertex\n // o-------------->o\n // .\n // ....................\n // .\n // . +----------+\n // . | |\n // .......o portPos |\n // | |\n // +----------+\n //\n if (lastVertex.y < portPos.y && lastVertex.x > portPos.x - MINDIST) {\n var center = portPos.y - (portPos.y - lastVertex.y) / 2;\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, center));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, center));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, portPos.y));\n this.vertices.add(portPos);\n }\n // +----------+\n // | |\n // .......o portPos |\n // . | |\n // . +----------+\n // .\n // ....................\n // .\n // o-------------->o\n // beforeVertex lastVertex\n //\n else if (lastVertex.y > portPos.y && lastVertex.x > portPos.x - MINDIST) {\n var center = portPos.y + (lastVertex.y - portPos.y) / 2;\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, center));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, center));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, portPos.y));\n this.vertices.add(portPos);\n }\n // beforeVertex lastVertex\n // o------------>o\n // .\n // . +----------+\n // . | |\n // ....o portPos |\n // . | |\n // . +----------+\n // .\n // o----------->o\n // beforeVertex lastVertex\n //\n else {\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, portPos.y));\n this.vertices.add(portPos);\n }\n break;\n case DOWN:\n // -----------o beforeVertex\n // |\n // |\n // V\n // ................o lastVertex\n // .\n // . +----------+\n // . | |\n // ........o portPos |\n // . | |\n // . +----------+\n // .\n // . --------o beforeVertex\n // . |\n // . |\n // . V\n // .................o lastVertex\n //\n if (lastVertex.x >= portPos.x - MINDIST) {\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, lastVertex.y));\n this.vertices.add(new _packages2.default.geo.Point(portPos.x - MINDIST, portPos.y));\n this.vertices.add(portPos);\n }\n // -----o beforeVertex\n // |\n // |\n // o lastVertex\n // .\n // . +----------+\n // . | |\n // ........o portPos |\n // . | |\n // . +----------+\n // beforeVertex.\n // ------------o\n // |\n // |\n // lastVertex o\n //\n else {\n lastVertex.y = portPos.y;\n this.vertices.add(portPos);\n }\n break;\n case LEFT:\n // lastVertex beforeVertex\n // o<--------------o\n // .\n // . +----------+\n // . | |\n // ....... o portPos |\n // . | |\n // . +----------+\n // .\n // o<--------------o\n // lastVertex beforeVertex\n //\n if (lastVertex.x < portPos.x - MINDIST) {\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, portPos.y));\n this.vertices.add(portPos);\n }\n // lastVertex beforeVertex\n // .......o<-----------------------o\n // .\n // . +----------+\n // . | |\n // .....o portPos |\n // . | |\n // . +----------+\n // .\n // ........o<----------------------o\n // lastVertex beforeVertex\n //\n else {\n lastVertex.x = portPos.x - MINDIST;\n this.vertices.add(new _packages2.default.geo.Point(lastVertex.x, portPos.y));\n this.vertices.add(portPos);\n }\n break;\n }\n break;\n }\n\n if (this.vertices.getSize() > 3) {\n connection._routingMetaData.routedByUserInteraction = true;\n connection.setVertices(this.vertices);\n }\n this.vertices.clear();\n }\n }\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onMouseMove: function onMouseMove(canvas, x, y, shiftKey, ctrlKey) {\n if (this.beeline !== null) {\n this.beeline.setEndPosition(this.orthogonal(this.vertices.last(), { x: x, y: y }));\n }\n },\n\n /**\n * \n * Callback if the user press a key down\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {Number} keyCode the pressed key\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onKeyDown: function onKeyDown(canvas, keyCode, shiftKey, ctrlKey) {\n var KEYCODE_ENTER = 13;\n var KEYCODE_ESC = 27;\n if (keyCode === KEYCODE_ESC && this.beeline !== null) {\n this.beeline.hide();\n this.tempConnection.hide();\n this.beeline = null;\n this.port1 = null;\n this.vertices.clear();\n if (this.pulse != null) {\n this.pulse.remove();\n this.pulse = null;\n }\n }\n },\n\n orthogonal: function orthogonal(anchor, p) {\n // calculate vertical line distance\n //\n var xDiff = Math.abs(anchor.x - p.x) + 10;\n var xDist = _packages2.default.geo.Line.distance(anchor.x - xDiff, anchor.y, anchor.x + xDiff, anchor.y, p.x, p.y);\n\n // calculate horizontal line distance\n //\n var yDiff = Math.abs(anchor.y - p.y) + 10;\n var yDist = _packages2.default.geo.Line.distance(anchor.x, anchor.y - yDiff, anchor.x, anchor.y + yDiff, p.x, p.y);\n\n return yDist > xDist ? { x: p.x, y: anchor.y } : { x: anchor.x, y: p.y };\n },\n\n createConnection: function createConnection() {\n var connection = this._super();\n connection.attr({ radius: 7, stroke: 3 });\n connection.setRouter(new _packages2.default.layout.connection.InteractiveManhattanConnectionRouter());\n return connection;\n }\n\n});\n/**\n * @class\n *\n * The OrthogonalConnectionCreatePolicy can be installed into the canvas to override the\n * default connection crate behaviour. Normaly you can create connections by drag&drop a port.\n *\n * With this policy you can route the connection during creation.\n *\n * Creates a connection by clicking on a port.\n * <ul>\n * <li> click on the first port</li>\n * <li> click within the canvas to add additional vertices</li>\n * <li> click on the target port to draw the connection</li>\n * <li> press ESC to abort the operation (didn't work within this JSDoc)</li>\n * </ul>\n * <br>\n * <br>\n * <b>The generated connection has always perpendicular segments.</b>\n * <br>\n * <br>\n *\n *\n * @example\n *\n * // Override the default connection creation.\n * //\n * canvas.installEditPolicy( new draw2d.policy.connection.OrthogonalConnectionCreatePolicy());\n *\n * // create and add two Node which contains Ports (In and OUT)\n * //\n * var start = new draw2d.shape.node.Start({x:50, y:50});\n * var endNode = new draw2d.shape.node.End({x:200, y:70});\n *\n * // add the two nodes to the canvas\n * //\n * canvas.add( start);\n * canvas.add( endNode);\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.connection.ConnectionCreatePolicy\n */\n\n/***/ }),\n\n/***/ \"./src/policy/figure/AntSelectionFeedbackPolicy.js\":\n/*!*********************************************************!*\\\n !*** ./src/policy/figure/AntSelectionFeedbackPolicy.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Provide support for selecting and positioning a non-resizable figure.\n * Selection is indicated via rectangular handle that outlines the figure with a 1-pixel black\n * dotted line.\n *\n *\n * @example\n *\n * circle =new draw2d.shape.basic.Circle({diameter:50, x:90, y:50});\n * circle.installEditPolicy(new draw2d.policy.figure.AntSelectionFeedbackPolicy());\n * canvas.add(circle);\n *\n * canvas.add(new draw2d.shape.basic.Label({text:\"Click on the circle to see the selection feedback\"}),20,10);\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.AntSelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.AntSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.AntSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Called by the framework of the Policy should show a resize handle for the given shape\n *\n * @param {draw2d.Canvas} canvas the responsible canvas\n * @param {draw2d.Figure} figure the figure to decorate with a selection feedback\n * @param {Boolean} [isPrimarySelection]\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {\n if (figure.selectionHandles.isEmpty()) {\n var box = new _packages2.default.shape.basic.Rectangle({ bgColor: null, dasharray: \"- \", color: \"#2C70FF\" });\n box.hide = function () {\n // IMPORTANT\n // don't add/remove this rectangle to the canvas resizeHandles. This rect isn't responsible for any hitTest or\n // dragDrop operation\n //canvas.resizeHandles.remove(box);\n box.setCanvas(null);\n };\n box.show = function (canvas) {\n box.setCanvas(canvas);\n // IMPORTANT\n // don't add/remove this rectangle to the canvas resizeHandles. This rect isn't responsible for any hitTest or\n // dragDrop operation\n //canvas.resizeHandles.remove(box);\n //canvas.resizeHandles.add(box);\n box.shape.toFront();\n };\n box.show(canvas);\n figure.selectionHandles.add(box);\n\n // add a bee line to the parent if a parent is given and if the bounding box\n // of the parent and the figure didn't have intersections\n if (figure.getParent() !== null) {\n var line = new _packages2.default.shape.basic.Line({ opacity: 0.5, bgColor: null, dasharray: \"- \", color: \"#2C70FF\" });\n //line.setStartPosition(figure.getBoundingBox().getCenter());\n //line.setEndPosition(figure.getParent().getBoundingBox().getCenter());\n line.show = function (canvas) {\n return line.setCanvas(canvas);\n };\n line.hide = function () {\n return line.setCanvas(null);\n };\n line.show(canvas);\n figure.selectionHandles.add(line);\n this._updateBeeLine(line, figure);\n }\n }\n this.moved(canvas, figure);\n },\n\n /**\n *\n * Callback if the figure has been moved\n *\n * @param figure\n *\n * @template\n */\n moved: function moved(canvas, figure) {\n if (figure.selectionHandles.isEmpty()) {\n return; // silently\n }\n\n var margin = 2;\n var box = figure.selectionHandles.first();\n box.setPosition(figure.getAbsolutePosition().translate(-margin, -margin));\n box.setDimension(figure.getWidth() + margin * 2, figure.getHeight() + margin * 2);\n box.setRotationAngle(figure.getRotationAngle());\n\n if (figure.selectionHandles.getSize() > 1) {\n this._updateBeeLine(figure.selectionHandles.get(1), figure);\n }\n },\n\n /**\n *\n * @param {draw2d.shape.basic.Line} line\n * @param {draw2d.Figure} figure\n * @private\n */\n _updateBeeLine: function _updateBeeLine(line, figure) {\n var parent = figure.getParent();\n\n if (parent === null) {\n return;\n }\n\n if (parent instanceof _packages2.default.shape.basic.Line) {\n var center = figure.getBoundingBox().getCenter();\n var projection = parent.pointProjection(center);\n if (projection === null) {\n var p1 = line.getStartPosition();\n var p2 = line.getEndPosition();\n var d1 = center.distance(p1);\n var d2 = center.distance(p1);\n projection = d1 < d2 ? p1 : p2;\n }\n var intersection = figure.getBoundingBox().intersectionWithLine(center, projection);\n if (intersection.getSize() > 0) {\n line.setStartPosition(figure.getBoundingBox().intersectionWithLine(center, projection).get(0)).setEndPosition(projection);\n } else {\n line.setStartPosition(figure.getBoundingBox().getCenter()).setEndPosition(projection);\n }\n } else {\n var rect1 = figure.getBoundingBox(),\n rect2 = parent.getBoundingBox();\n\n var center1 = rect1.getCenter();\n var center2 = rect2.getCenter();\n // the rectangle overlaps -> return the center of booth\n if (rect1.intersects(rect2)) {\n line.setStartPosition(center1).setEndPosition(center2);\n }\n // one rect is inside the other rect\n //\n else if (rect1.hitTest(center2) || rect2.hitTest(center1)) {\n line.setStartPosition(center1).setEndPosition(center2);\n } else {\n rect1.scale(3, 3);\n rect2.scale(3, 3);\n\n line.setStartPosition(rect1.intersectionWithLine(center1, center2).get(0)).setEndPosition(rect2.intersectionWithLine(center1, center2).get(0));\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/BigRectangleSelectionFeedbackPolicy.js\":\n/*!******************************************************************!*\\\n !*** ./src/policy/figure/BigRectangleSelectionFeedbackPolicy.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * circle =new draw2d.shape.basic.Circle();\n * circle.installEditPolicy(new draw2d.policy.figure.BigRectangleSelectionFeedbackPolicy());\n * canvas.add(circle,90,50);\n *\n * canvas.add(new draw2d.shape.basic.Label({text:\"Click on the circle to see the selection feedback\"}),20,10);\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.BigRectangleSelectionFeedbackPolicy = _packages2.default.policy.figure.RectangleSelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.BigRectangleSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.BigRectangleSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n createResizeHandle: function createResizeHandle(owner, type) {\n return new _packages2.default.ResizeHandle({ owner: owner, type: type, width: 15, height: 15 });\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/BusSelectionFeedbackPolicy.js\":\n/*!*********************************************************!*\\\n !*** ./src/policy/figure/BusSelectionFeedbackPolicy.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.BusSelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.BusSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.BusSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Called by the framework of the Policy should show a resize handle for the given shape\n *\n * @param {Boolean} isPrimarySelection\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {\n if (figure.selectionHandles.isEmpty()) {\n var r2 = _packages2.default.Configuration.factory.createResizeHandle(figure, 2); // 2 = CENTER_TOP\n var r4 = _packages2.default.Configuration.factory.createResizeHandle(figure, 4); // 4 = RIGHT_MIDDLE\n var r6 = _packages2.default.Configuration.factory.createResizeHandle(figure, 6); // 6 = CENTER_BOTTOM\n var r8 = _packages2.default.Configuration.factory.createResizeHandle(figure, 8); // 8 = LEFT_MIDDLE\n\n figure.selectionHandles.add(r2, r4, r6, r8);\n\n r2.setDraggable(figure.isResizeable());\n r4.setDraggable(figure.isResizeable());\n r6.setDraggable(figure.isResizeable());\n r8.setDraggable(figure.isResizeable());\n\n r2.show(canvas);\n r4.show(canvas);\n r6.show(canvas);\n r8.show(canvas);\n }\n this.moved(canvas, figure);\n },\n\n /**\n * \n * Callback if the figure has been moved\n *\n * @param figure\n *\n * @template\n */\n moved: function moved(canvas, figure) {\n if (figure.selectionHandles.isEmpty()) {\n return; // silently\n }\n var r2 = figure.selectionHandles.find(function (handle) {\n return handle.type === 2;\n });\n var r4 = figure.selectionHandles.find(function (handle) {\n return handle.type === 4;\n });\n var r6 = figure.selectionHandles.find(function (handle) {\n return handle.type === 6;\n });\n var r8 = figure.selectionHandles.find(function (handle) {\n return handle.type === 8;\n });\n\n var objHeight = figure.getHeight();\n var objWidth = figure.getWidth();\n\n var xPos = figure.getX();\n var yPos = figure.getY();\n r2.setPosition(xPos + objWidth / 2 - r2.getWidth() / 2, yPos - r2.getHeight());\n r4.setPosition(xPos + objWidth, yPos + objHeight / 2 - r4.getHeight() / 2);\n r6.setPosition(xPos + objWidth / 2 - r6.getWidth() / 2, yPos + objHeight);\n r8.setPosition(xPos - r8.getWidth(), yPos + objHeight / 2 - r8.getHeight() / 2);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/DragDropEditPolicy.js\":\n/*!*************************************************!*\\\n !*** ./src/policy/figure/DragDropEditPolicy.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Called by the framework if the user edit the position of a figure with a drag drop operation.\n * Sub class like SelectionEditPolicy or RegionEditPolicy can adjust the position of the figure or the selections handles.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.FigureEditPolicy\n */\n_packages2.default.policy.figure.DragDropEditPolicy = _packages2.default.policy.figure.FigureEditPolicy.extend(\n/** @lends draw2d.policy.figure.DragDropEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.DragDropEditPolicy\",\n\n /**\n */\n init: function init(attr, setter, getter) {\n var _this = this;\n\n this._super(attr, setter, getter);\n this.moveCallback = function (emitter, event) {\n _this.moved(emitter.getCanvas(), emitter);\n };\n },\n\n /**\n *\n * Called by the host if the policy has been installed.\n *\n * @param {draw2d.Canvas|draw2d.Figure} host\n */\n onInstall: function onInstall(host) {\n this._super(host);\n host.on(\"move\", this.moveCallback);\n },\n\n /**\n *\n * Called by the host if the policy has been uninstalled.\n *\n * @param {draw2d.Canvas|draw2d.Figure} host\n */\n onUninstall: function onUninstall(host) {\n this._super(host);\n host.off(this.moveCallback);\n },\n\n /**\n *\n * Called by the framework if the related shape has init a drag&drop\n * operation\n *\n * The Policy can send a veto to prevent the DragDrop operation\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean} return <b>false</b> to send a veto to the drag operation\n */\n onDragStart: function onDragStart(canvas, figure, x, y, shiftKey, ctrlKey) {\n figure.shape.attr({ cursor: \"move\" });\n\n // this happens if you drag&drop the shape outside of the screen and\n // release the mouse button outside the window. We restore the alpha\n // with the next drag&drop operation\n if (figure.isMoving === true) {\n figure.setAlpha(figure.originalAlpha);\n }\n\n figure.originalAlpha = figure.getAlpha();\n figure.isMoving = false;\n\n // return value since 6.1.0\n return true;\n },\n\n /**\n *\n * Called by the framework during drag a figure.\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @template\n */\n onDrag: function onDrag(canvas, figure) {\n // enable the alpha blending of the first real move of the object\n //\n if (figure.isMoving === false) {\n figure.isMoving = true;\n figure.setAlpha(figure.originalAlpha * 0.4);\n }\n },\n\n /**\n *\n * Called by the framework if the drag drop operation ends.\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n */\n onDragEnd: function onDragEnd(canvas, figure, x, y, shiftKey, ctrlKey) {\n figure.shape.attr({ cursor: \"default\" });\n figure.isMoving = false;\n figure.setAlpha(figure.originalAlpha);\n },\n\n /**\n *\n * Adjust the coordinates to the rectangle/region of this constraint.\n *\n * @param {draw2d.Figure} figure\n * @param {Number|draw2d.geo.Point} x\n * @param {Number} [y]\n * @returns {draw2d.geo.Point} the constraint position of the figure\n *\n * @template\n */\n adjustPosition: function adjustPosition(figure, x, y) {\n // do nothing per default implementation\n if (x instanceof _packages2.default.geo.Point) {\n return x;\n }\n\n return new _packages2.default.geo.Point(x, y);\n },\n\n /**\n *\n * ensure that the dimension didn't goes outside the given restrictions\n *\n * @param {draw2d.Figure} figure\n * @param {Number} w\n * @param {number} h\n * @returns {draw2d.geo.Rectangle} the constraint position of the figure\n */\n adjustDimension: function adjustDimension(figure, w, h) {\n return new _packages2.default.geo.Rectangle(0, 0, w, h);\n },\n\n /**\n *\n * Callback if the figure has moved\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n *\n * @template\n */\n moved: function moved(canvas, figure) {}\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/FigureEditPolicy.js\":\n/*!***********************************************!*\\\n !*** ./src/policy/figure/FigureEditPolicy.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Called by the framework if the user edit the position of a figure with a drag drop operation.\n * Sub class like SelectionEditPolicy or RegionEditPolicy can adjust the position of the figure\n * or the selections handles.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.EditPolicy\n * @since 4.4.0\n */\n_packages2.default.policy.figure.FigureEditPolicy = _packages2.default.policy.EditPolicy.extend(\n/** @lends draw2d.policy.figure.FigureEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.FigureEditPolicy\",\n\n /**\n * Creates a new Router object\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Called if the user press the right mouse on the figure.<br>\n * You can either override the \"onContextMenu\" method of the figure or install an editor policy and override this method.\n * Booth is valid and possible.\n *\n * @param {draw2d.Figure|draw2d.shape.basic.Line} figure the figure below the mouse\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n * @since 4.4.0\n */\n onRightMouseDown: function onRightMouseDown(figure, x, y, shiftKey, ctrlKey) {}\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/GlowSelectionFeedbackPolicy.js\":\n/*!**********************************************************!*\\\n !*** ./src/policy/figure/GlowSelectionFeedbackPolicy.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * circle =new draw2d.shape.basic.Circle();\n * circle.installEditPolicy(new draw2d.policy.figure.GlowSelectionFeedbackPolicy());\n * canvas.add(circle,90,50);\n *\n * canvas.add(new draw2d.shape.basic.Label(\"Click on the circle to see the selection feedback\"),20,10);\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.GlowSelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.GlowSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.GlowSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Called by the framework of the Policy should show a resize handle for the given shape\n *\n * @param {Boolean} isPrimarySelection\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {\n figure.setGlow(true);\n this.moved(canvas, figure);\n },\n\n /**\n * \n *\n * @param {draw2d.Figure} figure the unselected figure\n */\n onUnselect: function onUnselect(canvas, figure) {\n this._super(canvas, figure);\n figure.setGlow(false);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/HBusSelectionFeedbackPolicy.js\":\n/*!**********************************************************!*\\\n !*** ./src/policy/figure/HBusSelectionFeedbackPolicy.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.policy.figure.HBusSelectionFeedbackPolicy = _packages2.default.policy.figure.BusSelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.HBusSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.HBusSelectionFeedbackPolicy\",\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Callback if the figure has been moved\n *\n * @param figure\n *\n * @template\n */\n moved: function moved(canvas, figure) {\n if (figure.selectionHandles.isEmpty()) {\n return; // silently\n }\n var r4 = figure.selectionHandles.find(function (handle) {\n return handle.type === 4;\n });\n var r8 = figure.selectionHandles.find(function (handle) {\n return handle.type === 8;\n });\n\n r4.setDimension(r4.getWidth(), figure.getHeight());\n r8.setDimension(r4.getWidth(), figure.getHeight());\n\n this._super(canvas, figure);\n }\n\n});\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.BusSelectionFeedbackPolicy\n */\n\n/***/ }),\n\n/***/ \"./src/policy/figure/HorizontalEditPolicy.js\":\n/*!***************************************************!*\\\n !*** ./src/policy/figure/HorizontalEditPolicy.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * An EditPolicy for use with Figures. With this edit policy you can move the shape only in a horizontal manner.\n *\n *\n * @example\n * // add some demo figure to the canvas\n * var circle =new draw2d.shape.basic.Circle({diameter:50, x:10, y:30});\n * canvas.add(circle);\n *\n * // add the edit policy to the shape. At this point you can move the shape only\n * // horizontal\n * circle.installEditPolicy(new draw2d.policy.figure.HorizontalEditPolicy());\n *\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.figure.DragDropEditPolicy\n */\n_packages2.default.policy.figure.HorizontalEditPolicy = _packages2.default.policy.figure.DragDropEditPolicy.extend(\n/** @lends draw2d.policy.figure.HorizontalEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.HorizontalEditPolicy\",\n\n /**\n * Creates a new constraint object\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * It is only possible to drag&drop the element in a horizontal line\n *\n * @param figure\n * @param {Number|draw2d.geo.Point} x\n * @param {number} [y]\n *\n * @returns {draw2d.geo.Point} the constraint position of the figure\n */\n adjustPosition: function adjustPosition(figure, x, y) {\n return new _packages2.default.geo.Point(x, figure.getY());\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/RectangleSelectionFeedbackPolicy.js\":\n/*!***************************************************************!*\\\n !*** ./src/policy/figure/RectangleSelectionFeedbackPolicy.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A SelectionFeedbackPolicy with resize handles (rectangles) on each side and corner of the shape\n *\n *\n * @example\n *\n * circle =new draw2d.shape.basic.Circle({diameter:50});\n * circle.installEditPolicy(new draw2d.policy.RectangleSelectionFeedbackPolicy());\n * canvas.add(circle,90,50);\n *\n * canvas.add(new draw2d.shape.basic.Label({text:\"Click on the circle to see the selection feedback\"}),20,10);\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.RectangleSelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.RectangleSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.RectangleSelectionFeedbackPolicy\",\n /**\n * Creates a selection feedback for a shape.\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * @inheritdoc\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {\n if (figure.selectionHandles.isEmpty()) {\n // Add a dotted line rectangle to the figure. Override the show/hide method of the standard\n // figure to avoid adding these element to the hit test of the canvas. In this case the element\n // is just visible but not part of the model or responsible for any drag/drop operation\n // #2C70FF #2096fc\n var box = new _packages2.default.shape.basic.Rectangle({ bgColor: null, dashArray: \"- \", color: \"#2C70FF\", stroke: 0.5 });\n box.hide = function () {\n // IMPORTANT\n // don't add/remove this rectangle to the canvas resizeHandles. This rect isn't responsible for any hitTest or\n // dragDrop operation\n //canvas.resizeHandles.remove(box);\n box.setCanvas(null);\n };\n box.show = function (canvas) {\n box.setCanvas(canvas);\n // IMPORTANT\n // don't add/remove this rectangle to the canvas resizeHandles. This rect isn't responsible for any hitTest or\n // dragDrop operation\n //canvas.resizeHandles.remove(box);\n //canvas.resizeHandles.add(box);\n box.toFront(figure);\n };\n\n // create standard Resize handles for the figure\n //\n var r1 = this.createResizeHandle(figure, 1); // 1 = LEFT TOP\n var r3 = this.createResizeHandle(figure, 3); // 3 = RIGHT_TOP\n var r5 = this.createResizeHandle(figure, 5); // 5 = RIGHT_BOTTOM\n var r7 = this.createResizeHandle(figure, 7); // 7 = LEFT_BOTTOM\n figure.selectionHandles.add(r1, r3, r5, r7);\n r1.show(canvas);\n r3.show(canvas);\n r5.show(canvas);\n r7.show(canvas);\n\n // change the look&feel of the corner resizehandles if the\n // figure isn't resizeable\n //\n if (figure.isResizeable() === false) {\n var attr = { bgColor: null, draggable: false };\n r1.attr(attr);\n r3.attr(attr);\n r5.attr(attr);\n r7.attr(attr);\n r1.setDraggable(false);\n r3.setDraggable(false);\n r5.setDraggable(false);\n r7.setDraggable(false);\n }\n\n // show only the additional resizehandles if the figure is resizeable and didn't care about\n // the aspect ration\n //\n if (!figure.getKeepAspectRatio() && figure.isResizeable()) {\n var r2 = this.createResizeHandle(figure, 2); // 2 = CENTER_TOP\n var r4 = this.createResizeHandle(figure, 4); // 4 = RIGHT_MIDDLE\n var r6 = this.createResizeHandle(figure, 6); // 6 = CENTER_BOTTOM\n var r8 = this.createResizeHandle(figure, 8); // 8 = LEFT_MIDDLE\n figure.selectionHandles.add(r2, r4, r6, r8);\n r2.show(canvas);\n r4.show(canvas);\n r6.show(canvas);\n r8.show(canvas);\n }\n\n // add the reference of the \"ant box\" to the figure as well. But wee add them\n // to the end of the array because inherit classes expect the resizehandles\n // on index 0-7.\n //\n figure.selectionHandles.add(box);\n\n // call the box.show() at last to ensure that the resize handles are above the\n // rectangle. The rectangle did a toFront(parentShape);\n box.show(canvas);\n }\n this.moved(canvas, figure);\n },\n\n /**\n * \n * Callback if the figure has been moved. In this case we must update the position of the\n * resize handles and the \"ant\" box.\n *\n * @param figure\n *\n * @template\n */\n moved: function moved(canvas, figure) {\n\n if (figure.selectionHandles.isEmpty()) {\n return; // silently\n }\n\n var margin = 3 * canvas.getZoom();\n var objHeight = figure.getHeight();\n var objWidth = figure.getWidth();\n var xPos = figure.getAbsoluteX();\n var yPos = figure.getAbsoluteY();\n\n var r1 = figure.selectionHandles.find(function (handle) {\n return handle.type === 1;\n });\n var r3 = figure.selectionHandles.find(function (handle) {\n return handle.type === 3;\n });\n var r5 = figure.selectionHandles.find(function (handle) {\n return handle.type === 5;\n });\n var r7 = figure.selectionHandles.find(function (handle) {\n return handle.type === 7;\n });\n\n r1.setPosition(xPos - r1.getWidth(), yPos - r1.getHeight());\n r3.setPosition(xPos + objWidth, yPos - r3.getHeight());\n r5.setPosition(xPos + objWidth, yPos + objHeight);\n r7.setPosition(xPos - r7.getWidth(), yPos + objHeight);\n\n if (!figure.getKeepAspectRatio() && figure.isResizeable()) {\n var r2 = figure.selectionHandles.find(function (handle) {\n return handle.type === 2;\n });\n var r4 = figure.selectionHandles.find(function (handle) {\n return handle.type === 4;\n });\n var r6 = figure.selectionHandles.find(function (handle) {\n return handle.type === 6;\n });\n var r8 = figure.selectionHandles.find(function (handle) {\n return handle.type === 8;\n });\n\n r2.setPosition(xPos + objWidth / 2 - r2.getWidth() / 2, yPos - r2.getHeight());\n r4.setPosition(xPos + objWidth, yPos + objHeight / 2 - r4.getHeight() / 2);\n r6.setPosition(xPos + objWidth / 2 - r6.getWidth() / 2, yPos + objHeight);\n r8.setPosition(xPos - r8.getWidth(), yPos + objHeight / 2 - r8.getHeight() / 2);\n }\n var box = figure.selectionHandles.last();\n box.attr({\n x: xPos - margin,\n y: yPos - margin,\n width: objWidth + margin * 2,\n height: objHeight + margin * 2,\n stroke: canvas.getZoom()\n });\n\n box.setRotationAngle(figure.getRotationAngle());\n },\n\n createResizeHandle: function createResizeHandle(owner, type) {\n return new _packages2.default.ResizeHandle({ owner: owner, type: type, width: 10, height: 10 });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/RegionEditPolicy.js\":\n/*!***********************************************!*\\\n !*** ./src/policy/figure/RegionEditPolicy.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * An EditPolicy for use with Figures. The constraint for RegionEditPolicy is a Rectangle. It is\n * not possible to move the related figure outside this constrained area.\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.figure.DragDropEditPolicy\n */\n_packages2.default.policy.figure.RegionEditPolicy = _packages2.default.policy.figure.DragDropEditPolicy.extend(\n/** @lends draw2d.policy.figure.RegionEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.RegionEditPolicy\",\n\n /**\n * Creates a new constraint object\n *\n * @param {Number|draw2d.geo.Rectangle} x x coordinate or a rectangle as constraint for the assigned figure.\n * @param {Number} y\n * @param {Number} w\n * @param {Number} h\n */\n init: function init(x, y, w, h) {\n this._super();\n if (x instanceof _packages2.default.geo.Rectangle) {\n this.constRect = x;\n } else if (typeof h === \"number\") {\n this.constRect = new _packages2.default.geo.Rectangle(x, y, w, h);\n } else {\n throw \"Invalid parameter. RegionEditPolicy need a rectangle as parameter in the constructor\";\n }\n },\n\n /**\n *\n * Update the constraint bounding box for the policy.\n *\n * @param {draw2d.geo.Rectangle} boundingBox the constraint rectangle\n * @since 4.8.2\n * @returns {this}\n */\n setBoundingBox: function setBoundingBox(boundingBox) {\n this.constRect = boundingBox;\n\n return this;\n },\n\n /**\n *\n * Returns the constraint bounding box for the policy.\n *\n * @returns {draw2d.geo.Rectangle}\n */\n getBoundingBox: function getBoundingBox() {\n return this.constRect;\n },\n\n /**\n *\n * Adjust the coordinates to the rectangle/region of this constraint.\n *\n * @param {draw2d.Figure} figure\n * @param {Number|draw2d.geo.Point} x\n * @param {Number} [y]\n *\n * @returns {draw2d.geo.Point} the constraint position of the figure\n */\n adjustPosition: function adjustPosition(figure, x, y) {\n var r = null;\n if (x instanceof _packages2.default.geo.Point) {\n r = new _packages2.default.geo.Rectangle(x.x, x.y, figure.getWidth(), figure.getHeight());\n } else {\n r = new _packages2.default.geo.Rectangle(x, y, figure.getWidth(), figure.getHeight());\n }\n r = this.constRect.moveInside(r);\n return r.getTopLeft();\n },\n\n /**\n *\n * Adjust the dimension of the rectangle to fit into the region of the policy\n *\n * @param {draw2d.Figure} figure\n * @param {Number} w\n * @param {Number} h\n * @returns {draw2d.geo.Rectangle} the constraint position of the figure\n */\n adjustDimension: function adjustDimension(figure, w, h) {\n var diffW = figure.getAbsoluteX() + w - this.constRect.getRight();\n var diffH = figure.getAbsoluteY() + h - this.constRect.getBottom();\n\n if (diffW > 0) {\n w = w - diffW;\n }\n if (diffH > 0) {\n h = h - diffH;\n }\n\n return new _packages2.default.geo.Rectangle(0, 0, w, h);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/ResizeSelectionFeedbackPolicy.js\":\n/*!************************************************************!*\\\n !*** ./src/policy/figure/ResizeSelectionFeedbackPolicy.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Selection feedback policy without \"marching ant lines\" or any other rectangle highlight. Just\n * some resize handles at each corner of the shape.\n *\n *\n * @example\n * circle =new draw2d.shape.basic.Circle();\n * circle.installEditPolicy(new draw2d.policy.ResizeSelectionFeedbackPolicy());\n * canvas.add(circle,90,50);\n *\n * canvas.add(new draw2d.shape.basic.Label({text:\"Click on the circle to see the selection feedback\"}),20,10);\n *\n * @author Andreas Herz\n * @since 4.0.0\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n *\n */\n_packages2.default.policy.figure.ResizeSelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.ResizeSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.ResizeSelectionFeedbackPolicy\",\n /**\n * Creates a new Router object\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Called by the framework of the Policy should show a resize handle for the given shape\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the selected figure\n * @param {Boolean} [isPrimarySelection]\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {\n\n if (figure.selectionHandles.isEmpty()) {\n // create standard Resize handles for the figure\n //\n var r1 = _packages2.default.Configuration.factory.createResizeHandle(figure, 1); // 1 = LEFT TOP\n var r3 = _packages2.default.Configuration.factory.createResizeHandle(figure, 3); // 3 = RIGHT_TOP\n var r5 = _packages2.default.Configuration.factory.createResizeHandle(figure, 5); // 5 = RIGHT_BOTTOM\n var r7 = _packages2.default.Configuration.factory.createResizeHandle(figure, 7); // 7 = LEFT_BOTTOM\n figure.selectionHandles.add(r1, r3, r5, r7);\n r1.show(canvas);\n r3.show(canvas);\n r5.show(canvas);\n r7.show(canvas);\n\n // The corner ResizeHandles are only draggable fi the figure is\n // resizeable. But the Resize handles are visible\n //\n\n // change the look&feel of the corner resizehandles if the\n // figure isn't resizeable\n //\n if (figure.isResizeable() === false) {\n r1.setBackgroundColor(null);\n r3.setBackgroundColor(null);\n r5.setBackgroundColor(null);\n r7.setBackgroundColor(null);\n r1.setDraggable(false);\n r3.setDraggable(false);\n r5.setDraggable(false);\n r7.setDraggable(false);\n }\n\n // show only the additional resizehandles if the figure is resizeable\n //\n if (!figure.getKeepAspectRatio() && figure.isResizeable()) {\n var r2 = _packages2.default.Configuration.factory.createResizeHandle(figure, 2); // 2 = CENTER_TOP\n var r4 = _packages2.default.Configuration.factory.createResizeHandle(figure, 4); // 4 = RIGHT_MIDDLE\n var r6 = _packages2.default.Configuration.factory.createResizeHandle(figure, 6); // 6 = CENTER_BOTTOM\n var r8 = _packages2.default.Configuration.factory.createResizeHandle(figure, 8); // 8 = LEFT_MIDDLE\n figure.selectionHandles.add(r2, r4, r6, r8);\n r2.show(canvas);\n r4.show(canvas);\n r6.show(canvas);\n r8.show(canvas);\n }\n }\n this.moved(canvas, figure);\n },\n\n /**\n *\n * Callback if the figure has been moved. In this case we must update the position of the\n * resize handles.\n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Figure} figure the moved figure\n *\n */\n moved: function moved(canvas, figure) {\n if (figure.selectionHandles.isEmpty()) {\n return; // silently\n }\n\n var objHeight = figure.getHeight();\n var objWidth = figure.getWidth();\n var xPos = figure.getX();\n var yPos = figure.getY();\n\n var r1 = figure.selectionHandles.find(function (handle) {\n return handle.type === 1;\n });\n var r3 = figure.selectionHandles.find(function (handle) {\n return handle.type === 3;\n });\n var r5 = figure.selectionHandles.find(function (handle) {\n return handle.type === 5;\n });\n var r7 = figure.selectionHandles.find(function (handle) {\n return handle.type === 7;\n });\n r1.setPosition(xPos - r1.getWidth(), yPos - r1.getHeight());\n r3.setPosition(xPos + objWidth, yPos - r3.getHeight());\n r5.setPosition(xPos + objWidth, yPos + objHeight);\n r7.setPosition(xPos - r7.getWidth(), yPos + objHeight);\n\n if (!figure.getKeepAspectRatio()) {\n var r2 = figure.selectionHandles.find(function (handle) {\n return handle.type === 2;\n });\n var r4 = figure.selectionHandles.find(function (handle) {\n return handle.type === 4;\n });\n var r6 = figure.selectionHandles.find(function (handle) {\n return handle.type === 6;\n });\n var r8 = figure.selectionHandles.find(function (handle) {\n return handle.type === 8;\n });\n\n r2.setPosition(xPos + objWidth / 2 - r2.getWidth() / 2, yPos - r2.getHeight());\n r4.setPosition(xPos + objWidth, yPos + objHeight / 2 - r4.getHeight() / 2);\n r6.setPosition(xPos + objWidth / 2 - r6.getWidth() / 2, yPos + objHeight);\n r8.setPosition(xPos - r8.getWidth(), yPos + objHeight / 2 - r8.getHeight() / 2);\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/RoundRectangleSelectionFeedbackPolicy.js\":\n/*!********************************************************************!*\\\n !*** ./src/policy/figure/RoundRectangleSelectionFeedbackPolicy.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n * circle =new draw2d.shape.basic.Circle();\n * circle.installEditPolicy(new draw2d.policy.RoundRectangleSelectionFeedbackPolicy());\n * canvas.add(circle,90,50);\n *\n * canvas.add(new draw2d.shape.basic.Label({text:\"Click on the circle to see the selection feedback\"}),20,10);\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.RectangleSelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.RoundRectangleSelectionFeedbackPolicy = _packages2.default.policy.figure.RectangleSelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.RoundRectangleSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.RoundRectangleSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n createResizeHandle: function createResizeHandle(owner, type) {\n return new _packages2.default.ResizeHandle({ owner: owner, type: type, width: 12, height: 12, radius: 4 });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/SelectionFeedbackPolicy.js\":\n/*!******************************************************!*\\\n !*** ./src/policy/figure/SelectionFeedbackPolicy.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A {@link draw2d.policy.SelectionFeedbackPolicy} that is sensitive to the canvas selection. Subclasses will typically\n * decorate the {@link draw2d.Figure figure} with things like selection handles and/or focus feedback.\n * <br>\n * If you want to change the handle visibility for a figure, then you should use SelectionFeedbackPolicy to do that.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.DragDropEditPolicy\n */\n_packages2.default.policy.figure.SelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionPolicy.extend(\n/** @lends draw2d.policy.figure.SelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.SelectionFeedbackPolicy\",\n\n /**\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n *\n * @param {draw2d.Figure} figure the unselected figure\n */\n onUnselect: function onUnselect(canvas, figure) {\n this._super(canvas, figure);\n\n figure.selectionHandles.each(function (i, e) {\n return e.hide();\n });\n figure.selectionHandles = new _packages2.default.util.ArrayList();\n },\n\n /**\n * \n * Called by the host if the policy has been installed.\n *\n * @param {draw2d.Figure} figure\n */\n onInstall: function onInstall(figure) {\n this._super(figure);\n\n var canvas = figure.getCanvas();\n if (canvas !== null) {\n if (canvas.getSelection().contains(figure)) {\n this.onSelect(canvas, figure, true);\n }\n }\n },\n\n /**\n * \n * Called by the host if the policy has been uninstalled.\n *\n * @param {draw2d.Figure} figure\n */\n onUninstall: function onUninstall(figure) {\n this._super(figure);\n\n figure.selectionHandles.each(function (i, e) {\n return e.hide();\n });\n figure.selectionHandles = new _packages2.default.util.ArrayList();\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/SelectionPolicy.js\":\n/*!**********************************************!*\\\n !*** ./src/policy/figure/SelectionPolicy.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A {@link draw2d.policy.SelectionFeedbackPolicy} that is sensitive to the canvas selection. Subclasses will typically\n * decorate the {@link draw2d.Figure figure} with things like selection handles and/or focus feedback.\n * <br>\n * If you want to change the handle visibility for a figure, then you should use SelectionFeedbackPolicy to do that.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.DragDropEditPolicy\n */\n_packages2.default.policy.figure.SelectionPolicy = _packages2.default.policy.figure.DragDropEditPolicy.extend(\n/** @lends draw2d.policy.figure.SelectionPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.SelectionPolicy\",\n\n /**\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n *\n * @template\n * @param figure\n * @param isPrimarySelection\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {},\n\n /**\n *\n *\n * @param {draw2d.Figure} figure the unselected figure\n */\n onUnselect: function onUnselect(canvas, figure) {}\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/SlimSelectionFeedbackPolicy.js\":\n/*!**********************************************************!*\\\n !*** ./src/policy/figure/SlimSelectionFeedbackPolicy.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Add only very small resize handles to the figure.\n *\n *\n *\n * @example\n * circle =new draw2d.shape.basic.Circle();\n * circle.installEditPolicy(new draw2d.policy.SlimSelectionFeedbackPolicy());\n * canvas.add(circle,90,50);\n *\n * canvas.add(new draw2d.shape.basic.Label({text:\"Click on the circle to see the selection feedback\"}),20,10);\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.RectangleSelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.SlimSelectionFeedbackPolicy = _packages2.default.policy.figure.RectangleSelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.SlimSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.SlimSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n createResizeHandle: function createResizeHandle(owner, type) {\n return new _packages2.default.ResizeHandle({ owner: owner, type: type, width: 6, height: 6, radius: 0 });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/VBusSelectionFeedbackPolicy.js\":\n/*!**********************************************************!*\\\n !*** ./src/policy/figure/VBusSelectionFeedbackPolicy.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.policy.figure.VBusSelectionFeedbackPolicy = _packages2.default.policy.figure.BusSelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.VBusSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.VBusSelectionFeedbackPolicy\",\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Callback if the figure has been moved\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n *\n **/\n moved: function moved(canvas, figure) {\n if (figure.selectionHandles.isEmpty()) {\n return; // silently\n }\n\n var r2 = figure.selectionHandles.find(function (handle) {\n return handle.type === 2;\n });\n var r6 = figure.selectionHandles.find(function (handle) {\n return handle.type === 6;\n });\n\n var objWidth = figure.getWidth();\n // adjust the resize handles on the left/right to the new dimension of the shape\n //\n r2.setDimension(objWidth, r2.getHeight());\n r6.setDimension(objWidth, r6.getHeight());\n\n this._super(canvas, figure);\n }\n\n});\n/**\n * @class\n *\n * Selection feedback policy for vertical bus figures.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.BusSelectionFeedbackPolicy\n */\n\n/***/ }),\n\n/***/ \"./src/policy/figure/VertexSelectionFeedbackPolicy.js\":\n/*!************************************************************!*\\\n !*** ./src/policy/figure/VertexSelectionFeedbackPolicy.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Called by the framework if the user edit the position of a figure with a drag drop operation.\n * Sub class like SelectionEditPolicy or RegionEditPolicy cam adjust th e position of the figure or the selections handles.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.VertexSelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.VertexSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.VertexSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Connection} connection the selected figure\n * @param {Boolean} isPrimarySelection\n */\n onSelect: function onSelect(canvas, connection, isPrimarySelection) {\n // \tthis._super(canvas, connection, isPrimarySelection);\n\n var points = connection.getVertices();\n for (var i = 0; i < points.getSize(); i++) {\n var handle = new _packages2.default.shape.basic.VertexResizeHandle(connection, i);\n connection.selectionHandles.add(handle);\n handle.setDraggable(connection.isResizeable());\n handle.show(canvas);\n\n if (i !== 0) {\n var _handle = new _packages2.default.shape.basic.GhostVertexResizeHandle(connection, i - 1);\n connection.selectionHandles.add(_handle);\n _handle.setDraggable(connection.isResizeable());\n _handle.show(canvas);\n }\n }\n\n this.moved(canvas, connection);\n },\n\n /**\n *\n * Callback method if the figure has been moved.\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n */\n moved: function moved(canvas, figure) {\n figure.selectionHandles.each(function (i, e) {\n return e.relocate();\n });\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/figure/VerticalEditPolicy.js\":\n/*!*************************************************!*\\\n !*** ./src/policy/figure/VerticalEditPolicy.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.policy.figure.VerticalEditPolicy = _packages2.default.policy.figure.DragDropEditPolicy.extend(\n/** @lends draw2d.policy.figure.VerticalEditPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.VerticalEditPolicy\",\n\n /**\n * Creates a new constraint object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * It is only possible to drag&drop the element in a vertical line\n *\n * @param {draw2d.Figure} figure\n * @param {Number|draw2d.geo.Point} x\n * @param {number} [y]\n * @returns {draw2d.geo.Point} the constraint position of the figure\n */\n adjustPosition: function adjustPosition(figure, x, y) {\n return new _packages2.default.geo.Point(figure.getX(), y);\n }\n\n});\n/**\n * @class\n *\n * An EditPolicy for use with Figures. With this edit policy you can move the shape only in a vertical manner.\n *\n *\n * @example\n * // add some demo figure to the canvas\n * var circle =new draw2d.shape.basic.Circle({diameter:50, x:10, y:30});\n * canvas.add(circle);\n *\n * // add the edit policy to the shape. At this point you can move the shape only\n * // horizontal\n * circle.installEditPolicy(new draw2d.policy.figure.VerticalEditPolicy());\n *\n *\n * @author Andreas Herz\n *\n * @extends draw2d.policy.figure.DragDropEditPolicy\n */\n\n/***/ }),\n\n/***/ \"./src/policy/figure/WidthSelectionFeedbackPolicy.js\":\n/*!***********************************************************!*\\\n !*** ./src/policy/figure/WidthSelectionFeedbackPolicy.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * This selection shows only selection handles for the width. It is only possible to change the width\n * of an shaped. The height stays always the same or is recalculated by the figure itself.\n *\n * @example\n * // add some demo figure to the canvas\n * //\n * let shape =new draw2d.shape.basic.Rectangle({width:50, height:100, x:10, y:30});\n * canvas.add(shape);\n *\n * // At this point you can only change the width of the shape\n * //\n * shape.installEditPolicy(new draw2d.policy.figure.WidthSelectionFeedbackPolicy());\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n */\n_packages2.default.policy.figure.WidthSelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.figure.BusSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.figure.BusSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Called by the framework of the Policy should show a resize handle for the given shape\n *\n * @param {draw2d.Canvas} canvas the host of the diagram\n * @param {draw2d.Figure} figure the figure to select\n * @param {Boolean} isPrimarySelection\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {\n if (figure.selectionHandles.isEmpty()) {\n var r4 = new _packages2.default.ResizeHandle({ owner: figure, type: 4 }); // 4 = RIGHT_MIDDLE\n var r8 = new _packages2.default.ResizeHandle({ owner: figure, type: 8 }); // 8 = LEFT_MIDDLE\n\n r4.installEditPolicy(new _packages2.default.policy.figure.HorizontalEditPolicy());\n r8.installEditPolicy(new _packages2.default.policy.figure.HorizontalEditPolicy());\n figure.selectionHandles.add(r4, r8);\n\n r4.setDraggable(figure.isResizeable());\n r8.setDraggable(figure.isResizeable());\n\n r4.show(canvas);\n r8.show(canvas);\n }\n this.moved(canvas, figure);\n },\n\n /**\n *\n * Callback if the figure has been moved\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n *\n * @template\n */\n moved: function moved(canvas, figure) {\n if (figure.selectionHandles.isEmpty()) {\n return; // silently\n }\n var r4 = figure.selectionHandles.find(function (handle) {\n return handle.type === 4;\n });\n var r8 = figure.selectionHandles.find(function (handle) {\n return handle.type === 8;\n });\n\n var objWidth = figure.getWidth();\n\n var xPos = figure.getX();\n var yPos = figure.getY();\n r4.setDimension(r4.getWidth(), figure.getHeight());\n r8.setDimension(r8.getWidth(), figure.getHeight());\n r4.setPosition(xPos + objWidth, yPos);\n r8.setPosition(xPos - r8.getWidth(), yPos);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/line/LineSelectionFeedbackPolicy.js\":\n/*!********************************************************!*\\\n !*** ./src/policy/line/LineSelectionFeedbackPolicy.js ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.SelectionFeedbackPolicy\n */\n_packages2.default.policy.line.LineSelectionFeedbackPolicy = _packages2.default.policy.figure.SelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.line.LineSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.line.LineSelectionFeedbackPolicy\",\n\n /**\n * Creates a new selection feedback policy for a line or connection\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Called by the framework of the Policy should show a resize handle for the given shape\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @param {Boolean} [isPrimarySelection]\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {\n if (figure.selectionHandles.isEmpty()) {\n figure.selectionHandles.add(new _packages2.default.shape.basic.LineStartResizeHandle(figure));\n figure.selectionHandles.add(new _packages2.default.shape.basic.LineEndResizeHandle(figure));\n\n figure.selectionHandles.each(function (i, e) {\n e.setDraggable(figure.isResizeable());\n e.show(canvas);\n });\n }\n this.moved(canvas, figure);\n },\n\n /**\n * \n * Callback method if the figure has been moved.\n *\n * @template\n */\n moved: function moved(canvas, figure) {\n figure.selectionHandles.each(function (i, e) {\n return e.relocate();\n });\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/line/OrthogonalSelectionFeedbackPolicy.js\":\n/*!**************************************************************!*\\\n !*** ./src/policy/line/OrthogonalSelectionFeedbackPolicy.js ***!\n \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _jquery = __webpack_require__(/*! lib/jquery.contextmenu */ \"./src/lib/jquery.contextmenu.js\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _contextmenu = __webpack_require__(/*! css/contextmenu.css */ \"./src/css/contextmenu.css\");\n\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Feedback and edit policy for the InteractiveManhattanRouter.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.line.LineSelectionFeedbackPolicy\n */\n// do not delete them\n_packages2.default.policy.line.OrthogonalSelectionFeedbackPolicy = _packages2.default.policy.line.LineSelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.line.OrthogonalSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.line.OrthogonalSelectionFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n // The ResizeHandle for the Policy. This is inline to avoid that a user want to use them without\n // the right installed policy.\n //\n this.ResizeHandle = _packages2.default.ResizeHandle.extend(\n /** @lends draw2d.policy.line.OrthogonalSelectionFeedbackPolicy.ResizeHandle.prototype */\n {\n\n NAME: \"draw2d.policy.line.OrthogonalSelectionFeedbackPolicy.ResizeHandle\",\n\n init: function init(owner, index) {\n this._super({ owner: owner });\n this.index = index;\n },\n\n /**\n * \n * Called if a drag&drop operation starts.<br>\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @private\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n this._super(x, y, shiftKey, ctrlKey);\n this.command = this.getCanvas().getPrimarySelection().createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.MOVE_VERTICES));\n\n // Vertex is a reference and not a copy of the point\n this.vertex = this.owner.getVertex(this.index).clone();\n },\n\n /**\n * \n * Called from the framework during a drag&drop operation of the ResizeHandles\n *\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n *\n * @returns {Boolean}\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n if (this.command == null) {\n return false;\n }\n\n var MINDIST = this.owner.getRouter().MINDIST || 10;\n\n var fromDir = this.owner.getSource().getConnectionDirection(this.owner.getTarget());\n var toDir = this.owner.getTarget().getConnectionDirection(this.owner.getSource());\n\n this.vertex.translate(dx2, dy2);\n\n var vertices = this.owner.getVertices();\n var count = vertices.getSize();\n //shortcut for math operations\n var max = Math.max;\n var min = Math.min;\n\n // Keep in mind: \"p1\" is always the dragged handle in the coding below\n // marked with an '*' in the diagram\n //\n\n // FIRST handle of the connection\n //\n if (this.index === 1) {\n var p0 = vertices.get(this.index - 1); // first vertex of the connection\n var p1 = vertices.get(this.index); // dragged vertex\n var p2 = vertices.get(this.index + 1); // additional neighbor\n\n // vertex alignment to handle:\n //\n // p0 +-----* p1 p1 *------+ p0\n // | |\n // | |\n // + p2 p2 +\n if (p1.x === p2.x && p0.y === p1.y) {\n switch (fromDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n // p0 is on the left of p1\n //\n this.owner.setVertex(1, max(p0.x + MINDIST, this.vertex.x), p1.y); // p1\n this.owner.setVertex(2, max(p0.x + MINDIST, this.vertex.x), p2.y); // p2\n break;\n // p0 is on the right of p2\n //\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n this.owner.setVertex(1, min(p0.x - MINDIST, this.vertex.x), p1.y); // p1\n this.owner.setVertex(2, min(p0.x - MINDIST, this.vertex.x), p2.y); // p2\n break;\n }\n }\n\n // vertices alignment to handle:\n //\n // p0 + p1 *--------+ p2\n // | |\n // | |\n // p1 *-----+ p2 p0 +\n else {\n switch (fromDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n // p0 is below of p1\n //\n this.owner.setVertex(1, p1.x, min(p0.y - MINDIST, this.vertex.y)); // p1\n this.owner.setVertex(2, p2.x, min(p0.y - MINDIST, this.vertex.y)); // p2\n break;\n // p0 is above of p2\n //\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n this.owner.setVertex(1, p1.x, max(p0.y + MINDIST, this.vertex.y)); // p1\n this.owner.setVertex(2, p2.x, max(p0.y + MINDIST, this.vertex.y)); // p2\n break;\n }\n }\n }\n\n // LAST handle: Only the left hand side sibling can be changed\n //\n else if (this.index === count - 2) {\n var _p = vertices.get(this.index - 1); // neighbor of the dragged vertex\n var _p2 = vertices.get(this.index); // dragged vertex\n var _p3 = vertices.get(this.index + 1); // last vertex of the connection\n\n // vertices with this alignment.\n //\n // p2 +-----* p1 + p0\n // | |\n // | |\n // + p0 p2 +--------* p1\n if (_p3.x === _p2.x && _p.y === _p2.y) {\n switch (toDir) {\n // p0 is below of p1\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n this.owner.setVertex(count - 2, _p2.x, min(_p3.y - MINDIST, this.vertex.y)); // p1\n this.owner.setVertex(count - 3, _p.x, min(_p3.y - MINDIST, this.vertex.y)); // p2\n break;\n // p0 is above p2\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n this.owner.setVertex(count - 2, _p2.x, max(_p3.y + MINDIST, this.vertex.y)); // p1\n this.owner.setVertex(count - 3, _p.x, max(_p3.y + MINDIST, this.vertex.y)); // p2\n break;\n }\n }\n\n // vertices with this alignment.\n //\n // p2 + p0 +--------* p1\n // | |\n // | |\n // p1 *-----+ p0 p2 +\n else {\n switch (toDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n // p0 is on the left of p1\n //\n this.owner.setVertex(count - 2, max(_p3.x + MINDIST, this.vertex.x), _p2.y); // p1\n this.owner.setVertex(count - 3, max(_p3.x + MINDIST, this.vertex.x), _p.y); // p2\n break;\n // p0 is on the right of p2\n //\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n this.owner.setVertex(count - 2, min(_p3.x - MINDIST, this.vertex.x), _p2.y); // p1\n this.owner.setVertex(count - 3, min(_p3.x - MINDIST, this.vertex.x), _p.y); // p2\n break;\n }\n }\n }\n // The resize handle is in the middle of the connection.\n // -> In this case the connection MUST HAVE at least 5 vertices\n //\n else {\n var p_m1 = vertices.get(this.index - 2);\n var _p4 = vertices.get(this.index - 1);\n var _p5 = vertices.get(this.index); // selected DragHandle\n var _p6 = vertices.get(this.index + 1);\n var p3 = vertices.get(this.index + 2);\n\n // vertices alignment to handle\n //\n // . .\n // . .\n // p1 *------->+ p0 p0 +<---------* p1\n // | . . |\n // | . . |\n // p2 | | p2\n // ...+... ......+.....\n //\n if (_p5.x === _p6.x && _p5.y === _p4.y) {\n // Exception handling if the dragged handle (p1) is near by the start of the connection\n // p_m1 is the start of the connection\n // p0 must be the immediate neighbor of p_m1\n //\n if (this.index - 2 === 0) {\n switch (fromDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n this.owner.setVertex(this.index - 1, _p4.x, max(this.vertex.y, p_m1.y - MINDIST)); // p0\n this.owner.setVertex(this.index, this.vertex.x, max(this.vertex.y, p_m1.y - MINDIST)); // p1\n this.owner.setVertex(this.index + 1, this.vertex.x, _p6.y); // p2\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n this.owner.setVertex(this.index - 1, _p4.x, min(this.vertex.y, p_m1.y + MINDIST)); // p0\n this.owner.setVertex(this.index, this.vertex.x, this.vertex.y); // p1\n this.owner.setVertex(this.index + 1, this.vertex.x, _p6.y); // p2\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n this.owner.setVertex(this.index - 1, _p4.x, min(this.vertex.y, p_m1.y - MINDIST)); // p0\n this.owner.setVertex(this.index, this.vertex.x, min(this.vertex.y, p_m1.y - MINDIST)); // p1\n this.owner.setVertex(this.index + 1, this.vertex.x, _p6.y); // p2\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n this.owner.setVertex(this.index - 1, _p4.x, max(this.vertex.y, p_m1.y + MINDIST)); // p0\n this.owner.setVertex(this.index, this.vertex.x, max(this.vertex.y, p_m1.y + MINDIST)); // p1\n this.owner.setVertex(this.index + 1, this.vertex.x, _p6.y); // p2\n break;\n }\n }\n // Exception handling if the dragged handle (p1L) near by the end of the connection\n // p3 is the end of the connection\n //\n else if (this.index - count + 3 === 0) {\n switch (toDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n this.owner.setVertex(this.index - 1, _p4.x, this.vertex.y); // p0\n this.owner.setVertex(this.index, max(this.vertex.x, p3.x + MINDIST), this.vertex.y); // p1\n this.owner.setVertex(this.index + 1, max(this.vertex.x, p3.x + MINDIST), _p6.y); // p2\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n this.owner.setVertex(this.index - 1, _p4.x, this.vertex.y); // p0\n this.owner.setVertex(this.index, min(this.vertex.x, p3.x - MINDIST), this.vertex.y); // p1\n this.owner.setVertex(this.index + 1, min(this.vertex.x, p3.x - MINDIST), _p6.y); // p2\n break;\n }\n } else {\n this.owner.setVertex(this.index - 1, _p4.x, this.vertex.y); // p0\n this.owner.setVertex(this.index, this.vertex); // p1\n this.owner.setVertex(this.index + 1, this.vertex.x, _p6.y); // p2\n }\n }\n // vertices alignment to handle\n //\n // ...+... ...+...\n // p0 | . | p0\n // | . . |\n // | . . |\n // p1 *----------+ p2 p2 +---------* p1\n // . .\n // . .\n else if (_p4.x === _p5.x && _p5.y === _p6.y) {\n // p_m1 is the start of the analyzed segment\n // p0 must be the immediate neighbor of p_m1\n //\n if (this.index - 2 === 0) {\n switch (fromDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n this.owner.setVertex(this.index - 1, max(this.vertex.x, p_m1.x + MINDIST), _p4.y); // p0\n this.owner.setVertex(this.index, max(this.vertex.x, p_m1.x + MINDIST), this.vertex.y); // p1\n this.owner.setVertex(this.index + 1, _p6.x, this.vertex.y); // p2\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n this.owner.setVertex(this.index - 1, min(this.vertex.x, p_m1.x - MINDIST), _p4.y); // p0\n this.owner.setVertex(this.index, min(this.vertex.x, p_m1.x - MINDIST), this.vertex.y); // p1\n this.owner.setVertex(this.index + 1, _p6.x, this.vertex.y); // p2\n break;\n }\n }\n // p3 is the end point\n //\n else if (this.index - count + 3 === 0) {\n switch (toDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n this.owner.setVertex(this.index - 1, this.vertex.x, max(this.vertex.y, _p4.y)); // p0\n this.owner.setVertex(this.index, this.vertex.x, min(this.vertex.y, p3.y - MINDIST)); // p1\n this.owner.setVertex(this.index + 1, _p6.x, min(this.vertex.y, p3.y - MINDIST)); // p2\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n this.owner.setVertex(this.index - 1, this.vertex.x, _p4.y); // p0\n this.owner.setVertex(this.index, this.vertex.x, max(this.vertex.y, p3.y + MINDIST)); // p1\n this.owner.setVertex(this.index + 1, _p6.x, max(this.vertex.y, p3.y + MINDIST)); // p2\n break;\n }\n }\n // just any element in the middle of the connection\n //\n else {\n this.owner.setVertex(this.index - 1, this.vertex.x, _p4.y); // p0\n this.owner.setVertex(this.index, this.vertex); // p1\n this.owner.setVertex(this.index + 1, _p6.x, this.vertex.y); // p2\n }\n }\n }\n\n this.relocate();\n\n // update the command for the undo/redo stuff\n //\n if (this.command !== null) {\n this.command.updateVertices(this.owner.getVertices().clone());\n }\n\n // note that the user has changed the routing manually.\n // This skips the automatic routing.\n this.owner._routingMetaData.routedByUserInteraction = true;\n return true;\n },\n\n /**\n * Called after a drag and drop action.<br>\n * Sub classes can override this method to implement additional stuff. Don't forget to call the super implementation via <code>this._super();</code>\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean}\n */\n onDragEnd: function onDragEnd(x, y, shiftKey, ctrlKey) {\n var stack = this.getCanvas().getCommandStack();\n\n stack.execute(this.command);\n this.command = null;\n return true;\n },\n\n /**\n * \n * Controls the location of the resize handle\n *\n * @template\n **/\n relocate: function relocate() {\n\n var resizeWidthHalf = this.getWidth() / 2;\n var resizeHeightHalf = this.getHeight() / 2;\n\n var anchor = this.owner.getVertices().get(this.index);\n if (anchor) this.setPosition(anchor.x - resizeWidthHalf, anchor.y - resizeHeightHalf);\n }\n\n });\n },\n\n /**\n * \n *\n * @template\n * @param {draw2d.Connection} connection the selected figure\n * @param {Boolean} isPrimarySelection\n */\n onSelect: function onSelect(canvas, connection, isPrimarySelection) {\n this._super(canvas, connection, isPrimarySelection);\n\n var points = connection.getVertices();\n var i = 1;\n for (; i < points.getSize() - 1; i++) {\n var handle = new this.ResizeHandle(connection, i);\n connection.selectionHandles.add(handle);\n handle.setDraggable(connection.isResizeable());\n handle.show(canvas);\n }\n\n this.moved(canvas, connection);\n },\n\n /**\n * \n * remove the segment with the given index.\n * You must check if it possible to remove the segment before. The method didn'T do any consistency checks.\n *\n * @param conn\n * @param segmentIndex\n */\n removeSegment: function removeSegment(conn, segmentIndex) {\n var PADDING = 10;\n\n var segmentCount = conn.getVertices().getSize() - 1;\n\n var fromPt = conn.getStartPoint();\n var fromDir = conn.getSource().getConnectionDirection(conn.getTarget());\n\n var toPt = conn.getEndPoint();\n var toDir = conn.getTarget().getConnectionDirection(conn.getSource());\n\n var p0 = conn.getVertex(segmentIndex - 1);\n var p1 = conn.getVertex(segmentIndex);\n var p2 = conn.getVertex(segmentIndex + 1);\n var p3 = conn.getVertex(segmentIndex + 2);\n\n // p0 .\n // Es wird ein Horizontales Segment .\n // geloescht. Es muessen somit die Punkte .\n // p0 und p3 neu gesetzt werden. p1 +------*-----+ p2\n // Ihre neue X-Koordinate ist somit in der ^ .\n // Mitte des geloeschten Segmentes newX .\n // . p3\n //\n if (p1.y === p2.y) {\n var _newX = (p1.x + p2.x) / 2;\n // Die neue X-Koordinate muss auf jeden Falls zwischen p-1 und p4 liegen\n //\n if (segmentIndex === 1) {\n switch (fromDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n _newX = Math.max(_newX, fromPt.x + PADDING);\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n _newX = Math.min(_newX, fromPt.x - PADDING);\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n _newX = fromPt.x;\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n _newX = fromPt.x;\n break;\n }\n }\n\n if (segmentIndex === segmentCount - 2) {\n switch (fromDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n _newX = Math.max(_newX, toPt.x + PADDING);\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n _newX = Math.min(_newX, toPt.x - PADDING);\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n _newX = toPt.x;\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n _newX = toPt.x;\n break;\n }\n }\n\n conn.setVertex(segmentIndex - 1, new _packages2.default.geo.Point(_newX, p0.y));\n conn.setVertex(segmentIndex + 2, new _packages2.default.geo.Point(_newX, p3.y));\n\n conn.removeVertexAt(segmentIndex);\n conn.removeVertexAt(segmentIndex);\n conn._routingMetaData.routedByUserInteraction = true;\n }\n\n // p2 p3\n // Es wird ein vertikales Segment +..........+\n // geloescht. Es muessen somit die Punkte |\n // p0 und p3 neu gesetzt werden. |\n // Ihre neue Y-Koordinate ist somit in der |\n // Mitte des geloeschten Segmentes p0 | p1\n // +........+\n //\n else if (p1.x === p2.x) {\n var newY = (p1.y + p2.y) / 2;\n // Die neue Y-Koordinate muss auf jeden Falls zwischen p-1 und p4 liegen\n //\n if (segmentIndex === 1) {\n switch (fromDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n newY = fromPt.y;\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n debugger; // newX is newer read....why did I calculate them?!\n newX = fromPt.x;\n break;\n }\n }\n if (segmentIndex === segmentCount - 2) {\n switch (toDir) {\n case _packages2.default.geo.Rectangle.DIRECTION_RIGHT:\n case _packages2.default.geo.Rectangle.DIRECTION_LEFT:\n newY = toPt.y;\n break;\n case _packages2.default.geo.Rectangle.DIRECTION_UP:\n case _packages2.default.geo.Rectangle.DIRECTION_DOWN:\n debugger; // newX is newer read....why did I calculate them?!\n newX = toPt.x;\n break;\n }\n }\n\n conn.setVertex(segmentIndex - 1, new _packages2.default.geo.Point(p0.x, newY));\n conn.setVertex(segmentIndex + 2, new _packages2.default.geo.Point(p3.x, newY));\n\n conn.removeVertexAt(segmentIndex);\n conn.removeVertexAt(segmentIndex);\n conn._routingMetaData.routedByUserInteraction = true;\n }\n },\n\n /**\n * \n * split the segment with the given index and insert a new segment.\n *\n * @param conn\n * @param segmentIndex\n */\n splitSegment: function splitSegment(conn, segmentIndex, x, y) {\n var segmentCount = conn.getVertices().getSize() - 1;\n var p1 = conn.getVertex(segmentIndex);\n var p2 = conn.getVertex(segmentIndex + 1);\n var length = 40;\n\n // the selected segment is vertical\n //\n if (p1.x === p2.x) {\n conn._routingMetaData.routedByUserInteraction = true;\n // edge case of an ManhattanRouter: One segment. This happens if the source/target on the same x - coordinate\n //\n if (segmentCount === 1) {\n // + p1\n // |\n // np1 +-----+ np2\n // |\n // |\n // np3 +-----+ np3\n // |\n // |\n // + p2\n //\n var newSegLength = p1.getDistance(p2) / 4 / 2;\n var np1 = new _packages2.default.geo.Point(p1.x, y - newSegLength);\n var np2 = new _packages2.default.geo.Point(p2.x + length, y - newSegLength);\n var np3 = new _packages2.default.geo.Point(p2.x + length, y + newSegLength);\n var np4 = new _packages2.default.geo.Point(p2.x, y + newSegLength);\n\n conn.insertVertexAt(segmentIndex + 1, np1);\n conn.insertVertexAt(segmentIndex + 2, np2);\n conn.insertVertexAt(segmentIndex + 3, np3);\n conn.insertVertexAt(segmentIndex + 4, np4);\n } else {\n var _np = new _packages2.default.geo.Point(0, 0);\n var _np2 = new _packages2.default.geo.Point(0, 0);\n // p2 +\n // .\n // np1 +----+ np2\n // .\n // .\n // + p1\n // p1 ist der Startpunkt und darf somit nicht verschoben werden\n //\n if (segmentIndex === 0) {\n _np.y = y;\n _np.x = p1.x;\n _np2.y = y;\n _np2.x = p2.x + length;\n conn.setVertex(segmentIndex + 1, new _packages2.default.geo.Point(_np2.x, p2.y));\n }\n // p2 ist der Schlusspunkt und darf somit nicht veaendert werden\n //\n else if (segmentIndex === segmentCount - 1) {\n _np.y = y;\n _np.x = p1.x - length;\n _np2.y = y;\n _np2.x = p2.x;\n conn.setVertex(segmentIndex, new _packages2.default.geo.Point(_np.x, p1.y));\n } else {\n _np.y = y;\n _np.x = p1.x - length / 2;\n _np2.y = y;\n _np2.x = p2.x + length / 2;\n conn.setVertex(segmentIndex, new _packages2.default.geo.Point(_np.x, p1.y));\n conn.setVertex(segmentIndex + 1, new _packages2.default.geo.Point(_np2.x, p2.y));\n }\n\n conn.insertVertexAt(segmentIndex + 1, _np);\n conn.insertVertexAt(segmentIndex + 2, _np2);\n }\n }\n // the selected segment is horizontal\n //\n else if (p1.y == p2.y) {\n conn._routingMetaData.routedByUserInteraction = true;\n // edge case of an ManhattanRouter: One segment. This happens if the source/target on the same y - coordinate\n //\n if (segmentCount === 1) {\n // np2 +---------+ np3\n // | |\n // --------+np1 np4+--------\n //\n var _newSegLength = p1.getDistance(p2) / 4 / 2;\n var _np3 = new _packages2.default.geo.Point(x - _newSegLength, p1.y);\n var _np4 = new _packages2.default.geo.Point(x - _newSegLength, p1.y - length);\n var _np5 = new _packages2.default.geo.Point(x + _newSegLength, p1.y - length);\n var _np6 = new _packages2.default.geo.Point(x + _newSegLength, p1.y);\n\n conn.insertVertexAt(segmentIndex + 1, _np3);\n conn.insertVertexAt(segmentIndex + 2, _np4);\n conn.insertVertexAt(segmentIndex + 3, _np5);\n conn.insertVertexAt(segmentIndex + 4, _np6);\n } else {\n // p1 np1\n // +.........+\n // |\n // |\n // | np2 p2\n // +.........+\n var _np7 = new _packages2.default.geo.Point(0, 0);\n var _np8 = new _packages2.default.geo.Point(0, 0);\n\n // p1 ist der Startpunkt und darf somit nicht verschoben werden\n //\n if (segmentIndex === 0) {\n _np7.x = x;\n _np7.y = p1.y;\n _np8.x = x;\n _np8.y = p2.y + length;\n conn.setVertex(segmentIndex + 1, new _packages2.default.geo.Point(p2.x, _np8.y));\n }\n // p2 ist der Schlusspunkt und darf somit nicht veaendert werden\n //\n else if (segmentIndex === segmentCount - 1) {\n _np7.x = x;\n _np7.y = p1.y - length;\n _np8.x = x;\n _np8.y = p2.y;\n conn.setVertex(segmentIndex, new _packages2.default.geo.Point(p1.x, _np7.y));\n } else {\n _np7.x = x;\n _np7.y = p1.y - length / 2;\n _np8.x = x;\n _np8.y = p2.y + length / 2;\n conn.setVertex(segmentIndex, new _packages2.default.geo.Point(p1.x, _np7.y));\n conn.setVertex(segmentIndex + 1, new _packages2.default.geo.Point(p2.x, _np8.y));\n }\n conn.insertVertexAt(segmentIndex + 1, _np7);\n conn.insertVertexAt(segmentIndex + 2, _np8);\n }\n }\n },\n\n /**\n * \n * Called if the user press the right mouse on the figure.<br>\n * You can either override the \"onContextMenu\" method of the figure or install an editor policy and override this method.\n * Booth is valid and possible.\n *\n * @param {draw2d.shape.basic.Line} conn the polyline below the mouse\n * @param {Number} x the x-coordinate of the mouse down event\n * @param {Number} y the y-coordinate of the mouse down event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n * @since 4.4.0\n */\n onRightMouseDown: function onRightMouseDown(conn, x, y, shiftKey, ctrlKey) {\n var _this = this;\n\n var segment = conn.hitSegment(x, y);\n var items = { \"split\": { name: _packages2.default.Configuration.i18n.menu.addSegment } };\n\n if (segment === null) {\n return;\n }\n\n if (conn.getRouter().canRemoveSegmentAt(conn, segment.index)) {\n items.remove = { name: _packages2.default.Configuration.i18n.menu.deleteSegment };\n }\n\n $.contextMenu({\n selector: 'body',\n events: {\n hide: function hide() {\n $.contextMenu('destroy');\n }\n },\n callback: function callback(key, options) {\n switch (key) {\n case \"remove\":\n {\n // deep copy of the vertices of the connection for the command stack to avoid side effects\n var originalVertices = conn.getVertices().clone(true);\n _this.removeSegment(conn, segment.index);\n var newVertices = conn.getVertices().clone(true);\n conn.getCanvas().getCommandStack().execute(new _packages2.default.command.CommandReplaceVertices(conn, originalVertices, newVertices));\n }\n break;\n case \"split\":\n {\n // deep copy of the vertices of the connection for the command stack to avoid side effects\n var _originalVertices = conn.getVertices().clone(true);\n _this.splitSegment(conn, segment.index, x, y);\n var _newVertices = conn.getVertices().clone(true);\n conn.getCanvas().getCommandStack().execute(new _packages2.default.command.CommandReplaceVertices(conn, _originalVertices, _newVertices));\n }\n break;\n default:\n break;\n }\n },\n x: x,\n y: y,\n items: items\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/policy/line/VertexSelectionFeedbackPolicy.js\":\n/*!**********************************************************!*\\\n !*** ./src/policy/line/VertexSelectionFeedbackPolicy.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Feedback and edit policy for the VertexRouter.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.line.LineSelectionFeedbackPolicy\n */\n_packages2.default.policy.line.VertexSelectionFeedbackPolicy = _packages2.default.policy.line.LineSelectionFeedbackPolicy.extend(\n/** @lends draw2d.policy.line.VertexSelectionFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.line.VertexSelectionFeedbackPolicy\",\n\n /**\n *\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n * \n *\n * @param {draw2d.Canvas} canvas the related canvas\n * @param {draw2d.Connection} figure the selected figure\n * @param {Boolean} isPrimarySelection\n */\n onSelect: function onSelect(canvas, figure, isPrimarySelection) {\n var startHandle = new _packages2.default.shape.basic.LineStartResizeHandle(figure);\n var endHandle = new _packages2.default.shape.basic.LineEndResizeHandle(figure);\n figure.selectionHandles.add(startHandle);\n figure.selectionHandles.add(endHandle);\n\n var points = figure.getVertices();\n var count = points.getSize() - 1;\n var i = 1;\n for (; i < count; i++) {\n figure.selectionHandles.add(new _packages2.default.shape.basic.VertexResizeHandle(figure, i));\n figure.selectionHandles.add(new _packages2.default.shape.basic.GhostVertexResizeHandle(figure, i - 1));\n }\n\n figure.selectionHandles.add(new _packages2.default.shape.basic.GhostVertexResizeHandle(figure, i - 1));\n\n figure.selectionHandles.each(function (i, e) {\n e.setDraggable(figure.isResizeable());\n e.show(canvas);\n });\n\n this.moved(canvas, figure);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/port/ElasticStrapFeedbackPolicy.js\":\n/*!*******************************************************!*\\\n !*** ./src/policy/port/ElasticStrapFeedbackPolicy.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A draw2d.policy.SelectionFeedbackPolicy that is sensitive to the canvas selection. Subclasses will typically\n * decorate the {@link draw2d.Figure figure} with things like selection handles and/or focus feedback.\n * <br>\n * If you want to change the handle visibility for a figure, then you should use SelectionFeedbackPolicy to do that.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.DragDropEditPolicy\n */\n_packages2.default.policy.port.ElasticStrapFeedbackPolicy = _packages2.default.policy.port.PortFeedbackPolicy.extend(\n/** @lends draw2d.policy.port.ElasticStrapFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.port.ElasticStrapFeedbackPolicy\",\n\n /**\n * Creates a new Router object\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n this.connectionLine = null;\n },\n\n /**\n *\n * Called by the framework if the related shape has init a drag&drop\n * operation\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean} return <b>false</b> to send a veto to the drag operation\n */\n onDragStart: function onDragStart(canvas, figure, x, y, shiftKey, ctrlKey) {\n this.connectionLine = new _packages2.default.shape.basic.Line();\n this.connectionLine.setCanvas(canvas);\n this.connectionLine.getShapeElement();\n\n this.onDrag(canvas, figure);\n\n return true;\n },\n\n /**\n *\n * Called by the framework during drag a figure.\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n */\n onDrag: function onDrag(canvas, figure) {\n var x1 = figure.ox + figure.getParent().getAbsoluteX();\n var y1 = figure.oy + figure.getParent().getAbsoluteY();\n\n this.connectionLine.setStartPosition(x1, y1);\n this.connectionLine.setEndPosition(figure.getAbsoluteX(), figure.getAbsoluteY());\n },\n\n /**\n *\n * Called by the framework if the drag drop operation ends.\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onDragEnd: function onDragEnd(canvas, figure, x, y, shiftKey, ctrlKey) {\n this.connectionLine.setCanvas(null);\n this.connectionLine = null;\n },\n\n onHoverEnter: function onHoverEnter(canvas, draggedFigure, hoverFiger) {\n this.connectionLine.setGlow(true);\n hoverFiger.setGlow(true);\n },\n\n onHoverLeave: function onHoverLeave(canvas, draggedFigure, hoverFiger) {\n hoverFiger.setGlow(false);\n this.connectionLine.setGlow(false);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/port/IntrusivePortsFeedbackPolicy.js\":\n/*!*********************************************************!*\\\n !*** ./src/policy/port/IntrusivePortsFeedbackPolicy.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _shifty = __webpack_require__(/*! shifty */ \"./node_modules/shifty/dist/shifty.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.DragDropEditPolicy\n */\n_packages2.default.policy.port.IntrusivePortsFeedbackPolicy = _packages2.default.policy.port.PortFeedbackPolicy.extend(\n/** @lends draw2d.policy.port.IntrusivePortsFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.port.IntrusivePortsFeedbackPolicy\",\n\n /**\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n this.connectionLine = null;\n this.tweenable = null;\n this.growFactor = 2;\n },\n\n /**\n *\n * Called by the framework if the related shape has init a drag&drop\n * operation\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onDragStart: function onDragStart(canvas, figure, x, y, shiftKey, ctrlKey) {\n var allPorts = canvas.getAllPorts().clone();\n\n // filter all candidates for the DropEvent\n //\n allPorts.grep(function (p) {\n return p.NAME !== figure.NAME && p.parent !== figure.parent && p.getSemanticGroup() === figure.getSemanticGroup() || p instanceof _packages2.default.HybridPort || figure instanceof _packages2.default.HybridPort;\n });\n\n var start = 0;\n allPorts.each(function (i, element) {\n if (typeof element.__beforeInflate === \"undefined\") {\n element.__beforeInflate = element.getWidth();\n }\n start = element.__beforeInflate;\n });\n\n // Animate the ports for a visual feedback\n //\n this.tweenable = new _shifty.Tweenable();\n this.tweenable.tween({\n from: { 'size': start },\n to: { 'size': start * this.growFactor },\n duration: 200,\n easing: \"easeOutSine\",\n step: function step(params) {\n allPorts.each(function (i, element) {\n // IMPORTANT shortcut to avoid rendering errors!!\n // performance shortcut to avoid a lot of events and recalculate/routing of all related connections\n // for each setDimension call. Additional the connection is following a port during Drag&Drop operation\n element.shape.attr({ rx: params.size / 2, ry: params.size / 2 });\n element.width = element.height = params.size;\n element.fireEvent(\"resize\");\n });\n }\n });\n\n this.connectionLine = new _packages2.default.shape.basic.Line();\n this.connectionLine.setCanvas(canvas);\n this.connectionLine.getShapeElement();\n this.connectionLine.setDashArray(\"- \");\n this.connectionLine.setColor(\"#30c48a\");\n\n this.onDrag(canvas, figure);\n\n return true;\n },\n\n /**\n *\n * Called by the framework during drag a figure.\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @template\n */\n onDrag: function onDrag(canvas, figure) {\n var x1 = figure.ox + figure.getParent().getAbsoluteX();\n var y1 = figure.oy + figure.getParent().getAbsoluteY();\n\n this.connectionLine.setStartPosition(x1, y1);\n this.connectionLine.setEndPosition(figure.getAbsoluteX(), figure.getAbsoluteY());\n },\n\n /**\n *\n * Called by the framework if the drag drop operation ends.\n *\n * @param {draw2d.Canvas} canvas The host canvas\n * @param {draw2d.Figure} figure The related figure\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onDragEnd: function onDragEnd(canvas, figure, x, y, shiftKey, ctrlKey) {\n if (this.tweenable) {\n this.tweenable.stop(true);\n this.tweenable.dispose();\n this.tweenable = null;\n }\n\n var allPorts = canvas.getAllPorts().clone();\n // filter all candidates for the DropEvent\n //\n allPorts.grep(function (p) {\n return p.__beforeInflate;\n });\n\n allPorts.each(function (i, element) {\n // IMPORTANT shortcut to avoid rendering errors!!\n // performance shortcut to avoid a lot of events and recalculate/routing of all related connections\n // for each setDimension call. Additional the connection is following a port during Drag&Drop operation\n element.shape.attr({ rx: element.__beforeInflate / 2, ry: element.__beforeInflate / 2 });\n element.width = element.height = element.__beforeInflate;\n delete element.__beforeInflate;\n });\n this.connectionLine.setCanvas(null);\n this.connectionLine = null;\n },\n\n onHoverEnter: function onHoverEnter(canvas, draggedFigure, hoverFigure) {\n this.connectionLine.setGlow(true);\n hoverFigure.setGlow(true);\n },\n\n onHoverLeave: function onHoverLeave(canvas, draggedFigure, hoverFigure) {\n hoverFigure.setGlow(false);\n if (this.connectionLine === null) {\n debugger;\n }\n this.connectionLine.setGlow(false);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/policy/port/PortFeedbackPolicy.js\":\n/*!***********************************************!*\\\n !*** ./src/policy/port/PortFeedbackPolicy.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Base class for all port feedback policies. Used for grow, highlight or\n * other decorations during drag&drop and connecting of ports.\n *\n * @author Andreas Herz\n * @extends draw2d.policy.figure.DragDropEditPolicy\n */\n_packages2.default.policy.port.PortFeedbackPolicy = _packages2.default.policy.figure.DragDropEditPolicy.extend(\n/** @lends draw2d.policy.port.PortFeedbackPolicy.prototype */\n{\n\n NAME: \"draw2d.policy.port.PortFeedbackPolicy\",\n\n /**\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n },\n\n /**\n *\n * Called if the dragged port hove another port\n *\n * @param {draw2d.Canvas} canvas\n * @param {draw2d.Port} draggedFigure\n * @param {draw2d.Figure} hoverFigure\n */\n onHoverEnter: function onHoverEnter(canvas, draggedFigure, hoverFigure) {},\n\n /**\n *\n * Fired if the dragged figures leaves the hover figure\n *\n * @param {draw2d.Canvas} canvas\n * @param {draw2d.Port} draggedFigure\n * @param {draw2d.Figure} hoverFigure\n */\n onHoverLeave: function onHoverLeave(canvas, draggedFigure, hoverFigure) {}\n});\n\n/***/ }),\n\n/***/ \"./src/shape/analog/OpAmp.js\":\n/*!***********************************!*\\\n !*** ./src/shape/analog/OpAmp.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Hand drawn arrow which points down left\n *\n *\n * @example\n * let figure = new draw2d.shape.analog.OpAmp({x:10, y:10});\n *\n * canvas.add(figure);\n *\n *\n * @extends draw2d.SVGFigure\n */\n_packages2.default.shape.analog.OpAmp = _packages2.default.SVGFigure.extend(\n/** @lends draw2d.shape.analog.OpAmp.prototype */\n{\n\n NAME: \"draw2d.shape.analog.OpAmp\",\n\n // custom locator for the special design of the OpAmp Input area\n MyInputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, port) {\n var parent = port.getParent();\n var calcY = (8 + 18.5 * index) * parent.scaleY;\n this.applyConsiderRotation(port, 1, calcY);\n }\n }),\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ stroke: 0, bgColor: \"#f0f0ff\" }, attr), setter, getter);\n\n this.inputLocator = new this.MyInputPortLocator();\n\n this.createPort(\"input\", this.inputLocator);\n this.createPort(\"input\", this.inputLocator);\n\n this.createPort(\"output\");\n },\n\n /**\n * @inheritdoc\n */\n getSVG: function getSVG() {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"50\" height=\"50\">' + '<path d=\"m8.2627,0l0,35.36035l31.23926,-17.76025l-31.23926,-17.60011l0,0l0,0.00001zm2.27832,27.36719l4.08105,0m-2.10449,-2.20703l0,4.27979m2.26367,-21.35938l-4.15918,0\" stroke=\"#1B1B1B\" fill=\"none\"/>' + '<line x1=\"0.53516\" y1=\"8\" x2=\"8.21191\" y2=\"8\" stroke=\"#010101\"/>' + '<line x1=\"39.14941\" y1=\"18\" x2=\"45.81055\" y2=\"18\" stroke=\"#010101\" />' + '<line x1=\"0.53516\" y1=\"27\" x2=\"8.21191\" y2=\"27\" stroke=\"#010101\" />' + '</svg>';\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n // redirect the backgroundColor to an internal SVG node.\n // In this case only a small part of the shape are filled with the background color\n // and not the complete rectangle/bounding box\n //\n attributes[\"fill\"] = \"none\";\n if (this.bgColor != null) {\n this.svgNodes[0].attr({ fill: this.bgColor.rgba() });\n }\n\n this._super(attributes);\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/analog/ResistorBridge.js\":\n/*!********************************************!*\\\n !*** ./src/shape/analog/ResistorBridge.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.analog.ResistorBridge({x:10, y:10});\n *\n * canvas.add(figure);\n *\n *\n * @extends draw2d.SVGFigure\n */\n_packages2.default.shape.analog.ResistorBridge = _packages2.default.SVGFigure.extend(\n/** @lends draw2d.shape.analog.ResistorBridge.prototype */\n{\n\n NAME: \"draw2d.shape.analog.ResistorBridge\",\n\n // custom locator for the special design of the ResistorBridge Input area\n MyInputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, figure) {\n var w = figure.getParent().getWidth();\n var h = figure.getParent().getHeight();\n this.applyConsiderRotation(figure, w / 2 + 1, h * index);\n }\n }),\n\n // custom locator for the special design of the ResistorBridge Input area\n MyOutputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, figure) {\n var w = figure.getParent().getWidth();\n var h = figure.getParent().getHeight();\n\n this.applyConsiderRotation(figure, w * (index - 2), h / 2);\n }\n }),\n\n /**\n * Create a new instance\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n\n this.inputLocator = new this.MyInputPortLocator();\n this.outputLocator = new this.MyOutputPortLocator();\n\n this.createPort(\"hybrid\", this.inputLocator);\n this.createPort(\"hybrid\", this.inputLocator);\n\n this.createPort(\"hybrid\", this.outputLocator);\n this.createPort(\"hybrid\", this.outputLocator);\n },\n\n /**\n * @inheritdoc\n */\n getSVG: function getSVG() {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">' + '<path fill=\"#010101\" stroke=\"#010101\" stroke-miterlimit=\"14.3\" id=\"path12322\" d=\"m47.62207,22.71094l0,0c0.73145,0.73242 0.71777,1.93359 -0.03027,2.68164c-0.74805,0.74951 -1.94922,0.76123 -2.68073,0.0293c-0.73138,-0.73242 -0.71967,-1.93211 0.03033,-2.68115c0.74707,-0.74803 1.94727,-0.76219 2.68066,-0.02979l0,0z\"/>' + '<path fill=\"#010101\" stroke=\"#010101\" stroke-miterlimit=\"14.3\" id=\"path12324\" d=\"m25.84082,0.93115l0,0c0.73145,0.73096 0.71875,1.93359 -0.02832,2.68066c-0.75,0.74951 -1.94922,0.76123 -2.68164,0.0293c-0.73242,-0.73241 -0.71973,-1.93164 0.0293,-2.68065c0.74805,-0.74756 1.94922,-0.76172 2.68066,-0.0293l0,0l0,-0.00002z\"/>' + '<path fill=\"#010101\" stroke=\"#010101\" stroke-miterlimit=\"14.3\" id=\"path12326\" d=\"m25.75098,44.58203l0,0c0.73145,0.73193 0.71875,1.93311 -0.02832,2.68115c-0.75,0.74902 -1.94922,0.76074 -2.68262,0.0293c-0.73145,-0.73193 -0.71973,-1.93262 0.03033,-2.68164c0.74707,-0.74756 1.94922,-0.76123 2.68066,-0.02879l0,0l-0.00006,-0.00002z\"/>' + '<path fill=\"#010101\" stroke=\"#010101\" stroke-miterlimit=\"14.3\" id=\"path12328\" d=\"m3.9707,22.80127l0,0c0.73242,0.73193 0.71777,1.93359 -0.0293,2.68115c-0.74902,0.74951 -1.94922,0.76172 -2.68164,0.0293c-0.73145,-0.73242 -0.71973,-1.93164 0.03027,-2.68115c0.74707,-0.74707 1.94922,-0.76074 2.68066,-0.0293l0,0z\"/>' + '<polyline fill=\"none\" stroke=\"#010101\" id=\"polyline12334\" points=\"24.908203125,45.49267578125 31.71875,38.68310546875 31.2119140625,36.98876953125 34.892578125,37.95703125 33.953125,34.22265625 37.6650390625,35.18359375 36.6767578125,31.52490234375 40.3759765625,32.47314453125 39.873046875,30.52783203125 45.884765625,24.51708984375 \" stroke-miterlimit=\"14.3\"/>' + '<polyline fill=\"#010101\" id=\"polyline12338\" points=\"36.3408203125,23.98876953125 38.146484375,29.55810546875 33.630859375,29.55810546875 35.435546875,23.98779296875 \"/>' + '<line fill=\"none\" stroke=\"#010101\" id=\"line12340\" y2=\"28.90967\" x2=\"35.8877\" y1=\"41.13428\" x1=\"35.88867\" stroke-miterlimit=\"14.3\"/>' + '<polyline fill=\"none\" stroke=\"#010101\" id=\"polyline12346\" points=\"3.2109375,23.79248046875 10.01953125,16.98388671875 9.513671875,15.2890625 13.193359375,16.25732421875 12.251953125,12.5234375 15.9658203125,13.48486328125 14.9775390625,9.82568359375 18.6767578125,10.7734375 18.173828125,8.82958984375 24.185546875,2.81787109375 \" stroke-miterlimit=\"14.3\"/>' + '<polyline fill=\"#010101\" id=\"polyline12350\" points=\"13.126953125,23.80419921875 11.3212890625,18.236328125 15.8369140625,18.236328125 14.0322265625,23.806640625 \"/>' + '<line fill=\"none\" stroke=\"#010101\" id=\"line12352\" y2=\"18.8833\" x2=\"13.58008\" y1=\"6.65967\" x1=\"13.5791\" stroke-miterlimit=\"14.3\"/>' + '<polyline fill=\"none\" stroke=\"#010101\" id=\"polyline12358\" points=\"46.65625,24.33642578125 39.84765625,17.52783203125 38.154296875,18.033203125 39.1220703125,14.353515625 35.3876953125,15.29345703125 36.34765625,11.58056640625 32.689453125,12.56884765625 33.6376953125,8.86865234375 31.6923828125,9.373046875 24.322265625,2.00341796875 \" stroke-miterlimit=\"14.3\"/>' + '<polyline fill=\"#010101\" id=\"polyline12362\" points=\"36.578125,1.87109375 38.3828125,7.439453125 33.8681640625,7.439453125 35.6728515625,1.869140625 \"/>' + '<line fill=\"none\" stroke=\"#010101\" id=\"line12364\" y2=\"6.7915\" x2=\"36.125\" y1=\"19.01758\" x1=\"36.125\" stroke-miterlimit=\"14.3\"/>' + '<polyline fill=\"none\" stroke=\"#010101\" id=\"polyline12370\" points=\"24.494140625,46.49951171875 17.685546875,39.69091796875 15.9921875,40.1953125 16.958984375,36.515625 13.2265625,37.45556640625 14.185546875,33.7421875 10.52734375,34.73193359375 11.474609375,31.03125 9.529296875,31.53515625 2.1611328125,24.166015625 \" stroke-miterlimit=\"14.3\"/>' + '<polyline fill=\"#010101\" id=\"polyline12374\" points=\"12.150390625,44.80029296875 10.34765625,39.23193359375 14.861328125,39.23095703125 13.0556640625,44.80224609375 \"/>' + '<line fill=\"none\" stroke=\"#010101\" id=\"line12376\" y2=\"39.87891\" x2=\"12.60352\" y1=\"27.6543\" x1=\"12.60352\" stroke-miterlimit=\"14.3\"/>' + '</svg>';\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/analog/ResistorVertical.js\":\n/*!**********************************************!*\\\n !*** ./src/shape/analog/ResistorVertical.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.analog.ResistorVertical({x:10, y:10});\n *\n * canvas.add(figure);\n *\n *\n * @extends draw2d.SVGFigure\n */\n_packages2.default.shape.analog.ResistorVertical = _packages2.default.SetFigure.extend(\n/** @lends draw2d.shape.analog.ResistorVertical.prototype */\n{\n\n NAME: \"draw2d.shape.analog.ResistorVertical\",\n\n // custom locator for the special design of the Input area\n MyInputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, figure) {\n var w = figure.getParent().getWidth();\n var h = figure.getParent().getHeight();\n this.applyConsiderRotation(figure, w / 2, h);\n }\n }),\n\n // custom locator for the special design of the Output area\n MyOutputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, figure) {\n var w = figure.getParent().getWidth();\n this.applyConsiderRotation(figure, w / 2, 0);\n }\n }),\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n\n this._super(extend({ width: 30, height: 50, bgColor: null }, attr), setter, getter);\n\n this.inputLocator = new this.MyInputPortLocator();\n this.outputLocator = new this.MyOutputPortLocator();\n\n this.createPort(\"hybrid\", this.inputLocator);\n this.createPort(\"hybrid\", this.outputLocator);\n },\n\n /**\n * @inheritdoc\n */\n createSet: function createSet() {\n var set = this._super();\n\n set.push(this.canvas.paper.path(\"M15,0 L15,5 L0,7.5 L30,10 L0,15 L30,20 L0,25 L30,30 L15,32.5 L15,40\"));\n\n return set;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/analog/VoltageSupplyHorizontal.js\":\n/*!*****************************************************!*\\\n !*** ./src/shape/analog/VoltageSupplyHorizontal.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.analog.VoltageSupplyHorizontal({x:10, y:10});\n *\n * canvas.add(figure);\n *\n *\n * @extends draw2d.SVGFigure\n */\n_packages2.default.shape.analog.VoltageSupplyHorizontal = _packages2.default.SVGFigure.extend(\n/** @lends draw2d.shape.analog.VoltageSupplyHorizontal.prototype */\n{\n\n NAME: \"draw2d.shape.analog.VoltageSupplyHorizontal\",\n\n // custom locator for the special design of the Input area\n MyInputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, figure) {\n var h = figure.getParent().getHeight();\n this.applyConsiderRotation(figure, 0, h / 2);\n }\n }),\n\n // custom locator for the special design of the Output area\n MyOutputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, figure) {\n var w = figure.getParent().getWidth();\n var h = figure.getParent().getHeight();\n this.applyConsiderRotation(figure, w, h / 2);\n }\n }),\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 30 }, attr), setter, getter);\n\n this.createPort(\"hybrid\", new this.MyInputPortLocator()); // GND\n this.createPort(\"hybrid\", new this.MyOutputPortLocator()); // VCC\n },\n\n /**\n * @inheritdoc\n */\n getSVG: function getSVG() {\n return '<svg width=\"49\" height=\"28\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">' + '<path d=\"m24.99933,18.95592l0,-9.54576m-5.78374,-9.40907l0,28.35939m-5.78718,-9.40457l0,-9.54576m-5.78374,-9.40907l0,28.35939\" id=\"path10566\" stroke-miterlimit=\"14.3\" stroke=\"#010101\" fill=\"none\"/>' + '<path d=\"m26.79878,14.13039l6.90583,0m-33.22691,0l6.90583,0\" id=\"path10568\" stroke-miterlimit=\"14.3\" stroke-linecap=\"square\" stroke=\"#010101\" fill=\"none\"/>' + '</svg>';\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/analog/VoltageSupplyVertical.js\":\n/*!***************************************************!*\\\n !*** ./src/shape/analog/VoltageSupplyVertical.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.analog.VoltageSupplyVertical({x:10, y:10});\n *\n * canvas.add(figure);\n *\n *\n * @extends draw2d.SVGFigure\n */\n_packages2.default.shape.analog.VoltageSupplyVertical = _packages2.default.SVGFigure.extend(\n/** @lends draw2d.shape.analog.VoltageSupplyVertical.prototype */\n{\n\n NAME: \"draw2d.shape.analog.VoltageSupplyVertical\",\n\n // custom locator for the special design of the Input area\n MyInputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, figure) {\n var w = figure.getParent().getWidth();\n var h = figure.getParent().getHeight();\n this.applyConsiderRotation(figure, w / 2, h);\n }\n }),\n\n // custom locator for the special design of the Output area\n MyOutputPortLocator: _packages2.default.layout.locator.PortLocator.extend({\n init: function init() {\n this._super();\n },\n relocate: function relocate(index, figure) {\n var w = figure.getParent().getWidth();\n this.applyConsiderRotation(figure, w / 2, 0);\n }\n }),\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 30, height: 50 }, attr), setter, getter);\n\n this.inputLocator = new this.MyInputPortLocator();\n this.outputLocator = new this.MyOutputPortLocator();\n\n this.createPort(\"hybrid\", this.inputLocator); // GND\n this.createPort(\"hybrid\", this.outputLocator); // VCC\n },\n\n /**\n * @inheritdoc\n */\n getSVG: function getSVG() {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">' + '<path d=\"m19.62398,12.37594l-9.87926,0m-9.74355,8.22145l29.36289,0m-9.74007,8.22469l-9.87927,0m-9.74355,8.22145l29.36289,0\" id=\"path10560\" stroke-miterlimit=\"14.3\" stroke=\"#010101\" fill=\"none\"/>' + '<path d=\"m14.63157,9.81646l0,-9.81646m0,47.2328l0,-9.81646\" id=\"path10562\" stroke-miterlimit=\"14.3\" stroke-linecap=\"square\" stroke=\"#010101\" fill=\"none\"/>' + '</svg>';\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/arrow/CalligrapherArrowDownLeft.js\":\n/*!******************************************************!*\\\n !*** ./src/shape/arrow/CalligrapherArrowDownLeft.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Hand drawn arrow which points down left\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.arrow.CalligrapherArrowDownLeft({x:10,y:10, color:\"#3d3d3d\"});\n *\n * canvas.add(figure);\n *\n *\n * @extends draw2d.SVGFigure\n */\n_packages2.default.shape.arrow.CalligrapherArrowDownLeft = _packages2.default.SVGFigure.extend(\n/** @lends draw2d.shape.arrow.CalligrapherArrowDownLeft.prototype */\n{\n\n NAME: \"draw2d.shape.arrow.CalligrapherArrowDownLeft\",\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr);\n },\n\n getSVG: function getSVG() {\n return '<svg width=\"180\" height=\"300\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">' + ' <path style=\"fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none\" id=\"path3084\" d=\"m 159.63578,17.846597 c 0.43137,9.44641 -0.0636,18.88035 -0.8284,28.30165 c -1.73211,18.38336 -4.05381,36.71698 -6.08253,55.075313 c -1.61738,13.7075 -3.03402,27.43467 -3.97611,41.19113 c -1.09101,11.16584 -1.31019,22.36559 -1.28541,33.56466 c -0.1328,4.82188 0.3218,9.6468 0.14332,14.46812 c -0.0888,2.39977 -0.28315,3.73625 -0.55012,6.12095 c -0.85848,4.73147 -2.27416,9.40019 -4.7769,13.68272 c -1.47003,2.51544 -3.78493,5.6647 -5.47739,8.05048 c -5.02888,6.66256 -11.08555,12.65652 -18.10552,17.75963 c -4.23302,3.07716 -7.74942,5.12065 -12.22081,7.86298 c -13.253319,6.72606 -25.889792,15.11686 -40.84124,18.60576 c -3.016829,0.7039 -4.431417,0.8157 -7.450859,1.2076 c -6.983246,0.5774 -14.009174,0.3375 -21.010676,0.2509 c -3.278795,-0.033 -6.55749,0.01 -9.835897,0.045 c 0,0 20.838833,-13.2364 20.838833,-13.2364 l 0,0 c 3.147056,0.093 6.294483,0.1852 9.443646,0.2007 c 6.966697,0.011 13.971433,0.1301 20.897176,-0.6344 c 3.732439,-0.5577 7.321215,-1.2431 10.881203,-2.4145 c 1.517208,-0.4992 5.830867,-2.43339 4.487902,-1.6386 c -6.098183,3.6088 -25.104875,12.8748 -9.52514,5.223 c 4.40875,-2.5927 8.262057,-4.7459 12.425175,-7.65986 c 6.839117,-4.78709 12.633657,-10.50427 17.500607,-16.86761 c 2.53518,-3.56692 5.24684,-7.12748 7.07617,-11.03446 c 1.42357,-3.0404 2.21532,-6.28727 2.91146,-9.50152 c 0.91919,-6.88822 1.03991,-13.81392 1.25118,-20.74151 c 0.47683,-11.27871 0.96259,-22.55877 1.61689,-33.83062 c 1.21127,-14.03392 3.64191,-27.94339 5.46543,-41.92167 c 2.26899,-18.186603 4.6835,-36.384373 5.4487,-54.679643 c 0.0788,-2.46092 0.23808,-4.92087 0.23618,-7.38276 c -0.005,-6.45916 -0.62194,-13.00218 -2.13821,-19.32664 c 0,0 23.48134,-10.73998 23.48134,-10.73998 z\" inkscape:connector-curvature=\"0\" />' + ' <path style=\"fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none\" id=\"path3086\" d=\"m 41.271518,252.40239 c 2.465518,-0.7264 4.879503,-1.7726 7.145328,-2.9859 c 0.955597,-0.5117 3.736822,-2.1986 2.791991,-1.6673 c -5.218817,2.9348 -10.409826,5.9187 -15.61474,8.878 c 5.366557,-3.4898 10.227818,-7.6685 14.119927,-12.75576 c 3.507157,-5.09382 4.097613,-11.17122 4.301158,-17.17644 c 0.02635,-3.95844 -0.31227,-7.90612 -0.635377,-11.84752 c 0,0 19.920693,-10.3059 19.920693,-10.3059 l 0,0 c 0.171761,4.05015 0.409899,8.09777 0.50079,12.15101 c -0.185739,6.23619 -0.347804,12.66862 -3.492579,18.24747 c -0.503375,0.75197 -0.961922,1.53596 -1.510126,2.25591 c -3.478528,4.56826 -8.226837,8.04586 -12.757403,11.47443 c -7.345206,4.3297 -14.671333,8.692 -22.035619,12.9891 c -3.551305,2.0723 -7.368692,3.8726 -11.394645,4.7773 c 0,0 18.660602,-14.0344 18.660602,-14.0344 z\" inkscape:connector-curvature=\"0\" />' + ' <path style=\"fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none\" id=\"path3088\" d=\"m 37.815923,255.49919 c 3.41111,0.1581 6.814569,0.2213 10.182693,0.8184 c 6.92998,2.6928 13.533527,6.2357 20.043462,9.8162 c 3.912139,2.1362 7.91195,4.4644 10.690321,8.0298 c 1.039962,1.2802 1.510411,2.7604 1.893523,4.3313 c 0,0 -20.370847,10.9259 -20.370847,10.9259 l 0,0 c -0.225419,-1.2711 -0.55067,-2.4558 -1.329618,-3.5184 c -2.332229,-3.3633 -5.869056,-5.6279 -9.247191,-7.8233 c -6.335066,-3.7106 -12.98611,-7.1834 -20.232784,-8.6836 c -3.497247,-0.3814 -7.011372,-0.4307 -10.521829,-0.1703 c 0,0 18.89227,-13.726 18.89227,-13.726 z\" inkscape:connector-curvature=\"0\" />' + '</svg>';\n },\n\n /**\n *\n * propagate all attributes like color, stroke,... to the shape element\n **/\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n if (this.svgNodes !== null) {\n this.svgNodes.attr({ fill: this.color.rgba() });\n }\n\n this._super(attributes);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/arrow/CalligrapherArrowLeft.js\":\n/*!**************************************************!*\\\n !*** ./src/shape/arrow/CalligrapherArrowLeft.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Hand drawn arrow to the left.\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.arrow.CalligrapherArrowLeft({x:10, y:10, color:\"#3d3d3d\"});\n *\n * canvas.add(figure);\n *\n * @extends draw2d.SVGFigure\n */\n_packages2.default.shape.arrow.CalligrapherArrowLeft = _packages2.default.SVGFigure.extend(\n/** @lends draw2d.shape.arrow.CalligrapherArrowLeft.prototype */\n{\n NAME: \"draw2d.shape.arrow.CalligrapherArrowLeft\",\n\n /**\n * Creates a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr);\n },\n\n getSVG: function getSVG() {\n return '<svg width=\"230\" height=\"60\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">' + ' <path style=\"fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none\" id=\"path3024\" d=\"m 218.87943,27.464763 c -1.21088,-0.0563 -2.42064,-0.14616 -3.63262,-0.16893 c -5.82495,-0.10948 -18.61676,-0.0226 -22.97385,0.0122 c -7.12848,0.057 -14.25673,0.14021 -21.38495,0.22333 c -9.03765,0.10539 -18.07511,0.22813 -27.11266,0.3422 c -10.2269,0.11878 -20.4538,0.23756 -30.6807,0.35634 c -35.488759,0.4089 -70.975849,0.82793 -106.4669238,0.95195 c 0,0 7.9718628,-5.70244 7.9718628,-5.70244 l 0,0 c 6.374241,0.28694 12.745594,0.64561 19.122722,0.86083 c 28.09499,0.94816 56.21338,0.92473 84.315959,0.32205 c 10.51273,-0.32805 21.0288,-0.56402 31.53819,-0.98412 c 27.47361,-1.09824 54.91405,-2.91665 82.28177,-5.53697 c 0,0 -12.9788,9.32351 -12.9788,9.32351 z\" inkscape:connector-curvature=\"0\" />' + ' <path style=\"fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none\" id=\"path3026\" d=\"m 100.75066,1.6309831 c -7.165239,3.9571 -14.284929,7.47866 -22.036659,10.2707299 c -5.00195,1.80163 -10.10374,3.31886 -15.2402,4.79424 c -8.25878,2.37815 -16.55626,4.65805 -24.9012,6.79479 c -2.89107,0.71593 -5.74687,1.56407 -8.66266,2.20424 c -3.211679,0.70512 -6.49468,1.17333 -9.752959,1.6747 c -5.447101,0.92112 -10.9044008,1.81762 -16.3983488,2.50082 c -1.608931,0.0814 -0.850754,0.10697 -2.275834,-0.0365 C 20.004071,21.041553 19.256899,21.517873 32.515691,19.216243 c 6.21537,-1.05913 12.34875,-2.37668 18.3945,-4.03234 c 8.12719,-2.02803 16.23765,-4.1157 24.26421,-6.4321199 c 5.23574,-1.55053 10.41682,-3.15473 15.46857,-5.12875 c 1.38953,-0.54295 2.7579,-1.12682 4.12253,-1.71603 c 0.98421,-0.42496 3.86537,-1.81801999 2.92296,-1.32600999 C 93.642191,2.6934931 89.529511,4.7073031 85.450031,6.7704531 l 15.300629,-5.1394 z\" inkscape:connector-curvature=\"0\" sodipodi:nodetypes=\"csccsccccccsssccc\" />' + ' <path style=\"fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none\" id=\"path3028\" d=\"m 80.764281,58.068863 c -2.45498,-3.50762 -6.58178,-6.10525 -10.40324,-8.66732 c -4.30614,-2.72676 -7.93958,-6.28283 -12.6021,-8.28702 c -7.39912,-4.50257 -11.70055,-7.85592 -20.85866,-9.23429 c -4.9257,-0.85706 -17.294247,-1.32043 -22.226462,-2.15427 c -3.445882,-0.42869 -6.2035918,0.70541 -9.6845138,0.57715 c -1.496337,-0.0586 -2.99355,-0.0965 -4.491229,-0.12472 l 13.9525278,-6.24562 l 3.25,-1.17153 c 1.441459,0.0813 -1.116338,0.15309 0.325505,0.23016 c 3.574557,0.17902 7.211864,0.0695 10.712655,0.73822 c 4.723107,1.08097 9.443947,2.1624 14.234177,3.05317 c 2.76739,0.64203 3.92627,0.87082 6.64127,1.66289 c 4.42146,1.28993 8.60075,3.01513 12.86503,4.58129 c 1.90199,0.73446 5.05193,1.93181 6.89302,2.7216 c 4.92005,2.11061 9.5916,4.57045 13.9716,7.31023 c 4.16708,2.62011 8.48023,5.20033 11.72012,8.56863 z\" inkscape:connector-curvature=\"0\" sodipodi:nodetypes=\"ccccccccccccscsccc\" />' + '</svg>';\n },\n\n /**\n *\n * propagate all attributes like color, stroke,... to the shape element\n **/\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n if (this.svgNodes !== null) {\n this.svgNodes.attr({ fill: this.color.rgba() });\n }\n\n this._super(attributes);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Arc.js\":\n/*!********************************!*\\\n !*** ./src/shape/basic/Arc.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Oval figure.\n * @example\n *\n * let arc = new draw2d.shape.basic.Arc({diameter:150, x:50, y:10, startAngle:0, endAngle:45});\n *\n * canvas.add(arc);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.VectorFigure\n */\n_packages2.default.shape.basic.Arc = _packages2.default.SetFigure.extend(\n/** @lends draw2d.shape.basic.Arc.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Arc\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.startAngle = 180;\n this.endAngle = 360;\n\n this._super((0, _extend2.default)({ width: 80, height: 50, bgColor: null, color: \"#1B1B1B\" }, attr), setter, getter);\n this.strokeScale = false; // scale the stroke width of the children nodes if the parent resize\n },\n\n /**\n * @template\n **/\n createSet: function createSet() {\n this.canvas.paper.setStart();\n\n var flag = this.endAngle - this.startAngle > 180;\n var a1 = this.startAngle % 360 * Math.PI / 180;\n var a2 = this.endAngle % 360 * Math.PI / 180;\n\n var w2 = this.getWidth() / 2;\n var h2 = this.getHeight() / 2;\n\n this.canvas.paper.path([[\"M\", w2, h2, \"l\", w2 * Math.cos(a1), h2 * Math.sin(a1), \"A\", w2, h2, 0, +flag, 1, w2 + w2 * Math.cos(a2), h2 + h2 * Math.sin(a2), \"z\"]].join(\"\")).attr({ \"fill\": \"#fff0f0\" });\n\n return this.canvas.paper.setFinish();\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Circle.js\":\n/*!***********************************!*\\\n !*** ./src/shape/basic/Circle.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A circle figure with basic background and stroke API. <br>\n * A circle can not be streched. <strong>The aspect ration is always 1:1</strong>.\n *\n *\n * @example\n *\n * let shape = new draw2d.shape.basic.Circle({x:40,y:10, stroke:3, color:\"#3d3d3d\", bgColor:\"#3dff3d\"});\n *\n * canvas.add(shape);\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Oval\n */\n_packages2.default.shape.basic.Circle = _packages2.default.shape.basic.Oval.extend(\n/** @lends draw2d.shape.basic.Circle.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Circle\",\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n * @param {Object} [setter] add or replace setter methods\n * @param {Object} [getter] add or replace getter methods\n **/\n init: function init(attr, setter, getter) {\n this._super(attr, (0, _extend2.default)({\n // @attr {Number} diameter the diameter of the circle */\n diameter: this.setDiameter,\n // @attr {Number} radius the radius of the circle */\n radius: this.setRadius\n }, setter), (0, _extend2.default)({\n diameter: this.getDiameter,\n radius: this.getRadius\n }, getter));\n\n this.setKeepAspectRatio(true);\n },\n\n /**\n *\n * Set the diameter of the circle. The center of the circle will be retained.\n *\n * @param {Number} d The new diameter of the circle.\n * @since 4.0.0\n * @returns {this}\n **/\n setDiameter: function setDiameter(d) {\n var center = this.getCenter();\n this.setDimension(d, d);\n this.setCenter(center);\n this.fireEvent(\"change:diameter\", { value: d });\n\n return this;\n },\n\n /**\n *\n * Get the diameter of the circle.\n *\n * @since 4.0.0\n * @returns {Number} the diameter of the circle\n **/\n getDiameter: function getDiameter() {\n return this.getWidth();\n },\n\n /**\n *\n * Set the radius of the circle. The center of the circle will be retained.\n *\n * @param {Number} r The new radius of the circle.\n * @since 4.0.0\n * @returns {this}\n **/\n setRadius: function setRadius(r) {\n this.setDiameter(r * 2);\n this.fireEvent(\"change:radius\", { value: r });\n\n return this;\n },\n\n /**\n * Get the radius of the circle\n *\n * @returns {Number} the radius of the circle\n */\n getRadius: function getRadius() {\n return this.getWidth / 2;\n },\n\n /**\n * @inheritdoc\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n // delete the radius attribute of the parent. Because the \"radius\" is the corner radius\n // of the shape and not the \"radius\" of the circle. Design flaw. :-/\n delete memento.radius;\n\n return memento;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Diamond.js\":\n/*!************************************!*\\\n !*** ./src/shape/basic/Diamond.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A Diamond Figure.\n *\n *\n * @example\n *\n * let d1 = new draw2d.shape.basic.Diamond({x:10,y:10});\n * let d2 = new draw2d.shape.basic.Diamond({x:100,y:10, bgColor:\"#f0f000\", alpha:0.7, width:100, height:60});\n *\n * canvas.add(d1);\n * canvas.add(d2);\n *\n * canvas.setCurrentSelection(d2);\n *\n * @author Andreas Herz\n * @extends draw2d.VectorFigure\n */\n_packages2.default.shape.basic.Diamond = _packages2.default.shape.basic.Polygon.extend(\n/** @lends draw2d.shape.basic.Diamond.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Diamond\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ bgColor: \"#00a3f6\", color: \"#1B1B1B\" }, attr), setter, getter);\n\n var pos = this.getPosition();\n\n this.resetVertices();\n\n var box = this.getBoundingBox();\n this.addVertex(box.w / 2, 0); // Go to the top center..\n this.addVertex(box.w, box.h / 2); // ...draw line to the right middle\n this.addVertex(box.w / 2, box.h); // ...bottom center...\n this.addVertex(0, box.h / 2); // ...left middle...\n\n // override the selection handler from the polygon. Because the vertices of\n // the diamond are not selectable and modifiable\n //\n this.installEditPolicy(new _packages2.default.policy.figure.RectangleSelectionFeedbackPolicy());\n\n this.setPosition(pos);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/GhostVertexResizeHandle.js\":\n/*!****************************************************!*\\\n !*** ./src/shape/basic/GhostVertexResizeHandle.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * ResizeHandle for a vertex edit policy. Click of this kind of resize handles\n * adds a new vertex to the polyline or polygon.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.LineResizeHandle\n */\n_packages2.default.shape.basic.GhostVertexResizeHandle = _packages2.default.shape.basic.LineResizeHandle.extend(\n/** @lends draw2d.shape.basic.GhostVertexResizeHandle.prototype */\n{\n\n NAME: \"draw2d.shape.basic.GhostVertexResizeHandle\",\n\n /**\n *\n *\n */\n init: function init(owner, precursorIndex) {\n this.maxOpacity = 0.35;\n this.precursorIndex = precursorIndex;\n\n this._super({ owner: owner, opacity: this.maxOpacity });\n },\n\n createShapeElement: function createShapeElement() {\n var shape = this._super();\n\n shape.attr({ \"cursor\": \"pointer\" });\n\n return shape;\n },\n\n /**\n *\n * Set the alpha blending of this figure.\n *\n * @param {Number} percent Value between [0..1].\n * @template\n **/\n setAlpha: function setAlpha(percent) {\n this._super(Math.min(this.maxOpacity, Math.max(0, parseFloat(percent))));\n\n return this;\n },\n\n /**\n *\n * Called when a user clicks on the element\n *\n * @template\n */\n onClick: function onClick() {\n var cmd = new _packages2.default.command.CommandAddVertex(this.owner, this.precursorIndex + 1, this.getAbsoluteX() + this.getWidth() / 2, this.getAbsoluteY() + this.getHeight() / 2);\n this.getCanvas().getCommandStack().execute(cmd);\n },\n\n /**\n * Called if the drag and drop action begins. You can return [false] if you\n * want avoid the that the figure can be move.\n *\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @type {Boolean}\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n return true;\n },\n\n /**\n *\n * Called from the framework during a drag&drop operation\n *\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @returns {Boolean}\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n return true;\n },\n\n /**\n * Called after a drag and drop action.<br>\n * Sub classes can override this method to implement additional stuff. Don't forget to call the super implementation via <code>this._super();</code>\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean}\n */\n onDragEnd: function onDragEnd(x, y, shiftKey, ctrlKey) {\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"dragend\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n\n return true;\n },\n\n /**\n *\n * Controls the location of the resize handle\n *\n * @template\n **/\n relocate: function relocate() {\n var p1 = this.owner.getVertices().get(this.precursorIndex);\n var p2 = this.owner.getVertices().get(this.precursorIndex + 1);\n\n this.setPosition((p2.x - p1.x) / 2 + p1.x - this.getWidth() / 2, (p2.y - p1.y) / 2 + p1.y - this.getHeight() / 2);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Image.js\":\n/*!**********************************!*\\\n !*** ./src/shape/basic/Image.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Simple Image shape.\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.node.Node\n */\n_packages2.default.shape.basic.Image = _packages2.default.shape.node.Node.extend(\n/** @lends draw2d.shape.basic.Image.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Image\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr, (0, _extend2.default)({\n // @attr {String} path the image path (absolute or relative) of the shape */\n path: this.setPath\n }, setter), (0, _extend2.default)({\n path: this.getPath\n }, getter));\n },\n\n /**\n * \n * Set the image path attribute of the Image shape and repaint them.\n * The path can be relative or absolute\n *\n * @param path\n * @since 2.8.0\n */\n setPath: function setPath(path) {\n this.path = path;\n\n if (this.shape !== null) {\n this.shape.attr({ src: this.path });\n }\n this.fireEvent(\"change:path\", { value: this.path });\n\n return this;\n },\n\n /**\n * \n * Return the image path attribute of the shape.\n *\n * @returns {String}\n * @since 2.8.0\n */\n getPath: function getPath() {\n return this.path;\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return this;\n }\n\n attributes = attributes || {};\n\n attributes.x = this.getAbsoluteX();\n attributes.y = this.getAbsoluteY();\n attributes.width = this.getWidth();\n attributes.height = this.getHeight();\n attributes.src = this.path;\n\n // propagate the width/height and the display:inline-block as CSS attribute as well because Chrome\n // did some \"flickering\" in some versions and sometimes the image disappear complete\n $(this.shape.node).css({ display: \"inline-block\", \"width\": attributes.width, \"height\": attributes.height });\n\n this._super(attributes);\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n createShapeElement: function createShapeElement() {\n return this.canvas.paper.image(this.path, this.getX(), this.getY(), this.getWidth(), this.getHeight());\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n return (0, _extend2.default)(this._super(), {\n path: this.path\n });\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n if (typeof memento.path !== \"undefined\") {\n this.setPath(memento.path);\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Label.js\":\n/*!**********************************!*\\\n !*** ./src/shape/basic/Label.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _JSONUtil = __webpack_require__(/*! ../../util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Implements a simple text label.\n *\n *\n * @example\n *\n * let shape = new draw2d.shape.basic.Label({text:\"This is a simple label\", x:40, y:10});\n *\n * canvas.add(shape);\n *\n * @author Andreas Herz\n * @extends draw2d.SetFigure\n */\n_packages2.default.shape.basic.Label = _packages2.default.SetFigure.extend(\n/** @lends draw2d.shape.basic.Label.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Label\",\n\n FONT_FALLBACK: {\n 'Georgia': 'Georgia, serif',\n 'Palatino Linotype': '\"Palatino Linotype\", \"Book Antiqua\", Palatino, serif',\n 'Times New Roman': '\"Times New Roman\", Times, serif',\n 'Arial': 'Arial, Helvetica, sans-serif',\n 'Arial Black': '\"Arial Black\", Gadget, sans-serif',\n 'Comic Sans MS': '\"Comic Sans MS\", cursive, sans-serif',\n 'Impact': 'Impact, Charcoal, sans-serif',\n 'Lucida Sans Unicode': '\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif',\n 'Tahoma, Geneva': 'Tahoma, Geneva, sans-seri',\n 'Trebuchet MS': '\"Trebuchet MS\", Helvetica, sans-serif',\n 'Verdana': 'Verdana, Geneva, sans-serif',\n 'Courier New': '\"Courier New\", Courier, monospace',\n 'Lucida Console': '\"Lucida Console\", Monaco, monospace'\n },\n\n /**\n * Creates a new text element.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n\n this.text = \"\";\n // for performance reasons\n //\n this.cachedWidth = null;\n this.cachedHeight = null;\n this.cachedMinWidth = null;\n this.cachedMinHeight = null;\n\n // appearance of the shape\n //\n this.fontSize = 12;\n this.fontColor = new _packages2.default.util.Color(\"#080808\");\n this.fontFamily = null;\n this.padding = { top: 4, right: 4, bottom: 4, left: 4 };\n\n this.outlineStroke = 0;\n this.outlineColor = new _packages2.default.util.Color(null);\n\n this.bold = false;\n\n // behavior of the shape\n //\n this.editor = null;\n\n this._super((0, _extend2.default)({ stroke: 1, width: 1, height: 1, resizeable: false }, attr), (0, _extend2.default)({\n // @attr {String} text the text to show */\n text: this.setText,\n // @attr {String} set the editor to use see {@link draw2d.ui.LabelEditor} */\n editor: this.installEditor,\n // @attr {Number} outlineStroke the line width of the text to draw. Fill color and outline of the text can be different. */\n outlineStroke: this.setOutlineStroke,\n // @attr {String|draw2d.util.Color} outlineColor the outline color of the text */\n outlineColor: this.setOutlineColor,\n // @attr {String} fontFamily the font to use*/\n fontFamily: this.setFontFamily,\n // @attr {Number} fontSize the font size to use */\n fontSize: this.setFontSize,\n // @attr {String|draw2d.util.Color} fontColor the font color */\n fontColor: this.setFontColor,\n // @attr {Number} padding the padding in pixel around the text */\n padding: this.setPadding,\n // @attr {Boolean} bold indicator if bold text should be used*/\n bold: this.setBold\n }, setter), (0, _extend2.default)({\n text: this.getText,\n outlineStroke: this.getOutlineStroke,\n outlineColor: this.getOutlineColor,\n fontFamily: this.getFontFamily,\n fontSize: this.getFontSize,\n fontColor: this.getFontColor,\n padding: this.getPadding,\n bold: this.isBold\n }, getter));\n\n this.installEditPolicy(new _packages2.default.policy.figure.AntSelectionFeedbackPolicy());\n\n // some performance improvements\n this.lastAppliedLabelRotation = \"\";\n this.lastAppliedTextAttributes = {};\n },\n\n /**\n *\n * Creates the shape object for a text node.\n *\n * @private\n **/\n createSet: function createSet() {\n return this.canvas.paper.text(0, 0, this.text);\n },\n\n /**\n *\n * Set the canvas element of this figures.\n *\n * @param {draw2d.Canvas} canvas the new parent of the figure or null\n * @private\n */\n setCanvas: function setCanvas(canvas) {\n this.clearCache();\n this._super(canvas);\n this.clearCache();\n },\n\n /**\n *\n * Trigger the repaint of the element and transport all style properties to the visual representation.<br>\n * Called by the framework.\n *\n * @private\n **/\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null || this.parent && this.parent.repaintBlocked === true) {\n return;\n }\n\n // style the label\n var lattr = this.calculateTextAttr();\n lattr.text = this.text;\n\n var attrDiff = _JSONUtil2.default.flatDiff(lattr, this.lastAppliedTextAttributes);\n this.lastAppliedTextAttributes = lattr;\n\n // the two \"attr\" calls takes 2/3 of the complete method call (chrome performance check).\n // now we check if any changes happens and call this method only if necessary.\n if (Object.getOwnPropertyNames(attrDiff).length > 0) {\n this.svgNodes.attr(lattr);\n // set of the x/y must be done AFTER the font-size and bold has been set.\n // Reason: the getBBox method needs the font attributes for calculation\n this.svgNodes.attr({\n x: this.padding.left + this.stroke,\n y: this.svgNodes.getBBox(true).height / 2 + this.padding.top + this.getStroke()\n });\n }\n this._super(attributes);\n },\n\n /**\n *\n * @private\n */\n calculateTextAttr: function calculateTextAttr() {\n var lattr = {\n \"text-anchor\": \"start\",\n \"font-size\": this.fontSize,\n \"font-weight\": this.bold === true ? \"bold\" : \"normal\",\n fill: this.fontColor.rgba(),\n stroke: this.outlineColor.rgba(),\n \"stroke-width\": this.outlineStroke\n };\n if (this.fontFamily !== null) {\n lattr[\"font-family\"] = this.fontFamily;\n }\n return lattr;\n },\n\n /**\n * @private\n * @returns {this}\n */\n applyTransformation: function applyTransformation() {\n var ts = \"R\" + this.rotationAngle;\n // if(ts!==this.lastAppliedLabelRotation){\n this.shape.transform(ts);\n this.lastAppliedLabelRotation = ts;\n // }\n\n this.svgNodes.transform(\"R\" + this.rotationAngle + \"T\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY());\n\n return this;\n },\n\n /**\n *\n * Set the new font size in [pt].\n *\n * @returns {this}\n * @param {Number} size The new font size in <code>pt</code>\n **/\n setFontSize: function setFontSize(size) {\n this.clearCache();\n this.fontSize = size;\n\n this.repaint();\n\n this.fireEvent(\"change:fontSize\", { value: this.fontSize });\n this.fireEvent(\"resize\");\n\n // Update the resize handles if the user change the position of the element via an API call.\n //\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n return this;\n },\n\n /**\n *\n * Return the current used font size in px.\n *\n * @returns {Number}\n * @since 4.0.1\n */\n getFontSize: function getFontSize() {\n return this.fontSize;\n },\n\n /**\n *\n * Set the label to <b>bold</b> or <b>normal</b> font weight.\n *\n * @param {Boolean} bold The bold flag for the label\n * @since 2.4.1\n * @returns {this}\n **/\n setBold: function setBold(bold) {\n this.clearCache();\n this.bold = bold;\n this.repaint();\n\n this.fireEvent(\"change:bold\", { value: this.bold });\n this.fireEvent(\"resize\");\n\n // Update the resize handles if the user change the position of the element via an API call.\n //\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n return this;\n },\n\n /**\n *\n * Return the \"bold\" attribute of the label\n *\n * @since 5.0.0\n * @returns {Boolean}\n */\n isBold: function isBold() {\n return this.bold;\n },\n\n /**\n *\n * Set the outline color of the font.\n *\n * @param {draw2d.util.Color/String} color The new color of the line.\n * @since 4.2.1\n * @returns {this}\n **/\n setOutlineColor: function setOutlineColor(color) {\n this.outlineColor = new _packages2.default.util.Color(color);\n this.repaint();\n this.fireEvent(\"change:outlineColor\", { value: this.outlineColor });\n\n return this;\n },\n\n /**\n *\n * The outline color of the text\n *\n * @returns {draw2d.util.Color}\n * @since 4.2.1\n */\n getOutlineColor: function getOutlineColor() {\n return this.outlineColor;\n },\n\n /**\n *\n * Set the stroke of the text to use.\n *\n * @param {Number} w The new line width of the figure\n * @since 4.2.1\n * @returns {this}\n **/\n setOutlineStroke: function setOutlineStroke(w) {\n this.outlineStroke = w;\n this.repaint();\n this.fireEvent(\"change:outlineStroke\", { value: this.outlineStroke });\n\n return this;\n },\n\n /**\n *\n * The used outline line width.\n *\n * @type {Number}\n * @since 4.2.1\n **/\n getOutlineStroke: function getOutlineStroke() {\n return this.outlineStroke;\n },\n\n /**\n *\n * Set the color of the font.\n *\n * @param {draw2d.util.Color|String} color The new color of the line.\n * @returns {this}\n **/\n setFontColor: function setFontColor(color) {\n this.fontColor = new _packages2.default.util.Color(color);\n this.repaint();\n this.fireEvent(\"change:fontColor\", { value: this.fontColor });\n\n return this;\n },\n\n /**\n *\n * The current used font color\n *\n * @returns {draw2d.util.Color}\n */\n getFontColor: function getFontColor() {\n return this.fontColor;\n },\n\n /**\n *\n * Set the padding of the element\n *\n * // Alternatively you can use the attr method:\n * //\n * // set the padding for top,left,bottom,right in one call\n * figure.attr({\n * padding: 3\n * });\n *\n * // update the padding left and top\n * figure.attr({\n * padding: {left:3, top:30}\n * });\n *\n * @param {Number|Object} padding The new padding\n * @returns {this}\n **/\n setPadding: function setPadding(padding) {\n this.clearCache();\n if (typeof padding === \"number\") {\n this.padding = { top: padding, right: padding, bottom: padding, left: padding };\n } else {\n this.padding = (0, _extend2.default)(this.padding, padding);\n }\n this.repaint();\n this.fireEvent(\"change:padding\", { value: this.padding });\n\n return this;\n },\n\n /**\n *\n * Get the padding of the element.\n *\n * @since 4.0.1\n **/\n getPadding: function getPadding() {\n return this.padding;\n },\n\n /**\n *\n * Set the font family to use. If you use the shown font names the typical fallback\n * font are installed as well.\n *\n * <b>Serif Fonts</b>\n * <ul>\n * <li><span style=\"font-family:'Georgia'\">Georgia</span></li>\n * <li><span style=\"font-family:'Palatino Linotype'\">Palatino Linotype</span></li>\n * <li><span style=\"font-family:'Times New Roman'\">Times New Roman</span></li>\n * </ul>\n *\n * <b>Sans-Serif Fonts</b>\n * <ul>\n * <li><span style=\"font-family:'Arial'\">Arial</span></li>\n * <li><span style=\"font-family:'Arial Black'\">Arial Black</span></li>\n * <li><span style=\"font-family:'Comic Sans MS'\">Comic Sans MS</span></li>\n * <li><span style=\"font-family:'Impact, Charcoal'\">Impact, Charcoal</span></li>\n * <li><span style=\"font-family:'Lucida Sans Unicode'\">Lucida Sans Unicode</span></li>\n * <li><span style=\"font-family:'Tahoma, Geneva'\">Tahoma, Geneva</span></li>\n * <li><span style=\"font-family:'Trebuchet MS'\">Trebuchet MS</span> </li>\n * <li><span style=\"font-family:'Verdana'\">Verdana</span></li>\n * </ul>\n *\n * <b>Monospace Fonts</b>\n * <ul>\n * <li><span style=\"font-family:'Courier New'\">Courier New</span></li>\n * <li><span style=\"font-family:'Lucida Console'\">Lucida Console</span></li>\n * </ul>\n *\n * @param {String} font The font to use\n * @returns {this}\n **/\n setFontFamily: function setFontFamily(font) {\n this.clearCache();\n\n // check for fallback\n //\n if (typeof font !== \"undefined\" && font !== null && typeof this.FONT_FALLBACK[font] !== \"undefined\") {\n font = this.FONT_FALLBACK[font];\n }\n\n this.fontFamily = font;\n this.repaint();\n this.fireEvent(\"change:fontFamily\", { value: this.fontFamily });\n\n return this;\n },\n\n /**\n *\n * Returns the used font family of the label.\n *\n * @returns {String}\n */\n getFontFamily: function getFontFamily() {\n return this.fontFamily;\n },\n\n /**\n *\n * A Label did have \"autosize\". Do nothing at all.\n *\n * @returns {this}\n **/\n setDimension: function setDimension(w, h) {\n this.clearCache();\n\n this._super(w, h);\n\n return this;\n },\n\n /**\n *\n * clear the internal cache for width/height precalculation\n * @private\n */\n clearCache: function clearCache() {\n this.portRelayoutRequired = true;\n this.cachedMinWidth = null;\n this.cachedMinHeight = null;\n this.cachedWidth = null;\n this.cachedHeight = null;\n this.lastAppliedTextAttributes = {};\n\n return this;\n },\n\n /**\n *\n * This value is relevant for the interactive resize of the figure.\n *\n * @returns {Number} Returns the min. width of this object.\n */\n getMinWidth: function getMinWidth() {\n if (this.shape === null) {\n return 0;\n }\n\n if (this.cachedMinWidth === null) {\n this.cachedMinWidth = this.svgNodes.getBBox(true).width + this.padding.left + this.padding.right + 2 * this.getStroke();\n }\n\n return this.cachedMinWidth;\n },\n\n /**\n *\n * This value is relevant for the interactive resize of the figure.\n *\n * @returns {Number} Returns the min. width of this object.\n */\n getMinHeight: function getMinHeight() {\n if (this.shape === null) {\n return 0;\n }\n\n if (this.cachedMinHeight === null) {\n this.cachedMinHeight = this.svgNodes.getBBox(true).height + this.padding.top + this.padding.bottom + 2 * this.getStroke();\n }\n\n return this.cachedMinHeight;\n },\n\n /**\n *\n * Return the calculate width of the set. This calculates the bounding box of all elements.\n *\n * @returns {Number} the calculated width of the label\n **/\n getWidth: function getWidth() {\n if (this.shape === null) {\n return 0;\n }\n\n if (this.cachedWidth === null) {\n if (this.resizeable === true) {\n this.cachedWidth = Math.max(this.width, this.getMinWidth());\n } else {\n this.cachedWidth = this.getMinWidth();\n }\n }\n\n return this.cachedWidth;\n },\n\n /**\n *\n * Return the calculated height of the set. This calculates the bounding box of all elements.\n *\n * @returns {Number} the calculated height of the label\n */\n getHeight: function getHeight() {\n if (this.shape === null) {\n return 0;\n }\n\n if (this.cachedHeight === null) {\n this.cachedHeight = Math.max(this.height, this.getMinHeight());\n }\n\n return this.cachedHeight;\n },\n\n /**\n *\n * Set an editor for the label. This can be a dialog or inplace editor for the\n * Text.<br>\n * The editor will be activated if you doubleClick on the label.\n *\n * @param {draw2d.ui.LabelEditor|String} editor\n */\n installEditor: function installEditor(editor) {\n if (typeof editor === \"string\") {\n editor = eval(\"new \" + editor + \"()\");\n }\n this.editor = editor;\n\n return this;\n },\n\n /**\n *\n * Called when a user dbl clicks on the element\n *\n */\n onDoubleClick: function onDoubleClick() {\n if (this.editor !== null) {\n this.editor.start(this);\n }\n },\n\n /**\n *\n * Returns the current text of the label.\n *\n * @returns the current display text of the label\n * @type {String}\n **/\n getText: function getText() {\n return this.text;\n },\n\n /**\n *\n * Set the text for the label. Use \\n for multiline text.\n *\n * @param {String} text The new text for the label.\n * @returns {this}\n **/\n setText: function setText(text) {\n this.clearCache();\n this.text = text;\n\n this.repaint();\n // Update the resize handles if the user change the position of the element via an API call.\n //\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n this.fireEvent(\"resize\");\n this.fireEvent(\"change:text\", { value: this.text });\n\n if (this.parent !== null) {\n this.parent.repaint();\n }\n\n return this;\n },\n\n /**\n *\n * Detect whenever the hands over coordinate is inside the figure.\n * The default implementation is a simple bounding box test.\n *\n * @param {Number} iX\n * @param {Number} iY\n * @param {Number} [corona]\n *\n * @returns {Boolean}\n */\n hitTest: function hitTest(x, y, corona) {\n\n // apply a simple bounding box test if the label isn'T rotated\n //\n if (this.rotationAngle === 0) {\n return this._super(x, y, corona);\n }\n\n var boundingBox = this.getBoundingBox();\n if (typeof corona === \"number\") {\n boundingBox.scale(corona, corona);\n }\n\n // rotate the box with the current matrix of the\n // shape\n var matrix = this.shape.matrix;\n var points = boundingBox.getVertices();\n points.each(function (i, point) {\n var x = matrix.x(point.x, point.y);\n var y = matrix.y(point.x, point.y);\n point.x = x;\n point.y = y;\n });\n\n var polySides = 4;\n\n var j = polySides - 1;\n var oddNodes = false;\n\n for (var i = 0; i < polySides; i++) {\n var pi = points.get(i);\n var pj = points.get(j);\n if ((pi.y < y && pj.y >= y || pj.y < y && pi.y >= y) && (pi.x <= x || pj.x <= x)) {\n if (pi.x + (y - pi.y) / (pj.y - pi.y) * (pj.x - pi.x) < x) {\n oddNodes = !oddNodes;\n }\n }\n j = i;\n }\n return oddNodes;\n },\n\n /**\n *\n * Return an objects with all important attributes for XML or JSON serialization\n *\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n memento.text = this.text;\n memento.outlineStroke = this.outlineStroke;\n memento.outlineColor = this.outlineColor.rgba();\n memento.fontSize = this.fontSize;\n memento.fontColor = this.fontColor.rgba();\n memento.fontFamily = this.fontFamily;\n\n if (this.editor !== null) {\n memento.editor = this.editor.NAME;\n }\n return memento;\n },\n\n /**\n *\n * Apply all attributes from the serialized properties to the shape.\n * Used during JSON serialisation.\n *\n * @param {Object} memento\n * @returns {this}\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n if (typeof memento.text !== \"undefined\") {\n this.setText(memento.text);\n }\n if (typeof memento.outlineStroke !== \"undefined\") {\n this.setOutlineStroke(memento.outlineStroke);\n }\n if (typeof memento.outlineColor !== \"undefined\") {\n this.setOutlineColor(memento.outlineColor);\n }\n if (typeof memento.fontFamily !== \"undefined\") {\n this.setFontFamily(memento.fontFamily);\n }\n if (typeof memento.fontSize !== \"undefined\") {\n this.setFontSize(memento.fontSize);\n }\n if (typeof memento.fontColor !== \"undefined\") {\n this.setFontColor(memento.fontColor);\n }\n\n if (typeof memento.editor === \"string\") {\n this.installEditor(eval(\"new \" + memento.editor + \"()\"));\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Line.js\":\n/*!*********************************!*\\\n !*** ./src/shape/basic/Line.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _JSONUtil = __webpack_require__(/*! ../../util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @class\n * The base class for all visible elements inside a canvas.\n *\n *\n * @example\n *\n * // Create the line and modify the start/end after inserting them into\n * // the canvas\n * let line1 = new draw2d.shape.basic.Line({startX:30, startY:30, endX:100, endY:80});\n *\n * canvas.add(line1);\n *\n * // Create the line with a given start/end coordinate in the constructor\n * //\n * let line2 = new draw2d.shape.basic.Line({\n * startX:20,\n * startY:80,\n * endX:200,\n * endY:150,\n * stroke:3,\n * color:\"#1d1dff\"\n * });\n * canvas.add(line2);\n *\n * @author Andreas Herz\n * @extends draw2d.Figure\n */\n_packages2.default.shape.basic.Line = _packages2.default.Figure.extend(\n/** @lends draw2d.shape.basic.Line.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Line\",\n\n DEFAULT_COLOR: new _packages2.default.util.Color(0, 0, 0),\n\n /**\n * Creates a new figure element which are not assigned to any canvas witht he given start and\n * end coordinate.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n // click area for the line hit test\n this.corona = 10;\n this.isGlowing = false;\n this.lineColor = this.DEFAULT_COLOR;\n this.stroke = 1;\n this.outlineStroke = 0;\n this.outlineColor = new _packages2.default.util.Color(null);\n this.outlineVisible = false;\n\n this.draggedSegment = null;\n\n this.dasharray = null;\n\n this.start = new _packages2.default.geo.Point(30, 30);\n this.end = new _packages2.default.geo.Point(100, 100);\n\n this.vertices = new _packages2.default.util.ArrayList();\n this.vertices.add(this.start.clone());\n this.vertices.add(this.end.clone());\n\n this._super((0, _extend2.default)({\n deleteable: false,\n selectable: true\n }, attr), (0, _extend2.default)({}, {\n // @attr {Number} start the coordinates of the start point */\n start: this.setStartPosition,\n // @attr {Number} startX the x coordinate of the start point */\n startX: this.setStartX,\n // @attr {Number} startY the y coordinate of the start point */\n startY: this.setStartY,\n // @attr {Number} end the coordinates of the end point */\n end: this.setEndPosition,\n // @attr {Number} endX the x coordinate of the end */\n endX: this.setEndX,\n // @attr {Number} endY the y coordinate of the end */\n endY: this.setEndY,\n // @attr {Number} vertices the x coordinate of the start point */\n vertices: this.setVertices,\n // @attr {String | draw2d.util.Color} outlineColor the outline color of the line */\n outlineColor: this.setOutlineColor,\n // @attr {Number} outlineStroke the line width of the outline */\n outlineStroke: this.setOutlineStroke,\n // @attr {String|draw2d.util.Color} color the color of the line */\n color: this.setColor,\n // @attr {Number} stroke the line width of the color */\n stroke: this.setStroke,\n corona: this.setCorona,\n // @attr {String} dasharray the line pattern see {@link draw2d.shape.basic.Line#setDashArray} for more information*/\n dasharray: this.setDashArray,\n // @attr {Boolean} glow the glow flag for the shape. The representation of the \"glow\" depends on the shape */\n glow: this.setGlow\n }, setter), (0, _extend2.default)({}, {\n start: this.getStartPosition,\n end: this.getEndPosition,\n outlineColor: this.getOutlineColor,\n outlineStroke: this.getOutlineStroke,\n stroke: this.getStroke,\n corona: this.getCorona,\n color: this.getColor,\n dasharray: this.getDashArray,\n vertices: this.getVertices\n }, getter));\n\n // some router installs a edit policy. In this case we want delete them\n //\n if (this.editPolicy.getSize() === 0) {\n this.installEditPolicy(new _packages2.default.policy.line.LineSelectionFeedbackPolicy());\n }\n },\n\n /**\n *\n * Set the outline color of the line.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * outlineColor: color\n * });\n *\n * @param {draw2d.util.Color/String} color The new color of the line.\n * @since 4.2.1\n **/\n setOutlineColor: function setOutlineColor(color) {\n this.outlineColor = new _packages2.default.util.Color(color);\n this.repaint();\n this.fireEvent(\"change:outlineColor\", { value: this.outlineColor });\n\n return this;\n },\n\n /**\n *\n * The outline color of the text\n *\n * @returns {draw2d.util.Color}\n * @since 4.2.1\n */\n getOutlineColor: function getOutlineColor() {\n return this.outlineColor;\n },\n\n /**\n *\n * Set the outline stroke of the line to use.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * outlineStroke: w\n * });\n *\n * @param {Number} w The new outline width of the line\n * @since 4.2.1\n **/\n setOutlineStroke: function setOutlineStroke(w) {\n this.outlineStroke = w;\n this.repaint();\n this.fireEvent(\"change:outlineStroke\", { value: this.outlineStroke });\n\n return this;\n },\n\n /**\n *\n * The used outline line width.\n *\n * @returns {Number}\n * @since 4.2.1\n **/\n getOutlineStroke: function getOutlineStroke() {\n return this.outlineStroke;\n },\n\n /**\n *\n * Called if the drag and drop action begins. You can return [false] if you\n * want avoid that the figure can be move.\n *\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean} true if the figure accepts dragging\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey, isFaked) {\n var result = this._super(x, y, shiftKey, ctrlKey);\n\n if (result === true && isFaked !== true) {\n this.draggedSegment = { index: 0, start: this.start, end: this.end };\n }\n return result;\n },\n\n /**\n *\n * Don't call them manually. This will be done by the framework.<br>\n * Will be called if the object are moved via drag and drop.\n * Sub classes can override this method to implement additional stuff. Don't forget to call\n * the super implementation via <code>this._super(dx, dy, dx2, dy2);</code>\n * @private\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n if (this.command === null) {\n return;\n }\n\n this.vertices.each(function (i, e) {\n e.translate(dx2, dy2);\n });\n this.command.updateVertices(this.vertices.clone());\n\n // start/end are separate draw2d.geo.Point objects. Required for routing and determining if a node is dragged away\n // from the connection. In this case we must modify the start/end by hand\n this.start.translate(dx2, dy2);\n this.end.translate(dx2, dy2);\n\n this.svgPathString = null;\n this._super(dx, dy, dx2, dy2);\n },\n\n /**\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onDragEnd: function onDragEnd(x, y, shiftKey, ctrlKey) {\n var _this2 = this;\n\n // Element ist zwar schon an seine Position, das Command muss aber trotzdem\n // in dem CommandStack gelegt werden damit das Undo funktioniert.\n //\n this.isInDragDrop = false;\n this.draggedSegment = null;\n\n if (this.command === null) {\n return;\n }\n\n this.canvas.getCommandStack().execute(this.command);\n this.command = null;\n this.isMoving = false;\n\n // notify all installed policies\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.onDragEnd(_this2.canvas, _this2, x, y, shiftKey, ctrlKey);\n }\n });\n\n // inform all other listener\n this.fireEvent(\"move\", { figure: this, dx: 0, dy: 0 });\n\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"dragend\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n },\n\n /**\n *\n * Called when a user clicks on the element.\n *\n * // Alternatively you can register for this event with\n * figure.on(\"click\", function(emitterFigure){\n * alert(\"clicked\");\n * });\n *\n * @template\n * @since 4.0.0\n */\n onClick: function onClick() {},\n\n /**\n *\n * Set the line style for this object.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * dasharray: dashPattern\n * });\n *\n * @param {String} dashPattern Can be one of this [\"\", \"-\", \".\", \"-.\", \"-..\", \". \", \"- \", \"--\", \"- .\", \"--.\", \"--..\"]\n */\n setDashArray: function setDashArray(dashPattern) {\n this.dasharray = dashPattern;\n this.repaint();\n\n this.fireEvent(\"change:dashArray\", { value: this.dasharray });\n\n return this;\n },\n\n /**\n *\n * Get the line style for this object.\n *\n * // Alternatively you can use the attr method:\n * figure.attr(\"dasharray\");\n *\n * @since 5.1.0\n */\n getDashArray: function getDashArray() {\n return this.dasharray;\n },\n\n /**\n *\n * Called by the framework. Don't call them manually.\n *\n * @private\n **/\n createShapeElement: function createShapeElement() {\n var set = this.canvas.paper.set();\n\n // the drop shadow or border line\n set.push(this.canvas.paper.path(\"M\" + this.start.x + \" \" + this.start.y + \"L\" + this.end.x + \" \" + this.end.y));\n // the main path\n set.push(this.canvas.paper.path(\"M\" + this.start.x + \" \" + this.start.y + \"L\" + this.end.x + \" \" + this.end.y));\n set.node = set.items[1].node;\n\n // indicate that the outline is visible at the moment\n // the repaint update the status correct and set the attributes for\n // the first time\n this.outlineVisible = true; //this.outlineStroke>0;\n\n return set;\n },\n\n /**\n * @inheritdoc\n *\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n // don't override existing values\n //\n if (typeof attributes === \"undefined\") {\n attributes = {\n \"stroke\": this.lineColor.rgba(),\n \"stroke-width\": this.stroke,\n \"path\": [\"M\", this.start.x, this.start.y, \"L\", this.end.x, this.end.y].join(\" \")\n };\n } else {\n // may a router has calculate another path. don't override them.\n if (typeof attributes.path === \"undefined\") {\n attributes.path = [\"M\", this.start.x, this.start.y, \"L\", this.end.x, this.end.y].join(\" \");\n }\n _JSONUtil2.default.ensureDefault(attributes, \"stroke\", this.lineColor.rgba());\n _JSONUtil2.default.ensureDefault(attributes, \"stroke-width\", this.stroke);\n }\n\n _JSONUtil2.default.ensureDefault(attributes, \"stroke-dasharray\", this.dasharray);\n this._super(attributes);\n\n if (this.outlineStroke > 0) {\n this.shape.items[0].attr({\n \"stroke-width\": this.outlineStroke + this.stroke,\n \"stroke\": this.outlineColor.rgba()\n });\n if (this.outlineVisible === false) this.shape.items[0].show();\n this.outlineVisible = true;\n } else if (this.outlineVisible === true) {\n // reset them once\n this.shape.items[0].attr({ \"stroke-width\": 0, \"stroke\": \"none\" });\n this.shape.items[0].hide();\n this.outlineVisible = false;\n }\n },\n\n /**\n *\n * Moves the element to the background. Additional\n * the internal model changed as well.\n *\n * @since 4.7.2\n */\n toBack: function toBack(figure) {\n this._super(figure);\n\n if (this.outlineVisible === true) {\n this.shape.items[0].insertBefore(this.shape.items[1]);\n }\n\n return this;\n },\n\n /**\n *\n * Highlight the element or remove the highlighting\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * glow: flag\n * });\n *\n * @param {Boolean} flag indicates glow/noGlow\n * @template\n */\n setGlow: function setGlow(flag) {\n if (this.isGlowing === flag) {\n return;\n }\n\n if (flag === true) {\n // store old values for restore\n this._lineColor = this.lineColor;\n this._stroke = this.stroke;\n\n this.setColor(new _packages2.default.util.Color(\"#3f72bf\"));\n this.setStroke(this.stroke * 4 | 0);\n } else {\n this.setColor(this._lineColor);\n this.setStroke(this._stroke);\n }\n\n this.isGlowing = flag;\n\n return this;\n },\n\n /**\n * You can't drag&drop the resize handles if the line not resizeable.\n * @returns boolean\n **/\n isResizeable: function isResizeable() {\n return true;\n },\n\n /**\n * Set the line width. This enforce a repaint of the line.\n * This method fires a <i>document dirty</i> event.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * stroke: w\n * });\n *\n * @param {Number} w The new line width of the figure.\n **/\n setStroke: function setStroke(w) {\n this.stroke = parseFloat(w);\n\n this.repaint();\n this.fireEvent(\"change:stroke\", { value: this.stroke });\n\n return this;\n },\n\n /**\n *\n * The used line width.\n *\n * @returns {Number}\n **/\n getStroke: function getStroke() {\n return this.stroke;\n },\n\n /**\n * click area for the line hit test.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * corona: w\n * });\n *\n * @param {Number} w The new click hit offset\n **/\n setCorona: function setCorona(w) {\n this.corona = parseFloat(w);\n return this;\n },\n\n /**\n *\n * The used corona hitTest area.\n *\n * @returns {Number}\n **/\n getCorona: function getCorona() {\n return this.corona;\n },\n\n /**\n *\n * Set the color of the line.\n * This method fires a <i>document dirty</i> event.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * color: color\n * });\n *\n * @param {draw2d.util.Color|String} color The new color of the line.\n **/\n setColor: function setColor(color) {\n this.lineColor = new _packages2.default.util.Color(color);\n this.repaint();\n this.fireEvent(\"change:color\", { value: this.lineColor });\n\n return this;\n },\n\n /**\n *\n * Return the current paint color.\n *\n * @returns {draw2d.util.Color} The paint color of the line.\n **/\n getColor: function getColor() {\n return this.lineColor;\n },\n\n /**\n *\n * Translate the line with the given x/y offset.\n *\n * @param {Number} dx The new x translate offset\n * @param {Number} dy The new y translate offset\n * @since 4.1.0\n **/\n translate: function translate(dx, dy) {\n this.vertices.each(function (i, e) {\n e.translate(dx, dy);\n });\n\n // update start/end if the first or last vertex has been changed\n //\n this.start = this.vertices.first().clone();\n this.end = this.vertices.last().clone();\n\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n this.svgPathString = null;\n this.repaint();\n\n return this;\n },\n\n /**\n *\n * return the bounding box of the line or polygon\n *\n * TODO: precalculate or cache this values\n *\n * @returns {draw2d.geo.Rectangle}\n * @since 4.8.2\n */\n getBoundingBox: function getBoundingBox() {\n var minX = Math.min.apply(Math, _toConsumableArray(this.vertices.asArray().map(function (n) {\n return n.x;\n })));\n var minY = Math.min.apply(Math, _toConsumableArray(this.vertices.asArray().map(function (n) {\n return n.y;\n })));\n var maxX = Math.max.apply(Math, _toConsumableArray(this.vertices.asArray().map(function (n) {\n return n.x;\n })));\n var maxY = Math.max.apply(Math, _toConsumableArray(this.vertices.asArray().map(function (n) {\n return n.y;\n })));\n var width = maxX - minX;\n var height = maxY - minY;\n\n return new _packages2.default.geo.Rectangle(minX, minY, width, height);\n },\n\n /**\n *\n * Set the start point of the line.\n * This method fires a <i>document dirty</i> event.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * startX: x,\n * startY: y\n * });\n *\n * @param {Number|draw2d.geo.Point} x the x coordinate of the start point\n * @param {Number} [y] the y coordinate of the start point\n **/\n setStartPosition: function setStartPosition(x, y) {\n var pos = new _packages2.default.geo.Point(x, y);\n if (this.start.equals(pos)) {\n return this;\n }\n\n this.start.setPosition(pos);\n this.vertices.first().setPosition(pos);\n this.repaint();\n\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n this.fireEvent(\"change:start\", { value: this.start });\n\n return this;\n },\n /** @deprecated */\n setStartPoint: function setStartPoint(x, y) {\n return this.setStartPosition(x, y);\n },\n\n setStartX: function setStartX(x) {\n this.setStartPosition(x, this.start.y);\n },\n\n setStartY: function setStartY(y) {\n this.setStartPosition(this.start.x, y);\n },\n\n setEndX: function setEndX(x) {\n this.setEndPosition(x, this.end.y);\n },\n\n setEndY: function setEndY(y) {\n this.setEndPosition(this.end.x, y);\n },\n\n /**\n * Set the end point of the line.\n * This method fires a <i>document dirty</i> event.\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * endX: 3,\n * endY: 10\n * });\n *\n * // or\n * figure.attr({\n * end: {x:3, y:10}\n * });\n * @param {Number|draw2d.geo.Point} x the x coordinate or a draw2d.geo.Point of the end point\n * @param {Number} [y] the y coordinate of the end point\n **/\n setEndPosition: function setEndPosition(x, y) {\n var pos = new _packages2.default.geo.Point(x, y);\n if (this.end.equals(pos)) {\n return this;\n }\n\n this.end.setPosition(pos);\n this.vertices.last().setPosition(pos);\n this.repaint();\n\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n this.fireEvent(\"change:end\", { value: this.end });\n\n return this;\n },\n /** @deprecated **/\n setEndPoint: function setEndPoint(x, y) {\n return this.setEndPosition(x, y);\n },\n\n /**\n *\n * Return the x coordinate of the start.\n * @returns {Number}\n **/\n getStartX: function getStartX() {\n return this.start.x;\n },\n\n /**\n *\n * Return the y coordinate of the start.\n *\n * @returns {Number}\n **/\n getStartY: function getStartY() {\n return this.start.y;\n },\n\n /**\n *\n * Return the start point.\n *\n * @returns {draw2d.geo.Point}\n **/\n getStartPosition: function getStartPosition() {\n return this.start.clone();\n },\n /** @deprecated **/\n getStartPoint: function getStartPoint() {\n return this.getStartPosition();\n },\n\n /**\n *\n * Return the x coordinate of the end point\n *\n * @returns {Number}\n **/\n getEndX: function getEndX() {\n return this.end.x;\n },\n\n /**\n *\n * Return the y coordinate of the end point.\n *\n * @returns {Number}\n **/\n getEndY: function getEndY() {\n return this.end.y;\n },\n\n /**\n *\n * Return the end point.\n *\n * @returns {draw2d.geo.Point}\n **/\n getEndPosition: function getEndPosition() {\n return this.end.clone();\n },\n /**\n * @deprecated use `getEndPosition`\n * @returns {draw2d.geo.Point}\n **/\n getEndPoint: function getEndPoint() {\n return this.getEndPosition();\n },\n\n /**\n *\n * The x-offset related to the parent figure or canvas.\n *\n * @returns {Number} the x-offset to the parent figure\n **/\n getX: function getX() {\n return this.getBoundingBox().x;\n },\n\n /**\n *\n * The x-offset related to the parent figure or canvas.\n *\n * @returns {Number} the x-offset to the parent figure\n **/\n getY: function getY() {\n return this.getBoundingBox().y;\n },\n\n /**\n *\n * Return the Vertex with the given index.\n *\n * @param {Number} index the index of the vertex to return\n */\n getVertex: function getVertex(index) {\n return this.vertices.get(index);\n },\n\n /**\n *\n * Update the vertex at the give position with the new coordinate\n *\n * @param {Number} index the index of the vertex to update\n * @param {Number|draw2d.geo.Point} x the x coordinate or the draw2d.geo.Point object\n * @param {Number} [y] the y coordinate or undefined of the second argument is a point\n *\n * @since 4.0.0\n */\n setVertex: function setVertex(index, x, y) {\n if (x instanceof _packages2.default.geo.Point) {\n y = x.y;\n x = x.x;\n }\n\n var vertex = this.vertices.get(index);\n\n // invalid point or nothing to do\n //\n if (vertex === null || vertex.x === x && vertex.y === y) {\n return;\n }\n\n vertex.x = parseFloat(x);\n vertex.y = parseFloat(y);\n\n // update start/end if the first or last vertex has been changed\n //\n this.start = this.vertices.first().clone();\n this.end = this.vertices.last().clone();\n\n this.svgPathString = null;\n this.routingRequired = true;\n this.repaint();\n\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return this;\n },\n\n /**\n *\n * Returns the vertices of the connection\n *\n * @returns {draw2d.util.ArrayList} an draw2d.util.ArrayList of type draw2d.Point\n **/\n getVertices: function getVertices() {\n return this.vertices;\n },\n\n /**\n *\n * Update the vertices of the object. The given array is copied and assigned.\n *\n * @param {draw2d.util.ArrayList|Array} vertices the new vertices of the polyline.\n *\n * @since 4.0.1\n */\n setVertices: function setVertices(vertices) {\n var _this3 = this;\n\n var _this = this;\n // convert json document/array to draw2d ArrayList\n //\n if (Array.isArray(vertices)) {\n this.vertices = new _packages2.default.util.ArrayList();\n vertices.forEach(function (element) {\n _this3.vertices.add(new _packages2.default.geo.Point(element));\n });\n }\n // use the given ArrayList\n //\n else if (vertices instanceof _packages2.default.util.ArrayList) {\n this.vertices = vertices.clone(true);\n } else {\n throw \"invalid argument for Line.setVertices\";\n }\n\n // can happen if the given vertices array is empty\n //\n if (this.vertices.getSize() > 1) {\n this.start = this.vertices.first().clone();\n this.end = this.vertices.last().clone();\n }\n\n // update the UI and the segment parts\n this.svgPathString = null;\n this.repaint();\n\n // align the SelectionHandles to the new situation\n // This is a Hack....normally this should be done below and the Line shouldn't know\n // something about this issue....this is complete a \"EditPolicy\" domain to handle this.\n if (!this.selectionHandles.isEmpty()) {\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy) {\n e.onUnselect(_this.canvas, _this);\n e.onSelect(_this.canvas, _this);\n }\n });\n }\n\n // notify the listener about the changes\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return this;\n },\n\n /**\n *\n * Return the segments of the line with {start:s, end: e} JSON array list\n *\n * @returns {draw2d.util.ArrayList}\n */\n getSegments: function getSegments() {\n var result = new _packages2.default.util.ArrayList();\n result.add({ start: this.getStartPosition(), end: this.getEndPosition() });\n\n return result;\n },\n\n /**\n *\n * Returns the length of the line.\n *\n * @returns {Number}\n **/\n getLength: function getLength() {\n return Math.sqrt((this.start.x - this.end.x) * (this.start.x - this.end.x) + (this.start.y - this.end.y) * (this.start.y - this.end.y));\n },\n\n /**\n *\n * Returns the angle of the line in degree.\n *\n * <pre>\n * 270°\n * |\n * |\n * |\n * |\n * 180° -------------------------+------------------------> +X\n * | 0°\n * |\n * |\n * |\n * V +Y\n * 90°\n * </pre>\n * @returns {Number}\n **/\n getAngle: function getAngle() {\n var length = this.getLength();\n var angle = -(180 / Math.PI) * Math.asin((this.start.y - this.end.y) / length);\n\n if (angle < 0) {\n if (this.end.x < this.start.x) {\n angle = Math.abs(angle) + 180;\n } else {\n angle = 360 - Math.abs(angle);\n }\n } else {\n if (this.end.x < this.start.x) {\n angle = 180 - angle;\n }\n }\n return angle;\n },\n\n /**\n *\n * Returns the Command to perform the specified Request or null if the shape want cancel the\n * operation or it can't operate the command.\n *\n * @param {draw2d.command.CommandType} request describes the Command being requested\n * @returns {draw2d.command.Command} null or a Command\n * @private\n **/\n createCommand: function createCommand(request) {\n if (request.getPolicy() === _packages2.default.command.CommandType.MOVE) {\n if (this.isDraggable()) {\n return new _packages2.default.command.CommandMoveVertices(this);\n }\n }\n\n if (request.getPolicy() === _packages2.default.command.CommandType.DELETE) {\n if (this.isDeleteable()) {\n return new _packages2.default.command.CommandDelete(this);\n }\n }\n\n if (request.getPolicy() === _packages2.default.command.CommandType.MOVE_BASEPOINT) {\n if (this.isDraggable()) {\n return new _packages2.default.command.CommandMoveVertex(this);\n }\n }\n\n return null;\n },\n\n installEditPolicy: function installEditPolicy(policy) {\n if (!(policy instanceof _packages2.default.policy.line.LineSelectionFeedbackPolicy) && policy instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy) {\n return; // silently\n }\n\n this._super(policy);\n },\n\n /**\n *\n * Checks if the hands over coordinate close to the line. The 'corona' is considered\n * for this test. This means the point isn't direct on the line. Is it only close to the\n * line!\n *\n * @param {Number} px the x coordinate of the test point\n * @param {Number} py the y coordinate of the test point\n * @returns {Boolean}\n **/\n hitTest: function hitTest(px, py) {\n return _packages2.default.shape.basic.Line.hit(this.corona + this.stroke, this.start.x, this.start.y, this.end.x, this.end.y, px, py);\n },\n\n /**\n *\n * Returns the projection of the point on the line.\n *\n * @param {Number} px the x coordinate of the test point\n * @param {Number} py the y coordinate of the test point\n * @returns {draw2d.geo.Point}\n **/\n pointProjection: function pointProjection(px, py) {\n var pt = new _packages2.default.geo.Point(px, py);\n var p1 = this.getStartPosition();\n var p2 = this.getEndPosition();\n return _packages2.default.geo.Line.pointProjection(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n },\n\n /**\n *\n * Returns the point onto the line which has the 'percentage' position onto the line.\n *\n * @param {Number} percentage value between [0..1]\n * @returns {*}\n */\n lerp: function lerp(percentage) {\n var p1 = this.getStartPosition();\n var p2 = this.getEndPosition();\n percentage = Math.min(1, Math.max(0, percentage));\n return new _packages2.default.geo.Point(p1.x + (p2.x - p1.x) * percentage, p1.y + (p2.y - p1.y) * percentage);\n },\n\n /**\n *\n * Return all intersection points between the given Line.\n *\n * @param {draw2d.shape.basic.Line} other\n * @returns {draw2d.util.ArrayList}\n */\n intersection: function intersection(other) {\n var result = new _packages2.default.util.ArrayList();\n\n // empty result. the lines are equal...infinit array\n if (other === this) {\n return result;\n }\n\n var segments1 = this.getSegments();\n var segments2 = other.getSegments();\n\n segments1.each(function (i, s1) {\n segments2.each(function (j, s2) {\n var p = _packages2.default.shape.basic.Line.intersection(s1.start, s1.end, s2.start, s2.end);\n if (p !== null) {\n result.add(p);\n }\n });\n });\n return result;\n },\n\n /**\n *\n * Return an objects with all important attributes for XML or JSON serialization\n *\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n delete memento.x;\n delete memento.y;\n delete memento.width;\n delete memento.height;\n\n memento.stroke = this.stroke;\n memento.color = this.getColor().rgba();\n memento.outlineStroke = this.outlineStroke;\n memento.outlineColor = this.outlineColor.rgba();\n if (this.dasharray !== null) {\n memento.dasharray = this.dasharray;\n }\n\n if (this.editPolicy.getSize() > 0) {\n memento.policy = this.editPolicy.first().NAME;\n }\n\n // the attribute \"vertex\" will be overridden by a router if the element is a\n // \"PolyLine\" instance and has the correct router. Connections mainly ignore this\n // attribute because the start/end is defined by the ports and the vertices in between are\n // calculated by a router.\n memento.vertex = [];\n this.getVertices().each(function (i, e) {\n memento.vertex.push({ x: e.x, y: e.y });\n });\n\n return memento;\n },\n\n /**\n *\n * Read all attributes from the serialized properties and transfer them into the shape.\n *\n * @param {Object} memento\n * @returns {this}\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.dasharray === \"string\") {\n this.dasharray = memento.dasharray;\n }\n if (typeof memento.stroke !== \"undefined\") {\n this.setStroke(parseFloat(memento.stroke));\n }\n if (typeof memento.color !== \"undefined\") {\n this.setColor(memento.color);\n }\n if (typeof memento.outlineStroke !== \"undefined\") {\n this.setOutlineStroke(memento.outlineStroke);\n }\n if (typeof memento.outlineColor !== \"undefined\") {\n this.setOutlineColor(memento.outlineColor);\n }\n if (typeof memento.policy !== \"undefined\") {\n try {\n this.installEditPolicy(eval(\"new \" + memento.policy + \"()\"));\n } catch (exc) {\n debug.warn(\"Unable to install edit policy '\" + memento.policy + \"' forced by \" + this.NAME + \".setPersistentAttributes. Using default.\");\n }\n }\n\n // restore the vertex of the connection/line if any are given\n //\n // it makes no sense to restore vertices with only zero or one vertex. This\n // isn't a \"line\" at all.\n if (Array.isArray(memento.vertex) && memento.vertex.length > 1) {\n this.setVertices(memento.vertex);\n }\n\n return this;\n }\n});\n\n/**\n * see: http://en.wikipedia.org/wiki/Line-line_intersection\n *\n * @param {draw2d.geo.Point} a1\n * @param {draw2d.geo.Point} a2\n * @param {draw2d.geo.Point} b1\n * @param {draw2d.geo.Point} b2\n *\n * @static\n * @private\n * @returns {draw2d.geo.Point}\n */\n_packages2.default.shape.basic.Line.intersection = function (a1, a2, b1, b2) {\n var result = null;\n\n var ua_t = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x);\n var ub_t = (a2.x - a1.x) * (a1.y - b1.y) - (a2.y - a1.y) * (a1.x - b1.x);\n var u_b = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n\n if (u_b !== 0) {\n var ua = ua_t / u_b;\n var ub = ub_t / u_b;\n\n if (0 <= ua && ua <= 1 && 0 <= ub && ub <= 1) {\n result = new _packages2.default.geo.Point(a1.x + ua * (a2.x - a1.x) | 0, a1.y + ua * (a2.y - a1.y) | 0);\n\n // determine if the lines are crossing or just touching\n //\n result.justTouching = 0 === ua || ua === 1 || 0 === ub || ub === 1;\n }\n }\n\n return result;\n};\n\n/**\n * Static util function to determine is a point(px,py) on the line(x1,y1,x2,y2)\n * A simple hit test.\n *\n * @returns {Boolean}\n * @static\n * @private\n * @param {Number} coronaWidth the accepted corona for the hit test\n * @param {Number} X1 x coordinate of the start point of the line\n * @param {Number} Y1 y coordinate of the start point of the line\n * @param {Number} X2 x coordinate of the end point of the line\n * @param {Number} Y2 y coordinate of the end point of the line\n * @param {Number} px x coordinate of the point to test\n * @param {Number} py y coordinate of the point to test\n **/\n_packages2.default.shape.basic.Line.hit = function (coronaWidth, X1, Y1, X2, Y2, px, py) {\n return _packages2.default.geo.Line.distance(X1, Y1, X2, Y2, px, py) < coronaWidth;\n};\n\n/***/ }),\n\n/***/ \"./src/shape/basic/LineEndResizeHandle.js\":\n/*!************************************************!*\\\n !*** ./src/shape/basic/LineEndResizeHandle.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Selection handle for connections and normal lines.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.LineResizeHandle\n */\n_packages2.default.shape.basic.LineEndResizeHandle = _packages2.default.shape.basic.LineResizeHandle.extend(\n/** @lends draw2d.shape.basic.LineEndResizeHandle.prototype */\n{\n\n NAME: \"draw2d.shape.basic.LineEndResizeHandle\",\n\n /**\n *\n */\n init: function init(figure) {\n this._super({ owner: figure, index: figure.getVertices().getSize() - 1 });\n },\n\n /**\n *\n * Return the Port assigned to this ResizeHandle if the line is an instance of draw2d.Connection\n *\n * @returns {draw2d.Port}\n */\n getRelatedPort: function getRelatedPort() {\n if (this.owner instanceof _packages2.default.Connection) {\n return this.owner.getTarget();\n }\n\n return null;\n },\n\n /**\n *\n * Return the peer Port assigned to this ResizeHandle if the line is an instance of draw2d.Connection\n *\n * @returns {draw2d.Port}\n */\n getOppositePort: function getOppositePort() {\n if (this.owner instanceof _packages2.default.Connection) {\n return this.owner.getSource();\n }\n\n return null;\n },\n\n /**\n *\n * Called from the framework during a drag&drop operation\n *\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @returns {Boolean}\n * @private\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n this._super(dx, dy, dx2, dy2);\n\n var objPos = this.owner.getEndPoint().clone();\n objPos.translate(dx2, dy2);\n\n if (this.command !== null) {\n this.command.updatePosition(objPos);\n }\n\n this.owner.setEndPoint(objPos);\n\n this.owner.isMoving = true;\n\n return true;\n },\n\n /**\n *\n * Resizehandle has been drop on a InputPort/OutputPort.\n *\n * @param {draw2d.Figure} dropTarget\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onDrop: function onDrop(dropTarget, x, y, shiftKey, ctrlKey) {\n this.owner.isMoving = false;\n\n if (this.owner instanceof _packages2.default.Connection && this.command !== null) {\n this.command.setNewPorts(this.owner.getSource(), dropTarget);\n this.getCanvas().getCommandStack().execute(this.command);\n }\n this.command = null;\n },\n\n /**\n *\n * Controls the location of the resize handle\n *\n **/\n relocate: function relocate() {\n\n var resizeWidthHalf = this.getWidth() / 2;\n var resizeHeightHalf = this.getHeight() / 2;\n\n var anchor = this.owner.getEndPoint();\n\n this.setPosition(anchor.x - resizeWidthHalf, anchor.y - resizeHeightHalf);\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/LineResizeHandle.js\":\n/*!*********************************************!*\\\n !*** ./src/shape/basic/LineResizeHandle.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Base class for selection handle for connections and normal lines.\n *\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Circle\n */\n_packages2.default.shape.basic.LineResizeHandle = _packages2.default.shape.basic.Circle.extend(\n/** @lends draw2d.shape.basic.LineResizeHandle.prototype */\n{\n\n NAME: \"draw2d.shape.basic.LineResizeHandle\",\n\n /**\n *\n */\n init: function init(attr, setter, getter) {\n var _this = this;\n\n this.zoomCallback = function () {\n _this.attr({\n width: _this.origWidth * _this.getCanvas().getZoom(),\n height: _this.origHeight * _this.getCanvas().getZoom(),\n stroke: _this.origStroke * _this.getCanvas().getZoom()\n });\n // size of the ResizeHandle has changed. Force a reposition of handle\n //\n if (!_this.blockEvent) _this.owner.fireEvent(\"move\", {});\n };\n\n this._super((0, _extend2.default)({\n bgColor: \"#5bcaff\",\n stroke: 1,\n width: 10,\n height: 10,\n minWidth: 0.3,\n minHeight: 0.3,\n selectable: false\n }, attr), (0, _extend2.default)({\n owner: this.setOwner,\n index: this.setIndex\n }, setter), (0, _extend2.default)({\n owner: this.getOwner,\n index: this.getIndex\n }, getter));\n\n // required in the SelectionEditPolicy to indicate the type of figure\n // which the user clicks\n this.isResizeHandle = true;\n this.currentTarget = null;\n\n this.origWidth = this.width;\n this.origHeight = this.height;\n this.origStroke = this.stroke;\n },\n\n /**\n * \n * Returns the current used SVG as string\n *\n * @returns {String}\n */\n getOwner: function getOwner() {\n return this.owner;\n },\n\n setOwner: function setOwner(owner) {\n this.owner = owner;\n return this;\n },\n\n /**\n * \n * Returns the index of the selection. In case of a PlyLine the count is dynamic.\n *\n * @returns {Number}\n */\n getIndex: function getIndex() {\n return this.index;\n },\n\n setIndex: function setIndex(index) {\n this.index = index;\n return this;\n },\n\n /**\n * @inheritdoc\n */\n createShapeElement: function createShapeElement() {\n var shape = this._super();\n\n shape.attr({ \"cursor\": \"move\" });\n return shape;\n },\n\n /**\n * @inheritdoc\n **/\n setBackgroundColor: function setBackgroundColor(color) {\n color = new _packages2.default.util.Color(color);\n\n this.bgGradient = \"r(.4,.3)\" + color.hash() + \"-\" + color.darker(0.1).hash() + \":60-\" + color.darker(0.2).hash();\n this._super(color);\n this.setColor(color.darker(0.3));\n\n return this;\n },\n\n /**\n * \n * Return the port below the ResizeHandle.\n *\n * @template\n * @returns {draw2d.Port}\n */\n getRelatedPort: function getRelatedPort() {\n return null;\n },\n\n /**\n * \n * Return the port of the other side of the related connection.\n *\n * @template\n * @returns {draw2d.Port}\n */\n getOppositePort: function getOppositePort() {\n return null;\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n if (this.bgColor.hash() === \"none\") {\n attributes.fill = this.bgColor.rgba();\n } else if (this.getAlpha() < 0.9) {\n attributes.fill = this.bgColor.rgba();\n } else {\n attributes.fill = this.bgGradient;\n }\n\n this._super(attributes);\n },\n\n /**\n * Called if the drag and drop action begins. You can return [false] if you\n * want avoid the that the figure can be move.\n *\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @type {Boolean}\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n this.command = this.owner.createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.MOVE_BASEPOINT));\n // no drag&drop allowed if we didn'T have a valid command.\n // This is one way to send a veto for Connection reconnect\n if (this.command !== null) {\n this.command.setIndex(this.index);\n }\n\n this.setAlpha(0.2);\n this.shape.attr({ \"cursor\": \"crosshair\" });\n\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"dragstart\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n\n return true;\n },\n\n /**\n * \n * Called from the framework during a drag&drop operation\n *\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @returns {Boolean}\n * @private\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n this.setPosition(this.x + dx2, this.y + dy2);\n\n var port = this.getOppositePort();\n\n var target = port !== null ? port.getCanvas().getBestFigure(this.getX(), this.getY(), [this, this.owner]) : null;\n\n // the hovering element has been changed\n if (target !== this.currentTarget) {\n\n if (this.currentTarget !== null) {\n this.currentTarget.onDragLeave(port);\n this.currentTarget.setGlow(false);\n this.currentTarget.fireEvent(\"dragLeave\", { draggingElement: port });\n }\n\n if (target !== null) {\n this.currentTarget = target.delegateTarget(port);\n if (this.currentTarget !== null) {\n this.currentTarget.setGlow(true);\n this.currentTarget.onDragEnter(port); // legacy\n this.currentTarget.fireEvent(\"dragEnter\", { draggingElement: port });\n }\n }\n }\n\n return true;\n },\n\n /**\n * Called after a drag and drop action.<br>\n * Sub classes can override this method to implement additional stuff. Don't forget to call the super implementation via <code>this._super();</code>\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean}\n */\n onDragEnd: function onDragEnd(x, y, shiftKey, ctrlKey) {\n if (!this.isDraggable()) {\n return false;\n }\n\n this.shape.attr({ \"cursor\": \"move\" });\n\n var port = this.getOppositePort();\n if (port !== null) {\n if (this.currentTarget !== null) {\n\n this.onDrop(this.currentTarget, x, y, shiftKey, ctrlKey);\n this.currentTarget.onDragLeave(port);\n this.currentTarget.setGlow(false);\n this.currentTarget.fireEvent(\"dragLeave\", { draggingElement: port });\n this.currentTarget.onCatch(this, x, y, shiftKey, ctrlKey);\n this.currentTarget = null;\n }\n }\n\n this.owner.isMoving = false;\n // A Connection is stuck to the corresponding ports. So we must reset the position\n // to the origin port if we doesn't drop the ResizeHandle on a other port.\n //\n if (this.owner instanceof _packages2.default.Connection) {\n if (this.command !== null) {\n this.command.cancel();\n }\n }\n //\n else {\n // An non draggable resizeHandle doesn't create a move/resize command.\n // This happens if the selected figure has set \"isResizeable=false\".\n //\n if (this.command !== null) {\n this.getCanvas().getCommandStack().execute(this.command);\n }\n }\n this.command = null;\n\n this.setAlpha(1);\n\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"dragend\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n },\n\n /**\n * \n * Controls the position of the ResizeHandle\n * Called by the framework.\n *\n **/\n relocate: function relocate() {\n\n return this;\n },\n\n /**\n * \n * The LineResizeHandle didn't support the SnapToHelper feature if the\n * corresponding object is an Connection. A Connection is always bounded to\n * Port. In this case it makes no sense to use a Grid or Geometry for snapping.\n *\n * @returns {Boolean} return false if the corresponding object didn't support snapTo\n **/\n supportsSnapToHelper: function supportsSnapToHelper() {\n if (this.owner instanceof _packages2.default.Connection) {\n return false;\n }\n\n return true;\n },\n\n /**\n * \n * Show the ResizeHandle and add it to the canvas.<br>\n * Additional bring it in to the front of other figures.\n *\n * @param {draw2d.Canvas} canvas the canvas to use\n * @param {Number} x the x-position\n * @param {Number} y the y-position\n **/\n show: function show(canvas, x, y) {\n if (x) debugger;\n // don't call the parent function. The parent functions make this object selectable/deleteable\n // and a resize handle can't be deleted.\n this.setCanvas(canvas);\n try {\n this.blockEvent = true;\n this.zoomCallback();\n } finally {\n this.blockEvent = false;\n }\n\n // this.setPosition(x,y);\n this.shape.toFront();\n this.canvas.resizeHandles.add(this);\n },\n\n /**\n * \n * Hide the resize handle and remove it from the canvas.\n *\n **/\n hide: function hide() {\n // don't call the parent function. The parent functions delete this object\n // and a resize handle shouldn't be deleted.\n if (this.shape === null) {\n return;\n }\n\n this.canvas.resizeHandles.remove(this);\n this.setCanvas(null);\n },\n\n setCanvas: function setCanvas(canvas) {\n\n if (this.canvas !== null) {\n this.canvas.off(this.zoomCallback);\n }\n\n this._super(canvas);\n\n if (this.canvas !== null) {\n this.canvas.on(\"zoom\", this.zoomCallback);\n }\n },\n\n /**\n * \n * Override this method and redirect them to the canvas. A ResizeHandle didn't support\n * Keyboard interaction at the moment.\n *\n * @param {Number} keyCode the id of the pressed key\n * @param {Boolean} ctrl true if the user has pressed the CTRL/STRG key as well.\n **/\n onKeyDown: function onKeyDown(keyCode, ctrl) {\n // don't call the parent function. The parent functions delete this object\n // and a resize handle can't be deleted.\n this.canvas.onKeyDown(keyCode, ctrl);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/LineStartResizeHandle.js\":\n/*!**************************************************!*\\\n !*** ./src/shape/basic/LineStartResizeHandle.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Selection handle for connections and normal lines.\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.LineResizeHandle\n */\n_packages2.default.shape.basic.LineStartResizeHandle = _packages2.default.shape.basic.LineResizeHandle.extend(\n/** @lends draw2d.shape.basic.LineStartResizeHandle.prototype */\n{\n\n NAME: \"draw2d.shape.basic.LineStartResizeHandle\",\n\n /**\n *\n */\n init: function init(figure) {\n this._super({ owner: figure, index: 0 });\n },\n\n /**\n * Returns the Port below the ResizeHandle\n *\n * @returns {draw2d.Port}\n */\n getRelatedPort: function getRelatedPort() {\n if (this.owner instanceof _packages2.default.Connection) return this.owner.getSource();\n\n return null;\n },\n\n /**\n * Returns the Port on the opposite side of the ResizeHandle\n *\n * @returns {draw2d.Port}\n */\n getOppositePort: function getOppositePort() {\n if (this.owner instanceof _packages2.default.Connection) return this.owner.getTarget();\n\n return null;\n },\n\n /**\n * \n * Called from the framework during a drag&drop operation\n *\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n * @returns {Boolean}\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n this._super(dx, dy, dx2, dy2);\n\n var objPos = this.owner.getStartPoint();\n objPos.translate(dx2, dy2);\n\n if (this.command !== null) {\n this.command.updatePosition(objPos);\n }\n this.owner.setStartPoint(objPos);\n\n this.owner.isMoving = true;\n\n return true;\n },\n\n /**\n * \n * Resize handle has been drop on a InputPort/OutputPort.\n *\n * @param {draw2d.Port} dropTarget\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n **/\n onDrop: function onDrop(dropTarget, x, y, shiftKey, ctrlKey) {\n this.owner.isMoving = false;\n\n // The ResizeHandle of a Connection has been dropped on a Port\n // This will enforce a ReconnectCommand\n if (this.owner instanceof _packages2.default.Connection && this.command !== null) {\n this.command.setNewPorts(dropTarget, this.owner.getTarget());\n this.getCanvas().getCommandStack().execute(this.command);\n }\n this.command = null;\n },\n\n /**\n * \n * Controls the location of the resize handle\n **/\n relocate: function relocate() {\n var resizeWidthHalf = this.getWidth() / 2;\n var resizeHeightHalf = this.getHeight() / 2;\n\n var anchor = this.owner.getStartPoint();\n\n this.setPosition(anchor.x - resizeWidthHalf, anchor.y - resizeHeightHalf);\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Oval.js\":\n/*!*********************************!*\\\n !*** ./src/shape/basic/Oval.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Oval figure.\n *\n * @example\n *\n * let oval = new draw2d.shape.basic.Oval({width:150, height:100, x:50, y:10});\n *\n * canvas.add(oval);\n *\n * @author Andreas Herz\n * @extends draw2d.VectorFigure\n */\n_packages2.default.shape.basic.Oval = _packages2.default.VectorFigure.extend(\n/** @lends draw2d.shape.basic.Oval.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Oval\",\n\n /**\n *\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super((0, _extend2.default)({\n bgColor: \"#C02B1D\",\n color: \"#1B1B1B\"\n }, attr), (0, _extend2.default)({\n center: this.setCenter\n }, setter), getter);\n },\n\n /**\n * @template\n **/\n createShapeElement: function createShapeElement() {\n var halfW = this.getWidth() / 2;\n var halfH = this.getHeight() / 2;\n\n return this.canvas.paper.ellipse(this.getAbsoluteX() + halfW, this.getAbsoluteY() + halfH, halfW, halfH);\n },\n\n /**\n *\n * Get the center of the figure\n *\n */\n getCenter: function getCenter() {\n var w2 = this.getWidth() / 2;\n var h2 = this.getHeight() / 2;\n\n return this.getPosition().translated(w2, h2);\n },\n\n /**\n *\n * Set the center of the figure.\n *\n * @param {Number|draw2d.geo.Point} x the new x coordinate of the center or a draw2d.geo.Point object with the center\n * @param {Number} [y] the y coordinate of the new center of the first argument isn't a draw2d.geo.Point object\n */\n setCenter: function setCenter(x, y) {\n var pos = new _packages2.default.geo.Point(x, y);\n var w2 = this.getWidth() / 2;\n var h2 = this.getHeight() / 2;\n\n pos.translate(-w2, -h2);\n this.setPosition(pos);\n\n this.fireEvent(\"change:center\", { value: { x: x, y: y } });\n\n return this;\n },\n\n /**\n * @inheritdoc\n *\n * @template\n **/\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n // don't override cx/cy if inherited class has set the center already.\n if (typeof attributes.rx === \"undefined\") {\n attributes.rx = this.width / 2;\n attributes.ry = this.height / 2;\n }\n\n // don't override cx/cy if inherited class has set the center already.\n if (typeof attributes.cx === \"undefined\") {\n attributes.cx = this.getAbsoluteX() + attributes.rx;\n attributes.cy = this.getAbsoluteY() + attributes.ry;\n }\n\n this._super(attributes);\n },\n\n /**\n *\n *\n * NOTE: Rotation will need to be added to this function\n *\n **/\n intersectionWithLine: function intersectionWithLine(a1, a2) {\n var rx = this.getWidth() / 2;\n var ry = this.getHeight() / 2;\n\n var result = new _packages2.default.util.ArrayList();\n\n var origin = new _packages2.default.geo.Point(a1.x, a1.y);\n var dir = a2.subtract(a1);\n var center = new _packages2.default.geo.Point(this.getAbsoluteX() + rx, this.getAbsoluteY() + ry);\n var diff = origin.subtract(center);\n var mDir = new _packages2.default.geo.Point(dir.x / (rx * rx), dir.y / (ry * ry));\n var mDiff = new _packages2.default.geo.Point(diff.x / (rx * rx), diff.y / (ry * ry));\n\n var a = dir.dot(mDir);\n var b = dir.dot(mDiff);\n var c = diff.dot(mDiff) - 1.0;\n var d = b * b - a * c;\n\n if (d < 0) {\n // \"Outside\"\n } else if (d > 0) {\n var root = Math.sqrt(d);\n var t_a = (-b - root) / a;\n var t_b = (-b + root) / a;\n\n if ((t_a < 0 || 1 < t_a) && (t_b < 0 || 1 < t_b)) {\n if (t_a < 0 && t_b < 0 || t_a > 1 && t_b > 1) {\n //\"Outside\";\n } else {\n //\"Inside\";\n }\n } else {\n if (0 <= t_a && t_a <= 1) result.add(a1.lerp(a2, t_a));\n if (0 <= t_b && t_b <= 1) result.add(a1.lerp(a2, t_b));\n }\n } else {\n var t = -b / a;\n if (0 <= t && t <= 1) {\n result.add(a1.lerp(a2, t));\n } else {\n //\"Outside\";\n }\n }\n\n return result;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/PolyLine.js\":\n/*!*************************************!*\\\n !*** ./src/shape/basic/PolyLine.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _JSONUtil = __webpack_require__(/*! ../../util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A PolyLine is a line with more than 2 points.\n *\n *\n * @example\n *\n * let line = new draw2d.shape.basic.PolyLine();\n * line.setVertices([{x:10,y:10},{x:80,y:70},{x:100,y:110}]);\n * canvas.add(line);\n *\n *\n * canvas.setCurrentSelection(line);\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Line\n */\n_packages2.default.shape.basic.PolyLine = _packages2.default.shape.basic.Line.extend(\n/** @lends draw2d.shape.basic.PolyLine.prototype */\n{\n\n NAME: \"draw2d.shape.basic.PolyLine\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n // internal status handling for performance reasons\n //\n this.svgPathString = null;\n this.oldPoint = null;\n\n this.router = null;\n this.routingRequired = true;\n this.lineSegments = new _packages2.default.util.ArrayList();\n\n this.radius = \"\";\n\n this._super((0, _extend2.default)({\n router: new _packages2.default.layout.connection.VertexRouter()\n }, attr), (0, _extend2.default)({}, {\n // @attr {draw2d.layout.connection.ConnectionRouter} the router to use to layout the polyline */\n router: this.setRouter,\n // @attr {Number} radius the radius to render the line edges */\n radius: this.setRadius\n }, setter), (0, _extend2.default)({}, {\n router: this.getRouter,\n radius: this.getRadius\n }, getter));\n },\n\n /**\n * \n * Sets the corner radius of the edges.\n *\n * @param {Number} radius the corner radius\n * @since 4.2.1\n */\n setRadius: function setRadius(radius) {\n this.radius = radius;\n this.svgPathString = null;\n this.repaint();\n this.fireEvent(\"change:radius\", { value: this.radius });\n\n return this;\n },\n\n setOutlineStroke: function setOutlineStroke(w) {\n if (this.outlineStroke !== w) {\n this.svgPathString = null;\n this.routingRequired = true;\n }\n this._super(w);\n\n return this;\n },\n\n /**\n * \n * Get the corner radius of the edges.\n *\n * @returns {Number}\n * @since 4.2.1\n */\n getRadius: function getRadius() {\n return this.radius;\n },\n\n /**\n * \n * Set the start point of the line.\n *\n * @param {Number} x the x coordinate of the start point\n * @param {Number} y the y coordinate of the start point\n **/\n setStartPoint: function setStartPoint(x, y) {\n if (this.vertices.getSize() > 0) {\n this.vertices.first().setPosition(x, y);\n } else {\n this.vertices.add(new _packages2.default.geo.Point(x, y));\n }\n this.start = this.vertices.first().clone();\n // if(this.isInDragDrop===false)\n this.calculatePath({ startMoved: true, endMoved: false });\n\n this.repaint();\n\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n this.fireEvent(\"change:start\", { value: this.start });\n\n return this;\n },\n\n /**\n * \n * Set the end point of the line.\n *\n * @param {Number} x the x coordinate of the end point\n * @param {Number} y the y coordinate of the end point\n */\n setEndPoint: function setEndPoint(x, y) {\n if (this.vertices.getSize() > 1) {\n this.vertices.last().setPosition(x, y);\n } else {\n this.vertices.add(new _packages2.default.geo.Point(x, y));\n }\n this.end = this.vertices.last().clone();\n\n if (this.isInDragDrop === false) this.calculatePath({ startMoved: false, endMoved: true });\n\n this.repaint();\n\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n this.fireEvent(\"change:end\", { value: this.end });\n\n return this;\n },\n\n /**\n * \n * Inserts the draw2d.geo.Point object into the vertex list of the polyline just after the object with the given index.\n *\n * @param {Number|draw2d.geo.Point} x the x coordinate or the draw2d.geo.Point object\n * @param {Number} [y] the y coordinate or undefined of the second argument is a point\n *\n * @since 4.0.0\n */\n addVertex: function addVertex(x, y) {\n this.vertices.add(new _packages2.default.geo.Point(x, y));\n\n this.start = this.vertices.first().clone();\n this.end = this.vertices.last().clone();\n\n this.svgPathString = null;\n this.repaint();\n\n if (!this.selectionHandles.isEmpty()) {\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy) {\n e.onUnselect(_this.canvas, _this);\n e.onSelect(_this.canvas, _this);\n }\n });\n }\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return this;\n },\n\n /**\n * \n * Inserts the draw2d.geo.Point object into the vertex list of the polyline just after the object with the given index.\n *\n * @param {Number} index the insert index\n * @param {Number|draw2d.geo.Point} x the x coordinate or the draw2d.geo.Point object\n * @param {Number} [y] the y coordinate or undefined of the second argument is a point\n *\n * @since 4.0.0\n */\n insertVertexAt: function insertVertexAt(index, x, y) {\n var vertex = new _packages2.default.geo.Point(x, y);\n\n this.vertices.insertElementAt(vertex, index);\n\n this.start = this.vertices.first().clone();\n this.end = this.vertices.last().clone();\n\n this.svgPathString = null;\n this.repaint();\n\n if (!this.selectionHandles.isEmpty()) {\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy) {\n e.onUnselect(_this.canvas, _this);\n e.onSelect(_this.canvas, _this);\n }\n });\n }\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return this;\n },\n\n /**\n * \n * Remove a vertex from the polyline and return the removed point. The current installed connection router\n * can send an veto for this operation.\n *\n * @param index\n * @returns {draw2d.geo.Point} the removed point or null of the current router decline this operation\n * @since 4.0.0\n */\n removeVertexAt: function removeVertexAt(index) {\n var removedPoint = this.vertices.removeElementAt(index);\n\n this.start = this.vertices.first().clone();\n this.end = this.vertices.last().clone();\n\n this.svgPathString = null;\n this.repaint();\n\n if (!this.selectionHandles.isEmpty()) {\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy) {\n e.onUnselect(_this.canvas, _this);\n e.onSelect(_this.canvas, _this);\n }\n });\n }\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return removedPoint;\n },\n\n /**\n * \n * Set the router for this connection.\n *\n * @param {draw2d.layout.connection.ConnectionRouter} [router] the new router for this connection or null if the connection should use the default routing\n **/\n setRouter: function setRouter(router) {\n if (this.router !== null) {\n this.router.onUninstall(this);\n }\n\n if (typeof router === \"undefined\" || router === null) {\n this.router = new _packages2.default.layout.connection.DirectRouter();\n } else {\n this.router = router;\n }\n\n this.router.onInstall(this);\n\n this.routingRequired = true;\n\n // repaint the connection with the new router\n this.repaint();\n\n this.fireEvent(\"change:router\", { value: this.router });\n\n return this;\n },\n\n /**\n * \n * Return the current active router of this connection.\n *\n * @returns draw2d.layout.connection.ConnectionRouter\n **/\n getRouter: function getRouter() {\n return this.router;\n },\n\n /**\n * \n * Calculate the path of the polyline\n *\n * @param {Object} [routingHints] some helper attributes for the router\n * @param {Boolean} routingHints.startMoved is true if just the start location has moved\n * @param {Boolean} routingHints.endMoved is true if the destination location has changed\n * @param {Boolean} routingHints.oldVertices store old vertices for after processing\n *\n * @private\n */\n calculatePath: function calculatePath(routingHints) {\n routingHints = routingHints || {};\n\n if (this.shape === null) {\n return;\n }\n\n this.svgPathString = null;\n\n routingHints.oldVertices = this.vertices;\n\n // cleanup the routing cache\n //\n this.oldPoint = null;\n this.lineSegments = new _packages2.default.util.ArrayList();\n this.vertices = new _packages2.default.util.ArrayList();\n\n // Use the internal router\n //\n this.router.route(this, routingHints);\n this.routingRequired = false;\n this.fireEvent(\"routed\");\n this.fireEvent(\"change:route\", {});\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return this;\n }\n\n if (this.svgPathString === null || this.routingRequired === true) {\n this.calculatePath();\n }\n\n if (typeof attributes === \"undefined\") {\n attributes = {};\n }\n attributes.path = this.svgPathString;\n _JSONUtil2.default.ensureDefault(attributes, \"stroke-linecap\", \"round\");\n _JSONUtil2.default.ensureDefault(attributes, \"stroke-linejoin\", \"round\");\n\n return this._super(attributes);\n },\n\n /**\n * \n * Return all line segments of the polyline.\n *\n * @returns {draw2d.util.ArrayList}\n */\n getSegments: function getSegments() {\n return this.lineSegments;\n },\n\n /**\n * used for the router to add the calculated points\n *\n * @param p\n * @param y\n */\n addPoint: function addPoint(p, y) {\n if (typeof y !== \"undefined\") {\n p = new _packages2.default.geo.Point(p, y);\n }\n this.vertices.add(p);\n\n if (this.oldPoint !== null) {\n // store the painted line segment for the \"mouse selection test\"\n // (required for user interaction)\n this.lineSegments.add({\n start: this.oldPoint,\n end: p\n });\n }\n this.svgPathString = null;\n this.oldPoint = p;\n },\n\n /**\n * \n * Called if the drag and drop action begins. You can return [false] if you\n * want avoid that the figure can be move.\n *\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean} true if the figure accepts dragging\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey, isFaked) {\n var result = this._super(x, y, shiftKey, ctrlKey, isFaked);\n\n if (result === true && isFaked !== true) {\n this.draggedSegment = this.hitSegment(x, y);\n }\n return result;\n },\n\n /**\n * \n * Returns the length of the polyline.\n *\n * @returns {Number}\n * @since 6.1.43\n **/\n getLength: function getLength() {\n var result = 0;\n for (var i = 0; i < this.lineSegments.getSize(); i++) {\n var segment = this.lineSegments.get(i);\n var p1 = segment.start;\n var p2 = segment.end;\n result += Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));\n }\n return result;\n },\n\n setVertices: function setVertices(vertices) {\n // inform the router tha the vertices has set outside. This switch some\n // router from full autoroute to half autoroute\n this.router.verticesSet(this);\n\n this._super(vertices);\n },\n\n /**\n * \n * Returns the projection of the point on the line.\n *\n * @param {Number} px the x coordinate of the test point\n * @param {Number} py the y coordinate of the test point\n * @returns {draw2d.geo.Point}\n **/\n pointProjection: function pointProjection(px, py) {\n var result = null,\n projection = null,\n p1 = null,\n p2 = null,\n segment = null;\n var lastDist = Number.MAX_SAFE_INTEGER;\n var pt = new _packages2.default.geo.Point(px, py);\n for (var i = 0; i < this.lineSegments.getSize(); i++) {\n segment = this.lineSegments.get(i);\n p1 = segment.start;\n p2 = segment.end;\n projection = _packages2.default.geo.Line.pointProjection(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n if (projection !== null) {\n var dist = projection.distance(pt);\n if (result == null || dist < lastDist) {\n result = projection;\n result.index = i;\n lastDist = dist;\n }\n }\n }\n\n if (result !== null) {\n var length = 0;\n var _segment = void 0;\n for (var _i = 0; _i < result.index; _i++) {\n _segment = this.lineSegments.get(_i);\n length += _segment.start.distance(_segment.end);\n }\n _segment = this.lineSegments.get(result.index);\n p1 = _segment.start;\n p2 = _segment.end;\n length += p1.distance(p2) * _packages2.default.geo.Line.inverseLerp(p2.x, p2.y, p1.x, p1.y, result.x, result.y);\n result.percentage = 1.0 / this.getLength() * length;\n }\n return result;\n },\n\n /**\n * \n * Returns the point onto the line which has the relative 'percentage' position onto the line.\n *\n * @param {Number} percentage the relative position between [0..1]\n * @returns {draw2d.geo.Point}\n */\n lerp: function lerp(percentage) {\n var length = this.getLength() * percentage;\n var lastValidLength = length;\n var segment = null,\n p1 = null,\n p2 = null;\n for (var i = 0; i < this.lineSegments.getSize(); i++) {\n segment = this.lineSegments.get(i);\n p1 = segment.start;\n p2 = segment.end;\n length = length - p1.distance(p2);\n if (length <= 0) {\n percentage = 1.0 / p1.distance(p2) * lastValidLength;\n return new _packages2.default.geo.Point(p1.x + (p2.x - p1.x) * percentage, p1.y + (p2.y - p1.y) * percentage);\n }\n lastValidLength = length;\n }\n return p2;\n },\n\n /**\n * \n * get the best segment of the line which is below the given coordinate or null if\n * all segment are not below the coordinate. <br>\n * The 'corona' property of the polyline is considered for this test. This means\n * the point isn't direct on the line. Is it only close to the line!\n *\n * @param {Number} px the x coordinate of the test point\n * @param {Number} py the y coordinate of the test point\n * @returns {Object}\n * @since 4.4.0\n **/\n hitSegment: function hitSegment(px, py) {\n for (var i = 0; i < this.lineSegments.getSize(); i++) {\n var segment = this.lineSegments.get(i);\n if (_packages2.default.shape.basic.Line.hit(this.corona + this.stroke, segment.start.x, segment.start.y, segment.end.x, segment.end.y, px, py)) {\n return { index: i, start: segment.start, end: segment.end };\n }\n }\n return null;\n },\n\n /**\n * \n * Checks if the hands over coordinate close to the line. The 'corona' property of the polyline\n * is considered for this test. This means the point isn't direct on the line. Is it only close to the\n * line!\n *\n * @param {Number} px the x coordinate of the test point\n * @param {Number} py the y coordinate of the test point\n * @returns {Boolean}\n **/\n hitTest: function hitTest(px, py) {\n return this.hitSegment(px, py) !== null;\n },\n\n /**\n * @inheritdoc\n */\n createCommand: function createCommand(request) {\n\n if (request.getPolicy() === _packages2.default.command.CommandType.DELETE) {\n if (this.isDeleteable() === true) {\n return new _packages2.default.command.CommandDelete(this);\n }\n } else if (request.getPolicy() === _packages2.default.command.CommandType.MOVE_VERTEX) {\n if (this.isResizeable() === true) {\n return new _packages2.default.command.CommandMoveVertex(this);\n }\n } else if (request.getPolicy() === _packages2.default.command.CommandType.MOVE_VERTICES) {\n if (this.isResizeable() === true) {\n return new _packages2.default.command.CommandMoveVertices(this);\n }\n }\n\n return this._super(request);\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = (0, _extend2.default)(this._super(), {\n router: this.router.NAME,\n radius: this.radius\n });\n\n memento = this.router.getPersistentAttributes(this, memento);\n\n return memento;\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.router !== \"undefined\") {\n try {\n this.setRouter(eval(\"new \" + memento.router + \"()\"));\n } catch (exc) {\n debug.warn(\"Unable to install router '\" + memento.router + \"' forced by \" + this.NAME + \".setPersistentAttributes. Using default\");\n }\n }\n\n if (typeof memento.radius !== \"undefined\") {\n this.setRadius(memento.radius);\n }\n\n this.router.setPersistentAttributes(this, memento);\n\n if (this.vertices.getSize() > 1) {\n this.start = this.vertices.first().clone();\n this.end = this.vertices.last().clone();\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Polygon.js\":\n/*!************************************!*\\\n !*** ./src/shape/basic/Polygon.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _JSONUtil = __webpack_require__(/*! ../../util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @class\n * A Polygon figure.\n *\n *\n * @example\n *\n * let p1 = new draw2d.shape.basic.Polygon({width:100, height:100});\n * let p2 = new draw2d.shape.basic.Polygon({width:100, height:60});\n *\n * canvas.add(p1,10,10);\n * canvas.add(p2,100,10);\n *\n * p2.attr({color:\"#f0f000\", alpha:0.7});\n *\n * canvas.setCurrentSelection(p2);\n *\n * @author Andreas Herz\n * @extends draw2d.VectorFigure\n */\n_packages2.default.shape.basic.Polygon = _packages2.default.VectorFigure.extend(\n/** @lends draw2d.shape.basic.Polygon.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Polygon\",\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.minX = 0;\n this.minY = 0;\n this.maxX = 0;\n this.maxY = 0;\n this.vertices = new _packages2.default.util.ArrayList();\n\n this._super(attr, setter, getter);\n\n // we must cache the initial width/height because the width/height of the shape\n // is recalculated in the addVertex method. After the first call this values are 0/0\n if (this.vertices.getSize() === 0) {\n var w = this.width;\n var h = this.height;\n var pos = this.getPosition();\n this.addVertex(new _packages2.default.geo.Point(0, 0));\n this.addVertex(new _packages2.default.geo.Point(w, 0));\n this.addVertex(new _packages2.default.geo.Point(w, h));\n\n this.setPosition(pos);\n }\n\n this.svgPathString = null;\n\n this.installEditPolicy(new _packages2.default.policy.figure.VertexSelectionFeedbackPolicy());\n },\n\n /**\n * @inheritdoc\n */\n setRadius: function setRadius(radius) {\n this.svgPathString = null;\n\n this._super(radius);\n this.fireEvent(\"change:radius\", { value: radius });\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n createShapeElement: function createShapeElement() {\n // return some good default...\n return this.canvas.paper.path(\"M0 10L100 100\");\n },\n\n /**\n * \n * calculate the path of the polygon\n *\n */\n calculatePath: function calculatePath() {\n var radius = this.getRadius();\n var path = [];\n // hard corners\n //\n if (radius === 0) {\n var _length = this.vertices.getSize();\n var p = this.vertices.get(0);\n path.push(\"M\", p.x, \" \", p.y);\n for (var i = 1; i < _length; i++) {\n p = this.vertices.get(i);\n path.push(\"L\", p.x, \" \", p.y);\n }\n path.push(\"Z\");\n }\n // soften/round corners\n //\n else {\n length = this.vertices.getSize();\n var start = this.vertices.first();\n var end = this.vertices.last();\n if (start.equals(end)) {\n length = length - 1;\n end = this.vertices.get(length - 1);\n }\n var begin = _packages2.default.geo.Util.insetPoint(start, end, radius);\n path.push(\"M\", begin.x, \",\", begin.y);\n for (var _i = 0; _i < length; _i++) {\n start = this.vertices.get(_i);\n end = this.vertices.get((_i + 1) % length);\n var modStart = _packages2.default.geo.Util.insetPoint(start, end, radius);\n var modEnd = _packages2.default.geo.Util.insetPoint(end, start, radius);\n path.push(\"Q\", start.x, \",\", start.y, \" \", modStart.x, \", \", modStart.y);\n path.push(\"L\", modEnd.x, \",\", modEnd.y);\n }\n }\n this.svgPathString = path.join(\"\");\n return this;\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n if (this.svgPathString === null) {\n this.calculatePath();\n }\n\n attributes = attributes || {};\n\n _JSONUtil2.default.ensureDefault(attributes, \"path\", this.svgPathString);\n\n this._super(attributes);\n },\n\n /**\n * \n * Translate the figure with the given x/y offset. This method modifies all\n * vertices and the bounding box.\n *\n * @param {Number} dx The new x translate offset\n * @param {Number} dy The new y translate offset\n **/\n translate: function translate(dx, dy) {\n var _this = this;\n\n // TODO: This is not good. If the polygon part of an \"Composite\" I should call\n // the adjustPosition. IF we DragDrap the composition the figures inside should follow\n // without modify the dx/dy.\n //\n dx = this.x + dx;\n dy = this.y + dy;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n var newPos = e.adjustPosition(_this, dx, dy);\n dx = newPos.x;\n dy = newPos.y;\n }\n });\n dx = dx - this.x;\n dy = dy - this.y;\n\n this.vertices.each(function (i, e) {\n e.translate(dx, dy);\n });\n this.svgPathString = null;\n this.updateBoundingBox();\n\n this.repaint();\n\n // Update the resize handles if the user change the position of the\n // element via an API call.\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n this.fireEvent(\"move\", { figure: this, dx: dx, dy: dy });\n this.fireEvent(\"change:x\", { value: this.x });\n this.fireEvent(\"change:y\", { value: this.y });\n\n return this;\n },\n\n /**\n * \n * Change the position of the polygon. This method updates all vertices.\n *\n * @param {Number|draw2d.geo.Point} x\n * @param {Number} [y]\n */\n setPosition: function setPosition(x, y) {\n if (x instanceof _packages2.default.geo.Point) {\n y = x.y;\n x = x.x;\n }\n this.svgPathString = null;\n\n var dx = x - this.minX;\n var dy = y - this.minY;\n\n this.translate(dx, dy);\n\n this.x = x;\n this.y = y;\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n setDimension: function setDimension(w, h) {\n var oldWidth = this.width;\n var oldHeight = this.height;\n\n this._super(w, h);\n\n var fracWidth = 1 / oldWidth * this.width;\n var fracHeight = 1 / oldHeight * this.height;\n\n var thisX = this.x;\n var thisY = this.y;\n this.vertices.each(function (i, e) {\n // calculate difference between point and figure origin\n var diffX = (e.getX() - thisX) * fracWidth;\n var diffY = (e.getY() - thisY) * fracHeight;\n e.setPosition(thisX + diffX, thisY + diffY);\n });\n\n this.svgPathString = null;\n this.repaint();\n this.fireEvent(\"change:dimension\", { value: { width: this.width, height: this.height } });\n\n return this;\n },\n\n /**\n * \n * Return all vertices of the polygon.\n *\n * @returns {draw2d.util.ArrayList}\n */\n getVertices: function getVertices() {\n return this.vertices;\n },\n\n /**\n * \n * Return the Vertex with the given index.\n *\n * @param {Number} index the index of the vertex to return\n * @since 5.0.2\n */\n getVertex: function getVertex(index) {\n return this.vertices.get(index);\n },\n\n resetVertices: function resetVertices() {\n var _this2 = this;\n\n this.vertices = new _packages2.default.util.ArrayList();\n\n this.svgPathString = null;\n this.repaint();\n\n this.updateBoundingBox();\n\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this2.canvas, _this2);\n }\n });\n\n return this;\n },\n\n /**\n * \n * Update the vertex at the given index. The method call didn't have any effect\n * if the vertex didn't exists.\n *\n * @param {Number} index\n * @param {Number} x\n * @param {Number} y\n */\n setVertex: function setVertex(index, x, y) {\n var vertex = this.vertices.get(index);\n\n // invalid point or nothing to do\n //\n if (vertex === null || vertex.x === x && vertex.y === y) {\n return this;\n }\n\n vertex.x = parseFloat(x);\n vertex.y = parseFloat(y);\n\n this.svgPathString = null;\n this.repaint();\n\n this.updateBoundingBox();\n\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return this;\n },\n\n /**\n * \n * Append a new vertex to the polygon.\n *\n * @param {Number | draw2d.geo.Point} x\n * @param {Number} [y]\n */\n addVertex: function addVertex(x, y) {\n this.vertices.add(new _packages2.default.geo.Point(x, y));\n\n this.svgPathString = null;\n this.repaint();\n\n this.updateBoundingBox();\n\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return this;\n },\n\n /**\n * \n * Insert a new vertex at the given index. All vertices will be shifted to\n * free the requested index.\n *\n * @param {Number} index\n * @param {Number} x\n * @param {Number} y\n */\n insertVertexAt: function insertVertexAt(index, x, y) {\n this.vertices.insertElementAt(new _packages2.default.geo.Point(x, y), index);\n\n this.svgPathString = null;\n this.repaint();\n\n this.updateBoundingBox();\n\n if (!this.selectionHandles.isEmpty()) {\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy) {\n e.onUnselect(_this.canvas, _this);\n e.onSelect(_this.canvas, _this);\n }\n });\n }\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return this;\n },\n\n /**\n * \n * Remove a vertex from the polygon and return the removed point.\n *\n * @param {Number} index\n *\n * @returns {draw2d.geo.Point} the removed vertex\n */\n removeVertexAt: function removeVertexAt(index) {\n // a polygon need at least 3 vertices\n //\n if (this.vertices.getSize() <= 3) {\n return null;\n }\n\n var vertex = this.vertices.removeElementAt(index);\n\n this.svgPathString = null;\n this.repaint();\n\n this.updateBoundingBox();\n\n if (!this.selectionHandles.isEmpty()) {\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.SelectionFeedbackPolicy) {\n e.onUnselect(_this.canvas, _this);\n e.onSelect(_this.canvas, _this);\n }\n });\n }\n this.fireEvent(\"change:vertices\", { value: this.vertices });\n\n return vertex;\n },\n\n /**\n * @inheritdoc\n */\n setRotationAngle: function setRotationAngle(angle) {\n this.rotationAngle = 360 % angle;\n\n // The different to the other figures is, the the vertices must rotated instead of\n // transform the shape with SVG matrix.\n //\n // Reason: the vertices are selectable and in this case the coordinates must transform\n // and not only the resulting SVG shape.\n //\n var radian = angle / (180 / Math.PI);\n var center = this.getBoundingBox().getCenter();\n var rotate = function rotate(x, y, xm, ym, radian) {\n var cos = Math.cos,\n sin = Math.sin;\n return {\n x: (x - xm) * cos(radian) - (y - ym) * sin(radian) + xm,\n y: (x - xm) * sin(radian) + (y - ym) * cos(radian) + ym\n };\n };\n\n this.vertices.each(function (i, e) {\n var rot = rotate(e.x, e.y, center.x, center.y, radian);\n e.setPosition(rot.x, rot.y);\n });\n\n this.updateBoundingBox();\n\n // Update the resize handles if the user change the position of the element via an API call.\n //\n var _this = this;\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.moved(_this.canvas, _this);\n }\n });\n\n this.repaint();\n this.fireEvent(\"change:angle\", { value: this.rotationAngle });\n\n return this;\n },\n\n /**\n * \n * Calculate the bounding box of the shape and store them in an internal\n * variable for fast access.\n *\n * @private\n */\n updateBoundingBox: function updateBoundingBox() {\n if (this.vertices.isEmpty()) {\n this.minX = this.x;\n this.minY = this.y;\n this.maxX = this.x + this.width;\n this.maxY = this.y + this.height;\n } else {\n this.minX = this.x = Math.min.apply(Math, _toConsumableArray(this.vertices.asArray().map(function (n) {\n return n.x;\n })));\n this.minY = this.y = Math.min.apply(Math, _toConsumableArray(this.vertices.asArray().map(function (n) {\n return n.y;\n })));\n this.maxX = Math.max.apply(Math, _toConsumableArray(this.vertices.asArray().map(function (n) {\n return n.x;\n })));\n this.maxY = Math.max.apply(Math, _toConsumableArray(this.vertices.asArray().map(function (n) {\n return n.y;\n })));\n this.width = this.maxX - this.minX;\n this.height = this.maxY - this.minY;\n }\n },\n\n /**\n * @inheritdoc\n */\n createCommand: function createCommand(request) {\n\n if (request.getPolicy() === _packages2.default.command.CommandType.MOVE_VERTEX) {\n if (this.isResizeable() === true) {\n return new _packages2.default.command.CommandMoveVertex(this);\n }\n }\n\n return this._super(request);\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n memento.vertices = [];\n\n this.vertices.each(function (i, e) {\n memento.vertices.push({ x: e.x, y: e.y });\n });\n\n return memento;\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n var _this3 = this;\n\n this._super(memento);\n\n // restore the points from the JSON data and add them to the polyline\n //\n if (typeof memento.vertices !== \"undefined\") {\n this.vertices = new _packages2.default.util.ArrayList();\n memento.vertices.forEach(function (point) {\n _this3.addVertex(point);\n });\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Rectangle.js\":\n/*!**************************************!*\\\n !*** ./src/shape/basic/Rectangle.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A Rectangle Figure.\n *\n *\n * @example\n *\n * let rect1 = new draw2d.shape.basic.Rectangle({\n * \tx:10,\n * y:10\n * });\n *\n * let rect2 = new draw2d.shape.basic.Rectangle({\n * x: 100,\n * y: 10,\n * bgColor: \"#f0f000\",\n * alpha : 0.7,\n * width: 100,\n * height: 60,\n * radius: 10\n * });\n *\n * canvas.add(rect1);\n * canvas.add(rect2);\n *\n * canvas.setCurrentSelection(rect2);\n *\n * @author Andreas Herz\n * @param {Object} [attr] the configuration of the shape\n * @param {Object} [setter] add or replace setter methods\n * @param {Object} [getter] add or replace getter methods\n * @extends draw2d.VectorFigure\n */\n_packages2.default.shape.basic.Rectangle = _packages2.default.VectorFigure.extend(\n/** @lends draw2d.shape.basic.Rectangle.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Rectangle\",\n\n init: function init(attr, setter, getter) {\n this.dasharray = null;\n\n this._super((0, _extend2.default)({ bgColor: \"#a0a0a0\", color: \"#1B1B1B\" }, attr), (0, _extend2.default)({}, {\n // @attr {String} dash The dot/dash pattern for the line style. Valid values: [\"\", \"-\", \".\", \"-.\", \"-..\", \". \", \"- \", \"--\", \"- .\", \"--.\", \"--..\"]*/\n dash: this.setDashArray,\n // @attr {String} dasharray The dot/dash pattern for the line style. Valid values: [\"\", \"-\", \".\", \"-.\", \"-..\", \". \", \"- \", \"--\", \"- .\", \"--.\", \"--..\"]*/\n dasharray: this.setDashArray\n }, setter), (0, _extend2.default)({}, {\n dash: this.getDashArray,\n dasharray: this.getDashArray\n }, getter));\n },\n\n /**\n * @inheritdoc\n **/\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = (0, _extend2.default)({}, {\n width: this.getWidth(),\n height: this.getHeight(),\n r: this.getRadius()\n }, attributes);\n\n if (this.dasharray !== null) {\n attributes[\"stroke-dasharray\"] = this.dasharray;\n }\n\n this._super(attributes);\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n applyTransformation: function applyTransformation() {\n var ts = \"R\" + this.rotationAngle;\n\n if (this.getRotationAngle() === 90 || this.getRotationAngle() === 270) {\n var ratio = this.getHeight() / this.getWidth();\n ts = ts + \"S\" + ratio + \",\" + 1 / ratio + \",\" + (this.getAbsoluteX() + this.getWidth() / 2) + \",\" + (this.getAbsoluteY() + this.getHeight() / 2);\n }\n\n this.shape.transform(ts);\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n createShapeElement: function createShapeElement() {\n return this.canvas.paper.rect(this.getAbsoluteX(), this.getAbsoluteY(), this.getWidth(), this.getHeight());\n },\n\n /**\n *\n * Set the line style for dot/dash styling. Possible values are\n * [\"\", \"-\", \".\", \"-.\", \"-..\", \". \", \"- \", \"--\", \"- .\", \"--.\", \"--..\"]\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * dash: pattern\n * });\n *\n * @param {String} pattern the string with the dot/dash pattern. valid values: [\"\", \"-\", \".\", \"-.\", \"-..\", \". \", \"- \", \"--\", \"- .\", \"--.\", \"--..\"]\n */\n setDashArray: function setDashArray(pattern) {\n this.dasharray = pattern;\n this.repaint();\n this.fireEvent(\"change:dashArray\", { value: this.dasharray });\n\n return this;\n },\n\n /**\n *\n * Get the line style for this object.\n *\n * // Alternatively you can use the attr method:\n * figure.attr(\"dash\");\n *\n * @since 5.1.0\n */\n getDashArray: function getDashArray() {\n return this.dasharray;\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n if (this.dasharray !== null) {\n memento.dasharray = this.dasharray;\n }\n\n return memento;\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.dasharray === \"string\") {\n this.dasharray = memento.dasharray;\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/Text.js\":\n/*!*********************************!*\\\n !*** ./src/shape/basic/Text.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Implements a simple text with word wrapping.<br>The height of the element is automatic calculated. The widht of\n * the element is changeable by the user and respect the minWidth constraint.\n * <br>\n *\n *\n * @example\n *\n * let shape = new draw2d.shape.basic.Text({text:\"This is a simple text with some loooooong word in.\"});\n *\n * canvas.add(shape,40,10);\n *\n * @author Andreas Herz\n * @since 4.2.3\n * @extends draw2d.shape.basic.Label\n */\n_packages2.default.shape.basic.Text = _packages2.default.shape.basic.Label.extend(\n/** @lends draw2d.shape.basic.Text.prototype */\n{\n\n NAME: \"draw2d.shape.basic.Text\",\n\n /**\n * Creates a new text element.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.cachedWrappedAttr = null;\n\n this._super(extend({ width: 100, height: 50, resizeable: true }, attr), setter, getter);\n\n this.installEditPolicy(new _packages2.default.policy.figure.WidthSelectionFeedbackPolicy());\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n // style the label\n this.svgNodes.attr(extend({}, this.calculateTextAttr(), this.wrappedTextAttr(this.text, this.getWidth() - this.padding.left - this.padding.right)));\n\n // set of the x/y must be done AFTER the font-size and bold has been set.\n // Reason: the getHeight method needs the font-size for calculation because\n // it redirects the calculation to the SVG element.\n this.svgNodes.attr({ x: this.padding.left, y: this.getHeight() / 2 });\n\n // this is an exception call. Don't call the super method (Label) to avoid\n // the calculation in this method.\n _packages2.default.SetFigure.prototype.repaint.call(this, attributes);\n },\n\n /**\n * @inheritdoc\n */\n setDimension: function setDimension(w, h) {\n this.clearCache();\n var attr = this.wrappedTextAttr(this.text, w);\n\n this.cachedMinWidth = Math.max(w, attr.width);\n this.cachedMinHeight = attr.height;\n\n _packages2.default.shape.node.Node.prototype.setDimension.call(this, this.cachedMinWidth, this.cachedMinHeight);\n // this._super(Math.min(w,attr.width),attr.height);\n this.fireEvent(\"change:dimension\", { value: { width: this.cachedMinWidth, height: this.cachedMinHeight } });\n\n return this;\n },\n\n /**\n *\n * clear the internal cache for width/height precalculation\n * @private\n */\n clearCache: function clearCache() {\n this._super();\n this.cachedWrappedAttr = null;\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n getMinWidth: function getMinWidth() {\n if (this.shape === null) {\n return 0;\n }\n\n if (this.cachedMinWidth === null) {\n // get the longest word in the text\n //\n var longestWord = this.text.split(\" \").reduce(function (arg1, arg2) {\n return arg1.length > arg2.length ? arg1 : arg2;\n });\n var svgText = this.canvas.paper.text(0, 0, longestWord).attr(extend({}, this.calculateTextAttr(), { text: longestWord }));\n this.cachedMinWidth = svgText.getBBox(true).width + this.padding.left + this.padding.right + 2 * this.getStroke();\n svgText.remove();\n }\n\n return this.cachedMinWidth;\n },\n\n /**\n *\n * calculates the attributes (wrapped text and width, height) with the given parameter\n *\n * @private\n */\n wrappedTextAttr: function wrappedTextAttr(text, width) {\n var words = text.split(\" \");\n if (this.canvas === null || words.length === 0) {\n return { text: text, width: width, height: 20 };\n }\n\n if (this.cachedWrappedAttr === null) {\n var abc = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n var svgText = this.canvas.paper.text(0, 0, \"\").attr(extend({}, this.calculateTextAttr(), { text: abc }));\n\n // get a good estimation of a letter width...not correct but this is working for the very first draft implementation\n var letterWidth = svgText.getBBox(true).width / abc.length;\n\n var s = [words[0]],\n x = s[0].length * letterWidth;\n var w = null;\n for (var i = 1; i < words.length; i++) {\n w = words[i];\n var l = w.length * letterWidth;\n if (x + l > width) {\n s.push(\"\\n\");\n x = l;\n } else {\n s.push(\" \");\n x += l;\n }\n s.push(w);\n }\n // set the wrapped text and get the resulted bounding box\n //\n svgText.attr({ text: s.join(\"\") });\n var bbox = svgText.getBBox(true);\n svgText.remove();\n this.cachedWrappedAttr = {\n text: s.join(\"\"),\n width: Math.max(width, bbox.width) + this.padding.left + this.padding.right,\n height: bbox.height + this.padding.top + this.padding.bottom\n };\n }\n return this.cachedWrappedAttr;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/basic/VertexResizeHandle.js\":\n/*!***********************************************!*\\\n !*** ./src/shape/basic/VertexResizeHandle.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Selection handle for polyline vertices.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.ResizeHandle\n */\n_packages2.default.shape.basic.VertexResizeHandle = _packages2.default.ResizeHandle.extend(\n/** @lends draw2d.shape.basic.VertexResizeHandle.prototype */\n{\n\n NAME: \"draw2d.shape.basic.VertexResizeHandle\",\n\n SNAP_THRESHOLD: 3,\n LINE_COLOR: \"#1387E6\",\n FADEOUT_DURATION: 300,\n\n init: function init(owner, index) {\n this._super({ owner: owner });\n this.index = index;\n this.isDead = false;\n },\n\n /**\n * Called when a user double clicks on the element\n *\n * @template\n */\n onDoubleClick: function onDoubleClick() {\n var cmd = new _packages2.default.command.CommandRemoveVertex(this.owner, this.index);\n this.getCanvas().getCommandStack().execute(cmd);\n\n this.isDead = true;\n },\n\n /**\n *\n * Called if a drag&drop operation starts.<br>\n *\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @private\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n if (this.isDead === true) {\n return;\n }\n\n this._super();\n this.command = this.getCanvas().getPrimarySelection().createCommand(new _packages2.default.command.CommandType(_packages2.default.command.CommandType.MOVE_VERTEX));\n if (this.command != null) {\n this.command.setIndex(this.index);\n this.setAlpha(0.2);\n this.shape.attr({ \"cursor\": \"crosshair\" });\n }\n\n // Vertex is a reference and not a copy of the point\n this.vertex = this.owner.getVertex(this.index).clone();\n\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"dragstart\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n\n return true;\n },\n\n /**\n *\n * Called from the framework during a drag&drop operation\n *\n * @param {Number} dx the x difference between the start of the drag drop operation and now\n * @param {Number} dy the y difference between the start of the drag drop operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n **/\n onDrag: function onDrag(dx, dy, dx2, dy2) {\n if (this.isDead === true || this.command == null) {\n return;\n }\n\n this.setPosition(this.x + dx2, this.y + dy2);\n\n // update the polyline for immediately drag&drop feedback\n //\n this.vertex.translate(dx2, dy2);\n var newPos = this.vertex.clone();\n // Adjust the new location if the object can snap to a helper\n // like grid, geometry, ruler,...\n //\n if (this.getCanSnapToHelper()) {\n newPos = this.getCanvas().snapToHelper(this, newPos);\n }\n\n this.owner.setVertex(this.index, newPos.x, newPos.y);\n\n // update the command for the undo/redo stuff\n //\n this.command.updatePosition(this.vertex.x, this.vertex.y);\n },\n\n /**\n * Called after a drag and drop action.<br>\n * Sub classes can override this method to implement additional stuff. Don't forget to call the super implementation via <code>this._super();</code>\n *\n * @param {Number} x the x-coordinate of the mouse event\n * @param {Number} y the y-coordinate of the mouse event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n */\n onDragEnd: function onDragEnd(x, y, shiftKey, ctrlKey) {\n if (this.isDead === true || this.command === null) {\n return;\n }\n\n this.shape.attr({ \"cursor\": \"move\" });\n\n var stack = this.getCanvas().getCommandStack();\n\n var transactionCommand = new _packages2.default.command.CommandCollection();\n\n try {\n transactionCommand.add(this.command);\n this.command = null;\n if (this.getEnclosingAngle() > 178) {\n transactionCommand.add(new _packages2.default.command.CommandRemoveVertex(this.owner, this.index));\n }\n } finally {\n stack.execute(transactionCommand);\n }\n\n this.setAlpha(1);\n\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"dragend\", { x: x, y: y, shiftKey: shiftKey, ctrlKey: ctrlKey });\n },\n\n /**\n *\n * Controls the location of the resize handle\n *\n * @template\n **/\n relocate: function relocate() {\n var resizeWidthHalf = this.getWidth() / 2;\n var resizeHeightHalf = this.getHeight() / 2;\n\n var anchor = this.owner.getVertex(this.index);\n\n this.setPosition(anchor.x - resizeWidthHalf, anchor.y - resizeHeightHalf);\n },\n\n /**\n *\n * Calculates the angle between the siblings\n *\n * @returns {Number}\n */\n getEnclosingAngle: function getEnclosingAngle() {\n // calculate the angle between the siblings\n var points = this.owner.getVertices();\n var trans = this.vertex.getScaled(-1);\n var size = points.getSize();\n var left = points.get((this.index - 1 + size) % size).translated(trans); // % is just to ensure the [0, size] interval\n var right = points.get((this.index + 1) % size).translated(trans); // % is just to ensure the [0, size] interval\n\n var dot = left.dot(right);\n\n var acos = Math.acos(dot / (left.length() * right.length()));\n return acos * 180 / Math.PI;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/composite/Composite.js\":\n/*!******************************************!*\\\n !*** ./src/shape/composite/Composite.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Base interface for the composite shapes\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Rectangle\n * @since 4.7.2\n */\n_packages2.default.shape.composite.Composite = _packages2.default.SetFigure.extend(\n/** @lends draw2d.shape.composite.Composite.prototype */\n{\n\n NAME: \"draw2d.shape.composite.Composite\",\n\n /**\n * Creates a new composite element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ stroke: 1, \"color\": \"#f0f0f0\" }, attr), setter, getter);\n },\n\n /**\n *\n * Called when a user dbl clicks on the element\n *\n * @template\n */\n onDoubleClick: function onDoubleClick() {\n // do nothing per default. no rotation of the shape.\n },\n\n /**\n *\n * Delegate method to calculate if a figure is selectable. A composite has the right to override the\n * initial selectable flag of the figure.\n *\n * @param {draw2d.Figure} figure the figure to test\n * @param {Boolean} selectable the initial selectable flag of the figure\n * @returns {Boolean} returns `selectable`. A figure in a composite is per default selectable if the figure itself allows it.\n *\n */\n isMemberSelectable: function isMemberSelectable(figure, selectable) {\n return selectable;\n },\n\n /**\n *\n * Delegate method to calculate if a figure is draggable. A composite has the right to override the\n * initial draggable flag of the figure.\n *\n * @param {draw2d.Figure} figure the figure to test\n * @param {Boolean} draggable the initial draggable flag of the figure\n * @returns {Boolean} returns `draggable`. A figure in a composite is per default draggable if the figure itself allows it.\n *\n */\n isMemberDraggable: function isMemberDraggable(figure, draggable) {\n return draggable;\n },\n\n /**\n *\n * Set the canvas element of this figures. This can be used to determine whenever an element\n * is added or removed to the canvas.\n *\n * @param {draw2d.Canvas} canvas the new parent of the figure or null\n * @returns {this}\n */\n setCanvas: function setCanvas(canvas) {\n this._super(canvas);\n\n // an composite shape goes always in the background\n //\n if (canvas !== null) {\n this.toBack();\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/composite/Group.js\":\n/*!**************************************!*\\\n !*** ./src/shape/composite/Group.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A group is a figure that acts as a transparent container for other figures. A group\n * is a StrongComposite node that controls a set of child figures. The bounding rectangle of\n * a group is the union of the bounds of its children. Child nodes cannot be selected or\n * manipulated individually.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.composite.StrongComposite\n * @since 4.8.0\n */\n_packages2.default.shape.composite.Group = _packages2.default.shape.composite.StrongComposite.extend(\n/** @lends draw2d.shape.composite.Group.prototype */\n{\n\n NAME: \"draw2d.shape.composite.Group\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ bgColor: null, color: null, resizeable: false }, attr), setter, getter);\n\n // used during figure assignment/unassignment. The Group is resizing during figure assignment\n // and we want avoid that already assigned figures are moving during this resize.\n //\n this.stickFigures = false;\n },\n\n /**\n *\n * Delegate method to calculate if a figure is selectable. A composite has the right to override the\n * initial selectable flag of the figure.\n *\n * @param {draw2d.Figure} figure the figure to test\n * @param {Boolean} selectable the initial selectable flag of the figure\n * @returns {Boolean} returns false because it is not possible toselect single figures in the group\n */\n isMemberSelectable: function isMemberSelectable(figure, selectable) {\n return false;\n },\n\n /**\n *\n * Delegate method to calculate if a figure is draggable. A composite has the right to override the\n * initial draggable flag of the figure.\n * <br>\n * Returns false because only the complete group is draggable\n *\n * @param {draw2d.Figure} figure the figure to test\n * @param {Boolean} draggable the initial draggable flag of the figure\n * @returns {Boolean} returns always false because it is not possible to drag&drop single figures in a group\n *\n */\n isMemberDraggable: function isMemberDraggable(figure, draggable) {\n return false;\n },\n\n /**\n *\n * Set the position of the object.\n *\n * @param {Number/draw2d.geo.Point} x The new x coordinate of the figure\n * @param {Number} [y] The new y coordinate of the figure\n * @returns {this}\n **/\n setPosition: function setPosition(x, y) {\n var oldX = this.x;\n var oldY = this.y;\n\n this._super(x, y);\n\n var dx = this.x - oldX;\n var dy = this.y - oldY;\n\n if (dx === 0 && dy === 0) {\n return this;\n }\n\n if (this.stickFigures === false) {\n this.assignedFigures.each(function (i, figure) {\n figure.translate(dx, dy);\n });\n }\n\n return this;\n },\n\n /**\n *\n * Assign a figure to the given group.\n * The bounding box of the group is recalculated and the union of the current bounding box with the\n * figure bounding box.\n *\n * @param {draw2d.Figure} figure\n * @returns {this}\n */\n assignFigure: function assignFigure(figure) {\n if (!this.assignedFigures.contains(figure)) {\n var _this = this;\n this.stickFigures = true;\n if (this.assignedFigures.isEmpty() === true) {\n this.setBoundingBox(figure.getBoundingBox());\n } else {\n this.setBoundingBox(this.getBoundingBox().merge(figure.getBoundingBox()));\n }\n this.assignedFigures.add(figure);\n figure.setComposite(this);\n // the selection adapter defines which figure should be selected if the user clicks on\n // \"figure\". The \"group\" redirects to the group instead to allowing select the child.\n figure.setSelectionAdapter(function () {\n return _this;\n });\n this.stickFigures = false;\n }\n return this;\n },\n\n /**\n *\n * Remove the given figure from the group assignment\n *\n * @param {draw2d.Figure} figure the figure to remove\n * @returns {this}\n */\n unassignFigure: function unassignFigure(figure) {\n if (this.assignedFigures.contains(figure)) {\n this.stickFigures = true;\n figure.setComposite(null);\n figure.setSelectionAdapter(null);\n this.assignedFigures.remove(figure);\n if (!this.assignedFigures.isEmpty()) {\n var box = this.assignedFigures.first().getBoundingBox();\n this.assignedFigures.each(function (i, figure) {\n box.merge(figure.getBoundingBox());\n });\n this.setBoundingBox(box);\n }\n this.stickFigures = false;\n }\n\n return this;\n },\n\n /**\n * @inheritDoc\n */\n createCommand: function createCommand(request) {\n if (request === null) {\n return null;\n }\n\n if (request.getPolicy() === _packages2.default.command.CommandType.DELETE) {\n if (!this.isDeleteable()) {\n return null;\n }\n return new _packages2.default.command.CommandDeleteGroup(this);\n }\n\n return this._super(request);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/composite/Jailhouse.js\":\n/*!******************************************!*\\\n !*** ./src/shape/composite/Jailhouse.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A Jailhouse is a figure that acts as a container for other figures. A Jailhouse\n * is a StrongComposite node that controls a set of child figures. Child nodes can't\n * moved outside of the composite.<br>\n * Objects in a jailhouse have the same Z-order, which can be relatively controlled with\n * respect to other figures.\n *\n * @author Andreas Herz\n * @extends draw2d.shape.composite.StrongComposite\n * @since 4.8.0\n */\n_packages2.default.shape.composite.Jailhouse = _packages2.default.shape.composite.StrongComposite.extend(\n/** @lends draw2d.shape.composite.Jailhouse.prototype */\n{\n\n NAME: \"draw2d.shape.composite.Jailhouse\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.policy = new _packages2.default.policy.figure.RegionEditPolicy(0, 0, 10, 10);\n this._super(extend({ bgColor: \"#f0f0f0\", color: \"#333333\" }, attr), setter, getter);\n\n this.stickFigures = false;\n },\n\n /**\n *\n * Set the new width and height of the figure and update the constraint policy for the assigned\n * figures..\n *\n * @param {Number} w The new width of the figure\n * @param {Number} h The new height of the figure\n **/\n setDimension: function setDimension(w, h) {\n this._super(w, h);\n this.policy.setBoundingBox(this.getAbsoluteBounds());\n },\n\n /**\n *\n * Set the position of the object.\n *\n * @param {Number/draw2d.geo.Point} x The new x coordinate of the figure\n * @param {Number} [y] The new y coordinate of the figure\n **/\n setPosition: function setPosition(x, y) {\n var oldX = this.x;\n var oldY = this.y;\n\n this._super(x, y);\n\n var dx = this.x - oldX;\n var dy = this.y - oldY;\n\n if (dx === 0 && dy === 0) {\n return this;\n }\n this.policy.getBoundingBox().setPosition(x, y);\n\n if (this.stickFigures === false) {\n this.assignedFigures.each(function (i, figure) {\n figure.translate(dx, dy);\n });\n }\n\n return this;\n },\n\n /**\n *\n * Assign a figure to the given group.\n * The bounding box of the group is recalculated and the union of the current bounding box with the\n * figure bounding box.\n *\n * @param {draw2d.Figure} figure\n */\n assignFigure: function assignFigure(figure) {\n if (!this.assignedFigures.contains(figure) && figure !== this) {\n this.stickFigures = true;\n this.setBoundingBox(this.getBoundingBox().merge(figure.getBoundingBox()));\n this.assignedFigures.add(figure);\n figure.setComposite(this);\n figure.installEditPolicy(this.policy);\n figure.toFront(this);\n this.stickFigures = false;\n }\n return this;\n },\n\n getAssignedFigures: function getAssignedFigures() {\n return this.assignedFigures;\n },\n\n /**\n *\n * Remove the given figure from the group assignment\n *\n * @param {draw2d.Figure} figure the figure to remove\n *\n */\n unassignFigure: function unassignFigure(figure) {\n if (this.assignedFigures.contains(figure)) {\n this.stickFigures = true;\n figure.setComposite(null);\n figure.uninstallEditPolicy(this.policy);\n this.assignedFigures.remove(figure);\n if (!this.assignedFigures.isEmpty()) {\n var box = this.assignedFigures.first().getBoundingBox();\n this.assignedFigures.each(function (i, figure) {\n box.merge(figure.getBoundingBox());\n });\n this.setBoundingBox(box);\n }\n this.stickFigures = false;\n }\n\n return this;\n },\n\n onCatch: function onCatch(droppedFigure, x, y, shiftKey, ctrlKey) {\n this.getCanvas().getCommandStack().execute(new _packages2.default.command.CommandAssignFigure(droppedFigure, this));\n },\n\n /**\n *\n * Return the minWidth of the jailhouse. The minWidth is calculated by care the assigned figures.\n *\n * @returns {Number} the minimum width for the figure\n */\n getMinWidth: function getMinWidth() {\n var width = 0;\n this.assignedFigures.each(function (i, figure) {\n width = Math.max(width, figure.getBoundingBox().getRight());\n });\n return width - this.getAbsoluteX();\n },\n\n /**\n *\n * @returns {Number} the minimum height of the figure\n */\n getMinHeight: function getMinHeight() {\n var height = 0;\n this.assignedFigures.each(function (i, figure) {\n height = Math.max(height, figure.getBoundingBox().getBottom());\n });\n return height - this.getAbsoluteY();\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/composite/Raft.js\":\n/*!*************************************!*\\\n !*** ./src/shape/composite/Raft.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Raft figures are shapes, which aggregate multiple figures. It works like a real raft. Aboard figures are\n * moved if the raft figures moves.\n *\n *\n * @example\n *\n * let rect1 = new draw2d.shape.composite.Raft({width:200, height:100});\n * let rect2 = new draw2d.shape.basic.Rectangle({width:50, height:50});\n *\n * canvas.add(rect1,10,10);\n * canvas.add(rect2,20,20);\n *\n * rect2.attr({bgColor:\"#f0f000\", width:50, height:50, radius:10});\n *\n * canvas.setCurrentSelection(rect1);\n *\n * @author Andreas Herz\n * @extends draw2d.shape.composite.WeakComposite\n * @since 4.7.0\n */\n_packages2.default.shape.composite.Raft = _packages2.default.shape.composite.WeakComposite.extend(\n/** @lends draw2d.shape.composite.Raft.prototype */\n{\n\n NAME: \"draw2d.shape.composite.Raft\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n\n this.aboardFigures = new _packages2.default.util.ArrayList();\n\n this._super(extend({ bgColor: \"#f0f0f0\", color: \"#1B1B1B\" }, attr), setter, getter);\n },\n\n /**\n *\n * Will be called if the drag and drop action begins. You can return [false] if you\n * want avoid that the figure can be move.\n *\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean} true if the figure accepts dragging\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n this._super(x, y, shiftKey, ctrlKey);\n\n this.aboardFigures = new _packages2.default.util.ArrayList();\n // force the recalculation of the aboard figures if the shape is in a drag&drop operation\n this.getAboardFigures(this.isInDragDrop);\n\n return true;\n },\n\n /**\n *\n * Set the position of the object.\n *\n * @param {Number/draw2d.geo.Point} x The new x coordinate of the figure\n * @param {Number} [y] The new y coordinate of the figure\n * @param {boolean} [dontApplyToChildren] don't move the children if this flag is set.\n **/\n setPosition: function setPosition(x, y, dontApplyToChildren) {\n var oldX = this.x;\n var oldY = this.y;\n\n // we need the figures before the composite has moved. Otherwise some figures are fall out of the raft\n //\n var aboardedFigures = dontApplyToChildren ? _packages2.default.util.ArrayList.EMPTY_LIST : this.getAboardFigures(this.isInDragDrop === false);\n\n this._super(x, y);\n\n var dx = this.x - oldX;\n var dy = this.y - oldY;\n\n if (dx === 0 && dy === 0) {\n return this;\n }\n\n // we must move circuits with \"user routed\" elements as well if the start/target is withing\n // the raft. Some segments stay still because some coordinates has a fixed position\n //\n if (this.canvas !== null) {\n aboardedFigures = aboardedFigures.clone();\n this.canvas.getLines().each(function (i, line) {\n if (line instanceof _packages2.default.Connection) {\n if (aboardedFigures.contains(line.getSource().getRoot()) && aboardedFigures.contains(line.getTarget().getRoot())) {\n aboardedFigures.add(line);\n }\n }\n });\n }\n\n aboardedFigures.each(function (i, figure) {\n figure.translate(dx, dy);\n });\n\n return this;\n },\n\n onDrag: function onDrag(dx, dy, dx2, dy2, shiftKey, ctrlKey) {\n var _this = this;\n\n // apply all EditPolicy for DragDrop Operations\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n var _newPos = e.adjustPosition(_this, _this.ox + dx, _this.oy + dy);\n if (_newPos) {\n dx = _newPos.x - _this.ox;\n dy = _newPos.y - _this.oy;\n }\n }\n });\n\n var newPos = new _packages2.default.geo.Point(this.ox + dx, this.oy + dy);\n\n // Adjust the new location if the object can snap to a helper\n // like grid, geometry, ruler,...\n //\n if (this.getCanSnapToHelper()) {\n newPos = this.getCanvas().snapToHelper(this, newPos);\n }\n\n // push the shiftKey to the setPosition method and avoid to move the children objects\n // if the user press the shift key\n this.setPosition(newPos.x, newPos.y, shiftKey);\n\n // notify all installed policies\n //\n this.editPolicy.each(function (i, e) {\n if (e instanceof _packages2.default.policy.figure.DragDropEditPolicy) {\n e.onDrag(_this.canvas, _this);\n }\n });\n\n // fire an event\n // @since 5.3.3\n this.fireEvent(\"drag\", { dx: dx, dy: dy, dx2: dx2, dy2: dy2, shiftKey: shiftKey, ctrlKey: ctrlKey });\n },\n\n /**\n *\n * Return all figures which are aboard of this shape. These shapes are moved as well if the raft\n * is moving.\n *\n * @returns {draw2d.util.ArrayList}\n */\n getAboardFigures: function getAboardFigures(recalculate) {\n if (recalculate === true && this.canvas !== null) {\n var raftBoundingBox = this.getBoundingBox();\n var zIndex = this.getZOrder();\n this.aboardFigures = new _packages2.default.util.ArrayList();\n\n var _this = this;\n this.getCanvas().getFigures().each(function (i, figure) {\n if (figure !== _this && figure.isSelectable() === true && figure.getBoundingBox().isInside(raftBoundingBox)) {\n // Don't add the figure if it is already catched by another composite with a higher z-index\n //\n if (_this.getNextComposite(figure) !== _this) {\n return;\n }\n // only add the shape if it is in front of the raft\n if (figure.getZOrder() > zIndex) {\n _this.aboardFigures.add(figure);\n }\n }\n });\n }\n return this.aboardFigures;\n },\n\n /**\n *\n * return the next potential composite parent figure\n *\n * @param {draw2d.Figure} figureToTest\n * @returns {draw2d.Figure}\n */\n getNextComposite: function getNextComposite(figureToTest) {\n var nextComposite = null;\n this.getCanvas().getFigures().each(function (i, figure) {\n if (figureToTest === figure) {\n return;\n }\n if (figure instanceof _packages2.default.shape.composite.Composite) {\n if (nextComposite !== null && nextComposite.getZOrder() > figure.getZOrder()) {\n return;\n }\n\n if (figure.getBoundingBox().contains(figureToTest.getBoundingBox())) {\n nextComposite = figure;\n }\n }\n });\n\n return nextComposite;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/composite/StrongComposite.js\":\n/*!************************************************!*\\\n !*** ./src/shape/composite/StrongComposite.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A StrongComposite is a composite figure with strong assignment of the children and the composite.\n * The child knows everything about the assigned composite and receives events about assignment to a\n * composite.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.composite.Composite\n * @since 4.8.0\n */\n_packages2.default.shape.composite.StrongComposite = _packages2.default.shape.composite.Composite.extend(\n/** @lends draw2d.shape.composite.StrongComposite.prototype */\n{\n\n NAME: \"draw2d.shape.composite.StrongComposite\",\n\n /**\n * Creates a new strong composite element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.assignedFigures = new _packages2.default.util.ArrayList();\n\n this._super(attr, setter, getter);\n },\n\n /**\n * \n * Check to see if a figure is a descendant of another figure.\n * <br>\n * The contains() method returns true if the figure provided by the argument is a descendant of this figure,\n * whether it is a direct child or nested more deeply. Otherwise, it returns false.\n *\n * @param {draw2d.Figure} containedFigure The figure that may be contained by (a descendant of) this figure.\n * @since 5.5.4\n */\n contains: function contains(containedFigure) {\n for (var i = 0, len = this.assignedFigures.getSize(); i < len; i++) {\n var child = this.assignedFigures.get(i);\n if (child === containedFigure || child.contains(containedFigure)) {\n return true;\n }\n }\n return this._super(containedFigure);\n },\n\n /**\n * \n * Assign a figure to the composite.\n *\n * @param {draw2d.Figure} figure\n * @template\n */\n assignFigure: function assignFigure(figure) {\n return this;\n },\n\n /**\n * \n * Remove the given figure from the group assignment\n *\n * @param {draw2d.Figure} figure the figure to remove\n * @template\n */\n unassignFigure: function unassignFigure(figure) {\n return this;\n },\n\n /**\n * \n * Return all assigned figures of the composite\n *\n * @returns {draw2d.util.ArrayList}\n */\n getAssignedFigures: function getAssignedFigures() {\n return this.assignedFigures;\n },\n\n /**\n * \n * Called if the user drop this element onto the dropTarget. This event is ONLY fired if the\n * shape return \"this\" in the onDragEnter method.\n *\n *\n * @param {draw2d.Figure} dropTarget The drop target.\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n * @since 4.7.4\n **/\n onDrop: function onDrop(dropTarget, x, y, shiftKey, ctrlKey) {},\n\n /**\n * \n * Called if the user dropped an figure onto this element. This event is ONLY fired if the\n * shape return \"this\" in the onDragEnter method.\n *\n *\n * @param {draw2d.Figure} droppedFigure The dropped figure.\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n * @template\n * @since 4.7.4\n **/\n onCatch: function onCatch(droppedFigure, x, y, shiftKey, ctrlKey) {},\n\n /**\n * \n * Moves the element so it is the closest to the viewer’s eyes, on top of other elements. Additional\n * the internal model changed as well.\n *\n * Optional: Inserts current object in front of the given one.\n *\n * @param {draw2d.Figure} [figure] move current object in front of the given one.\n */\n toFront: function toFront(figure) {\n this._super(figure);\n // ensure that all assigned figures are in front of the composite\n //\n var figures = this.getAssignedFigures().clone();\n figures.sort(function (a, b) {\n // return 1 if a before b\n // return -1 if b before a\n return a.getZOrder() > b.getZOrder() ? -1 : 1;\n });\n var _this = this;\n figures.each(function (i, f) {\n f.toFront(_this);\n });\n\n return this;\n },\n\n /**\n * \n * Moves the element to the background. Additional\n * the internal model changed as well.\n *\n * @since 4.7.2\n */\n toBack: function toBack(figure) {\n this._super(figure);\n // ensure that all assigned figures are in front of the composite\n //\n var figures = this.getAssignedFigures().clone();\n figures.sort(function (a, b) {\n // return 1 if a before b\n // return -1 if b before a\n return a.getZOrder() > b.getZOrder() ? -1 : 1;\n });\n\n var _this = this;\n figures.each(function (i, f) {\n f.toBack(_this);\n });\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/composite/WeakComposite.js\":\n/*!**********************************************!*\\\n !*** ./src/shape/composite/WeakComposite.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A WeakComposite is a composite figure with loose coupling of the children and the composite.\n * The child didn't know anything about the assigned composite nor did they receive any events\n * about assignment to a composite.\n *\n * Assignment without obligation.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.composite.Composite\n * @since 4.8.0\n */\n_packages2.default.shape.composite.WeakComposite = _packages2.default.shape.composite.Composite.extend(\n/** @lends draw2d.shape.composite.WeakComposite.prototype */\n{\n\n NAME: \"draw2d.shape.composite.WeakComposite\",\n\n /**\n * Creates a new weak composite element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/diagram/Diagram.js\":\n/*!**************************************!*\\\n !*** ./src/shape/diagram/Diagram.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _JSONUtil = __webpack_require__(/*! ../../util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Base class for all diagrams.\n *\n * @param {Object} [attr] the configuration of the shape\n * @extends draw2d.SetFigure\n */\n_packages2.default.shape.diagram.Diagram = _packages2.default.SetFigure.extend(\n/** @lends draw2d.shape.diagram.Diagram */\n{\n\n init: function init(attr, setter, getter) {\n this.data = [];\n this.cache = {};\n\n this._super((0, _extend2.default)({ data: [], bgColor: \"#8dabf2\", stroke: 1, color: \"#f0f0f0\", radius: 2, resizeable: true }, attr), (0, _extend2.default)({}, {\n // @attr {Array} data the data to display in the diagram */\n data: this.setData\n }, setter), (0, _extend2.default)({}, {\n data: this.getData\n }, getter));\n },\n\n /**\n * \n * Set the data for the chart/diagram element\n *\n * @param {Array} data\n *\n */\n setData: function setData(data) {\n this.data = data;\n this.cache = {};\n\n if (this.svgNodes !== null) {\n this.svgNodes.remove();\n this.svgNodes = this.createSet();\n }\n\n this.repaint();\n this.fireEvent(\"change:data\", { value: data });\n },\n\n /**\n * \n * Return the data of the diagram\n *\n * @since 5.0.0\n */\n getData: function getData() {\n return this.data;\n },\n\n /**\n * \n * Set the dimension of the diagram and reset the cached calculation\n *\n * @since 5.0.0\n */\n setDimension: function setDimension(w, h) {\n this.cache = {};\n this._super(w, h);\n\n return this;\n },\n\n /**\n * \n * Return the calculate width of the set. This calculates the bounding box of all elements.\n *\n * @returns {Number} the calculated width of the label\n **/\n getWidth: function getWidth() {\n return this.width;\n },\n\n /**\n * \n * Return the calculated height of the set. This calculates the bounding box of all elements.\n *\n * @returns {Number} the calculated height of the label\n */\n getHeight: function getHeight() {\n return this.height;\n },\n\n /**\n *\n * @param attributes\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape == null) {\n return this;\n }\n\n attributes = attributes || {};\n\n _JSONUtil2.default.ensureDefault(attributes, \"fill\", \"none\");\n\n return this._super(attributes);\n },\n\n applyTransformation: function applyTransformation() {\n if (this.isResizeable() === true) {\n this.svgNodes.transform(\"S\" + this.scaleX + \",\" + this.scaleY + \",\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY() + \"t\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY());\n } else {\n this.svgNodes.transform(\"T\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY());\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/diagram/Pie.js\":\n/*!**********************************!*\\\n !*** ./src/shape/diagram/Pie.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Small data pie chart.\n *\n *\n * @example\n *\n * let pie = new draw2d.shape.diagram.Pie({\n * diameter:80,\n * data:[30,60,122,4],\n * x:100,\n * y:60\n * });\n *\n * canvas.add( pie);\n *\n * @param {Object} [attr] the configuration of the shape\n * @extends draw2d.shape.diagram.Diagram\n */\n_packages2.default.shape.diagram.Pie = _packages2.default.shape.diagram.Diagram.extend(\n/** @lends draw2d.shape.diagram.Pie */\n{\n\n NAME: \"draw2d.shape.diagram.Pie\",\n COLORS: ['#00A8F0', '#b9dd69', '#f3546a', '#4DA74D', '#9440ED'],\n TWO_PI: Math.PI * 2,\n\n init: function init(attr, setter, getter) {\n\n this._super((0, _extend2.default)({ stroke: 0 }, attr), (0, _extend2.default)({\n // @attr {Number} diameter the diameter of the pie chart */\n diameter: this.setDiameter,\n // @attr {Number} radius the radius of the pie chart */\n radius: this.setRadius\n }, setter), (0, _extend2.default)({\n diameter: this.getDiameter,\n radius: this.getRadius\n }, getter));\n },\n\n /**\n *\n * Set the diameter of the circle. The center of the circle will be retained.\n *\n * @param {Number} d The new diameter of the circle.\n * @since 4.0.0\n **/\n setDiameter: function setDiameter(d) {\n var center = this.getCenter();\n this.setDimension(d, d);\n this.setCenter(center);\n this.fireEvent(\"change:diameter\", { value: this.width });\n\n return this;\n },\n\n /**\n *\n * Get the diameter of the circle.\n *\n * @since 4.0.0\n **/\n getDiameter: function getDiameter() {\n return this.getWidth();\n },\n\n /**\n *\n * Set the radius of the circle. The center of the circle will be retained.\n *\n * @param {Number} r The new radius of the circle.\n * @since 4.0.0\n **/\n setRadius: function setRadius(r) {\n this.setDiameter(r * 2);\n this.fireEvent(\"change:radius\", { value: this.width / 2 });\n\n return this;\n },\n\n /**\n *\n * Get the center of the circle\n *\n */\n getCenter: function getCenter() {\n var d2 = this.getDiameter() / 2;\n return this.getPosition().translate(d2, d2);\n },\n\n /**\n *\n * Set the center of the circle.\n *\n * @param {Number|draw2d.geo.Point} x the new x coordinate of the center or a draw2d.geo.Point object with the center\n * @param {Number} y the y coordinate of the new center of the first argument isn't a draw2d.geo.Point object\n */\n setCenter: function setCenter(x, y) {\n var pos = new _packages2.default.geo.Point(x, y);\n var d2 = this.getDiameter() / 2;\n pos.translate(-d2, -d2);\n this.setPosition(pos);\n this.fireEvent(\"change:center\", { value: { x: x, y: y } });\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n setData: function setData(data) {\n var _this = this;\n\n // Normalize the Data.\n // The SUM must be == 1.\n this.sum = 0;\n data.forEach(function (val) {\n _this.sum += val;\n });\n var _sum = 1 / this.sum;\n data.forEach(function (val, i) {\n data[i] = _sum * val;\n });\n\n // pass the normalize data to the base implementation\n //\n this._super(data);\n this.fireEvent(\"change:data\", { value: data });\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n createSet: function createSet() {\n var radius = this.getWidth() / 2;\n var length = this.data.length;\n\n var pie = this.canvas.paper.set();\n\n var offsetAngle = 0;\n\n for (var i = 0; i < length; i++) {\n // angle is percent of TWO_PI\n var angle = this.TWO_PI * this.data[i];\n var color = this.COLORS[i % length];\n var seg = this.drawSegment(radius, angle, offsetAngle, 0.1);\n seg.attr({ stroke: this.color.rgba(), fill: color });\n pie.push(seg);\n offsetAngle += angle;\n }\n return pie;\n },\n\n /**\n * @inheritdoc\n */\n setDimension: function setDimension(w, h) {\n // keep the aspect ration\n //\n if (w > h) {\n this._super(w, w);\n } else {\n this._super(h, h);\n }\n\n // we must recreate the diagram if we change the size.\n // low performance. Better: transfor/scale the set. Can be done in the next release\n //\n if (this.svgNodes !== null) {\n this.svgNodes.remove();\n this.svgNodes = this.createSet();\n }\n\n this.repaint();\n\n return this;\n },\n\n polarPath: function polarPath(radius, theta, rotation) {\n var x = void 0,\n y = void 0;\n x = radius * Math.cos(theta + rotation) + radius;\n y = radius * Math.sin(theta + rotation) + radius;\n return \"L \" + x + \" \" + y + \" \";\n },\n\n drawSegment: function drawSegment(radius, value, rotation, resolution) {\n var path = \"M \" + radius + \" \" + radius;\n\n for (var i = 0; i < value; i += resolution) {\n path += this.polarPath(radius, i, rotation);\n }\n path += this.polarPath(radius, value, rotation);\n\n path += \"L \" + radius + \" \" + radius;\n return this.getCanvas().paper.path(path);\n },\n\n /**\n * @inheritdoc\n */\n applyTransformation: function applyTransformation() {\n this.svgNodes.transform(\"T\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY());\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/diagram/Sparkline.js\":\n/*!****************************************!*\\\n !*** ./src/shape/diagram/Sparkline.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @class\n *\n * Small data line diagram.\n *\n *\n * @example\n *\n * let testData = [];\n * for(let i=0;i<100;i++) {\n * testData.push(Math.floor(Math.random() * 100));\n * }\n *\n * let sparkline = new draw2d.shape.diagram.Sparkline({\n * \tdata: testData,\n * width:150,\n * height:50,\n * x:100,\n * y:60\n * });\n *\n * canvas.add( sparkline);\n *\n * @param {Object} [attr] the configuration of the shape\n * @extends draw2d.shape.diagram.Diagram\n */\n_packages2.default.shape.diagram.Sparkline = _packages2.default.shape.diagram.Diagram.extend(\n/** @lends draw2d.shape.diagram.Sparkline */\n{\n\n NAME: \"draw2d.shape.diagram.Sparkline\",\n\n init: function init(attr, setter, getter) {\n this.min = 0;\n this.max = 10;\n this.padding = 4;\n\n this._super((0, _extend2.default)({ width: 180, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @inheritdoc\n */\n setData: function setData(data) {\n if (data.length > 0) {\n // get the min/max from an array and not only from two elements..\n this.min = Math.min.apply(Math, _toConsumableArray(data));\n this.max = Math.max.apply(Math, _toConsumableArray(data));\n } else {\n this.min = 0;\n this.max = 1;\n }\n\n if (this.max === this.min) {\n this.max = this.min + 1;\n }\n\n this._super(data);\n this.fireEvent(\"change:data\", { value: data });\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M0 0 l0 0\");\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n var _this = this;\n\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n attributes.fill = \"90-#000:5-#4d4d4d:95\";\n\n var padding = this.padding;\n var width = this.getWidth() - 2 * padding;\n var height = this.getHeight() - 2 * padding;\n var length = this.data.length;\n var min = this.min;\n var max = this.max;\n var toCoords = function toCoords(value, idx) {\n var step = 1;\n // avoid divisionByZero\n if (length > 1) {\n step = width / (length - 1);\n }\n\n return {\n y: -((value - min) / (max - min) * height) + height + padding,\n x: padding + idx * step\n };\n };\n\n if (this.svgNodes !== null && typeof this.cache.pathString === \"undefined\") {\n var prev_pt = null;\n this.data.forEach(function (item, idx) {\n var pt = toCoords(item, idx);\n if (prev_pt === null) {\n _this.cache.pathString = [\"M\", pt.x, pt.y].join(\" \");\n } else {\n _this.cache.pathString = [_this.cache.pathString, \"L\", pt.x, pt.y].join(\" \");\n }\n prev_pt = pt;\n });\n\n this.svgNodes.attr({ path: this.cache.pathString, stroke: \"#f0f0f0\" });\n }\n this._super(attributes);\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/dimetric/Rectangle.js\":\n/*!*****************************************!*\\\n !*** ./src/shape/dimetric/Rectangle.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A Rectangle Figure in a dimetric perspective.\n *\n *\n * @example\n *\n * let d1 = new draw2d.shape.dimetric.Rectangle({x:10,y:10});\n * let d2 = new draw2d.shape.dimetric.Rectangle({x:100,y:10, bgColor:\"#f0f000\", alpha:0.7, width:100, height:60});\n *\n * canvas.add(d1);\n * canvas.add(d2);\n *\n * canvas.setCurrentSelection(d2);\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Polygon\n */\n_packages2.default.shape.dimetric.Rectangle = _packages2.default.shape.basic.Polygon.extend(\n/** @lends draw2d.shape.dimetric.Rectangle.prototype */\n{\n\n NAME: \"draw2d.shape.dimetric.Rectangle\",\n\n /**\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ bgColor: \"#00a3f6\", color: \"#1B1B1B\" }, attr), setter, getter);\n\n var pos = this.getPosition();\n\n this.resetVertices();\n\n var angle26 = Math.atan(.5);\n var cos30 = Math.cos(angle26);\n var sin30 = Math.sin(angle26);\n\n var box = this.getBoundingBox();\n var w = box.w;\n var h = box.h;\n\n this.addVertex(0, 0); // topLeft\n this.addVertex(cos30 * w, sin30 * w); // topRight\n this.addVertex(cos30 * w - cos30 * h, sin30 * w + sin30 * h); // bottomRight\n this.addVertex(-cos30 * h, sin30 * h); // bottomLeft\n\n // override the selection handler from the polygon. Because the vertices of\n // the diamond are not selectable and modifiable\n //\n this.installEditPolicy(new _packages2.default.policy.figure.RectangleSelectionFeedbackPolicy());\n\n this.setPosition(pos);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/flowchart/Document.js\":\n/*!*****************************************!*\\\n !*** ./src/shape/flowchart/Document.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Typical flowchart <b>Document</b> shape\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.flowchart.Document({\n * x:100,\n * y:60\n * });\n *\n * canvas.add( figure);\n *\n * @extends draw2d.VectorFigure\n */\n_packages2.default.shape.flowchart.Document = _packages2.default.VectorFigure.extend(\n/** @lends draw2d.shape.flowchart.Document.prototype */\n{\n\n NAME: \"draw2d.shape.flowchart.Document\",\n\n /**\n *\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.amplitude = 0.08; // percentage of height\n\n this._super(extend({\n width: 80,\n height: 50,\n bgColor: \"#2196f3\",\n color: \"#1B1B1B\",\n stroke: 1\n }, attr), setter, getter);\n },\n\n /**\n * @inheritdoc\n */\n createShapeElement: function createShapeElement() {\n return this.canvas.paper.path(this.calcPath());\n },\n\n calcPath: function calcPath() {\n var w = this.getWidth();\n var h = this.getHeight();\n var w2 = w / 2;\n var w4 = w / 4;\n var h2 = h * this.amplitude | 0;\n\n return [\"M\", this.getAbsoluteX(), \",\", this.getAbsoluteY(), \"l\", w, \",\", 0, \"l\", 0, \",\", h - h2, \"q\", -w4, \",\", -h2, -w2, \",\", 0, \"q\", -w4, \",\", h2, -w2, \",\", 0, \"z\"].join(\" \");\n },\n\n /**\n * @inheritdoc\n **/\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = extend({}, {\n path: this.calcPath()\n }, attributes);\n\n this._super(attributes);\n\n return this;\n }\n /*\n function draw_curve(Ax, Ay, Bx, By, M) {\n // Find midpoint J\n let Jx = Ax + (Bx - Ax) / 2\n let Jy = Ay + (By - Ay) / 2\n // We need a and b to find theta, and we need to know the sign of each to make sure that the orientation is correct.\n let a = Bx - Ax\n let asign = (a < 0 ? -1 : 1)\n let b = By - Ay\n let bsign = (b < 0 ? -1 : 1)\n let theta = Math.atan(b / a)\n // Find the point that's perpendicular to J on side\n let costheta = asign * Math.cos(theta)\n let sintheta = asign * Math.sin(theta)\n // Find c and d\n let c = M * sintheta\n let d = M * costheta\n // Use c and d to find Kx and Ky\n let Kx = Jx - c\n let Ky = Jy + d\n return \"M\" + Ax + \",\" + Ay +\n \"Q\" + Kx + \",\" + Ky +\n \" \" + Bx + \",\" + By\n }*/\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Acw.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Acw.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Acw();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Acw = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Acw.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Acw\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M19.275,3.849l1.695,8.56l1.875-1.642c2.311,3.59,1.72,8.415-1.584,11.317c-2.24,1.96-5.186,2.57-7.875,1.908l-0.84,3.396c3.75,0.931,7.891,0.066,11.02-2.672c4.768-4.173,5.521-11.219,1.94-16.279l2.028-1.775L19.275,3.849zM8.154,20.232c-2.312-3.589-1.721-8.416,1.582-11.317c2.239-1.959,5.186-2.572,7.875-1.909l0.842-3.398c-3.752-0.93-7.893-0.067-11.022,2.672c-4.765,4.174-5.519,11.223-1.939,16.283l-2.026,1.772l8.26,2.812l-1.693-8.559L8.154,20.232z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Alarm.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Alarm.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Alarm();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Alarm = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Alarm.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Alarm\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M8.179,20.115c-0.478,0.277-0.642,0.889-0.365,1.366c0.275,0.479,0.889,0.642,1.365,0.366c0.479-0.275,0.643-0.888,0.367-1.367C9.27,20.004,8.658,19.84,8.179,20.115zM9.18,12.239c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,13.126,9.657,12.516,9.18,12.239zM8.625,17.043c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,18.043,8.624,17.596,8.625,17.043zM16.312,3.957V3.031h1c0.275,0,0.5-0.225,0.5-0.5v-0.5c0-0.275-0.225-0.5-0.5-0.5h-3.625c-0.275,0-0.5,0.225-0.5,0.5v0.5c0,0.275,0.225,0.5,0.5,0.5h1v0.926C7.819,4.381,2.376,10.068,2.374,17.042C2.376,24.291,8.251,30.166,15.5,30.169c7.249-0.003,13.124-5.878,13.125-13.127C28.624,10.067,23.181,4.38,16.312,3.957zM15.5,27.166C9.909,27.157,5.385,22.633,5.375,17.042C5.385,11.451,9.909,6.927,15.5,6.917c5.59,0.01,10.115,4.535,10.124,10.125C25.615,22.633,21.091,27.157,15.5,27.166zM12.062,22.998c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,23.887,12.54,23.275,12.062,22.998zM12.062,11.088c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,11.2,11.584,11.364,12.062,11.088zM22.822,13.971c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,14.083,22.344,14.247,22.822,13.971zM15.501,23.92c-0.552,0-1,0.447-1,1c0,0.552,0.448,1,1,1s1-0.448,1-1C16.501,24.367,16.053,23.92,15.501,23.92zM19.938,9.355c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,10.245,20.418,9.632,19.938,9.355zM23.378,16.042c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,16.492,23.929,16.042,23.378,16.042zM22.823,20.115c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.091,0.367,1.367c0.477,0.275,1.089,0.112,1.365-0.366C23.464,21.004,23.3,20.391,22.823,20.115zM15.501,8.167c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.366c0.275,0.479,0.889,0.642,1.365,0.366l3.305-1.676c0.055,0.006,0.109,0.017,0.166,0.017c0.828,0,1.5-0.672,1.5-1.5l-0.5-7.876C16.501,8.614,16.053,8.167,15.501,8.167zM18.939,22.998c-0.479,0.276-0.643,0.888-0.366,1.367c0.275,0.477,0.888,0.642,1.366,0.365c0.478-0.276,0.642-0.889,0.366-1.365C20.028,22.886,19.417,22.723,18.939,22.998zM11.197,3.593c-0.836-1.04-2.103-1.718-3.541-1.718c-2.52,0-4.562,2.042-4.562,4.562c0,0.957,0.297,1.843,0.8,2.576C5.649,6.484,8.206,4.553,11.197,3.593zM27.106,9.014c0.503-0.733,0.8-1.619,0.8-2.576c0-2.52-2.043-4.562-4.562-4.562c-1.438,0-2.704,0.678-3.541,1.717C22.794,4.553,25.351,6.484,27.106,9.014z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Anonymous.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/Anonymous.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Anonymous();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Anonymous = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Anonymous.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Anonymous\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.523,23.813c-0.518-0.51-6.795-2.938-7.934-3.396c-1.132-0.451-1.584-1.697-1.584-1.697s-0.51,0.282-0.51-0.51c0-0.793,0.51,0.51,1.021-2.548c0,0,1.414-0.397,1.133-3.68l-0.338,0.001c0,0,0.85-3.511,0-4.699c-0.854-1.188-1.188-1.981-3.062-2.548c-1.869-0.567-1.188-0.454-2.547-0.396c-1.359,0.057-2.492,0.793-2.492,1.188c0,0-0.849,0.057-1.188,0.397c-0.34,0.34-0.906,1.924-0.906,2.32s0.283,3.059,0.566,3.624l-0.337,0.112c-0.283,3.283,1.132,3.681,1.132,3.681c0.509,3.058,1.019,1.755,1.019,2.548c0,0.792-0.51,0.51-0.51,0.51s-0.452,1.246-1.584,1.697c-1.132,0.453-7.416,2.887-7.927,3.396c-0.511,0.521-0.453,2.896-0.453,2.896h26.954C28.977,26.709,29.039,24.332,28.523,23.813zM16.618,13.693c-0.398-0.251-0.783-1.211-0.783-1.64c0-0.133,0-0.236,0-0.236c-0.105-0.106-0.574-0.096-0.67,0c0,0,0,0.104,0,0.236c0,0.429-0.385,1.389-0.783,1.64c-0.399,0.251-1.611,0.237-2.084-0.236c-0.473-0.473-0.524-1.663-0.643-1.78c-0.118-0.119-0.185-0.185-0.185-0.185l0.029-0.414c0,0,0.842-0.207,1.699-0.207s1.803,0.502,1.803,0.502c0.231-0.074,0.784-0.083,0.996,0c0,0,0.945-0.502,1.803-0.502s1.699,0.207,1.699,0.207l0.029,0.414c0,0-0.066,0.066-0.185,0.185c-0.118,0.118-0.169,1.308-0.643,1.78C18.229,13.93,17.018,13.944,16.618,13.693z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Apple.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Apple.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Apple();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Apple = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Apple.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Apple\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.32,10.85c-1.743,1.233-2.615,2.719-2.615,4.455c0,2.079,1.078,3.673,3.232,4.786c-0.578,1.677-1.416,3.134-2.514,4.375c-1.097,1.241-2.098,1.862-3.004,1.862c-0.427,0-1.009-0.143-1.748-0.423l-0.354-0.138c-0.725-0.281-1.363-0.423-1.92-0.423c-0.525,0-1.1,0.11-1.725,0.331l-0.445,0.16l-0.56,0.229c-0.441,0.176-0.888,0.264-1.337,0.264c-1.059,0-2.228-0.872-3.507-2.616c-1.843-2.498-2.764-5.221-2.764-8.167c0-2.095,0.574-3.781,1.725-5.061c1.149-1.279,2.673-1.92,4.568-1.92c0.709,0,1.371,0.13,1.988,0.389l0.423,0.172l0.445,0.183c0.396,0.167,0.716,0.251,0.959,0.251c0.312,0,0.659-0.072,1.04-0.217l0.582-0.229l0.435-0.16c0.693-0.251,1.459-0.377,2.297-0.377C21.512,8.576,23.109,9.334,24.32,10.85zM19.615,3.287c0.021,0.267,0.033,0.473,0.033,0.617c0,1.317-0.479,2.473-1.438,3.467s-2.075,1.49-3.347,1.49c-0.038-0.297-0.058-0.51-0.058-0.639c0-1.12,0.445-2.171,1.337-3.153c0.891-0.982,1.922-1.558,3.096-1.725C19.32,3.329,19.447,3.311,19.615,3.287z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Apps.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Apps.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Apps();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Apps = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Apps.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Apps\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.359,18.424l-2.326,1.215c0.708,1.174,1.384,2.281,1.844,3.033l2.043-1.066C25.538,20.822,24.966,19.652,24.359,18.424zM19.143,14.688c0.445,0.84,1.342,2.367,2.274,3.926l2.414-1.261c-0.872-1.769-1.72-3.458-2.087-4.122c-0.896-1.621-1.982-3.108-3.454-5.417c-1.673-2.625-3.462-5.492-4.052-4.947c-1.194,0.384,1.237,4.094,1.876,5.715C16.73,10.147,17.991,12.512,19.143,14.688zM26.457,22.673l-1.961,1.022l1.982,4.598c0,0,0.811,0.684,1.92,0.213c1.104-0.469,0.81-1.706,0.81-1.706L26.457,22.673zM24.35,15.711c0.168,0.339,2.924,5.93,2.924,5.93h1.983v-5.93H24.35zM18.34,15.704h-4.726l-3.424,5.935h11.66C21.559,21.159,18.771,16.479,18.34,15.704zM3.231,21.613l3.437-5.902H2.083v5.93h1.133L3.231,21.613zM15.048,10.145c0-0.93-0.754-1.685-1.685-1.685c-0.661,0-1.231,0.381-1.507,0.936l2.976,1.572C14.97,10.725,15.048,10.444,15.048,10.145zM14.343,12.06l-3.188-1.684L9.62,13.012l3.197,1.689L14.343,12.06zM3.192,26.886l-0.384,1.108v0.299l0.298-0.128l0.725-0.896l2.997-2.354l-3.137-1.651L3.192,26.886zM9.02,14.044l-4.757,8.17l3.23,1.706l4.728-8.186L9.02,14.044z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ArrowDown.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/ArrowDown.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ArrowDown();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ArrowDown = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ArrowDown.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ArrowDown\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M5.318,6.684L15.5,24.316L25.682,6.684H5.318z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ArrowLeft.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/ArrowLeft.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ArrowLeft();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ArrowLeft = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ArrowLeft.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ArrowLeft\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.316,5.318L6.684,15.5l17.632,10.182V5.318L24.316,5.318z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ArrowLeft2.js\":\n/*!**************************************!*\\\n !*** ./src/shape/icon/ArrowLeft2.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ArrowLeft2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ArrowLeft2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ArrowLeft2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ArrowLeft2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.871,9.814 15.684,16.001 21.871,22.188 18.335,25.725 8.612,16.001 18.335,6.276z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ArrowRight.js\":\n/*!**************************************!*\\\n !*** ./src/shape/icon/ArrowRight.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ArrowRight();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ArrowRight = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ArrowRight.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ArrowRight\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ArrowRight2.js\":\n/*!***************************************!*\\\n !*** ./src/shape/icon/ArrowRight2.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ArrowRight2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ArrowRight2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ArrowRight2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ArrowRight2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M10.129,22.186 16.316,15.999 10.129,9.812 13.665,6.276 23.389,15.999 13.665,25.725z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ArrowUp.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/ArrowUp.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ArrowUp();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ArrowUp = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ArrowUp.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ArrowUp\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.682,24.316L15.5,6.684L5.318,24.316H25.682z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Aumade.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Aumade.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Aumade();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Aumade = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Aumade.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Aumade\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.513,24.52c-0.131-0.217-0.14-0.481-0.022-0.711l1.987-3.844l0,0c0.186-0.357,0.625-0.497,0.981-0.312c0.357,0.188,0.498,0.625,0.312,0.982l-1.801,3.48l2.228,3.699h12.269l-14.8-25.631L6.433,18.178c0.434,0.242,0.909,0.479,1.391,0.654c0.571,0.211,1.148,0.342,1.658,0.342c0.276,0,0.579-0.078,0.916-0.238c0.337-0.158,0.7-0.396,1.073-0.688c0.749-0.582,1.527-1.354,2.334-2.021c0.539-0.442,1.091-0.844,1.706-1.099c0.352-0.145,0.729-0.239,1.128-0.239c0.622,0,1.174,0.214,1.622,0.5c0.449,0.287,0.813,0.646,1.11,0.995c0.59,0.697,0.902,1.359,0.924,1.394l0,0c0.18,0.361,0.021,0.801-0.341,0.977c-0.356,0.176-0.798,0.021-0.978-0.34c0-0.002-0.002-0.004-0.004-0.007c-0.002-0.011-0.008-0.021-0.018-0.034c-0.018-0.033-0.043-0.082-0.078-0.146c-0.07-0.125-0.179-0.305-0.312-0.496c-0.271-0.391-0.668-0.845-1.092-1.104c-0.281-0.178-0.561-0.272-0.844-0.272c-0.216,0-0.479,0.069-0.788,0.229c-0.309,0.153-0.653,0.396-1.016,0.688c-0.727,0.584-1.511,1.362-2.351,2.033c-0.562,0.445-1.15,0.853-1.809,1.103c-0.375,0.143-0.776,0.229-1.195,0.229c-0.749,0-1.48-0.181-2.164-0.433c-0.58-0.219-1.125-0.482-1.613-0.764L0.86,27.816h15.63L14.513,24.52zM18.214,22.242c0.222-0.557,0.537-1.217,0.963-1.848c0.427-0.627,0.957-1.232,1.646-1.646c0.379-0.229,0.812-0.391,1.282-0.438l-0.604-0.934l0,0c-0.22-0.339-0.123-0.789,0.215-1.009c0.341-0.219,0.789-0.123,1.013,0.216l1.545,2.391c0.184,0.274,0.147,0.646-0.075,0.893c-0.228,0.247-0.591,0.305-0.886,0.145c-0.354-0.191-0.646-0.258-0.901-0.258c-0.291,0-0.562,0.084-0.845,0.25c-0.277,0.164-0.562,0.414-0.813,0.719c-0.519,0.607-0.937,1.422-1.185,2.055c-0.111,0.285-0.387,0.466-0.678,0.466c-0.092,0-0.183-0.021-0.271-0.056C18.249,23.039,18.064,22.615,18.214,22.242z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/BarChart.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/BarChart.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.BarChart();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.BarChart = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.BarChart.prototype */\n{\n\n NAME: \"draw2d.shape.icon.BarChart\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.25,8.375V28h6.5V8.375H21.25zM12.25,28h6.5V4.125h-6.5V28zM3.25,28h6.5V12.625h-6.5V28z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/BioHazard.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/BioHazard.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.BioHazard();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.BioHazard = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.BioHazard.prototype */\n{\n\n NAME: \"draw2d.shape.icon.BioHazard\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M26.154,13.988c-0.96-0.554-1.982-0.892-3.019-1.032c0.396-0.966,0.616-2.023,0.616-3.131c0-4.399-3.438-8.001-7.772-8.264c3.245,0.258,5.803,2.979,5.803,6.292c0,3.373-2.653,6.123-5.983,6.294v1.292c0.908,0.144,1.605,0.934,1.605,1.883c0,0.232-0.043,0.454-0.118,0.66l1.181,0.683c1.826-2.758,5.509-3.658,8.41-1.981c2.896,1.672,3.965,5.299,2.506,8.254C31.386,21.038,29.992,16.204,26.154,13.988zM4.122,16.587c2.92-1.686,6.628-0.764,8.442,2.034l1.141-0.657c-0.072-0.2-0.109-0.417-0.109-0.642c0-0.909,0.638-1.67,1.489-1.859v-1.319c-3.3-0.202-5.92-2.94-5.92-6.292c0-3.297,2.532-6.007,5.757-6.286c-4.312,0.285-7.729,3.875-7.729,8.258c0,1.078,0.206,2.106,0.581,3.05c-1.004,0.147-1.999,0.481-2.931,1.02c-3.812,2.201-5.209,6.985-3.264,10.87C0.174,21.823,1.251,18.244,4.122,16.587zM11.15,11.452c0.114,0.139,0.235,0.271,0.362,0.398c0.126,0.126,0.259,0.247,0.397,0.361c0.102,0.084,0.211,0.16,0.318,0.236c0.93-0.611,2.045-0.969,3.244-0.969c1.201,0,2.312,0.357,3.242,0.969c0.107-0.077,0.217-0.152,0.318-0.236c0.139-0.114,0.271-0.235,0.397-0.361c0.127-0.127,0.248-0.259,0.362-0.398c0.113-0.138,0.222-0.283,0.323-0.431c-1.307-0.956-2.908-1.528-4.643-1.528c-0.042,0-0.083-0.001-0.124,0c-0.019,0-0.04-0.001-0.06,0c-1.666,0.038-3.201,0.605-4.462,1.528C10.929,11.17,11.037,11.314,11.15,11.452zM9.269,16.787c-0.168-0.062-0.338-0.117-0.512-0.164c-0.173-0.047-0.348-0.083-0.525-0.113c-0.177-0.03-0.355-0.053-0.535-0.065c-0.175,1.609,0.13,3.282,0.998,4.786c0.868,1.503,2.164,2.606,3.645,3.259c0.079-0.162,0.15-0.328,0.212-0.496c0.063-0.169,0.118-0.338,0.164-0.512c0.047-0.173,0.087-0.349,0.115-0.525c0.022-0.13,0.034-0.262,0.046-0.394c-0.993-0.5-1.86-1.286-2.461-2.325c-0.6-1.04-0.847-2.182-0.783-3.294C9.512,16.889,9.392,16.833,9.269,16.787zM18.122,22.657c0.014,0.132,0.024,0.263,0.046,0.394c0.03,0.177,0.067,0.352,0.113,0.524c0.047,0.174,0.102,0.346,0.165,0.514c0.062,0.169,0.132,0.333,0.212,0.495c1.48-0.653,2.777-1.755,3.644-3.257c0.868-1.504,1.176-3.179,1.001-4.788c-0.18,0.013-0.358,0.035-0.535,0.065c-0.177,0.029-0.353,0.067-0.525,0.113s-0.345,0.101-0.513,0.163c-0.124,0.047-0.241,0.105-0.362,0.16c0.063,1.11-0.183,2.253-0.784,3.292C19.984,21.373,19.116,22.157,18.122,22.657zM20.569,27.611c-2.92-1.687-3.977-5.358-2.46-8.329l-1.192-0.689c-0.349,0.389-0.854,0.634-1.417,0.634c-0.571,0-1.086-0.254-1.436-0.653l-1.146,0.666c1.475,2.96,0.414,6.598-2.488,8.272c-2.888,1.668-6.552,0.791-8.386-1.935c2.38,3.667,7.249,4.87,11.079,2.658c0.929-0.535,1.711-1.227,2.339-2.018c0.64,0.832,1.45,1.554,2.416,2.112c3.835,2.213,8.709,1.006,11.086-2.671C27.132,28.396,23.463,29.282,20.569,27.611z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Book.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Book.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Book();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Book = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Book.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Book\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.754,4.626c-0.233-0.161-0.536-0.198-0.802-0.097L12.16,9.409c-0.557,0.213-1.253,0.316-1.968,0.316c-0.997,0.002-2.029-0.202-2.747-0.48C7.188,9.148,6.972,9.04,6.821,8.943c0.056-0.024,0.12-0.05,0.193-0.075L18.648,4.43l1.733,0.654V3.172c0-0.284-0.14-0.554-0.374-0.714c-0.233-0.161-0.538-0.198-0.802-0.097L6.414,7.241c-0.395,0.142-0.732,0.312-1.02,0.564C5.111,8.049,4.868,8.45,4.872,8.896c0,0.012,0.004,0.031,0.004,0.031v17.186c0,0.008-0.003,0.015-0.003,0.021c0,0.006,0.003,0.01,0.003,0.016v0.017h0.002c0.028,0.601,0.371,0.983,0.699,1.255c1.034,0.803,2.769,1.252,4.614,1.274c0.874,0,1.761-0.116,2.583-0.427l12.796-4.881c0.337-0.128,0.558-0.448,0.558-0.809V5.341C26.128,5.057,25.988,4.787,25.754,4.626zM5.672,11.736c0.035,0.086,0.064,0.176,0.069,0.273l0.004,0.054c0.016,0.264,0.13,0.406,0.363,0.611c0.783,0.626,2.382,1.08,4.083,1.093c0.669,0,1.326-0.083,1.931-0.264v1.791c-0.647,0.143-1.301,0.206-1.942,0.206c-1.674-0.026-3.266-0.353-4.509-1.053V11.736zM10.181,24.588c-1.674-0.028-3.266-0.354-4.508-1.055v-2.712c0.035,0.086,0.065,0.176,0.07,0.275l0.002,0.053c0.018,0.267,0.13,0.408,0.364,0.613c0.783,0.625,2.381,1.079,4.083,1.091c0.67,0,1.327-0.082,1.932-0.262v1.789C11.476,24.525,10.821,24.588,10.181,24.588z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Bookmark.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Bookmark.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Bookmark();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Bookmark = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Bookmark.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Bookmark\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M17.396,1.841L6.076,25.986l7.341-4.566l1.186,8.564l11.32-24.146L17.396,1.841zM19.131,9.234c-0.562-0.264-0.805-0.933-0.541-1.495c0.265-0.562,0.934-0.805,1.496-0.541s0.805,0.934,0.541,1.496S19.694,9.498,19.131,9.234z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Books.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Books.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Books();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Books = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Books.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Books\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M26.679,7.858c-0.176-0.138-0.404-0.17-0.606-0.083l-9.66,4.183c-0.42,0.183-0.946,0.271-1.486,0.271c-0.753,0.002-1.532-0.173-2.075-0.412c-0.194-0.083-0.356-0.176-0.471-0.259c0.042-0.021,0.09-0.042,0.146-0.064l8.786-3.804l1.31,0.561V6.612c0-0.244-0.106-0.475-0.283-0.612c-0.176-0.138-0.406-0.17-0.605-0.083l-9.66,4.183c-0.298,0.121-0.554,0.268-0.771,0.483c-0.213,0.208-0.397,0.552-0.394,0.934c0,0.01,0.003,0.027,0.003,0.027v14.73c0,0.006-0.002,0.012-0.002,0.019c0,0.005,0.002,0.007,0.002,0.012v0.015h0.002c0.021,0.515,0.28,0.843,0.528,1.075c0.781,0.688,2.091,1.073,3.484,1.093c0.66,0,1.33-0.1,1.951-0.366l9.662-4.184c0.255-0.109,0.422-0.383,0.422-0.692V8.471C26.961,8.227,26.855,7.996,26.679,7.858zM20.553,5.058c-0.017-0.221-0.108-0.429-0.271-0.556c-0.176-0.138-0.404-0.17-0.606-0.083l-9.66,4.183C9.596,8.784,9.069,8.873,8.53,8.873C7.777,8.874,6.998,8.699,6.455,8.46C6.262,8.378,6.099,8.285,5.984,8.202C6.026,8.181,6.075,8.16,6.13,8.138l8.787-3.804l1.309,0.561V3.256c0-0.244-0.106-0.475-0.283-0.612c-0.176-0.138-0.407-0.17-0.606-0.083l-9.66,4.183C5.379,6.864,5.124,7.011,4.907,7.227C4.693,7.435,4.51,7.779,4.513,8.161c0,0.011,0.003,0.027,0.003,0.027v14.73c0,0.006-0.001,0.013-0.001,0.019c0,0.005,0.001,0.007,0.001,0.012v0.016h0.002c0.021,0.515,0.28,0.843,0.528,1.075c0.781,0.688,2.091,1.072,3.485,1.092c0.376,0,0.754-0.045,1.126-0.122V11.544c-0.01-0.7,0.27-1.372,0.762-1.856c0.319-0.315,0.708-0.564,1.19-0.756L20.553,5.058z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Bubble.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Bubble.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Bubble();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Bubble = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Bubble.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Bubble\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,5.333c-7.732,0-14,4.701-14,10.5c0,1.982,0.741,3.833,2.016,5.414L2,25.667l5.613-1.441c2.339,1.317,5.237,2.107,8.387,2.107c7.732,0,14-4.701,14-10.5C30,10.034,23.732,5.333,16,5.333z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Bug.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Bug.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Bug();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Bug = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Bug.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Bug\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.589,10.903l-5.828,1.612c-0.534-1.419-1.338-2.649-2.311-3.628l3.082-5.44c0.271-0.48,0.104-1.092-0.38-1.365c-0.479-0.271-1.09-0.102-1.36,0.377l-2.924,5.162c-0.604-0.383-1.24-0.689-1.9-0.896c-0.416-1.437-1.652-2.411-3.058-2.562c-0.001-0.004-0.002-0.008-0.003-0.012c-0.061-0.242-0.093-0.46-0.098-0.65c-0.005-0.189,0.012-0.351,0.046-0.479c0.037-0.13,0.079-0.235,0.125-0.317c0.146-0.26,0.34-0.43,0.577-0.509c0.023,0.281,0.142,0.482,0.352,0.601c0.155,0.088,0.336,0.115,0.546,0.086c0.211-0.031,0.376-0.152,0.496-0.363c0.105-0.186,0.127-0.389,0.064-0.607c-0.064-0.219-0.203-0.388-0.414-0.507c-0.154-0.087-0.314-0.131-0.482-0.129c-0.167,0.001-0.327,0.034-0.481,0.097c-0.153,0.063-0.296,0.16-0.429,0.289c-0.132,0.129-0.241,0.271-0.33,0.426c-0.132,0.234-0.216,0.496-0.25,0.783c-0.033,0.286-0.037,0.565-0.009,0.84c0.017,0.16,0.061,0.301,0.094,0.449c-0.375-0.021-0.758,0.002-1.14,0.108c-0.482,0.133-0.913,0.36-1.28,0.653c-0.052-0.172-0.098-0.344-0.18-0.518c-0.116-0.249-0.263-0.486-0.438-0.716c-0.178-0.229-0.384-0.41-0.618-0.543C9.904,3.059,9.737,2.994,9.557,2.951c-0.18-0.043-0.352-0.052-0.516-0.027s-0.318,0.08-0.463,0.164C8.432,3.172,8.318,3.293,8.23,3.445C8.111,3.656,8.08,3.873,8.136,4.092c0.058,0.221,0.181,0.384,0.367,0.49c0.21,0.119,0.415,0.138,0.611,0.056C9.31,4.556,9.451,4.439,9.539,4.283c0.119-0.21,0.118-0.443-0.007-0.695c0.244-0.055,0.497-0.008,0.757,0.141c0.081,0.045,0.171,0.115,0.27,0.208c0.097,0.092,0.193,0.222,0.286,0.388c0.094,0.166,0.179,0.368,0.251,0.608c0.013,0.044,0.023,0.098,0.035,0.146c-0.911,0.828-1.357,2.088-1.098,3.357c-0.582,0.584-1.072,1.27-1.457,2.035l-5.16-2.926c-0.48-0.271-1.092-0.102-1.364,0.377C1.781,8.404,1.95,9.016,2.43,9.289l5.441,3.082c-0.331,1.34-0.387,2.807-0.117,4.297l-5.828,1.613c-0.534,0.147-0.846,0.699-0.698,1.231c0.147,0.53,0.697,0.843,1.231,0.694l5.879-1.627c0.503,1.057,1.363,2.28,2.371,3.443l-3.194,5.639c-0.272,0.481-0.104,1.092,0.378,1.363c0.239,0.137,0.512,0.162,0.758,0.094c0.248-0.068,0.469-0.229,0.604-0.471l2.895-5.109c2.7,2.594,5.684,4.123,5.778,1.053c1.598,2.56,3.451-0.338,4.502-3.976l5.203,2.947c0.24,0.138,0.514,0.162,0.762,0.094c0.246-0.067,0.467-0.229,0.603-0.471c0.272-0.479,0.104-1.091-0.377-1.362l-5.701-3.229c0.291-1.505,0.422-2.983,0.319-4.138l5.886-1.627c0.53-0.147,0.847-0.697,0.696-1.229C29.673,11.068,29.121,10.756,28.589,10.903z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Calendar.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Calendar.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Calendar();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Calendar = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Calendar.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Calendar\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M11.758,15.318c0.312-0.3,0.408-0.492,0.408-0.492h0.024c0,0-0.012,0.264-0.012,0.528v5.469h-1.871v1.031h4.87v-1.031H13.33v-7.436h-1.055l-2.027,1.967l0.719,0.744L11.758,15.318zM16.163,21.207c0,0.205,0.024,0.42,0.06,0.647h5.457v-1.031h-4.197c0.023-1.931,4.065-2.362,4.065-5.146c0-1.463-1.114-2.436-2.674-2.436c-1.907,0-2.675,1.607-2.675,1.607l0.875,0.587c0,0,0.6-1.08,1.716-1.08c0.887,0,1.522,0.563,1.522,1.403C20.312,17.754,16.163,18.186,16.163,21.207zM12,3.604h-2v3.335h2V3.604zM23,4.77v3.17h-4V4.77h-6v3.168H9.002V4.77H6.583v21.669h18.833V4.77H23zM24.417,25.438H7.584V10.522h16.833V25.438zM22,3.604h-2v3.335h2V3.604z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Cart.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Cart.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Cart();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Cart = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Cart.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Cart\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M29.02,11.754L8.416,9.473L7.16,4.716C7.071,4.389,6.772,4.158,6.433,4.158H3.341C3.114,3.866,2.775,3.667,2.377,3.667c-0.686,0-1.242,0.556-1.242,1.242c0,0.686,0.556,1.242,1.242,1.242c0.399,0,0.738-0.201,0.965-0.493h2.512l5.23,19.8c-0.548,0.589-0.891,1.373-0.891,2.242c0,1.821,1.473,3.293,3.293,3.293c1.82,0,3.294-1.472,3.297-3.293c0-0.257-0.036-0.504-0.093-0.743h5.533c-0.056,0.239-0.092,0.486-0.092,0.743c0,1.821,1.475,3.293,3.295,3.293s3.295-1.472,3.295-3.293c0-1.82-1.473-3.295-3.295-3.297c-0.951,0.001-1.801,0.409-2.402,1.053h-7.136c-0.601-0.644-1.451-1.052-2.402-1.053c-0.379,0-0.738,0.078-1.077,0.196l-0.181-0.685H26.81c1.157-0.027,2.138-0.83,2.391-1.959l1.574-7.799c0.028-0.145,0.041-0.282,0.039-0.414C30.823,12.733,30.051,11.86,29.02,11.754zM25.428,27.994c-0.163,0-0.295-0.132-0.297-0.295c0.002-0.165,0.134-0.297,0.297-0.297s0.295,0.132,0.297,0.297C25.723,27.862,25.591,27.994,25.428,27.994zM27.208,20.499l0.948-0.948l-0.318,1.578L27.208,20.499zM12.755,11.463l1.036,1.036l-1.292,1.292l-1.292-1.292l1.087-1.087L12.755,11.463zM17.253,11.961l0.538,0.538l-1.292,1.292l-1.292-1.292l0.688-0.688L17.253,11.961zM9.631,14.075l0.868-0.868l1.292,1.292l-1.292,1.292l-0.564-0.564L9.631,14.075zM9.335,12.956l-0.328-1.24L9.792,12.5L9.335,12.956zM21.791,16.499l-1.292,1.292l-1.292-1.292l1.292-1.292L21.791,16.499zM21.207,14.5l1.292-1.292l1.292,1.292l-1.292,1.292L21.207,14.5zM18.5,15.791l-1.293-1.292l1.292-1.292l1.292,1.292L18.5,15.791zM17.791,16.499L16.5,17.791l-1.292-1.292l1.292-1.292L17.791,16.499zM14.499,15.791l-1.292-1.292l1.292-1.292l1.292,1.292L14.499,15.791zM13.791,16.499l-1.292,1.291l-1.292-1.291l1.292-1.292L13.791,16.499zM10.499,17.207l1.292,1.292l-0.785,0.784l-0.54-2.044L10.499,17.207zM11.302,20.404l1.197-1.197l1.292,1.292L12.5,21.791l-1.131-1.13L11.302,20.404zM13.208,18.499l1.291-1.292l1.292,1.292L14.5,19.791L13.208,18.499zM16.5,19.207l1.292,1.292L16.5,21.79l-1.292-1.291L16.5,19.207zM17.208,18.499l1.292-1.292l1.291,1.292L18.5,19.79L17.208,18.499zM20.499,19.207l1.292,1.292L20.5,21.79l-1.292-1.292L20.499,19.207zM21.207,18.499l1.292-1.292l1.292,1.292l-1.292,1.292L21.207,18.499zM23.207,16.499l1.292-1.292l1.292,1.292l-1.292,1.292L23.207,16.499zM25.207,14.499l1.292-1.292L27.79,14.5l-1.291,1.292L25.207,14.499zM24.499,13.792l-1.156-1.156l2.082,0.23L24.499,13.792zM21.791,12.5l-1.292,1.292L19.207,12.5l0.29-0.29l2.253,0.25L21.791,12.5zM14.5,11.791l-0.152-0.152l0.273,0.03L14.5,11.791zM10.5,11.792l-0.65-0.65l1.171,0.129L10.5,11.792zM14.5,21.207l1.205,1.205h-2.409L14.5,21.207zM18.499,21.207l1.206,1.206h-2.412L18.499,21.207zM22.499,21.207l1.208,1.207l-2.414-0.001L22.499,21.207zM23.207,20.499l1.292-1.292l1.292,1.292l-1.292,1.292L23.207,20.499zM25.207,18.499l1.292-1.291l1.291,1.291l-1.291,1.292L25.207,18.499zM28.499,17.791l-1.291-1.292l1.291-1.291l0.444,0.444l-0.429,2.124L28.499,17.791zM29.001,13.289l-0.502,0.502l-0.658-0.658l1.016,0.112C28.911,13.253,28.956,13.271,29.001,13.289zM13.487,27.994c-0.161,0-0.295-0.132-0.295-0.295c0-0.165,0.134-0.297,0.295-0.297c0.163,0,0.296,0.132,0.296,0.297C13.783,27.862,13.651,27.994,13.487,27.994zM26.81,22.414h-1.517l1.207-1.207l0.93,0.93C27.243,22.306,27.007,22.428,26.81,22.414z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Ccw.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Ccw.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Ccw();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Ccw = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Ccw.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Ccw\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Chat.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Chat.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Chat();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Chat = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Chat.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Chat\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.985,5.972c-7.563,0-13.695,4.077-13.695,9.106c0,2.877,2.013,5.44,5.147,7.108c-0.446,1.479-1.336,3.117-3.056,4.566c0,0,4.015-0.266,6.851-3.143c0.163,0.04,0.332,0.07,0.497,0.107c-0.155-0.462-0.246-0.943-0.246-1.443c0-3.393,3.776-6.05,8.599-6.05c3.464,0,6.379,1.376,7.751,3.406c1.168-1.34,1.847-2.892,1.847-4.552C29.68,10.049,23.548,5.972,15.985,5.972zM27.68,22.274c0-2.79-3.401-5.053-7.599-5.053c-4.196,0-7.599,2.263-7.599,5.053c0,2.791,3.403,5.053,7.599,5.053c0.929,0,1.814-0.116,2.637-0.319c1.573,1.597,3.801,1.744,3.801,1.744c-0.954-0.804-1.447-1.713-1.695-2.534C26.562,25.293,27.68,23.871,27.68,22.274z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Check.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Check.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Check();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Check = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Check.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Check\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M2.379,14.729 5.208,11.899 12.958,19.648 25.877,6.733 28.707,9.561 12.958,25.308z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Chrome.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Chrome.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Chrome();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Chrome = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Chrome.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Chrome\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.318,7.677c0.071-0.029,0.148-0.046,0.229-0.046h11.949c-2.533-3.915-6.938-6.506-11.949-6.506c-5.017,0-9.428,2.598-11.959,6.522l4.291,7.431C8.018,11.041,11.274,7.796,15.318,7.677zM28.196,8.84h-8.579c2.165,1.357,3.605,3.763,3.605,6.506c0,1.321-0.334,2.564-0.921,3.649c-0.012,0.071-0.035,0.142-0.073,0.209l-5.973,10.347c7.526-0.368,13.514-6.587,13.514-14.205C29.77,13.002,29.201,10.791,28.196,8.84zM15.547,23.022c-2.761,0-5.181-1.458-6.533-3.646c-0.058-0.046-0.109-0.103-0.149-0.171L2.89,8.855c-1,1.946-1.565,4.153-1.565,6.492c0,7.624,5.999,13.846,13.534,14.205l4.287-7.425C18.073,22.698,16.848,23.022,15.547,23.022zM9.08,15.347c0,1.788,0.723,3.401,1.894,4.573c1.172,1.172,2.785,1.895,4.573,1.895c1.788,0,3.401-0.723,4.573-1.895s1.895-2.785,1.895-4.573c0-1.788-0.723-3.4-1.895-4.573c-1.172-1.171-2.785-1.894-4.573-1.894c-1.788,0-3.401,0.723-4.573,1.894C9.803,11.946,9.081,13.559,9.08,15.347z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Clip.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Clip.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Clip();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Clip = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Clip.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Clip\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M23.898,6.135c-1.571-1.125-3.758-0.764-4.884,0.808l-8.832,12.331c-0.804,1.122-0.546,2.684,0.577,3.488c1.123,0.803,2.684,0.545,3.488-0.578l6.236-8.706l-0.813-0.583l-6.235,8.707h0c-0.483,0.672-1.42,0.828-2.092,0.347c-0.673-0.481-0.827-1.419-0.345-2.093h0l8.831-12.33l0.001-0.001l-0.002-0.001c0.803-1.119,2.369-1.378,3.489-0.576c1.12,0.803,1.379,2.369,0.577,3.489v-0.001l-9.68,13.516l0.001,0.001c-1.124,1.569-3.316,1.931-4.885,0.808c-1.569-1.125-1.93-3.315-0.807-4.885l7.035-9.822l-0.813-0.582l-7.035,9.822c-1.447,2.02-0.982,4.83,1.039,6.277c2.021,1.448,4.831,0.982,6.278-1.037l9.68-13.516C25.83,9.447,25.47,7.261,23.898,6.135z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Clock.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Clock.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Clock();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Clock = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Clock.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Clock\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Cloud.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Cloud.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Cloud();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Cloud = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Cloud.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Cloud\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.345,13.904c0.019-0.195,0.03-0.392,0.03-0.591c0-3.452-2.798-6.25-6.25-6.25c-2.679,0-4.958,1.689-5.847,4.059c-0.589-0.646-1.429-1.059-2.372-1.059c-1.778,0-3.219,1.441-3.219,3.219c0,0.21,0.023,0.415,0.062,0.613c-2.372,0.391-4.187,2.436-4.187,4.918c0,2.762,2.239,5,5,5h15.875c2.762,0,5-2.238,5-5C28.438,16.362,26.672,14.332,24.345,13.904z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Cloud2.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Cloud2.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Cloud2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Cloud2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Cloud2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Cloud2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M7.562,24.812c-3.313,0-6-2.687-6-6l0,0c0.002-2.659,1.734-4.899,4.127-5.684l0,0c0.083-2.26,1.937-4.064,4.216-4.066l0,0c0.73,0,1.415,0.19,2.01,0.517l0,0c1.266-2.105,3.57-3.516,6.208-3.517l0,0c3.947,0.002,7.157,3.155,7.248,7.079l0,0c2.362,0.804,4.062,3.034,4.064,5.671l0,0c0,3.313-2.687,6-6,6l0,0H7.562L7.562,24.812zM24.163,14.887c-0.511-0.095-0.864-0.562-0.815-1.079l0,0c0.017-0.171,0.027-0.336,0.027-0.497l0,0c-0.007-2.899-2.352-5.245-5.251-5.249l0,0c-2.249-0.002-4.162,1.418-4.911,3.41l0,0c-0.122,0.323-0.406,0.564-0.748,0.63l0,0c-0.34,0.066-0.694-0.052-0.927-0.309l0,0c-0.416-0.453-0.986-0.731-1.633-0.731l0,0c-1.225,0.002-2.216,0.993-2.22,2.218l0,0c0,0.136,0.017,0.276,0.045,0.424l0,0c0.049,0.266-0.008,0.54-0.163,0.762l0,0c-0.155,0.223-0.392,0.371-0.657,0.414l0,0c-1.9,0.313-3.352,1.949-3.35,3.931l0,0c0.004,2.209,1.792,3.995,4.001,4.001l0,0h15.874c2.209-0.006,3.994-1.792,3.999-4.001l0,0C27.438,16.854,26.024,15.231,24.163,14.887L24.163,14.887\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/CloudDown.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/CloudDown.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.CloudDown();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.CloudDown = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.CloudDown.prototype */\n{\n\n NAME: \"draw2d.shape.icon.CloudDown\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.345,13.904c0.019-0.195,0.03-0.392,0.03-0.591c0-3.452-2.798-6.25-6.25-6.25c-2.679,0-4.958,1.689-5.847,4.059c-0.589-0.646-1.429-1.059-2.372-1.059c-1.778,0-3.219,1.441-3.219,3.219c0,0.21,0.023,0.415,0.062,0.613c-2.372,0.391-4.187,2.436-4.187,4.918c0,2.762,2.239,5,5,5h3.404l-0.707-0.707c-0.377-0.377-0.585-0.879-0.585-1.413c0-0.533,0.208-1.035,0.585-1.412l0.556-0.557c0.4-0.399,0.937-0.628,1.471-0.628c0.027,0,0.054,0,0.08,0.002v-0.472c0-1.104,0.898-2.002,2-2.002h3.266c1.103,0,2,0.898,2,2.002v0.472c0.027-0.002,0.054-0.002,0.081-0.002c0.533,0,1.07,0.229,1.47,0.63l0.557,0.552c0.78,0.781,0.78,2.05,0,2.828l-0.706,0.707h2.403c2.762,0,5-2.238,5-5C28.438,16.362,26.672,14.332,24.345,13.904z M21.033,20.986l-0.556-0.555c-0.39-0.389-0.964-0.45-1.276-0.137c-0.312,0.312-0.568,0.118-0.568-0.432v-1.238c0-0.55-0.451-1-1-1h-3.265c-0.55,0-1,0.45-1,1v1.238c0,0.55-0.256,0.744-0.569,0.432c-0.312-0.313-0.887-0.252-1.276,0.137l-0.556,0.555c-0.39,0.389-0.39,1.024-0.001,1.413l4.328,4.331c0.194,0.194,0.451,0.291,0.707,0.291s0.512-0.097,0.707-0.291l4.327-4.331C21.424,22.011,21.423,21.375,21.033,20.986z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/CloudUp.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/CloudUp.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.CloudUp();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.CloudUp = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.CloudUp.prototype */\n{\n\n NAME: \"draw2d.shape.icon.CloudUp\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.345,13.904c0.019-0.195,0.03-0.392,0.03-0.591c0-3.452-2.798-6.25-6.25-6.25c-2.679,0-4.958,1.689-5.847,4.059c-0.589-0.646-1.429-1.059-2.372-1.059c-1.778,0-3.219,1.441-3.219,3.219c0,0.21,0.023,0.415,0.062,0.613c-2.372,0.391-4.187,2.436-4.187,4.918c0,2.762,2.239,5,5,5h2.312c-0.126-0.266-0.2-0.556-0.2-0.859c0-0.535,0.208-1.04,0.587-1.415l4.325-4.329c0.375-0.377,0.877-0.585,1.413-0.585c0.54,0,1.042,0.21,1.417,0.587l4.323,4.329c0.377,0.373,0.585,0.878,0.585,1.413c0,0.304-0.073,0.594-0.2,0.859h1.312c2.762,0,5-2.238,5-5C28.438,16.362,26.672,14.332,24.345,13.904z M16.706,17.916c-0.193-0.195-0.45-0.291-0.706-0.291s-0.512,0.096-0.707,0.291l-4.327,4.33c-0.39,0.389-0.389,1.025,0.001,1.414l0.556,0.555c0.39,0.389,0.964,0.449,1.276,0.137s0.568-0.119,0.568,0.432v1.238c0,0.549,0.451,1,1,1h3.265c0.551,0,1-0.451,1-1v-1.238c0-0.551,0.256-0.744,0.569-0.432c0.312,0.312,0.887,0.252,1.276-0.137l0.556-0.555c0.39-0.389,0.39-1.025,0.001-1.414L16.706,17.916z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Cloudy.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Cloudy.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Cloudy();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Cloudy = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Cloudy.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Cloudy\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.378,6.781c0.41,0.988,1.938,0.346,1.524-0.648C15.708,5.667,15.515,5.2,15.32,4.734c-0.289-0.695-0.875-3.233-2.042-2.747c-1.03,0.433-0.128,1.846,0.142,2.494C13.739,5.248,14.059,6.015,14.378,6.781M20.8,7.223c1.094,0.453,1.538-1.551,1.813-2.216c0.281-0.677,1.478-2.565,0.357-3.029c-1.092-0.453-1.537,1.548-1.813,2.216C20.876,4.872,19.68,6.757,20.8,7.223M18.137,6.692c1.183,0,0.829-2.019,0.829-2.742c0-0.732,0.383-2.935-0.829-2.935c-1.183,0-0.828,2.019-0.828,2.742C17.309,4.49,16.926,6.692,18.137,6.692M23.058,8.729c0.852,0.85,2.142-0.972,2.659-1.49c0.512-0.513,2.187-1.687,1.352-2.524c-0.834-0.836-2.013,0.843-2.522,1.353C24.028,6.585,22.198,7.874,23.058,8.729M24.565,10.986c0.448,1.091,2.183-0.01,2.849-0.286c0.676-0.28,2.858-0.771,2.394-1.89c-0.455-1.091-2.181,0.008-2.849,0.285C26.281,9.377,24.102,9.866,24.565,10.986M12.036,8.742c0.752,0.75,1.932-0.415,1.17-1.173c-0.253-0.347-0.646-0.645-0.949-0.946c-0.541-0.539-2.162-2.799-3.068-1.889c-0.79,0.791,0.586,1.755,1.083,2.25C10.859,7.57,11.447,8.156,12.036,8.742M29.365,17.397c-0.768-0.317-1.534-0.635-2.302-0.952c-0.646-0.268-2.07-1.169-2.495-0.135c-0.481,1.168,2.054,1.747,2.751,2.035c0.455,0.188,0.911,0.377,1.367,0.565C29.7,19.331,30.379,17.816,29.365,17.397M29.942,12.817c-0.83,0-1.66,0-2.49,0c-0.701,0-2.357-0.288-2.355,0.83c0,1.262,2.567,0.827,3.319,0.827c0.493,0,0.986,0,1.479-0.001C30.99,14.473,31.043,12.815,29.942,12.817M24.234,18.568c-0.673-0.673-1.773,0.189-1.281,1.007c-0.295-0.264-0.614-0.499-0.961-0.69c3.894-2.866,3.328-9.006-1.021-11.107c-2.024-0.978-4.481-0.828-6.368,0.394c-0.871,0.564-1.603,1.336-2.119,2.236c-0.262,0.456-0.468,0.943-0.612,1.449c-0.074,0.258-0.131,0.521-0.172,0.786c-0.083,0.534-0.109,0.553-0.553,0.871c-0.182-0.957-1.64-0.675-2.326-0.674c-0.815,0.001-1.963-0.217-2.752,0.046c-0.867,0.289-0.652,1.615,0.263,1.613c0.324,0.052,0.701-0.001,1.028-0.001c0.904-0.001,1.809-0.002,2.713-0.003c-0.308,0.352-0.496,0.969-0.94,0.77c-0.467-0.209-0.978-0.319-1.49-0.319c-0.951,0-1.877,0.375-2.561,1.036c-0.681,0.658-1.088,1.569-1.123,2.516c-0.944,0.31-1.791,0.891-2.421,1.658c-2.756,3.354-0.265,8.554,4.058,8.554v-0.002c3.597,0,7.194,0,10.792,0c1.341,0,2.843,0.167,4.168-0.113c3.652-0.772,5.361-5.21,3.133-8.229c0.548,0.547,1.096,1.094,1.644,1.641c0.183,0.183,0.364,0.424,0.575,0.574c0.552,0.552,1.524,0.066,1.403-0.713c-0.097-0.622-1.042-1.267-1.448-1.673C25.319,19.652,24.776,19.11,24.234,18.568M18.137,8.787c4.559,0.009,6.576,5.979,2.912,8.734c-0.637-3.505-4.161-5.824-7.629-5.03C13.943,10.367,15.852,8.792,18.137,8.787M22.895,24.08c-0.633,3.346-4.149,2.879-6.68,2.879c-3.017,0-6.033,0-9.049,0c-0.767,0-1.62,0.084-2.373-0.095c-2.274-0.538-3.416-3.242-2.172-5.235c0.678-1.087,1.568-1.19,2.626-1.67c0.604-0.273,0.456-0.807,0.456-1.331c0.002-0.597,0.284-1.169,0.756-1.533c0.787-0.608,1.943-0.497,2.611,0.234c1.098,1.205,1.96-1.346,2.507-1.893c2.025-2.025,5.475-1.708,7.068,0.684c0.344,0.516,0.581,1.102,0.693,1.712c0.097,0.529-0.115,1.341,0.188,1.796c0.291,0.47,0.943,0.463,1.397,0.68c0.508,0.23,0.963,0.591,1.304,1.034C22.834,22.125,23.064,23.107,22.895,24.08M6.906,9.917c0.881,0.364,1.763,0.727,2.644,1.091c0.353,0.146,0.707,0.292,1.06,0.437c0.997,0.412,1.637-1.119,0.642-1.526C10.47,9.441,9.456,9.177,8.609,8.828c-0.354-0.146-0.707-0.292-1.06-0.437C6.554,7.98,5.912,9.505,6.906,9.917\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Code.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Code.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Code();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Code = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Code.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Code\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M8.982,7.107L0.322,15.77l8.661,8.662l3.15-3.15L6.621,15.77l5.511-5.511L8.982,7.107zM21.657,7.107l-3.148,3.151l5.511,5.511l-5.511,5.511l3.148,3.15l8.662-8.662L21.657,7.107z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/CodeTalk.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/CodeTalk.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.CodeTalk();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.CodeTalk = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.CodeTalk.prototype */\n{\n\n NAME: \"draw2d.shape.icon.CodeTalk\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,4.938c-7.732,0-14,4.701-14,10.5c0,1.981,0.741,3.833,2.016,5.414L2,25.272l5.613-1.44c2.339,1.316,5.237,2.106,8.387,2.106c7.732,0,14-4.701,14-10.5S23.732,4.938,16,4.938zM13.704,19.47l-2.338,2.336l-6.43-6.431l6.429-6.432l2.339,2.341l-4.091,4.091L13.704,19.47zM20.775,21.803l-2.337-2.339l4.092-4.09l-4.092-4.092l2.337-2.339l6.43,6.426L20.775,21.803z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/CommandLine.js\":\n/*!***************************************!*\\\n !*** ./src/shape/icon/CommandLine.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.CommandLine();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.CommandLine = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.CommandLine.prototype */\n{\n\n NAME: \"draw2d.shape.icon.CommandLine\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M2.021,9.748L2.021,9.748V9.746V9.748zM2.022,9.746l5.771,5.773l-5.772,5.771l2.122,2.123l7.894-7.895L4.143,7.623L2.022,9.746zM12.248,23.269h14.419V20.27H12.248V23.269zM16.583,17.019h10.084V14.02H16.583V17.019zM12.248,7.769v3.001h14.419V7.769H12.248z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Connect.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Connect.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Connect();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Connect = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Connect.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Connect\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.06,13.719c-0.944-5.172-5.461-9.094-10.903-9.094v4c3.917,0.006,7.085,3.176,7.094,7.094c-0.009,3.917-3.177,7.085-7.094,7.093v4.002c5.442-0.004,9.959-3.926,10.903-9.096h4.69v-3.999H25.06zM20.375,15.719c0-3.435-2.784-6.219-6.219-6.219c-2.733,0-5.05,1.766-5.884,4.218H1.438v4.001h6.834c0.833,2.452,3.15,4.219,5.884,4.219C17.591,21.938,20.375,19.153,20.375,15.719z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Contract.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Contract.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Contract();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Contract = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Contract.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Contract\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.083,18.895l-8.428-2.259l2.258,8.428l1.838-1.837l7.053,7.053l2.476-2.476l-7.053-7.053L25.083,18.895zM5.542,11.731l8.428,2.258l-2.258-8.428L9.874,7.398L3.196,0.72L0.72,3.196l6.678,6.678L5.542,11.731zM7.589,20.935l-6.87,6.869l2.476,2.476l6.869-6.869l1.858,1.857l2.258-8.428l-8.428,2.258L7.589,20.935zM23.412,10.064l6.867-6.87l-2.476-2.476l-6.868,6.869l-1.856-1.856l-2.258,8.428l8.428-2.259L23.412,10.064z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Crop.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Crop.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Crop();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Crop = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Crop.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Crop\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.303,21.707V8.275l4.48-4.421l-2.021-2.048l-4.126,4.07H8.761V2.083H5.882v3.793H1.8v2.877h4.083v15.832h15.542v4.609h2.878v-4.609H29.2v-2.878H24.303zM19.72,8.753L8.761,19.565V8.753H19.72zM10.688,21.706l10.735-10.591l0.001,10.592L10.688,21.706z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Cross.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Cross.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Cross();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Cross = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Cross.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Cross\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Cube.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Cube.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Cube();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Cube = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Cube.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Cube\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.5,3.029l-10.8,6.235L4.7,21.735L15.5,27.971l10.8-6.235V9.265L15.5,3.029zM24.988,10.599L16,15.789v10.378c0,0.275-0.225,0.5-0.5,0.5s-0.5-0.225-0.5-0.5V15.786l-8.987-5.188c-0.239-0.138-0.321-0.444-0.183-0.683c0.138-0.238,0.444-0.321,0.683-0.183l8.988,5.189l8.988-5.189c0.238-0.138,0.545-0.055,0.684,0.184C25.309,10.155,25.227,10.461,24.988,10.599z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Customer.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Customer.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Customer();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Customer = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Customer.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Customer\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.523,23.813c-0.518-0.51-6.795-2.938-7.934-3.396c-1.132-0.451-1.584-1.697-1.584-1.697s-0.51,0.282-0.51-0.51c0-0.793,0.51,0.51,1.021-2.548c0,0,1.414-0.397,1.133-3.68l-0.338,0.001c0,0,0.85-3.511,0-4.699c-0.854-1.188-1.188-1.981-3.062-2.548c-1.869-0.567-1.188-0.454-2.547-0.396c-1.359,0.057-2.492,0.793-2.492,1.188c0,0-0.849,0.057-1.188,0.397c-0.34,0.34-0.906,1.924-0.906,2.32s0.283,3.059,0.566,3.624l-0.337,0.112c-0.283,3.283,1.132,3.681,1.132,3.681c0.509,3.058,1.019,1.755,1.019,2.548c0,0.792-0.51,0.51-0.51,0.51s-0.452,1.246-1.584,1.697c-1.132,0.453-7.416,2.887-7.927,3.396c-0.511,0.521-0.453,2.896-0.453,2.896h12.036l0.878-3.459l-0.781-0.781l1.344-1.344l1.344,1.344l-0.781,0.781l0.879,3.459h12.035C28.977,26.709,29.039,24.332,28.523,23.813z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Db.js\":\n/*!******************************!*\\\n !*** ./src/shape/icon/Db.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Db();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Db = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Db.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Db\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.499,23.438c-3.846,0-7.708-0.987-9.534-3.117c-0.054,0.236-0.09,0.48-0.09,0.737v3.877c0,3.435,4.988,4.998,9.625,4.998s9.625-1.563,9.625-4.998v-3.877c0-0.258-0.036-0.501-0.09-0.737C23.209,22.451,19.347,23.438,15.499,23.438zM15.499,15.943c-3.846,0-7.708-0.987-9.533-3.117c-0.054,0.236-0.091,0.479-0.091,0.736v3.877c0,3.435,4.988,4.998,9.625,4.998s9.625-1.563,9.625-4.998v-3.877c0-0.257-0.036-0.501-0.09-0.737C23.209,14.956,19.347,15.943,15.499,15.943zM15.5,1.066c-4.637,0-9.625,1.565-9.625,5.001v3.876c0,3.435,4.988,4.998,9.625,4.998s9.625-1.563,9.625-4.998V6.067C25.125,2.632,20.137,1.066,15.5,1.066zM15.5,9.066c-4.211,0-7.625-1.343-7.625-3c0-1.656,3.414-3,7.625-3s7.625,1.344,7.625,3C23.125,7.724,19.711,9.066,15.5,9.066z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Detour.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Detour.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Detour();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Detour = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Detour.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Detour\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M29.342,15.5l-7.556-4.363v2.614H18.75c-1.441-0.004-2.423,1.002-2.875,1.784c-0.735,1.222-1.056,2.561-1.441,3.522c-0.135,0.361-0.278,0.655-0.376,0.817c-1.626,0-0.998,0-2.768,0c-0.213-0.398-0.571-1.557-0.923-2.692c-0.237-0.676-0.5-1.381-1.013-2.071C8.878,14.43,7.89,13.726,6.75,13.75H2.812v3.499c0,0,0.358,0,1.031,0h2.741c0.008,0.013,0.018,0.028,0.029,0.046c0.291,0.401,0.634,1.663,1.031,2.888c0.218,0.623,0.455,1.262,0.92,1.897c0.417,0.614,1.319,1.293,2.383,1.293H11c2.25,0,1.249,0,3.374,0c0.696,0.01,1.371-0.286,1.809-0.657c1.439-1.338,1.608-2.886,2.13-4.127c0.218-0.608,0.453-1.115,0.605-1.314c0.006-0.01,0.012-0.018,0.018-0.025h2.85v2.614L29.342,15.5zM10.173,14.539c0.568,0.76,0.874,1.559,1.137,2.311c0.04,0.128,0.082,0.264,0.125,0.399h2.58c0.246-0.697,0.553-1.479,1.005-2.228c0.252-0.438,0.621-0.887,1.08-1.272H9.43C9.735,14.003,9.99,14.277,10.173,14.539z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Diagram.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Diagram.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Diagram();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Diagram = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Diagram.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Diagram\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super((0, _extend2.default)({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M6.812,17.202l7.396-3.665v-2.164h-0.834c-0.414,0-0.808-0.084-1.167-0.237v1.159l-7.396,3.667v2.912h2V17.202zM26.561,18.875v-2.913l-7.396-3.666v-1.158c-0.358,0.152-0.753,0.236-1.166,0.236h-0.832l-0.001,2.164l7.396,3.666v1.672H26.561zM16.688,18.875v-7.501h-2v7.501H16.688zM27.875,19.875H23.25c-1.104,0-2,0.896-2,2V26.5c0,1.104,0.896,2,2,2h4.625c1.104,0,2-0.896,2-2v-4.625C29.875,20.771,28.979,19.875,27.875,19.875zM8.125,19.875H3.5c-1.104,0-2,0.896-2,2V26.5c0,1.104,0.896,2,2,2h4.625c1.104,0,2-0.896,2-2v-4.625C10.125,20.771,9.229,19.875,8.125,19.875zM13.375,10.375H18c1.104,0,2-0.896,2-2V3.75c0-1.104-0.896-2-2-2h-4.625c-1.104,0-2,0.896-2,2v4.625C11.375,9.479,12.271,10.375,13.375,10.375zM18,19.875h-4.625c-1.104,0-2,0.896-2,2V26.5c0,1.104,0.896,2,2,2H18c1.104,0,2-0.896,2-2v-4.625C20,20.771,19.104,19.875,18,19.875z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Disconnect.js\":\n/*!**************************************!*\\\n !*** ./src/shape/icon/Disconnect.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Disconnect();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Disconnect = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Disconnect.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Disconnect\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M9.219,9.5c-2.733,0-5.05,1.766-5.884,4.218H1.438v4.001h1.897c0.833,2.452,3.15,4.219,5.884,4.219c3.435,0,6.219-2.784,6.219-6.219S12.653,9.5,9.219,9.5zM27.685,13.719c-0.944-5.172-5.461-9.094-10.903-9.094v4c3.917,0.006,7.085,3.176,7.094,7.094c-0.009,3.917-3.177,7.085-7.094,7.093v4.002c5.442-0.004,9.959-3.926,10.903-9.096h2.065v-3.999H27.685z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/DockBottom.js\":\n/*!**************************************!*\\\n !*** ./src/shape/icon/DockBottom.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.DockBottom();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.DockBottom = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.DockBottom.prototype */\n{\n\n NAME: \"draw2d.shape.icon.DockBottom\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M3.083,7.333v16.334h24.833V7.333H3.083zM24.915,16.833H6.083v-6.501h18.833L24.915,16.833L24.915,16.833z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/DockLeft.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/DockLeft.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.DockLeft();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.DockLeft = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.DockLeft.prototype */\n{\n\n NAME: \"draw2d.shape.icon.DockLeft\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M3.084,7.333v16.334h24.832V7.333H3.084z M11.667,10.332h13.251v10.336H11.667V10.332z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/DockRight.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/DockRight.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.DockRight();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.DockRight = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.DockRight.prototype */\n{\n\n NAME: \"draw2d.shape.icon.DockRight\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M3.083,7.333v16.334h24.833V7.333H3.083z M19.333,20.668H6.083V10.332h13.25V20.668z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/DockTop.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/DockTop.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.DockTop();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.DockTop = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.DockTop.prototype */\n{\n\n NAME: \"draw2d.shape.icon.DockTop\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.916,23.667V7.333H3.083v16.334H27.916zM24.915,20.668H6.083v-6.501h18.833L24.915,20.668L24.915,20.668z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Download.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Download.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Download();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Download = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Download.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Download\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466zM16,28.792c-1.549,0-2.806-1.256-2.806-2.806s1.256-2.806,2.806-2.806c1.55,0,2.806,1.256,2.806,2.806S17.55,28.792,16,28.792zM16,21.087l-7.858-6.562h3.469V5.747h8.779v8.778h3.468L16,21.087z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Dry.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Dry.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Dry();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Dry = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Dry.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Dry\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.784,26.991c0,1.238-1.329,1.696-1.835,1.696c-0.504,0-1.536-0.413-1.65-1.812c0-0.354-0.288-0.642-0.644-0.642c-0.354,0-0.641,0.287-0.641,0.642c0.045,1.056,0.756,3.052,2.935,3.052c2.432,0,3.166-1.882,3.166-3.144v-8.176l-1.328-0.024C14.787,18.584,14.784,25.889,14.784,26.991zM15.584,9.804c-6.807,0-11.084,4.859-11.587,8.326c0.636-0.913,1.694-1.51,2.89-1.51c1.197,0,2.22,0.582,2.855,1.495c0.638-0.904,1.69-1.495,2.88-1.495c1.2,0,2.26,0.6,2.896,1.517c0.635-0.917,1.83-1.517,3.03-1.517c1.19,0,2.241,0.591,2.879,1.495c0.636-0.913,1.659-1.495,2.855-1.495c1.197,0,2.254,0.597,2.89,1.51C26.669,14.663,22.393,9.804,15.584,9.804zM14.733,7.125v2.081h1.323V7.125c0-0.365-0.296-0.661-0.661-0.661C15.029,6.464,14.733,6.76,14.733,7.125zM7.562,6.015c0.54,0.312,1.229,0.128,1.54-0.412c0.109-0.189,0.157-0.398,0.15-0.602L9.251,3.09L7.59,4.047c-0.178,0.095-0.333,0.24-0.441,0.428C6.837,5.015,7.022,5.703,7.562,6.015zM5.572,11.717c0.109-0.19,0.158-0.398,0.151-0.602L5.721,9.203l-1.66,0.957c-0.178,0.096-0.333,0.241-0.441,0.429c-0.311,0.539-0.127,1.229,0.413,1.539C4.571,12.44,5.26,12.256,5.572,11.717zM10.523,9.355c0.539,0.312,1.229,0.126,1.541-0.412c0.109-0.189,0.156-0.398,0.15-0.603L12.214,6.43l-1.662,0.956c-0.177,0.097-0.332,0.241-0.441,0.43C9.799,8.354,9.984,9.044,10.523,9.355zM15.251,3.998c0.539,0.312,1.229,0.126,1.54-0.412c0.11-0.19,0.157-0.398,0.15-0.603L16.94,1.072l-1.661,0.956c-0.178,0.097-0.332,0.242-0.441,0.43C14.526,2.998,14.711,3.687,15.251,3.998zM19.348,8.914c0.539,0.312,1.228,0.128,1.541-0.412c0.109-0.189,0.156-0.398,0.149-0.602h-0.001V5.988l-1.661,0.957c-0.178,0.096-0.332,0.241-0.441,0.429C18.623,7.914,18.809,8.603,19.348,8.914zM23.633,5.196c0.54,0.312,1.23,0.126,1.542-0.413c0.109-0.189,0.156-0.398,0.149-0.602h-0.001V2.27l-1.662,0.957c-0.177,0.096-0.331,0.24-0.44,0.43C22.909,4.195,23.094,4.885,23.633,5.196zM27.528,8.51l-1.659,0.956c-0.18,0.097-0.334,0.242-0.443,0.43c-0.312,0.539-0.127,1.229,0.413,1.54c0.539,0.312,1.229,0.127,1.541-0.412c0.109-0.19,0.158-0.398,0.151-0.603L27.528,8.51z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Employee.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Employee.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Employee();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Employee = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Employee.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Employee\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.523,23.813c-0.518-0.51-6.795-2.938-7.934-3.396c-1.132-0.451-1.584-1.697-1.584-1.697s-0.51,0.282-0.51-0.51c0-0.793,0.51,0.51,1.021-2.548c0,0,1.414-0.397,1.133-3.68l-0.338,0.001c0,0,0.85-3.511,0-4.699c-0.854-1.188-1.188-1.981-3.062-2.548c-1.869-0.567-1.188-0.454-2.547-0.396c-1.359,0.057-2.492,0.793-2.492,1.188c0,0-0.849,0.057-1.188,0.397c-0.34,0.34-0.906,1.924-0.906,2.32s0.283,3.059,0.566,3.624l-0.337,0.112c-0.283,3.283,1.132,3.681,1.132,3.681c0.509,3.058,1.019,1.755,1.019,2.548c0,0.792-0.51,0.51-0.51,0.51s-0.452,1.246-1.584,1.697c-1.132,0.453-7.416,2.887-7.927,3.396c-0.511,0.521-0.453,2.896-0.453,2.896h26.954C28.977,26.709,29.039,24.332,28.523,23.813zM22.188,26.062h-4.562v-1.25h4.562V26.062z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/End.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/End.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.End();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.End = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.End.prototype */\n{\n\n NAME: \"draw2d.shape.icon.End\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.167,5.5,21.167,13.681,6.684,5.318,6.684,25.682,21.167,17.318,21.167,25.5,25.5,25.5,25.5,5.5z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Ethernet.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Ethernet.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Ethernet();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Ethernet = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Ethernet.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Ethernet\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.5,8.5v3.168l3.832,3.832L22.5,19.332V22.5l7-7L22.5,8.5zM8.5,22.5v-3.168L4.667,15.5L8.5,11.668V8.5l-7,7L8.5,22.5zM15.5,14.101c-0.928,0-1.68,0.751-1.68,1.68c0,0.927,0.752,1.681,1.68,1.681c0.927,0,1.68-0.754,1.68-1.681C17.18,14.852,16.427,14.101,15.5,14.101zM10.46,14.101c-0.928,0-1.68,0.751-1.68,1.68c0,0.927,0.752,1.681,1.68,1.681s1.68-0.754,1.68-1.681C12.14,14.852,11.388,14.101,10.46,14.101zM20.541,14.101c-0.928,0-1.682,0.751-1.682,1.68c0,0.927,0.754,1.681,1.682,1.681s1.68-0.754,1.68-1.681C22.221,14.852,21.469,14.101,20.541,14.101z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Exchange.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Exchange.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Exchange();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Exchange = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Exchange.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Exchange\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.786,12.876l7.556-4.363l-7.556-4.363v2.598H2.813v3.5h18.973V12.876zM10.368,18.124l-7.556,4.362l7.556,4.362V24.25h18.974v-3.501H10.368V18.124z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Expand.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Expand.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Expand();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Expand = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Expand.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Expand\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.545,23.328,17.918,15.623,25.534,8.007,27.391,9.864,29.649,1.436,21.222,3.694,23.058,5.53,15.455,13.134,7.942,5.543,9.809,3.696,1.393,1.394,3.608,9.833,5.456,8.005,12.98,15.608,5.465,23.123,3.609,21.268,1.351,29.695,9.779,27.438,7.941,25.6,15.443,18.098,23.057,25.791,21.19,27.638,29.606,29.939,27.393,21.5z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Export.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Export.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Export();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Export = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Export.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Export\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.086,20.904c-1.805,3.113-5.163,5.212-9.023,5.219c-5.766-0.01-10.427-4.672-10.438-10.435C4.636,9.922,9.297,5.261,15.063,5.25c3.859,0.007,7.216,2.105,9.022,5.218l3.962,2.284l0.143,0.082C26.879,6.784,21.504,2.25,15.063,2.248C7.64,2.25,1.625,8.265,1.624,15.688c0.002,7.42,6.017,13.435,13.439,13.437c6.442-0.002,11.819-4.538,13.127-10.589l-0.141,0.081L24.086,20.904zM28.4,15.688l-7.15-4.129v2.297H10.275v3.661H21.25v2.297L28.4,15.688z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Fave.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Fave.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Fave();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Fave = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Fave.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Fave\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.132,7.971c-2.203-2.205-5.916-2.098-8.25,0.235L15.5,8.588l-0.382-0.382c-2.334-2.333-6.047-2.44-8.25-0.235c-2.204,2.203-2.098,5.916,0.235,8.249l8.396,8.396l8.396-8.396C26.229,13.887,26.336,10.174,24.132,7.971z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Feed.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Feed.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Feed();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Feed = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Feed.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Feed\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.135,16.762c3.078,0,5.972,1.205,8.146,3.391c2.179,2.187,3.377,5.101,3.377,8.202h4.745c0-9.008-7.299-16.335-16.269-16.335V16.762zM4.141,8.354c10.973,0,19.898,8.975,19.898,20.006h4.743c0-13.646-11.054-24.749-24.642-24.749V8.354zM10.701,25.045c0,1.815-1.471,3.287-3.285,3.287s-3.285-1.472-3.285-3.287c0-1.813,1.471-3.285,3.285-3.285S10.701,23.231,10.701,25.045z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Ff.js\":\n/*!******************************!*\\\n !*** ./src/shape/icon/Ff.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Ff();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Ff = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Ff.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Ff\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.5,15.5,15.2,9.552,15.2,15.153,5.5,9.552,5.5,21.447,15.2,15.847,15.2,21.447z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Firefox.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Firefox.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Firefox();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Firefox = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Firefox.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Firefox\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.4,22.469c0.479-0.964,0.851-1.991,1.095-3.066c0.953-3.661,0.666-6.854,0.666-6.854l-0.327,2.104c0,0-0.469-3.896-1.044-5.353c-0.881-2.231-1.273-2.214-1.274-2.21c0.542,1.379,0.494,2.169,0.483,2.288c-0.01-0.016-0.019-0.032-0.027-0.047c-0.131-0.324-0.797-1.819-2.225-2.878c-2.502-2.481-5.943-4.014-9.745-4.015c-4.056,0-7.705,1.745-10.238,4.525C5.444,6.5,5.183,5.938,5.159,5.317c0,0-0.002,0.002-0.006,0.005c0-0.011-0.003-0.021-0.003-0.031c0,0-1.61,1.247-1.436,4.612c-0.299,0.574-0.56,1.172-0.777,1.791c-0.375,0.817-0.75,2.004-1.059,3.746c0,0,0.133-0.422,0.399-0.988c-0.064,0.482-0.103,0.971-0.116,1.467c-0.09,0.845-0.118,1.865-0.039,3.088c0,0,0.032-0.406,0.136-1.021c0.834,6.854,6.667,12.165,13.743,12.165l0,0c1.86,0,3.636-0.37,5.256-1.036C24.938,27.771,27.116,25.196,28.4,22.469zM16.002,3.356c2.446,0,4.73,0.68,6.68,1.86c-2.274-0.528-3.433-0.261-3.423-0.248c0.013,0.015,3.384,0.589,3.981,1.411c0,0-1.431,0-2.856,0.41c-0.065,0.019,5.242,0.663,6.327,5.966c0,0-0.582-1.213-1.301-1.42c0.473,1.439,0.351,4.17-0.1,5.528c-0.058,0.174-0.118-0.755-1.004-1.155c0.284,2.037-0.018,5.268-1.432,6.158c-0.109,0.07,0.887-3.189,0.201-1.93c-4.093,6.276-8.959,2.539-10.934,1.208c1.585,0.388,3.267,0.108,4.242-0.559c0.982-0.672,1.564-1.162,2.087-1.047c0.522,0.117,0.87-0.407,0.464-0.872c-0.405-0.466-1.392-1.105-2.725-0.757c-0.94,0.247-2.107,1.287-3.886,0.233c-1.518-0.899-1.507-1.63-1.507-2.095c0-0.366,0.257-0.88,0.734-1.028c0.58,0.062,1.044,0.214,1.537,0.466c0.005-0.135,0.006-0.315-0.001-0.519c0.039-0.077,0.015-0.311-0.047-0.596c-0.036-0.287-0.097-0.582-0.19-0.851c0.01-0.002,0.017-0.007,0.021-0.021c0.076-0.344,2.147-1.544,2.299-1.659c0.153-0.114,0.55-0.378,0.506-1.183c-0.015-0.265-0.058-0.294-2.232-0.286c-0.917,0.003-1.425-0.894-1.589-1.245c0.222-1.231,0.863-2.11,1.919-2.704c0.02-0.011,0.015-0.021-0.008-0.027c0.219-0.127-2.524-0.006-3.76,1.604C9.674,8.045,9.219,7.95,8.71,7.95c-0.638,0-1.139,0.07-1.603,0.187c-0.05,0.013-0.122,0.011-0.208-0.001C6.769,8.04,6.575,7.88,6.365,7.672c0.161-0.18,0.324-0.356,0.495-0.526C9.201,4.804,12.43,3.357,16.002,3.356z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Flag.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Flag.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Flag();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Flag = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Flag.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Flag\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M26.04,9.508c0.138-0.533,0.15-1.407,0.028-1.943l-0.404-1.771c-0.122-0.536-0.665-1.052-1.207-1.146l-3.723-0.643c-0.542-0.094-1.429-0.091-1.97,0.007l-4.033,0.726c-0.542,0.098-1.429,0.108-1.973,0.023L8.812,4.146C8.817,4.165,8.826,4.182,8.83,4.201l2.701,12.831l1.236,0.214c0.542,0.094,1.428,0.09,1.97-0.007l4.032-0.727c0.541-0.097,1.429-0.107,1.973-0.022l4.329,0.675c0.544,0.085,0.906-0.288,0.807-0.829l-0.485-2.625c-0.1-0.541-0.069-1.419,0.068-1.952L26.04,9.508zM6.667,3.636C6.126,3.75,5.78,4.279,5.894,4.819l5.763,27.378H13.7L7.852,4.409C7.736,3.867,7.207,3.521,6.667,3.636z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Flickr.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Flickr.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Flickr();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Flickr = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Flickr.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Flickr\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.77,8.895c-2.379,0-4.479,1.174-5.77,2.969c-1.289-1.795-3.39-2.969-5.77-2.969c-3.924,0-7.105,3.181-7.105,7.105c0,3.924,3.181,7.105,7.105,7.105c2.379,0,4.48-1.175,5.77-2.97c1.29,1.795,3.391,2.97,5.77,2.97c3.925,0,7.105-3.182,7.105-7.105C28.875,12.075,25.694,8.895,21.77,8.895zM21.769,21.822c-3.211,0-5.821-2.61-5.821-5.821c0-3.213,2.61-5.824,5.821-5.824c3.213,0,5.824,2.611,5.824,5.824C27.593,19.212,24.981,21.822,21.769,21.822z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Folder.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Folder.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Folder();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Folder = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Folder.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Folder\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.625,26.75h-26.5V8.375h1.124c1.751,0,0.748-3.125,3-3.125c3.215,0,1.912,0,5.126,0c2.251,0,1.251,3.125,3.001,3.125h14.25V26.75z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Font.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Font.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Font();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Font = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Font.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Font\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.255,19.327l-1.017,0.131c-0.609,0.081-1.067,0.208-1.375,0.382c-0.521,0.293-0.779,0.76-0.779,1.398c0,0.484,0.178,0.867,0.532,1.146c0.354,0.28,0.774,0.421,1.262,0.421c0.593,0,1.164-0.138,1.72-0.412c0.938-0.453,1.4-1.188,1.4-2.229v-1.354c-0.205,0.131-0.469,0.229-0.792,0.328C22.883,19.229,22.564,19.29,22.255,19.327zM8.036,18.273h4.309l-2.113-6.063L8.036,18.273zM28.167,7.75H3.168c-0.552,0-1,0.448-1,1v16.583c0,0.553,0.448,1,1,1h24.999c0.554,0,1-0.447,1-1V8.75C29.167,8.198,28.721,7.75,28.167,7.75zM14.305,23.896l-1.433-4.109H7.488L6,23.896H4.094L9.262,10.17h2.099l4.981,13.727H14.305L14.305,23.896zM26.792,23.943c-0.263,0.074-0.461,0.121-0.599,0.141c-0.137,0.02-0.323,0.027-0.562,0.027c-0.579,0-0.999-0.204-1.261-0.615c-0.138-0.219-0.231-0.525-0.29-0.926c-0.344,0.449-0.834,0.839-1.477,1.169c-0.646,0.329-1.354,0.493-2.121,0.493c-0.928,0-1.688-0.28-2.273-0.844c-0.589-0.562-0.884-1.271-0.884-2.113c0-0.928,0.29-1.646,0.868-2.155c0.578-0.511,1.34-0.824,2.279-0.942l2.682-0.336c0.388-0.05,0.646-0.211,0.775-0.484c0.063-0.146,0.104-0.354,0.104-0.646c0-0.575-0.203-0.993-0.604-1.252c-0.408-0.26-0.99-0.389-1.748-0.389c-0.877,0-1.5,0.238-1.865,0.713c-0.205,0.263-0.34,0.654-0.399,1.174H17.85c0.031-1.237,0.438-2.097,1.199-2.582c0.77-0.484,1.659-0.726,2.674-0.726c1.176,0,2.131,0.225,2.864,0.673c0.729,0.448,1.093,1.146,1.093,2.093v5.766c0,0.176,0.035,0.313,0.106,0.422c0.071,0.104,0.223,0.156,0.452,0.156c0.076,0,0.16-0.005,0.254-0.015c0.093-0.011,0.191-0.021,0.299-0.041L26.792,23.943L26.792,23.943z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Fork.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Fork.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Fork();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Fork = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Fork.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Fork\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M13.741,10.249h8.045v2.627l7.556-4.363l-7.556-4.363v2.598H9.826C11.369,7.612,12.616,8.922,13.741,10.249zM21.786,20.654c-0.618-0.195-1.407-0.703-2.291-1.587c-1.79-1.756-3.712-4.675-5.731-7.227c-2.049-2.486-4.159-4.972-7.451-5.091h-3.5v3.5h3.5c0.656-0.027,1.683,0.486,2.879,1.683c1.788,1.753,3.712,4.674,5.731,7.226c1.921,2.331,3.907,4.639,6.863,5.016v2.702l7.556-4.362l-7.556-4.362V20.654z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ForkAlt.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/ForkAlt.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ForkAlt();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ForkAlt = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ForkAlt.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ForkAlt\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.786,12.873l7.556-4.361l-7.556-4.362v2.701c-2.929,0.374-4.905,2.64-6.809,4.952c0.545,0.703,1.08,1.418,1.604,2.127c0.192,0.26,0.383,0.514,0.573,0.77c0.802-1.043,1.584-1.999,2.341-2.74c0.884-0.885,1.673-1.393,2.291-1.588V12.873zM17.661,17.006c-1.893-2.371-3.815-5.354-6.009-7.537c-1.461-1.428-3.155-2.664-5.34-2.693h-3.5v3.5h3.5c0.971-0.119,2.845,1.333,4.712,3.771c1.895,2.371,3.815,5.354,6.011,7.537c1.326,1.297,2.847,2.426,4.751,2.645v2.646l7.556-4.363l-7.556-4.362v2.535C20.746,20.346,19.205,19.022,17.661,17.006z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/FullCube.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/FullCube.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.FullCube();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.FullCube = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.FullCube.prototype */\n{\n\n NAME: \"draw2d.shape.icon.FullCube\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.5,3.029l-10.8,6.235L4.7,21.735L15.5,27.971l10.8-6.235V9.265L15.5,3.029zM15.5,7.029l6.327,3.652L15.5,14.334l-6.326-3.652L15.5,7.029zM24.988,10.599L16,15.789v10.378c0,0.275-0.225,0.5-0.5,0.5s-0.5-0.225-0.5-0.5V15.786l-8.987-5.188c-0.239-0.138-0.321-0.444-0.183-0.683c0.138-0.238,0.444-0.321,0.683-0.183l8.988,5.189l8.988-5.189c0.238-0.138,0.545-0.055,0.684,0.184C25.309,10.155,25.227,10.461,24.988,10.599z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Future.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Future.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Future();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Future = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Future.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Future\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M17.001,15.5l-0.5-7.876c0-0.552-0.448-1-1-1c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.89-0.365,1.365c0.275,0.479,0.889,0.644,1.365,0.367l3.305-1.677C15.39,16.99,15.444,17,15.501,17C16.329,17,17.001,16.329,17.001,15.5zM18.939,21.455c-0.479,0.277-0.644,0.889-0.366,1.367c0.274,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.89,0.365-1.365C20.027,21.344,19.417,21.18,18.939,21.455zM19.938,7.813c-0.477-0.276-1.09-0.111-1.364,0.366c-0.275,0.48-0.111,1.091,0.366,1.367c0.477,0.276,1.088,0.112,1.365-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM21.823,20.305c0.477,0.274,1.089,0.112,1.364-0.365c0.276-0.479,0.112-1.092-0.364-1.367c-0.48-0.275-1.093-0.111-1.367,0.365C21.182,19.416,21.344,20.029,21.823,20.305zM22.822,12.428c0.478-0.275,0.643-0.888,0.365-1.366c-0.274-0.478-0.89-0.642-1.365-0.366c-0.479,0.278-0.643,0.89-0.366,1.367S22.344,12.705,22.822,12.428zM24.378,15.5c0-0.551-0.448-1-1-1c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1C23.93,16.5,24.378,16.053,24.378,15.5zM9.546,12.062c0.275-0.478,0.111-1.089-0.366-1.366c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366C8.658,12.704,9.269,12.541,9.546,12.062zM6.624,15.5c0,0.553,0.449,1,1,1c0.552,0,1-0.447,1.001-1c-0.001-0.552-0.448-0.999-1.001-1C7.071,14.5,6.624,14.948,6.624,15.5zM9.179,20.305c0.479-0.275,0.643-0.888,0.367-1.367c-0.276-0.477-0.888-0.641-1.367-0.365c-0.478,0.277-0.642,0.889-0.365,1.367C8.089,20.418,8.703,20.58,9.179,20.305zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM14.501,23.377c0,0.553,0.448,1,1,1c0.552,0,1-0.447,1-1s-0.448-1-1-1C14.949,22.377,14.501,22.824,14.501,23.377zM10.696,21.822c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.276,1.091,0.11,1.365-0.365c0.277-0.479,0.113-1.09-0.365-1.367C11.584,21.18,10.973,21.344,10.696,21.822zM28.674,14.087l-3.27-1.186c0.291,1.105,0.41,2.274,0.309,3.478c-0.492,5.639-5.449,9.809-11.091,9.333c-5.639-0.495-9.809-5.45-9.333-11.09c0.494-5.641,5.449-9.812,11.089-9.335c2.428,0.212,4.567,1.266,6.194,2.833l-1.637,1.377l7.031,2.548l-1.309-7.364l-1.771,1.492c-2.133-2.151-4.996-3.597-8.25-3.877C9.346,1.67,2.926,7.072,2.297,14.364c-0.625,7.291,4.777,13.71,12.066,14.339c7.293,0.625,13.713-4.776,14.342-12.066C28.779,15.771,28.762,14.919,28.674,14.087z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/GRaphael.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/GRaphael.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.GRaphael();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.GRaphael = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.GRaphael.prototype */\n{\n\n NAME: \"draw2d.shape.icon.GRaphael\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.833,15.709c0-1.477-0.574-2.862-1.617-3.904l-7.002-7.001l-0.003,0.002c-1.027-1.03-2.445-1.62-3.9-1.62c-1.455,0-2.871,0.59-3.9,1.621l-0.002-0.002l-7,7C4.376,12.836,3.79,14.25,3.79,15.709s0.586,2.873,1.619,3.902l6.312,6.312c0.253,0.285,0.519,0.556,0.8,0.8c1.049,0.989,2.463,1.534,3.908,1.51c1.417-0.021,2.783-0.604,3.785-1.604l6.812-6.812c0.021-0.021,0.035-0.029,0.062-0.062l0.143-0.146c0.271-0.271,0.484-0.562,0.725-0.86l-0.012-0.002C28.516,17.85,28.833,16.805,28.833,15.709zM18.77,25.17c-1.121,1.119-2.917,1.336-4.271,0.514l0.002-0.002c-0.213-0.145-0.414-0.303-0.61-0.471c-0.016-0.016-7.04-7.041-7.04-7.041c-1.34-1.34-1.342-3.584,0-4.92l7-6.998c1.121-1.121,2.908-1.338,4.259-0.512v0.002c0.213,0.141,0.414,0.299,0.604,0.467c0.021,0.016,7.053,7.043,7.053,7.043c0.396,0.388,0.655,0.852,0.818,1.348l-2.607,0.006c-0.537-3.754-3.769-6.641-7.667-6.641c-4.277,0-7.744,3.468-7.745,7.746c0.001,4.277,3.468,7.744,7.745,7.744c3.917,0,7.156-2.91,7.668-6.688l2.638-0.021c-0.16,0.521-0.441,1.02-0.849,1.412L18.77,25.17zM16.312,16.789c0.002,0,0.002,0,0.004,0l5.476-0.02c-0.5,2.562-2.76,4.518-5.48,4.521c-3.084-0.004-5.578-2.5-5.584-5.582c0.006-3.084,2.5-5.58,5.584-5.584c2.708,0.004,4.959,1.929,5.472,4.484l-5.476,0.018c-0.596,0.002-1.078,0.488-1.076,1.084C15.233,16.308,15.715,16.789,16.312,16.789z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Gear.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Gear.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Gear();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Gear = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Gear.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Gear\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M26.974,16.514l3.765-1.991c-0.074-0.738-0.217-1.454-0.396-2.157l-4.182-0.579c-0.362-0.872-0.84-1.681-1.402-2.423l1.594-3.921c-0.524-0.511-1.09-0.977-1.686-1.406l-3.551,2.229c-0.833-0.438-1.73-0.77-2.672-0.984l-1.283-3.976c-0.364-0.027-0.728-0.056-1.099-0.056s-0.734,0.028-1.099,0.056l-1.271,3.941c-0.967,0.207-1.884,0.543-2.738,0.986L7.458,4.037C6.863,4.466,6.297,4.932,5.773,5.443l1.55,3.812c-0.604,0.775-1.11,1.629-1.49,2.55l-4.05,0.56c-0.178,0.703-0.322,1.418-0.395,2.157l3.635,1.923c0.041,1.013,0.209,1.994,0.506,2.918l-2.742,3.032c0.319,0.661,0.674,1.303,1.085,1.905l4.037-0.867c0.662,0.72,1.416,1.351,2.248,1.873l-0.153,4.131c0.663,0.299,1.352,0.549,2.062,0.749l2.554-3.283C15.073,26.961,15.532,27,16,27c0.507,0,1.003-0.046,1.491-0.113l2.567,3.301c0.711-0.2,1.399-0.45,2.062-0.749l-0.156-4.205c0.793-0.513,1.512-1.127,2.146-1.821l4.142,0.889c0.411-0.602,0.766-1.243,1.085-1.905l-2.831-3.131C26.778,18.391,26.93,17.467,26.974,16.514zM20.717,21.297l-1.785,1.162l-1.098-1.687c-0.571,0.22-1.186,0.353-1.834,0.353c-2.831,0-5.125-2.295-5.125-5.125c0-2.831,2.294-5.125,5.125-5.125c2.83,0,5.125,2.294,5.125,5.125c0,1.414-0.573,2.693-1.499,3.621L20.717,21.297z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Gear2.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Gear2.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Gear2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Gear2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Gear2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Gear2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M17.047,27.945c-0.34,0.032-0.688,0.054-1.046,0.054l0,0c-0.32,0-0.631-0.017-0.934-0.043l0,0l-2.626,3.375l-0.646-0.183c-0.758-0.213-1.494-0.48-2.202-0.8l0,0L8.979,30.07l0.158-4.24c-0.558-0.39-1.079-0.825-1.561-1.302l0,0L3.424,25.42l-0.379-0.557c-0.445-0.654-0.824-1.339-1.16-2.032l0,0l-0.292-0.605l2.819-3.12c-0.176-0.661-0.293-1.343-0.353-2.038l0,0l-3.736-1.975l0.068-0.669c0.08-0.801,0.235-1.567,0.42-2.303l0,0l0.165-0.653l4.167-0.577c0.297-0.627,0.647-1.221,1.041-1.78l0,0l-1.59-3.914l0.48-0.47c0.564-0.55,1.168-1.048,1.798-1.503l0,0l0.546-0.394l3.597,2.259c0.606-0.279,1.24-0.509,1.897-0.685l0,0l1.304-4.046l0.672-0.051c0.362-0.027,0.751-0.058,1.174-0.058l0,0c0.422,0,0.81,0.031,1.172,0.058l0,0l0.672,0.051l1.318,4.088c0.632,0.176,1.244,0.401,1.831,0.674l0,0l3.647-2.291l0.548,0.394c0.63,0.455,1.235,0.954,1.798,1.501l0,0l0.482,0.47l-1.639,4.031c0.357,0.519,0.679,1.068,0.954,1.646l0,0l4.297,0.595l0.167,0.653c0.188,0.735,0.342,1.501,0.42,2.303l0,0l0.068,0.669l-3.866,2.044c-0.058,0.634-0.161,1.258-0.315,1.866l0,0l2.913,3.218l-0.293,0.608c-0.335,0.695-0.712,1.382-1.159,2.034l0,0l-0.379,0.555l-4.255-0.912c-0.451,0.451-0.939,0.866-1.461,1.241l0,0l0.162,4.323l-0.615,0.278c-0.709,0.319-1.444,0.587-2.202,0.8l0,0l-0.648,0.183L17.047,27.945L17.047,27.945zM20.424,29.028c0.227-0.076,0.45-0.157,0.671-0.244l0,0l-0.152-4.083l0.479-0.307c0.717-0.466,1.37-1.024,1.95-1.658l0,0l0.386-0.423l4.026,0.862c0.121-0.202,0.238-0.409,0.351-0.62l0,0l-2.754-3.045l0.171-0.544c0.243-0.783,0.381-1.623,0.422-2.5l0,0l0.025-0.571l3.658-1.933c-0.038-0.234-0.082-0.467-0.132-0.7l0,0l-4.07-0.563l-0.219-0.527c-0.327-0.787-0.76-1.524-1.277-2.204l0,0l-0.342-0.453l1.548-3.808c-0.179-0.157-0.363-0.31-0.552-0.458l0,0l-3.455,2.169L20.649,7.15c-0.754-0.397-1.569-0.698-2.429-0.894l0,0l-0.556-0.127l-1.248-3.87c-0.121-0.006-0.239-0.009-0.354-0.009l0,0c-0.117,0-0.235,0.003-0.357,0.009l0,0l-1.239,3.845l-0.564,0.12c-0.875,0.188-1.709,0.494-2.486,0.896l0,0l-0.508,0.264L7.509,5.249c-0.188,0.148-0.372,0.301-0.55,0.458l0,0l1.507,3.708L8.112,9.869c-0.552,0.709-1.011,1.485-1.355,2.319l0,0l-0.218,0.529l-3.939,0.545c-0.05,0.233-0.094,0.466-0.131,0.7l0,0l3.531,1.867l0.022,0.575c0.037,0.929,0.192,1.82,0.459,2.653l0,0l0.175,0.548l-2.667,2.95c0.112,0.212,0.229,0.419,0.351,0.621l0,0l3.916-0.843l0.39,0.423c0.601,0.657,1.287,1.229,2.043,1.703l0,0l0.488,0.305l-0.149,4.02c0.221,0.087,0.445,0.168,0.672,0.244l0,0l2.479-3.188l0.566,0.07c0.427,0.054,0.843,0.089,1.257,0.089l0,0c0.445,0,0.894-0.039,1.353-0.104l0,0l0.571-0.08L20.424,29.028L20.424,29.028zM21.554,20.75l0.546,0.839l-3.463,2.253l-1.229-1.891l0,0c-0.447,0.109-0.917,0.173-1.406,0.173l0,0c-3.384,0-6.126-2.743-6.126-6.123l0,0c0-3.384,2.742-6.126,6.126-6.126l0,0c3.38,0,6.123,2.742,6.123,6.126l0,0c0,1.389-0.467,2.676-1.25,3.704l0,0L21.554,20.75M19.224,21.073l0.108-0.069l-0.987-1.519l0.572-0.572c0.748-0.75,1.207-1.773,1.207-2.912l0,0c-0.004-2.278-1.848-4.122-4.123-4.126l0,0c-2.28,0.004-4.122,1.846-4.126,4.126l0,0c0.004,2.275,1.848,4.119,4.126,4.123l0,0c0.509,0,0.999-0.104,1.473-0.286l0,0l0.756-0.29L19.224,21.073L19.224,21.073z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/GitHub.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/GitHub.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.GitHub();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.GitHub = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.GitHub.prototype */\n{\n\n NAME: \"draw2d.shape.icon.GitHub\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.436,15.099c-1.201-0.202-2.451-0.335-3.466-0.371l-0.179-0.006c0.041-0.09,0.072-0.151,0.082-0.16c0.022-0.018,0.04-0.094,0.042-0.168c0-0.041,0.018-0.174,0.046-0.35c0.275,0.01,0.64,0.018,1.038,0.021c1.537,0.012,3.145,0.136,4.248,0.331c0.657,0.116,0.874,0.112,0.389-0.006c-0.491-0.119-1.947-0.294-3.107-0.37c-0.779-0.053-1.896-0.073-2.554-0.062c0.019-0.114,0.041-0.241,0.064-0.371c0.093-0.503,0.124-1.009,0.126-2.016c0.002-1.562-0.082-1.992-0.591-3.025c-0.207-0.422-0.441-0.78-0.724-1.104c0.247-0.729,0.241-1.858-0.015-2.848c-0.211-0.812-0.285-0.864-1.021-0.708C22.19,4.019,21.69,4.2,21.049,4.523c-0.303,0.153-0.721,0.391-1.024,0.578c-0.79-0.278-1.607-0.462-2.479-0.561c-0.884-0.1-3.051-0.044-3.82,0.098c-0.752,0.139-1.429,0.309-2.042,0.511c-0.306-0.189-0.75-0.444-1.067-0.604C9.973,4.221,9.473,4.041,8.847,3.908c-0.734-0.157-0.81-0.104-1.02,0.708c-0.26,1.003-0.262,2.151-0.005,2.878C7.852,7.577,7.87,7.636,7.877,7.682c-1.042,1.312-1.382,2.78-1.156,4.829c0.059,0.534,0.15,1.024,0.277,1.473c-0.665-0.004-1.611,0.02-2.294,0.064c-1.162,0.077-2.618,0.25-3.109,0.369c-0.484,0.118-0.269,0.122,0.389,0.007c1.103-0.194,2.712-0.32,4.248-0.331c0.29-0.001,0.561-0.007,0.794-0.013c0.07,0.237,0.15,0.463,0.241,0.678L7.26,14.759c-1.015,0.035-2.264,0.168-3.465,0.37c-0.901,0.151-2.231,0.453-2.386,0.54c-0.163,0.091-0.03,0.071,0.668-0.106c1.273-0.322,2.928-0.569,4.978-0.741l0.229-0.02c0.44,1.022,1.118,1.802,2.076,2.41c0.586,0.373,1.525,0.756,1.998,0.816c0.13,0.016,0.508,0.094,0.84,0.172c0.333,0.078,0.984,0.195,1.446,0.262h0.011c-0.009,0.006-0.017,0.01-0.025,0.016c-0.56,0.291-0.924,0.744-1.169,1.457c-0.11,0.033-0.247,0.078-0.395,0.129c-0.529,0.18-0.735,0.217-1.271,0.221c-0.556,0.004-0.688-0.02-1.02-0.176c-0.483-0.225-0.933-0.639-1.233-1.133c-0.501-0.826-1.367-1.41-2.089-1.41c-0.617,0-0.734,0.25-0.288,0.615c0.672,0.549,1.174,1.109,1.38,1.537c0.116,0.24,0.294,0.611,0.397,0.824c0.109,0.227,0.342,0.535,0.564,0.748c0.522,0.498,1.026,0.736,1.778,0.848c0.504,0.074,0.628,0.074,1.223-0.002c0.287-0.035,0.529-0.076,0.746-0.127c0,0.244,0,0.525,0,0.855c0,1.766-0.021,2.334-0.091,2.5c-0.132,0.316-0.428,0.641-0.716,0.787c-0.287,0.146-0.376,0.307-0.255,0.455c0.067,0.08,0.196,0.094,0.629,0.066c0.822-0.051,1.403-0.355,1.699-0.891c0.095-0.172,0.117-0.518,0.147-2.318c0.032-1.953,0.046-2.141,0.173-2.42c0.077-0.166,0.188-0.346,0.25-0.395c0.104-0.086,0.111,0.084,0.111,2.42c-0.001,2.578-0.027,2.889-0.285,3.385c-0.058,0.113-0.168,0.26-0.245,0.33c-0.135,0.123-0.192,0.438-0.098,0.533c0.155,0.154,0.932-0.088,1.356-0.422c0.722-0.572,0.808-1.045,0.814-4.461l0.003-2.004l0.219,0.021l0.219,0.02l0.036,2.621c0.041,2.951,0.047,2.994,0.549,3.564c0.285,0.322,0.572,0.5,1.039,0.639c0.625,0.188,0.813-0.102,0.393-0.605c-0.457-0.547-0.479-0.756-0.454-3.994c0.017-2.076,0.017-2.076,0.151-1.955c0.282,0.256,0.336,0.676,0.336,2.623c0,2.418,0.069,2.648,0.923,3.07c0.399,0.195,0.511,0.219,1.022,0.221c0.544,0.002,0.577-0.006,0.597-0.148c0.017-0.115-0.05-0.193-0.304-0.348c-0.333-0.205-0.564-0.467-0.709-0.797c-0.055-0.127-0.092-0.959-0.117-2.672c-0.036-2.393-0.044-2.502-0.193-2.877c-0.201-0.504-0.508-0.902-0.897-1.166c-0.101-0.066-0.202-0.121-0.333-0.162c0.161-0.016,0.317-0.033,0.468-0.055c1.572-0.209,2.403-0.383,3.07-0.641c1.411-0.543,2.365-1.445,2.882-2.724c0.046-0.114,0.092-0.222,0.131-0.309l0.398,0.033c2.051,0.173,3.706,0.42,4.979,0.743c0.698,0.177,0.831,0.198,0.668,0.105C30.666,15.551,29.336,15.25,28.436,15.099zM22.422,15.068c-0.233,0.512-0.883,1.17-1.408,1.428c-0.518,0.256-1.33,0.451-2.25,0.544c-0.629,0.064-4.137,0.083-4.716,0.026c-1.917-0.188-2.991-0.557-3.783-1.296c-0.75-0.702-1.1-1.655-1.039-2.828c0.039-0.734,0.216-1.195,0.679-1.755c0.421-0.51,0.864-0.825,1.386-0.985c0.437-0.134,1.778-0.146,3.581-0.03c0.797,0.051,1.456,0.051,2.252,0c1.886-0.119,3.145-0.106,3.61,0.038c0.731,0.226,1.397,0.834,1.797,1.644c0.18,0.362,0.215,0.516,0.241,1.075C22.808,13.699,22.675,14.517,22.422,15.068zM12.912,11.762c-1.073-0.188-1.686,1.649-0.863,2.587c0.391,0.445,0.738,0.518,1.172,0.248c0.402-0.251,0.62-0.72,0.62-1.328C13.841,12.458,13.472,11.862,12.912,11.762zM19.425,11.872c-1.073-0.188-1.687,1.647-0.864,2.586c0.392,0.445,0.738,0.519,1.173,0.247c0.401-0.25,0.62-0.72,0.62-1.328C20.354,12.569,19.985,11.971,19.425,11.872zM16.539,15.484c-0.023,0.074-0.135,0.184-0.248,0.243c-0.286,0.147-0.492,0.096-0.794-0.179c-0.187-0.169-0.272-0.258-0.329-0.081c-0.053,0.164,0.28,0.493,0.537,0.594c0.236,0.094,0.405,0.097,0.661-0.01c0.254-0.106,0.476-0.391,0.476-0.576C16.842,15.303,16.595,15.311,16.539,15.484zM16.222,14.909c0.163-0.144,0.2-0.44,0.044-0.597s-0.473-0.133-0.597,0.043c-0.144,0.206-0.067,0.363,0.036,0.53C15.865,15.009,16.08,15.034,16.222,14.909z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/GitHubAlt.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/GitHubAlt.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.GitHubAlt();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.GitHubAlt = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.GitHubAlt.prototype */\n{\n\n NAME: \"draw2d.shape.icon.GitHubAlt\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M23.356,17.485c-0.004,0.007-0.007,0.013-0.01,0.021l0.162,0.005c0.107,0.004,0.218,0.01,0.33,0.016c-0.046-0.004-0.09-0.009-0.136-0.013L23.356,17.485zM15.5,1.249C7.629,1.25,1.25,7.629,1.249,15.5C1.25,23.371,7.629,29.75,15.5,29.751c7.871-0.001,14.25-6.38,14.251-14.251C29.75,7.629,23.371,1.25,15.5,1.249zM3.771,17.093c0.849-0.092,1.833-0.148,2.791-0.156c0.262,0,0.507-0.006,0.717-0.012c0.063,0.213,0.136,0.419,0.219,0.613H7.492c-0.918,0.031-2.047,0.152-3.134,0.335c-0.138,0.023-0.288,0.051-0.441,0.08C3.857,17.67,3.81,17.383,3.771,17.093zM12.196,22.224c-0.1,0.028-0.224,0.07-0.357,0.117c-0.479,0.169-0.665,0.206-1.15,0.206c-0.502,0.015-0.621-0.019-0.921-0.17C9.33,22.171,8.923,21.8,8.651,21.353c-0.453-0.746-1.236-1.275-1.889-1.275c-0.559,0-0.664,0.227-0.261,0.557c0.608,0.496,1.062,0.998,1.248,1.385c0.105,0.215,0.266,0.546,0.358,0.744c0.099,0.206,0.311,0.474,0.511,0.676c0.472,0.441,0.928,0.659,1.608,0.772c0.455,0.06,0.567,0.06,1.105-0.004c0.26-0.03,0.479-0.067,0.675-0.118v0.771c0,1.049-0.008,1.628-0.031,1.945c-1.852-0.576-3.507-1.595-4.848-2.934c-1.576-1.578-2.706-3.592-3.195-5.848c0.952-0.176,2.073-0.32,3.373-0.43l0.208-0.018c0.398,0.925,1.011,1.631,1.876,2.179c0.53,0.337,1.38,0.685,1.808,0.733c0.118,0.02,0.46,0.09,0.76,0.16c0.302,0.066,0.89,0.172,1.309,0.236h0.009c-0.007,0.018-0.014,0.02-0.022,0.02C12.747,21.169,12.418,21.579,12.196,22.224zM13.732,27.207c-0.168-0.025-0.335-0.056-0.5-0.087c0.024-0.286,0.038-0.785,0.054-1.723c0.028-1.767,0.041-1.94,0.156-2.189c0.069-0.15,0.17-0.32,0.226-0.357c0.095-0.078,0.101,0.076,0.101,2.188C13.769,26.143,13.763,26.786,13.732,27.207zM15.5,27.339c-0.148,0-0.296-0.006-0.443-0.012c0.086-0.562,0.104-1.428,0.106-2.871l0.003-1.82l0.197,0.019l0.199,0.02l0.032,2.365c0.017,1.21,0.027,1.878,0.075,2.296C15.613,27.335,15.558,27.339,15.5,27.339zM17.006,27.24c-0.039-0.485-0.037-1.243-0.027-2.553c0.019-1.866,0.019-1.866,0.131-1.769c0.246,0.246,0.305,0.623,0.305,2.373c0,0.928,0.011,1.497,0.082,1.876C17.334,27.196,17.17,27.22,17.006,27.24zM27.089,17.927c-0.155-0.029-0.307-0.057-0.446-0.08c-0.96-0.162-1.953-0.275-2.804-0.32c1.25,0.108,2.327,0.248,3.246,0.418c-0.479,2.289-1.618,4.33-3.214,5.928c-1.402,1.4-3.15,2.448-5.106,3.008c-0.034-0.335-0.058-1.048-0.066-2.212c-0.03-2.167-0.039-2.263-0.17-2.602c-0.181-0.458-0.47-0.811-0.811-1.055c-0.094-0.057-0.181-0.103-0.301-0.14c0.145-0.02,0.282-0.021,0.427-0.057c1.418-0.188,2.168-0.357,2.772-0.584c1.263-0.492,2.129-1.301,2.606-2.468c0.044-0.103,0.088-0.2,0.123-0.279l0.011,0.001c0.032-0.07,0.057-0.118,0.064-0.125c0.02-0.017,0.036-0.085,0.038-0.151c0-0.037,0.017-0.157,0.041-0.317c0.249,0.01,0.58,0.018,0.938,0.02c0.959,0.008,1.945,0.064,2.794,0.156C27.194,17.356,27.148,17.644,27.089,17.927zM25.823,16.87c-0.697-0.049-1.715-0.064-2.311-0.057c0.02-0.103,0.037-0.218,0.059-0.336c0.083-0.454,0.111-0.912,0.113-1.823c0.002-1.413-0.074-1.801-0.534-2.735c-0.188-0.381-0.399-0.705-0.655-0.998c0.225-0.659,0.207-1.68-0.02-2.575c-0.19-0.734-0.258-0.781-0.924-0.64c-0.563,0.12-1.016,0.283-1.598,0.576c-0.274,0.138-0.652,0.354-0.923,0.522c-0.715-0.251-1.451-0.419-2.242-0.508c-0.799-0.092-2.759-0.04-3.454,0.089c-0.681,0.126-1.293,0.28-1.848,0.462c-0.276-0.171-0.678-0.4-0.964-0.547C9.944,8.008,9.491,7.846,8.925,7.727c-0.664-0.144-0.732-0.095-0.922,0.64c-0.235,0.907-0.237,1.945-0.004,2.603c0.026,0.075,0.043,0.129,0.05,0.17c-0.942,1.187-1.25,2.515-1.046,4.367c0.053,0.482,0.136,0.926,0.251,1.333c-0.602-0.004-1.457,0.018-2.074,0.057c-0.454,0.031-0.957,0.076-1.418,0.129c-0.063-0.5-0.101-1.008-0.101-1.524c0-3.273,1.323-6.225,3.468-8.372c2.146-2.144,5.099-3.467,8.371-3.467c3.273,0,6.226,1.323,8.371,3.467c2.145,2.147,3.468,5.099,3.468,8.372c0,0.508-0.036,1.008-0.098,1.499C26.78,16.946,26.276,16.899,25.823,16.87z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Glasses.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Glasses.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Glasses();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Glasses = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Glasses.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Glasses\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.075,9.531c0,0-2.705-1.438-5.158-1.438c-2.453,0-4.862,0.593-4.862,0.593L3.971,9.869c0,0,0.19,0.19,0.528,0.53c0.338,0.336,0.486,3.741,1.838,5.094c1.353,1.354,4.82,1.396,5.963,0.676c1.14-0.718,2.241-3.466,2.241-4.693c0-0.38,0-0.676,0-0.676c0.274-0.275,1.615-0.303,1.917,0c0,0,0,0.296,0,0.676c0,1.227,1.101,3.975,2.241,4.693c1.144,0.72,4.611,0.678,5.963-0.676c1.355-1.353,1.501-4.757,1.839-5.094c0.338-0.34,0.528-0.53,0.528-0.53l-0.084-1.183c0,0-2.408-0.593-4.862-0.593c-2.453,0-5.158,1.438-5.158,1.438C16.319,9.292,14.737,9.32,14.075,9.531z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Globe.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Globe.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Globe();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Globe = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Globe.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Globe\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466zM19.158,23.269c-0.079,0.064-0.183,0.13-0.105,0.207c0.078,0.078-0.09,0.131-0.09,0.17s0.104,0.246,0.052,0.336c-0.052,0.092-0.091,0.223-0.13,0.301c-0.039,0.077-0.131,0.155-0.104,0.272c0.025,0.116-0.104,0.077-0.104,0.194c0,0.116,0.116,0.065,0.09,0.208c-0.025,0.144-0.09,0.183-0.09,0.285c0,0.104,0.064,0.247,0.064,0.286s-0.064,0.17-0.155,0.272c-0.092,0.104-0.155,0.17-0.144,0.233c0.014,0.065,0.104,0.144,0.091,0.184c-0.013,0.037-0.129,0.168-0.116,0.259c0.014,0.09,0.129,0.053,0.155,0.116c0.026,0.065-0.155,0.118-0.078,0.183c0.078,0.064,0.183,0.051,0.156,0.208c-0.019,0.112,0.064,0.163,0.126,0.198c-0.891,0.221-1.818,0.352-2.777,0.352C9.639,27.533,4.466,22.36,4.466,16c0-2.073,0.557-4.015,1.518-5.697c0.079-0.042,0.137-0.069,0.171-0.062c0.065,0.013,0.079,0.104,0.183,0.13c0.104,0.026,0.195-0.078,0.26-0.117c0.064-0.039,0.116-0.195,0.051-0.182c-0.065,0.013-0.234,0-0.234,0s0.183-0.104,0.183-0.169s0.025-0.169,0.129-0.208C6.83,9.655,6.83,9.681,6.765,9.837C6.7,9.993,6.896,9.928,6.973,9.863s0.13-0.013,0.272-0.104c0.143-0.091,0.143-0.143,0.221-0.143c0.078,0,0.221,0.143,0.299,0.091c0.077-0.052,0.299,0.065,0.429,0.065c0.129,0,0.545,0.169,0.624,0.169c0.078,0,0.312,0.09,0.325,0.259c0.013,0.169,0.09,0.156,0.168,0.156s0.26,0.065,0.26,0.13c0,0.065-0.052,0.325,0.078,0.39c0.129,0.064,0.247,0.169,0.299,0.143c0.052-0.026,0-0.233-0.064-0.26c-0.065-0.026-0.027-0.117-0.052-0.169c-0.026-0.051,0.078-0.051,0.117,0.039c0.039,0.091,0.143,0.26,0.208,0.26c0.064,0,0.208,0.156,0.168,0.247c-0.039,0.091,0.039,0.221,0.156,0.221c0.116,0,0.26,0.182,0.312,0.195c0.052,0.013,0.117,0.078,0.117,0.117c0,0.04,0.065,0.26,0.065,0.351c0,0.09-0.04,0.454-0.053,0.597s0.104,0.39,0.234,0.52c0.129,0.13,0.246,0.377,0.324,0.429c0.079,0.052,0.13,0.195,0.247,0.182c0.117-0.013,0.195,0.078,0.299,0.26c0.104,0.182,0.208,0.48,0.286,0.506c0.078,0.026,0.208,0.117,0.142,0.182c-0.064,0.064-0.168,0.208-0.051,0.208c0.117,0,0.156-0.065,0.247,0.053c0.09,0.116,0.208,0.181,0.194,0.26c-0.013,0.077,0.104,0.103,0.156,0.116c0.052,0.013,0.169,0.247,0.286,0.143c0.117-0.104-0.155-0.259-0.234-0.326c-0.078-0.064,0-0.207-0.182-0.35c-0.182-0.143-0.156-0.247-0.286-0.351c-0.13-0.104-0.233-0.195-0.104-0.286c0.13-0.091,0.143,0.091,0.195,0.208c0.052,0.116,0.324,0.351,0.441,0.454c0.117,0.104,0.326,0.468,0.39,0.468s0.247,0.208,0.247,0.208s0.103,0.168,0.064,0.22c-0.039,0.052,0.053,0.247,0.144,0.299c0.09,0.052,0.455,0.22,0.507,0.247c0.052,0.027,0.155,0.221,0.299,0.221c0.142,0,0.247,0.014,0.286,0.053c0.039,0.038,0.155,0.194,0.234,0.104c0.078-0.092,0.09-0.131,0.208-0.131c0.117,0,0.168,0.091,0.233,0.156c0.065,0.065,0.247,0.235,0.338,0.222c0.091-0.013,0.208,0.104,0.273,0.064s0.169,0.025,0.22,0.052c0.054,0.026,0.234,0.118,0.222,0.272c-0.013,0.157,0.103,0.195,0.182,0.234c0.078,0.039,0.182,0.13,0.248,0.195c0.064,0.063,0.206,0.077,0.246,0.116c0.039,0.039,0.065,0.117,0.182,0.052c0.116-0.064,0.092-0.181,0.092-0.181s0.129-0.026,0.194,0.026c0.064,0.05,0.104,0.22,0.144,0.246c0.038,0.026,0.115,0.221,0.063,0.362c-0.051,0.145-0.038,0.286-0.091,0.286c-0.052,0-0.116,0.17-0.195,0.209c-0.076,0.039-0.285,0.221-0.272,0.286c0.013,0.063,0.131,0.258,0.104,0.35c-0.025,0.091-0.194,0.195-0.154,0.338c0.038,0.144,0.312,0.183,0.323,0.312c0.014,0.131,0.209,0.417,0.235,0.546c0.025,0.13,0.246,0.272,0.246,0.453c0,0.184,0.312,0.3,0.377,0.312c0.063,0.013,0.182,0.131,0.272,0.17s0.169,0.116,0.233,0.221s0.053,0.261,0.053,0.299c0,0.039-0.039,0.44-0.078,0.674C19.145,23.021,19.235,23.203,19.158,23.269zM10.766,11.188c0.039,0.013,0.117,0.091,0.156,0.091c0.04,0,0.234,0.156,0.286,0.208c0.053,0.052,0.053,0.195-0.013,0.208s-0.104-0.143-0.117-0.208c-0.013-0.065-0.143-0.065-0.208-0.104C10.805,11.344,10.66,11.152,10.766,11.188zM27.51,16.41c-0.144,0.182-0.13,0.272-0.195,0.286c-0.064,0.013,0.065,0.065,0.09,0.194c0.022,0.112-0.065,0.224,0.063,0.327c-0.486,4.619-3.71,8.434-8.016,9.787c-0.007-0.011-0.019-0.025-0.021-0.034c-0.027-0.078-0.027-0.233,0.064-0.285c0.091-0.053,0.312-0.233,0.363-0.272c0.052-0.04,0.13-0.221,0.091-0.247c-0.038-0.026-0.232,0-0.26-0.039c-0.026-0.039-0.026-0.092,0.104-0.182c0.13-0.091,0.195-0.222,0.247-0.26c0.052-0.039,0.155-0.117,0.195-0.209c0.038-0.09-0.041-0.039-0.118-0.039s-0.117-0.142-0.117-0.207s0.195,0.026,0.339,0.052c0.143,0.024,0.077-0.065,0.064-0.142c-0.013-0.078,0.026-0.209,0.105-0.17c0.076,0.039,0.479-0.013,0.531-0.026c0.052-0.013,0.194-0.246,0.246-0.312c0.053-0.065,0.064-0.129,0-0.168c-0.065-0.04-0.143-0.184-0.168-0.221c-0.026-0.041-0.039-0.274-0.013-0.34c0.025-0.063,0,0.377,0.181,0.43c0.183,0.052,0.286,0.078,0.455-0.078c0.169-0.155,0.298-0.26,0.312-0.363c0.013-0.104,0.052-0.209,0.117-0.246c0.065-0.039,0.104,0.103,0.182-0.065c0.078-0.17,0.156-0.157,0.234-0.299c0.077-0.144-0.13-0.325,0.024-0.43c0.157-0.103,0.43-0.233,0.43-0.233s0.078-0.039,0.234-0.078c0.155-0.038,0.324-0.014,0.376-0.09c0.052-0.079,0.104-0.247,0.182-0.338c0.079-0.092,0.169-0.234,0.13-0.299c-0.039-0.065,0.104-0.352,0.091-0.429c-0.013-0.078-0.13-0.261,0.065-0.416s0.402-0.391,0.416-0.454c0.012-0.065,0.169-0.338,0.154-0.469c-0.012-0.129-0.154-0.285-0.245-0.325c-0.092-0.037-0.286-0.05-0.364-0.154s-0.299-0.208-0.377-0.182c-0.077,0.026-0.208,0.051-0.312-0.015c-0.104-0.063-0.272-0.143-0.337-0.194c-0.066-0.051-0.234-0.09-0.312-0.09s-0.065-0.053-0.182,0.103c-0.117,0.157,0,0.209-0.208,0.182c-0.209-0.024,0.025-0.038,0.144-0.194c0.115-0.155-0.014-0.247-0.144-0.207c-0.13,0.039-0.039,0.117-0.247,0.156c-0.207,0.038-0.207-0.092-0.077-0.117c0.13-0.026,0.363-0.143,0.363-0.194c0-0.053-0.026-0.196-0.13-0.196s-0.078-0.129-0.233-0.297c-0.156-0.17-0.351-0.274-0.508-0.249c-0.154,0.026-0.272,0.065-0.35-0.076c-0.078-0.144-0.169-0.17-0.222-0.247c-0.051-0.078-0.182,0-0.221-0.039s-0.039-0.039-0.039-0.039s-0.169,0.039-0.077-0.078c0.09-0.117,0.129-0.338,0.09-0.325c-0.038,0.013-0.104,0.196-0.168,0.183c-0.064-0.013-0.014-0.04-0.144-0.117c-0.13-0.078-0.337-0.013-0.337,0.052c0,0.065-0.065,0.117-0.065,0.117s-0.039-0.038-0.078-0.117c-0.039-0.078-0.221-0.091-0.312-0.013c-0.09,0.078-0.142-0.196-0.207-0.196s-0.194,0.065-0.26,0.184c-0.064,0.116-0.038,0.285-0.092,0.272c-0.05-0.013-0.063-0.233-0.05-0.312c0.012-0.079,0.155-0.208,0.05-0.234c-0.103-0.026-0.259,0.13-0.323,0.143c-0.065,0.013-0.195,0.104-0.273,0.209c-0.077,0.103-0.116,0.168-0.195,0.207c-0.077,0.039-0.193,0-0.167-0.039c0.025-0.039-0.222-0.181-0.261-0.13c-0.04,0.052-0.155,0.091-0.272,0.144c-0.117,0.052-0.222-0.065-0.247-0.117s-0.079-0.064-0.091-0.234c-0.013-0.168,0.027-0.351,0.065-0.454c0.038-0.104-0.195-0.312-0.286-0.3c-0.091,0.015-0.182,0.105-0.272,0.091c-0.092-0.012-0.052-0.038-0.195-0.038c-0.143,0-0.026-0.025,0-0.143c0.025-0.116-0.052-0.273,0.092-0.377c0.142-0.104,0.091-0.351,0-0.363c-0.092-0.014-0.261,0.039-0.377,0.026c-0.116-0.014-0.208,0.091-0.169,0.207c0.039,0.117-0.065,0.195-0.104,0.183c-0.039-0.013-0.09-0.078-0.234,0.026c-0.142,0.103-0.194,0.064-0.337-0.052c-0.143-0.118-0.299-0.234-0.325-0.416c-0.026-0.182-0.04-0.364,0.013-0.468c0.051-0.104,0.051-0.285-0.026-0.312c-0.078-0.025,0.09-0.155,0.181-0.181c0.092-0.026,0.234-0.143,0.26-0.195c0.026-0.052,0.156-0.04,0.298-0.04c0.143,0,0.169,0,0.312,0.078c0.143,0.078,0.169-0.039,0.169-0.078c0-0.039,0.052-0.117,0.208-0.104c0.156,0.013,0.376-0.052,0.416-0.013s0.116,0.195,0.194,0.143c0.079-0.051,0.104-0.143,0.131,0.014c0.025,0.155,0.09,0.39,0.208,0.429c0.116,0.039,0.052,0.194,0.168,0.207c0.115,0.013,0.17-0.246,0.131-0.337c-0.04-0.09-0.118-0.363-0.183-0.428c-0.064-0.065-0.064-0.234,0.064-0.286c0.13-0.052,0.442-0.312,0.532-0.389c0.092-0.079,0.338-0.144,0.261-0.248c-0.078-0.104-0.104-0.168-0.104-0.247s0.078-0.052,0.117,0s0.194-0.078,0.155-0.143c-0.038-0.064-0.026-0.155,0.065-0.143c0.091,0.013,0.116-0.065,0.078-0.117c-0.039-0.052,0.091-0.117,0.182-0.091c0.092,0.026,0.325-0.013,0.364-0.065c0.038-0.052-0.078-0.104-0.078-0.208c0-0.104,0.155-0.195,0.247-0.208c0.091-0.013,0.207,0,0.221-0.039c0.012-0.039,0.143-0.143,0.155-0.052c0.014,0.091,0,0.247,0.104,0.247c0.104,0,0.232-0.117,0.272-0.129c0.038-0.013,0.286-0.065,0.338-0.078c0.052-0.013,0.363-0.039,0.325-0.13c-0.039-0.09-0.078-0.181-0.118-0.22c-0.039-0.039-0.077,0.013-0.13,0.078c-0.051,0.065-0.143,0.065-0.168,0.013c-0.026-0.051,0.012-0.207-0.078-0.156c-0.092,0.052-0.104,0.104-0.157,0.078c-0.052-0.026-0.103-0.117-0.103-0.117s0.129-0.064,0.038-0.182c-0.09-0.117-0.221-0.091-0.35-0.025c-0.13,0.064-0.118,0.051-0.273,0.09s-0.234,0.078-0.234,0.078s0.209-0.129,0.299-0.208c0.091-0.078,0.209-0.117,0.286-0.195c0.078-0.078,0.285,0.039,0.285,0.039s0.105-0.104,0.105-0.039s-0.027,0.234,0.051,0.234c0.079,0,0.299-0.104,0.21-0.131c-0.093-0.026,0.129,0,0.219-0.065c0.092-0.065,0.194-0.065,0.247-0.09c0.052-0.026,0.092-0.143,0.182-0.143c0.092,0,0.13,0.117,0,0.195s-0.143,0.273-0.208,0.325c-0.064,0.052-0.026,0.117,0.078,0.104c0.104-0.013,0.194,0.013,0.286-0.013s0.143,0.026,0.168,0.065c0.026,0.039,0.104-0.039,0.104-0.039s0.169-0.039,0.221,0.026c0.053,0.064,0.092-0.039,0.053-0.104c-0.039-0.064-0.092-0.129-0.13-0.208c-0.039-0.078-0.091-0.104-0.194-0.078c-0.104,0.026-0.13-0.026-0.195-0.064c-0.065-0.04-0.118,0.052-0.065-0.04c0.053-0.09,0.078-0.117,0.117-0.195c0.039-0.078,0.209-0.221,0.039-0.259c-0.169-0.04-0.222-0.065-0.247-0.143c-0.026-0.078-0.221-0.221-0.272-0.221c-0.053,0-0.233,0-0.247-0.065c-0.013-0.065-0.143-0.208-0.208-0.273c-0.064-0.065-0.312-0.351-0.351-0.377c-0.039-0.026-0.091-0.013-0.208,0.143c-0.116,0.157-0.22,0.183-0.312,0.144c-0.091-0.039-0.104-0.026-0.193-0.13c-0.093-0.104,0.09-0.117,0.051-0.182c-0.04-0.064-0.247-0.091-0.377-0.104c-0.13-0.013-0.221-0.156-0.416-0.169c-0.194-0.013-0.428,0.026-0.493,0.026c-0.064,0-0.064,0.091-0.09,0.234c-0.027,0.143,0.09,0.182-0.027,0.208c-0.116,0.026-0.169,0.039-0.052,0.091c0.117,0.052,0.273,0.26,0.273,0.26s0,0.117-0.092,0.182c-0.09,0.065-0.182,0.13-0.233,0.053c-0.053-0.079-0.195-0.065-0.155,0.013c0.038,0.078,0.116,0.117,0.116,0.195c0,0.077,0.117,0.272,0.039,0.337c-0.078,0.065-0.168,0.014-0.233,0.026s-0.131-0.104-0.078-0.13c0.051-0.026-0.014-0.221-0.014-0.221s-0.155,0.221-0.143,0.104c0.014-0.117-0.064-0.13-0.064-0.221c0-0.091-0.079-0.13-0.194-0.104c-0.118,0.026-0.26-0.04-0.482-0.079c-0.22-0.039-0.311-0.064-0.493-0.156c-0.182-0.091-0.247-0.026-0.338-0.013c-0.091,0.013-0.052-0.182-0.169-0.207c-0.116-0.027-0.181,0.025-0.207-0.144c-0.026-0.168,0.039-0.208,0.324-0.39c0.286-0.182,0.247-0.26,0.468-0.286c0.22-0.026,0.325,0.026,0.325-0.039s0.052-0.325,0.052-0.195S16.95,9.109,16.832,9.2c-0.116,0.091-0.052,0.104,0.04,0.104c0.091,0,0.259-0.091,0.259-0.091s0.208-0.091,0.26-0.013c0.053,0.078,0.053,0.156,0.144,0.156s0.285-0.104,0.116-0.195c-0.168-0.091-0.272-0.078-0.376-0.182s-0.078-0.065-0.195-0.039c-0.116,0.026-0.116-0.039-0.156-0.039s-0.104,0.026-0.13-0.026c-0.025-0.052,0.014-0.065,0.145-0.065c0.129,0,0.285,0.039,0.285,0.039s0.155-0.052,0.194-0.065c0.039-0.013,0.247-0.039,0.208-0.155c-0.04-0.117-0.169-0.117-0.208-0.156s0.078-0.09,0.143-0.117c0.065-0.026,0.247,0,0.247,0s0.117,0.013,0.117-0.039S17.897,8.2,17.976,8.239s0,0.156,0.117,0.13c0.116-0.026,0.143,0,0.207,0.039c0.065,0.039-0.013,0.195-0.077,0.221c-0.065,0.025-0.169,0.077-0.026,0.09c0.144,0.014,0.246,0.014,0.246,0.014s0.092-0.091,0.131-0.169c0.038-0.078,0.104-0.026,0.155,0c0.052,0.025,0.247,0.065,0.065,0.117c-0.183,0.052-0.221,0.117-0.26,0.182c-0.038,0.065-0.053,0.104-0.221,0.065c-0.17-0.039-0.26-0.026-0.299,0.039c-0.039,0.064-0.013,0.273,0.053,0.247c0.063-0.026,0.129-0.026,0.207-0.052c0.078-0.026,0.39,0.026,0.467,0.013c0.078-0.013,0.209,0.13,0.248,0.104c0.039-0.026,0.117,0.052,0.194,0.104c0.078,0.052,0.052-0.117,0.194-0.013c0.144,0.104,0.065,0.104,0.144,0.104c0.076,0,0.246,0.013,0.246,0.013s0.014-0.129,0.144-0.104c0.13,0.026,0.245,0.169,0.232,0.064c-0.012-0.103,0.013-0.181-0.09-0.259c-0.104-0.078-0.272-0.13-0.299-0.169c-0.026-0.039-0.052-0.091-0.013-0.117c0.039-0.025,0.221,0.013,0.324,0.079c0.104,0.065,0.195,0.13,0.273,0.078c0.077-0.052,0.17-0.078,0.208-0.117c0.038-0.04,0.13-0.156,0.13-0.156s-0.391-0.051-0.441-0.117c-0.053-0.065-0.235-0.156-0.287-0.156s-0.194,0.091-0.246-0.039s-0.052-0.286-0.105-0.299c-0.05-0.013-0.597-0.091-0.674-0.13c-0.078-0.039-0.39-0.13-0.507-0.195s-0.286-0.156-0.389-0.156c-0.104,0-0.533,0.052-0.611,0.039c-0.078-0.013-0.312,0.026-0.403,0.039c-0.091,0.013,0.117,0.182-0.077,0.221c-0.195,0.039-0.169,0.065-0.13-0.13c0.038-0.195-0.131-0.247-0.299-0.169c-0.169,0.078-0.442,0.13-0.377,0.221c0.065,0.091-0.012,0.157,0.117,0.247c0.13,0.091,0.183,0.117,0.35,0.104c0.17-0.013,0.339,0.025,0.339,0.025s0,0.157-0.064,0.182c-0.065,0.026-0.169,0.026-0.196,0.104c-0.025,0.078-0.155,0.117-0.155,0.078s0.065-0.169-0.026-0.234c-0.09-0.065-0.117-0.078-0.221-0.013c-0.104,0.065-0.116,0.091-0.169-0.013C16.053,8.291,15.897,8.2,15.897,8.2s-0.104-0.129-0.182-0.194c-0.077-0.065-0.22-0.052-0.234,0.013c-0.013,0.064,0.026,0.129,0.078,0.247c0.052,0.117,0.104,0.337,0.013,0.351c-0.091,0.013-0.104,0.026-0.195,0.052c-0.091,0.026-0.13-0.039-0.13-0.143s-0.04-0.195-0.013-0.234c0.026-0.039-0.104,0.027-0.234,0c-0.13-0.025-0.233,0.052-0.104,0.092c0.13,0.039,0.157,0.194,0.039,0.233c-0.117,0.039-0.559,0-0.702,0s-0.35,0.039-0.39-0.039c-0.039-0.078,0.118-0.129,0.208-0.129c0.091,0,0.363,0.012,0.467-0.13c0.104-0.143-0.13-0.169-0.233-0.169c-0.104,0-0.183-0.039-0.299-0.155c-0.118-0.117,0.078-0.195,0.052-0.247c-0.026-0.052-0.156-0.014-0.272-0.014c-0.117,0-0.299-0.09-0.299,0.014c0,0.104,0.143,0.402,0.052,0.337c-0.091-0.064-0.078-0.156-0.143-0.234c-0.065-0.078-0.168-0.065-0.299-0.052c-0.129,0.013-0.35,0.052-0.415,0.039c-0.064-0.013-0.013-0.013-0.156-0.078c-0.142-0.065-0.208-0.052-0.312-0.117C12.091,7.576,12.182,7.551,12,7.538c-0.181-0.013-0.168,0.09-0.35,0.065c-0.182-0.026-0.234,0.013-0.416,0c-0.182-0.013-0.272-0.026-0.299,0.065c-0.025,0.091-0.078,0.247-0.156,0.247c-0.077,0-0.169,0.091,0.078,0.104c0.247,0.013,0.105,0.129,0.325,0.117c0.221-0.013,0.416-0.013,0.468-0.117c0.052-0.104,0.091-0.104,0.117-0.065c0.025,0.039,0.22,0.272,0.22,0.272s0.131,0.104,0.183,0.13c0.051,0.026-0.052,0.143-0.156,0.078c-0.104-0.065-0.299-0.051-0.377-0.116c-0.078-0.065-0.429-0.065-0.52-0.052c-0.09,0.013-0.247-0.039-0.299-0.039c-0.051,0-0.221,0.13-0.221,0.13S10.532,8.252,10.494,8.2c-0.039-0.052-0.104,0.052-0.156,0.065c-0.052,0.013-0.208-0.104-0.364-0.052C9.818,8.265,9.87,8.317,9.649,8.304s-0.272-0.052-0.35-0.039C9.22,8.278,9.22,8.278,9.22,8.278S9.233,8.33,9.143,8.382C9.052,8.434,8.986,8.499,8.921,8.421C8.857,8.343,8.818,8.343,8.779,8.33c-0.04-0.013-0.118-0.078-0.286-0.04C8.324,8.33,8.064,8.239,8.013,8.239c-0.04,0-0.313-0.015-0.491-0.033c2.109-2.292,5.124-3.74,8.478-3.74c2.128,0,4.117,0.589,5.83,1.598c-0.117,0.072-0.319,0.06-0.388,0.023c-0.078-0.043-0.158-0.078-0.475-0.061c-0.317,0.018-0.665,0.122-0.595,0.226c0.072,0.104-0.142,0.165-0.197,0.113c-0.055-0.052-0.309,0.06-0.293,0.165c0.016,0.104-0.039,0.225-0.175,0.199c-0.134-0.027-0.229,0.06-0.237,0.146c-0.007,0.087-0.309,0.147-0.332,0.147c-0.024,0-0.412-0.008-0.27,0.095c0.097,0.069,0.15,0.027,0.27,0.052c0.119,0.026,0.214,0.217,0.277,0.243c0.062,0.026,0.15,0,0.189-0.052c0.04-0.052,0.095-0.234,0.095-0.234s0,0.173,0.097,0.208c0.095,0.035,0.331-0.026,0.395-0.017c0.064,0.008,0.437,0.061,0.538,0.112c0.104,0.052,0.356,0.087,0.428,0.199c0.071,0.113,0.08,0.503,0.119,0.546c0.04,0.043,0.174-0.139,0.205-0.182c0.031-0.044,0.198-0.018,0.254,0.042c0.056,0.061,0.182,0.208,0.175,0.269C21.9,8.365,21.877,8.459,21.83,8.425c-0.048-0.034-0.127-0.025-0.096-0.095c0.032-0.069,0.048-0.217-0.015-0.217c-0.064,0-0.119,0-0.119,0s-0.12-0.035-0.199,0.095s-0.015,0.26,0.04,0.26s0.184,0,0.184,0.034c0,0.035-0.136,0.139-0.128,0.2c0.009,0.061,0.11,0.268,0.144,0.312c0.031,0.043,0.197,0.086,0.244,0.096c0.049,0.008-0.111,0.017-0.07,0.077c0.04,0.061,0.102,0.208,0.189,0.243c0.087,0.035,0.333,0.19,0.363,0.26c0.032,0.069,0.222-0.052,0.262-0.061c0.04-0.008,0.032,0.182,0.143,0.191c0.11,0.008,0.15-0.018,0.245-0.096s0.072-0.182,0.079-0.26c0.009-0.078,0-0.138,0.104-0.113c0.104,0.026,0.158-0.018,0.15-0.104c-0.008-0.087-0.095-0.191,0.07-0.217c0.167-0.026,0.254-0.138,0.357-0.138c0.103,0,0.389,0.043,0.419,0c0.032-0.043,0.167-0.243,0.254-0.251c0.067-0.007,0.224-0.021,0.385-0.042c1.582,1.885,2.561,4.284,2.673,6.905c-0.118,0.159-0.012,0.305,0.021,0.408c0.001,0.03,0.005,0.058,0.005,0.088c0,0.136-0.016,0.269-0.021,0.404C27.512,16.406,27.512,16.408,27.51,16.41zM17.794,12.084c-0.064,0.013-0.169-0.052-0.169-0.143s-0.091,0.169-0.04,0.247c0.053,0.078-0.104,0.169-0.155,0.169s-0.091-0.116-0.078-0.233c0.014-0.117-0.077-0.221-0.221-0.208c-0.143,0.014-0.208,0.13-0.259,0.169c-0.053,0.039-0.053,0.259-0.04,0.312s0.013,0.235-0.116,0.221c-0.118-0.013-0.092-0.233-0.079-0.312c0.014-0.078-0.039-0.273,0.014-0.376c0.053-0.104,0.207-0.143,0.312-0.156s0.324,0.065,0.363,0.052c0.04-0.014,0.222-0.014,0.312,0C17.729,11.837,17.858,12.071,17.794,12.084zM18.027,12.123c0.04,0.026,0.311-0.039,0.364,0.026c0.051,0.065-0.054,0.078-0.183,0.13c-0.129,0.052-0.169,0.039-0.221,0.104s-0.221,0.09-0.299,0.168c-0.078,0.079-0.217,0.125-0.246,0.065c-0.04-0.078,0.013-0.039,0.025-0.078c0.013-0.039,0.245-0.129,0.245-0.129S17.988,12.097,18.027,12.123zM16.988,11.668c-0.038,0.013-0.182-0.026-0.3-0.026c-0.116,0-0.091-0.078-0.143-0.064c-0.051,0.013-0.168,0.039-0.247,0.078c-0.078,0.039-0.208,0.03-0.208-0.04c0-0.104,0.052-0.078,0.221-0.143c0.169-0.065,0.352-0.247,0.429-0.169c0.078,0.078,0.221,0.169,0.312,0.182C17.144,11.5,17.026,11.655,16.988,11.668zM15.659,7.637c-0.079,0.026-0.347,0.139-0.321,0.199c0.01,0.023,0.078,0.069,0.19,0.052c0.113-0.018,0.276-0.035,0.355-0.043c0.078-0.009,0.095-0.139,0.009-0.147C15.805,7.689,15.736,7.611,15.659,7.637zM14.698,7.741c-0.061,0.026-0.243-0.043-0.338,0.018c-0.061,0.038-0.026,0.164,0.07,0.172c0.095,0.009,0.259-0.06,0.276-0.008c0.018,0.052,0.078,0.286,0.234,0.208c0.156-0.078,0.147-0.147,0.19-0.156c0.043-0.009-0.008-0.199-0.078-0.243C14.983,7.689,14.758,7.715,14.698,7.741zM14.385,7.005c0.017,0.044-0.008,0.078,0.113,0.095c0.121,0.018,0.173,0.035,0.243,0.035c0.069,0,0.042-0.113-0.018-0.19c-0.061-0.078-0.043-0.069-0.199-0.113c-0.156-0.043-0.312-0.043-0.416-0.035c-0.104,0.009-0.217-0.017-0.243,0.104c-0.013,0.062,0.07,0.112,0.174,0.112S14.368,6.962,14.385,7.005zM14.611,7.481c0.043,0.095,0.043,0.051,0.165,0.061C14.896,7.551,14.991,7.421,15,7.378c0.009-0.044-0.061-0.13-0.225-0.113c-0.165,0.017-0.667-0.026-0.736,0.034c-0.066,0.058,0,0.233-0.026,0.251c-0.026,0.017,0.009,0.095,0.077,0.078c0.069-0.017,0.104-0.182,0.157-0.182C14.299,7.447,14.568,7.386,14.611,7.481zM12.982,7.126c0.052,0.043,0.183,0.008,0.173-0.035c-0.008-0.043,0.053-0.217-0.051-0.225C13,6.858,12.854,6.962,12.697,7.014c-0.101,0.033-0.078,0.13-0.009,0.13S12.931,7.083,12.982,7.126zM13.72,7.282c-0.087,0.043-0.114,0.069-0.191,0.052c-0.078-0.017-0.078-0.156-0.217-0.13c-0.138,0.026-0.164,0.104-0.207,0.139s-0.139,0.061-0.173,0.043c-0.034-0.017-0.234-0.129-0.234-0.129s-0.416-0.018-0.433-0.07c-0.017-0.052-0.086-0.138-0.277-0.121s-0.52,0.13-0.572,0.13c-0.052,0,0.062,0.104-0.009,0.104c-0.069,0-0.155-0.008-0.181,0.069c-0.018,0.053,0.078,0.052,0.189,0.052c0.112,0,0.295,0,0.347-0.026c0.052-0.026,0.312-0.087,0.303-0.009c-0.009,0.079,0.104,0.199,0.164,0.182c0.061-0.017,0.183-0.13,0.243-0.086c0.061,0.043,0.07,0.146,0.13,0.173c0.061,0.025,0.226,0.025,0.304,0c0.077-0.027,0.294-0.027,0.389-0.009c0.095,0.018,0.373,0.069,0.399,0.018c0.026-0.053,0.104-0.061,0.112-0.113s0.051-0.216,0.051-0.216S13.806,7.239,13.72,7.282zM18.105,16.239c-0.119,0.021-0.091,0.252,0.052,0.21C18.3,16.407,18.223,16.217,18.105,16.239zM19.235,15.929c-0.104-0.026-0.221,0-0.299,0.013c-0.078,0.013-0.299,0.208-0.299,0.208s0.143,0.026,0.233,0.026c0.092,0,0.144,0.051,0.221,0.09c0.078,0.04,0.221-0.052,0.272-0.052c0.053,0,0.118,0.156,0.131-0.013C19.508,16.032,19.339,15.955,19.235,15.929zM15.616,7.507c-0.043-0.104-0.259-0.139-0.304-0.035C15.274,7.563,15.659,7.611,15.616,7.507zM18.093,15.292c0.143-0.026,0.064-0.144-0.053-0.13C17.922,15.175,17.949,15.318,18.093,15.292zM19.82,16.095c-0.119,0.022-0.092,0.253,0.051,0.211C20.015,16.264,19.937,16.074,19.82,16.095zM18.247,15.708c-0.09,0.013-0.285-0.09-0.389-0.182c-0.104-0.091-0.299-0.091-0.377-0.091c-0.077,0-0.39,0.091-0.39,0.091c-0.013,0.13,0.117,0.091,0.273,0.091s0.429-0.026,0.479,0.039c0.053,0.064,0.286,0.168,0.352,0.221c0.064,0.052,0.272,0.065,0.285,0.013S18.338,15.695,18.247,15.708zM16.698,7.412c-0.13-0.009-0.295-0.009-0.399,0c-0.104,0.008-0.182-0.069-0.26-0.113c-0.077-0.043-0.251-0.182-0.354-0.199c-0.104-0.017-0.086-0.017-0.303-0.069c-0.11-0.027-0.294-0.061-0.294-0.086c0-0.026-0.052,0.121,0.043,0.165c0.095,0.043,0.251,0.121,0.363,0.164c0.114,0.043,0.329,0.052,0.399,0.139c0.069,0.086,0.303,0.156,0.303,0.156l0.277,0.026c0,0,0.191-0.043,0.39-0.026c0.199,0.017,0.493,0.043,0.659,0.035c0.163-0.008,0.189-0.061,0.208-0.095c0.016-0.035-0.304-0.104-0.383-0.095C17.271,7.42,16.827,7.42,16.698,7.412zM17.182,9.404c-0.034,0.039,0.157,0.095,0.191,0.043C17.407,9.396,17.271,9.309,17.182,9.404zM17.764,9.585c0.086-0.035,0.043-0.139-0.079-0.104C17.547,9.521,17.676,9.62,17.764,9.585z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/GlobeAlt.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/GlobeAlt.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.GlobeAlt();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.GlobeAlt = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.GlobeAlt.prototype */\n{\n\n NAME: \"draw2d.shape.icon.GlobeAlt\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466zM27.436,17.39c0.001,0.002,0.004,0.002,0.005,0.004c-0.022,0.187-0.054,0.37-0.085,0.554c-0.015-0.012-0.034-0.025-0.047-0.036c-0.103-0.09-0.254-0.128-0.318-0.115c-0.157,0.032,0.229,0.305,0.267,0.342c0.009,0.009,0.031,0.03,0.062,0.058c-1.029,5.312-5.709,9.338-11.319,9.338c-4.123,0-7.736-2.18-9.776-5.441c0.123-0.016,0.24-0.016,0.28-0.076c0.051-0.077,0.102-0.241,0.178-0.331c0.077-0.089,0.165-0.229,0.127-0.292c-0.039-0.064,0.101-0.344,0.088-0.419c-0.013-0.076-0.127-0.256,0.064-0.407s0.394-0.382,0.407-0.444c0.012-0.063,0.166-0.331,0.152-0.458c-0.012-0.127-0.152-0.28-0.24-0.318c-0.09-0.037-0.28-0.05-0.356-0.151c-0.077-0.103-0.292-0.203-0.368-0.178c-0.076,0.025-0.204,0.05-0.305-0.015c-0.102-0.062-0.267-0.139-0.33-0.189c-0.065-0.05-0.229-0.088-0.305-0.088c-0.077,0-0.065-0.052-0.178,0.101c-0.114,0.153,0,0.204-0.204,0.177c-0.204-0.023,0.025-0.036,0.141-0.189c0.113-0.152-0.013-0.242-0.141-0.203c-0.126,0.038-0.038,0.115-0.241,0.153c-0.203,0.036-0.203-0.09-0.076-0.115s0.355-0.139,0.355-0.19c0-0.051-0.025-0.191-0.127-0.191s-0.077-0.126-0.229-0.291c-0.092-0.101-0.196-0.164-0.299-0.204c-0.09-0.579-0.15-1.167-0.15-1.771c0-2.844,1.039-5.446,2.751-7.458c0.024-0.02,0.048-0.034,0.069-0.036c0.084-0.009,0.31-0.025,0.51-0.059c0.202-0.034,0.418-0.161,0.489-0.153c0.069,0.008,0.241,0.008,0.186-0.042C8.417,8.2,8.339,8.082,8.223,8.082S8.215,7.896,8.246,7.896c0.03,0,0.186,0.025,0.178,0.11C8.417,8.091,8.471,8.2,8.625,8.167c0.156-0.034,0.132-0.162,0.102-0.195C8.695,7.938,8.672,7.853,8.642,7.794c-0.031-0.06-0.023-0.136,0.14-0.153C8.944,7.625,9.168,7.708,9.16,7.573s0-0.28,0.046-0.356C9.253,7.142,9.354,7.09,9.299,7.065C9.246,7.04,9.176,7.099,9.121,6.972c-0.054-0.127,0.047-0.22,0.108-0.271c0.02-0.015,0.067-0.06,0.124-0.112C11.234,5.257,13.524,4.466,16,4.466c3.213,0,6.122,1.323,8.214,3.45c-0.008,0.022-0.01,0.052-0.031,0.056c-0.077,0.013-0.166,0.063-0.179-0.051c-0.013-0.114-0.013-0.331-0.102-0.203c-0.089,0.127-0.127,0.127-0.127,0.191c0,0.063,0.076,0.127,0.051,0.241C23.8,8.264,23.8,8.341,23.84,8.341c0.036,0,0.126-0.115,0.239-0.141c0.116-0.025,0.319-0.088,0.332,0.026c0.013,0.115,0.139,0.152,0.013,0.203c-0.128,0.051-0.267,0.026-0.293-0.051c-0.025-0.077-0.114-0.077-0.203-0.013c-0.088,0.063-0.279,0.292-0.279,0.292s-0.306,0.139-0.343,0.114c-0.04-0.025,0.101-0.165,0.203-0.228c0.102-0.064,0.178-0.204,0.14-0.242c-0.038-0.038-0.088-0.279-0.063-0.343c0.025-0.063,0.139-0.152,0.013-0.216c-0.127-0.063-0.217-0.14-0.318-0.178s-0.216,0.152-0.305,0.204c-0.089,0.051-0.076,0.114-0.191,0.127c-0.114,0.013-0.189,0.165,0,0.254c0.191,0.089,0.255,0.152,0.204,0.204c-0.051,0.051-0.267-0.025-0.267-0.025s-0.165-0.076-0.268-0.076c-0.101,0-0.229-0.063-0.33-0.076c-0.102-0.013-0.306-0.013-0.355,0.038c-0.051,0.051-0.179,0.203-0.28,0.152c-0.101-0.051-0.101-0.102-0.241-0.051c-0.14,0.051-0.279-0.038-0.355,0.038c-0.077,0.076-0.013,0.076-0.255,0c-0.241-0.076-0.189,0.051-0.419,0.089s-0.368-0.038-0.432,0.038c-0.064,0.077-0.153,0.217-0.19,0.127c-0.038-0.088,0.126-0.241,0.062-0.292c-0.062-0.051-0.33-0.025-0.367,0.013c-0.039,0.038-0.014,0.178,0.011,0.229c0.026,0.05,0.064,0.254-0.011,0.216c-0.077-0.038-0.064-0.166-0.141-0.152c-0.076,0.013-0.165,0.051-0.203,0.077c-0.038,0.025-0.191,0.025-0.229,0.076c-0.037,0.051,0.014,0.191-0.051,0.203c-0.063,0.013-0.114,0.064-0.254-0.025c-0.14-0.089-0.14-0.038-0.178-0.012c-0.038,0.025-0.216,0.127-0.229,0.012c-0.013-0.114,0.025-0.152-0.089-0.229c-0.115-0.076-0.026-0.076,0.127-0.025c0.152,0.05,0.343,0.075,0.622-0.013c0.28-0.089,0.395-0.127,0.28-0.178c-0.115-0.05-0.229-0.101-0.406-0.127c-0.179-0.025-0.42-0.025-0.7-0.127c-0.279-0.102-0.343-0.14-0.457-0.165c-0.115-0.026-0.813-0.14-1.132-0.089c-0.317,0.051-1.193,0.28-1.245,0.318s-0.128,0.19-0.292,0.318c-0.165,0.127-0.47,0.419-0.712,0.47c-0.241,0.051-0.521,0.254-0.521,0.305c0,0.051,0.101,0.242,0.076,0.28c-0.025,0.038,0.05,0.229,0.191,0.28c0.139,0.05,0.381,0.038,0.393-0.039c0.014-0.076,0.204-0.241,0.217-0.127c0.013,0.115,0.14,0.292,0.114,0.368c-0.025,0.077,0,0.153,0.09,0.14c0.088-0.012,0.559-0.114,0.559-0.114s0.153-0.064,0.127-0.166c-0.026-0.101,0.166-0.241,0.203-0.279c0.038-0.038,0.178-0.191,0.014-0.241c-0.167-0.051-0.293-0.064-0.115-0.216s0.292,0,0.521-0.229c0.229-0.229-0.051-0.292,0.191-0.305c0.241-0.013,0.496-0.025,0.444,0.051c-0.05,0.076-0.342,0.242-0.508,0.318c-0.166,0.077-0.14,0.216-0.076,0.292c0.063,0.076,0.09,0.254,0.204,0.229c0.113-0.025,0.254-0.114,0.38-0.101c0.128,0.012,0.383-0.013,0.42-0.013c0.039,0,0.216,0.178,0.114,0.203c-0.101,0.025-0.229,0.013-0.445,0.025c-0.215,0.013-0.456,0.013-0.456,0.051c0,0.039,0.292,0.127,0.19,0.191c-0.102,0.063-0.203-0.013-0.331-0.026c-0.127-0.012-0.203,0.166-0.241,0.267c-0.039,0.102,0.063,0.28-0.127,0.216c-0.191-0.063-0.331-0.063-0.381-0.038c-0.051,0.025-0.203,0.076-0.331,0.114c-0.126,0.038-0.076-0.063-0.242-0.063c-0.164,0-0.164,0-0.164,0l-0.103,0.013c0,0-0.101-0.063-0.114-0.165c-0.013-0.102,0.05-0.216-0.013-0.241c-0.064-0.026-0.292,0.012-0.33,0.088c-0.038,0.076-0.077,0.216-0.026,0.28c0.052,0.063,0.204,0.19,0.064,0.152c-0.14-0.038-0.317-0.051-0.419,0.026c-0.101,0.076-0.279,0.241-0.279,0.241s-0.318,0.025-0.318,0.102c0,0.077,0,0.178-0.114,0.191c-0.115,0.013-0.268,0.05-0.42,0.076c-0.153,0.025-0.139,0.088-0.317,0.102s-0.204,0.089-0.038,0.114c0.165,0.025,0.418,0.127,0.431,0.241c0.014,0.114-0.013,0.242-0.076,0.356c-0.043,0.079-0.305,0.026-0.458,0.026c-0.152,0-0.456-0.051-0.584,0c-0.127,0.051-0.102,0.305-0.064,0.419c0.039,0.114-0.012,0.178-0.063,0.216c-0.051,0.038-0.065,0.152,0,0.204c0.063,0.051,0.114,0.165,0.166,0.178c0.051,0.013,0.215-0.038,0.279,0.025c0.064,0.064,0.127,0.216,0.165,0.178c0.039-0.038,0.089-0.203,0.153-0.166c0.064,0.039,0.216-0.012,0.331-0.025s0.177-0.14,0.292-0.204c0.114-0.063,0.05-0.063,0.013-0.14c-0.038-0.076,0.114-0.165,0.204-0.254c0.088-0.089,0.253-0.013,0.292-0.115c0.038-0.102,0.051-0.279,0.151-0.267c0.103,0.013,0.243,0.076,0.331,0.076c0.089,0,0.279-0.14,0.332-0.165c0.05-0.025,0.241-0.013,0.267,0.102c0.025,0.114,0.241,0.254,0.292,0.279c0.051,0.025,0.381,0.127,0.433,0.165c0.05,0.038,0.126,0.153,0.152,0.254c0.025,0.102,0.114,0.102,0.128,0.013c0.012-0.089-0.065-0.254,0.025-0.242c0.088,0.013,0.191-0.026,0.191-0.026s-0.243-0.165-0.331-0.203c-0.088-0.038-0.255-0.114-0.331-0.241c-0.076-0.127-0.267-0.153-0.254-0.279c0.013-0.127,0.191-0.051,0.292,0.051c0.102,0.102,0.356,0.241,0.445,0.33c0.088,0.089,0.229,0.127,0.267,0.242c0.039,0.114,0.152,0.241,0.19,0.292c0.038,0.051,0.165,0.331,0.204,0.394c0.038,0.063,0.165-0.012,0.229-0.063c0.063-0.051,0.179-0.076,0.191-0.178c0.013-0.102-0.153-0.178-0.203-0.216c-0.051-0.038,0.127-0.076,0.191-0.127c0.063-0.05,0.177-0.14,0.228-0.063c0.051,0.077,0.026,0.381,0.051,0.432c0.025,0.051,0.279,0.127,0.331,0.191c0.05,0.063,0.267,0.089,0.304,0.051c0.039-0.038,0.242,0.026,0.294,0.038c0.049,0.013,0.202-0.025,0.304-0.05c0.103-0.025,0.204-0.102,0.191,0.063c-0.013,0.165-0.051,0.419-0.179,0.546c-0.127,0.127-0.076,0.191-0.202,0.191c-0.06,0-0.113,0-0.156,0.021c-0.041-0.065-0.098-0.117-0.175-0.097c-0.152,0.038-0.344,0.038-0.47,0.19c-0.128,0.153-0.178,0.165-0.204,0.114c-0.025-0.051,0.369-0.267,0.317-0.331c-0.05-0.063-0.355-0.038-0.521-0.038c-0.166,0-0.305-0.102-0.433-0.127c-0.126-0.025-0.292,0.127-0.418,0.254c-0.128,0.127-0.216,0.038-0.331,0.038c-0.115,0-0.331-0.165-0.331-0.165s-0.216-0.089-0.305-0.089c-0.088,0-0.267-0.165-0.318-0.165c-0.05,0-0.19-0.115-0.088-0.166c0.101-0.05,0.202,0.051,0.101-0.229c-0.101-0.279-0.33-0.216-0.419-0.178c-0.088,0.039-0.724,0.025-0.775,0.025c-0.051,0-0.419,0.127-0.533,0.178c-0.116,0.051-0.318,0.115-0.369,0.14c-0.051,0.025-0.318-0.051-0.433,0.013c-0.151,0.084-0.291,0.216-0.33,0.216c-0.038,0-0.153,0.089-0.229,0.28c-0.077,0.19,0.013,0.355-0.128,0.419c-0.139,0.063-0.394,0.204-0.495,0.305c-0.102,0.101-0.229,0.458-0.355,0.623c-0.127,0.165,0,0.317,0.025,0.419c0.025,0.101,0.114,0.292-0.025,0.471c-0.14,0.178-0.127,0.266-0.191,0.279c-0.063,0.013,0.063,0.063,0.088,0.19c0.025,0.128-0.114,0.255,0.128,0.369c0.241,0.113,0.355,0.217,0.418,0.367c0.064,0.153,0.382,0.407,0.382,0.407s0.229,0.205,0.344,0.293c0.114,0.089,0.152,0.038,0.177-0.05c0.025-0.09,0.178-0.104,0.355-0.104c0.178,0,0.305,0.04,0.483,0.014c0.178-0.025,0.356-0.141,0.42-0.166c0.063-0.025,0.279-0.164,0.443-0.063c0.166,0.103,0.141,0.241,0.23,0.332c0.088,0.088,0.24,0.037,0.355-0.051c0.114-0.09,0.064-0.052,0.203,0.025c0.14,0.075,0.204,0.151,0.077,0.267c-0.128,0.113-0.051,0.293-0.128,0.47c-0.076,0.178-0.063,0.203,0.077,0.278c0.14,0.076,0.394,0.548,0.47,0.638c0.077,0.088-0.025,0.342,0.064,0.495c0.089,0.151,0.178,0.254,0.077,0.331c-0.103,0.075-0.28,0.216-0.292,0.47s0.051,0.431,0.102,0.521s0.177,0.331,0.241,0.419c0.064,0.089,0.14,0.305,0.152,0.445c0.013,0.14-0.024,0.306,0.039,0.381c0.064,0.076,0.102,0.191,0.216,0.292c0.115,0.103,0.152,0.318,0.152,0.318s0.039,0.089,0.051,0.229c0.012,0.14,0.025,0.228,0.152,0.292c0.126,0.063,0.215,0.076,0.28,0.013c0.063-0.063,0.381-0.077,0.546-0.063c0.165,0.013,0.355-0.075,0.521-0.19s0.407-0.419,0.496-0.508c0.089-0.09,0.292-0.255,0.268-0.356c-0.025-0.101-0.077-0.203,0.024-0.254c0.102-0.052,0.344-0.152,0.356-0.229c0.013-0.077-0.09-0.395-0.115-0.457c-0.024-0.064,0.064-0.18,0.165-0.306c0.103-0.128,0.421-0.216,0.471-0.267c0.051-0.053,0.191-0.267,0.217-0.433c0.024-0.167-0.051-0.369,0-0.457c0.05-0.09,0.013-0.165-0.103-0.268c-0.114-0.102-0.089-0.407-0.127-0.457c-0.037-0.051-0.013-0.319,0.063-0.345c0.076-0.023,0.242-0.279,0.344-0.393c0.102-0.114,0.394-0.47,0.534-0.496c0.139-0.025,0.355-0.229,0.368-0.343c0.013-0.115,0.38-0.547,0.394-0.635c0.013-0.09,0.166-0.42,0.102-0.497c-0.062-0.076-0.559,0.115-0.622,0.141c-0.064,0.025-0.241,0.127-0.446,0.113c-0.202-0.013-0.114-0.177-0.127-0.254c-0.012-0.076-0.228-0.368-0.279-0.381c-0.051-0.012-0.203-0.166-0.267-0.317c-0.063-0.153-0.152-0.343-0.254-0.458c-0.102-0.114-0.165-0.38-0.268-0.559c-0.101-0.178-0.189-0.407-0.279-0.572c-0.021-0.041-0.045-0.079-0.067-0.117c0.118-0.029,0.289-0.082,0.31-0.009c0.024,0.088,0.165,0.279,0.19,0.419s0.165,0.089,0.178,0.216c0.014,0.128,0.14,0.433,0.19,0.47c0.052,0.038,0.28,0.242,0.318,0.318c0.038,0.076,0.089,0.178,0.127,0.369c0.038,0.19,0.076,0.444,0.179,0.482c0.102,0.038,0.444-0.064,0.508-0.102s0.482-0.242,0.635-0.255c0.153-0.012,0.179-0.115,0.368-0.152c0.191-0.038,0.331-0.177,0.458-0.28c0.127-0.101,0.28-0.355,0.33-0.444c0.052-0.088,0.179-0.152,0.115-0.253c-0.063-0.103-0.331-0.254-0.433-0.268c-0.102-0.012-0.089-0.178-0.152-0.178s-0.051,0.088-0.178,0.153c-0.127,0.063-0.255,0.19-0.344,0.165s0.026-0.089-0.113-0.203s-0.192-0.14-0.192-0.228c0-0.089-0.278-0.255-0.304-0.382c-0.026-0.127,0.19-0.305,0.254-0.19c0.063,0.114,0.115,0.292,0.279,0.368c0.165,0.076,0.318,0.204,0.395,0.229c0.076,0.025,0.267-0.14,0.33-0.114c0.063,0.024,0.191,0.253,0.306,0.292c0.113,0.038,0.495,0.051,0.559,0.051s0.33,0.013,0.381-0.063c0.051-0.076,0.089-0.076,0.153-0.076c0.062,0,0.177,0.229,0.267,0.254c0.089,0.025,0.254,0.013,0.241,0.179c-0.012,0.164,0.076,0.305,0.165,0.317c0.09,0.012,0.293-0.191,0.293-0.191s0,0.318-0.012,0.433c-0.014,0.113,0.139,0.534,0.139,0.534s0.19,0.393,0.241,0.482s0.267,0.355,0.267,0.47c0,0.115,0.025,0.293,0.103,0.293c0.076,0,0.152-0.203,0.24-0.331c0.091-0.126,0.116-0.305,0.153-0.432c0.038-0.127,0.038-0.356,0.038-0.444c0-0.09,0.075-0.166,0.255-0.242c0.178-0.076,0.304-0.292,0.456-0.407c0.153-0.115,0.141-0.305,0.446-0.305c0.305,0,0.278,0,0.355-0.077c0.076-0.076,0.151-0.127,0.19,0.013c0.038,0.14,0.254,0.343,0.292,0.394c0.038,0.052,0.114,0.191,0.103,0.344c-0.013,0.152,0.012,0.33,0.075,0.33s0.191-0.216,0.191-0.216s0.279-0.189,0.267,0.013c-0.014,0.203,0.025,0.419,0.025,0.545c0,0.053,0.042,0.135,0.088,0.21c-0.005,0.059-0.004,0.119-0.009,0.178C27.388,17.153,27.387,17.327,27.436,17.39zM20.382,12.064c0.076,0.05,0.102,0.127,0.152,0.203c0.052,0.076,0.14,0.05,0.203,0.114c0.063,0.064-0.178,0.14-0.075,0.216c0.101,0.077,0.151,0.381,0.165,0.458c0.013,0.076-0.279,0.114-0.369,0.102c-0.089-0.013-0.354-0.102-0.445-0.127c-0.089-0.026-0.139-0.343-0.025-0.331c0.116,0.013,0.141-0.025,0.267-0.139c0.128-0.115-0.189-0.166-0.278-0.191c-0.089-0.025-0.268-0.305-0.331-0.394c-0.062-0.089-0.014-0.228,0.141-0.331c0.076-0.051,0.279,0.063,0.381,0c0.101-0.063,0.203-0.14,0.241-0.165c0.039-0.025,0.293,0.038,0.33,0.114c0.039,0.076,0.191,0.191,0.141,0.229c-0.052,0.038-0.281,0.076-0.356,0c-0.075-0.077-0.255,0.012-0.268,0.152C20.242,12.115,20.307,12.013,20.382,12.064zM16.875,12.28c-0.077-0.025,0.025-0.178,0.102-0.229c0.075-0.051,0.164-0.178,0.241-0.305c0.076-0.127,0.178-0.14,0.241-0.127c0.063,0.013,0.203,0.241,0.241,0.318c0.038,0.076,0.165-0.026,0.217-0.051c0.05-0.025,0.127-0.102,0.14-0.165s0.127-0.102,0.254-0.102s0.013,0.102-0.076,0.127c-0.09,0.025-0.038,0.077,0.113,0.127c0.153,0.051,0.293,0.191,0.459,0.279c0.165,0.089,0.19,0.267,0.088,0.292c-0.101,0.025-0.406,0.051-0.521,0.038c-0.114-0.013-0.254-0.127-0.419-0.153c-0.165-0.025-0.369-0.013-0.433,0.077s-0.292,0.05-0.395,0.05c-0.102,0-0.228,0.127-0.253,0.077C16.875,12.534,16.951,12.306,16.875,12.28zM17.307,9.458c0.063-0.178,0.419,0.038,0.355,0.127C17.599,9.675,17.264,9.579,17.307,9.458zM17.802,18.584c0.063,0.102-0.14,0.431-0.254,0.407c-0.113-0.027-0.076-0.318-0.038-0.382C17.548,18.545,17.769,18.529,17.802,18.584zM13.189,12.674c0.025-0.051-0.039-0.153-0.127-0.013C13.032,12.71,13.164,12.725,13.189,12.674zM20.813,8.035c0.141,0.076,0.339,0.107,0.433,0.013c0.076-0.076,0.013-0.204-0.05-0.216c-0.064-0.013-0.104-0.115,0.062-0.203c0.165-0.089,0.343-0.204,0.534-0.229c0.19-0.025,0.622-0.038,0.774,0c0.152,0.039,0.382-0.166,0.445-0.254s-0.203-0.152-0.279-0.051c-0.077,0.102-0.444,0.076-0.521,0.051c-0.076-0.025-0.686,0.102-0.812,0.102c-0.128,0-0.179,0.152-0.356,0.229c-0.179,0.076-0.42,0.191-0.509,0.229c-0.088,0.038-0.177,0.19-0.101,0.216C20.509,7.947,20.674,7.959,20.813,8.035zM14.142,12.674c0.064-0.089-0.051-0.217-0.114-0.217c-0.12,0-0.178,0.191-0.103,0.254C14.002,12.776,14.078,12.763,14.142,12.674zM14.714,13.017c0.064,0.025,0.114,0.102,0.165,0.114c0.052,0.013,0.217,0,0.167-0.127s-0.167-0.127-0.204-0.127c-0.038,0-0.203-0.038-0.267,0C14.528,12.905,14.65,12.992,14.714,13.017zM11.308,10.958c0.101,0.013,0.217-0.063,0.305-0.101c0.088-0.038,0.216-0.114,0.216-0.229c0-0.114-0.025-0.216-0.077-0.267c-0.051-0.051-0.14-0.064-0.216-0.051c-0.115,0.02-0.127,0.14-0.203,0.14c-0.076,0-0.165,0.025-0.14,0.114s0.077,0.152,0,0.19C11.117,10.793,11.205,10.946,11.308,10.958zM11.931,10.412c0.127,0.051,0.394,0.102,0.292,0.153c-0.102,0.051-0.28,0.19-0.305,0.267s0.216,0.153,0.216,0.153s-0.077,0.089-0.013,0.114c0.063,0.025,0.102-0.089,0.203-0.089c0.101,0,0.304,0.063,0.406,0.063c0.103,0,0.267-0.14,0.254-0.229c-0.013-0.089-0.14-0.229-0.254-0.28c-0.113-0.051-0.241-0.28-0.317-0.331c-0.076-0.051,0.076-0.178-0.013-0.267c-0.09-0.089-0.153-0.076-0.255-0.14c-0.102-0.063-0.191,0.013-0.254,0.089c-0.063,0.076-0.14-0.013-0.217,0.012c-0.102,0.035-0.063,0.166-0.012,0.229C11.714,10.221,11.804,10.361,11.931,10.412zM24.729,17.198c-0.083,0.037-0.153,0.47,0,0.521c0.152,0.052,0.241-0.202,0.191-0.267C24.868,17.39,24.843,17.147,24.729,17.198zM20.114,20.464c-0.159-0.045-0.177,0.166-0.304,0.306c-0.128,0.141-0.267,0.254-0.317,0.241c-0.052-0.013-0.331,0.089-0.242,0.279c0.089,0.191,0.076,0.382-0.013,0.472c-0.089,0.088,0.076,0.342,0.052,0.482c-0.026,0.139,0.037,0.229,0.215,0.229s0.242-0.064,0.318-0.229c0.076-0.166,0.088-0.331,0.164-0.47c0.077-0.141,0.141-0.434,0.179-0.51c0.038-0.075,0.114-0.316,0.102-0.457C20.254,20.669,20.204,20.489,20.114,20.464zM10.391,8.802c-0.069-0.06-0.229-0.102-0.306-0.11c-0.076-0.008-0.152,0.06-0.321,0.06c-0.168,0-0.279,0.067-0.347,0C9.349,8.684,9.068,8.65,9.042,8.692C9.008,8.749,8.941,8.751,9.008,8.87c0.069,0.118,0.12,0.186,0.179,0.178s0.262-0.017,0.288,0.051C9.5,9.167,9.569,9.226,9.712,9.184c0.145-0.042,0.263-0.068,0.296-0.119c0.033-0.051,0.263-0.059,0.263-0.059S10.458,8.861,10.391,8.802z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/GlobeAlt2.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/GlobeAlt2.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.GlobeAlt2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.GlobeAlt2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.GlobeAlt2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.GlobeAlt2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466zM8.251,7.48c0.122,0.055,0.255,0.104,0.28,0.137C8.57,7.668,8.621,7.823,8.557,7.861C8.492,7.9,8.39,7.887,8.376,7.771c-0.013-0.115-0.026-0.128-0.18-0.18c-0.022-0.007-0.035-0.01-0.051-0.015C8.18,7.544,8.216,7.512,8.251,7.48zM7.733,7.974c0.031,0.087,0.113,0.125,0,0.17C7.673,8.168,7.611,8.172,7.559,8.165C7.617,8.102,7.672,8.035,7.733,7.974zM16,27.533C9.639,27.533,4.466,22.36,4.466,16c0-0.085,0.011-0.168,0.013-0.254c0.004-0.003,0.008-0.006,0.012-0.009c0.129-0.102,0.283-0.359,0.334-0.45c0.052-0.089,0.181-0.154,0.116-0.256c-0.059-0.096-0.292-0.23-0.407-0.261c0.01-0.099,0.032-0.195,0.045-0.294c0.063,0.077,0.137,0.17,0.208,0.194c0.115,0.038,0.501,0.052,0.566,0.052c0.063,0,0.334,0.014,0.386-0.064c0.051-0.077,0.09-0.077,0.154-0.077c0.064,0,0.18,0.231,0.271,0.257c0.089,0.026,0.257,0.013,0.244,0.181c-0.012,0.166,0.077,0.309,0.167,0.321c0.09,0.013,0.296-0.194,0.296-0.194s0,0.322-0.012,0.438C6.846,15.698,7,16.124,7,16.124s0.193,0.397,0.244,0.488c0.052,0.09,0.27,0.36,0.27,0.476c0,0.117,0.026,0.297,0.104,0.297s0.155-0.206,0.244-0.335c0.091-0.128,0.117-0.31,0.155-0.438c0.039-0.129,0.039-0.36,0.039-0.45c0-0.091,0.076-0.168,0.257-0.245c0.181-0.077,0.309-0.296,0.463-0.412c0.155-0.116,0.142-0.309,0.452-0.309c0.308,0,0.282,0,0.36-0.078c0.077-0.077,0.154-0.128,0.192,0.013c0.039,0.142,0.257,0.347,0.296,0.399c0.039,0.052,0.116,0.193,0.104,0.348c-0.013,0.153,0.012,0.334,0.077,0.334c0.064,0,0.193-0.219,0.193-0.219s0.283-0.192,0.27,0.014c-0.014,0.205,0.025,0.425,0.025,0.552c0,0.13,0.232,0.438,0.232,0.362c0-0.079,0.103-0.296,0.103-0.413c0-0.114,0.064-0.063,0.231,0.051c0.167,0.116,0.283,0.349,0.283,0.349s0.168,0.154,0.193,0.219c0.026,0.064,0.206-0.025,0.244-0.104c0.039-0.076,0.065-0.115,0.167-0.141c0.104-0.026,0.231-0.026,0.271-0.168c0.039-0.142,0.154-0.308,0-0.502c-0.154-0.193-0.232-0.321-0.347-0.412c-0.117-0.09-0.206-0.322-0.206-0.322s0.244-0.218,0.321-0.296c0.079-0.077,0.193-0.025,0.207,0.064c0.013,0.091-0.115,0.168-0.141,0.361c-0.026,0.192,0.154,0.257,0.206,0.192c0.051-0.065,0.18-0.219,0.18-0.257c0-0.039-0.089-0.026-0.102-0.167c-0.013-0.142,0.166-0.245,0.23-0.207c0.066,0.039,0.477-0.051,0.67-0.154s0.308-0.322,0.425-0.412c0.116-0.089,0.515-0.386,0.489-0.527c-0.026-0.142,0.012-0.334-0.09-0.515c-0.103-0.18-0.232-0.295-0.283-0.373c-0.051-0.077,0.219-0.09,0.347-0.206c0.129-0.116,0-0.219-0.064-0.206c-0.064,0.013-0.232,0.052-0.296,0.039c-0.064-0.013-0.103-0.077-0.206-0.155c-0.102-0.077,0.026-0.192,0.091-0.179c0.064,0.013,0.23-0.129,0.308-0.193c0.077-0.064,0.193-0.115,0.154-0.051c-0.038,0.064-0.128,0.296-0.026,0.309c0.104,0.013,0.348-0.193,0.388-0.18c0.038,0.013,0.102,0.18,0.064,0.257c-0.039,0.077-0.039,0.206,0.013,0.193c0.051-0.013,0.154-0.129,0.18-0.09c0.027,0.039,0.154,0.116,0.09,0.257c-0.063,0.142-0.193,0.193-0.039,0.284c0.154,0.089,0.206,0.012,0.322-0.052c0.115-0.064,0.193-0.347,0.128-0.438c-0.064-0.09-0.218-0.27-0.218-0.334c0-0.064,0.257-0.064,0.257-0.167s0.09-0.18,0.18-0.219c0.091-0.039,0.206-0.206,0.244-0.154c0.039,0.052,0.271,0.116,0.334,0.039c0.064-0.077,0.4-0.36,0.605-0.515c0.206-0.154,0.283-0.334,0.336-0.515c0.051-0.18,0.128-0.296,0.102-0.437v0c0.077,0.18,0.09,0.309,0.077,0.45c-0.013,0.142,0,0.438,0.026,0.476c0.025,0.039,0.129,0.128,0.192,0.103c0.064-0.025-0.025-0.283-0.025-0.334c0-0.052,0.09-0.129,0.142-0.142c0.052-0.013,0-0.231-0.065-0.322c-0.063-0.09-0.154-0.142-0.102-0.154c0.051-0.013,0.115-0.116,0.077-0.142c-0.039-0.025-0.014-0.116-0.103-0.09c-0.065,0.019-0.241-0.015-0.235,0.095c-0.037-0.11-0.116-0.183-0.216-0.172c-0.116,0.013-0.181,0.077-0.296,0.077s-0.025-0.18-0.077-0.18c-0.051,0-0.168,0.167-0.231,0.077c-0.064-0.09,0.18-0.206,0.373-0.27c0.192-0.064,0.514-0.438,0.644-0.451c0.128-0.013,0.45,0.026,0.733,0.013c0.283-0.013,0.373-0.129,0.463-0.064s0.283,0.142,0.399,0.129c0.116-0.014,0.064,0,0.244-0.129c0.18-0.129,0.348-0.193,0.438-0.296c0.09-0.103,0.335-0.18,0.348-0.077c0.014,0.103-0.026,0.206,0.077,0.206s0.258-0.103,0.386-0.154c0.129-0.051,0.231-0.116,0.231-0.116s-0.527,0.36-0.655,0.438c-0.129,0.077-0.438,0.129-0.567,0.283c-0.128,0.155-0.205,0.206-0.192,0.374c0.014,0.167,0.231,0.386,0.128,0.54c-0.103,0.154-0.141,0.373-0.141,0.373s0.154-0.219,0.373-0.36s0.348-0.334,0.425-0.412s0.309-0.091,0.309-0.181s0.064-0.206,0.104-0.309c0.038-0.103-0.077-0.078,0-0.206c0.076-0.129,0.064-0.232,0.45-0.232s0.257,0.026,0.566,0.013c0.309-0.013,0.424-0.167,0.72-0.245c0.296-0.077,0.527-0.128,0.618-0.089c0.09,0.038,0.232,0.012,0.141-0.078c-0.089-0.09-0.295-0.219-0.193-0.245c0.104-0.026,0.207-0.039,0.246-0.142c0.039-0.103-0.142-0.283-0.039-0.386c0.104-0.103-0.077-0.231-0.207-0.257c-0.128-0.025-0.63,0.026-0.731-0.025c-0.104-0.052-0.271-0.116-0.322-0.078c-0.052,0.039-0.168,0.245-0.168,0.245s-0.09,0.025-0.168-0.09c-0.076-0.116-0.5-0.103-0.629-0.103s-0.271,0.025-0.413,0.039c-0.141,0.013-0.219,0.052-0.322-0.039c-0.102-0.09-0.243-0.129-0.296-0.167c-0.051-0.039-0.334-0.039-0.553-0.012c-0.218,0.025-0.438,0.025-0.438,0.025s-0.104-0.039-0.257-0.129c-0.154-0.09-0.309-0.154-0.361-0.154c-0.051,0-0.449,0.064-0.539,0c-0.091-0.064-0.181-0.103-0.245-0.103s-0.115-0.103-0.038-0.103s0.437-0.103,0.437-0.103s-0.103-0.142-0.231-0.142c-0.128,0-0.359-0.064-0.424-0.064s-0.014,0.064-0.142,0.039c-0.13-0.026-0.258-0.078-0.335-0.026c-0.076,0.051-0.258,0.128-0.064,0.18c0.193,0.052,0.373,0,0.425,0.078c0.052,0.077,0,0.115,0,0.167s-0.103,0.193-0.167,0.219c-0.064,0.025-0.143-0.039-0.27,0.025c-0.129,0.064-0.451,0.013-0.49,0.052c-0.038,0.039-0.115-0.103-0.18-0.077c-0.064,0.025-0.232,0.193-0.322,0.18c-0.089-0.013-0.206-0.103-0.206-0.206s-0.038-0.232-0.077-0.258c-0.038-0.025-0.322-0.039-0.425-0.025c-0.103,0.013-0.424,0.038-0.477,0.09c-0.052,0.052-0.193,0.09-0.283,0.09s-0.167-0.09-0.36-0.116c-0.192-0.026-0.617-0.039-0.669-0.026s-0.218-0.025-0.155-0.077c0.065-0.051,0.257-0.219,0.143-0.295c-0.117-0.078-0.375-0.078-0.489-0.09c-0.117-0.013-0.232-0.039-0.413-0.013c-0.181,0.026-0.219,0.116-0.296,0.039c-0.077-0.077,0.193,0.039-0.077-0.077c-0.27-0.116-0.399-0.103-0.477-0.064c-0.077,0.039,0.013,0.025-0.192,0.103c-0.206,0.078-0.322,0.116-0.374,0.129c-0.051,0.012-0.372-0.065-0.411-0.091c-0.038-0.025-0.181,0.013-0.309,0.064S9.895,7.025,9.767,7C9.638,6.973,9.432,6.973,9.303,7.025C9.174,7.076,9.084,7.076,8.956,7.166c-0.13,0.09-0.373,0.142-0.373,0.142S8.522,7.305,8.448,7.301C10.474,5.541,13.111,4.466,16,4.466c6.361,0,11.534,5.173,11.534,11.534S22.36,27.533,16,27.533zM14.888,19.92c0,0,0.207-0.026,0.207-0.117c0-0.089-0.207-0.205-0.282-0.102c-0.078,0.102-0.219,0.205-0.207,0.296C14.625,20.138,14.888,19.92,14.888,19.92zM14.875,17.023c-0.181,0.233-0.167,0.182-0.296,0.128c-0.128-0.05-0.334,0.116-0.296,0.182c0.039,0.064,0.322-0.014,0.386,0.102c0.065,0.116,0.065,0.129,0.193,0.104c0.128-0.026,0.257-0.205,0.219-0.295C15.043,17.151,14.875,17.023,14.875,17.023zM14.837,18.245c-0.051,0-0.412,0.064-0.451,0.079c-0.039,0.013-0.27-0.025-0.27-0.025c-0.09,0.089-0.026,0.179,0.116,0.166s0.438-0.052,0.502-0.052C14.799,18.413,14.888,18.245,14.837,18.245zM14.284,14.668c-0.19,0.03-0.308,0.438-0.155,0.425C14.284,15.081,14.451,14.643,14.284,14.668zM14.734,16.959c-0.052-0.064-0.181-0.271-0.323-0.219c-0.042,0.017-0.153,0.245-0.012,0.245C14.541,16.985,14.786,17.023,14.734,16.959zM14.85,16.805c0.232-0.013,0.167-0.245-0.013-0.257C14.786,16.544,14.618,16.818,14.85,16.805zM17.591,18.928c-0.193-0.039-0.244-0.102-0.45-0.205c-0.207-0.103-0.67-0.103-0.682-0.039c-0.014,0.064,0,0-0.155-0.05c-0.153-0.054-0.271,0-0.309-0.091c-0.038-0.091-0.128-0.117-0.244-0.002c-0.097,0.097-0.142,0.104,0.078,0.143c0.218,0.039,0.283,0.039,0.192,0.141c-0.09,0.104-0.154,0.233-0.077,0.244c0.077,0.015,0.309-0.05,0.334,0c0.026,0.054-0.051,0.064,0.207,0.105c0.258,0.037,0.309,0.128,0.359,0.178c0.051,0.052,0.206,0.22,0.104,0.22c-0.104,0-0.219,0.128-0.142,0.143c0.077,0.013,0.309-0.039,0.321,0c0.014,0.037,0.143,0.283,0.271,0.271c0.129-0.013,0.206-0.244,0.27-0.31c0.065-0.064,0.322-0.104,0.349,0.012c0.026,0.116,0.104,0.233,0.257,0.311c0.154,0.076,0.335,0.154,0.348,0.089c0.013-0.064-0.077-0.309-0.181-0.346c-0.103-0.041-0.282-0.259-0.282-0.348c0-0.091-0.155-0.117-0.232-0.182C17.849,19.147,17.784,18.967,17.591,18.928zM8.042,17.023c-0.084,0.037-0.155,0.476,0,0.527c0.154,0.052,0.244-0.205,0.193-0.271C8.183,17.218,8.158,16.973,8.042,17.023zM15.429,18.117c-0.118-0.05-0.335,0.424-0.181,0.463C15.403,18.62,15.518,18.156,15.429,18.117zM15.687,13.703c0.077,0,0.18-0.051,0.18-0.193c0-0.142,0.18,0,0.27-0.013s0.141-0.103,0.18-0.206c0.005-0.013,0.008-0.021,0.009-0.027c-0.003,0.024-0.001,0.093,0.095,0.117c0.154,0.038,0.205-0.064,0.205-0.103s0.283-0.103,0.336-0.142c0.051-0.038,0.258-0.103,0.27-0.154c0.013-0.051,0-0.348,0.064-0.373c0.064-0.026,0.154-0.026,0.052-0.206c-0.104-0.181-0.104-0.348-0.232-0.271c-0.095,0.057-0.038,0.284-0.115,0.438s-0.142,0.296-0.193,0.296s-0.321,0.103-0.399,0.18c-0.076,0.077-0.45-0.064-0.501,0c-0.052,0.064-0.154,0.141-0.219,0.193c-0.065,0.051-0.245,0.013-0.207,0.167C15.518,13.562,15.609,13.703,15.687,13.703zM17.449,12.056c0.18-0.013,0.348-0.064,0.348-0.064s0.271,0.013,0.232-0.116c-0.04-0.128-0.322-0.141-0.375-0.128c-0.051,0.013-0.142-0.142-0.244-0.116c-0.096,0.023-0.128,0.155-0.128,0.193c0,0.039-0.36,0.115-0.245,0.219C17.153,12.146,17.27,12.069,17.449,12.056zM13.91,19.058c0.104,0.064,0.296-0.219,0.349-0.13c0.051,0.091-0.013,0.13,0.076,0.246c0.091,0.114,0.258,0.102,0.258,0.102s-0.013-0.309-0.155-0.387c-0.142-0.077-0.232-0.166-0.064-0.141c0.167,0.026,0.257-0.039,0.219-0.114c-0.039-0.078-0.283-0.039-0.361-0.026s-0.193-0.052-0.193-0.052c-0.077,0.024-0.063,0.089-0.09,0.219C13.923,18.902,13.807,18.992,13.91,19.058zM20.924,21.618c-0.231-0.052-0.077,0.039,0,0.154c0.077,0.116,0.232,0.176,0.258,0.05C21.193,21.759,21.155,21.67,20.924,21.618zM21.915,24.744c-0.077,0.064,0,0.091-0.219,0.22c-0.22,0.13-0.49,0.271-0.541,0.386c-0.052,0.116,0.051,0.181,0.258,0.192c0.206,0.013,0.154,0.053,0.296-0.103s0.271-0.244,0.438-0.373c0.168-0.128,0.168-0.322,0.168-0.322s-0.181-0.178-0.193-0.141C22.1,24.665,21.992,24.681,21.915,24.744zM18.504,21.618c0.014-0.116-0.219-0.116-0.334-0.207c-0.116-0.089-0.128-0.359-0.193-0.515c-0.064-0.153-0.192-0.257-0.322-0.397c-0.128-0.143-0.192-0.465-0.23-0.438c-0.039,0.025-0.154,0.399-0.064,0.515c0.09,0.116-0.039,0.348-0.103,0.503c-0.065,0.153-0.22-0.026-0.349-0.104c-0.129-0.078-0.308-0.128-0.398-0.219c-0.09-0.091,0.155-0.335,0.091-0.426c-0.065-0.09-0.412-0.013-0.45-0.013c-0.039,0-0.116-0.128-0.194-0.128c-0.077,0-0.064,0.258-0.064,0.258s-0.078-0.091-0.193-0.207c-0.117-0.115,0.012,0.077-0.103,0.193c-0.117,0.117-0.079,0.078-0.129,0.206c-0.051,0.129-0.167,0.077-0.283-0.052c-0.116-0.128-0.179-0.037-0.258,0c-0.077,0.039-0.141,0.259-0.18,0.309c-0.039,0.052-0.309,0.117-0.374,0.182c-0.064,0.062-0.09,0.27-0.09,0.322c0,0.05-0.271,0.023-0.361,0.089c-0.09,0.064-0.23,0.025-0.321,0.025c-0.09,0-0.399,0.244-0.502,0.308c-0.103,0.066-0.103,0.298-0.051,0.362c0.051,0.063,0.154,0.219,0.09,0.244c-0.064,0.026-0.104,0.206,0.051,0.359c0.154,0.155,0.103,0.194,0.115,0.271c0.014,0.077,0.078,0.104,0.181,0.232c0.102,0.128-0.181,0.231-0.219,0.31c-0.039,0.076,0.091,0.192,0.167,0.257c0.077,0.063,0.271,0.026,0.386-0.013c0.117-0.039,0.245-0.143,0.321-0.155c0.079-0.013,0.438-0.026,0.438-0.026s0.129-0.192,0.219-0.296c0.089-0.102,0.372-0.013,0.372-0.013s0.117-0.076,0.426-0.141c0.309-0.065,0.179,0.064,0.296,0.104c0.115,0.037,0.27,0.062,0.359,0.128c0.09,0.064,0,0.218-0.012,0.283c-0.014,0.064,0.219,0.038,0.23-0.026c0.014-0.064,0.077-0.128,0.207-0.205c0.128-0.078,0.025,0.114,0.076,0.231c0.052,0.116,0.129-0.157,0.129-0.026c0,0.039,0.039,0.078,0.051,0.116c0.014,0.039,0.181,0.052,0.181,0.18c0,0.13,0,0.207,0.039,0.231c0.038,0.026,0.244,0,0.335,0.155c0.089,0.154,0.154,0.013,0.205-0.052c0.052-0.064,0.231,0.026,0.283,0.078c0.052,0.05,0.193-0.104,0.387-0.155c0.192-0.051,0.167-0.039,0.219-0.115c0.051-0.078,0.09-0.283,0.205-0.438c0.115-0.153,0.271-0.424,0.271-0.631c0-0.206-0.014-0.682-0.155-0.899C18.761,21.953,18.492,21.733,18.504,21.618zM18.029,24.77c-0.065-0.013-0.207-0.062-0.207-0.062c-0.142,0.141,0.142,0.141,0.104,0.283c-0.039,0.141,0.193,0.089,0.257,0.064c0.063-0.027,0.22-0.323,0.193-0.399C18.351,24.577,18.093,24.783,18.029,24.77zM22.803,24.178c-0.052,0-0.077,0.064-0.192,0c-0.117-0.063-0.091-0.037-0.168-0.167c-0.077-0.127-0.091-0.296-0.219-0.23c-0.051,0.025,0,0.168,0.051,0.218c0.053,0.052,0.077,0.231,0.064,0.283c-0.012,0.052-0.231,0.116-0.129,0.18c0.104,0.064,0.297,0,0.271,0.078c-0.025,0.077-0.129,0.179-0.013,0.205c0.115,0.025,0.154-0.089,0.207-0.178c0.051-0.093,0.089-0.169,0.179-0.221C22.944,24.294,22.854,24.178,22.803,24.178zM22.815,21.18c0.168,0.064,0.464-0.231,0.347-0.27C23.047,20.871,22.815,21.18,22.815,21.18zM13.923,19.906c-0.029,0.115,0.193,0.167,0.206,0.039C14.141,19.816,13.949,19.803,13.923,19.906zM14.27,16.47c-0.064,0.065-0.257,0.193-0.283,0.31c-0.025,0.115,0.309-0.182,0.399-0.296c0.091-0.117,0.27-0.052,0.308-0.117c0.04-0.063,0.04-0.063,0.04-0.063s-0.142-0.025-0.257-0.063c-0.117-0.039-0.258,0.102-0.193-0.104c0.064-0.206,0.257-0.167,0.219-0.322c-0.039-0.154-0.168-0.193-0.207-0.193c-0.09,0,0.013,0.141-0.116,0.231c-0.128,0.09-0.271,0.128-0.193,0.283C14.064,16.29,14.334,16.405,14.27,16.47zM13.254,19.751c0.013-0.076-0.142-0.192-0.206-0.192c-0.065,0-0.386-0.077-0.386-0.077c-0.058,0.023-0.135,0.045-0.158,0.077c-0.007-0.011-0.022-0.024-0.049-0.039c-0.142-0.075-0.309,0-0.361-0.102c-0.05-0.104-0.127-0.104-0.179-0.039c-0.094,0.117,0.025,0.206,0.063,0.231c0.038,0.024,0.181,0.052,0.309,0.039c0.08-0.008,0.181-0.027,0.21-0.059c0.004,0.014,0.016,0.027,0.035,0.044c0.103,0.092,0.167,0.13,0.321,0.116C13.009,19.74,13.241,19.829,13.254,19.751zM12.881,18.992c0.065,0,0.193,0,0.283,0.026c0.09,0.025,0.386,0.05,0.373-0.064c-0.013-0.115-0.038-0.297,0.089-0.411c0.13-0.117,0.257-0.18,0.193-0.348c-0.063-0.167-0.193-0.271-0.103-0.349c0.09-0.076,0.192-0.102,0.192-0.166c0-0.065-0.217,0.18-0.244-0.246c-0.005-0.091-0.206,0.025-0.219,0.116c-0.012,0.091,0.142,0.167-0.103,0.167c-0.245,0-0.257,0.194-0.309,0.232c-0.052,0.039-0.103,0.051-0.207,0.076c-0.102,0.026-0.127,0.13-0.153,0.194c-0.025,0.063-0.206-0.116-0.257-0.064c-0.051,0.052-0.013,0.296,0.077,0.501C12.585,18.863,12.816,18.992,12.881,18.992zM11.979,18.928c0.065-0.077,0.038-0.192-0.063-0.18c-0.103,0.013-0.193-0.168-0.36-0.283c-0.168-0.114-0.296-0.194-0.451-0.36c-0.154-0.167-0.347-0.271-0.45-0.359c-0.104-0.091-0.257-0.13-0.322-0.116c-0.159,0.032,0.231,0.309,0.271,0.346c0.039,0.041,0.387,0.335,0.387,0.478s0.231,0.476,0.296,0.527c0.064,0.052,0.385,0.244,0.437,0.348c0.052,0.103,0.167,0.13,0.167-0.013C11.89,19.174,11.916,19.006,11.979,18.928zM11.002,17.474c0.064,0.232,0.193,0.464,0.244,0.555c0.052,0.089,0.271,0.217,0.348,0.281c0.077,0.064,0.192-0.024,0.143-0.102c-0.052-0.078-0.155-0.192-0.167-0.283c-0.013-0.091-0.078-0.233-0.181-0.387c-0.102-0.153-0.192-0.192-0.257-0.295c-0.064-0.104-0.296-0.297-0.296-0.297c-0.102,0.013-0.102,0.205-0.051,0.271C10.834,17.28,10.938,17.243,11.002,17.474z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Hail.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Hail.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Hail();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Hail = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Hail.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Hail\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.372,6.912c-0.093-3.925-3.302-7.078-7.248-7.08c-2.638,0.002-4.942,1.412-6.208,3.518c-0.595-0.327-1.28-0.518-2.01-0.518C7.627,2.834,5.773,4.639,5.69,6.898c-2.393,0.786-4.125,3.025-4.127,5.686c0,3.312,2.687,6,6,6v-0.002h15.875c3.312,0,6-2.688,6-6C29.434,9.944,27.732,7.715,25.372,6.912zM23.436,16.584H7.562c-2.209-0.006-3.997-1.793-4.001-4c-0.002-1.983,1.45-3.619,3.35-3.933c0.265-0.043,0.502-0.19,0.657-0.414C7.723,8.015,7.78,7.74,7.731,7.475C7.703,7.326,7.686,7.187,7.686,7.051c0.004-1.225,0.995-2.217,2.22-2.219c0.647,0,1.217,0.278,1.633,0.731c0.233,0.257,0.587,0.375,0.927,0.31c0.342-0.066,0.626-0.308,0.748-0.631c0.749-1.992,2.662-3.412,4.911-3.41c2.898,0.004,5.244,2.351,5.251,5.25c0,0.16-0.009,0.325-0.026,0.496c-0.05,0.518,0.305,0.984,0.814,1.079c1.859,0.345,3.273,1.966,3.271,3.923C27.43,14.791,25.645,16.578,23.436,16.584zM11.503,23.709c-0.784-0.002-1.418-0.636-1.418-1.416c0-0.785,0.634-1.416,1.418-1.418c0.78,0.002,1.413,0.633,1.416,1.418C12.917,23.073,12.284,23.707,11.503,23.709zM19.002,23.709c-0.783-0.002-1.418-0.636-1.418-1.416c0-0.785,0.635-1.416,1.418-1.418c0.779,0.002,1.414,0.633,1.414,1.418C20.417,23.073,19.784,23.707,19.002,23.709zM7.503,28.771c-0.783-0.002-1.417-0.637-1.417-1.418s0.634-1.414,1.417-1.416c0.78,0.002,1.415,0.635,1.415,1.416C8.917,28.135,8.284,28.77,7.503,28.771zM15.001,28.771c-0.782-0.002-1.417-0.637-1.417-1.418s0.634-1.414,1.417-1.416c0.78,0.002,1.413,0.635,1.415,1.416C16.415,28.135,15.784,28.77,15.001,28.771zM22.5,28.771c-0.782-0.002-1.416-0.634-1.416-1.416c0-0.785,0.634-1.418,1.416-1.42c0.781,0.002,1.414,0.635,1.418,1.42C23.915,28.138,23.282,28.77,22.5,28.771z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Hammer.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Hammer.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Hammer();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Hammer = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Hammer.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Hammer\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M7.831,29.354c0.685,0.353,1.62,1.178,2.344,0.876c0.475-0.195,0.753-1.301,1.048-1.883c2.221-4.376,4.635-9.353,6.392-13.611c0-0.19,0.101-0.337-0.049-0.595c0.983-1.6,1.65-3.358,2.724-5.138c0.34-0.566,0.686-1.351,1.163-1.577l0.881-0.368c1.12-0.288,1.938-0.278,2.719,0.473c0.396,0.383,0.578,1.015,0.961,1.395c0.259,0.26,1.246,0.899,1.613,0.8c0.285-0.077,0.52-0.364,0.72-0.728l0.696-1.286c0.195-0.366,0.306-0.718,0.215-0.999c-0.117-0.362-1.192-0.84-1.552-0.915c-0.528-0.113-1.154,0.081-1.692-0.041c-1.057-0.243-1.513-0.922-1.883-2.02c-2.608-1.533-6.119-2.53-10.207-1.244c-1.109,0.349-2.172,0.614-2.901,1.323c-0.146,0.412,0.143,0.494,0.446,0.489c-0.237,0.216-0.62,0.341-0.399,0.848c2.495-1.146,7.34-1.542,7.669,0.804c0.072,0.522-0.395,1.241-0.682,1.835c-0.905,1.874-2.011,3.394-2.813,5.091c-0.298,0.017-0.366,0.18-0.525,0.287c-2.604,3.8-5.451,8.541-7.9,12.794c-0.326,0.566-1.098,1.402-1.002,1.906C5.961,28.641,7.146,29,7.831,29.354z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/HammerAndScrewDriver.js\":\n/*!************************************************!*\\\n !*** ./src/shape/icon/HammerAndScrewDriver.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.HammerAndScrewDriver();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.HammerAndScrewDriver = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.HammerAndScrewDriver.prototype */\n{\n\n NAME: \"draw2d.shape.icon.HammerAndScrewDriver\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.537,9.859c-0.473-0.259-1.127-0.252-1.609-0.523c-0.943-0.534-1.186-1.316-1.226-2.475c-2.059-2.215-5.138-4.176-9.424-4.114c-1.162,0.017-2.256-0.035-3.158,0.435c-0.258,0.354-0.004,0.516,0.288,0.599c-0.29,0.138-0.692,0.147-0.626,0.697c2.72-0.383,7.475,0.624,7.116,2.966c-0.08,0.521-0.735,1.076-1.179,1.563c-1.263,1.382-2.599,2.45-3.761,3.667l0.336,0.336c0.742-0.521,1.446-0.785,2.104-0.785c0.707,0,1.121,0.297,1.276,0.433c0.575-0.618,1.166-1.244,1.839-1.853c0.488-0.444,1.047-1.099,1.566-1.178l0.949-0.101c1.156,0.047,1.937,0.29,2.471,1.232c0.27,0.481,0.262,1.139,0.521,1.613c0.175,0.324,0.937,1.218,1.316,1.228c0.294,0.009,0.603-0.199,0.899-0.49l1.033-1.034c0.291-0.294,0.501-0.6,0.492-0.896C29.754,10.801,28.861,10.035,28.537,9.859zM13.021,15.353l-0.741-0.741c-3.139,2.643-6.52,5.738-9.531,8.589c-0.473,0.443-1.452,1.021-1.506,1.539c-0.083,0.781,0.95,1.465,1.506,2c0.556,0.533,1.212,1.602,1.994,1.51c0.509-0.043,1.095-1.029,1.544-1.502c2.255-2.374,4.664-4.976,6.883-7.509c-0.312-0.371-0.498-0.596-0.498-0.596C12.535,18.451,11.779,17.272,13.021,15.353zM20.64,15.643c-0.366-0.318-1.466,0.143-1.777-0.122c-0.311-0.266,0.171-1.259-0.061-1.455c-0.482-0.406-0.77-0.646-0.77-0.646s-0.862-0.829-2.812,0.928L7.44,6.569C7.045,6.173,7.203,4.746,7.203,4.746L3.517,2.646L2.623,3.541l2.1,3.686c0,0,1.428-0.158,1.824,0.237l7.792,7.793c-1.548,1.831-0.895,2.752-0.895,2.752s0.238,0.288,0.646,0.771c0.196,0.23,1.188-0.249,1.455,0.061c0.264,0.312-0.196,1.41,0.12,1.777c2.666,3.064,6.926,7.736,8.125,7.736c0.892,0,2.021-0.724,2.948-1.64c0.925-0.917,1.639-2.055,1.639-2.947C28.377,22.567,23.704,18.309,20.64,15.643z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/HangUp.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/HangUp.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.HangUp();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.HangUp = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.HangUp.prototype */\n{\n\n NAME: \"draw2d.shape.icon.HangUp\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.563,10.494c-7.35-7.349-19.265-7.348-26.612,0.001c-1.796,1.796-0.247,6.84-0.247,6.84c0.135,0.443,0.616,0.72,1.067,0.614l6.898-1.604c0.451-0.105,0.82-0.57,0.82-1.033l0.001-3.685c0-0.463,0.379-0.842,0.842-0.842h8.285c0.464,0,0.843,0.379,0.843,0.842l-0.001,3.471c0.001,0.462,0.375,0.907,0.83,0.986l7.635,1.316c0.456,0.08,0.873-0.232,0.926-0.692C29.851,16.708,30.359,12.29,28.563,10.494zM17.264,14.072h-3.501v4.39h-2.625l4.363,7.556l4.363-7.556h-2.6V14.072z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Help.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Help.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Help();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Help = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Help.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Help\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.834,4.834L4.833,4.833c-5.889,5.892-5.89,15.443,0.001,21.334s15.44,5.888,21.33-0.002c5.891-5.891,5.893-15.44,0.002-21.33C20.275-1.056,10.725-1.056,4.834,4.834zM25.459,5.542c0.833,0.836,1.523,1.757,2.104,2.726l-4.08,4.08c-0.418-1.062-1.053-2.06-1.912-2.918c-0.859-0.859-1.857-1.494-2.92-1.913l4.08-4.08C23.7,4.018,24.622,4.709,25.459,5.542zM10.139,20.862c-2.958-2.968-2.959-7.758-0.001-10.725c2.966-2.957,7.756-2.957,10.725,0c2.954,2.965,2.955,7.757-0.001,10.724C17.896,23.819,13.104,23.817,10.139,20.862zM5.542,25.459c-0.833-0.837-1.524-1.759-2.105-2.728l4.081-4.081c0.418,1.063,1.055,2.06,1.914,2.919c0.858,0.859,1.855,1.494,2.917,1.913l-4.081,4.081C7.299,26.982,6.379,26.292,5.542,25.459zM8.268,3.435l4.082,4.082C11.288,7.935,10.29,8.571,9.43,9.43c-0.858,0.859-1.494,1.855-1.912,2.918L3.436,8.267c0.58-0.969,1.271-1.89,2.105-2.727C6.377,4.707,7.299,4.016,8.268,3.435zM22.732,27.563l-4.082-4.082c1.062-0.418,2.061-1.053,2.919-1.912c0.859-0.859,1.495-1.857,1.913-2.92l4.082,4.082c-0.58,0.969-1.271,1.891-2.105,2.728C24.623,26.292,23.701,26.983,22.732,27.563z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/History.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/History.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.History();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.History = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.History.prototype */\n{\n\n NAME: \"draw2d.shape.icon.History\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M10.666,18.292c0.275,0.479,0.889,0.644,1.365,0.367l3.305-1.677C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876c0-0.552-0.448-1-1-1c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96C10.553,17.204,10.389,17.816,10.666,18.292zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.888,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM6.624,15.5c0,0.553,0.449,1,1,1c0.552,0,1-0.447,1.001-1c-0.001-0.552-0.448-0.999-1.001-1C7.071,14.5,6.624,14.948,6.624,15.5zM14.501,23.377c0,0.553,0.448,1,1,1c0.552,0,1-0.447,1-1s-0.448-1-1-1C14.949,22.377,14.501,22.824,14.501,23.377zM10.696,21.822c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.276,1.091,0.11,1.365-0.365c0.277-0.479,0.113-1.09-0.365-1.367C11.584,21.18,10.973,21.344,10.696,21.822zM21.822,10.696c-0.479,0.278-0.643,0.89-0.366,1.367s0.888,0.642,1.366,0.365c0.478-0.275,0.643-0.888,0.365-1.366C22.913,10.584,22.298,10.42,21.822,10.696zM21.456,18.938c-0.274,0.479-0.112,1.092,0.367,1.367c0.477,0.274,1.089,0.112,1.364-0.365c0.276-0.479,0.112-1.092-0.364-1.367C22.343,18.297,21.73,18.461,21.456,18.938zM24.378,15.5c0-0.551-0.448-1-1-1c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1C23.93,16.5,24.378,16.053,24.378,15.5zM18.573,22.822c0.274,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.89,0.365-1.365c-0.277-0.479-0.888-0.643-1.365-0.367C18.46,21.732,18.296,22.344,18.573,22.822zM18.939,9.546c0.477,0.276,1.088,0.112,1.365-0.366c0.276-0.478,0.113-1.091-0.367-1.367c-0.477-0.276-1.09-0.111-1.364,0.366C18.298,8.659,18.462,9.27,18.939,9.546zM28.703,14.364C28.074,7.072,21.654,1.67,14.364,2.295c-3.254,0.281-6.118,1.726-8.25,3.877L4.341,4.681l-1.309,7.364l7.031-2.548L8.427,8.12c1.627-1.567,3.767-2.621,6.194-2.833c5.64-0.477,10.595,3.694,11.089,9.335c0.477,5.64-3.693,10.595-9.333,11.09c-5.643,0.476-10.599-3.694-11.092-9.333c-0.102-1.204,0.019-2.373,0.31-3.478l-3.27,1.186c-0.089,0.832-0.106,1.684-0.031,2.55c0.629,7.29,7.048,12.691,14.341,12.066C23.926,28.074,29.328,21.655,28.703,14.364z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Home.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Home.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Home();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Home = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Home.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Home\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.812,16l-3.062-3.062V5.625h-2.625v4.688L16,4.188L4.188,16L7,15.933v11.942h17.875V16H27.812zM16,26.167h-5.833v-7H16V26.167zM21.667,23.167h-3.833v-4.042h3.833V23.167z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/IMac.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/IMac.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.IMac();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.IMac = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.IMac.prototype */\n{\n\n NAME: \"draw2d.shape.icon.IMac\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.936,2.099H2.046c-0.506,0-0.919,0.414-0.919,0.92v21.097c0,0.506,0.413,0.919,0.919,0.919h17.062v-0.003h9.828c0.506,0,0.92-0.413,0.92-0.921V3.019C29.854,2.513,29.439,2.099,28.936,2.099zM28.562,20.062c0,0.412-0.338,0.75-0.75,0.75H3.062c-0.413,0-0.75-0.338-0.75-0.75v-16c0-0.413,0.337-0.75,0.75-0.75h24.75c0.412,0,0.75,0.337,0.75,0.75V20.062zM20.518,28.4c-0.033-0.035-0.062-0.055-0.068-0.062l-0.01-0.004l-0.008-0.004c0,0-0.046-0.021-0.119-0.062c-0.108-0.056-0.283-0.144-0.445-0.237c-0.162-0.097-0.32-0.199-0.393-0.271c-0.008-0.014-0.035-0.079-0.058-0.17c-0.083-0.32-0.161-0.95-0.22-1.539h-7.5c-0.023,0.23-0.048,0.467-0.076,0.691c-0.035,0.272-0.073,0.524-0.113,0.716c-0.02,0.096-0.039,0.175-0.059,0.23c-0.009,0.025-0.018,0.05-0.024,0.062c-0.003,0.006-0.005,0.01-0.007,0.013c-0.094,0.096-0.34,0.246-0.553,0.36c-0.107,0.062-0.209,0.11-0.283,0.146c-0.074,0.037-0.119,0.062-0.119,0.062l-0.007,0.004l-0.008,0.004c-0.01,0.009-0.038,0.022-0.07,0.062c-0.031,0.037-0.067,0.103-0.067,0.185c0.002,0.002-0.004,0.037-0.006,0.088c0,0.043,0.007,0.118,0.068,0.185c0.061,0.062,0.143,0.08,0.217,0.08h9.716c0.073,0,0.153-0.021,0.215-0.08c0.062-0.063,0.068-0.142,0.068-0.185c-0.001-0.051-0.008-0.086-0.007-0.088C20.583,28.503,20.548,28.439,20.518,28.4z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Icon.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Icon.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.SetFigure\n */\n_packages2.default.shape.icon.Icon = _packages2.default.SetFigure.extend(\n/** @lends draw2d.shape.icon.Icon.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Icon\",\n\n /**\n *\n * Creates a new figure element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({\n width: 50,\n height: 50,\n color: \"#333333\",\n bgColor: null\n }, attr), setter, getter);\n this.keepAspectRatio = false;\n },\n\n /**\n * \n * propagate all attributes like color, stroke,... to the shape element\n **/\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n if (this.svgNodes !== null) {\n this.svgNodes.attr({ fill: this.color.rgba(), stroke: \"none\" });\n }\n\n this._super(attributes);\n },\n\n applyTransformation: function applyTransformation() {\n var trans = [];\n\n if (this.rotationAngle !== 0) {\n trans.push(\"R\" + this.rotationAngle);\n }\n\n if (this.getRotationAngle() === 90 || this.getRotationAngle() === 270) {\n var ratio = this.getHeight() / this.getWidth();\n trans.push(\"T\" + -this.offsetY + \",\" + -this.offsetX);\n trans.push(\"S\" + ratio + \",\" + 1 / ratio + \",0,0\");\n } else {\n trans.push(\"T\" + -this.offsetX + \",\" + -this.offsetY);\n }\n if (this.isResizeable() === true) {\n trans.push(\"T\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY() + \"S\" + this.scaleX + \",\" + this.scaleY + \",\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY());\n } else {\n trans.push(\"T\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY());\n }\n\n this.svgNodes.transform(trans.join(\" \"));\n\n return this;\n },\n\n /**\n * @private\n */\n createShapeElement: function createShapeElement() {\n var shape = this._super();\n\n var bb = this.svgNodes.getBBox();\n\n this.offsetX = bb.x;\n this.offsetY = bb.y;\n\n return shape;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Icons.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Icons.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Icons();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Icons = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Icons.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Icons\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.083,14H14V4.083H4.083V14zM17,4.083V14h9.917V4.083H17zM17,26.917h9.917v-9.918H17V26.917zM4.083,26.917H14v-9.918H4.083V26.917z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Ie.js\":\n/*!******************************!*\\\n !*** ./src/shape/icon/Ie.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Ie();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Ie = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Ie.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Ie\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.998,2.266c-2.12-1.91-6.925,0.382-9.575,1.93c-0.76-0.12-1.557-0.185-2.388-0.185c-3.349,0-6.052,0.985-8.106,2.843c-2.336,2.139-3.631,4.94-3.631,8.177c0,0.028,0.001,0.056,0.001,0.084c3.287-5.15,8.342-7.79,9.682-8.487c0.212-0.099,0.338,0.155,0.141,0.253c-0.015,0.042-0.015,0,0,0c-2.254,1.35-6.434,5.259-9.146,10.886l-0.003-0.007c-1.717,3.547-3.167,8.529-0.267,10.358c2.197,1.382,6.13-0.248,9.295-2.318c0.764,0.108,1.567,0.165,2.415,0.165c5.84,0,9.937-3.223,11.399-7.924l-8.022-0.014c-0.337,1.661-1.464,2.548-3.223,2.548c-2.21,0-3.729-1.211-3.828-4.012l15.228-0.014c0.028-0.578-0.042-0.985-0.042-1.436c0-5.251-3.143-9.355-8.255-10.663c2.081-1.294,5.974-3.209,7.848-1.681c1.407,1.14,0.633,3.533,0.295,4.518c-0.056,0.254,0.24,0.296,0.296,0.057C28.814,5.573,29.026,3.194,27.998,2.266zM13.272,25.676c-2.469,1.475-5.873,2.539-7.539,1.289c-1.243-0.935-0.696-3.468,0.398-5.938c0.664,0.992,1.495,1.886,2.473,2.63C9.926,24.651,11.479,25.324,13.272,25.676zM12.714,13.046c0.042-2.435,1.787-3.49,3.617-3.49c1.928,0,3.49,1.112,3.49,3.49H12.714z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Ie9.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Ie9.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Ie9();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Ie9 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Ie9.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Ie9\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.751,17.887c0.054-0.434,0.081-0.876,0.081-1.324c0-1.744-0.413-3.393-1.146-4.854c1.133-2.885,1.155-5.369-0.201-6.777c-1.756-1.822-5.391-1.406-9.433,0.721c-0.069-0.001-0.138-0.003-0.206-0.003c-6.069,0-10.988,4.888-10.988,10.917c0,0.183,0.005,0.354,0.014,0.529c-2.688,4.071-3.491,7.967-1.688,9.838c1.557,1.613,4.691,1.344,8.2-0.392c1.363,0.604,2.873,0.938,4.462,0.938c4.793,0,8.867-3.049,10.369-7.299H21.26c-0.814,1.483-2.438,2.504-4.307,2.504c-2.688,0-4.867-2.104-4.867-4.688c0-0.036,0.002-0.071,0.003-0.106h15.662V17.887zM26.337,6.099c0.903,0.937,0.806,2.684-0.087,4.818c-1.27-2.083-3.221-3.71-5.546-4.576C23.244,5.217,25.324,5.047,26.337,6.099zM16.917,10.372c2.522,0,4.585,1.991,4.748,4.509h-9.496C12.333,12.363,14.396,10.372,16.917,10.372zM5.687,26.501c-1.103-1.146-0.712-3.502,0.799-6.298c0.907,2.546,2.736,4.658,5.09,5.938C8.92,27.368,6.733,27.587,5.687,26.501z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Import.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Import.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Import();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Import = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Import.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Import\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.067,2.25c-5.979,0-11.035,3.91-12.778,9.309h3.213c1.602-3.705,5.271-6.301,9.565-6.309c5.764,0.01,10.428,4.674,10.437,10.437c-0.009,5.764-4.673,10.428-10.437,10.438c-4.294-0.007-7.964-2.605-9.566-6.311H2.289c1.744,5.399,6.799,9.31,12.779,9.312c7.419-0.002,13.437-6.016,13.438-13.438C28.504,8.265,22.486,2.252,15.067,2.25zM10.918,19.813l7.15-4.126l-7.15-4.129v2.297H-0.057v3.661h10.975V19.813z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/InkScape.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/InkScape.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.InkScape();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.InkScape = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.InkScape.prototype */\n{\n\n NAME: \"draw2d.shape.icon.InkScape\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.402,17.626c0.84-0.772,2.468-0.381,5.979-1.853c1.716-0.72,1.572-1.265,1.566-1.928c-0.001-0.014,0-0.027,0-0.041h-0.005c-0.012-0.667-0.291-1.332-0.846-1.845L17.049,2.684c-0.566-0.522-1.304-0.782-2.042-0.782V1.898c-0.738,0-1.475,0.261-2.04,0.783l-10.05,9.276c-0.554,0.512-0.832,1.176-0.843,1.844H2.07c0,0,0.003,0.011,0.004,0.011c0,0.012-0.004,0.024-0.004,0.034h0.017c0.193,0.676,5.164,1.536,5.718,2.049c0.838,0.774-3.211,1.339-2.374,2.114c0.838,0.773,5.062,1.496,5.898,2.271c0.838,0.771-1.711,1.596-0.874,2.366c0.837,0.773,3.651-0.191,3.142,1.822c1.13,1.045,3.49,0.547,5.071-0.498c0.837-0.771-1.607-0.703-0.77-1.477c0.836-0.774,2.949-0.777,4.73-2.627C21.913,18.838,19.566,18.398,20.402,17.626zM10.973,16.868l-0.42-0.504c1.497,0.358,3.162,0.827,4.498,0.837l0.058,0.554C13.964,17.646,11.544,17.137,10.973,16.868zM18.161,8.58l-1.396-0.74L14.53,9.594l-1.067-3.192l-1.177,2.545L8.998,9.25l0.036-1.352c0-0.324,1.895-2.596,3.05-3.136l2.112-1.401c0.312-0.186,0.53-0.261,0.727-0.257c0.327,0.011,0.593,0.239,1.112,0.55l4.748,3.25c0.357,0.215,0.619,0.522,0.626,0.898l-2.813-1.254L18.161,8.58zM26.434,19.594c-0.313-0.07-1.688-0.691-2.035,0.165c0.968,0.981,2.645,2.181,3.316,1.482C28.391,20.543,27.102,19.745,26.434,19.594zM4.663,21.566c-0.315,0.074-1.842,0.115-1.719,1.021c1.351,0.451,3.438,0.792,3.684-0.113C6.873,21.566,5.33,21.414,4.663,21.566zM17.877,26.396c-0.232,0.209-1.53,0.953-0.929,1.681c1.413-0.236,3.403-0.914,3.12-1.812C19.786,25.369,18.37,25.953,17.877,26.396z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Ipad.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Ipad.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Ipad();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Ipad = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Ipad.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Ipad\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.221,1.417H6.11c-0.865,0-1.566,0.702-1.566,1.566v25.313c0,0.865,0.701,1.565,1.566,1.565h19.111c0.865,0,1.565-0.7,1.565-1.565V2.984C26.787,2.119,26.087,1.417,25.221,1.417zM15.666,29.299c-0.346,0-0.626-0.279-0.626-0.625s0.281-0.627,0.626-0.627c0.346,0,0.627,0.281,0.627,0.627S16.012,29.299,15.666,29.299zM24.376,26.855c0,0.174-0.142,0.312-0.313,0.312H7.27c-0.173,0-0.313-0.142-0.313-0.312V4.3c0-0.173,0.14-0.313,0.313-0.313h16.792c0.172,0,0.312,0.14,0.312,0.313L24.376,26.855L24.376,26.855z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Iphone.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Iphone.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Iphone();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Iphone = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Iphone.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Iphone\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.755,1H10.62C9.484,1,8.562,1.921,8.562,3.058v24.385c0,1.136,0.921,2.058,2.058,2.058h10.135c1.136,0,2.058-0.922,2.058-2.058V3.058C22.812,1.921,21.891,1,20.755,1zM14.659,3.264h2.057c0.101,0,0.183,0.081,0.183,0.18c0,0.1-0.082,0.18-0.183,0.18h-2.057c-0.1,0-0.181-0.081-0.181-0.18C14.478,3.344,14.559,3.264,14.659,3.264zM13.225,3.058c0.199,0,0.359,0.162,0.359,0.36c0,0.198-0.161,0.36-0.359,0.36c-0.2,0-0.36-0.161-0.36-0.36S13.025,3.058,13.225,3.058zM15.688,28.473c-0.796,0-1.44-0.646-1.44-1.438c0-0.799,0.645-1.439,1.44-1.439s1.44,0.646,1.44,1.439S16.483,28.473,15.688,28.473zM22.041,24.355c0,0.17-0.139,0.309-0.309,0.309H9.642c-0.17,0-0.308-0.139-0.308-0.309V6.042c0-0.17,0.138-0.309,0.308-0.309h12.09c0.17,0,0.309,0.138,0.309,0.309V24.355z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/JQuery.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/JQuery.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.JQuery();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.JQuery = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.JQuery.prototype */\n{\n\n NAME: \"draw2d.shape.icon.JQuery\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M10.322,23.041C4.579,18.723,2.777,11.07,5.494,4.583c-0.254,0.291-0.502,0.59-0.739,0.904c-5.177,6.887-4.008,16.505,2.613,21.482c6.62,4.979,16.184,3.432,21.362-3.455c0.237-0.314,0.454-0.635,0.663-0.959C23.915,26.963,16.064,27.357,10.322,23.041zM13.662,18.598c4.765,3.582,11.604,2.564,15.567-2.198c-3.609,2.641-9.09,2.475-13.361-0.736S9.916,7.231,11.451,3.03C7.976,8.161,8.897,15.015,13.662,18.598zM18.642,11.976c3.254,2.447,8.146,1.438,10.967-2.242c-2.604,1.921-6.341,1.955-9.157-0.164c-2.819-2.118-3.826-5.718-2.701-8.754C14.998,4.549,15.387,9.528,18.642,11.976z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Jigsaw.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Jigsaw.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Jigsaw();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Jigsaw = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Jigsaw.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Jigsaw\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M3.739,13.619c0,0,3.516-4.669,5.592-3.642c2.077,1.027-0.414,2.795,1.598,3.719c2.011,0.924,5.048-0.229,4.376-2.899c-0.672-2.67-1.866-0.776-2.798-2.208c-0.934-1.432,4.586-4.59,4.586-4.59s3.361,6.651,4.316,4.911c1.157-2.105,3.193-4.265,5.305-1.025c0,0,1.814,2.412,0.246,3.434s-2.917,0.443-3.506,1.553c-0.586,1.112,3.784,4.093,3.784,4.093s-2.987,4.81-4.926,3.548c-1.939-1.262,0.356-3.364-2.599-3.989c-1.288-0.23-3.438,0.538-3.818,2.34c-0.13,2.709,1.604,2.016,2.797,3.475c1.191,1.457-4.484,4.522-4.484,4.522s-1.584-3.923-3.811-4.657c-2.227-0.735-0.893,2.135-2.917,2.531c-2.024,0.396-4.816-2.399-3.46-4.789c1.358-2.391,3.275-0.044,3.441-1.951C7.629,16.087,3.739,13.619,3.739,13.619z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Key.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Key.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Key();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Key = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Key.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Key\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M18.386,16.009l0.009-0.006l-0.58-0.912c1.654-2.226,1.876-5.319,0.3-7.8c-2.043-3.213-6.303-4.161-9.516-2.118c-3.212,2.042-4.163,6.302-2.12,9.517c1.528,2.402,4.3,3.537,6.944,3.102l0.424,0.669l0.206,0.045l0.779-0.447l-0.305,1.377l2.483,0.552l-0.296,1.325l1.903,0.424l-0.68,3.06l1.406,0.313l-0.424,1.906l4.135,0.918l0.758-3.392L18.386,16.009z M10.996,8.944c-0.685,0.436-1.593,0.233-2.029-0.452C8.532,7.807,8.733,6.898,9.418,6.463s1.594-0.233,2.028,0.452C11.883,7.6,11.68,8.509,10.996,8.944z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Lab.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Lab.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Lab();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Lab = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Lab.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Lab\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.121,24.438l-3.362-7.847c-0.329-0.769-0.599-2.081-0.599-2.917s0.513-1.521,1.14-1.521s1.141-0.513,1.141-1.14s-0.685-1.14-1.521-1.14h-6.84c-0.836,0-1.52,0.513-1.52,1.14s0.513,1.14,1.14,1.14s1.14,0.685,1.14,1.521s-0.269,2.148-0.599,2.917l-3.362,7.847C8.55,25.206,8.28,26.177,8.28,26.595s0.342,1.103,0.76,1.521s1.444,0.76,2.28,0.76h8.359c0.836,0,1.862-0.342,2.28-0.76s0.76-1.103,0.76-1.521S22.45,25.206,22.121,24.438zM16.582,7.625c0,0.599,0.484,1.083,1.083,1.083s1.083-0.484,1.083-1.083s-0.484-1.084-1.083-1.084S16.582,7.026,16.582,7.625zM13.667,7.792c0.276,0,0.5-0.224,0.5-0.5s-0.224-0.5-0.5-0.5s-0.5,0.224-0.5,0.5S13.391,7.792,13.667,7.792zM15.584,5.292c0.874,0,1.583-0.709,1.583-1.583c0-0.875-0.709-1.584-1.583-1.584C14.709,2.125,14,2.834,14,3.709C14,4.583,14.709,5.292,15.584,5.292z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Lamp.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Lamp.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Lamp();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Lamp = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Lamp.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Lamp\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.5,2.833c-3.866,0-7,3.134-7,7c0,3.859,3.945,4.937,4.223,9.499h5.553c0.278-4.562,4.224-5.639,4.224-9.499C22.5,5.968,19.366,2.833,15.5,2.833zM15.5,28.166c1.894,0,2.483-1.027,2.667-1.666h-5.334C13.017,27.139,13.606,28.166,15.5,28.166zM12.75,25.498h5.5v-5.164h-5.5V25.498z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Lamp_alt.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Lamp_alt.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Lamp_alt();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Lamp_alt = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Lamp_alt.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Lamp_alt\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M12.75,25.498h5.5v-5.164h-5.5V25.498zM15.5,28.166c1.894,0,2.483-1.027,2.667-1.666h-5.334C13.017,27.139,13.606,28.166,15.5,28.166zM15.5,2.833c-3.866,0-7,3.134-7,7c0,3.859,3.945,4.937,4.223,9.499h1.271c-0.009-0.025-0.024-0.049-0.029-0.078L11.965,8.256c-0.043-0.245,0.099-0.485,0.335-0.563c0.237-0.078,0.494,0.026,0.605,0.25l0.553,1.106l0.553-1.106c0.084-0.17,0.257-0.277,0.446-0.277c0.189,0,0.362,0.107,0.446,0.277l0.553,1.106l0.553-1.106c0.084-0.17,0.257-0.277,0.448-0.277c0.189,0,0.36,0.107,0.446,0.277l0.554,1.106l0.553-1.106c0.111-0.224,0.368-0.329,0.604-0.25s0.377,0.318,0.333,0.563l-1.999,10.998c-0.005,0.029-0.02,0.053-0.029,0.078h1.356c0.278-4.562,4.224-5.639,4.224-9.499C22.5,5.968,19.366,2.833,15.5,2.833zM17.458,10.666c-0.191,0-0.364-0.107-0.446-0.275l-0.554-1.106l-0.553,1.106c-0.086,0.168-0.257,0.275-0.446,0.275c-0.191,0-0.364-0.107-0.449-0.275l-0.553-1.106l-0.553,1.106c-0.084,0.168-0.257,0.275-0.446,0.275c-0.012,0-0.025,0-0.037-0.001l1.454,8.001h1.167l1.454-8.001C17.482,10.666,17.47,10.666,17.458,10.666z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Landing.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Landing.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Landing();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Landing = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Landing.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Landing\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M23.322,19.491c0,0,1.903,0.342,0.299-1.869c-1.353-1.866-5.261-3.104-5.261-3.104l-4.213-8.229l-2.47-0.394l0.973,5.449L9.241,10.11L8.772,7.273L7.008,6.302c0,0-0.496,2.742-0.149,5.271C6.859,11.573,13.965,17.999,23.322,19.491zM3.251,23.106v1.998h24.498v-1.998H3.251zM14,17.94c0,0.414,0.336,0.75,0.75,0.75s0.75-0.336,0.75-0.75s-0.336-0.75-0.75-0.75S14,17.526,14,17.94z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Landscape1.js\":\n/*!**************************************!*\\\n !*** ./src/shape/icon/Landscape1.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Landscape1();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Landscape1 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Landscape1.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Landscape1\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M19.883,5.71H2.746c-0.163,0-0.319,0.071-0.435,0.188c-0.118,0.117-0.18,0.272-0.18,0.435v18.364c0,0.164,0.063,0.318,0.18,0.436c0.123,0.117,0.287,0.18,0.435,0.18h25.75c0.164,0,0.324-0.066,0.438-0.18c0.118-0.114,0.182-0.273,0.182-0.436V14.551c-0.002-0.102-0.01-0.188-0.021-0.271c-0.186-1.543-1.543-3.424-3.236-5.168C24.039,7.31,21.869,5.753,19.883,5.71zM26.914,12.314c-0.008-0.005-0.019-0.007-0.029-0.01c-1.092-0.293-2.33-0.355-3.199-0.355c-0.162,0-0.312,0.002-0.445,0.004c-0.037-0.604-0.129-1.604-0.356-2.625c-0.11-0.461-0.246-0.94-0.433-1.42c0.857,0.541,1.748,1.264,2.535,2.068C25.74,10.718,26.41,11.551,26.914,12.314zM3.365,6.947h16.517c0.058,0,0.12,0,0.183,0.004c0.694,0.105,1.307,1.221,1.616,2.646c0.335,1.484,0.354,2.997,0.354,3l0.007,0.656l0.651-0.051c0,0,0.398-0.027,0.99-0.025c0.809,0,1.977,0.062,2.871,0.312c0.939,0.275,1.352,0.635,1.326,1.051h0.002v9.542H3.365V6.951V6.947z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Landscape2.js\":\n/*!**************************************!*\\\n !*** ./src/shape/icon/Landscape2.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Landscape2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Landscape2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Landscape2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Landscape2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M19.883,5.71H2.746c-0.163,0-0.319,0.071-0.435,0.188c-0.118,0.117-0.18,0.272-0.18,0.435v18.364c0,0.164,0.063,0.318,0.18,0.436c0.123,0.117,0.287,0.18,0.435,0.18h25.75c0.164,0,0.324-0.066,0.438-0.18c0.118-0.114,0.182-0.273,0.182-0.436V14.551c-0.002-0.102-0.01-0.188-0.021-0.271c-0.186-1.543-1.543-3.424-3.236-5.168C24.039,7.31,21.869,5.753,19.883,5.71zM3.365,6.947h16.517c0.058,0,0.12,0,0.183,0.004c0.694,0.105,1.307,1.221,1.616,2.646c0.335,1.484,0.354,2.997,0.354,3l0.007,0.656l0.651-0.051c0,0,0.398-0.027,0.99-0.025c0.809,0,1.977,0.062,2.871,0.312c0.939,0.275,1.352,0.635,1.326,1.051h0.002v9.542H3.365V6.951V6.947z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/LineChart.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/LineChart.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.LineChart();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.LineChart = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.LineChart.prototype */\n{\n\n NAME: \"draw2d.shape.icon.LineChart\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M3.625,25.062c-0.539-0.115-0.885-0.646-0.77-1.187l0,0L6.51,6.584l2.267,9.259l1.923-5.188l3.581,3.741l3.883-13.103l2.934,11.734l1.96-1.509l5.271,11.74c0.226,0.504,0,1.095-0.505,1.321l0,0c-0.505,0.227-1.096,0-1.322-0.504l0,0l-4.23-9.428l-2.374,1.826l-1.896-7.596l-2.783,9.393l-3.754-3.924L8.386,22.66l-1.731-7.083l-1.843,8.711c-0.101,0.472-0.515,0.794-0.979,0.794l0,0C3.765,25.083,3.695,25.076,3.625,25.062L3.625,25.062z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Link.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Link.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Link();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Link = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Link.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Link\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16.45,18.085l-2.47,2.471c0.054,1.023-0.297,2.062-1.078,2.846c-1.465,1.459-3.837,1.459-5.302-0.002c-1.461-1.465-1.46-3.836-0.001-5.301c0.783-0.781,1.824-1.131,2.847-1.078l2.469-2.469c-2.463-1.057-5.425-0.586-7.438,1.426c-2.634,2.637-2.636,6.907,0,9.545c2.638,2.637,6.909,2.635,9.545,0l0.001,0.002C17.033,23.511,17.506,20.548,16.45,18.085zM14.552,12.915l2.467-2.469c-0.053-1.023,0.297-2.062,1.078-2.848C19.564,6.139,21.934,6.137,23.4,7.6c1.462,1.465,1.462,3.837,0,5.301c-0.783,0.783-1.822,1.132-2.846,1.079l-2.469,2.468c2.463,1.057,5.424,0.584,7.438-1.424c2.634-2.639,2.633-6.91,0-9.546c-2.639-2.636-6.91-2.637-9.545-0.001C13.967,7.489,13.495,10.451,14.552,12.915zM18.152,10.727l-7.424,7.426c-0.585,0.584-0.587,1.535,0,2.121c0.585,0.584,1.536,0.584,2.121-0.002l7.425-7.424c0.584-0.586,0.584-1.535,0-2.121C19.687,10.141,18.736,10.142,18.152,10.727z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/LinkedIn.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/LinkedIn.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.LinkedIn();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.LinkedIn = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.LinkedIn.prototype */\n{\n\n NAME: \"draw2d.shape.icon.LinkedIn\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.25,3.125h-22c-1.104,0-2,0.896-2,2v22c0,1.104,0.896,2,2,2h22c1.104,0,2-0.896,2-2v-22C29.25,4.021,28.354,3.125,27.25,3.125zM11.219,26.781h-4v-14h4V26.781zM9.219,11.281c-1.383,0-2.5-1.119-2.5-2.5s1.117-2.5,2.5-2.5s2.5,1.119,2.5,2.5S10.602,11.281,9.219,11.281zM25.219,26.781h-4v-8.5c0-0.4-0.403-1.055-0.687-1.213c-0.375-0.211-1.261-0.229-1.665-0.034l-1.648,0.793v8.954h-4v-14h4v0.614c1.583-0.723,3.78-0.652,5.27,0.184c1.582,0.886,2.73,2.864,2.73,4.702V26.781z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Linux.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Linux.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Linux();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Linux = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Linux.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Linux\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M11.791,25.229c1.027-0.104,1.162-1.191,0.68-1.666c-0.398-0.392-2.598-2.022-3.171-2.664C9.033,20.6,8.673,20.454,8.52,20.12c-0.352-0.771-0.598-1.869-0.151-2.658c0.081-0.144,0.133-0.078,0.071,0.22c-0.351,1.684,0.746,3.059,0.986,2.354c0.167-0.487,0.013-1.358,0.102-2.051c0.158-1.226,1.273-3.577,1.763-3.712c-0.755-1.398,0.886-2.494,0.866-3.723c-0.014-0.798,0.701,0.982,1.419,1.359c0.802,0.422,1.684-0.794,2.936-1.41c0.354-0.176,0.809-0.376,0.776-0.524c-0.146-0.718-1.644,0.886-2.979,0.939c-0.61,0.024-0.837-0.12-1.072-0.347c-0.712-0.689,0.073-0.115,1.132-0.307c0.471-0.085,0.629-0.163,1.128-0.365c0.5-0.201,1.069-0.5,1.636-0.654c0.395-0.106,0.361-0.402,0.208-0.491c-0.088-0.051-0.219-0.046-0.321,0.133c-0.244,0.419-1.383,0.661-1.74,0.771c-0.457,0.14-0.962,0.271-1.634,0.243c-1.021-0.042-0.782-0.509-1.513-0.928c-0.213-0.122-0.156-0.444,0.129-0.729c0.148-0.148,0.557-0.232,0.76-0.572c0.028-0.047,0.289-0.32,0.494-0.461c0.07-0.049,0.076-1.295-0.562-1.32c-0.543-0.021-0.697,0.398-0.675,0.818c0.022,0.419,0.245,0.765,0.393,0.764c0.285-0.004,0.019,0.311-0.138,0.361c-0.237,0.078-0.562-0.934-0.525-1.418c0.039-0.506,0.303-1.4,0.942-1.383c0.576,0.016,0.993,0.737,0.973,1.983c-0.003,0.211,0.935-0.101,1.247,0.229c0.224,0.236-0.767-2.207,1.438-2.375c0.582,0.111,1.14,0.305,1.371,1.641c-0.086,0.139,0.146,1.07-0.215,1.182c-0.438,0.135-0.707-0.02-0.453-0.438c0.172-0.418,0.004-1.483-0.882-1.42c-0.887,0.064-0.769,1.637-0.526,1.668c0.243,0.031,0.854,0.465,1.282,0.549c1.401,0.271,0.371,1.075,0.555,2.048c0.205,1.099,0.929,0.809,1.578,3.717c0.137,0.177,0.676,0.345,1.199,2.579c0.473,2.011-0.195,3.473,0.938,3.353c0.256-0.026,0.629-0.1,0.792-0.668c0.425-1.489-0.213-3.263-0.855-4.46c-0.375-0.698-0.729-1.174-0.916-1.337c0.738,0.436,1.683,1.829,1.898,2.862c0.286,1.358,0.49,1.934,0.059,3.37c0.25,0.125,0.871,0.39,0.871,0.685c-0.647-0.53-2.629-0.625-2.68,0.646c-0.338,0.008-0.594,0.034-0.811,0.293c-0.797,0.944-0.059,2.842-0.139,3.859c-0.07,0.896-0.318,1.783-0.46,2.683c-0.474-0.019-0.428-0.364-0.274-0.852c0.135-0.431,0.351-0.968,0.365-1.484c0.012-0.467-0.039-0.759-0.156-0.831c-0.118-0.072-0.303,0.074-0.559,0.485c-0.543,0.875-1.722,1.261-2.821,1.397c-1.099,0.138-2.123,0.028-2.664-0.578c-0.186-0.207-0.492,0.058-0.529,0.111c-0.049,0.074,0.18,0.219,0.352,0.533c0.251,0.461,0.49,1.159-0.105,1.479C12.83,26.314,12.316,26.221,11.791,25.229L11.791,25.229zM11.398,25.188c0.395,0.621,1.783,3.232-0.652,3.571c-0.814,0.114-2.125-0.474-3.396-0.784c-1.142-0.279-2.301-0.444-2.949-0.627c-0.391-0.108-0.554-0.25-0.588-0.414c-0.091-0.434,0.474-1.041,0.503-1.555c0.028-0.514-0.188-0.779-0.364-1.199c-0.177-0.42-0.224-0.734-0.081-0.914c0.109-0.141,0.334-0.199,0.698-0.164c0.462,0.047,1.02-0.049,1.319-0.23c0.505-0.309,0.742-0.939,0.516-1.699c0,0.744-0.244,1.025-0.855,1.366c-0.577,0.319-1.467,0.062-1.875,0.416c-0.492,0.427,0.175,1.528,0.12,2.338c-0.042,0.622-0.69,1.322-0.401,1.946c0.291,0.627,1.648,0.695,3.064,0.99c2.012,0.422,3.184,1.153,4.113,1.188c1.356,0.05,1.564-1.342,3.693-1.36c0.621-0.033,1.229-0.052,1.835-0.06c0.688-0.009,1.375-0.003,2.079,0.014c1.417,0.034,0.931,0.773,1.851,1.246c0.774,0.397,2.17,0.241,2.504-0.077c0.451-0.431,1.662-1.467,2.592-1.935c1.156-0.583,3.876-1.588,1.902-2.812c-0.461-0.285-1.547-0.588-1.639-2.676c-0.412,0.366-0.365,2.312,0.784,2.697c1.283,0.431,2.085,1.152-0.301,1.969c-1.58,0.54-1.849,0.706-3.099,1.747c-1.267,1.054-3.145,0.636-2.815-1.582c0.171-1.155,0.269-2.11-0.019-3.114c-0.142-0.49-0.211-1.119-0.114-1.562c0.187-0.858,0.651-1.117,1.106-0.293c0.285,0.519,0.385,1.122,1.408,1.171c1.607,0.077,1.926-1.553,2.439-1.627c0.343-0.05,0.686-1.02,0.425-2.589c-0.28-1.681-1.269-4.332-2.536-5.677c-1.053-1.118-1.717-2.098-2.135-3.497c-0.352-1.175-0.547-2.318-0.475-3.412c0.094-1.417-0.691-3.389-1.943-4.316c-0.782-0.581-2.011-0.893-3.122-0.88c-0.623,0.007-1.21,0.099-1.661,0.343c-1.855,1.008-2.113,2.445-2.086,4.088c0.025,1.543,0.078,3.303,0.254,4.977c-0.208,0.77-1.288,2.227-1.979,3.114C8.59,14.233,8.121,16.01,7.52,17.561c-0.321,0.828-0.862,1.2-0.908,2.265C6.6,20.122,6.61,20.891,6.894,20.672C7.98,19.829,9.343,21.95,11.398,25.188L11.398,25.188zM17.044,2.953c-0.06,0.176-0.3,0.321-0.146,0.443c0.152,0.123,0.24-0.171,0.549-0.281c0.08-0.028,0.449,0.012,0.519-0.164c0.03-0.077-0.19-0.164-0.321-0.291c-0.133-0.125-0.262-0.236-0.386-0.229C16.938,2.451,17.096,2.798,17.044,2.953L17.044,2.953zM18.934,9.35c0.115-0.121,0.174,0.207,0.483,0.402c0.244,0.154,0.481,0.04,0.545,0.354c0.044,0.225-0.097,0.467-0.284,0.436C19.35,10.486,18.596,9.705,18.934,9.35L18.934,9.35zM13.832,7.375c-0.508-0.037-0.543,0.33-0.375,0.324C13.629,7.693,13.523,7.408,13.832,7.375L13.832,7.375zM12.96,6.436c0.06-0.013,0.146,0.09,0.119,0.233c-0.037,0.199-0.021,0.324,0.117,0.325c0.022,0,0.048-0.005,0.056-0.057c0.066-0.396-0.14-0.688-0.225-0.711C12.834,6.178,12.857,6.458,12.96,6.436L12.96,6.436zM16.663,6.268c0.129,0.039,0.253,0.262,0.28,0.504c0.002,0.021,0.168-0.035,0.17-0.088c0.011-0.389-0.321-0.571-0.408-0.562C16.506,6.139,16.562,6.238,16.663,6.268L16.663,6.268zM14.765,7.423c0.463-0.214,0.625,0.118,0.465,0.171C15.066,7.648,15.065,7.345,14.765,7.423L14.765,7.423zM9.178,15.304c-0.219-0.026,0.063-0.19,0.184-0.397c0.131-0.227,0.105-0.511,0.244-0.469s0.061,0.2-0.033,0.461C9.491,15.121,9.258,15.313,9.178,15.304L9.178,15.304z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/List.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/List.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.List();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.List = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.List.prototype */\n{\n\n NAME: \"draw2d.shape.icon.List\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.082,4.083v2.999h22.835V4.083H4.082zM4.082,20.306h22.835v-2.999H4.082V20.306zM4.082,13.694h22.835v-2.999H4.082V13.694zM4.082,26.917h22.835v-2.999H4.082V26.917z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Location.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Location.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Location();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Location = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Location.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Location\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,3.5c-4.142,0-7.5,3.358-7.5,7.5c0,4.143,7.5,18.121,7.5,18.121S23.5,15.143,23.5,11C23.5,6.858,20.143,3.5,16,3.5z M16,14.584c-1.979,0-3.584-1.604-3.584-3.584S14.021,7.416,16,7.416S19.584,9.021,19.584,11S17.979,14.584,16,14.584z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Lock.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Lock.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Lock();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Lock = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Lock.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Lock\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.335,12.833V9.999h-0.001C22.333,6.501,19.498,3.666,16,3.666S9.666,6.502,9.666,10h0v2.833H7.375V25h17.25V12.833H22.335zM11.667,10C11.667,10,11.667,10,11.667,10c0-2.39,1.944-4.334,4.333-4.334c2.391,0,4.335,1.944,4.335,4.333c0,0,0,0,0,0v2.834h-8.668V10z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Locked.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Locked.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Locked();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Locked = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Locked.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Locked\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M26.711,14.085L16.914,4.29c-0.778-0.778-2.051-0.778-2.829,0L4.29,14.086c-0.778,0.778-0.778,2.05,0,2.829l9.796,9.796c0.778,0.777,2.051,0.777,2.829,0l9.797-9.797C27.488,16.136,27.488,14.863,26.711,14.085zM8.218,16.424c-0.4-0.153-0.687-0.533-0.687-0.987s0.287-0.834,0.687-0.987V16.424zM8.969,16.424v-1.974c0.4,0.152,0.687,0.533,0.687,0.987S9.369,16.272,8.969,16.424zM13.5,19.188l1.203-3.609c-0.689-0.306-1.172-0.994-1.172-1.797c0-1.087,0.881-1.969,1.969-1.969c1.087,0,1.969,0.881,1.969,1.969c0,0.803-0.482,1.491-1.172,1.797l1.203,3.609H13.5zM22.03,16.549c-0.399-0.152-0.687-0.533-0.687-0.986s0.287-0.834,0.687-0.987V16.549zM22.781,16.549v-1.973c0.4,0.152,0.688,0.533,0.688,0.987S23.182,16.397,22.781,16.549z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Magic.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Magic.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Magic();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Magic = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Magic.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Magic\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M23.043,4.649l-0.404-2.312l-1.59,1.727l-2.323-0.33l1.151,2.045l-1.032,2.108l2.302-0.463l1.686,1.633l0.271-2.332l2.074-1.099L23.043,4.649zM26.217,18.198l-0.182-1.25l-0.882,0.905l-1.245-0.214l0.588,1.118l-0.588,1.118l1.245-0.214l0.882,0.905l0.182-1.25l1.133-0.56L26.217,18.198zM4.92,7.672L5.868,7.3l0.844,0.569L6.65,6.853l0.802-0.627L6.467,5.97L6.118,5.013L5.571,5.872L4.553,5.908l0.647,0.786L4.92,7.672zM10.439,10.505l1.021-1.096l1.481,0.219l-0.727-1.31l0.667-1.341l-1.47,0.287l-1.069-1.048L10.16,7.703L8.832,8.396l1.358,0.632L10.439,10.505zM17.234,12.721c-0.588-0.368-1.172-0.618-1.692-0.729c-0.492-0.089-1.039-0.149-1.425,0.374L2.562,30.788h6.68l9.669-15.416c0.303-0.576,0.012-1.041-0.283-1.447C18.303,13.508,17.822,13.09,17.234,12.721zM13.613,21.936c-0.254-0.396-0.74-0.857-1.373-1.254c-0.632-0.396-1.258-0.634-1.726-0.69l4.421-7.052c0.064-0.013,0.262-0.021,0.543,0.066c0.346,0.092,0.785,0.285,1.225,0.562c0.504,0.313,0.908,0.677,1.133,0.97c0.113,0.145,0.178,0.271,0.195,0.335c0.002,0.006,0.004,0.011,0.004,0.015L13.613,21.936z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Magnet.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Magnet.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Magnet();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Magnet = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Magnet.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Magnet\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.812,19.5h5.002v-6.867c-0.028-1.706-0.61-3.807-2.172-5.841c-1.539-2.014-4.315-3.72-7.939-3.687C12.076,3.073,9.3,4.779,7.762,6.792C6.2,8.826,5.617,10.928,5.588,12.634V19.5h5v-6.866c-0.027-0.377,0.303-1.789,1.099-2.748c0.819-0.979,1.848-1.747,4.014-1.778c2.165,0.032,3.195,0.799,4.013,1.778c0.798,0.959,1.126,2.372,1.099,2.748V19.5L20.812,19.5zM25.814,25.579c0,0,0-2.354,0-5.079h-5.002c0,2.727,0,5.08,0,5.08l5.004-0.001H25.814zM5.588,25.58h5c0,0,0-2.354,0-5.08h-5C5.588,23.227,5.588,25.58,5.588,25.58z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Mail.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Mail.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Mail();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Mail = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Mail.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Mail\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.516,7.167H3.482l12.517,7.108L28.516,7.167zM16.74,17.303C16.51,17.434,16.255,17.5,16,17.5s-0.51-0.066-0.741-0.197L2.5,10.06v14.773h27V10.06L16.74,17.303z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Man.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Man.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Man();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Man = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Man.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Man\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.021,16.349c-0.611-1.104-1.359-1.998-2.109-2.623c-0.875,0.641-1.941,1.031-3.103,1.031c-1.164,0-2.231-0.391-3.105-1.031c-0.75,0.625-1.498,1.519-2.111,2.623c-1.422,2.563-1.578,5.192-0.35,5.874c0.55,0.307,1.127,0.078,1.723-0.496c-0.105,0.582-0.166,1.213-0.166,1.873c0,2.932,1.139,5.307,2.543,5.307c0.846,0,1.265-0.865,1.466-2.189c0.201,1.324,0.62,2.189,1.463,2.189c1.406,0,2.545-2.375,2.545-5.307c0-0.66-0.061-1.291-0.168-1.873c0.598,0.574,1.174,0.803,1.725,0.496C22.602,21.541,22.443,18.912,21.021,16.349zM15.808,13.757c2.362,0,4.278-1.916,4.278-4.279s-1.916-4.279-4.278-4.279c-2.363,0-4.28,1.916-4.28,4.279S13.445,13.757,15.808,13.757z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Merge.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Merge.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Merge();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Merge = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Merge.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Merge\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M29.342,15.5l-7.556-4.363v2.613h-1.411c-0.788-0.01-1.331-0.241-2.019-0.743c-1.021-0.745-2.094-2.181-3.551-3.568C13.367,8.06,11.291,6.73,8.5,6.749H2.812v3.5H8.5c2.231,0.012,3.441,1.185,5.07,2.934c0.697,0.753,1.428,1.58,2.324,2.323c-1.396,1.165-2.412,2.516-3.484,3.501c-1.183,1.081-2.202,1.723-3.912,1.741H2.813v3.5h5.716c3.752,0.001,6.035-2.319,7.619-4.066c0.817-0.895,1.537-1.691,2.209-2.191c0.686-0.502,1.23-0.732,2.017-0.742h1.412v2.614L29.342,15.5z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Mic.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Mic.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Mic();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Mic = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Mic.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Mic\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.5,21.125c2.682,0,4.875-2.25,4.875-5V5.875c0-2.75-2.193-5-4.875-5s-4.875,2.25-4.875,5v10.25C10.625,18.875,12.818,21.125,15.5,21.125zM21.376,11v5.125c0,3.308-2.636,6-5.876,6s-5.875-2.691-5.875-6V11H6.626v5.125c0,4.443,3.194,8.132,7.372,8.861v2.139h-3.372v3h9.749v-3h-3.376v-2.139c4.181-0.727,7.375-4.418,7.375-8.861V11H21.376z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/MicMute.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/MicMute.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.MicMute();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.MicMute = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.MicMute.prototype */\n{\n\n NAME: \"draw2d.shape.icon.MicMute\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M10.121,18.529c-0.317-0.736-0.496-1.549-0.496-2.404V11H6.626v5.125c0,1.693,0.466,3.275,1.272,4.627L10.121,18.529zM20.375,8.276V5.875c0-2.75-2.193-5-4.875-5s-4.875,2.25-4.875,5v10.25c0,0.568,0.113,1.105,0.285,1.615L20.375,8.276zM21.376,12.931v3.195c0,3.308-2.636,6-5.876,6c-0.958,0-1.861-0.24-2.661-0.657l-2.179,2.179c0.995,0.659,2.123,1.128,3.338,1.34v2.139h-3.372v3h9.749v-3h-3.376v-2.139c4.181-0.727,7.375-4.418,7.375-8.861V11h-1.068L21.376,12.931zM20.375,16.125v-2.194l-6.788,6.788c0.588,0.26,1.234,0.405,1.913,0.405C18.182,21.125,20.375,18.875,20.375,16.125zM25.542,4.522L4.855,25.209l1.415,1.416L26.956,5.937L25.542,4.522z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Minus.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Minus.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Minus();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Minus = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Minus.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Minus\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.979,12.896,5.979,12.896,5.979,19.562,25.979,19.562z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/NewWindow.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/NewWindow.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.NewWindow();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.NewWindow = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.NewWindow.prototype */\n{\n\n NAME: \"draw2d.shape.icon.NewWindow\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M5.896,5.333V21.25h23.417V5.333H5.896zM26.312,18.25H8.896V8.334h17.417V18.25L26.312,18.25zM4.896,9.542H1.687v15.917h23.417V22.25H4.896V9.542z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/No.js\":\n/*!******************************!*\\\n !*** ./src/shape/icon/No.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.No();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.No = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.No.prototype */\n{\n\n NAME: \"draw2d.shape.icon.No\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,2.939C9.006,2.942,3.338,8.61,3.335,15.605C3.335,22.6,9.005,28.268,16,28.27c6.994-0.002,12.662-5.67,12.664-12.664C28.663,8.61,22.995,2.939,16,2.939zM25.663,15.605c-0.003,1.943-0.583,3.748-1.569,5.264L10.736,7.513c1.515-0.988,3.32-1.569,5.265-1.573C21.337,5.951,25.654,10.269,25.663,15.605zM6.335,15.605c0.004-1.943,0.584-3.75,1.573-5.266l13.355,13.357c-1.516,0.986-3.32,1.566-5.264,1.569C10.664,25.26,6.346,20.941,6.335,15.605z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/NoMagnet.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/NoMagnet.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.NoMagnet();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.NoMagnet = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.NoMagnet.prototype */\n{\n\n NAME: \"draw2d.shape.icon.NoMagnet\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M10.59,17.857v-5.225c-0.027-0.376,0.303-1.789,1.099-2.748c0.819-0.979,1.849-1.748,4.014-1.778c1.704,0.026,2.699,0.508,3.447,1.189l3.539-3.539c-1.616-1.526-4.01-2.679-6.986-2.652C12.077,3.073,9.3,4.779,7.762,6.793C6.2,8.826,5.617,10.928,5.59,12.634V19.5h3.357L10.59,17.857zM5.59,20.5v2.357L7.947,20.5H5.59zM20.812,13.29v6.21h5.002v-6.866c-0.021-1.064-0.252-2.283-0.803-3.542L20.812,13.29zM25.339,4.522L4.652,25.209l1.415,1.416L26.753,5.937L25.339,4.522zM20.812,25.58h5.002c0,0,0-2.354,0-5.08h-5.002C20.812,23.227,20.812,25.58,20.812,25.58zM10.59,25.58c0,0,0-0.827,0-2.064L8.525,25.58H10.59z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/NodeJs.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/NodeJs.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.NodeJs();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.NodeJs = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.NodeJs.prototype */\n{\n\n NAME: \"draw2d.shape.icon.NodeJs\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.783,4.458L2.59,3.196C2.553,3.174,2.511,3.163,2.469,3.161H2.447C2.405,3.163,2.363,3.174,2.326,3.196L0.133,4.458C0.051,4.505,0,4.593,0,4.688l0.005,3.398c0,0.047,0.024,0.092,0.066,0.114c0.041,0.024,0.091,0.024,0.132,0l1.303-0.746c0.083-0.049,0.132-0.136,0.132-0.229V5.637c0-0.095,0.05-0.183,0.132-0.229l0.555-0.32c0.041-0.023,0.086-0.035,0.132-0.035c0.045,0,0.092,0.012,0.132,0.035l0.555,0.32c0.082,0.047,0.133,0.135,0.133,0.229v1.588c0,0.094,0.051,0.182,0.132,0.229l1.303,0.746c0.041,0.024,0.092,0.024,0.132,0c0.041-0.022,0.066-0.067,0.066-0.114l0.004-3.398C4.915,4.593,4.865,4.505,4.783,4.458zM17.93,0.745l-1.305-0.729c-0.042-0.023-0.091-0.022-0.132,0.001c-0.041,0.024-0.065,0.067-0.065,0.114v3.365c0,0.033-0.018,0.064-0.046,0.081s-0.064,0.017-0.093,0l-0.549-0.316c-0.082-0.047-0.183-0.047-0.265,0l-2.193,1.266c-0.082,0.047-0.133,0.135-0.133,0.229V7.29c0,0.095,0.051,0.182,0.132,0.229l2.194,1.267c0.082,0.048,0.183,0.048,0.265,0l2.194-1.267c0.082-0.048,0.133-0.135,0.133-0.229V0.977C18.066,0.88,18.014,0.792,17.93,0.745zM16.421,6.458c0,0.023-0.013,0.045-0.033,0.057l-0.753,0.435c-0.021,0.012-0.045,0.012-0.066,0l-0.753-0.435c-0.021-0.012-0.033-0.034-0.033-0.057v-0.87c0-0.023,0.013-0.045,0.033-0.058l0.753-0.435c0.021-0.012,0.045-0.012,0.066,0l0.753,0.435c0.021,0.012,0.033,0.034,0.033,0.058V6.458zM24.473,4.493l-2.18-1.266c-0.082-0.047-0.183-0.048-0.265,0l-2.193,1.266c-0.082,0.047-0.132,0.135-0.132,0.229v2.532c0,0.096,0.051,0.184,0.133,0.23l2.18,1.242c0.08,0.045,0.179,0.046,0.26,0.001l1.318-0.732c0.042-0.023,0.067-0.067,0.068-0.115c0-0.048-0.025-0.092-0.066-0.116l-2.207-1.266c-0.041-0.023-0.066-0.067-0.066-0.115V5.59c0-0.047,0.025-0.091,0.065-0.115l0.688-0.396c0.041-0.024,0.091-0.024,0.132,0l0.688,0.396c0.041,0.023,0.066,0.067,0.066,0.115v0.625c0,0.047,0.025,0.091,0.066,0.114c0.041,0.024,0.092,0.024,0.132,0l1.314-0.764c0.081-0.047,0.132-0.135,0.132-0.229V4.722C24.605,4.628,24.555,4.541,24.473,4.493zM11.363,4.48L9.169,3.214c-0.082-0.047-0.183-0.047-0.265,0L6.711,4.48C6.629,4.527,6.579,4.615,6.579,4.709v2.534c0,0.095,0.051,0.182,0.133,0.229l2.193,1.267c0.082,0.048,0.183,0.048,0.265,0l2.193-1.267c0.082-0.048,0.132-0.135,0.132-0.229V4.709C11.495,4.615,11.445,4.527,11.363,4.48zM31.019,4.382L28.95,3.187c-0.13-0.074-0.304-0.074-0.435,0l-2.068,1.195c-0.135,0.077-0.218,0.222-0.218,0.377v2.386c0,0.156,0.083,0.301,0.218,0.378l0.542,0.312c0.263,0.13,0.356,0.13,0.477,0.13c0.389,0,0.612-0.236,0.612-0.646V4.962c0-0.033-0.027-0.06-0.06-0.06h-0.263c-0.033,0-0.061,0.026-0.061,0.06v2.356c0,0.182-0.188,0.363-0.495,0.209l-0.566-0.326c-0.021-0.012-0.033-0.033-0.033-0.057V4.759c0-0.023,0.013-0.045,0.033-0.057l2.067-1.193c0.019-0.011,0.044-0.011,0.063,0l2.067,1.193c0.02,0.012,0.032,0.034,0.032,0.057v2.386c0,0.023-0.013,0.046-0.032,0.057l-2.068,1.193c-0.018,0.012-0.045,0.012-0.063,0l-0.53-0.314c-0.017-0.01-0.036-0.013-0.052-0.004c-0.146,0.083-0.175,0.094-0.312,0.143c-0.034,0.012-0.084,0.031,0.019,0.09l0.691,0.408c0.065,0.038,0.141,0.059,0.217,0.059s0.151-0.021,0.218-0.059l2.068-1.194c0.134-0.078,0.217-0.222,0.217-0.378V4.759C31.235,4.604,31.152,4.459,31.019,4.382zM29.371,6.768c-0.548,0-0.668-0.138-0.708-0.41c-0.005-0.029-0.029-0.051-0.06-0.051h-0.268c-0.033,0-0.06,0.026-0.06,0.06c0,0.349,0.189,0.765,1.095,0.765c0.655,0,1.031-0.259,1.031-0.709c0-0.447-0.302-0.566-0.938-0.65c-0.643-0.085-0.708-0.128-0.708-0.279c0-0.125,0.056-0.29,0.531-0.29c0.425,0,0.581,0.091,0.646,0.378c0.006,0.027,0.03,0.047,0.059,0.047h0.269c0.017,0,0.032-0.007,0.044-0.019c0.011-0.013,0.017-0.029,0.016-0.046c-0.042-0.493-0.37-0.723-1.032-0.723c-0.59,0-0.941,0.249-0.941,0.666c0,0.453,0.35,0.578,0.916,0.634c0.677,0.066,0.729,0.166,0.729,0.298C29.992,6.669,29.807,6.768,29.371,6.768zM22.128,5.446l-0.42,0.243c-0.016,0.009-0.025,0.026-0.025,0.044v0.486c0,0.019,0.01,0.035,0.025,0.044l0.42,0.243c0.016,0.009,0.035,0.009,0.052,0l0.421-0.243c0.016-0.009,0.025-0.025,0.025-0.044V5.733c0-0.018-0.01-0.035-0.025-0.044L22.18,5.446C22.163,5.438,22.144,5.438,22.128,5.446z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Notebook.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Notebook.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Notebook();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Notebook = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Notebook.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Notebook\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.875,1.375H8c-1.033,0-1.874,0.787-1.979,1.792h1.604c1.102,0,2,0.898,2,2c0,1.102-0.898,2-2,2H6v0.999h1.625c1.104,0,2.002,0.898,2.002,2.002c0,1.104-0.898,2.001-2.002,2.001H6v0.997h1.625c1.102,0,2,0.898,2,2c0,1.104-0.898,2.004-2,2.004H6v0.994h1.625c1.102,0,2,0.898,2,2.002s-0.898,2.002-2,2.002H6v0.997h1.624c1.104,0,2.002,0.897,2.002,2.001c0,1.104-0.898,2.002-2.002,2.002H6.004C6.027,28.252,6.91,29.125,8,29.125h16.875c1.104,0,2-0.896,2-2V3.375C26.875,2.271,25.979,1.375,24.875,1.375zM25.25,8.375c0,0.552-0.447,1-1,1H14c-0.553,0-1-0.448-1-1V4c0-0.552,0.447-1,1-1h10.25c0.553,0,1,0.448,1,1V8.375zM8.625,25.166c0-0.554-0.449-1.001-1-1.001h-3.25c-0.552,0-1,0.447-1,1.001c0,0.552,0.449,1,1,1h3.25C8.176,26.166,8.625,25.718,8.625,25.166zM4.375,6.166h3.251c0.551,0,0.999-0.448,0.999-0.999c0-0.555-0.448-1-0.999-1H4.375c-0.553,0-1,0.445-1,1C3.374,5.718,3.822,6.166,4.375,6.166zM4.375,11.167h3.25c0.553,0,1-0.448,1-1s-0.448-1-1-1h-3.25c-0.553,0-1,0.448-1,1S3.822,11.167,4.375,11.167zM4.375,16.167h3.25c0.551,0,1-0.448,1-1.001s-0.448-0.999-1-0.999h-3.25c-0.553,0-1.001,0.446-1.001,0.999S3.822,16.167,4.375,16.167zM3.375,20.165c0,0.553,0.446,1.002,1,1.002h3.25c0.551,0,1-0.449,1-1.002c0-0.552-0.448-1-1-1h-3.25C3.821,19.165,3.375,19.613,3.375,20.165z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Noview.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Noview.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Noview();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Noview = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Noview.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Noview\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M11.478,17.568c-0.172-0.494-0.285-1.017-0.285-1.568c0-2.65,2.158-4.807,4.807-4.807c0.552,0,1.074,0.113,1.568,0.285l2.283-2.283C18.541,8.647,17.227,8.286,16,8.286C8.454,8.286,2.5,16,2.5,16s2.167,2.791,5.53,5.017L11.478,17.568zM23.518,11.185l-3.056,3.056c0.217,0.546,0.345,1.138,0.345,1.76c0,2.648-2.158,4.807-4.807,4.807c-0.622,0-1.213-0.128-1.76-0.345l-2.469,2.47c1.327,0.479,2.745,0.783,4.229,0.783c5.771,0,13.5-7.715,13.5-7.715S26.859,13.374,23.518,11.185zM25.542,4.917L4.855,25.604L6.27,27.02L26.956,6.332L25.542,4.917z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Opera.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Opera.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Opera();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Opera = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Opera.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Opera\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.954,2.046c-7.489,0-12.872,5.432-12.872,13.581c0,7.25,5.234,13.835,12.873,13.835c7.712,0,12.974-6.583,12.974-13.835C28.929,7.413,23.375,2.046,15.954,2.046zM15.952,26.548L15.952,26.548c-2.289,0-3.49-1.611-4.121-3.796c-0.284-1.037-0.458-2.185-0.563-3.341c-0.114-1.374-0.129-2.773-0.129-4.028c0-0.993,0.018-1.979,0.074-2.926c0.124-1.728,0.386-3.431,0.89-4.833c0.694-1.718,1.871-2.822,3.849-2.822c2.5,0,3.763,1.782,4.385,4.322c0.429,1.894,0.56,4.124,0.56,6.274c0,2.299-0.103,5.153-0.763,7.442C19.473,24.979,18.242,26.548,15.952,26.548z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Package.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Package.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Package();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Package = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Package.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Package\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M17.078,22.004l-1.758-4.129l-2.007,4.752l-7.519-3.289l0.174,3.905l9.437,4.374l10.909-5.365l-0.149-4.989L17.078,22.004zM29.454,6.619L18.521,3.383l-3.006,2.671l-3.091-2.359L1.546,8.199l3.795,3.048l-3.433,5.302l10.879,4.757l2.53-5.998l2.257,5.308l11.393-5.942l-3.105-4.709L29.454,6.619zM15.277,14.579l-9.059-3.83l9.275-4.101l9.608,3.255L15.277,14.579z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Page.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Page.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Page();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Page = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Page.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Page\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M23.024,5.673c-1.744-1.694-3.625-3.051-5.168-3.236c-0.084-0.012-0.171-0.019-0.263-0.021H7.438c-0.162,0-0.322,0.063-0.436,0.18C6.889,2.71,6.822,2.87,6.822,3.033v25.75c0,0.162,0.063,0.317,0.18,0.435c0.117,0.116,0.271,0.179,0.436,0.179h18.364c0.162,0,0.317-0.062,0.434-0.179c0.117-0.117,0.182-0.272,0.182-0.435V11.648C26.382,9.659,24.824,7.49,23.024,5.673zM25.184,28.164H8.052V3.646h9.542v0.002c0.416-0.025,0.775,0.386,1.05,1.326c0.25,0.895,0.313,2.062,0.312,2.871c0.002,0.593-0.027,0.991-0.027,0.991l-0.049,0.652l0.656,0.007c0.003,0,1.516,0.018,3,0.355c1.426,0.308,2.541,0.922,2.645,1.617c0.004,0.062,0.005,0.124,0.004,0.182V28.164z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Page2.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Page2.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Page2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Page2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Page2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Page2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M23.024,5.673c-1.744-1.694-3.625-3.051-5.168-3.236c-0.084-0.012-0.171-0.019-0.263-0.021H7.438c-0.162,0-0.322,0.063-0.436,0.18C6.889,2.71,6.822,2.87,6.822,3.033v25.75c0,0.162,0.063,0.317,0.18,0.435c0.117,0.116,0.271,0.179,0.436,0.179h18.364c0.162,0,0.317-0.062,0.434-0.179c0.117-0.117,0.182-0.272,0.182-0.435V11.648C26.382,9.659,24.824,7.49,23.024,5.673zM22.157,6.545c0.805,0.786,1.529,1.676,2.069,2.534c-0.468-0.185-0.959-0.322-1.42-0.431c-1.015-0.228-2.008-0.32-2.625-0.357c0.003-0.133,0.004-0.283,0.004-0.446c0-0.869-0.055-2.108-0.356-3.2c-0.003-0.01-0.005-0.02-0.009-0.03C20.584,5.119,21.416,5.788,22.157,6.545zM25.184,28.164H8.052V3.646h9.542v0.002c0.416-0.025,0.775,0.386,1.05,1.326c0.25,0.895,0.313,2.062,0.312,2.871c0.002,0.593-0.027,0.991-0.027,0.991l-0.049,0.652l0.656,0.007c0.003,0,1.516,0.018,3,0.355c1.426,0.308,2.541,0.922,2.645,1.617c0.004,0.062,0.005,0.124,0.004,0.182V28.164z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Pallete.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Pallete.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Pallete();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Pallete = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Pallete.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Pallete\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.653,7.25c-3.417,0-8.577,0.983-8.577,3.282c0,1.91,2.704,3.229,1.691,3.889c-1.02,0.666-2.684-1.848-4.048-1.848c-1.653,0-2.815,1.434-2.815,2.926c0,4.558,6.326,8.25,13.749,8.25c7.424,0,13.443-3.692,13.443-8.25C29.096,10.944,23.077,7.25,15.653,7.25zM10.308,13.521c0-0.645,0.887-1.166,1.98-1.166c1.093,0,1.979,0.521,1.979,1.166c0,0.644-0.886,1.166-1.979,1.166C11.195,14.687,10.308,14.164,10.308,13.521zM14.289,22.299c-1.058,0-1.914-0.68-1.914-1.518s0.856-1.518,1.914-1.518c1.057,0,1.914,0.68,1.914,1.518S15.346,22.299,14.289,22.299zM19.611,21.771c-1.057,0-1.913-0.681-1.913-1.519c0-0.84,0.856-1.521,1.913-1.521c1.059,0,1.914,0.681,1.914,1.521C21.525,21.092,20.67,21.771,19.611,21.771zM20.075,10.66c0-0.838,0.856-1.518,1.914-1.518s1.913,0.68,1.913,1.518c0,0.839-0.855,1.518-1.913,1.518C20.934,12.178,20.075,11.499,20.075,10.66zM24.275,19.482c-1.057,0-1.914-0.681-1.914-1.519s0.857-1.518,1.914-1.518c1.059,0,1.914,0.68,1.914,1.518S25.334,19.482,24.275,19.482zM25.286,15.475c-1.058,0-1.914-0.68-1.914-1.519c0-0.838,0.856-1.518,1.914-1.518c1.057,0,1.913,0.68,1.913,1.518C27.199,14.795,26.343,15.475,25.286,15.475z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Palm.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Palm.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Palm();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Palm = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Palm.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Palm\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.296,27.885v-2.013c0,0-0.402-1.408-1.073-2.013c-0.671-0.604-1.274-1.274-1.409-1.61c0,0-0.268,0.135-0.737-0.335s-1.812-2.616-1.812-2.616l-0.671-0.872c0,0-0.47-0.671-1.275-1.342c-0.805-0.672-0.938-0.067-1.476-0.738s0.604-1.275,1.006-1.409c0.403-0.134,1.946,0.134,2.684,0.872c0.738,0.738,0.738,0.738,0.738,0.738l1.073,1.141l0.537,0.201l0.671-1.073l-0.269-2.281c0,0-0.604-2.55-0.737-4.764c-0.135-2.214-0.47-5.703,1.006-5.837s1.007,2.55,1.073,3.489c0.067,0.938,0.806,5.232,1.208,5.568c0.402,0.335,0.671,0.066,0.671,0.066l0.402-7.514c0,0-0.479-2.438,1.073-2.549c0.939-0.067,0.872,1.543,0.872,2.147c0,0.604,0.269,7.514,0.269,7.514l0.537,0.135c0,0,0.402-2.214,0.604-3.153s0.604-2.416,0.537-3.087c-0.067-0.671-0.135-2.348,1.006-2.348s0.872,1.812,0.939,2.415s-0.134,3.153-0.134,3.757c0,0.604-0.738,3.623-0.537,3.824s2.08-2.817,2.349-3.958c0.268-1.141,0.201-3.02,1.408-2.885c1.208,0.134,0.47,2.817,0.402,3.086c-0.066,0.269-0.671,2.349-0.872,2.952s-0.805,1.476-1.006,2.013s0.402,2.349,0,4.629c-0.402,2.281-1.61,5.166-1.61,5.166l0.604,2.08c0,0-1.744,0.671-3.824,0.805C16.443,28.221,14.296,27.885,14.296,27.885z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Paper.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Paper.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Paper();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Paper = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Paper.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Paper\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.916,8.009L15.953,1.888c-0.251-0.119-0.548-0.115-0.798,0.008c-0.25,0.125-0.433,0.357-0.491,0.629c-0.002,0.01-1.04,4.83-2.578,9.636c-0.526,1.646-1.114,3.274-1.728,4.704l1.665,0.786c2-4.643,3.584-11.052,4.181-13.614l11.264,5.316c-0.346,1.513-1.233,5.223-2.42,8.927c-0.767,2.399-1.665,4.797-2.585,6.532c-0.889,1.79-1.958,2.669-2.197,2.552c-1.419,0.03-2.418-1.262-3.09-2.918c-0.32-0.803-0.53-1.63-0.657-2.246c-0.127-0.618-0.166-1.006-0.168-1.006c-0.034-0.317-0.232-0.597-0.52-0.731l-12.962-6.12c-0.301-0.142-0.654-0.11-0.925,0.081c-0.27,0.193-0.416,0.518-0.38,0.847c0.008,0.045,0.195,1.848,0.947,3.736c0.521,1.321,1.406,2.818,2.845,3.575l12.956,6.131l0.006-0.013c0.562,0.295,1.201,0.487,1.947,0.496c1.797-0.117,2.777-1.668,3.818-3.525c3-5.69,5.32-16.602,5.338-16.642C29.512,8.615,29.302,8.19,28.916,8.009z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Parent.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Parent.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Parent();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Parent = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Parent.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Parent\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.423,12.17c-0.875,0.641-1.941,1.031-3.102,1.031c-1.164,0-2.231-0.391-3.104-1.031c-0.75,0.625-1.498,1.519-2.111,2.623c-1.422,2.563-1.578,5.192-0.35,5.874c0.549,0.312,1.127,0.078,1.723-0.496c-0.105,0.582-0.166,1.213-0.166,1.873c0,2.938,1.139,5.312,2.543,5.312c0.846,0,1.265-0.865,1.466-2.188c0.2,1.314,0.62,2.188,1.461,2.188c1.396,0,2.545-2.375,2.545-5.312c0-0.66-0.062-1.291-0.168-1.873c0.6,0.574,1.176,0.812,1.726,0.496c1.227-0.682,1.068-3.311-0.354-5.874C15.921,13.689,15.173,12.795,14.423,12.17zM11.32,12.201c2.361,0,4.277-1.916,4.277-4.279s-1.916-4.279-4.277-4.279c-2.363,0-4.28,1.916-4.28,4.279S8.957,12.201,11.32,12.201zM21.987,17.671c1.508,0,2.732-1.225,2.732-2.735c0-1.51-1.225-2.735-2.732-2.735c-1.511,0-2.736,1.225-2.736,2.735C19.251,16.446,20.477,17.671,21.987,17.671zM25.318,19.327c-0.391-0.705-0.869-1.277-1.349-1.677c-0.56,0.41-1.24,0.659-1.982,0.659c-0.744,0-1.426-0.25-1.983-0.659c-0.479,0.399-0.958,0.972-1.35,1.677c-0.909,1.638-1.009,3.318-0.224,3.754c0.351,0.2,0.721,0.05,1.101-0.317c-0.067,0.372-0.105,0.775-0.105,1.197c0,1.878,0.728,3.396,1.625,3.396c0.54,0,0.808-0.553,0.937-1.398c0.128,0.841,0.396,1.398,0.934,1.398c0.893,0,1.627-1.518,1.627-3.396c0-0.422-0.04-0.825-0.107-1.197c0.383,0.367,0.752,0.52,1.104,0.317C26.328,22.646,26.227,20.965,25.318,19.327z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Pc.js\":\n/*!******************************!*\\\n !*** ./src/shape/icon/Pc.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Pc();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Pc = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Pc.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Pc\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M29.249,3.14h-9.188l-0.459,0.459v18.225l0.33,2.389H19.57v0.245h-0.307v-0.306h-0.611v0.244h-0.311v-0.367h-0.486v0.307h-1.104l-2.022-0.367v-0.92h0.858l0.302-1.47h2.728c0.188,0,0.339-0.152,0.339-0.339V7.828c0-0.187-0.149-0.338-0.339-0.338H1.591c-0.187,0-0.339,0.152-0.339,0.338V21.24c0,0.187,0.152,0.339,0.339,0.339h3.016l0.199,1.47h1.409l-3.4,3.4L2.11,27.951c0,0,2.941,1.102,6.678,1.102c3.737,0,9.679-0.857,10.476-0.857s4.84,0,4.84,0v-1.225l-0.137-1.068h1.744c-0.2,0.106-0.322,0.244-0.322,0.396v0.979c0,0.341,0.604,0.613,1.352,0.613c0.742,0,1.348-0.272,1.348-0.613v-0.979c0-0.339-0.604-0.611-1.348-0.611c-0.188,0-0.364,0.019-0.525,0.049v-0.17h-2.29l-0.055-0.432h5.382L29.249,3.14L29.249,3.14zM2.478,20.17V8.714h15.07V20.17H2.478z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Pen.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Pen.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Pen();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Pen = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Pen.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Pen\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M13.587,12.074c-0.049-0.074-0.11-0.147-0.188-0.202c-0.333-0.243-0.803-0.169-1.047,0.166c-0.244,0.336-0.167,0.805,0.167,1.048c0.303,0.22,0.708,0.167,0.966-0.091l-7.086,9.768l-2.203,7.997l6.917-4.577L26.865,4.468l-4.716-3.42l-1.52,2.096c-0.087-0.349-0.281-0.676-0.596-0.907c-0.73-0.529-1.751-0.369-2.28,0.363C14.721,6.782,16.402,7.896,13.587,12.074zM10.118,25.148L6.56,27.503l1.133-4.117L10.118,25.148zM14.309,11.861c2.183-3.225,1.975-4.099,3.843-6.962c0.309,0.212,0.664,0.287,1.012,0.269L14.309,11.861z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Pensil.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Pensil.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Pensil();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Pensil = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Pensil.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Pensil\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.31,2.872l-3.384-2.127c-0.854-0.536-1.979-0.278-2.517,0.576l-1.334,2.123l6.474,4.066l1.335-2.122C26.42,4.533,26.164,3.407,25.31,2.872zM6.555,21.786l6.474,4.066L23.581,9.054l-6.477-4.067L6.555,21.786zM5.566,26.952l-0.143,3.819l3.379-1.787l3.14-1.658l-6.246-3.925L5.566,26.952z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/People.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/People.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.People();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.People = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.People.prototype */\n{\n\n NAME: \"draw2d.shape.icon.People\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.066,20.667c1.227-0.682,1.068-3.311-0.354-5.874c-0.611-1.104-1.359-1.998-2.109-2.623c-0.875,0.641-1.941,1.031-3.102,1.031c-1.164,0-2.231-0.391-3.104-1.031c-0.75,0.625-1.498,1.519-2.111,2.623c-1.422,2.563-1.578,5.192-0.35,5.874c0.549,0.312,1.127,0.078,1.723-0.496c-0.105,0.582-0.166,1.213-0.166,1.873c0,2.938,1.139,5.312,2.543,5.312c0.846,0,1.265-0.865,1.466-2.188c0.2,1.314,0.62,2.188,1.461,2.188c1.396,0,2.545-2.375,2.545-5.312c0-0.66-0.062-1.291-0.168-1.873C19.939,20.745,20.516,20.983,21.066,20.667zM15.5,12.201c2.361,0,4.277-1.916,4.277-4.279S17.861,3.644,15.5,3.644c-2.363,0-4.28,1.916-4.28,4.279S13.137,12.201,15.5,12.201zM24.094,14.914c1.938,0,3.512-1.573,3.512-3.513c0-1.939-1.573-3.513-3.512-3.513c-1.94,0-3.513,1.573-3.513,3.513C20.581,13.341,22.153,14.914,24.094,14.914zM28.374,17.043c-0.502-0.907-1.116-1.641-1.732-2.154c-0.718,0.526-1.594,0.846-2.546,0.846c-0.756,0-1.459-0.207-2.076-0.55c0.496,1.093,0.803,2.2,0.861,3.19c0.093,1.516-0.381,2.641-1.329,3.165c-0.204,0.117-0.426,0.183-0.653,0.224c-0.056,0.392-0.095,0.801-0.095,1.231c0,2.412,0.935,4.361,2.088,4.361c0.694,0,1.039-0.71,1.204-1.796c0.163,1.079,0.508,1.796,1.199,1.796c1.146,0,2.09-1.95,2.09-4.361c0-0.542-0.052-1.06-0.139-1.538c0.492,0.472,0.966,0.667,1.418,0.407C29.671,21.305,29.541,19.146,28.374,17.043zM6.906,14.914c1.939,0,3.512-1.573,3.512-3.513c0-1.939-1.573-3.513-3.512-3.513c-1.94,0-3.514,1.573-3.514,3.513C3.392,13.341,4.966,14.914,6.906,14.914zM9.441,21.536c-1.593-0.885-1.739-3.524-0.457-6.354c-0.619,0.346-1.322,0.553-2.078,0.553c-0.956,0-1.832-0.321-2.549-0.846c-0.616,0.513-1.229,1.247-1.733,2.154c-1.167,2.104-1.295,4.262-0.287,4.821c0.451,0.257,0.925,0.064,1.414-0.407c-0.086,0.479-0.136,0.996-0.136,1.538c0,2.412,0.935,4.361,2.088,4.361c0.694,0,1.039-0.71,1.204-1.796c0.165,1.079,0.509,1.796,1.201,1.796c1.146,0,2.089-1.95,2.089-4.361c0-0.432-0.04-0.841-0.097-1.233C9.874,21.721,9.651,21.656,9.441,21.536z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Phone.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Phone.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Phone();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Phone = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Phone.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Phone\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.065,18.53c-0.467-0.29-1.167-0.21-1.556,0.179l-3.093,3.092c-0.389,0.389-1.025,0.389-1.414,0L9.05,14.848c-0.389-0.389-0.389-1.025,0-1.414l2.913-2.912c0.389-0.389,0.447-1.075,0.131-1.524L6.792,1.485C6.476,1.036,5.863,0.948,5.433,1.29c0,0-4.134,3.281-4.134,6.295c0,12.335,10,22.334,22.334,22.334c3.015,0,5.948-5.533,5.948-5.533c0.258-0.486,0.087-1.122-0.38-1.412L22.065,18.53z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Photo.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Photo.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Photo();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Photo = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Photo.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Photo\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.25,10.25H20.5v-1.5h-9.375v1.5h-3.75c-1.104,0-2,0.896-2,2v10.375c0,1.104,0.896,2,2,2H24.25c1.104,0,2-0.896,2-2V12.25C26.25,11.146,25.354,10.25,24.25,10.25zM15.812,23.499c-3.342,0-6.06-2.719-6.06-6.061c0-3.342,2.718-6.062,6.06-6.062s6.062,2.72,6.062,6.062C21.874,20.78,19.153,23.499,15.812,23.499zM15.812,13.375c-2.244,0-4.062,1.819-4.062,4.062c0,2.244,1.819,4.062,4.062,4.062c2.244,0,4.062-1.818,4.062-4.062C19.875,15.194,18.057,13.375,15.812,13.375z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Picker.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Picker.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Picker();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Picker = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Picker.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Picker\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.221,10.853c-0.111-0.414-0.261-0.412,0.221-1.539l1.66-3.519c0.021-0.051,0.2-0.412,0.192-0.946c0.015-0.529-0.313-1.289-1.119-1.642c-1.172-0.555-1.17-0.557-2.344-1.107c-0.784-0.396-1.581-0.171-1.979,0.179c-0.42,0.333-0.584,0.7-0.609,0.75L16.58,6.545c-0.564,1.084-0.655,0.97-1.048,1.147c-0.469,0.129-1.244,0.558-1.785,1.815c-1.108,2.346-1.108,2.346-1.108,2.346l-0.276,0.586l1.17,0.553l-3.599,7.623c-0.38,0.828-0.166,1.436-0.166,2.032c0.01,0.627-0.077,1.509-0.876,3.21l-0.276,0.586l3.517,1.661l0.276-0.585c0.808-1.699,1.431-2.326,1.922-2.717c0.46-0.381,1.066-0.6,1.465-1.42l3.599-7.618l1.172,0.554l0.279-0.589c0,0,0,0,1.105-2.345C22.578,12.166,22.419,11.301,22.221,10.853zM14.623,22.83c-0.156,0.353-0.413,0.439-1.091,0.955c-0.577,0.448-1.264,1.172-2.009,2.6l-1.191-0.562c0.628-1.48,0.75-2.474,0.73-3.203c-0.031-0.851-0.128-1.104,0.045-1.449l3.599-7.621l3.517,1.662L14.623,22.83z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Picture.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Picture.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Picture();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Picture = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Picture.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Picture\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M2.5,4.833v22.334h27V4.833H2.5zM25.25,25.25H6.75V6.75h18.5V25.25zM11.25,14c1.426,0,2.583-1.157,2.583-2.583c0-1.427-1.157-2.583-2.583-2.583c-1.427,0-2.583,1.157-2.583,2.583C8.667,12.843,9.823,14,11.25,14zM24.251,16.25l-4.917-4.917l-6.917,6.917L10.5,16.333l-2.752,2.752v5.165h16.503V16.25z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/PieChart.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/PieChart.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.PieChart();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.PieChart = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.PieChart.prototype */\n{\n\n NAME: \"draw2d.shape.icon.PieChart\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.583,15.917l1.648-10.779C16.692,5.056,16.145,5,15.583,5C9.554,5,4.666,9.888,4.666,15.917c0,6.029,4.888,10.917,10.917,10.917S26.5,21.946,26.5,15.917c0-0.256-0.021-0.507-0.038-0.759L15.583,15.917zM19.437,3.127l-1.648,10.779l10.879-0.759C28.313,8.026,24.436,3.886,19.437,3.127z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Plane.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Plane.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Plane();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Plane = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Plane.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Plane\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M19.671,8.11l-2.777,2.777l-3.837-0.861c0.362-0.505,0.916-1.683,0.464-2.135c-0.518-0.517-1.979,0.278-2.305,0.604l-0.913,0.913L7.614,8.804l-2.021,2.021l2.232,1.061l-0.082,0.082l1.701,1.701l0.688-0.687l3.164,1.504L9.571,18.21H6.413l-1.137,1.138l3.6,0.948l1.83,1.83l0.947,3.598l1.137-1.137V21.43l3.725-3.725l1.504,3.164l-0.687,0.687l1.702,1.701l0.081-0.081l1.062,2.231l2.02-2.02l-0.604-2.689l0.912-0.912c0.326-0.326,1.121-1.789,0.604-2.306c-0.452-0.452-1.63,0.101-2.135,0.464l-0.861-3.838l2.777-2.777c0.947-0.947,3.599-4.862,2.62-5.839C24.533,4.512,20.618,7.163,19.671,8.11z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Plugin.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Plugin.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Plugin();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Plugin = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Plugin.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Plugin\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M26.33,15.836l-3.893-1.545l3.136-7.9c0.28-0.705-0.064-1.505-0.771-1.785c-0.707-0.28-1.506,0.065-1.785,0.771l-3.136,7.9l-4.88-1.937l3.135-7.9c0.281-0.706-0.064-1.506-0.77-1.786c-0.706-0.279-1.506,0.065-1.785,0.771l-3.136,7.9L8.554,8.781l-1.614,4.066l2.15,0.854l-2.537,6.391c-0.61,1.54,0.143,3.283,1.683,3.895l1.626,0.646L8.985,26.84c-0.407,1.025,0.095,2.188,1.122,2.596l0.93,0.369c1.026,0.408,2.188-0.095,2.596-1.121l0.877-2.207l1.858,0.737c1.54,0.611,3.284-0.142,3.896-1.682l2.535-6.391l1.918,0.761L26.33,15.836z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Plus.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Plus.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Plus();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Plus = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Plus.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Plus\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.979,12.896 19.312,12.896 19.312,6.229 12.647,6.229 12.647,12.896 5.979,12.896 5.979,19.562 12.647,19.562 12.647,26.229 19.312,26.229 19.312,19.562 25.979,19.562z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Power.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Power.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Power();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Power = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Power.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Power\",\n\n /**\n * Creates a new icon element which are not assigned to any canvas.\n *\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.542,8.354c-1.47-1.766-2.896-2.617-3.025-2.695c-0.954-0.565-2.181-0.241-2.739,0.724c-0.556,0.961-0.24,2.194,0.705,2.763c0,0,0.001,0,0.002,0.001c0.001,0,0.002,0.001,0.003,0.002c0.001,0,0.003,0.001,0.004,0.001c0.102,0.062,1.124,0.729,2.08,1.925c1.003,1.261,1.933,3.017,1.937,5.438c-0.001,2.519-1.005,4.783-2.64,6.438c-1.637,1.652-3.877,2.668-6.368,2.669c-2.491-0.001-4.731-1.017-6.369-2.669c-1.635-1.654-2.639-3.919-2.64-6.438c0.005-2.499,0.995-4.292,2.035-5.558c0.517-0.625,1.043-1.098,1.425-1.401c0.191-0.152,0.346-0.263,0.445-0.329c0.049-0.034,0.085-0.058,0.104-0.069c0.005-0.004,0.009-0.006,0.012-0.008s0.004-0.002,0.004-0.002l0,0c0.946-0.567,1.262-1.802,0.705-2.763c-0.559-0.965-1.785-1.288-2.739-0.724c-0.128,0.079-1.555,0.93-3.024,2.696c-1.462,1.751-2.974,4.511-2.97,8.157C2.49,23.775,8.315,29.664,15.5,29.667c7.186-0.003,13.01-5.892,13.012-13.155C28.516,12.864,27.005,10.105,25.542,8.354zM15.5,17.523c1.105,0,2.002-0.907,2.002-2.023h-0.001V3.357c0-1.118-0.896-2.024-2.001-2.024s-2.002,0.906-2.002,2.024V15.5C13.498,16.616,14.395,17.523,15.5,17.523z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Ppt.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Ppt.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Ppt();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Ppt = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Ppt.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Ppt\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16.604,1.914c0-0.575-0.466-1.041-1.041-1.041s-1.041,0.466-1.041,1.041v1.04h2.082V1.914zM16.604,22.717h-2.082v3.207c0,0.574-4.225,4.031-4.225,4.031l2.468-0.003l2.807-2.673l3.013,2.693l2.272-0.039l-4.254-4.011V22.717L16.604,22.717zM28.566,7.113c0.86,0,1.56-0.698,1.56-1.56c0-0.861-0.698-1.56-1.56-1.56H2.561c-0.861,0-1.56,0.699-1.56,1.56c0,0.862,0.699,1.56,1.56,1.56h1.583v12.505l-0.932-0.022c-0.861,0-1.213,0.467-1.213,1.04c0,0.576,0.352,1.041,1.213,1.041h24.597c0.86,0,1.299-0.465,1.299-1.041c0-1.094-1.299-1.04-1.299-1.04l-0.804,0.109V7.113H28.566zM11.435,17.516c-3.771,0-4.194-4.191-4.194-4.191c0-4.096,4.162-4.161,4.162-4.161v4.161h4.193C15.596,17.516,11.435,17.516,11.435,17.516zM18.716,13.388h-1.071v-1.073h1.071V13.388zM18.716,10.267h-1.071V9.194h1.071V10.267zM23.314,13.388H20.26c-0.296,0-0.535-0.24-0.535-0.536c0-0.297,0.239-0.537,0.535-0.537h3.057c0.297,0,0.535,0.24,0.535,0.537C23.852,13.147,23.611,13.388,23.314,13.388zM23.314,10.267H20.26c-0.296,0-0.535-0.239-0.535-0.535c0-0.297,0.239-0.537,0.535-0.537h3.057c0.297,0,0.535,0.24,0.535,0.537C23.852,10.027,23.611,10.267,23.314,10.267z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Printer.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Printer.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Printer();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Printer = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Printer.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Printer\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.569,12.125h-2.12c-0.207-1.34-1.247-2.759-2.444-3.967c-1.277-1.24-2.654-2.234-3.784-2.37c-0.062-0.008-0.124-0.014-0.198-0.015H8.594c-0.119,0-0.235,0.047-0.319,0.132c-0.083,0.083-0.132,0.2-0.132,0.32v5.9H6.069c-1.104,0-2,0.896-2,2V23h4.074v2.079c0,0.118,0.046,0.23,0.132,0.318c0.086,0.085,0.199,0.131,0.319,0.131h13.445c0.118,0,0.232-0.046,0.318-0.131s0.138-0.199,0.138-0.318V23h4.074v-8.875C26.569,13.021,25.674,12.125,24.569,12.125zM21.589,24.626H9.043V21.5h12.546V24.626zM21.589,13.921c0-0.03,0-0.063-0.003-0.096c-0.015-0.068-0.062-0.135-0.124-0.2H9.043v-6.95h6.987v0.001c0.305-0.019,0.567,0.282,0.769,0.971c0.183,0.655,0.229,1.509,0.229,2.102c0.001,0.433-0.019,0.725-0.019,0.725l-0.037,0.478l0.48,0.005c0.002,0,1.109,0.014,2.196,0.26c1.044,0.226,1.86,0.675,1.938,1.184c0.003,0.045,0.003,0.091,0.003,0.133V13.921z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Quote.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Quote.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Quote();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Quote = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Quote.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Quote\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.505,5.873c-3.937,2.52-5.904,5.556-5.904,9.108c0,1.104,0.192,1.656,0.576,1.656l0.396-0.107c0.312-0.12,0.563-0.18,0.756-0.18c1.128,0,2.07,0.411,2.826,1.229c0.756,0.82,1.134,1.832,1.134,3.037c0,1.157-0.408,2.14-1.224,2.947c-0.816,0.807-1.801,1.211-2.952,1.211c-1.608,0-2.935-0.661-3.979-1.984c-1.044-1.321-1.565-2.98-1.565-4.977c0-2.259,0.443-4.327,1.332-6.203c0.888-1.875,2.243-3.57,4.067-5.085c1.824-1.514,2.988-2.272,3.492-2.272c0.336,0,0.612,0.162,0.828,0.486c0.216,0.324,0.324,0.606,0.324,0.846L14.505,5.873zM27.465,5.873c-3.937,2.52-5.904,5.556-5.904,9.108c0,1.104,0.192,1.656,0.576,1.656l0.396-0.107c0.312-0.12,0.563-0.18,0.756-0.18c1.104,0,2.04,0.411,2.808,1.229c0.769,0.82,1.152,1.832,1.152,3.037c0,1.157-0.408,2.14-1.224,2.947c-0.816,0.807-1.801,1.211-2.952,1.211c-1.608,0-2.935-0.661-3.979-1.984c-1.044-1.321-1.565-2.98-1.565-4.977c0-2.284,0.449-4.369,1.35-6.256c0.9-1.887,2.256-3.577,4.068-5.067c1.812-1.49,2.97-2.236,3.474-2.236c0.336,0,0.612,0.162,0.828,0.486c0.216,0.324,0.324,0.606,0.324,0.846L27.465,5.873z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Rain.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Rain.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Rain();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Rain = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Rain.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Rain\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.371,7.306c-0.092-3.924-3.301-7.077-7.248-7.079c-2.638,0.001-4.942,1.412-6.208,3.517c-0.595-0.327-1.28-0.517-2.01-0.517C7.626,3.229,5.772,5.033,5.689,7.293c-2.393,0.786-4.125,3.025-4.127,5.686c0,3.312,2.687,6,6,6v-0.002h15.874c3.312,0,6-2.688,6-6C29.434,10.34,27.732,8.11,25.371,7.306zM23.436,16.979H7.561c-2.209-0.006-3.997-1.792-4.001-4.001c-0.002-1.982,1.45-3.618,3.35-3.931c0.265-0.043,0.502-0.191,0.657-0.414C7.722,8.41,7.779,8.136,7.73,7.87C7.702,7.722,7.685,7.582,7.685,7.446C7.689,6.221,8.68,5.23,9.905,5.228c0.647,0,1.217,0.278,1.633,0.731c0.233,0.257,0.587,0.375,0.927,0.309c0.342-0.066,0.626-0.307,0.748-0.63c0.749-1.992,2.662-3.412,4.911-3.41c2.899,0.004,5.244,2.35,5.251,5.249c0,0.161-0.009,0.326-0.027,0.497c-0.049,0.517,0.305,0.984,0.815,1.079c1.86,0.344,3.274,1.966,3.271,3.923C27.43,15.186,25.645,16.973,23.436,16.979zM9.029,26.682c0-1.115,0.021-5.425,0.021-5.432c0.002-0.409-0.247-0.779-0.628-0.932c-0.38-0.152-0.815-0.059-1.099,0.24c-0.006,0.008-1.037,1.098-2.081,2.342c-0.523,0.627-1.048,1.287-1.463,1.896c-0.399,0.648-0.753,1.066-0.811,1.885C2.971,28.355,4.324,29.711,6,29.714C7.672,29.71,9.029,28.354,9.029,26.682zM4.971,26.727c0.091-0.349,1.081-1.719,1.993-2.764c0.025-0.029,0.051-0.061,0.076-0.089c-0.005,1.124-0.01,2.294-0.01,2.808c0,0.567-0.461,1.028-1.029,1.03C5.447,27.71,4.997,27.273,4.971,26.727zM16.425,26.682c0-1.115,0.021-5.424,0.021-5.43c0.002-0.41-0.247-0.779-0.628-0.934c-0.381-0.152-0.814-0.058-1.1,0.242c-0.006,0.008-1.035,1.094-2.08,2.342c-0.522,0.623-1.047,1.285-1.463,1.894c-0.399,0.649-0.753,1.068-0.809,1.888c0,1.672,1.354,3.028,3.029,3.028C15.068,29.711,16.425,28.354,16.425,26.682zM12.365,26.729c0.092-0.349,1.081-1.72,1.993-2.765c0.025-0.03,0.05-0.06,0.075-0.089c-0.005,1.123-0.011,2.294-0.011,2.807c-0.002,0.568-0.461,1.027-1.028,1.029C12.84,27.709,12.392,27.273,12.365,26.729zM23.271,20.317c-0.38-0.153-0.816-0.06-1.099,0.24c-0.009,0.008-1.037,1.097-2.08,2.342c-0.523,0.625-1.049,1.285-1.462,1.896c-0.402,0.649-0.754,1.067-0.812,1.886c0,1.672,1.354,3.029,3.03,3.029c1.673,0,3.027-1.357,3.027-3.029c0-1.115,0.022-5.425,0.022-5.431C23.9,20.84,23.651,20.47,23.271,20.317zM21.879,26.681c-0.004,0.568-0.463,1.027-1.031,1.029c-0.553-0.002-1.002-0.438-1.028-0.982c0.092-0.349,1.081-1.72,1.993-2.765c0.025-0.028,0.05-0.059,0.074-0.088C21.883,24.998,21.879,26.167,21.879,26.681z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Raphael.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Raphael.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Raphael();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Raphael = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Raphael.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Raphael\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.777,18.941c0.584-0.881,0.896-1.914,0.896-2.998c0-1.457-0.567-2.826-1.598-3.854l-6.91-6.911l-0.003,0.002c-0.985-0.988-2.35-1.6-3.851-1.6c-1.502,0-2.864,0.612-3.85,1.6H12.46l-6.911,6.911c-1.031,1.029-1.598,2.398-1.598,3.854c0,1.457,0.567,2.826,1.598,3.854l6.231,6.229c0.25,0.281,0.512,0.544,0.789,0.785c1.016,0.961,2.338,1.49,3.743,1.49c1.456,0,2.825-0.565,3.854-1.598l6.723-6.725c0.021-0.019,0.034-0.032,0.051-0.051l0.14-0.138c0.26-0.26,0.487-0.54,0.688-0.838c0.004-0.008,0.01-0.015,0.014-0.021L27.777,18.941zM26.658,15.946c0,0.678-0.197,1.326-0.561,1.879c-0.222,0.298-0.447,0.559-0.684,0.784L25.4,18.625c-1.105,1.052-2.354,1.35-3.414,1.35c-0.584,0-1.109-0.09-1.523-0.195c-2.422-0.608-5.056-2.692-6.261-5.732c0.649,0.274,1.362,0.426,2.11,0.426c2.811,0,5.129-2.141,5.415-4.877l3.924,3.925C26.301,14.167,26.658,15.029,26.658,15.946zM16.312,5.6c1.89,0,3.426,1.538,3.426,3.427c0,1.89-1.536,3.427-3.426,3.427c-1.889,0-3.426-1.537-3.426-3.427C12.886,7.138,14.423,5.6,16.312,5.6zM6.974,18.375c-0.649-0.648-1.007-1.512-1.007-2.429c0-0.917,0.357-1.78,1.007-2.428l2.655-2.656c-0.693,2.359-0.991,4.842-0.831,7.221c0.057,0.854,0.175,1.677,0.345,2.46L6.974,18.375zM11.514,11.592c0.583,4.562,4.195,9.066,8.455,10.143c0.693,0.179,1.375,0.265,2.033,0.265c0.01,0,0.02,0,0.027,0l-3.289,3.289c-0.648,0.646-1.512,1.006-2.428,1.006c-0.638,0-1.248-0.177-1.779-0.5l0.001-0.002c-0.209-0.142-0.408-0.295-0.603-0.461c-0.015-0.019-0.031-0.026-0.046-0.043l-0.665-0.664c-1.367-1.567-2.227-3.903-2.412-6.671C10.669,15.856,10.921,13.673,11.514,11.592\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ReflectH.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/ReflectH.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ReflectH();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ReflectH = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ReflectH.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ReflectH\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.57,20.273h0.854v-1.705H15.57V20.273zM15.57,23.686h0.854V21.98H15.57V23.686zM15.57,27.096h0.854v-1.705H15.57V27.096zM15.57,29.689h0.854V28.8H15.57V29.689zM15.57,16.865h0.854V15.16H15.57V16.865zM15.57,3.225h0.854V1.52H15.57V3.225zM15.57,6.635h0.854V4.93H15.57V6.635zM15.57,10.045h0.854V8.34H15.57V10.045zM15.57,13.455h0.854V11.75H15.57V13.455zM18.41,3.327V25.46h12.015L18.41,3.327zM19.264,6.68l9.729,17.93h-9.729V6.68zM13.535,25.46V3.327L1.521,25.46H13.535z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ReflectV.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/ReflectV.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ReflectV();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ReflectV = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ReflectV.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ReflectV\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.643,16.008v-0.854h-1.705v0.854H20.643zM24.053,16.008v-0.854h-1.705v0.854H24.053zM27.463,16.008v-0.854h-1.705v0.854H27.463zM30.059,16.008v-0.854h-0.891v0.854H30.059zM17.232,16.008v-0.854h-1.709v0.854H17.232zM3.593,16.008v-0.854H1.888v0.854H3.593zM7.003,16.008v-0.854H5.298v0.854H7.003zM10.414,16.008v-0.854H8.709v0.854H10.414zM13.824,16.008v-0.854h-1.705v0.854H13.824zM3.694,13.167h22.134V1.152L3.694,13.167zM7.048,12.314l17.929-9.729v9.729H7.048zM25.828,18.042H3.694l22.134,12.015V18.042z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Refresh.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Refresh.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Refresh();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Refresh = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Refresh.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Refresh\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.083,15.5c-0.009,4.739-3.844,8.574-8.583,8.583c-4.741-0.009-8.577-3.844-8.585-8.583c0.008-4.741,3.844-8.577,8.585-8.585c1.913,0,3.665,0.629,5.09,1.686l-1.782,1.783l8.429,2.256l-2.26-8.427l-1.89,1.89c-2.072-1.677-4.717-2.688-7.587-2.688C8.826,3.418,3.418,8.826,3.416,15.5C3.418,22.175,8.826,27.583,15.5,27.583S27.583,22.175,27.583,15.5H24.083z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Resize2.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Resize2.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Resize2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Resize2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Resize2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Resize2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M1.999,2.332v26.499H28.5V2.332H1.999zM26.499,26.832H4V12.5h8.167V4.332h14.332V26.832zM15.631,17.649l5.468,5.469l-1.208,1.206l5.482,1.469l-1.47-5.481l-1.195,1.195l-5.467-5.466l1.209-1.208l-5.482-1.469l1.468,5.48L15.631,17.649z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Rotate.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Rotate.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Rotate();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Rotate = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Rotate.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Rotate\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.5,5.27c1.914,0,3.666,0.629,5.089,1.686l-1.781,1.783l8.428,2.256l-2.26-8.427l-1.889,1.89C21.016,2.781,18.371,1.77,15.5,1.77C8.827,1.773,3.418,7.181,3.417,13.855c0.001,4.063,2.012,7.647,5.084,9.838v-4.887c-0.993-1.4-1.583-3.105-1.585-4.952C6.923,9.114,10.759,5.278,15.5,5.27zM9.5,29.23h12V12.355h-12V29.23z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Ruler.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Ruler.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Ruler();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Ruler = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Ruler.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Ruler\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M6.63,21.796l-5.122,5.121h25.743V1.175L6.63,21.796zM18.702,10.48c0.186-0.183,0.48-0.183,0.664,0l1.16,1.159c0.184,0.183,0.186,0.48,0.002,0.663c-0.092,0.091-0.213,0.137-0.332,0.137c-0.121,0-0.24-0.046-0.33-0.137l-1.164-1.159C18.519,10.96,18.519,10.664,18.702,10.48zM17.101,12.084c0.184-0.183,0.48-0.183,0.662,0l2.156,2.154c0.184,0.183,0.184,0.48,0.002,0.661c-0.092,0.092-0.213,0.139-0.334,0.139s-0.24-0.046-0.33-0.137l-2.156-2.154C16.917,12.564,16.917,12.267,17.101,12.084zM15.497,13.685c0.184-0.183,0.48-0.183,0.664,0l1.16,1.161c0.184,0.183,0.182,0.48-0.002,0.663c-0.092,0.092-0.211,0.138-0.33,0.138c-0.121,0-0.24-0.046-0.332-0.138l-1.16-1.16C15.314,14.166,15.314,13.868,15.497,13.685zM13.896,15.288c0.184-0.183,0.48-0.181,0.664,0.002l1.158,1.159c0.183,0.184,0.183,0.48,0,0.663c-0.092,0.092-0.212,0.138-0.332,0.138c-0.119,0-0.24-0.046-0.332-0.138l-1.158-1.161C13.713,15.767,13.713,15.471,13.896,15.288zM12.293,16.892c0.183-0.184,0.479-0.184,0.663,0l2.154,2.153c0.184,0.184,0.184,0.481,0,0.665c-0.092,0.092-0.211,0.138-0.33,0.138c-0.121,0-0.242-0.046-0.334-0.138l-2.153-2.155C12.11,17.371,12.11,17.075,12.293,16.892zM10.302,24.515c-0.091,0.093-0.212,0.139-0.332,0.139c-0.119,0-0.238-0.045-0.33-0.137l-2.154-2.153c-0.184-0.183-0.184-0.479,0-0.663s0.479-0.184,0.662,0l2.154,2.153C10.485,24.036,10.485,24.332,10.302,24.515zM10.912,21.918c-0.093,0.093-0.214,0.139-0.333,0.139c-0.12,0-0.24-0.045-0.33-0.137l-1.162-1.161c-0.184-0.183-0.184-0.479,0-0.66c0.184-0.185,0.48-0.187,0.664-0.003l1.161,1.162C11.095,21.438,11.095,21.735,10.912,21.918zM12.513,20.316c-0.092,0.092-0.211,0.138-0.332,0.138c-0.119,0-0.239-0.046-0.331-0.138l-1.159-1.16c-0.184-0.184-0.184-0.48,0-0.664s0.48-0.182,0.663,0.002l1.159,1.161C12.696,19.838,12.696,20.135,12.513,20.316zM22.25,21.917h-8.67l8.67-8.67V21.917zM22.13,10.7c-0.09,0.092-0.211,0.138-0.33,0.138c-0.121,0-0.242-0.046-0.334-0.138l-1.16-1.159c-0.184-0.183-0.184-0.479,0-0.663c0.182-0.183,0.479-0.183,0.662,0l1.16,1.159C22.312,10.221,22.313,10.517,22.13,10.7zM24.726,10.092c-0.092,0.092-0.213,0.137-0.332,0.137s-0.24-0.045-0.33-0.137l-2.154-2.154c-0.184-0.183-0.184-0.481,0-0.664s0.482-0.181,0.664,0.002l2.154,2.154C24.911,9.613,24.909,9.91,24.726,10.092z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Run.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Run.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Run();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Run = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Run.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Run\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M17.41,20.395l-0.778-2.723c0.228-0.2,0.442-0.414,0.644-0.643l2.721,0.778c0.287-0.418,0.534-0.862,0.755-1.323l-2.025-1.96c0.097-0.288,0.181-0.581,0.241-0.883l2.729-0.684c0.02-0.252,0.039-0.505,0.039-0.763s-0.02-0.51-0.039-0.762l-2.729-0.684c-0.061-0.302-0.145-0.595-0.241-0.883l2.026-1.96c-0.222-0.46-0.469-0.905-0.756-1.323l-2.721,0.777c-0.201-0.228-0.416-0.442-0.644-0.643l0.778-2.722c-0.418-0.286-0.863-0.534-1.324-0.755l-1.96,2.026c-0.287-0.097-0.581-0.18-0.883-0.241l-0.683-2.73c-0.253-0.019-0.505-0.039-0.763-0.039s-0.51,0.02-0.762,0.039l-0.684,2.73c-0.302,0.061-0.595,0.144-0.883,0.241l-1.96-2.026C7.048,3.463,6.604,3.71,6.186,3.997l0.778,2.722C6.736,6.919,6.521,7.134,6.321,7.361L3.599,6.583C3.312,7.001,3.065,7.446,2.844,7.907l2.026,1.96c-0.096,0.288-0.18,0.581-0.241,0.883l-2.73,0.684c-0.019,0.252-0.039,0.505-0.039,0.762s0.02,0.51,0.039,0.763l2.73,0.684c0.061,0.302,0.145,0.595,0.241,0.883l-2.026,1.96c0.221,0.46,0.468,0.905,0.755,1.323l2.722-0.778c0.2,0.229,0.415,0.442,0.643,0.643l-0.778,2.723c0.418,0.286,0.863,0.533,1.323,0.755l1.96-2.026c0.288,0.097,0.581,0.181,0.883,0.241l0.684,2.729c0.252,0.02,0.505,0.039,0.763,0.039s0.51-0.02,0.763-0.039l0.683-2.729c0.302-0.061,0.596-0.145,0.883-0.241l1.96,2.026C16.547,20.928,16.992,20.681,17.41,20.395zM11.798,15.594c-1.877,0-3.399-1.522-3.399-3.399s1.522-3.398,3.399-3.398s3.398,1.521,3.398,3.398S13.675,15.594,11.798,15.594zM27.29,22.699c0.019-0.547-0.06-1.104-0.23-1.654l1.244-1.773c-0.188-0.35-0.4-0.682-0.641-0.984l-2.122,0.445c-0.428-0.364-0.915-0.648-1.436-0.851l-0.611-2.079c-0.386-0.068-0.777-0.105-1.173-0.106l-0.974,1.936c-0.279,0.054-0.558,0.128-0.832,0.233c-0.257,0.098-0.497,0.22-0.727,0.353L17.782,17.4c-0.297,0.262-0.568,0.545-0.813,0.852l0.907,1.968c-0.259,0.495-0.437,1.028-0.519,1.585l-1.891,1.06c0.019,0.388,0.076,0.776,0.164,1.165l2.104,0.519c0.231,0.524,0.541,0.993,0.916,1.393l-0.352,2.138c0.32,0.23,0.66,0.428,1.013,0.6l1.715-1.32c0.536,0.141,1.097,0.195,1.662,0.15l1.452,1.607c0.2-0.057,0.399-0.118,0.596-0.193c0.175-0.066,0.34-0.144,0.505-0.223l0.037-2.165c0.455-0.339,0.843-0.747,1.152-1.206l2.161-0.134c0.152-0.359,0.279-0.732,0.368-1.115L27.29,22.699zM23.127,24.706c-1.201,0.458-2.545-0.144-3.004-1.345s0.143-2.546,1.344-3.005c1.201-0.458,2.547,0.144,3.006,1.345C24.931,22.902,24.328,24.247,23.127,24.706z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Rw.js\":\n/*!******************************!*\\\n !*** ./src/shape/icon/Rw.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Rw();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Rw = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Rw.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Rw\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M5.5,15.499,15.8,21.447,15.8,15.846,25.5,21.447,25.5,9.552,15.8,15.152,15.8,9.552z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Safari.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Safari.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Safari();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Safari = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Safari.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Safari\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16.154,5.135c-0.504,0-1,0.031-1.488,0.089l-0.036-0.18c-0.021-0.104-0.06-0.198-0.112-0.283c0.381-0.308,0.625-0.778,0.625-1.306c0-0.927-0.751-1.678-1.678-1.678s-1.678,0.751-1.678,1.678c0,0.745,0.485,1.376,1.157,1.595c-0.021,0.105-0.021,0.216,0,0.328l0.033,0.167C7.645,6.95,3.712,11.804,3.712,17.578c0,6.871,5.571,12.441,12.442,12.441c6.871,0,12.441-5.57,12.441-12.441C28.596,10.706,23.025,5.135,16.154,5.135zM16.369,8.1c4.455,0,8.183,3.116,9.123,7.287l-0.576,0.234c-0.148-0.681-0.755-1.191-1.48-1.191c-0.837,0-1.516,0.679-1.516,1.516c0,0.075,0.008,0.148,0.018,0.221l-2.771-0.028c-0.054-0.115-0.114-0.226-0.182-0.333l3.399-5.11l0.055-0.083l-4.766,4.059c-0.352-0.157-0.74-0.248-1.148-0.256l0.086-0.018l-1.177-2.585c0.64-0.177,1.111-0.763,1.111-1.459c0-0.837-0.678-1.515-1.516-1.515c-0.075,0-0.147,0.007-0.219,0.018l0.058-0.634C15.357,8.141,15.858,8.1,16.369,8.1zM12.146,3.455c0-0.727,0.591-1.318,1.318-1.318c0.727,0,1.318,0.591,1.318,1.318c0,0.425-0.203,0.802-0.516,1.043c-0.183-0.123-0.413-0.176-0.647-0.13c-0.226,0.045-0.413,0.174-0.535,0.349C12.542,4.553,12.146,4.049,12.146,3.455zM7.017,17.452c0-4.443,3.098-8.163,7.252-9.116l0.297,0.573c-0.61,0.196-1.051,0.768-1.051,1.442c0,0.837,0.678,1.516,1.515,1.516c0.068,0,0.135-0.006,0.2-0.015l-0.058,2.845l0.052-0.011c-0.442,0.204-0.824,0.513-1.116,0.895l0.093-0.147l-1.574-0.603l1.172,1.239l0.026-0.042c-0.19,0.371-0.306,0.788-0.324,1.229l-0.003-0.016l-2.623,1.209c-0.199-0.604-0.767-1.041-1.438-1.041c-0.837,0-1.516,0.678-1.516,1.516c0,0.064,0.005,0.128,0.013,0.191l-0.783-0.076C7.063,18.524,7.017,17.994,7.017,17.452zM16.369,26.805c-4.429,0-8.138-3.078-9.106-7.211l0.691-0.353c0.146,0.686,0.753,1.2,1.482,1.2c0.837,0,1.515-0.679,1.515-1.516c0-0.105-0.011-0.207-0.031-0.307l2.858,0.03c0.045,0.095,0.096,0.187,0.15,0.276l-3.45,5.277l0.227-0.195l4.529-3.92c0.336,0.153,0.705,0.248,1.094,0.266l-0.019,0.004l1.226,2.627c-0.655,0.166-1.142,0.76-1.142,1.468c0,0.837,0.678,1.515,1.516,1.515c0.076,0,0.151-0.007,0.225-0.018l0.004,0.688C17.566,26.746,16.975,26.805,16.369,26.805zM18.662,26.521l-0.389-0.6c0.661-0.164,1.152-0.759,1.152-1.47c0-0.837-0.68-1.516-1.516-1.516c-0.066,0-0.13,0.005-0.193,0.014v-2.86l-0.025,0.004c0.409-0.185,0.77-0.459,1.055-0.798l1.516,0.659l-1.104-1.304c0.158-0.335,0.256-0.704,0.278-1.095l2.552-1.164c0.19,0.618,0.766,1.068,1.447,1.068c0.838,0,1.516-0.679,1.516-1.516c0-0.069-0.006-0.137-0.016-0.204l0.65,0.12c0.089,0.517,0.136,1.049,0.136,1.591C25.722,21.826,22.719,25.499,18.662,26.521z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ScrewDriver.js\":\n/*!***************************************!*\\\n !*** ./src/shape/icon/ScrewDriver.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ScrewDriver();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ScrewDriver = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ScrewDriver.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ScrewDriver\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M19.387,14.373c2.119-2.619,5.322-6.77,5.149-7.75c-0.128-0.729-0.882-1.547-1.763-2.171c-0.883-0.625-1.916-1.044-2.645-0.915c-0.98,0.173-3.786,4.603-5.521,7.49c-0.208,0.344,0.328,1.177,0.156,1.468c-0.172,0.292-1.052,0.042-1.18,0.261c-0.263,0.451-0.417,0.722-0.417,0.722s-0.553,0.823,1.163,2.163l-5.233,7.473c-0.267,0.381-1.456,0.459-1.456,0.459l-1.184,3.312l0.859,0.602l2.708-2.246c0,0-0.334-1.143-0.068-1.523l5.242-7.489c1.719,1,2.377,0.336,2.377,0.336s0.201-0.238,0.536-0.639c0.161-0.194-0.374-0.936-0.159-1.197C18.169,14.467,19.133,14.685,19.387,14.373z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Search.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Search.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Search();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Search = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Search.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Search\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Sencha.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Sencha.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Sencha();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Sencha = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Sencha.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Sencha\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M18.265,22.734c1.365,0.662,2.309,2.062,2.309,3.682c0,1.566-0.881,2.928-2.176,3.615l1.922-0.98c3.16-1.58,5.332-4.846,5.332-8.617c0-3.719-2.109-6.945-5.195-8.547l-6.272-3.144c-1.366-0.662-2.308-2.062-2.308-3.682c0-1.567,0.881-2.928,2.175-3.614L12.13,2.428c-3.161,1.578-5.332,4.843-5.332,8.616c0,3.718,2.108,6.944,5.195,8.546L18.265,22.734z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Settings.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Settings.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Settings();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Settings = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Settings.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Settings\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16.015,12.03c-2.156,0-3.903,1.747-3.903,3.903c0,2.155,1.747,3.903,3.903,3.903c0.494,0,0.962-0.102,1.397-0.27l0.836,1.285l1.359-0.885l-0.831-1.276c0.705-0.706,1.142-1.681,1.142-2.757C19.918,13.777,18.171,12.03,16.015,12.03zM16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466zM26.174,20.809c-0.241,0.504-0.513,0.99-0.826,1.45L22.19,21.58c-0.481,0.526-1.029,0.994-1.634,1.385l0.119,3.202c-0.507,0.23-1.028,0.421-1.569,0.57l-1.955-2.514c-0.372,0.051-0.75,0.086-1.136,0.086c-0.356,0-0.706-0.029-1.051-0.074l-1.945,2.5c-0.541-0.151-1.065-0.342-1.57-0.569l0.117-3.146c-0.634-0.398-1.208-0.88-1.712-1.427L6.78,22.251c-0.313-0.456-0.583-0.944-0.826-1.448l2.088-2.309c-0.226-0.703-0.354-1.451-0.385-2.223l-2.768-1.464c0.055-0.563,0.165-1.107,0.301-1.643l3.084-0.427c0.29-0.702,0.675-1.352,1.135-1.942L8.227,7.894c0.399-0.389,0.83-0.744,1.283-1.07l2.663,1.672c0.65-0.337,1.349-0.593,2.085-0.75l0.968-3.001c0.278-0.021,0.555-0.042,0.837-0.042c0.282,0,0.56,0.022,0.837,0.042l0.976,3.028c0.72,0.163,1.401,0.416,2.036,0.75l2.704-1.697c0.455,0.326,0.887,0.681,1.285,1.07l-1.216,2.986c0.428,0.564,0.793,1.181,1.068,1.845l3.185,0.441c0.135,0.535,0.247,1.081,0.302,1.643l-2.867,1.516c-0.034,0.726-0.15,1.43-0.355,2.1L26.174,20.809z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/SettingsAlt.js\":\n/*!***************************************!*\\\n !*** ./src/shape/icon/SettingsAlt.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.SettingsAlt();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.SettingsAlt = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.SettingsAlt.prototype */\n{\n\n NAME: \"draw2d.shape.icon.SettingsAlt\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466zM24.386,14.968c-1.451,1.669-3.706,2.221-5.685,1.586l-7.188,8.266c-0.766,0.88-2.099,0.97-2.979,0.205s-0.973-2.099-0.208-2.979l7.198-8.275c-0.893-1.865-0.657-4.164,0.787-5.824c1.367-1.575,3.453-2.151,5.348-1.674l-2.754,3.212l0.901,2.621l2.722,0.529l2.761-3.22C26.037,11.229,25.762,13.387,24.386,14.968z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Shuffle.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Shuffle.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Shuffle();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Shuffle = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Shuffle.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Shuffle\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.786,20.654c-0.618-0.195-1.407-0.703-2.291-1.587c-0.757-0.742-1.539-1.698-2.34-2.741c-0.191,0.256-0.382,0.51-0.574,0.77c-0.524,0.709-1.059,1.424-1.604,2.127c1.904,2.31,3.88,4.578,6.809,4.952v2.701l7.556-4.362l-7.556-4.362V20.654zM9.192,11.933c0.756,0.741,1.538,1.697,2.339,2.739c0.195-0.262,0.39-0.521,0.587-0.788c0.52-0.703,1.051-1.412,1.592-2.11c-2.032-2.463-4.133-4.907-7.396-5.025h-3.5v3.5h3.5C6.969,10.223,7.996,10.735,9.192,11.933zM21.786,10.341v2.535l7.556-4.363l-7.556-4.363v2.647c-1.904,0.219-3.425,1.348-4.751,2.644c-2.196,2.183-4.116,5.167-6.011,7.538c-1.867,2.438-3.741,3.888-4.712,3.771h-3.5v3.5h3.5c2.185-0.029,3.879-1.266,5.34-2.693c2.194-2.184,4.116-5.167,6.009-7.538C19.205,12.003,20.746,10.679,21.786,10.341z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Skull.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Skull.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Skull();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Skull = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Skull.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Skull\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.947,11.14c0-5.174-3.979-9.406-10.613-9.406c-6.633,0-10.282,4.232-10.282,9.406c0,5.174,1.459,4.511,1.459,7.43c0,1.095-1.061,0.564-1.061,2.919c0,2.587,3.615,2.223,4.677,3.283c1.061,1.062,0.961,3.019,0.961,3.019s0.199,0.796,0.564,0.563c0,0,0.232,0.564,0.498,0.232c0,0,0.265,0.563,0.531,0.1c0,0,0.265,0.631,0.696,0.166c0,0,0.431,0.63,0.929,0.133c0,0,0.564,0.53,1.194,0.133c0.63,0.397,1.194-0.133,1.194-0.133c0.497,0.497,0.929-0.133,0.929-0.133c0.432,0.465,0.695-0.166,0.695-0.166c0.268,0.464,0.531-0.1,0.531-0.1c0.266,0.332,0.498-0.232,0.498-0.232c0.365,0.232,0.564-0.563,0.564-0.563s-0.1-1.957,0.961-3.019c1.062-1.061,4.676-0.696,4.676-3.283c0-2.354-1.061-1.824-1.061-2.919C24.488,15.651,25.947,16.314,25.947,11.14zM10.333,20.992c-1.783,0.285-2.59-0.215-2.785-1.492c-0.508-3.328,2.555-3.866,4.079-3.683c0.731,0.088,1.99,0.862,1.99,1.825C13.617,20.229,11.992,20.727,10.333,20.992zM16.461,25.303c-0.331,0-0.862-0.431-0.895-1.227c-0.033,0.796-0.63,1.227-0.961,1.227c-0.332,0-0.83-0.331-0.863-1.127c-0.033-0.796,1.028-4.013,1.792-4.013c0.762,0,1.824,3.217,1.791,4.013S16.794,25.303,16.461,25.303zM23.361,19.5c-0.195,1.277-1.004,1.777-2.787,1.492c-1.658-0.266-3.283-0.763-3.283-3.35c0-0.963,1.258-1.737,1.99-1.825C20.805,15.634,23.869,16.172,23.361,19.5z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Skype.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Skype.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Skype();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Skype = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Skype.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Skype\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.777,18.438c0.209-0.948,0.318-1.934,0.318-2.944c0-7.578-6.144-13.722-13.724-13.722c-0.799,0-1.584,0.069-2.346,0.2C11.801,1.199,10.35,0.75,8.793,0.75c-4.395,0-7.958,3.562-7.958,7.958c0,1.47,0.399,2.845,1.094,4.024c-0.183,0.893-0.277,1.814-0.277,2.76c0,7.58,6.144,13.723,13.722,13.723c0.859,0,1.699-0.078,2.515-0.23c1.119,0.604,2.399,0.945,3.762,0.945c4.395,0,7.957-3.562,7.957-7.959C29.605,20.701,29.309,19.502,28.777,18.438zM22.412,22.051c-0.635,0.898-1.573,1.609-2.789,2.115c-1.203,0.5-2.646,0.754-4.287,0.754c-1.971,0-3.624-0.346-4.914-1.031C9.5,23.391,8.74,22.717,8.163,21.885c-0.583-0.842-0.879-1.676-0.879-2.479c0-0.503,0.192-0.939,0.573-1.296c0.375-0.354,0.857-0.532,1.432-0.532c0.471,0,0.878,0.141,1.209,0.422c0.315,0.269,0.586,0.662,0.805,1.174c0.242,0.558,0.508,1.027,0.788,1.397c0.269,0.355,0.656,0.656,1.151,0.89c0.497,0.235,1.168,0.354,1.992,0.354c1.135,0,2.064-0.241,2.764-0.721c0.684-0.465,1.016-1.025,1.016-1.711c0-0.543-0.173-0.969-0.529-1.303c-0.373-0.348-0.865-0.621-1.465-0.807c-0.623-0.195-1.47-0.404-2.518-0.623c-1.424-0.306-2.634-0.668-3.596-1.076c-0.984-0.419-1.777-1-2.357-1.727c-0.59-0.736-0.889-1.662-0.889-2.75c0-1.036,0.314-1.971,0.933-2.776c0.613-0.8,1.51-1.423,2.663-1.849c1.139-0.422,2.494-0.635,4.027-0.635c1.225,0,2.303,0.141,3.201,0.421c0.904,0.282,1.668,0.662,2.267,1.13c0.604,0.472,1.054,0.977,1.335,1.5c0.284,0.529,0.43,1.057,0.43,1.565c0,0.49-0.189,0.937-0.563,1.324c-0.375,0.391-0.851,0.589-1.408,0.589c-0.509,0-0.905-0.124-1.183-0.369c-0.258-0.227-0.523-0.58-0.819-1.09c-0.342-0.65-0.756-1.162-1.229-1.523c-0.463-0.351-1.232-0.529-2.292-0.529c-0.984,0-1.784,0.197-2.379,0.588c-0.572,0.375-0.85,0.805-0.85,1.314c0,0.312,0.09,0.574,0.273,0.799c0.195,0.238,0.471,0.447,0.818,0.621c0.36,0.182,0.732,0.326,1.104,0.429c0.382,0.106,1.021,0.263,1.899,0.466c1.11,0.238,2.131,0.506,3.034,0.793c0.913,0.293,1.703,0.654,2.348,1.072c0.656,0.429,1.178,0.979,1.547,1.635c0.369,0.658,0.558,1.471,0.558,2.416C23.371,20.119,23.049,21.148,22.412,22.051z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/SlideShare.js\":\n/*!**************************************!*\\\n !*** ./src/shape/icon/SlideShare.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.SlideShare();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.SlideShare = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.SlideShare.prototype */\n{\n\n NAME: \"draw2d.shape.icon.SlideShare\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.952,12.795c-0.956,1.062-5.073,2.409-5.604,2.409h-4.513c-0.749,0-1.877,0.147-2.408,0.484c0.061,0.054,0.122,0.108,0.181,0.163c0.408,0.379,1.362,0.913,2.206,0.913c0.397,0,0.723-0.115,1-0.354c1.178-1.007,1.79-1.125,2.145-1.125c0.421,0,0.783,0.193,0.996,0.531c0.4,0.626,0.106,1.445-0.194,2.087c-0.718,1.524-3.058,3.171-5.595,3.171c-0.002,0-0.002,0-0.004,0c-0.354,0-0.701-0.033-1.033-0.099v3.251c0,0.742,1.033,2.533,4.167,2.533s3.955-3.701,3.955-4.338v-4.512c2.23-1.169,4.512-1.805,5.604-3.895C30.882,12.05,29.907,11.733,28.952,12.795zM21.942,17.521c0.796-1.699-0.053-1.699-1.54-0.425s-3.665,0.105-4.408-0.585c-0.743-0.689-1.486-1.22-2.814-1.167c-1.328,0.053-4.46-0.161-6.267-0.585c-1.805-0.425-4.895-3-5.15-2.335c-0.266,0.69,0.211,1.168,1.168,2.335c0.955,1.169,5.075,2.778,5.075,2.778s0,3.453,0,4.886c0,1.435,2.973,3.61,4.512,3.61s2.708-1.062,2.708-1.806v-4.512C17.775,21.045,21.146,19.221,21.942,17.521zM20.342,13.73c1.744,0,3.159-1.414,3.159-3.158c0-1.745-1.415-3.159-3.159-3.159s-3.158,1.414-3.158,3.159C17.184,12.316,18.598,13.73,20.342,13.73zM12.019,13.73c1.744,0,3.158-1.414,3.158-3.158c0-1.745-1.414-3.159-3.158-3.159c-1.745,0-3.159,1.414-3.159,3.159C8.86,12.316,10.273,13.73,12.019,13.73z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Smile.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Smile.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Smile();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Smile = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Smile.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Smile\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466zM20.729,7.375c0.934,0,1.688,1.483,1.688,3.312S21.661,14,20.729,14c-0.932,0-1.688-1.483-1.688-3.312S19.798,7.375,20.729,7.375zM11.104,7.375c0.932,0,1.688,1.483,1.688,3.312S12.037,14,11.104,14s-1.688-1.483-1.688-3.312S10.172,7.375,11.104,7.375zM16.021,26c-2.873,0-5.563-1.757-7.879-4.811c2.397,1.564,5.021,2.436,7.774,2.436c2.923,0,5.701-0.98,8.215-2.734C21.766,24.132,18.99,26,16.021,26z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Smile2.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Smile2.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Smile2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Smile2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Smile2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Smile2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466zM16,29.534C8.539,29.534,2.466,23.462,2.466,16C2.466,8.539,8.539,2.466,16,2.466c7.462,0,13.535,6.072,13.535,13.533C29.534,23.462,23.462,29.534,16,29.534zM11.104,14c0.932,0,1.688-1.483,1.688-3.312s-0.755-3.312-1.688-3.312s-1.688,1.483-1.688,3.312S10.172,14,11.104,14zM20.729,14c0.934,0,1.688-1.483,1.688-3.312s-0.756-3.312-1.688-3.312c-0.932,0-1.688,1.483-1.688,3.312S19.798,14,20.729,14zM8.143,21.189C10.458,24.243,13.148,26,16.021,26c2.969,0,5.745-1.868,8.11-5.109c-2.515,1.754-5.292,2.734-8.215,2.734C13.164,23.625,10.54,22.756,8.143,21.189z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Snow.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Snow.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Snow();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Snow = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Snow.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Snow\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.372,6.912c-0.093-3.925-3.302-7.078-7.248-7.08c-2.638,0.002-4.942,1.412-6.208,3.518c-0.595-0.327-1.28-0.518-2.01-0.518C7.627,2.834,5.773,4.639,5.69,6.898c-2.393,0.786-4.125,3.025-4.127,5.686c0,3.312,2.687,6,6,6v-0.002h15.875c3.312,0,6-2.688,6-6C29.434,9.944,27.732,7.715,25.372,6.912zM23.436,16.584H7.562c-2.209-0.006-3.997-1.793-4.001-4c-0.002-1.983,1.45-3.619,3.35-3.933c0.265-0.043,0.502-0.19,0.657-0.414C7.723,8.015,7.78,7.74,7.731,7.475C7.703,7.326,7.686,7.187,7.686,7.051c0.004-1.225,0.995-2.217,2.22-2.219c0.647,0,1.217,0.278,1.633,0.731c0.233,0.257,0.587,0.375,0.927,0.31c0.342-0.066,0.626-0.308,0.748-0.631c0.749-1.992,2.662-3.412,4.911-3.41c2.898,0.004,5.244,2.351,5.251,5.25c0,0.16-0.009,0.325-0.026,0.496c-0.05,0.518,0.305,0.984,0.814,1.079c1.859,0.345,3.273,1.966,3.271,3.923C27.43,14.791,25.645,16.578,23.436,16.584zM16.667,24.09l1.119-1.119c0.389-0.391,0.389-1.025,0-1.416c-0.392-0.391-1.025-0.391-1.415,0l-1.119,1.119l-1.119-1.119c-0.391-0.391-1.025-0.391-1.415,0c-0.391,0.391-0.391,1.025,0,1.416l1.118,1.117l-1.12,1.121c-0.389,0.393-0.389,1.021,0,1.414c0.195,0.188,0.451,0.293,0.707,0.293c0.256,0,0.512-0.104,0.708-0.293l1.12-1.119l1.12,1.119c0.195,0.188,0.451,0.293,0.708,0.293c0.256,0,0.512-0.104,0.707-0.293c0.391-0.396,0.391-1.021,0-1.414L16.667,24.09zM25.119,21.817c-0.393-0.392-1.025-0.392-1.415,0l-1.12,1.121l-1.12-1.121c-0.391-0.392-1.022-0.392-1.414,0c-0.39,0.392-0.39,1.022,0,1.416l1.119,1.119l-1.119,1.119c-0.39,0.391-0.39,1.022,0,1.413c0.195,0.195,0.451,0.294,0.707,0.294c0.257,0,0.513-0.099,0.707-0.294l1.12-1.118l1.12,1.118c0.194,0.195,0.45,0.294,0.707,0.294c0.256,0,0.513-0.099,0.708-0.294c0.389-0.391,0.389-1.022,0-1.413l-1.12-1.119l1.12-1.119C25.507,22.842,25.507,22.209,25.119,21.817zM9.334,23.953l1.119-1.119c0.389-0.394,0.389-1.021,0-1.414c-0.391-0.394-1.025-0.394-1.415,0l-1.119,1.119l-1.12-1.121c-0.391-0.39-1.023-0.39-1.415,0c-0.391,0.396-0.391,1.024,0,1.418l1.119,1.117l-1.12,1.118c-0.391,0.394-0.391,1.025,0,1.414c0.196,0.195,0.452,0.293,0.708,0.293c0.256,0,0.511-0.098,0.707-0.293l1.12-1.119l1.121,1.121c0.195,0.195,0.451,0.293,0.707,0.293s0.513-0.098,0.708-0.293c0.389-0.391,0.389-1.022,0-1.416L9.334,23.953z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Split.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Split.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Split();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Split = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Split.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Split\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.786,20.698c-1.792-0.237-2.912-1.331-4.358-2.886c-0.697-0.751-1.428-1.577-2.324-2.319c1.396-1.165,2.411-2.519,3.483-3.503c1.01-0.92,1.901-1.519,3.199-1.688v2.574l7.556-4.363L21.786,4.15v2.652c-3.34,0.266-5.45,2.378-6.934,4.013c-0.819,0.896-1.537,1.692-2.212,2.192c-0.685,0.501-1.227,0.731-2.013,0.742c-0.001,0-0.002,0-0.003,0H2.812v3.5h0.001v0.001c0,0,0.046-0.001,0.136-0.001h7.677c0.786,0.011,1.33,0.241,2.017,0.743c1.021,0.743,2.095,2.181,3.552,3.568c1.312,1.258,3.162,2.46,5.592,2.649v2.664l7.556-4.36l-7.556-4.361V20.698z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Star.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Star.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Star();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Star = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Star.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Star\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,22.375L7.116,28.83l3.396-10.438l-8.883-6.458l10.979,0.002L16.002,1.5l3.391,10.434h10.981l-8.886,6.457l3.396,10.439L16,22.375L16,22.375z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Star2.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Star2.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Star2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Star2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Star2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Star2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.615,4.928c0.487-0.986,1.284-0.986,1.771,0l2.249,4.554c0.486,0.986,1.775,1.923,2.864,2.081l5.024,0.73c1.089,0.158,1.335,0.916,0.547,1.684l-3.636,3.544c-0.788,0.769-1.28,2.283-1.095,3.368l0.859,5.004c0.186,1.085-0.459,1.553-1.433,1.041l-4.495-2.363c-0.974-0.512-2.567-0.512-3.541,0l-4.495,2.363c-0.974,0.512-1.618,0.044-1.432-1.041l0.858-5.004c0.186-1.085-0.307-2.6-1.094-3.368L3.93,13.977c-0.788-0.768-0.542-1.525,0.547-1.684l5.026-0.73c1.088-0.158,2.377-1.095,2.864-2.081L14.615,4.928z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Star2Off.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Star2Off.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Star2Off();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Star2Off = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Star2Off.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Star2Off\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M26.522,12.293l-5.024-0.73c-1.089-0.158-2.378-1.095-2.864-2.081l-2.249-4.554c-0.487-0.986-1.284-0.986-1.771,0l-2.247,4.554c-0.487,0.986-1.776,1.923-2.864,2.081l-5.026,0.73c-1.088,0.158-1.334,0.916-0.547,1.684l3.637,3.544c0.788,0.769,1.28,2.283,1.094,3.368l-0.858,5.004c-0.186,1.085,0.458,1.553,1.432,1.041l4.495-2.363c0.974-0.512,2.566-0.512,3.541,0l4.495,2.363c0.974,0.512,1.618,0.044,1.433-1.041l-0.859-5.004c-0.186-1.085,0.307-2.6,1.095-3.368l3.636-3.544C27.857,13.209,27.611,12.452,26.522,12.293zM22.037,16.089c-1.266,1.232-1.966,3.394-1.67,5.137l0.514,2.984l-2.679-1.409c-0.757-0.396-1.715-0.612-2.702-0.612s-1.945,0.216-2.7,0.61l-2.679,1.409l0.511-2.982c0.297-1.743-0.404-3.905-1.671-5.137l-2.166-2.112l2.995-0.435c1.754-0.255,3.592-1.591,4.373-3.175L15.5,7.652l1.342,2.716c0.781,1.583,2.617,2.92,4.369,3.173l2.992,0.435L22.037,16.089z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Star3.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Star3.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Star3();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Star3 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Star3.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Star3\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.441,28.181c-0.419,0-0.835-0.132-1.189-0.392l-5.751-4.247L9.75,27.789c-0.354,0.26-0.771,0.392-1.189,0.392c-0.412,0-0.824-0.128-1.175-0.384c-0.707-0.511-1-1.422-0.723-2.25l2.26-6.783l-5.815-4.158c-0.71-0.509-1.009-1.416-0.74-2.246c0.268-0.826,1.037-1.382,1.904-1.382c0.004,0,0.01,0,0.014,0l7.15,0.056l2.157-6.816c0.262-0.831,1.035-1.397,1.906-1.397s1.645,0.566,1.906,1.397l2.155,6.816l7.15-0.056c0.004,0,0.01,0,0.015,0c0.867,0,1.636,0.556,1.903,1.382c0.271,0.831-0.028,1.737-0.739,2.246l-5.815,4.158l2.263,6.783c0.276,0.826-0.017,1.737-0.721,2.25C23.268,28.053,22.854,28.181,22.441,28.181L22.441,28.181z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Star3Off.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Star3Off.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Star3Off();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Star3Off = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Star3Off.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Star3Off\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M28.631,12.359c-0.268-0.826-1.036-1.382-1.903-1.382h-0.015l-7.15,0.056l-2.155-6.816c-0.262-0.831-1.035-1.397-1.906-1.397s-1.645,0.566-1.906,1.397l-2.157,6.816l-7.15-0.056H4.273c-0.868,0-1.636,0.556-1.904,1.382c-0.27,0.831,0.029,1.737,0.74,2.246l5.815,4.158l-2.26,6.783c-0.276,0.828,0.017,1.739,0.723,2.25c0.351,0.256,0.763,0.384,1.175,0.384c0.418,0,0.834-0.132,1.189-0.392l5.751-4.247l5.751,4.247c0.354,0.26,0.771,0.392,1.189,0.392c0.412,0,0.826-0.128,1.177-0.384c0.704-0.513,0.997-1.424,0.721-2.25l-2.263-6.783l5.815-4.158C28.603,14.097,28.901,13.19,28.631,12.359zM19.712,17.996l2.729,8.184l-6.94-5.125L8.56,26.18l2.729-8.184l-7.019-5.018l8.627,0.066L15.5,4.82l2.603,8.225l8.627-0.066L19.712,17.996z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/StarOff.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/StarOff.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.StarOff();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.StarOff = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.StarOff.prototype */\n{\n\n NAME: \"draw2d.shape.icon.StarOff\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,22.375L7.116,28.83l3.396-10.438l-8.883-6.458l10.979,0.002L16.002,1.5l3.391,10.434h10.981l-8.886,6.457l3.396,10.439L16,22.375L16,22.375zM22.979,26.209l-2.664-8.205l6.979-5.062h-8.627L16,4.729l-2.666,8.206H4.708l6.979,5.07l-2.666,8.203L16,21.146L22.979,26.209L22.979,26.209z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Start.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Start.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Start();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Start = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Start.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Start\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Sticker.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Sticker.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Sticker();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Sticker = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Sticker.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Sticker\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.5,1.999c-1.042,0-1.916,0.377-2.57,1.088L2.895,13.138C2.302,13.784,1.999,14.58,1.999,15.5C1.999,22.943,8.057,29,15.5,29S29,22.943,29,15.5S22.943,1.999,15.5,1.999zM15.5,28C8.596,28,3,22.404,3,15.5c0-3.452,5.239-2.737,7.501-4.999C12.762,8.239,12.048,3,15.5,3C22.404,3,28,8.597,28,15.5S22.404,28,15.5,28z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Stop.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Stop.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Stop();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Stop = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Stop.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Stop\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M5.5,5.5h20v20h-20z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/StopWatch.js\":\n/*!*************************************!*\\\n !*** ./src/shape/icon/StopWatch.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.StopWatch();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.StopWatch = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.StopWatch.prototype */\n{\n\n NAME: \"draw2d.shape.icon.StopWatch\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.216,18.533c0-3.636-1.655-6.883-4.253-9.032l0.733-0.998l0.482,0.354c0.198,0.146,0.481,0.104,0.628-0.097l0.442-0.604c0.146-0.198,0.103-0.482-0.097-0.628l-2.052-1.506c-0.199-0.146-0.481-0.103-0.628,0.097L22.03,6.724c-0.146,0.199-0.104,0.482,0.096,0.628l0.483,0.354l-0.736,1.003c-1.28-0.834-2.734-1.419-4.296-1.699c0.847-0.635,1.402-1.638,1.403-2.778h-0.002c0-1.922-1.557-3.48-3.479-3.48c-1.925,0-3.48,1.559-3.48,3.48c0,1.141,0.556,2.144,1.401,2.778c-1.549,0.277-2.99,0.857-4.265,1.68L8.424,7.684l0.484-0.353c0.198-0.145,0.245-0.428,0.098-0.628l-0.44-0.604C8.42,5.899,8.136,5.855,7.937,6.001L5.881,7.5c-0.2,0.146-0.243,0.428-0.099,0.628l0.442,0.604c0.145,0.2,0.428,0.244,0.627,0.099l0.483-0.354l0.729,0.999c-2.615,2.149-4.282,5.407-4.282,9.057c0,6.471,5.245,11.716,11.718,11.716c6.47,0,11.716-5.243,11.718-11.716H27.216zM12.918,4.231c0.002-1.425,1.155-2.58,2.582-2.582c1.426,0.002,2.579,1.157,2.581,2.582c-0.002,1.192-0.812,2.184-1.908,2.482v-1.77h0.6c0.246,0,0.449-0.203,0.449-0.449V3.746c0-0.247-0.203-0.449-0.449-0.449h-2.545c-0.247,0-0.449,0.202-0.449,0.449v0.749c0,0.246,0.202,0.449,0.449,0.449h0.599v1.77C13.729,6.415,12.919,5.424,12.918,4.231zM15.5,27.554c-4.983-0.008-9.015-4.038-9.022-9.021c0.008-4.982,4.039-9.013,9.022-9.022c4.981,0.01,9.013,4.04,9.021,9.022C24.513,23.514,20.481,27.546,15.5,27.554zM15.5,12.138c0.476,0,0.861-0.385,0.861-0.86s-0.386-0.861-0.861-0.861s-0.861,0.386-0.861,0.861S15.024,12.138,15.5,12.138zM15.5,24.927c-0.476,0-0.861,0.386-0.861,0.861s0.386,0.861,0.861,0.861s0.861-0.386,0.861-0.861S15.976,24.927,15.5,24.927zM12.618,11.818c-0.237-0.412-0.764-0.553-1.176-0.315c-0.412,0.238-0.554,0.765-0.315,1.177l2.867,6.722c0.481,0.831,1.543,1.116,2.375,0.637c0.829-0.479,1.114-1.543,0.635-2.374L12.618,11.818zM18.698,24.07c-0.412,0.237-0.555,0.765-0.316,1.176c0.237,0.412,0.764,0.554,1.176,0.315c0.413-0.238,0.553-0.765,0.316-1.176C19.635,23.974,19.108,23.832,18.698,24.07zM8.787,15.65c0.412,0.238,0.938,0.097,1.176-0.315c0.237-0.413,0.097-0.938-0.314-1.176c-0.412-0.239-0.938-0.098-1.177,0.313C8.234,14.886,8.375,15.412,8.787,15.65zM22.215,21.413c-0.412-0.236-0.938-0.096-1.176,0.316c-0.238,0.412-0.099,0.938,0.314,1.176c0.41,0.238,0.937,0.098,1.176-0.314C22.768,22.178,22.625,21.652,22.215,21.413zM9.107,18.531c-0.002-0.476-0.387-0.86-0.861-0.86c-0.477,0-0.862,0.385-0.862,0.86c0.001,0.476,0.386,0.86,0.861,0.861C8.722,19.393,9.106,19.008,9.107,18.531zM21.896,18.531c0,0.477,0.384,0.862,0.859,0.86c0.476,0.002,0.862-0.382,0.862-0.859s-0.387-0.86-0.862-0.862C22.279,17.671,21.896,18.056,21.896,18.531zM8.787,21.413c-0.412,0.238-0.554,0.765-0.316,1.176c0.239,0.412,0.765,0.553,1.177,0.316c0.413-0.239,0.553-0.765,0.315-1.178C9.725,21.317,9.198,21.176,8.787,21.413zM21.352,14.157c-0.411,0.238-0.551,0.764-0.312,1.176c0.237,0.413,0.764,0.555,1.174,0.315c0.412-0.236,0.555-0.762,0.316-1.176C22.29,14.06,21.766,13.921,21.352,14.157zM12.304,24.067c-0.413-0.235-0.939-0.096-1.176,0.315c-0.238,0.413-0.098,0.939,0.312,1.178c0.413,0.236,0.939,0.096,1.178-0.315C12.857,24.832,12.715,24.308,12.304,24.067zM18.698,12.992c0.41,0.238,0.938,0.099,1.174-0.313c0.238-0.411,0.1-0.938-0.314-1.177c-0.414-0.238-0.937-0.097-1.177,0.315C18.144,12.229,18.286,12.755,18.698,12.992z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Sun.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Sun.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Sun();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Sun = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Sun.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Sun\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.502,7.504c-4.35,0-7.873,3.523-7.873,7.873c0,4.347,3.523,7.872,7.873,7.872c4.346,0,7.871-3.525,7.871-7.872C23.374,11.027,19.85,7.504,15.502,7.504zM15.502,21.25c-3.244-0.008-5.866-2.63-5.874-5.872c0.007-3.243,2.63-5.866,5.874-5.874c3.242,0.008,5.864,2.631,5.871,5.874C21.366,18.62,18.744,21.242,15.502,21.25zM15.502,6.977c0.553,0,1-0.448,1-1.001V1.125c-0.002-0.553-0.448-1-1-1c-0.553,0-1.001,0.449-1,1.002v4.85C14.502,6.528,14.949,6.977,15.502,6.977zM18.715,7.615c0.125,0.053,0.255,0.076,0.382,0.077c0.394,0,0.765-0.233,0.925-0.618l1.856-4.483c0.21-0.511-0.031-1.095-0.541-1.306c-0.511-0.211-1.096,0.031-1.308,0.541L18.174,6.31C17.963,6.82,18.205,7.405,18.715,7.615zM21.44,9.436c0.195,0.194,0.451,0.293,0.707,0.293s0.512-0.098,0.707-0.293l3.43-3.433c0.391-0.39,0.39-1.023,0-1.415c-0.392-0.39-1.025-0.39-1.415,0.002L21.44,8.021C21.049,8.412,21.049,9.045,21.44,9.436zM23.263,12.16c0.158,0.385,0.531,0.617,0.923,0.617c0.127,0,0.257-0.025,0.383-0.078l4.48-1.857c0.511-0.211,0.753-0.797,0.541-1.307s-0.796-0.752-1.307-0.54l-4.481,1.857C23.292,11.064,23.051,11.65,23.263,12.16zM29.752,14.371l-4.851,0.001c-0.552,0-1,0.448-0.998,1.001c0,0.553,0.447,0.999,0.998,0.999l4.852-0.002c0.553,0,0.999-0.449,0.999-1C30.752,14.817,30.304,14.369,29.752,14.371zM29.054,19.899l-4.482-1.854c-0.512-0.212-1.097,0.03-1.307,0.541c-0.211,0.511,0.031,1.096,0.541,1.308l4.482,1.854c0.126,0.051,0.256,0.075,0.383,0.075c0.393,0,0.765-0.232,0.925-0.617C29.806,20.695,29.563,20.109,29.054,19.899zM22.86,21.312c-0.391-0.391-1.023-0.391-1.414,0.001c-0.391,0.39-0.39,1.022,0,1.413l3.434,3.429c0.195,0.195,0.45,0.293,0.706,0.293s0.513-0.098,0.708-0.293c0.391-0.392,0.389-1.025,0-1.415L22.86,21.312zM20.029,23.675c-0.211-0.511-0.796-0.752-1.307-0.541c-0.51,0.212-0.752,0.797-0.54,1.308l1.86,4.48c0.159,0.385,0.531,0.617,0.925,0.617c0.128,0,0.258-0.024,0.383-0.076c0.511-0.211,0.752-0.797,0.54-1.309L20.029,23.675zM15.512,23.778c-0.553,0-1,0.448-1,1l0.004,4.851c0,0.553,0.449,0.999,1,0.999c0.553,0,1-0.448,0.998-1l-0.003-4.852C16.511,24.226,16.062,23.777,15.512,23.778zM12.296,23.142c-0.51-0.21-1.094,0.031-1.306,0.543l-1.852,4.483c-0.21,0.511,0.033,1.096,0.543,1.307c0.125,0.052,0.254,0.076,0.382,0.076c0.392,0,0.765-0.234,0.924-0.619l1.853-4.485C13.051,23.937,12.807,23.353,12.296,23.142zM9.57,21.325c-0.392-0.391-1.025-0.389-1.415,0.002L4.729,24.76c-0.391,0.392-0.389,1.023,0.002,1.415c0.195,0.194,0.45,0.292,0.706,0.292c0.257,0,0.513-0.098,0.708-0.293l3.427-3.434C9.961,22.349,9.961,21.716,9.57,21.325zM7.746,18.604c-0.213-0.509-0.797-0.751-1.307-0.54L1.96,19.925c-0.511,0.212-0.752,0.798-0.54,1.308c0.16,0.385,0.531,0.616,0.924,0.616c0.127,0,0.258-0.024,0.383-0.076l4.479-1.861C7.715,19.698,7.957,19.113,7.746,18.604zM7.1,15.392c0-0.553-0.447-0.999-1-0.999l-4.851,0.006c-0.553,0-1.001,0.448-0.999,1.001c0.001,0.551,0.449,1,1,0.998l4.852-0.006C6.654,16.392,7.102,15.942,7.1,15.392zM1.944,10.869l4.485,1.85c0.125,0.053,0.254,0.076,0.381,0.076c0.393,0,0.766-0.232,0.925-0.618c0.212-0.511-0.032-1.097-0.544-1.306L2.708,9.021c-0.511-0.21-1.095,0.032-1.306,0.542C1.19,10.074,1.435,10.657,1.944,10.869zM8.137,9.451c0.195,0.193,0.449,0.291,0.705,0.291s0.513-0.098,0.709-0.295c0.391-0.389,0.389-1.023-0.004-1.414L6.113,4.609C5.723,4.219,5.088,4.221,4.699,4.612c-0.391,0.39-0.389,1.024,0.002,1.414L8.137,9.451zM10.964,7.084c0.16,0.384,0.532,0.615,0.923,0.615c0.128,0,0.258-0.025,0.384-0.077c0.51-0.212,0.753-0.798,0.54-1.307l-1.864-4.479c-0.212-0.51-0.798-0.751-1.308-0.539C9.129,1.51,8.888,2.096,9.1,2.605L10.964,7.084z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Svg.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Svg.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Svg();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Svg = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Svg.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Svg\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M31.274,15.989c0-2.473-2.005-4.478-4.478-4.478l0,0c0.81-0.811,1.312-1.93,1.312-3.167c0-2.474-2.005-4.479-4.479-4.479c-1.236,0-2.356,0.501-3.167,1.312c0-2.473-2.005-4.478-4.478-4.478c-2.474,0-4.479,2.005-4.479,4.478c-0.811-0.81-1.93-1.312-3.167-1.312c-2.474,0-4.479,2.005-4.479,4.479c0,1.236,0.501,2.356,1.312,3.166c-2.474,0-4.479,2.005-4.479,4.479c0,2.474,2.005,4.479,4.479,4.479c-0.811,0.81-1.312,1.93-1.312,3.167c0,2.473,2.005,4.478,4.479,4.478c1.236,0,2.356-0.501,3.167-1.312c0,2.473,2.005,4.479,4.479,4.479c2.473,0,4.478-2.006,4.478-4.479l0,0c0.811,0.811,1.931,1.312,3.167,1.312c2.474,0,4.478-2.005,4.478-4.478c0-1.237-0.501-2.357-1.312-3.168c0.001,0,0.001,0,0.001,0C29.27,20.467,31.274,18.463,31.274,15.989zM23.583,21.211c0.016,0,0.031-0.001,0.047-0.001c1.339,0,2.424,1.085,2.424,2.425c0,1.338-1.085,2.424-2.424,2.424s-2.424-1.086-2.424-2.424c0-0.017,0.001-0.031,0.001-0.047l-3.541-3.542v5.009c0.457,0.44,0.743,1.06,0.743,1.746c0,1.339-1.086,2.424-2.424,2.424c-1.339,0-2.425-1.085-2.425-2.424c0-0.687,0.286-1.306,0.743-1.746v-5.009l-3.541,3.542c0,0.016,0.001,0.031,0.001,0.047c0,1.338-1.085,2.424-2.424,2.424s-2.424-1.086-2.424-2.424c0-1.34,1.085-2.425,2.424-2.425c0.015,0,0.031,0.001,0.046,0.001l3.542-3.541H6.919c-0.44,0.458-1.06,0.743-1.746,0.743c-1.339,0-2.424-1.085-2.424-2.424s1.085-2.424,2.424-2.424c0.686,0,1.305,0.285,1.746,0.744h5.008l-3.542-3.542c-0.015,0-0.031,0.001-0.046,0.001c-1.339,0-2.424-1.085-2.424-2.424S7.001,5.92,8.34,5.92s2.424,1.085,2.424,2.424c0,0.015-0.001,0.031-0.001,0.046l3.541,3.542V6.924c-0.457-0.441-0.743-1.06-0.743-1.746c0-1.339,1.086-2.425,2.425-2.425c1.338,0,2.424,1.085,2.424,2.425c0,0.686-0.286,1.305-0.743,1.746v5.008l3.541-3.542c0-0.015-0.001-0.031-0.001-0.046c0-1.339,1.085-2.424,2.424-2.424s2.424,1.085,2.424,2.424c0,1.339-1.085,2.424-2.424,2.424c-0.016,0-0.031-0.001-0.047-0.001l-3.541,3.542h5.008c0.441-0.458,1.061-0.744,1.747-0.744c1.338,0,2.423,1.085,2.423,2.424s-1.085,2.424-2.423,2.424c-0.687,0-1.306-0.285-1.747-0.743h-5.008L23.583,21.211z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/TShirt.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/TShirt.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.TShirt();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.TShirt = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.TShirt.prototype */\n{\n\n NAME: \"draw2d.shape.icon.TShirt\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.1,4.039c-0.681,1.677-2.32,2.862-4.24,2.862c-1.921,0-3.56-1.185-4.24-2.862L1.238,8.442l2.921,6.884l3.208-1.361V28h17.099V14.015l3.093,1.312l2.922-6.884L20.1,4.039z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Tag.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Tag.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Tag();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Tag = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Tag.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Tag\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.263,2.826H7.904L2.702,8.028v6.359L18.405,30.09l11.561-11.562L14.263,2.826zM6.495,8.859c-0.619-0.619-0.619-1.622,0-2.24C7.114,6,8.117,6,8.736,6.619c0.62,0.62,0.619,1.621,0,2.241C8.117,9.479,7.114,9.479,6.495,8.859z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/TakeOff.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/TakeOff.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.TakeOff();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.TakeOff = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.TakeOff.prototype */\n{\n\n NAME: \"draw2d.shape.icon.TakeOff\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M10.27,19.267c0,0,9.375-1.981,16.074-8.681c0,0,1.395-1.339-1.338-1.339c-2.305,0-5.6,2.438-5.6,2.438l-9.137-1.42l-1.769,1.769l4.983,2.411l-3.001,2.035l-2.571-1.285L6.09,16.052C6.09,16.052,8.02,18.062,10.27,19.267zM3.251,23.106v1.998h24.498v-1.998H3.251z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Talke.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Talke.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Talke();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Talke = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Talke.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Talke\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,4.938c-7.732,0-14,4.701-14,10.5c0,1.981,0.741,3.833,2.016,5.414L2,25.272l5.613-1.44c2.339,1.316,5.237,2.106,8.387,2.106c7.732,0,14-4.701,14-10.5S23.732,4.938,16,4.938zM16.982,21.375h-1.969v-1.889h1.969V21.375zM16.982,17.469v0.625h-1.969v-0.769c0-2.321,2.641-2.689,2.641-4.337c0-0.752-0.672-1.329-1.553-1.329c-0.912,0-1.713,0.672-1.713,0.672l-1.12-1.393c0,0,1.104-1.153,3.009-1.153c1.81,0,3.49,1.121,3.49,3.009C19.768,15.437,16.982,15.741,16.982,17.469z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Talkq.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Talkq.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Talkq();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Talkq = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Talkq.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Talkq\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,4.938c-7.732,0-14,4.701-14,10.5c0,1.981,0.741,3.833,2.016,5.414L2,25.272l5.613-1.44c2.339,1.316,5.237,2.106,8.387,2.106c7.732,0,14-4.701,14-10.5S23.732,4.938,16,4.938zM16.868,21.375h-1.969v-1.889h1.969V21.375zM16.772,18.094h-1.777l-0.176-8.083h2.113L16.772,18.094z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Thunder.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Thunder.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Thunder();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Thunder = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Thunder.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Thunder\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.371,7.306c-0.092-3.924-3.301-7.077-7.248-7.079c-2.638,0.001-4.942,1.412-6.208,3.517c-0.595-0.327-1.28-0.517-2.01-0.517C7.626,3.229,5.772,5.033,5.689,7.293c-2.393,0.786-4.125,3.025-4.127,5.686c0,3.312,2.687,6,6,6v-0.002h5.271l-2.166,3.398l1.977-0.411L10,30.875l9.138-10.102L17,21l2.167-2.023h4.269c3.312,0,6-2.688,6-6C29.434,10.34,27.732,8.11,25.371,7.306zM23.436,16.979H7.561c-2.209-0.006-3.997-1.792-4.001-4.001c-0.002-1.982,1.45-3.618,3.35-3.931c0.265-0.043,0.502-0.191,0.657-0.414C7.722,8.41,7.779,8.136,7.73,7.87C7.702,7.722,7.685,7.582,7.685,7.446C7.689,6.221,8.68,5.23,9.905,5.228c0.647,0,1.217,0.278,1.633,0.731c0.233,0.257,0.587,0.375,0.927,0.309c0.342-0.066,0.626-0.307,0.748-0.63c0.749-1.992,2.662-3.412,4.911-3.41c2.899,0.004,5.244,2.35,5.251,5.249c0,0.161-0.009,0.326-0.027,0.497c-0.049,0.517,0.305,0.984,0.815,1.079c1.86,0.344,3.274,1.966,3.271,3.923C27.43,15.186,25.645,16.973,23.436,16.979z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Trash.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Trash.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Trash();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Trash = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Trash.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Trash\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.826,5.75l0.396,1.188c1.54,0.575,2.589,1.44,2.589,2.626c0,2.405-4.308,3.498-8.312,3.498c-4.003,0-8.311-1.093-8.311-3.498c0-1.272,1.21-2.174,2.938-2.746l0.388-1.165c-2.443,0.648-4.327,1.876-4.327,3.91v2.264c0,1.224,0.685,2.155,1.759,2.845l0.396,9.265c0,1.381,3.274,2.5,7.312,2.5c4.038,0,7.313-1.119,7.313-2.5l0.405-9.493c0.885-0.664,1.438-1.521,1.438-2.617V9.562C24.812,7.625,23.101,6.42,20.826,5.75zM11.093,24.127c-0.476-0.286-1.022-0.846-1.166-1.237c-1.007-2.76-0.73-4.921-0.529-7.509c0.747,0.28,1.58,0.491,2.45,0.642c-0.216,2.658-0.43,4.923,0.003,7.828C11.916,24.278,11.567,24.411,11.093,24.127zM17.219,24.329c-0.019,0.445-0.691,0.856-1.517,0.856c-0.828,0-1.498-0.413-1.517-0.858c-0.126-2.996-0.032-5.322,0.068-8.039c0.418,0.022,0.835,0.037,1.246,0.037c0.543,0,1.097-0.02,1.651-0.059C17.251,18.994,17.346,21.325,17.219,24.329zM21.476,22.892c-0.143,0.392-0.69,0.95-1.165,1.235c-0.474,0.284-0.817,0.151-0.754-0.276c0.437-2.93,0.214-5.209-0.005-7.897c0.881-0.174,1.708-0.417,2.44-0.731C22.194,17.883,22.503,20.076,21.476,22.892zM11.338,9.512c0.525,0.173,1.092-0.109,1.268-0.633h-0.002l0.771-2.316h4.56l0.771,2.316c0.14,0.419,0.53,0.685,0.949,0.685c0.104,0,0.211-0.017,0.316-0.052c0.524-0.175,0.808-0.742,0.633-1.265l-1.002-3.001c-0.136-0.407-0.518-0.683-0.945-0.683h-6.002c-0.428,0-0.812,0.275-0.948,0.683l-1,2.999C10.532,8.77,10.815,9.337,11.338,9.512z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Twitter.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Twitter.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Twitter();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Twitter = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Twitter.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Twitter\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M23.295,22.567h-7.213c-2.125,0-4.103-2.215-4.103-4.736v-1.829h11.232c1.817,0,3.291-1.469,3.291-3.281c0-1.813-1.474-3.282-3.291-3.282H11.979V6.198c0-1.835-1.375-3.323-3.192-3.323c-1.816,0-3.29,1.488-3.29,3.323v11.633c0,6.23,4.685,11.274,10.476,11.274h7.211c1.818,0,3.318-1.463,3.318-3.298S25.112,22.567,23.295,22.567z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/TwitterBird.js\":\n/*!***************************************!*\\\n !*** ./src/shape/icon/TwitterBird.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.TwitterBird();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.TwitterBird = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.TwitterBird.prototype */\n{\n\n NAME: \"draw2d.shape.icon.TwitterBird\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.605,13.11c0.913-2.851,2.029-4.698,3.313-6.038c0.959-1,1.453-1.316,0.891-0.216c0.25-0.199,0.606-0.464,0.885-0.605c1.555-0.733,1.442-0.119,0.373,0.54c2.923-1.045,2.82,0.286-0.271,0.949c2.527,0.047,5.214,1.656,5.987,5.077c0.105,0.474-0.021,0.428,0.464,0.514c1.047,0.186,2.03,0.174,2.991-0.13c-0.104,0.708-1.039,1.167-2.497,1.471c-0.541,0.112-0.651,0.083-0.005,0.229c0.799,0.179,1.69,0.226,2.634,0.182c-0.734,0.846-1.905,1.278-3.354,1.296c-0.904,3.309-2.976,5.678-5.596,7.164c-6.152,3.492-15.108,2.984-19.599-3.359c2.947,2.312,7.312,2.821,10.555-0.401c-2.125,0-2.674-1.591-0.99-2.449c-1.595-0.017-2.608-0.521-3.203-1.434c-0.226-0.347-0.229-0.374,0.14-0.64c0.405-0.293,0.958-0.423,1.528-0.467c-1.651-0.473-2.66-1.335-3.009-2.491c-0.116-0.382-0.134-0.363,0.256-0.462c0.38-0.097,0.87-0.148,1.309-0.17C6.11,10.88,5.336,9.917,5.139,8.852c-0.186-1.006,0.005-0.748,0.758-0.46C9.263,9.68,12.619,11.062,14.605,13.11L14.605,13.11z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Umbrella.js\":\n/*!************************************!*\\\n !*** ./src/shape/icon/Umbrella.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Umbrella();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Umbrella = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Umbrella.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Umbrella\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M14.784,26.991c0,1.238-1.329,1.696-1.835,1.696c-0.504,0-1.536-0.413-1.65-1.812c0-0.354-0.288-0.642-0.644-0.642c-0.354,0-0.641,0.287-0.641,0.642c0.045,1.056,0.756,3.052,2.935,3.052c2.432,0,3.166-1.882,3.166-3.144v-8.176l-1.328-0.024C14.787,18.584,14.784,25.889,14.784,26.991zM15.584,9.804c-6.807,0-11.084,4.859-11.587,8.326c0.636-0.913,1.694-1.51,2.89-1.51c1.197,0,2.22,0.582,2.855,1.495c0.638-0.904,1.69-1.495,2.88-1.495c1.2,0,2.26,0.6,2.896,1.517c0.635-0.917,1.83-1.517,3.03-1.517c1.19,0,2.241,0.591,2.879,1.495c0.636-0.913,1.659-1.495,2.855-1.495c1.197,0,2.254,0.597,2.89,1.51C26.669,14.663,22.393,9.804,15.584,9.804zM14.733,7.125v2.081h1.323V7.125c0-0.365-0.296-0.661-0.661-0.661C15.029,6.464,14.733,6.76,14.733,7.125z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Undo.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/Undo.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Undo();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Undo = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Undo.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Undo\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M12.981,9.073V6.817l-12.106,6.99l12.106,6.99v-2.422c3.285-0.002,9.052,0.28,9.052,2.269c0,2.78-6.023,4.263-6.023,4.263v2.132c0,0,13.53,0.463,13.53-9.823C29.54,9.134,17.952,8.831,12.981,9.073z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Unlock.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Unlock.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Unlock();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Unlock = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Unlock.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Unlock\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.375,12.833h-2.209V10c0,0,0,0,0-0.001c0-2.389,1.945-4.333,4.334-4.333c2.391,0,4.335,1.944,4.335,4.333c0,0,0,0,0,0v2.834h2V9.999h-0.001c-0.001-3.498-2.836-6.333-6.334-6.333S16.166,6.502,16.166,10v2.833H3.125V25h17.25V12.833z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Usb.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Usb.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Usb();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Usb = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Usb.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Usb\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M15.5,1.667L13.745,4.74h1.252v15.709L11.8,17.391c-0.205-0.26-0.351-0.601-0.358-0.952c0-1.417-0.001-2.258-0.001-2.568c0.592-0.21,1.02-0.774,1.02-1.444c0-0.849-0.682-1.538-1.521-1.538c-0.84,0-1.521,0.689-1.521,1.538c0,0.67,0.427,1.234,1.019,1.444l-0.001,2.539c0,0.688,0.373,1.409,0.812,1.868c-0.013-0.013-0.027-0.025,0,0c0.011,0.01,3.392,3.245,3.392,3.245c0.205,0.26,0.35,0.6,0.357,0.951v1.776c-1.161,0.236-2.036,1.272-2.036,2.517c0,1.418,1.137,2.566,2.539,2.566c1.403,0,2.54-1.148,2.54-2.566c0-1.244-0.875-2.28-2.038-2.517v-1.746c0-0.005,0-0.009,0-0.014v-3.861c0.008-0.35,0.152-0.689,0.358-0.949c0,0,3.38-3.234,3.392-3.245c0.027-0.026,0.012-0.013,0,0c0.438-0.459,0.811-1.181,0.811-1.869V10.12h1.02V7.046h-3.041v3.075h1.018c0,0-0.002,0.644-0.002,2.476c-0.008,0.351-0.152,0.692-0.357,0.952l-3.198,3.06V4.74h1.254L15.5,1.667z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/User.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/User.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.User();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.User = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.User.prototype */\n{\n\n NAME: \"draw2d.shape.icon.User\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.771,12.364c0,0,0.849-3.51,0-4.699c-0.85-1.189-1.189-1.981-3.058-2.548s-1.188-0.454-2.547-0.396c-1.359,0.057-2.492,0.792-2.492,1.188c0,0-0.849,0.057-1.188,0.397c-0.34,0.34-0.906,1.924-0.906,2.321s0.283,3.058,0.566,3.624l-0.337,0.113c-0.283,3.283,1.132,3.68,1.132,3.68c0.509,3.058,1.019,1.756,1.019,2.548s-0.51,0.51-0.51,0.51s-0.452,1.245-1.584,1.698c-1.132,0.452-7.416,2.886-7.927,3.396c-0.511,0.511-0.453,2.888-0.453,2.888h26.947c0,0,0.059-2.377-0.452-2.888c-0.512-0.511-6.796-2.944-7.928-3.396c-1.132-0.453-1.584-1.698-1.584-1.698s-0.51,0.282-0.51-0.51s0.51,0.51,1.02-2.548c0,0,1.414-0.397,1.132-3.68H20.771z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Users.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Users.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Users();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Users = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Users.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Users\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.053,20.8c-1.132-0.453-1.584-1.698-1.584-1.698s-0.51,0.282-0.51-0.51s0.51,0.51,1.02-2.548c0,0,1.414-0.397,1.132-3.68h-0.34c0,0,0.849-3.51,0-4.699c-0.85-1.189-1.189-1.981-3.058-2.548s-1.188-0.454-2.547-0.396c-1.359,0.057-2.492,0.792-2.492,1.188c0,0-0.849,0.057-1.188,0.397c-0.34,0.34-0.906,1.924-0.906,2.321s0.283,3.058,0.566,3.624l-0.337,0.113c-0.283,3.283,1.132,3.68,1.132,3.68c0.509,3.058,1.019,1.756,1.019,2.548s-0.51,0.51-0.51,0.51s-0.452,1.245-1.584,1.698c-1.132,0.452-7.416,2.886-7.927,3.396c-0.511,0.511-0.453,2.888-0.453,2.888h26.947c0,0,0.059-2.377-0.452-2.888C28.469,23.686,22.185,21.252,21.053,20.8zM8.583,20.628c-0.099-0.18-0.148-0.31-0.148-0.31s-0.432,0.239-0.432-0.432s0.432,0.432,0.864-2.159c0,0,1.199-0.336,0.959-3.119H9.538c0,0,0.143-0.591,0.237-1.334c-0.004-0.308,0.006-0.636,0.037-0.996l0.038-0.426c-0.021-0.492-0.107-0.939-0.312-1.226C8.818,9.619,8.53,8.947,6.947,8.467c-1.583-0.48-1.008-0.385-2.159-0.336C3.636,8.179,2.676,8.802,2.676,9.139c0,0-0.72,0.048-1.008,0.336c-0.271,0.271-0.705,1.462-0.757,1.885v0.281c0.047,0.653,0.258,2.449,0.469,2.872l-0.286,0.096c-0.239,2.783,0.959,3.119,0.959,3.119c0.432,2.591,0.864,1.488,0.864,2.159s-0.432,0.432-0.432,0.432s-0.383,1.057-1.343,1.439c-0.061,0.024-0.139,0.056-0.232,0.092v5.234h0.575c-0.029-1.278,0.077-2.927,0.746-3.594C2.587,23.135,3.754,22.551,8.583,20.628zM30.913,11.572c-0.04-0.378-0.127-0.715-0.292-0.946c-0.719-1.008-1.008-1.679-2.59-2.159c-1.584-0.48-1.008-0.385-2.16-0.336C24.72,8.179,23.76,8.802,23.76,9.139c0,0-0.719,0.048-1.008,0.336c-0.271,0.272-0.709,1.472-0.758,1.891h0.033l0.08,0.913c0.02,0.231,0.022,0.436,0.027,0.645c0.09,0.666,0.21,1.35,0.33,1.589l-0.286,0.096c-0.239,2.783,0.96,3.119,0.96,3.119c0.432,2.591,0.863,1.488,0.863,2.159s-0.432,0.432-0.432,0.432s-0.053,0.142-0.163,0.338c4.77,1.9,5.927,2.48,6.279,2.834c0.67,0.667,0.775,2.315,0.746,3.594h0.48v-5.306c-0.016-0.006-0.038-0.015-0.052-0.021c-0.959-0.383-1.343-1.439-1.343-1.439s-0.433,0.239-0.433-0.432s0.433,0.432,0.864-2.159c0,0,0.804-0.229,0.963-1.841v-1.227c-0.001-0.018-0.001-0.033-0.003-0.051h-0.289c0,0,0.215-0.89,0.292-1.861V11.572z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Video.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Video.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Video();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Video = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Video.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Video\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.188,4.875v1.094h-4.5V4.875H8.062v1.094h-4.5V4.875h-1v21.25h1v-1.094h4.5v1.094h14.625v-1.094h4.5v1.094h1.25V4.875H27.188zM8.062,23.719h-4.5v-3.125h4.5V23.719zM8.062,19.281h-4.5v-3.125h4.5V19.281zM8.062,14.844h-4.5v-3.125h4.5V14.844zM8.062,10.406h-4.5V7.281h4.5V10.406zM11.247,20.59V9.754l9.382,5.418L11.247,20.59zM27.188,23.719h-4.5v-3.125h4.5V23.719zM27.188,19.281h-4.5v-3.125h4.5V19.281zM27.188,14.844h-4.5v-3.125h4.5V14.844zM27.188,10.406h-4.5V7.281h4.5V10.406z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/View.js\":\n/*!********************************!*\\\n !*** ./src/shape/icon/View.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.View();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.View = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.View.prototype */\n{\n\n NAME: \"draw2d.shape.icon.View\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M16,8.286C8.454,8.286,2.5,16,2.5,16s5.954,7.715,13.5,7.715c5.771,0,13.5-7.715,13.5-7.715S21.771,8.286,16,8.286zM16,20.807c-2.649,0-4.807-2.157-4.807-4.807s2.158-4.807,4.807-4.807s4.807,2.158,4.807,4.807S18.649,20.807,16,20.807zM16,13.194c-1.549,0-2.806,1.256-2.806,2.806c0,1.55,1.256,2.806,2.806,2.806c1.55,0,2.806-1.256,2.806-2.806C18.806,14.451,17.55,13.194,16,13.194z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Vim.js\":\n/*!*******************************!*\\\n !*** ./src/shape/icon/Vim.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Vim();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Vim = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Vim.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Vim\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M25.012,10.44l4.571-4.645c0.11-0.113,0.173-0.264,0.173-0.423V3.134c0-0.159-0.064-0.314-0.177-0.427l-0.604-0.602c-0.111-0.112-0.261-0.176-0.42-0.177l-9.646-0.086C18.71,1.84,18.523,1.935,18.41,2.099L17.807,2.96c-0.033,0.047-0.059,0.099-0.076,0.154l-2.144-2.156l0,0l-1.646,1.666l-0.447-0.497c-0.112-0.125-0.27-0.197-0.438-0.199L3.324,1.756c-0.163-0.003-0.322,0.06-0.437,0.176L2.284,2.535C2.171,2.647,2.107,2.803,2.107,2.962v2.325c0,0.164,0.066,0.32,0.183,0.434l0.657,0.635C3.056,6.461,3.2,6.521,3.352,6.525l0.285,0.007l0.007,6.512l-2.527,2.557l2.533,2.533l0.008,8.084c0,0.159,0.065,0.314,0.177,0.427l0.861,0.861c0.112,0.111,0.268,0.176,0.427,0.176h2.67c0.161,0,0.317-0.064,0.43-0.181l2.378-2.417l4.9,4.9l14.47-14.558L25.012,10.44zM9.747,24.232l-2.208,2.242H5.372l-0.509-0.509L4.856,19.34l-0.008-7.515L4.842,5.943c0-0.328-0.261-0.594-0.588-0.603L3.617,5.326L3.313,5.031v-1.82l0.245-0.245l9.215,0.163l0.319,0.354l0.126,0.141v1.419l-0.352,0.362H12.26c-0.331,0-0.6,0.266-0.603,0.597l-0.076,7.203c-0.002,0.244,0.141,0.463,0.365,0.56c0.224,0.096,0.482,0.049,0.657-0.12l7.495-7.235c0.174-0.171,0.23-0.432,0.139-0.66c-0.09-0.228-0.312-0.377-0.56-0.377h-0.479l-0.296-0.379V3.496l0.312-0.445l9.083,0.081l0.252,0.252v1.743l-4.388,4.458L9.747,24.232z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Volume0.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Volume0.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Volume0();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Volume0 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Volume0.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Volume0\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.998,12.127v7.896h4.495l6.729,5.526l0.004-18.948l-6.73,5.526H4.998z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Volume1.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Volume1.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Volume1();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Volume1 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Volume1.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Volume1\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.998,12.127v7.896h4.495l6.729,5.526l0.004-18.948l-6.73,5.526H4.998z M18.806,11.219c-0.393-0.389-1.024-0.389-1.415,0.002c-0.39,0.391-0.39,1.024,0.002,1.416v-0.002c0.863,0.864,1.395,2.049,1.395,3.366c0,1.316-0.531,2.497-1.393,3.361c-0.394,0.389-0.394,1.022-0.002,1.415c0.195,0.195,0.451,0.293,0.707,0.293c0.257,0,0.513-0.098,0.708-0.293c1.222-1.22,1.98-2.915,1.979-4.776C20.788,14.136,20.027,12.439,18.806,11.219z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Volume2.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Volume2.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Volume2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Volume2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Volume2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Volume2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.998,12.127v7.896h4.495l6.729,5.526l0.004-18.948l-6.73,5.526H4.998z M18.806,11.219c-0.393-0.389-1.024-0.389-1.415,0.002c-0.39,0.391-0.39,1.024,0.002,1.416v-0.002c0.863,0.864,1.395,2.049,1.395,3.366c0,1.316-0.531,2.497-1.393,3.361c-0.394,0.389-0.394,1.022-0.002,1.415c0.195,0.195,0.451,0.293,0.707,0.293c0.257,0,0.513-0.098,0.708-0.293c1.222-1.22,1.98-2.915,1.979-4.776C20.788,14.136,20.027,12.439,18.806,11.219z M21.101,8.925c-0.393-0.391-1.024-0.391-1.413,0c-0.392,0.391-0.392,1.025,0,1.414c1.45,1.451,2.344,3.447,2.344,5.661c0,2.212-0.894,4.207-2.342,5.659c-0.392,0.39-0.392,1.023,0,1.414c0.195,0.195,0.451,0.293,0.708,0.293c0.256,0,0.512-0.098,0.707-0.293c1.808-1.809,2.929-4.315,2.927-7.073C24.033,13.24,22.912,10.732,21.101,8.925z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Volume3.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Volume3.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Volume3();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Volume3 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Volume3.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Volume3\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M4.998,12.127v7.896h4.495l6.729,5.526l0.004-18.948l-6.73,5.526H4.998z M18.806,11.219c-0.393-0.389-1.024-0.389-1.415,0.002c-0.39,0.391-0.39,1.024,0.002,1.416v-0.002c0.863,0.864,1.395,2.049,1.395,3.366c0,1.316-0.531,2.497-1.393,3.361c-0.394,0.389-0.394,1.022-0.002,1.415c0.195,0.195,0.451,0.293,0.707,0.293c0.257,0,0.513-0.098,0.708-0.293c1.222-1.22,1.98-2.915,1.979-4.776C20.788,14.136,20.027,12.439,18.806,11.219z M21.101,8.925c-0.393-0.391-1.024-0.391-1.413,0c-0.392,0.391-0.392,1.025,0,1.414c1.45,1.451,2.344,3.447,2.344,5.661c0,2.212-0.894,4.207-2.342,5.659c-0.392,0.39-0.392,1.023,0,1.414c0.195,0.195,0.451,0.293,0.708,0.293c0.256,0,0.512-0.098,0.707-0.293c1.808-1.809,2.929-4.315,2.927-7.073C24.033,13.24,22.912,10.732,21.101,8.925z M23.28,6.746c-0.393-0.391-1.025-0.389-1.414,0.002c-0.391,0.389-0.391,1.023,0.002,1.413h-0.002c2.009,2.009,3.248,4.773,3.248,7.839c0,3.063-1.239,5.828-3.246,7.838c-0.391,0.39-0.391,1.023,0.002,1.415c0.194,0.194,0.45,0.291,0.706,0.291s0.513-0.098,0.708-0.293c2.363-2.366,3.831-5.643,3.829-9.251C27.115,12.389,25.647,9.111,23.28,6.746z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Warning.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Warning.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Warning();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Warning = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Warning.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Warning\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M29.225,23.567l-3.778-6.542c-1.139-1.972-3.002-5.2-4.141-7.172l-3.778-6.542c-1.14-1.973-3.003-1.973-4.142,0L9.609,9.853c-1.139,1.972-3.003,5.201-4.142,7.172L1.69,23.567c-1.139,1.974-0.207,3.587,2.071,3.587h23.391C29.432,27.154,30.363,25.541,29.225,23.567zM16.536,24.58h-2.241v-2.151h2.241V24.58zM16.428,20.844h-2.023l-0.201-9.204h2.407L16.428,20.844z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/WheelChair.js\":\n/*!**************************************!*\\\n !*** ./src/shape/icon/WheelChair.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.WheelChair();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.WheelChair = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.WheelChair.prototype */\n{\n\n NAME: \"draw2d.shape.icon.WheelChair\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.373,19.85c0,4.079-3.318,7.397-7.398,7.397c-4.079,0-7.398-3.318-7.398-7.397c0-2.466,1.213-4.652,3.073-5.997l-0.251-2.21c-2.875,1.609-4.825,4.684-4.825,8.207c0,5.184,4.217,9.4,9.401,9.4c4.395,0,8.093-3.031,9.117-7.111L20.37,19.73C20.37,19.771,20.373,19.81,20.373,19.85zM11.768,6.534c1.321,0,2.392-1.071,2.392-2.392c0-1.321-1.071-2.392-2.392-2.392c-1.321,0-2.392,1.071-2.392,2.392C9.375,5.463,10.446,6.534,11.768,6.534zM27.188,22.677l-5.367-7.505c-0.28-0.393-0.749-0.579-1.226-0.538c-0.035-0.003-0.071-0.006-0.106-0.006h-6.132l-0.152-1.335h4.557c0.53,0,0.96-0.429,0.96-0.959c0-0.53-0.43-0.959-0.96-0.959h-4.776l-0.25-2.192c-0.146-1.282-1.303-2.203-2.585-2.057C9.869,7.271,8.948,8.428,9.094,9.71l0.705,6.19c0.136,1.197,1.154,2.078,2.332,2.071c0.004,0,0.007,0.001,0.012,0.001h8.023l4.603,6.436c0.439,0.615,1.338,0.727,2.007,0.248C27.442,24.178,27.628,23.292,27.188,22.677z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Windows.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Windows.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Windows();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Windows = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Windows.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Windows\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M20.023,17.484c-1.732-0.205-3.022-0.908-4.212-1.701l0,0l-0.559,0.279l-2.578,8.924l0,0c1.217,0.805,2.905,1.707,4.682,1.914c2.686,0.312,5.56-0.744,6.391-1.195l2.617-9.061l-0.559-0.279C25.805,16.365,23.193,17.857,20.023,17.484zM14.424,14.825c-1.267-0.87-2.578-1.652-4.375-1.816c-0.318-0.029-0.627-0.042-0.925-0.042c-3.011,0-4.948,1.347-4.948,1.347l-2.565,8.877l0,0l0.526,0.281c0.981-0.476,2.78-1.145,5.09-0.984c1.665,0.113,2.92,0.781,4.117,1.531l0.507-0.26l0,0L14.424,14.825zM10.201,12.094c1.664,0.114,2.921,0.78,4.117,1.533l0.509-0.26l0,0L17.4,4.431c-1.27-0.87-2.579-1.653-4.377-1.816c-0.318-0.029-0.626-0.042-0.924-0.042C9.088,2.573,7.15,3.92,7.15,3.92l-2.566,8.878L5.11,13.08C6.092,12.604,7.891,11.936,10.201,12.094zM28.779,5.971L28.779,5.971c0,0.001-2.609,1.492-5.779,1.119c-1.734-0.204-3.023-0.907-4.213-1.701L18.227,5.67l-2.576,8.923l0,0c1.215,0.803,2.906,1.709,4.68,1.915c2.687,0.312,5.558-0.745,6.392-1.197l2.615-9.059L28.779,5.971z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Woman.js\":\n/*!*********************************!*\\\n !*** ./src/shape/icon/Woman.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Woman();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Woman = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Woman.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Woman\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M21.022,16.349c-0.611-1.104-1.359-1.998-2.109-2.623c-0.875,0.641-1.941,1.031-3.104,1.031c-1.164,0-2.231-0.391-3.105-1.031c-0.75,0.625-1.498,1.519-2.111,2.623c-1.422,2.563-1.579,5.192-0.351,5.874c0.55,0.307,1.127,0.078,1.723-0.496c-0.105,0.582-0.167,1.213-0.167,1.873c0,2.932,1.139,5.307,2.543,5.307c0.846,0,1.265-0.865,1.466-2.189c0.201,1.324,0.62,2.189,1.464,2.189c1.406,0,2.545-2.375,2.545-5.307c0-0.66-0.061-1.291-0.168-1.873c0.598,0.574,1.174,0.803,1.725,0.496C22.603,21.541,22.444,18.912,21.022,16.349zM15.808,13.757c2.363,0,4.279-1.916,4.279-4.279s-1.916-4.279-4.279-4.279c-2.363,0-4.28,1.916-4.28,4.279S13.445,13.757,15.808,13.757zM18.731,4.974c1.235,0.455,0.492-0.725,0.492-1.531s0.762-1.792-0.492-1.391c-1.316,0.422-2.383,0.654-2.383,1.461S17.415,4.489,18.731,4.974zM15.816,4.4c0.782,0,0.345-0.396,0.345-0.884c0-0.488,0.438-0.883-0.345-0.883s-0.374,0.396-0.374,0.883C15.442,4.005,15.034,4.4,15.816,4.4zM12.884,4.974c1.316-0.484,2.383-0.654,2.383-1.461S14.2,2.474,12.884,2.052c-1.254-0.402-0.492,0.584-0.492,1.391S11.648,5.428,12.884,4.974z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Wrench.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/Wrench.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Wrench();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Wrench = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Wrench.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Wrench\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M26.834,14.693c1.816-2.088,2.181-4.938,1.193-7.334l-3.646,4.252l-3.594-0.699L19.596,7.45l3.637-4.242c-2.502-0.63-5.258,0.13-7.066,2.21c-1.907,2.193-2.219,5.229-1.039,7.693L5.624,24.04c-1.011,1.162-0.888,2.924,0.274,3.935c1.162,1.01,2.924,0.888,3.935-0.274l9.493-10.918C21.939,17.625,24.918,16.896,26.834,14.693z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Wrench2.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Wrench2.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Wrench2();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Wrench2 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Wrench2.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Wrench2\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M24.946,9.721l-2.872-0.768l-0.771-2.874l3.188-3.231c-1.992-0.653-4.268-0.192-5.848,1.391c-1.668,1.668-2.095,4.111-1.279,6.172l-3.476,3.478l-3.478,3.478c-2.062-0.816-4.504-0.391-6.173,1.277c-1.583,1.581-2.043,3.856-1.39,5.849l3.231-3.188l2.874,0.77l0.769,2.872l-3.239,3.197c1.998,0.665,4.288,0.207,5.876-1.384c1.678-1.678,2.1-4.133,1.271-6.202l3.463-3.464l3.464-3.463c2.069,0.828,4.523,0.406,6.202-1.272c1.592-1.589,2.049-3.878,1.384-5.876L24.946,9.721z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/Wrench3.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/Wrench3.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.Wrench3();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.Wrench3 = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.Wrench3.prototype */\n{\n\n NAME: \"draw2d.shape.icon.Wrench3\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n *\n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M27.839,6.775l-3.197,3.239L21.77,9.246l-0.771-2.874l3.188-3.231c-1.992-0.653-4.268-0.192-5.848,1.391c-1.668,1.668-2.095,4.111-1.279,6.172L7.42,20.344c-0.204-0.032-0.408-0.062-0.621-0.062c-2.173,0-3.933,1.759-3.933,3.933c0,2.173,1.76,3.933,3.933,3.933c2.171,0,3.931-1.76,3.933-3.933c0-0.24-0.03-0.473-0.071-0.7l9.592-9.59c2.069,0.828,4.523,0.406,6.202-1.272C28.047,11.062,28.504,8.772,27.839,6.775zM6.799,25.146c-0.517,0-0.933-0.418-0.935-0.933c0.002-0.515,0.418-0.933,0.935-0.933c0.514,0,0.932,0.418,0.932,0.933S7.313,25.146,6.799,25.146z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ZoomIn.js\":\n/*!**********************************!*\\\n !*** ./src/shape/icon/ZoomIn.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ZoomIn();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ZoomIn = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ZoomIn.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ZoomIn\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.646,19.307c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127l3.535-3.537L22.646,19.307zM13.688,20.369c-3.582-0.008-6.478-2.904-6.484-6.484c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486C20.165,17.465,17.267,20.361,13.688,20.369zM15.687,9.051h-4v2.833H8.854v4.001h2.833v2.833h4v-2.834h2.832v-3.999h-2.833V9.051z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/icon/ZoomOut.js\":\n/*!***********************************!*\\\n !*** ./src/shape/icon/ZoomOut.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n\n *\n * @example\n *\n * let icon = new draw2d.shape.icon.ZoomOut();\n *\n * canvas.add(icon,50,10);\n *\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.shape.icon.Icon\n */\n_packages2.default.shape.icon.ZoomOut = _packages2.default.shape.icon.Icon.extend(\n/** @lends draw2d.shape.icon.ZoomOut.prototype */\n{\n\n NAME: \"draw2d.shape.icon.ZoomOut\",\n\n /**\n *\n * Creates a new icon element which are not assigned to any canvas.\n * \n * @param {Object} attr the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 50, height: 50 }, attr), setter, getter);\n },\n\n /**\n * @private\n * @returns {Object} the raphaelJS path object\n */\n createSet: function createSet() {\n return this.canvas.paper.path(\"M22.646,19.307c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127l3.535-3.537L22.646,19.307zM13.688,20.369c-3.582-0.008-6.478-2.904-6.484-6.484c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486C20.165,17.465,17.267,20.361,13.688,20.369zM8.854,11.884v4.001l9.665-0.001v-3.999L8.854,11.884z\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/layout/FlexGridLayout.js\":\n/*!********************************************!*\\\n !*** ./src/shape/layout/FlexGridLayout.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * FlexGridLayout is a powerful, flexible and precise layout manager that aligns components vertically and\n * horizontally in a dynamic rectangular grid of cells, with each component occupying in one or more cell.\n * To define a form layout you specify the form's columns, rows. Everyhing that applies to columns applies\n * to rows too - just with a different orientation. FlexGridLayout uses the same API, algorithms and implementation\n * for column and rows.\n *\n * FlexGridLayout focuses on form-oriented panels much like the 'Segment' panel. Nevertheless, it is a general purpose\n * layout system that can be used for the vast majority of rectangular layouts.\n *\n * Define your layout with:\n * <ul>\n * <li>[number]px</li>\n * <li>grow</li>\n * <li>pref</li>\n * </ul>\n *\n * e.g. we want build a shape with a border on the left and right and a label in the\n * center. We allow the center to grow, the shape is resizeable.\n *\n * <pre>\n * 10px grow 10px\n *\n * -----+------------------+-----\n * | | [LABEL] | |\n * | | | |\n * | | | | grow\n * | | | |\n * | | | |\n * -----+------------------+-----\n * </pre>\n *\n * The number forces the exact width or height of the cell. <b>grow</b> respect the minimum width of the\n * element and allows to resize the shape. The row/col with the <b>grow</b> declaration will be resized.\n * The <b>pref</b> declaration forces the cell to the minimum width/height of the embedded figure.\n *\n * Example Implementation of a shape:\n *\n * @example\n * let PredefinedProcess = draw2d.shape.layout.FlexGridLayout.extend({\n *\n *\n * // 10px grow 10px\n * //\n * // -----+------------------+-----\n * // | | [LABEL] | |\n * // | | | |\n * // | | | | grow\n * // | | | |\n * // | | | |\n * // -----+------------------+-----\n * //\n * // @param attr\n * //\n * init: function(attr, setter, getter)\n * {\n * this._super(extend({\n * columns:\"10px, grow, 10px\",\n * rows: \"grow\",\n * bgColor:\"#FFFFFF\",\n * stroke:2\n * },attr),\n * setter,\n * getter);\n *\n *\n * this.label = new draw2d.shape.basic.Label({text:\"Process Name\", resizeable:true, stroke:2});\n * this.label.installEditor(new draw2d.ui.LabelInplaceEditor());\n * this.add(this.label, {row:0, col:1});\n *\n * this.setDimension(120,80);\n * }\n * });\n * let shape = new PredefinedProcess();\n * canvas.add(shape,10,10);\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.layout.Layout\n * @since 2.5.1\n */\n_packages2.default.shape.layout.FlexGridLayout = _packages2.default.shape.layout.Layout.extend(\n/** @lends draw2d.shape.layout.FlexGridLayout.prototype */\n{\n\n NAME: \"draw2d.shape.layout.FlexGridLayout\",\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n var _this = this;\n this.cellLocator = {\n relocate: function relocate(index, figure) {\n if (_this.gridDef.layoutRequired === true) {\n _this._layout();\n }\n var cell = figure.__cellConstraint;\n var x = cell.x;\n var y = cell.y;\n\n // stretch the figure to fill the complete cell\n //\n if (figure.isResizeable()) {\n figure.setDimension(Math.max(figure.getMinWidth(), cell.width), Math.max(figure.getMinHeight(), cell.height));\n }\n // else apply the valign and align property\n //\n else {\n // apply vertical alignment\n //\n switch (cell.valign) {\n case \"middle\":\n y = y + (cell.height - figure.getHeight()) / 2;\n break;\n case \"bottom\":\n y = y + (cell.height - figure.getHeight());\n break;\n }\n\n // apply horizontal alignment\n //\n switch (cell.align) {\n case \"center\":\n x = x + (cell.width - figure.getWidth()) / 2;\n break;\n case \"right\":\n x = x + (cell.width - figure.getWidth());\n break;\n }\n }\n figure.setPosition(x, y);\n },\n bind: function bind() {},\n unbind: function unbind() {},\n translate: function translate(figure, diff) {\n figure.setPosition(figure.x + diff.x, figure.y + diff.y);\n }\n };\n\n this.debug = false;\n this.gridDef = {\n debugLines: [],\n def_cols: [],\n def_rows: [],\n min_height: [],\n min_width: [],\n minGridWidth: 10,\n minGridHeight: 10,\n hResizeable: false,\n vResizeable: false,\n layoutRequired: true\n };\n\n this._super((0, _extend2.default)({ stroke: 2 }, attr), (0, _extend2.default)({}, setter), (0, _extend2.default)({}, getter));\n\n this.resizeListener = function (figure) {\n _this.gridDef.layoutRequired = true;\n // propagate the event to the parent or other listener if existing\n //\n if (_this.getParent() instanceof _packages2.default.shape.layout.Layout) {\n _this.fireEvent(\"resize\");\n }\n // or we are the parent and must consume it self\n else {\n _this.setDimension(_this.gridDef.hResizeable === true ? _this.getWidth() : 1, _this.gridDef.vResizeable === true ? _this.getHeight() : 1);\n }\n };\n\n var rows = attr.rows.split(\",\");\n var columns = attr.columns.split(\",\");\n for (var i = 0; i < columns.length; i++) {\n this.gridDef.def_cols[i] = this.cellWidthFromDef(columns[i]);\n }\n\n for (var _i = 0; _i < rows.length; _i++) {\n this.gridDef.def_rows[_i] = this.cellWidthFromDef(rows[_i]);\n }\n\n this.installEditPolicy(new _packages2.default.policy.figure.RectangleSelectionFeedbackPolicy());\n },\n\n add: function add(figure, cellConstraint) {\n\n figure.__cellConstraint = (0, _extend2.default)({}, {\n row: 0,\n col: 0,\n rowspan: 1,\n colspan: 1,\n align: \"left\",\n valign: \"top\",\n width: 1,\n height: 1\n }, cellConstraint);\n this.gridDef.layoutRequired = true;\n this._super(figure, this.cellLocator);\n this._layout();\n },\n\n /**\n * @inheritdoc\n */\n getMinWidth: function getMinWidth() {\n return this.gridDef.minGridWidth;\n },\n\n /**\n * @inheritdoc\n */\n getMinHeight: function getMinHeight() {\n return this.gridDef.minGridHeight;\n },\n\n /**\n * @inheritdoc\n */\n setCanvas: function setCanvas(canvas) {\n // layout must be recalculated if the shape will be assigned\n // to a canvas. \"Text\" elements can now calculate correct with the right font settings.\n //\n this.gridDef.layoutRequired = true;\n this._super(canvas);\n\n return this;\n },\n\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return this;\n }\n this._super(attributes);\n if (this.debug) {\n this.paintDebugGrid();\n }\n\n return this;\n },\n\n setDimension: function setDimension(w, h) {\n // we need the calculated layout to determine the min width/height of the figure\n //\n if (this.gridDef.layoutRequired === true) {\n this._layout();\n }\n // set the new dimension\n this._super(w, h);\n\n // after setting the new dimension a recalculation of the layout is required. May the shape\n // has grown up\n this.gridDef.layoutRequired = true;\n this.repaint();\n\n return this;\n },\n\n _layout: function _layout() {\n this.gridDef.layoutRequired = false;\n\n var figures = this.getChildren();\n\n // copy the initial requested width/heights\n //\n this.gridDef.min_height = this.gridDef.def_rows.slice(0);\n this.gridDef.min_width = this.gridDef.def_cols.slice(0);\n\n // Calculate the basic width/height of the elements without considering the \"span\" and \"grow\"\n //\n for (var i = 0; i < figures.getSize(); i++) {\n var figure = figures.get(i);\n var cell = figure.__cellConstraint;\n // ermitteln der derzeitig zur verfügung stehenden weite\n this.gridDef.min_width[cell.col] = Math.max(this.gridDef.min_width[cell.col], figure.getMinWidth());\n\n // Falls das Elemente eine y_span hat, dann versuchen ob es auf die ganze\n // höhe rein passt. Wenn nicht wird der Teil der 'grow' angegeben hat verändert.\n // Wenn kein Element 'grow' angegeben hat, dann wird das letzte Element verändert\n if (cell.rowspan > 1) {\n var eHeight = figure.getMinHeight();\n var cHeight = this.cellHeight(cell.row, cell.row + cell.rowspan);\n if (cHeight < eHeight) {\n var diff = eHeight - cHeight;\n this.gridDef.min_height[cell.row + cell.rowspan - 1] = this.gridDef.min_height[cell.row + cell.rowspan - 1] + diff;\n }\n } else {\n this.gridDef.min_height[cell.row] = Math.max(this.gridDef.min_height[cell.row], figure.getMinHeight());\n }\n }\n this.gridDef.minGridWidth = this._getGridWidth();\n this.gridDef.minGridHeight = this._getGridHeight();\n\n // Resize the grid height if at least one row supports \"grow\"\n //\n var gridHeight = this._getGridHeight();\n for (var _i2 = 0; _i2 < this.gridDef.def_rows.length; _i2++) {\n // row found which can grow\n if (this.gridDef.def_rows[_i2] === -1) {\n this.gridDef.min_height[_i2] = this.gridDef.min_height[_i2] + Math.max(0, this.getHeight() - gridHeight);\n this.gridDef.vResizeable = true;\n break;\n }\n }\n\n // Resize the grid if at least one column supports \"grow\"\n //\n var gridWidth = this._getGridWidth();\n for (var _i3 = 0; _i3 < this.gridDef.def_cols.length; _i3++) {\n // column found which can grow\n if (this.gridDef.def_cols[_i3] === -1) {\n this.gridDef.min_width[_i3] = this.gridDef.min_width[_i3] + Math.max(0, this.getWidth() - gridWidth);\n this.gridDef.hResizeable = true;\n break;\n }\n }\n\n // apply the cell constraints to the elements\n //\n for (var _i4 = 0; _i4 < figures.getSize(); _i4++) {\n var _cell = figures.get(_i4).__cellConstraint;\n _cell.width = this.cellWidth(_cell.col, _cell.col + _cell.colspan);\n _cell.height = this.cellHeight(_cell.row, _cell.row + _cell.rowspan);\n _cell.x = this.cellX(_cell.col);\n _cell.y = this.cellY(_cell.row);\n }\n\n return this;\n },\n\n cellX: function cellX(col) {\n var r = 0;\n for (var i = 0; i < col; i++) {\n r = r + this.gridDef.min_width[i];\n }\n\n return r;\n },\n\n cellY: function cellY(row) {\n var r = 0;\n for (var i = 0; i < row; i++) {\n r = r + this.gridDef.min_height[i];\n }\n\n return r;\n },\n\n cellWidth: function cellWidth(from, to) {\n var r = 0;\n for (var i = from; i < to; i++) {\n r = r + this.gridDef.min_width[i];\n }\n\n return r;\n },\n\n cellHeight: function cellHeight(from, to) {\n var r = 0;\n for (var i = from; i < to; i++) {\n r = r + this.gridDef.min_height[i];\n }\n\n return r;\n },\n\n paintDebugGrid: function paintDebugGrid() {\n // alte Linien erstmal entfernen bevor man neue zeichnet\n //\n for (var i = 0; i < this.gridDef.debugLines.length; i++) {\n this.gridDef.debugLines[i].remove();\n }this.gridDef.debugLines = [];\n\n var gridHeight = this._getGridHeight();\n var gridWidth = this._getGridWidth();\n var posX = this.getAbsoluteX();\n var posY = this.getAbsoluteY();\n\n // draw the cols first\n var x = posX;\n for (var _i5 = 0; _i5 <= this.gridDef.min_width.length; _i5++) {\n var newLine = this.canvas.paper.path(\"M \" + x + \" \" + posY + \" l 0 \" + gridHeight).attr({\n \"stroke\": \"#FF0000\",\n \"stroke-width\": 1\n });\n this.gridDef.debugLines.push(newLine);\n if (_i5 < this.gridDef.min_width.length) x = x + this.gridDef.min_width[_i5];\n }\n\n var y = posY;\n for (var _i6 = 0; _i6 <= this.gridDef.min_height.length; _i6++) {\n var _newLine = this.canvas.paper.path(\"M \" + posX + \" \" + y + \" l \" + gridWidth + \" 0\").attr({\n \"stroke\": \"#FF0000\",\n \"stroke-width\": 1\n });\n this.gridDef.debugLines.push(_newLine);\n if (_i6 < this.gridDef.min_height.length) y = y + this.gridDef.min_height[_i6];\n }\n },\n\n _getGridWidth: function _getGridWidth() {\n var gridWidth = 0;\n for (var i = 0; i < this.gridDef.min_width.length; i++) {\n gridWidth = gridWidth + this.gridDef.min_width[i];\n }\n\n return gridWidth;\n },\n\n _getGridHeight: function _getGridHeight() {\n var gridHeight = 0;\n for (var i = 0; i < this.gridDef.min_height.length; i++) {\n gridHeight = gridHeight + this.gridDef.min_height[i];\n }\n\n return gridHeight;\n },\n\n cellWidthFromDef: function cellWidthFromDef(def) {\n var pattern = new RegExp(\"(\\\\d+)(?:px)?\");\n var match = def.match(pattern);\n\n if (match != null) {\n return parseInt(match[1]);\n }\n\n pattern = new RegExp(\"p(?:ref)?\");\n match = def.match(pattern);\n if (match != null) {\n return 0;\n }\n\n pattern = new RegExp(\"g(?:row)?\");\n match = def.match(pattern);\n if (match != null) {\n this.autoResize = false;\n return -1;\n }\n\n return 0;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/layout/HorizontalLayout.js\":\n/*!**********************************************!*\\\n !*** ./src/shape/layout/HorizontalLayout.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * The HorizontalLayout class arranges the layout elements in a horizontal sequence,\n * left to right, with optional gaps between the elements.\n *\n * During the execution of the setDimension() method, the minimum width of the container is calculated\n * by accumulating the minimum sizes of the elements, including stroke, gaps and padding.\n *\n *\n * See the example below with and without gap and border settings\n *\n *\n * @example\n *\n * // first container without any gap and a border of the parent\n * // container\n * let label1 = new draw2d.shape.basic.Label({text:\"Label 1\"});\n * let label2 = new draw2d.shape.basic.Label({text:\"Label 2\"});\n * let label3 = new draw2d.shape.basic.Label({text:\"Label 3\"});\n *\n * let container1 = new draw2d.shape.layout.HorizontalLayout();\n *\n * container1.add(label1);\n * container1.add(label2);\n * container1.add(label3);\n * container1.setGap(10);\n * container1.setStroke(2);\n * canvas.add(container1,50,10);\n *\n * // second container without any gab or border\n * //\n * let label11 = new draw2d.shape.basic.Label({text:\"Label 1\"});\n * let label12 = new draw2d.shape.basic.Label({text:\"Label 2\"});\n * let label13 = new draw2d.shape.basic.Label({text:\"Label 3\"});\n *\n * let container2 = new draw2d.shape.layout.HorizontalLayout();\n *\n * container2.add(label11);\n * container2.add(label12);\n * container2.add(label13);\n *\n * canvas.add(container2,50,90);\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.layout.Layout\n * @since 2.5.1\n */\n_packages2.default.shape.layout.HorizontalLayout = _packages2.default.shape.layout.Layout.extend(\n/** @lends draw2d.shape.layout.HorizontalLayout.prototype */\n{\n\n NAME: \"draw2d.shape.layout.HorizontalLayout\",\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.gap = 0;\n var _this = this;\n this.locator = {\n translate: function translate(figure, diff) {\n figure.setPosition(figure.x + diff.x, figure.y + diff.y);\n },\n bind: function bind() {},\n unbind: function unbind() {},\n relocate: function relocate(index, target) {\n var stroke = _this.getStroke();\n var yPos = stroke + _this.padding.top;\n var xPos = stroke + _this.padding.left; // respect the border and padding of the parent\n for (var i = 0; i < index; i++) {\n var child = _this.children.get(i).figure;\n if (child.isVisible()) {\n xPos += child.getWidth() + _this.gap;\n }\n }\n\n target.setPosition(xPos, yPos);\n }\n };\n\n this._super((0, _extend2.default)({ width: 1, height: 1, gap: 0 }, attr), (0, _extend2.default)({\n // @attr {Number} gap the gap between the children shapes */\n gap: this.setGap\n }, setter), (0, _extend2.default)({\n gap: this.getGap\n }, getter));\n },\n\n /**\n * @inheritdoc\n */\n add: function add(child, locator, index) {\n this._super(child, this.locator, index);\n\n this.setDimension(1, 1);\n\n return this;\n },\n\n /**\n *\n * Set the gap width between child components within this layout.\n * This will only affect the space between components, not the space around all the components in the layout.\n *\n * @param {Number} gap The space, in pixels, between items.\n * @since 2.5.1\n */\n setGap: function setGap(gap) {\n this.gap = gap;\n // this forces a relayout of the element\n this.setDimension(1, 1);\n\n return this;\n },\n\n /**\n *\n * Return the gap between the children shapes\n *\n * @since 5.0.0\n *\n */\n getGap: function getGap() {\n return this.gap;\n },\n\n /**\n * @inheritdoc\n */\n getMinWidth: function getMinWidth() {\n var _this = this;\n var width = this.stroke * 2 + this.padding.left + this.padding.right;\n var gap = 0;\n\n this.children.each(function (i, e) {\n if (e.figure.isVisible()) {\n width += e.figure.isResizeable() ? e.figure.getMinWidth() : e.figure.getWidth() + gap;\n gap = _this.gap;\n }\n });\n\n return width;\n },\n\n /**\n * @inheritdoc\n */\n getMinHeight: function getMinHeight() {\n var markup = this.stroke * 2 + this.padding.top + this.padding.bottom;\n var height = 0;\n\n this.children.each(function (i, e) {\n height = Math.max(height, e.figure.isResizeable() ? e.figure.getMinHeight() : e.figure.getHeight());\n });\n\n return height + markup;\n },\n\n /**\n * @inheritdoc\n */\n setDimension: function setDimension(w, h) {\n this._super(w, h);\n\n var diff = this.width - this.getMinWidth();\n if (diff > 0) {\n diff = diff / this.children.getSize() | 0;\n this.children.each(function (i, e) {\n if (e.figure.isResizeable() === true) {\n e.figure.setDimension(e.figure.getMinWidth() + diff, e.figure.getHeight());\n }\n });\n } else {\n var minHeight = this.getMinHeight();\n this.children.each(function (i, e) {\n // The layout respect the \"resizeable\" flag because a layout is a kind of layouter and\n // any kind of autolayouter must respect this flag\n if (e.figure.isResizeable() === true) {\n // reset the shape to the minimum width/height. see setMinWidth/setMinHeight\n e.figure.setDimension(1, minHeight);\n }\n });\n }\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n memento.gap = this.gap;\n\n return memento;\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.gap === \"number\") {\n this.gap = memento.gap;\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/layout/Layout.js\":\n/*!************************************!*\\\n !*** ./src/shape/layout/Layout.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A base class for positioning child figures and determining the ideal size for\n * a figure with children.\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Rectangle\n */\n_packages2.default.shape.layout.Layout = _packages2.default.shape.basic.Rectangle.extend(\n/** @lends draw2d.shape.layout.Layout.prototype */\n{\n\n NAME: \"draw2d.shape.layout.Layout\",\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n var _this = this;\n\n // @since 4.3.3\n this.padding = { top: 0, right: 0, bottom: 0, left: 0 };\n\n this._super((0, _extend2.default)({ bgColor: null, radius: 0, stroke: 0 }, attr), (0, _extend2.default)({\n // @attr {Number} padding the padding in pixel around the text */\n padding: this.setPadding\n }, setter), (0, _extend2.default)({\n padding: this.getPadding\n }, getter));\n\n this.resizeListener = function (figure) {\n // propagate the event to the parent or other listener if existing\n //\n if (_this.getParent() instanceof _packages2.default.shape.layout.Layout) {\n _this.fireEvent(\"resize\");\n }\n // or we are the parent and must consume it self\n else {\n _this.setDimension(1, 1);\n _this.fireEvent(\"resize\");\n }\n };\n\n this.installEditPolicy(new _packages2.default.policy.figure.AntSelectionFeedbackPolicy());\n },\n\n /**\n * @inheritdoc\n */\n add: function add(child, locator, index) {\n this._super(child, locator, index);\n\n child.on(\"resize\", this.resizeListener);\n child.on(\"change:visibility\", this.resizeListener);\n\n // don't use the getter/setter. This considers the canvas assignment and\n // the child is always invisible. BIG BUG. The example shape_db will break if you change this.\n // child.setVisible(this.isVisible());\n // respect the \"visible\" flag of the child as well\n child.visible = child.visible && this.visible;\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n remove: function remove(child) {\n var r = this._super(child);\n child.off(this.resizeListener);\n this.setDimension(1, 1);\n\n return r;\n },\n\n /**\n * \n * Set the padding of the element\n *\n * // Alternatively you can use the attr method:\n * //\n * // set the padding for top,left,bottom,right in one call\n * figure.attr({\n * padding: 3\n * });\n *\n * // update the padding left and top\n * figure.attr({\n * padding: {left:3, top:30}\n * });\n *\n * @param {Number|Object} padding The new padding\n * @since 4.3.3\n **/\n setPadding: function setPadding(padding) {\n if (typeof padding === \"number\") {\n this.padding = { top: padding, right: padding, bottom: padding, left: padding };\n } else {\n this.padding = (0, _extend2.default)(this.padding, padding);\n }\n this.fireEvent(\"change:padding\", { value: this.padding });\n\n // force a relayout of the figure\n this.setDimension(1, 1);\n\n return this;\n },\n\n /**\n * \n * Get the padding of the element.\n *\n * @since 4.3.3\n * @returns {this}\n **/\n getPadding: function getPadding() {\n return this.padding;\n },\n\n /**\n * @inheritdoc\n * @returns {this}\n */\n setVisible: function setVisible(flag) {\n // propagate the visibility to all children too.\n //\n this.children.each(function (i, e) {\n e.figure.setVisible(flag);\n });\n\n this._super(flag);\n\n // force a relayout of the shape because the dimension has been changed\n // by enable/disable of child shapes\n this.setDimension(1, 1);\n\n return this;\n },\n\n /**\n * \n * Returns the Command to perform the specified Request or null.\n *\n * @param {draw2d.command.CommandType} request describes the Command being requested\n * @returns {draw2d.command.Command} null or a Command\n * @private\n **/\n createCommand: function createCommand(request) {\n // it is not possible to rate a layout object\n // ..at the moment\n if (request.getPolicy() === _packages2.default.command.CommandType.ROTATE) {\n return null;\n }\n\n return this._super(request);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/layout/StackLayout.js\":\n/*!*****************************************!*\\\n !*** ./src/shape/layout/StackLayout.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Using the StackLayout as their layout shape have their children placed on top of one another.\n * Order of placement is determined by the order in which the children were added, first child\n * added placed on the bottom. Only one child is visible at once.\n *\n * @author Andreas Herz\n * @extends draw2d.shape.layout.Layout\n */\n_packages2.default.shape.layout.StackLayout = _packages2.default.shape.layout.Layout.extend(\n/** @lends draw2d.shape.layout.StackLayout.prototype */\n{\n\n NAME: \"draw2d.shape.layout.StackLayout\",\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.visibleLayer = 0;\n this.locator = new _packages2.default.layout.locator.XYAbsPortLocator(0, 0);\n\n this._super((0, _extend2.default)({ resizeable: true, width: 10, height: 10 }, attr), (0, _extend2.default)({}, setter), (0, _extend2.default)({}, getter));\n\n this.resizeListener = function (figure) {};\n // install default selection handler. Can be overridden or replaced\n this.installEditPolicy(new _packages2.default.policy.figure.RectangleSelectionFeedbackPolicy());\n },\n\n /**\n *\n * Set the current visible layer of the stack layout\n *\n * @param {Number} visibleLayer\n */\n setVisibleLayer: function setVisibleLayer(visibleLayer, duration) {\n this.getChildren().get(this.visibleLayer).setVisible(false, duration);\n this.visibleLayer = Math.min(this.getChildren().getSize() - 1, Math.max(0, visibleLayer));\n\n this.getChildren().get(this.visibleLayer).setVisible(true, duration);\n return this;\n },\n\n /**\n *\n * Returns the current visible layer\n *\n * @returns {Number}\n */\n getVisibleLayer: function getVisibleLayer() {\n return this.visibleLayer;\n },\n\n /**\n * @inheritdoc\n */\n add: function add(child, locator, index) {\n // the child didn'T care about events...at the moment\n //\n child.hitTest = function () {\n return false;\n };\n\n // make all existing shapes invisible\n //\n this.getChildren().each(function (i, c) {\n c.setVisible(false);\n });\n this.visibleLayer = this.getChildren().getSize();\n\n // ignore the parameter \"locator\" and use the locator for the stack layout instead\n return this._super(child, this.locator, index);\n },\n\n /**\n * @inheritdoc\n */\n setVisible: function setVisible(flag) {\n _packages2.default.shape.basic.Rectangle.prototype.setVisible.call(this, flag);\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n getMinWidth: function getMinWidth() {\n var markup = this.stroke * 2 + this.padding.left + this.padding.right;\n var width = 10;\n this.children.each(function (i, e) {\n width = Math.max(width, e.figure.isResizeable() ? e.figure.getMinWidth() : e.figure.getWidth());\n });\n return width + markup;\n },\n\n /**\n * @inheritdoc\n */\n getMinHeight: function getMinHeight() {\n var markup = this.stroke * 2 + this.padding.top + this.padding.bottom;\n var height = 10;\n this.children.each(function (i, e) {\n height = Math.max(height, e.figure.isResizeable() ? e.figure.getMinHeight() : e.figure.getHeight());\n });\n return height + markup;\n },\n\n /**\n * @inheritdoc\n */\n setDimension: function setDimension(w, h) {\n this._super(w, h);\n\n var width = this.width - this.padding.left - this.padding.right;\n var height = this.height - this.padding.top - this.padding.bottom;\n if (width === this._recursiveWidth && height === this._recursiveHeight) {\n return this;\n }\n this._recursiveHeight = height;\n this._recursiveWidth = width;\n\n this.children.each(function (i, e) {\n if (e.figure.isResizeable()) {\n e.figure.setDimension(width, height);\n }\n });\n\n delete this._recursiveHeight;\n delete this._recursiveWidth;\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/layout/TableLayout.js\":\n/*!*****************************************!*\\\n !*** ./src/shape/layout/TableLayout.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * The TableLayout class arranges the children in a row/column order. Each cell can be styled\n * with valign, align and padding.\n *\n *\n * See the example below with and without padding or alignment settings\n *\n *\n * @example\n *\n * let label1 = new draw2d.shape.basic.Label({text:\"[0,1] with long long long long label\", fontColor:\"#00AF00\"});\n * let label2 = new draw2d.shape.basic.Label({text:\"[1,1] padding:10\", fontColor:\"#00AF00\"});\n * let label3 = new draw2d.shape.basic.Label({text:\"[2,1] align:right\", fontColor:\"#00AF00\"});\n * let label4 = new draw2d.shape.basic.Label({text:\"[3,1] resize:true\",resizeable:true, fontColor:\"#00AF00\"});\n *\n * let container = new draw2d.shape.layout.TableLayout();\n *\n * container.addRow(\"[0,0]\", label1 ,\"[0,2] align:center\");\n * container.addRow(\"[1,0] valign:bottom\", label2,\"[1,2] long long long label\");\n * container.addRow(\"[2,0]\", label3,\"[2,2]\");\n * container.addRow(\"[3,0]\", label4,\"[3,2]\");\n *\n * container.setPadding(0);\n * container.setCellPadding(1,1, 10);\n *\n * container.setCellAlign(0,2, \"center\");\n * container.setCellAlign(2,1, \"right\");\n *\n * container.setCellVerticalAlign(1, 0, \"bottom\");\n * canvas.add(container,10,10);\n *\n *\n * @author Andreas Herz\n * @extends draw2d.shape.layout.Layout\n * @since 5.3.0\n */\n_packages2.default.shape.layout.TableLayout = _packages2.default.shape.layout.Layout.extend(\n/** @lends draw2d.shape.layout.TableLayout.prototype */\n{\n\n NAME: \"draw2d.shape.layout.TableLayout\",\n\n DUMMY_CELL: {\n getMinHeight: function getMinHeight() {\n return 1;\n },\n getMinWidth: function getMinWidth() {\n return 1;\n },\n off: function off() {}\n },\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n var _this = this;\n this.cellLocator = {\n relocate: function relocate(index, figure) {\n if (_this.repaintBlocked === true) {\n return;\n }\n var cell = figure.__cell;\n var layout = _this.getCellLayout(cell.row, cell.column);\n var outerWidth = _this.getWidth();\n var minWidth = _this.getMinWidth();\n var widthOffset = 0;\n if (outerWidth != minWidth) {\n widthOffset = (outerWidth - minWidth) / _this.layoutInfos[0].length * cell.column;\n }\n\n var width = figure.getWidth();\n var height = figure.getHeight();\n var x = layout.x + _this.padding.left + layout.padding.left + widthOffset;\n var y = layout.y + _this.padding.top + layout.padding.top;\n\n // stretch the figure to fill the complete cell\n //\n if (figure.isResizeable()) {\n var w = Math.max(figure.getMinWidth(), layout.w - (layout.padding.left + layout.padding.right) + widthOffset);\n var h = Math.max(figure.getMinHeight(), layout.h - (layout.padding.top + layout.padding.bottom));\n figure.setDimension(w, h);\n }\n // else apply the valign and align property\n //\n else {\n // apply vertical alignment\n //\n switch (layout.valign) {\n case \"middle\":\n y = y + (layout.h - (height + layout.padding.top + layout.padding.bottom)) / 2;\n break;\n case \"bottom\":\n y = y + (layout.h - (height + layout.padding.top + layout.padding.bottom));\n break;\n }\n\n // apply horizontal alignment\n //\n switch (layout.align) {\n case \"center\":\n x = x + (layout.w - (width + layout.padding.left + layout.padding.right)) / 2 + widthOffset / 2;\n break;\n case \"right\":\n x = x + (layout.w - (width + layout.padding.left + layout.padding.right)) + widthOffset;\n break;\n }\n }\n figure.setPosition(x, y);\n },\n bind: function bind() {},\n unbind: function unbind() {},\n translate: function translate(figure, diff) {\n figure.setPosition(figure.x + diff.x, figure.y + diff.y);\n }\n };\n\n this.padding = { top: 4, right: 4, bottom: 4, left: 4 };\n\n this.grid = [];\n this.layoutInfos = [];\n this.layoutInfos[0] = [];\n this.layoutInfos[0][0] = { x: 0, y: 0, w: 1, h: 1, valign: \"top\", align: \"left\" };\n\n this._super(extend({ stroke: 1, resizeable: false }, attr), extend({\n // @attr {Number} padding the padding in pixel around the text */\n padding: this.setPadding\n }, setter), extend({\n padding: this.getPadding\n }, getter));\n },\n\n /**\n * \n * Set the padding of the given cell.\n *\n *\n * @param {Number|Object} padding The new padding\n **/\n setCellPadding: function setCellPadding(row, column, padding) {\n var layout = this.getCellLayout(row, column);\n if (layout === null) {\n return this;\n }\n\n if (typeof padding === \"number\") {\n layout.padding = { top: padding, right: padding, bottom: padding, left: padding };\n } else {\n extend(layout.padding, padding);\n }\n\n this.calculateLayout();\n this.setDimension(1, 1);\n\n return this;\n },\n\n /**\n * \n * Get the padding of the outer grid.\n *\n **/\n getCellPadding: function getCellPadding(row, column) {\n\n var layout = this.getCellLayout(row, column);\n if (layout === null || typeof layout.padding === \"undefined\") {\n return { top: 0, right: 0, bottom: 0, left: 0 };\n }\n return layout.padding;\n },\n\n /**\n * \n * Set the padding of the outer grid.\n *\n * // Alternatively you can use the attr method:\n * //\n * // set the padding for top,left,bottom,right in one call\n * figure.attr({\n * padding: 3\n * });\n *\n * // update the padding left and top\n * figure.attr({\n * padding: {left:3, top:30}\n * });\n *\n * @param {Number|Object} padding The new padding\n **/\n setPadding: function setPadding(padding) {\n if (typeof padding === \"number\") {\n this.padding = { top: padding, right: padding, bottom: padding, left: padding };\n } else {\n this.padding = extend(this.padding, padding);\n }\n this.calculateLayout();\n this.setDimension(1, 1);\n this.fireEvent(\"change:padding\", { value: this.padding });\n\n return this;\n },\n\n /**\n * \n * Get the padding of the outer grid.\n *\n **/\n getPadding: function getPadding() {\n return this.padding;\n },\n\n setCanvas: function setCanvas(canvas) {\n this._super(canvas);\n this.calculateLayout();\n this.setDimension(2, 2);\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n add: function add(child, locator, index) {\n this._super(child, locator, index);\n\n this.setDimension(1, 1);\n\n return this;\n },\n\n /**\n *\n * \n * Removes the row from the TableLayout\n *\n * @returns the removed row\n */\n removeRow: function removeRow(index) {\n var _this = this;\n var removedRow = this.grid.splice(index, 1);\n removedRow[0].forEach(function (figure) {\n _this.remove(figure);\n });\n\n this.calculateLayout();\n this.setDimension(2, 2);\n\n return removedRow;\n },\n\n /**\n * \n * Add a row to the table grid.\n * This method has a variable argument list. All arguments are added in one row.\n *\n * @param {Array} figures variable count of figures to add as one row\n */\n addRow: function addRow() {\n var figuresToAdd = [];\n var _this = this;\n var args = Array.prototype.slice.call(arguments); // sometimes js is stupid...\n\n var rowCount = this.grid.length + 1;\n var columnCount = this.grid.length > 0 ? Math.max(this.grid[0].length, args.length) : args.length;\n\n var row = [];\n\n args.forEach(function (figure, index) {\n if (typeof figure === \"string\") {\n figure = new _packages2.default.shape.basic.Label({ text: figure });\n }\n row.push(figure);\n figuresToAdd.push(figure);\n });\n this.grid.push(row);\n\n // adjust the columns. All rows must have the same column count. Add empty cells\n // if required.\n //\n this.grid.forEach(function (row, index) {\n var missingColumns = columnCount - row.length;\n for (var i = 0; i < missingColumns; i++) {\n row.push(_this.DUMMY_CELL);\n }\n });\n\n var orig = this.repaintBlocked;\n this.repaintBlocked = true;\n figuresToAdd.forEach(function (figure) {\n _this.add(figure, _this.cellLocator);\n });\n this.repaintBlocked = orig;\n\n this.calculateLayout();\n this.setDimension(1, 1);\n\n return this;\n },\n\n getMinWidth: function getMinWidth() {\n // return some good default if we are not part of the canvas.\n // A real width/height calculation isn'T possible if the canvas not set\n if (this.canvas === null || this.layoutInfos.length === 0) {\n return 10;\n }\n\n var bottom = this.layoutInfos[this.layoutInfos.length - 1];\n var layout = bottom[bottom.length - 1];\n\n return layout.w + layout.x + this.padding.left + this.padding.right;\n },\n\n getMinHeight: function getMinHeight() {\n // return some good default if we are not part of the canvas.\n // A real width/height calculation isn'T possible if the canvas not set\n if (this.canvas === null || this.layoutInfos.length === 0) {\n return 10;\n }\n\n var bottom = this.layoutInfos[this.layoutInfos.length - 1];\n var layout = bottom[bottom.length - 1];\n\n return layout.h + layout.y + this.padding.top + this.padding.bottom;\n },\n\n /**\n * \n * Set the vertical alignment of a cell. Possible values are\n * <ul>\n * <li>top</li>\n * <li>middle</li>\n * <li>bottom</li>\n * </ul>\n *\n * @param {Number} row The row index of the cell. Starting by 0\n * @param {Number} column The column index of the cell. Starting by 0\n * @param {String} align The vertical alignment of the cell\n */\n setCellVerticalAlign: function setCellVerticalAlign(row, column, valign) {\n var layout = this.getCellLayout(row, column);\n if (layout === null) {\n return; // silently\n }\n\n switch (valign) {\n case \"top\":\n case \"middle\":\n case \"bottom\":\n layout.valign = valign;\n this.calculateLayout();\n this.setDimension(1, 1);\n }\n\n return this;\n },\n\n /**\n * \n * Get the vertical alignment of a cell. Possible values are\n * <ul>\n * <li>top</li>\n * <li>middle</li>\n * <li>bottom</li>\n * </ul>\n *\n * @param {Number} row The row index of the cell. Starting by 0\n * @param {Number} column The column index of the cell. Starting by 0\n * @returns {String} The vertical alignment of the cell\n */\n getCellVerticalAlign: function getCellVerticalAlign(row, column) {\n var layout = this.getCellLayout(row, column);\n if (layout === null) {\n return \"top\";\n }\n\n return layout.valign;\n },\n\n /**\n * \n * Set the alignment of a cell. Possible values are\n * <ul>\n * <li>left</li>\n * <li>center</li>\n * <li>right</li>\n * </ul>\n *\n *\n * @param {Number} row The row index of the cell. Starting by 0\n * @param {Number} column The column index of the cell. Starting by 0\n * @param {String} align The horizontal alignment of the cell\n */\n setCellAlign: function setCellAlign(row, column, align) {\n\n var layout = this.getCellLayout(row, column);\n if (layout === null) {\n return; // silently\n }\n\n switch (align) {\n case \"left\":\n case \"center\":\n case \"right\":\n layout.align = align;\n this.calculateLayout();\n this.setDimension(1, 1);\n }\n\n return this;\n },\n\n /**\n * \n * Return the alignment of a cell. Possible values are\n * <ul>\n * <li>left</li>\n * <li>center</li>\n * <li>right</li>\n * </ul>\n *\n *\n * @param {Number} row The row index of the cell. Starting by 0\n * @param {Number} column The column index of the cell. Starting by 0\n * return {String} The horizontal alignment of the cell\n */\n getCellAlign: function getCellAlign(row, column) {\n\n var layout = this.getCellLayout(row, column);\n if (layout === null) {\n return \"left\";\n }\n return layout.align;\n },\n\n /**\n * \n * Return the layout information for the given row/column or <b>null</b>\n * if the row/column index is out of range.\n *\n * @private\n */\n getCellLayout: function getCellLayout(row, column) {\n if (row < 0 || column < 0) {\n return null; // silently\n }\n\n if (row >= this.layoutInfos.length) {\n return null; // silently\n }\n\n var layouts = this.layoutInfos[row];\n if (column >= layouts.length) {\n return null; // silently\n }\n\n return layouts[column];\n },\n\n /**\n * \n * Recalculate the layout of the table\n *\n * @private\n */\n calculateLayout: function calculateLayout() {\n var _this = this;\n var rowCount = this.grid.length;\n var columnCount = this.grid.length > 0 ? this.grid[0].length : 0;\n\n var newLayoutInfos = [];\n for (var row = 0; row < rowCount; row++) {\n newLayoutInfos[row] = [];\n for (var column = 0; column < columnCount; column++) {\n newLayoutInfos[row][column] = {\n width: 0,\n height: 0,\n x: 0,\n y: 0,\n valign: this.getCellVerticalAlign(row, column),\n align: this.getCellAlign(row, column),\n padding: this.getCellPadding(row, column)\n };\n }\n }\n\n // determine the heights/widths of the grid\n //\n var layoutWidths = new Array(columnCount + 1).join('0').split('').map(parseFloat);\n var layoutHeights = new Array(rowCount + 1).join('0').split('').map(parseFloat);\n this.grid.forEach(function (figures, row) {\n for (var _column = 0; _column < columnCount; _column++) {\n var layout = newLayoutInfos[row][_column];\n var figure = figures[_column];\n figure.__cell = { row: row, column: _column };\n layoutHeights[row] = Math.max(layoutHeights[row], figure.getMinHeight() + layout.padding.top + layout.padding.bottom);\n layoutWidths[_column] = Math.max(layoutWidths[_column], figure.getMinWidth() + layout.padding.left + layout.padding.right);\n }\n });\n\n var x = 0,\n y = 0;\n for (var _row = 0; _row < rowCount; _row++) {\n for (var _column2 = 0; _column2 < columnCount; _column2++) {\n var layout = newLayoutInfos[_row][_column2];\n layout.w = layoutWidths[_column2];\n layout.h = layoutHeights[_row];\n layout.x = x;\n layout.y = y;\n x = x + layout.w;\n }\n y = y + layoutHeights[_row];\n x = 0;\n }\n\n this.layoutInfos = newLayoutInfos;\n\n return this;\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/layout/VerticalLayout.js\":\n/*!********************************************!*\\\n !*** ./src/shape/layout/VerticalLayout.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * The VerticalLayout class arranges the layout elements in a vertical sequence,\n * left to right, with optional gaps between the elements.\n *\n * During the execution of the setDimension() method, the minimum height of the container is calculated\n * by accumulating the minimum sizes of the elements, including stroke, gaps and padding.\n *\n * See the example below with and without gap and border settings\n *\n *\n * @example\n *\n * // first container without any gap and a border of the parent\n * // container\n * let label1 = new draw2d.shape.basic.Label({text:\"Label 1\"});\n * let label2 = new draw2d.shape.basic.Label({text:\"Label 2\"});\n * let label3 = new draw2d.shape.basic.Label({text:\"Label 3\"});\n *\n * let container1 = new draw2d.shape.layout.VerticalLayout();\n *\n * container1.add(label1);\n * container1.add(label2);\n * container1.add(label3);\n * container1.setGap(10);\n * container1.setStroke(2);\n * canvas.add(container1,50,10);\n *\n * // second container without any gab or border\n * //\n * let label11 = new draw2d.shape.basic.Label({text:\"Label 1\"});\n * let label12 = new draw2d.shape.basic.Label({text:\"Label 2\"});\n * let label13 = new draw2d.shape.basic.Label({text:\"Label 3\"});\n *\n * let container2 = new draw2d.shape.layout.VerticalLayout();\n *\n * container2.add(label11);\n * container2.add(label12);\n * container2.add(label13);\n *\n * canvas.add(container2,150,10);\n *\n * @author Andreas Herz\n * @extends draw2d.shape.layout.Layout\n */\n_packages2.default.shape.layout.VerticalLayout = _packages2.default.shape.layout.Layout.extend(\n/** @lends draw2d.shape.layout.VerticalLayout.prototype */\n{\n\n NAME: \"draw2d.shape.layout.VerticalLayout\",\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n // some layout parameter\n //\n this.gap = 0;\n\n // \"this\" shortcut to avoid $.proxy\n var _this = this;\n\n this.locator = {\n translate: function translate(figure, diff) {\n figure.setPosition(figure.x + diff.x, figure.y + diff.y);\n },\n bind: function bind() {},\n unbind: function unbind() {},\n relocate: function relocate(index, target) {\n var stroke = _this.getStroke();\n var yPos = stroke + _this.padding.top; // respect the border and padding of the shape\n var xPos = _this.padding.left;\n\n for (var i = 0; i < index; i++) {\n var child = _this.children.get(i).figure;\n if (child.isVisible()) {\n yPos += child.getHeight() + _this.gap;\n }\n }\n\n target.setPosition(xPos, yPos);\n }\n };\n\n this._super(extend({ width: 10, height: 10 }, attr), extend({\n // @attr {Number} gap the gap between the children shapes */\n gap: this.setGap\n }, setter), extend({\n gap: this.getGap\n }, getter));\n },\n\n /**\n * @inheritdoc\n */\n add: function add(child, locator, index) {\n this._super(child, this.locator, index);\n\n this.setDimension(1, 1);\n\n return this;\n },\n\n /**\n * \n * Set the gap width between child components within this layout.\n * This will only affect the space between components, not the space around all the components in the layout.\n *\n * @param {Number} gap The space, in pixels, between items.\n */\n setGap: function setGap(gap) {\n this.gap = gap;\n // this forces a relayout of the element\n this.setDimension(1, 1);\n },\n\n /**\n * @inheritdoc\n */\n getMinWidth: function getMinWidth() {\n var markup = this.stroke * 2 + this.padding.left + this.padding.right;\n var width = 10;\n this.children.each(function (i, e) {\n if (e.figure.isVisible()) width = Math.max(width, e.figure.isResizeable() ? e.figure.getMinWidth() : e.figure.getWidth());\n });\n return width + markup;\n },\n\n /**\n * @inheritdoc\n */\n getMinHeight: function getMinHeight() {\n var _this = this;\n var gap = 0;\n var markup = this.stroke * 2 + this.padding.top + this.padding.bottom;\n var height = 0;\n\n this.children.each(function (i, e) {\n if (e.figure.isVisible()) {\n height += (e.figure.isResizeable() ? e.figure.getMinHeight() : e.figure.getHeight()) + gap;\n // first element is iterated. Now we must add the gap to all next elements\n gap = _this.gap;\n }\n });\n\n return height + markup;\n },\n\n /**\n * @inheritdoc\n */\n setDimension: function setDimension(w, h) {\n this._super(w, h);\n\n var width = this.width - this.padding.left - this.padding.right;\n if (width === this._recursiveWidth) {\n return this;\n }\n this._recursiveWidth = width;\n\n this.children.each(function (i, e) {\n if (e.figure.isResizeable() && e.figure.isVisible()) {\n e.figure.setDimension(width, e.figure.getMinHeight());\n }\n });\n\n delete this._recursiveWidth;\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n memento.gap = this.gap;\n\n return memento;\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.gap === \"number\") {\n this.gap = memento.gap;\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/node/Between.js\":\n/*!***********************************!*\\\n !*** ./src/shape/node/Between.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A simple Node which has a InputPort and OutputPort. Mainly used for demo and examples.\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.node.Between({color: \"#3d3d3d\"});\n *\n * canvas.add(figure,50,10);\n *\n * @extends draw2d.shape.basic.Rectangle\n */\n_packages2.default.shape.node.Between = _packages2.default.shape.basic.Rectangle.extend(\n/** @lends draw2d.shape.node.Between.prototype */\n{\n\n NAME: \"draw2d.shape.node.Between\",\n\n DEFAULT_COLOR: new _packages2.default.util.Color(\"#4D90FE\"),\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({\n bgColor: this.DEFAULT_COLOR,\n color: this.DEFAULT_COLOR.darker(),\n width: 50,\n height: 50\n }, attr), setter, getter);\n\n this.createPort(\"output\");\n this.createPort(\"input\");\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/node/End.js\":\n/*!*******************************!*\\\n !*** ./src/shape/node/End.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * A simple Node which has a InputPort. Mainly used for demo and examples.\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.node.End({color: \"#3d3d3d\"});\n *\n * canvas.add(figure,50,10);\n *\n * @extends draw2d.shape.basic.Rectangle\n */\n_packages2.default.shape.node.End = _packages2.default.shape.basic.Rectangle.extend(\n/** @lends draw2d.shape.node.End.prototype */\n{\n\n NAME: \"draw2d.shape.node.End\",\n\n DEFAULT_COLOR: new _packages2.default.util.Color(\"#4D90FE\"),\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({\n bgColor: this.DEFAULT_COLOR,\n color: this.DEFAULT_COLOR.darker(),\n width: 50,\n height: 50\n }, attr), setter, getter);\n\n this.createPort(\"input\");\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/node/Fulcrum.js\":\n/*!***********************************!*\\\n !*** ./src/shape/node/Fulcrum.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _JSONUtil = __webpack_require__(/*! ../../util/JSONUtil */ \"./src/util/JSONUtil.js\");\n\nvar _JSONUtil2 = _interopRequireDefault(_JSONUtil);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A horizontal bus shape with a special kind of port handling. The hole figure is a hybrid port.\n *\n *\n * @example\n *\n * canvas.add( new draw2d.shape.node.Fulcrum(),50,10);\n * canvas.add( new draw2d.shape.node.Fulcrum(),80,100);\n * canvas.add( new draw2d.shape.node.Fulcrum(),150,50);\n *\n * @extends draw2d.shape.node.Hub\n */\n_packages2.default.shape.node.Fulcrum = _packages2.default.shape.node.Hub.extend(\n/** @lends draw2d.shape.node.Fulcrum.prototype */\n{\n\n NAME: \"draw2d.shape.node.Fulcrum\",\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({ width: 40, height: 40 }, attr), setter, getter);\n\n this.port.setConnectionAnchor(new _packages2.default.layout.anchor.ConnectionAnchor(this.port));\n this.port.setVisible(true);\n this.port.hitTest = this.port._orig_hitTest;\n\n this.setConnectionDirStrategy(0);\n this.setColor(null);\n this.setRadius(10);\n this.setBackgroundColor(null);\n this.setStroke(0);\n this.installEditPolicy(new _packages2.default.policy.figure.AntSelectionFeedbackPolicy());\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return this;\n }\n\n attributes = attributes || {};\n\n // set some good defaults if the parent didn't\n _JSONUtil2.default.ensureDefault(attributes, \"fill\", this.bgColor.rgba());\n\n return this._super(attributes);\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/node/HorizontalBus.js\":\n/*!*****************************************!*\\\n !*** ./src/shape/node/HorizontalBus.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A horizontal bus shape with a special kind of port handling. The hole figure is a hybrid port.\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.node.HorizontalBus({width:300, height:20, text:\"Horizontal Bus\"});\n *\n * canvas.add(figure,50,10);\n *\n * @extends draw2d.shape.node.Hub\n */\n_packages2.default.shape.node.HorizontalBus = _packages2.default.shape.node.Hub.extend(\n/** @lends draw2d.shape.node.HorizontalBus.prototype */\n{\n\n NAME: \"draw2d.shape.node.HorizontalBus\",\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.setConnectionDirStrategy(1);\n\n this.installEditPolicy(new _packages2.default.policy.figure.HBusSelectionFeedbackPolicy());\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/node/Hub.js\":\n/*!*******************************!*\\\n !*** ./src/shape/node/Hub.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _Color = __webpack_require__(/*! ../../util/Color */ \"./src/util/Color.js\");\n\nvar _Color2 = _interopRequireDefault(_Color);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A hub is a shape with a special kind of port handling. The hole figure is a hybrid port. You can drag&drop a Port directly on\n * the figure.\n *\n *\n * @example\n *\n *\n * canvas.add(new draw2d.shape.node.Start({x:50, y:50}));\n * canvas.add(new draw2d.shape.node.Hub({x:150, y:50}));\n *\n * @extends draw2d.shape.basic.Rectangle\n */\n_packages2.default.shape.node.Hub = _packages2.default.shape.basic.Rectangle.extend(\n/** @lends draw2d.shape.node.Hub.prototype */\n{\n\n NAME: \"draw2d.shape.node.Hub\",\n\n DEFAULT_COLOR: new _Color2.default(\"#4DF0FE\"),\n BACKGROUND_COLOR: new _Color2.default(\"#29AA77\"),\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.label = null;\n\n this._super(extend({ color: this.DEFAULT_COLOR.darker(), bgColor: this.BACKGROUND_COLOR }, attr), extend({\n // deprecated\n label: this.setLabel,\n // @attr {String} text the text to display in the center of the hub */\n text: this.setLabel\n }, setter), extend({\n label: this.getLabel,\n text: this.getLabel\n }, getter));\n\n var _port = this.port = this.createPort(\"hybrid\", new _packages2.default.layout.locator.CenterLocator());\n\n var r = _packages2.default.geo.Rectangle;\n this.CONNECTION_DIR_STRATEGY = [function (peerPort) {\n return _port.getParent().getBoundingBox().getDirection(peerPort.getAbsolutePosition());\n }, function (peerPort) {\n return _port.getAbsoluteY() > peerPort.getAbsoluteY() ? r.DIRECTION_UP : r.DIRECTION_DOWN;\n }, function (peerPort) {\n return _port.getAbsoluteX() > peerPort.getAbsoluteX() ? r.DIRECTION_LEFT : r.DIRECTION_RIGHT;\n }];\n\n // redirect the glow effect and the hitTest for the port to the parent node\n //\n this.port.setGlow = this.setGlow.bind(this);\n this.port._orig_hitTest = this.port.hitTest;\n this.port.hitTest = this.hitTest.bind(this);\n\n // provide a special connection anchor for this port. We use the bounding box of the\n // parent as connection border\n //\n this.port.setConnectionAnchor(new _packages2.default.layout.anchor.ShortesPathConnectionAnchor(this.port));\n this.port.setVisible(false);\n this.port.setVisible = function () {};\n\n this.setConnectionDirStrategy(0);\n },\n\n /**\n *\n * Called by the framework during drag&drop operations if the user drag a figure over this figure\n *\n * @param {draw2d.Figure} draggedFigure The figure which is currently dragging\n *\n * @returns {draw2d.Figure} the figure which should receive the drop event or null if the element didn't want a drop event\n **/\n delegateTarget: function delegateTarget(draggedFigure) {\n // redirect the dragEnter handling to the hybrid port\n //\n return this.getHybridPort(0).delegateTarget(draggedFigure);\n },\n\n /**\n *\n * This value is relevant for the interactive resize of the figure.\n *\n * @returns {Number} Returns the min. width of this object.\n */\n getMinWidth: function getMinWidth() {\n if (this.label !== null) {\n return Math.max(this.label.getMinWidth(), this._super());\n }\n return this._super();\n },\n\n /**\n * @inheritdoc\n *\n * @private\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n // set some good defaults if the parent didn't\n if (typeof attributes.fill === \"undefined\") {\n if (this.bgColor !== null) {\n attributes.fill = \"90-\" + this.bgColor.hash() + \":5-\" + this.bgColor.lighter(0.3).hash() + \":95\";\n } else {\n attributes.fill = \"none\";\n }\n }\n\n this._super(attributes);\n },\n\n /**\n *\n * Set the label for the Hub\n *\n * // Alternatively you can use the attr method:\n * figure.attr({\n * text: label\n * });\n *\n *\n * @param {String} label\n * @since 3.0.4\n */\n setLabel: function setLabel(label) {\n // Create any Draw2D figure as decoration for the connection\n //\n if (this.label === null) {\n var _this = this;\n\n this.label = new _packages2.default.shape.basic.Label({ text: label, color: \"#0d0d0d\", fontColor: \"#0d0d0d\", stroke: 0 });\n // add the new decoration to the connection with a position locator.\n //\n this.add(this.label, new _packages2.default.layout.locator.CenterLocator());\n this.label.setSelectionAdapter(function () {\n return _this;\n });\n this.label.delegateTarget = function () {\n return _this.port;\n };\n } else {\n this.label.setText(label);\n }\n },\n\n /**\n *\n * Set the strategy for the connection direction calculation.<br>\n * <br>\n *\n * <ul>\n * <li>0 - Use the best/shortest direction (UP/RIGHT/DOWN/LEFT) for the connection routing (default)</li>\n * <li>1 - Use UP/DOWN for the connection direction</li>\n * <li>2 - Use LEFT/RIGHT</li>\n * </ul>\n * @param {Number} strategy the connection routing strategy to use\n * @since 2.4.3\n */\n setConnectionDirStrategy: function setConnectionDirStrategy(strategy) {\n switch (strategy) {\n case 0:\n case 1:\n case 2:\n this.port.getConnectionDirection = this.CONNECTION_DIR_STRATEGY[strategy];\n break;\n }\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n memento.dirStrategy = this.CONNECTION_DIR_STRATEGY.indexOf(this.port.getConnectionDirection);\n if (this.label !== null) {\n memento.label = this.label.getText();\n }\n\n return memento;\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.dirStrategy === \"number\") {\n this.setConnectionDirStrategy(memento.dirStrategy);\n }\n\n if (typeof memento.label !== \"undefined\") {\n this.setLabel(memento.label);\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/node/Node.js\":\n/*!********************************!*\\\n !*** ./src/shape/node/Node.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _extend = __webpack_require__(/*! ../../util/extend */ \"./src/util/extend.js\");\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A Node is the base class for all figures which can have {@link draw2d.Port}s. A {@link draw2d.Port} is the\n * anchor for a {@link draw2d.Connection} line.<br><br>A {@link draw2d.Port} is a green dot which can\n * be dragged and dropped over another port.<br>\n * @inheritable\n * @author Andreas Herz\n * @extends draw2d.Figure\n */\n_packages2.default.shape.node.Node = _packages2.default.Figure.extend(\n/** @lends draw2d.shape.node.Node.prototype */\n{\n\n NAME: \"draw2d.shape.node.Node\",\n\n /**\n * Creates a new Node element which are not assigned to any canvas.\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this.inputPorts = new _packages2.default.util.ArrayList();\n this.outputPorts = new _packages2.default.util.ArrayList();\n this.hybridPorts = new _packages2.default.util.ArrayList();\n\n // flag which indicates if the figure should read/write ports to\n // JSON\n this.persistPorts = true;\n\n // Flags just for performance reasons\n //\n this.portRelayoutRequired = true;\n\n // just for performance reasons\n //\n this.cachedPorts = null;\n\n this._super((0, _extend2.default)({ width: 50, height: 50 }, attr), (0, _extend2.default)({\n // @attr {Number} indicate whenever you want persists the ports too */\n persistPorts: this.setPersistPorts\n }, setter), (0, _extend2.default)({\n persistPorts: this.getPersistPorts\n }, getter));\n },\n\n /**\n *\n * Indicates if the node should read/write the ports via the draw2d.Figure.getPersistenAttributes\n * to the JSON object\n *\n * @param {Boolean} flag\n * @since 5.0.4\n */\n setPersistPorts: function setPersistPorts(flag) {\n this.persistPorts = flag;\n this.fireEvent(\"change:persistPorts\", { value: this.persistPorts });\n\n return this;\n },\n\n /**\n *\n * Indicates if the figure writes the ports to the JSON structore too.\n * Default is \"false\"\n *\n * @returns {Boolean}\n */\n getPersistPorts: function getPersistPorts() {\n return this.persistPorts;\n },\n\n /**\n * @inheritdoc\n */\n toFront: function toFront(figure) {\n var _this = this;\n\n this._super(figure);\n\n this.getPorts().each(function (i, port) {\n port.getConnections().each(function (i, connection) {\n return connection.toFront(figure);\n });\n port.toFront(_this);\n });\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n toBack: function toBack(figure) {\n\n this.getPorts().each(function (i, port) {\n port.getConnections().each(function (i, connection) {\n return connection.toBack(figure);\n });\n port.toBack(figure);\n });\n\n this._super(figure);\n\n return this;\n },\n\n /**\n * @inheritdoc\n */\n setVisible: function setVisible(flag, duration) {\n // adjust the visibility of the ports to the parent state\n //\n if (!flag) {\n this.getPorts().each(function (i, port) {\n port.__initialVisibilityState = port.isVisible();\n port.setVisible(false, duration);\n });\n } else {\n this.getPorts().each(function (i, port) {\n if (typeof port.__initialVisibilityState !== \"undefined\") {\n port.setVisible(port.__initialVisibilityState, duration);\n } else {\n port.setVisible(true, duration);\n }\n delete port.__initialVisibilityState;\n });\n }\n this._super(flag, duration);\n },\n\n /**\n *\n * Return all ports of the node. The results contains\n * all ports of the children too per default. Set <b>recursive</b>\n * to false to retrieve direct assigned ports only.\n *\n * @param {Boolean} [recursive] indicates if the method should return children ports too. Default is <b>true</b>\n * @returns {draw2d.util.ArrayList}\n **/\n getPorts: function getPorts(recursive) {\n var _this2 = this;\n\n if (typeof recursive === \"boolean\" && recursive === false) {\n var ports = new _packages2.default.util.ArrayList();\n ports.addAll(this.inputPorts);\n ports.addAll(this.outputPorts);\n ports.addAll(this.hybridPorts);\n return ports;\n }\n\n if (this.cachedPorts === null) {\n this.cachedPorts = new _packages2.default.util.ArrayList();\n this.cachedPorts.addAll(this.inputPorts);\n this.cachedPorts.addAll(this.outputPorts);\n this.cachedPorts.addAll(this.hybridPorts);\n\n this.children.each(function (i, e) {\n _this2.cachedPorts.addAll(e.figure.getPorts());\n });\n }\n return this.cachedPorts;\n },\n\n /**\n *\n * Return all input ports of the node.\n *\n * @returns {draw2d.util.ArrayList}\n **/\n getInputPorts: function getInputPorts() {\n return this.inputPorts.clone().addAll(this.hybridPorts);\n },\n\n /**\n *\n * Return all output ports of the node.\n *\n * @returns {draw2d.util.ArrayList}\n **/\n getOutputPorts: function getOutputPorts() {\n return this.outputPorts.clone().addAll(this.hybridPorts);\n },\n\n /**\n *\n * Clone the figure. <br>\n * You must override and implement the methods <b>getPersistentAttributes</b> and <b>setPersistentAttributes</b> for your custom\n * figures if the have special attributes.\n *\n * The clone() method performs a deep copy of the object, meaning that it copies the children, ports and decorations\n * per default. You can control the clone procedure with the 'cloneMetaData'.\n *\n *\n * @param {Object} [cloneMetaData] controls the clone procedure\n * @param {Boolean} [cloneMetaData.excludeChildren] set it to true if you want exclude the children.\n * @param {Boolean} [cloneMetaData.excludePorts] set it to true if you want exclude the ports of the node.\n *\n * @since 4.1.0\n * @experimental\n */\n clone: function clone(cloneMetaData) {\n cloneMetaData = (0, _extend2.default)({ excludePorts: false }, cloneMetaData);\n\n var clone = this._super(cloneMetaData);\n\n // remove all ports of the clone. the \"init\" method can have create some. but this must\n // removed because we want a clone of an existing figure\n //\n if (cloneMetaData.excludePorts === false) {\n clone.resetPorts();\n var ports = this.getPorts(false);\n\n ports.each(function (i, port) {\n var clonePort = port.clone();\n var locator = port.getLocator().clone();\n clone.addPort(clonePort, locator);\n });\n }\n\n return clone;\n },\n\n /**\n *\n * Return the port with the corresponding name.\n *\n *\n * @param {String} portName The name of the port to return.\n * @returns {draw2d.Port} Returns the port with the hands over name or null.\n **/\n getPort: function getPort(portName) {\n return this.getPorts().find(function (e) {\n return e.getName() === portName;\n });\n },\n\n /**\n *\n * Return the input port with the corresponding name.\n *\n *\n * @param {String/Number} portNameOrIndex The name or numeric index of the port to return.\n * @returns {draw2d.InputPort} Returns the port with the hands over name or null.\n **/\n getInputPort: function getInputPort(portNameOrIndex) {\n if (typeof portNameOrIndex === \"number\") {\n return this.inputPorts.get(portNameOrIndex);\n }\n\n for (var i = 0; i < this.inputPorts.getSize(); i++) {\n var port = this.inputPorts.get(i);\n if (port.getName() === portNameOrIndex) {\n return port;\n }\n }\n\n return null;\n },\n\n /**\n *\n * Return the output port with the corresponding name.\n *\n * @param {String/Number} portNameOrIndex The name or the numeric index of the port to return.\n * @returns {draw2d.OutputPort} Returns the port with the hands over name or null.\n **/\n getOutputPort: function getOutputPort(portNameOrIndex) {\n if (typeof portNameOrIndex === \"number\") {\n return this.outputPorts.get(portNameOrIndex);\n }\n\n for (var i = 0; i < this.outputPorts.getSize(); i++) {\n var port = this.outputPorts.get(i);\n if (port.getName() === portNameOrIndex) {\n return port;\n }\n }\n\n return null;\n },\n\n /**\n *\n * Return the input port with the corresponding name.\n *\n *\n * @param {String/Number} portNameOrIndex The name or numeric index of the port to return.\n * @returns {draw2d.InputPort} Returns the port with the hands over name or null.\n **/\n getHybridPort: function getHybridPort(portNameOrIndex) {\n if (typeof portNameOrIndex === \"number\") {\n return this.hybridPorts.get(portNameOrIndex);\n }\n\n for (var i = 0; i < this.hybridPorts.getSize(); i++) {\n var port = this.hybridPorts.get(i);\n if (port.getName() === portNameOrIndex) {\n return port;\n }\n }\n\n return null;\n },\n\n /**\n *\n * Add a port to this node at the given position.<br>\n *\n * @param {draw2d.Port} port The new port to add.\n * @param {draw2d.layout.locator.Locator} locator The layout for the port.\n **/\n addPort: function addPort(port, locator) {\n if (!(port instanceof _packages2.default.Port)) {\n throw \"Argument is not typeof 'draw2d.Port'. \\nFunction: draw2d.shape.node.Node#addPort\";\n }\n\n // add to the internal cache if already build\n if (this.cachedPorts !== null) {\n this.cachedPorts.add(port);\n }\n\n this.portRelayoutRequired = true;\n\n if (port instanceof _packages2.default.InputPort) {\n this.inputPorts.add(port);\n } else if (port instanceof _packages2.default.OutputPort) {\n this.outputPorts.add(port);\n } else if (port instanceof _packages2.default.HybridPort) {\n this.hybridPorts.add(port);\n }\n\n if (typeof locator !== \"undefined\" && locator instanceof _packages2.default.layout.locator.Locator) {\n port.setLocator(locator);\n }\n\n port.setParent(this);\n port.setCanvas(this.canvas);\n\n // You can't delete a port with the [DEL] key if a port is a child of a node\n port.setDeleteable(false);\n\n if (this.canvas !== null) {\n port.getShapeElement();\n this.canvas.registerPort(port);\n }\n\n return port;\n },\n\n /**\n *\n * Remove all ports of this node\n *\n * @since 5.0.0\n * @returns {this}\n */\n resetPorts: function resetPorts() {\n var _this3 = this;\n\n this.getPorts().each(function (i, port) {\n return _this3.removePort(port);\n });\n return this;\n },\n\n /**\n *\n * Removes a port and all related connections from this node.<br>\n *\n * @param {draw2d.Port} port The port to remove.\n * @returns {this}\n **/\n removePort: function removePort(port) {\n this.portRelayoutRequired = true;\n\n this.cachedPorts = null;\n this.inputPorts.remove(port);\n this.outputPorts.remove(port);\n this.hybridPorts.remove(port);\n\n if (port.getCanvas() !== null) {\n var canvas = port.getCanvas();\n canvas.unregisterPort(port);\n // remove the related connections of the port too.\n var connections = port.getConnections().clone();\n connections.each(function (i, connection) {\n canvas.remove(connection);\n });\n }\n\n port.setCanvas(null);\n\n return this;\n },\n\n /**\n *\n * Create a standard Port for this element. Inherited class can override this\n * method to create its own type of ports.\n *\n * @param {String} type the type of the requested port. possible [\"input\", \"output\"]\n * @param {draw2d.layout.locator.Locator} [locator] the layouter to use for this port\n * @template\n */\n createPort: function createPort(type, locator) {\n var newPort = null;\n var count = 0;\n\n switch (type) {\n case \"input\":\n newPort = _packages2.default.Configuration.factory.createInputPort(this);\n count = this.inputPorts.getSize();\n break;\n case \"output\":\n newPort = _packages2.default.Configuration.factory.createOutputPort(this);\n count = this.outputPorts.getSize();\n break;\n case \"hybrid\":\n newPort = _packages2.default.Configuration.factory.createHybridPort(this);\n count = this.hybridPorts.getSize();\n break;\n default:\n throw \"Unknown type [\" + type + \"] of port requested\";\n }\n\n newPort.setName(type + count);\n\n this.addPort(newPort, locator);\n // relayout the ports\n this.setDimension(this.width, this.height);\n\n return newPort;\n },\n\n /**\n *\n * Return all connections related to this node.\n *\n * @returns {draw2d.util.ArrayList}\n */\n getConnections: function getConnections() {\n var connections = new _packages2.default.util.ArrayList();\n var ports = this.getPorts();\n for (var i = 0; i < ports.getSize(); i++) {\n var port = ports.get(i);\n // Do NOT add twice the same connection if it is linking ports from the same node\n for (var c = 0, c_size = port.getConnections().getSize(); c < c_size; c++) {\n if (!connections.contains(port.getConnections().get(c))) {\n connections.add(port.getConnections().get(c));\n }\n }\n }\n return connections;\n },\n\n /**\n * @returns {this}\n */\n setCanvas: function setCanvas(canvas) {\n var oldCanvas = this.canvas;\n this._super(canvas);\n\n var ports = this.getPorts();\n if (oldCanvas !== null) {\n ports.each(function (i, port) {\n return oldCanvas.unregisterPort(port);\n });\n }\n\n if (canvas !== null) {\n ports.each(function (i, port) {\n port.setCanvas(canvas);\n canvas.registerPort(port);\n });\n // relayout the ports\n this.setDimension(this.width, this.height);\n } else {\n ports.each(function (i, port) {\n return port.setCanvas(null);\n });\n }\n return this;\n },\n\n /**\n * @returns {this}\n */\n setRotationAngle: function setRotationAngle(angle) {\n this.portRelayoutRequired = true;\n this._super(angle);\n\n this.layoutPorts();\n\n return this;\n },\n\n /**\n * @returns {this}\n */\n setDimension: function setDimension(w, h) {\n this.portRelayoutRequired = true;\n this._super(w, h);\n\n return this;\n },\n\n /**\n *\n * Called if the value of any port has been changed\n *\n * @param {draw2d.Port} relatedPort\n * @template\n */\n onPortValueChanged: function onPortValueChanged(relatedPort) {},\n\n /**\n * @private\n * @return {this}\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return this;\n }\n\n this._super(attributes);\n this.layoutPorts();\n\n return this;\n },\n\n /**\n *\n *\n * @private\n * @returns {this}\n */\n layoutPorts: function layoutPorts() {\n if (this.portRelayoutRequired === false) {\n return this; //silently\n }\n this.portRelayoutRequired = false;\n\n // layout the ports\n //\n this.outputPorts.each(function (i, port) {\n return port.locator.relocate(i, port);\n });\n this.inputPorts.each(function (i, port) {\n return port.locator.relocate(i, port);\n });\n this.hybridPorts.each(function (i, port) {\n return port.locator.relocate(i, port);\n });\n\n return this;\n },\n\n /**\n *\n * Returns the Command to perform the specified Request or null.\n *\n * @param {draw2d.command.CommandType} request describes the Command being requested\n * @returns {draw2d.command.Command} null or a Command\n * @private\n **/\n createCommand: function createCommand(request) {\n if (request === null) {\n return null;\n }\n\n if (request.getPolicy() === _packages2.default.command.CommandType.ROTATE) {\n return new _packages2.default.command.CommandRotate(this, (this.getRotationAngle() + 90) % 360);\n }\n\n return this._super(request);\n },\n\n /**\n *\n * Return an objects with all important attributes for XML or JSON serialization\n *\n * @returns {Object}\n */\n getPersistentAttributes: function getPersistentAttributes() {\n var memento = this._super();\n\n // write all ports to the JSON\n //\n if (this.persistPorts === true) {\n memento.ports = [];\n this.getPorts().each(function (i, port) {\n memento.ports.push((0, _extend2.default)(port.getPersistentAttributes(), {\n name: port.getName(),\n port: port.NAME,\n locator: port.getLocator().NAME,\n locatorAttr: port.getLocator().attr()\n }));\n });\n }\n\n return memento;\n },\n\n /**\n *\n * Read all attributes from the serialized properties and transfer them into the shape.\n *\n * @param {Object} memento\n * @returns {this}\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n var _this4 = this;\n\n this._super(memento);\n\n if (typeof memento.ports !== \"undefined\") {\n // we read the ports from the JSON and now we save it to the JSON too.\n this.persistPorts = true;\n\n // remove all ports created in the init method\n //\n this.resetPorts();\n\n // and restore all ports of the JSON document instead.\n //\n memento.ports.forEach(function (e) {\n var locator = eval(\"new \" + e.locator + \"()\");\n if (e.locatorAttr) {\n locator.attr(e.locatorAttr);\n }\n\n var port = eval(\"new \" + e.port + \"()\");\n port.setPersistentAttributes(e);\n _this4.addPort(port, locator);\n });\n }\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/node/Start.js\":\n/*!*********************************!*\\\n !*** ./src/shape/node/Start.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A generic Node which has an OutputPort. Mainly used for demos and examples.\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.node.Start({color: \"#3d3d3d\"});\n *\n * canvas.add(figure,50,10);\n *\n * @extends draw2d.shape.basic.Rectangle\n */\n_packages2.default.shape.node.Start = _packages2.default.shape.basic.Rectangle.extend(\n/** @lends draw2d.shape.node.Start.prototype */\n{\n\n NAME: \"draw2d.shape.node.Start\",\n DEFAULT_COLOR: new _packages2.default.util.Color(\"#4D90FE\"),\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(extend({\n bgColor: this.DEFAULT_COLOR,\n color: this.DEFAULT_COLOR.darker(),\n width: 50,\n height: 50\n }, attr), setter, getter);\n this.createPort(\"output\");\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/node/VerticalBus.js\":\n/*!***************************************!*\\\n !*** ./src/shape/node/VerticalBus.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A horizontal bus shape with a special kind of port handling. The hole figure is a hybrid port.\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.node.VerticalBus({width:40, height:300, text:\"Vertical Bus\"});\n *\n * canvas.add(figure,50,10);\n *\n * @extends draw2d.shape.node.Hub\n */\n_packages2.default.shape.node.VerticalBus = _packages2.default.shape.node.Hub.extend(\n/** @lends draw2d.shape.node.VerticalBus.prototype */\n{\n\n NAME: \"draw2d.shape.node.VerticalBus\",\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.setConnectionDirStrategy(2);\n this.installEditPolicy(new _packages2.default.policy.figure.VBusSelectionFeedbackPolicy());\n },\n\n /**\n * \n * set the label for the Hub\n *\n * @param {String} labelString\n * @since 3.0.4\n */\n setLabel: function setLabel(labelString) {\n var mustAdjustTheAngel = this.label === null;\n\n this._super(labelString);\n\n if (mustAdjustTheAngel === true && this.label !== null) {\n this.label.setRotationAngle(90);\n }\n },\n\n /**\n * @inheritdoc\n */\n getMinHeight: function getMinHeight() {\n if (this.shape === null && this.label === null) {\n return 0;\n }\n\n if (this.label !== null) {\n return this.label.getMinWidth();\n }\n\n return this._super();\n },\n\n /**\n * @inheritdoc\n */\n getMinWidth: function getMinWidth() {\n if (this.shape === null && this.label === null) {\n return 0;\n }\n\n if (this.label !== null) {\n return this.label.getMinHeight();\n }\n\n return this._super();\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/note/PostIt.js\":\n/*!**********************************!*\\\n !*** ./src/shape/note/PostIt.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Simple Post-it like figure with text. Can be used for annotations or documentation.\n *\n *\n * @example\n *\n * let shape = new draw2d.shape.note.PostIt({\n * text:\"This is a simple sticky note\",\n * color:\"#000000\",\n * padding:20\n * });\n *\n * canvas.add(shape,40,10);\n *\n * @author Andreas Herz\n * @extends draw2d.shape.basic.Label\n */\n_packages2.default.shape.note.PostIt = _packages2.default.shape.basic.Label.extend(\n/** @lends draw2d.shape.note.PostIt.prototype */\n{\n\n NAME: \"draw2d.shape.note.PostIt\",\n\n /**\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.setStroke(1);\n this.setBackgroundColor(\"#5b5b5b\");\n this.setColor(\"#FFFFFF\");\n this.setFontColor(\"#ffffff\");\n this.setFontSize(14);\n this.setPadding(5);\n this.setRadius(5);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/pert/Activity.js\":\n/*!************************************!*\\\n !*** ./src/shape/pert/Activity.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * NOT FOR PRODUCTIVE\n *\n * Checkout [Wikipedia PERT][1] for more information.\n * [1] http://en.wikipedia.org/wiki/Program_Evaluation_and_Review_Technique\n *\n * Double click on the Task name or the top middle number to change the value.\n *\n *\n * @example\n *\n * canvas.add( new draw2d.shape.pert.Start(),10,10);\n * canvas.add( new draw2d.shape.pert.Activity(),80,130);\n * canvas.add( new draw2d.shape.pert.Activity(),180,50);\n *\n *\n *\n *\n * @extends draw2d.shape.layout.VerticalLayout\n */\n_packages2.default.shape.pert.Activity = _packages2.default.shape.layout.VerticalLayout.extend(\n/** @lends draw2d.shape.pert.Activity.prototype */\n{\n\n NAME: \"draw2d.shape.pert.Activity\",\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n // shortcut for some callback methods to avoid $.proxy wrapper\n var _this = this;\n\n // persistence values for the activity\n // will be stored/read in the JSON\n this.mementoValues = {\n duration: null\n\n // just some color attributes for the rendering/gradient\n };this.bgColor = new _packages2.default.util.Color(\"#f3f3f3\");\n this.lighterBgColor = this.bgColor.lighter(0.2).rgba();\n this.darkerBgColor = this.bgColor.darker(0.2).rgba();\n\n this._super(extend({ bgColor: this.bgColor, stroke: 2, radius: 2, color: this.darkerBgColor }, attr), setter, getter);\n\n // Compose the top row of the shape\n //\n var top = new _packages2.default.shape.layout.HorizontalLayout({ stroke: 0 });\n\n this.earlyStartLabel = this.createLabel(\"Early Start\").setStroke(0);\n\n this.durationLabel = new _packages2.default.shape.basic.Label({\n text: \"Duration\",\n stroke: 1,\n color: this.darkerBgColor,\n radius: 0,\n bgColor: null,\n padding: 5\n });\n // duration label has a inplaceEditor for the value\n this.durationLabel.installEditor(new _packages2.default.ui.LabelEditor({\n onCommit: function onCommit(value) {\n _this.setDuration(parseFloat(value));\n }\n }));\n\n this.earlyEndLabel = this.createLabel({ text: \"Early End\", stroke: 0 });\n\n top.add(this.earlyStartLabel);\n top.add(this.durationLabel);\n top.add(this.earlyEndLabel);\n\n // the middle part of the shape\n // This part contains the ports for the connection\n //\n this.activityLabel = new _packages2.default.shape.basic.Label({\n text: \"Activity Name\",\n radius: 0,\n padding: 10,\n color: this.darkerBgColor,\n bgColor: null\n });\n // direct editor for the label\n this.activityLabel.installEditor(new _packages2.default.ui.LabelInplaceEditor());\n\n this.inputPort = this.activityLabel.createPort(\"input\");\n this.inputPort.getActivity = function () {\n return _this;\n };\n this.inputPort.onConnect = function () {\n _this.setDuration(_this.mementoValues.duration);\n };\n this.inputPort.onDisconnect = function () {\n _this.setDuration(_this.mementoValues.duration);\n };\n this.inputPort.setValue = function (anyValue) {\n _this.setDuration(_this.mementoValues.duration);\n };\n\n this.outputPort = this.activityLabel.createPort(\"output\");\n this.outputPort.getActivity = function () {\n return _this;\n };\n this.outputPort.onConnect = function () {\n _this.setDuration(_this.mementoValues.duration);\n };\n this.outputPort.onDisconnect = function () {\n _this.setDuration(_this.mementoValues.duration);\n };\n\n // the bottom of the activity shape\n //\n var bottom = new _packages2.default.shape.layout.HorizontalLayout({ stroke: 0 });\n\n this.lateStartLabel = this.createLabel(\"Late Start\").setStroke(0);\n this.stackLabel = this.createLabel(\"Stack\");\n this.lateEndLabel = this.createLabel(\"Late End\").setStroke(0);\n\n bottom.add(this.lateStartLabel);\n bottom.add(this.stackLabel);\n bottom.add(this.lateEndLabel);\n\n // finally compose the shape with top/middle/bottom in VerticalLayout\n //\n this.add(top);\n this.add(this.activityLabel);\n this.add(bottom);\n\n // set some good default value for the activity\n //\n this.setDuration(1);\n },\n\n /**\n * \n * Set the duration for the activity. This triggers a complete recalculation of the complete\n * diagram. No further calls are required\n *\n * @param {Number} duration the new Duration for the activity\n */\n setDuration: function setDuration(duration) {\n\n if (this.mementoValues.duration !== duration) {\n // store the new value\n this.mementoValues.duration = duration;\n\n // update the labels for duration\n this.durationLabel.setText(this.mementoValues.duration);\n }\n\n // calculate the earlyStart and latestEnd and set the labels\n //\n var start = this.getEarlyStart();\n\n this.earlyStartLabel.setText(start);\n this.earlyEndLabel.setText(start + this.mementoValues.duration);\n\n // notify all children that a parent value has been changed\n // Just knock on the inputPort...\n //\n var connections = this.outputPort.getConnections();\n connections.each(function (i, conn) {\n var targetPort = conn.getTarget();\n targetPort.setValue();\n });\n\n // propagate the lateFinish up to all parent nodes if we are a leaf\n //\n if (connections.getSize() === 0) {\n var lateFinish = parseFloat(this.earlyEndLabel.getText());\n this.setLateFinish(lateFinish);\n }\n },\n\n getEarlyEnd: function getEarlyEnd() {\n return this.getEarlyStart() + this.mementoValues.duration;\n },\n\n getEarlyStart: function getEarlyStart() {\n var latestEarlyEnd = 0;\n\n // retrieve the greatest \"earlyStart\" from all parent activities\n this.inputPort.getConnections().each(function (i, conn) {\n var parentActivity = conn.getSource().getActivity();\n latestEarlyEnd = Math.max(latestEarlyEnd, parentActivity.getEarlyEnd());\n });\n\n return latestEarlyEnd;\n },\n\n setLateFinish: function setLateFinish(value) {\n var lateStart = value - this.mementoValues.duration;\n\n this.lateEndLabel.setText(value);\n this.lateStartLabel.setText(lateStart);\n this.stackLabel.setText(lateStart - parseFloat(this.earlyStartLabel.getText()));\n\n var connections = this.inputPort.getConnections();\n connections.each(function (i, conn) {\n var sourcePort = conn.getSource();\n sourcePort.getActivity().setLateFinish(lateStart);\n });\n },\n\n /**\n * \n * help method to create some labels\n *\n * @param {String} txt the label to display\n * @returns {draw2d.shape.basic.Label}\n */\n createLabel: function createLabel(txt) {\n var label = new _packages2.default.shape.basic.Label({ text: txt });\n label.setStroke(1);\n label.setColor(this.darkerBgColor);\n label.setRadius(0);\n label.setBackgroundColor(null);\n label.setPadding(5);\n label.setColor(this.bgColor.darker(0.2));\n label.onDoubleClick = function (angle) {/* ignore them for the layout elements*/\n };\n\n return label;\n },\n\n /**\n * @inheritdoc\n */\n setBackgroundColor: function setBackgroundColor(color) {\n this._super(color);\n\n // calculate the new lighter and darker colors for the gradient\n //\n this.lighterBgColor = this.bgColor.lighter(0.2).rgba();\n this.darkerBgColor = this.bgColor.darker(0.2).rgba();\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n\n // repaint can be blocked during deserialization and if the shape\n // not part of any canvas.\n //\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n if (this.getAlpha() < 0.9) {\n attributes.fill = this.bgColor.rgba();\n } else {\n attributes.fill = [\"90\", this.bgColor.hash(), this.lighterBgColor].join(\"-\");\n }\n\n this._super(attributes);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/pert/Start.js\":\n/*!*********************************!*\\\n !*** ./src/shape/pert/Start.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * NOT FOR PRODUCTIVE\n *\n * Checkout [Wikipedia PERT][1] for more information.\n *\n * Double click on the Task name or the top middle number to change the value.\n *\n *\n * @example\n *\n * canvas.add( new draw2d.shape.pert.Start(),10,10);\n * canvas.add( new draw2d.shape.pert.Activity(),80,130);\n * canvas.add( new draw2d.shape.pert.Activity(),180,50);\n *\n * [1] http://en.wikipedia.org/wiki/Program_Evaluation_and_Review_Technique\n *\n * @extends draw2d.shape.layout.VerticalLayout\n */\n_packages2.default.shape.pert.Start = _packages2.default.shape.layout.VerticalLayout.extend(\n/** @lends draw2d.shape.pert.Start.prototype */\n{\n\n NAME: \"draw2d.shape.pert.Start\",\n\n /**\n * Create a new instance\n *\n * @param {Object} [attr] the configuration of the shape\n */\n init: function init(attr, setter, getter) {\n // shortcut for some callback methods to avoid $.proxy wrapper\n var _this = this;\n\n // persistence values for the activity\n // will be stored/read in the JSON\n this.mementoValues = {\n duration: null\n\n // just some color attributes for the rendering/gradient\n };this.bgColor = new _packages2.default.util.Color(\"#f3f3f3\");\n this.lighterBgColor = this.bgColor.lighter(0.2).rgba();\n this.darkerBgColor = this.bgColor.darker(0.2).rgba();\n\n this._super(extend({ bgColor: this.bgColor, stroke: 2, radius: 2, color: this.darkerBgColor }, attr), setter, getter);\n\n // Compose the top row of the shape\n //\n var top = new _packages2.default.shape.layout.HorizontalLayout({ stroke: 0 });\n\n this.durationLabel = new _packages2.default.shape.basic.Label({\n text: \"Duration\",\n stroke: 1,\n color: this.darkerBgColor,\n radius: 0,\n bgColor: null,\n padding: 5\n });\n // duration label has a inplaceEditor for the value\n this.durationLabel.installEditor(new _packages2.default.ui.LabelEditor({\n text: \"Enter new duration\",\n onCommit: function onCommit(value) {\n _this.setDuration(parseFloat(value));\n }\n }));\n\n this.earlyEndLabel = this.createLabel({ text: \"Early End\", stroke: 0 });\n\n top.add(this.durationLabel);\n top.add(this.earlyEndLabel);\n\n // the middle part of the shape\n // This part contains the ports for the connection\n //\n this.activityLabel = new _packages2.default.shape.basic.Label({\n text: \"Start\",\n radius: 0,\n padding: 10,\n color: this.darkerBgColor,\n bgColor: null\n });\n // direct editor for the label\n this.activityLabel.installEditor(new _packages2.default.ui.LabelInplaceEditor());\n\n this.outputPort = this.activityLabel.createPort(\"output\");\n this.outputPort.getActivity = function () {\n return _this;\n };\n this.outputPort.onConnect = function () {\n _this.setDuration(_this.mementoValues.duration);\n };\n this.outputPort.onDisconnect = function () {\n _this.setDuration(_this.mementoValues.duration);\n };\n\n // the bottom of the activity shape\n //\n var bottom = this.createLabel(\" \");\n bottom.setPadding(10);\n bottom.setStroke(0);\n this.lateEndLabel = bottom;\n\n // finally compose the shape with top/middle/bottom in VerticalLayout\n //\n this.add(top);\n this.add(this.activityLabel);\n this.add(bottom);\n\n // set some good default value for the activity\n //\n this.setDuration(1);\n },\n\n /**\n * \n * Set the duration for the activity. This triggers a complete recalculation of the complete\n * diagram. No further calls are required\n *\n * @param {Number} duration the new Duration for the activity\n */\n setDuration: function setDuration(duration) {\n\n if (this.mementoValues.duration !== duration) {\n // store the new value\n this.mementoValues.duration = duration;\n\n // update the labels for duration\n this.durationLabel.setText(this.mementoValues.duration);\n }\n\n this.earlyEndLabel.setText(this.mementoValues.duration);\n\n // notify all children that a parent value has been changed\n // Just knock on the inputPort...\n //\n var connections = this.outputPort.getConnections();\n connections.each(function (i, conn) {\n var targetPort = conn.getTarget();\n targetPort.setValue();\n });\n\n // propagate the lateFinish up to all parent nodes if we are a leaf\n //\n if (connections.getSize() === 0) {\n var lateFinish = parseFloat(this.earlyEndLabel.getText());\n this.setLateFinish(lateFinish);\n }\n },\n\n getEarlyEnd: function getEarlyEnd() {\n return this.mementoValues.duration;\n },\n\n setLateFinish: function setLateFinish(value) {\n var lateStart = value - this.mementoValues.duration;\n\n this.lateEndLabel.setText(value);\n },\n\n /**\n * \n * help method to create some labels\n *\n * @param {String} txt the label to display\n * @returns {draw2d.shape.basic.Label}\n */\n createLabel: function createLabel(txt) {\n var label = new _packages2.default.shape.basic.Label({ text: txt });\n label.setStroke(1);\n label.setColor(this.darkerBgColor);\n label.setRadius(0);\n label.setBackgroundColor(null);\n label.setPadding(5);\n label.setColor(this.bgColor.darker(0.2));\n label.onDoubleClick = function (angle) {/* ignore them for the layout elements*/\n };\n\n return label;\n },\n\n /**\n * @inheritdoc\n */\n setBackgroundColor: function setBackgroundColor(color) {\n this._super(color);\n\n // calculate the new lighter and darker colors for the gradient\n //\n this.lighterBgColor = this.bgColor.lighter(0.2).rgba();\n this.darkerBgColor = this.bgColor.darker(0.2).rgba();\n },\n\n /**\n * @inheritdoc\n */\n repaint: function repaint(attributes) {\n\n // repaint can be blocked during deserialization and if the shape\n // not part of any canvas.\n //\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n if (this.getAlpha() < 0.9) {\n attributes.fill = this.bgColor.rgba();\n } else {\n attributes.fill = [\"90\", this.bgColor.hash(), this.lighterBgColor].join(\"-\");\n }\n\n this._super(attributes);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/state/Connection.js\":\n/*!***************************************!*\\\n !*** ./src/shape/state/Connection.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Connection designed for a state diagram with arrow decoration at the\n * target of the connection and a label\n *\n *\n * @example\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let start = new draw2d.shape.state.Start();\n * let end = new draw2d.shape.state.End();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( end, 230,180);\n *\n * // Create a Connection and connect the Start and End node\n * //\n * let c = new draw2d.shape.state.Connection({\n * \t source : start.getOutputPort(0),\n * target : end.getInputPort(0)\n * });\n *\n * // and finally add the connection to the canvas\n * canvas.add(c);\n *\n *\n * @extends draw2d.Connection\n */\n_packages2.default.shape.state.Connection = _packages2.default.Connection.extend(\n/** @lends draw2d.shape.state.Connection.prototype */\n{\n NAME: \"draw2d.shape.state.Connection\",\n\n DEFAULT_COLOR: new _packages2.default.util.Color(\"#4D90FE\"),\n\n init: function init(attr, setter, getter) {\n this._super(extend({ router: null, stroke: 2 }, attr), setter, getter);\n\n this.setTargetDecorator(new _packages2.default.decoration.connection.ArrowDecorator(17, 8));\n\n this.label = new _packages2.default.shape.basic.Label({ text: \"label\" });\n this.label.setStroke(1);\n this.label.setPadding(2);\n this.label.setBackgroundColor(\"#f0f0f0\");\n this.add(this.label, new _packages2.default.layout.locator.ParallelMidpointLocator());\n },\n /**\n * \n * Set the text to show if the state shape\n *\n * @param {String} text\n */\n setLabel: function setLabel(text) {\n this.label.setText(text);\n\n // hide the label if no text available\n this.label.setVisible(!(text === null || text === \"\"));\n this.fireEvent(\"change:label\", { value: text });\n\n return this;\n },\n\n /**\n * \n * Return the label of the shape\n *\n */\n getLabel: function getLabel() {\n return this.label.getText();\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n return extend(this._super(), {\n label: this.getLabel()\n });\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.label !== \"undefined\") {\n this.setLabel(memento.label);\n }\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/state/End.js\":\n/*!********************************!*\\\n !*** ./src/shape/state/End.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * The end node for a state diagram\n *\n *\n * @example\n * let end = new draw2d.shape.state.End();\n\n * // ...add it to the canvas\n * canvas.add( end, 230,80);\n *\n * @extends draw2d.shape.basic.Circle\n */\n_packages2.default.shape.state.End = _packages2.default.shape.basic.Circle.extend(\n/** @lends draw2d.shape.state.End.prototype */\n{\n\n NAME: \"draw2d.shape.state.End\",\n\n DEFAULT_COLOR: new _packages2.default.util.Color(\"#4D90FE\"),\n\n init: function init(attr, setter, getter) {\n this.innerCircle = new _packages2.default.shape.basic.Circle(20);\n\n this._super(attr, setter, getter);\n\n this.port = this.createPort(\"input\", new _packages2.default.layout.locator.TopLocator());\n this.port.setConnectionAnchor(new _packages2.default.layout.anchor.ShortesPathConnectionAnchor(this.port));\n\n this.setDimension(50, 50);\n this.setBackgroundColor(this.DEFAULT_COLOR);\n this.installEditPolicy(new _packages2.default.policy.figure.AntSelectionFeedbackPolicy());\n\n this.innerCircle.setStroke(2);\n this.innerCircle.setBackgroundColor(null);\n this.add(this.innerCircle, new _packages2.default.layout.locator.CenterLocator());\n\n this.setStroke(0);\n //this.setColor(this.DEFAULT_COLOR.darker());\n },\n\n /**\n * @inheritdoc\n */\n setDimension: function setDimension(w, h) {\n this._super(w, h);\n this.innerCircle.setDimension(this.getWidth() - 10, this.getHeight() - 10);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/state/Start.js\":\n/*!**********************************!*\\\n !*** ./src/shape/state/Start.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * The start node for a state diagram\n *\n *\n * @example\n *\n * let figure = new draw2d.shape.state.Start({color:\"#3d3d3d\"});\n *\n * canvas.add(figure,50,10);\n *\n * @extends draw2d.shape.basic.Rectangle\n */\n_packages2.default.shape.state.Start = _packages2.default.shape.basic.Circle.extend(\n/** @lends draw2d.shape.state.Start.prototype */\n{\n\n NAME: \"draw2d.shape.state.Start\",\n\n DEFAULT_COLOR: new _packages2.default.util.Color(\"#3369E8\"),\n\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.port = this.createPort(\"output\", new _packages2.default.layout.locator.BottomLocator());\n this.port.setConnectionAnchor(new _packages2.default.layout.anchor.ShortesPathConnectionAnchor(this.port));\n\n this.setDimension(50, 50);\n this.setBackgroundColor(this.DEFAULT_COLOR);\n this.installEditPolicy(new _packages2.default.policy.figure.AntSelectionFeedbackPolicy());\n\n this.setStroke(0);\n //this.setColor(this.DEFAULT_COLOR.darker());\n\n var label = new _packages2.default.shape.basic.Label({ text: \"START\" });\n label.setStroke(0);\n label.setFontColor(\"#ffffff\");\n label.setFontFamily('\"Open Sans\",sans-serif');\n this.add(label, new _packages2.default.layout.locator.CenterLocator());\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/state/State.js\":\n/*!**********************************!*\\\n !*** ./src/shape/state/State.js ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * a state shape for a state diagram\n *\n * @example\n *\n * // create and add two nodes which contains Ports (In and OUT)\n * //\n * let start = new draw2d.shape.state.Start();\n * let state = new draw2d.shape.state.State();\n\n * // ...add it to the canvas\n * canvas.add( start, 50,50);\n * canvas.add( state, 230,180);\n *\n * // Create a Connection and connect the Start and End node\n * //\n * let c = new draw2d.shape.state.Connection({\n * \t\tsource : start.getOutputPort(0),\n * target : state.getInputPort(0)\n * });\n *\n *\n * // and finally add the connection to the canvas\n * canvas.add(c);\n *\n * @extends draw2d.shape.layout.VerticalLayout\n */\n_packages2.default.shape.state.State = _packages2.default.shape.layout.VerticalLayout.extend(\n/** @lends draw2d.shape.state.State.prototype */\n{\n\n NAME: \"draw2d.shape.state.State\",\n\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n\n this.port = this.createPort(\"hybrid\", new _packages2.default.layout.locator.BottomLocator());\n this.port.setConnectionAnchor(new _packages2.default.layout.anchor.ChopboxConnectionAnchor(this.port));\n\n this.setBackgroundColor(\"#f3f3f3\");\n\n // UI representation\n this.setStroke(1);\n this.setColor(\"#e0e0e0\");\n this.setRadius(5);\n\n // Compose the top row of the shape\n //\n var top = this.createLabel(\"State\").setStroke(0);\n this.label = top;\n\n // the middle part of the shape\n // This part contains the ports for the connection\n //\n var center = new _packages2.default.shape.basic.Rectangle();\n center.getHeight = function () {\n return 1;\n };\n center.setMinWidth(90);\n center.setColor(\"#e0e0e0\");\n\n // the bottom of the activity shape\n //\n var bottom = new _packages2.default.shape.basic.Rectangle();\n bottom.setMinHeight(30);\n bottom.setStroke(0);\n bottom.setBackgroundColor(null);\n\n // finally compose the shape with top/middle/bottom in VerticalLayout\n //\n this.add(top);\n this.add(center);\n this.add(bottom);\n },\n\n /**\n *\n * Set the text to show if the state shape\n *\n * @param {String} text\n */\n setLabel: function setLabel(text) {\n this.label.setText(text);\n this.fireEvent(\"change:label\", { value: text });\n\n return this;\n },\n\n /**\n *\n * Return the label of the shape\n *\n */\n getLabel: function getLabel() {\n return this.label.getText();\n },\n\n /**\n *\n * helper method to create some labels\n *\n * @param {String} txt the label to display\n * @returns {draw2d.shape.basic.Label}\n * @private\n */\n createLabel: function createLabel(txt) {\n var label = new _packages2.default.shape.basic.Label(txt);\n label.setStroke(1);\n label.setColor(this.darkerBgColor);\n label.setRadius(0);\n label.setBackgroundColor(null);\n label.setPadding(5);\n label.setColor(this.bgColor.darker(0.2));\n label.onDoubleClick = function (angle) {/* ignore them for the layout elements*/\n };\n\n return label;\n },\n\n /**\n * @inheritdoc\n */\n getPersistentAttributes: function getPersistentAttributes() {\n return extend(this._super(), {\n label: this.getLabel()\n });\n },\n\n /**\n * @inheritdoc\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this._super(memento);\n\n if (typeof memento.label !== \"undefined\") {\n this.setLabel(memento.label);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/shape/widget/Slider.js\":\n/*!************************************!*\\\n !*** ./src/shape/widget/Slider.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _shifty = __webpack_require__(/*! shifty */ \"./node_modules/shifty/dist/shifty.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * @example\n *\n * let slider = new draw2d.shape.widget.Slider({width:120, height:20});\n * canvas.add( slider,100,60);\n *\n * @extends draw2d.shape.widget.Widget\n */\n_packages2.default.shape.widget.Slider = _packages2.default.shape.widget.Widget.extend(\n/** @lends draw2d.shape.widget.Slider.prototype */\n{\n\n NAME: \"draw2d.shape.widget.Slider\",\n\n DEFAULT_COLOR_THUMB: new _packages2.default.util.Color(\"#bddf69\"),\n DEFAULT_COLOR_BG: new _packages2.default.util.Color(\"#d3d3d3\"),\n\n init: function init(attr, setter, getter) {\n this.currentValue = 0; // [0..100]\n this.slideBoundingBox = new _packages2.default.geo.Rectangle(0, 0, 10, 20);\n this.padding = { top: 4, right: 4, bottom: 4, left: 4 };\n this.panning = false;\n this.thumbGrow = 0;\n\n this._super(extend({\n width: 150,\n height: 15,\n stroke: 1,\n radius: 4,\n resizeable: true,\n color: this.DEFAULT_COLOR_THUMB,\n bgColor: this.DEFAULT_COLOR_BG,\n value: 50\n }, attr), extend({\n // @attr {Number} padding the padding in pixel around the text */\n padding: this.setPadding,\n // @attr {Number} value the new value of the slider. values must be in range of [0..100] */\n value: this.setValue\n }, setter), extend({\n padding: this.getPadding,\n value: this.getValue\n }, getter));\n\n this.setMinHeight(15);\n this.setMinWidth(80);\n },\n\n /**\n * \n * Create the additional elements for the figure\n *\n */\n createSet: function createSet() {\n var result = this.canvas.paper.set();\n var thumb = this.canvas.paper.rect(0, 0, 10, 20);\n thumb.node.style.cursor = \"col-resize\";\n result.push(thumb);\n\n return result;\n },\n\n /**\n * @inheritdoc\n */\n setDimension: function setDimension(w, h) {\n this._super(w, h);\n this.slideBoundingBox.setBoundary(this.padding.left, 0, this.getWidth() - this.padding.right, this.getHeight());\n this.slideBoundingBox.setHeight(this.getHeight() + 1);\n\n // TODO: and repaint again.....two repaints for one \"setDimension\"....BAD\n //\n this.repaint();\n },\n\n /**\n * \n * Set the padding of the element\n *\n * // Alternatively you can use the attr method:\n * //\n * // set the padding for top,left,bottom,right in one call\n * figure.attr({\n * padding: 3\n * });\n *\n * // update the padding left and top\n * figure.attr({\n * padding: {left:3, top:30}\n * });\n *\n * @param {Number|Object} padding The new padding\n * @since 5.6.0\n **/\n setPadding: function setPadding(padding) {\n this.clearCache();\n if (typeof padding === \"number\") {\n this.padding = { top: padding, right: padding, bottom: padding, left: padding };\n } else {\n this.padding = extend(this.padding, padding);\n }\n this.repaint();\n this.fireEvent(\"change:padding\", { value: this.padding });\n\n return this;\n },\n\n /**\n * \n * Get the padding of the element.\n *\n * @since 5.6.0\n **/\n getPadding: function getPadding() {\n return this.padding;\n },\n\n /**\n * \n * Called if the value of the slider has been changed.\n *\n * @param {Number} value The new value of the slider in percentage [0..100]\n * @template\n */\n onValueChange: function onValueChange(value) {},\n\n /**\n * \n * Will be called if the drag and drop action begins. You can return [false] if you\n * want avoid that the figure can be move.\n *\n * @param {Number} x the x-coordinate of the mouse up event\n * @param {Number} y the y-coordinate of the mouse up event\n * @param {Boolean} shiftKey true if the shift key has been pressed during this event\n * @param {Boolean} ctrlKey true if the ctrl key has been pressed during the event\n *\n * @returns {Boolean} true if the figure accepts dragging\n **/\n onDragStart: function onDragStart(x, y, shiftKey, ctrlKey) {\n // check if the use has been clicked on the thumb.\n // Return \"false\" to prevent drag&drop operation.\n //\n if (this.slideBoundingBox.hitTest(x, y)) {\n\n this.panningX = x;\n this.panningY = y;\n this.panning = true;\n var tweenable = new _shifty.Tweenable();\n tweenable.tween({\n from: { grow: this.thumbGrow },\n to: { grow: 10 },\n duration: 500,\n easing: 'easeOutQuart',\n step: function (state) {\n this.thumbGrow = state.grow;\n this.repaint();\n }.bind(this),\n finish: function finish() {\n tweenable.dispose();\n }\n });\n return false;\n }\n\n return this._super(x, y, shiftKey, ctrlKey);\n },\n\n /**\n * \n * Called by the framework if the figure returns false for the drag operation. In this\n * case we send a \"panning\" event - mouseDown + mouseMove. This is very useful for\n * UI-Widget like slider, spinner,...\n *\n * @param {Number} dx the x difference between the mouse down operation and now\n * @param {Number} dy the y difference between the mouse down operation and now\n * @param {Number} dx2 The x diff since the last call of this dragging operation\n * @param {Number} dy2 The y diff since the last call of this dragging operation\n */\n\n onPanning: function onPanning(dx, dy, dx2, dy2) {\n // calculate the current position of the mouse pos\n //\n var width = this.getWidth();\n var sliderWidth = width - this.padding.left - this.padding.right;\n\n var figurePos = Math.min(width, Math.max(0, this.panningX + dx));\n var sliderPos = Math.min(width - this.padding.left - this.padding.right, figurePos);\n\n this.setValue(100 / sliderWidth * sliderPos);\n },\n\n /**\n * @inheritdoc\n */\n onPanningEnd: function onPanningEnd() {\n this.panning = false;\n\n var tweenable = new _shifty.Tweenable();\n tweenable.tween({\n from: { grow: this.thumbGrow },\n to: { grow: 0 },\n duration: 300,\n easing: 'easeOutQuart',\n step: function (state) {\n this.thumbGrow = state.grow;\n this.repaint();\n }.bind(this),\n finish: function finish() {\n tweenable.dispose();\n }\n });\n this.thumbGrow = 0;\n this.repaint();\n },\n\n /**\n * \n * Set the current value of the slider. Valid values are [0..100]\n *\n * @param {Number} value values between [0..100]\n */\n setValue: function setValue(value) {\n this.currentValue = Math.min(Math.max(0, value | 0), 100);\n this.repaint();\n this.onValueChange(this.currentValue);\n this.fireEvent(\"change:value\", { value: this.currentValue });\n\n return this;\n },\n\n /**\n * \n * Returns the current value of the slider\n *\n * @since 5.6.0\n *\n * @returns {Number}\n */\n getValue: function getValue() {\n return this.currentValue;\n },\n\n /**\n *\n * @param attributes\n */\n repaint: function repaint(attributes) {\n if (this.repaintBlocked === true || this.shape === null) {\n return;\n }\n\n attributes = attributes || {};\n\n // adjust the slider to the current value and the new dimension of the widget\n //\n var thumbX = (this.getWidth() - this.padding.left - this.padding.right) / 100 * this.currentValue + this.padding.left | 0;\n this.slideBoundingBox.setX(thumbX);\n\n // update slider\n //\n if (this.svgNodes !== null) {\n var attr = this.slideBoundingBox.toJSON();\n attr.y -= this.thumbGrow / 2;\n attr.height += this.thumbGrow;\n attr.fill = this.getColor().rgba();\n attr.stroke = this.getColor().darker(0.2).rgba();\n attr.r = 4;\n this.svgNodes.attr(attr);\n }\n\n attributes.fill = \"90-\" + this.bgColor.hash() + \":5-\" + this.bgColor.lighter(0.3).hash() + \":95\";\n attributes.stroke = this.bgColor.darker(0.1).rgba();\n\n this._super(attributes);\n },\n\n applyTransformation: function applyTransformation() {\n this.svgNodes.transform(\"T\" + this.getAbsoluteX() + \",\" + this.getAbsoluteY());\n\n return this;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/shape/widget/Widget.js\":\n/*!************************************!*\\\n !*** ./src/shape/widget/Widget.js ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Base class for all diagrams.\n *\n * @extends draw2d.SetFigure\n */\n_packages2.default.shape.widget.Widget = _packages2.default.SetFigure.extend({\n\n init: function init(attr, setter, getter) {\n this._super(attr, setter, getter);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/ui/LabelEditor.js\":\n/*!*******************************!*\\\n !*** ./src/ui/LabelEditor.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Base class for all draw2d.shape.basic.Label editors. The default implementation is to open\n * a simple javascript prompt dialog.<br>\n * Use LabelInplaceEditor or your own implementation if you need more comfort.\n *\n * @example\n *\n * let label = new draw2d.shape.basic.Label({text:\"Double Click on me\"});\n *\n * label.installEditor(new draw2d.ui.LabelEditor({\n * // called after the value has been set to the LabelFigure\n * onCommit: $.proxy(function(value){\n * alert(\"new value set to:\"+value);\n * },this),\n * // called if the user abort the operation\n * onCancel: function(){\n * }\n * }));\n *\n * canvas.add(label,50,10);\n *\n *\n * @author Andreas Herz\n */\n_packages2.default.ui.LabelEditor = Class.extend(\n/** @lends draw2d.ui.LabelEditor.prototype */\n{\n NAME: \"draw2d.ui.LabelEditor\",\n\n /**\n *\n * @param {Object} attr callback handler and configuration. **{ onCommit:function(){}}, onCancel: function(){}, onStart: function(){}, text:'My Dialog Title' }**\n */\n init: function init(attr) {\n // register some default listener and override this with the handover one\n this.configuration = extend({\n onCommit: function onCommit() {},\n onCancel: function onCancel() {},\n onStart: function onStart() {},\n text: \"Value\"\n }, attr);\n },\n\n /**\n *\n * Trigger the edit of the label text.\n *\n * @param {draw2d.shape.basic.Label} label the label to edit\n */\n start: function start(label) {\n this.configuration.onStart();\n var newText = prompt(this.configuration.text, label.getText());\n if (newText) {\n var cmd = new _packages2.default.command.CommandAttr(label, { text: newText });\n label.getCanvas().getCommandStack().execute(cmd);\n\n this.configuration.onCommit(label.getText());\n } else {\n this.configuration.onCancel();\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/ui/LabelInplaceEditor.js\":\n/*!**************************************!*\\\n !*** ./src/ui/LabelInplaceEditor.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nvar _jquery = __webpack_require__(/*! lib/jquery.autoresize */ \"./src/lib/jquery.autoresize.js\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * Inplace editor for draw2d.shape.base.Label\n *\n * @example\n *\n * var label = new draw2d.shape.basic.Label({text:\"Double Click on me\"});\n *\n * label.installEditor(new draw2d.ui.LabelInplaceEditor({\n * // called after the value has been set to the LabelFigure\n * onCommit: $.proxy(function(value){\n * alert(\"new value set to:\"+value);\n * },this),\n * // called if the user abort the operation\n * onCancel: function(){\n * }\n * }));\n *\n * canvas.add(label,50,10);\n *\n * @author Andreas Herz\n * @extends draw2d.ui.LabelEditor\n */\n_packages2.default.ui.LabelInplaceEditor = _packages2.default.ui.LabelEditor.extend(\n/** @lends draw2d.ui.LabelInplaceEditor.prototype */\n{\n\n NAME: \"draw2d.ui.LabelInplaceEditor\",\n\n init: function init(listener) {\n this._super();\n\n // register some default listener and override this with the handover one\n this.listener = extend({\n onCommit: function onCommit() {},\n onCancel: function onCancel() {},\n onStart: function onStart() {}\n }, listener);\n },\n\n /**\n *\n * Trigger the edit of the label text.\n *\n * @param {draw2d.shape.basic.Label} label the label to edit\n */\n start: function start(label) {\n var _this = this;\n\n this.label = label;\n\n this.commitCallback = this.commit.bind(this);\n\n // commit the editor if the user clicks anywhere in the document\n //\n $(\"body\").bind(\"click\", this.commitCallback);\n\n // append the input field to the document and register\n // the ENTER and ESC key to commit /cancel the operation\n //\n this.html = $('<input id=\"inplaceeditor\">');\n this.html.val(label.getText());\n this.html.hide();\n\n $(\"body\").append(this.html);\n\n this.html.autoResize();\n\n this.html.bind(\"keyup\", function (e) {\n switch (e.which) {\n case 13:\n this.commit();\n break;\n case 27:\n this.cancel();\n break;\n }\n }.bind(this));\n\n this.html.bind(\"blur\", this.commitCallback);\n\n // avoid commit of the operation if we click inside the editor\n //\n this.html.bind(\"click\", function (e) {\n e.stopPropagation();\n e.preventDefault();\n });\n\n // Position the INPUT and init the autoresize of the element\n //\n var canvas = this.label.getCanvas();\n var bb = this.label.getBoundingBox();\n\n bb.setPosition(canvas.fromCanvasToDocumentCoordinate(bb.x, bb.y));\n\n // remove the scroll from the body if we add the canvas directly into the body\n var scrollDiv = canvas.getScrollArea();\n if (scrollDiv.is($(\"body\"))) {\n bb.translate(canvas.getScrollLeft(), canvas.getScrollTop());\n }\n\n bb.translate(-1, -1);\n bb.resize(2, 2);\n\n this.html.css({\n position: \"absolute\",\n \"top\": bb.y,\n \"left\": bb.x,\n \"min-width\": bb.w * (1 / canvas.getZoom()),\n \"height\": Math.max(25, bb.h * (1 / canvas.getZoom()))\n });\n this.html.fadeIn(function () {\n _this.html.focus();\n _this.listener.onStart();\n });\n },\n\n /**\n *\n * Transfer the data from the editor into the label.<br>\n * Remove the editor.<br>\n *\n * @private\n */\n commit: function commit() {\n var _this2 = this;\n\n this.html.unbind(\"blur\", this.commitCallback);\n $(\"body\").unbind(\"click\", this.commitCallback);\n var label = this.html.val();\n var cmd = new _packages2.default.command.CommandAttr(this.label, { text: label });\n this.label.getCanvas().getCommandStack().execute(cmd);\n this.html.fadeOut(function () {\n _this2.html.remove();\n _this2.html = null;\n _this2.listener.onCommit(_this2.label.getText());\n });\n },\n\n /**\n *\n * Transfer the data from the editor into the label.<br>\n * Remove the editor.<br>\n * @private\n */\n cancel: function cancel() {\n var _this3 = this;\n\n this.html.unbind(\"blur\", this.commitCallback);\n $(\"body\").unbind(\"click\", this.commitCallback);\n this.html.fadeOut(function () {\n _this3.html.remove();\n _this3.html = null;\n _this3.listener.onCancel();\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./src/util/ArrayList.js\":\n/*!*******************************!*\\\n !*** ./src/util/ArrayList.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * <Disclaimer> Writing my own class for arrays was one of my worst ideas...\n *\n * An ArrayList stores a variable number of objects. This is similar to making an array of\n * objects, but with an ArrayList, items can be easily added and removed from the ArrayList\n * and it is resized dynamically. This can be very convenient, but it's slower than making\n * an array of objects when using many elements.\n */\n_packages2.default.util.ArrayList = Class.extend(\n/** @lends draw2d.util.ArrayList */\n{\n\n init: function init(a) {\n if (Array.isArray(a)) {\n this.data = a;\n } else {\n this.data = [];\n }\n },\n\n /**\n *\n * Clears the array\n *\n * @since 6.1.0\n * @returns {this}\n */\n clear: function clear() {\n this.data = [];\n\n return this;\n },\n\n /**\n *\n * Reverses the order of the elements in the ArrayList. The array will be modified!\n *\n * @returns {this}\n */\n reverse: function reverse() {\n this.data.reverse();\n\n return this;\n },\n\n /**\n *\n * The size/count of the stored objects.\n *\n * @returns {Number}\n */\n getSize: function getSize() {\n return this.data.length;\n },\n\n /**\n *\n * checks to see if the Vector has any elements.\n *\n * @returns {Boolean} true if the list is empty\n **/\n isEmpty: function isEmpty() {\n return this.getSize() === 0;\n },\n\n /**\n *\n * return the last element.\n *\n * @returns {Object}\n */\n last: function last() {\n return this.data[this.data.length - 1];\n },\n\n /**\n *\n * Return a reference to the internal javascript native array.\n *\n * @returns {Array}\n */\n asArray: function asArray() {\n return this.data;\n },\n\n /**\n *\n * returns the first element\n *\n * @returns {Object}\n */\n first: function first() {\n if (this.data.length > 0) {\n return this.data[0];\n }\n return null;\n },\n\n /**\n *\n * returns an element at a specified index\n *\n * @param {Number} i\n * @returns {Object}\n */\n get: function get(i) {\n return this.data[i];\n },\n\n /**\n *\n * Adds a element at the end of the Vector.\n *\n * @param {Object} obj the object to add\n * @returns {this}\n */\n add: function add() {\n var _data;\n\n (_data = this.data).push.apply(_data, arguments);\n\n return this;\n },\n\n /**\n *\n *\n * The method removes items from an array as necessary so that all remaining items pass a\n * provided test. The test is a function that is passed an array item and the index of the\n * item within the array. Only if the test returns true will the item stay in the array.\n *\n * @param {Function} func the filter function(element,index)\n * @param {Object} func.value value of the element in iteration.\n * @since 2.0.0\n * @returns {this}\n */\n grep: function grep(func) {\n this.data = this.data.filter(func);\n\n return this;\n },\n\n /**\n *\n *\n * Return ONE element which matches by the given function or <b>null</b>\n * if no element is found.\n *\n * var r1= figures.find(function(figure){\n * return figure.id===123456\n * });\n *\n * @param {Function} func the filter function\n * @param {Object} func.value value of the element in iteration.\n * @param {Object} func.index index of the element in collection.\n * @since 2.0.0\n */\n find: function find(func) {\n var result = this.data.filter(func);\n if (result.length === 0) {\n return null;\n }\n return result[0];\n },\n\n /**\n *\n * Translate all items in the array into new items. The array list is modified after this call.\n * You must clone the array before if you want avoid this.\n *\n * var labels = this.commands.clone().map(function(e){\n * return e.getLabel();\n * });\n *\n * @param {Function} func The function to process each item against. The first argument to the function is the value; the second argument is the index or key of the array or object property.\n * @param {Object} func.value value of the element in iteration.\n * @param {Number} func.i index of the element in iteration\n *\n * @since 4.0.0\n * @returns {this}\n */\n map: function map(func) {\n this.data = this.data.map(func);\n\n return this;\n },\n\n /**\n *\n * Removes any duplicate elements from the array. The array is modified after this call. You\n * must clone the array before if you want avoid this\n *\n * @since 4.0.0\n * @returns {this}\n */\n unique: function unique() {\n this.data = this.data.filter(function (value, index, self) {\n return self.indexOf(value) === index;\n });\n\n return this;\n },\n\n /**\n *\n * Add all elements into this array.\n *\n * @param {draw2d.util.ArrayList} list\n * @param {Boolean} [avoidDuplicates] checks whenever the new elements exists before insert if the parameter is to [true]\n * @returns {this}\n */\n addAll: function addAll(list, avoidDuplicates) {\n if (!(list instanceof _packages2.default.util.ArrayList)) {\n throw \"Unable to handle unknown object type in ArrayList.addAll\";\n }\n\n this.data = this.data.concat(list.data);\n if (avoidDuplicates) {\n this.unique();\n }\n return this;\n },\n\n /**\n *\n * You can use the Array list as Stack as well. this is the pop method to remove one element\n * at the end of the stack.\n *\n * @returns {Object} the remove object\n */\n pop: function pop() {\n return this.removeElementAt(this.data.length - 1);\n },\n\n /**\n * Push one element at the top of the stack/array\n *\n * @param {Object} value The object to add\n * @returns {this}\n */\n push: function push(value) {\n this.add(value);\n },\n\n /**\n *\n * Remove the element from the list\n *\n * @param {Object} obj the object to remove\n *\n * @returns {Object} the removed object or null\n */\n remove: function remove(obj) {\n var index = this.indexOf(obj);\n if (index >= 0) {\n return this.removeElementAt(index);\n }\n\n return null;\n },\n\n /**\n *\n * Inserts an element at a given position. Existing elements will be shifted\n * to the right.\n *\n * @param {Object} obj the object to insert.\n * @param {Number} index the insert position.\n * @returns {this}\n */\n insertElementAt: function insertElementAt(obj, index) {\n this.data.splice(index, 0, obj);\n\n return this;\n },\n\n /**\n *\n * Removes an element at a specific index.\n *\n * @param {Number} index the index of the element to remove\n * @returns {Object} the removed object\n */\n removeElementAt: function removeElementAt(index) {\n var element = this.data[index];\n\n this.data.splice(index, 1);\n\n return element;\n },\n\n /**\n *\n * removes all given elements in the ArrayList\n *\n * @param {draw2d.util.ArrayList} elements The elements to remove\n * @returns {this}\n */\n removeAll: function removeAll(elements) {\n var _this = this;\n\n if (elements instanceof _packages2.default.util.ArrayList) {\n elements = elements.data;\n }\n\n if (Array.isArray(elements)) {\n elements.forEach(function (e) {\n _this.remove(e);\n });\n }\n\n return this;\n },\n\n /**\n *\n * Return the zero based index of the given element or -1 if the element\n * not in the list.\n *\n * @param {Object} obj the element to check\n *\n * @returns {Number} the index of the element or -1\n */\n indexOf: function indexOf(obj) {\n return this.data.indexOf(obj);\n },\n\n /**\n *\n * returns true if the element is in the Vector, otherwise false.\n *\n * @param {Object} obj the object to check\n *\n * @returns {Boolean}\n */\n contains: function contains(obj) {\n return this.indexOf(obj) !== -1;\n },\n\n /**\n *\n * Sorts the collection based on a field name or sort a function. See on http://www.w3schools.com/jsref/jsref_sort.asp\n * if you use a sort function.\n *\n * @param {String|Function} f the field name for the sorting or a sort function\n *\n * @returns {this}\n *\n */\n sort: function sort(f) {\n if (typeof f === \"function\") {\n this.data.sort(f);\n } else {\n this.data.sort(function (a, b) {\n if (a[f] < b[f]) return -1;\n if (a[f] > b[f]) return 1;\n return 0;\n });\n }\n return this;\n },\n\n /**\n *\n * Copies the contents of a Vector to another Vector returning the new Vector.\n *\n * @param {Boolean} [deep] call \"clone\" of each elements and add the clone to the new ArrayList\n *\n * @returns {draw2d.util.ArrayList} the new ArrayList\n */\n clone: function clone(deep) {\n var newVector = new _packages2.default.util.ArrayList();\n\n if (deep) {\n for (var i = 0; i < this.data.length; i++) {\n newVector.data.push(this.data[i].clone());\n }\n } else {\n newVector.data = this.data.slice(0);\n }\n\n return newVector;\n },\n\n /**\n *\n * Iterates over the list of elements, yielding each in turn to an iterator\n * function.\n * Each invocation of iterator is called with two arguments: (index, element).\n *\n * @param {Function} func the callback function to call for each element\n * @param {Number} func.i index of the element in iteration\n * @param {Object} func.value value of the element in iteration.\n * @param {Boolean} [reverse] optional parameter. Iterate the collection reverse if it set to <b>true</b>\n * @returns {this}\n */\n each: function each(func, reverse) {\n if (typeof reverse !== \"undefined\" && reverse === true) {\n for (var i = this.data.length - 1; i >= 0; i--) {\n if (func(i, this.data[i]) === false) break;\n }\n } else {\n for (var _i = 0; _i < this.data.length; _i++) {\n if (func(_i, this.data[_i]) === false) break;\n }\n }\n\n return this;\n },\n\n /**\n * overwrites the element with an object at the specific index.\n *\n * @param {Object} obj The object to add\n * @param {Number} index the index where the object should places.\n *\n * @returns {this}\n */\n overwriteElementAt: function overwriteElementAt(obj, index) {\n this.data[index] = obj;\n\n return this;\n },\n\n /**\n *\n * @returns {Object} the attributes which are required for persistence\n */\n getPersistentAttributes: function getPersistentAttributes() {\n return { data: this.data };\n },\n\n /**\n *\n * Read all attributes from the serialized properties and transfer them into the shape.\n *\n * @param {Object} memento\n * @returns {this}\n */\n setPersistentAttributes: function setPersistentAttributes(memento) {\n this.data = memento.data;\n\n return this;\n }\n\n});\n\n_packages2.default.util.ArrayList.EMPTY_LIST = new _packages2.default.util.ArrayList();\n\n/***/ }),\n\n/***/ \"./src/util/Base64.js\":\n/*!****************************!*\\\n !*** ./src/util/Base64.js ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.util.Base64 = {\n\n /**\n * Maps bytes to characters.\n * @type {Object}\n * @private\n */\n byteToCharMap_: null,\n\n /**\n * Maps characters to bytes.\n * @type {Object}\n * @private\n */\n charToByteMap_: null,\n\n /**\n * Maps bytes to websafe characters.\n * @type {Object}\n * @private\n */\n byteToCharMapWebSafe_: null,\n\n /**\n * Maps websafe characters to bytes.\n * @type {Object}\n * @private\n */\n charToByteMapWebSafe_: null,\n\n /**\n * Our default alphabet, shared between\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\n * @type {string}\n */\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',\n\n /**\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\n * @type {string}\n */\n ENCODED_VALS: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' + '+/=',\n\n /**\n * Our websafe alphabet.\n * @type {string}\n */\n ENCODED_VALS_WEBSAFE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' + '-_.',\n\n encodeByteArray: function encodeByteArray(input, opt_webSafe) {\n _packages2.default.util.Base64.init();\n\n var byteToCharMap = opt_webSafe ? _packages2.default.util.Base64.byteToCharMapWebSafe_ : _packages2.default.util.Base64.byteToCharMap_;\n\n var output = [];\n\n for (var i = 0; i < input.length; i += 3) {\n var byte1 = input[i];\n var haveByte2 = i + 1 < input.length;\n var byte2 = haveByte2 ? input[i + 1] : 0;\n var haveByte3 = i + 2 < input.length;\n var byte3 = haveByte3 ? input[i + 2] : 0;\n\n var outByte1 = byte1 >> 2;\n var outByte2 = (byte1 & 0x03) << 4 | byte2 >> 4;\n var outByte3 = (byte2 & 0x0F) << 2 | byte3 >> 6;\n var outByte4 = byte3 & 0x3F;\n\n if (!haveByte3) {\n outByte4 = 64;\n\n if (!haveByte2) {\n outByte3 = 64;\n }\n }\n\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\n }\n\n return output.join('');\n },\n\n /**\n * \n * Base64-encode a string.\n *\n * @param {string} input A string to encode.\n * @param {boolean=} opt_webSafe If true, we should use the alternative alphabet.\n * @returns {string} The base64 encoded string.\n */\n encode: function encode(input, opt_webSafe) {\n return _packages2.default.util.Base64.encodeByteArray(_packages2.default.util.Base64.stringToByteArray(input), opt_webSafe);\n },\n\n /**\n * \n * Base64-decode a string.\n *\n * @param {String} input to decode (length not required to be a multiple of 4).\n * @param {boolean=} opt_webSafe True if we should use the\n * alternative alphabet.\n * @returns {Array} bytes representing the decoded value.\n */\n decode: function decode(input, opt_webSafe) {\n _packages2.default.util.Base64.init();\n\n var charToByteMap = opt_webSafe ? _packages2.default.util.Base64.charToByteMapWebSafe_ : _packages2.default.util.Base64.charToByteMap_;\n\n var output = [];\n\n for (var i = 0; i < input.length;) {\n var byte1 = charToByteMap[input.charAt(i++)];\n\n var haveByte2 = i < input.length;\n var byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\n ++i;\n\n var haveByte3 = i < input.length;\n var byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 0;\n ++i;\n\n var haveByte4 = i < input.length;\n var byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 0;\n ++i;\n\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\n throw Error();\n }\n\n var outByte1 = byte1 << 2 | byte2 >> 4;\n output.push(outByte1);\n\n if (byte3 != 64) {\n var outByte2 = byte2 << 4 & 0xF0 | byte3 >> 2;\n output.push(outByte2);\n\n if (byte4 != 64) {\n var outByte3 = byte3 << 6 & 0xC0 | byte4;\n output.push(outByte3);\n }\n }\n }\n\n return output;\n },\n\n /**\n * Turns a string into an array of bytes; a \"byte\" being a JS number in the\n * range 0-255.\n * @param {string} str String value to arrify.\n * @returns {!Array.<number>} Array of numbers corresponding to the\n * UCS character codes of each character in str.\n */\n stringToByteArray: function stringToByteArray(str) {\n var output = [],\n p = 0;\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n while (c > 0xff) {\n output[p++] = c & 0xff;\n c >>= 8;\n }\n output[p++] = c;\n }\n return output;\n },\n\n init: function init() {\n if (!_packages2.default.util.Base64.byteToCharMap_) {\n _packages2.default.util.Base64.byteToCharMap_ = {};\n _packages2.default.util.Base64.charToByteMap_ = {};\n _packages2.default.util.Base64.byteToCharMapWebSafe_ = {};\n _packages2.default.util.Base64.charToByteMapWebSafe_ = {};\n\n // We want quick mappings back and forth, so we precompute two maps.\n for (var i = 0; i < _packages2.default.util.Base64.ENCODED_VALS.length; i++) {\n _packages2.default.util.Base64.byteToCharMap_[i] = _packages2.default.util.Base64.ENCODED_VALS.charAt(i);\n _packages2.default.util.Base64.charToByteMap_[_packages2.default.util.Base64.byteToCharMap_[i]] = i;\n _packages2.default.util.Base64.byteToCharMapWebSafe_[i] = _packages2.default.util.Base64.ENCODED_VALS_WEBSAFE.charAt(i);\n _packages2.default.util.Base64.charToByteMapWebSafe_[_packages2.default.util.Base64.byteToCharMapWebSafe_[i]] = i;\n }\n }\n }\n};\n\n/***/ }),\n\n/***/ \"./src/util/Color.js\":\n/*!***************************!*\\\n !*** ./src/util/Color.js ***!\n \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Util class to handle colors in the draw2d enviroment.\n *\n * @example\n * // Create a new Color with RGB values\n * var color = new draw2d.util.Color(127,0,0);\n *\n * // of from a hex string\n * var color2 = new draw2d.util.Color(\"#f00000\");\n *\n * // Create a little bit darker color\n * var darkerColor = color.darker(0.2); // 20% darker\n *\n * // create a optimal text color if 'color' the background color\n * // (best in meaning of contrast and readability)\n * var fontColor = color.getIdealTextColor();\n *\n * @param {Number|String|draw2d.util.Color|Array} red\n * @param {Number} green\n * @param {Number} blue\n * @param {Number} [alpha]\n */\n_packages2.default.util.Color = Class.extend(\n/** @lends draw2d.util.Color */\n{\n\n init: function init(red, green, blue, alpha) {\n\n this.hashString = null;\n\n if (typeof red === \"undefined\" || red === null) {\n this.hashString = \"none\";\n } else if (red instanceof _packages2.default.util.Color) {\n if (red.hashString === \"none\") {\n this.hashString = \"none\";\n } else {\n this.red = red.red;\n this.green = red.green;\n this.blue = red.blue;\n this.alpha = red.alpha;\n }\n } else if (typeof red === \"string\") {\n if (red === \"none\") {\n this.hashString = \"none\";\n } else {\n var rgba = this.hex2rgb(red);\n this.red = rgba[0];\n this.green = rgba[1];\n this.blue = rgba[2];\n this.alpha = rgba[3];\n }\n }\n // JSON struct of {red:###, green:###, blue:### }\n else if ((typeof red === \"undefined\" ? \"undefined\" : _typeof(red)) === \"object\" && typeof red.red === \"number\") {\n this.red = red.red;\n this.green = red.green;\n this.blue = red.blue;\n this.alpha = red.alpha;\n }\n // array detection 1\n else if (red instanceof Array && red.length === 3) {\n this.red = red[0];\n this.green = red[1];\n this.blue = red[2];\n this.alpha = red[3];\n }\n // array detection 2\n else if ((typeof red === \"undefined\" ? \"undefined\" : _typeof(red)) === \"object\" && typeof red.length === \"number\" && red.length === 3) {\n this.red = red[0];\n this.green = red[1];\n this.blue = red[2];\n this.alpha = red[3];\n } else {\n this.red = parseInt(red);\n this.green = parseInt(green);\n this.blue = parseInt(blue);\n this.alpha = typeof alpha === 'undefined' ? 1 : parseFloat(alpha);\n }\n },\n\n /**\n * \n * Convert the color object into a HTML CSS representation\n * @returns {String} the color in rgb(##,##,##) representation\n **/\n getHTMLStyle: function getHTMLStyle() {\n if (typeof this.red === \"undefined\") return \"rgba(0,0,0,0)\";\n\n return \"rgba(\" + this.red + \",\" + this.green + \",\" + this.blue + \",\" + this.alpha + \")\";\n },\n\n /**\n * \n * The red part of the color.\n *\n * @returns {Number} the [red] part of the color.\n **/\n getRed: function getRed() {\n return this.red;\n },\n\n /**\n * \n * The green part of the color.\n *\n * @returns {Number} the [green] part of the color.\n **/\n getGreen: function getGreen() {\n return this.green;\n },\n\n /**\n * \n * The blue part of the color\n *\n * @returns {Number} the [blue] part of the color.\n **/\n getBlue: function getBlue() {\n return this.blue;\n },\n\n /**\n * \n * The alpha part of the color\n *\n * @returns {Number} the [alpha] part of the color.\n **/\n getAlpha: function getAlpha() {\n return this.alpha;\n },\n\n /**\n * \n * Returns the ideal Text Color. Useful for font color selection by a given background color.\n *\n * @returns {draw2d.util.Color} The <i>ideal</i> inverse color.\n **/\n getIdealTextColor: function getIdealTextColor() {\n var nThreshold = 105;\n var bgDelta = this.red * 0.299 + this.green * 0.587 + this.blue * 0.114;\n return 255 - bgDelta < nThreshold ? new _packages2.default.util.Color(0, 0, 0) : new _packages2.default.util.Color(255, 255, 255);\n },\n\n /**\n * return array of [r,g,b,a] from any valid color. if failed returns [0,0,0,1]\n *\n * @param hexcolor\n * @returns {*}\n */\n hex2rgb: function hex2rgb(color) {\n if (!color) {\n return [0, 0, 0, 1];\n }\n\n if (color.toLowerCase() === 'transparent') {\n return [0, 0, 0, 0];\n }\n\n if (color[0] === '#') {\n if (color.length < 7) {\n // convert #RGB and #RGBA to #RRGGBB and #RRGGBBAA\n color = '#' + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : '');\n }\n return [parseInt(color.substr(1, 2), 16), parseInt(color.substr(3, 2), 16), parseInt(color.substr(5, 2), 16), color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1];\n }\n\n if (color.indexOf('rgb') === -1) {\n // convert named colors\n var temp_elem = document.body.appendChild(document.createElement('fictum')); // intentionally use unknown tag to lower chances of css rule override with !important\n var flag = 'rgb(1, 2, 3)'; // this flag tested on chrome 59, ff 53, ie9, ie10, ie11, edge 14\n temp_elem.style.color = flag;\n if (temp_elem.style.color !== flag) {\n return [0, 0, 0, 1]; // color set failed - some monstrous css rule is probably taking over the color of our object\n }\n temp_elem.style.color = color;\n\n if (temp_elem.style.color === flag || temp_elem.style.color === '') {\n return [0, 0, 0, 1]; // color parse failed\n }\n color = getComputedStyle(temp_elem).color;\n document.body.removeChild(temp_elem);\n }\n\n if (color.indexOf('rgb') === 0) {\n if (color.indexOf('rgba') === -1) {\n color += ',1'; // convert 'rgb(R,G,B)' to 'rgb(R,G,B)A' which looks awful but will pass the regxep below\n }\n return color.match(/[\\.\\d]+/g).map(function (a) {\n return +a;\n });\n }\n },\n\n /**\n *\n **/\n hex: function hex() {\n return this.int2hex(this.red) + this.int2hex(this.green) + this.int2hex(this.blue)\n // breaks raphaelJS...so don'T use it right now\n //(this.alpha * 255).toString(16).substring(0,2).toUpperCase()\n ;\n },\n\n /**\n * \n * Convert the color object into a HTML CSS representation\n * @returns {String} the color in rgb(##,##,##) representation\n **/\n rgba: function rgba() {\n return this.getHTMLStyle();\n },\n\n /**\n * \n * Convert the color object into a HTML CSS representation\n * @returns {String} the color in #RRGGBB representation\n **/\n hash: function hash() {\n if (this.hashString === null) {\n this.hashString = \"#\" + this.hex();\n }\n return this.hashString;\n },\n\n /**\n * @private\n */\n int2hex: function int2hex(v) {\n v = Math.round(Math.min(Math.max(0, v), 255));\n return \"0123456789ABCDEF\".charAt((v - v % 16) / 16) + \"0123456789ABCDEF\".charAt(v % 16);\n },\n\n /**\n * \n * Returns a darker color of the given one. The original color is unchanged.\n *\n * @param {Number} fraction Darkness fraction between [0..1].\n * @return{draw2d.util.Color} Darker color.\n */\n darker: function darker(fraction) {\n // we can't \"darker\" a undefined color. In this case we return the undefnied color itself\n //\n if (this.hashString === \"none\") return this;\n\n fraction = typeof fraction === 'undefined' ? 0.1 : fraction;\n\n var red = parseInt(Math.round(this.getRed() * (1.0 - fraction)));\n var green = parseInt(Math.round(this.getGreen() * (1.0 - fraction)));\n var blue = parseInt(Math.round(this.getBlue() * (1.0 - fraction)));\n\n if (red < 0) red = 0;else if (red > 255) red = 255;\n if (green < 0) green = 0;else if (green > 255) green = 255;\n if (blue < 0) blue = 0;else if (blue > 255) blue = 255;\n\n return new _packages2.default.util.Color(red, green, blue, this.alpha);\n },\n\n /**\n * \n * Make a color lighter. The original color is unchanged.\n *\n * @param {Number} fraction lighter fraction between [0..1].\n * @returns {draw2d.util.Color} Lighter color.\n */\n lighter: function lighter(fraction) {\n // we can't \"lighter\" a undefined color. In this case we return the undefined color itself\n //\n if (this.hashString === \"none\") return this;\n\n fraction = typeof fraction === 'undefined' ? 0.1 : fraction;\n\n var red = parseInt(Math.round(this.getRed() * (1.0 + fraction)));\n var green = parseInt(Math.round(this.getGreen() * (1.0 + fraction)));\n var blue = parseInt(Math.round(this.getBlue() * (1.0 + fraction)));\n\n if (red < 0) red = 0;else if (red > 255) red = 255;\n if (green < 0) green = 0;else if (green > 255) green = 255;\n if (blue < 0) blue = 0;else if (blue > 255) blue = 255;\n\n return new _packages2.default.util.Color(red, green, blue, this.alpha);\n },\n\n /**\n * \n * Return a new color wich is faded to the given color.\n * @param {draw2d.util.Color} color\n * @param {Number} pc the fade percentage in [0..1]\n * @returns {draw2d.util.Color}\n *\n * @since 2.1.0\n */\n fadeTo: function fadeTo(color, pc) {\n\n var r = Math.floor(this.red + pc * (color.red - this.red) + .5);\n var g = Math.floor(this.green + pc * (color.green - this.green) + .5);\n var b = Math.floor(this.blue + pc * (color.blue - this.blue) + .5);\n var a = Math.floor(this.alpha + pc * (color.alpha - this.alpha) + .5);\n\n return new _packages2.default.util.Color(r, g, b, a);\n },\n\n /**\n * \n * Compares two color objects\n *\n * @param {draw2d.util.Color} o\n * @returns {Boolean}\n **/\n equals: function equals(o) {\n if (!(o instanceof _packages2.default.util.Color)) {\n return false;\n }\n return this.rgba() === o.rgba();\n }\n\n});\n\nmodule.exports = _packages2.default.util.Color;\n\n/***/ }),\n\n/***/ \"./src/util/Debug.js\":\n/*!***************************!*\\\n !*** ./src/util/Debug.js ***!\n \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*!\n * JavaScript Debug - v0.4 - 6/22/2010\n * http://benalman.com/projects/javascript-debug-console-log/\n *\n * Copyright (c) 2010 \"Cowboy\" Ben Alman\n * Dual licensed under the MIT and GPL licenses.\n * http://benalman.com/about/license/\n *\n * With lots of help from Paul Irish!\n * http://paulirish.com/\n */\n// Script: JavaScript Debug: A simple wrapper for console.log\n//\n// *Version: 0.4, Last Updated: 6/22/2010*\n//\n// Tested with Internet Explorer 6-8, Firefox 3-3.6, Safari 3-4, Chrome 3-5, Opera 9.6-10.5\n//\n// Home - http://benalman.com/projects/javascript-debug-console-log/\n// GitHub - http://github.com/cowboy/javascript-debug/\n// Source - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.js\n// (Minified) - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.min.js (1.1kb)\n//\n// About: License\n//\n// Copyright (c) 2010 \"Cowboy\" Ben Alman,\n// Dual licensed under the MIT and GPL licenses.\n// http://benalman.com/about/license/\n//\n// About: Support and Testing\n//\n// Information about what browsers this code has been tested in.\n//\n// Browsers Tested - Internet Explorer 6-8, Firefox 3-3.6, Safari 3-4, Chrome\n// 3-5, Opera 9.6-10.5\n//\n// About: Examples\n//\n// These working examples, complete with fully commented code, illustrate a few\n// ways in which this plugin can be used.\n//\n// Examples - http://benalman.com/code/projects/javascript-debug/examples/debug/\n//\n// About: Revision History\n//\n// 0.4 - (6/22/2010) Added missing passthrough methods: exception,\n// groupCollapsed, table\n// 0.3 - (6/8/2009) Initial release\n//\n// Topic: Pass-through console methods\n//\n// assert, clear, count, dir, dirxml, exception, group, groupCollapsed,\n// groupEnd, profile, profileEnd, table, time, timeEnd, trace\n//\n// These console methods are passed through (but only if both the console and\n// the method exists), so use them without fear of reprisal. Note that these\n// methods will not be passed through if the logging level is set to 0 via\n// <debug.setLevel>.\n\nwindow.debug = function () {\n var window = this,\n\n\n // Some convenient shortcuts.\n aps = Array.prototype.slice,\n con = console,\n\n\n // Public object to be returned.\n that = {},\n callback_func,\n callback_force,\n\n\n // Default logging level, show everything.\n log_level = 9,\n\n\n // Logging methods, in \"priority order\". Not all console implementations\n // will utilize these, but they will be used in the callback passed to\n // setCallback.\n log_methods = ['error', 'warn', 'info', 'debug', 'log'],\n\n\n // Pass these methods through to the console if they exist, otherwise just\n // fail gracefully. These methods are provided for convenience.\n pass_methods = 'assert clear count dir dirxml exception group groupCollapsed groupEnd profile profileEnd table time timeEnd trace'.split(' '),\n idx = pass_methods.length,\n\n\n // Logs are stored here so that they can be recalled as necessary.\n logs = [];\n\n while (--idx >= 0) {\n (function (method) {\n\n // Generate pass-through methods. These methods will be called, if they\n // exist, as long as the logging level is non-zero.\n that[method] = function () {\n log_level !== 0 && con && con[method] && con[method].apply(con, arguments);\n };\n })(pass_methods[idx]);\n }\n\n idx = log_methods.length;\n while (--idx >= 0) {\n (function (idx, level) {\n\n // Method: debug.log\n //\n // Call the console.log method if available. Adds an entry into the logs\n // array for a callback specified via <debug.setCallback>.\n //\n // Usage:\n //\n // debug.log( object [, object, ...] ); - -\n //\n // Arguments:\n //\n // object - (Object) Any valid JavaScript object.\n\n // Method: debug.debug\n //\n // Call the console.debug method if available, otherwise call console.log.\n // Adds an entry into the logs array for a callback specified via\n // <debug.setCallback>.\n //\n // Usage:\n //\n // debug.debug( object [, object, ...] ); - -\n //\n // Arguments:\n //\n // object - (Object) Any valid JavaScript object.\n\n // Method: debug.info\n //\n // Call the console.info method if available, otherwise call console.log.\n // Adds an entry into the logs array for a callback specified via\n // <debug.setCallback>.\n //\n // Usage:\n //\n // debug.info( object [, object, ...] ); - -\n //\n // Arguments:\n //\n // object - (Object) Any valid JavaScript object.\n\n // Method: debug.warn\n //\n // Call the console.warn method if available, otherwise call console.log.\n // Adds an entry into the logs array for a callback specified via\n // <debug.setCallback>.\n //\n // Usage:\n //\n // debug.warn( object [, object, ...] ); - -\n //\n // Arguments:\n //\n // object - (Object) Any valid JavaScript object.\n\n // Method: debug.error\n //\n // Call the console.error method if available, otherwise call console.log.\n // Adds an entry into the logs array for a callback specified via\n // <debug.setCallback>.\n //\n // Usage:\n //\n // debug.error( object [, object, ...] ); - -\n //\n // Arguments:\n //\n // object - (Object) Any valid JavaScript object.\n\n that[level] = function () {\n var args = aps.call(arguments),\n log_arr = [level].concat(args);\n\n logs.push(log_arr);\n exec_callback(log_arr);\n\n if (!con || !is_level(idx)) {\n return;\n }\n\n con.firebug ? con[level].apply(window, args) : con[level] ? con[level](args) : con.log(args);\n };\n })(idx, log_methods[idx]);\n }\n\n // Execute the callback function if set.\n function exec_callback(args) {\n if (callback_func && (callback_force || !con || !con.log)) {\n callback_func.apply(window, args);\n }\n };\n\n // Method: debug.setLevel\n //\n // Set a minimum or maximum logging level for the console. Doesn't affect\n // the <debug.setCallback> callback function, but if set to 0 to disable\n // logging, <Pass-through console methods> will be disabled as well.\n //\n // Usage:\n //\n // debug.setLevel( [ level ] ) - -\n //\n // Arguments:\n //\n // level - (Number) If 0, disables logging. If negative, shows N lowest\n // priority levels of log messages. If positive, shows N highest priority\n // levels of log messages.\n //\n // Priority levels:\n //\n // log (1) < debug (2) < info (3) < warn (4) < error (5)\n\n that.setLevel = function (level) {\n log_level = typeof level === 'number' ? level : 9;\n };\n\n // Determine if the level is visible given the current log_level.\n function is_level(level) {\n return log_level > 0 ? log_level > level : log_methods.length + log_level <= level;\n };\n\n // Method: debug.setCallback\n //\n // Set a callback to be used if logging isn't possible due to console.log\n // not existing. If unlogged logs exist when callback is set, they will all\n // be logged immediately unless a limit is specified.\n //\n // Usage:\n //\n // debug.setCallback( callback [, force ] [, limit ] )\n //\n // Arguments:\n //\n // callback - (Function) The aforementioned callback function. The first\n // argument is the logging level, and all subsequent arguments are those\n // passed to the initial debug logging method.\n // force - (Boolean) If false, log to console.log if available, otherwise\n // callback. If true, log to both console.log and callback.\n // limit - (Number) If specified, number of lines to limit initial scrollback\n // to.\n\n that.setCallback = function () {\n var args = aps.call(arguments),\n max = logs.length,\n i = max;\n\n callback_func = args.shift() || null;\n callback_force = typeof args[0] === 'boolean' ? args.shift() : false;\n\n i -= typeof args[0] === 'number' ? args.shift() : max;\n\n while (i < max) {\n exec_callback(logs[i++]);\n }\n };\n\n return that;\n}();\n\n/***/ }),\n\n/***/ \"./src/util/JSONUtil.js\":\n/*!******************************!*\\\n !*** ./src/util/JSONUtil.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.util.JSON = {\n\n /**\n * \n * Given a dot deliminated string set will create an object\n * based on the structure of the string with the desired value\n *\n * @param {Object} data the json object to modify\n * @param {String} path path indicating where value should be placed\n * @param {Object} value the value desired to be set at the location determined by path\n */\n set: function set(data, path, value) {\n if (!path || path === '') {\n return;\n }\n\n var re = /[\\w-]+|\\[\\]|([^\\[[\\w]\\]]|[\"'](.*?)['\"])/g;\n // parse path on dots, and brackets\n var pathList = path.match(re);\n var parent = data;\n var parentKey = void 0;\n var grandParent = null;\n var grandParentKey = null;\n\n var addObj = function addObj(obj, key, data) {\n if (key === '[]') {\n obj.push(data);\n } else {\n obj[key] = data;\n }\n };\n\n while (pathList.length > 0) {\n parentKey = pathList.shift().replace(/[\"']/g, '');\n\n // Number, treat it as an array\n if (!isNaN(+parentKey) || parentKey === \"[]\") {\n if (parent.constructor !== Array) {\n parent = [];\n addObj(grandParent, grandParentKey, parent);\n }\n // String, treat it as a key\n } else if (typeof parentKey === \"string\") {\n if (!$.isPlainObject(parent)) {\n parent = {};\n addObj(grandParent, grandParentKey, parent);\n }\n }\n // Next\n grandParent = parent;\n grandParentKey = parentKey;\n parent = parent[parentKey];\n }\n\n addObj(grandParent, grandParentKey, value);\n },\n\n /**\n * \n * Returns the value defined by the path passed in\n *\n * @param {Object} data the JSON data object\n * @param {String} path string leading to a desired value\n */\n get: function get(data, path) {\n var regex = /[\\w-]+|\\[\\]|([^\\[[\\w]\\]]|[\"'](.*?)['\"])/g;\n //check if path is truthy\n if (!path) {\n return undefined;\n }\n //parse path on dots and brackets\n var paths = path.match(regex);\n //step through data object until all keys in path have been processed\n while (data !== null && paths.length > 0) {\n if (data.propertyIsEnumerable(paths[0].replace(/\"/g, ''))) {\n data = data[paths.shift().replace(/\"/g, '')];\n } else {\n return undefined;\n }\n }\n return data;\n },\n\n /**\n * \n * calculates the diff between the given json objects\n *\n */\n diff: function diff(obj1, obj2) {\n var result = {};\n for (var key in obj1) {\n var v1 = obj1[key];\n var v2 = obj2[key];\n if (v1 !== v2) {\n if (v1.equals) {\n if (!v1.equals(v2)) {\n result[key] = obj1[key];\n }\n } else {\n result[key] = obj1[key];\n }\n }\n }\n return result;\n },\n\n flatDiff: function flatDiff(obj1, obj2) {\n var result = {};\n for (var key in obj1) {\n if (obj1[key] !== obj2[key]) {\n result[key] = obj1[key];\n }\n }\n return result;\n },\n\n ensureDefault: function ensureDefault(json, attribute, value) {\n if (!json.hasOwnProperty(attribute)) {\n json[attribute] = value;\n }\n }\n};\n\nmodule.exports = _packages2.default.util.JSON;\n\n/***/ }),\n\n/***/ \"./src/util/Polyfill.js\":\n/*!******************************!*\\\n !*** ./src/util/Polyfill.js ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// avoid iPad bounce effect during DragDrop//\ndocument.ontouchmove = function (e) {\n e.preventDefault();\n};\n\n/***/ }),\n\n/***/ \"./src/util/SVGUtil.js\":\n/*!*****************************!*\\\n !*** ./src/util/SVGUtil.js ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// extending raphael with a polygon function\nRaphael.fn.polygon = function (pointString) {\n var poly = ['M'];\n var point = pointString.split(' ');\n\n for (var i = 0; i < point.length; i++) {\n var c = point[i].split(',');\n for (var j = 0; j < c.length; j++) {\n var d = parseFloat(c[j]);\n if (!isNaN(d)) poly.push(d);\n };\n if (i == 0) poly.push('L');\n }\n poly.push('Z');\n\n return this.path(poly);\n};\n\n/***/ }),\n\n/***/ \"./src/util/UUID.js\":\n/*!**************************!*\\\n !*** ./src/util/UUID.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n * Generates a (pseudo) UUID's\n *\n * @example\n * // a UUID in the format\n * // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)\n * var id = draw2d.util.UUID.create();\n *\n * @author Andreas Herz\n */\n_packages2.default.util.UUID = {\n /**\n *\n * Generates a unique id.<br>\n * But just for the correctness: <strong>this is no Global Unique Identifier</strong>, it is just a random generator\n * with the output that looks like a GUID. <br>\n * But may be also useful.\n *\n * @returns {String} the UUID in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)\n **/\n create: function create() {\n var segment = function segment() {\n return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1);\n };\n return segment() + segment() + \"-\" + segment() + \"-\" + segment() + \"-\" + segment() + \"-\" + segment() + segment() + segment();\n }\n};\n\nmodule.exports = _packages2.default.util.UUID;\n\n/***/ }),\n\n/***/ \"./src/util/extend.js\":\n/*!****************************!*\\\n !*** ./src/util/extend.js ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\n// Pass in the objects to merge as arguments.// For a deep extend, set the first argument to `true`.\nvar fn = function fn() {\n\n // Variables\n var extended = {};\n var deep = false;\n var i = 0;\n var length = arguments.length;\n\n // Check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n\n // Merge the object into the extended object\n /**\n *\n * @param obj\n */\n var merge = function merge(obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // If deep merge and property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = extend(true, extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n\n // Loop through each object and conduct a merge\n for (; i < length; i++) {\n var obj = arguments[i];\n merge(obj);\n }\n\n return extended;\n};\nmodule.exports = fn;\nglobal.extend = fn;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./src/util/raphael_ext.js\":\n/*!*********************************!*\\\n !*** ./src/util/raphael_ext.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * adding support method to check if the node is already visible\n **/\n(function () {\n Raphael.el.isVisible = function () {\n return this.node.style.display !== \"none\";\n };\n})();\n\n/***/ }),\n\n/***/ \"./src/util/spline/BezierSpline.js\":\n/*!*****************************************!*\\\n !*** ./src/util/spline/BezierSpline.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.util.spline.BezierSpline = _packages2.default.util.spline.Spline.extend(\n\n/** @lends draw2d.util.spline.BezierSpline.prototype */\n{\n\n NAME: \"draw2d.util.spline.BezierSpline\",\n\n /**\n */\n init: function init() {\n this._super();\n },\n\n /**\n * Create a spline based on the given control points.\n * The generated curve starts in the first control point and ends\n * in the last control point.\n *\n * @param {Array} controlPoints Control points of spline (x0,y0,z0,x1,y1,z1,...).\n * @param {Number} parts Number of parts to divide each leg into.\n *\n * @returns {Array} the new generated array with new draw2d.geo.Point\n */\n generate: function generate(controlPoints, parts) {\n var n = controlPoints.getSize();\n var spline = new _packages2.default.util.ArrayList();\n\n spline.add(this.p(0, 0, controlPoints));\n\n for (var i = 0; i < n - 3; i += 3) {\n for (var j = 1; j <= parts; j++) {\n spline.add(this.p(i, j / parts, controlPoints));\n }\n }\n\n // spline.add(controlPoints.get(controlPoints.getSize()-1));\n\n return spline;\n },\n\n p: function p(i, t, cp) {\n var x = 0.0;\n var y = 0.0;\n\n var k = i;\n for (var j = 0; j <= 3; j++) {\n var b = this.blend(j, t);\n var p = cp.get(k++);\n x += b * p.x;\n y += b * p.y;\n }\n\n return new _packages2.default.geo.Point(x, y);\n },\n\n blend: function blend(i, t) {\n if (i == 0) return (1 - t) * (1 - t) * (1 - t);else if (i == 1) return 3 * t * (1 - t) * (1 - t);else if (i == 2) return 3 * t * t * (1 - t);else return t * t * t;\n }\n});\n\n/**\n * @class\n *\n * A bezier spline object.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.util.spline.Spline\n */\n\n/***/ }),\n\n/***/ \"./src/util/spline/CatmullRomSpline.js\":\n/*!*********************************************!*\\\n !*** ./src/util/spline/CatmullRomSpline.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A catmull-rom spline object.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.util.spline.CubicSpline\n */\n_packages2.default.util.spline.CatmullRomSpline = _packages2.default.util.spline.CubicSpline.extend(\n\n/** @lends draw2d.util.spline.CatmullRomSpline.prototype */\n{\n\n NAME: \"draw2d.util.spline.CatmullRomSpline\",\n\n /**\n */\n init: function init() {\n this._super();\n },\n\n blend: function blend(i, t) {\n if (i == -2) return ((-t + 2) * t - 1) * t / 2;else if (i == -1) return ((3 * t - 5) * t * t + 2) / 2;else if (i == 0) return ((-3 * t + 4) * t + 1) * t / 2;else return (t - 1) * t * t / 2;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/util/spline/CubicSpline.js\":\n/*!****************************************!*\\\n !*** ./src/util/spline/CubicSpline.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @class\n *\n * A cubic spline object.\n *\n * @inheritable\n * @author Andreas Herz\n *\n * @extends draw2d.util.spline.Spline\n */\n_packages2.default.util.spline.CubicSpline = _packages2.default.util.spline.Spline.extend(\n\n/** @lends draw2d.util.spline.CubicSpline.prototype */\n{\n\n NAME: \"draw2d.util.spline.CubicSpline\",\n\n /**\n */\n init: function init() {\n this._super();\n },\n\n /**\n * Create a spline based on the given control points.\n * The generated curve starts in the first control point and ends\n * in the last control point.\n *\n * @param {Array} controlPoints Control points of spline (x0,y0,z0,x1,y1,z1,...).\n * @param {Number} parts Number of parts to divide each leg into.\n *\n * @returns {Array} the new generated array with new draw2d.geo.Point\n */\n generate: function generate(controlPoints, parts) {\n // Endpoints are added twice to get them include in the\n // generated array\n var cp = new _packages2.default.util.ArrayList();\n cp.add(controlPoints.get(0));\n cp.addAll(controlPoints);\n cp.add(controlPoints.get(controlPoints.getSize() - 1));\n\n var n = cp.getSize();\n var spline = new _packages2.default.util.ArrayList();\n spline.add(controlPoints.get(0));\n spline.add(this.p(1, 0, cp));\n\n for (var i = 1; i < n - 2; i++) {\n for (var j = 1; j <= parts; j++) {\n spline.add(this.p(i, j / parts, cp));\n }\n }\n spline.add(controlPoints.get(controlPoints.getSize() - 1));\n\n return spline;\n },\n\n p: function p(i, t, cp) {\n var x = 0.0;\n var y = 0.0;\n\n var k = i - 1;\n for (var j = -2; j <= 1; j++) {\n var b = this.blend(j, t);\n var p = cp.get(k++);\n x += b * p.x;\n y += b * p.y;\n }\n\n return new _packages2.default.geo.Point(x, y);\n },\n\n blend: function blend(i, t) {\n if (i === -2) return (((-t + 3) * t - 3) * t + 1) / 6;else if (i === -1) return ((3 * t - 6) * t * t + 4) / 6;else if (i === 0) return (((-3 * t + 3) * t + 3) * t + 1) / 6;\n\n return t * t * t / 6;\n }\n\n});\n\n/***/ }),\n\n/***/ \"./src/util/spline/Spline.js\":\n/*!***********************************!*\\\n !*** ./src/util/spline/Spline.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _packages = __webpack_require__(/*! ../../packages */ \"./src/packages.js\");\n\nvar _packages2 = _interopRequireDefault(_packages);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_packages2.default.util.spline.Spline = Class.extend(\n/** @lends draw2d.util.spline.Spline.prototype */\n{\n\n NAME: \"draw2d.util.spline.Spline\",\n\n /**\n */\n init: function init() {},\n\n /**\n * Create a spline based on the given control points.\n * The generated curve starts in the first control point and ends\n * in the last control point.\n *\n * @param {Array} controlPoints Control points of spline (x0,y0,z0,x1,y1,z1,...).\n * @param {Number} parts Number of parts to divide each leg into.\n **/\n generate: function generate(controlPoints, parts) {\n throw \"inherit classes must implement the method 'draw2d.util.spline.Spline.generate()'\";\n }\n\n});\n/**\n * @class\n *\n * An abstract class defining a general spline object.\n */\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=draw2d.js.map","import _get from \"lodash/get\";\nimport _isArray from \"lodash/isArray\";\nimport _isNaN from \"lodash/isNaN\";\nimport _isNumber from \"lodash/isNumber\";\nimport _isString from \"lodash/isString\";\nexport var mathSign = function mathSign(value) {\n if (value === 0) {\n return 0;\n }\n\n if (value > 0) {\n return 1;\n }\n\n return -1;\n};\nexport var isPercent = function isPercent(value) {\n return _isString(value) && value.indexOf('%') === value.length - 1;\n};\nexport var isNumber = function isNumber(value) {\n return _isNumber(value) && !_isNaN(value);\n};\nexport var isNumOrStr = function isNumOrStr(value) {\n return isNumber(value) || _isString(value);\n};\nvar idCounter = 0;\nexport var uniqueId = function uniqueId(prefix) {\n var id = ++idCounter;\n return \"\".concat(prefix || '').concat(id);\n};\n/**\n * Get percent value of a total value\n * @param {Number|String} percent A percent\n * @param {Number} totalValue Total value\n * @param {NUmber} defaultValue The value returned when percent is undefined or invalid\n * @param {Boolean} validate If set to be true, the result will be validated\n * @return {Number} value\n */\n\nexport var getPercentValue = function getPercentValue(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!isNumber(percent) && !_isString(percent)) {\n return defaultValue;\n }\n\n var value;\n\n if (isPercent(percent)) {\n var index = percent.indexOf('%');\n value = totalValue * parseFloat(percent.slice(0, index)) / 100;\n } else {\n value = +percent;\n }\n\n if (_isNaN(value)) {\n value = defaultValue;\n }\n\n if (validate && value > totalValue) {\n value = totalValue;\n }\n\n return value;\n};\nexport var getAnyElementOfObject = function getAnyElementOfObject(obj) {\n if (!obj) {\n return null;\n }\n\n var keys = Object.keys(obj);\n\n if (keys && keys.length) {\n return obj[keys[0]];\n }\n\n return null;\n};\nexport var hasDuplicate = function hasDuplicate(ary) {\n if (!_isArray(ary)) {\n return false;\n }\n\n var len = ary.length;\n var cache = {};\n\n for (var i = 0; i < len; i++) {\n if (!cache[ary[i]]) {\n cache[ary[i]] = true;\n } else {\n return true;\n }\n }\n\n return false;\n};\nexport var interpolateNumber = function interpolateNumber(numberA, numberB) {\n if (isNumber(numberA) && isNumber(numberB)) {\n return function (t) {\n return numberA + t * (numberB - numberA);\n };\n }\n\n return function () {\n return numberB;\n };\n};\nexport function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return null;\n }\n\n return ary.find(function (entry) {\n return entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : _get(entry, specifiedKey)) === specifiedValue;\n });\n}\n/**\n * The least square linear regression\n * @param {Array} data The array of points\n * @returns {Object} The domain of x, and the parameter of linear function\n */\n\nexport var getLinearRegression = function getLinearRegression(data) {\n if (!data || !data.length) {\n return null;\n }\n\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n var xcurrent = 0;\n var ycurrent = 0;\n\n for (var i = 0; i < len; i++) {\n xcurrent = data[i].cx || 0;\n ycurrent = data[i].cy || 0;\n xsum += xcurrent;\n ysum += ycurrent;\n xysum += xcurrent * ycurrent;\n xxsum += xcurrent * xcurrent;\n xmin = Math.min(xmin, xcurrent);\n xmax = Math.max(xmax, xcurrent);\n }\n\n var a = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin: xmin,\n xmax: xmax,\n a: a,\n b: (ysum - a * xsum) / len\n };\n};","'use strict';\n\nmodule.exports = require('./components/button/Button.js');","/** @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","/** @license React v16.13.1\n * react-is.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 */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nif (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 * Copyright (c) 2013-present, Facebook, Inc.\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';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { createContext, useContext } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport BoxTitle from \"./BoxTitle\";\r\nimport BoxBody from \"./BoxBody\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Box.module.css\";\r\n\r\nconst BoxContext = createContext();\r\n\r\nexport const useBoxContext = () => {\r\n const context = useContext(BoxContext);\r\n if (!context) throw new Error(`Box compound components cannot be rendered outside the Box component.`);\r\n\r\n return context;\r\n};\r\n\r\nconst Box = (props) => {\r\n const activeStyles = props.useAccent ? [styles.box, styles.accent] : [styles.box];\r\n\r\n return (\r\n <BoxContext.Provider value={{}}>\r\n <div id={props.id} className={activeStyles.join(\" \")}>{props.children}</div>\r\n </BoxContext.Provider>\r\n );\r\n};\r\n\r\nexport default Box;\r\n\r\nBox.Title = BoxTitle;\r\nBox.Body = BoxBody;\r\n\r\nBox.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Adds an orange color accent to the top of the box */\r\n useAccent: PropTypes.bool,\r\n};\r\n\r\nBox.defaultProps = {\r\n useAccent: false,\r\n};\r\n","import React from \"react\";\r\nimport { useBoxContext } from \"./Box\";\r\n\r\nimport styles from \"./Box.module.css\";\r\n\r\n/**\r\n * @visibleName Box.Title\r\n */\r\nconst BoxTitle = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useBoxContext();\r\n\r\n return <h3 className={styles.title}>{children}</h3>;\r\n};\r\n\r\nexport default BoxTitle;\r\n","import React from \"react\";\r\nimport { useBoxContext } from \"./Box\";\r\n\r\nimport styles from \"./Box.module.css\";\r\n\r\n/**\r\n * @visibleName Box.Body\r\n */\r\nconst BoxBody = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useBoxContext();\r\n\r\n return <div className={styles.body}>{children}</div>;\r\n};\r\n\r\nexport default BoxBody;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Button.module.css\";\r\n\r\nconst Button = ({ id, variant, onClick, disabled, block, children }) => {\r\n const classNames = [styles.button, styles[variant]];\r\n const [data, setData] = useState();\r\n\r\n if (disabled) {\r\n classNames.push(styles.disabled);\r\n }\r\n\r\n if (block) {\r\n classNames.push(styles.block);\r\n }\r\n\r\n useEffect(() => {\r\n let data;\r\n\r\n if (Array.isArray(children)) {\r\n data = [...children];\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n const value = data[i];\r\n if (typeof value === \"string\") {\r\n data[i] = <span key={i}>{value}</span>;\r\n }\r\n }\r\n } else {\r\n data = children;\r\n if (typeof children === \"string\") {\r\n data = <span>{children}</span>;\r\n }\r\n }\r\n\r\n setData(data);\r\n }, [children]);\r\n\r\n return (\r\n <button id={id} className={classNames.join(\" \")} onClick={onClick} disabled={disabled}>\r\n {data}\r\n </button>\r\n );\r\n};\r\n\r\nexport default Button;\r\n\r\nButton.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** The variant for the button */\r\n variant: PropTypes.oneOf([\"primary\", \"secondary\", \"tertiary\", \"action\"]),\r\n /** Disables the Button, preventing mouse events, even if the underlying component is an <a> element */\r\n disabled: PropTypes.bool,\r\n /** Spans the full width of the Button parent */\r\n block: PropTypes.bool,\r\n /** Gets called when the user clicks on the button */\r\n onClick: PropTypes.func,\r\n};\r\n\r\nButton.defaultProps = {\r\n variant: \"primary\",\r\n disabled: false,\r\n};\r\n","import React from \"react\";\r\nimport { useCardContext } from \"./Card\";\r\n\r\nimport styles from \"./Card.module.css\";\r\n\r\n/**\r\n * @visibleName Card.Header\r\n */\r\nconst CardHeader = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useCardContext();\r\n\r\n return <div className={styles.header}>{children}</div>;\r\n};\r\n\r\nexport default CardHeader;\r\n","import React from \"react\";\r\nimport { useCardContext } from \"./Card\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport styles from \"./Card.module.css\";\r\n\r\n/**\r\n * @visibleName Card.Image\r\n */\r\nconst CardImage = ({ src }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useCardContext();\r\n\r\n return src && <div className={styles.image} style={{ backgroundImage: `url(${src})` }}></div>;\r\n};\r\n\r\nexport default CardImage;\r\n\r\nCardImage.propTypes = {\r\n /** Path to the image to display in the card */\r\n src: PropTypes.string,\r\n};\r\n\r\nCardImage.defaultProps = {\r\n src: null,\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useCardContext } from \"./Card\";\r\n\r\nimport styles from \"./Card.module.css\";\r\n\r\n/**\r\n * @visibleName Card.Footer\r\n */\r\nconst CardFooter = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useCardContext();\r\n const [classNames, setClassNames] = useState([styles.footer]);\r\n\r\n useEffect(() => {\r\n if (Array.isArray(children)) {\r\n setClassNames([styles.footer, styles.multiple]);\r\n } else {\r\n setClassNames([styles.footer, styles.single]);\r\n }\r\n }, [children]);\r\n\r\n return <div className={classNames.join(\" \")}>{children}</div>;\r\n};\r\n\r\nexport default CardFooter;\r\n","import React, { createContext, useContext } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport CardHeader from \"./CardHeader\";\r\nimport CardBody from \"./CardBody\";\r\nimport CardImage from \"./CardImage\";\r\nimport CardFooter from \"./CardFooter\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Card.module.css\";\r\n\r\nconst CardContext = createContext();\r\n\r\nexport const useCardContext = () => {\r\n const context = useContext(CardContext);\r\n if (!context) throw new Error(`Card compound components cannot be rendered outside the Card component.`);\r\n\r\n return context;\r\n};\r\n\r\nconst Card = ({ id, children }) => {\r\n return (\r\n <CardContext.Provider value={{}}>\r\n <div id={id} className={styles.card}>{children}</div>\r\n </CardContext.Provider>\r\n );\r\n};\r\n\r\nexport default Card;\r\n\r\nCard.Header = CardHeader;\r\nCard.Body = CardBody;\r\nCard.Image = CardImage;\r\nCard.Footer = CardFooter;\r\n\r\nCard.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string\r\n};\r\n\r\nCard.defaultProps = {};\r\n","import React from \"react\";\r\nimport { useCardContext } from \"./Card\";\r\n\r\nimport styles from \"./Card.module.css\";\r\n\r\n/**\r\n * @visibleName Card.Body\r\n */\r\nconst CardBody = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useCardContext();\r\n\r\n return <div className={styles.body}>{children}</div>;\r\n};\r\n\r\nexport default CardBody;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Checkbox.module.css\";\r\n\r\nconst Checkbox = (props) => {\r\n const checkbox = useRef();\r\n const activeStyles = props.disabled ? [styles.container, styles.disabled] : [styles.container];\r\n\r\n useEffect(() => {\r\n checkbox.current.indeterminate = props.indeterminate;\r\n }, [props.indeterminate]);\r\n\r\n return (\r\n <label className={activeStyles.join(\" \")}>\r\n {props.label}\r\n <input {...props} ref={checkbox} type=\"checkbox\" indeterminate={props.indeterminate ?? undefined} />\r\n <span className={styles.focus}></span>\r\n <span className={styles.indicator}></span>\r\n </label>\r\n );\r\n};\r\n\r\nexport default Checkbox;\r\n\r\nCheckbox.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Text to display next to the checkbox */\r\n label: PropTypes.string,\r\n /** Checked status of the checkbox */\r\n checked: PropTypes.bool,\r\n /** Disables the checkbox */\r\n disabled: PropTypes.bool,\r\n /** Indeterminate status of the checkbox */\r\n indeterminate: PropTypes.bool,\r\n /** Gets called when the user clicks on the checkbox */\r\n onChange: PropTypes.func,\r\n};\r\n\r\nCheckbox.defaultProps = {\r\n checked: false,\r\n indeterminate: false,\r\n disabled: false,\r\n};\r\n","import React from \"react\";\r\nimport { useContentContext } from \"./Content\";\r\n\r\nimport styles from \"./Content.module.css\";\r\n\r\n/**\r\n * @visibleName Content.Header\r\n */\r\nconst ContentHeader = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useContentContext();\r\n\r\n return <div className={styles.header}>{children}</div>;\r\n};\r\n\r\nexport default ContentHeader;\r\n","import React, { useContext, createContext } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport ContentHeader from \"./ContentHeader\";\r\nimport ContentActions from \"./ContentActions\";\r\nimport ContentInfo from \"./ContentInfo\";\r\nimport ContentBody from \"./ContentBody\";\r\nimport ContentFooter from \"./ContentFooter\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Content.module.css\";\r\n\r\nconst ContentContext = createContext();\r\n\r\nexport const useContentContext = () => {\r\n const context = useContext(ContentContext);\r\n if (!context) throw new Error(`Content compound components cannot be rendered outside the Content component.`);\r\n\r\n return context;\r\n};\r\n\r\nconst Content = (props) => {\r\n return (\r\n <ContentContext.Provider value={{}}>\r\n <div id={props.id} className={styles.content}>{props.children}</div>\r\n </ContentContext.Provider>\r\n );\r\n};\r\n\r\nexport default Content;\r\n\r\nContent.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string\r\n};\r\n\r\nContent.Header = ContentHeader;\r\nContent.Actions = ContentActions;\r\nContent.Info = ContentInfo;\r\nContent.Body = ContentBody;\r\nContent.Footer = ContentFooter;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar ChevronDown = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"polyline\", {\n points: \"6 9 12 15 18 9\"\n }));\n});\nChevronDown.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nChevronDown.displayName = 'ChevronDown';\nexport default ChevronDown;","import React from \"react\";\r\nimport { useContentContext } from \"./Content\";\r\n\r\nimport styles from \"./Content.module.css\";\r\n\r\n/**\r\n * @visibleName Content.Actions\r\n */\r\nconst ContentActions = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useContentContext();\r\n\r\n return <div className={styles.actions}>{children}</div>;\r\n};\r\n\r\nexport default ContentActions;\r\n","import React from \"react\";\r\nimport { useContentContext } from \"./Content\";\r\n\r\nimport styles from \"./Content.module.css\";\r\n\r\n/**\r\n * @visibleName Content.Info\r\n */\r\nconst ContentInfo = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useContentContext();\r\n\r\n return <div className={styles.info}>{children}</div>;\r\n};\r\n\r\nexport default ContentInfo;\r\n","import React from \"react\";\r\nimport { useContentContext } from \"./Content\";\r\n\r\n/**\r\n * @visibleName Content.Body\r\n */\r\nconst ContentBody = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useContentContext();\r\n\r\n return <React.Fragment>{children}</React.Fragment>;\r\n};\r\n\r\nexport default ContentBody;\r\n","import React from \"react\";\r\nimport { useContentContext } from \"./Content\";\r\n\r\nimport styles from \"./Content.module.css\";\r\n\r\n/**\r\n * @visibleName Content\r\n *.Footer\r\n */\r\nconst ContentFooter = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useContentContext();\r\n\r\n return <div className={styles.footer}>{children}</div>;\r\n};\r\n\r\nexport default ContentFooter;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Info = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"12\",\n y1: \"16\",\n x2: \"12\",\n y2: \"12\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"12\",\n y1: \"8\",\n x2: \"12.01\",\n y2: \"8\"\n }));\n});\nInfo.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nInfo.displayName = 'Info';\nexport default Info;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Minus = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"5\",\n y1: \"12\",\n x2: \"19\",\n y2: \"12\"\n }));\n});\nMinus.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nMinus.displayName = 'Minus';\nexport default Minus;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar Plus = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"12\",\n y1: \"5\",\n x2: \"12\",\n y2: \"19\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"5\",\n y1: \"12\",\n x2: \"19\",\n y2: \"12\"\n }));\n});\nPlus.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nPlus.displayName = 'Plus';\nexport default Plus;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar XSquare = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"rect\", {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n ry: \"2\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"9\",\n y1: \"9\",\n x2: \"15\",\n y2: \"15\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"15\",\n y1: \"9\",\n x2: \"9\",\n y2: \"15\"\n }));\n});\nXSquare.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nXSquare.displayName = 'XSquare';\nexport default XSquare;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nvar X = forwardRef(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size,\n rest = _objectWithoutProperties(_ref, [\"color\", \"size\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, rest), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"18\",\n y1: \"6\",\n x2: \"6\",\n y2: \"18\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: \"6\",\n y1: \"6\",\n x2: \"18\",\n y2: \"18\"\n }));\n});\nX.propTypes = {\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\nX.displayName = 'X';\nexport default X;","import React, { useEffect, useRef, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Plus, Minus } from \"react-feather\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./InputNumeric.module.css\";\r\n\r\n/**\r\n * @visibleName Input.Numeric\r\n */\r\nconst InputNumeric = (props) => {\r\n const input = useRef();\r\n const [timer, setTimer] = useState();\r\n\r\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, \"value\").set;\r\n\r\n useEffect(() => {\r\n if (!props.value) return;\r\n\r\n if (Number(props.value) > props.max) input.current.value = props.max;\r\n else if (Number(props.value) < props.min) input.current.value = props.min;\r\n else input.current.value = Number(props.value);\r\n\r\n //eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const increment = () => {\r\n if (props.max <= input.current.value) return;\r\n input.current.value = Number(input.current.value);\r\n\r\n nativeInputValueSetter.call(input.current, Number(input.current.value) + props.step);\r\n const e = new Event(\"change\", { bubbles: true });\r\n input.current.dispatchEvent(e);\r\n };\r\n\r\n const decrement = () => {\r\n if (props.min >= input.current.value) return;\r\n input.current.value = Number(input.current.value);\r\n\r\n nativeInputValueSetter.call(input.current, Number(input.current.value) - props.step);\r\n const e = new Event(\"change\", { bubbles: true });\r\n input.current.dispatchEvent(e);\r\n };\r\n\r\n const onInputChanged = (e) => {\r\n input.current.value = Number(e.target.value);\r\n props.onChange && props.onChange(e);\r\n };\r\n\r\n const onValidateInput = (e) => {\r\n if (Number(e.target.value) > props.max) input.current.value = props.max;\r\n else if (Number(e.target.value) < props.min) input.current.value = props.min;\r\n else input.current.value = Number(e.target.value);\r\n\r\n props.onChange && props.onChange(e);\r\n };\r\n\r\n const startAction = (action) => {\r\n clearInterval(timer);\r\n action();\r\n const interval = setInterval(action, 250);\r\n setTimer(interval);\r\n };\r\n\r\n const stopAction = () => {\r\n clearInterval(timer);\r\n };\r\n\r\n return (\r\n <div className={styles.main}>\r\n <div className={styles.numeric}>\r\n <input\r\n {...props}\r\n ref={input}\r\n type=\"number\"\r\n onChange={onInputChanged}\r\n onBlur={onValidateInput}\r\n autoComplete=\"off\"\r\n />\r\n <div className={styles.controls}>\r\n <button onMouseDown={() => startAction(increment)} onMouseUp={stopAction} onMouseLeave={stopAction} tabIndex={-1}>\r\n <Plus />\r\n </button>\r\n <button onMouseDown={() => startAction(decrement)} onMouseUp={stopAction} onMouseLeave={stopAction} tabIndex={-1}>\r\n <Minus />\r\n </button>\r\n </div>\r\n {props.legend && <span className={styles.legend}>{props.legend}</span>}\r\n </div>\r\n {props.required && <span className={styles.required}>Required field</span>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default InputNumeric;\r\n\r\nInputNumeric.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Minimum allowed value */\r\n min: PropTypes.number,\r\n /** Maximum allowed value */\r\n max: PropTypes.number,\r\n /** Increment/decrement buttons step size */\r\n step: PropTypes.number,\r\n /** Displayed value */\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n /** Gets called when the value is changed */\r\n onChange: PropTypes.func,\r\n /** Is the input required */\r\n required: PropTypes.bool,\r\n};\r\n\r\nInputNumeric.defaultProps = {\r\n min: 0,\r\n max: 100,\r\n required: false,\r\n step: 1\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./InputPassword.module.css\";\r\n\r\n/**\r\n * @visibleName Input.Password\r\n */\r\nconst InputPassword = (props) => {\r\n return (\r\n <div className={styles.main}>\r\n <input {...props} className={styles.input} type=\"password\" autoComplete=\"off\" />\r\n {props.legend !== undefined && props.legend !== \"\" && <span className={styles.legend}>{props.legend}</span>}\r\n {props.required && <span className={styles.required}>Required field</span>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default InputPassword;\r\n\r\nInputPassword.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Displayed value */\r\n value: PropTypes.string,\r\n /** Gets called when the value is changed */\r\n onChange: PropTypes.func,\r\n /** Placeholder text */\r\n placeholder: PropTypes.string,\r\n /** Legend text */\r\n legend: PropTypes.string,\r\n /** Is the input required */\r\n required: PropTypes.bool,\r\n};\r\n\r\nInputPassword.defaultProps = {\r\n required: false,\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./InputText.module.css\";\r\n\r\n/**\r\n * @visibleName Input.Text\r\n */\r\nconst InputText = (props) => {\r\n return (\r\n <div className={styles.main}>\r\n <input {...props} className={styles.input} type=\"text\" autoComplete=\"off\" />\r\n {props.legend !== undefined && props.legend !== \"\" && <span className={styles.legend}>{props.legend}</span>}\r\n {props.required && <span className={styles.required}>Required field</span>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default InputText;\r\n\r\nInputText.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Value text */\r\n value: PropTypes.string,\r\n /** Gets called when the value is changed */\r\n onChange: PropTypes.func,\r\n /** Placeholder text */\r\n placeholder: PropTypes.string,\r\n /** Legend text */\r\n legend: PropTypes.string,\r\n /** Is the input required */\r\n required: PropTypes.bool,\r\n};\r\n\r\nInputText.defaultProps = {\r\n required: false,\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./InputTextArea.module.css\";\r\n\r\n/**\r\n * @visibleName Input.TextArea\r\n */\r\nconst InputTextArea = (props) => {\r\n return (\r\n <div className={styles.main}>\r\n <textarea {...props} className={styles.textarea} type=\"text\" autoComplete=\"off\"></textarea>\r\n {props.required && <span className={styles.required}>Required field</span>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default InputTextArea;\r\n\r\nInputTextArea.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Value text */\r\n value: PropTypes.string,\r\n /** Gets called when the value is changed */\r\n onChange: PropTypes.func,\r\n /** Placeholder text */\r\n placeholder: PropTypes.string,\r\n /** Is the input required */\r\n required: PropTypes.bool,\r\n};\r\n\r\nInputTextArea.defaultProps = {\r\n required: false,\r\n};\r\n","import InputNumeric from \"./InputNumeric\";\r\nimport InputPassword from \"./InputPassword\";\r\nimport InputText from \"./InputText\";\r\nimport InputTextArea from \"./InputTextArea\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\n\r\nconst Input = _ => {\r\n return null;\r\n};\r\n\r\nexport default Input;\r\n\r\nInput.Numeric = InputNumeric;\r\nInput.Password = InputPassword;\r\nInput.Text = InputText\r\nInput.TextArea = InputTextArea;","import { useEffect } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\n\r\nimport \"./Portal.css\";\r\n\r\nconst Portal = ({ children }) => {\r\n const container = document.createElement(\"div\");\r\n\r\n useEffect(() => {\r\n container.setAttribute(\"id\", `portal-root-${Math.floor(Math.random() * 10000)}`);\r\n document.body.appendChild(container);\r\n\r\n return () => document.body.removeChild(container);\r\n });\r\n\r\n return createPortal(children, container);\r\n};\r\n\r\nexport default Portal;\r\n","import React, { useRef } from \"react\";\r\n\r\nimport styles from \"./Overlay.module.css\";\r\n\r\nconst Overlay = (props) => {\r\n const overlay = useRef();\r\n\r\n const handleClick = (e) => {\r\n if (e.target !== overlay.current) return;\r\n props.onClick && props.onClick();\r\n };\r\n\r\n return (\r\n <div className={styles.overlay} ref={overlay} onClick={handleClick}>\r\n {props.children}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Overlay;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { X } from \"react-feather\";\r\nimport { useModalContext } from \"./Modal\";\r\n\r\nimport styles from \"./Modal.module.css\";\r\n\r\n/**\r\n * @visibleName Modal.Header\r\n */\r\nconst ModalHeader = (props) => {\r\n const { onHide } = useModalContext();\r\n\r\n return (\r\n <div className={styles.header}>\r\n {props.children}\r\n {props.closeButton && (\r\n <div className={styles.close} onClick={onHide}>\r\n <X />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ModalHeader;\r\n\r\nModalHeader.propTypes = {\r\n /** Specify whether the component should contain a close button */\r\n closeButton: PropTypes.bool,\r\n};\r\n\r\nModalHeader.defaultProps = {\r\n closeButton: true,\r\n};\r\n","import React from \"react\";\r\nimport { useModalContext } from \"./Modal\";\r\n\r\n/**\r\n * @visibleName Modal.Title\r\n */\r\nconst ModalTitle = (props) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useModalContext();\r\n\r\n return <h2>{props.children}</h2>;\r\n};\r\n\r\nexport default ModalTitle;\r\n","import React from \"react\";\r\nimport { useModalContext } from \"./Modal\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport styles from \"./Modal.module.css\";\r\n\r\n/**\r\n * @visibleName Modal.Body\r\n */\r\nconst ModalBody = (props) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useModalContext();\r\n const activeStyles = props.useAccent ? [styles.body, styles.accent] : [styles.body];\r\n\r\n return (\r\n <div className={activeStyles.join(\" \")}>\r\n <div className={styles.spacer}>{props.children}</div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ModalBody;\r\n\r\nModalBody.propTypes = {\r\n /** Adds an orange color accent to the top of the modal's content */\r\n useAccent: PropTypes.bool,\r\n};\r\n\r\nModalBody.defaultProps = {\r\n useAccent: false,\r\n};\r\n","import React from \"react\";\r\nimport { useModalContext } from \"./Modal\";\r\n\r\nimport styles from \"./Modal.module.css\";\r\n\r\n/**\r\n * @visibleName Modal.Footer\r\n */\r\nconst ModalFooter = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useModalContext();\r\n\r\n return <div className={styles.footer}>{children}</div>;\r\n};\r\n\r\nexport default ModalFooter;\r\n","import React, { useEffect, useContext, createContext } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Portal from \"../Portal\";\r\nimport Overlay from \"../Overlay\";\r\n\r\nimport ModalHeader from \"./ModalHeader\";\r\nimport ModalTitle from \"./ModalTitle\";\r\nimport ModalBody from \"./ModalBody\";\r\nimport ModalFooter from \"./ModalFooter\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Modal.module.css\";\r\n\r\nconst ModalContext = createContext();\r\n\r\nexport const useModalContext = () => {\r\n const context = useContext(ModalContext);\r\n if (!context) throw new Error(`Modal compound components cannot be rendered outside the Modal component.`);\r\n\r\n return context;\r\n};\r\n\r\nconst Modal = (props) => {\r\n useEffect(() => {\r\n document.body.classList.toggle(\"noscroll\");\r\n return () => document.body.classList.toggle(\"noscroll\");\r\n }, []);\r\n\r\n const state = {\r\n onHide: props.onHide,\r\n };\r\n\r\n return (\r\n <ModalContext.Provider value={state}>\r\n <Portal>\r\n <Overlay onClick={props.onHide}>\r\n <div id={props.id} className={[styles.modal, styles[props.size]].join(\" \")}>{props.children}</div>\r\n </Overlay>\r\n </Portal>\r\n </ModalContext.Provider>\r\n );\r\n};\r\n\r\nexport default Modal;\r\n\r\nModal.Header = ModalHeader;\r\nModal.Title = ModalTitle;\r\nModal.Body = ModalBody;\r\nModal.Footer = ModalFooter;\r\n\r\nModal.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** The size of the modal */\r\n size: PropTypes.oneOf([\"small\", \"normal\", \"large\"]),\r\n /** A callback fired when the header closeButton or non-static backdrop is clicked. Required if either are specified. */\r\n onHide: PropTypes.func,\r\n};\r\n\r\nModal.defaultProps = {\r\n size: \"normal\",\r\n};\r\n","import React from \"react\";\r\nimport { usePanelContext } from \"./Panel\";\r\n\r\nimport styles from \"./Panel.module.css\";\r\n\r\n/**\r\n * @visibleName Panel.Header\r\n */\r\nconst PanelHeader = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = usePanelContext();\r\n\r\n return <div className={styles.header}>{children}</div>;\r\n};\r\n\r\nexport default PanelHeader;\r\n","import React, { useContext, createContext } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport PanelHeader from \"./PanelHeader\";\r\nimport PanelBody from \"./PanelBody\";\r\nimport PanelFooter from \"./PanelFooter\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Panel.module.css\";\r\n\r\nconst PanelContext = createContext();\r\n\r\nexport const usePanelContext = () => {\r\n const context = useContext(PanelContext);\r\n if (!context) throw new Error(`Panel compound components cannot be rendered outside the Panel component.`);\r\n\r\n return context;\r\n};\r\n\r\nconst Panel = (props) => {\r\n const activeStyles = props.noPadding ? [styles.panel, styles.noPadding] : [styles.panel];\r\n\r\n return (\r\n <PanelContext.Provider value={{}}>\r\n <div id={props.id} className={activeStyles.join(\" \")}>\r\n {props.children}\r\n </div>\r\n </PanelContext.Provider>\r\n );\r\n};\r\n\r\nexport default Panel;\r\n\r\nPanel.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Optionally remove the inner padding of the panel */\r\n noPadding: PropTypes.bool,\r\n};\r\n\r\nPanel.defaultProps = {\r\n noPadding: false,\r\n};\r\n\r\nPanel.Header = PanelHeader;\r\nPanel.Body = PanelBody;\r\nPanel.Footer = PanelFooter;\r\n","import React from \"react\";\r\nimport { usePanelContext } from \"./Panel\";\r\n\r\nimport styles from \"./Panel.module.css\";\r\n\r\n/**\r\n * @visibleName Panel.Body\r\n */\r\nconst PanelBody = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = usePanelContext();\r\n\r\n return <div className={styles.body}>{children}</div>;\r\n};\r\n\r\nexport default PanelBody;\r\n","import React from \"react\";\r\nimport { usePanelContext } from \"./Panel\";\r\n\r\nimport styles from \"./Panel.module.css\";\r\n\r\n/**\r\n * @visibleName Panel.Footer\r\n */\r\nconst PanelFooter = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = usePanelContext();\r\n\r\n return <div className={styles.footer}>{children}</div>;\r\n};\r\n\r\nexport default PanelFooter;\r\n","import React from \"react\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Panel.module.css\";\r\n\r\nconst PanelGroup = (props) => {\r\n return <div className={styles.group}>{props.children}</div>;\r\n};\r\n\r\nexport default PanelGroup;\r\n","import React from \"react\";\r\nimport { useQuestionContext } from \"./Question\";\r\n\r\nimport styles from \"./Question.module.css\";\r\n\r\n/**\r\n * @visibleName Question.Title\r\n */\r\nconst QuestionTitle = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useQuestionContext();\r\n\r\n return <p className={styles.title}>{children}</p>;\r\n};\r\n\r\nexport default QuestionTitle;\r\n","import React from \"react\";\r\nimport { useQuestionContext } from \"./Question\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport styles from \"./Question.module.css\";\r\n\r\n/**\r\n * @visibleName Question.Image\r\n */\r\nconst QuestionImage = (props) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useQuestionContext();\r\n\r\n return props.src && <div className={styles.image} style={{ backgroundImage: \"url(\" + props.src + \")\" }}></div>;\r\n};\r\n\r\nexport default QuestionImage;\r\n\r\nQuestionImage.propTypes = {\r\n /** Path to the image to display in the question box */\r\n src: PropTypes.string,\r\n};\r\n\r\nQuestionImage.defaultProps = {\r\n src: null,\r\n};\r\n","import React, { useContext, createContext } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport QuestionTitle from \"./QuestionTitle\";\r\nimport QuestionBody from \"./QuestionBody\";\r\nimport QuestionInfo from \"./QuestionInfo\";\r\nimport QuestionImage from \"./QuestionImage\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Question.module.css\";\r\n\r\nconst QuestionContext = createContext();\r\n\r\nexport const useQuestionContext = () => {\r\n const context = useContext(QuestionContext);\r\n if (!context) throw new Error(`Question compound components cannot be rendered outside the Question component.`);\r\n\r\n return context;\r\n};\r\n\r\nconst Question = (props) => {\r\n let content = [];\r\n let image;\r\n props.children.forEach((child) => {\r\n if (React.isValidElement(child)) {\r\n if (child.type.name !== \"QuestionImage\") {\r\n content.push(child);\r\n } else {\r\n image = child;\r\n }\r\n }\r\n });\r\n return (\r\n <QuestionContext.Provider value={{}}>\r\n <div id={props.id} className={styles.question}>\r\n <div className={styles.content}>{content}</div>\r\n {image}\r\n </div>\r\n </QuestionContext.Provider>\r\n );\r\n};\r\n\r\nexport default Question;\r\n\r\nQuestion.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string\r\n};\r\n\r\nQuestion.Title = QuestionTitle;\r\nQuestion.Body = QuestionBody;\r\nQuestion.Info = QuestionInfo;\r\nQuestion.Image = QuestionImage;\r\n","import React from \"react\";\r\nimport { useQuestionContext } from \"./Question\";\r\n\r\nimport styles from \"./Question.module.css\";\r\n\r\n/**\r\n * @visibleName Question.Body\r\n */\r\nconst QuestionBody = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useQuestionContext();\r\n\r\n return <div className={styles.body}>{children}</div>;\r\n};\r\n\r\nexport default QuestionBody;\r\n","import React from \"react\";\r\nimport { Info } from \"react-feather\";\r\nimport { useQuestionContext } from \"./Question\";\r\n\r\nimport styles from \"./Question.module.css\";\r\n\r\n/**\r\n * @visibleName Question.Info\r\n */\r\nconst QuestionInfo = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useQuestionContext();\r\n\r\n return (\r\n <div className={styles.info}>\r\n <Info className={styles.icon} />\r\n <p>{children}</p>\r\n </div>\r\n );\r\n};\r\n\r\nexport default QuestionInfo;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Radio.module.css\";\r\n\r\nconst Radio = (props) => {\r\n const activeStyles = props.disabled ? [styles.container, styles.disabled] : [styles.container];\r\n\r\n return (\r\n <label className={activeStyles.join(\" \")}>\r\n {props.label}\r\n <input {...props} type=\"radio\" />\r\n <span className={styles.focus}></span>\r\n <span className={styles.checkmark}></span>\r\n </label>\r\n );\r\n};\r\n\r\nexport default Radio;\r\n\r\nRadio.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Text to display next to the radio button */\r\n label: PropTypes.string,\r\n /** Checked status of the radio button */\r\n checked: PropTypes.bool,\r\n /** Disables the radio button */\r\n disabled: PropTypes.bool,\r\n /** Gets called when the user clicks on the radio button */\r\n onChange: PropTypes.func,\r\n};\r\n\r\nRadio.defaultProps = {\r\n checked: false,\r\n disabled: false,\r\n};\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Portal from \"../Portal/Portal\";\r\nimport { ChevronDown, X, XSquare } from \"react-feather\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Select.module.css\";\r\n\r\nconst Select = ({\r\n label,\r\n description,\r\n placeholder,\r\n options,\r\n selection,\r\n valueProperty,\r\n displayProperty,\r\n isMulti,\r\n isClearable,\r\n onChange,\r\n disabled,\r\n}) => {\r\n const [selectedItems, setSelectedItems] = useState([]);\r\n const [coords, setCoords] = useState({});\r\n\r\n const [expanded, setExpanded] = useState(false);\r\n const expand = useRef(false);\r\n const controlRef = useRef();\r\n const optionsRef = useRef();\r\n\r\n const isMultiSelect = isMulti;\r\n const canClear = isClearable;\r\n\r\n const activeStyles = disabled ? [styles.select, styles.disabled] : [styles.select];\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleClickOutsideSelect);\r\n document.addEventListener(\"keyup\", handleEscapeKey);\r\n window.addEventListener(\"blur\", handleWindowEvents);\r\n window.addEventListener(\"resize\", handleWindowEvents);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutsideSelect);\r\n document.removeEventListener(\"keyup\", handleEscapeKey);\r\n window.removeEventListener(\"blur\", handleWindowEvents);\r\n window.removeEventListener(\"resize\", handleWindowEvents);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!selection || selection.length === 0) {\r\n setSelectedItems([]);\r\n return;\r\n }\r\n\r\n if (!valueProperty) {\r\n setSelectedItems(Array.isArray(selection) ? selection : [selection]);\r\n return;\r\n }\r\n\r\n if (isMultiSelect) {\r\n const items = [];\r\n for (let i = 0; i < selection.length; i++) {\r\n const item = options.find((x) => x[valueProperty] === selection[i]);\r\n\r\n if (item) items.push(item);\r\n }\r\n\r\n setSelectedItems(items);\r\n\r\n if (items.length > 0) onChange && onChange(items);\r\n } else {\r\n const item = options.find((x) => x[valueProperty] === selection);\r\n\r\n setSelectedItems([item]);\r\n if (item) onChange && onChange(item);\r\n }\r\n\r\n //eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [options, selection]);\r\n\r\n useEffect(() => {\r\n if (expanded) {\r\n const rect = controlRef.current.getBoundingClientRect();\r\n setCoords({\r\n left: rect.x,\r\n top: rect.y + window.scrollY + rect.height,\r\n width: rect.width - 2,\r\n });\r\n }\r\n\r\n //eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [selectedItems]);\r\n\r\n const handleClickOutsideSelect = (e) => {\r\n const path = e.path || (e.composedPath && e.composedPath())\r\n if (path) {\r\n for (let i = 0; i < path.length; i++) {\r\n if (path[i] === controlRef.current || path[i] === optionsRef.current) {\r\n e.stopPropagation();\r\n return;\r\n }\r\n }\r\n } else {\r\n // Browser isn't supplying path info\r\n let element = e.target;\r\n while (element !== null) {\r\n if (element === controlRef.current || element === optionsRef.current) {\r\n e.stopPropagation();\r\n return;\r\n }\r\n\r\n element = element.parentElement\r\n }\r\n }\r\n\r\n setExpanded(false);\r\n expand.current = false;\r\n };\r\n\r\n const handleEscapeKey = (e) => {\r\n if (e.key === \"Escape\" && expand.current) {\r\n setExpanded(false);\r\n expand.current = false;\r\n }\r\n };\r\n\r\n const handleWindowEvents = (e) => {\r\n if (expand.current) {\r\n expand.current = false;\r\n setExpanded(false);\r\n }\r\n };\r\n\r\n const onClickSelectBox = (e) => {\r\n e.stopPropagation();\r\n\r\n if (!expanded) {\r\n const rect = controlRef.current.getBoundingClientRect();\r\n setCoords({\r\n left: rect.x,\r\n top: rect.y + window.scrollY + rect.height,\r\n width: rect.width - 2,\r\n });\r\n }\r\n\r\n expand.current = !expanded;\r\n setExpanded((show) => !show);\r\n };\r\n\r\n const onClickSelectItem = (e, item) => {\r\n e.stopPropagation();\r\n\r\n if (!expanded) {\r\n const rect = controlRef.current.getBoundingClientRect();\r\n setCoords({\r\n left: rect.x,\r\n top: rect.y + window.scrollY + rect.height,\r\n width: rect.width - 2,\r\n });\r\n }\r\n\r\n if (isMultiSelect) {\r\n let selected = [...selectedItems];\r\n if (!selected.find((x) => x === item)) {\r\n selected.push(item);\r\n }\r\n\r\n setSelectedItems(selected);\r\n setExpanded(false);\r\n\r\n onChange && onChange(selected);\r\n } else {\r\n setSelectedItems([item]);\r\n setExpanded(false);\r\n\r\n onChange && onChange(item);\r\n }\r\n };\r\n\r\n const onRemoveSelectedItem = (e, item) => {\r\n e.stopPropagation();\r\n\r\n const selected = selectedItems.filter((x) => x !== item);\r\n setSelectedItems(selected);\r\n onChange && onChange(selected);\r\n };\r\n\r\n const onClearSelection = (e) => {\r\n e.stopPropagation();\r\n setSelectedItems([]);\r\n onChange && onChange(isMultiSelect ? [] : null);\r\n };\r\n\r\n const renderSelection = () => {\r\n if (!selectedItems || selectedItems.length === 0) return <span className={styles.placeholder}>{placeholder}</span>;\r\n\r\n if (isMultiSelect) {\r\n return (\r\n <span className={styles.multiselect_items}>\r\n {selectedItems.map((item, index) => (\r\n <span key={index} className={styles.multiselect_item}>\r\n {renderItem(item)}\r\n <XSquare onClick={(e) => onRemoveSelectedItem(e, item)} />\r\n </span>\r\n ))}\r\n </span>\r\n );\r\n } else {\r\n return renderItem(selectedItems[0]);\r\n }\r\n };\r\n\r\n const renderOptions = () => {\r\n let items = options;\r\n if (isMultiSelect) {\r\n items = items.filter((x) => !selectedItems.some((y) => x === y));\r\n }\r\n\r\n return (\r\n <ul>\r\n {items.map((item, i) => (\r\n <li key={i} onClick={(e) => onClickSelectItem(e, item)} title={renderItem(item)}>\r\n {renderItem(item)}\r\n </li>\r\n ))}\r\n {items.length === 0 && <li className={styles.disabled}>No options available</li>}\r\n </ul>\r\n );\r\n };\r\n\r\n const renderItem = (item) => {\r\n if (!item) return;\r\n\r\n if (displayProperty) return item[displayProperty];\r\n return item;\r\n };\r\n\r\n return (\r\n <div className={label ? activeStyles.join(\" \") : [...activeStyles, styles.withoutLabel].join(\" \")}>\r\n {label && <label>{label}</label>}\r\n <div\r\n className={expanded ? [styles.input, styles.focused].join(\" \") : styles.input}\r\n onClick={(e) => onClickSelectBox(e)}\r\n ref={controlRef}\r\n >\r\n {renderSelection()}\r\n\r\n <div className={isClearable ? [styles.controls, styles.clearable].join(\" \") : styles.controls}>\r\n {canClear && selectedItems && selectedItems.length > 0 && <X onClick={onClearSelection} />}\r\n <ChevronDown />\r\n </div>\r\n </div>\r\n\r\n {expanded && (\r\n <Portal>\r\n <div\r\n ref={optionsRef}\r\n className={styles.dropdown}\r\n style={{\r\n left: coords.left,\r\n top: coords.top,\r\n width: coords.width,\r\n }}\r\n >\r\n {renderOptions()}\r\n </div>\r\n </Portal>\r\n )}\r\n\r\n {description && <span className={styles.description}>{description}</span>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Select;\r\n\r\nSelect.propTypes = {\r\n /** Determine if selecting multiple options is possible */\r\n isMulti: PropTypes.bool,\r\n /** Determine if it is possible to clear the active selection using a button */\r\n isClearable: PropTypes.bool,\r\n /** Label text */\r\n label: PropTypes.string,\r\n /** Description text displayed underneath the dropdown */\r\n description: PropTypes.string,\r\n /** Options array */\r\n options: PropTypes.array,\r\n /** The active selection */\r\n selection: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object, PropTypes.array]),\r\n /** The property of the object to display in the dropdown */\r\n displayProperty: PropTypes.string,\r\n /** The property of the object to use to determine selection */\r\n valueProperty: PropTypes.string,\r\n /** Gets called when the user selects an option from the dropdown */\r\n onChange: PropTypes.func,\r\n};\r\n\r\nSelect.defaultProps = {\r\n isMulti: false,\r\n isClearable: false,\r\n};\r\n","import React, { useContext, createContext, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\n\r\nconst SelectGroupContext = createContext();\r\n\r\nexport const useSelectGroupContext = () => {\r\n const context = useContext(SelectGroupContext);\r\n if (!context) throw new Error(`SelectGroup compound components cannot be rendered outside the SelectGroup component.`);\r\n\r\n return context;\r\n};\r\n\r\nconst SelectGroup = ({ id, children, onChange, initialSelection }) => {\r\n const [active, setActive] = useState(initialSelection);\r\n\r\n const onItemClicked = (index) => {\r\n setActive(index);\r\n onChange && onChange(index);\r\n };\r\n\r\n return (\r\n <SelectGroupContext.Provider value={{}}>\r\n <div id={id}>\r\n {children.map((item, index) => {\r\n if (!React.isValidElement(item) || item.type.name !== \"SelectGroupItem\") return null;\r\n\r\n return (\r\n <React.Fragment key={index}>\r\n {React.cloneElement(item, {\r\n selected: active === Number(item.props.id),\r\n onClick: () => onItemClicked(Number(item.props.id)),\r\n })}\r\n </React.Fragment>\r\n );\r\n })}\r\n </div>\r\n </SelectGroupContext.Provider>\r\n );\r\n};\r\n\r\nexport default SelectGroup;\r\n\r\nSelectGroup.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** Id of the selected value */\r\n initialSelection: PropTypes.number,\r\n /** Gets called when the user clicks on one of the SelectGroupItem components */\r\n onChange: PropTypes.func,\r\n};\r\n","import React from \"react\";\r\nimport { useSelectGroupContext } from \"./SelectGroup\";\r\n\r\n/**\r\n * @visibleName SelectGroupItem.Title\r\n */\r\nconst SelectGroupItemTitle = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useSelectGroupContext();\r\n\r\n return <h3>{children}</h3>;\r\n};\r\n\r\nexport default SelectGroupItemTitle;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport SelectGroupItemTitle from \"./SelectGroupItemTitle\";\r\nimport SelectGroupItemDescription from \"./SelectGroupItemDescription\";\r\nimport SelectGroupItemImage from \"./SelectGroupItemImage\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./SelectGroupItem.module.css\";\r\n\r\nconst SelectGroupItem = ({ selected, onClick, children }) => {\r\n const content = [];\r\n let image;\r\n children.forEach((child) => {\r\n if (!React.isValidElement(child)) return;\r\n\r\n if (child.type.name !== \"SelectGroupItemImage\") {\r\n content.push(child);\r\n } else {\r\n image = child;\r\n }\r\n });\r\n\r\n return (\r\n <div onClick={onClick} className={selected ? [styles.item, styles.selected].join(\" \") : styles.item}>\r\n <div className={styles.box}>{content}</div>\r\n {image}\r\n </div>\r\n );\r\n};\r\n\r\nexport default SelectGroupItem;\r\n\r\nSelectGroupItem.Title = SelectGroupItemTitle;\r\nSelectGroupItem.Description = SelectGroupItemDescription;\r\nSelectGroupItem.Image = SelectGroupItemImage;\r\n\r\nSelectGroupItem.propTypes = {\r\n /** Unique identifier of the item */\r\n id: PropTypes.string\r\n};\r\n","import React from \"react\";\r\nimport { useSelectGroupContext } from \"./SelectGroup\";\r\n\r\n/**\r\n * @visibleName SelectGroupItem.Title\r\n */\r\nconst SelectGroupItemDescription = ({ children }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useSelectGroupContext();\r\n\r\n return <p>{children}</p>;\r\n};\r\n\r\nexport default SelectGroupItemDescription;\r\n","import React from \"react\";\r\nimport { useSelectGroupContext } from \"./SelectGroup\";\r\n\r\n/**\r\n * @visibleName SelectGroupItem.Image\r\n */\r\nconst SelectGroupItemImage = ({ src }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useSelectGroupContext();\r\n\r\n return src && <img src={src} alt=\"\" />;\r\n};\r\n\r\nexport default SelectGroupItemImage;\r\n","import React, { useContext, createContext, useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Steps.module.css\";\r\n\r\nconst StepsContext = createContext();\r\n\r\nexport const useStepsContext = () => {\r\n const context = useContext(StepsContext);\r\n if (!context) throw new Error(`Steps compound components cannot be rendered outside the Steps component.`);\r\n\r\n return context;\r\n};\r\n\r\nconst Steps = ({ id, activeStep, onChange, children }) => {\r\n const [active, setActive] = useState(activeStep || 0);\r\n const steps = [];\r\n\r\n useEffect(() => {\r\n setActive(activeStep);\r\n }, [activeStep])\r\n\r\n const trySetActive = (index) => {\r\n if (onChange && onChange(active, index) === false) {\r\n return;\r\n }\r\n\r\n setActive(index);\r\n };\r\n\r\n children.forEach((step, index) => {\r\n if (React.isValidElement(step) && step.type.name === \"Step\") {\r\n steps.push(\r\n React.cloneElement(step, {\r\n key: index,\r\n id: index,\r\n selected: index === active,\r\n isCompleted: index < active,\r\n onClick: () => trySetActive(index),\r\n })\r\n );\r\n }\r\n });\r\n\r\n return (\r\n <StepsContext.Provider value={{}}>\r\n <div id={id} className={styles.container}>\r\n <ul className={styles.box}>{steps}</ul>\r\n </div>\r\n {steps[active] && steps[active].props.children}\r\n </StepsContext.Provider>\r\n );\r\n};\r\n\r\nexport default Steps;\r\n\r\nSteps.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** The step that is currently being displayed */\r\n activeStep: PropTypes.number,\r\n /** Function that is called when the active step is changed. Return false in this function to prevent the step from being changed. */\r\n onChange: PropTypes.func\r\n};\r\n","import React from \"react\";\r\nimport { useStepsContext } from \"./Steps\";\r\n\r\nimport styles from \"./Steps.module.css\";\r\n\r\nconst Step = ({ id, label, selected, isCompleted, onClick }) => {\r\n // eslint-disable-next-line no-unused-vars\r\n const _ = useStepsContext();\r\n\r\n return (\r\n <li onClick={selected ? null : onClick} className={selected ? styles.active : isCompleted ? styles.completed : \"\"}>\r\n <p>\r\n <span className={styles.nmbr}>{id + 1}</span>\r\n <span>{label}</span>\r\n </p>\r\n </li>\r\n );\r\n};\r\n\r\nexport default Step;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Subheader.module.css\";\r\n\r\nconst Subheader = (props) => {\r\n const color = props.color === \"\" ? \"orange\" : props.color;\r\n\r\n return (\r\n <div id={props.id} className={styles.subheader}>\r\n <div className={styles.line}></div>\r\n <div className={[styles.content, styles[color]].join(\" \")}>{props.children}</div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Subheader;\r\n\r\nSubheader.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n /** The color of the box */\r\n color: PropTypes.oneOf([\"yellow\", \"green\", \"blue\", \"purple\", \"red\", \"orange\"]),\r\n};\r\n\r\nSubheader.defaultProps = {\r\n color: \"orange\",\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport \"../../styles/Global.css\";\r\nimport \"../../styles/Typography.css\";\r\nimport styles from \"./Table.module.css\";\r\n\r\nconst Table = (props) => {\r\n return (\r\n <table id={props.id} className={styles.table}>\r\n {props.children}\r\n </table>\r\n );\r\n};\r\n\r\nexport default Table;\r\n\r\nTable.propTypes = {\r\n /** Adds the value as id to the element */\r\n id: PropTypes.string,\r\n};\r\n","'use strict';\n\nmodule.exports = require('./components/dropdown/Dropdown');","'use strict';\n\nmodule.exports = require('./components/dialog/Dialog');","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const ClientAuthErrorMessage = {\n clientInfoDecodingError: {\n code: \"client_info_decoding_error\",\n desc: \"The client info could not be parsed/decoded correctly. Please review the trace to determine the root cause.\"\n },\n clientInfoEmptyError: {\n code: \"client_info_empty_error\",\n desc: \"The client info was empty. Please review the trace to determine the root cause.\"\n },\n tokenParsingError: {\n code: \"token_parsing_error\",\n desc: \"Token cannot be parsed. Please review stack trace to determine root cause.\"\n },\n nullOrEmptyToken: {\n code: \"null_or_empty_token\",\n desc: \"The token is null or empty. Please review the trace to determine the root cause.\"\n },\n endpointResolutionError: {\n code: \"endpoints_resolution_error\",\n desc: \"Error: could not resolve endpoints. Please check network and try again.\"\n },\n networkError: {\n code: \"network_error\",\n desc: \"Network request failed. Please check network trace to determine root cause.\"\n },\n unableToGetOpenidConfigError: {\n code: \"openid_config_error\",\n desc: \"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.\"\n },\n hashNotDeserialized: {\n code: \"hash_not_deserialized\",\n desc: \"The hash parameters could not be deserialized. Please review the trace to determine the root cause.\"\n },\n blankGuidGenerated: {\n code: \"blank_guid_generated\",\n desc: \"The guid generated was blank. Please review the trace to determine the root cause.\"\n },\n invalidStateError: {\n code: \"invalid_state\",\n desc: \"State was not the expected format. Please check the logs to determine whether the request was sent using ProtocolUtils.setRequestState().\"\n },\n stateMismatchError: {\n code: \"state_mismatch\",\n desc: \"State mismatch error. Please check your network. Continued requests may cause cache overflow.\"\n },\n stateNotFoundError: {\n code: \"state_not_found\",\n desc: \"State not found\"\n },\n nonceMismatchError: {\n code: \"nonce_mismatch\",\n desc: \"Nonce mismatch error. This may be caused by a race condition in concurrent requests.\"\n },\n nonceNotFoundError: {\n code: \"nonce_not_found\",\n desc: \"nonce not found\"\n },\n authTimeNotFoundError: {\n code: \"auth_time_not_found\",\n desc: \"Max Age was requested and the ID token is missing the auth_time variable.\" +\n \" auth_time is an optional claim and is not enabled by default - it must be enabled.\" +\n \" See https://aka.ms/msaljs/optional-claims for more information.\"\n },\n maxAgeTranspiredError: {\n code: \"max_age_transpired\",\n desc: \"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.\"\n },\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No tokens were found for the given scopes, and no authorization code was passed to acquireToken. You must retrieve an authorization code before making a call to acquireToken().\"\n },\n multipleMatchingTokens: {\n code: \"multiple_matching_tokens\",\n desc: \"The cache contains multiple tokens satisfying the requirements. \" +\n \"Call AcquireToken again providing more requirements such as authority or account.\"\n },\n multipleMatchingAccounts: {\n code: \"multiple_matching_accounts\",\n desc: \"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account\"\n },\n multipleMatchingAppMetadata: {\n code: \"multiple_matching_appMetadata\",\n desc: \"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata\"\n },\n tokenRequestCannotBeMade: {\n code: \"request_cannot_be_made\",\n desc: \"Token request cannot be made without authorization code or refresh token.\"\n },\n appendEmptyScopeError: {\n code: \"cannot_append_empty_scope\",\n desc: \"Cannot append null or empty scope to ScopeSet. Please check the stack trace for more info.\"\n },\n removeEmptyScopeError: {\n code: \"cannot_remove_empty_scope\",\n desc: \"Cannot remove null or empty scope from ScopeSet. Please check the stack trace for more info.\"\n },\n appendScopeSetError: {\n code: \"cannot_append_scopeset\",\n desc: \"Cannot append ScopeSet due to error.\"\n },\n emptyInputScopeSetError: {\n code: \"empty_input_scopeset\",\n desc: \"Empty input ScopeSet cannot be processed.\"\n },\n DeviceCodePollingCancelled: {\n code: \"device_code_polling_cancelled\",\n desc: \"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.\"\n },\n DeviceCodeExpired: {\n code: \"device_code_expired\",\n desc: \"Device code is expired.\"\n },\n DeviceCodeUnknownError: {\n code: \"device_code_unknown_error\",\n desc: \"Device code stopped polling for unknown reasons.\"\n },\n NoAccountInSilentRequest: {\n code: \"no_account_in_silent_request\",\n desc: \"Please pass an account object, silent flow is not supported without account information\"\n },\n invalidCacheRecord: {\n code: \"invalid_cache_record\",\n desc: \"Cache record object was null or undefined.\"\n },\n invalidCacheEnvironment: {\n code: \"invalid_cache_environment\",\n desc: \"Invalid environment when attempting to create cache entry\"\n },\n noAccountFound: {\n code: \"no_account_found\",\n desc: \"No account found in cache for given key.\"\n },\n CachePluginError: {\n code: \"no cache plugin set on CacheManager\",\n desc: \"ICachePlugin needs to be set before using readFromStorage or writeFromStorage\"\n },\n noCryptoObj: {\n code: \"no_crypto_object\",\n desc: \"No crypto object detected. This is required for the following operation: \"\n },\n invalidCacheType: {\n code: \"invalid_cache_type\",\n desc: \"Invalid cache type\"\n },\n unexpectedAccountType: {\n code: \"unexpected_account_type\",\n desc: \"Unexpected account type.\"\n },\n unexpectedCredentialType: {\n code: \"unexpected_credential_type\",\n desc: \"Unexpected credential type.\"\n },\n invalidAssertion: {\n code: \"invalid_assertion\",\n desc: \"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515\"\n },\n invalidClientCredential: {\n code: \"invalid_client_credential\",\n desc: \"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential\"\n },\n tokenRefreshRequired: {\n code: \"token_refresh_required\",\n desc: \"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.\"\n },\n userTimeoutReached: {\n code: \"user_timeout_reached\",\n desc: \"User defined timeout for device code polling reached\",\n },\n tokenClaimsRequired: {\n code: \"token_claims_cnf_required_for_signedjwt\",\n desc: \"Cannot generate a POP jwt if the token_claims are not populated\"\n },\n noAuthorizationCodeFromServer: {\n code: \"authorization_code_missing_from_server_response\",\n desc: \"Server response does not contain an authorization code to proceed\"\n },\n noAzureRegionDetected: {\n code: \"no_azure_region_detected\",\n desc: \"No azure region was detected and no fallback was made available\"\n },\n accessTokenEntityNullError: {\n code: \"access_token_entity_null\",\n desc: \"Access token entity is null, please check logs and cache to ensure a valid access token is present.\"\n },\n bindingKeyNotRemovedError: {\n code: \"binding_key_not_removed\",\n desc: \"Could not remove the credential's binding key from storage.\"\n },\n logoutNotSupported: {\n code: \"end_session_endpoint_not_supported\",\n desc: \"Provided authority does not support logout.\"\n },\n keyIdMissing: {\n code: \"key_id_missing\",\n desc: \"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.\"\n }\n};\n\n/**\n * Error thrown when there is an error in the client code running on the browser.\n */\nexport class ClientAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"ClientAuthError\";\n\n Object.setPrototypeOf(this, ClientAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when client info object doesn't decode correctly.\n * @param caughtError\n */\n static createClientInfoDecodingError(caughtError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoDecodingError.code,\n `${ClientAuthErrorMessage.clientInfoDecodingError.desc} Failed with error: ${caughtError}`);\n }\n\n /**\n * Creates an error thrown if the client info is empty.\n * @param rawClientInfo\n */\n static createClientInfoEmptyError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoEmptyError.code,\n `${ClientAuthErrorMessage.clientInfoEmptyError.desc}`);\n }\n\n /**\n * Creates an error thrown when the id token extraction errors out.\n * @param err\n */\n static createTokenParsingError(caughtExtractionError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenParsingError.code,\n `${ClientAuthErrorMessage.tokenParsingError.desc} Failed with error: ${caughtExtractionError}`);\n }\n\n /**\n * Creates an error thrown when the id token string is null or empty.\n * @param invalidRawTokenString\n */\n static createTokenNullOrEmptyError(invalidRawTokenString: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nullOrEmptyToken.code,\n `${ClientAuthErrorMessage.nullOrEmptyToken.desc} Raw Token Value: ${invalidRawTokenString}`);\n }\n\n /**\n * Creates an error thrown when the endpoint discovery doesn't complete correctly.\n */\n static createEndpointDiscoveryIncompleteError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.endpointResolutionError.code,\n `${ClientAuthErrorMessage.endpointResolutionError.desc} Detail: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the fetch client throws\n */\n static createNetworkError(endpoint: string, errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.networkError.code,\n `${ClientAuthErrorMessage.networkError.desc} | Fetch client threw: ${errDetail} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Creates an error thrown when the openid-configuration endpoint cannot be reached or does not contain the required data\n */\n static createUnableToGetOpenidConfigError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unableToGetOpenidConfigError.code,\n `${ClientAuthErrorMessage.unableToGetOpenidConfigError.desc} Attempted to retrieve endpoints from: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the hash cannot be deserialized.\n * @param hashParamObj\n */\n static createHashNotDeserializedError(hashParamObj: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.hashNotDeserialized.code,\n `${ClientAuthErrorMessage.hashNotDeserialized.desc} Given Object: ${hashParamObj}`);\n }\n\n /**\n * Creates an error thrown when the state cannot be parsed.\n * @param invalidState\n */\n static createInvalidStateError(invalidState: string, errorString?: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidStateError.code,\n `${ClientAuthErrorMessage.invalidStateError.desc} Invalid State: ${invalidState}, Root Err: ${errorString}`);\n }\n\n /**\n * Creates an error thrown when two states do not match.\n */\n static createStateMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateMismatchError.code,\n ClientAuthErrorMessage.stateMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when the state is not present\n * @param missingState\n */\n static createStateNotFoundError(missingState: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateNotFoundError.code,\n `${ClientAuthErrorMessage.stateNotFoundError.desc}: ${missingState}`);\n }\n\n /**\n * Creates an error thrown when the nonce does not match.\n */\n static createNonceMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceMismatchError.code,\n ClientAuthErrorMessage.nonceMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when max_age was provided in the request, but auth_time is not in the token claims\n * @param missingNonce\n */\n static createAuthTimeNotFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.authTimeNotFoundError.code,\n ClientAuthErrorMessage.authTimeNotFoundError.desc);\n }\n\n /**\n * Creates an error thrown when too much time has elapsed since the last end-user authentication\n */\n static createMaxAgeTranspiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.maxAgeTranspiredError.code,\n ClientAuthErrorMessage.maxAgeTranspiredError.desc);\n }\n\n /**\n * Creates an error thrown when the mnonce is not present\n * @param missingNonce\n */\n static createNonceNotFoundError(missingNonce: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceNotFoundError.code,\n `${ClientAuthErrorMessage.nonceNotFoundError.desc}: ${missingNonce}`);\n }\n\n /**\n * Throws error when multiple tokens are in cache.\n */\n static createMultipleMatchingTokensInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingTokens.code,\n `${ClientAuthErrorMessage.multipleMatchingTokens.desc}.`);\n }\n\n /**\n * Throws error when multiple accounts are in cache for the given params\n */\n static createMultipleMatchingAccountsInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAccounts.code,\n ClientAuthErrorMessage.multipleMatchingAccounts.desc);\n }\n\n /**\n * Throws error when multiple appMetada are in cache for the given clientId.\n */\n static createMultipleMatchingAppMetadataInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAppMetadata.code,\n ClientAuthErrorMessage.multipleMatchingAppMetadata.desc);\n }\n\n /**\n * Throws error when no auth code or refresh token is given to ServerTokenRequestParameters.\n */\n static createTokenRequestCannotBeMadeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRequestCannotBeMade.code, ClientAuthErrorMessage.tokenRequestCannotBeMade.desc);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createAppendEmptyScopeToSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendEmptyScopeError.code, `${ClientAuthErrorMessage.appendEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createRemoveEmptyScopeFromSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.removeEmptyScopeError.code, `${ClientAuthErrorMessage.removeEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append null or empty ScopeSet.\n * @param appendError\n */\n static createAppendScopeSetError(appendError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendScopeSetError.code, `${ClientAuthErrorMessage.appendScopeSetError.desc} Detail Error: ${appendError}`);\n }\n\n /**\n * Throws error if ScopeSet is null or undefined.\n * @param givenScopeSet\n */\n static createEmptyInputScopeSetError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.emptyInputScopeSetError.code, `${ClientAuthErrorMessage.emptyInputScopeSetError.desc}`);\n }\n\n /**\n * Throws error if user sets CancellationToken.cancel = true during polling of token endpoint during device code flow\n */\n static createDeviceCodeCancelledError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodePollingCancelled.code, `${ClientAuthErrorMessage.DeviceCodePollingCancelled.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeExpiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeExpired.code, `${ClientAuthErrorMessage.DeviceCodeExpired.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeUnknownError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeUnknownError.code, `${ClientAuthErrorMessage.DeviceCodeUnknownError.desc}`);\n }\n\n /**\n * Throws error when silent requests are made without an account object\n */\n static createNoAccountInSilentRequestError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.NoAccountInSilentRequest.code, `${ClientAuthErrorMessage.NoAccountInSilentRequest.desc}`);\n }\n\n /**\n * Throws error when cache record is null or undefined.\n */\n static createNullOrUndefinedCacheRecord(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheRecord.code, ClientAuthErrorMessage.invalidCacheRecord.desc);\n }\n\n /**\n * Throws error when provided environment is not part of the CloudDiscoveryMetadata object\n */\n static createInvalidCacheEnvironmentError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheEnvironment.code, ClientAuthErrorMessage.invalidCacheEnvironment.desc);\n }\n\n /**\n * Throws error when account is not found in cache.\n */\n static createNoAccountFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAccountFound.code, ClientAuthErrorMessage.noAccountFound.desc);\n }\n\n /**\n * Throws error if ICachePlugin not set on CacheManager.\n */\n static createCachePluginError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.CachePluginError.code, `${ClientAuthErrorMessage.CachePluginError.desc}`);\n }\n\n /**\n * Throws error if crypto object not found.\n * @param operationName\n */\n static createNoCryptoObjectError(operationName: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noCryptoObj.code, `${ClientAuthErrorMessage.noCryptoObj.desc}${operationName}`);\n }\n\n /**\n * Throws error if cache type is invalid.\n */\n static createInvalidCacheTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheType.code, `${ClientAuthErrorMessage.invalidCacheType.desc}`);\n }\n\n /**\n * Throws error if unexpected account type.\n */\n static createUnexpectedAccountTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedAccountType.code, `${ClientAuthErrorMessage.unexpectedAccountType.desc}`);\n }\n\n /**\n * Throws error if unexpected credential type.\n */\n static createUnexpectedCredentialTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedCredentialType.code, `${ClientAuthErrorMessage.unexpectedCredentialType.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidAssertionError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidAssertion.code, `${ClientAuthErrorMessage.invalidAssertion.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidCredentialError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidClientCredential.code, `${ClientAuthErrorMessage.invalidClientCredential.desc}`);\n }\n\n /**\n * Throws error if token cannot be retrieved from cache due to refresh being required.\n */\n static createRefreshRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRefreshRequired.code, ClientAuthErrorMessage.tokenRefreshRequired.desc);\n }\n\n /**\n * Throws error if the user defined timeout is reached.\n */\n static createUserTimeoutReachedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.userTimeoutReached.code, ClientAuthErrorMessage.userTimeoutReached.desc);\n }\n\n /*\n * Throws error if token claims are not populated for a signed jwt generation\n */\n static createTokenClaimsRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenClaimsRequired.code, ClientAuthErrorMessage.tokenClaimsRequired.desc);\n }\n\n /**\n * Throws error when the authorization code is missing from the server response\n */\n static createNoAuthCodeInServerResponseError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAuthorizationCodeFromServer.code, ClientAuthErrorMessage.noAuthorizationCodeFromServer.desc);\n }\n\n static createBindingKeyNotRemovedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.bindingKeyNotRemovedError.code, ClientAuthErrorMessage.bindingKeyNotRemovedError.desc);\n }\n\n /**\n * Thrown when logout is attempted for an authority that doesnt have an end_session_endpoint\n */\n static createLogoutNotSupportedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.logoutNotSupported.code, ClientAuthErrorMessage.logoutNotSupported.desc);\n }\n\n /**\n * Create an error when kid attribute is missing from a PoP token's cache record\n */\n static createKeyIdMissingError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.keyIdMissing.code, ClientAuthErrorMessage.keyIdMissing.desc);\n }\n}\n","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Button = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _ClassNames = require(\"../utils/ClassNames\");\n\nvar _Tooltip = require(\"../tooltip/Tooltip\");\n\nvar _ObjectUtils = _interopRequireDefault(require(\"../utils/ObjectUtils\"));\n\nvar _Ripple = require(\"../ripple/Ripple\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Button = /*#__PURE__*/function (_Component) {\n _inherits(Button, _Component);\n\n var _super = _createSuper(Button);\n\n function Button() {\n _classCallCheck(this, Button);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Button, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.tooltip) {\n this.renderTooltip();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.tooltip !== this.props.tooltip) {\n if (this.tooltip) this.tooltip.updateContent(this.props.tooltip);else this.renderTooltip();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n }\n }, {\n key: \"renderTooltip\",\n value: function renderTooltip() {\n this.tooltip = (0, _Tooltip.tip)({\n target: this.element,\n content: this.props.tooltip,\n options: this.props.tooltipOptions\n });\n }\n }, {\n key: \"renderIcon\",\n value: function renderIcon() {\n if (this.props.icon) {\n var className = (0, _ClassNames.classNames)(this.props.icon, 'p-c', {\n 'p-button-icon-left': this.props.iconPos === 'left' && this.props.label,\n 'p-button-icon-right': this.props.iconPos === 'right' && this.props.label,\n 'p-button-icon-top': this.props.iconPos === 'top' && this.props.label,\n 'p-button-icon-bottom': this.props.iconPos === 'bottom' && this.props.label\n });\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: className\n });\n }\n\n return null;\n }\n }, {\n key: \"renderLabel\",\n value: function renderLabel() {\n if (!this.props.label) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"p-button-label p-c\",\n dangerouslySetInnerHTML: {\n __html: \" \"\n }\n });\n }\n\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"p-button-label p-c\"\n }, this.props.label);\n }\n }, {\n key: \"renderBadge\",\n value: function renderBadge() {\n if (this.props.badge) {\n var badgeClassName = (0, _ClassNames.classNames)('p-badge', this.props.badgeClassName);\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: badgeClassName\n }, this.props.badge);\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var className = (0, _ClassNames.classNames)('p-button p-component', this.props.className, {\n 'p-button-icon-only': this.props.icon && !this.props.label,\n 'p-button-vertical': (this.props.iconPos === 'top' || this.props.iconPos === 'bottom') && this.label,\n 'p-disabled': this.props.disabled\n });\n var icon = this.renderIcon();\n var label = this.renderLabel();\n var badge = this.renderBadge();\n\n var buttonProps = _ObjectUtils.default.findDiffKeys(this.props, Button.defaultProps);\n\n return /*#__PURE__*/_react.default.createElement(\"button\", _extends({\n ref: function ref(el) {\n return _this.element = el;\n }\n }, buttonProps, {\n className: className\n }), icon, label, this.props.children, badge, /*#__PURE__*/_react.default.createElement(_Ripple.Ripple, null));\n }\n }]);\n\n return Button;\n}(_react.Component);\n\nexports.Button = Button;\n\n_defineProperty(Button, \"defaultProps\", {\n label: null,\n icon: null,\n iconPos: 'left',\n badge: null,\n badgeClassName: null,\n tooltip: null,\n tooltipOptions: null\n});\n\n_defineProperty(Button, \"propTypes\", {\n label: _propTypes.default.string,\n icon: _propTypes.default.string,\n iconPos: _propTypes.default.string,\n badge: _propTypes.default.string,\n badgeClassName: _propTypes.default.string,\n tooltip: _propTypes.default.string,\n tooltipOptions: _propTypes.default.object\n});","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { DecodedAuthToken } from \"../account/DecodedAuthToken\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\n/**\n * @hidden\n */\nexport class StringUtils {\n\n /**\n * decode a JWT\n *\n * @param authToken\n */\n static decodeAuthToken(authToken: string): DecodedAuthToken {\n if (StringUtils.isEmpty(authToken)) {\n throw ClientAuthError.createTokenNullOrEmptyError(authToken);\n }\n const tokenPartsRegex = /^([^\\.\\s]*)\\.([^\\.\\s]+)\\.([^\\.\\s]*)$/;\n const matches = tokenPartsRegex.exec(authToken);\n if (!matches || matches.length < 4) {\n throw ClientAuthError.createTokenParsingError(`Given token is malformed: ${JSON.stringify(authToken)}`);\n }\n const crackedToken: DecodedAuthToken = {\n header: matches[1],\n JWSPayload: matches[2],\n JWSSig: matches[3]\n };\n return crackedToken;\n }\n\n /**\n * Check if a string is empty.\n *\n * @param str\n */\n static isEmpty(str?: string): boolean {\n return (typeof str === \"undefined\" || !str || 0 === str.length);\n }\n\n /**\n * Check if stringified object is empty\n * @param strObj \n */\n static isEmptyObj(strObj?: string): boolean {\n if (strObj && !StringUtils.isEmpty(strObj)) {\n try {\n const obj = JSON.parse(strObj);\n return Object.keys(obj).length === 0;\n } catch (e) {}\n }\n return true;\n }\n\n static startsWith(str: string, search: string): boolean {\n return str.indexOf(search) === 0;\n }\n\n static endsWith(str: string, search: string): boolean {\n return (str.length >= search.length) && (str.lastIndexOf(search) === (str.length - search.length));\n }\n\n /**\n * Parses string into an object.\n *\n * @param query\n */\n static queryStringToObject<T>(query: string): T {\n const obj: {} = {};\n const params = query.split(\"&\");\n const decode = (s: string) => decodeURIComponent(s.replace(/\\+/g, \" \"));\n params.forEach((pair) => {\n if (pair.trim()) {\n const [key, value] = pair.split(/=(.+)/g, 2); // Split on the first occurence of the '=' character\n if (key && value) {\n obj[decode(key)] = decode(value);\n }\n }\n });\n return obj as T;\n }\n\n /**\n * Trims entries in an array.\n *\n * @param arr\n */\n static trimArrayEntries(arr: Array<string>): Array<string> {\n return arr.map(entry => entry.trim());\n }\n\n /**\n * Removes empty strings from array\n * @param arr\n */\n static removeEmptyStringsFromArray(arr: Array<string>): Array<string> {\n return arr.filter(entry => {\n return !StringUtils.isEmpty(entry);\n });\n }\n\n /**\n * Attempts to parse a string into JSON\n * @param str\n */\n static jsonParseHelper<T>(str: string): T | null {\n try {\n return JSON.parse(str) as T;\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Tests if a given string matches a given pattern, with support for wildcards and queries.\n * @param pattern Wildcard pattern to string match. Supports \"*\" for wildcards and \"?\" for queries\n * @param input String to match against\n */\n static matchPattern(pattern: string, input: string): boolean {\n /**\n * Wildcard support: https://stackoverflow.com/a/3117248/4888559\n * Queries: replaces \"?\" in string with escaped \"\\?\" for regex test\n */\n const regex: RegExp = new RegExp(pattern.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\*/g, \"[^ ]*\").replace(/\\?/g, \"\\\\\\?\")); // eslint-disable-line security/detect-non-literal-regexp\n\n return regex.test(input);\n }\n}\n","'use strict';\n\nmodule.exports = require('./components/column/Column');","'use strict';\n\nmodule.exports = require('./components/toast/Toast');\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"PrismicReactjs\", [\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"PrismicReactjs\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"PrismicReactjs\"] = factory(root[\"react\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_react__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/object-assign/index.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/object-assign/index.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction shouldUseNative() {\n try {\n if (!Object.assign) {\n return false;\n } // Detect buggy property enumeration order in older V8 versions.\n // https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\n\n var test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\n test1[5] = 'de';\n\n if (Object.getOwnPropertyNames(test1)[0] === '5') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test2 = {};\n\n for (var i = 0; i < 10; i++) {\n test2['_' + String.fromCharCode(i)] = i;\n }\n\n var order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n });\n\n if (order2.join('') !== '0123456789') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test3 = {};\n 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n test3[letter] = letter;\n });\n\n if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n return false;\n }\n\n return true;\n } catch (err) {\n // We don't expect any of the above to throw, but better to be safe.\n return false;\n }\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/prismic-helpers/dist/prismic-helpers.min.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/prismic-helpers/dist/prismic-helpers.min.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function (e, t) {\n true ? module.exports = t() : undefined;\n}(\"undefined\" != typeof self ? self : this, function () {\n return function (e) {\n var t = {};\n\n function n(r) {\n if (t[r]) return t[r].exports;\n var o = t[r] = {\n i: r,\n l: !1,\n exports: {}\n };\n return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports;\n }\n\n return n.m = e, n.c = t, n.d = function (e, t, r) {\n n.o(e, t) || Object.defineProperty(e, t, {\n enumerable: !0,\n get: r\n });\n }, n.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n }, n.t = function (e, t) {\n if (1 & t && (e = n(e)), 8 & t) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var r = Object.create(null);\n if (n.r(r), Object.defineProperty(r, \"default\", {\n enumerable: !0,\n value: e\n }), 2 & t && \"string\" != typeof e) for (var o in e) n.d(r, o, function (t) {\n return e[t];\n }.bind(null, o));\n return r;\n }, n.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return n.d(t, \"a\", t), t;\n }, n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, n.p = \"\", n(n.s = 0);\n }([function (e, t, n) {\n e.exports = n(1);\n }, function (e, t, n) {\n var r = n(2),\n o = n(3);\n e.exports = {\n Link: r,\n Date: o\n };\n }, function (e, t, n) {\n e.exports = {\n url: function (e, t) {\n if (e && [e.link_type, e._linkType, e.linkType].some(function (e) {\n return e && [\"Document\", \"Link.Document\", \"Link.document\"].includes(e);\n }) && t && \"function\" == typeof t) {\n var n = t(e);\n if (n) return n;\n }\n\n return e && e.url ? e.url : \"\";\n }\n };\n }, function (e, t) {\n e.exports = function (e) {\n if (!e) return null;\n var t = 24 == e.length ? \"\".concat(e.substring(0, 22), \":\").concat(e.substring(22, 24)) : e;\n return new Date(t);\n };\n }]);\n});\n\n/***/ }),\n\n/***/ \"./node_modules/prismic-richtext/dist/prismic-richtext.min.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/prismic-richtext/dist/prismic-richtext.min.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function (e, t) {\n true ? module.exports = t() : undefined;\n}(\"undefined\" != typeof self ? self : this, function () {\n return function (e) {\n var t = {};\n\n function n(r) {\n if (t[r]) return t[r].exports;\n var o = t[r] = {\n i: r,\n l: !1,\n exports: {}\n };\n return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports;\n }\n\n return n.m = e, n.c = t, n.d = function (e, t, r) {\n n.o(e, t) || Object.defineProperty(e, t, {\n enumerable: !0,\n get: r\n });\n }, n.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n }, n.t = function (e, t) {\n if (1 & t && (e = n(e)), 8 & t) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var r = Object.create(null);\n if (n.r(r), Object.defineProperty(r, \"default\", {\n enumerable: !0,\n value: e\n }), 2 & t && \"string\" != typeof e) for (var o in e) n.d(r, o, function (t) {\n return e[t];\n }.bind(null, o));\n return r;\n }, n.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return n.d(t, \"a\", t), t;\n }, n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, n.p = \"\", n(n.s = 9);\n }([function (e, t, n) {\n var r = n(3);\n\n e.exports = function (e) {\n return function t(n) {\n return 0 === arguments.length || r(n) ? t : e.apply(this, arguments);\n };\n };\n }, function (e, t, n) {\n var r = n(0),\n o = n(3);\n\n e.exports = function (e) {\n return function t(n, i) {\n switch (arguments.length) {\n case 0:\n return t;\n\n case 1:\n return o(n) ? t : r(function (t) {\n return e(n, t);\n });\n\n default:\n return o(n) && o(i) ? t : o(n) ? r(function (t) {\n return e(t, i);\n }) : o(i) ? r(function (t) {\n return e(n, t);\n }) : e(n, i);\n }\n };\n };\n }, function (e, t, n) {\n \"use strict\";\n\n var r;\n\n function o(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.PRIORITIES = t.NODE_TYPES = void 0;\n var i = {\n heading1: \"heading1\",\n heading2: \"heading2\",\n heading3: \"heading3\",\n heading4: \"heading4\",\n heading5: \"heading5\",\n heading6: \"heading6\",\n paragraph: \"paragraph\",\n preformatted: \"preformatted\",\n strong: \"strong\",\n em: \"em\",\n listItem: \"list-item\",\n oListItem: \"o-list-item\",\n list: \"group-list-item\",\n oList: \"group-o-list-item\",\n image: \"image\",\n embed: \"embed\",\n hyperlink: \"hyperlink\",\n label: \"label\",\n span: \"span\"\n };\n t.NODE_TYPES = i;\n var u = (o(r = {}, i.heading1, 4), o(r, i.heading2, 4), o(r, i.heading3, 4), o(r, i.heading4, 4), o(r, i.heading5, 4), o(r, i.heading6, 4), o(r, i.paragraph, 3), o(r, i.preformatted, 5), o(r, i.strong, 6), o(r, i.em, 6), o(r, i.oList, 1), o(r, i.list, 1), o(r, i.listItem, 1), o(r, i.oListItem, 1), o(r, i.image, 1), o(r, i.embed, 1), o(r, i.hyperlink, 3), o(r, i.label, 4), o(r, i.span, 7), r);\n t.PRIORITIES = u;\n }, function (e, t) {\n e.exports = function (e) {\n return null != e && \"object\" == typeof e && !0 === e[\"@@functional/placeholder\"];\n };\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.default = void 0;\n var r = d(n(12)),\n o = d(n(15)),\n i = d(n(16)),\n u = d(n(17)),\n c = d(n(21)),\n a = d(n(7)),\n l = n(23),\n f = n(2),\n s = n(8);\n\n function d(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n function p(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n function h(e) {\n return function (e) {\n if (Array.isArray(e)) return e;\n }(e) || function (e) {\n if (Symbol.iterator in Object(e) || \"[object Arguments]\" === Object.prototype.toString.call(e)) return Array.from(e);\n }(e) || function () {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }();\n }\n\n function y(e, t) {\n var n = t.others.reduce(function (n, r) {\n var o = n.inner,\n i = n.outer,\n u = function (e, t, n) {\n return n.start < t.start ? {\n inner: s.SpanNode.slice(n, t.start, n.end, e),\n outer: s.SpanNode.slice(n, n.start, t.start, e)\n } : n.end > t.end ? {\n inner: s.SpanNode.slice(n, n.start, t.end, e),\n outer: s.SpanNode.slice(n, t.end, n.end, e)\n } : {\n inner: n\n };\n }(e, t.elected, r);\n\n return {\n inner: o.concat(u.inner),\n outer: u.outer ? i.concat(u.outer) : i\n };\n }, {\n inner: [],\n outer: []\n }),\n r = n.inner,\n o = n.outer;\n return [t.elected.setChildren(x(e, r, t.elected.boundaries()))].concat(b(e, o));\n }\n\n function v(e) {\n return function (e, t) {\n return t.reduce(function (t, n) {\n var r = (0, c.default)(t);\n\n if (r) {\n if (r.some(function (e) {\n return e.isParentOf(n);\n })) return (0, u.default)(t).concat([r.concat(n)]);\n var o = (0, c.default)(r);\n return o && e(o, n) ? (0, u.default)(t).concat([r.concat(n)]) : t.concat([[n]]);\n }\n\n return [[n]];\n }, []);\n }(function (e, t) {\n return e.end >= t.start;\n }, (0, i.default)([function (e, t) {\n return e.start - t.start;\n }, function (e, t) {\n return e.end - t.end;\n }], e));\n }\n\n function m(e) {\n if (0 === e.length) throw new Error(\"Unable to elect node on empty list\");\n var t = h(e.sort(function (e, t) {\n if (e.isParentOf(t)) return -1;\n if (t.isParentOf(e)) return 1;\n var n = f.PRIORITIES[e.type] - f.PRIORITIES[t.type];\n return 0 === n ? e.text.length - t.text.length : n;\n }));\n return {\n elected: t[0],\n others: t.slice(1)\n };\n }\n\n function x(e, t, n) {\n if (t.length > 0) return function (e, t, n) {\n return t.reduce(function (r, o, i) {\n var u = [],\n c = 0 === i && o.start > n.lower,\n a = i === t.length - 1 && n.upper > o.end;\n\n if (c) {\n var l = new s.TextNode(n.lower, o.start, e.slice(n.lower, o.start));\n u = u.concat(l);\n } else {\n var f = t[i - 1];\n\n if (f && o.start > f.end) {\n var d = e.slice(f.end, o.start),\n p = new s.TextNode(f.end, o.start, d);\n u = u.concat(p);\n }\n }\n\n if (u = u.concat(o), a) {\n var h = new s.TextNode(o.end, n.upper, e.slice(o.end, n.upper));\n u = u.concat(h);\n }\n\n return r.concat(u);\n }, []);\n }(e, b(e, t), n);\n var r = e.slice(n.lower, n.upper);\n return [new s.TextNode(n.lower, n.upper, r)];\n }\n\n function b(e, t) {\n var n = v((0, o.default)(function (e) {\n return e.start;\n }, t)).map(m),\n i = (0, r.default)(n.map(function (t) {\n return y(e, t);\n }));\n return (0, o.default)(function (e) {\n return e.start;\n }, i);\n }\n\n var g = function () {\n function e() {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e);\n }\n\n var t, n, r;\n return t = e, r = [{\n key: \"fromRichText\",\n value: function (e) {\n return {\n key: (0, a.default)(),\n children: e.reduce(function (e, t, n) {\n if (l.RichTextBlock.isEmbedBlock(t.type) || l.RichTextBlock.isImageBlock(t.type)) return e.concat(new s.BlockNode(t.type, t));\n\n var r = function (e) {\n var t = e.spans.map(function (t) {\n var n = e.text.slice(t.start, t.end);\n return new s.SpanNode(t.start, t.end, t.type, n, [], t);\n }),\n n = {\n lower: 0,\n upper: e.text.length\n };\n return x(e.text, t, n);\n }(t),\n o = e[e.length - 1];\n\n if (l.RichTextBlock.isListItem(t.type) && o && o instanceof s.ListBlockNode) {\n var i = new s.ListItemBlockNode(t, r),\n c = o.addChild(i);\n return (0, u.default)(e).concat(c);\n }\n\n if (l.RichTextBlock.isOrderedListItem(t.type) && o && o instanceof s.OrderedListBlockNode) {\n var a = new s.OrderedListItemBlockNode(t, r),\n f = o.addChild(a);\n return (0, u.default)(e).concat(f);\n }\n\n if (l.RichTextBlock.isListItem(t.type)) {\n var d = new s.ListItemBlockNode(t, r),\n p = new s.ListBlockNode(l.RichTextBlock.emptyList(), [d]);\n return e.concat(p);\n }\n\n if (l.RichTextBlock.isOrderedListItem(t.type)) {\n var h = new s.OrderedListItemBlockNode(t, r),\n y = new s.OrderedListBlockNode(l.RichTextBlock.emptyOrderedList(), [h]);\n return e.concat(y);\n }\n\n return e.concat(new s.BlockNode(t.type, t, r));\n }, [])\n };\n }\n }], (n = null) && p(t.prototype, n), r && p(t, r), e;\n }();\n\n t.default = g;\n }, function (e, t) {\n e.exports = Array.isArray || function (e) {\n return null != e && e.length >= 0 && \"[object Array]\" === Object.prototype.toString.call(e);\n };\n }, function (e, t) {\n e.exports = function (e) {\n return \"[object String]\" === Object.prototype.toString.call(e);\n };\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.default = function () {\n var e = new Date().getTime();\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (t) {\n var n = (e + 16 * Math.random()) % 16 | 0;\n return e = Math.floor(e / 16), (\"x\" == t ? n : 3 & n | 8).toString(16);\n });\n };\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.ListBlockNode = t.OrderedListBlockNode = t.OrderedListItemBlockNode = t.ListItemBlockNode = t.BlockNode = t.TextNode = t.SpanNode = t.Node = void 0;\n var r,\n o = (r = n(7)) && r.__esModule ? r : {\n default: r\n },\n i = n(2);\n\n function u(e) {\n return (u = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function c(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n function a(e, t, n) {\n return t && c(e.prototype, t), n && c(e, n), e;\n }\n\n function l(e, t) {\n return !t || \"object\" !== u(t) && \"function\" != typeof t ? function (e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }(e) : t;\n }\n\n function f(e) {\n return (f = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n function s(e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && d(e, t);\n }\n\n function d(e, t) {\n return (d = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n function p(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n var h = function e(t, n, r) {\n p(this, e), this.key = (0, o.default)(), this.type = t, this.element = n, this.children = r;\n };\n\n t.Node = h;\n\n var y = function (e) {\n function t(e, n, r, o, i, u) {\n var c;\n return p(this, t), (c = l(this, f(t).call(this, r, u, i))).start = e, c.end = n, c.text = o, c.children = i, c;\n }\n\n return s(t, h), a(t, [{\n key: \"boundaries\",\n value: function () {\n return {\n lower: this.start,\n upper: this.end\n };\n }\n }, {\n key: \"isParentOf\",\n value: function (e) {\n return this.start <= e.start && this.end >= e.end;\n }\n }, {\n key: \"setChildren\",\n value: function (e) {\n return new t(this.start, this.end, this.type, this.text, e, this.element);\n }\n }], [{\n key: \"slice\",\n value: function (e, n, r, o) {\n return new t(n, r, e.type, o.slice(n, r), e.children, e.element);\n }\n }]), t;\n }();\n\n t.SpanNode = y;\n\n var v = function (e) {\n function t(e, n, r) {\n p(this, t);\n var o = {\n type: i.NODE_TYPES.span,\n start: e,\n end: n,\n text: r\n };\n return l(this, f(t).call(this, e, n, i.NODE_TYPES.span, r, [], o));\n }\n\n return s(t, y), t;\n }();\n\n t.TextNode = v;\n\n var m = function (e) {\n function t(e, n) {\n var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];\n return p(this, t), l(this, f(t).call(this, e, n, r));\n }\n\n return s(t, h), t;\n }();\n\n t.BlockNode = m;\n\n var x = function (e) {\n function t(e, n) {\n return p(this, t), l(this, f(t).call(this, i.NODE_TYPES.listItem, e, n));\n }\n\n return s(t, m), t;\n }();\n\n t.ListItemBlockNode = x;\n\n var b = function (e) {\n function t(e, n) {\n return p(this, t), l(this, f(t).call(this, i.NODE_TYPES.oListItem, e, n));\n }\n\n return s(t, m), t;\n }();\n\n t.OrderedListItemBlockNode = b;\n\n var g = function (e) {\n function t(e, n) {\n return p(this, t), l(this, f(t).call(this, i.NODE_TYPES.oList, e, n));\n }\n\n return s(t, m), a(t, [{\n key: \"addChild\",\n value: function (e) {\n var n = this.children.concat(e);\n return new t(this.element, n);\n }\n }]), t;\n }();\n\n t.OrderedListBlockNode = g;\n\n var O = function (e) {\n function t(e, n) {\n return p(this, t), l(this, f(t).call(this, i.NODE_TYPES.list, e, n));\n }\n\n return s(t, m), a(t, [{\n key: \"addChild\",\n value: function (e) {\n var n = this.children.concat(e);\n return new t(this.element, n);\n }\n }]), t;\n }();\n\n t.ListBlockNode = O;\n }, function (e, t, n) {\n e.exports = n(10);\n }, function (e, t, n) {\n \"use strict\";\n\n var r = c(n(11)),\n o = c(n(4)),\n i = c(n(24)),\n u = n(2);\n\n function c(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n\n e.exports = {\n asText: r.default,\n asTree: o.default.fromRichText,\n serialize: i.default,\n Elements: u.NODE_TYPES\n };\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.default = void 0;\n\n var r = function (e, t) {\n var n = \"string\" == typeof t ? t : \" \";\n return e.map(function (e) {\n return e.text;\n }).join(n);\n };\n\n t.default = r;\n }, function (e, t, n) {\n var r = n(0)(n(13)(!0));\n e.exports = r;\n }, function (e, t, n) {\n var r = n(14);\n\n e.exports = function (e) {\n return function t(n) {\n for (var o, i, u, c = [], a = 0, l = n.length; a < l;) {\n if (r(n[a])) for (u = 0, i = (o = e ? t(n[a]) : n[a]).length; u < i;) c[c.length] = o[u], u += 1;else c[c.length] = n[a];\n a += 1;\n }\n\n return c;\n };\n };\n }, function (e, t, n) {\n var r = n(0),\n o = n(5),\n i = n(6),\n u = r(function (e) {\n return !!o(e) || !!e && \"object\" == typeof e && !i(e) && (1 === e.nodeType ? !!e.length : 0 === e.length || e.length > 0 && e.hasOwnProperty(0) && e.hasOwnProperty(e.length - 1));\n });\n e.exports = u;\n }, function (e, t, n) {\n var r = n(1)(function (e, t) {\n return Array.prototype.slice.call(t, 0).sort(function (t, n) {\n var r = e(t),\n o = e(n);\n return r < o ? -1 : r > o ? 1 : 0;\n });\n });\n e.exports = r;\n }, function (e, t, n) {\n var r = n(1)(function (e, t) {\n return Array.prototype.slice.call(t, 0).sort(function (t, n) {\n for (var r = 0, o = 0; 0 === r && o < e.length;) r = e[o](t, n), o += 1;\n\n return r;\n });\n });\n e.exports = r;\n }, function (e, t, n) {\n var r = n(18)(0, -1);\n e.exports = r;\n }, function (e, t, n) {\n var r = n(19),\n o = n(20)(r(\"slice\", function (e, t, n) {\n return Array.prototype.slice.call(n, e, t);\n }));\n e.exports = o;\n }, function (e, t, n) {\n var r = n(5);\n\n e.exports = function (e, t) {\n return function () {\n var n = arguments.length;\n if (0 === n) return t();\n var o = arguments[n - 1];\n return r(o) || \"function\" != typeof o[e] ? t.apply(this, arguments) : o[e].apply(o, Array.prototype.slice.call(arguments, 0, n - 1));\n };\n };\n }, function (e, t, n) {\n var r = n(0),\n o = n(1),\n i = n(3);\n\n e.exports = function (e) {\n return function t(n, u, c) {\n switch (arguments.length) {\n case 0:\n return t;\n\n case 1:\n return i(n) ? t : o(function (t, r) {\n return e(n, t, r);\n });\n\n case 2:\n return i(n) && i(u) ? t : i(n) ? o(function (t, n) {\n return e(t, u, n);\n }) : i(u) ? o(function (t, r) {\n return e(n, t, r);\n }) : r(function (t) {\n return e(n, u, t);\n });\n\n default:\n return i(n) && i(u) && i(c) ? t : i(n) && i(u) ? o(function (t, n) {\n return e(t, n, c);\n }) : i(n) && i(c) ? o(function (t, n) {\n return e(t, u, n);\n }) : i(u) && i(c) ? o(function (t, r) {\n return e(n, t, r);\n }) : i(n) ? r(function (t) {\n return e(t, u, c);\n }) : i(u) ? r(function (t) {\n return e(n, t, c);\n }) : i(c) ? r(function (t) {\n return e(n, u, t);\n }) : e(n, u, c);\n }\n };\n };\n }, function (e, t, n) {\n var r = n(22)(-1);\n e.exports = r;\n }, function (e, t, n) {\n var r = n(1),\n o = n(6),\n i = r(function (e, t) {\n var n = e < 0 ? t.length + e : e;\n return o(t) ? t.charAt(n) : t[n];\n });\n e.exports = i;\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.RichTextBlock = void 0;\n var r = n(2);\n\n function o(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n var i = function () {\n function e(t, n, r) {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.type = t, this.text = n, this.spans = r;\n }\n\n var t, n, i;\n return t = e, i = [{\n key: \"isEmbedBlock\",\n value: function (e) {\n return e === r.NODE_TYPES.embed;\n }\n }, {\n key: \"isImageBlock\",\n value: function (e) {\n return e === r.NODE_TYPES.image;\n }\n }, {\n key: \"isList\",\n value: function (e) {\n return e === r.NODE_TYPES.list;\n }\n }, {\n key: \"isOrderedList\",\n value: function (e) {\n return e === r.NODE_TYPES.oList;\n }\n }, {\n key: \"isListItem\",\n value: function (e) {\n return e === r.NODE_TYPES.listItem;\n }\n }, {\n key: \"isOrderedListItem\",\n value: function (e) {\n return e === r.NODE_TYPES.oListItem;\n }\n }, {\n key: \"emptyList\",\n value: function () {\n return {\n type: r.NODE_TYPES.list,\n spans: [],\n text: \"\"\n };\n }\n }, {\n key: \"emptyOrderedList\",\n value: function () {\n return {\n type: r.NODE_TYPES.oList,\n spans: [],\n text: \"\"\n };\n }\n }], (n = null) && o(t.prototype, n), i && o(t, i), e;\n }();\n\n t.RichTextBlock = i;\n }, function (e, t, n) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.default = void 0;\n var r,\n o = (r = n(4)) && r.__esModule ? r : {\n default: r\n },\n i = n(8);\n\n var u = function (e, t, n) {\n return o.default.fromRichText(e).children.map(function (e, r) {\n return function (e, t, n, r) {\n return function e(n, o) {\n var u = n instanceof i.SpanNode ? n.text : null,\n c = n.children.reduce(function (t, n, r) {\n return t.concat([e(n, r)]);\n }, []),\n a = r && r(n.type, n.element, u, c, o);\n return a || t(n.type, n.element, u, c, o);\n }(e, n);\n }(e, t, r, n);\n });\n };\n\n t.default = u;\n }]);\n});\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/checkPropTypes.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/prop-types/checkPropTypes.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar printWarning = function () {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function (text) {\n var message = 'Warning: ' + text;\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\n\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n\n if (error && !(error instanceof Error)) {\n printWarning((componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).');\n }\n\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n var stack = getStack ? getStack() : '';\n printWarning('Failed ' + location + ' type: ' + error.message + (stack != null ? stack : ''));\n }\n }\n }\n }\n}\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\n\n\ncheckPropTypes.resetWarningCache = function () {\n if (true) {\n loggedTypeFailures = {};\n }\n};\n\nmodule.exports = checkPropTypes;\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/factoryWithTypeCheckers.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\n\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\n\nvar printWarning = function () {};\n\nif (true) {\n printWarning = function (text) {\n var message = 'Warning: ' + text;\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function (isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n\n var ANONYMOUS = '<<anonymous>>'; // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker\n };\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n\n /*eslint-disable no-self-compare*/\n\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n\n\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n } // Make `instanceof Error` still work for returned errors.\n\n\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n err.name = 'Invariant Violation';\n throw err;\n } else if ( true && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n\n if (!manualPropTypeCallCache[cacheKey] && // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3) {\n printWarning('You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.');\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n\n var propValue = props[propName];\n\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n\n if (error instanceof Error) {\n return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (true) {\n if (arguments.length > 1) {\n printWarning('Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).');\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n\n if (type === 'symbol') {\n return String(value);\n }\n\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n\n var propValue = props[propName];\n var propType = getPropType(propValue);\n\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\n if (error instanceof Error) {\n return error;\n }\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : undefined;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n\n if (typeof checker !== 'function') {\n printWarning('Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.');\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n\n if (!checker) {\n continue;\n }\n\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\n if (error) {\n return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n } // We need to check all keys in case some are required but missing from\n // props.\n\n\n var allKeys = assign({}, props[propName], shapeTypes);\n\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n\n if (!checker) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' '));\n }\n\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n\n if (error) {\n return error;\n }\n }\n\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n\n case 'boolean':\n return !propValue;\n\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n } // falsy value can't be a Symbol\n\n\n if (!propValue) {\n return false;\n } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\n\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n } // Fallback for non-spec compliant Symbols which are polyfilled.\n\n\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n } // Equivalent of `typeof` but with special handling for array and regexp.\n\n\n function getPropType(propValue) {\n var propType = typeof propValue;\n\n if (Array.isArray(propValue)) {\n return 'array';\n }\n\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n\n return propType;\n } // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n\n\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n\n var propType = getPropType(propValue);\n\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n\n return propType;\n } // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n\n\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n\n default:\n return type;\n }\n } // Returns class name of the object, if any.\n\n\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n return ReactPropTypes;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/index.js\":\n/*!******************************************!*\\\n !*** ./node_modules/prop-types/index.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\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 */\nif (true) {\n var ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\"); // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n\n\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ \"./node_modules/prop-types/factoryWithTypeCheckers.js\")(ReactIs.isElement, throwOnDirectAccess);\n} else {}\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\nmodule.exports = ReactPropTypesSecret;\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/cjs/react-is.development.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/react-is/cjs/react-is.development.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.9.0\n * react-is.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 */\n\n\nif (true) {\n (function () {\n 'use strict';\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n }); // The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n // nor polyfill, then a plain number is used for performance.\n\n var hasSymbol = typeof Symbol === 'function' && Symbol.for;\n var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\n var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\n var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\n var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\n var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\n var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\n var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n // (unstable) APIs that have been removed. Can we remove the symbols?\n\n var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\n var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\n var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\n var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\n var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\n var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\n var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\n var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\n\n function isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE);\n }\n /**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\n var lowPriorityWarning = function () {};\n\n {\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n }\n var lowPriorityWarning$1 = lowPriorityWarning;\n\n function typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n } // AsyncMode is deprecated along with isAsyncMode\n\n\n var AsyncMode = REACT_ASYNC_MODE_TYPE;\n var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\n var ContextConsumer = REACT_CONTEXT_TYPE;\n var ContextProvider = REACT_PROVIDER_TYPE;\n var Element = REACT_ELEMENT_TYPE;\n var ForwardRef = REACT_FORWARD_REF_TYPE;\n var Fragment = REACT_FRAGMENT_TYPE;\n var Lazy = REACT_LAZY_TYPE;\n var Memo = REACT_MEMO_TYPE;\n var Portal = REACT_PORTAL_TYPE;\n var Profiler = REACT_PROFILER_TYPE;\n var StrictMode = REACT_STRICT_MODE_TYPE;\n var Suspense = REACT_SUSPENSE_TYPE;\n var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\n function isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n }\n\n function isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n }\n\n function isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n }\n\n function isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n }\n\n function isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n\n function isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n }\n\n function isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n }\n\n function isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n }\n\n function isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n }\n\n function isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n }\n\n function isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n }\n\n function isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n }\n\n function isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n }\n\n exports.typeOf = typeOf;\n exports.AsyncMode = AsyncMode;\n exports.ConcurrentMode = ConcurrentMode;\n exports.ContextConsumer = ContextConsumer;\n exports.ContextProvider = ContextProvider;\n exports.Element = Element;\n exports.ForwardRef = ForwardRef;\n exports.Fragment = Fragment;\n exports.Lazy = Lazy;\n exports.Memo = Memo;\n exports.Portal = Portal;\n exports.Profiler = Profiler;\n exports.StrictMode = StrictMode;\n exports.Suspense = Suspense;\n exports.isValidElementType = isValidElementType;\n exports.isAsyncMode = isAsyncMode;\n exports.isConcurrentMode = isConcurrentMode;\n exports.isContextConsumer = isContextConsumer;\n exports.isContextProvider = isContextProvider;\n exports.isElement = isElement;\n exports.isForwardRef = isForwardRef;\n exports.isFragment = isFragment;\n exports.isLazy = isLazy;\n exports.isMemo = isMemo;\n exports.isPortal = isPortal;\n exports.isProfiler = isProfiler;\n exports.isStrictMode = isStrictMode;\n exports.isSuspense = isSuspense;\n })();\n}\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/index.js\":\n/*!****************************************!*\\\n !*** ./node_modules/react-is/index.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/react-is/cjs/react-is.development.js\");\n}\n\n/***/ }),\n\n/***/ \"./src/Component.js\":\n/*!**************************!*\\\n !*** ./src/Component.js ***!\n \\**************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prismic_richtext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prismic-richtext */ \"./node_modules/prismic-richtext/dist/prismic-richtext.min.js\");\n/* harmony import */ var prismic_richtext__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prismic_richtext__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _richtext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./richtext */ \"./src/richtext.js\");\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\nvar createHtmlSerializer = function createHtmlSerializer() {\n var bucket = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var serializers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var processors = serializers.reduce(function (acc, _ref) {\n var type = _ref.type,\n fn = _ref.fn;\n return Object.assign({}, acc, _defineProperty({}, type, fn));\n }, {});\n return function (type) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return processors[type] ? processors[type].apply(processors, [type].concat(args)) : null;\n };\n};\n\nvar RichText = function RichText(_ref2) {\n var Component = _ref2.Component,\n elements = _ref2.elements,\n htmlSerializer = _ref2.htmlSerializer,\n linkResolver = _ref2.linkResolver,\n render = _ref2.render,\n renderAsText = _ref2.renderAsText,\n serializeHyperlink = _ref2.serializeHyperlink,\n rest = _objectWithoutProperties(_ref2, [\"Component\", \"elements\", \"htmlSerializer\", \"linkResolver\", \"render\", \"renderAsText\", \"serializeHyperlink\"]);\n\n var maybeSerializer = htmlSerializer || serializeHyperlink && createHtmlSerializer({}, [{\n type: prismic_richtext__WEBPACK_IMPORTED_MODULE_2__[\"Elements\"].hyperlink,\n fn: serializeHyperlink\n }]);\n return render ? Object(_richtext__WEBPACK_IMPORTED_MODULE_3__[\"renderRichText\"])(render, linkResolver, maybeSerializer, Component, elements, rest) : null;\n};\n\nRichText.propTypes = {\n Component: prop_types__WEBPACK_IMPORTED_MODULE_1__[\"elementType\"],\n linkResolver: prop_types__WEBPACK_IMPORTED_MODULE_1__[\"func\"],\n htmlSerializer: prop_types__WEBPACK_IMPORTED_MODULE_1__[\"func\"],\n elements: prop_types__WEBPACK_IMPORTED_MODULE_1__[\"object\"],\n serializeHyperlink: function serializeHyperlink(props, _, componentName) {\n if (props.serializeHyperlink && props.htmlSerializer) {\n return new Error(\"You cannot specify both 'htmlSerializer' and 'serializeHyperlink'. The latter will be ignored by '\".concat(componentName, \"'.\"));\n }\n },\n render: function render(props, _, componentName) {\n if (!props.render) {\n return new Error(\"Prop 'render' was not specified in '\".concat(componentName, \"'.\"));\n }\n }\n};\nRichText.asText = _richtext__WEBPACK_IMPORTED_MODULE_3__[\"asText\"];\nRichText.render = _richtext__WEBPACK_IMPORTED_MODULE_3__[\"renderRichText\"];\nRichText.displayName = 'RichText';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RichText);\n\n/***/ }),\n\n/***/ \"./src/embeds.js\":\n/*!***********************!*\\\n !*** ./src/embeds.js ***!\n \\***********************/\n/*! exports provided: createScript, embeds */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createScript\", function() { return createScript; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"embeds\", function() { return embeds; });\nfunction createScript(_ref) {\n var property = _ref.property,\n src = _ref.src,\n id = _ref.id;\n\n if (!window) {\n return;\n }\n\n (function (src, id) {\n var js,\n fjs = document.getElementsByTagName('script')[0],\n t = window[property] || {};\n\n if (document.getElementById(id)) {\n return t;\n }\n\n js = document.createElement('script');\n js.id = id;\n js.src = src;\n fjs.parentNode.insertBefore(js, fjs);\n t._e = [];\n\n t.ready = function (f) {\n t._e.push(f);\n };\n\n return t;\n })(src, id);\n}\nvar embeds = {\n Twitter: {\n property: 'twttr',\n src: 'https://platform.twitter.com/widgets.js',\n id: 'twitter-wjs',\n load: function load() {\n if (window && window.twttr && window.twttr.widgets) {\n window.twttr.widgets.load();\n }\n }\n },\n Facebook: {\n property: 'FB',\n src: 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.3',\n id: 'fb-wjs',\n load: function load(ref) {\n if (window && window.FB) {\n window.FB.XFBML.parse(ref);\n }\n }\n },\n Instagram: {\n property: 'instgrm',\n src: 'https://www.instagram.com/embed.js',\n id: 'insta-wjs',\n load: function load() {\n if (window && window.instgrm) {\n window.instgrm.Embeds.process();\n }\n }\n }\n};\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar PrismicHelpers = __webpack_require__(/*! prismic-helpers */ \"./node_modules/prismic-helpers/dist/prismic-helpers.min.js\");\n\nvar PrismicRichText = __webpack_require__(/*! prismic-richtext */ \"./node_modules/prismic-richtext/dist/prismic-richtext.min.js\");\n\nvar Component = __webpack_require__(/*! ./Component */ \"./src/Component.js\");\n\nmodule.exports = {\n Date: PrismicHelpers.Date,\n Elements: PrismicRichText.Elements,\n Link: PrismicHelpers.Link,\n RichText: Component[\"default\"]\n};\n\n/***/ }),\n\n/***/ \"./src/richtext.js\":\n/*!*************************!*\\\n !*** ./src/richtext.js ***!\n \\*************************/\n/*! exports provided: asText, renderRichText */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asText\", function() { return asText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderRichText\", function() { return renderRichText; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prismic_richtext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prismic-richtext */ \"./node_modules/prismic-richtext/dist/prismic-richtext.min.js\");\n/* harmony import */ var prismic_richtext__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prismic_richtext__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prismic_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prismic-helpers */ \"./node_modules/prismic-helpers/dist/prismic-helpers.min.js\");\n/* harmony import */ var prismic_helpers__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prismic_helpers__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _embeds__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embeds */ \"./src/embeds.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\nvar createScript = typeof window !== \"undefined\" ? __webpack_require__(/*! ./embeds */ \"./src/embeds.js\").createScript : function () {};\n\nfunction serialize(linkResolver, elements, type, element, content, children, index) {\n if (elements[type]) {\n return serializeElement(elements[type], type, element, content, children, index);\n }\n\n switch (type) {\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].heading1:\n return serializeStandardTag('h1', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].heading2:\n return serializeStandardTag('h2', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].heading3:\n return serializeStandardTag('h3', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].heading4:\n return serializeStandardTag('h4', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].heading5:\n return serializeStandardTag('h5', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].heading6:\n return serializeStandardTag('h6', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].paragraph:\n return serializeStandardTag('p', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].preformatted:\n return serializeStandardTag('pre', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].strong:\n return serializeStandardTag('strong', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].em:\n return serializeStandardTag('em', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].listItem:\n return serializeStandardTag('li', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].oListItem:\n return serializeStandardTag('li', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].list:\n return serializeStandardTag('ul', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].oList:\n return serializeStandardTag('ol', element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].image:\n return serializeImage(linkResolver, element, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].embed:\n return serializeEmbed(element, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].hyperlink:\n return serializeHyperlink(linkResolver, element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].label:\n return serializeLabel(element, children, index);\n\n case prismic_richtext__WEBPACK_IMPORTED_MODULE_1__[\"Elements\"].span:\n return serializeSpan(content);\n\n default:\n return null;\n }\n}\n\nfunction propsWithUniqueKey() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var key = arguments.length > 1 ? arguments[1] : undefined;\n return Object.assign(props, {\n key: key\n });\n}\n\nfunction serializeElement(Element, type, props, content, children, index) {\n return Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(Element, _objectSpread({\n key: \"element-\".concat(type, \"-\").concat(index + 1)\n }, props, {\n children: children && children.length ? children : undefined\n }, type === 'image' ? {\n src: props.url,\n url: undefined\n } : null));\n}\n\nfunction serializeStandardTag(tag, element, children, key) {\n var props = element.label ? Object.assign({}, {\n className: element.label\n }) : {};\n return Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(tag, propsWithUniqueKey(props, key), children);\n}\n\nfunction serializeHyperlink(linkResolver, element, children, key) {\n var targetAttr = element.data.target ? {\n target: element.data.target\n } : {};\n var relAttr = element.data.target ? {\n rel: 'noopener'\n } : {};\n var props = Object.assign({\n href: prismic_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Link\"].url(element.data, linkResolver)\n }, targetAttr, relAttr);\n return Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])('a', propsWithUniqueKey(props, key), children);\n}\n\nfunction serializeLabel(element, children, key) {\n var props = element.data ? Object.assign({}, {\n className: element.data.label\n }) : {};\n return Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])('span', propsWithUniqueKey(props, key), children);\n}\n\nfunction serializeSpan(content) {\n if (content) {\n return content.split(\"\\n\").reduce(function (acc, p) {\n if (acc.length === 0) {\n return [p];\n } else {\n var brIndex = (acc.length + 1) / 2 - 1;\n var br = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])('br', propsWithUniqueKey({}, brIndex));\n return acc.concat([br, p]);\n }\n }, []);\n } else {\n return null;\n }\n}\n\nfunction serializeImage(linkResolver, element, key) {\n var linkUrl = element.linkTo ? prismic_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Link\"].url(element.linkTo, linkResolver) : null;\n var linkTarget = element.linkTo && element.linkTo.target ? {\n target: element.linkTo.target\n } : {};\n var relAttr = linkTarget.target ? {\n rel: 'noopener'\n } : {};\n var img = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])('img', {\n src: element.url,\n alt: element.alt || ''\n });\n return Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])('p', propsWithUniqueKey({\n className: [element.label || '', 'block-img'].join(' ')\n }, key), linkUrl ? Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])('a', Object.assign({\n href: linkUrl\n }, linkTarget, relAttr), img) : img);\n}\n\nfunction serializeEmbed(element, key) {\n if (_embeds__WEBPACK_IMPORTED_MODULE_3__[\"embeds\"][element.oembed.provider_name]) {\n createScript(_embeds__WEBPACK_IMPORTED_MODULE_3__[\"embeds\"][element.oembed.provider_name]);\n }\n\n var className = \"embed embed-\".concat(element.oembed.provider_name.toLowerCase());\n var props = Object.assign({\n \"data-oembed\": element.oembed.embed_url,\n \"data-oembed-type\": element.oembed.type,\n \"data-oembed-provider\": element.oembed.provider_name,\n ref: function ref(_ref) {\n if (_embeds__WEBPACK_IMPORTED_MODULE_3__[\"embeds\"][element.oembed.provider_name]) {\n _embeds__WEBPACK_IMPORTED_MODULE_3__[\"embeds\"][element.oembed.provider_name].load(_ref);\n }\n }\n }, element.label ? {\n className: \"\".concat(className, \" \").concat(element.label)\n } : {\n className: className\n });\n var embedHtml = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])('div', {\n dangerouslySetInnerHTML: {\n __html: element.oembed.html\n }\n });\n return Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])('div', propsWithUniqueKey(props, key), embedHtml);\n}\n\nvar asText = function asText(structuredText) {\n if (Object.prototype.toString.call(structuredText) !== '[object Array]') {\n console.warn(\"Rich text argument should be an Array. Received \".concat(_typeof(structuredText)));\n return null;\n }\n\n return prismic_richtext__WEBPACK_IMPORTED_MODULE_1___default.a.asText(structuredText);\n};\nvar renderRichText = function renderRichText(richText, linkResolver, htmlSerializer) {\n var Component = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : react__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"];\n var elements = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n var args = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (Object.prototype.toString.call(richText) !== '[object Array]') {\n console.warn(\"Rich text argument should be an Array. Received \".concat(_typeof(richText)));\n return null;\n }\n\n var serializedChildren = prismic_richtext__WEBPACK_IMPORTED_MODULE_1___default.a.serialize(richText, serialize.bind(null, linkResolver, elements), htmlSerializer);\n return Object(react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(Component, args, serializedChildren);\n};\n\n/***/ }),\n\n/***/ 0:\n/*!****************************!*\\\n !*** multi ./src/index.js ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! D:\\Libraries\\Desktop\\prismic\\sdk\\reactjs/src/index.js */\"./src/index.js\");\n\n\n/***/ }),\n\n/***/ \"react\":\n/*!************************!*\\\n !*** external \"react\" ***!\n \\************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_react__;\n\n/***/ })\n\n/******/ });\n});","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport enum EventType {\n INITIALIZE_START = \"msal:initializeStart\",\n INITIALIZE_END = \"msal:initializeEnd\",\n ACCOUNT_ADDED = \"msal:accountAdded\",\n ACCOUNT_REMOVED = \"msal:accountRemoved\",\n LOGIN_START = \"msal:loginStart\",\n LOGIN_SUCCESS = \"msal:loginSuccess\",\n LOGIN_FAILURE = \"msal:loginFailure\",\n ACQUIRE_TOKEN_START = \"msal:acquireTokenStart\",\n ACQUIRE_TOKEN_SUCCESS = \"msal:acquireTokenSuccess\",\n ACQUIRE_TOKEN_FAILURE = \"msal:acquireTokenFailure\",\n ACQUIRE_TOKEN_NETWORK_START = \"msal:acquireTokenFromNetworkStart\",\n SSO_SILENT_START = \"msal:ssoSilentStart\",\n SSO_SILENT_SUCCESS = \"msal:ssoSilentSuccess\",\n SSO_SILENT_FAILURE = \"msal:ssoSilentFailure\",\n ACQUIRE_TOKEN_BY_CODE_START = \"msal:acquireTokenByCodeStart\",\n ACQUIRE_TOKEN_BY_CODE_SUCCESS = \"msal:acquireTokenByCodeSuccess\",\n ACQUIRE_TOKEN_BY_CODE_FAILURE = \"msal:acquireTokenByCodeFailure\",\n HANDLE_REDIRECT_START = \"msal:handleRedirectStart\",\n HANDLE_REDIRECT_END = \"msal:handleRedirectEnd\",\n POPUP_OPENED = \"msal:popupOpened\",\n LOGOUT_START = \"msal:logoutStart\",\n LOGOUT_SUCCESS = \"msal:logoutSuccess\",\n LOGOUT_FAILURE = \"msal:logoutFailure\",\n LOGOUT_END = \"msal:logoutEnd\"\n}\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar identity = function identity(i) {\n return i;\n};\n\nexport var PLACE_HOLDER = {\n '@@functional/placeholder': true\n};\n\nvar isPlaceHolder = function isPlaceHolder(val) {\n return val === PLACE_HOLDER;\n};\n\nvar curry0 = function curry0(fn) {\n return function _curried() {\n if (arguments.length === 0 || arguments.length === 1 && isPlaceHolder(arguments.length <= 0 ? undefined : arguments[0])) {\n return _curried;\n }\n\n return fn.apply(void 0, arguments);\n };\n};\n\nvar curryN = function curryN(n, fn) {\n if (n === 1) {\n return fn;\n }\n\n return curry0(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsLength = args.filter(function (arg) {\n return arg !== PLACE_HOLDER;\n }).length;\n\n if (argsLength >= n) {\n return fn.apply(void 0, args);\n }\n\n return curryN(n - argsLength, curry0(function () {\n for (var _len2 = arguments.length, restArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n restArgs[_key2] = arguments[_key2];\n }\n\n var newArgs = args.map(function (arg) {\n return isPlaceHolder(arg) ? restArgs.shift() : arg;\n });\n return fn.apply(void 0, _toConsumableArray(newArgs).concat(restArgs));\n }));\n });\n};\n\nexport var curry = function curry(fn) {\n return curryN(fn.length, fn);\n};\nexport var range = function range(begin, end) {\n var arr = [];\n\n for (var i = begin; i < end; ++i) {\n arr[i - begin] = i;\n }\n\n return arr;\n};\nexport var map = curry(function (fn, arr) {\n if (Array.isArray(arr)) {\n return arr.map(fn);\n }\n\n return Object.keys(arr).map(function (key) {\n return arr[key];\n }).map(fn);\n});\nexport var compose = function compose() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var reverse = function reverse(arr) {\n if (Array.isArray(arr)) {\n return arr.reverse();\n } // can be string\n\n\n return arr.split('').reverse.join('');\n};\nexport var memoize = function memoize(fn) {\n var lastArgs = null;\n var lastResult = null;\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n if (lastArgs && args.every(function (val, i) {\n return val === lastArgs[i];\n })) {\n return lastResult;\n }\n\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n return lastResult;\n };\n};","/**\n * @fileOverview 一些公用的运算方法\n * @author xile611\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { curry } from './utils';\n/**\n * 获取数值的位数\n * 其中绝对值属于区间[0.1, 1), 得到的值为0\n * 绝对值属于区间[0.01, 0.1),得到的位数为 -1\n * 绝对值属于区间[0.001, 0.01),得到的位数为 -2\n *\n * @param {Number} value 数值\n * @return {Integer} 位数\n */\n\nfunction getDigitCount(value) {\n var result;\n\n if (value === 0) {\n result = 1;\n } else {\n result = Math.floor(new Decimal(value).abs().log(10).toNumber()) + 1;\n }\n\n return result;\n}\n/**\n * 按照固定的步长获取[start, end)这个区间的数据\n * 并且需要处理js计算精度的问题\n *\n * @param {Decimal} start 起点\n * @param {Decimal} end 终点,不包含该值\n * @param {Decimal} step 步长\n * @return {Array} 若干数值\n */\n\n\nfunction rangeStep(start, end, step) {\n var num = new Decimal(start);\n var i = 0;\n var result = []; // magic number to prevent infinite loop\n\n while (num.lt(end) && i < 100000) {\n result.push(num.toNumber());\n num = num.add(step);\n i++;\n }\n\n return result;\n}\n/**\n * 对数值进行线性插值\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} t [0, 1]内的某个值\n * @return {Number} 定义域内的某个值\n */\n\n\nvar interpolateNumber = curry(function (a, b, t) {\n var newA = +a;\n var newB = +b;\n return newA + t * (newB - newA);\n});\n/**\n * 线性插值的逆运算\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个范围内时,返回值属于[0, 1]\n */\n\nvar uninterpolateNumber = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return (x - a) / diff;\n});\n/**\n * 线性插值的逆运算,并且有截断的操作\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个区间内时,返回值属于[0, 1],\n * 当x不在 a ~ b这个区间时,会截断到 a ~ b 这个区间\n */\n\nvar uninterpolateTruncation = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return Math.max(0, Math.min(1, (x - a) / diff));\n});\nexport default {\n rangeStep: rangeStep,\n getDigitCount: getDigitCount,\n interpolateNumber: interpolateNumber,\n uninterpolateNumber: uninterpolateNumber,\n uninterpolateTruncation: uninterpolateTruncation\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview calculate tick values of scale\n * @author xile611, arcthur\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { compose, range, memoize, map, reverse } from './util/utils';\nimport Arithmetic from './util/arithmetic';\n/**\n * Calculate a interval of a minimum value and a maximum value\n *\n * @param {Number} min The minimum value\n * @param {Number} max The maximum value\n * @return {Array} An interval\n */\n\nfunction getValidInterval(_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n min = _ref2[0],\n max = _ref2[1];\n\n var validMin = min,\n validMax = max; // exchange\n\n if (min > max) {\n validMin = max;\n validMax = min;\n }\n\n return [validMin, validMax];\n}\n/**\n * Calculate the step which is easy to understand between ticks, like 10, 20, 25\n *\n * @param {Decimal} roughStep The rough step calculated by deviding the\n * difference by the tickCount\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Integer} correctionFactor A correction factor\n * @return {Decimal} The step which is easy to understand between two ticks\n */\n\n\nfunction getFormatStep(roughStep, allowDecimals, correctionFactor) {\n if (roughStep.lte(0)) {\n return new Decimal(0);\n }\n\n var digitCount = Arithmetic.getDigitCount(roughStep.toNumber()); // The ratio between the rough step and the smallest number which has a bigger\n // order of magnitudes than the rough step\n\n var digitCountValue = new Decimal(10).pow(digitCount);\n var stepRatio = roughStep.div(digitCountValue); // When an integer and a float multiplied, the accuracy of result may be wrong\n\n var stepRatioScale = digitCount !== 1 ? 0.05 : 0.1;\n var amendStepRatio = new Decimal(Math.ceil(stepRatio.div(stepRatioScale).toNumber())).add(correctionFactor).mul(stepRatioScale);\n var formatStep = amendStepRatio.mul(digitCountValue);\n return allowDecimals ? formatStep : new Decimal(Math.ceil(formatStep));\n}\n/**\n * calculate the ticks when the minimum value equals to the maximum value\n *\n * @param {Number} value The minimum valuue which is also the maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickOfSingleValue(value, tickCount, allowDecimals) {\n var step = 1; // calculate the middle value of ticks\n\n var middle = new Decimal(value);\n\n if (!middle.isint() && allowDecimals) {\n var absVal = Math.abs(value);\n\n if (absVal < 1) {\n // The step should be a float number when the difference is smaller than 1\n step = new Decimal(10).pow(Arithmetic.getDigitCount(value) - 1);\n middle = new Decimal(Math.floor(middle.div(step).toNumber())).mul(step);\n } else if (absVal > 1) {\n // Return the maximum integer which is smaller than 'value' when 'value' is greater than 1\n middle = new Decimal(Math.floor(value));\n }\n } else if (value === 0) {\n middle = new Decimal(Math.floor((tickCount - 1) / 2));\n } else if (!allowDecimals) {\n middle = new Decimal(Math.floor(value));\n }\n\n var middleIndex = Math.floor((tickCount - 1) / 2);\n var fn = compose(map(function (n) {\n return middle.add(new Decimal(n - middleIndex).mul(step)).toNumber();\n }), range);\n return fn(0, tickCount);\n}\n/**\n * Calculate the step\n *\n * @param {Number} min The minimum value of an interval\n * @param {Number} max The maximum value of an interval\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Number} correctionFactor A correction factor\n * @return {Object} The step, minimum value of ticks, maximum value of ticks\n */\n\n\nfunction calculateStep(min, max, tickCount, allowDecimals) {\n var correctionFactor = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n\n // dirty hack (for recharts' test)\n if (!Number.isFinite((max - min) / (tickCount - 1))) {\n return {\n step: new Decimal(0),\n tickMin: new Decimal(0),\n tickMax: new Decimal(0)\n };\n } // The step which is easy to understand between two ticks\n\n\n var step = getFormatStep(new Decimal(max).sub(min).div(tickCount - 1), allowDecimals, correctionFactor); // A medial value of ticks\n\n var middle; // When 0 is inside the interval, 0 should be a tick\n\n if (min <= 0 && max >= 0) {\n middle = new Decimal(0);\n } else {\n // calculate the middle value\n middle = new Decimal(min).add(max).div(2); // minus modulo value\n\n middle = middle.sub(new Decimal(middle).mod(step));\n }\n\n var belowCount = Math.ceil(middle.sub(min).div(step).toNumber());\n var upCount = Math.ceil(new Decimal(max).sub(middle).div(step).toNumber());\n var scaleCount = belowCount + upCount + 1;\n\n if (scaleCount > tickCount) {\n // When more ticks need to cover the interval, step should be bigger.\n return calculateStep(min, max, tickCount, allowDecimals, correctionFactor + 1);\n }\n\n if (scaleCount < tickCount) {\n // When less ticks can cover the interval, we should add some additional ticks\n upCount = max > 0 ? upCount + (tickCount - scaleCount) : upCount;\n belowCount = max > 0 ? belowCount : belowCount + (tickCount - scaleCount);\n }\n\n return {\n step: step,\n tickMin: middle.sub(new Decimal(belowCount).mul(step)),\n tickMax: middle.add(new Decimal(upCount).mul(step))\n };\n}\n/**\n * Calculate the ticks of an interval, the count of ticks will be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getNiceTickValuesFn(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n min = _ref4[0],\n max = _ref4[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval = getValidInterval([min, max]),\n _getValidInterval2 = _slicedToArray(_getValidInterval, 2),\n cormin = _getValidInterval2[0],\n cormax = _getValidInterval2[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n var _values = cormax === Infinity ? [cormin].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return Infinity;\n }))) : [].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return -Infinity;\n })), [cormax]);\n\n return min > max ? reverse(_values) : _values;\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n } // Get the step between two ticks\n\n\n var _calculateStep = calculateStep(cormin, cormax, count, allowDecimals),\n step = _calculateStep.step,\n tickMin = _calculateStep.tickMin,\n tickMax = _calculateStep.tickMax;\n\n var values = Arithmetic.rangeStep(tickMin, tickMax.add(new Decimal(0.1).mul(step)), step);\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFn(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n min = _ref6[0],\n max = _ref6[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval3 = getValidInterval([min, max]),\n _getValidInterval4 = _slicedToArray(_getValidInterval3, 2),\n cormin = _getValidInterval4[0],\n cormax = _getValidInterval4[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n }\n\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var fn = compose(map(function (n) {\n return new Decimal(cormin).add(new Decimal(n).mul(step)).toNumber();\n }), range);\n var values = fn(0, count).filter(function (entry) {\n return entry >= cormin && entry <= cormax;\n });\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed,\n * but the domain will be guaranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFixedDomainFn(_ref7, tickCount) {\n var _ref8 = _slicedToArray(_ref7, 2),\n min = _ref8[0],\n max = _ref8[1];\n\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n // More than two ticks should be return\n var _getValidInterval5 = getValidInterval([min, max]),\n _getValidInterval6 = _slicedToArray(_getValidInterval5, 2),\n cormin = _getValidInterval6[0],\n cormax = _getValidInterval6[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return [cormin];\n }\n\n var count = Math.max(tickCount, 2);\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var values = [].concat(_toConsumableArray(Arithmetic.rangeStep(new Decimal(cormin), new Decimal(cormax).sub(new Decimal(0.99).mul(step)), step)), [cormax]);\n return min > max ? reverse(values) : values;\n}\n\nexport var getNiceTickValues = memoize(getNiceTickValuesFn);\nexport var getTickValues = memoize(getTickValuesFn);\nexport var getTickValuesFixedDomain = memoize(getTickValuesFixedDomainFn);","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i, n = sz.length, j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = array(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import _isEqual from \"lodash/isEqual\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isNaN from \"lodash/isNaN\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isString from \"lodash/isString\";\nimport _isArray from \"lodash/isArray\";\nimport _max from \"lodash/max\";\nimport _min from \"lodash/min\";\nimport _flatMap from \"lodash/flatMap\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getNiceTickValues, getTickValuesFixedDomain } from 'recharts-scale';\nimport * as d3Scales from 'd3-scale';\nimport { stack as shapeStack, stackOrderNone, stackOffsetExpand, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle } from 'd3-shape';\nimport { isNumOrStr, uniqueId, isNumber, getPercentValue, mathSign, findEntryInArray } from './DataUtils';\nimport { Legend } from '../component/Legend';\nimport { findAllByType, findChildByType, getDisplayName } from './ReactUtils'; // TODO: Cause of circular dependency. Needs refactor.\n// import { RadiusAxisProps, AngleAxisProps } from '../polar/types';\n\nimport { filterProps } from './types';\nexport function getValueByDataKey(obj, dataKey, defaultValue) {\n if (_isNil(obj) || _isNil(dataKey)) {\n return defaultValue;\n }\n\n if (isNumOrStr(dataKey)) {\n return _get(obj, dataKey, defaultValue);\n }\n\n if (_isFunction(dataKey)) {\n return dataKey(obj);\n }\n\n return defaultValue;\n}\n/**\n * Get domain of data by key\n * @param {Array} data The data displayed in the chart\n * @param {String} key The unique key of a group of data\n * @param {String} type The type of axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain of data\n */\n\nexport function getDomainOfDataByKey(data, key, type, filterNil) {\n var flattenData = _flatMap(data, function (entry) {\n return getValueByDataKey(entry, key);\n });\n\n if (type === 'number') {\n var domain = flattenData.filter(function (entry) {\n return isNumber(entry) || parseFloat(entry);\n });\n return domain.length ? [_min(domain), _max(domain)] : [Infinity, -Infinity];\n }\n\n var validateData = filterNil ? flattenData.filter(function (entry) {\n return !_isNil(entry);\n }) : flattenData; // 支持Date类型的x轴\n\n return validateData.map(function (entry) {\n return isNumOrStr(entry) || entry instanceof Date ? entry : '';\n });\n}\nexport var calculateActiveTickIndex = function calculateActiveTickIndex(coordinate) {\n var _ticks$length;\n\n var ticks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var unsortedTicks = arguments.length > 2 ? arguments[2] : undefined;\n var axis = arguments.length > 3 ? arguments[3] : undefined;\n var index = -1;\n var len = (_ticks$length = ticks === null || ticks === void 0 ? void 0 : ticks.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n\n if (len > 1) {\n if (axis && axis.axisType === 'angleAxis' && Math.abs(Math.abs(axis.range[1] - axis.range[0]) - 360) <= 1e-6) {\n var range = axis.range; // ticks are distributed in a circle\n\n for (var i = 0; i < len; i++) {\n var before = i > 0 ? unsortedTicks[i - 1].coordinate : unsortedTicks[len - 1].coordinate;\n var cur = unsortedTicks[i].coordinate;\n var after = i >= len - 1 ? unsortedTicks[0].coordinate : unsortedTicks[i + 1].coordinate;\n var sameDirectionCoord = void 0;\n\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n\n if (mathSign(after - cur) === mathSign(range[1] - range[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range[1] - range[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range[1] - range[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n index = unsortedTicks[i].index;\n break;\n }\n } else {\n var min = Math.min(before, after);\n var max = Math.max(before, after);\n\n if (coordinate > (min + cur) / 2 && coordinate <= (max + cur) / 2) {\n index = unsortedTicks[i].index;\n break;\n }\n }\n }\n } else {\n // ticks are distributed in a single direction\n for (var _i = 0; _i < len; _i++) {\n if (_i === 0 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i > 0 && _i < len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i === len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2) {\n index = ticks[_i].index;\n break;\n }\n }\n }\n } else {\n index = 0;\n }\n\n return index;\n};\n/**\n * Get the main color of each graphic item\n * @param {ReactElement} item A graphic item\n * @return {String} Color\n */\n\nexport var getMainColorOfGraphicItem = function getMainColorOfGraphicItem(item) {\n var _ref = item,\n displayName = _ref.type.displayName; // TODO: check if displayName is valid.\n\n var _item$props = item.props,\n stroke = _item$props.stroke,\n fill = _item$props.fill;\n var result;\n\n switch (displayName) {\n case 'Line':\n result = stroke;\n break;\n\n case 'Area':\n case 'Radar':\n result = stroke && stroke !== 'none' ? stroke : fill;\n break;\n\n default:\n result = fill;\n break;\n }\n\n return result;\n};\nexport var getLegendProps = function getLegendProps(_ref2) {\n var children = _ref2.children,\n formattedGraphicalItems = _ref2.formattedGraphicalItems,\n legendWidth = _ref2.legendWidth,\n legendContent = _ref2.legendContent;\n var legendItem = findChildByType(children, Legend.displayName);\n\n if (!legendItem) {\n return null;\n }\n\n var legendData;\n\n if (legendItem.props && legendItem.props.payload) {\n legendData = legendItem.props && legendItem.props.payload;\n } else if (legendContent === 'children') {\n legendData = (formattedGraphicalItems || []).reduce(function (result, _ref3) {\n var item = _ref3.item,\n props = _ref3.props;\n var data = props.sectors || props.data || [];\n return result.concat(data.map(function (entry) {\n return {\n type: legendItem.props.iconType || item.props.legendType,\n value: entry.name,\n color: entry.fill,\n payload: entry\n };\n }));\n }, []);\n } else {\n legendData = (formattedGraphicalItems || []).map(function (_ref4) {\n var item = _ref4.item;\n var _item$props2 = item.props,\n dataKey = _item$props2.dataKey,\n name = _item$props2.name,\n legendType = _item$props2.legendType,\n hide = _item$props2.hide;\n return {\n inactive: hide,\n dataKey: dataKey,\n type: legendItem.props.iconType || legendType || 'square',\n color: getMainColorOfGraphicItem(item),\n value: name || dataKey,\n payload: item.props\n };\n });\n }\n\n return _objectSpread(_objectSpread(_objectSpread({}, legendItem.props), Legend.getWithHeight(legendItem, legendWidth)), {}, {\n payload: legendData,\n item: legendItem\n });\n};\n/**\n * Calculate the size of all groups for stacked bar graph\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @return {Object} The size of all groups\n */\n\nexport var getBarSizeList = function getBarSizeList(_ref5) {\n var globalSize = _ref5.barSize,\n _ref5$stackGroups = _ref5.stackGroups,\n stackGroups = _ref5$stackGroups === void 0 ? {} : _ref5$stackGroups;\n\n if (!stackGroups) {\n return {};\n }\n\n var result = {};\n var numericAxisIds = Object.keys(stackGroups);\n\n for (var i = 0, len = numericAxisIds.length; i < len; i++) {\n var sgs = stackGroups[numericAxisIds[i]].stackGroups;\n var stackIds = Object.keys(sgs);\n\n for (var j = 0, sLen = stackIds.length; j < sLen; j++) {\n var _sgs$stackIds$j = sgs[stackIds[j]],\n items = _sgs$stackIds$j.items,\n cateAxisId = _sgs$stackIds$j.cateAxisId;\n var barItems = items.filter(function (item) {\n return getDisplayName(item.type).indexOf('Bar') >= 0;\n });\n\n if (barItems && barItems.length) {\n var selfSize = barItems[0].props.barSize;\n var cateId = barItems[0].props[cateAxisId];\n\n if (!result[cateId]) {\n result[cateId] = [];\n }\n\n result[cateId].push({\n item: barItems[0],\n stackList: barItems.slice(1),\n barSize: _isNil(selfSize) ? globalSize : selfSize\n });\n }\n }\n }\n\n return result;\n};\n/**\n * Calculate the size of each bar and the gap between two bars\n * @param {Number} bandSize The size of each category\n * @param {sizeList} sizeList The size of all groups\n * @param {maxBarSize} maxBarSize The maximum size of bar\n * @return {Number} The size of each bar and the gap between two bars\n */\n\nexport var getBarPosition = function getBarPosition(_ref6) {\n var barGap = _ref6.barGap,\n barCategoryGap = _ref6.barCategoryGap,\n bandSize = _ref6.bandSize,\n _ref6$sizeList = _ref6.sizeList,\n sizeList = _ref6$sizeList === void 0 ? [] : _ref6$sizeList,\n maxBarSize = _ref6.maxBarSize;\n var len = sizeList.length;\n if (len < 1) return null;\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result; // whether or not is barSize setted by user\n\n if (sizeList[0].barSize === +sizeList[0].barSize) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n var sum = sizeList.reduce(function (res, entry) {\n return res + entry.barSize || 0;\n }, 0);\n sum += (len - 1) * realBarGap;\n\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n\n var offset = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset - realBarGap,\n size: 0\n };\n result = sizeList.reduce(function (res, entry) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n size: useFull ? fullBarSize : entry.barSize\n }\n }]);\n prev = newRes[newRes.length - 1].position;\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: prev\n });\n });\n }\n\n return newRes;\n }, []);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n\n var size = maxBarSize === +maxBarSize ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce(function (res, entry, i) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n size: size\n }\n }]);\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: newRes[newRes.length - 1].position\n });\n });\n }\n\n return newRes;\n }, []);\n }\n\n return result;\n};\nexport var appendOffsetOfLegend = function appendOffsetOfLegend(offset, items, props, legendBox) {\n var children = props.children,\n width = props.width,\n margin = props.margin;\n var legendWidth = width - (margin.left || 0) - (margin.right || 0); // const legendHeight = height - (margin.top || 0) - (margin.bottom || 0);\n\n var legendProps = getLegendProps({\n children: children,\n legendWidth: legendWidth\n });\n var newOffset = offset;\n\n if (legendProps) {\n var box = legendBox || {};\n var align = legendProps.align,\n verticalAlign = legendProps.verticalAlign,\n layout = legendProps.layout;\n\n if ((layout === 'vertical' || layout === 'horizontal' && verticalAlign === 'center') && isNumber(offset[align])) {\n newOffset = _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, align, newOffset[align] + (box.width || 0)));\n }\n\n if ((layout === 'horizontal' || layout === 'vertical' && align === 'center') && isNumber(offset[verticalAlign])) {\n newOffset = _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, verticalAlign, newOffset[verticalAlign] + (box.height || 0)));\n }\n }\n\n return newOffset;\n};\n\nvar isErrorBarRelevantForAxis = function isErrorBarRelevantForAxis(layout, axisType, direction) {\n if (_isNil(axisType)) {\n return true;\n }\n\n if (layout === 'horizontal') {\n return axisType === 'yAxis';\n }\n\n if (layout === 'vertical') {\n return axisType === 'xAxis';\n }\n\n if (direction === 'x') {\n return axisType === 'xAxis';\n }\n\n if (direction === 'y') {\n return axisType === 'yAxis';\n }\n\n return true;\n};\n\nexport var getDomainOfErrorBars = function getDomainOfErrorBars(data, item, dataKey, layout, axisType) {\n var children = item.props.children;\n var errorBars = findAllByType(children, 'ErrorBar').filter(function (errorBarChild) {\n return isErrorBarRelevantForAxis(layout, axisType, errorBarChild.props.direction);\n });\n\n if (errorBars && errorBars.length) {\n var keys = errorBars.map(function (errorBarChild) {\n return errorBarChild.props.dataKey;\n });\n return data.reduce(function (result, entry) {\n var entryValue = getValueByDataKey(entry, dataKey, 0);\n var mainValue = _isArray(entryValue) ? [_min(entryValue), _max(entryValue)] : [entryValue, entryValue];\n var errorDomain = keys.reduce(function (prevErrorArr, k) {\n var errorValue = getValueByDataKey(entry, k, 0);\n var lowerValue = mainValue[0] - Math.abs(_isArray(errorValue) ? errorValue[0] : errorValue);\n var upperValue = mainValue[1] + Math.abs(_isArray(errorValue) ? errorValue[1] : errorValue);\n return [Math.min(lowerValue, prevErrorArr[0]), Math.max(upperValue, prevErrorArr[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(errorDomain[0], result[0]), Math.max(errorDomain[1], result[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\nexport var parseErrorBarsOfAxis = function parseErrorBarsOfAxis(data, items, dataKey, axisType, layout) {\n var domains = items.map(function (item) {\n return getDomainOfErrorBars(data, item, dataKey, layout, axisType);\n }).filter(function (entry) {\n return !_isNil(entry);\n });\n\n if (domains && domains.length) {\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\n/**\n * Get domain of data by the configuration of item element\n * @param {Array} data The data displayed in the chart\n * @param {Array} items The instances of item\n * @param {String} type The type of axis, number - Number Axis, category - Category Axis\n * @param {LayoutType} layout The type of layout\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain\n */\n\nexport var getDomainOfItemsWithSameAxis = function getDomainOfItemsWithSameAxis(data, items, type, layout, filterNil) {\n var domains = items.map(function (item) {\n var dataKey = item.props.dataKey;\n\n if (type === 'number' && dataKey) {\n return getDomainOfErrorBars(data, item, dataKey, layout) || getDomainOfDataByKey(data, dataKey, type, filterNil);\n }\n\n return getDomainOfDataByKey(data, dataKey, type, filterNil);\n });\n\n if (type === 'number') {\n // Calculate the domain of number axis\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n var tag = {}; // Get the union set of category axis\n\n return domains.reduce(function (result, entry) {\n for (var i = 0, len = entry.length; i < len; i++) {\n if (!tag[entry[i]]) {\n tag[entry[i]] = true;\n result.push(entry[i]);\n }\n }\n\n return result;\n }, []);\n};\nexport var isCategoricalAxis = function isCategoricalAxis(layout, axisType) {\n return layout === 'horizontal' && axisType === 'xAxis' || layout === 'vertical' && axisType === 'yAxis' || layout === 'centric' && axisType === 'angleAxis' || layout === 'radial' && axisType === 'radiusAxis';\n};\n/**\n * Calculate the Coordinates of grid\n * @param {Array} ticks The ticks in axis\n * @param {Number} min The minimun value of axis\n * @param {Number} max The maximun value of axis\n * @return {Array} Coordinates\n */\n\nexport var getCoordinatesOfGrid = function getCoordinatesOfGrid(ticks, min, max) {\n var hasMin, hasMax;\n var values = ticks.map(function (entry) {\n if (entry.coordinate === min) {\n hasMin = true;\n }\n\n if (entry.coordinate === max) {\n hasMax = true;\n }\n\n return entry.coordinate;\n });\n\n if (!hasMin) {\n values.push(min);\n }\n\n if (!hasMax) {\n values.push(max);\n }\n\n return values;\n};\n/**\n * Get the ticks of an axis\n * @param {Object} axis The configuration of an axis\n * @param {Boolean} isGrid Whether or not are the ticks in grid\n * @param {Boolean} isAll Return the ticks of all the points or not\n * @return {Array} Ticks\n */\n\nexport var getTicksOfAxis = function getTicksOfAxis(axis, isGrid, isAll) {\n if (!axis) return null;\n var scale = axis.scale;\n var duplicateDomain = axis.duplicateDomain,\n type = axis.type,\n range = axis.range;\n var offsetForBand = axis.realScaleType === 'scaleBand' ? scale.bandwidth() / 2 : 2;\n var offset = (isGrid || isAll) && type === 'category' && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset = axis.axisType === 'angleAxis' ? mathSign(range[0] - range[1]) * 2 * offset : offset; // The ticks setted by user should only affect the ticks adjacent to axis line\n\n if (isGrid && (axis.ticks || axis.niceTicks)) {\n return (axis.ticks || axis.niceTicks).map(function (entry) {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n return {\n coordinate: scale(scaleContent) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis is a categorial axis, but the type of axis is number or the scale of axis is not \"auto\"\n\n\n if (axis.isCategorical && axis.categoricalDomain) {\n return axis.categoricalDomain.map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n index: index,\n offset: offset\n };\n });\n }\n\n if (scale.ticks && !isAll) {\n return scale.ticks(axis.tickCount).map(function (entry) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis has duplicated text, serial numbers are used to generate scale\n\n\n return scale.domain().map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index,\n offset: offset\n };\n });\n};\n/**\n * combine the handlers\n * @param {Function} defaultHandler Internal private handler\n * @param {Function} parentHandler Handler function specified in parent component\n * @param {Function} childHandler Handler function specified in child component\n * @return {Function} The combined handler\n */\n\nexport var combineEventHandlers = function combineEventHandlers(defaultHandler, parentHandler, childHandler) {\n var customizedHandler;\n\n if (_isFunction(childHandler)) {\n customizedHandler = childHandler;\n } else if (_isFunction(parentHandler)) {\n customizedHandler = parentHandler;\n }\n\n if (_isFunction(defaultHandler) || customizedHandler) {\n return function (arg1, arg2, arg3, arg4) {\n if (_isFunction(defaultHandler)) {\n defaultHandler(arg1, arg2, arg3, arg4);\n }\n\n if (_isFunction(customizedHandler)) {\n customizedHandler(arg1, arg2, arg3, arg4);\n }\n };\n }\n\n return null;\n};\n/**\n * Parse the scale function of axis\n * @param {Object} axis The option of axis\n * @param {String} chartType The displayName of chart\n * @param {Boolean} hasBar if it has a bar\n * @return {Function} The scale function\n */\n\nexport var parseScale = function parseScale(axis, chartType, hasBar) {\n var scale = axis.scale,\n type = axis.type,\n layout = axis.layout,\n axisType = axis.axisType;\n\n if (scale === 'auto') {\n if (layout === 'radial' && axisType === 'radiusAxis') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n if (layout === 'radial' && axisType === 'angleAxis') {\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (type === 'category' && chartType && (chartType.indexOf('LineChart') >= 0 || chartType.indexOf('AreaChart') >= 0 || chartType.indexOf('ComposedChart') >= 0 && !hasBar)) {\n return {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n }\n\n if (type === 'category') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (_isString(scale)) {\n var name = \"scale\".concat(_upperFirst(scale));\n return {\n scale: (d3Scales[name] || d3Scales.scalePoint)(),\n realScaleType: d3Scales[name] ? name : 'point'\n };\n }\n\n return _isFunction(scale) ? {\n scale: scale\n } : {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n};\nvar EPS = 1e-4;\nexport var checkDomainOfScale = function checkDomainOfScale(scale) {\n var domain = scale.domain();\n\n if (!domain || domain.length <= 2) {\n return;\n }\n\n var len = domain.length;\n var range = scale.range();\n var min = Math.min(range[0], range[1]) - EPS;\n var max = Math.max(range[0], range[1]) + EPS;\n var first = scale(domain[0]);\n var last = scale(domain[len - 1]);\n\n if (first < min || first > max || last < min || last > max) {\n scale.domain([domain[0], domain[len - 1]]);\n }\n};\nexport var findPositionOfBar = function findPositionOfBar(barPosition, child) {\n if (!barPosition) {\n return null;\n }\n\n for (var i = 0, len = barPosition.length; i < len; i++) {\n if (barPosition[i].item === child) {\n return barPosition[i].position;\n }\n }\n\n return null;\n};\nexport var truncateByDomain = function truncateByDomain(value, domain) {\n if (!domain || domain.length !== 2 || !isNumber(domain[0]) || !isNumber(domain[1])) {\n return value;\n }\n\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n\n if (!isNumber(value[0]) || value[0] < min) {\n result[0] = min;\n }\n\n if (!isNumber(value[1]) || value[1] > max) {\n result[1] = max;\n }\n\n if (result[0] > max) {\n result[0] = max;\n }\n\n if (result[1] < min) {\n result[1] = min;\n }\n\n return result;\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetSign = function offsetSign(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = negative;\n series[i][j][1] = negative + value;\n negative = series[i][j][1];\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetPositive = function offsetPositive(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = 0;\n series[i][j][1] = 0;\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\nvar STACK_OFFSET_MAP = {\n sign: offsetSign,\n expand: stackOffsetExpand,\n none: stackOffsetNone,\n silhouette: stackOffsetSilhouette,\n wiggle: stackOffsetWiggle,\n positive: offsetPositive\n};\nexport var getStackedData = function getStackedData(data, stackItems, offsetType) {\n var dataKeys = stackItems.map(function (item) {\n return item.props.dataKey;\n });\n var stack = shapeStack().keys(dataKeys).value(function (d, key) {\n return +getValueByDataKey(d, key, 0);\n }).order(stackOrderNone).offset(STACK_OFFSET_MAP[offsetType]);\n return stack(data);\n};\nexport var getStackGroupsByAxisId = function getStackGroupsByAxisId(data, _items, numericAxisId, cateAxisId, offsetType, reverseStackOrder) {\n if (!data) {\n return null;\n } // reversing items to affect render order (for layering)\n\n\n var items = reverseStackOrder ? _items.reverse() : _items;\n var stackGroups = items.reduce(function (result, item) {\n var _item$props3 = item.props,\n stackId = _item$props3.stackId,\n hide = _item$props3.hide;\n\n if (hide) {\n return result;\n }\n\n var axisId = item.props[numericAxisId];\n var parentGroup = result[axisId] || {\n hasStack: false,\n stackGroups: {}\n };\n\n if (isNumOrStr(stackId)) {\n var childGroup = parentGroup.stackGroups[stackId] || {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: []\n };\n childGroup.items.push(item);\n parentGroup.hasStack = true;\n parentGroup.stackGroups[stackId] = childGroup;\n } else {\n parentGroup.stackGroups[uniqueId('_stackId_')] = {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: [item]\n };\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, parentGroup));\n }, {});\n return Object.keys(stackGroups).reduce(function (result, axisId) {\n var group = stackGroups[axisId];\n\n if (group.hasStack) {\n group.stackGroups = Object.keys(group.stackGroups).reduce(function (res, stackId) {\n var g = group.stackGroups[stackId];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, stackId, {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: g.items,\n stackedData: getStackedData(data, g.items, offsetType)\n }));\n }, {});\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, group));\n }, {});\n};\n/**\n * get domain of ticks\n * @param {Array} ticks Ticks of axis\n * @param {String} type The type of axis\n * @return {Array} domain\n */\n\nexport var calculateDomainOfTicks = function calculateDomainOfTicks(ticks, type) {\n if (type === 'number') {\n return [_min(ticks), _max(ticks)];\n }\n\n return ticks;\n};\n/**\n * Configure the scale function of axis\n * @param {Object} scale The scale function\n * @param {Object} opts The configuration of axis\n * @return {Object} null\n */\n\nexport var getTicksOfScale = function getTicksOfScale(scale, opts) {\n var realScaleType = opts.realScaleType,\n type = opts.type,\n tickCount = opts.tickCount,\n originalDomain = opts.originalDomain,\n allowDecimals = opts.allowDecimals;\n var scaleType = realScaleType || opts.scale;\n\n if (scaleType !== 'auto' && scaleType !== 'linear') {\n return null;\n }\n\n if (tickCount && type === 'number' && originalDomain && (originalDomain[0] === 'auto' || originalDomain[1] === 'auto')) {\n // Calculate the ticks by the number of grid when the axis is a number axis\n var domain = scale.domain();\n\n if (!domain.length) {\n return null;\n }\n\n var tickValues = getNiceTickValues(domain, tickCount, allowDecimals);\n scale.domain(calculateDomainOfTicks(tickValues, type));\n return {\n niceTicks: tickValues\n };\n }\n\n if (tickCount && type === 'number') {\n var _domain = scale.domain();\n\n var _tickValues = getTickValuesFixedDomain(_domain, tickCount, allowDecimals);\n\n return {\n niceTicks: _tickValues\n };\n }\n\n return null;\n};\nexport var getCateCoordinateOfLine = function getCateCoordinateOfLine(_ref7) {\n var axis = _ref7.axis,\n ticks = _ref7.ticks,\n bandSize = _ref7.bandSize,\n entry = _ref7.entry,\n index = _ref7.index,\n dataKey = _ref7.dataKey;\n\n if (axis.type === 'category') {\n // find coordinate of category axis by the value of category\n if (!axis.allowDuplicatedCategory && axis.dataKey && !_isNil(entry[axis.dataKey])) {\n var matchedTick = findEntryInArray(ticks, 'value', entry[axis.dataKey]);\n\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n\n return ticks[index] ? ticks[index].coordinate + bandSize / 2 : null;\n }\n\n var value = getValueByDataKey(entry, !_isNil(dataKey) ? dataKey : axis.dataKey);\n return !_isNil(value) ? axis.scale(value) : null;\n};\nexport var getCateCoordinateOfBar = function getCateCoordinateOfBar(_ref8) {\n var axis = _ref8.axis,\n ticks = _ref8.ticks,\n offset = _ref8.offset,\n bandSize = _ref8.bandSize,\n entry = _ref8.entry,\n index = _ref8.index;\n\n if (axis.type === 'category') {\n return ticks[index] ? ticks[index].coordinate + offset : null;\n }\n\n var value = getValueByDataKey(entry, axis.dataKey, axis.domain[index]);\n return !_isNil(value) ? axis.scale(value) - bandSize / 2 + offset : null;\n};\nexport var getBaseValueOfBar = function getBaseValueOfBar(_ref9) {\n var numericAxis = _ref9.numericAxis;\n var domain = numericAxis.scale.domain();\n\n if (numericAxis.type === 'number') {\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n\n if (min <= 0 && max >= 0) {\n return 0;\n }\n\n if (max < 0) {\n return max;\n }\n\n return min;\n }\n\n return domain[0];\n};\nexport var getStackedDataOfItem = function getStackedDataOfItem(item, stackGroups) {\n var stackId = item.props.stackId;\n\n if (isNumOrStr(stackId)) {\n var group = stackGroups[stackId];\n\n if (group && group.items.length) {\n var itemIndex = -1;\n\n for (var i = 0, len = group.items.length; i < len; i++) {\n if (group.items[i] === item) {\n itemIndex = i;\n break;\n }\n }\n\n return itemIndex >= 0 ? group.stackedData[itemIndex] : null;\n }\n }\n\n return null;\n};\n\nvar getDomainOfSingle = function getDomainOfSingle(data) {\n return data.reduce(function (result, entry) {\n return [_min(entry.concat([result[0]]).filter(isNumber)), _max(entry.concat([result[1]]).filter(isNumber))];\n }, [Infinity, -Infinity]);\n};\n\nexport var getDomainOfStackGroups = function getDomainOfStackGroups(stackGroups, startIndex, endIndex) {\n return Object.keys(stackGroups).reduce(function (result, stackId) {\n var group = stackGroups[stackId];\n var stackedData = group.stackedData;\n var domain = stackedData.reduce(function (res, entry) {\n var s = getDomainOfSingle(entry.slice(startIndex, endIndex + 1));\n return [Math.min(res[0], s[0]), Math.max(res[1], s[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]).map(function (result) {\n return result === Infinity || result === -Infinity ? 0 : result;\n });\n};\nexport var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var parseSpecifiedDomain = function parseSpecifiedDomain(specifiedDomain, dataDomain, allowDataOverflow) {\n if (_isFunction(specifiedDomain)) {\n return specifiedDomain(dataDomain, allowDataOverflow);\n }\n\n if (!_isArray(specifiedDomain)) {\n return dataDomain;\n }\n\n var domain = [];\n /* eslint-disable prefer-destructuring */\n\n if (isNumber(specifiedDomain[0])) {\n domain[0] = allowDataOverflow ? specifiedDomain[0] : Math.min(specifiedDomain[0], dataDomain[0]);\n } else if (MIN_VALUE_REG.test(specifiedDomain[0])) {\n var value = +MIN_VALUE_REG.exec(specifiedDomain[0])[1];\n domain[0] = dataDomain[0] - value;\n } else if (_isFunction(specifiedDomain[0])) {\n domain[0] = specifiedDomain[0](dataDomain[0]);\n } else {\n domain[0] = dataDomain[0];\n }\n\n if (isNumber(specifiedDomain[1])) {\n domain[1] = allowDataOverflow ? specifiedDomain[1] : Math.max(specifiedDomain[1], dataDomain[1]);\n } else if (MAX_VALUE_REG.test(specifiedDomain[1])) {\n var _value = +MAX_VALUE_REG.exec(specifiedDomain[1])[1];\n\n domain[1] = dataDomain[1] + _value;\n } else if (_isFunction(specifiedDomain[1])) {\n domain[1] = specifiedDomain[1](dataDomain[1]);\n } else {\n domain[1] = dataDomain[1];\n }\n /* eslint-enable prefer-destructuring */\n\n\n return domain;\n};\n/**\n * Calculate the size between two category\n * @param {Object} axis The options of axis\n * @param {Array} ticks The ticks of axis\n * @param {Boolean} isBar if items in axis are bars\n * @return {Number} Size\n */\n\nexport var getBandSizeOfAxis = function getBandSizeOfAxis(axis, ticks, isBar) {\n if (axis && axis.scale && axis.scale.bandwidth) {\n var bandWidth = axis.scale.bandwidth();\n\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n\n if (axis && ticks && ticks.length >= 2) {\n var orderedTicks = _sortBy(ticks, function (o) {\n return o.coordinate;\n });\n\n var bandSize = Infinity;\n\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min((cur.coordinate || 0) - (prev.coordinate || 0), bandSize);\n }\n\n return bandSize === Infinity ? 0 : bandSize;\n }\n\n return isBar ? undefined : 0;\n};\n/**\n * parse the domain of a category axis when a domain is specified\n * @param {Array} specifiedDomain The domain specified by users\n * @param {Array} calculatedDomain The domain calculated by dateKey\n * @param {ReactElement} axisChild The axis element\n * @returns {Array} domains\n */\n\nexport var parseDomainOfCategoryAxis = function parseDomainOfCategoryAxis(specifiedDomain, calculatedDomain, axisChild) {\n if (!specifiedDomain || !specifiedDomain.length) {\n return calculatedDomain;\n }\n\n if (_isEqual(specifiedDomain, _get(axisChild, 'type.defaultProps.domain'))) {\n return calculatedDomain;\n }\n\n return specifiedDomain;\n};\nexport var getTooltipItem = function getTooltipItem(graphicalItem, payload) {\n var _graphicalItem$props = graphicalItem.props,\n dataKey = _graphicalItem$props.dataKey,\n name = _graphicalItem$props.name,\n unit = _graphicalItem$props.unit,\n formatter = _graphicalItem$props.formatter,\n tooltipType = _graphicalItem$props.tooltipType,\n chartType = _graphicalItem$props.chartType;\n return _objectSpread(_objectSpread({}, filterProps(graphicalItem)), {}, {\n dataKey: dataKey,\n unit: unit,\n formatter: formatter,\n name: name || dataKey,\n color: getMainColorOfGraphicItem(graphicalItem),\n value: getValueByDataKey(payload, dataKey),\n type: tooltipType,\n payload: payload,\n chartType: chartType\n });\n};","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import _isObject from \"lodash/isObject\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { isValidElement } from 'react';\nvar SVGContainerPropKeys = ['viewBox', 'children'];\nvar SVGElementPropKeys = ['aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-busy', 'aria-checked', 'aria-colcount', 'aria-colindex', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowcount', 'aria-rowindex', 'aria-rowspan', 'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext', 'className', 'color', 'height', 'id', 'lang', 'max', 'media', 'method', 'min', 'name', 'style', 'target', 'type', 'width', 'role', 'tabIndex', 'accentHeight', 'accumulate', 'additive', 'alignmentBaseline', 'allowReorder', 'alphabetic', 'amplitude', 'arabicForm', 'ascent', 'attributeName', 'attributeType', 'autoReverse', 'azimuth', 'baseFrequency', 'baselineShift', 'baseProfile', 'bbox', 'begin', 'bias', 'by', 'calcMode', 'capHeight', 'clip', 'clipPath', 'clipPathUnits', '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', 'fx', 'fy', 'g1', 'g2', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'horizAdvX', 'horizOriginX', 'href', 'ideographic', 'imageRendering', 'in2', 'in', 'intercept', 'k1', 'k2', 'k3', 'k4', 'k', 'kernelMatrix', 'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'letterSpacing', 'lightingColor', 'limitingConeAngle', 'local', 'markerEnd', 'markerHeight', 'markerMid', 'markerStart', 'markerUnits', 'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'mode', 'numOctaves', 'offset', 'opacity', 'operator', 'order', 'orient', 'orientation', 'origin', 'overflow', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', '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', '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', 'textLength', 'textRendering', 'to', 'transform', 'u1', 'u2', 'underlinePosition', 'underlineThickness', 'unicode', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'values', 'vectorEffect', 'version', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'vHanging', 'vIdeographic', 'viewTarget', 'visibility', 'vMathematical', 'widths', 'wordSpacing', 'writingMode', 'x1', 'x2', 'x', 'xChannelSelector', 'xHeight', 'xlinkActuate', 'xlinkArcrole', 'xlinkHref', 'xlinkRole', 'xlinkShow', 'xlinkTitle', 'xlinkType', 'xmlBase', 'xmlLang', 'xmlns', 'xmlnsXlink', 'xmlSpace', 'y1', 'y2', 'y', 'yChannelSelector', 'z', 'zoomAndPan', 'ref', 'key', 'angle'];\nvar EventKeys = ['dangerouslySetInnerHTML', 'onCopy', 'onCopyCapture', 'onCut', 'onCutCapture', 'onPaste', 'onPasteCapture', 'onCompositionEnd', 'onCompositionEndCapture', 'onCompositionStart', 'onCompositionStartCapture', 'onCompositionUpdate', 'onCompositionUpdateCapture', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onChangeCapture', 'onBeforeInput', 'onBeforeInputCapture', 'onInput', 'onInputCapture', 'onReset', 'onResetCapture', 'onSubmit', 'onSubmitCapture', 'onInvalid', 'onInvalidCapture', 'onLoad', 'onLoadCapture', 'onError', 'onErrorCapture', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyPressCapture', 'onKeyUp', 'onKeyUpCapture', 'onAbort', 'onAbortCapture', 'onCanPlay', 'onCanPlayCapture', 'onCanPlayThrough', 'onCanPlayThroughCapture', 'onDurationChange', 'onDurationChangeCapture', 'onEmptied', 'onEmptiedCapture', 'onEncrypted', 'onEncryptedCapture', 'onEnded', 'onEndedCapture', 'onLoadedData', 'onLoadedDataCapture', 'onLoadedMetadata', 'onLoadedMetadataCapture', 'onLoadStart', 'onLoadStartCapture', 'onPause', 'onPauseCapture', 'onPlay', 'onPlayCapture', 'onPlaying', 'onPlayingCapture', 'onProgress', 'onProgressCapture', 'onRateChange', 'onRateChangeCapture', 'onSeeked', 'onSeekedCapture', 'onSeeking', 'onSeekingCapture', 'onStalled', 'onStalledCapture', 'onSuspend', 'onSuspendCapture', 'onTimeUpdate', 'onTimeUpdateCapture', 'onVolumeChange', 'onVolumeChangeCapture', 'onWaiting', 'onWaitingCapture', 'onAuxClick', 'onAuxClickCapture', 'onClick', 'onClickCapture', 'onContextMenu', 'onContextMenuCapture', 'onDoubleClick', 'onDoubleClickCapture', 'onDrag', 'onDragCapture', 'onDragEnd', 'onDragEndCapture', 'onDragEnter', 'onDragEnterCapture', 'onDragExit', 'onDragExitCapture', 'onDragLeave', 'onDragLeaveCapture', 'onDragOver', 'onDragOverCapture', 'onDragStart', 'onDragStartCapture', 'onDrop', 'onDropCapture', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseMoveCapture', 'onMouseOut', 'onMouseOutCapture', 'onMouseOver', 'onMouseOverCapture', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onSelectCapture', 'onTouchCancel', 'onTouchCancelCapture', 'onTouchEnd', 'onTouchEndCapture', 'onTouchMove', 'onTouchMoveCapture', 'onTouchStart', 'onTouchStartCapture', 'onPointerDown', 'onPointerDownCapture', 'onPointerMove', 'onPointerMoveCapture', 'onPointerUp', 'onPointerUpCapture', 'onPointerCancel', 'onPointerCancelCapture', 'onPointerEnter', 'onPointerEnterCapture', 'onPointerLeave', 'onPointerLeaveCapture', 'onPointerOver', 'onPointerOverCapture', 'onPointerOut', 'onPointerOutCapture', 'onGotPointerCapture', 'onGotPointerCaptureCapture', 'onLostPointerCapture', 'onLostPointerCaptureCapture', 'onScroll', 'onScrollCapture', 'onWheel', 'onWheelCapture', 'onAnimationStart', 'onAnimationStartCapture', 'onAnimationEnd', 'onAnimationEndCapture', 'onAnimationIteration', 'onAnimationIterationCapture', 'onTransitionEnd', 'onTransitionEndCapture']; // Animation Types => TODO: Should be moved when react-smooth is typescriptified.\n\nexport var filterProps = function filterProps(props, includeEvents, isSvg) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n\n var inputProps = props;\n\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n\n if (!_isObject(inputProps)) {\n return null;\n }\n\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n // viewBox only exist in <svg />\n if (SVGElementPropKeys.includes(key) || isSvg && SVGContainerPropKeys.includes(key) || includeEvents && EventKeys.includes(key)) {\n out[key] = inputProps[key];\n }\n });\n return out;\n};\nexport var adaptEventHandlers = function adaptEventHandlers(props, newHandler) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n\n var inputProps = props;\n\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n\n if (!_isObject(inputProps)) {\n return null;\n }\n\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n if (EventKeys.includes(key)) {\n out[key] = newHandler || function (e) {\n return inputProps[key](inputProps, e);\n };\n }\n });\n return out;\n};\n\nvar getEventHandlerOfChild = function getEventHandlerOfChild(originalHandler, data, index) {\n return function (e) {\n originalHandler(data, index, e);\n return null;\n };\n};\n\nexport var adaptEventsOfChild = function adaptEventsOfChild(props, data, index) {\n if (!_isObject(props) || _typeof(props) !== 'object') {\n return null;\n }\n\n var out = null;\n Object.keys(props).forEach(function (key) {\n var item = props[key];\n\n if (EventKeys.includes(key) && typeof item === 'function') {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index);\n }\n });\n return out;\n};","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"../utils/Constants\";\n\n/**\n * AuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const AuthErrorMessage = {\n unexpectedError: {\n code: \"unexpected_error\",\n desc: \"Unexpected error in authentication.\"\n },\n postRequestFailed: {\n code: \"post_request_failed\",\n desc: \"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details.\"\n }\n};\n\n/**\n * General error class thrown by the MSAL.js library.\n */\nexport class AuthError extends Error {\n\n /**\n * Short string denoting error\n */\n errorCode: string;\n\n /**\n * Detailed description of error\n */\n errorMessage: string;\n\n /**\n * Describes the subclass of an error\n */\n subError: string;\n\n /**\n * CorrelationId associated with the error\n */\n correlationId: string;\n\n constructor(errorCode?: string, errorMessage?: string, suberror?: string) {\n const errorString = errorMessage ? `${errorCode}: ${errorMessage}` : errorCode;\n super(errorString);\n Object.setPrototypeOf(this, AuthError.prototype);\n\n this.errorCode = errorCode || Constants.EMPTY_STRING;\n this.errorMessage = errorMessage || Constants.EMPTY_STRING;\n this.subError = suberror || Constants.EMPTY_STRING;\n this.name = \"AuthError\";\n }\n\n setCorrelationId(correlationId: string): void {\n this.correlationId = correlationId;\n }\n\n /**\n * Creates an error that is thrown when something unexpected happens in the library.\n * @param errDesc\n */\n static createUnexpectedError(errDesc: string): AuthError {\n return new AuthError(AuthErrorMessage.unexpectedError.code, `${AuthErrorMessage.unexpectedError.desc}: ${errDesc}`);\n }\n\n /**\n * Creates an error for post request failures.\n * @param errDesc \n * @returns \n */\n static createPostRequestFailed(errDesc: string): AuthError {\n return new AuthError(AuthErrorMessage.postRequestFailed.code, `${AuthErrorMessage.postRequestFailed.desc}: ${errDesc}`);\n }\n}\n","'use strict';\n\nmodule.exports = require('./components/inputtext/InputText');","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.classNames = classNames;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction classNames() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args) {\n var classes = [];\n\n for (var i = 0; i < args.length; i++) {\n var className = args[i];\n if (!className) continue;\n\n var type = _typeof(className);\n\n if (type === 'string' || type === 'number') {\n classes.push(className);\n } else if (type === 'object') {\n var _classes = Array.isArray(className) ? className : Object.entries(className).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n return !!value ? key : null;\n });\n\n classes = _classes.length ? classes.concat(_classes.filter(function (c) {\n return !!c;\n })) : classes;\n }\n }\n\n return classes.join(' ');\n }\n\n return null;\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\nmodule.exports = require('./components/tooltip/Tooltip');","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","'use strict';\n\nmodule.exports = require('./components/card/Card');","import _isString from \"lodash/isString\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { Children } from 'react';\nimport { isFragment } from 'react-is';\nimport { isNumber } from './DataUtils';\nimport { shallowEqual } from './ShallowEqual';\nvar REACT_BROWSER_EVENT_MAP = {\n click: 'onClick',\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n mouseout: 'onMouseOut',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n touchcancel: 'onTouchCancel',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchstart: 'onTouchStart'\n};\nexport var SCALE_TYPES = ['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold'];\nexport var LEGEND_TYPES = ['plainline', 'line', 'square', 'rect', 'circle', 'cross', 'diamond', 'star', 'triangle', 'wye', 'none'];\nexport var TOOLTIP_TYPES = ['none'];\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\n\nexport var getDisplayName = function getDisplayName(Comp) {\n if (typeof Comp === 'string') {\n return Comp;\n }\n\n if (!Comp) {\n return '';\n }\n\n return Comp.displayName || Comp.name || 'Component';\n}; // `toArray` gets called multiple times during the render\n// so we can memoize last invocation (since reference to `children` is the same)\n\nvar lastChildren = null;\nvar lastResult = null;\nexport var toArray = function toArray(children) {\n if (children === lastChildren && _isArray(lastResult)) {\n return lastResult;\n }\n\n var result = [];\n Children.forEach(children, function (child) {\n if (_isNil(child)) return;\n\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n};\n/*\n * Find and return all matched children by type. `type` can be a React element class or\n * string\n */\n\nexport var findAllByType = function findAllByType(children, type) {\n var result = [];\n var types = [];\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(function (child) {\n var childType = _get(child, 'type.displayName') || _get(child, 'type.name');\n\n if (types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n};\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` can be a React element class or string.\n */\n\nexport var findChildByType = function findChildByType(children, type) {\n var result = findAllByType(children, type);\n return result && result[0];\n};\n/*\n * Create a new array of children excluding the ones matched the type\n */\n\nexport var withoutType = function withoutType(children, type) {\n var newChildren = [];\n var types;\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(function (child) {\n var displayName = _get(child, 'type.displayName');\n\n if (displayName && types.indexOf(displayName) !== -1) {\n return;\n }\n\n newChildren.push(child);\n });\n return newChildren;\n};\n/**\n * validate the width and height props of a chart element\n * @param {Object} el A chart element\n * @return {Boolean} true If the props width and height are number, and greater than 0\n */\n\nexport var validateWidthHeight = function validateWidthHeight(el) {\n if (!el || !el.props) {\n return false;\n }\n\n var _el$props = el.props,\n width = _el$props.width,\n height = _el$props.height;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0) {\n return false;\n }\n\n return true;\n};\nvar SVG_TAGS = ['a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColormatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face', 'font-face-format', 'font-face-name', 'font-face-url', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'lineGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern'];\n\nvar isSvgElement = function isSvgElement(child) {\n return child && child.type && _isString(child.type) && SVG_TAGS.indexOf(child.type) >= 0;\n};\n/**\n * Filter all the svg elements of children\n * @param {Array} children The children of a react element\n * @return {Array} All the svg elements\n */\n\n\nexport var filterSvgElements = function filterSvgElements(children) {\n var svgElements = [];\n toArray(children).forEach(function (entry) {\n if (isSvgElement(entry)) {\n svgElements.push(entry);\n }\n });\n return svgElements;\n};\n/**\n * Wether props of children changed\n * @param {Object} nextChildren The latest children\n * @param {Object} prevChildren The prev children\n * @return {Boolean} equal or not\n */\n\nexport var isChildrenEqual = function isChildrenEqual(nextChildren, prevChildren) {\n if (nextChildren === prevChildren) {\n return true;\n }\n\n var count = Children.count(nextChildren);\n\n if (count !== Children.count(prevChildren)) {\n return false;\n }\n\n if (count === 0) {\n return true;\n }\n\n if (count === 1) {\n // eslint-disable-next-line no-use-before-define,@typescript-eslint/no-use-before-define\n return isSingleChildEqual(_isArray(nextChildren) ? nextChildren[0] : nextChildren, _isArray(prevChildren) ? prevChildren[0] : prevChildren);\n }\n\n for (var i = 0; i < count; i++) {\n var nextChild = nextChildren[i];\n var prevChild = prevChildren[i];\n\n if (_isArray(nextChild) || _isArray(prevChild)) {\n if (!isChildrenEqual(nextChild, prevChild)) {\n return false;\n } // eslint-disable-next-line no-use-before-define,@typescript-eslint/no-use-before-define\n\n } else if (!isSingleChildEqual(nextChild, prevChild)) {\n return false;\n }\n }\n\n return true;\n};\nexport var isSingleChildEqual = function isSingleChildEqual(nextChild, prevChild) {\n if (_isNil(nextChild) && _isNil(prevChild)) {\n return true;\n }\n\n if (!_isNil(nextChild) && !_isNil(prevChild)) {\n var _ref = nextChild.props || {},\n nextChildren = _ref.children,\n nextProps = _objectWithoutProperties(_ref, [\"children\"]);\n\n var _ref2 = prevChild.props || {},\n prevChildren = _ref2.children,\n prevProps = _objectWithoutProperties(_ref2, [\"children\"]);\n\n if (nextChildren && prevChildren) {\n // eslint-disable-next-line no-use-before-define\n return shallowEqual(nextProps, prevProps) && isChildrenEqual(nextChildren, prevChildren);\n }\n\n if (!nextChildren && !prevChildren) {\n return shallowEqual(nextProps, prevProps);\n }\n\n return false;\n }\n\n return false;\n};\nexport var renderByOrder = function renderByOrder(children, renderMap) {\n var elements = [];\n var record = {};\n toArray(children).forEach(function (child, index) {\n if (isSvgElement(child)) {\n elements.push(child);\n } else if (child) {\n var displayName = getDisplayName(child.type);\n\n var _ref3 = renderMap[displayName] || {},\n handler = _ref3.handler,\n once = _ref3.once;\n\n if (handler && (!once || !record[displayName])) {\n var results = handler(child, displayName, index);\n elements.push(results);\n record[displayName] = true;\n }\n }\n });\n return elements;\n};\nexport var getReactEventByType = function getReactEventByType(e) {\n var type = e && e.type;\n\n if (type && REACT_BROWSER_EVENT_MAP[type]) {\n return REACT_BROWSER_EVENT_MAP[type];\n }\n\n return null;\n};\nexport var parseChildIndex = function parseChildIndex(child, children) {\n return toArray(children).indexOf(child);\n};","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","/*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE */\r\n;(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*\r\n * decimal.js-light v2.5.1\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js-light\r\n * Copyright (c) 2020 Michael Mclaughlin <M8ch88l@gmail.com>\r\n * MIT Expat Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n var MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n Decimal = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed during run-time using `Decimal.config`.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\r\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -MAX_E\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to MAX_E\r\n\r\n // The natural logarithm of 10.\r\n // 115 digits\r\n LN10: '2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286'\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n exponentOutOfRange = decimalError + 'Exponent out of range: ',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n ONE,\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), // 1286742750677284\r\n\r\n // Decimal.prototype object\r\n P = {};\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * comparedTo cmp\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy idiv\r\n * equals eq\r\n * exponent\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * isInteger isint\r\n * isNegative isneg\r\n * isPositive ispos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * squareRoot sqrt\r\n * times mul\r\n * toDecimalPlaces todp\r\n * toExponential\r\n * toFixed\r\n * toInteger toint\r\n * toNumber\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits tosd\r\n * toString\r\n * valueOf val\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this;\r\n\r\n y = new x.constructor(y);\r\n\r\n // Signs differ?\r\n if (x.s !== y.s) return x.s || -y.s;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ x.s < 0 ? 1 : -1;\r\n\r\n xdL = x.d.length;\r\n ydL = y.d.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (x.d[i] !== y.d[i]) return x.d[i] > y.d[i] ^ x.s < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ x.s < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var x = this,\r\n w = x.d.length - 1,\r\n dp = (w - x.e) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = x.d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) dp--;\r\n\r\n return dp < 0 ? 0 : dp;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, truncated to `precision` significant digits.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(divide(x, new Ctor(y), 0, 1), Ctor.precision);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return !this.cmp(y);\r\n };\r\n\r\n\r\n /*\r\n * Return the (base 10) exponent value of this Decimal (this.e is the base 10000000 exponent).\r\n *\r\n */\r\n P.exponent = function () {\r\n return getBase10Exponent(this);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n return this.cmp(y) >= 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isint = function () {\r\n return this.e > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isneg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.ispos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return this.s === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, truncated to\r\n * `precision` significant digits.\r\n *\r\n * If no base is specified, return log[10](x).\r\n *\r\n * log[base](x) = ln(x) / ln(base)\r\n *\r\n * The maximum error of the result is 1 ulp (unit in the last place).\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var r,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n wpr = pr + 5;\r\n\r\n // Default base is 10.\r\n if (base === void 0) {\r\n base = new Ctor(10);\r\n } else {\r\n base = new Ctor(base);\r\n\r\n // log[-b](x) = NaN\r\n // log[0](x) = NaN\r\n // log[1](x) = NaN\r\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + 'NaN');\r\n }\r\n\r\n // log[b](-x) = NaN\r\n // log[b](0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // log[b](1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n external = false;\r\n r = divide(ln(x, wpr), ln(base, wpr), wpr);\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? subtract(x, y) : add(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n y = new Ctor(y);\r\n\r\n // x % 0 = NaN\r\n if (!y.s) throw Error(decimalError + 'NaN');\r\n\r\n // Return x if x is 0.\r\n if (!x.s) return round(new Ctor(x), pr);\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n q = divide(x, y, 0, 1).times(y);\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return exp(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * truncated to `precision` significant digits.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return ln(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s || 0;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? add(x, y) : subtract(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var e, sd, w,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n e = getBase10Exponent(x) + 1;\r\n w = x.d.length - 1;\r\n sd = w * LOG_BASE + 1;\r\n w = x.d[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) sd--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = x.d[0]; w >= 10; w /= 10) sd++;\r\n }\r\n\r\n return z && e > sd ? e : sd;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var e, n, pr, r, s, t, wpr,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n // Negative or zero?\r\n if (x.s < 1) {\r\n if (!x.s) return new Ctor(0);\r\n\r\n // sqrt(-x) = NaN\r\n throw Error(decimalError + 'NaN');\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(x.d);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n pr = Ctor.precision;\r\n s = wpr = pr + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, wpr + 2)).times(0.5);\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === (n = digitsToString(r.d)).slice(0, wpr)) {\r\n n = n.slice(wpr - 3, wpr + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (s == wpr && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n round(t, pr + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n } else if (n != '9999') {\r\n break;\r\n }\r\n\r\n wpr += 4;\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal times `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n // Return 0 if either is 0.\r\n if (!x.s || !y.s) return new Ctor(0);\r\n\r\n y.s *= x.s;\r\n e = x.e + y.e;\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = e;\r\n\r\n return external ? round(y, Ctor.precision) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.todp = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return round(x, dp + getBase10Exponent(x) + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = toString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), dp + 1, rm);\r\n str = toString(x, true, dp + 1);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) return toString(x);\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = round(new Ctor(x), dp + getBase10Exponent(x) + 1, rm);\r\n str = toString(y.abs(), false, dp + getBase10Exponent(y) + 1);\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isneg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.toInteger = P.toint = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(new Ctor(x), getBase10Exponent(x) + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`,\r\n * truncated to `precision` significant digits.\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * The maximum error is 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, sign, yIsInt,\r\n x = this,\r\n Ctor = x.constructor,\r\n guard = 12,\r\n yn = +(y = new Ctor(y));\r\n\r\n // pow(x, 0) = 1\r\n if (!y.s) return new Ctor(ONE);\r\n\r\n x = new Ctor(x);\r\n\r\n // pow(0, y > 0) = 0\r\n // pow(0, y < 0) = Infinity\r\n if (!x.s) {\r\n if (y.s < 1) throw Error(decimalError + 'Infinity');\r\n return x;\r\n }\r\n\r\n // pow(1, y) = 1\r\n if (x.eq(ONE)) return x;\r\n\r\n pr = Ctor.precision;\r\n\r\n // pow(x, 1) = x\r\n if (y.eq(ONE)) return round(x, pr);\r\n\r\n e = y.e;\r\n k = y.d.length - 1;\r\n yIsInt = e >= k;\r\n sign = x.s;\r\n\r\n if (!yIsInt) {\r\n\r\n // pow(x < 0, y non-integer) = NaN\r\n if (sign < 0) throw Error(decimalError + 'NaN');\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = new Ctor(ONE);\r\n\r\n // Max k of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n e = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (k % 2) {\r\n r = r.times(x);\r\n truncate(r.d, e);\r\n }\r\n\r\n k = mathfloor(k / 2);\r\n if (k === 0) break;\r\n\r\n x = x.times(x);\r\n truncate(x.d, e);\r\n }\r\n\r\n external = true;\r\n\r\n return y.s < 0 ? new Ctor(ONE).div(r) : round(r, pr);\r\n }\r\n\r\n // Result is negative if x is negative and the last digit of integer y is odd.\r\n sign = sign < 0 && y.d[Math.max(e, k)] & 1 ? -1 : 1;\r\n\r\n x.s = 1;\r\n external = false;\r\n r = y.times(ln(x, pr + guard));\r\n external = true;\r\n r = exp(r);\r\n r.s = sign;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var e, str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n e = getBase10Exponent(x);\r\n str = toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), sd, rm);\r\n e = getBase10Exponent(x);\r\n str = toString(x, sd <= e || e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toSignificantDigits = P.tosd = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return round(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = P.valueOf = P.val = P.toJSON = function () {\r\n var x = this,\r\n e = getBase10Exponent(x),\r\n Ctor = x.constructor;\r\n\r\n return toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * add P.minus, P.plus\r\n * checkInt32 P.todp, P.toExponential, P.toFixed, P.toPrecision, P.tosd\r\n * digitsToString P.log, P.sqrt, P.pow, toString, exp, ln\r\n * divide P.div, P.idiv, P.log, P.mod, P.sqrt, exp, ln\r\n * exp P.exp, P.pow\r\n * getBase10Exponent P.exponent, P.sd, P.toint, P.sqrt, P.todp, P.toFixed, P.toPrecision,\r\n * P.toString, divide, round, toString, exp, ln\r\n * getLn10 P.log, ln\r\n * getZeroString digitsToString, toString\r\n * ln P.log, P.ln, P.pow, exp\r\n * parseDecimal Decimal\r\n * round P.abs, P.idiv, P.log, P.minus, P.mod, P.neg, P.plus, P.toint, P.sqrt,\r\n * P.times, P.todp, P.toExponential, P.toFixed, P.pow, P.toPrecision, P.tosd,\r\n * divide, getLn10, exp, ln\r\n * subtract P.minus, P.plus\r\n * toString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf\r\n * truncate P.pow\r\n *\r\n * Throws: P.log, P.mod, P.sd, P.sqrt, P.pow, checkInt32, divide, round,\r\n * getLn10, exp, ln, parseDecimal, Decimal, config\r\n */\r\n\r\n\r\n function add(x, y) {\r\n var carry, d, e, i, k, len, xd, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // If either is zero...\r\n if (!x.s || !y.s) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!y.s) y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n k = x.e;\r\n e = y.e;\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % BASE | 0;\r\n carry = temp / BASE | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * BASE + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, dp) {\r\n var cmp, e, i, k, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either 0?\r\n if (!x.s) return new Ctor(x);\r\n if (!y.s) throw Error(decimalError + 'Division by zero');\r\n\r\n e = x.e - y.e;\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n for (i = 0; yd[i] == (xd[i] || 0); ) ++i;\r\n if (yd[i] > (xd[i] || 0)) --e;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n } else if (dp) {\r\n sd = pr + (getBase10Exponent(x) - getBase10Exponent(y)) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) return new Ctor(0);\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / LOG_BASE + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * BASE + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= BASE/2\r\n k = BASE / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k);\r\n xd = multiplyInteger(xd, k);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= BASE / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= BASE) k = BASE - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n\r\n q.e = e;\r\n\r\n return round(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` truncated to `sd`\r\n * significant digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n */\r\n function exp(x, sd) {\r\n var denominator, guard, pow, sum, t, wpr,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n if (getBase10Exponent(x) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n\r\n // exp(0) = 1\r\n if (!x.s) return new Ctor(ONE);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n while (x.abs().gte(0.1)) {\r\n x = x.times(t); // x = x / 2^5\r\n k += 5;\r\n }\r\n\r\n // Estimate the precision increase necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(ONE);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = round(pow.times(x), wpr);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n while (k--) sum = round(sum.times(sum), wpr);\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(x) {\r\n var e = x.e * LOG_BASE,\r\n w = x.d[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for (; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n\r\n if (sd > Ctor.LN10.sd()) {\r\n\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(decimalError + 'LN10 precision limit exceeded');\r\n }\r\n\r\n return round(new Ctor(Ctor.LN10), sd);\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` truncated to `sd` significant\r\n * digits.\r\n *\r\n * ln(n) is non-terminating (n != 1)\r\n *\r\n */\r\n function ln(y, sd) {\r\n var c, c0, denominator, e, numerator, sum, t, wpr, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // ln(-x) = NaN\r\n // ln(0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // ln(1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n if (x.eq(10)) {\r\n if (sd == null) external = true;\r\n return getLn10(Ctor, wpr);\r\n }\r\n\r\n wpr += guard;\r\n Ctor.precision = wpr;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n e = getBase10Exponent(x);\r\n\r\n if (Math.abs(e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = ln(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(x, pr)) : x;\r\n }\r\n\r\n // x is reduced to a value near 1.\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(ONE), x.plus(ONE), wpr);\r\n x2 = round(x.times(x), wpr);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = round(numerator.times(x2), wpr);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48;) ++i;\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48;) --len;\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n e = e - i - 1;\r\n x.e = mathfloor(e / LOG_BASE);\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) throw Error(exponentOutOfRange + e);\r\n } else {\r\n\r\n // Zero.\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits, using rounding mode `rm` if present (truncate otherwise).\r\n */\r\n function round(x, sd, rm) {\r\n var i, j, k, n, rd, doRound, w, xdi,\r\n xd = x.d;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd which contains the rounding digit, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // n: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (n = 1, k = xd[0]; k >= 10; k /= 10) n++;\r\n i = sd - n;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) return x;\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (n = 1; k >= 10; k /= 10) n++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - n.\r\n j = i - LOG_BASE + n;\r\n }\r\n\r\n if (rm !== void 0) {\r\n k = mathpow(10, n - j - 1);\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / k % 10 | 0;\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k;\r\n\r\n // The expression `w % mathpow(10, n - j - 1)` returns all the digits of w to the right of the\r\n // digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression will give\r\n // 714.\r\n\r\n doRound = rm < 4\r\n ? (rd || doRound) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n }\r\n\r\n if (sd < 1 || !xd[0]) {\r\n if (doRound) {\r\n k = getBase10Exponent(x);\r\n xd.length = 1;\r\n\r\n // Convert sd to decimal places.\r\n sd = sd - k - 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = mathfloor(-sd / LOG_BASE) || 0;\r\n } else {\r\n xd.length = 1;\r\n\r\n // Zero.\r\n xd[0] = x.e = x.s = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (doRound) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n if ((xd[0] += k) == BASE) {\r\n xd[0] = 1;\r\n ++x.e;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) {\r\n throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function subtract(x, y) {\r\n var d, e, i, j, k, len, xd, xe, xLTy, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // Return y negated if x is zero.\r\n // Return x if y is zero and x is non-zero.\r\n if (!x.s || !y.s) {\r\n if (y.s) y.s = -y.s;\r\n else y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are non-zero numbers with the same sign.\r\n\r\n e = y.e;\r\n xe = x.e;\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of zeros\r\n // needing to be prepended, but this can be avoided while still ensuring correct rounding by\r\n // limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to xd if shorter.\r\n // Don't add zeros to yd if shorter as subtraction only needs to start at yd length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(0);\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n //return external && xd.length >= pr / LOG_BASE ? round(y, pr) : y;\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function toString(x, isExp, sd) {\r\n var k,\r\n e = getBase10Exponent(x),\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (e < 0 ? 'e' : 'e+') + e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * clone\r\n * config/set\r\n */\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * value {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(value) {\r\n var x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(value);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (value instanceof Decimal) {\r\n x.s = value.s;\r\n x.e = value.e;\r\n x.d = (value = value.d) ? value.slice() : value;\r\n return;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n\r\n // Reject Infinity/NaN.\r\n if (value * 0 !== 0) {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n if (value > 0) {\r\n x.s = 1;\r\n } else if (value < 0) {\r\n value = -value;\r\n x.s = -1;\r\n } else {\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (value === ~~value && value < 1e7) {\r\n x.e = 0;\r\n x.d = [value];\r\n return;\r\n }\r\n\r\n return parseDecimal(x, value.toString());\r\n } else if (typeof value !== 'string') {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n // Minus sign?\r\n if (value.charCodeAt(0) === 45) {\r\n value = value.slice(1);\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n if (isDecimal.test(value)) parseDecimal(x, value);\r\n else throw Error(invalidArgument + value);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n\r\n Decimal.clone = clone;\r\n Decimal.config = Decimal.set = config;\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'LN10'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') {\r\n throw Error(decimalError + 'Object expected');\r\n }\r\n var i, p, v,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -1 / 0, 0,\r\n 'toExpPos', 0, 1 / 0\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if ((v = obj[p = ps[i]]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if ((v = obj[p = 'LN10']) !== void 0) {\r\n if (v == Math.LN10) this[p] = new this(v);\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(Decimal);\r\n\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Internal constant.\r\n ONE = new Decimal(1);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self\r\n ? self : Function('return this')();\r\n }\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","'use strict';\n\nmodule.exports = require('./components/fileupload/FileUpload');","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function(x) {\n return function constant() {\n return x;\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","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nmodule.exports = require('./components/datatable/DataTable');","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n <RouterContext.Provider\n value={{\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }}\n >\n <HistoryContext.Provider\n children={this.props.children || null}\n value={this.props.history}\n />\n </RouterContext.Provider>\n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change <Router history>\"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Redirect> outside a <Router>\");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n <Lifecycle\n onMount={() => {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Route> outside a <Router>\");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // <Switch> already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n <RouterContext.Provider value={props}>\n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n </RouterContext.Provider>\n );\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return <Router {...rest} history={history} staticContext={context} />;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a <Router>`\n );\n return (\n <Component\n {...remainingProps}\n {...context}\n ref={wrappedComponentRef}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","'use strict';\n\nmodule.exports = require('./components/toolbar/Toolbar');","import _isNil from \"lodash/isNil\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { getPercentValue } from './DataUtils';\nimport { parseScale, checkDomainOfScale, getTicksOfScale } from './ChartUtils';\nexport var RADIAN = Math.PI / 180;\nexport var degreeToRadian = function degreeToRadian(angle) {\n return angle * Math.PI / 180;\n};\nexport var radianToDegree = function radianToDegree(angleInRadian) {\n return angleInRadian * 180 / Math.PI;\n};\nexport var polarToCartesian = function polarToCartesian(cx, cy, radius, angle) {\n return {\n x: cx + Math.cos(-RADIAN * angle) * radius,\n y: cy + Math.sin(-RADIAN * angle) * radius\n };\n};\nexport var getMaxRadius = function getMaxRadius(width, height) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return Math.min(Math.abs(width - (offset.left || 0) - (offset.right || 0)), Math.abs(height - (offset.top || 0) - (offset.bottom || 0))) / 2;\n};\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {Object} axisType The type of axes, radius-axis or angle-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height;\n var startAngle = props.startAngle,\n endAngle = props.endAngle;\n var cx = getPercentValue(props.cx, width, width / 2);\n var cy = getPercentValue(props.cy, height, height / 2);\n var maxRadius = getMaxRadius(width, height, offset);\n var innerRadius = getPercentValue(props.innerRadius, maxRadius, 0);\n var outerRadius = getPercentValue(props.outerRadius, maxRadius, maxRadius * 0.8);\n var ids = Object.keys(axisMap);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var domain = axis.domain,\n reversed = axis.reversed;\n var range;\n\n if (_isNil(axis.range)) {\n if (axisType === 'angleAxis') {\n range = [startAngle, endAngle];\n } else if (axisType === 'radiusAxis') {\n range = [innerRadius, outerRadius];\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n } else {\n range = axis.range;\n var _range = range;\n\n var _range2 = _slicedToArray(_range, 2);\n\n startAngle = _range2[0];\n endAngle = _range2[1];\n }\n\n var _parseScale = parseScale(axis, chartName),\n realScaleType = _parseScale.realScaleType,\n scale = _parseScale.scale;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n range: range,\n radius: outerRadius,\n realScaleType: realScaleType,\n scale: scale,\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var distanceBetweenPoints = function distanceBetweenPoints(point, anotherPoint) {\n var x1 = point.x,\n y1 = point.y;\n var x2 = anotherPoint.x,\n y2 = anotherPoint.y;\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\nexport var getAngleOfPoint = function getAngleOfPoint(_ref, _ref2) {\n var x = _ref.x,\n y = _ref.y;\n var cx = _ref2.cx,\n cy = _ref2.cy;\n var radius = distanceBetweenPoints({\n x: x,\n y: y\n }, {\n x: cx,\n y: cy\n });\n\n if (radius <= 0) {\n return {\n radius: radius\n };\n }\n\n var cos = (x - cx) / radius;\n var angleInRadian = Math.acos(cos);\n\n if (y > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n\n return {\n radius: radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian: angleInRadian\n };\n};\nexport var formatAngleOfSector = function formatAngleOfSector(_ref3) {\n var startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min * 360,\n endAngle: endAngle - min * 360\n };\n};\n\nvar reverseFormatAngleOfSetor = function reverseFormatAngleOfSetor(angle, _ref4) {\n var startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return angle + min * 360;\n};\n\nexport var inRangeOfSector = function inRangeOfSector(_ref5, sector) {\n var x = _ref5.x,\n y = _ref5.y;\n\n var _getAngleOfPoint = getAngleOfPoint({\n x: x,\n y: y\n }, sector),\n radius = _getAngleOfPoint.radius,\n angle = _getAngleOfPoint.angle;\n\n var innerRadius = sector.innerRadius,\n outerRadius = sector.outerRadius;\n\n if (radius < innerRadius || radius > outerRadius) {\n return false;\n }\n\n if (radius === 0) {\n return true;\n }\n\n var _formatAngleOfSector = formatAngleOfSector(sector),\n startAngle = _formatAngleOfSector.startAngle,\n endAngle = _formatAngleOfSector.endAngle;\n\n var formatAngle = angle;\n var inRange;\n\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n\n if (inRange) {\n return _objectSpread(_objectSpread({}, sector), {}, {\n radius: radius,\n angle: reverseFormatAngleOfSetor(formatAngle, sector)\n });\n }\n\n return null;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DomHandler = /*#__PURE__*/function () {\n function DomHandler() {\n _classCallCheck(this, DomHandler);\n }\n\n _createClass(DomHandler, null, [{\n key: \"innerWidth\",\n value: function innerWidth(el) {\n if (el) {\n var width = el.offsetWidth;\n var style = getComputedStyle(el);\n width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n return width;\n }\n\n return 0;\n }\n }, {\n key: \"width\",\n value: function width(el) {\n if (el) {\n var width = el.offsetWidth;\n var style = getComputedStyle(el);\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n return width;\n }\n\n return 0;\n }\n }, {\n key: \"getWindowScrollTop\",\n value: function getWindowScrollTop() {\n var doc = document.documentElement;\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n }\n }, {\n key: \"getWindowScrollLeft\",\n value: function getWindowScrollLeft() {\n var doc = document.documentElement;\n return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n }\n }, {\n key: \"getOuterWidth\",\n value: function getOuterWidth(el, margin) {\n if (el) {\n var width = el.offsetWidth;\n\n if (margin) {\n var style = getComputedStyle(el);\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n\n return width;\n }\n\n return 0;\n }\n }, {\n key: \"getOuterHeight\",\n value: function getOuterHeight(el, margin) {\n if (el) {\n var height = el.offsetHeight;\n\n if (margin) {\n var style = getComputedStyle(el);\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n\n return 0;\n }\n }, {\n key: \"getClientHeight\",\n value: function getClientHeight(el, margin) {\n if (el) {\n var height = el.clientHeight;\n\n if (margin) {\n var style = getComputedStyle(el);\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n\n return 0;\n }\n }, {\n key: \"getViewport\",\n value: function getViewport() {\n var win = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n w = win.innerWidth || e.clientWidth || g.clientWidth,\n h = win.innerHeight || e.clientHeight || g.clientHeight;\n return {\n width: w,\n height: h\n };\n }\n }, {\n key: \"getOffset\",\n value: function getOffset(el) {\n if (el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0)\n };\n }\n\n return {\n top: 'auto',\n left: 'auto'\n };\n }\n }, {\n key: \"generateZIndex\",\n value: function generateZIndex() {\n this.zindex = this.zindex || 999;\n return ++this.zindex;\n }\n }, {\n key: \"getCurrentZIndex\",\n value: function getCurrentZIndex() {\n return this.zindex;\n }\n }, {\n key: \"index\",\n value: function index(element) {\n if (element) {\n var children = element.parentNode.childNodes;\n var num = 0;\n\n for (var i = 0; i < children.length; i++) {\n if (children[i] === element) return num;\n if (children[i].nodeType === 1) num++;\n }\n }\n\n return -1;\n }\n }, {\n key: \"addMultipleClasses\",\n value: function addMultipleClasses(element, className) {\n if (element) {\n if (element.classList) {\n var styles = className.split(' ');\n\n for (var i = 0; i < styles.length; i++) {\n element.classList.add(styles[i]);\n }\n } else {\n var _styles = className.split(' ');\n\n for (var _i = 0; _i < _styles.length; _i++) {\n element.className += ' ' + _styles[_i];\n }\n }\n }\n }\n }, {\n key: \"addClass\",\n value: function addClass(element, className) {\n if (element) {\n if (element.classList) element.classList.add(className);else element.className += ' ' + className;\n }\n }\n }, {\n key: \"removeClass\",\n value: function removeClass(element, className) {\n if (element) {\n if (element.classList) element.classList.remove(className);else element.className = element.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n }, {\n key: \"hasClass\",\n value: function hasClass(element, className) {\n if (element) {\n if (element.classList) return element.classList.contains(className);else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n }\n }, {\n key: \"find\",\n value: function find(element, selector) {\n return element ? Array.from(element.querySelectorAll(selector)) : [];\n }\n }, {\n key: \"findSingle\",\n value: function findSingle(element, selector) {\n if (element) {\n return element.querySelector(selector);\n }\n\n return null;\n }\n }, {\n key: \"getHeight\",\n value: function getHeight(el) {\n if (el) {\n var height = el.offsetHeight;\n var style = getComputedStyle(el);\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n return height;\n }\n\n return 0;\n }\n }, {\n key: \"getWidth\",\n value: function getWidth(el) {\n if (el) {\n var width = el.offsetWidth;\n var style = getComputedStyle(el);\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n return width;\n }\n\n return 0;\n }\n }, {\n key: \"absolutePosition\",\n value: function absolutePosition(element, target) {\n if (element) {\n var elementDimensions = element.offsetParent ? {\n width: element.offsetWidth,\n height: element.offsetHeight\n } : this.getHiddenElementDimensions(element);\n var elementOuterHeight = elementDimensions.height;\n var elementOuterWidth = elementDimensions.width;\n var targetOuterHeight = target.offsetHeight;\n var targetOuterWidth = target.offsetWidth;\n var targetOffset = target.getBoundingClientRect();\n var windowScrollTop = this.getWindowScrollTop();\n var windowScrollLeft = this.getWindowScrollLeft();\n var viewport = this.getViewport();\n var top, left;\n\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n\n if (top < 0) {\n top = windowScrollTop;\n }\n\n element.style.transformOrigin = 'bottom';\n } else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n element.style.transformOrigin = 'top';\n }\n\n if (targetOffset.left + targetOuterWidth + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);else left = targetOffset.left + windowScrollLeft;\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n }\n }\n }, {\n key: \"relativePosition\",\n value: function relativePosition(element, target) {\n if (element) {\n var elementDimensions = element.offsetParent ? {\n width: element.offsetWidth,\n height: element.offsetHeight\n } : this.getHiddenElementDimensions(element);\n var targetHeight = target.offsetHeight;\n var targetOffset = target.getBoundingClientRect();\n var viewport = this.getViewport();\n var top, left;\n\n if (targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {\n top = -1 * elementDimensions.height;\n\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n\n element.style.transformOrigin = 'bottom';\n } else {\n top = targetHeight;\n element.style.transformOrigin = 'top';\n }\n\n if (elementDimensions.width > viewport.width) {\n // element wider then viewport and cannot fit on screen (align at left side of viewport)\n left = targetOffset.left * -1;\n } else if (targetOffset.left + elementDimensions.width > viewport.width) {\n // element wider then viewport but can be fit on screen (align at right side of viewport)\n left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;\n } else {\n // element fits on screen (align with target)\n left = 0;\n }\n\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n }\n }\n }, {\n key: \"flipfitCollision\",\n value: function flipfitCollision(element, target) {\n var _this = this;\n\n var my = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'left top';\n var at = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'left bottom';\n var callback = arguments.length > 4 ? arguments[4] : undefined;\n var targetOffset = target.getBoundingClientRect();\n var viewport = this.getViewport();\n var myArr = my.split(' ');\n var atArr = at.split(' ');\n\n var getPositionValue = function getPositionValue(arr, isOffset) {\n return isOffset ? +arr.substring(arr.search(/(\\+|-)/g)) || 0 : arr.substring(0, arr.search(/(\\+|-)/g)) || arr;\n };\n\n var position = {\n my: {\n x: getPositionValue(myArr[0]),\n y: getPositionValue(myArr[1] || myArr[0]),\n offsetX: getPositionValue(myArr[0], true),\n offsetY: getPositionValue(myArr[1] || myArr[0], true)\n },\n at: {\n x: getPositionValue(atArr[0]),\n y: getPositionValue(atArr[1] || atArr[0]),\n offsetX: getPositionValue(atArr[0], true),\n offsetY: getPositionValue(atArr[1] || atArr[0], true)\n }\n };\n var myOffset = {\n left: function left() {\n var totalOffset = position.my.offsetX + position.at.offsetX;\n return totalOffset + targetOffset.left + (position.my.x === 'left' ? 0 : -1 * (position.my.x === 'center' ? _this.getOuterWidth(element) / 2 : _this.getOuterWidth(element)));\n },\n top: function top() {\n var totalOffset = position.my.offsetY + position.at.offsetY;\n return totalOffset + targetOffset.top + (position.my.y === 'top' ? 0 : -1 * (position.my.y === 'center' ? _this.getOuterHeight(element) / 2 : _this.getOuterHeight(element)));\n }\n };\n var alignWithAt = {\n count: {\n x: 0,\n y: 0\n },\n left: function left() {\n var left = myOffset.left();\n var scrollLeft = DomHandler.getWindowScrollLeft();\n element.style.left = left + scrollLeft + 'px';\n\n if (this.count.x === 2) {\n element.style.left = scrollLeft + 'px';\n this.count.x = 0;\n } else if (left < 0) {\n this.count.x++;\n position.my.x = 'left';\n position.at.x = 'right';\n position.my.offsetX *= -1;\n position.at.offsetX *= -1;\n this.right();\n }\n },\n right: function right() {\n var left = myOffset.left() + DomHandler.getOuterWidth(target);\n var scrollLeft = DomHandler.getWindowScrollLeft();\n element.style.left = left + scrollLeft + 'px';\n\n if (this.count.x === 2) {\n element.style.left = viewport.width - DomHandler.getOuterWidth(element) + scrollLeft + 'px';\n this.count.x = 0;\n } else if (left + DomHandler.getOuterWidth(element) > viewport.width) {\n this.count.x++;\n position.my.x = 'right';\n position.at.x = 'left';\n position.my.offsetX *= -1;\n position.at.offsetX *= -1;\n this.left();\n }\n },\n top: function top() {\n var top = myOffset.top();\n var scrollTop = DomHandler.getWindowScrollTop();\n element.style.top = top + scrollTop + 'px';\n\n if (this.count.y === 2) {\n element.style.left = scrollTop + 'px';\n this.count.y = 0;\n } else if (top < 0) {\n this.count.y++;\n position.my.y = 'top';\n position.at.y = 'bottom';\n position.my.offsetY *= -1;\n position.at.offsetY *= -1;\n this.bottom();\n }\n },\n bottom: function bottom() {\n var top = myOffset.top() + DomHandler.getOuterHeight(target);\n var scrollTop = DomHandler.getWindowScrollTop();\n element.style.top = top + scrollTop + 'px';\n\n if (this.count.y === 2) {\n element.style.left = viewport.height - DomHandler.getOuterHeight(element) + scrollTop + 'px';\n this.count.y = 0;\n } else if (top + DomHandler.getOuterHeight(target) > viewport.height) {\n this.count.y++;\n position.my.y = 'bottom';\n position.at.y = 'top';\n position.my.offsetY *= -1;\n position.at.offsetY *= -1;\n this.top();\n }\n },\n center: function center(axis) {\n if (axis === 'y') {\n var top = myOffset.top() + DomHandler.getOuterHeight(target) / 2;\n element.style.top = top + DomHandler.getWindowScrollTop() + 'px';\n\n if (top < 0) {\n this.bottom();\n } else if (top + DomHandler.getOuterHeight(target) > viewport.height) {\n this.top();\n }\n } else {\n var left = myOffset.left() + DomHandler.getOuterWidth(target) / 2;\n element.style.left = left + DomHandler.getWindowScrollLeft() + 'px';\n\n if (left < 0) {\n this.left();\n } else if (left + DomHandler.getOuterWidth(element) > viewport.width) {\n this.right();\n }\n }\n }\n };\n alignWithAt[position.at.x]('x');\n alignWithAt[position.at.y]('y');\n\n if (this.isFunction(callback)) {\n callback(position);\n }\n }\n }, {\n key: \"findCollisionPosition\",\n value: function findCollisionPosition(position) {\n if (position) {\n var isAxisY = position === 'top' || position === 'bottom';\n var myXPosition = position === 'left' ? 'right' : 'left';\n var myYPosition = position === 'top' ? 'bottom' : 'top';\n\n if (isAxisY) {\n return {\n axis: 'y',\n my: \"center \".concat(myYPosition),\n at: \"center \".concat(position)\n };\n }\n\n return {\n axis: 'x',\n my: \"\".concat(myXPosition, \" center\"),\n at: \"\".concat(position, \" center\")\n };\n }\n }\n }, {\n key: \"getParents\",\n value: function getParents(element) {\n var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return element['parentNode'] === null ? parents : this.getParents(element.parentNode, parents.concat([element.parentNode]));\n }\n }, {\n key: \"getScrollableParents\",\n value: function getScrollableParents(element) {\n var scrollableParents = [];\n\n if (element) {\n var parents = this.getParents(element);\n var overflowRegex = /(auto|scroll)/;\n\n var overflowCheck = function overflowCheck(node) {\n var styleDeclaration = window['getComputedStyle'](node, null);\n return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));\n };\n\n var _iterator = _createForOfIteratorHelper(parents),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var parent = _step.value;\n var scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n\n if (scrollSelectors) {\n var selectors = scrollSelectors.split(',');\n\n var _iterator2 = _createForOfIteratorHelper(selectors),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var selector = _step2.value;\n var el = this.findSingle(parent, selector);\n\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return scrollableParents;\n }\n }, {\n key: \"getHiddenElementOuterHeight\",\n value: function getHiddenElementOuterHeight(element) {\n if (element) {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n var elementHeight = element.offsetHeight;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n return elementHeight;\n }\n\n return 0;\n }\n }, {\n key: \"getHiddenElementOuterWidth\",\n value: function getHiddenElementOuterWidth(element) {\n if (element) {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n var elementWidth = element.offsetWidth;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n return elementWidth;\n }\n\n return 0;\n }\n }, {\n key: \"getHiddenElementDimensions\",\n value: function getHiddenElementDimensions(element) {\n var dimensions = {};\n\n if (element) {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n dimensions.width = element.offsetWidth;\n dimensions.height = element.offsetHeight;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n }\n\n return dimensions;\n }\n }, {\n key: \"fadeIn\",\n value: function fadeIn(element, duration) {\n if (element) {\n element.style.opacity = 0;\n var last = +new Date();\n var opacity = 0;\n\n var tick = function tick() {\n opacity = +element.style.opacity + (new Date().getTime() - last) / duration;\n element.style.opacity = opacity;\n last = +new Date();\n\n if (+opacity < 1) {\n window.requestAnimationFrame && requestAnimationFrame(tick) || setTimeout(tick, 16);\n }\n };\n\n tick();\n }\n }\n }, {\n key: \"fadeOut\",\n value: function fadeOut(element, ms) {\n if (element) {\n var opacity = 1,\n interval = 50,\n duration = ms,\n gap = interval / duration;\n var fading = setInterval(function () {\n opacity -= gap;\n\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n\n element.style.opacity = opacity;\n }, interval);\n }\n }\n }, {\n key: \"getUserAgent\",\n value: function getUserAgent() {\n return navigator.userAgent;\n }\n }, {\n key: \"isIOS\",\n value: function isIOS() {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window['MSStream'];\n }\n }, {\n key: \"isAndroid\",\n value: function isAndroid() {\n return /(android)/i.test(navigator.userAgent);\n }\n }, {\n key: \"isFunction\",\n value: function isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n }\n }, {\n key: \"appendChild\",\n value: function appendChild(element, target) {\n if (this.isElement(target)) target.appendChild(element);else if (target.el && target.el.nativeElement) target.el.nativeElement.appendChild(element);else throw new Error('Cannot append ' + target + ' to ' + element);\n }\n }, {\n key: \"removeChild\",\n value: function removeChild(element, target) {\n if (this.isElement(target)) target.removeChild(element);else if (target.el && target.el.nativeElement) target.el.nativeElement.removeChild(element);else throw new Error('Cannot remove ' + element + ' from ' + target);\n }\n }, {\n key: \"isElement\",\n value: function isElement(obj) {\n return (typeof HTMLElement === \"undefined\" ? \"undefined\" : _typeof(HTMLElement)) === \"object\" ? obj instanceof HTMLElement : obj && _typeof(obj) === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\";\n }\n }, {\n key: \"scrollInView\",\n value: function scrollInView(container, item) {\n var borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');\n var borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;\n var paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');\n var paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n var containerRect = container.getBoundingClientRect();\n var itemRect = item.getBoundingClientRect();\n var offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n var scroll = container.scrollTop;\n var elementHeight = container.clientHeight;\n var itemHeight = this.getOuterHeight(item);\n\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n } else if (offset + itemHeight > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n }\n }, {\n key: \"clearSelection\",\n value: function clearSelection() {\n if (window.getSelection) {\n if (window.getSelection().empty) {\n window.getSelection().empty();\n } else if (window.getSelection().removeAllRanges && window.getSelection().rangeCount > 0 && window.getSelection().getRangeAt(0).getClientRects().length > 0) {\n window.getSelection().removeAllRanges();\n }\n } else if (document['selection'] && document['selection'].empty) {\n try {\n document['selection'].empty();\n } catch (error) {//ignore IE bug\n }\n }\n }\n }, {\n key: \"calculateScrollbarWidth\",\n value: function calculateScrollbarWidth(el) {\n if (el) {\n var style = getComputedStyle(el);\n return el.offsetWidth - el.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);\n } else {\n if (this.calculatedScrollbarWidth != null) return this.calculatedScrollbarWidth;\n var scrollDiv = document.createElement(\"div\");\n scrollDiv.className = \"p-scrollbar-measure\";\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n this.calculatedScrollbarWidth = scrollbarWidth;\n return scrollbarWidth;\n }\n }\n }, {\n key: \"getBrowser\",\n value: function getBrowser() {\n if (!this.browser) {\n var matched = this.resolveUserAgent();\n this.browser = {};\n\n if (matched.browser) {\n this.browser[matched.browser] = true;\n this.browser['version'] = matched.version;\n }\n\n if (this.browser['chrome']) {\n this.browser['webkit'] = true;\n } else if (this.browser['webkit']) {\n this.browser['safari'] = true;\n }\n }\n\n return this.browser;\n }\n }, {\n key: \"resolveUserAgent\",\n value: function resolveUserAgent() {\n var ua = navigator.userAgent.toLowerCase();\n var match = /(chrome)[ ]([\\w.]+)/.exec(ua) || /(webkit)[ ]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ ]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || ua.indexOf(\"compatible\") < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua) || [];\n return {\n browser: match[1] || \"\",\n version: match[2] || \"0\"\n };\n }\n }, {\n key: \"isVisible\",\n value: function isVisible(element) {\n return element && element.offsetParent != null;\n }\n }, {\n key: \"getFocusableElements\",\n value: function getFocusableElements(element) {\n var focusableElements = DomHandler.find(element, \"button:not([tabindex = \\\"-1\\\"]):not([disabled]):not([style*=\\\"display:none\\\"]):not([hidden]),\\n [href][clientHeight][clientWidth]:not([tabindex = \\\"-1\\\"]):not([disabled]):not([style*=\\\"display:none\\\"]):not([hidden]),\\n input:not([tabindex = \\\"-1\\\"]):not([disabled]):not([style*=\\\"display:none\\\"]):not([hidden]), select:not([tabindex = \\\"-1\\\"]):not([disabled]):not([style*=\\\"display:none\\\"]):not([hidden]),\\n textarea:not([tabindex = \\\"-1\\\"]):not([disabled]):not([style*=\\\"display:none\\\"]):not([hidden]), [tabIndex]:not([tabIndex = \\\"-1\\\"]):not([disabled]):not([style*=\\\"display:none\\\"]):not([hidden]),\\n [contenteditable]:not([tabIndex = \\\"-1\\\"]):not([disabled]):not([style*=\\\"display:none\\\"]):not([hidden])\");\n var visibleFocusableElements = [];\n\n var _iterator3 = _createForOfIteratorHelper(focusableElements),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var focusableElement = _step3.value;\n if (getComputedStyle(focusableElement).display !== \"none\" && getComputedStyle(focusableElement).visibility !== \"hidden\") visibleFocusableElements.push(focusableElement);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return visibleFocusableElements;\n }\n }]);\n\n return DomHandler;\n}();\n\nexports.default = DomHandler;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Layer\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nexport var Layer = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var children = props.children,\n className = props.className,\n others = _objectWithoutProperties(props, [\"children\", \"className\"]);\n\n var layerClass = classNames('recharts-layer', className);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n className: layerClass\n }, filterProps(others, true), {\n ref: ref\n }), children);\n});","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"@azure/msal-common\";\n\n/**\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const BrowserConfigurationAuthErrorMessage = {\n redirectUriNotSet: {\n code: \"redirect_uri_empty\",\n desc: \"A redirect URI is required for all calls, and none has been set.\"\n },\n postLogoutUriNotSet: {\n code: \"post_logout_uri_empty\",\n desc: \"A post logout redirect has not been set.\"\n },\n storageNotSupportedError: {\n code: \"storage_not_supported\",\n desc: \"Given storage configuration option was not supported.\"\n },\n noRedirectCallbacksSet: {\n code: \"no_redirect_callbacks\",\n desc: \"No redirect callbacks have been set. Please call setRedirectCallbacks() with the appropriate function arguments before continuing. \" +\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\n },\n invalidCallbackObject: {\n code: \"invalid_callback_object\",\n desc: \"The object passed for the callback was invalid. \" +\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\n },\n stubPcaInstanceCalled: {\n code: \"stubbed_public_client_application_called\",\n desc: \"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors\"\n },\n inMemRedirectUnavailable: {\n code: \"in_mem_redirect_unavailable\",\n desc: \"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true.\"\n },\n entropyNotProvided: {\n code: \"entropy_not_provided\",\n desc: \"The available browser crypto interface requires entropy set via system.cryptoOptions.entropy configuration option.\"\n }\n};\n\n/**\n * Browser library error class thrown by the MSAL.js library for SPAs\n */\nexport class BrowserConfigurationAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"BrowserConfigurationAuthError\";\n\n Object.setPrototypeOf(this, BrowserConfigurationAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when the redirect uri is empty (not set by caller)\n */\n static createRedirectUriEmptyError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.redirectUriNotSet.code,\n BrowserConfigurationAuthErrorMessage.redirectUriNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\n */\n static createPostLogoutRedirectUriEmptyError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.code,\n BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.desc);\n }\n\n /**\n * Creates error thrown when given storage location is not supported.\n * @param givenStorageLocation \n */\n static createStorageNotSupportedError(givenStorageLocation: string): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.storageNotSupportedError.code, `${BrowserConfigurationAuthErrorMessage.storageNotSupportedError.desc} Given Location: ${givenStorageLocation}`);\n }\n\n /**\n * Creates error thrown when redirect callbacks are not set before calling loginRedirect() or acquireTokenRedirect().\n */\n static createRedirectCallbacksNotSetError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.code, \n BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.desc);\n }\n\n /**\n * Creates error thrown when the stub instance of PublicClientApplication is called.\n */\n static createStubPcaInstanceCalledError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.code,\n BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.desc);\n }\n\n /*\n * Create an error thrown when in-memory storage is used and storeAuthStateInCookie=false.\n */\n static createInMemoryRedirectUnavailableError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.code, BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.desc);\n }\n \n /**\n * Creates an error thrown when a crypto interface that requires entropy is initialized without entropy\n */\n static createEntropyNotProvided(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.entropyNotProvided.code, BrowserConfigurationAuthErrorMessage.entropyNotProvided.desc);\n }\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Ripple = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _DomHandler = _interopRequireDefault(require(\"../utils/DomHandler\"));\n\nvar _PrimeReact = _interopRequireDefault(require(\"../utils/PrimeReact\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Ripple = /*#__PURE__*/function (_Component) {\n _inherits(Ripple, _Component);\n\n var _super = _createSuper(Ripple);\n\n function Ripple(props) {\n var _this;\n\n _classCallCheck(this, Ripple);\n\n _this = _super.call(this, props);\n _this.onMouseDown = _this.onMouseDown.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Ripple, [{\n key: \"getTarget\",\n value: function getTarget() {\n return this.ink && this.ink.parentElement;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n if (this.target) {\n this.target.addEventListener('mousedown', this.onMouseDown);\n }\n }\n }, {\n key: \"unbindEvents\",\n value: function unbindEvents() {\n if (this.target) {\n this.target.removeEventListener('mousedown', this.onMouseDown);\n }\n }\n }, {\n key: \"onMouseDown\",\n value: function onMouseDown(event) {\n if (!this.ink || getComputedStyle(this.ink, null).display === 'none') {\n return;\n }\n\n _DomHandler.default.removeClass(this.ink, 'p-ink-active');\n\n if (!_DomHandler.default.getHeight(this.ink) && !_DomHandler.default.getWidth(this.ink)) {\n var d = Math.max(_DomHandler.default.getOuterWidth(this.target), _DomHandler.default.getOuterHeight(this.target));\n this.ink.style.height = d + 'px';\n this.ink.style.width = d + 'px';\n }\n\n var offset = _DomHandler.default.getOffset(this.target);\n\n var x = event.pageX - offset.left + document.body.scrollTop - _DomHandler.default.getWidth(this.ink) / 2;\n var y = event.pageY - offset.top + document.body.scrollLeft - _DomHandler.default.getHeight(this.ink) / 2;\n this.ink.style.top = y + 'px';\n this.ink.style.left = x + 'px';\n\n _DomHandler.default.addClass(this.ink, 'p-ink-active');\n }\n }, {\n key: \"onAnimationEnd\",\n value: function onAnimationEnd(event) {\n _DomHandler.default.removeClass(event.currentTarget, 'p-ink-active');\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.ink) {\n this.target = this.getTarget();\n this.bindEvents();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (this.ink && !this.target) {\n this.target = this.getTarget();\n this.bindEvents();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.ink) {\n this.target = null;\n this.unbindEvents();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return _PrimeReact.default.ripple && /*#__PURE__*/_react.default.createElement(\"span\", {\n ref: function ref(el) {\n return _this2.ink = el;\n },\n className: \"p-ink\",\n onAnimationEnd: this.onAnimationEnd\n });\n }\n }]);\n\n return Ripple;\n}(_react.Component);\n\nexports.Ripple = Ripple;","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","'use strict';\n\nmodule.exports = require('./components/checkbox/Checkbox');","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\n\nmodule.exports = require('./components/tabview/TabView');","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ObjectUtils = /*#__PURE__*/function () {\n function ObjectUtils() {\n _classCallCheck(this, ObjectUtils);\n }\n\n _createClass(ObjectUtils, null, [{\n key: \"equals\",\n value: function equals(obj1, obj2, field) {\n if (field && obj1 && _typeof(obj1) === 'object' && obj2 && _typeof(obj2) === 'object') return this.resolveFieldData(obj1, field) === this.resolveFieldData(obj2, field);else return this.deepEquals(obj1, obj2);\n }\n }, {\n key: \"deepEquals\",\n value: function deepEquals(a, b) {\n if (a === b) return true;\n\n if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {\n var arrA = Array.isArray(a),\n arrB = Array.isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length !== b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!this.deepEquals(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (arrA !== arrB) return false;\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA !== dateB) return false;\n if (dateA && dateB) return a.getTime() === b.getTime();\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA !== regexpB) return false;\n if (regexpA && regexpB) return a.toString() === b.toString();\n var keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n }\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!this.deepEquals(a[key], b[key])) return false;\n }\n\n return true;\n }\n /*eslint no-self-compare: \"off\"*/\n\n\n return a !== a && b !== b;\n }\n }, {\n key: \"resolveFieldData\",\n value: function resolveFieldData(data, field) {\n if (this.isFunction(field)) {\n return field(data);\n } else {\n if (data && field) {\n if (field.indexOf('.') === -1) {\n return data[field];\n } else {\n var fields = field.split('.');\n var value = data;\n\n for (var i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n\n value = value[fields[i]];\n }\n\n return value;\n }\n } else {\n return null;\n }\n }\n }\n }, {\n key: \"isFunction\",\n value: function isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n }\n }, {\n key: \"findDiffKeys\",\n value: function findDiffKeys(obj1, obj2) {\n if (!obj1 || !obj2) {\n return {};\n }\n\n return Object.keys(obj1).filter(function (key) {\n return !obj2.hasOwnProperty(key);\n }).reduce(function (result, current) {\n result[current] = obj1[current];\n return result;\n }, {});\n }\n }, {\n key: \"reorderArray\",\n value: function reorderArray(value, from, to) {\n var target;\n\n if (value && from !== to) {\n if (to >= value.length) {\n target = to - value.length;\n\n while (target-- + 1) {\n value.push(undefined);\n }\n }\n\n value.splice(to, 0, value.splice(from, 1)[0]);\n }\n }\n }, {\n key: \"findIndexInList\",\n value: function findIndexInList(value, list) {\n var index = -1;\n\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i] === value) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n }, {\n key: \"getJSXElement\",\n value: function getJSXElement(obj) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n\n return this.isFunction(obj) ? obj.apply(void 0, params) : obj;\n }\n }, {\n key: \"removeAccents\",\n value: function removeAccents(str) {\n if (str && str.search(/[\\xC0-\\xFF]/g) > -1) {\n str = str.replace(/[\\xC0-\\xC5]/g, \"A\").replace(/[\\xC6]/g, \"AE\").replace(/[\\xC7]/g, \"C\").replace(/[\\xC8-\\xCB]/g, \"E\").replace(/[\\xCC-\\xCF]/g, \"I\").replace(/[\\xD0]/g, \"D\").replace(/[\\xD1]/g, \"N\").replace(/[\\xD2-\\xD6\\xD8]/g, \"O\").replace(/[\\xD9-\\xDC]/g, \"U\").replace(/[\\xDD]/g, \"Y\").replace(/[\\xDE]/g, \"P\").replace(/[\\xE0-\\xE5]/g, \"a\").replace(/[\\xE6]/g, \"ae\").replace(/[\\xE7]/g, \"c\").replace(/[\\xE8-\\xEB]/g, \"e\").replace(/[\\xEC-\\xEF]/g, \"i\").replace(/[\\xF1]/g, \"n\").replace(/[\\xF2-\\xF6\\xF8]/g, \"o\").replace(/[\\xF9-\\xFC]/g, \"u\").replace(/[\\xFE]/g, \"p\").replace(/[\\xFD\\xFF]/g, \"y\");\n }\n\n return str;\n }\n }]);\n\n return ObjectUtils;\n}();\n\nexports.default = ObjectUtils;","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","export default function warn(s) {\n console.warn('[react-ga]', s);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar _excluded = [\"to\", \"target\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport warn from '../utils/console/warn';\nvar NEWTAB = '_blank';\nvar MIDDLECLICK = 1;\n\nvar OutboundLink = /*#__PURE__*/function (_Component) {\n _inherits(OutboundLink, _Component);\n\n var _super = _createSuper(OutboundLink);\n\n function OutboundLink() {\n var _this;\n\n _classCallCheck(this, OutboundLink);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n var _this$props = _this.props,\n target = _this$props.target,\n eventLabel = _this$props.eventLabel,\n to = _this$props.to,\n onClick = _this$props.onClick,\n trackerNames = _this$props.trackerNames;\n var eventMeta = {\n label: eventLabel\n };\n var sameTarget = target !== NEWTAB;\n var normalClick = !(event.ctrlKey || event.shiftKey || event.metaKey || event.button === MIDDLECLICK);\n\n if (sameTarget && normalClick) {\n event.preventDefault();\n OutboundLink.trackLink(eventMeta, function () {\n window.location.href = to;\n }, trackerNames);\n } else {\n OutboundLink.trackLink(eventMeta, function () {}, trackerNames);\n }\n\n if (onClick) {\n onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(OutboundLink, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n href = _this$props2.to,\n target = _this$props2.target,\n oldProps = _objectWithoutProperties(_this$props2, _excluded);\n\n var props = _objectSpread(_objectSpread({}, oldProps), {}, {\n target: target,\n href: href,\n onClick: this.handleClick\n });\n\n if (target === NEWTAB) {\n props.rel = \"\".concat(props.rel ? props.rel : '', \" noopener noreferrer\").trim();\n }\n\n delete props.eventLabel;\n delete props.trackerNames;\n return /*#__PURE__*/React.createElement('a', props);\n }\n }]);\n\n return OutboundLink;\n}(Component);\n\n_defineProperty(OutboundLink, \"trackLink\", function () {\n warn('ga tracking not enabled');\n});\n\nexport { OutboundLink as default };\nOutboundLink.propTypes = {\n eventLabel: PropTypes.string.isRequired,\n target: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n trackerNames: PropTypes.arrayOf(PropTypes.string)\n};\nOutboundLink.defaultProps = {\n target: null,\n to: null,\n onClick: null,\n trackerNames: null\n};","import warn from './console/warn';\nimport mightBeEmail from './mightBeEmail';\nvar redacted = 'REDACTED (Potential Email Address)';\nexport default function redactEmail(string) {\n if (mightBeEmail(string)) {\n warn('This arg looks like an email address, redacting.');\n return redacted;\n }\n\n return string;\n}","// See if s could be an email address. We don't want to send personal data like email.\n// https://support.google.com/analytics/answer/2795983?hl=en\nexport default function mightBeEmail(s) {\n // There's no point trying to validate rfc822 fully, just look for ...@...\n return typeof s === 'string' && s.indexOf('@') !== -1;\n}","// GA strings need to have leading/trailing whitespace trimmed, and not all\n// browsers have String.prototoype.trim().\nexport default function trim(s) {\n return s && s.toString().replace(/^\\s+|\\s+$/g, '');\n}","/**\n * To Title Case 2.1 - http://individed.com/code/to-title-case/\n * Copyright 2008-2013 David Gouch. Licensed under the MIT License.\n * https://github.com/gouch/to-title-case\n */\nimport trim from './trim';\nvar smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\\.?|via)$/i; // test\n\nexport default function toTitleCase(string) {\n return trim(string).replace(/[A-Za-z0-9\\u00C0-\\u00FF]+[^\\s-]*/g, function (match, index, title) {\n if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== ':' && (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') && title.charAt(index - 1).search(/[^\\s-]/) < 0) {\n return match.toLowerCase();\n }\n\n if (match.substr(1).search(/[A-Z]|\\../) > -1) {\n return match;\n }\n\n return match.charAt(0).toUpperCase() + match.substr(1);\n });\n}","var isLoaded = false;\nexport default function (options) {\n if (isLoaded) return;\n isLoaded = true;\n var gaAddress = 'https://www.google-analytics.com/analytics.js';\n\n if (options && options.gaAddress) {\n gaAddress = options.gaAddress;\n } else if (options && options.debug) {\n gaAddress = 'https://www.google-analytics.com/analytics_debug.js';\n }\n\n var onerror = options && options.onerror; // https://developers.google.com/analytics/devguides/collection/analyticsjs/\n\n /* eslint-disable */\n\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments);\n }, i[r].l = 1 * new Date();\n a = s.createElement(o), m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n a.onerror = onerror;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', gaAddress, 'ga');\n /* eslint-enable */\n\n}","export default function log(s) {\n console.info('[react-ga]', s);\n}","export var gaCalls = [];\nexport default {\n calls: gaCalls,\n ga: function ga() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n gaCalls.push([].concat(args));\n },\n resetCalls: function resetCalls() {\n gaCalls.length = 0;\n }\n};","var _excluded = [\"category\", \"action\", \"label\", \"value\", \"nonInteraction\", \"transport\"];\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * React Google Analytics Module\n *\n * @package react-ga\n * @author Adam Lofting <adam@mozillafoundation.org>\n * Atul Varma <atul@mozillafoundation.org>\n */\n\n/**\n * Utilities\n */\nimport format from './utils/format';\nimport removeLeadingSlash from './utils/removeLeadingSlash';\nimport trim from './utils/trim';\nimport loadGA from './utils/loadGA';\nimport warn from './utils/console/warn';\nimport log from './utils/console/log';\nimport TestModeAPI from './utils/testModeAPI';\n\nvar _isNotBrowser = typeof window === 'undefined' || typeof document === 'undefined';\n\nvar _debug = false;\nvar _titleCase = true;\nvar _testMode = false;\nvar _alwaysSendToDefaultTracker = true;\nvar _redactEmail = true;\n\nvar internalGa = function internalGa() {\n var _window;\n\n if (_testMode) return TestModeAPI.ga.apply(TestModeAPI, arguments);\n if (_isNotBrowser) return false;\n if (!window.ga) return warn('ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually');\n return (_window = window).ga.apply(_window, arguments);\n};\n\nfunction _format(s) {\n return format(s, _titleCase, _redactEmail);\n}\n\nfunction _gaCommand(trackerNames) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var command = args[0];\n\n if (typeof internalGa === 'function') {\n if (typeof command !== 'string') {\n warn('ga command must be a string');\n return;\n }\n\n if (_alwaysSendToDefaultTracker || !Array.isArray(trackerNames)) internalGa.apply(void 0, args);\n\n if (Array.isArray(trackerNames)) {\n trackerNames.forEach(function (name) {\n internalGa.apply(void 0, _toConsumableArray([\"\".concat(name, \".\").concat(command)].concat(args.slice(1))));\n });\n }\n }\n}\n\nfunction _initialize(gaTrackingID, options) {\n if (!gaTrackingID) {\n warn('gaTrackingID is required in initialize()');\n return;\n }\n\n if (options) {\n if (options.debug && options.debug === true) {\n _debug = true;\n }\n\n if (options.titleCase === false) {\n _titleCase = false;\n }\n\n if (options.redactEmail === false) {\n _redactEmail = false;\n }\n\n if (options.useExistingGa) {\n return;\n }\n }\n\n if (options && options.gaOptions) {\n internalGa('create', gaTrackingID, options.gaOptions);\n } else {\n internalGa('create', gaTrackingID, 'auto');\n }\n}\n\nexport function addTrackers(configsOrTrackingId, options) {\n if (Array.isArray(configsOrTrackingId)) {\n configsOrTrackingId.forEach(function (config) {\n if (_typeof(config) !== 'object') {\n warn('All configs must be an object');\n return;\n }\n\n _initialize(config.trackingId, config);\n });\n } else {\n _initialize(configsOrTrackingId, options);\n }\n\n return true;\n}\nexport function initialize(configsOrTrackingId, options) {\n if (options && options.testMode === true) {\n _testMode = true;\n } else {\n if (_isNotBrowser) {\n return;\n }\n\n if (!options || options.standardImplementation !== true) loadGA(options);\n }\n\n _alwaysSendToDefaultTracker = options && typeof options.alwaysSendToDefaultTracker === 'boolean' ? options.alwaysSendToDefaultTracker : true;\n addTrackers(configsOrTrackingId, options);\n}\n/**\n * ga:\n * Returns the original GA object.\n */\n\nexport function ga() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (args.length > 0) {\n internalGa.apply(void 0, args);\n\n if (_debug) {\n log(\"called ga('arguments');\");\n log(\"with arguments: \".concat(JSON.stringify(args)));\n }\n }\n\n return window.ga;\n}\n/**\n * set:\n * GA tracker set method\n * @param {Object} fieldsObject - a field/value pair or a group of field/value pairs on the tracker\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function set(fieldsObject, trackerNames) {\n if (!fieldsObject) {\n warn('`fieldsObject` is required in .set()');\n return;\n }\n\n if (_typeof(fieldsObject) !== 'object') {\n warn('Expected `fieldsObject` arg to be an Object');\n return;\n }\n\n if (Object.keys(fieldsObject).length === 0) {\n warn('empty `fieldsObject` given to .set()');\n }\n\n _gaCommand(trackerNames, 'set', fieldsObject);\n\n if (_debug) {\n log(\"called ga('set', fieldsObject);\");\n log(\"with fieldsObject: \".concat(JSON.stringify(fieldsObject)));\n }\n}\n/**\n * send:\n * Clone of the low level `ga.send` method\n * WARNING: No validations will be applied to this\n * @param {Object} fieldObject - field object for tracking different analytics\n * @param {Array} trackerNames - trackers to send the command to\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function send(fieldObject, trackerNames) {\n _gaCommand(trackerNames, 'send', fieldObject);\n\n if (_debug) {\n log(\"called ga('send', fieldObject);\");\n log(\"with fieldObject: \".concat(JSON.stringify(fieldObject)));\n log(\"with trackers: \".concat(JSON.stringify(trackerNames)));\n }\n}\n/**\n * pageview:\n * Basic GA pageview tracking\n * @param {String} path - the current page page e.g. '/about'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n * @param {String} title - (optional) the page title e. g. 'My Website'\n */\n\nexport function pageview(rawPath, trackerNames, title) {\n if (!rawPath) {\n warn('path is required in .pageview()');\n return;\n }\n\n var path = trim(rawPath);\n\n if (path === '') {\n warn('path cannot be an empty string in .pageview()');\n return;\n }\n\n var extraFields = {};\n\n if (title) {\n extraFields.title = title;\n }\n\n if (typeof ga === 'function') {\n _gaCommand(trackerNames, 'send', _objectSpread({\n hitType: 'pageview',\n page: path\n }, extraFields));\n\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n var extraLog = '';\n\n if (title) {\n extraLog = \" and title: \".concat(title);\n }\n\n log(\"with path: \".concat(path).concat(extraLog));\n }\n }\n}\n/**\n * modalview:\n * a proxy to basic GA pageview tracking to consistently track\n * modal views that are an equivalent UX to a traditional pageview\n * @param {String} modalName e.g. 'add-or-edit-club'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function modalview(rawModalName, trackerNames) {\n if (!rawModalName) {\n warn('modalName is required in .modalview(modalName)');\n return;\n }\n\n var modalName = removeLeadingSlash(trim(rawModalName));\n\n if (modalName === '') {\n warn('modalName cannot be an empty string or a single / in .modalview()');\n return;\n }\n\n if (typeof ga === 'function') {\n var path = \"/modal/\".concat(modalName);\n\n _gaCommand(trackerNames, 'send', 'pageview', path);\n\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n log(\"with path: \".concat(path));\n }\n }\n}\n/**\n * timing:\n * GA timing\n * @param args.category {String} required\n * @param args.variable {String} required\n * @param args.value {Int} required\n * @param args.label {String} required\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function timing() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref.category,\n variable = _ref.variable,\n value = _ref.value,\n label = _ref.label;\n\n var trackerNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (typeof ga === 'function') {\n if (!category || !variable || typeof value !== 'number') {\n warn('args.category, args.variable ' + 'AND args.value are required in timing() ' + 'AND args.value has to be a number');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'timing',\n timingCategory: _format(category),\n timingVar: _format(variable),\n timingValue: value\n };\n\n if (label) {\n fieldObject.timingLabel = _format(label);\n }\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * event:\n * GA event tracking\n * @param args.category {String} required\n * @param args.action {String} required\n * @param args.label {String} optional\n * @param args.value {Int} optional\n * @param args.nonInteraction {boolean} optional\n * @param args.transport {string} optional\n * @param {{action: string, category: string}} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function event() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref2.category,\n action = _ref2.action,\n label = _ref2.label,\n value = _ref2.value,\n nonInteraction = _ref2.nonInteraction,\n transport = _ref2.transport,\n args = _objectWithoutProperties(_ref2, _excluded);\n\n var trackerNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (typeof ga === 'function') {\n // Simple Validation\n if (!category || !action) {\n warn('args.category AND args.action are required in event()');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: _format(category),\n eventAction: _format(action)\n }; // Optional Fields\n\n if (label) {\n fieldObject.eventLabel = _format(label);\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value !== 'number') {\n warn('Expected `args.value` arg to be a Number.');\n } else {\n fieldObject.eventValue = value;\n }\n }\n\n if (typeof nonInteraction !== 'undefined') {\n if (typeof nonInteraction !== 'boolean') {\n warn('`args.nonInteraction` must be a boolean.');\n } else {\n fieldObject.nonInteraction = nonInteraction;\n }\n }\n\n if (typeof transport !== 'undefined') {\n if (typeof transport !== 'string') {\n warn('`args.transport` must be a string.');\n } else {\n if (['beacon', 'xhr', 'image'].indexOf(transport) === -1) {\n warn('`args.transport` must be either one of these values: `beacon`, `xhr` or `image`');\n }\n\n fieldObject.transport = transport;\n }\n }\n\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'dimension'.length) === 'dimension';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n });\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'metric'.length) === 'metric';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n }); // Send to GA\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * exception:\n * GA exception tracking\n * @param args.description {String} optional\n * @param args.fatal {boolean} optional\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function exception(_ref3, trackerNames) {\n var description = _ref3.description,\n fatal = _ref3.fatal;\n\n if (typeof ga === 'function') {\n // Required Fields\n var fieldObject = {\n hitType: 'exception'\n }; // Optional Fields\n\n if (description) {\n fieldObject.exDescription = _format(description);\n }\n\n if (typeof fatal !== 'undefined') {\n if (typeof fatal !== 'boolean') {\n warn('`args.fatal` must be a boolean.');\n } else {\n fieldObject.exFatal = fatal;\n }\n } // Send to GA\n\n\n send(fieldObject, trackerNames);\n }\n}\nexport var plugin = {\n /**\n * require:\n * GA requires a plugin\n * @param name {String} e.g. 'ecommerce' or 'myplugin'\n * @param options {Object} optional e.g {path: '/log', debug: true}\n * @param trackerName {String} optional e.g 'trackerName'\n */\n require: function require(rawName, options, trackerName) {\n if (typeof ga === 'function') {\n // Required Fields\n if (!rawName) {\n warn('`name` is required in .require()');\n return;\n }\n\n var name = trim(rawName);\n\n if (name === '') {\n warn('`name` cannot be an empty string in .require()');\n return;\n }\n\n var requireString = trackerName ? \"\".concat(trackerName, \".require\") : 'require'; // Optional Fields\n\n if (options) {\n if (_typeof(options) !== 'object') {\n warn('Expected `options` arg to be an Object');\n return;\n }\n\n if (Object.keys(options).length === 0) {\n warn('Empty `options` given to .require()');\n }\n\n ga(requireString, name, options);\n\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"', \").concat(JSON.stringify(options)));\n }\n } else {\n ga(requireString, name);\n\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"');\"));\n }\n }\n }\n },\n\n /**\n * execute:\n * GA execute action for plugin\n * Takes variable number of arguments\n * @param pluginName {String} e.g. 'ecommerce' or 'myplugin'\n * @param action {String} e.g. 'addItem' or 'myCustomAction'\n * @param actionType {String} optional e.g. 'detail'\n * @param payload {Object} optional e.g { id: '1x5e', name : 'My product to track' }\n */\n execute: function execute(pluginName, action) {\n var payload;\n var actionType;\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n args[_key3 - 2] = arguments[_key3];\n }\n\n if (args.length === 1) {\n payload = args[0];\n } else {\n actionType = args[0];\n payload = args[1];\n }\n\n if (typeof ga === 'function') {\n if (typeof pluginName !== 'string') {\n warn('Expected `pluginName` arg to be a String.');\n } else if (typeof action !== 'string') {\n warn('Expected `action` arg to be a String.');\n } else {\n var command = \"\".concat(pluginName, \":\").concat(action);\n payload = payload || null;\n\n if (actionType && payload) {\n ga(command, actionType, payload);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"actionType: \\\"\".concat(actionType, \"\\\" with payload: \").concat(JSON.stringify(payload)));\n }\n } else if (payload) {\n ga(command, payload);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"with payload: \".concat(JSON.stringify(payload)));\n }\n } else {\n ga(command);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n }\n }\n }\n }\n }\n};\n/**\n * outboundLink:\n * GA outboundLink tracking\n * @param args.label {String} e.g. url, or 'Create an Account'\n * @param {function} hitCallback - Called after processing a hit.\n */\n\nexport function outboundLink(args, hitCallback, trackerNames) {\n if (typeof hitCallback !== 'function') {\n warn('hitCallback function is required');\n return;\n }\n\n if (typeof ga === 'function') {\n // Simple Validation\n if (!args || !args.label) {\n warn('args.label is required in outboundLink()');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: 'Outbound',\n eventAction: 'Click',\n eventLabel: _format(args.label)\n };\n var safetyCallbackCalled = false;\n\n var safetyCallback = function safetyCallback() {\n // This prevents a delayed response from GA\n // causing hitCallback from being fired twice\n safetyCallbackCalled = true;\n hitCallback();\n }; // Using a timeout to ensure the execution of critical application code\n // in the case when the GA server might be down\n // or an ad blocker prevents sending the data\n // register safety net timeout:\n\n\n var t = setTimeout(safetyCallback, 250);\n\n var clearableCallbackForGA = function clearableCallbackForGA() {\n clearTimeout(t);\n\n if (!safetyCallbackCalled) {\n hitCallback();\n }\n };\n\n fieldObject.hitCallback = clearableCallbackForGA; // Send to GA\n\n send(fieldObject, trackerNames);\n } else {\n // if ga is not defined, return the callback so the application\n // continues to work as expected\n setTimeout(hitCallback, 0);\n }\n}\nexport var testModeAPI = TestModeAPI;\nexport default {\n initialize: initialize,\n ga: ga,\n set: set,\n send: send,\n pageview: pageview,\n modalview: modalview,\n timing: timing,\n event: event,\n exception: exception,\n plugin: plugin,\n outboundLink: outboundLink,\n testModeAPI: TestModeAPI\n};","import redactEmail from './redactEmail';\nimport toTitleCase from './toTitleCase';\nexport default function format() {\n var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var titleCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var redactingEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _str = s || '';\n\n if (titleCase) {\n _str = toTitleCase(s);\n }\n\n if (redactingEmail) {\n _str = redactEmail(_str);\n }\n\n return _str;\n}","export default function removeLeadingSlash(string) {\n if (string.substring(0, 1) === '/') {\n return string.substring(1);\n }\n\n return string;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport UnboundOutboundLink from './components/OutboundLink';\nimport * as Defaults from './core';\nvar initialize = Defaults.initialize;\nexport { initialize };\nvar addTrackers = Defaults.addTrackers;\nexport { addTrackers };\nvar ga = Defaults.ga;\nexport { ga };\nvar set = Defaults.set;\nexport { set };\nvar send = Defaults.send;\nexport { send };\nvar pageview = Defaults.pageview;\nexport { pageview };\nvar modalview = Defaults.modalview;\nexport { modalview };\nvar timing = Defaults.timing;\nexport { timing };\nvar event = Defaults.event;\nexport { event };\nvar exception = Defaults.exception;\nexport { exception };\nvar plugin = Defaults.plugin;\nexport { plugin };\nvar outboundLink = Defaults.outboundLink;\nexport { outboundLink };\nvar testModeAPI = Defaults.testModeAPI;\nexport { testModeAPI };\nUnboundOutboundLink.origTrackLink = UnboundOutboundLink.trackLink;\nUnboundOutboundLink.trackLink = Defaults.outboundLink;\nexport var OutboundLink = UnboundOutboundLink;\nexport default _objectSpread(_objectSpread({}, Defaults), {}, {\n OutboundLink: OutboundLink\n});","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","const createCapacitorPlatforms = (win) => {\n const defaultPlatformMap = new Map();\n defaultPlatformMap.set('web', { name: 'web' });\n const capPlatforms = win.CapacitorPlatforms || {\n currentPlatform: { name: 'web' },\n platforms: defaultPlatformMap,\n };\n const addPlatform = (name, platform) => {\n capPlatforms.platforms.set(name, platform);\n };\n const setPlatform = (name) => {\n if (capPlatforms.platforms.has(name)) {\n capPlatforms.currentPlatform = capPlatforms.platforms.get(name);\n }\n };\n capPlatforms.addPlatform = addPlatform;\n capPlatforms.setPlatform = setPlatform;\n return capPlatforms;\n};\nconst initPlatforms = (win) => (win.CapacitorPlatforms = createCapacitorPlatforms(win));\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nexport const CapacitorPlatforms = /*#__PURE__*/ initPlatforms((typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nexport const addPlatform = CapacitorPlatforms.addPlatform;\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nexport const setPlatform = CapacitorPlatforms.setPlatform;\n//# sourceMappingURL=platforms.js.map","export var ExceptionCode;\n(function (ExceptionCode) {\n /**\n * API is not implemented.\n *\n * This usually means the API can't be used because it is not implemented for\n * the current platform.\n */\n ExceptionCode[\"Unimplemented\"] = \"UNIMPLEMENTED\";\n /**\n * API is not available.\n *\n * This means the API can't be used right now because:\n * - it is currently missing a prerequisite, such as network connectivity\n * - it requires a particular platform or browser version\n */\n ExceptionCode[\"Unavailable\"] = \"UNAVAILABLE\";\n})(ExceptionCode || (ExceptionCode = {}));\nexport class CapacitorException extends Error {\n constructor(message, code) {\n super(message);\n this.message = message;\n this.code = code;\n }\n}\nexport const getPlatformId = (win) => {\n var _a, _b;\n if (win === null || win === void 0 ? void 0 : win.androidBridge) {\n return 'android';\n }\n else if ((_b = (_a = win === null || win === void 0 ? void 0 : win.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.bridge) {\n return 'ios';\n }\n else {\n return 'web';\n }\n};\n//# sourceMappingURL=util.js.map","import { legacyRegisterWebPlugin } from './legacy/legacy-web-plugin-merge';\nimport { initCapacitorGlobal } from './runtime';\nexport const Capacitor = /*#__PURE__*/ initCapacitorGlobal(typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {});\nexport const registerPlugin = Capacitor.registerPlugin;\n/**\n * @deprecated Provided for backwards compatibility for Capacitor v2 plugins.\n * Capacitor v3 plugins should import the plugin directly. This \"Plugins\"\n * export is deprecated in v3, and will be removed in v4.\n */\nexport const Plugins = Capacitor.Plugins;\n/**\n * Provided for backwards compatibility. Use the registerPlugin() API\n * instead, and provide the web plugin as the \"web\" implmenetation.\n * For example\n *\n * export const Example = registerPlugin('Example', {\n * web: () => import('./web').then(m => new m.Example())\n * })\n *\n * @deprecated Deprecated in v3, will be removed from v4.\n */\nexport const registerWebPlugin = (plugin) => legacyRegisterWebPlugin(Capacitor, plugin);\n//# sourceMappingURL=global.js.map","import { CapacitorException, getPlatformId, ExceptionCode } from './util';\nexport const createCapacitor = (win) => {\n var _a, _b, _c, _d, _e;\n const capCustomPlatform = win.CapacitorCustomPlatform || null;\n const cap = win.Capacitor || {};\n const Plugins = (cap.Plugins = cap.Plugins || {});\n /**\n * @deprecated Use `capCustomPlatform` instead, default functions like registerPlugin will function with the new object.\n */\n const capPlatforms = win.CapacitorPlatforms;\n const defaultGetPlatform = () => {\n return capCustomPlatform !== null\n ? capCustomPlatform.name\n : getPlatformId(win);\n };\n const getPlatform = ((_a = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _a === void 0 ? void 0 : _a.getPlatform) || defaultGetPlatform;\n const defaultIsNativePlatform = () => getPlatform() !== 'web';\n const isNativePlatform = ((_b = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _b === void 0 ? void 0 : _b.isNativePlatform) || defaultIsNativePlatform;\n const defaultIsPluginAvailable = (pluginName) => {\n const plugin = registeredPlugins.get(pluginName);\n if (plugin === null || plugin === void 0 ? void 0 : plugin.platforms.has(getPlatform())) {\n // JS implementation available for the current platform.\n return true;\n }\n if (getPluginHeader(pluginName)) {\n // Native implementation available.\n return true;\n }\n return false;\n };\n const isPluginAvailable = ((_c = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _c === void 0 ? void 0 : _c.isPluginAvailable) ||\n defaultIsPluginAvailable;\n const defaultGetPluginHeader = (pluginName) => { var _a; return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find(h => h.name === pluginName); };\n const getPluginHeader = ((_d = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _d === void 0 ? void 0 : _d.getPluginHeader) || defaultGetPluginHeader;\n const handleError = (err) => win.console.error(err);\n const pluginMethodNoop = (_target, prop, pluginName) => {\n return Promise.reject(`${pluginName} does not have an implementation of \"${prop}\".`);\n };\n const registeredPlugins = new Map();\n const defaultRegisterPlugin = (pluginName, jsImplementations = {}) => {\n const registeredPlugin = registeredPlugins.get(pluginName);\n if (registeredPlugin) {\n console.warn(`Capacitor plugin \"${pluginName}\" already registered. Cannot register plugins twice.`);\n return registeredPlugin.proxy;\n }\n const platform = getPlatform();\n const pluginHeader = getPluginHeader(pluginName);\n let jsImplementation;\n const loadPluginImplementation = async () => {\n if (!jsImplementation && platform in jsImplementations) {\n jsImplementation =\n typeof jsImplementations[platform] === 'function'\n ? (jsImplementation = await jsImplementations[platform]())\n : (jsImplementation = jsImplementations[platform]);\n }\n else if (capCustomPlatform !== null &&\n !jsImplementation &&\n 'web' in jsImplementations) {\n jsImplementation =\n typeof jsImplementations['web'] === 'function'\n ? (jsImplementation = await jsImplementations['web']())\n : (jsImplementation = jsImplementations['web']);\n }\n return jsImplementation;\n };\n const createPluginMethod = (impl, prop) => {\n var _a, _b;\n if (pluginHeader) {\n const methodHeader = pluginHeader === null || pluginHeader === void 0 ? void 0 : pluginHeader.methods.find(m => prop === m.name);\n if (methodHeader) {\n if (methodHeader.rtype === 'promise') {\n return (options) => cap.nativePromise(pluginName, prop.toString(), options);\n }\n else {\n return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback);\n }\n }\n else if (impl) {\n return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl);\n }\n }\n else if (impl) {\n return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl);\n }\n else {\n throw new CapacitorException(`\"${pluginName}\" plugin is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n };\n const createPluginMethodWrapper = (prop) => {\n let remove;\n const wrapper = (...args) => {\n const p = loadPluginImplementation().then(impl => {\n const fn = createPluginMethod(impl, prop);\n if (fn) {\n const p = fn(...args);\n remove = p === null || p === void 0 ? void 0 : p.remove;\n return p;\n }\n else {\n throw new CapacitorException(`\"${pluginName}.${prop}()\" is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n });\n if (prop === 'addListener') {\n p.remove = async () => remove();\n }\n return p;\n };\n // Some flair ✨\n wrapper.toString = () => `${prop.toString()}() { [capacitor code] }`;\n Object.defineProperty(wrapper, 'name', {\n value: prop,\n writable: false,\n configurable: false,\n });\n return wrapper;\n };\n const addListener = createPluginMethodWrapper('addListener');\n const removeListener = createPluginMethodWrapper('removeListener');\n const addListenerNative = (eventName, callback) => {\n const call = addListener({ eventName }, callback);\n const remove = async () => {\n const callbackId = await call;\n removeListener({\n eventName,\n callbackId,\n }, callback);\n };\n const p = new Promise(resolve => call.then(() => resolve({ remove })));\n p.remove = async () => {\n console.warn(`Using addListener() without 'await' is deprecated.`);\n await remove();\n };\n return p;\n };\n const proxy = new Proxy({}, {\n get(_, prop) {\n switch (prop) {\n // https://github.com/facebook/react/issues/20030\n case '$$typeof':\n return undefined;\n case 'toJSON':\n return () => ({});\n case 'addListener':\n return pluginHeader ? addListenerNative : addListener;\n case 'removeListener':\n return removeListener;\n default:\n return createPluginMethodWrapper(prop);\n }\n },\n });\n Plugins[pluginName] = proxy;\n registeredPlugins.set(pluginName, {\n name: pluginName,\n proxy,\n platforms: new Set([\n ...Object.keys(jsImplementations),\n ...(pluginHeader ? [platform] : []),\n ]),\n });\n return proxy;\n };\n const registerPlugin = ((_e = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _e === void 0 ? void 0 : _e.registerPlugin) || defaultRegisterPlugin;\n // Add in convertFileSrc for web, it will already be available in native context\n if (!cap.convertFileSrc) {\n cap.convertFileSrc = filePath => filePath;\n }\n cap.getPlatform = getPlatform;\n cap.handleError = handleError;\n cap.isNativePlatform = isNativePlatform;\n cap.isPluginAvailable = isPluginAvailable;\n cap.pluginMethodNoop = pluginMethodNoop;\n cap.registerPlugin = registerPlugin;\n cap.Exception = CapacitorException;\n cap.DEBUG = !!cap.DEBUG;\n cap.isLoggingEnabled = !!cap.isLoggingEnabled;\n // Deprecated props\n cap.platform = cap.getPlatform();\n cap.isNative = cap.isNativePlatform();\n return cap;\n};\nexport const initCapacitorGlobal = (win) => (win.Capacitor = createCapacitor(win));\n//# sourceMappingURL=runtime.js.map","import { Capacitor } from './global';\nimport { ExceptionCode } from './util';\n/**\n * Base class web plugins should extend.\n */\nexport class WebPlugin {\n constructor(config) {\n this.listeners = {};\n this.windowListeners = {};\n if (config) {\n // TODO: add link to upgrade guide\n console.warn(`Capacitor WebPlugin \"${config.name}\" config object was deprecated in v3 and will be removed in v4.`);\n this.config = config;\n }\n }\n addListener(eventName, listenerFunc) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push(listenerFunc);\n // If we haven't added a window listener for this event and it requires one,\n // go ahead and add it\n const windowListener = this.windowListeners[eventName];\n if (windowListener && !windowListener.registered) {\n this.addWindowListener(windowListener);\n }\n const remove = async () => this.removeListener(eventName, listenerFunc);\n const p = Promise.resolve({ remove });\n Object.defineProperty(p, 'remove', {\n value: async () => {\n console.warn(`Using addListener() without 'await' is deprecated.`);\n await remove();\n },\n });\n return p;\n }\n async removeAllListeners() {\n this.listeners = {};\n for (const listener in this.windowListeners) {\n this.removeWindowListener(this.windowListeners[listener]);\n }\n this.windowListeners = {};\n }\n notifyListeners(eventName, data) {\n const listeners = this.listeners[eventName];\n if (listeners) {\n listeners.forEach(listener => listener(data));\n }\n }\n hasListeners(eventName) {\n return !!this.listeners[eventName].length;\n }\n registerWindowListener(windowEventName, pluginEventName) {\n this.windowListeners[pluginEventName] = {\n registered: false,\n windowEventName,\n pluginEventName,\n handler: event => {\n this.notifyListeners(pluginEventName, event);\n },\n };\n }\n unimplemented(msg = 'not implemented') {\n return new Capacitor.Exception(msg, ExceptionCode.Unimplemented);\n }\n unavailable(msg = 'not available') {\n return new Capacitor.Exception(msg, ExceptionCode.Unavailable);\n }\n async removeListener(eventName, listenerFunc) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(listenerFunc);\n this.listeners[eventName].splice(index, 1);\n // If there are no more listeners for this type of event,\n // remove the window listener\n if (!this.listeners[eventName].length) {\n this.removeWindowListener(this.windowListeners[eventName]);\n }\n }\n addWindowListener(handle) {\n window.addEventListener(handle.windowEventName, handle.handler);\n handle.registered = true;\n }\n removeWindowListener(handle) {\n if (!handle) {\n return;\n }\n window.removeEventListener(handle.windowEventName, handle.handler);\n handle.registered = false;\n }\n}\n//# sourceMappingURL=web-plugin.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Column = void 0;\n\nvar _react = require(\"react\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Column = /*#__PURE__*/function (_Component) {\n _inherits(Column, _Component);\n\n var _super = _createSuper(Column);\n\n function Column() {\n _classCallCheck(this, Column);\n\n return _super.apply(this, arguments);\n }\n\n return Column;\n}(_react.Component);\n\nexports.Column = Column;\n\n_defineProperty(Column, \"defaultProps\", {\n columnKey: null,\n field: null,\n sortField: null,\n filterField: null,\n header: null,\n body: null,\n loadingBody: null,\n footer: null,\n sortable: false,\n sortFunction: null,\n filter: false,\n filterMatchMode: 'startsWith',\n filterPlaceholder: null,\n filterType: 'text',\n filterMaxLength: null,\n filterElement: null,\n filterFunction: null,\n filterHeaderStyle: null,\n filterHeaderClassName: null,\n style: null,\n className: null,\n headerStyle: null,\n headerClassName: null,\n bodyStyle: null,\n bodyClassName: null,\n footerStyle: null,\n footerClassName: null,\n expander: false,\n frozen: false,\n selectionMode: null,\n colSpan: null,\n rowSpan: null,\n editor: null,\n editorValidator: null,\n editorValidatorEvent: 'click',\n onEditorInit: null,\n onEditorSubmit: null,\n onEditorCancel: null,\n excludeGlobalFilter: false,\n rowReorder: false,\n rowReorderIcon: 'pi pi-bars',\n rowEditor: false,\n exportable: true,\n reorderable: true\n});\n\n_defineProperty(Column, \"propTypes\", {\n columnKey: _propTypes.default.string,\n field: _propTypes.default.string,\n sortField: _propTypes.default.string,\n filterField: _propTypes.default.string,\n header: _propTypes.default.any,\n body: _propTypes.default.any,\n loadingBody: _propTypes.default.func,\n footer: _propTypes.default.any,\n sortable: _propTypes.default.any,\n sortFunction: _propTypes.default.func,\n filter: _propTypes.default.bool,\n filterMatchMode: _propTypes.default.string,\n filterPlaceholder: _propTypes.default.string,\n filterType: _propTypes.default.string,\n filterMaxLength: _propTypes.default.number,\n filterElement: _propTypes.default.object,\n filterFunction: _propTypes.default.func,\n filterHeaderStyle: _propTypes.default.object,\n filterHeaderClassName: _propTypes.default.string,\n style: _propTypes.default.object,\n className: _propTypes.default.string,\n headerStyle: _propTypes.default.object,\n headerClassName: _propTypes.default.string,\n bodyStyle: _propTypes.default.object,\n bodyClassName: _propTypes.default.string,\n footerStyle: _propTypes.default.object,\n footerClassName: _propTypes.default.string,\n expander: _propTypes.default.bool,\n frozen: _propTypes.default.bool,\n selectionMode: _propTypes.default.string,\n colSpan: _propTypes.default.number,\n rowSpan: _propTypes.default.number,\n editor: _propTypes.default.func,\n editorValidator: _propTypes.default.func,\n onEditorInit: _propTypes.default.func,\n onEditorSubmit: _propTypes.default.func,\n onEditorCancel: _propTypes.default.func,\n editorValidatorEvent: _propTypes.default.string,\n excludeGlobalFilter: _propTypes.default.bool,\n rowReorder: _propTypes.default.bool,\n rowReorderIcon: _propTypes.default.string,\n rowEditor: _propTypes.default.bool,\n exportable: _propTypes.default.bool,\n reorderable: _propTypes.default.bool\n});","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import superPropBase from \"./superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { Separators, Constants } from \"../utils/Constants\";\n\n/**\n * Client info object which consists of two IDs. Need to add more info here.\n */\nexport type ClientInfo = {\n uid: string,\n utid: string\n};\n\n/**\n * Function to build a client info object from server clientInfo string\n * @param rawClientInfo\n * @param crypto\n */\nexport function buildClientInfo(rawClientInfo: string, crypto: ICrypto): ClientInfo {\n if (StringUtils.isEmpty(rawClientInfo)) {\n throw ClientAuthError.createClientInfoEmptyError();\n }\n\n try {\n const decodedClientInfo: string = crypto.base64Decode(rawClientInfo);\n return JSON.parse(decodedClientInfo) as ClientInfo;\n } catch (e) {\n throw ClientAuthError.createClientInfoDecodingError((e as ClientAuthError).message);\n }\n}\n\n/**\n * Function to build a client info object from cached homeAccountId string\n * @param homeAccountId \n */\nexport function buildClientInfoFromHomeAccountId(homeAccountId: string): ClientInfo {\n if (StringUtils.isEmpty(homeAccountId)) {\n throw ClientAuthError.createClientInfoDecodingError(\"Home account ID was empty.\");\n }\n const clientInfoParts: string[] = homeAccountId.split(Separators.CLIENT_INFO_SEPARATOR, 2);\n return {\n uid: clientInfoParts[0],\n utid: clientInfoParts.length < 2 ? Constants.EMPTY_STRING : clientInfoParts[1]\n };\n}\n","import EventEmitter from 'eventemitter3';\nvar eventCenter = new EventEmitter();\n\nif (eventCenter.setMaxListeners) {\n eventCenter.setMaxListeners(10);\n}\n\nexport { eventCenter };\nexport var SYNC_EVENT = 'recharts.syncMouseEvents'; // eslint-disable-next-line no-redeclare","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.tip = tip;\nexports.Tooltip = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _ClassNames = require(\"../utils/ClassNames\");\n\nvar _DomHandler = _interopRequireDefault(require(\"../utils/DomHandler\"));\n\nvar _ConnectedOverlayScrollHandler = _interopRequireDefault(require(\"../utils/ConnectedOverlayScrollHandler\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction tip(props) {\n var appendTo = props.appendTo || document.body;\n var tooltipWrapper = document.createDocumentFragment();\n\n _DomHandler.default.appendChild(tooltipWrapper, appendTo);\n\n props = _objectSpread(_objectSpread({}, props), props.options);\n\n var tooltipEl = /*#__PURE__*/_react.default.createElement(Tooltip, props);\n\n _reactDom.default.render(tooltipEl, tooltipWrapper);\n\n return {\n destroy: function destroy() {\n _reactDom.default.unmountComponentAtNode(tooltipWrapper);\n },\n updateContent: function updateContent(content) {\n _reactDom.default.render( /*#__PURE__*/_react.default.cloneElement(tooltipEl, {\n content: content\n }), tooltipWrapper);\n }\n };\n}\n\nvar Tooltip = /*#__PURE__*/function (_Component) {\n _inherits(Tooltip, _Component);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip(props) {\n var _this;\n\n _classCallCheck(this, Tooltip);\n\n _this = _super.call(this, props);\n _this.state = {\n visible: false,\n position: _this.props.position\n };\n _this.appendTo = _this.props.appendTo || document.body;\n _this.show = _this.show.bind(_assertThisInitialized(_this));\n _this.hide = _this.hide.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"getEvents\",\n value: function getEvents() {\n var _this$props = this.props,\n showEvent = _this$props.showEvent,\n hideEvent = _this$props.hideEvent;\n\n if (this.props.mouseTrack) {\n showEvent = 'mousemove';\n hideEvent = 'mouseleave';\n } else if (this.props.event === 'focus') {\n showEvent = 'focus';\n hideEvent = 'blur';\n }\n\n return {\n showEvent: showEvent,\n hideEvent: hideEvent\n };\n }\n }, {\n key: \"updateText\",\n value: function updateText(target, callback) {\n if (this.tooltipTextEl) {\n var content = this.props.content;\n\n if (target && target.hasAttribute('data-pr-tooltip')) {\n content = target.getAttribute('data-pr-tooltip');\n }\n\n if (content) {\n this.tooltipTextEl.innerHTML = ''; // remove children\n\n this.tooltipTextEl.appendChild(document.createTextNode(content));\n callback();\n } else if (this.props.children) {\n _reactDom.default.unmountComponentAtNode(this.tooltipTextEl);\n\n _reactDom.default.render(this.props.children, this.tooltipTextEl, callback);\n }\n }\n }\n }, {\n key: \"show\",\n value: function show(e) {\n var _this2 = this;\n\n this.currentTarget = e.currentTarget;\n\n var updateTooltipState = function updateTooltipState() {\n _this2.updateText(_this2.currentTarget, function () {\n if (_this2.props.autoZIndex && !_this2.containerEl.style.zIndex) {\n _this2.containerEl.style.zIndex = String(_this2.props.baseZIndex + _DomHandler.default.generateZIndex());\n }\n\n _this2.containerEl.style.left = '';\n _this2.containerEl.style.top = '';\n\n _this2.align(_this2.currentTarget, {\n x: e.pageX,\n y: e.pageY\n });\n });\n };\n\n if (this.state.visible) {\n this.applyDelay('updateDelay', updateTooltipState);\n } else {\n this.sendCallback(this.props.onBeforeShow, {\n originalEvent: e,\n target: this.currentTarget\n });\n this.applyDelay('showDelay', function () {\n _this2.setState({\n visible: true\n }, function () {\n updateTooltipState();\n\n _this2.sendCallback(_this2.props.onShow, {\n originalEvent: e,\n target: _this2.currentTarget\n });\n });\n\n _this2.bindDocumentResizeListener();\n\n _this2.bindScrollListener();\n });\n }\n }\n }, {\n key: \"hide\",\n value: function hide(e) {\n var _this3 = this;\n\n this.clearTimeouts();\n\n if (this.state.visible) {\n this.sendCallback(this.props.onBeforeHide, {\n originalEvent: e,\n target: this.currentTarget\n });\n this.applyDelay('hideDelay', function () {\n _DomHandler.default.removeClass(_this3.containerEl, 'p-tooltip-active');\n\n _this3.setState({\n visible: false,\n position: _this3.props.position\n }, function () {\n if (_this3.tooltipTextEl) {\n _reactDom.default.unmountComponentAtNode(_this3.tooltipTextEl);\n }\n\n _this3.unbindDocumentResizeListener();\n\n _this3.unbindScrollListener();\n\n _this3.currentTarget = null;\n _this3.scrollHandler = null;\n\n _this3.sendCallback(_this3.props.onHide, {\n originalEvent: e,\n target: _this3.currentTarget\n });\n });\n });\n }\n }\n }, {\n key: \"align\",\n value: function align(target, coordinate) {\n var _this4 = this;\n\n var left = 0,\n top = 0;\n\n if (this.props.mouseTrack && coordinate) {\n var container = {\n width: _DomHandler.default.getOuterWidth(this.containerEl),\n height: _DomHandler.default.getOuterHeight(this.containerEl)\n };\n left = coordinate.x;\n top = coordinate.y;\n\n switch (this.state.position) {\n case 'left':\n left -= container.width + this.props.mouseTrackLeft;\n top -= container.height / 2 - this.props.mouseTrackTop;\n break;\n\n case 'right':\n left += this.props.mouseTrackLeft;\n top -= container.height / 2 - this.props.mouseTrackTop;\n break;\n\n case 'top':\n left -= container.width / 2 - this.props.mouseTrackLeft;\n top -= container.height + this.props.mouseTrackTop;\n break;\n\n case 'bottom':\n left -= container.width / 2 - this.props.mouseTrackLeft;\n top += this.props.mouseTrackTop;\n break;\n\n default:\n break;\n }\n\n this.containerEl.style.left = left + 'px';\n this.containerEl.style.top = top + 'px';\n\n _DomHandler.default.addClass(this.containerEl, 'p-tooltip-active');\n } else {\n var pos = _DomHandler.default.findCollisionPosition(this.state.position);\n\n var my = this.props.my || pos.my;\n var at = this.props.at || pos.at;\n\n _DomHandler.default.flipfitCollision(this.containerEl, target, my, at, function (currentPosition) {\n var _currentPosition$at = currentPosition.at,\n x = _currentPosition$at.x,\n y = _currentPosition$at.y;\n var position = _this4.props.at ? x !== 'center' ? x : y : currentPosition.at[\"\".concat(pos.axis)];\n\n _this4.setState({\n position: position\n }, function () {\n return _DomHandler.default.addClass(_this4.containerEl, 'p-tooltip-active');\n });\n });\n }\n }\n }, {\n key: \"bindDocumentResizeListener\",\n value: function bindDocumentResizeListener() {\n var _this5 = this;\n\n this.documentResizeListener = function (e) {\n _this5.hide(e);\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n }, {\n key: \"unbindDocumentResizeListener\",\n value: function unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n }, {\n key: \"bindScrollListener\",\n value: function bindScrollListener() {\n var _this6 = this;\n\n if (!this.scrollHandler) {\n this.scrollHandler = new _ConnectedOverlayScrollHandler.default(this.currentTarget, function (e) {\n if (_this6.state.visible) {\n _this6.hide(e);\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n }, {\n key: \"unbindScrollListener\",\n value: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n }, {\n key: \"bindTargetEvent\",\n value: function bindTargetEvent(target) {\n if (target) {\n var _this$getEvents = this.getEvents(),\n showEvent = _this$getEvents.showEvent,\n hideEvent = _this$getEvents.hideEvent;\n\n target.addEventListener(showEvent, this.show);\n target.addEventListener(hideEvent, this.hide);\n }\n }\n }, {\n key: \"unbindTargetEvent\",\n value: function unbindTargetEvent(target) {\n if (target) {\n var _this$getEvents2 = this.getEvents(),\n showEvent = _this$getEvents2.showEvent,\n hideEvent = _this$getEvents2.hideEvent;\n\n target.removeEventListener(showEvent, this.show);\n target.removeEventListener(hideEvent, this.hide);\n }\n }\n }, {\n key: \"applyDelay\",\n value: function applyDelay(delayProp, callback) {\n this.clearTimeouts();\n var delay = this.props[delayProp];\n\n if (!!delay) {\n this[\"\".concat(delayProp, \"Timeout\")] = setTimeout(function () {\n return callback();\n }, delay);\n } else {\n callback();\n }\n }\n }, {\n key: \"sendCallback\",\n value: function sendCallback(callback) {\n if (callback) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n\n callback.apply(void 0, params);\n }\n }\n }, {\n key: \"clearTimeouts\",\n value: function clearTimeouts() {\n clearTimeout(this.showDelayTimeout);\n clearTimeout(this.updateDelayTimeout);\n clearTimeout(this.hideDelayTimeout);\n }\n }, {\n key: \"loadTargetEvents\",\n value: function loadTargetEvents() {\n var _this7 = this;\n\n if (_DomHandler.default.isElement(this.props.target)) {\n this.bindTargetEvent(this.props.target);\n } else {\n var setEvent = function setEvent(target) {\n var element = _DomHandler.default.find(document, target);\n\n element.forEach(function (el) {\n _this7.bindTargetEvent(el);\n });\n };\n\n if (this.props.target instanceof Array) {\n this.props.target.forEach(function (target) {\n setEvent(target);\n });\n } else {\n setEvent(this.props.target);\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.target) {\n this.loadTargetEvents();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this8 = this;\n\n if (prevProps.target !== this.props.target) {\n this.loadTargetEvents();\n }\n\n if (this.state.visible && prevProps.content !== this.props.content) {\n this.applyDelay('updateDelay', function () {\n _this8.updateText(_this8.currentTarget, function () {\n _this8.align(_this8.currentTarget);\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearTimeouts();\n this.unbindDocumentResizeListener();\n this.unbindTargetEvent();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n }, {\n key: \"renderElement\",\n value: function renderElement() {\n var _this9 = this;\n\n var tooltipClass = (0, _ClassNames.classNames)('p-tooltip p-component', _defineProperty({}, \"p-tooltip-\".concat(this.state.position), true), this.props.className);\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n ref: function ref(el) {\n return _this9.containerEl = el;\n },\n className: tooltipClass,\n style: this.props.style\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"p-tooltip-arrow\"\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n ref: function ref(el) {\n return _this9.tooltipTextEl = el;\n },\n className: \"p-tooltip-text\"\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.state.visible) {\n var element = this.renderElement();\n return /*#__PURE__*/_reactDom.default.createPortal(element, this.appendTo);\n }\n\n return null;\n }\n }]);\n\n return Tooltip;\n}(_react.Component);\n\nexports.Tooltip = Tooltip;\n\n_defineProperty(Tooltip, \"defaultProps\", {\n target: null,\n content: null,\n className: null,\n style: null,\n appendTo: null,\n position: 'right',\n my: null,\n at: null,\n event: null,\n showEvent: 'mouseenter',\n hideEvent: 'mouseleave',\n autoZIndex: true,\n baseZIndex: 0,\n mouseTrack: false,\n mouseTrackTop: 5,\n mouseTrackLeft: 5,\n showDelay: 0,\n updateDelay: 0,\n hideDelay: 0,\n onBeforeShow: null,\n onBeforeHide: null,\n onShow: null,\n onHide: null\n});\n\n_defineProperty(Tooltip, \"propTypes\", {\n target: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string, _propTypes.default.array]),\n content: _propTypes.default.string,\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n appendTo: _propTypes.default.object,\n position: _propTypes.default.string,\n my: _propTypes.default.string,\n at: _propTypes.default.string,\n event: _propTypes.default.string,\n showEvent: _propTypes.default.string,\n hideEvent: _propTypes.default.string,\n autoZIndex: _propTypes.default.bool,\n baseZIndex: _propTypes.default.number,\n mouseTrack: _propTypes.default.bool,\n mouseTrackTop: _propTypes.default.number,\n mouseTrackLeft: _propTypes.default.number,\n onBeforeShow: _propTypes.default.func,\n onBeforeHide: _propTypes.default.func,\n onShow: _propTypes.default.func,\n onHide: _propTypes.default.func\n});","export var ifOverflowMatches = function ifOverflowMatches(props, value) {\n var alwaysShow = props.alwaysShow;\n var ifOverflow = props.ifOverflow;\n\n if (alwaysShow) {\n ifOverflow = 'extendDomain';\n }\n\n return ifOverflow === value;\n};","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DataTable = void 0;\n\nvar _ClassNames = require(\"../utils/ClassNames\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _Paginator = require(\"../paginator/Paginator\");\n\nvar _DomHandler = _interopRequireDefault(require(\"../utils/DomHandler\"));\n\nvar _ObjectUtils = _interopRequireDefault(require(\"../utils/ObjectUtils\"));\n\nvar _FilterUtils = _interopRequireDefault(require(\"../utils/FilterUtils\"));\n\nvar _ScrollableView = require(\"./ScrollableView\");\n\nvar _TableBody = require(\"./TableBody\");\n\nvar _TableFooter = require(\"./TableFooter\");\n\nvar _TableHeader = require(\"./TableHeader\");\n\nvar _TableLoadingBody = require(\"./TableLoadingBody\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar DataTable = /*#__PURE__*/function (_Component) {\n _inherits(DataTable, _Component);\n\n var _super = _createSuper(DataTable);\n\n function DataTable(props) {\n var _this;\n\n _classCallCheck(this, DataTable);\n\n _this = _super.call(this, props);\n _this.state = {};\n\n if (!_this.props.onPage) {\n _this.state.first = props.first;\n _this.state.rows = props.rows;\n }\n\n if (!_this.props.onSort) {\n _this.state.sortField = props.sortField;\n _this.state.sortOrder = props.sortOrder;\n _this.state.multiSortMeta = props.multiSortMeta;\n }\n\n if (!_this.props.onFilter) {\n _this.state.filters = props.filters;\n }\n\n if (_this.isStateful()) {\n _this.restoreState(_this.state);\n }\n\n _this.onPageChange = _this.onPageChange.bind(_assertThisInitialized(_this));\n _this.onSort = _this.onSort.bind(_assertThisInitialized(_this));\n _this.onFilter = _this.onFilter.bind(_assertThisInitialized(_this));\n _this.onColumnResizeStart = _this.onColumnResizeStart.bind(_assertThisInitialized(_this));\n _this.onHeaderCheckboxClick = _this.onHeaderCheckboxClick.bind(_assertThisInitialized(_this));\n _this.onColumnDragStart = _this.onColumnDragStart.bind(_assertThisInitialized(_this));\n _this.onColumnDragOver = _this.onColumnDragOver.bind(_assertThisInitialized(_this));\n _this.onColumnDragLeave = _this.onColumnDragLeave.bind(_assertThisInitialized(_this));\n _this.onColumnDrop = _this.onColumnDrop.bind(_assertThisInitialized(_this));\n _this.onVirtualScroll = _this.onVirtualScroll.bind(_assertThisInitialized(_this));\n _this.frozenSelectionMode = null;\n return _this;\n }\n\n _createClass(DataTable, [{\n key: \"getFirst\",\n value: function getFirst() {\n return this.props.onPage ? this.props.first : this.state.first;\n }\n }, {\n key: \"getRows\",\n value: function getRows() {\n return this.props.onPage ? this.props.rows : this.state.rows;\n }\n }, {\n key: \"getSortField\",\n value: function getSortField() {\n return this.props.onSort ? this.props.sortField : this.state.sortField;\n }\n }, {\n key: \"getSortOrder\",\n value: function getSortOrder() {\n return this.props.onSort ? this.props.sortOrder : this.state.sortOrder;\n }\n }, {\n key: \"getMultiSortMeta\",\n value: function getMultiSortMeta() {\n return this.props.onSort ? this.props.multiSortMeta : this.state.multiSortMeta;\n }\n }, {\n key: \"getFilters\",\n value: function getFilters() {\n return this.props.onFilter ? this.props.filters : this.state.filters;\n }\n }, {\n key: \"getStorage\",\n value: function getStorage() {\n switch (this.props.stateStorage) {\n case 'local':\n return window.localStorage;\n\n case 'session':\n return window.sessionStorage;\n\n case 'custom':\n return null;\n\n default:\n throw new Error(this.props.stateStorage + ' is not a valid value for the state storage, supported values are \"local\", \"session\" and \"custom\".');\n }\n }\n }, {\n key: \"isCustomStateStorage\",\n value: function isCustomStateStorage() {\n return this.props.stateStorage === 'custom';\n }\n }, {\n key: \"isStateful\",\n value: function isStateful() {\n return this.props.stateKey != null || this.isCustomStateStorage();\n }\n }, {\n key: \"saveState\",\n value: function saveState() {\n var state = {};\n\n if (this.props.paginator) {\n state.first = this.getFirst();\n state.rows = this.getRows();\n }\n\n var sortField = this.getSortField();\n\n if (sortField) {\n state.sortField = sortField;\n state.sortOrder = this.getSortOrder();\n }\n\n var multiSortMeta = this.getMultiSortMeta();\n\n if (multiSortMeta) {\n state.multiSortMeta = multiSortMeta;\n }\n\n if (this.hasFilter()) {\n state.filters = this.getFilters();\n }\n\n if (this.props.resizableColumns) {\n this.saveColumnWidths(state);\n }\n\n if (this.props.reorderableColumns) {\n state.columnOrder = this.state.columnOrder;\n }\n\n if (this.props.expandedRows) {\n state.expandedRows = this.props.expandedRows;\n }\n\n if (this.props.selection && this.props.onSelectionChange) {\n state.selection = this.props.selection;\n }\n\n if (this.isCustomStateStorage()) {\n if (this.props.customSaveState) {\n this.props.customSaveState(state);\n }\n } else {\n var storage = this.getStorage();\n\n if (Object.keys(state).length) {\n storage.setItem(this.props.stateKey, JSON.stringify(state));\n }\n }\n\n if (this.props.onStateSave) {\n this.props.onStateSave(state);\n }\n }\n }, {\n key: \"clearState\",\n value: function clearState() {\n var storage = this.getStorage();\n\n if (storage && this.props.stateKey) {\n storage.removeItem(this.props.stateKey);\n }\n }\n }, {\n key: \"restoreState\",\n value: function restoreState(state) {\n var restoredState = {};\n\n if (this.isCustomStateStorage()) {\n if (this.props.customRestoreState) {\n restoredState = this.props.customRestoreState();\n }\n } else {\n var storage = this.getStorage();\n var stateString = storage.getItem(this.props.stateKey);\n\n if (stateString) {\n restoredState = JSON.parse(stateString);\n }\n }\n\n if (restoredState && Object.keys(restoredState).length) {\n if (this.props.paginator) {\n if (this.props.onPage) {\n this.props.onPage({\n first: restoredState.first,\n rows: restoredState.rows\n });\n } else {\n state.first = restoredState.first;\n state.rows = restoredState.rows;\n }\n }\n\n if (restoredState.sortField) {\n if (this.props.onSort) {\n this.props.onSort({\n sortField: restoredState.sortField,\n sortOrder: restoredState.sortOrder\n });\n } else {\n state.sortField = restoredState.sortField;\n state.sortOrder = restoredState.sortOrder;\n }\n }\n\n if (restoredState.multiSortMeta) {\n if (this.props.onSort) {\n this.props.onSort({\n multiSortMeta: restoredState.multiSortMeta\n });\n } else {\n state.multiSortMeta = restoredState.multiSortMeta;\n }\n }\n\n if (restoredState.filters) {\n if (this.props.onFilter) {\n this.props.onFilter({\n filters: restoredState.filters\n });\n } else {\n state.filters = restoredState.filters;\n }\n }\n\n if (this.props.resizableColumns) {\n this.columnWidthsState = restoredState.columnWidths;\n this.tableWidthState = restoredState.tableWidth;\n }\n\n if (this.props.reorderableColumns) {\n state.columnOrder = restoredState.columnOrder;\n }\n\n if (restoredState.expandedRows && this.props.onRowToggle) {\n this.props.onRowToggle({\n data: restoredState.expandedRows\n });\n }\n\n if (restoredState.selection && this.props.onSelectionChange) {\n this.props.onSelectionChange({\n value: restoredState.selection\n });\n }\n\n if (this.props.onStateRestore) {\n this.props.onStateRestore(restoredState);\n }\n }\n }\n }, {\n key: \"saveColumnWidths\",\n value: function saveColumnWidths(state) {\n var widths = [];\n\n var headers = _DomHandler.default.find(this.container, '.p-datatable-thead > tr > th');\n\n headers.map(function (header) {\n return widths.push(_DomHandler.default.getOuterWidth(header));\n });\n state.columnWidths = widths.join(',');\n\n if (this.props.columnResizeMode === 'expand') {\n state.tableWidth = this.props.scrollable ? _DomHandler.default.findSingle(this.container, '.p-datatable-scrollable-header-table').style.width : _DomHandler.default.getOuterWidth(this.table) + 'px';\n }\n }\n }, {\n key: \"restoreColumnWidths\",\n value: function restoreColumnWidths() {\n if (this.columnWidthsState) {\n var widths = this.columnWidthsState.split(',');\n\n if (this.props.columnResizeMode === 'expand' && this.tableWidthState) {\n if (this.props.scrollable) {\n this.setScrollableItemsWidthOnExpandResize(null, this.tableWidthState, 0);\n } else {\n this.table.style.width = this.tableWidthState;\n this.container.style.width = this.tableWidthState;\n }\n }\n\n if (this.props.scrollable) {\n var headerCols = _DomHandler.default.find(this.container, '.p-datatable-scrollable-header-table > colgroup > col');\n\n var bodyCols = _DomHandler.default.find(this.container, '.p-datatable-scrollable-body-table > colgroup > col');\n\n headerCols.map(function (col, index) {\n return col.style.width = widths[index] + 'px';\n });\n bodyCols.map(function (col, index) {\n return col.style.width = widths[index] + 'px';\n });\n } else {\n var headers = _DomHandler.default.find(this.table, '.p-datatable-thead > tr > th');\n\n headers.map(function (header, index) {\n return header.style.width = widths[index] + 'px';\n });\n }\n }\n }\n }, {\n key: \"onPageChange\",\n value: function onPageChange(event) {\n if (this.props.onPage) this.props.onPage(event);else this.setState({\n first: event.first,\n rows: event.rows\n });\n\n if (this.props.onValueChange) {\n this.props.onValueChange();\n }\n }\n }, {\n key: \"createPaginator\",\n value: function createPaginator(position, totalRecords, data) {\n var className = 'p-paginator-' + position;\n return /*#__PURE__*/_react.default.createElement(_Paginator.Paginator, {\n first: this.getFirst(),\n rows: this.getRows(),\n pageLinkSize: this.props.pageLinkSize,\n className: className,\n onPageChange: this.onPageChange,\n template: this.props.paginatorTemplate,\n totalRecords: totalRecords,\n rowsPerPageOptions: this.props.rowsPerPageOptions,\n currentPageReportTemplate: this.props.currentPageReportTemplate,\n leftContent: this.props.paginatorLeft,\n rightContent: this.props.paginatorRight,\n alwaysShow: this.props.alwaysShowPaginator,\n dropdownAppendTo: this.props.paginatorDropdownAppendTo\n });\n }\n }, {\n key: \"onSort\",\n value: function onSort(event) {\n var sortField = event.sortField;\n var sortOrder = this.props.defaultSortOrder;\n var multiSortMeta;\n var eventMeta;\n this.columnSortable = event.sortable;\n this.columnSortFunction = event.sortFunction;\n this.columnField = event.sortField;\n\n if (this.props.sortMode === 'multiple') {\n var metaKey = event.originalEvent.metaKey || event.originalEvent.ctrlKey;\n multiSortMeta = this.getMultiSortMeta();\n\n if (multiSortMeta && multiSortMeta instanceof Array) {\n var sortMeta = multiSortMeta.find(function (sortMeta) {\n return sortMeta.field === sortField;\n });\n sortOrder = sortMeta ? this.getCalculatedSortOrder(sortMeta.order) : sortOrder;\n }\n\n var newMetaData = {\n field: sortField,\n order: sortOrder\n };\n\n if (sortOrder) {\n if (!multiSortMeta || !metaKey) {\n multiSortMeta = [];\n }\n\n this.addSortMeta(newMetaData, multiSortMeta);\n } else if (this.props.removableSort && multiSortMeta) {\n this.removeSortMeta(newMetaData, multiSortMeta);\n }\n\n eventMeta = {\n multiSortMeta: multiSortMeta\n };\n } else {\n sortOrder = this.getSortField() === sortField ? this.getCalculatedSortOrder(this.getSortOrder()) : sortOrder;\n\n if (this.props.removableSort) {\n sortField = sortOrder ? sortField : null;\n }\n\n eventMeta = {\n sortField: sortField,\n sortOrder: sortOrder\n };\n }\n\n if (this.props.onSort) {\n this.props.onSort(eventMeta);\n } else {\n eventMeta.first = 0;\n this.setState(eventMeta);\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(this.processData({\n sortField: sortField,\n sortOrder: sortOrder,\n multiSortMeta: multiSortMeta\n }));\n }\n }\n }, {\n key: \"getCalculatedSortOrder\",\n value: function getCalculatedSortOrder(currentOrder) {\n return this.props.removableSort ? currentOrder ? currentOrder < 0 ? 0 : -1 : 1 : currentOrder * -1;\n }\n }, {\n key: \"addSortMeta\",\n value: function addSortMeta(meta, multiSortMeta) {\n var index = -1;\n\n for (var i = 0; i < multiSortMeta.length; i++) {\n if (multiSortMeta[i].field === meta.field) {\n index = i;\n break;\n }\n }\n\n if (index >= 0) multiSortMeta[index] = meta;else multiSortMeta.push(meta);\n }\n }, {\n key: \"removeSortMeta\",\n value: function removeSortMeta(meta, multiSortMeta) {\n var index = -1;\n\n for (var i = 0; i < multiSortMeta.length; i++) {\n if (multiSortMeta[i].field === meta.field) {\n index = i;\n break;\n }\n }\n\n if (index >= 0) {\n multiSortMeta.splice(index, 1);\n }\n\n multiSortMeta = multiSortMeta.length > 0 ? multiSortMeta : null;\n }\n }, {\n key: \"sortSingle\",\n value: function sortSingle(data, sortField, sortOrder) {\n var value = _toConsumableArray(data);\n\n if (this.columnSortable && this.columnSortFunction) {\n value = this.columnSortFunction({\n field: this.getSortField(),\n order: this.getSortOrder()\n });\n } else {\n value.sort(function (data1, data2) {\n var value1 = _ObjectUtils.default.resolveFieldData(data1, sortField);\n\n var value2 = _ObjectUtils.default.resolveFieldData(data2, sortField);\n\n var result = null;\n if (value1 == null && value2 != null) result = -1;else if (value1 != null && value2 == null) result = 1;else if (value1 == null && value2 == null) result = 0;else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, {\n numeric: true\n });else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n return sortOrder * result;\n });\n }\n\n return value;\n }\n }, {\n key: \"sortMultiple\",\n value: function sortMultiple(data, multiSortMeta) {\n var _this2 = this;\n\n var value = _toConsumableArray(data);\n\n if (this.columnSortable && this.columnSortFunction) {\n var meta = multiSortMeta.find(function (meta) {\n return meta.field === _this2.columnField;\n });\n var field = this.columnField;\n var order = meta ? meta.order : this.defaultSortOrder;\n value = this.columnSortFunction({\n field: field,\n order: order\n });\n } else {\n value.sort(function (data1, data2) {\n return _this2.multisortField(data1, data2, multiSortMeta, 0);\n });\n }\n\n return value;\n }\n }, {\n key: \"multisortField\",\n value: function multisortField(data1, data2, multiSortMeta, index) {\n var value1 = _ObjectUtils.default.resolveFieldData(data1, multiSortMeta[index].field);\n\n var value2 = _ObjectUtils.default.resolveFieldData(data2, multiSortMeta[index].field);\n\n var result = null;\n\n if (typeof value1 === 'string' || value1 instanceof String) {\n if (value1.localeCompare && value1 !== value2) {\n return multiSortMeta[index].order * value1.localeCompare(value2, undefined, {\n numeric: true\n });\n }\n } else {\n result = value1 < value2 ? -1 : 1;\n }\n\n if (value1 === value2) {\n return multiSortMeta.length - 1 > index ? this.multisortField(data1, data2, multiSortMeta, index + 1) : 0;\n }\n\n return multiSortMeta[index].order * result;\n }\n }, {\n key: \"filter\",\n value: function filter(value, field, mode) {\n this.onFilter({\n value: value,\n field: field,\n matchMode: mode\n });\n }\n }, {\n key: \"onFilter\",\n value: function onFilter(event) {\n var currentFilters = this.getFilters();\n var newFilters = currentFilters ? _objectSpread({}, currentFilters) : {};\n if (!this.isFilterBlank(event.value)) newFilters[event.field] = {\n value: event.value,\n matchMode: event.matchMode\n };else if (newFilters[event.field]) delete newFilters[event.field];\n\n if (this.props.onFilter) {\n this.props.onFilter({\n filters: newFilters\n });\n } else {\n this.setState({\n first: 0,\n filters: newFilters\n });\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(this.processData({\n filters: newFilters\n }));\n }\n }\n }, {\n key: \"hasFilter\",\n value: function hasFilter() {\n var filters = this.getFilters() || this.props.globalFilter;\n return filters && Object.keys(filters).length > 0;\n }\n }, {\n key: \"isFilterBlank\",\n value: function isFilterBlank(filter) {\n if (filter !== null && filter !== undefined) {\n if (typeof filter === 'string' && filter.trim().length === 0 || filter instanceof Array && filter.length === 0) return true;else return false;\n }\n\n return true;\n }\n }, {\n key: \"hasFooter\",\n value: function hasFooter() {\n if (this.props.children) {\n if (this.props.footerColumnGroup) {\n return true;\n } else {\n return this.hasChildrenFooter(this.props.children);\n }\n } else {\n return false;\n }\n }\n }, {\n key: \"hasChildrenFooter\",\n value: function hasChildrenFooter(children) {\n var hasFooter = false;\n\n if (children) {\n if (children instanceof Array) {\n for (var i = 0; i < children.length; i++) {\n hasFooter = hasFooter || this.hasChildrenFooter(children[i]);\n }\n } else {\n return children.props && children.props.footer !== null;\n }\n }\n\n return hasFooter;\n }\n }, {\n key: \"onColumnResizeStart\",\n value: function onColumnResizeStart(event) {\n var containerLeft = _DomHandler.default.getOffset(this.container).left;\n\n this.resizeColumn = event.columnEl;\n this.resizeColumnProps = event.columnProps;\n this.columnResizing = true;\n this.lastResizerHelperX = event.originalEvent.pageX - containerLeft + this.container.scrollLeft;\n this.bindColumnResizeEvents();\n }\n }, {\n key: \"onColumnResize\",\n value: function onColumnResize(event) {\n var containerLeft = _DomHandler.default.getOffset(this.container).left;\n\n _DomHandler.default.addClass(this.container, 'p-unselectable-text');\n\n this.resizerHelper.style.height = this.container.offsetHeight + 'px';\n this.resizerHelper.style.top = 0 + 'px';\n this.resizerHelper.style.left = event.pageX - containerLeft + this.container.scrollLeft + 'px';\n this.resizerHelper.style.display = 'block';\n }\n }, {\n key: \"onColumnResizeEnd\",\n value: function onColumnResizeEnd(event) {\n var delta = this.resizerHelper.offsetLeft - this.lastResizerHelperX;\n var columnWidth = this.resizeColumn.offsetWidth;\n var newColumnWidth = columnWidth + delta;\n var minWidth = this.resizeColumn.style.minWidth || 15;\n\n if (columnWidth + delta > parseInt(minWidth, 10)) {\n if (this.props.columnResizeMode === 'fit') {\n var nextColumn = this.resizeColumn.nextElementSibling;\n var nextColumnWidth = nextColumn.offsetWidth - delta;\n\n if (newColumnWidth > 15 && nextColumnWidth > 15) {\n if (this.props.scrollable) {\n var scrollableView = this.findParentScrollableView(this.resizeColumn);\n\n var scrollableBodyTable = _DomHandler.default.findSingle(scrollableView, 'table.p-datatable-scrollable-body-table');\n\n var scrollableHeaderTable = _DomHandler.default.findSingle(scrollableView, 'table.p-datatable-scrollable-header-table');\n\n var scrollableFooterTable = _DomHandler.default.findSingle(scrollableView, 'table.p-datatable-scrollable-footer-table');\n\n var resizeColumnIndex = _DomHandler.default.index(this.resizeColumn);\n\n this.resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n this.resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n this.resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n } else {\n this.resizeColumn.style.width = newColumnWidth + 'px';\n\n if (nextColumn) {\n nextColumn.style.width = nextColumnWidth + 'px';\n }\n }\n }\n } else if (this.props.columnResizeMode === 'expand') {\n if (this.props.scrollable) {\n this.setScrollableItemsWidthOnExpandResize(this.resizeColumn, newColumnWidth, delta);\n } else {\n this.table.style.width = this.table.offsetWidth + delta + 'px';\n this.resizeColumn.style.width = newColumnWidth + 'px';\n }\n }\n\n if (this.props.onColumnResizeEnd) {\n this.props.onColumnResizeEnd({\n element: this.resizeColumn,\n column: this.resizeColumnProps,\n delta: delta\n });\n }\n\n if (this.isStateful()) {\n this.saveState();\n }\n }\n\n this.resizerHelper.style.display = 'none';\n this.resizeColumn = null;\n this.resizeColumnProps = null;\n\n _DomHandler.default.removeClass(this.container, 'p-unselectable-text');\n\n this.unbindColumnResizeEvents();\n }\n }, {\n key: \"setScrollableItemsWidthOnExpandResize\",\n value: function setScrollableItemsWidthOnExpandResize(column, newColumnWidth, delta) {\n var scrollableView = column ? this.findParentScrollableView(column) : this.container;\n\n var scrollableBody = _DomHandler.default.findSingle(scrollableView, '.p-datatable-scrollable-body');\n\n var scrollableHeader = _DomHandler.default.findSingle(scrollableView, '.p-datatable-scrollable-header');\n\n var scrollableFooter = _DomHandler.default.findSingle(scrollableView, '.p-datatable-scrollable-footer');\n\n var scrollableBodyTable = _DomHandler.default.findSingle(scrollableBody, 'table.p-datatable-scrollable-body-table');\n\n var scrollableHeaderTable = _DomHandler.default.findSingle(scrollableHeader, 'table.p-datatable-scrollable-header-table');\n\n var scrollableFooterTable = _DomHandler.default.findSingle(scrollableFooter, 'table.p-datatable-scrollable-footer-table');\n\n var scrollableBodyTableWidth = column ? scrollableBodyTable.offsetWidth + delta : newColumnWidth;\n var scrollableHeaderTableWidth = column ? scrollableHeaderTable.offsetWidth + delta : newColumnWidth;\n var isContainerInViewport = this.container.offsetWidth >= scrollableBodyTableWidth;\n\n var setWidth = function setWidth(container, table, width, isContainerInViewport) {\n if (container && table) {\n container.style.width = isContainerInViewport ? width + _DomHandler.default.calculateScrollbarWidth(scrollableBody) + 'px' : 'auto';\n table.style.width = width + 'px';\n }\n };\n\n setWidth(scrollableBody, scrollableBodyTable, scrollableBodyTableWidth, isContainerInViewport);\n setWidth(scrollableHeader, scrollableHeaderTable, scrollableHeaderTableWidth, isContainerInViewport);\n setWidth(scrollableFooter, scrollableFooterTable, scrollableHeaderTableWidth, isContainerInViewport);\n\n if (column) {\n var resizeColumnIndex = _DomHandler.default.index(column);\n\n this.resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, null);\n this.resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, null);\n this.resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, null);\n }\n }\n }, {\n key: \"findParentScrollableView\",\n value: function findParentScrollableView(column) {\n if (column) {\n var parent = column.parentElement;\n\n while (parent && !_DomHandler.default.hasClass(parent, 'p-datatable-scrollable-view')) {\n parent = parent.parentElement;\n }\n\n return parent;\n } else {\n return null;\n }\n }\n }, {\n key: \"resizeColGroup\",\n value: function resizeColGroup(table, resizeColumnIndex, newColumnWidth, nextColumnWidth) {\n if (table) {\n var colGroup = table.children[0].nodeName === 'COLGROUP' ? table.children[0] : null;\n\n if (colGroup) {\n var col = colGroup.children[resizeColumnIndex];\n var nextCol = col.nextElementSibling;\n col.style.width = newColumnWidth + 'px';\n\n if (nextCol && nextColumnWidth) {\n nextCol.style.width = nextColumnWidth + 'px';\n }\n } else {\n throw new Error(\"Scrollable tables require a colgroup to support resizable columns\");\n }\n }\n }\n }, {\n key: \"bindColumnResizeEvents\",\n value: function bindColumnResizeEvents() {\n var _this3 = this;\n\n this.documentColumnResizeListener = document.addEventListener('mousemove', function (event) {\n if (_this3.columnResizing) {\n _this3.onColumnResize(event);\n }\n });\n this.documentColumnResizeEndListener = document.addEventListener('mouseup', function (event) {\n if (_this3.columnResizing) {\n _this3.columnResizing = false;\n\n _this3.onColumnResizeEnd(event);\n }\n });\n }\n }, {\n key: \"unbindColumnResizeEvents\",\n value: function unbindColumnResizeEvents() {\n document.removeEventListener('document', this.documentColumnResizeListener);\n document.removeEventListener('document', this.documentColumnResizeEndListener);\n }\n }, {\n key: \"findParentHeader\",\n value: function findParentHeader(element) {\n if (element.nodeName === 'TH') {\n return element;\n } else {\n var parent = element.parentElement;\n\n while (parent.nodeName !== 'TH') {\n parent = parent.parentElement;\n if (!parent) break;\n }\n\n return parent;\n }\n }\n }, {\n key: \"onColumnDragStart\",\n value: function onColumnDragStart(event) {\n if (this.columnResizing) {\n event.preventDefault();\n return;\n }\n\n this.iconWidth = _DomHandler.default.getHiddenElementOuterWidth(this.reorderIndicatorUp);\n this.iconHeight = _DomHandler.default.getHiddenElementOuterHeight(this.reorderIndicatorUp);\n this.draggedColumn = this.findParentHeader(event.target);\n event.dataTransfer.setData('text', 'b'); // Firefox requires this to make dragging possible\n }\n }, {\n key: \"onColumnDragOver\",\n value: function onColumnDragOver(event) {\n var dropHeader = this.findParentHeader(event.target);\n\n if (this.props.reorderableColumns && this.draggedColumn && dropHeader) {\n event.preventDefault();\n\n var containerOffset = _DomHandler.default.getOffset(this.container);\n\n var dropHeaderOffset = _DomHandler.default.getOffset(dropHeader);\n\n if (this.draggedColumn !== dropHeader) {\n var targetLeft = dropHeaderOffset.left - containerOffset.left; //let targetTop = containerOffset.top - dropHeaderOffset.top;\n\n var columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;\n this.reorderIndicatorUp.style.top = dropHeaderOffset.top - containerOffset.top - (this.iconHeight - 1) + 'px';\n this.reorderIndicatorDown.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';\n\n if (event.pageX > columnCenter) {\n this.reorderIndicatorUp.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(this.iconWidth / 2) + 'px';\n this.reorderIndicatorDown.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(this.iconWidth / 2) + 'px';\n this.dropPosition = 1;\n } else {\n this.reorderIndicatorUp.style.left = targetLeft - Math.ceil(this.iconWidth / 2) + 'px';\n this.reorderIndicatorDown.style.left = targetLeft - Math.ceil(this.iconWidth / 2) + 'px';\n this.dropPosition = -1;\n }\n\n this.reorderIndicatorUp.style.display = 'block';\n this.reorderIndicatorDown.style.display = 'block';\n }\n }\n }\n }, {\n key: \"onColumnDragLeave\",\n value: function onColumnDragLeave(event) {\n if (this.props.reorderableColumns && this.draggedColumn) {\n event.preventDefault();\n this.reorderIndicatorUp.style.display = 'none';\n this.reorderIndicatorDown.style.display = 'none';\n }\n }\n }, {\n key: \"onColumnDrop\",\n value: function onColumnDrop(event) {\n event.preventDefault();\n\n if (this.draggedColumn) {\n var dragIndex = _DomHandler.default.index(this.draggedColumn);\n\n var dropIndex = _DomHandler.default.index(this.findParentHeader(event.target));\n\n var allowDrop = dragIndex !== dropIndex;\n\n if (allowDrop && (dropIndex - dragIndex === 1 && this.dropPosition === -1 || dragIndex - dropIndex === 1 && this.dropPosition === 1)) {\n allowDrop = false;\n }\n\n if (allowDrop) {\n var columns = this.state.columnOrder ? this.getColumns() : _react.default.Children.toArray(this.props.children);\n\n _ObjectUtils.default.reorderArray(columns, dragIndex, dropIndex);\n\n var columnOrder = [];\n\n var _iterator = _createForOfIteratorHelper(columns),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var column = _step.value;\n columnOrder.push(column.props.columnKey || column.props.field);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.setState({\n columnOrder: columnOrder\n });\n\n if (this.props.onColReorder) {\n this.props.onColReorder({\n originalEvent: event,\n dragIndex: dragIndex,\n dropIndex: dropIndex,\n columns: columns\n });\n }\n }\n\n this.reorderIndicatorUp.style.display = 'none';\n this.reorderIndicatorDown.style.display = 'none';\n this.draggedColumn.draggable = false;\n this.draggedColumn = null;\n this.dropPosition = null;\n }\n }\n }, {\n key: \"onVirtualScroll\",\n value: function onVirtualScroll(event) {\n var _this4 = this;\n\n if (this.virtualScrollTimer) {\n clearTimeout(this.virtualScrollTimer);\n }\n\n this.virtualScrollTimer = setTimeout(function () {\n if (_this4.props.onVirtualScroll) {\n _this4.props.onVirtualScroll({\n first: (event.page - 1) * _this4.props.rows,\n rows: _this4.props.virtualScroll ? _this4.props.rows * 2 : _this4.props.rows\n });\n }\n }, this.props.virtualScrollDelay);\n }\n }, {\n key: \"exportCSV\",\n value: function exportCSV() {\n var _this5 = this;\n\n var data = this.processData();\n var csv = \"\\uFEFF\";\n\n var columns = _react.default.Children.toArray(this.props.children); //headers\n\n\n for (var i = 0; i < columns.length; i++) {\n if (columns[i].props.field) {\n csv += '\"' + (columns[i].props.header || columns[i].props.field) + '\"';\n\n if (i < columns.length - 1) {\n csv += this.props.csvSeparator;\n }\n }\n } //body\n\n\n data.forEach(function (record, i) {\n csv += '\\n';\n\n for (var _i = 0; _i < columns.length; _i++) {\n var column = columns[_i],\n field = column.props.field;\n\n if (column.props.exportable && field) {\n var cellData = _ObjectUtils.default.resolveFieldData(record, field);\n\n if (cellData != null) {\n if (_this5.props.exportFunction) {\n cellData = _this5.props.exportFunction({\n data: cellData,\n field: field\n });\n } else cellData = String(cellData).replace(/\"/g, '\"\"');\n } else cellData = '';\n\n csv += '\"' + cellData + '\"';\n\n if (_i < columns.length - 1) {\n csv += _this5.props.csvSeparator;\n }\n }\n }\n });\n var blob = new Blob([csv], {\n type: 'text/csv;charset=utf-8;'\n });\n\n if (window.navigator.msSaveOrOpenBlob) {\n navigator.msSaveOrOpenBlob(blob, this.props.exportFilename + '.csv');\n } else {\n var link = document.createElement(\"a\");\n link.style.display = 'none';\n document.body.appendChild(link);\n\n if (link.download !== undefined) {\n link.setAttribute('href', URL.createObjectURL(blob));\n link.setAttribute('download', this.props.exportFilename + '.csv');\n link.click();\n } else {\n csv = 'data:text/csv;charset=utf-8,' + csv;\n window.open(encodeURI(csv));\n }\n\n document.body.removeChild(link);\n }\n }\n }, {\n key: \"closeEditingCell\",\n value: function closeEditingCell() {\n if (this.props.editMode !== \"row\") {\n document.body.click();\n }\n }\n }, {\n key: \"onHeaderCheckboxClick\",\n value: function onHeaderCheckboxClick(event) {\n var selection;\n\n if (!event.checked) {\n var visibleData = this.hasFilter() ? this.processData() : this.props.value;\n selection = _toConsumableArray(visibleData);\n } else {\n selection = [];\n }\n\n if (this.props.onSelectionChange) {\n var originalEvent = event.originalEvent,\n rest = _objectWithoutProperties(event, [\"originalEvent\"]);\n\n this.props.onSelectionChange(_objectSpread({\n originalEvent: originalEvent,\n value: selection\n }, rest));\n }\n }\n }, {\n key: \"filterLocal\",\n value: function filterLocal(value, localFilters) {\n var filteredValue = [];\n var filters = localFilters || this.getFilters();\n\n var columns = _react.default.Children.toArray(this.props.children);\n\n for (var i = 0; i < value.length; i++) {\n var localMatch = true;\n var globalMatch = false;\n\n for (var j = 0; j < columns.length; j++) {\n var col = columns[j];\n var columnField = col.props.filterField || col.props.field;\n var filterMeta = filters ? filters[columnField] : null; //local\n\n if (filterMeta) {\n var filterValue = filterMeta.value;\n\n var dataFieldValue = _ObjectUtils.default.resolveFieldData(value[i], columnField);\n\n var filterMatchMode = filterMeta.matchMode || col.props.filterMatchMode;\n var filterConstraint = filterMatchMode === 'custom' ? col.props.filterFunction : _FilterUtils.default[filterMatchMode];\n\n if (!filterConstraint(dataFieldValue, filterValue, this.props.filterLocale)) {\n localMatch = false;\n }\n\n if (!localMatch) {\n break;\n }\n }\n\n if (!col.props.excludeGlobalFilter && this.props.globalFilter && !globalMatch) {\n globalMatch = _FilterUtils.default['contains'](_ObjectUtils.default.resolveFieldData(value[i], columnField), this.props.globalFilter, this.props.filterLocale);\n }\n }\n\n var matches = localMatch;\n\n if (this.props.globalFilter) {\n matches = localMatch && globalMatch;\n }\n\n if (matches) {\n filteredValue.push(value[i]);\n }\n }\n\n if (filteredValue.length === value.length) {\n filteredValue = value;\n }\n\n return filteredValue;\n }\n }, {\n key: \"processData\",\n value: function processData(localState) {\n var data = this.props.value;\n\n if (!this.props.lazy) {\n if (data && data.length) {\n var sortField = localState && localState.sortField || this.getSortField();\n var sortOrder = localState && localState.sortOrder || this.getSortOrder();\n var multiSortMeta = localState && localState.multiSortMeta || this.getMultiSortMeta();\n\n if (sortField || multiSortMeta && multiSortMeta.length) {\n if (this.props.sortMode === 'single') data = this.sortSingle(data, sortField, sortOrder);else if (this.props.sortMode === 'multiple') data = this.sortMultiple(data, multiSortMeta);\n }\n\n var localFilters = localState && localState.filters || this.getFilters();\n\n if (localFilters || this.props.globalFilter) {\n data = this.filterLocal(data, localFilters);\n }\n }\n }\n\n return data;\n }\n }, {\n key: \"isAllSelected\",\n value: function isAllSelected() {\n var visibleData = this.hasFilter() ? this.processData() : this.props.value;\n return this.props.selection && visibleData && visibleData.length && this.props.selection.length === visibleData.length;\n }\n }, {\n key: \"getFrozenColumns\",\n value: function getFrozenColumns(columns) {\n var frozenColumns = null;\n\n var _iterator2 = _createForOfIteratorHelper(columns),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var col = _step2.value;\n\n if (col.props.frozen) {\n frozenColumns = frozenColumns || [];\n frozenColumns.push(col);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return frozenColumns;\n }\n }, {\n key: \"getScrollableColumns\",\n value: function getScrollableColumns(columns) {\n var scrollableColumns = null;\n\n var _iterator3 = _createForOfIteratorHelper(columns),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var col = _step3.value;\n\n if (!col.props.frozen) {\n scrollableColumns = scrollableColumns || [];\n scrollableColumns.push(col);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return scrollableColumns;\n }\n }, {\n key: \"getFrozenSelectionModeInColumn\",\n value: function getFrozenSelectionModeInColumn(columns) {\n if (Array.isArray(columns)) {\n var _iterator4 = _createForOfIteratorHelper(columns),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var col = _step4.value;\n if (col.props.selectionMode) return col.props.selectionMode;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n return null;\n }\n }, {\n key: \"createTableHeader\",\n value: function createTableHeader(value, columns, columnGroup) {\n return /*#__PURE__*/_react.default.createElement(_TableHeader.TableHeader, {\n value: value,\n onSort: this.onSort,\n sortField: this.getSortField(),\n sortOrder: this.getSortOrder(),\n multiSortMeta: this.getMultiSortMeta(),\n columnGroup: columnGroup,\n resizableColumns: this.props.resizableColumns,\n onColumnResizeStart: this.onColumnResizeStart,\n onFilter: this.onFilter,\n onHeaderCheckboxClick: this.onHeaderCheckboxClick,\n headerCheckboxSelected: this.isAllSelected(),\n reorderableColumns: this.props.reorderableColumns,\n onColumnDragStart: this.onColumnDragStart,\n filters: this.getFilters(),\n onColumnDragOver: this.onColumnDragOver,\n onColumnDragLeave: this.onColumnDragLeave,\n onColumnDrop: this.onColumnDrop,\n tabIndex: this.props.tabIndex\n }, columns);\n }\n }, {\n key: \"createTableBody\",\n value: function createTableBody(value, columns, frozen) {\n return /*#__PURE__*/_react.default.createElement(_TableBody.TableBody, {\n value: value,\n first: this.getFirst(),\n rows: this.getRows(),\n lazy: this.props.lazy,\n paginator: this.props.paginator,\n dataKey: this.props.dataKey,\n compareSelectionBy: this.props.compareSelectionBy,\n selectionMode: this.props.selectionMode,\n selection: this.props.selection,\n metaKeySelection: this.props.metaKeySelection,\n frozen: frozen,\n frozenSelectionMode: this.frozenSelectionMode,\n onSelectionChange: this.props.onSelectionChange,\n onRowClick: this.props.onRowClick,\n onRowDoubleClick: this.props.onRowDoubleClick,\n onRowSelect: this.props.onRowSelect,\n onRowUnselect: this.props.onRowUnselect,\n contextMenuSelection: this.props.contextMenuSelection,\n onContextMenuSelectionChange: this.props.onContextMenuSelectionChange,\n onContextMenu: this.props.onContextMenu,\n expandedRows: this.props.expandedRows,\n onRowToggle: this.props.onRowToggle,\n rowExpansionTemplate: this.props.rowExpansionTemplate,\n onRowExpand: this.props.onRowExpand,\n onRowCollapse: this.props.onRowCollapse,\n emptyMessage: this.props.emptyMessage,\n virtualScroll: this.props.virtualScroll,\n virtualRowHeight: this.props.virtualRowHeight,\n loading: this.props.loading,\n groupField: this.props.groupField,\n rowGroupMode: this.props.rowGroupMode,\n rowGroupHeaderTemplate: this.props.rowGroupHeaderTemplate,\n rowGroupFooterTemplate: this.props.rowGroupFooterTemplate,\n sortField: this.getSortField(),\n rowClassName: this.props.rowClassName,\n onRowReorder: this.props.onRowReorder,\n editMode: this.props.editMode,\n rowEditorValidator: this.props.rowEditorValidator,\n onRowEditInit: this.props.onRowEditInit,\n onRowEditSave: this.props.onRowEditSave,\n onRowEditCancel: this.props.onRowEditCancel,\n expandableRowGroups: this.props.expandableRowGroups,\n showRowReorderElement: this.props.showRowReorderElement,\n showSelectionElement: this.props.showSelectionElement\n }, columns);\n }\n }, {\n key: \"createTableLoadingBody\",\n value: function createTableLoadingBody(columns) {\n if (this.props.virtualScroll) {\n return /*#__PURE__*/_react.default.createElement(_TableLoadingBody.TableLoadingBody, {\n columns: columns,\n rows: this.getRows()\n });\n } else {\n return null;\n }\n }\n }, {\n key: \"createTableFooter\",\n value: function createTableFooter(columns, columnGroup) {\n if (this.hasFooter()) return /*#__PURE__*/_react.default.createElement(_TableFooter.TableFooter, {\n columnGroup: columnGroup\n }, columns);else return null;\n }\n }, {\n key: \"createScrollableView\",\n value: function createScrollableView(value, columns, frozen, headerColumnGroup, footerColumnGroup, totalRecords) {\n return /*#__PURE__*/_react.default.createElement(_ScrollableView.ScrollableView, {\n columns: columns,\n header: this.createTableHeader(value, columns, headerColumnGroup),\n body: this.createTableBody(value, columns, frozen),\n loadingBody: this.createTableLoadingBody(columns),\n frozenBody: this.props.frozenValue ? this.createTableBody(this.props.frozenValue, columns, true) : null,\n footer: this.createTableFooter(columns, footerColumnGroup),\n tableStyle: this.props.tableStyle,\n tableClassName: this.props.tableClassName,\n scrollHeight: this.props.scrollHeight,\n frozen: frozen,\n frozenWidth: this.props.frozenWidth,\n virtualScroll: this.props.virtualScroll,\n virtualRowHeight: this.props.virtualRowHeight,\n rows: this.props.rows,\n totalRecords: totalRecords,\n onVirtualScroll: this.onVirtualScroll,\n loading: this.props.loading\n });\n }\n }, {\n key: \"getColumns\",\n value: function getColumns() {\n var columns = _react.default.Children.toArray(this.props.children);\n\n if (columns && columns.length) {\n if (this.props.reorderableColumns && this.state.columnOrder) {\n var orderedColumns = [];\n\n var _iterator5 = _createForOfIteratorHelper(this.state.columnOrder),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var columnKey = _step5.value;\n var column = this.findColumnByKey(columns, columnKey);\n\n if (column) {\n orderedColumns.push(column);\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return [].concat(orderedColumns, _toConsumableArray(columns.filter(function (item) {\n return orderedColumns.indexOf(item) < 0;\n })));\n } else {\n return columns;\n }\n }\n\n return null;\n }\n }, {\n key: \"findColumnByKey\",\n value: function findColumnByKey(columns, key) {\n if (columns && columns.length) {\n for (var i = 0; i < columns.length; i++) {\n var child = columns[i];\n\n if (child.props.columnKey === key || child.props.field === key) {\n return child;\n }\n }\n }\n\n return null;\n }\n }, {\n key: \"getTotalRecords\",\n value: function getTotalRecords(data) {\n return this.props.lazy ? this.props.totalRecords : data ? data.length : 0;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var state = {};\n\n if (!this.props.onPage) {\n state.first = this.props.first;\n state.rows = this.props.rows;\n }\n\n if (!this.props.onSort) {\n state.sortField = this.props.sortField;\n state.sortOrder = this.props.sortOrder;\n state.multiSortMeta = this.props.multiSortMeta;\n }\n\n if (!this.props.onFilter) {\n state.filters = this.props.filters;\n }\n\n this.resetColumnOrder();\n\n if (Object.keys(state).length) {\n this.setState(state);\n }\n }\n }, {\n key: \"resetColumnOrder\",\n value: function resetColumnOrder() {\n var columns = _react.default.Children.toArray(this.props.children);\n\n var columnOrder = [];\n\n var _iterator6 = _createForOfIteratorHelper(columns),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var column = _step6.value;\n columnOrder.push(column.props.columnKey || column.props.field);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n this.setState({\n columnOrder: columnOrder\n });\n }\n }, {\n key: \"renderLoader\",\n value: function renderLoader() {\n var iconClassName = (0, _ClassNames.classNames)('p-datatable-loading-icon pi-spin', this.props.loadingIcon);\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"p-datatable-loading-overlay p-component-overlay\"\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: iconClassName\n }));\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.isStateful() && this.props.resizableColumns) {\n this.restoreColumnWidths();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (this.isStateful()) {\n this.saveState();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this6 = this;\n\n var value = this.processData();\n var columns = this.getColumns();\n var totalRecords = this.getTotalRecords(value);\n var className = (0, _ClassNames.classNames)('p-datatable p-component', {\n 'p-datatable-resizable': this.props.resizableColumns,\n 'p-datatable-resizable-fit': this.props.resizableColumns && this.props.columnResizeMode === 'fit',\n 'p-datatable-scrollable': this.props.scrollable,\n 'p-datatable-virtual-scrollable': this.props.virtualScroll,\n 'p-datatable-auto-layout': this.props.autoLayout,\n 'p-datatable-hoverable-rows': this.props.rowHover || this.props.selectionMode\n }, this.props.className);\n var paginatorTop = this.props.paginator && this.props.paginatorPosition !== 'bottom' && this.createPaginator('top', totalRecords);\n var paginatorBottom = this.props.paginator && this.props.paginatorPosition !== 'top' && this.createPaginator('bottom', totalRecords);\n\n var headerFacet = this.props.header && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"p-datatable-header\"\n }, this.props.header);\n\n var footerFacet = this.props.footer && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"p-datatable-footer\"\n }, this.props.footer);\n\n var resizeHelper = this.props.resizableColumns && /*#__PURE__*/_react.default.createElement(\"div\", {\n ref: function ref(el) {\n _this6.resizerHelper = el;\n },\n className: \"p-column-resizer-helper p-highlight\",\n style: {\n display: 'none'\n }\n });\n\n var tableContent = null;\n\n var resizeIndicatorUp = this.props.reorderableColumns && /*#__PURE__*/_react.default.createElement(\"span\", {\n ref: function ref(el) {\n _this6.reorderIndicatorUp = el;\n },\n className: \"pi pi-arrow-down p-datatable-reorder-indicator-up\",\n style: {\n position: 'absolute',\n display: 'none'\n }\n });\n\n var resizeIndicatorDown = this.props.reorderableColumns && /*#__PURE__*/_react.default.createElement(\"span\", {\n ref: function ref(el) {\n _this6.reorderIndicatorDown = el;\n },\n className: \"pi pi-arrow-up p-datatable-reorder-indicator-down\",\n style: {\n position: 'absolute',\n display: 'none'\n }\n });\n\n var loader;\n\n if (this.props.loading) {\n loader = this.renderLoader();\n }\n\n if (Array.isArray(columns)) {\n if (this.props.scrollable) {\n this.frozenSelectionMode = this.frozenSelectionMode || this.getFrozenSelectionModeInColumn(columns);\n var frozenColumns = this.getFrozenColumns(columns);\n var scrollableColumns = frozenColumns ? this.getScrollableColumns(columns) : columns;\n var frozenView, scrollableView;\n\n if (frozenColumns) {\n frozenView = this.createScrollableView(value, frozenColumns, true, this.props.frozenHeaderColumnGroup, this.props.frozenFooterColumnGroup, totalRecords);\n }\n\n scrollableView = this.createScrollableView(value, scrollableColumns, false, this.props.headerColumnGroup, this.props.footerColumnGroup, totalRecords);\n tableContent = /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"p-datatable-scrollable-wrapper\"\n }, frozenView, scrollableView);\n } else {\n var tableHeader = this.createTableHeader(value, columns, this.props.headerColumnGroup);\n var tableBody = this.createTableBody(value, columns, false);\n var tableFooter = this.createTableFooter(columns, this.props.footerColumnGroup);\n tableContent = /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"p-datatable-wrapper\"\n }, /*#__PURE__*/_react.default.createElement(\"table\", {\n style: this.props.tableStyle,\n role: \"grid\",\n className: this.props.tableClassName,\n ref: function ref(el) {\n _this6.table = el;\n }\n }, tableHeader, tableFooter, tableBody));\n }\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n id: this.props.id,\n className: className,\n style: this.props.style,\n ref: function ref(el) {\n _this6.container = el;\n },\n \"data-scrollselectors\": \".p-datatable-scrollable-body, .p-datatable-unfrozen-view .p-datatable-scrollable-body\"\n }, loader, headerFacet, paginatorTop, tableContent, paginatorBottom, footerFacet, resizeHelper, resizeIndicatorUp, resizeIndicatorDown);\n }\n }]);\n\n return DataTable;\n}(_react.Component);\n\nexports.DataTable = DataTable;\n\n_defineProperty(DataTable, \"defaultProps\", {\n id: null,\n value: null,\n header: null,\n footer: null,\n style: null,\n className: null,\n tableStyle: null,\n tableClassName: null,\n paginator: false,\n paginatorPosition: 'bottom',\n alwaysShowPaginator: true,\n paginatorTemplate: 'FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown',\n paginatorLeft: null,\n paginatorRight: null,\n paginatorDropdownAppendTo: null,\n pageLinkSize: 5,\n rowsPerPageOptions: null,\n currentPageReportTemplate: '({currentPage} of {totalPages})',\n first: 0,\n rows: null,\n totalRecords: null,\n lazy: false,\n sortField: null,\n sortOrder: null,\n multiSortMeta: null,\n sortMode: 'single',\n defaultSortOrder: 1,\n removableSort: false,\n emptyMessage: null,\n selectionMode: null,\n selection: null,\n onSelectionChange: null,\n contextMenuSelection: null,\n onContextMenuSelectionChange: null,\n compareSelectionBy: 'deepEquals',\n dataKey: null,\n metaKeySelection: true,\n headerColumnGroup: null,\n footerColumnGroup: null,\n frozenHeaderColumnGroup: null,\n frozenFooterColumnGroup: null,\n rowExpansionTemplate: null,\n expandedRows: null,\n onRowToggle: null,\n resizableColumns: false,\n columnResizeMode: 'fit',\n reorderableColumns: false,\n filters: null,\n globalFilter: null,\n filterLocale: undefined,\n scrollable: false,\n scrollHeight: null,\n virtualScroll: false,\n virtualScrollDelay: 150,\n virtualRowHeight: 28,\n frozenWidth: null,\n frozenValue: null,\n csvSeparator: ',',\n exportFilename: 'download',\n rowGroupMode: null,\n autoLayout: false,\n rowClassName: null,\n rowGroupHeaderTemplate: null,\n rowGroupFooterTemplate: null,\n loading: false,\n loadingIcon: 'pi pi-spinner',\n tabIndex: '0',\n stateKey: null,\n stateStorage: 'session',\n editMode: 'cell',\n expandableRowGroups: false,\n rowHover: false,\n showSelectionElement: null,\n showRowReorderElement: null,\n onColumnResizeEnd: null,\n onSort: null,\n onPage: null,\n onFilter: null,\n onVirtualScroll: null,\n onRowClick: null,\n onRowDoubleClick: null,\n onRowSelect: null,\n onRowUnselect: null,\n onRowExpand: null,\n onRowCollapse: null,\n onContextMenu: null,\n onColReorder: null,\n onRowReorder: null,\n onValueChange: null,\n rowEditorValidator: null,\n onRowEditInit: null,\n onRowEditSave: null,\n onRowEditCancel: null,\n exportFunction: null,\n customSaveState: null,\n customRestoreState: null,\n onStateSave: null,\n onStateRestore: null\n});\n\n_defineProperty(DataTable, \"propTypes\", {\n id: _propTypes.default.string,\n value: _propTypes.default.array,\n header: _propTypes.default.any,\n footer: _propTypes.default.any,\n style: _propTypes.default.object,\n className: _propTypes.default.string,\n tableStyle: _propTypes.default.any,\n tableClassName: _propTypes.default.string,\n paginator: _propTypes.default.bool,\n paginatorPosition: _propTypes.default.string,\n alwaysShowPaginator: _propTypes.default.bool,\n paginatorTemplate: _propTypes.default.string,\n paginatorLeft: _propTypes.default.any,\n paginatorRight: _propTypes.default.any,\n paginatorDropdownAppendTo: _propTypes.default.any,\n pageLinkSize: _propTypes.default.number,\n rowsPerPageOptions: _propTypes.default.array,\n currentPageReportTemplate: _propTypes.default.string,\n first: _propTypes.default.number,\n rows: _propTypes.default.number,\n totalRecords: _propTypes.default.number,\n lazy: _propTypes.default.bool,\n sortField: _propTypes.default.string,\n sortOrder: _propTypes.default.number,\n multiSortMeta: _propTypes.default.array,\n sortMode: _propTypes.default.string,\n defaultSortOrder: _propTypes.default.number,\n removableSort: _propTypes.default.bool,\n emptyMessage: _propTypes.default.any,\n selectionMode: _propTypes.default.string,\n selection: _propTypes.default.any,\n onSelectionChange: _propTypes.default.func,\n compareSelectionBy: _propTypes.default.string,\n dataKey: _propTypes.default.string,\n metaKeySelection: _propTypes.default.bool,\n headerColumnGroup: _propTypes.default.any,\n footerColumnGroup: _propTypes.default.any,\n frozenHeaderColumnGroup: _propTypes.default.any,\n frozenFooterColumnGroup: _propTypes.default.any,\n rowExpansionTemplate: _propTypes.default.func,\n expandedRows: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n onRowToggle: _propTypes.default.func,\n resizableColumns: _propTypes.default.bool,\n columnResizeMode: _propTypes.default.string,\n reorderableColumns: _propTypes.default.bool,\n filters: _propTypes.default.object,\n globalFilter: _propTypes.default.any,\n filterLocale: _propTypes.default.string,\n scrollable: _propTypes.default.bool,\n scrollHeight: _propTypes.default.string,\n virtualScroll: _propTypes.default.bool,\n virtualScrollDelay: _propTypes.default.number,\n virtualRowHeight: _propTypes.default.number,\n frozenWidth: _propTypes.default.string,\n frozenValue: _propTypes.default.array,\n csvSeparator: _propTypes.default.string,\n exportFilename: _propTypes.default.string,\n rowGroupMode: _propTypes.default.string,\n autoLayout: _propTypes.default.bool,\n rowClassName: _propTypes.default.func,\n rowGroupHeaderTemplate: _propTypes.default.func,\n rowGroupFooterTemplate: _propTypes.default.func,\n loading: _propTypes.default.bool,\n loadingIcon: _propTypes.default.string,\n tabIndex: _propTypes.default.string,\n stateKey: _propTypes.default.string,\n stateStorage: _propTypes.default.string,\n editMode: _propTypes.default.string,\n expandableRowGroups: _propTypes.default.bool,\n rowHover: _propTypes.default.bool,\n showSelectionElement: _propTypes.default.func,\n showRowReorderElement: _propTypes.default.func,\n onColumnResizeEnd: _propTypes.default.func,\n onSort: _propTypes.default.func,\n onPage: _propTypes.default.func,\n onFilter: _propTypes.default.func,\n onVirtualScroll: _propTypes.default.func,\n onRowClick: _propTypes.default.func,\n onRowDoubleClick: _propTypes.default.func,\n onRowSelect: _propTypes.default.func,\n onRowUnselect: _propTypes.default.func,\n onRowExpand: _propTypes.default.func,\n onRowCollapse: _propTypes.default.func,\n onContextMenu: _propTypes.default.func,\n onColReorder: _propTypes.default.func,\n onRowReorder: _propTypes.default.func,\n onValueChange: _propTypes.default.func,\n rowEditorValidator: _propTypes.default.func,\n onRowEditInit: _propTypes.default.func,\n onRowEditSave: _propTypes.default.func,\n onRowEditCancel: _propTypes.default.func,\n exportFunction: _propTypes.default.func,\n customSaveState: _propTypes.default.func,\n customRestoreState: _propTypes.default.func,\n onStateSave: _propTypes.default.func,\n onStateRestore: _propTypes.default.func\n});","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Authority types supported by MSAL.\n */\nexport enum AuthorityType {\n Default,\n Adfs,\n Dsts\n}\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Global } from './Global';\nvar stringCache = {\n widthCache: {},\n cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n position: 'absolute',\n top: '-20000px',\n left: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n whiteSpace: 'pre'\n};\nvar STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'lineHeight', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\n\nfunction autoCompleteStyle(name, value) {\n if (STYLE_LIST.indexOf(name) >= 0 && value === +value) {\n return \"\".concat(value, \"px\");\n }\n\n return value;\n}\n\nfunction camelToMiddleLine(text) {\n var strs = text.split('');\n var formatStrs = strs.reduce(function (result, entry) {\n if (entry === entry.toUpperCase()) {\n return [].concat(_toConsumableArray(result), ['-', entry.toLowerCase()]);\n }\n\n return [].concat(_toConsumableArray(result), [entry]);\n }, []);\n return formatStrs.join('');\n}\n\nexport var getStyleString = function getStyleString(style) {\n return Object.keys(style).reduce(function (result, s) {\n return \"\".concat(result).concat(camelToMiddleLine(s), \":\").concat(autoCompleteStyle(s, style[s]), \";\");\n }, '');\n};\nexport var getStringSize = function getStringSize(text) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (text === undefined || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n\n var str = \"\".concat(text);\n var styleString = getStyleString(style);\n var cacheKey = \"\".concat(str, \"-\").concat(styleString);\n\n if (stringCache.widthCache[cacheKey]) {\n return stringCache.widthCache[cacheKey];\n }\n\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n\n if (!measurementSpan) {\n measurementSpan = document.createElement('span');\n measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute('aria-hidden', 'true');\n document.body.appendChild(measurementSpan);\n } // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n // https://en.wikipedia.org/wiki/Content_Security_Policy\n\n\n var measurementSpanStyle = _objectSpread(_objectSpread({}, SPAN_STYLE), style);\n\n Object.keys(measurementSpanStyle).map(function (styleKey) {\n measurementSpan.style[styleKey] = measurementSpanStyle[styleKey];\n return styleKey;\n });\n measurementSpan.textContent = str;\n var rect = measurementSpan.getBoundingClientRect();\n var result = {\n width: rect.width,\n height: rect.height\n };\n stringCache.widthCache[cacheKey] = result;\n\n if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n stringCache.cacheCount = 0;\n stringCache.widthCache = {};\n }\n\n return result;\n } catch (e) {\n return {\n width: 0,\n height: 0\n };\n }\n};\nexport var getOffset = function getOffset(el) {\n var html = el.ownerDocument.documentElement;\n var box = {\n top: 0,\n left: 0\n }; // If we don't have gBCR, just use 0,0 rather than error\n // BlackBerry 5, iOS 3 (original iPhone)\n\n if (typeof el.getBoundingClientRect !== 'undefined') {\n box = el.getBoundingClientRect();\n }\n\n return {\n top: box.top + window.pageYOffset - html.clientTop,\n left: box.left + window.pageXOffset - html.clientLeft\n };\n};\n/**\n * Calculate coordinate of cursor in chart\n * @param {Object} event Event object\n * @param {Object} offset The offset of main part in the svg element\n * @return {Object} {chartX, chartY}\n */\n\nexport var calculateChartCoordinate = function calculateChartCoordinate(event, offset) {\n return {\n chartX: Math.round(event.pageX - offset.left),\n chartY: Math.round(event.pageY - offset.top)\n };\n};","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","'use strict';\n\nmodule.exports = require('./components/radiobutton/RadioButton');","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React, { cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport { Text } from './Text';\nimport { findAllByType } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nimport { filterProps } from '../util/types';\n\nvar getLabel = function getLabel(props) {\n var value = props.value,\n formatter = props.formatter;\n var label = _isNil(props.children) ? value : props.children;\n\n if (_isFunction(formatter)) {\n return formatter(label);\n }\n\n return label;\n};\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\n\nvar renderRadialLabel = function renderRadialLabel(labelProps, label, attrs) {\n var position = labelProps.position,\n viewBox = labelProps.viewBox,\n offset = labelProps.offset,\n className = labelProps.className;\n var _ref = viewBox,\n cx = _ref.cx,\n cy = _ref.cy,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n clockWise = _ref.clockWise;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle(startAngle, endAngle);\n var sign = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n\n if (position === 'insideStart') {\n labelAngle = startAngle + sign * offset;\n direction = clockWise;\n } else if (position === 'insideEnd') {\n labelAngle = endAngle - sign * offset;\n direction = !clockWise;\n } else if (position === 'end') {\n labelAngle = endAngle + sign * offset;\n direction = clockWise;\n }\n\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = _isNil(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n dominantBaseline: \"central\",\n className: classNames('recharts-radial-bar-label', className)\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: id,\n d: path\n })), /*#__PURE__*/React.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n};\n\nvar getAttrsOfPolarLabel = function getAttrsOfPolarLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var _ref2 = viewBox,\n cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var midAngle = (startAngle + endAngle) / 2;\n\n if (position === 'outside') {\n var _polarToCartesian = polarToCartesian(cx, cy, outerRadius + offset, midAngle),\n _x = _polarToCartesian.x,\n _y = _polarToCartesian.y;\n\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx ? 'start' : 'end',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'center') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'centerTop') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'centerBottom') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n\n var r = (innerRadius + outerRadius) / 2;\n\n var _polarToCartesian2 = polarToCartesian(cx, cy, r, midAngle),\n x = _polarToCartesian2.x,\n y = _polarToCartesian2.y;\n\n return {\n x: x,\n y: y,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\n\nvar getAttrsOfCartesianLabel = function getAttrsOfCartesianLabel(props) {\n var viewBox = props.viewBox,\n parentViewBox = props.parentViewBox,\n offset = props.offset,\n position = props.position;\n var _ref3 = viewBox,\n x = _ref3.x,\n y = _ref3.y,\n width = _ref3.width,\n height = _ref3.height; // Define vertical offsets and position inverts based on the value being positive or negative\n\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset;\n var verticalEnd = verticalSign > 0 ? 'end' : 'start';\n var verticalStart = verticalSign > 0 ? 'start' : 'end'; // Define horizontal offsets and position inverts based on the value being positive or negative\n\n var horizontalSign = width >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset;\n var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';\n var horizontalStart = horizontalSign > 0 ? 'start' : 'end';\n\n if (position === 'top') {\n var attrs = {\n x: x + width / 2,\n y: y - verticalSign * offset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n };\n return _objectSpread(_objectSpread({}, attrs), parentViewBox ? {\n height: Math.max(y - parentViewBox.y, 0),\n width: width\n } : {});\n }\n\n if (position === 'bottom') {\n var _attrs = {\n x: x + width / 2,\n y: y + height + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n };\n return _objectSpread(_objectSpread({}, _attrs), parentViewBox ? {\n height: Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0),\n width: width\n } : {});\n }\n\n if (position === 'left') {\n var _attrs2 = {\n x: x - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs2), parentViewBox ? {\n width: Math.max(_attrs2.x - parentViewBox.x, 0),\n height: height\n } : {});\n }\n\n if (position === 'right') {\n var _attrs3 = {\n x: x + width + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs3), parentViewBox ? {\n width: Math.max(parentViewBox.x + parentViewBox.width - _attrs3.x, 0),\n height: height\n } : {});\n }\n\n var sizeAttrs = parentViewBox ? {\n width: width,\n height: height\n } : {};\n\n if (position === 'insideLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n\n if (position === 'insideRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n\n if (position === 'insideTop') {\n return _objectSpread({\n x: x + width / 2,\n y: y + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideBottom') {\n return _objectSpread({\n x: x + width / 2,\n y: y + height - verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (position === 'insideTopLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideTopRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideBottomLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (position === 'insideBottomRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (_isObject(position) && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n return _objectSpread({\n x: x + getPercentValue(position.x, width),\n y: y + getPercentValue(position.y, height),\n textAnchor: 'end',\n verticalAnchor: 'end'\n }, sizeAttrs);\n }\n\n return _objectSpread({\n x: x + width / 2,\n y: y + height / 2,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n }, sizeAttrs);\n};\n\nvar isPolar = function isPolar(viewBox) {\n return isNumber(viewBox.cx);\n};\n\nexport function Label(props) {\n var viewBox = props.viewBox,\n position = props.position,\n value = props.value,\n children = props.children,\n content = props.content,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n textBreakAll = props.textBreakAll;\n\n if (!viewBox || _isNil(value) && _isNil(children) && ! /*#__PURE__*/isValidElement(content) && !_isFunction(content)) {\n return null;\n }\n\n if ( /*#__PURE__*/isValidElement(content)) {\n return /*#__PURE__*/cloneElement(content, props);\n }\n\n var label;\n\n if (_isFunction(content)) {\n label = /*#__PURE__*/createElement(content, props);\n\n if ( /*#__PURE__*/isValidElement(label)) {\n return label;\n }\n } else {\n label = getLabel(props);\n }\n\n var isPolarLabel = isPolar(viewBox);\n var attrs = filterProps(props, true);\n\n if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n return renderRadialLabel(props, label, attrs);\n }\n\n var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props);\n return /*#__PURE__*/React.createElement(Text, _extends({\n className: classNames('recharts-label', className)\n }, attrs, positionAttrs, {\n breakAll: textBreakAll\n }), label);\n}\nLabel.displayName = 'Label';\nLabel.defaultProps = {\n offset: 5\n};\n\nvar parseViewBox = function parseViewBox(props) {\n var cx = props.cx,\n cy = props.cy,\n angle = props.angle,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n r = props.r,\n radius = props.radius,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n x = props.x,\n y = props.y,\n top = props.top,\n left = props.left,\n width = props.width,\n height = props.height,\n clockWise = props.clockWise,\n labelViewBox = props.labelViewBox;\n\n if (labelViewBox) {\n return labelViewBox;\n }\n\n if (isNumber(width) && isNumber(height)) {\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n }\n\n if (isNumber(top) && isNumber(left)) {\n return {\n x: top,\n y: left,\n width: width,\n height: height\n };\n }\n }\n\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: 0,\n height: 0\n };\n }\n\n if (isNumber(cx) && isNumber(cy)) {\n return {\n cx: cx,\n cy: cy,\n startAngle: startAngle || angle || 0,\n endAngle: endAngle || angle || 0,\n innerRadius: innerRadius || 0,\n outerRadius: outerRadius || radius || r || 0,\n clockWise: clockWise\n };\n }\n\n if (props.viewBox) {\n return props.viewBox;\n }\n\n return {};\n};\n\nvar parseLabel = function parseLabel(label, viewBox) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox\n });\n }\n\n if (isNumOrStr(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox,\n value: label\n });\n }\n\n if ( /*#__PURE__*/isValidElement(label)) {\n if (label.type === Label) {\n return /*#__PURE__*/cloneElement(label, {\n key: 'label-implicit',\n viewBox: viewBox\n });\n }\n\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isFunction(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(Label, _extends({\n viewBox: viewBox\n }, label, {\n key: \"label-implicit\"\n }));\n }\n\n return null;\n};\n\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var parentViewBox = parseViewBox(parentProps);\n var explicitChildren = findAllByType(children, Label.displayName).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n viewBox: viewBox || parentViewBox,\n key: \"label-\".concat(index)\n });\n });\n\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n\n var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox);\n return [implicitLabel].concat(_toConsumableArray(explicitChildren));\n};\n\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var parseIsSsrByDefault = function parseIsSsrByDefault() {\n return !(typeof window !== 'undefined' && window.document && window.document.createElement && window.setTimeout);\n};\n\nexport var Global = {\n isSsr: parseIsSsrByDefault(),\n get: function get(key) {\n return Global[key];\n },\n set: function set(key, value) {\n if (typeof key === 'string') {\n Global[key] = value;\n } else {\n var keys = Object.keys(key);\n\n if (keys && keys.length) {\n keys.forEach(function (k) {\n Global[k] = key[k];\n });\n }\n }\n }\n};","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","/* eslint no-console: 0 */\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","import _every from \"lodash/every\";\nimport _mapValues from \"lodash/mapValues\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getTicksOfScale, parseScale, checkDomainOfScale, getBandSizeOfAxis } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nimport { getPercentValue } from './DataUtils';\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {String} axisType The type of axes, x-axis or y-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height,\n layout = props.layout,\n children = props.children;\n var ids = Object.keys(axisMap);\n var steps = {\n left: offset.left,\n leftMirror: offset.left,\n right: width - offset.right,\n rightMirror: width - offset.right,\n top: offset.top,\n topMirror: offset.top,\n bottom: height - offset.bottom,\n bottomMirror: height - offset.bottom\n };\n var hasBar = !!findChildByType(children, 'Bar');\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var orientation = axis.orientation,\n domain = axis.domain,\n _axis$padding = axis.padding,\n padding = _axis$padding === void 0 ? {} : _axis$padding,\n mirror = axis.mirror,\n reversed = axis.reversed;\n var offsetKey = \"\".concat(orientation).concat(mirror ? 'Mirror' : '');\n var calculatedPadding, range, x, y, needSpace;\n\n if (axis.type === 'number' && (axis.padding === 'gap' || axis.padding === 'no-gap')) {\n var diff = domain[1] - domain[0];\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = axis.categoricalDomain.sort();\n sortedValues.forEach(function (value, index) {\n if (index > 0) {\n smallestDistanceBetweenValues = Math.min((value || 0) - (sortedValues[index - 1] || 0), smallestDistanceBetweenValues);\n }\n });\n var smallestDistanceInPercent = smallestDistanceBetweenValues / diff;\n var rangeWidth = axis.layout === 'vertical' ? offset.height : offset.width;\n\n if (axis.padding === 'gap') {\n calculatedPadding = smallestDistanceInPercent * rangeWidth / 2;\n }\n\n if (axis.padding === 'no-gap') {\n var gap = getPercentValue(props.barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n calculatedPadding = halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n }\n\n if (axisType === 'xAxis') {\n range = [offset.left + (padding.left || 0) + (calculatedPadding || 0), offset.left + offset.width - (padding.right || 0) - (calculatedPadding || 0)];\n } else if (axisType === 'yAxis') {\n range = layout === 'horizontal' ? [offset.top + offset.height - (padding.bottom || 0), offset.top + (padding.top || 0)] : [offset.top + (padding.top || 0) + (calculatedPadding || 0), offset.top + offset.height - (padding.bottom || 0) - (calculatedPadding || 0)];\n } else {\n range = axis.range;\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n\n var _parseScale = parseScale(axis, chartName, hasBar),\n scale = _parseScale.scale,\n realScaleType = _parseScale.realScaleType;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n\n if (axisType === 'xAxis') {\n needSpace = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n x = offset.left;\n y = steps[offsetKey] - needSpace * axis.height;\n } else if (axisType === 'yAxis') {\n needSpace = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n x = steps[offsetKey] - needSpace * axis.width;\n y = offset.top;\n }\n\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n realScaleType: realScaleType,\n x: x,\n y: y,\n scale: scale,\n width: axisType === 'xAxis' ? offset.width : axis.width,\n height: axisType === 'yAxis' ? offset.height : axis.height\n });\n\n finalAxis.bandSize = getBandSizeOfAxis(finalAxis, ticks);\n\n if (!axis.hide && axisType === 'xAxis') {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.height;\n } else if (!axis.hide) {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.width;\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var rectWithPoints = function rectWithPoints(_ref, _ref2) {\n var x1 = _ref.x,\n y1 = _ref.y;\n var x2 = _ref2.x,\n y2 = _ref2.y;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n};\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param {Object} coords x1, x2, y1, and y2\n * @return {Object} object\n */\n\nexport var rectWithCoords = function rectWithCoords(_ref3) {\n var x1 = _ref3.x1,\n y1 = _ref3.y1,\n x2 = _ref3.x2,\n y2 = _ref3.y2;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n};\nexport var ScaleHelper = /*#__PURE__*/function () {\n function ScaleHelper(scale) {\n _classCallCheck(this, ScaleHelper);\n\n this.scale = void 0;\n this.scale = scale;\n }\n\n _createClass(ScaleHelper, [{\n key: \"domain\",\n get: function get() {\n return this.scale.domain;\n }\n }, {\n key: \"range\",\n get: function get() {\n return this.scale.range;\n }\n }, {\n key: \"rangeMin\",\n get: function get() {\n return this.range()[0];\n }\n }, {\n key: \"rangeMax\",\n get: function get() {\n return this.range()[1];\n }\n }, {\n key: \"bandwidth\",\n get: function get() {\n return this.scale.bandwidth;\n }\n }, {\n key: \"apply\",\n value: function apply(value) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref4.bandAware,\n position = _ref4.position;\n\n if (value === undefined) {\n return undefined;\n }\n\n if (position) {\n switch (position) {\n case 'start':\n {\n return this.scale(value);\n }\n\n case 'middle':\n {\n var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + offset;\n }\n\n case 'end':\n {\n var _offset = this.bandwidth ? this.bandwidth() : 0;\n\n return this.scale(value) + _offset;\n }\n\n default:\n {\n return this.scale(value);\n }\n }\n }\n\n if (bandAware) {\n var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n\n return this.scale(value) + _offset2;\n }\n\n return this.scale(value);\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(value) {\n var range = this.range();\n var first = range[0];\n var last = range[range.length - 1];\n return first <= last ? value >= first && value <= last : value >= last && value <= first;\n }\n }], [{\n key: \"create\",\n value: function create(obj) {\n return new ScaleHelper(obj);\n }\n }]);\n\n return ScaleHelper;\n}();\nScaleHelper.EPS = 1e-4;\nexport var createLabeledScales = function createLabeledScales(options) {\n var scales = Object.keys(options).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, ScaleHelper.create(options[key])));\n }, {});\n return _objectSpread(_objectSpread({}, scales), {}, {\n apply: function apply(coord) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref5.bandAware,\n position = _ref5.position;\n\n return _mapValues(coord, function (value, label) {\n return scales[label].apply(value, {\n bandAware: bandAware,\n position: position\n });\n });\n },\n isInRange: function isInRange(coord) {\n return _every(coord, function (value, label) {\n return scales[label].isInRange(value);\n });\n }\n });\n};","'use strict';\n\nmodule.exports = require('./components/multiselect/MultiSelect');","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport TransitionGroup from './TransitionGroup';\n/**\n * The `<ReplaceTransition>` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * <ReplaceTransition in>\n * <Fade><div>I appear first</div></Fade>\n * <Fade><div>I replace the above</div></Fade>\n * </ReplaceTransition>\n * ```\n */\n\nvar ReplaceTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n var child = React.Children.toArray(children)[idx];\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n\n if (this.props[handler]) {\n var maybeNode = child.props.nodeRef ? undefined : ReactDOM.findDOMNode(this);\n this.props[handler](maybeNode);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = React.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return /*#__PURE__*/React.createElement(TransitionGroup, props, inProp ? React.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : React.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(React.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: PropTypes.bool.isRequired,\n children: function children(props, propName) {\n if (React.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nexport default ReplaceTransition;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\n\nvar _leaveRenders, _enterRenders;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ENTERED, ENTERING, EXITING } from './Transition';\nimport TransitionGroupContext from './TransitionGroupContext';\n\nfunction areChildrenDifferent(oldChildren, newChildren) {\n if (oldChildren === newChildren) return false;\n\n if (React.isValidElement(oldChildren) && React.isValidElement(newChildren) && oldChildren.key != null && oldChildren.key === newChildren.key) {\n return false;\n }\n\n return true;\n}\n/**\n * Enum of modes for SwitchTransition component\n * @enum { string }\n */\n\n\nexport var modes = {\n out: 'out-in',\n in: 'in-out'\n};\n\nvar callHook = function callHook(element, name, cb) {\n return function () {\n var _element$props;\n\n element.props[name] && (_element$props = element.props)[name].apply(_element$props, arguments);\n cb();\n };\n};\n\nvar leaveRenders = (_leaveRenders = {}, _leaveRenders[modes.out] = function (_ref) {\n var current = _ref.current,\n changeState = _ref.changeState;\n return React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERING, null);\n })\n });\n}, _leaveRenders[modes.in] = function (_ref2) {\n var current = _ref2.current,\n changeState = _ref2.changeState,\n children = _ref2.children;\n return [current, React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERING);\n })\n })];\n}, _leaveRenders);\nvar enterRenders = (_enterRenders = {}, _enterRenders[modes.out] = function (_ref3) {\n var children = _ref3.children,\n changeState = _ref3.changeState;\n return React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n });\n}, _enterRenders[modes.in] = function (_ref4) {\n var current = _ref4.current,\n children = _ref4.children,\n changeState = _ref4.changeState;\n return [React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n }), React.cloneElement(children, {\n in: true\n })];\n}, _enterRenders);\n/**\n * A transition component inspired by the [vue transition modes](https://vuejs.org/v2/guide/transitions.html#Transition-Modes).\n * You can use it when you want to control the render between state transitions.\n * Based on the selected mode and the child's key which is the `Transition` or `CSSTransition` component, the `SwitchTransition` makes a consistent transition between them.\n *\n * If the `out-in` mode is selected, the `SwitchTransition` waits until the old child leaves and then inserts a new child.\n * If the `in-out` mode is selected, the `SwitchTransition` inserts a new child first, waits for the new child to enter and then removes the old child.\n *\n * **Note**: If you want the animation to happen simultaneously\n * (that is, to have the old child removed and a new child inserted **at the same time**),\n * you should use\n * [`TransitionGroup`](https://reactcommunity.org/react-transition-group/transition-group)\n * instead.\n *\n * ```jsx\n * function App() {\n * const [state, setState] = useState(false);\n * return (\n * <SwitchTransition>\n * <CSSTransition\n * key={state ? \"Goodbye, world!\" : \"Hello, world!\"}\n * addEndListener={(node, done) => node.addEventListener(\"transitionend\", done, false)}\n * classNames='fade'\n * >\n * <button onClick={() => setState(state => !state)}>\n * {state ? \"Goodbye, world!\" : \"Hello, world!\"}\n * </button>\n * </CSSTransition>\n * </SwitchTransition>\n * );\n * }\n * ```\n *\n * ```css\n * .fade-enter{\n * opacity: 0;\n * }\n * .fade-exit{\n * opacity: 1;\n * }\n * .fade-enter-active{\n * opacity: 1;\n * }\n * .fade-exit-active{\n * opacity: 0;\n * }\n * .fade-enter-active,\n * .fade-exit-active{\n * transition: opacity 500ms;\n * }\n * ```\n */\n\nvar SwitchTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(SwitchTransition, _React$Component);\n\n function SwitchTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n status: ENTERED,\n current: null\n };\n _this.appeared = false;\n\n _this.changeState = function (status, current) {\n if (current === void 0) {\n current = _this.state.current;\n }\n\n _this.setState({\n status: status,\n current: current\n });\n };\n\n return _this;\n }\n\n var _proto = SwitchTransition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n };\n\n SwitchTransition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (props.children == null) {\n return {\n current: null\n };\n }\n\n if (state.status === ENTERING && props.mode === modes.in) {\n return {\n status: ENTERING\n };\n }\n\n if (state.current && areChildrenDifferent(state.current, props.children)) {\n return {\n status: EXITING\n };\n }\n\n return {\n current: React.cloneElement(props.children, {\n in: true\n })\n };\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n mode = _this$props.mode,\n _this$state = this.state,\n status = _this$state.status,\n current = _this$state.current;\n var data = {\n children: children,\n current: current,\n changeState: this.changeState,\n status: status\n };\n var component;\n\n switch (status) {\n case ENTERING:\n component = enterRenders[mode](data);\n break;\n\n case EXITING:\n component = leaveRenders[mode](data);\n break;\n\n case ENTERED:\n component = current;\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: {\n isMounting: !this.appeared\n }\n }, component);\n };\n\n return SwitchTransition;\n}(React.Component);\n\nSwitchTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Transition modes.\n * `out-in`: Current element transitions out first, then when complete, the new element transitions in.\n * `in-out`: New element transitions in first, then when complete, the current element transitions out.\n *\n * @type {'out-in'|'in-out'}\n */\n mode: PropTypes.oneOf([modes.in, modes.out]),\n\n /**\n * Any `Transition` or `CSSTransition` component.\n */\n children: PropTypes.oneOfType([PropTypes.element.isRequired])\n} : {};\nSwitchTransition.defaultProps = {\n mode: modes.out\n};\nexport default SwitchTransition;","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<HashRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return <a {...props} />;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Link> outside a <Router>\");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return <Link {...props} />;\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 2.5.1 Built on 2022-01-28T15:37:57.791Z\n * CommitID 00000000\n *\n * Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n * 2015-2021 yWorks GmbH, http://www.yworks.com\n * 2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX\n * 2016-2018 Aras Abbasi <aras.abbasi@gmail.com>\n * 2010 Aaron Spike, https://github.com/acspike\n * 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2012 Pablo Hess, https://github.com/pablohess\n * 2012 Florian Jenett, https://github.com/fjenett\n * 2013 Warren Weckesser, https://github.com/warrenweckesser\n * 2013 Youssef Beddad, https://github.com/lifof\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2013 Stefan Slonevskiy, https://github.com/stefslon\n * 2013 Jeremy Morel, https://github.com/jmorel\n * 2013 Christoph Hartmann, https://github.com/chris-rock\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Makes, https://github.com/dollaruw\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Steven Spungin, https://github.com/Flamenco\n * 2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Contributor(s):\n * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n * kim3er, mfo, alnorth, Flamenco\n */\n\nimport t from\"@babel/runtime/helpers/typeof\";import{zlibSync as e,unzlibSync as r}from\"fflate\";var n=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}();function i(){n.console&&\"function\"==typeof n.console.log&&n.console.log.apply(n.console,arguments)}var a={log:i,warn:function(t){n.console&&(\"function\"==typeof n.console.warn?n.console.warn.apply(n.console,arguments):i.call(null,arguments))},error:function(t){n.console&&(\"function\"==typeof n.console.error?n.console.error.apply(n.console,arguments):i(t))}};function o(t,e,r){var n=new XMLHttpRequest;n.open(\"GET\",t),n.responseType=\"blob\",n.onload=function(){l(n.response,e,r)},n.onerror=function(){a.error(\"could not download file\")},n.send()}function s(t){var e=new XMLHttpRequest;e.open(\"HEAD\",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function c(t){try{t.dispatchEvent(new MouseEvent(\"click\"))}catch(r){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var u,h,l=n.saveAs||(\"object\"!==(\"undefined\"==typeof window?\"undefined\":t(window))||window!==n?function(){}:\"undefined\"!=typeof HTMLAnchorElement&&\"download\"in HTMLAnchorElement.prototype?function(t,e,r){var i=n.URL||n.webkitURL,a=document.createElement(\"a\");e=e||t.name||\"download\",a.download=e,a.rel=\"noopener\",\"string\"==typeof t?(a.href=t,a.origin!==location.origin?s(a.href)?o(t,e,r):c(a,a.target=\"_blank\"):c(a)):(a.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(a.href)}),4e4),setTimeout((function(){c(a)}),0))}:\"msSaveOrOpenBlob\"in navigator?function(e,r,n){if(r=r||e.name||\"download\",\"string\"==typeof e)if(s(e))o(e,r,n);else{var i=document.createElement(\"a\");i.href=e,i.target=\"_blank\",setTimeout((function(){c(i)}))}else navigator.msSaveOrOpenBlob(function(e,r){return void 0===r?r={autoBom:!1}:\"object\"!==t(r)&&(a.warn(\"Deprecated: Expected third argument to be a object\"),r={autoBom:!r}),r.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,n),r)}:function(e,r,i,a){if((a=a||open(\"\",\"_blank\"))&&(a.document.title=a.document.body.innerText=\"downloading...\"),\"string\"==typeof e)return o(e,r,i);var s=\"application/octet-stream\"===e.type,c=/constructor/i.test(n.HTMLElement)||n.safari,u=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((u||s&&c)&&\"object\"===(\"undefined\"==typeof FileReader?\"undefined\":t(FileReader))){var h=new FileReader;h.onloadend=function(){var t=h.result;t=u?t:t.replace(/^data:[^;]*;/,\"data:attachment/file;\"),a?a.location.href=t:location=t,a=null},h.readAsDataURL(e)}else{var l=n.URL||n.webkitURL,f=l.createObjectURL(e);a?a.location=f:location.href=f,a=null,setTimeout((function(){l.revokeObjectURL(f)}),4e4)}});\n/**\n * A class to parse color values\n * @author Stoyan Stefanov <sstoo@gmail.com>\n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */function f(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"}[t=(t=t.replace(/ /g,\"\")).toLowerCase()]||t;for(var r=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==r.length&&(r=\"0\"+r),\"#\"+t+e+r}}\n/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\nfunction d(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=g(r,n,i,a,e[0],7,-680876936),a=g(a,r,n,i,e[1],12,-389564586),i=g(i,a,r,n,e[2],17,606105819),n=g(n,i,a,r,e[3],22,-1044525330),r=g(r,n,i,a,e[4],7,-176418897),a=g(a,r,n,i,e[5],12,1200080426),i=g(i,a,r,n,e[6],17,-1473231341),n=g(n,i,a,r,e[7],22,-45705983),r=g(r,n,i,a,e[8],7,1770035416),a=g(a,r,n,i,e[9],12,-1958414417),i=g(i,a,r,n,e[10],17,-42063),n=g(n,i,a,r,e[11],22,-1990404162),r=g(r,n,i,a,e[12],7,1804603682),a=g(a,r,n,i,e[13],12,-40341101),i=g(i,a,r,n,e[14],17,-1502002290),r=m(r,n=g(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=m(a,r,n,i,e[6],9,-1069501632),i=m(i,a,r,n,e[11],14,643717713),n=m(n,i,a,r,e[0],20,-373897302),r=m(r,n,i,a,e[5],5,-701558691),a=m(a,r,n,i,e[10],9,38016083),i=m(i,a,r,n,e[15],14,-660478335),n=m(n,i,a,r,e[4],20,-405537848),r=m(r,n,i,a,e[9],5,568446438),a=m(a,r,n,i,e[14],9,-1019803690),i=m(i,a,r,n,e[3],14,-187363961),n=m(n,i,a,r,e[8],20,1163531501),r=m(r,n,i,a,e[13],5,-1444681467),a=m(a,r,n,i,e[2],9,-51403784),i=m(i,a,r,n,e[7],14,1735328473),r=v(r,n=m(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=v(a,r,n,i,e[8],11,-2022574463),i=v(i,a,r,n,e[11],16,1839030562),n=v(n,i,a,r,e[14],23,-35309556),r=v(r,n,i,a,e[1],4,-1530992060),a=v(a,r,n,i,e[4],11,1272893353),i=v(i,a,r,n,e[7],16,-155497632),n=v(n,i,a,r,e[10],23,-1094730640),r=v(r,n,i,a,e[13],4,681279174),a=v(a,r,n,i,e[0],11,-358537222),i=v(i,a,r,n,e[3],16,-722521979),n=v(n,i,a,r,e[6],23,76029189),r=v(r,n,i,a,e[9],4,-640364487),a=v(a,r,n,i,e[12],11,-421815835),i=v(i,a,r,n,e[15],16,530742520),r=b(r,n=v(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=b(a,r,n,i,e[7],10,1126891415),i=b(i,a,r,n,e[14],15,-1416354905),n=b(n,i,a,r,e[5],21,-57434055),r=b(r,n,i,a,e[12],6,1700485571),a=b(a,r,n,i,e[3],10,-1894986606),i=b(i,a,r,n,e[10],15,-1051523),n=b(n,i,a,r,e[1],21,-2054922799),r=b(r,n,i,a,e[8],6,1873313359),a=b(a,r,n,i,e[15],10,-30611744),i=b(i,a,r,n,e[6],15,-1560198380),n=b(n,i,a,r,e[13],21,1309151649),r=b(r,n,i,a,e[4],6,-145523070),a=b(a,r,n,i,e[11],10,-1120210379),i=b(i,a,r,n,e[2],15,718787259),n=b(n,i,a,r,e[9],21,-343485551),t[0]=_(r,t[0]),t[1]=_(n,t[1]),t[2]=_(i,t[2]),t[3]=_(a,t[3])}function p(t,e,r,n,i,a){return e=_(_(e,t),_(n,a)),_(e<<i|e>>>32-i,r)}function g(t,e,r,n,i,a,o){return p(e&r|~e&n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return p(e&n|r&~n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return p(e^r^n,t,e,i,a,o)}function b(t,e,r,n,i,a,o){return p(r^(e|~n),t,e,i,a,o)}function y(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)d(n,w(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(d(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,d(n,i),n}function w(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}u=n.atob.bind(n),h=n.btoa.bind(n);var N=\"0123456789abcdef\".split(\"\");function L(t){for(var e=\"\",r=0;r<4;r++)e+=N[t>>8*r+4&15]+N[t>>8*r&15];return e}function A(t){return String.fromCharCode((255&t)>>0,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function x(t){return y(t).map(A).join(\"\")}var S=\"5d41402abc4b2a76b9719d911017c592\"!=function(t){for(var e=0;e<t.length;e++)t[e]=L(t[e]);return t.join(\"\")}(y(\"hello\"));function _(t,e){if(S){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}return t+e&4294967295}\n/**\n * @license\n * FPDF is released under a permissive license: there is no usage restriction.\n * You may embed it freely in your application (commercial or not), with or\n * without modifications.\n *\n * Reference: http://www.fpdf.org/en/script/script37.php\n */function P(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],c=0;c<256;c++)s[c]=c;var u=0;for(c=0;c<256;c++){var h=s[c];u=(u+h+o.charCodeAt(c))%256,s[c]=s[u],s[u]=h}r=t,n=s}else s=n;var l=e.length,f=0,d=0,p=\"\";for(c=0;c<l;c++)d=(d+(h=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=h,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(c)^o);return p}\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * Author: Owen Leong (@owenl131)\n * Date: 15 Oct 2020\n * References:\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\n * http://www.fpdf.org/en/script/script37.php\n */var k={print:4,modify:8,copy:16,\"annot-forms\":32};function I(t,e,r,n){this.v=1,this.r=2;var i=192;t.forEach((function(t){if(void 0!==k.perm)throw new Error(\"Invalid permission: \"+t);i+=k[t]})),this.padding=\"(¿N^NuŠAd\\0NVÿú\u0001\\b..\\0¶Ðh>€/\\f©þdSiz\";var a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=x(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=P(this.encryptionKey,this.padding)}function F(t){if(/[^\\u0000-\\u00ff]/.test(t))throw new Error(\"Invalid PDF Name Object: \"+t+\", Only accept ASCII characters.\");for(var e=\"\",r=t.length,n=0;n<r;n++){var i=t.charCodeAt(n);if(i<33||35===i||37===i||40===i||41===i||47===i||60===i||62===i||91===i||93===i||123===i||125===i||i>126)e+=\"#\"+(\"0\"+i.toString(16)).slice(-2);else e+=t[n]}return e}function C(e){if(\"object\"!==t(e))throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var r={};this.subscribe=function(t,e,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof e||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");r.hasOwnProperty(t)||(r[t]={});var i=Math.random().toString(35);return r[t][i]=[e,!!n],i},this.unsubscribe=function(t){for(var e in r)if(r[e][t])return delete r[e][t],0===Object.keys(r[e]).length&&delete r[e],!0;return!1},this.publish=function(t){if(r.hasOwnProperty(t)){var i=Array.prototype.slice.call(arguments,1),o=[];for(var s in r[t]){var c=r[t][s];try{c[0].apply(e,i)}catch(t){n.console&&a.error(\"jsPDF PubSub Error\",t.message,t)}c[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return r}}function j(t){if(!(this instanceof j))return new j(t);var e=\"opacity,stroke-opacity\".split(\",\");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=\"\",this.objectNumber=-1}function O(t,e){this.gState=t,this.matrix=e,this.id=\"\",this.objectNumber=-1}function B(t,e,r,n,i){if(!(this instanceof B))return new B(t,e,r,n,i);this.type=\"axial\"===t?2:3,this.coords=e,this.colors=r,O.call(this,n,i)}function M(t,e,r,n,i){if(!(this instanceof M))return new M(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=\"\",this.cloneIndex=0,O.call(this,n,i)}function E(e){var r,i=\"string\"==typeof arguments[0]?arguments[0]:\"p\",o=arguments[1],s=arguments[2],c=arguments[3],u=[],d=1,p=16,g=\"S\",m=null;\"object\"===t(e=e||{})&&(i=e.orientation,o=e.unit||o,s=e.format||s,c=e.compress||e.compressPdf||c,null!==(m=e.encryption||null)&&(m.userPassword=m.userPassword||\"\",m.ownerPassword=m.ownerPassword||\"\",m.userPermissions=m.userPermissions||[]),d=\"number\"==typeof e.userUnit?Math.abs(e.userUnit):1,void 0!==e.precision&&(r=e.precision),void 0!==e.floatPrecision&&(p=e.floatPrecision),g=e.defaultPathOperation||\"S\"),u=e.filters||(!0===c?[\"FlateEncode\"]:u),o=o||\"mm\",i=(\"\"+(i||\"P\")).toLowerCase();var v=e.putOnlyUsedFonts||!1,b={},y={internal:{},__private__:{}};y.__private__.PubSub=C;var w=\"1.3\",N=y.__private__.getPdfVersion=function(){return w};y.__private__.setPdfVersion=function(t){w=t};var L={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};y.__private__.getPageFormats=function(){return L};var A=y.__private__.getPageFormat=function(t){return L[t]};s=s||\"a4\";var x={COMPAT:\"compat\",ADVANCED:\"advanced\"},S=x.COMPAT;function _(){this.saveGraphicsState(),lt(new Vt(_t,0,0,-_t,0,Rr()*_t).toString()+\" cm\"),this.setFontSize(this.getFontSize()/_t),g=\"n\",S=x.ADVANCED}function P(){this.restoreGraphicsState(),g=\"S\",S=x.COMPAT}var k=y.__private__.combineFontStyleAndFontWeight=function(t,e){if(\"bold\"==t&&\"normal\"==e||\"bold\"==t&&400==e||\"normal\"==t&&\"italic\"==e||\"bold\"==t&&\"italic\"==e)throw new Error(\"Invalid Combination of fontweight and fontstyle\");return e&&(t=400==e||\"normal\"===e?\"italic\"===t?\"italic\":\"normal\":700!=e&&\"bold\"!==e||\"normal\"!==t?(700==e?\"bold\":e)+\"\"+t:\"bold\"),t};y.advancedAPI=function(t){var e=S===x.COMPAT;return e&&_.call(this),\"function\"!=typeof t||(t(this),e&&P.call(this)),this},y.compatAPI=function(t){var e=S===x.ADVANCED;return e&&P.call(this),\"function\"!=typeof t||(t(this),e&&_.call(this)),this},y.isAdvancedAPI=function(){return S===x.ADVANCED};var O,q=function(t){if(S!==x.ADVANCED)throw new Error(t+\" is only available in 'advanced' API mode. You need to call advancedAPI() first.\")},D=y.roundToPrecision=y.__private__.roundToPrecision=function(t,e){var n=r||e;if(isNaN(t)||isNaN(n))throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");return t.toFixed(n).replace(/0+$/,\"\")};O=y.hpf=y.__private__.hpf=\"number\"==typeof p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,p)}:\"smart\"===p?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return D(t,16)};var R=y.f2=y.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return D(t,2)},T=y.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return D(t,3)},U=y.scale=y.__private__.scale=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.scale\");return S===x.COMPAT?t*_t:S===x.ADVANCED?t:void 0},z=function(t){return S===x.COMPAT?Rr()-t:S===x.ADVANCED?t:void 0},H=function(t){return U(z(t))};y.__private__.setPrecision=y.setPrecision=function(t){\"number\"==typeof parseInt(t,10)&&(r=parseInt(t,10))};var W,V=\"00000000000000000000000000000000\",G=y.__private__.getFileId=function(){return V},Y=y.__private__.setFileId=function(t){return V=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():V.split(\"\").map((function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))})).join(\"\"),null!==m&&(Ye=new I(m.userPermissions,m.userPassword,m.ownerPassword,V)),V};y.setFileId=function(t){return Y(t),this},y.getFileId=function(){return G()};var J=y.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?\"+\":\"-\",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,Q(n),\"'\",Q(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),Q(t.getMonth()+1),Q(t.getDate()),Q(t.getHours()),Q(t.getMinutes()),Q(t.getSeconds()),a].join(\"\")},X=y.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},K=y.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=J(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return W=e},Z=y.__private__.getCreationDate=function(t){var e=W;return\"jsDate\"===t&&(e=X(W)),e};y.setCreationDate=function(t){return K(t),this},y.getCreationDate=function(t){return Z(t)};var $,Q=y.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},tt=y.__private__.padd2Hex=function(t){return(\"00\"+(t=t.toString())).substr(t.length)},et=0,rt=[],nt=[],it=0,at=[],ot=[],st=!1,ct=nt,ut=function(){et=0,it=0,nt=[],rt=[],at=[],Qt=Kt(),te=Kt()};y.__private__.setCustomOutputDestination=function(t){st=!0,ct=t};var ht=function(t){st||(ct=t)};y.__private__.resetCustomOutputDestination=function(){st=!1,ct=nt};var lt=y.__private__.out=function(t){return t=t.toString(),it+=t.length+1,ct.push(t),ct},ft=y.__private__.write=function(t){return lt(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},dt=y.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},pt=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]];y.__private__.getStandardFonts=function(){return pt};var gt=e.fontSize||16;y.__private__.setFontSize=y.setFontSize=function(t){return gt=S===x.ADVANCED?t/_t:t,this};var mt,vt=y.__private__.getFontSize=y.getFontSize=function(){return S===x.COMPAT?gt:gt*_t},bt=e.R2L||!1;y.__private__.setR2L=y.setR2L=function(t){return bt=t,this},y.__private__.getR2L=y.getR2L=function(){return bt};var yt,wt=y.__private__.setZoomMode=function(t){var e=[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"];if(/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(t))mt=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');mt=t}else mt=parseInt(t,10)};y.__private__.getZoomMode=function(){return mt};var Nt,Lt=y.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');yt=t};y.__private__.getPageMode=function(){return yt};var At=y.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');Nt=t};y.__private__.getLayoutMode=function(){return Nt},y.__private__.setDisplayMode=y.setDisplayMode=function(t,e,r){return wt(t),At(e),Lt(r),this};var xt={title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"};y.__private__.getDocumentProperty=function(t){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return xt[t]},y.__private__.getDocumentProperties=function(){return xt},y.__private__.setDocumentProperties=y.setProperties=y.setDocumentProperties=function(t){for(var e in xt)xt.hasOwnProperty(e)&&t[e]&&(xt[e]=t[e]);return this},y.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(xt).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return xt[t]=e};var St,_t,Pt,kt,It,Ft={},Ct={},jt=[],Ot={},Bt={},Mt={},Et={},qt=null,Dt=0,Rt=[],Tt=new C(y),Ut=e.hotfixes||[],zt={},Ht={},Wt=[],Vt=function t(e,r,n,i,a,o){if(!(this instanceof t))return new t(e,r,n,i,a,o);isNaN(e)&&(e=1),isNaN(r)&&(r=0),isNaN(n)&&(n=0),isNaN(i)&&(i=1),isNaN(a)&&(a=0),isNaN(o)&&(o=0),this._matrix=[e,r,n,i,a,o]};Object.defineProperty(Vt.prototype,\"sx\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,\"shy\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,\"shx\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,\"sy\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,\"tx\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,\"ty\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,\"a\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Vt.prototype,\"b\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Vt.prototype,\"c\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Vt.prototype,\"d\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Vt.prototype,\"e\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Vt.prototype,\"f\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Vt.prototype,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Vt.prototype,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Vt.prototype,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Vt.prototype,\"isIdentity\",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),Vt.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(O).join(t)},Vt.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Vt(e,r,n,i,a,o)},Vt.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var c=Math.sqrt(r*r+n*n);return s/=c,t*(n/=c)<e*(r/=c)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Vt(o,0,0,c,0,0),translate:new Vt(1,0,0,1,i,a),rotate:new Vt(t,e,-e,t,0,0),skew:new Vt(1,0,s,1,0,0)}},Vt.prototype.toString=function(t){return this.join(\" \")},Vt.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,c=-e*o,u=-r*o,h=t*o;return new Vt(s,c,u,h,-s*i-u*a,-c*i-h*a)},Vt.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new Cr(e,r)},Vt.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new Cr(t.x+t.w,t.y+t.h));return new jr(e.x,e.y,r.x-e.x,r.y-e.y)},Vt.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Vt(t,e,r,n,i,a)},y.Matrix=Vt;var Gt=y.matrixMult=function(t,e){return e.multiply(t)},Yt=new Vt(1,0,0,1,0,0);y.unitMatrix=y.identityMatrix=Yt;var Jt=function(t,e){if(!Bt[t]){var r=(e instanceof B?\"Sh\":\"P\")+(Object.keys(Ot).length+1).toString(10);e.id=r,Bt[t]=r,Ot[r]=e,Tt.publish(\"addPattern\",e)}};y.ShadingPattern=B,y.TilingPattern=M,y.addShadingPattern=function(t,e){return q(\"addShadingPattern()\"),Jt(t,e),this},y.beginTilingPattern=function(t){q(\"beginTilingPattern()\"),Br(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},y.endTilingPattern=function(t,e){q(\"endTilingPattern()\"),e.stream=ot[$].join(\"\\n\"),Jt(t,e),Tt.publish(\"endTilingPattern\",e),Wt.pop().restore()};var Xt=y.__private__.newObject=function(){var t=Kt();return Zt(t,!0),t},Kt=y.__private__.newObjectDeferred=function(){return et++,rt[et]=function(){return it},et},Zt=function(t,e){return e=\"boolean\"==typeof e&&e,rt[t]=it,e&<(t+\" 0 obj\"),t},$t=y.__private__.newAdditionalObject=function(){var t={objId:Kt(),content:\"\"};return at.push(t),t},Qt=Kt(),te=Kt(),ee=y.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2!==e.length||\"g\"!==e[1]&&\"G\"!==e[1]){if(5===e.length&&(\"k\"===e[4]||\"K\"===e[4])){e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),\"r\"]}}else{var r=parseFloat(e[0]);e=[r,r,r,\"r\"]}for(var n=\"#\",i=0;i<3;i++)n+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},re=y.__private__.encodeColorString=function(e){var r;\"string\"==typeof e&&(e={ch1:e});var n=e.ch1,i=e.ch2,a=e.ch3,o=e.ch4,s=\"draw\"===e.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"];if(\"string\"==typeof n&&\"#\"!==n.charAt(0)){var c=new f(n);if(c.ok)n=c.toHex();else if(!/^\\d*\\.?\\d*$/.test(n))throw new Error('Invalid color \"'+n+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof n&&/^#[0-9A-Fa-f]{3}$/.test(n)&&(n=\"#\"+n[1]+n[1]+n[2]+n[2]+n[3]+n[3]),\"string\"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n)){var u=parseInt(n.substr(1),16);n=u>>16&255,i=u>>8&255,a=255&u}if(void 0===i||void 0===o&&n===i&&i===a)if(\"string\"==typeof n)r=n+\" \"+s[0];else switch(e.precision){case 2:r=R(n/255)+\" \"+s[0];break;case 3:default:r=T(n/255)+\" \"+s[0]}else if(void 0===o||\"object\"===t(o)){if(o&&!isNaN(o.a)&&0===o.a)return r=[\"1.\",\"1.\",\"1.\",s[1]].join(\" \");if(\"string\"==typeof n)r=[n,i,a,s[1]].join(\" \");else switch(e.precision){case 2:r=[R(n/255),R(i/255),R(a/255),s[1]].join(\" \");break;default:case 3:r=[T(n/255),T(i/255),T(a/255),s[1]].join(\" \")}}else if(\"string\"==typeof n)r=[n,i,a,o,s[2]].join(\" \");else switch(e.precision){case 2:r=[R(n),R(i),R(a),R(o),s[2]].join(\" \");break;case 3:default:r=[T(n),T(i),T(a),T(o),s[2]].join(\" \")}return r},ne=y.__private__.getFilters=function(){return u},ie=y.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",r=t.filters||ne(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==m&&void 0===o)throw new Error(\"ObjectId must be passed to putStream for file encryption\");null!==m&&(s=Ye.encryptor(o,0));var c={};!0===r&&(r=[\"FlateEncode\"]);var u=t.additionalKeyValues||[],h=(c=void 0!==E.API.processDataByFilters?E.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(\" \"):n.toString());if(0!==c.data.length&&(u.push({key:\"Length\",value:c.data.length}),!0===i&&u.push({key:\"Length1\",value:a})),0!=h.length)if(h.split(\"/\").length-1==1)u.push({key:\"Filter\",value:h});else{u.push({key:\"Filter\",value:\"[\"+h+\"]\"});for(var l=0;l<u.length;l+=1)if(\"DecodeParms\"===u[l].key){for(var f=[],d=0;d<c.reverseChain.split(\"/\").length-1;d+=1)f.push(\"null\");f.push(u[l].value),u[l].value=\"[\"+f.join(\" \")+\"]\"}}lt(\"<<\");for(var p=0;p<u.length;p++)lt(\"/\"+u[p].key+\" \"+u[p].value);lt(\">>\"),0!==c.data.length&&(lt(\"stream\"),lt(s(c.data)),lt(\"endstream\"))},ae=y.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Zt(n,!0),lt(\"<</Type /Page\"),lt(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),lt(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),lt(\"/MediaBox [\"+parseFloat(O(t.mediaBox.bottomLeftX))+\" \"+parseFloat(O(t.mediaBox.bottomLeftY))+\" \"+O(t.mediaBox.topRightX)+\" \"+O(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&<(\"/CropBox [\"+O(t.cropBox.bottomLeftX)+\" \"+O(t.cropBox.bottomLeftY)+\" \"+O(t.cropBox.topRightX)+\" \"+O(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&<(\"/BleedBox [\"+O(t.bleedBox.bottomLeftX)+\" \"+O(t.bleedBox.bottomLeftY)+\" \"+O(t.bleedBox.topRightX)+\" \"+O(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&<(\"/TrimBox [\"+O(t.trimBox.bottomLeftX)+\" \"+O(t.trimBox.bottomLeftY)+\" \"+O(t.trimBox.topRightX)+\" \"+O(t.trimBox.topRightY)+\"]\"),null!==t.artBox&<(\"/ArtBox [\"+O(t.artBox.bottomLeftX)+\" \"+O(t.artBox.bottomLeftY)+\" \"+O(t.artBox.topRightX)+\" \"+O(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&<(\"/UserUnit \"+t.userUnit),Tt.publish(\"putPage\",{objId:n,pageContext:Rt[e],pageNumber:e,page:r}),lt(\"/Contents \"+i+\" 0 R\"),lt(\">>\"),lt(\"endobj\");var a=r.join(\"\\n\");return S===x.ADVANCED&&(a+=\"\\nQ\"),Zt(i,!0),ie({data:a,filters:ne(),objectId:i}),lt(\"endobj\"),n},oe=y.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=Dt;t++)Rt[t].objId=Kt(),Rt[t].contentsObjId=Kt();for(t=1;t<=Dt;t++)r.push(ae({number:t,data:ot[t],objId:Rt[t].objId,contentsObjId:Rt[t].contentsObjId,mediaBox:Rt[t].mediaBox,cropBox:Rt[t].cropBox,bleedBox:Rt[t].bleedBox,trimBox:Rt[t].trimBox,artBox:Rt[t].artBox,userUnit:Rt[t].userUnit,rootDictionaryObjId:Qt,resourceDictionaryObjId:te}));Zt(Qt,!0),lt(\"<</Type /Pages\");var n=\"/Kids [\";for(e=0;e<Dt;e++)n+=r[e]+\" 0 R \";lt(n+\"]\"),lt(\"/Count \"+Dt),lt(\">>\"),lt(\"endobj\"),Tt.publish(\"postPutPages\")},se=function(t){Tt.publish(\"putFont\",{font:t,out:lt,newObject:Xt,putStream:ie}),!0!==t.isAlreadyPutted&&(t.objectNumber=Xt(),lt(\"<<\"),lt(\"/Type /Font\"),lt(\"/BaseFont /\"+F(t.postScriptName)),lt(\"/Subtype /Type1\"),\"string\"==typeof t.encoding&<(\"/Encoding /\"+t.encoding),lt(\"/FirstChar 32\"),lt(\"/LastChar 255\"),lt(\">>\"),lt(\"endobj\"))},ce=function(){for(var t in Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&&se(Ft[t])},ue=function(t){t.objectNumber=Xt();var e=[];e.push({key:\"Type\",value:\"/XObject\"}),e.push({key:\"Subtype\",value:\"/Form\"}),e.push({key:\"BBox\",value:\"[\"+[O(t.x),O(t.y),O(t.x+t.width),O(t.y+t.height)].join(\" \")+\"]\"}),e.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"});var r=t.pages[1].join(\"\\n\");ie({data:r,additionalKeyValues:e,objectId:t.objectNumber}),lt(\"endobj\")},he=function(){for(var t in zt)zt.hasOwnProperty(t)&&ue(zt[t])},le=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s=\"\",c=0,u=0;u<n.length;u++){for(r=n[u];r>t[c+1].offset;)c++;var h=t[c].offset,l=(r-h)/(t[c+1].offset-h),f=t[c].color,d=t[c+1].color;s+=tt(Math.round((1-l)*f[0]+l*d[0]).toString(16))+tt(Math.round((1-l)*f[1]+l*d[1]).toString(16))+tt(Math.round((1-l)*f[2]+l*d[2]).toString(16))}return s.trim()},fe=function(t,e){e||(e=21);var r=Xt(),n=le(t.colors,e),i=[];i.push({key:\"FunctionType\",value:\"0\"}),i.push({key:\"Domain\",value:\"[0.0 1.0]\"}),i.push({key:\"Size\",value:\"[\"+e+\"]\"}),i.push({key:\"BitsPerSample\",value:\"8\"}),i.push({key:\"Range\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),i.push({key:\"Decode\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),ie({data:n,additionalKeyValues:i,alreadyAppliedFilters:[\"/ASCIIHexDecode\"],objectId:r}),lt(\"endobj\"),t.objectNumber=Xt(),lt(\"<< /ShadingType \"+t.type),lt(\"/ColorSpace /DeviceRGB\");var a=\"/Coords [\"+O(parseFloat(t.coords[0]))+\" \"+O(parseFloat(t.coords[1]))+\" \";2===t.type?a+=O(parseFloat(t.coords[2]))+\" \"+O(parseFloat(t.coords[3])):a+=O(parseFloat(t.coords[2]))+\" \"+O(parseFloat(t.coords[3]))+\" \"+O(parseFloat(t.coords[4]))+\" \"+O(parseFloat(t.coords[5])),lt(a+=\"]\"),t.matrix&<(\"/Matrix [\"+t.matrix.toString()+\"]\"),lt(\"/Function \"+r+\" 0 R\"),lt(\"/Extend [true true]\"),lt(\">>\"),lt(\"endobj\")},de=function(t,e){var r=Kt(),n=Xt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:\"Type\",value:\"/Pattern\"}),i.push({key:\"PatternType\",value:\"1\"}),i.push({key:\"PaintType\",value:\"1\"}),i.push({key:\"TilingType\",value:\"1\"}),i.push({key:\"BBox\",value:\"[\"+t.boundingBox.map(O).join(\" \")+\"]\"}),i.push({key:\"XStep\",value:O(t.xStep)}),i.push({key:\"YStep\",value:O(t.yStep)}),i.push({key:\"Resources\",value:r+\" 0 R\"}),t.matrix&&i.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"}),ie({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),lt(\"endobj\")},pe=function(t){var e;for(e in Ot)Ot.hasOwnProperty(e)&&(Ot[e]instanceof B?fe(Ot[e]):Ot[e]instanceof M&&de(Ot[e],t))},ge=function(t){for(var e in t.objectNumber=Xt(),lt(\"<<\"),t)switch(e){case\"opacity\":lt(\"/ca \"+R(t[e]));break;case\"stroke-opacity\":lt(\"/CA \"+R(t[e]))}lt(\">>\"),lt(\"endobj\")},me=function(){var t;for(t in Mt)Mt.hasOwnProperty(t)&&ge(Mt[t])},ve=function(){for(var t in lt(\"/XObject <<\"),zt)zt.hasOwnProperty(t)&&zt[t].objectNumber>=0&<(\"/\"+t+\" \"+zt[t].objectNumber+\" 0 R\");Tt.publish(\"putXobjectDict\"),lt(\">>\")},be=function(){Ye.oid=Xt(),lt(\"<<\"),lt(\"/Filter /Standard\"),lt(\"/V \"+Ye.v),lt(\"/R \"+Ye.r),lt(\"/U <\"+Ye.toHexString(Ye.U)+\">\"),lt(\"/O <\"+Ye.toHexString(Ye.O)+\">\"),lt(\"/P \"+Ye.P),lt(\">>\"),lt(\"endobj\")},ye=function(){for(var t in lt(\"/Font <<\"),Ft)Ft.hasOwnProperty(t)&&(!1===v||!0===v&&b.hasOwnProperty(t))&<(\"/\"+t+\" \"+Ft[t].objectNumber+\" 0 R\");lt(\">>\")},we=function(){if(Object.keys(Ot).length>0){for(var t in lt(\"/Shading <<\"),Ot)Ot.hasOwnProperty(t)&&Ot[t]instanceof B&&Ot[t].objectNumber>=0&<(\"/\"+t+\" \"+Ot[t].objectNumber+\" 0 R\");Tt.publish(\"putShadingPatternDict\"),lt(\">>\")}},Ne=function(t){if(Object.keys(Ot).length>0){for(var e in lt(\"/Pattern <<\"),Ot)Ot.hasOwnProperty(e)&&Ot[e]instanceof y.TilingPattern&&Ot[e].objectNumber>=0&&Ot[e].objectNumber<t&<(\"/\"+e+\" \"+Ot[e].objectNumber+\" 0 R\");Tt.publish(\"putTilingPatternDict\"),lt(\">>\")}},Le=function(){if(Object.keys(Mt).length>0){var t;for(t in lt(\"/ExtGState <<\"),Mt)Mt.hasOwnProperty(t)&&Mt[t].objectNumber>=0&<(\"/\"+t+\" \"+Mt[t].objectNumber+\" 0 R\");Tt.publish(\"putGStateDict\"),lt(\">>\")}},Ae=function(t){Zt(t.resourcesOid,!0),lt(\"<<\"),lt(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),ye(),we(),Ne(t.objectOid),Le(),ve(),lt(\">>\"),lt(\"endobj\")},xe=function(){var t=[];ce(),me(),he(),pe(t),Tt.publish(\"putResources\"),t.forEach(Ae),Ae({resourcesOid:te,objectOid:Number.MAX_SAFE_INTEGER}),Tt.publish(\"postPutResources\")},Se=function(){Tt.publish(\"putAdditionalObjects\");for(var t=0;t<at.length;t++){var e=at[t];Zt(e.objId,!0),lt(e.content),lt(\"endobj\")}Tt.publish(\"postPutAdditionalObjects\")},_e=function(t){Ct[t.fontName]=Ct[t.fontName]||{},Ct[t.fontName][t.fontStyle]=t.id},Pe=function(t,e,r,n,i){var a={id:\"F\"+(Object.keys(Ft).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Tt.publish(\"addFont\",{font:a,instance:this}),Ft[a.id]=a,_e(a),a.id},ke=function(t){for(var e=0,r=pt.length;e<r;e++){var n=Pe.call(this,t[e][0],t[e][1],t[e][2],pt[e][3],!0);!1===v&&(b[n]=!0);var i=t[e][0].split(\"-\");_e({id:n,fontName:i[0],fontStyle:i[1]||\"\"})}Tt.publish(\"addFonts\",{fonts:Ft,dictionary:Ct})},Ie=function(t){return t.foo=function(){try{return t.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var r=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!n.console)throw new Error(r);n.console.error(r,t),n.alert&&alert(r)}},t.foo.bar=t,t.foo},Fe=function(t,e){var r,n,i,a,o,s,c,u,h;if(i=(e=e||{}).sourceEncoding||\"Unicode\",o=e.outputEncoding,(e.autoencode||o)&&Ft[St].metadata&&Ft[St].metadata[i]&&Ft[St].metadata[i].encoding&&(a=Ft[St].metadata[i].encoding,!o&&Ft[St].encoding&&(o=Ft[St].encoding),!o&&a.codePages&&(o=a.codePages[0]),\"string\"==typeof o&&(o=a[o]),o)){for(c=!1,s=[],r=0,n=t.length;r<n;r++)(u=o[t.charCodeAt(r)])?s.push(String.fromCharCode(u)):s.push(t[r]),s[r].charCodeAt(0)>>8&&(c=!0);t=s.join(\"\")}for(r=t.length;void 0===c&&0!==r;)t.charCodeAt(r-1)>>8&&(c=!0),r--;if(!c)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((h=(u=t.charCodeAt(r))>>8)>>8)throw new Error(\"Character at position \"+r+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(h),s.push(u-(h<<8))}return String.fromCharCode.apply(void 0,s)},Ce=y.__private__.pdfEscape=y.pdfEscape=function(t,e){return Fe(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},je=y.__private__.beginPage=function(t){ot[++Dt]=[],Rt[Dt]={objId:0,contentsObjId:0,userUnit:Number(d),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},Me(Dt),ht(ot[$])},Oe=function(t,e){var r,n,o;switch(i=e||i,\"string\"==typeof t&&(r=A(t.toLowerCase()),Array.isArray(r)&&(n=r[0],o=r[1])),Array.isArray(t)&&(n=t[0]*_t,o=t[1]*_t),isNaN(n)&&(n=s[0],o=s[1]),(n>14400||o>14400)&&(a.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),n=Math.min(14400,n),o=Math.min(14400,o)),s=[n,o],i.substr(0,1)){case\"l\":o>n&&(s=[o,n]);break;case\"p\":n>o&&(s=[o,n])}je(s),pr(fr),lt(Lr),0!==kr&<(kr+\" J\"),0!==Ir&<(Ir+\" j\"),Tt.publish(\"addPage\",{pageNumber:Dt})},Be=function(t){t>0&&t<=Dt&&(ot.splice(t,1),Rt.splice(t,1),Dt--,$>Dt&&($=Dt),this.setPage($))},Me=function(t){t>0&&t<=Dt&&($=t)},Ee=y.__private__.getNumberOfPages=y.getNumberOfPages=function(){return ot.length-1},qe=function(t,e,r){var n,i=void 0;return r=r||{},t=void 0!==t?t:Ft[St].fontName,e=void 0!==e?e:Ft[St].fontStyle,n=t.toLowerCase(),void 0!==Ct[n]&&void 0!==Ct[n][e]?i=Ct[n][e]:void 0!==Ct[t]&&void 0!==Ct[t][e]?i=Ct[t][e]:!1===r.disableWarning&&a.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),i||r.noFallback||null==(i=Ct.times[e])&&(i=Ct.times.normal),i},De=y.__private__.putInfo=function(){var t=Xt(),e=function(t){return t};for(var r in null!==m&&(e=Ye.encryptor(t,0)),lt(\"<<\"),lt(\"/Producer (\"+Ce(e(\"jsPDF \"+E.version))+\")\"),xt)xt.hasOwnProperty(r)&&xt[r]&<(\"/\"+r.substr(0,1).toUpperCase()+r.substr(1)+\" (\"+Ce(e(xt[r]))+\")\");lt(\"/CreationDate (\"+Ce(e(W))+\")\"),lt(\">>\"),lt(\"endobj\")},Re=y.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||Qt;switch(Xt(),lt(\"<<\"),lt(\"/Type /Catalog\"),lt(\"/Pages \"+e+\" 0 R\"),mt||(mt=\"fullwidth\"),mt){case\"fullwidth\":lt(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":lt(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":lt(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":lt(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var r=\"\"+mt;\"%\"===r.substr(r.length-1)&&(mt=parseInt(mt)/100),\"number\"==typeof mt&<(\"/OpenAction [3 0 R /XYZ null null \"+R(mt)+\"]\")}switch(Nt||(Nt=\"continuous\"),Nt){case\"continuous\":lt(\"/PageLayout /OneColumn\");break;case\"single\":lt(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":lt(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":lt(\"/PageLayout /TwoColumnRight\")}yt&<(\"/PageMode /\"+yt),Tt.publish(\"putCatalog\"),lt(\">>\"),lt(\"endobj\")},Te=y.__private__.putTrailer=function(){lt(\"trailer\"),lt(\"<<\"),lt(\"/Size \"+(et+1)),lt(\"/Root \"+et+\" 0 R\"),lt(\"/Info \"+(et-1)+\" 0 R\"),null!==m&<(\"/Encrypt \"+Ye.oid+\" 0 R\"),lt(\"/ID [ <\"+V+\"> <\"+V+\"> ]\"),lt(\">>\")},Ue=y.__private__.putHeader=function(){lt(\"%PDF-\"+w),lt(\"%ºß¬à\")},ze=y.__private__.putXRef=function(){var t=\"0000000000\";lt(\"xref\"),lt(\"0 \"+(et+1)),lt(\"0000000000 65535 f \");for(var e=1;e<=et;e++){\"function\"==typeof rt[e]?lt((t+rt[e]()).slice(-10)+\" 00000 n \"):void 0!==rt[e]?lt((t+rt[e]).slice(-10)+\" 00000 n \"):lt(\"0000000000 00000 n \")}},He=y.__private__.buildDocument=function(){ut(),ht(nt),Tt.publish(\"buildDocument\"),Ue(),oe(),Se(),xe(),null!==m&&be(),De(),Re();var t=it;return ze(),Te(),lt(\"startxref\"),lt(\"\"+t),lt(\"%%EOF\"),ht(ot[$]),nt.join(\"\\n\")},We=y.__private__.getBlob=function(t){return new Blob([dt(t)],{type:\"application/pdf\"})},Ve=y.output=y.__private__.output=Ie((function(t,e){switch(\"string\"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return He();case\"save\":y.save(e.filename);break;case\"arraybuffer\":return dt(He());case\"blob\":return We(He());case\"bloburi\":case\"bloburl\":if(void 0!==n.URL&&\"function\"==typeof n.URL.createObjectURL)return n.URL&&n.URL.createObjectURL(We(He()))||void 0;a.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":var r=\"\",i=He();try{r=h(i)}catch(t){r=h(unescape(encodeURIComponent(i)))}return\"data:application/pdf;filename=\"+e.filename+\";base64,\"+r;case\"pdfobjectnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(n)){var o=\"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\",s=' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';e.pdfObjectUrl&&(o=e.pdfObjectUrl,s=\"\");var c='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><script src=\"'+o+'\"'+s+'><\\/script><script >PDFObject.embed(\"'+this.output(\"dataurlstring\")+'\", '+JSON.stringify(e)+\");<\\/script></body></html>\",u=n.open();return null!==u&&u.document.write(c),u}throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");case\"pdfjsnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(n)){var l='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe id=\"pdfViewer\" src=\"'+(e.pdfJsUrl||\"examples/PDF.js/web/viewer.html\")+\"?file=&downloadName=\"+e.filename+'\" width=\"500px\" height=\"400px\" /></body></html>',f=n.open();if(null!==f){f.document.write(l);var d=this;f.document.documentElement.querySelector(\"#pdfViewer\").onload=function(){f.document.title=e.filename,f.document.documentElement.querySelector(\"#pdfViewer\").contentWindow.PDFViewerApplication.open(d.output(\"bloburl\"))}}return f}throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");case\"dataurlnewwindow\":if(\"[object Window]\"!==Object.prototype.toString.call(n))throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");var p='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style><body><iframe src=\"'+this.output(\"datauristring\",e)+'\"></iframe></body></html>',g=n.open();if(null!==g&&(g.document.write(p),g.document.title=e.filename),g||\"undefined\"==typeof safari)return g;break;case\"datauri\":case\"dataurl\":return n.document.location.href=this.output(\"datauristring\",e);default:return null}})),Ge=function(t){return!0===Array.isArray(Ut)&&Ut.indexOf(t)>-1};switch(o){case\"pt\":_t=1;break;case\"mm\":_t=72/25.4;break;case\"cm\":_t=72/2.54;break;case\"in\":_t=72;break;case\"px\":_t=1==Ge(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":_t=12;break;case\"ex\":_t=6;break;default:if(\"number\"!=typeof o)throw new Error(\"Invalid unit: \"+o);_t=o}var Ye=null;K(),Y();var Je=function(t){return null!==m?Ye.encryptor(t,0):function(t){return t}},Xe=y.__private__.getPageInfo=y.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:Rt[t].objId,pageNumber:t,pageContext:Rt[t]}},Ke=y.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");for(var e in Rt)if(Rt[e].objId===t)break;return Xe(e)},Ze=y.__private__.getCurrentPageInfo=y.getCurrentPageInfo=function(){return{objId:Rt[$].objId,pageNumber:$,pageContext:Rt[$]}};y.addPage=function(){return Oe.apply(this,arguments),this},y.setPage=function(){return Me.apply(this,arguments),ht.call(this,ot[$]),this},y.insertPage=function(t){return this.addPage(),this.movePage($,t),this},y.movePage=function(t,e){var r,n;if(t>e){r=ot[t],n=Rt[t];for(var i=t;i>e;i--)ot[i]=ot[i-1],Rt[i]=Rt[i-1];ot[e]=r,Rt[e]=n,this.setPage(e)}else if(t<e){r=ot[t],n=Rt[t];for(var a=t;a<e;a++)ot[a]=ot[a+1],Rt[a]=Rt[a+1];ot[e]=r,Rt[e]=n,this.setPage(e)}return this},y.deletePage=function(){return Be.apply(this,arguments),this},y.__private__.text=y.text=function(e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g=(i=i||{}).scope||this;if(\"number\"==typeof e&&\"number\"==typeof r&&(\"string\"==typeof n||Array.isArray(n))){var m=n;n=r,r=e,e=m}if(arguments[3]instanceof Vt==!1?(c=arguments[4],u=arguments[5],\"object\"===t(f=arguments[3])&&null!==f||(\"string\"==typeof c&&(u=c,c=null),\"string\"==typeof f&&(u=f,f=null),\"number\"==typeof f&&(c=f,f=null),i={flags:f,angle:c,align:u})):(q(\"The transform parameter of text() with a Matrix value\"),p=a),isNaN(r)||isNaN(n)||null==e)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===e.length)return g;var v=\"\",y=!1,w=\"number\"==typeof i.lineHeightFactor?i.lineHeightFactor:lr,N=g.internal.scaleFactor;function L(t){return t=t.split(\"\\t\").join(Array(i.TabLen||9).join(\" \")),Ce(t,f)}function A(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)\"string\"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function _(t,e){var r;if(\"string\"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)\"string\"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&\"string\"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var P=!1,k=!0;if(\"string\"==typeof e)P=!0;else if(Array.isArray(e)){var I=e.concat();s=[];for(var F,C=I.length;C--;)(\"string\"!=typeof(F=I.shift())||Array.isArray(F)&&\"string\"!=typeof F[0])&&(k=!1);P=k}if(!1===P)throw new Error('Type of text must be string or Array. \"'+e+'\" is not recognized.');\"string\"==typeof e&&(e=e.match(/[\\r?\\n]/)?e.split(/\\r\\n|\\r|\\n/g):[e]);var j=gt/g.internal.scaleFactor,B=j*(w-1);switch(i.baseline){case\"bottom\":n-=B;break;case\"top\":n+=j-B;break;case\"hanging\":n+=j-2*B;break;case\"middle\":n+=j/2-B}if((l=i.maxWidth||0)>0&&(\"string\"==typeof e?e=g.splitTextToSize(e,l):\"[object Array]\"===Object.prototype.toString.call(e)&&(e=e.reduce((function(t,e){return t.concat(g.splitTextToSize(e,l))}),[]))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:Ce,activeFontKey:St,fonts:Ft,activeFontSize:gt}},Tt.publish(\"preProcessText\",o),e=o.text,c=(i=o.options).angle,p instanceof Vt==!1&&c&&\"number\"==typeof c){c*=Math.PI/180,0===i.rotationDirection&&(c=-c),S===x.ADVANCED&&(c=-c);var M=Math.cos(c),E=Math.sin(c);p=new Vt(M,E,-E,M,0,0)}else c&&c instanceof Vt&&(p=c);S!==x.ADVANCED||p||(p=Yt),void 0!==(h=i.charSpace||_r)&&(v+=O(U(h))+\" Tc\\n\",this.setCharSpace(this.getCharSpace()||0)),void 0!==(d=i.horizontalScale)&&(v+=O(100*d)+\" Tz\\n\");i.lang;var D=-1,R=void 0!==i.renderingMode?i.renderingMode:i.stroke,T=g.internal.getCurrentPageInfo().pageContext;switch(R){case 0:case!1:case\"fill\":D=0;break;case 1:case!0:case\"stroke\":D=1;break;case 2:case\"fillThenStroke\":D=2;break;case 3:case\"invisible\":D=3;break;case 4:case\"fillAndAddForClipping\":D=4;break;case 5:case\"strokeAndAddPathForClipping\":D=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":D=6;break;case 7:case\"addToPathForClipping\":D=7}var z=void 0!==T.usedRenderingMode?T.usedRenderingMode:-1;-1!==D?v+=D+\" Tr\\n\":-1!==z&&(v+=\"0 Tr\\n\"),-1!==D&&(T.usedRenderingMode=D),u=i.align||\"left\";var H,W=gt*w,V=g.internal.pageSize.getWidth(),G=Ft[St];h=i.charSpace||_r,l=i.maxWidth||0,f=Object.assign({autoencode:!0,noBOM:!0},i.flags);var Y=[];if(\"[object Array]\"===Object.prototype.toString.call(e)){var J;s=A(e),\"left\"!==u&&(H=s.map((function(t){return g.getStringUnitWidth(t,{font:G,charSpace:h,fontSize:gt,doKerning:!1})*gt/N})));var X,K=0;if(\"right\"===u){r-=H[0],e=[],C=s.length;for(var Z=0;Z<C;Z++)0===Z?(X=br(r),J=yr(n)):(X=U(K-H[Z]),J=-W),e.push([s[Z],X,J]),K=H[Z]}else if(\"center\"===u){r-=H[0]/2,e=[],C=s.length;for(var $=0;$<C;$++)0===$?(X=br(r),J=yr(n)):(X=U((K-H[$])/2),J=-W),e.push([s[$],X,J]),K=H[$]}else if(\"left\"===u){e=[],C=s.length;for(var Q=0;Q<C;Q++)e.push(s[Q])}else{if(\"justify\"!==u)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');e=[],C=s.length,l=0!==l?l:V;for(var tt=0;tt<C;tt++)J=0===tt?yr(n):-W,X=0===tt?br(r):0,tt<C-1?Y.push(O(U((l-H[tt])/(s[tt].split(\" \").length-1)))):Y.push(0),e.push([s[tt],X,J])}}var et=\"boolean\"==typeof i.R2L?i.R2L:bt;!0===et&&(e=_(e,(function(t,e,r){return[t.split(\"\").reverse().join(\"\"),e,r]}))),o={text:e,x:r,y:n,options:i,mutex:{pdfEscape:Ce,activeFontKey:St,fonts:Ft,activeFontSize:gt}},Tt.publish(\"postProcessText\",o),e=o.text,y=o.mutex.isHex||!1;var rt=Ft[St].encoding;\"WinAnsiEncoding\"!==rt&&\"StandardEncoding\"!==rt||(e=_(e,(function(t,e,r){return[L(t),e,r]}))),s=A(e),e=[];for(var nt,it,at,ot=0,st=1,ct=Array.isArray(s[0])?st:ot,ut=\"\",ht=function(t,e,r){var n=\"\";return r instanceof Vt?(r=\"number\"==typeof i.angle?Gt(r,new Vt(1,0,0,1,t,e)):Gt(new Vt(1,0,0,1,t,e),r),S===x.ADVANCED&&(r=Gt(new Vt(1,0,0,-1,0,0),r)),n=r.join(\" \")+\" Tm\\n\"):n=O(t)+\" \"+O(e)+\" Td\\n\",n},ft=0;ft<s.length;ft++){switch(ut=\"\",ct){case st:at=(y?\"<\":\"(\")+s[ft][0]+(y?\">\":\")\"),nt=parseFloat(s[ft][1]),it=parseFloat(s[ft][2]);break;case ot:at=(y?\"<\":\"(\")+s[ft]+(y?\">\":\")\"),nt=br(r),it=yr(n)}void 0!==Y&&void 0!==Y[ft]&&(ut=Y[ft]+\" Tw\\n\"),0===ft?e.push(ut+ht(nt,it,p)+at):ct===ot?e.push(ut+at):ct===st&&e.push(ut+ht(nt,it,p)+at)}e=ct===ot?e.join(\" Tj\\nT* \"):e.join(\" Tj\\n\"),e+=\" Tj\\n\";var dt=\"BT\\n/\";return dt+=St+\" \"+gt+\" Tf\\n\",dt+=O(gt*w)+\" TL\\n\",dt+=xr+\"\\n\",dt+=v,dt+=e,lt(dt+=\"ET\"),b[St]=!0,g};var $e=y.__private__.clip=y.clip=function(t){return lt(\"evenodd\"===t?\"W*\":\"W\"),this};y.clipEvenOdd=function(){return $e(\"evenodd\")},y.__private__.discardPath=y.discardPath=function(){return lt(\"n\"),this};var Qe=y.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"D\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\",\"n\"].indexOf(t)&&(e=!0),e};y.__private__.setDefaultPathOperation=y.setDefaultPathOperation=function(t){return Qe(t)&&(g=t),this};var tr=y.__private__.getStyle=y.getStyle=function(t){var e=g;switch(t){case\"D\":case\"S\":e=\"S\";break;case\"F\":e=\"f\";break;case\"FD\":case\"DF\":e=\"B\";break;case\"f\":case\"f*\":case\"B\":case\"B*\":e=t}return e},er=y.close=function(){return lt(\"h\"),this};y.stroke=function(){return lt(\"S\"),this},y.fill=function(t){return rr(\"f\",t),this},y.fillEvenOdd=function(t){return rr(\"f*\",t),this},y.fillStroke=function(t){return rr(\"B\",t),this},y.fillStrokeEvenOdd=function(t){return rr(\"B*\",t),this};var rr=function(e,r){\"object\"===t(r)?ar(r,e):lt(e)},nr=function(t){null===t||S===x.ADVANCED&&void 0===t||(t=tr(t),lt(t))};function ir(t,e,r,n,i){var a=new M(e||this.boundingBox,r||this.xStep,n||this.yStep,this.gState,i||this.matrix);a.stream=this.stream;var o=t+\"$$\"+this.cloneIndex+++\"$$\";return Jt(o,a),a}var ar=function(t,e){var r=Bt[t.key],n=Ot[r];if(n instanceof B)lt(\"q\"),lt(or(e)),n.gState&&y.setGState(n.gState),lt(t.matrix.toString()+\" cm\"),lt(\"/\"+r+\" sh\"),lt(\"Q\");else if(n instanceof M){var i=new Vt(1,0,0,-1,0,Rr());t.matrix&&(i=i.multiply(t.matrix||Yt),r=ir.call(n,t.key,t.boundingBox,t.xStep,t.yStep,i).id),lt(\"q\"),lt(\"/Pattern cs\"),lt(\"/\"+r+\" scn\"),n.gState&&y.setGState(n.gState),lt(e),lt(\"Q\")}},or=function(t){switch(t){case\"f\":case\"F\":return\"W n\";case\"f*\":return\"W* n\";case\"B\":return\"W S\";case\"B*\":return\"W* S\";case\"S\":return\"W S\";case\"n\":return\"W n\"}},sr=y.moveTo=function(t,e){return lt(O(U(t))+\" \"+O(H(e))+\" m\"),this},cr=y.lineTo=function(t,e){return lt(O(U(t))+\" \"+O(H(e))+\" l\"),this},ur=y.curveTo=function(t,e,r,n,i,a){return lt([O(U(t)),O(H(e)),O(U(r)),O(H(n)),O(U(i)),O(H(a)),\"c\"].join(\" \")),this};y.__private__.line=y.line=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.line\");return S===x.COMPAT?this.lines([[r-t,n-e]],t,e,[1,1],i||\"S\"):this.lines([[r-t,n-e]],t,e,[1,1]).stroke()},y.__private__.lines=y.lines=function(t,e,r,n,i,a){var o,s,c,u,h,l,f,d,p,g,m,v;if(\"number\"==typeof t&&(v=r,r=e,e=t,t=v),n=n||[1,1],a=a||!1,isNaN(e)||isNaN(r)||!Array.isArray(t)||!Array.isArray(n)||!Qe(i)||\"boolean\"!=typeof a)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(sr(e,r),o=n[0],s=n[1],u=t.length,g=e,m=r,c=0;c<u;c++)2===(h=t[c]).length?(g=h[0]*o+g,m=h[1]*s+m,cr(g,m)):(l=h[0]*o+g,f=h[1]*s+m,d=h[2]*o+g,p=h[3]*s+m,g=h[4]*o+g,m=h[5]*s+m,ur(l,f,d,p,g,m));return a&&er(),nr(i),this},y.path=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r.c;switch(r.op){case\"m\":sr(n[0],n[1]);break;case\"l\":cr(n[0],n[1]);break;case\"c\":ur.apply(this,n);break;case\"h\":er()}}return this},y.__private__.rect=y.rect=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return S===x.COMPAT&&(n=-n),lt([O(U(t)),O(H(e)),O(U(r)),O(U(n)),\"re\"].join(\" \")),nr(i),this},y.__private__.triangle=y.triangle=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Qe(o))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[r-t,n-e],[i-r,a-n],[t-i,e-a]],t,e,[1,1],o,!0),this},y.__private__.roundedRect=y.roundedRect=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Qe(o))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return i=Math.min(i,.5*r),a=Math.min(a,.5*n),this.lines([[r-2*i,0],[i*s,0,i,a-a*s,i,a],[0,n-2*a],[0,a*s,-i*s,a,-i,a],[2*i-r,0],[-i*s,0,-i,-a*s,-i,-a],[0,2*a-n],[0,-a*s,i*s,-a,i,-a]],t+i,e,[1,1],o,!0),this},y.__private__.ellipse=y.ellipse=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Qe(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var a=4/3*(Math.SQRT2-1)*r,o=4/3*(Math.SQRT2-1)*n;return sr(t+r,e),ur(t+r,e-o,t+a,e-n,t,e-n),ur(t-a,e-n,t-r,e-o,t-r,e),ur(t-r,e+o,t-a,e+n,t,e+n),ur(t+a,e+n,t+r,e+o,t+r,e),nr(i),this},y.__private__.circle=y.circle=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||!Qe(n))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,r,r,n)},y.setFont=function(t,e,r){return r&&(e=k(e,r)),St=qe(t,e,{disableWarning:!1}),this};var hr=y.__private__.getFont=y.getFont=function(){return Ft[qe.apply(y,arguments)]};y.__private__.getFontList=y.getFontList=function(){var t,e,r={};for(t in Ct)if(Ct.hasOwnProperty(t))for(e in r[t]=[],Ct[t])Ct[t].hasOwnProperty(e)&&r[t].push(e);return r},y.addFont=function(t,e,r,n,i){var a=[\"StandardEncoding\",\"MacRomanEncoding\",\"Identity-H\",\"WinAnsiEncoding\"];return arguments[3]&&-1!==a.indexOf(arguments[3])?i=arguments[3]:arguments[3]&&-1==a.indexOf(arguments[3])&&(r=k(r,n)),i=i||\"Identity-H\",Pe.call(this,t,e,r,i)};var lr,fr=e.lineWidth||.200025,dr=y.__private__.getLineWidth=y.getLineWidth=function(){return fr},pr=y.__private__.setLineWidth=y.setLineWidth=function(t){return fr=t,lt(O(U(t))+\" w\"),this};y.__private__.setLineDash=E.API.setLineDash=E.API.setLineDashPattern=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map((function(t){return O(U(t))})).join(\" \"),e=O(U(e)),lt(\"[\"+t+\"] \"+e+\" d\"),this};var gr=y.__private__.getLineHeight=y.getLineHeight=function(){return gt*lr};y.__private__.getLineHeight=y.getLineHeight=function(){return gt*lr};var mr=y.__private__.setLineHeightFactor=y.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(lr=t),this},vr=y.__private__.getLineHeightFactor=y.getLineHeightFactor=function(){return lr};mr(e.lineHeight);var br=y.__private__.getHorizontalCoordinate=function(t){return U(t)},yr=y.__private__.getVerticalCoordinate=function(t){return S===x.ADVANCED?t:Rt[$].mediaBox.topRightY-Rt[$].mediaBox.bottomLeftY-U(t)},wr=y.__private__.getHorizontalCoordinateString=y.getHorizontalCoordinateString=function(t){return O(br(t))},Nr=y.__private__.getVerticalCoordinateString=y.getVerticalCoordinateString=function(t){return O(yr(t))},Lr=e.strokeColor||\"0 G\";y.__private__.getStrokeColor=y.getDrawColor=function(){return ee(Lr)},y.__private__.setStrokeColor=y.setDrawColor=function(t,e,r,n){return Lr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"draw\",precision:2}),lt(Lr),this};var Ar=e.fillColor||\"0 g\";y.__private__.getFillColor=y.getFillColor=function(){return ee(Ar)},y.__private__.setFillColor=y.setFillColor=function(t,e,r,n){return Ar=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"fill\",precision:2}),lt(Ar),this};var xr=e.textColor||\"0 g\",Sr=y.__private__.getTextColor=y.getTextColor=function(){return ee(xr)};y.__private__.setTextColor=y.setTextColor=function(t,e,r,n){return xr=re({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"text\",precision:3}),this};var _r=e.charSpace,Pr=y.__private__.getCharSpace=y.getCharSpace=function(){return parseFloat(_r||0)};y.__private__.setCharSpace=y.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return _r=t,this};var kr=0;y.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},y.__private__.setLineCap=y.setLineCap=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return kr=e,lt(e+\" J\"),this};var Ir=0;y.__private__.setLineJoin=y.setLineJoin=function(t){var e=y.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return Ir=e,lt(e+\" j\"),this},y.__private__.setLineMiterLimit=y.__private__.setMiterLimit=y.setLineMiterLimit=y.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");return lt(O(U(t))+\" M\"),this},y.GState=j,y.setGState=function(t){(t=\"string\"==typeof t?Mt[Et[t]]:Fr(null,t)).equals(qt)||(lt(\"/\"+t.id+\" gs\"),qt=t)};var Fr=function(t,e){if(!t||!Et[t]){var r=!1;for(var n in Mt)if(Mt.hasOwnProperty(n)&&Mt[n].equals(e)){r=!0;break}if(r)e=Mt[n];else{var i=\"GS\"+(Object.keys(Mt).length+1).toString(10);Mt[i]=e,e.id=i}return t&&(Et[t]=e.id),Tt.publish(\"addGState\",e),e}};y.addGState=function(t,e){return Fr(t,e),this},y.saveGraphicsState=function(){return lt(\"q\"),jt.push({key:St,size:gt,color:xr}),this},y.restoreGraphicsState=function(){lt(\"Q\");var t=jt.pop();return St=t.key,gt=t.size,xr=t.color,qt=null,this},y.setCurrentTransformationMatrix=function(t){return lt(t.toString()+\" cm\"),this},y.comment=function(t){return lt(\"#\"+t),this};var Cr=function(t,e){var r=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var n=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},jr=function(t,e,r,n){Cr.call(this,t,e),this.type=\"rect\";var i=r||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var a=n||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return a},set:function(t){isNaN(t)||(a=parseFloat(t))}}),this},Or=function(){this.page=Dt,this.currentPage=$,this.pages=ot.slice(0),this.pagesContext=Rt.slice(0),this.x=Pt,this.y=kt,this.matrix=It,this.width=qr($),this.height=Rr($),this.outputDestination=ct,this.id=\"\",this.objectNumber=-1};Or.prototype.restore=function(){Dt=this.page,$=this.currentPage,Rt=this.pagesContext,ot=this.pages,Pt=this.x,kt=this.y,It=this.matrix,Dr($,this.width),Tr($,this.height),ct=this.outputDestination};var Br=function(t,e,r,n,i){Wt.push(new Or),Dt=$=0,ot=[],Pt=t,kt=e,It=i,je([r,n])},Mr=function(t){if(Ht[t])Wt.pop().restore();else{var e=new Or,r=\"Xo\"+(Object.keys(zt).length+1).toString(10);e.id=r,Ht[t]=r,zt[r]=e,Tt.publish(\"addFormObject\",e),Wt.pop().restore()}};for(var Er in y.beginFormObject=function(t,e,r,n,i){return Br(t,e,r,n,i),this},y.endFormObject=function(t){return Mr(t),this},y.doFormObject=function(t,e){var r=zt[Ht[t]];return lt(\"q\"),lt(e.toString()+\" cm\"),lt(\"/\"+r.id+\" Do\"),lt(\"Q\"),this},y.getFormObject=function(t){var e=zt[Ht[t]];return{x:e.x,y:e.y,width:e.width,height:e.height,matrix:e.matrix}},y.save=function(t,e){return t=t||\"generated.pdf\",(e=e||{}).returnPromise=e.returnPromise||!1,!1===e.returnPromise?(l(We(He()),t),\"function\"==typeof l.unload&&n.setTimeout&&setTimeout(l.unload,911),this):new Promise((function(e,r){try{var i=l(We(He()),t);\"function\"==typeof l.unload&&n.setTimeout&&setTimeout(l.unload,911),e(i)}catch(t){r(t.message)}}))},E.API)E.API.hasOwnProperty(Er)&&(\"events\"===Er&&E.API.events.length?function(t,e){var r,n,i;for(i=e.length-1;-1!==i;i--)r=e[i][0],n=e[i][1],t.subscribe.apply(t,[r].concat(\"function\"==typeof n?[n]:n))}(Tt,E.API.events):y[Er]=E.API[Er]);var qr=y.getPageWidth=function(t){return(Rt[t=t||$].mediaBox.topRightX-Rt[t].mediaBox.bottomLeftX)/_t},Dr=y.setPageWidth=function(t,e){Rt[t].mediaBox.topRightX=e*_t+Rt[t].mediaBox.bottomLeftX},Rr=y.getPageHeight=function(t){return(Rt[t=t||$].mediaBox.topRightY-Rt[t].mediaBox.bottomLeftY)/_t},Tr=y.setPageHeight=function(t,e){Rt[t].mediaBox.topRightY=e*_t+Rt[t].mediaBox.bottomLeftY};return y.internal={pdfEscape:Ce,getStyle:tr,getFont:hr,getFontSize:vt,getCharSpace:Pr,getTextColor:Sr,getLineHeight:gr,getLineHeightFactor:vr,getLineWidth:dr,write:ft,getHorizontalCoordinate:br,getVerticalCoordinate:yr,getCoordinateString:wr,getVerticalCoordinateString:Nr,collections:{},newObject:Xt,newAdditionalObject:$t,newObjectDeferred:Kt,newObjectDeferredBegin:Zt,getFilters:ne,putStream:ie,events:Tt,scaleFactor:_t,pageSize:{getWidth:function(){return qr($)},setWidth:function(t){Dr($,t)},getHeight:function(){return Rr($)},setHeight:function(t){Tr($,t)}},encryptionOptions:m,encryption:Ye,getEncryptor:Je,output:Ve,getNumberOfPages:Ee,pages:ot,out:lt,f2:R,f3:T,getPageInfo:Xe,getPageInfoByObjId:Ke,getCurrentPageInfo:Ze,getPDFVersion:N,Point:Cr,Rectangle:jr,Matrix:Vt,hasHotfix:Ge},Object.defineProperty(y.internal.pageSize,\"width\",{get:function(){return qr($)},set:function(t){Dr($,t)},enumerable:!0,configurable:!0}),Object.defineProperty(y.internal.pageSize,\"height\",{get:function(){return Rr($)},set:function(t){Tr($,t)},enumerable:!0,configurable:!0}),ke.call(y,pt),St=\"F1\",Oe(s,i),Tt.publish(\"initialized\"),y}I.prototype.lsbFirstWord=function(t){return String.fromCharCode(t>>0&255,t>>8&255,t>>16&255,t>>24&255)},I.prototype.toHexString=function(t){return t.split(\"\").map((function(t){return(\"0\"+(255&t.charCodeAt(0)).toString(16)).slice(-2)})).join(\"\")},I.prototype.hexToBytes=function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(String.fromCharCode(parseInt(t.substr(r,2),16)));return e.join(\"\")},I.prototype.processOwnerPassword=function(t,e){return P(x(e).substr(0,5),t)},I.prototype.encryptor=function(t,e){var r=x(this.encryptionKey+String.fromCharCode(255&t,t>>8&255,t>>16&255,255&e,e>>8&255)).substr(0,10);return function(t){return P(r,t)}},j.prototype.equals=function(e){var r,n=\"id,objectNumber,equals\";if(!e||t(e)!==t(this))return!1;var i=0;for(r in this)if(!(n.indexOf(r)>=0)){if(this.hasOwnProperty(r)&&!e.hasOwnProperty(r))return!1;if(this[r]!==e[r])return!1;i++}for(r in e)e.hasOwnProperty(r)&&n.indexOf(r)<0&&i--;return 0===i},E.API={events:[]},E.version=\"2.5.1\";var q=E.API,D=1,R=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},T=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},U=function(t){return t.toFixed(2)},z=function(t){return t.toFixed(5)};q.__acroform__={};var H=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},W=function(t){return t*D},V=function(t){var e=new ut,r=At.internal.getHeight(t)||0,n=At.internal.getWidth(t)||0;return e.BBox=[0,0,Number(U(n)),Number(U(r))],e},G=q.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|=1<<e},Y=q.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&=~(1<<e)},J=q.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return 0==(t&1<<e)?0:1},X=q.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return J(t,e-1)},K=q.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return G(t,e-1)},Z=q.__acroform__.clearBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return Y(t,e-1)},$=q.__acroform__.calculateCoordinates=function(t,e){var r=e.internal.getHorizontalCoordinate,n=e.internal.getVerticalCoordinate,i=t[0],a=t[1],o=t[2],s=t[3],c={};return c.lowerLeft_X=r(i)||0,c.lowerLeft_Y=n(a+s)||0,c.upperRight_X=r(i+o)||0,c.upperRight_Y=n(a)||0,[Number(U(c.lowerLeft_X)),Number(U(c.lowerLeft_Y)),Number(U(c.upperRight_X)),Number(U(c.upperRight_Y))]},Q=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],r=t._V||t.DV,n=tt(t,r),i=t.scope.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(t.scope.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+U(n.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(n.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var a=V(t);return a.scope=t.scope,a.stream=e.join(\"\\n\"),a}},tt=function(t,e){var r=0===t.fontSize?t.maxFontSize:t.fontSize,n={text:\"\",fontSize:\"\"},i=(e=\")\"==(e=\"(\"==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(\" \");i=t.multiline?i.map((function(t){return t.split(\"\\n\")})):i.map((function(t){return[t]}));var a=r,o=At.internal.getHeight(t)||0;o=o<0?-o:o;var s=At.internal.getWidth(t)||0;s=s<0?-s:s;var c=function(e,r,n){if(e+1<i.length){var a=r+\" \"+i[e+1][0];return et(a,t,n).width<=s-4}return!1};a++;t:for(;a>0;){e=\"\",a--;var u,h,l=et(\"3\",t,a).height,f=t.multiline?o-a:(o-l)/2,d=f+=2,p=0,g=0,m=0;if(a<=0){e=\"(...) Tj\\n\",e+=\"% Width of Text: \"+et(e,t,a=12).width+\", FieldWidth:\"+s+\"\\n\";break}for(var v=\"\",b=0,y=0;y<i.length;y++)if(i.hasOwnProperty(y)){var w=!1;if(1!==i[y].length&&m!==i[y].length-1){if((l+2)*(b+2)+2>o)continue t;v+=i[y][m],w=!0,g=y,y--}else{v=\" \"==(v+=i[y][m]+\" \").substr(v.length-1)?v.substr(0,v.length-1):v;var N=parseInt(y),L=c(N,v,a),A=y>=i.length-1;if(L&&!A){v+=\" \",m=0;continue}if(L||A){if(A)g=N;else if(t.multiline&&(l+2)*(b+2)+2>o)continue t}else{if(!t.multiline)continue t;if((l+2)*(b+2)+2>o)continue t;g=N}}for(var x=\"\",S=p;S<=g;S++){var _=i[S];if(t.multiline){if(S===g){x+=_[m]+\" \",m=(m+1)%_.length;continue}if(S===p){x+=_[_.length-1]+\" \";continue}}x+=_[0]+\" \"}switch(x=\" \"==x.substr(x.length-1)?x.substr(0,x.length-1):x,h=et(x,t,a).width,t.textAlign){case\"right\":u=s-h-2;break;case\"center\":u=(s-h)/2;break;case\"left\":default:u=2}e+=U(u)+\" \"+U(d)+\" Td\\n\",e+=\"(\"+R(x)+\") Tj\\n\",e+=-U(u)+\" 0 Td\\n\",d=-(a+2),h=0,p=w?g:g+1,b++,v=\"\"}else;break}return n.text=e,n.fontSize=a,n},et=function(t,e,r){var n=e.scope.internal.getFont(e.fontName,e.fontStyle),i=e.scope.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.scope.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},rt={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},nt=function(t,e){var r={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===r.type&&t.object===r.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(r)},it=function(e,r){for(var n in e)if(e.hasOwnProperty(n)){var i=n,a=e[n];r.internal.newObjectDeferredBegin(a.objId,!0),\"object\"===t(a)&&\"function\"==typeof a.putStream&&a.putStream(),delete e[i]}},at=function(e,r){if(r.scope=e,void 0!==e.internal&&(void 0===e.internal.acroformPlugin||!1===e.internal.acroformPlugin.isInitialized)){if(lt.FieldNum=0,e.internal.acroformPlugin=JSON.parse(JSON.stringify(rt)),e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");D=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new ht,e.internal.acroformPlugin.acroFormDictionaryRoot.scope=e,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",(function(){!function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0}(e)})),e.internal.events.subscribe(\"buildDocument\",(function(){!function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var e=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];n.objId=void 0,n.hasAnnotation&&nt(n,t)}}(e)})),e.internal.events.subscribe(\"putCatalog\",(function(){!function(t){if(void 0===t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");t.internal.write(\"/AcroForm \"+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")}(e)})),e.internal.events.subscribe(\"postPutPages\",(function(r){!function(e,r){var n=!e;for(var i in e||(r.internal.newObjectDeferredBegin(r.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),r.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),e=e||r.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(e.hasOwnProperty(i)){var a=e[i],o=[],s=a.Rect;if(a.Rect&&(a.Rect=$(a.Rect,r)),r.internal.newObjectDeferredBegin(a.objId,!0),a.DA=At.createDefaultAppearanceStream(a),\"object\"===t(a)&&\"function\"==typeof a.getKeyValueListForStream&&(o=a.getKeyValueListForStream()),a.Rect=s,a.hasAppearanceStream&&!a.appearanceStreamContent){var c=Q(a);o.push({key:\"AP\",value:\"<</N \"+c+\">>\"}),r.internal.acroformPlugin.xForms.push(c)}if(a.appearanceStreamContent){var u=\"\";for(var h in a.appearanceStreamContent)if(a.appearanceStreamContent.hasOwnProperty(h)){var l=a.appearanceStreamContent[h];if(u+=\"/\"+h+\" \",u+=\"<<\",Object.keys(l).length>=1||Array.isArray(l)){for(var i in l)if(l.hasOwnProperty(i)){var f=l[i];\"function\"==typeof f&&(f=f.call(r,a)),u+=\"/\"+i+\" \"+f+\" \",r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f)}}else\"function\"==typeof(f=l)&&(f=f.call(r,a)),u+=\"/\"+i+\" \"+f,r.internal.acroformPlugin.xForms.indexOf(f)>=0||r.internal.acroformPlugin.xForms.push(f);u+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+u+\">>\"})}r.internal.putStream({additionalKeyValues:o,objectId:a.objId}),r.internal.out(\"endobj\")}n&&it(r.internal.acroformPlugin.xForms,r)}(r,e)})),e.internal.acroformPlugin.isInitialized=!0}},ot=q.__acroform__.arrayToPdfArray=function(e,r,n){var i=function(t){return t};if(Array.isArray(e)){for(var a=\"[\",o=0;o<e.length;o++)switch(0!==o&&(a+=\" \"),t(e[o])){case\"boolean\":case\"number\":case\"object\":a+=e[o].toString();break;case\"string\":\"/\"!==e[o].substr(0,1)?(void 0!==r&&n&&(i=n.internal.getEncryptor(r)),a+=\"(\"+R(i(e[o].toString()))+\")\"):a+=e[o].toString()}return a+=\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")};var st=function(t,e,r){var n=function(t){return t};return void 0!==e&&r&&(n=r.internal.getEncryptor(e)),(t=t||\"\").toString(),t=\"(\"+R(n(t))+\")\"},ct=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,\"objId\",{get:function(){if(void 0===this._objId){if(void 0===this.scope)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(t){this._objId=t}}),Object.defineProperty(this,\"scope\",{value:this._scope,writable:!0})};ct.prototype.toString=function(){return this.objId+\" 0 R\"},ct.prototype.putStream=function(){var t=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:t,objectId:this.objId}),this.scope.internal.out(\"endobj\")},ct.prototype.getKeyValueListForStream=function(){var t=[],e=Object.getOwnPropertyNames(this).filter((function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"scope\"!=t&&\"objId\"!=t&&\"_\"!=t.substring(0,1)}));for(var r in e)if(!1===Object.getOwnPropertyDescriptor(this,e[r]).configurable){var n=e[r],i=this[n];i&&(Array.isArray(i)?t.push({key:n,value:ot(i,this.objId,this.scope)}):i instanceof ct?(i.scope=this.scope,t.push({key:n,value:i.objId+\" 0 R\"})):\"function\"!=typeof i&&t.push({key:n,value:i}))}return t};var ut=function(){ct.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writable:!0});var t,e=[];Object.defineProperty(this,\"BBox\",{configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(e){t=e.trim()},get:function(){return t||null}})};H(ut,ct);var ht=function(){ct.call(this);var t,e=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(t){var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+R(e(t))+\")\"}},set:function(e){t=e}})};H(ht,ct);var lt=function t(){ct.call(this);var e=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute F supplied.');e=t}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(e,3))},set:function(t){!0===Boolean(t)?this.F=K(e,3):this.F=Z(e,3)}});var r=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');r=t}});var n=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==n.length)return n},set:function(t){n=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[0])?0:n[0]},set:function(t){n[0]=t}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[1])?0:n[1]},set:function(t){n[1]=t}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[2])?0:n[2]},set:function(t){n[2]=t}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!n||isNaN(n[3])?0:n[3]},set:function(t){n[3]=t}});var i=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return i},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":i=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var a=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!a||a.length<1){if(this instanceof yt)return;a=\"FieldObject\"+t.FieldNum++}var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+R(e(a))+\")\"},set:function(t){a=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return o},set:function(t){o=t}});var s=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var c=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return c},set:function(t){c=t}});var u=void 0;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return void 0===u?50/D:u},set:function(t){u=t}});var h=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return h},set:function(t){h=t}});var l=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!l||this instanceof yt||this instanceof Nt))return st(l,this.objId,this.scope)},set:function(t){t=t.toString(),l=t}});var f=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof mt==!1?st(f,this.objId,this.scope):f},set:function(t){t=t.toString(),f=this instanceof mt==!1?\"(\"===t.substr(0,1)?T(t.substr(1,t.length-2)):T(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof mt==!0?T(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof mt==!0?\"/\"+t:t}});var d=null;Object.defineProperty(this,\"_V\",{enumerable:!1,configurable:!1,get:function(){if(d)return d},set:function(t){this.V=t}}),Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(d)return this instanceof mt==!1?st(d,this.objId,this.scope):d},set:function(t){t=t.toString(),d=this instanceof mt==!1?\"(\"===t.substr(0,1)?T(t.substr(1,t.length-2)):T(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof mt==!0?T(d.substr(1,d.length-1)):d},set:function(t){t=t.toString(),d=this instanceof mt==!0?\"/\"+t:t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var p,g=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return g},set:function(t){t=Boolean(t),g=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,get:function(){if(p)return p},set:function(t){p=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,1):this.Ff=Z(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,2):this.Ff=Z(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,3):this.Ff=Z(this.Ff,3)}});var m=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==m)return m},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');m=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t;switch(m){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:m=2;break;case\"center\":case 1:m=1;break;case\"left\":case 0:default:m=0}}})};H(lt,ct);var ft=function(){lt.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var t=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){t=e}});var e=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return ot(e,this.objId,this.scope)},set:function(t){var r,n;n=[],\"string\"==typeof(r=t)&&(n=function(t,e,r){r||(r=1);for(var n,i=[];n=e.exec(t);)i.push(n[r]);return i}(r,/\\((.*?)\\)/g)),e=n}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,r){for(r=r||!1,t=(t=t||\"\").toString();-1!==e.indexOf(t)&&(e.splice(e.indexOf(t),1),!1!==r););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,18):this.Ff=Z(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=K(this.Ff,19):this.Ff=Z(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=K(this.Ff,20),e.sort()):this.Ff=Z(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,22):this.Ff=Z(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,23):this.Ff=Z(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,27):this.Ff=Z(this.Ff,27)}}),this.hasAppearanceStream=!1};H(ft,lt);var dt=function(){ft.call(this),this.fontName=\"helvetica\",this.combo=!1};H(dt,ft);var pt=function(){dt.call(this),this.combo=!0};H(pt,dt);var gt=function(){pt.call(this),this.edit=!0};H(gt,pt);var mt=function(){lt.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,15):this.Ff=Z(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,16):this.Ff=Z(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,17):this.Ff=Z(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,26):this.Ff=Z(this.Ff,26)}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),0!==Object.keys(r).length){var e,n=[];for(e in n.push(\"<<\"),r)n.push(\"/\"+e+\" (\"+R(t(r[e]))+\")\");return n.push(\">>\"),n.join(\"\\n\")}},set:function(e){\"object\"===t(e)&&(r=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}})};H(mt,lt);var vt=function(){mt.call(this),this.pushButton=!0};H(vt,mt);var bt=function(){mt.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};H(bt,mt);var yt=function(){var e,r;lt.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return r},set:function(t){r=t}});var n,i={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};this.scope&&(t=this.scope.internal.getEncryptor(this.objId));var e,r=[];for(e in r.push(\"<<\"),i)r.push(\"/\"+e+\" (\"+R(t(i[e]))+\")\");return r.push(\">>\"),r.join(\"\\n\")},set:function(e){\"object\"===t(e)&&(i=e)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return i.CA||\"\"},set:function(t){\"string\"==typeof t&&(i.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return n.substr(1,n.length-1)},set:function(t){n=\"/\"+t}}),this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=At.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};H(yt,lt),bt.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var r=this.Kids[e];r.appearanceStreamContent=t.createAppearanceStream(r.optionName),r.caption=t.getCA()}},bt.prototype.createOption=function(t){var e=new yt;return e.Parent=this,e.optionName=t,this.Kids.push(e),xt.call(this.scope,e),e};var wt=function(){mt.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=At.CheckBox.createAppearanceStream()};H(wt,mt);var Nt=function(){lt.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,13):this.Ff=Z(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,21):this.Ff=Z(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,23):this.Ff=Z(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,24):this.Ff=Z(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,25):this.Ff=Z(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,26):this.Ff=Z(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};H(Nt,lt);var Lt=function(){Nt.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(X(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=K(this.Ff,14):this.Ff=Z(this.Ff,14)}}),this.password=!0};H(Lt,Nt);var At={CheckBox:{createAppearanceStream:function(){return{N:{On:At.CheckBox.YesNormal},D:{On:At.CheckBox.YesPushDown,Off:At.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=t.scope.internal.getFont(t.fontName,t.fontStyle).id,i=t.scope.__private__.encodeColorString(t.color),a=tt(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+U(a.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(a.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),e.stream=r.join(\"\\n\"),e},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=t.scope.internal.getFont(t.fontName,t.fontStyle).id,n=t.scope.__private__.encodeColorString(t.color),i=[],a=At.internal.getHeight(t),o=At.internal.getWidth(t),s=tt(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+U(o)+\" \"+U(a)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+U(o-1)+\" \"+U(a-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+U(s.fontSize)+\" Tf \"+n),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Circle.YesNormal,e.D[t]=At.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=At.internal.Bezier_C,a=Number((n*i).toFixed(5));return r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+a+\" \"+a+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+a+\" \"+n+\" -\"+n+\" \"+a+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+a+\" -\"+a+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(a+\" -\"+n+\" \"+n+\" -\"+a+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5)),o=Number((n*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),r.push(\"0 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+o+\" \"+o+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+o+\" \"+n+\" -\"+n+\" \"+o+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+o+\" -\"+o+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(o+\" -\"+n+\" \"+n+\" -\"+o+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.getWidth(t)<=At.internal.getHeight(t)?At.internal.getWidth(t)/4:At.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*At.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+z(At.internal.getWidth(t)/2)+\" \"+z(At.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:At.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=At.RadioButton.Cross.YesNormal,e.D[t]=At.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=V(t);e.scope=t.scope;var r=[],n=At.internal.calculateCross(t);return r.push(\"q\"),r.push(\"1 1 \"+U(At.internal.getWidth(t)-2)+\" \"+U(At.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(U(n.x1.x)+\" \"+U(n.x1.y)+\" m\"),r.push(U(n.x2.x)+\" \"+U(n.x2.y)+\" l\"),r.push(U(n.x4.x)+\" \"+U(n.x4.y)+\" m\"),r.push(U(n.x3.x)+\" \"+U(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=V(t);e.scope=t.scope;var r=At.internal.calculateCross(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"q\"),n.push(\"1 1 \"+U(At.internal.getWidth(t)-2)+\" \"+U(At.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(U(r.x1.x)+\" \"+U(r.x1.y)+\" m\"),n.push(U(r.x2.x)+\" \"+U(r.x2.y)+\" l\"),n.push(U(r.x4.x)+\" \"+U(r.x4.y)+\" m\"),n.push(U(r.x3.x)+\" \"+U(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=V(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+U(At.internal.getWidth(t))+\" \"+U(At.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=t.scope.internal.getFont(t.fontName,t.fontStyle).id,r=t.scope.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+r}};At.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=At.internal.getWidth(t),r=At.internal.getHeight(t),n=Math.min(e,r);return{x1:{x:(e-n)/2,y:(r-n)/2+n},x2:{x:(e-n)/2+n,y:(r-n)/2},x3:{x:(e-n)/2,y:(r-n)/2},x4:{x:(e-n)/2+n,y:(r-n)/2+n}}}},At.internal.getWidth=function(e){var r=0;return\"object\"===t(e)&&(r=W(e.Rect[2])),r},At.internal.getHeight=function(e){var r=0;return\"object\"===t(e)&&(r=W(e.Rect[3])),r};var xt=q.addField=function(t){if(at(this,t),!(t instanceof lt))throw new Error(\"Invalid argument passed to jsPDF.addField.\");var e;return(e=t).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),t.page=t.scope.internal.getCurrentPageInfo().pageNumber,this};q.AcroFormChoiceField=ft,q.AcroFormListBox=dt,q.AcroFormComboBox=pt,q.AcroFormEditBox=gt,q.AcroFormButton=mt,q.AcroFormPushButton=vt,q.AcroFormRadioButton=bt,q.AcroFormCheckBox=wt,q.AcroFormTextField=Nt,q.AcroFormPasswordField=Lt,q.AcroFormAppearance=At,q.AcroForm={ChoiceField:ft,ListBox:dt,ComboBox:pt,EditBox:gt,Button:mt,PushButton:vt,RadioButton:bt,CheckBox:wt,TextField:Nt,PasswordField:Lt,Appearance:At},E.AcroForm={ChoiceField:ft,ListBox:dt,ComboBox:pt,EditBox:gt,Button:mt,PushButton:vt,RadioButton:bt,CheckBox:wt,TextField:Nt,PasswordField:Lt,Appearance:At};var St=E.AcroForm;function _t(t){return t.reduce((function(t,e,r){return t[e]=r,t}),{})}!function(e){e.__addimage__={};var r=\"UNKNOWN\",n={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},i=e.__addimage__.getImageFileTypeByImageData=function(t,e){var i,a,o,s,c,u=r;if(\"RGBA\"===(e=e||r)||void 0!==t.data&&t.data instanceof Uint8ClampedArray&&\"height\"in t&&\"width\"in t)return\"RGBA\";if(x(t))for(c in n)for(o=n[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t[a]){s=!1;break}if(!0===s){u=c;break}}else for(c in n)for(o=n[c],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t.charCodeAt(a)){s=!1;break}if(!0===s){u=c;break}}return u===r&&e!==r&&(u=e),u},a=function t(e){for(var r=this.internal.write,n=this.internal.putStream,i=(0,this.internal.getFilters)();-1!==i.indexOf(\"FlateEncode\");)i.splice(i.indexOf(\"FlateEncode\"),1);e.objectId=this.internal.newObject();var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:e.width}),a.push({key:\"Height\",value:e.height}),e.colorSpace===b.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(e.palette.length/3-1)+\" \"+(\"sMask\"in e&&void 0!==e.sMask?e.objectId+2:e.objectId+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+e.colorSpace}),e.colorSpace===b.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:e.bitsPerComponent}),\"decodeParameters\"in e&&void 0!==e.decodeParameters&&a.push({key:\"DecodeParms\",value:\"<<\"+e.decodeParameters+\">>\"}),\"transparency\"in e&&Array.isArray(e.transparency)){for(var o=\"\",s=0,c=e.transparency.length;s<c;s++)o+=e.transparency[s]+\" \"+e.transparency[s]+\" \";a.push({key:\"Mask\",value:\"[\"+o+\"]\"})}void 0!==e.sMask&&a.push({key:\"SMask\",value:e.objectId+1+\" 0 R\"});var u=void 0!==e.filter?[\"/\"+e.filter]:void 0;if(n({data:e.data,additionalKeyValues:a,alreadyAppliedFilters:u,objectId:e.objectId}),r(\"endobj\"),\"sMask\"in e&&void 0!==e.sMask){var h=\"/Predictor \"+e.predictor+\" /Colors 1 /BitsPerComponent \"+e.bitsPerComponent+\" /Columns \"+e.width,l={width:e.width,height:e.height,colorSpace:\"DeviceGray\",bitsPerComponent:e.bitsPerComponent,decodeParameters:h,data:e.sMask};\"filter\"in e&&(l.filter=e.filter),t.call(this,l)}if(e.colorSpace===b.INDEXED){var f=this.internal.newObject();n({data:_(new Uint8Array(e.palette)),objectId:f}),r(\"endobj\")}},o=function(){var t=this.internal.collections.addImage_images;for(var e in t)a.call(this,t[e])},s=function(){var t,e=this.internal.collections.addImage_images,r=this.internal.write;for(var n in e)r(\"/I\"+(t=e[n]).index,t.objectId,\"0\",\"R\")},c=function(){this.internal.collections.addImage_images||(this.internal.collections.addImage_images={},this.internal.events.subscribe(\"putResources\",o),this.internal.events.subscribe(\"putXobjectDict\",s))},h=function(){var t=this.internal.collections.addImage_images;return c.call(this),t},l=function(){return Object.keys(this.internal.collections.addImage_images).length},f=function(t){return\"function\"==typeof e[\"process\"+t.toUpperCase()]},d=function(e){return\"object\"===t(e)&&1===e.nodeType},p=function(t,r){if(\"IMG\"===t.nodeName&&t.hasAttribute(\"src\")){var n=\"\"+t.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return u(unescape(n).split(\"base64,\").pop());var i=e.loadFile(n,!0);if(void 0!==i)return i}if(\"CANVAS\"===t.nodeName){if(0===t.width||0===t.height)throw new Error(\"Given canvas must have data. Canvas width: \"+t.width+\", height: \"+t.height);var a;switch(r){case\"PNG\":a=\"image/png\";break;case\"WEBP\":a=\"image/webp\";break;case\"JPEG\":case\"JPG\":default:a=\"image/jpeg\"}return u(t.toDataURL(a,1).split(\"base64,\").pop())}},g=function(t){var e=this.internal.collections.addImage_images;if(e)for(var r in e)if(t===e[r].alias)return e[r]},m=function(t,e,r){return t||e||(t=-96,e=-96),t<0&&(t=-1*r.width*72/t/this.internal.scaleFactor),e<0&&(e=-1*r.height*72/e/this.internal.scaleFactor),0===t&&(t=e*r.width/r.height),0===e&&(e=t*r.height/r.width),[t,e]},v=function(t,e,r,n,i,a){var o=m.call(this,r,n,i),s=this.internal.getCoordinateString,c=this.internal.getVerticalCoordinateString,u=h.call(this);if(r=o[0],n=o[1],u[i.index]=i,a){a*=Math.PI/180;var l=Math.cos(a),f=Math.sin(a),d=function(t){return t.toFixed(4)},p=[d(l),d(f),d(-1*f),d(l),0,0,\"cm\"]}this.internal.write(\"q\"),a?(this.internal.write([1,\"0\",\"0\",1,s(t),c(e+n),\"cm\"].join(\" \")),this.internal.write(p.join(\" \")),this.internal.write([s(r),\"0\",\"0\",s(n),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([s(r),\"0\",\"0\",s(n),s(t),c(e+n),\"cm\"].join(\" \")),this.isAdvancedAPI()&&this.internal.write([1,0,0,-1,0,0,\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.index+\" Do\"),this.internal.write(\"Q\")},b=e.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"};e.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"};var y=e.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},w=e.__addimage__.sHashCode=function(t){var e,r,n=0;if(\"string\"==typeof t)for(r=t.length,e=0;e<r;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;else if(x(t))for(r=t.byteLength/2,e=0;e<r;e++)n=(n<<5)-n+t[e],n|=0;return n},N=e.__addimage__.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2))&&(e=!1),e},L=e.__addimage__.extractImageFromDataUrl=function(t){var e=(t=t||\"\").split(\"base64,\"),r=null;if(2===e.length){var n=/^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(e[0]);Array.isArray(n)&&(r={mimeType:n[1],charset:n[2],data:e[1]})}return r},A=e.__addimage__.supportsArrayBuffer=function(){return\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array};e.__addimage__.isArrayBuffer=function(t){return A()&&t instanceof ArrayBuffer};var x=e.__addimage__.isArrayBufferView=function(t){return A()&&\"undefined\"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||\"undefined\"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)},S=e.__addimage__.binaryStringToUint8Array=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r},_=e.__addimage__.arrayBufferToBinaryString=function(t){for(var e=\"\",r=x(t)?t:new Uint8Array(t),n=0;n<r.length;n+=8192)e+=String.fromCharCode.apply(null,r.subarray(n,n+8192));return e};e.addImage=function(){var e,n,i,a,o,s,u,h,l;if(\"number\"==typeof arguments[1]?(n=r,i=arguments[1],a=arguments[2],o=arguments[3],s=arguments[4],u=arguments[5],h=arguments[6],l=arguments[7]):(n=arguments[1],i=arguments[2],a=arguments[3],o=arguments[4],s=arguments[5],u=arguments[6],h=arguments[7],l=arguments[8]),\"object\"===t(e=arguments[0])&&!d(e)&&\"imageData\"in e){var f=e;e=f.imageData,n=f.format||n||r,i=f.x||i||0,a=f.y||a||0,o=f.w||f.width||o,s=f.h||f.height||s,u=f.alias||u,h=f.compression||h,l=f.rotation||f.angle||l}var p=this.internal.getFilters();if(void 0===h&&-1!==p.indexOf(\"FlateEncode\")&&(h=\"SLOW\"),isNaN(i)||isNaN(a))throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");c.call(this);var g=P.call(this,e,n,u,h);return v.call(this,i,a,o,s,g,l),this};var P=function(t,n,a,o){var s,c,u;if(\"string\"==typeof t&&i(t)===r){t=unescape(t);var h=k(t,!1);(\"\"!==h||void 0!==(h=e.loadFile(t,!0)))&&(t=h)}if(d(t)&&(t=p(t,n)),n=i(t,n),!f(n))throw new Error(\"addImage does not support files of type '\"+n+\"', please ensure that a plugin for '\"+n+\"' support is added.\");if((null==(u=a)||0===u.length)&&(a=function(t){return\"string\"==typeof t||x(t)?w(t):x(t.data)?w(t.data):null}(t)),(s=g.call(this,a))||(A()&&(t instanceof Uint8Array||\"RGBA\"===n||(c=t,t=S(t))),s=this[\"process\"+n.toUpperCase()](t,l.call(this),a,function(t){return t&&\"string\"==typeof t&&(t=t.toUpperCase()),t in e.image_compression?t:y.NONE}(o),c)),!s)throw new Error(\"An unknown error occurred whilst processing the image.\");return s},k=e.__addimage__.convertBase64ToBinaryString=function(t,e){var r;e=\"boolean\"!=typeof e||e;var n,i=\"\";if(\"string\"==typeof t){n=null!==(r=L(t))?r.data:t;try{i=u(n)}catch(t){if(e)throw N(n)?new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \")}}return i};e.getImageProperties=function(t){var n,a,o=\"\";if(d(t)&&(t=p(t)),\"string\"==typeof t&&i(t)===r&&(\"\"===(o=k(t,!1))&&(o=e.loadFile(t)||\"\"),t=o),a=i(t),!f(a))throw new Error(\"addImage does not support files of type '\"+a+\"', please ensure that a plugin for '\"+a+\"' support is added.\");if(!A()||t instanceof Uint8Array||(t=S(t)),!(n=this[\"process\"+a.toUpperCase()](t)))throw new Error(\"An unknown error occurred whilst processing the image\");return n.fileType=a,n}}(E.API),\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){if(void 0!==t&&\"\"!=t)return!0};E.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),c=t.pageContext.annotations,u=!1,h=0;h<c.length&&!u;h++)switch((r=c[h]).type){case\"link\":(e(r.options.url)||e(r.options.pageNumber))&&(u=!0);break;case\"reference\":case\"text\":case\"freetext\":u=!0}if(0!=u){this.internal.write(\"/Annots [\");for(var l=0;l<c.length;l++){r=c[l];var f=this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case\"reference\":this.internal.write(\" \"+r.object.objId+\" 0 R \");break;case\"text\":var p=this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||\"Note\";i=\"<</Type /Annot /Subtype /Text \"+(n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y)+\"] \")+\"/Contents (\"+f(m(r.contents))+\")\",i+=\" /Popup \"+g.objId+\" 0 R\",i+=\" /P \"+s.objId+\" 0 R\",i+=\" /T (\"+f(m(v))+\") >>\",p.content=i;var b=p.objId+\" 0 R\";i=\"<</Type /Annot /Subtype /Popup \"+(n=\"/Rect [\"+a(r.bounds.x+30)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w+30)+\" \"+o(r.bounds.y)+\"] \")+\" /Parent \"+b,r.open&&(i+=\" /Open true\"),i+=\" >>\",g.content=i,this.internal.write(p.objId,\"0 R\",g.objId,\"0 R\");break;case\"freetext\":n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y+r.bounds.h)+\"] \";var y=r.color||\"#000000\";i=\"<</Type /Annot /Subtype /FreeText \"+n+\"/Contents (\"+f(d(r.contents))+\")\",i+=\" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+y+\")\",i+=\" /Border [0 0 0]\",i+=\" >>\",this.internal.write(i);break;case\"link\":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n=\"/Rect [\"+r.finalBounds.x+\" \"+r.finalBounds.y+\" \"+r.finalBounds.w+\" \"+r.finalBounds.h+\"] \",i=\"\",r.options.url)i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /A <</S /URI /URI (\"+f(d(r.options.url))+\") >>\";else if(r.options.pageNumber){switch(i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(r.options.pageNumber).objId+\" 0 R\",r.options.magFactor=r.options.magFactor||\"XYZ\",r.options.magFactor){case\"Fit\":i+=\" /Fit]\";break;case\"FitH\":i+=\" /FitH \"+r.options.top+\"]\";break;case\"FitV\":r.options.left=r.options.left||0,i+=\" /FitV \"+r.options.left+\"]\";break;case\"XYZ\":default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom&&(r.options.zoom=0),i+=\" /XYZ \"+r.options.left+\" \"+N+\" \"+r.options.zoom+\"]\"}}\"\"!=i&&(i+=\" >>\",this.internal.write(i))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:\"link\"})},t.textWithLink=function(t,e,r,n){var i,a,o=this.getTextWidth(t),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(void 0!==n.maxWidth){a=n.maxWidth;var c=this.splitTextToSize(t,a).length;i=Math.ceil(s*c)}else a=o,i=s;return this.text(t,e,r,n),r+=.2*s,\"center\"===n.align&&(e-=o/2),\"right\"===n.align&&(e-=o),this.link(e,r-s,a,i,n),o},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(E.API),\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length<=2},c=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0};t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1};var u=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2};t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3};var h=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&a(t)&&4==e[t.charCodeAt(0)].length},l=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i=\"\",a=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(a++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i};t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==n[t.charCodeAt(0)]};var f=t.__arabicParser__.getCorrectForm=function(t,e,r){return o(t)?!1===a(t)?-1:!u(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&c(e)||s(t)&&s(e)?0:h(t)&&o(e)&&!s(e)&&o(r)&&u(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r=0,n=0,i=0,a=\"\",s=\"\",c=\"\",u=(t=t||\"\").split(\"\\\\s+\"),h=[];for(r=0;r<u.length;r+=1){for(h.push(\"\"),n=0;n<u[r].length;n+=1)a=u[r][n],s=u[r][n-1],c=u[r][n+1],o(a)?(i=f(a,s,c),h[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):h[r]+=a;h[r]=l(h[r])}return h.join(\" \")},p=t.__arabicParser__.processArabic=t.processArabic=function(){var t,e=\"string\"==typeof arguments[0]?arguments[0]:arguments[0].text,r=[];if(Array.isArray(e)){var n=0;for(r=[],n=0;n<e.length;n+=1)Array.isArray(e[n])?r.push([d(e[n][0]),e[n][1],e[n][2]]):r.push([d(e[n])]);t=r}else t=d(e);return\"string\"==typeof arguments[0]?t:(arguments[0].text=t,arguments[0])};t.events.push([\"preProcessText\",p])}(E.API),E.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||\"non-conform\",t.variant){case\"javascript\":this.addJS(\"print({});\");break;case\"non-conform\":default:this.internal.events.subscribe(\"postPutResources\",(function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,\"width\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=e+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var n=[];Object.defineProperty(this,\"childNodes\",{get:function(){return n},set:function(t){n=t}});var i={};Object.defineProperty(this,\"style\",{get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,\"parentNode\",{})};e.prototype.getContext=function(t,e){var r;if(\"2d\"!==(t=t||\"2d\"))return null;for(r in e)this.pdf.context2d.hasOwnProperty(r)&&(this.pdf.context2d[r]=e[r]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},t.events.push([\"initialized\",function(){this.canvas=new e,this.canvas.pdf=this}])}(E.API),function(e){var r={left:0,top:0,bottom:0,right:0},n=!1,i=function(){void 0===this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},r),this.internal.__cell__.margins.width=this.getPageWidth(),a.call(this))},a=function(){this.internal.__cell__.lastCell=new o,this.internal.__cell__.pages=1},o=function(){var t=arguments[0];Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var e=arguments[1];Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var r=arguments[2];Object.defineProperty(this,\"width\",{enumerable:!0,get:function(){return r},set:function(t){r=t}});var n=arguments[3];Object.defineProperty(this,\"height\",{enumerable:!0,get:function(){return n},set:function(t){n=t}});var i=arguments[4];Object.defineProperty(this,\"text\",{enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=arguments[5];Object.defineProperty(this,\"lineNumber\",{enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=arguments[6];return Object.defineProperty(this,\"align\",{enumerable:!0,get:function(){return o},set:function(t){o=t}}),this};o.prototype.clone=function(){return new o(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},o.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},e.setHeaderFunction=function(t){return i.call(this),this.internal.__cell__.headerFunction=\"function\"==typeof t?t:void 0,this},e.getTextDimensions=function(t,e){i.call(this);var r=(e=e||{}).fontSize||this.getFontSize(),n=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,c=0,u=this;if(!Array.isArray(t)&&\"string\"!=typeof t){if(\"number\"!=typeof t)throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");t=String(t)}var h=e.maxWidth;h>0?\"string\"==typeof t?t=this.splitTextToSize(t,h):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(u.splitTextToSize(e,h))}),[])):t=Array.isArray(t)?t:[t];for(var l=0;l<t.length;l++)o<(c=this.getStringUnitWidth(t[l],{font:n})*r)&&(o=c);return 0!==o&&(s=t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},e.cellAddPage=function(){i.call(this),this.addPage();var t=this.internal.__cell__.margins||r;return this.internal.__cell__.lastCell=new o(t.left,t.top,void 0,void 0),this.internal.__cell__.pages+=1,this};var s=e.cell=function(){var t;t=arguments[0]instanceof o?arguments[0]:new o(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]),i.call(this);var e=this.internal.__cell__.lastCell,a=this.internal.__cell__.padding,s=this.internal.__cell__.margins||r,c=this.internal.__cell__.tableHeaderRow,u=this.internal.__cell__.printHeaders;return void 0!==e.lineNumber&&(e.lineNumber===t.lineNumber?(t.x=(e.x||0)+(e.width||0),t.y=e.y||0):e.y+e.height+t.height+s.bottom>this.getPageHeight()?(this.cellAddPage(),t.y=s.top,u&&c&&(this.printHeaderRow(t.lineNumber,!0),t.y+=c[0].height)):t.y=e.y+e.height||t.y),void 0!==t.text[0]&&(this.rect(t.x,t.y,t.width,t.height,!0===n?\"FD\":void 0),\"right\"===t.align?this.text(t.text,t.x+t.width-a,t.y+a,{align:\"right\",baseline:\"top\"}):\"center\"===t.align?this.text(t.text,t.x+t.width/2,t.y+a,{align:\"center\",baseline:\"top\",maxWidth:t.width-a-a}):this.text(t.text,t.x+a,t.y+a,{align:\"left\",baseline:\"top\",maxWidth:t.width-a-a})),this.internal.__cell__.lastCell=t,this};e.table=function(e,n,u,h,l){if(i.call(this),!u)throw new Error(\"No data for PDF table.\");var f,d,p,g,m=[],v=[],b=[],y={},w={},N=[],L=[],A=(l=l||{}).autoSize||!1,x=!1!==l.printHeaders,S=l.css&&void 0!==l.css[\"font-size\"]?16*l.css[\"font-size\"]:l.fontSize||12,_=l.margins||Object.assign({width:this.getPageWidth()},r),P=\"number\"==typeof l.padding?l.padding:3,k=l.headerBackgroundColor||\"#c8c8c8\",I=l.headerTextColor||\"#000\";if(a.call(this),this.internal.__cell__.printHeaders=x,this.internal.__cell__.margins=_,this.internal.__cell__.table_font_size=S,this.internal.__cell__.padding=P,this.internal.__cell__.headerBackgroundColor=k,this.internal.__cell__.headerTextColor=I,this.setFontSize(S),null==h)v=m=Object.keys(u[0]),b=m.map((function(){return\"left\"}));else if(Array.isArray(h)&&\"object\"===t(h[0]))for(m=h.map((function(t){return t.name})),v=h.map((function(t){return t.prompt||t.name||\"\"})),b=h.map((function(t){return t.align||\"left\"})),f=0;f<h.length;f+=1)w[h[f].name]=h[f].width*(19.049976/25.4);else Array.isArray(h)&&\"string\"==typeof h[0]&&(v=m=h,b=m.map((function(){return\"left\"})));if(A||Array.isArray(h)&&\"string\"==typeof h[0])for(f=0;f<m.length;f+=1){for(y[g=m[f]]=u.map((function(t){return t[g]})),this.setFont(void 0,\"bold\"),N.push(this.getTextDimensions(v[f],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w),d=y[g],this.setFont(void 0,\"normal\"),p=0;p<d.length;p+=1)N.push(this.getTextDimensions(d[p],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w);w[g]=Math.max.apply(null,N)+P+P,N=[]}if(x){var F={};for(f=0;f<m.length;f+=1)F[m[f]]={},F[m[f]].text=v[f],F[m[f]].align=b[f];var C=c.call(this,F,w);L=m.map((function(t){return new o(e,n,w[t],C,F[t].text,void 0,F[t].align)})),this.setTableHeaderRow(L),this.printHeaderRow(1,!1)}var j=h.reduce((function(t,e){return t[e.name]=e.align,t}),{});for(f=0;f<u.length;f+=1){\"rowStart\"in l&&l.rowStart instanceof Function&&l.rowStart({row:f,data:u[f]},this);var O=c.call(this,u[f],w);for(p=0;p<m.length;p+=1){var B=u[f][m[p]];\"cellStart\"in l&&l.cellStart instanceof Function&&l.cellStart({row:f,col:p,data:B},this),s.call(this,new o(e,n,w[m[p]],O,B,f+2,j[m[p]]))}}return this.internal.__cell__.table_x=e,this.internal.__cell__.table_y=n,this};var c=function(t,e){var r=this.internal.__cell__.padding,n=this.internal.__cell__.table_font_size,i=this.internal.scaleFactor;return Object.keys(t).map((function(n){var i=t[n];return this.splitTextToSize(i.hasOwnProperty(\"text\")?i.text:i,e[n]-r-r)}),this).map((function(t){return this.getLineHeightFactor()*t.length*n/i+r+r}),this).reduce((function(t,e){return Math.max(t,e)}),0)};e.setTableHeaderRow=function(t){i.call(this),this.internal.__cell__.tableHeaderRow=t},e.printHeaderRow=function(t,e){if(i.call(this),!this.internal.__cell__.tableHeaderRow)throw new Error(\"Property tableHeaderRow does not exist.\");var r;if(n=!0,\"function\"==typeof this.internal.__cell__.headerFunction){var a=this.internal.__cell__.headerFunction(this,this.internal.__cell__.pages);this.internal.__cell__.lastCell=new o(a[0],a[1],a[2],a[3],void 0,-1)}this.setFont(void 0,\"bold\");for(var c=[],u=0;u<this.internal.__cell__.tableHeaderRow.length;u+=1){r=this.internal.__cell__.tableHeaderRow[u].clone(),e&&(r.y=this.internal.__cell__.margins.top||0,c.push(r)),r.lineNumber=t;var h=this.getTextColor();this.setTextColor(this.internal.__cell__.headerTextColor),this.setFillColor(this.internal.__cell__.headerBackgroundColor),s.call(this,r),this.setTextColor(h)}c.length>0&&this.setTableHeaderRow(c),this.setFont(void 0,\"normal\"),n=!1}}(E.API);var Pt={italic:[\"italic\",\"oblique\",\"normal\"],oblique:[\"oblique\",\"italic\",\"normal\"],normal:[\"normal\",\"oblique\",\"italic\"]},kt=[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\"],It=_t(kt),Ft=[100,200,300,400,500,600,700,800,900],Ct=_t(Ft);function jt(t){var e=t.family.replace(/\"|'/g,\"\").toLowerCase(),r=function(t){return Pt[t=t||\"normal\"]?t:\"normal\"}(t.style),n=function(t){if(!t)return 400;if(\"number\"==typeof t)return t>=100&&t<=900&&t%100==0?t:400;if(/^\\d00$/.test(t))return parseInt(t);switch(t){case\"bold\":return 700;case\"normal\":default:return 400}}(t.weight),i=function(t){return\"number\"==typeof It[t=t||\"normal\"]?t:\"normal\"}(t.stretch);return{family:e,style:r,weight:n,stretch:i,src:t.src||[],ref:t.ref||{name:e,style:[i,r,n].join(\" \")}}}function Ot(t,e,r,n){var i;for(i=r;i>=0&&i<e.length;i+=n)if(t[e[i]])return t[e[i]];for(i=r;i>=0&&i<e.length;i-=n)if(t[e[i]])return t[e[i]]}var Bt={\"sans-serif\":\"helvetica\",fixed:\"courier\",monospace:\"courier\",terminal:\"courier\",cursive:\"times\",fantasy:\"times\",serif:\"times\"},Mt={caption:\"times\",icon:\"times\",menu:\"times\",\"message-box\":\"times\",\"small-caption\":\"times\",\"status-bar\":\"times\"};function Et(t){return[t.stretch,t.style,t.weight,t.family].join(\" \")}function qt(t,e,r){for(var n=(r=r||{}).defaultFontFamily||\"times\",i=Object.assign({},Bt,r.genericFontFamilies||{}),a=null,o=null,s=0;s<e.length;++s)if(i[(a=jt(e[s])).family]&&(a.family=i[a.family]),t.hasOwnProperty(a.family)){o=t[a.family];break}if(!(o=o||t[n]))throw new Error(\"Could not find a font-family for the rule '\"+Et(a)+\"' and default family '\"+n+\"'.\");if(o=function(t,e){if(e[t])return e[t];var r=It[t],n=r<=It.normal?-1:1,i=Ot(e,kt,r,n);if(!i)throw new Error(\"Could not find a matching font-stretch value for \"+t);return i}(a.stretch,o),o=function(t,e){if(e[t])return e[t];for(var r=Pt[t],n=0;n<r.length;++n)if(e[r[n]])return e[r[n]];throw new Error(\"Could not find a matching font-style for \"+t)}(a.style,o),!(o=function(t,e){if(e[t])return e[t];if(400===t&&e[500])return e[500];if(500===t&&e[400])return e[400];var r=Ct[t],n=Ot(e,Ft,r,t<400?-1:1);if(!n)throw new Error(\"Could not find a matching font-weight for value \"+t);return n}(a.weight,o)))throw new Error(\"Failed to resolve a font for the rule '\"+Et(a)+\"'.\");return o}function Dt(t){return t.trimLeft()}function Rt(t,e){for(var r=0;r<t.length;){if(t.charAt(r)===e)return[t.substring(0,r),t.substring(r+1)];r+=1}return null}function Tt(t){var e=t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);return null===e?null:[e[0],t.substring(e[0].length)]}var Ut,zt,Ht,Wt=[\"times\"];!function(e){var r,n,i,o,s,c,u,h,l,d=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new h,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new c,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new c,this.lineDashOffset=t.lineDashOffset||0,this.lineDash=t.lineDash||[],this.margin=t.margin||[0,0,0,0],this.prevPageLastElemOffset=t.prevPageLastElemOffset||0,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};e.events.push([\"initialized\",function(){this.context2d=new p(this),r=this.internal.f2,n=this.internal.getCoordinateString,i=this.internal.getVerticalCoordinateString,o=this.internal.getHorizontalCoordinate,s=this.internal.getVerticalCoordinate,c=this.internal.Point,u=this.internal.Rectangle,h=this.internal.Matrix,l=new d}]);var p=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}});var e=t;Object.defineProperty(this,\"pdf\",{get:function(){return e}});var r=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return r},set:function(t){r=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var i=0;Object.defineProperty(this,\"posX\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var a=0;Object.defineProperty(this,\"posY\",{get:function(){return a},set:function(t){isNaN(t)||(a=t)}}),Object.defineProperty(this,\"margin\",{get:function(){return l.margin},set:function(t){var e;\"number\"==typeof t?e=[t,t,t,t]:((e=new Array(4))[0]=t[0],e[1]=t.length>=2?t[1]:e[0],e[2]=t.length>=3?t[2]:e[0],e[3]=t.length>=4?t[3]:e[1]),l.margin=e}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=t}});var s=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return s},set:function(t){s=t}});var c=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return c},set:function(t){c=t}}),Object.defineProperty(this,\"ctx\",{get:function(){return l},set:function(t){t instanceof d&&(l=t)}}),Object.defineProperty(this,\"path\",{get:function(){return l.path},set:function(t){l.path=t}});var u=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return u},set:function(t){u=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=g(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=g(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}});var h=null;function f(t,e){if(null===h){var r=function(t){var e=[];return Object.keys(t).forEach((function(r){t[r].forEach((function(t){var n=null;switch(t){case\"bold\":n={family:r,weight:\"bold\"};break;case\"italic\":n={family:r,style:\"italic\"};break;case\"bolditalic\":n={family:r,weight:\"bold\",style:\"italic\"};break;case\"\":case\"normal\":n={family:r}}null!==n&&(n.ref={name:r,style:t},e.push(n))}))})),e}(t.getFontList());h=function(t){for(var e={},r=0;r<t.length;++r){var n=jt(t[r]),i=n.family,a=n.stretch,o=n.style,s=n.weight;e[i]=e[i]||{},e[i][a]=e[i][a]||{},e[i][a][o]=e[i][a][o]||{},e[i][a][o][s]=n}return e}(r.concat(e))}return h}var p=null;Object.defineProperty(this,\"fontFaces\",{get:function(){return p},set:function(t){h=null,p=t}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i.exec(t))){var r=e[1],n=(e[2],e[3]),i=e[4],a=(e[5],e[6]),o=/^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=\"px\"===o?Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(t){var e,r,n=[],i=t.trim();if(\"\"===i)return Wt;if(i in Mt)return[Mt[i]];for(;\"\"!==i;){switch(r=null,e=(i=Dt(i)).charAt(0)){case'\"':case\"'\":r=Rt(i.substring(1),e);break;default:r=Tt(i)}if(null===r)return Wt;if(n.push(r[0]),\"\"!==(i=Dt(r[1]))&&\",\"!==i.charAt(0))return Wt;i=i.replace(/^,/,\"\")}return n}(a);if(this.fontFaces){var c=qt(f(this.pdf,this.fontFaces),s.map((function(t){return{family:t,stretch:\"normal\",weight:n,style:r}})));this.pdf.setFont(c.ref.name,c.ref.style)}else{var u=\"\";(\"bold\"===n||parseInt(n,10)>=700||\"bold\"===r)&&(u=\"bold\"),\"italic\"===r&&(u+=\"italic\"),0===u.length&&(u=\"normal\");for(var h=\"\",l={arial:\"Helvetica\",Arial:\"Helvetica\",verdana:\"Helvetica\",Verdana:\"Helvetica\",helvetica:\"Helvetica\",Helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},d=0;d<s.length;d++){if(void 0!==this.pdf.internal.getFont(s[d],u,{noFallback:!0,disableWarning:!0})){h=s[d];break}if(\"bolditalic\"===u&&void 0!==this.pdf.internal.getFont(s[d],\"bold\",{noFallback:!0,disableWarning:!0}))h=s[d],u=\"bold\";else if(void 0!==this.pdf.internal.getFont(s[d],\"normal\",{noFallback:!0,disableWarning:!0})){h=s[d],u=\"normal\";break}}if(\"\"===h)for(var p=0;p<s.length;p++)if(l[s[p]]){h=l[s[p]];break}h=\"\"===h?\"Times\":h,this.pdf.setFont(h,u)}}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"lineDashOffset\",{get:function(){return this.ctx.lineDashOffset},set:function(t){this.ctx.lineDashOffset=t,T.call(this)}}),Object.defineProperty(this,\"lineDash\",{get:function(){return this.ctx.lineDash},set:function(t){this.ctx.lineDash=t,T.call(this)}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};p.prototype.setLineDash=function(t){this.lineDash=t},p.prototype.getLineDash=function(){return this.lineDash.length%2?this.lineDash.concat(this.lineDash):this.lineDash.slice()},p.prototype.fill=function(){A.call(this,\"fill\",!1)},p.prototype.stroke=function(){A.call(this,\"stroke\",!1)},p.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},p.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var r=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"mt\",x:r.x,y:r.y}),this.ctx.lastPoint=new c(t,e)},p.prototype.closePath=function(){var e=new c(0,0),r=0;for(r=this.path.length-1;-1!==r;r--)if(\"begin\"===this.path[r].type&&\"object\"===t(this.path[r+1])&&\"number\"==typeof this.path[r+1].x){e=new c(this.path[r+1].x,this.path[r+1].y);break}this.path.push({type:\"close\"}),this.ctx.lastPoint=new c(e.x,e.y)},p.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var r=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"lt\",x:r.x,y:r.y}),this.ctx.lastPoint=new c(r.x,r.y)},p.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),A.call(this,null,!0)},p.prototype.quadraticCurveTo=function(t,e,r,n){if(isNaN(r)||isNaN(n)||isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var i=this.ctx.transform.applyToPoint(new c(r,n)),o=this.ctx.transform.applyToPoint(new c(t,e));this.path.push({type:\"qct\",x1:o.x,y1:o.y,x:i.x,y:i.y}),this.ctx.lastPoint=new c(i.x,i.y)},p.prototype.bezierCurveTo=function(t,e,r,n,i,o){if(isNaN(i)||isNaN(o)||isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var s=this.ctx.transform.applyToPoint(new c(i,o)),u=this.ctx.transform.applyToPoint(new c(t,e)),h=this.ctx.transform.applyToPoint(new c(r,n));this.path.push({type:\"bct\",x1:u.x,y1:u.y,x2:h.x,y2:h.y,x:s.x,y:s.y}),this.ctx.lastPoint=new c(s.x,s.y)},p.prototype.arc=function(t,e,r,n,i,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i))throw a.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(o=Boolean(o),!this.ctx.transform.isIdentity){var s=this.ctx.transform.applyToPoint(new c(t,e));t=s.x,e=s.y;var u=this.ctx.transform.applyToPoint(new c(0,r)),h=this.ctx.transform.applyToPoint(new c(0,0));r=Math.sqrt(Math.pow(u.x-h.x,2)+Math.pow(u.y-h.y,2))}Math.abs(i-n)>=2*Math.PI&&(n=0,i=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:r,startAngle:n,endAngle:i,counterclockwise:o})},p.prototype.arcTo=function(t,e,r,n,i){throw new Error(\"arcTo not implemented.\")},p.prototype.rect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.lineTo(t+r,e),this.lineTo(t,e)},p.prototype.fillRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!m.call(this)){var i={};\"butt\"!==this.lineCap&&(i.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(i.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,r,n),this.fill(),i.hasOwnProperty(\"lineCap\")&&(this.lineCap=i.lineCap),i.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=i.lineJoin)}},p.prototype.strokeRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");v.call(this)||(this.beginPath(),this.rect(t,e,r,n),this.stroke())},p.prototype.clearRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw a.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,r,n))},p.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var n=new d(this.ctx);this.ctxStack.push(this.ctx),this.ctx=n}},p.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin,this.lineDash=this.ctx.lineDash,this.lineDashOffset=this.ctx.lineDashOffset)},p.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var g=function(t){var e,r,n,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))e=0,r=0,n=0,i=0;else{var a=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==a)e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=1;else if(null!==(a=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/.exec(t)))e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=parseFloat(a[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var o=new f(t);t=o.ok?o.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,r=t.substring(2,3),r+=r,n=t.substring(3,4),n+=n):(e=t.substring(1,3),r=t.substring(3,5),n=t.substring(5,7)),e=parseInt(e,16),r=parseInt(r,16),n=parseInt(n,16)}}return{r:e,g:r,b:n,a:i,style:t}},m=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},v=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};p.prototype.fillText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(n=isNaN(n)?void 0:n,!m.call(this)){var i=q(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:o,angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.strokeText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!v.call(this)){n=isNaN(n)?void 0:n;var i=q(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;C.call(this,{text:t,x:e,y:r,scale:o,renderingMode:\"stroke\",angle:i,align:this.textAlign,maxWidth:n})}},p.prototype.measureText=function(t){if(\"string\"!=typeof t)throw a.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,r=this.pdf.internal.scaleFactor,n=e.internal.getFontSize(),i=e.getStringUnitWidth(t)*n/e.internal.scaleFactor,o=function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this};return new o({width:i*=Math.round(96*r/72*1e4)/1e4})},p.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var r=new h(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.rotate=function(t){if(isNaN(t))throw a.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new h(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},p.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw a.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var r=new h(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(r)},p.prototype.transform=function(t,e,r,n,i,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(o))throw a.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var s=new h(t,e,r,n,i,o);this.ctx.transform=this.ctx.transform.multiply(s)},p.prototype.setTransform=function(t,e,r,n,i,a){t=isNaN(t)?1:t,e=isNaN(e)?0:e,r=isNaN(r)?0:r,n=isNaN(n)?1:n,i=isNaN(i)?0:i,a=isNaN(a)?0:a,this.ctx.transform=new h(t,e,r,n,i,a)};var b=function(){return this.margin[0]>0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};p.prototype.drawImage=function(t,e,r,n,i,a,o,s,c){var l=this.pdf.getImageProperties(t),f=1,d=1,p=1,g=1;void 0!==n&&void 0!==s&&(p=s/n,g=c/i,f=l.width/n*s/n,d=l.height/i*c/i),void 0===a&&(a=e,o=r,e=0,r=0),void 0!==n&&void 0===s&&(s=n,c=i),void 0===n&&void 0===s&&(s=l.width,c=l.height);for(var m,v=this.ctx.transform.decompose(),w=q(v.rotate.shx),A=new h,S=(A=(A=(A=A.multiply(v.translate)).multiply(v.skew)).multiply(v.scale)).applyToRectangle(new u(a-e*p,o-r*g,n*f,i*d)),_=y.call(this,S),P=[],k=0;k<_.length;k+=1)-1===P.indexOf(_[k])&&P.push(_[k]);if(L(P),this.autoPaging)for(var I=P[0],F=P[P.length-1],C=I;C<F+1;C++){this.pdf.setPage(C);var j=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],O=1===C?this.posY+this.margin[0]:this.margin[0],B=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],M=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],E=1===C?0:B+(C-2)*M;if(0!==this.ctx.clip_path.length){var D=this.path;m=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(m,this.posX+this.margin[3],-E+O+this.ctx.prevPageLastElemOffset),x.call(this,\"fill\",!0),this.path=D}var R=JSON.parse(JSON.stringify(S));R=N([R],this.posX+this.margin[3],-E+O+this.ctx.prevPageLastElemOffset)[0];var T=(C>I||C<F)&&b.call(this);T&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],j,M,null).clip().discardPath()),this.pdf.addImage(t,\"JPEG\",R.x,R.y,R.w,R.h,null,null,w),T&&this.pdf.restoreGraphicsState()}else this.pdf.addImage(t,\"JPEG\",S.x,S.y,S.w,S.h,null,null,w)};var y=function(t,e,r){var n=[];e=e||this.pdf.internal.pageSize.width,r=r||this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2];var i=this.posY+this.ctx.prevPageLastElemOffset;switch(t.type){default:case\"mt\":case\"lt\":n.push(Math.floor((t.y+i)/r)+1);break;case\"arc\":n.push(Math.floor((t.y+i-t.radius)/r)+1),n.push(Math.floor((t.y+i+t.radius)/r)+1);break;case\"qct\":var a=D(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);n.push(Math.floor((a.y+i)/r)+1),n.push(Math.floor((a.y+a.h+i)/r)+1);break;case\"bct\":var o=R(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);n.push(Math.floor((o.y+i)/r)+1),n.push(Math.floor((o.y+o.h+i)/r)+1);break;case\"rect\":n.push(Math.floor((t.y+i)/r)+1),n.push(Math.floor((t.y+t.h+i)/r)+1)}for(var s=0;s<n.length;s+=1)for(;this.pdf.internal.getNumberOfPages()<n[s];)w.call(this);return n},w=function(){var t=this.fillStyle,e=this.strokeStyle,r=this.font,n=this.lineCap,i=this.lineWidth,a=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=r,this.lineCap=n,this.lineWidth=i,this.lineJoin=a},N=function(t,e,r){for(var n=0;n<t.length;n++)switch(t[n].type){case\"bct\":t[n].x2+=e,t[n].y2+=r;case\"qct\":t[n].x1+=e,t[n].y1+=r;case\"mt\":case\"lt\":case\"arc\":default:t[n].x+=e,t[n].y+=r}return t},L=function(t){return t.sort((function(t,e){return t-e}))},A=function(t,e){for(var r,n,i=this.fillStyle,a=this.strokeStyle,o=this.lineCap,s=this.lineWidth,c=Math.abs(s*this.ctx.transform.scaleX),u=this.lineJoin,h=JSON.parse(JSON.stringify(this.path)),l=JSON.parse(JSON.stringify(this.path)),f=[],d=0;d<l.length;d++)if(void 0!==l[d].x)for(var p=y.call(this,l[d]),g=0;g<p.length;g+=1)-1===f.indexOf(p[g])&&f.push(p[g]);for(var m=0;m<f.length;m++)for(;this.pdf.internal.getNumberOfPages()<f[m];)w.call(this);if(L(f),this.autoPaging)for(var v=f[0],A=f[f.length-1],S=v;S<A+1;S++){this.pdf.setPage(S),this.fillStyle=i,this.strokeStyle=a,this.lineCap=o,this.lineWidth=c,this.lineJoin=u;var _=this.pdf.internal.pageSize.width-this.margin[3]-this.margin[1],P=1===S?this.posY+this.margin[0]:this.margin[0],k=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],I=this.pdf.internal.pageSize.height-this.margin[0]-this.margin[2],F=1===S?0:k+(S-2)*I;if(0!==this.ctx.clip_path.length){var C=this.path;r=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(r,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),x.call(this,t,!0),this.path=C}if(n=JSON.parse(JSON.stringify(h)),this.path=N(n,this.posX+this.margin[3],-F+P+this.ctx.prevPageLastElemOffset),!1===e||0===S){var j=(S>v||S<A)&&b.call(this);j&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],_,I,null).clip().discardPath()),x.call(this,t,e),j&&this.pdf.restoreGraphicsState()}this.lineWidth=s}else this.lineWidth=c,x.call(this,t,e),this.lineWidth=s;this.path=h},x=function(t,e){if((\"stroke\"!==t||e||!v.call(this))&&(\"stroke\"===t||e||!m.call(this))){for(var r,n,i=[],a=this.path,o=0;o<a.length;o++){var s=a[o];switch(s.type){case\"begin\":i.push({begin:!0});break;case\"close\":i.push({close:!0});break;case\"mt\":i.push({start:s,deltas:[],abs:[]});break;case\"lt\":var c=i.length;if(a[o-1]&&!isNaN(a[o-1].x)&&(r=[s.x-a[o-1].x,s.y-a[o-1].y],c>0))for(;c>=0;c--)if(!0!==i[c-1].close&&!0!==i[c-1].begin){i[c-1].deltas.push(r),i[c-1].abs.push(s);break}break;case\"bct\":r=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"qct\":var u=a[o-1].x+2/3*(s.x1-a[o-1].x),h=a[o-1].y+2/3*(s.y1-a[o-1].y),l=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),d=s.x,p=s.y;r=[u-a[o-1].x,h-a[o-1].y,l-a[o-1].x,f-a[o-1].y,d-a[o-1].x,p-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"arc\":i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}n=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(var g=!1,b=0;b<i.length;b++)if(i[b].arc)for(var y=i[b].abs,w=0;w<y.length;w++){var N=y[w];\"arc\"===N.type?P.call(this,N.x,N.y,N.radius,N.startAngle,N.endAngle,N.counterclockwise,void 0,e,!g):j.call(this,N.x,N.y),g=!0}else if(!0===i[b].close)this.pdf.internal.out(\"h\"),g=!1;else if(!0!==i[b].begin){var L=i[b].start.x,A=i[b].start.y;O.call(this,i[b].deltas,L,A),g=!0}n&&k.call(this,n),e&&I.call(this)}},S=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,r=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-r;case\"top\":return t+e-r;case\"hanging\":return t+e-2*r;case\"middle\":return t+e/2-r;case\"ideographic\":return t;case\"alphabetic\":default:return t}},_=function(t){return t+this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor*(this.pdf.internal.getLineHeightFactor()-1)};p.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},p.prototype.createPattern=function(){return this.createLinearGradient()},p.prototype.createRadialGradient=function(){return this.createLinearGradient()};var P=function(t,e,r,n,i,a,o,s,c){for(var u=M.call(this,r,n,i,a),h=0;h<u.length;h++){var l=u[h];0===h&&(c?F.call(this,l.x1+t,l.y1+e):j.call(this,l.x1+t,l.y1+e)),B.call(this,t,e,l.x2,l.y2,l.x3,l.y3,l.x4,l.y4)}s?I.call(this):k.call(this,o)},k=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},I=function(){this.pdf.clip(),this.pdf.discardPath()},F=function(t,e){this.pdf.internal.out(n(t)+\" \"+i(e)+\" m\")},C=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;case\"left\":case\"start\":default:e=\"left\"}var r=this.pdf.getTextDimensions(t.text),n=S.call(this,t.y),i=_.call(this,n)-r.h,a=this.ctx.transform.applyToPoint(new c(t.x,n)),o=this.ctx.transform.decompose(),s=new h;s=(s=(s=s.multiply(o.translate)).multiply(o.skew)).multiply(o.scale);for(var l,f,d,p=this.ctx.transform.applyToRectangle(new u(t.x,n,r.w,r.h)),g=s.applyToRectangle(new u(t.x,i,r.w,r.h)),m=y.call(this,g),v=[],w=0;w<m.length;w+=1)-1===v.indexOf(m[w])&&v.push(m[w]);if(L(v),this.autoPaging)for(var A=v[0],P=v[v.length-1],k=A;k<P+1;k++){this.pdf.setPage(k);var I=1===k?this.posY+this.margin[0]:this.margin[0],F=this.pdf.internal.pageSize.height-this.posY-this.margin[0]-this.margin[2],C=this.pdf.internal.pageSize.height-this.margin[2],j=C-this.margin[0],O=this.pdf.internal.pageSize.width-this.margin[1],B=O-this.margin[3],M=1===k?0:F+(k-2)*j;if(0!==this.ctx.clip_path.length){var E=this.path;l=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=N(l,this.posX+this.margin[3],-1*M+I),x.call(this,\"fill\",!0),this.path=E}var q=N([JSON.parse(JSON.stringify(g))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0];t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale);var D=\"text\"!==this.autoPaging;if(D||q.y+q.h<=C){if(D||q.y>=I&&q.x<=O){var R=D?t.text:this.pdf.splitTextToSize(t.text,t.maxWidth||O-q.x)[0],T=N([JSON.parse(JSON.stringify(p))],this.posX+this.margin[3],-M+I+this.ctx.prevPageLastElemOffset)[0],U=D&&(k>A||k<P)&&b.call(this);U&&(this.pdf.saveGraphicsState(),this.pdf.rect(this.margin[3],this.margin[0],B,j,null).clip().discardPath()),this.pdf.text(R,T.x,T.y,{angle:t.angle,align:e,renderingMode:t.renderingMode}),U&&this.pdf.restoreGraphicsState()}}else q.y<C&&(this.ctx.prevPageLastElemOffset+=C-q.y);t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)}else t.scale>=.01&&(f=this.pdf.internal.getFontSize(),this.pdf.setFontSize(f*t.scale),d=this.lineWidth,this.lineWidth=d*t.scale),this.pdf.text(t.text,a.x+this.posX,a.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(f),this.lineWidth=d)},j=function(t,e,r,a){r=r||0,a=a||0,this.pdf.internal.out(n(t+r)+\" \"+i(e+a)+\" l\")},O=function(t,e,r){return this.pdf.lines(t,e,r,null,null)},B=function(t,e,n,i,a,c,u,h){this.pdf.internal.out([r(o(n+t)),r(s(i+e)),r(o(a+t)),r(s(c+e)),r(o(u+t)),r(s(h+e)),\"c\"].join(\" \"))},M=function(t,e,r,n){for(var i=2*Math.PI,a=Math.PI/2;e>r;)e-=i;var o=Math.abs(r-e);o<i&&n&&(o=i-o);for(var s=[],c=n?-1:1,u=e;o>1e-5;){var h=u+c*Math.min(o,a);s.push(E.call(this,t,u,h)),o-=Math.abs(h-u),u=h}return s},E=function(t,e,r){var n=(r-e)/2,i=t*Math.cos(n),a=t*Math.sin(n),o=i,s=-a,c=o*o+s*s,u=c+o*i+s*a,h=4/3*(Math.sqrt(2*c*u)-u)/(o*a-s*i),l=o-h*s,f=s+h*o,d=l,p=-f,g=n+e,m=Math.cos(g),v=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:l*m-f*v,y2:l*v+f*m,x3:d*m-p*v,y3:d*v+p*m,x4:t*Math.cos(r),y4:t*Math.sin(r)}},q=function(t){return 180*t/Math.PI},D=function(t,e,r,n,i,a){var o=t+.5*(r-t),s=e+.5*(n-e),c=i+.5*(r-i),h=a+.5*(n-a),l=Math.min(t,i,o,c),f=Math.max(t,i,o,c),d=Math.min(e,a,s,h),p=Math.max(e,a,s,h);return new u(l,d,f-l,p-d)},R=function(t,e,r,n,i,a,o,s){var c,h,l,f,d,p,g,m,v,b,y,w,N,L,A=r-t,x=n-e,S=i-r,_=a-n,P=o-i,k=s-a;for(h=0;h<41;h++)v=(g=(l=t+(c=h/40)*A)+c*((d=r+c*S)-l))+c*(d+c*(i+c*P-d)-g),b=(m=(f=e+c*x)+c*((p=n+c*_)-f))+c*(p+c*(a+c*k-p)-m),0==h?(y=v,w=b,N=v,L=b):(y=Math.min(y,v),w=Math.min(w,b),N=Math.max(N,v),L=Math.max(L,b));return new u(Math.round(y),Math.round(w),Math.round(N-y),Math.round(L-w))},T=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var t,e,r=(t=this.ctx.lineDash,e=this.ctx.lineDashOffset,JSON.stringify({lineDash:t,lineDashOffset:e}));this.prevLineDash!==r&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=r)}}}(E.API),\n/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var r=function(t){var e,r,n,i,a,o,s,c,u,h;for(/[^\\x00-\\xFF]/.test(t),r=[],n=0,i=(t+=e=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(o=(a=((a=((a=((a=(a-(h=a%85))/85)-(u=a%85))/85)-(c=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,c+33,u+33,h+33)):r.push(122);return function(t,e){for(var r=e;r>0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+\"~>\"},n=function(t){var e,r,n,i,a,o=String,s=\"length\",c=255,u=\"charCodeAt\",h=\"slice\",l=\"replace\";for(t[h](-2),t=t[h](0,-2)[l](/\\s/g,\"\")[l](\"z\",\"!!!!!\"),n=[],i=0,a=(t+=e=\"uuuuu\"[h](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[u](i)-33)+614125*(t[u](i+1)-33)+7225*(t[u](i+2)-33)+85*(t[u](i+3)-33)+(t[u](i+4)-33),n.push(c&r>>24,c&r>>16,c&r>>8,c&r);return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},i=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var r=\"\",n=0;n<t.length;n+=2)r+=String.fromCharCode(\"0x\"+(t[n]+t[n+1]));return r},a=function(t){for(var r=new Uint8Array(t.length),n=t.length;n--;)r[n]=t.charCodeAt(n);return t=(r=e(r)).reduce((function(t,e){return t+String.fromCharCode(e)}),\"\")};t.processDataByFilters=function(t,e){var o=0,s=t||\"\",c=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),o=0;o<e.length;o+=1)switch(e[o]){case\"ASCII85Decode\":case\"/ASCII85Decode\":s=n(s),c.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":s=r(s),c.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":s=i(s),c.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":s=s.split(\"\").map((function(t){return(\"0\"+t.charCodeAt().toString(16)).slice(-2)})).join(\"\")+\">\",c.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":s=a(s),c.push(\"/FlateDecode\");break;default:throw new Error('The filter: \"'+e[o]+'\" is not implemented')}return{data:s,reverseChain:c.reverse().join(\" \")}}}(E.API),\n/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r=\"function\"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join(\"\")};if(n.open(\"GET\",t,!e),n.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0)}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r)}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile}(E.API),function(e){function r(){return(n.html2canvas?Promise.resolve(n.html2canvas):import(\"html2canvas\")).catch((function(t){return Promise.reject(new Error(\"Could not load html2canvas: \"+t))})).then((function(t){return t.default?t.default:t}))}function i(){return(n.DOMPurify?Promise.resolve(n.DOMPurify):import(\"dompurify\")).catch((function(t){return Promise.reject(new Error(\"Could not load dompurify: \"+t))})).then((function(t){return t.default?t.default:t}))}var a=function(e){var r=t(e);return\"undefined\"===r?\"undefined\":\"string\"===r||e instanceof String?\"string\":\"number\"===r||e instanceof Number?\"number\":\"function\"===r||e instanceof Function?\"function\":e&&e.constructor===Array?\"array\":e&&1===e.nodeType?\"element\":\"object\"===r?\"object\":\"unknown\"},o=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},s=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(s.prototype=Object.create(Promise.prototype)).constructor=s,s.convert=function(t,e){return t.__proto__=e||s.prototype,t},s.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:\"transparent\"}},s.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(a(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase()?\"canvas\":\"element\";default:return\"unknown\"}}(t)){case\"string\":return this.then(i).then((function(e){return this.set({src:o(\"div\",{innerHTML:t,dompurify:e})})}));case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}}))},s.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},s.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:\"relative\",display:\"inline-block\",width:(\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:this.opt.backgroundColor},e=function t(e,r){for(var n=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==r&&1===i.nodeType&&\"SCRIPT\"===i.nodeName||n.appendChild(t(i,r));return 1===e.nodeType&&(\"CANVAS\"===e.nodeName?(n.width=e.width,n.height=e.height,n.getContext(\"2d\").drawImage(e,0,0)):\"TEXTAREA\"!==e.nodeName&&\"SELECT\"!==e.nodeName||(n.value=e.value),n.addEventListener(\"load\",(function(){n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft}),!0)),n}(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=o(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=o(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(o(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"}))},s.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n=\"number\"!=typeof this.opt.width||isNaN(this.opt.width)||\"number\"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:n,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,e.context2d.autoPaging=void 0===this.opt.autoPaging||this.opt.autoPaging,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.margin=this.opt.margin,e.context2d.fontFaces=r,r)for(var a=0;a<r.length;++a){var o=r[a],s=o.src.find((function(t){return\"truetype\"===t.format}));s&&e.addFont(s.url,o.ref.name,o.ref.style)}return i.windowHeight=i.windowHeight||0,i.windowHeight=0==i.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):i.windowHeight,e.context2d.save(!0),t(this.prop.container,i)})).then((function(t){this.opt.jsPDF.context2d.restore(!0),(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t}))},s.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF}))},s.prototype.output=function(t,e,r){return\"img\"===(r=r||\"pdf\").toLowerCase()||\"image\"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},s.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},s.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}}))},s.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename)}))},s.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf)}))},s.prototype.set=function(t){if(\"object\"!==a(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in s.template.prop)return function(){this.prop[e]=t[e]};switch(e){case\"margin\":return this.setMargin.bind(this,t.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e]}}}),this);return this.then((function(){return this.thenList(e)}))},s.prototype.get=function(t,e){return this.then((function(){var r=t in s.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},s.prototype.setMargin=function(t){return this.then((function(){switch(a(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t})).then(this.setPageSize)},s.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||E.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t}))},s.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},s.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},s.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},s.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?this:s.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return s.convert(i,this.__proto__)},s.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},s.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t)})),e},s.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return s.convert(e,this)},s.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},s.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},s.prototype.using=s.prototype.set,s.prototype.saveAs=s.prototype.save,s.prototype.export=s.prototype.output,s.prototype.run=s.prototype.then,E.getPageSize=function(e,r,n){if(\"object\"===t(e)){var i=e;e=i.orientation,r=i.unit||r,n=i.format||n}r=r||\"mm\",n=n||\"a4\",e=(\"\"+(e||\"P\")).toLowerCase();var a,o=(\"\"+n).toLowerCase(),s={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(r){case\"pt\":a=1;break;case\"mm\":a=72/25.4;break;case\"cm\":a=72/2.54;break;case\"in\":a=72;break;case\"px\":a=.75;break;case\"pc\":case\"em\":a=12;break;case\"ex\":a=6;break;default:throw\"Invalid unit: \"+r}var c,u=0,h=0;if(s.hasOwnProperty(o))u=s[o][1]/a,h=s[o][0]/a;else try{u=n[1],h=n[0]}catch(t){throw new Error(\"Invalid format: \"+n)}if(\"p\"===e||\"portrait\"===e)e=\"p\",h>u&&(c=h,h=u,u=c);else{if(\"l\"!==e&&\"landscape\"!==e)throw\"Invalid orientation: \"+e;e=\"l\",u>h&&(c=h,h=u,u=c)}return{width:h,height:u,unit:r,k:a,orientation:e}},e.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(jt):null;var r=new s(e);return e.worker?r:r.from(t).doCallback()}}(E.API),E.API.addJS=function(t){return Ht=t,this.internal.events.subscribe(\"postPutResources\",(function(){Ut=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(Ut+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),zt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+Ht+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==Ut&&void 0!==zt&&this.internal.out(\"/Names <</JavaScript \"+Ut+\" 0 R>>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e;t.events.push([\"postPutResources\",function(){var t=this,r=/^(\\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\\r\\n/),i=0;i<n.length;i++){var a=n[i],o=r.exec(a);if(null!=o){var s=o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var c=this.internal.pages.length,u=[];for(i=0;i<c;i++){var h=t.internal.newObject();u.push(h);var l=t.internal.getPageInfo(i+1);t.internal.write(\"<< /D[\"+l.objId+\" 0 R /XYZ null null null]>> endobj\")}var f=t.internal.newObject();t.internal.write(\"<< /Names [ \");for(i=0;i<u.length;i++)t.internal.write(\"(page_\"+(i+1)+\")\"+u[i]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),e=t.internal.newObject(),t.internal.write(\"<< /Dests \"+f+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),t.events.push([\"putCatalog\",function(){this.outline.root.children.length>0&&(this.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&this.internal.write(\"/Names \"+e+\" 0 R\"))}]),t.events.push([\"initialized\",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t&&(t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r<e.children.length;r++)this.genIds_r(e.children[r])},t.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),t.children.length>0&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<e.children.length;n++){var i=e.children[n];this.objStart(i),this.line(\"/Title \"+this.makeString(i.title)),this.line(\"/Parent \"+this.makeRef(e)),n>0&&this.line(\"/Prev \"+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line(\"/Next \"+this.makeRef(e.children[n+1])),i.children.length>0&&(this.line(\"/First \"+this.makeRef(i.children[0])),this.line(\"/Last \"+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(\"/Count \"+a),i.options&&i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+r(0)+\" 0]\")}this.objEnd()}for(var s=0;s<e.children.length;s++)this.renderItems(e.children[s])},t.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},t.outline.makeRef=function(t){return t.id+\" 0 R\"},t.outline.makeString=function(e){return\"(\"+t.internal.pdfEscape(e)+\")\"},t.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},t.outline.objEnd=function(){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,e){for(var r=0;r<e.children.length;r++)t.count++,this.count_r(t,e.children[r]);return t.count}}])}(E.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,c=this.decode.DCT_DECODE,u=null;if(\"string\"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,(s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o<i;o+=2){if(o+=n,-1!==e.indexOf(t.charCodeAt(o+1))){r=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a}(t=this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t)).numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;case 3:o=this.color_spaces.DEVICE_RGB}u={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:c,index:r,alias:n}}return u}}(E.API);var Vt,Gt,Yt,Jt,Xt,Kt=function(){var t,e,i;function a(t){var e,r,n,i,a,o,s,c,u,h,l,f,d,p;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),u=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join(\"\")){case\"IHDR\":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case\"acTL\":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case\"PLTE\":this.palette=this.read(e);break;case\"fcTL\":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},a=this.readUInt16(),i=this.readUInt16()||100,o.delay=1e3*a/i,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case\"IDAT\":case\"fdAT\":for(\"fdAT\"===u&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0)||this.imgData,f=0;0<=e?f<e:f>e;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case\"tRNS\":switch(this.transparency={},this.colorType){case 3:if(n=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>n)throw new Error(\"More transparent colors than palette size\");if((h=n-this.transparency.indexed.length)>0)for(d=0;0<=h?d<h:d>h;0<=h?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case\"tEXt\":s=(l=this.read(e)).indexOf(0),c=String.fromCharCode.apply(String,l.slice(0,s)),this.text[c]=String.fromCharCode.apply(String,l.slice(s+1));break;case\"IEND\":return o&&this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return\"DeviceGray\";case 3:return\"DeviceRGB\"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(\"Incomplete or corrupt PNG file\")}}a.prototype.read=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)r.push(this.data[this.pos++]);return r},a.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.decodePixels=function(t){var e=this.pixelBitlength/8,n=new Uint8Array(this.width*this.height*e),i=0,a=this;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);function o(r,o,s,c){var u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F=Math.ceil((a.width-r)/s),C=Math.ceil((a.height-o)/c),j=a.width==F&&a.height==C;for(L=e*F,w=j?n:new Uint8Array(L*C),p=t.length,N=0,h=0;N<C&&i<p;){switch(t[i++]){case 0:for(f=S=0;S<L;f=S+=1)w[h++]=t[i++];break;case 1:for(f=_=0;_<L;f=_+=1)u=t[i++],d=f<e?0:w[h-e],w[h++]=(u+d)%256;break;case 2:for(f=P=0;P<L;f=P+=1)u=t[i++],l=(f-f%e)/e,A=N&&w[(N-1)*L+l*e+f%e],w[h++]=(A+u)%256;break;case 3:for(f=k=0;k<L;f=k+=1)u=t[i++],l=(f-f%e)/e,d=f<e?0:w[h-e],A=N&&w[(N-1)*L+l*e+f%e],w[h++]=(u+Math.floor((d+A)/2))%256;break;case 4:for(f=I=0;I<L;f=I+=1)u=t[i++],l=(f-f%e)/e,d=f<e?0:w[h-e],0===N?A=x=0:(A=w[(N-1)*L+l*e+f%e],x=l&&w[(N-1)*L+(l-1)*e+f%e]),g=d+A-x,m=Math.abs(g-d),b=Math.abs(g-A),y=Math.abs(g-x),v=m<=b&&m<=y?d:b<=y?A:x,w[h++]=(u+v)%256;break;default:throw new Error(\"Invalid filter algorithm: \"+t[i-1])}if(!j){var O=((o+N*c)*a.width+r)*e,B=N*L;for(f=0;f<F;f+=1){for(var M=0;M<e;M+=1)n[O++]=w[B++];O+=(s-1)*e}}N++}}return t=r(t),1==a.interlaceMethod?(o(0,0,8,8),o(4,0,8,8),o(0,4,4,8),o(2,0,4,4),o(0,2,2,4),o(1,0,2,2),o(0,1,1,2)):o(0,0,1,1),n},a.prototype.decodePalette=function(){var t,e,r,n,i,a,o,s,c;for(r=this.palette,a=this.transparency.indexed||[],i=new Uint8Array((a.length||0)+r.length),n=0,t=0,e=o=0,s=r.length;o<s;e=o+=3)i[n++]=r[e],i[n++]=r[e+1],i[n++]=r[e+2],i[n++]=null!=(c=a[t++])?c:255;return i},a.prototype.copyToImageData=function(t,e){var r,n,i,a,o,s,c,u,h,l,f;if(n=this.colors,h=null,r=this.hasAlphaChannel,this.palette.length&&(h=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),n=4,r=!0),u=(i=t.data||t).length,o=h||e,a=s=0,1===n)for(;a<u;)c=h?4*e[a/4]:s,l=o[c++],i[a++]=l,i[a++]=l,i[a++]=l,i[a++]=r?o[c++]:255,s=c;else for(;a<u;)c=h?4*e[a/4]:s,i[a++]=o[c++],i[a++]=o[c++],i[a++]=o[c++],i[a++]=r?o[c++]:255,s=c},a.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};var o=function(){if(\"[object Window]\"===Object.prototype.toString.call(n)){try{e=n.document.createElement(\"canvas\"),i=e.getContext(\"2d\")}catch(t){return!1}return!0}return!1};return o(),t=function(t){var r;if(!0===o())return i.width=t.width,i.height=t.height,i.clearRect(0,0,t.width,t.height),i.putImageData(t,0,0),(r=new Image).src=e.toDataURL(),r;throw new Error(\"This method requires a Browser with Canvas-capability.\")},a.prototype.decodeFrames=function(e){var r,n,i,a,o,s,c,u;if(this.animation){for(u=[],n=o=0,s=(c=this.animation.frames).length;o<s;n=++o)r=c[n],i=e.createImageData(r.width,r.height),a=this.decodePixels(new Uint8Array(r.data)),this.copyToImageData(i,a),r.imageData=i,u.push(r.image=t(i));return u}},a.prototype.renderFrame=function(t,e){var r,n,i;return r=(n=this.animation.frames)[e],i=n[e-1],0===e&&t.clearRect(0,0,this.width,this.height),1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset),0===r.blendOp&&t.clearRect(r.xOffset,r.yOffset,r.width,r.height),t.drawImage(r.image,r.xOffset,r.yOffset)},a.prototype.animate=function(t){var e,r,n,i,a,o,s=this;return r=0,o=this.animation,i=o.numFrames,n=o.frames,a=o.numPlays,(e=function(){var o,c;if(o=r++%i,c=n[o],s.renderFrame(t,o),i>1&&r/i<a)return s.animation._timeout=setTimeout(e,c.delay)})()},a.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},a.prototype.render=function(t){var e,r;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext(\"2d\"),this.animation?(this.decodeFrames(e),this.animate(e)):(r=e.createImageData(this.width,this.height),this.copyToImageData(r,this.decodePixels()),e.putImageData(r,0,0))},a}();\n/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n/**\n * @license\n * (c) Dean McNamee <dean@gmail.com>, 2013.\n *\n * https://github.com/deanm/omggif\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\n * deal in the Software without restriction, including without limitation the\n * 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\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\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\nfunction Zt(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var r=t[e++]|t[e++]<<8,n=t[e++]|t[e++]<<8,i=t[e++],a=i>>7,o=1<<(7&i)+1;t[e++];t[e++];var s=null,c=null;a&&(s=e,c=o,e+=3*o);var u=!0,h=[],l=0,f=null,d=0,p=null;for(this.width=r,this.height=n;u&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error(\"Invalid graphics extension block.\");var g=t[e++];l=t[e++]|t[e++]<<8,f=t[e++],0==(1&g)&&(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;default:throw new Error(\"Unknown graphic control label: 0x\"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,v=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w>>6&1,L=1<<(7&w)+1,A=s,x=c,S=!1;if(w>>7){S=!0;A=e,x=L,e+=3*L}var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}h.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:A,palette_size:x,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:l,disposal:d});break;case 59:u=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+t[e-1].toString(16))}this.numFrames=function(){return h.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t<0||t>=h.length)throw new Error(\"Frame index out of range.\");return h[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);$t(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--l}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);$t(t,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;null===c&&(c=256);var u=i.width,h=r-u,l=u,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*h;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===l&&(l=u,(p+=g)>=d&&(g=4*h+4*r*(m-1),p=f+(u+h)*(m<<1),m>>=1)),y===c)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--l}}}function $t(t,e,r,n){for(var i=t[e++],o=1<<i,s=o+1,c=s+1,u=i+1,h=(1<<u)-1,l=0,f=0,d=0,p=t[e++],g=new Int32Array(4096),m=null;;){for(;l<16&&0!==p;)f|=t[e++]<<l,l+=8,1===p?p=t[e++]:--p;if(l<u)break;var v=f&h;if(f>>=u,l-=u,v!==o){if(v===s)break;for(var b=v<c?v:m,y=0,w=b;w>o;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void a.log(\"Warning, gif stream longer than expected.\");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b;y--;)w=g[w],r[--L]=255&w,w>>=8;null!==m&&c<4096&&(g[c++]=m<<8|N,c>=h+1&&u<12&&(++u,h=h<<1|1)),m=v}else c=s+1,h=(1<<(u=i+1))-1,m=null}return d!==n&&a.log(\"Warning, gif stream shorter than expected.\"),r}\n/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/function Qt(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),c=new Array(64),u=new Array(64),h=new Array(64),l=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),A=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],I=[0,1,2,3,4,5,6,7,8,9,10,11],F=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a<=16;a++){for(var o=1;o<=t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(m|=1<<v),r--,--v<0&&(255==m?(B(255),B(0)):B(m),v=7,m=0)}function B(t){g.push(t)}function M(t){B(t>>8&255),B(255&t)}function E(t,e,r,n,i){for(var a,o=i[0],s=i[240],c=function(t,e){var r,n,i,a,o,s,c,u,h,l,f=0;for(h=0;h<8;++h){r=t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],c=t[f+6];var p=r+(u=t[f+7]),g=r-u,m=n+c,v=n-c,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,A=p-w,x=m+b,S=m-b;t[f]=L+x,t[f+4]=L-x;var _=.707106781*(S+A);t[f+2]=A+_,t[f+6]=A-_;var P=.382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,I=1.306562965*S+P,F=.707106781*(x=y+v),C=g+F,j=g-F;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+I,t[f+7]=C-I,f+=8}for(f=0,h=0;h<8;++h){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],c=t[f+48];var O=r+(u=t[f+56]),B=r-u,M=n+c,E=n-c,q=i+s,D=i-s,R=a+o,T=a-o,U=O+R,z=O-R,H=M+q,W=M-q;t[f]=U+H,t[f+32]=U-H;var V=.707106781*(W+z);t[f+16]=z+V,t[f+48]=z-V;var G=.382683433*((U=T+D)-(W=E+B)),Y=.5411961*U+G,J=1.306562965*W+G,X=.707106781*(H=D+E),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(h=0;h<64;++h)l=t[h]*e[h],d[h]=l>0?l+.5|0:l-.5|0;return d}(t,e),u=0;u<64;++u)p[A[u]]=c[u];var h=p[0]-r;r=p[0],0==h?O(n[0]):(O(n[f[a=32767+h]]),O(l[a]));for(var g=63;g>0&&0==p[g];)g--;if(0==g)return O(o),r;for(var m,v=1;v<=g;){for(var b=v;0==p[v]&&v<=g;)++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w<=m;++w)O(s);y&=15}a=32767+p[v],O(i[(y<<4)+f[a]]),O(l[a]),v++}return 63!=g&&O(o),r}function q(t){(t=Math.min(Math.max(t,1),100),a!=t)&&(!function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[A[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var l=o((i[a]*t+50)/100);l=Math.min(Math.max(l,1),255),c[A[a]]=l}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,p=0;p<8;p++)for(var g=0;g<8;g++)u[d]=1/(s[A[d]]*f[p]*f[g]*8),h[d]=1/(c[A[d]]*f[p]*f[g]*8),d++}(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t)}this.encode=function(t,a){a&&q(a),g=new Array,m=0,v=7,M(65496),M(65504),M(16),B(74),B(70),B(73),B(70),B(0),B(1),B(1),B(0),M(1),M(1),B(0),B(0),function(){M(65499),M(132),B(0);for(var t=0;t<64;t++)B(s[t]);B(1);for(var e=0;e<64;e++)B(c[e])}(),function(t,e){M(65472),M(17),B(8),M(e),M(t),B(3),B(1),B(17),B(0),B(2),B(17),B(1),B(3),B(17),B(1)}(t.width,t.height),function(){M(65476),M(418),B(0);for(var t=0;t<16;t++)B(x[t+1]);for(var e=0;e<=11;e++)B(S[e]);B(16);for(var r=0;r<16;r++)B(_[r+1]);for(var n=0;n<=161;n++)B(P[n]);B(1);for(var i=0;i<16;i++)B(k[i+1]);for(var a=0;a<=11;a++)B(I[a]);B(17);for(var o=0;o<16;o++)B(F[o+1]);for(var s=0;s<=161;s++)B(C[s])}(),M(65498),M(12),B(3),B(1),B(0),B(2),B(17),B(3),B(17),B(0),B(63),B(0);var o=0,l=0,f=0;m=0,v=7,this.encode.displayName=\"_encode_\";for(var d,p,N,A,j,D,R,T,U,z=t.data,H=t.width,W=t.height,V=4*H,G=0;G<W;){for(d=0;d<V;){for(j=V*G+d,R=-1,T=0,U=0;U<64;U++)D=j+(T=U>>3)*V+(R=4*(7&U)),G+T>=W&&(D-=V*(G+1+T-W)),d+R>=V&&(D-=d+R-V+4),p=z[D++],N=z[D++],A=z[D++],b[U]=(L[p]+L[N+256>>0]+L[A+512>>0]>>16)-128,y[U]=(L[p+768>>0]+L[N+1024>>0]+L[A+1280>>0]>>16)-128,w[U]=(L[p+1280>>0]+L[N+1536>>0]+L[A+1792>>0]>>16)-128;o=E(b,u,o,e,n),l=E(y,h,l,r,i),f=E(w,h,f,r,i),d+=32}G+=8}if(v>=0){var Y=[];Y[1]=v+1,Y[0]=(1<<v+1)-1,O(Y)}return M(65497),new Uint8Array(g)},t=t||50,function(){for(var t=String.fromCharCode,e=0;e<256;e++)N[e]=t(e)}(),e=j(x,S),r=j(k,I),n=j(_,P),i=j(F,C),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,l[32767+n]=[],l[32767+n][1]=r,l[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,l[32767+i]=[],l[32767+i][1]=r,l[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)L[t]=19595*t,L[t+256>>0]=38470*t,L[t+512>>0]=7471*t+32768,L[t+768>>0]=-11059*t,L[t+1024>>0]=-21709*t,L[t+1280>>0]=32768*t+8421375,L[t+1536>>0]=-27439*t,L[t+1792>>0]=-5329*t}(),q(t)}\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */function te(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}function ee(t){function e(t){if(!t)throw Error(\"assert :P\")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a<i;a++)t[e+a]=r[n+a]}function i(t,e,r,n){for(var i=0;i<n;i++)t[e+i]=r}function a(t){return new Int32Array(t)}function o(t,e){for(var r=[],n=0;n<t;n++)r.push(new e);return r}function s(t,e){var r=[];return function t(r,n,i){for(var a=i[n],o=0;o<a&&(r.push(i.length>n+1?[]:new e),!(i.length<n+1));o++)t(r[o],n+1,i)}(r,0,t),r}var c=function(){var t=this;function c(t,e){for(var r=1<<e-1>>>0;t&r;)r>>>=1;return r?(t&r-1)+r:t}function u(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0<i)}function h(t,r,n,i,o){if(e(2328>=o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var h,f,d=r,p=1<<n,g=a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0;++g[i[f]]}if(g[0]==o)return 0;for(m[1]=0,h=1;15>h;++h){if(g[h]>1<<h)return 0;m[h+1]=m[h]+g[h]}for(f=0;f<o;++f)h=i[f],0<i[f]&&(s[m[h]++]=f);if(1==m[15])return(i=new l).g=0,i.value=s[0],u(t,d,1,p,i),p;var v,b=-1,y=p-1,w=0,N=1,L=1,A=1<<n;for(f=0,h=1,o=2;h<=n;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h])(i=new l).g=h,i.value=s[f++],u(t,d+w,o,A,i),w=c(w,h)}for(h=n+1,o=2;15>=h;++h,o<<=1){if(N+=L<<=1,0>(L-=g[h]))return 0;for(;0<g[h];--g[h]){if(i=new l,(w&y)!=b){for(d+=A,v=1<<(b=h)-n;15>b&&!(0>=(v-=g[b]));)++b,v<<=1;p+=A=1<<(v=b-n),t[r+(b=w&y)].g=v+n,t[r+b].value=d-r-b}i.g=h-n,i.value=s[f++],u(t,d+(w>>n),o,A,i),w=c(w,h)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function l(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,l),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Dr,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4<=i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0<e--;)r|=k(t,128)<<e;return r}function m(t,e){var r=g(t,e);return P(t)?-r:r}function v(t,r,n,i){var a,o=0;for(e(null!=t),e(null!=r),e(4294967288>i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4<i&&(i=4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<Ur-8>>>0,++t.bb,t.u-=8;A(t)&&(t.h=1,t.u=0)}function y(t,r){if(e(0<=r),!t.h&&r<=Tr){var n=L(t)&Rr[r];return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u&Ur-1)>>>0}function A(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>Ur}function x(t,e){t.u=e,t.h=A(t)}function S(t){t.u>=zr&&(e(t.u>=zr),b(t))}function _(t){e(null!=t&&null!=t.oa),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(null!=t&&null!=t.oa),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P(t){return g(t,1)}function k(t,e){var r=t.Ca;0>t.b&&_(t);var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1<<n>>>0):r=i+1,n=r,i=0;256<=n;)i+=8,n>>=8;return n=7^i+Hr[n],t.b-=n,t.Ca=(r<<n)-1,a}function I(t,e,r){t[e+0]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255}function F(t,e){return t[e+0]<<0|t[e+1]<<8}function C(t,e){return F(t,e)|t[e+2]<<16}function j(t,e){return F(t,e)|F(t,e+2)<<16}function O(t,r){var n=1<<r;return e(null!=t),e(0<r),t.X=a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B(t,r){e(null!=t),e(null!=r),e(t.Xa==r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M(){this.X=[],this.Xa=this.Mb=0}function E(t,r,n,i){e(null!=n),e(null!=i);var a=n[0],o=i[0];return 0==a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0>=a||0>=o?0:(n[0]=a,i[0]=o,1)}function q(t,e){return t+(1<<e)-1>>>e}function D(t,e){return((4278255360&t)+(4278255360&e)>>>0&4278255360)+((16711935&t)+(16711935&e)>>>0&16711935)>>>0}function R(e,r){t[r]=function(r,n,i,a,o,s,c){var u;for(u=0;u<o;++u){var h=t[e](s[c+u-1],i,a+u);s[c+u]=D(r[n+u],h)}}}function T(){this.ud=this.hd=this.jd=0}function U(t,e){return((4278124286&(t^e))>>>1)+(t&e)>>>0}function z(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function H(t,e){return z(t+(t-e+.5>>1))}function W(t,e,r){return Math.abs(e-r)-Math.abs(t-r)}function V(t,e,r,n,i,a,o){for(n=a[o-1],r=0;r<i;++r)a[o+r]=n=D(t[e+r],n)}function G(t,e,r,n,i){var a;for(a=0;a<r;++a){var o=t[e+a],s=o>>8&255,c=16711935&(c=(c=16711935&o)+((s<<16)+s));n[i+a]=(4278255360&o)+c>>>0}}function Y(t,e){e.jd=t>>0&255,e.hd=t>>8&255,e.ud=t>>16&255}function J(t,e,r,n,i,a){var o;for(o=0;o<n;++o){var s=e[r+o],c=s>>>8,u=s,h=255&(h=(h=s>>>16)+((t.jd<<24>>24)*(c<<24>>24)>>>5));u=255&(u=(u=u+((t.hd<<24>>24)*(c<<24>>24)>>>5))+((t.ud<<24>>24)*(h<<24>>24)>>>5));i[a+o]=(4278255360&s)+(h<<16)+u}}function X(e,r,n,i,a){t[r]=function(t,e,r,n,o,s,c,u,h){for(n=c;n<u;++n)for(c=0;c<h;++c)o[s++]=a(r[i(t[e++])])},t[e]=function(e,r,o,s,c,u,h){var l=8>>e.b,f=e.Ea,d=e.K[0],p=e.w;if(8>l)for(e=(1<<e.b)-1,p=(1<<l)-1;r<o;++r){var g,m=0;for(g=0;g<f;++g)g&e||(m=i(s[c++])),u[h++]=a(d[m&p]),m>>=l}else t[\"VP8LMapColor\"+n](s,c,d,p,u,h,r,o,f)}}function K(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255}}function Z(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255,n[i++]=a>>24&255}}function $(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&240|o>>12&15,o=o>>0&240|o>>28&15;n[i++]=a,n[i++]=o}}function Q(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&248|o>>13&7,o=o>>5&224|o>>3&31;n[i++]=a,n[i++]=o}}function tt(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>0&255,n[i++]=a>>8&255,n[i++]=a>>16&255}}function et(t,e,r,i,a,o){if(0==o)for(r=e+r;e<r;)I(i,((o=t[e++])[0]>>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else n(i,a,t,e,r)}function rt(e,r){t[r][0]=t[e+\"0\"],t[r][1]=t[e+\"1\"],t[r][2]=t[e+\"2\"],t[r][3]=t[e+\"3\"],t[r][4]=t[e+\"4\"],t[r][5]=t[e+\"5\"],t[r][6]=t[e+\"6\"],t[r][7]=t[e+\"7\"],t[r][8]=t[e+\"8\"],t[r][9]=t[e+\"9\"],t[r][10]=t[e+\"10\"],t[r][11]=t[e+\"11\"],t[r][12]=t[e+\"12\"],t[r][13]=t[e+\"13\"],t[r][14]=t[e+\"0\"],t[r][15]=t[e+\"0\"]}function nt(t){return t==Hn||t==Wn||t==Vn||t==Gn}function it(){this.eb=[],this.size=this.A=this.fb=0}function at(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function ot(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new it,this.f.kb=new at,this.sd=null}function st(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ct(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ut(t){return alert(\"todo:WebPSamplerProcessPlane\"),t.T}function ht(t,e){var r=t.T,i=e.ba.f.RGBA,a=i.eb,o=i.fb+t.ka*i.A,s=vi[e.ba.S],c=t.y,u=t.O,h=t.f,l=t.N,f=t.ea,d=t.W,p=e.cc,g=e.dc,m=e.Mc,v=e.Nc,b=t.ka,y=t.ka+t.T,w=t.U,N=w+1>>1;for(0==b?s(c,u,null,null,h,l,f,d,h,l,f,d,a,o,null,null,w):(s(e.ec,e.fc,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w),++r);b+2<y;b+=2)p=h,g=l,m=f,v=d,l+=t.Rc,d+=t.Rc,o+=2*i.A,s(c,(u+=2*t.fa)-t.fa,c,u,p,g,m,v,h,l,f,d,a,o-i.A,a,o,w);return u+=t.fa,t.j+y<t.o?(n(e.ec,e.fc,c,u,w),n(e.cc,e.dc,h,l,N),n(e.Mc,e.Nc,f,d,N),r--):1&y||s(c,u,null,null,h,l,f,d,h,l,f,d,a,o+i.A,null,null,w),r}function lt(t,r,n){var i=t.F,a=[t.J];if(null!=i){var o=t.U,s=r.ba.S,c=s==Tn||s==Vn;r=r.ba.f.RGBA;var u=[0],h=t.ka;u[0]=t.T,t.Kb&&(0==h?--u[0]:(--h,a[0]-=t.width),t.j+t.ka+t.T==t.o&&(u[0]=t.o-t.j-h));var l=r.eb;h=r.fb+h*r.A;t=Sn(i,a[0],t.width,o,u,l,h+(c?0:3),r.A),e(n==u),t&&nt(s)&&An(l,h,c,o,u,r.A)}return 0}function ft(t){var e=t.ma,r=e.ba.S,n=11>r,i=r==qn||r==Rn||r==Tn||r==Un||12==r||nt(r);if(e.memory=null,e.Ib=null,e.Jb=null,e.Nd=null,!Mr(e.Oa,t,i?11:12))return 0;if(i&&nt(r)&&br(),t.da)alert(\"todo:use_scaling\");else{if(n){if(e.Ib=ut,t.Kb){if(r=t.U+1>>1,e.memory=a(t.U+2*r),null==e.memory)return 0;e.ec=e.memory,e.fc=0,e.cc=e.ec,e.dc=e.fc+t.U,e.Mc=e.cc,e.Nc=e.dc+r,e.Ib=ht,br()}}else alert(\"todo:EmitYUV\");i&&(e.Jb=lt,n&&mr())}if(n&&!Ci){for(t=0;256>t;++t)ji[t]=89858*(t-128)+_i>>Si,Mi[t]=-22014*(t-128)+_i,Bi[t]=-45773*(t-128),Oi[t]=113618*(t-128)+_i>>Si;for(t=Pi;t<ki;++t)e=76283*(t-16)+_i>>Si,Ei[t-Pi]=Vt(e,255),qi[t-Pi]=Vt(e+8>>4,15);Ci=1}return 1}function dt(t){var r=t.ma,n=t.U,i=t.T;return e(!(1&t.ka)),0>=n||0>=i?0:(n=r.Ib(t,r),null!=r.Jb&&r.Jb(t,r,n),r.Dc+=n,1)}function pt(t){t.ma.memory=null}function gt(t,e,r,n){return 47!=y(t,8)?0:(e[0]=y(t,14)+1,r[0]=y(t,14)+1,n[0]=y(t,1),0!=y(t,3)?0:!t.h)}function mt(t,e){if(4>t)return t+1;var r=t-2>>1;return(2+(1&t)<<r)+y(e,r)+1}function vt(t,e){return 120<e?e-120:1<=(r=((r=$n[e-1])>>4)*t+(8-(15&r)))?r:1;var r}function bt(t,e,r){var n=L(r),i=t[e+=255&n].g-8;return 0<i&&(x(r,r.u+8),n=L(r),e+=t[e].value,e+=n&(1<<i)-1),x(r,r.u+t[e].g),t[e].value}function yt(t,r,n){return n.g+=t.g,n.value+=t.value<<r>>>0,e(8>=n.g),t.g}function wt(t,r,n){var i=t.xc;return e((r=0==i?0:t.vc[t.md*(n>>i)+(r>>i)])<t.Wb),t.Ya[r]}function Nt(t,r,i,a){var o=t.ab,s=t.c*r,c=t.C;r=c+r;var u=i,h=a;for(a=t.Ta,i=t.Ua;0<o--;){var l=t.gc[o],f=c,d=r,p=u,g=h,m=(h=a,u=i,l.Ea);switch(e(f<d),e(d<=l.nc),l.hc){case 2:Gr(p,g,(d-f)*m,h,u);break;case 0:var v=f,b=d,y=h,w=u,N=(_=l).Ea;0==v&&(Wr(p,g,null,null,1,y,w),V(p,g+1,0,0,N-1,y,w+1),g+=N,w+=N,++v);for(var L=1<<_.b,A=L-1,x=q(N,_.b),S=_.K,_=_.w+(v>>_.b)*x;v<b;){var P=S,k=_,I=1;for(Vr(p,g,y,w-N,1,y,w);I<N;){var F=(I&~A)+L;F>N&&(F=N),(0,Zr[P[k++]>>8&15])(p,g+ +I,y,w+I-N,F-I,y,w+I),I=F}g+=N,w+=N,++v&A||(_+=x)}d!=l.nc&&n(h,u-m,h,u+(d-f-1)*m,m);break;case 1:for(m=p,b=g,N=(p=l.Ea)-(w=p&~(y=(g=1<<l.b)-1)),v=q(p,l.b),L=l.K,l=l.w+(f>>l.b)*v;f<d;){for(A=L,x=l,S=new T,_=b+w,P=b+p;b<_;)Y(A[x++],S),$r(S,m,b,g,h,u),b+=g,u+=g;b<P&&(Y(A[x++],S),$r(S,m,b,N,h,u),b+=N,u+=N),++f&y||(l+=v)}break;case 3:if(p==h&&g==u&&0<l.b){for(b=h,p=m=u+(d-f)*m-(w=(d-f)*q(l.Ea,l.b)),g=h,y=u,v=[],w=(N=w)-1;0<=w;--w)v[w]=g[y+w];for(w=N-1;0<=w;--w)b[p+w]=v[w];Yr(l,f,d,h,m,h,u)}else Yr(l,f,d,p,g,h,u)}u=a,h=i}h!=i&&n(a,i,u,h,s)}function Lt(t,r){var n=t.V,i=t.Ba+t.c*t.C,a=r-t.C;if(e(r<=t.l.o),e(16>=a),0<a){var o=t.l,s=t.Ta,c=t.Ua,u=o.width;if(Nt(t,a,n,i),a=c=[c],e((n=t.C)<(i=r)),e(o.v<o.va),i>o.o&&(i=o.o),n<o.j){var h=o.j-n;n=o.j;a[0]+=h*u}if(n>=i?n=0:(a[0]+=4*o.v,o.ka=n-o.j,o.U=o.va-o.v,o.T=i-n,n=1),n){if(c=c[0],11>(n=t.ca).S){var l=n.f.RGBA,f=(i=n.S,a=o.U,o=o.T,h=l.eb,l.A),d=o;for(l=l.fb+t.Ma*l.A;0<d--;){var p=s,g=c,m=a,v=h,b=l;switch(i){case En:Qr(p,g,m,v,b);break;case qn:tn(p,g,m,v,b);break;case Hn:tn(p,g,m,v,b),An(v,b,0,m,1,0);break;case Dn:nn(p,g,m,v,b);break;case Rn:et(p,g,m,v,b,1);break;case Wn:et(p,g,m,v,b,1),An(v,b,0,m,1,0);break;case Tn:et(p,g,m,v,b,0);break;case Vn:et(p,g,m,v,b,0),An(v,b,1,m,1,0);break;case Un:en(p,g,m,v,b);break;case Gn:en(p,g,m,v,b),xn(v,b,m,1,0);break;case zn:rn(p,g,m,v,b);break;default:e(0)}c+=u,l+=f}t.Ma+=o}else alert(\"todo:EmitRescaledRowsYUVA\");e(t.Ma<=n.height)}}t.C=r,e(t.C<=t.i)}function At(t){var e;if(0<t.ua)return 0;for(e=0;e<t.Wb;++e){var r=t.Ya[e].G,n=t.Ya[e].H;if(0<r[1][n[1]+0].g||0<r[2][n[2]+0].g||0<r[3][n[3]+0].g)return 0}return 1}function xt(t,r,n,i,a,o){if(0!=t.Z){var s=t.qd,c=t.rd;for(e(null!=mi[t.Z]);r<n;++r)mi[t.Z](s,c,i,a,i,a,o),s=i,c=a,a+=o;t.qd=s,t.rd=c}}function St(t,r){var n=t.l.ma,i=0==n.Z||1==n.Z?t.l.j:t.C;i=t.C<i?i:t.C;if(e(r<=t.l.o),r>i){var a=t.l.width,o=n.ca,s=n.tb+a*i,c=t.V,u=t.Ba+t.c*i,h=t.gc;e(1==t.ab),e(3==h[0].hc),Xr(h[0],i,r,c,u,o,s),xt(n,i,r,o,s,a)}t.C=t.Ma=r}function _t(t,r,n,i,a,o,s){var c=t.$/i,u=t.$%i,h=t.m,l=t.s,f=n+t.$,d=f;a=n+i*a;var p=n+i*o,g=280+l.ua,m=t.Pb?c:16777216,v=0<l.ua?l.Wa:null,b=l.wc,y=f<p?wt(l,u,c):null;e(t.C<o),e(p<=a);var w=!1;t:for(;;){for(;w||f<p;){var N=0;if(c>=m){var _=f-n;e((m=t).Pb),m.wd=m.m,m.xd=_,0<m.s.ua&&B(m.s.Wa,m.s.vb),m=c+ti}if(u&b||(y=wt(l,u,c)),e(null!=y),y.Qb&&(r[f]=y.qb,w=!0),!w)if(S(h),y.jc){N=h,_=r;var P=f,k=y.pd[L(N)&Dr-1];e(y.jc),256>k.g?(x(N,N.u+k.g),_[P]=k.value,N=0):(x(N,N.u+k.g-256),e(256<=k.value),N=k.value),0==N&&(w=!0)}else N=bt(y.G[0],y.H[0],h);if(h.h)break;if(w||256>N){if(!w)if(y.nd)r[f]=(y.qb|N<<8)>>>0;else{if(S(h),w=bt(y.G[1],y.H[1],h),S(h),_=bt(y.G[2],y.H[2],h),P=bt(y.G[3],y.H[3],h),h.h)break;r[f]=(P<<24|w<<16|N<<8|_)>>>0}if(w=!1,++f,++u>=i&&(u=0,++c,null!=s&&c<=o&&!(c%16)&&s(t,c),null!=v))for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else if(280>N){if(N=mt(N-256,h),_=bt(y.G[4],y.H[4],h),S(h),_=vt(i,_=mt(_,h)),h.h)break;if(f-n<_||a-f<N)break t;for(P=0;P<N;++P)r[f+P]=r[f+P-_];for(f+=N,u+=N;u>=i;)u-=i,++c,null!=s&&c<=o&&!(c%16)&&s(t,c);if(e(f<=a),u&b&&(y=wt(l,u,c)),null!=v)for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else{if(!(N<g))break t;for(w=N-280,e(null!=v);d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N;N=f,e(!(w>>>(_=v).Xa)),r[N]=_.X[w],w=!0}w||e(h.h==A(h))}if(t.Pb&&h.h&&f<a)e(t.m.h),t.a=5,t.m=t.wd,t.$=t.xd,0<t.s.ua&&B(t.s.vb,t.s.Wa);else{if(h.h)break t;null!=s&&s(t,c>o?o:c),t.a=0,t.$=f-n}return 1}return t.a=3,0}function Pt(t){e(null!=t),t.vc=null,t.yc=null,t.Ya=null;var r=t.Wa;null!=r&&(r.X=null),t.vb=null,e(null!=t)}function kt(){var e=new or;return null==e?null:(e.a=0,e.xb=gi,rt(\"Predictor\",\"VP8LPredictors\"),rt(\"Predictor\",\"VP8LPredictors_C\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd_C\"),Gr=G,$r=J,Qr=K,tn=Z,en=$,rn=Q,nn=tt,t.VP8LMapColor32b=Jr,t.VP8LMapColor8b=Kr,e)}function It(t,r,n,s,c){var u=1,f=[t],p=[r],g=s.m,m=s.s,v=null,b=0;t:for(;;){if(n)for(;u&&y(g,1);){var w=f,N=p,A=s,_=1,P=A.m,k=A.gc[A.ab],I=y(P,2);if(A.Oc&1<<I)u=0;else{switch(A.Oc|=1<<I,k.hc=I,k.Ea=w[0],k.nc=N[0],k.K=[null],++A.ab,e(4>=A.ab),I){case 0:case 1:k.b=y(P,3)+2,_=It(q(k.Ea,k.b),q(k.nc,k.b),0,A,k.K),k.K=k.K[0];break;case 3:var F,C=y(P,8)+1,j=16<C?0:4<C?1:2<C?2:3;if(w[0]=q(k.Ea,j),k.b=j,F=_=It(C,1,0,A,k.K)){var B,M=C,E=k,R=1<<(8>>E.b),T=a(R);if(null==T)F=0;else{var U=E.K[0],z=E.w;for(T[0]=E.K[0][0],B=1;B<1*M;++B)T[B]=D(U[z+B],T[B-1]);for(;B<4*R;++B)T[B]=0;E.K[0]=null,E.K[0]=T,F=1}}_=F;break;case 2:break;default:e(0)}u=_}}if(f=f[0],p=p[0],u&&y(g,1)&&!(u=1<=(b=y(g,4))&&11>=b)){s.a=3;break t}var H;if(H=u)e:{var W,V,G,Y=s,J=f,X=p,K=b,Z=n,$=Y.m,Q=Y.s,tt=[null],et=1,rt=0,nt=Qn[K];r:for(;;){if(Z&&y($,1)){var it=y($,3)+2,at=q(J,it),ot=q(X,it),st=at*ot;if(!It(at,ot,0,Y,tt))break r;for(tt=tt[0],Q.xc=it,W=0;W<st;++W){var ct=tt[W]>>8&65535;tt[W]=ct,ct>=et&&(et=ct+1)}}if($.h)break r;for(V=0;5>V;++V){var ut=Xn[V];!V&&0<K&&(ut+=1<<K),rt<ut&&(rt=ut)}var ht=o(et*nt,l),lt=et,ft=o(lt,d);if(null==ft)var dt=null;else e(65536>=lt),dt=ft;var pt=a(rt);if(null==dt||null==pt||null==ht){Y.a=1;break r}var gt=ht;for(W=G=0;W<et;++W){var mt=dt[W],vt=mt.G,bt=mt.H,wt=0,Nt=1,Lt=0;for(V=0;5>V;++V){ut=Xn[V],vt[V]=gt,bt[V]=G,!V&&0<K&&(ut+=1<<K);n:{var At,xt=ut,St=Y,kt=pt,Ft=gt,Ct=G,jt=0,Ot=St.m,Bt=y(Ot,1);if(i(kt,0,0,xt),Bt){var Mt=y(Ot,1)+1,Et=y(Ot,1),qt=y(Ot,0==Et?1:8);kt[qt]=1,2==Mt&&(kt[qt=y(Ot,8)]=1);var Dt=1}else{var Rt=a(19),Tt=y(Ot,4)+4;if(19<Tt){St.a=3;var Ut=0;break n}for(At=0;At<Tt;++At)Rt[Zn[At]]=y(Ot,3);var zt=void 0,Ht=void 0,Wt=St,Vt=Rt,Gt=xt,Yt=kt,Jt=0,Xt=Wt.m,Kt=8,Zt=o(128,l);i:for(;h(Zt,0,7,Vt,19);){if(y(Xt,1)){var $t=2+2*y(Xt,3);if((zt=2+y(Xt,$t))>Gt)break i}else zt=Gt;for(Ht=0;Ht<Gt&&zt--;){S(Xt);var Qt=Zt[0+(127&L(Xt))];x(Xt,Xt.u+Qt.g);var te=Qt.value;if(16>te)Yt[Ht++]=te,0!=te&&(Kt=te);else{var ee=16==te,re=te-16,ne=Jn[re],ie=y(Xt,Yn[re])+ne;if(Ht+ie>Gt)break i;for(var ae=ee?Kt:0;0<ie--;)Yt[Ht++]=ae}}Jt=1;break i}Jt||(Wt.a=3),Dt=Jt}(Dt=Dt&&!Ot.h)&&(jt=h(Ft,Ct,8,kt,xt)),Dt&&0!=jt?Ut=jt:(St.a=3,Ut=0)}if(0==Ut)break r;if(Nt&&1==Kn[V]&&(Nt=0==gt[G].g),wt+=gt[G].g,G+=Ut,3>=V){var oe,se=pt[0];for(oe=1;oe<ut;++oe)pt[oe]>se&&(se=pt[oe]);Lt+=se}}if(mt.nd=Nt,mt.Qb=0,Nt&&(mt.qb=(vt[3][bt[3]+0].value<<24|vt[1][bt[1]+0].value<<16|vt[2][bt[2]+0].value)>>>0,0==wt&&256>vt[0][bt[0]+0].value&&(mt.Qb=1,mt.qb+=vt[0][bt[0]+0].value<<8)),mt.jc=!mt.Qb&&6>Lt,mt.jc){var ce,ue=mt;for(ce=0;ce<Dr;++ce){var he=ce,le=ue.pd[he],fe=ue.G[0][ue.H[0]+he];256<=fe.value?(le.g=fe.g+256,le.value=fe.value):(le.g=0,le.value=0,he>>=yt(fe,8,le),he>>=yt(ue.G[1][ue.H[1]+he],16,le),he>>=yt(ue.G[2][ue.H[2]+he],0,le),yt(ue.G[3][ue.H[3]+he],24,le))}}}Q.vc=tt,Q.Wb=et,Q.Ya=dt,Q.yc=ht,H=1;break e}H=0}if(!(u=H)){s.a=3;break t}if(0<b){if(m.ua=1<<b,!O(m.Wa,b)){s.a=1,u=0;break t}}else m.ua=0;var de=s,pe=f,ge=p,me=de.s,ve=me.xc;if(de.c=pe,de.i=ge,me.md=q(pe,ve),me.wc=0==ve?-1:(1<<ve)-1,n){s.xb=pi;break t}if(null==(v=a(f*p))){s.a=1,u=0;break t}u=(u=_t(s,v,0,f,p,p,null))&&!g.h;break t}return u?(null!=c?c[0]=v:(e(null==v),e(n)),s.$=0,n||Pt(m)):Pt(m),u}function Ft(t,r){var n=t.c*t.i,i=n+r+16*r;return e(t.c<=r),t.V=a(i),null==t.V?(t.Ta=null,t.Ua=0,t.a=1,0):(t.Ta=t.V,t.Ua=t.Ba+n+r,1)}function Ct(t,r){var n=t.C,i=r-n,a=t.V,o=t.Ba+t.c*n;for(e(r<=t.l.o);0<i;){var s=16<i?16:i,c=t.l.ma,u=t.l.width,h=u*s,l=c.ca,f=c.tb+u*n,d=t.Ta,p=t.Ua;Nt(t,s,a,o),_n(d,p,l,f,h),xt(c,n,n+s,l,f,u),i-=s,a+=s*t.c,n+=s}e(n==r),t.C=t.Ma=r}function jt(){this.ub=this.yd=this.td=this.Rb=0}function Ot(){this.Kd=this.Ld=this.Ud=this.Td=this.i=this.c=0}function Bt(){this.Fb=this.Bb=this.Cb=0,this.Zb=a(4),this.Lb=a(4)}function Mt(){this.Yb=function(){var t=[];return function t(e,r,n){for(var i=n[r],a=0;a<i&&(e.push(n.length>r+1?[]:0),!(n.length<r+1));a++)t(e[a],r+1,n)}(t,0,[3,11]),t}()}function Et(){this.jb=a(3),this.Wc=s([4,8],Mt),this.Xc=s([4,17],Mt)}function qt(){this.Pc=this.wb=this.Tb=this.zd=0,this.vd=new a(4),this.od=new a(4)}function Dt(){this.ld=this.La=this.dd=this.tc=0}function Rt(){this.Na=this.la=0}function Tt(){this.Sc=[0,0],this.Eb=[0,0],this.Qc=[0,0],this.ia=this.lc=0}function Ut(){this.ad=a(384),this.Za=0,this.Ob=a(16),this.$b=this.Ad=this.ia=this.Gc=this.Hc=this.Dd=0}function zt(){this.uc=this.M=this.Nb=0,this.wa=Array(new Dt),this.Y=0,this.ya=Array(new Ut),this.aa=0,this.l=new Gt}function Ht(){this.y=a(16),this.f=a(8),this.ea=a(8)}function Wt(){this.cb=this.a=0,this.sc=\"\",this.m=new w,this.Od=new jt,this.Kc=new Ot,this.ed=new qt,this.Qa=new Bt,this.Ic=this.$c=this.Aa=0,this.D=new zt,this.Xb=this.Va=this.Hb=this.zb=this.yb=this.Ub=this.za=0,this.Jc=o(8,w),this.ia=0,this.pb=o(4,Tt),this.Pa=new Et,this.Bd=this.kc=0,this.Ac=[],this.Bc=0,this.zc=[0,0,0,0],this.Gd=Array(new Ht),this.Hd=0,this.rb=Array(new Rt),this.sb=0,this.wa=Array(new Dt),this.Y=0,this.oc=[],this.pc=0,this.sa=[],this.ta=0,this.qa=[],this.ra=0,this.Ha=[],this.B=this.R=this.Ia=0,this.Ec=[],this.M=this.ja=this.Vb=this.Fc=0,this.ya=Array(new Ut),this.L=this.aa=0,this.gd=s([4,2],Dt),this.ga=null,this.Fa=[],this.Cc=this.qc=this.P=0,this.Gb=[],this.Uc=0,this.mb=[],this.nb=0,this.rc=[],this.Ga=this.Vc=0}function Vt(t,e){return 0>t?0:t>e?e:t}function Gt(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=\"void\",this.put=\"VP8IoPutHook\",this.ac=\"VP8IoSetupHook\",this.bc=\"VP8IoTeardownHook\",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Yt(){var t=new Wt;return null!=t&&(t.a=0,t.sc=\"OK\",t.cb=0,t.Xb=0,ni||(ni=Zt)),t}function Jt(t,e,r){return 0==t.a&&(t.a=e,t.sc=r,t.cb=0),0}function Xt(t,e,r){return 3<=r&&157==t[e+0]&&1==t[e+1]&&42==t[e+2]}function Kt(t,r){if(null==t)return 0;if(t.a=0,t.sc=\"OK\",null==r)return Jt(t,2,\"null VP8Io passed to VP8GetHeaders()\");var n=r.data,a=r.w,o=r.ha;if(4>o)return Jt(t,7,\"Truncated header.\");var s=n[a+0]|n[a+1]<<8|n[a+2]<<16,c=t.Od;if(c.Rb=!(1&s),c.td=s>>1&7,c.yd=s>>4&1,c.ub=s>>5,3<c.td)return Jt(t,3,\"Incorrect keyframe parameters.\");if(!c.yd)return Jt(t,4,\"Frame not displayable.\");a+=3,o-=3;var u=t.Kc;if(c.Rb){if(7>o)return Jt(t,7,\"cannot parse picture header\");if(!Xt(n,a,o))return Jt(t,3,\"Bad code word\");u.c=16383&(n[a+4]<<8|n[a+3]),u.Td=n[a+4]>>6,u.i=16383&(n[a+6]<<8|n[a+5]),u.Ud=n[a+6]>>6,a+=7,o-=7,t.za=u.c+15>>4,t.Ub=u.i+15>>4,r.width=u.c,r.height=u.i,r.Da=0,r.j=0,r.v=0,r.va=r.width,r.o=r.height,r.da=0,r.ib=r.width,r.hb=r.height,r.U=r.width,r.T=r.height,i((s=t.Pa).jb,0,255,s.jb.length),e(null!=(s=t.Qa)),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(c.ub>o)return Jt(t,7,\"bad partition length\");p(s=t.m,n,a,c.ub),a+=c.ub,o-=c.ub,c.Rb&&(u.Ld=P(s),u.Kd=P(s)),u=t.Qa;var h,l=t.Pa;if(e(null!=s),e(null!=u),u.Cb=P(s),u.Cb){if(u.Bb=P(s),P(s)){for(u.Fb=P(s),h=0;4>h;++h)u.Zb[h]=P(s)?m(s,7):0;for(h=0;4>h;++h)u.Lb[h]=P(s)?m(s,6):0}if(u.Bb)for(h=0;3>h;++h)l.jb[h]=P(s)?g(s,8):255}else u.Bb=0;if(s.Ka)return Jt(t,3,\"cannot parse segment header\");if((u=t.ed).zd=P(s),u.Tb=g(s,6),u.wb=g(s,3),u.Pc=P(s),u.Pc&&P(s)){for(l=0;4>l;++l)P(s)&&(u.vd[l]=m(s,6));for(l=0;4>l;++l)P(s)&&(u.od[l]=m(s,6))}if(t.L=0==u.Tb?0:u.zd?1:2,s.Ka)return Jt(t,3,\"cannot parse filter header\");var f=o;if(o=h=a,a=h+f,u=f,t.Xb=(1<<g(t.m,2))-1,f<3*(l=t.Xb))n=7;else{for(h+=3*l,u-=3*l,f=0;f<l;++f){var d=n[o+0]|n[o+1]<<8|n[o+2]<<16;d>u&&(d=u),p(t.Jc[+f],n,h,d),h+=d,u-=d,o+=3}p(t.Jc[+l],n,h,u),n=h<a?0:5}if(0!=n)return Jt(t,n,\"cannot parse partitions\");for(n=g(h=t.m,7),o=P(h)?m(h,4):0,a=P(h)?m(h,4):0,u=P(h)?m(h,4):0,l=P(h)?m(h,4):0,h=P(h)?m(h,4):0,f=t.Qa,d=0;4>d;++d){if(f.Cb){var v=f.Zb[d];f.Fb||(v+=n)}else{if(0<d){t.pb[d]=t.pb[0];continue}v=n}var b=t.pb[d];b.Sc[0]=ei[Vt(v+o,127)],b.Sc[1]=ri[Vt(v+0,127)],b.Eb[0]=2*ei[Vt(v+a,127)],b.Eb[1]=101581*ri[Vt(v+u,127)]>>16,8>b.Eb[1]&&(b.Eb[1]=8),b.Qc[0]=ei[Vt(v+l,117)],b.Qc[1]=ri[Vt(v+h,127)],b.lc=v+h}if(!c.Rb)return Jt(t,4,\"Not a key frame.\");for(P(s),c=t.Pa,n=0;4>n;++n){for(o=0;8>o;++o)for(a=0;3>a;++a)for(u=0;11>u;++u)l=k(s,ui[n][o][a][u])?g(s,8):si[n][o][a][u],c.Wc[n][o].Yb[a][u]=l;for(o=0;17>o;++o)c.Xc[n][o]=c.Wc[n][hi[o]]}return t.kc=P(s),t.kc&&(t.Bd=g(s,8)),t.cb=1}function Zt(t,e,r,n,i,a,o){var s=e[i].Yb[r];for(r=0;16>i;++i){if(!k(t,s[r+0]))return i;for(;!k(t,s[r+1]);)if(s=e[++i].Yb[0],r=0,16==i)return 16;var c=e[i+1].Yb;if(k(t,s[r+2])){var u=t,h=0;if(k(u,(f=s)[(l=r)+3]))if(k(u,f[l+6])){for(s=0,l=2*(h=k(u,f[l+8]))+(f=k(u,f[l+9+h])),h=0,f=ii[l];f[s];++s)h+=h+k(u,f[s]);h+=3+(8<<l)}else k(u,f[l+7])?(h=7+2*k(u,165),h+=k(u,145)):h=5+k(u,159);else h=k(u,f[l+4])?3+k(u,f[l+5]):2;s=c[2]}else h=1,s=c[1];c=o+ai[i],0>(u=t).b&&_(u);var l,f=u.b,d=(l=u.Ca>>1)-(u.I>>f)>>31;--u.b,u.Ca+=d,u.Ca|=1,u.I-=(l+1&d)<<f,a[c]=((h^d)-d)*n[(0<i)+0]}return 16}function $t(t){var e=t.rb[t.sb-1];e.la=0,e.Na=0,i(t.zc,0,0,t.zc.length),t.ja=0}function Qt(t,r){if(null==t)return 0;if(null==r)return Jt(t,2,\"NULL VP8Io parameter in VP8Decode().\");if(!t.cb&&!Kt(t,r))return 0;if(e(t.cb),null==r.ac||r.ac(r)){r.ob&&(t.L=0);var s=Ri[t.L];if(2==t.L?(t.yb=0,t.zb=0):(t.yb=r.v-s>>4,t.zb=r.j-s>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=r.o+15+s>>4,t.Hb=r.va+15+s>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0<t.L){var c=t.ed;for(s=0;4>s;++s){var u;if(t.Qa.Cb){var h=t.Qa.Lb[s];t.Qa.Fb||(h+=c.Tb)}else h=c.Tb;for(u=0;1>=u;++u){var l=t.gd[s][u],f=h;if(c.Pc&&(f+=c.vd[0],u&&(f+=c.od[0])),0<(f=0>f?0:63<f?63:f)){var d=f;0<c.wb&&((d=4<c.wb?d>>2:d>>1)>9-c.wb&&(d=9-c.wb)),1>d&&(d=1),l.dd=d,l.tc=2*f+d,l.ld=40<=f?2:15<=f?1:0}else l.tc=0;l.La=u}}}s=0}else Jt(t,6,\"Frame setup failed\"),s=t.a;if(s=0==s){if(s){t.$c=0,0<t.Aa||(t.Ic=Ui);t:{s=t.Ic;c=4*(d=t.za);var p=32*d,g=d+1,m=0<t.L?d*(0<t.Aa?2:1):0,v=(2==t.Aa?2:1)*d;if((l=c+832+(u=3*(16*s+Ri[t.L])/2*p)+(h=null!=t.Fa&&0<t.Fa.length?t.Kc.c*t.Kc.i:0))!=l)s=0;else{if(l>t.Vb){if(t.Vb=0,t.Ec=a(l),t.Fc=0,null==t.Ec){s=Jt(t,1,\"no memory during frame initialization.\");break t}t.Vb=l}l=t.Ec,f=t.Fc,t.Ac=l,t.Bc=f,f+=c,t.Gd=o(p,Ht),t.Hd=0,t.rb=o(g+1,Rt),t.sb=1,t.wa=m?o(m,Dt):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0<t.Aa&&(t.D.Y+=d),e(!0),t.oc=l,t.pc=f,f+=832,t.ya=o(v,Ut),t.aa=0,t.D.ya=t.ya,t.D.aa=t.aa,2==t.Aa&&(t.D.aa+=d),t.R=16*d,t.B=8*d,d=(p=Ri[t.L])*t.R,p=p/2*t.B,t.sa=l,t.ta=f+d,t.qa=t.sa,t.ra=t.ta+16*s*t.R+p,t.Ha=t.qa,t.Ia=t.ra+8*s*t.B+p,t.$c=0,f+=u,t.mb=h?l:null,t.nb=h?f:null,e(f+h<=t.Fc+t.Vb),$t(t),i(t.Ac,t.Bc,0,c),s=1}}if(s){if(r.ka=0,r.y=t.sa,r.O=t.ta,r.f=t.qa,r.N=t.ra,r.ea=t.Ha,r.Vd=t.Ia,r.fa=t.R,r.Rc=t.B,r.F=null,r.J=0,!Cn){for(s=-255;255>=s;++s)Pn[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)kn[1020+s]=-128>s?-128:127<s?127:s;for(s=-112;112>=s;++s)In[112+s]=-16>s?-16:15<s?15:s;for(s=-255;510>=s;++s)Fn[255+s]=0>s?0:255<s?255:s;Cn=1}an=ue,on=ae,cn=oe,un=se,hn=ce,sn=ie,ln=Je,fn=Xe,dn=$e,pn=Qe,gn=Ke,mn=Ze,vn=tr,bn=er,yn=ze,wn=He,Nn=We,Ln=Ve,fi[0]=xe,fi[1]=le,fi[2]=Le,fi[3]=Ae,fi[4]=Se,fi[5]=Pe,fi[6]=_e,fi[7]=ke,fi[8]=Fe,fi[9]=Ie,li[0]=ve,li[1]=de,li[2]=pe,li[3]=ge,li[4]=be,li[5]=ye,li[6]=we,di[0]=Be,di[1]=fe,di[2]=Ce,di[3]=je,di[4]=Ee,di[5]=Me,di[6]=qe,s=1}else s=0}s&&(s=function(t,r){for(t.M=0;t.M<t.Va;++t.M){var o,s=t.Jc[t.M&t.Xb],c=t.m,u=t;for(o=0;o<u.za;++o){var h=c,l=u,f=l.Ac,d=l.Bc+4*o,p=l.zc,g=l.ya[l.aa+o];if(l.Qa.Bb?g.$b=k(h,l.Pa.jb[0])?2+k(h,l.Pa.jb[2]):k(h,l.Pa.jb[1]):g.$b=0,l.kc&&(g.Ad=k(h,l.Bd)),g.Za=!k(h,145)+0,g.Za){var m=g.Ob,v=0;for(l=0;4>l;++l){var b,y=p[0+l];for(b=0;4>b;++b){y=ci[f[d+b]][y];for(var w=oi[k(h,y[0])];0<w;)w=oi[2*w+k(h,y[w])];y=-w,f[d+b]=y}n(m,v,f,d,4),v+=4,p[0+l]=y}}else y=k(h,156)?k(h,128)?1:3:k(h,163)?2:0,g.Ob[0]=y,i(f,d,y,4),i(p,0,y,4);g.Dd=k(h,142)?k(h,114)?k(h,183)?1:3:2:0}if(u.m.Ka)return Jt(t,7,\"Premature end-of-partition0 encountered.\");for(;t.ja<t.za;++t.ja){if(u=s,h=(c=t).rb[c.sb-1],f=c.rb[c.sb+c.ja],o=c.ya[c.aa+c.ja],d=c.kc?o.Ad:0)h.la=f.la=0,o.Za||(h.Na=f.Na=0),o.Hc=0,o.Gc=0,o.ia=0;else{var N,L;h=f,f=u,d=c.Pa.Xc,p=c.ya[c.aa+c.ja],g=c.pb[p.$b];if(l=p.ad,m=0,v=c.rb[c.sb-1],y=b=0,i(l,m,0,384),p.Za)var A=0,x=d[3];else{w=a(16);var S=h.Na+v.Na;if(S=ni(f,d[1],S,g.Eb,0,w,0),h.Na=v.Na=(0<S)+0,1<S)an(w,0,l,m);else{var _=w[0]+3>>3;for(w=0;256>w;w+=16)l[m+w]=_}A=1,x=d[0]}var P=15&h.la,I=15&v.la;for(w=0;4>w;++w){var F=1&I;for(_=L=0;4>_;++_)P=P>>1|(F=(S=ni(f,x,S=F+(1&P),g.Sc,A,l,m))>A)<<7,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=4,I=I>>1|F<<7,b=(b<<8|L)>>>0}for(x=P,A=I>>4,N=0;4>N;N+=2){for(L=0,P=h.la>>4+N,I=v.la>>4+N,w=0;2>w;++w){for(F=1&I,_=0;2>_;++_)S=F+(1&P),P=P>>1|(F=0<(S=ni(f,d[2],S,g.Qc,0,l,m)))<<3,L=L<<2|(3<S?3:1<S?2:0!=l[m+0]),m+=16;P>>=2,I=I>>1|F<<5}y|=L<<4*N,x|=P<<4<<N,A|=(240&I)<<N}h.la=x,v.la=A,p.Hc=b,p.Gc=y,p.ia=43690&y?0:g.ia,d=!(b|y)}if(0<c.L&&(c.wa[c.Y+c.ja]=c.gd[o.$b][o.Za],c.wa[c.Y+c.ja].La|=!d),u.Ka)return Jt(t,7,\"Premature end-of-file encountered.\")}if($t(t),c=r,u=1,o=(s=t).D,h=0<s.L&&s.M>=s.zb&&s.M<=s.Va,0==s.Aa)t:{if(o.M=s.M,o.uc=h,Or(s,o),u=1,o=(L=s.D).Nb,h=(y=Ri[s.L])*s.R,f=y/2*s.B,w=16*o*s.R,_=8*o*s.B,d=s.sa,p=s.ta-h+w,g=s.qa,l=s.ra-f+_,m=s.Ha,v=s.Ia-f+_,I=0==(P=L.M),b=P>=s.Va-1,2==s.Aa&&Or(s,L),L.uc)for(F=(S=s).D.M,e(S.D.uc),L=S.yb;L<S.Hb;++L){A=L,x=F;var C=(j=(U=S).D).Nb;N=U.R;var j=j.wa[j.Y+A],O=U.sa,B=U.ta+16*C*N+16*A,M=j.dd,E=j.tc;if(0!=E)if(e(3<=E),1==U.L)0<A&&wn(O,B,N,E+4),j.La&&Ln(O,B,N,E),0<x&&yn(O,B,N,E+4),j.La&&Nn(O,B,N,E);else{var q=U.B,D=U.qa,R=U.ra+8*C*q+8*A,T=U.Ha,U=U.Ia+8*C*q+8*A;C=j.ld;0<A&&(fn(O,B,N,E+4,M,C),pn(D,R,T,U,q,E+4,M,C)),j.La&&(mn(O,B,N,E,M,C),bn(D,R,T,U,q,E,M,C)),0<x&&(ln(O,B,N,E+4,M,C),dn(D,R,T,U,q,E+4,M,C)),j.La&&(gn(O,B,N,E,M,C),vn(D,R,T,U,q,E,M,C))}}if(s.ia&&alert(\"todo:DitherRow\"),null!=c.put){if(L=16*P,P=16*(P+1),I?(c.y=s.sa,c.O=s.ta+w,c.f=s.qa,c.N=s.ra+_,c.ea=s.Ha,c.W=s.Ia+_):(L-=y,c.y=d,c.O=p,c.f=g,c.N=l,c.ea=m,c.W=v),b||(P-=y),P>c.o&&(P=c.o),c.F=null,c.J=null,null!=s.Fa&&0<s.Fa.length&&L<P&&(c.J=lr(s,c,L,P-L),c.F=s.mb,null==c.F&&0==c.F.length)){u=Jt(s,3,\"Could not decode alpha data.\");break t}L<c.j&&(y=c.j-L,L=c.j,e(!(1&y)),c.O+=s.R*y,c.N+=s.B*(y>>1),c.W+=s.B*(y>>1),null!=c.F&&(c.J+=c.width*y)),L<P&&(c.O+=c.v,c.N+=c.v>>1,c.W+=c.v>>1,null!=c.F&&(c.J+=c.v),c.ka=L-c.j,c.U=c.va-c.v,c.T=P-L,u=c.put(c))}o+1!=s.Ic||b||(n(s.sa,s.ta-h,d,p+16*s.R,h),n(s.qa,s.ra-f,g,l+8*s.B,f),n(s.Ha,s.Ia-f,m,v+8*s.B,f))}if(!u)return Jt(t,6,\"Output aborted.\")}return 1}(t,r)),null!=r.bc&&r.bc(r),s&=1}return s?(t.cb=0,s):0}function te(t,e,r,n,i){i=t[e+r+32*n]+(i>>3),t[e+r+32*n]=-256&i?0>i?0:255:i}function ee(t,e,r,n,i,a){te(t,e,0,r,n+i),te(t,e,1,r,n+a),te(t,e,2,r,n-a),te(t,e,3,r,n-i)}function re(t){return(20091*t>>16)+t}function ne(t,e,r,n){var i,o=0,s=a(16);for(i=0;4>i;++i){var c=t[e+0]+t[e+8],u=t[e+0]-t[e+8],h=(35468*t[e+4]>>16)-re(t[e+12]),l=re(t[e+4])+(35468*t[e+12]>>16);s[o+0]=c+l,s[o+1]=u+h,s[o+2]=u-h,s[o+3]=c-l,o+=4,e++}for(i=o=0;4>i;++i)c=(t=s[o+0]+4)+s[o+8],u=t-s[o+8],h=(35468*s[o+4]>>16)-re(s[o+12]),te(r,n,0,0,c+(l=re(s[o+4])+(35468*s[o+12]>>16))),te(r,n,1,0,u+h),te(r,n,2,0,u-h),te(r,n,3,0,c-l),o++,n+=32}function ie(t,e,r,n){var i=t[e+0]+4,a=35468*t[e+4]>>16,o=re(t[e+4]),s=35468*t[e+1]>>16;ee(r,n,0,i+o,t=re(t[e+1]),s),ee(r,n,1,i+a,t,s),ee(r,n,2,i-a,t,s),ee(r,n,3,i-o,t,s)}function ae(t,e,r,n,i){ne(t,e,r,n),i&&ne(t,e+16,r,n+4)}function oe(t,e,r,n){on(t,e+0,r,n,1),on(t,e+32,r,n+128,1)}function se(t,e,r,n){var i;for(t=t[e+0]+4,i=0;4>i;++i)for(e=0;4>e;++e)te(r,n,e,i,t)}function ce(t,e,r,n){t[e+0]&&un(t,e+0,r,n),t[e+16]&&un(t,e+16,r,n+4),t[e+32]&&un(t,e+32,r,n+128),t[e+48]&&un(t,e+48,r,n+128+4)}function ue(t,e,r,n){var i,o=a(16);for(i=0;4>i;++i){var s=t[e+0+i]+t[e+12+i],c=t[e+4+i]+t[e+8+i],u=t[e+4+i]-t[e+8+i],h=t[e+0+i]-t[e+12+i];o[0+i]=s+c,o[8+i]=s-c,o[4+i]=h+u,o[12+i]=h-u}for(i=0;4>i;++i)s=(t=o[0+4*i]+3)+o[3+4*i],c=o[1+4*i]+o[2+4*i],u=o[1+4*i]-o[2+4*i],h=t-o[3+4*i],r[n+0]=s+c>>3,r[n+16]=h+u>>3,r[n+32]=s-c>>3,r[n+48]=h-u>>3,n+=64}function he(t,e,r){var n,i=e-32,a=Bn,o=255-t[i-1];for(n=0;n<r;++n){var s,c=a,u=o+t[e-1];for(s=0;s<r;++s)t[e+s]=c[u+t[i+s]];e+=32}}function le(t,e){he(t,e,4)}function fe(t,e){he(t,e,8)}function de(t,e){he(t,e,16)}function pe(t,e){var r;for(r=0;16>r;++r)n(t,e+32*r,t,e-32,16)}function ge(t,e){var r;for(r=16;0<r;--r)i(t,e,t[e-1],16),e+=32}function me(t,e,r){var n;for(n=0;16>n;++n)i(e,r+32*n,t,16)}function ve(t,e){var r,n=16;for(r=0;16>r;++r)n+=t[e-1+32*r]+t[e+r-32];me(n>>5,t,e)}function be(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e-1+32*r];me(n>>4,t,e)}function ye(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e+r-32];me(n>>4,t,e)}function we(t,e){me(128,t,e)}function Ne(t,e,r){return t+2*e+r+2>>2}function Le(t,e){var r,i=e-32;i=new Uint8Array([Ne(t[i-1],t[i+0],t[i+1]),Ne(t[i+0],t[i+1],t[i+2]),Ne(t[i+1],t[i+2],t[i+3]),Ne(t[i+2],t[i+3],t[i+4])]);for(r=0;4>r;++r)n(t,e+32*r,i,0,i.length)}function Ae(t,e){var r=t[e-1],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];I(t,e+0,16843009*Ne(t[e-1-32],r,n)),I(t,e+32,16843009*Ne(r,n,i)),I(t,e+64,16843009*Ne(n,i,a)),I(t,e+96,16843009*Ne(i,a,a))}function xe(t,e){var r,n=4;for(r=0;4>r;++r)n+=t[e+r-32]+t[e-1+32*r];for(n>>=3,r=0;4>r;++r)i(t,e+32*r,n,4)}function Se(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+96]=Ne(n,i,t[e-1+96]),t[e+1+96]=t[e+0+64]=Ne(r,n,i),t[e+2+96]=t[e+1+64]=t[e+0+32]=Ne(a,r,n),t[e+3+96]=t[e+2+64]=t[e+1+32]=t[e+0+0]=Ne(o,a,r),t[e+3+64]=t[e+2+32]=t[e+1+0]=Ne(s,o,a),t[e+3+32]=t[e+2+0]=Ne(c,s,o),t[e+3+0]=Ne(u,c,s)}function _e(t,e){var r=t[e+1-32],n=t[e+2-32],i=t[e+3-32],a=t[e+4-32],o=t[e+5-32],s=t[e+6-32],c=t[e+7-32];t[e+0+0]=Ne(t[e+0-32],r,n),t[e+1+0]=t[e+0+32]=Ne(r,n,i),t[e+2+0]=t[e+1+32]=t[e+0+64]=Ne(n,i,a),t[e+3+0]=t[e+2+32]=t[e+1+64]=t[e+0+96]=Ne(i,a,o),t[e+3+32]=t[e+2+64]=t[e+1+96]=Ne(a,o,s),t[e+3+64]=t[e+2+96]=Ne(o,s,c),t[e+3+96]=Ne(s,c,c)}function Pe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],c=t[e+2-32],u=t[e+3-32];t[e+0+0]=t[e+1+64]=a+o+1>>1,t[e+1+0]=t[e+2+64]=o+s+1>>1,t[e+2+0]=t[e+3+64]=s+c+1>>1,t[e+3+0]=c+u+1>>1,t[e+0+96]=Ne(i,n,r),t[e+0+64]=Ne(n,r,a),t[e+0+32]=t[e+1+96]=Ne(r,a,o),t[e+1+32]=t[e+2+96]=Ne(a,o,s),t[e+2+32]=t[e+3+96]=Ne(o,s,c),t[e+3+32]=Ne(s,c,u)}function ke(t,e){var r=t[e+0-32],n=t[e+1-32],i=t[e+2-32],a=t[e+3-32],o=t[e+4-32],s=t[e+5-32],c=t[e+6-32],u=t[e+7-32];t[e+0+0]=r+n+1>>1,t[e+1+0]=t[e+0+64]=n+i+1>>1,t[e+2+0]=t[e+1+64]=i+a+1>>1,t[e+3+0]=t[e+2+64]=a+o+1>>1,t[e+0+32]=Ne(r,n,i),t[e+1+32]=t[e+0+96]=Ne(n,i,a),t[e+2+32]=t[e+1+96]=Ne(i,a,o),t[e+3+32]=t[e+2+96]=Ne(a,o,s),t[e+3+64]=Ne(o,s,c),t[e+3+96]=Ne(s,c,u)}function Ie(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];t[e+0+0]=r+n+1>>1,t[e+2+0]=t[e+0+32]=n+i+1>>1,t[e+2+32]=t[e+0+64]=i+a+1>>1,t[e+1+0]=Ne(r,n,i),t[e+3+0]=t[e+1+32]=Ne(n,i,a),t[e+3+32]=t[e+1+64]=Ne(i,a,a),t[e+3+64]=t[e+2+64]=t[e+0+96]=t[e+1+96]=t[e+2+96]=t[e+3+96]=a}function Fe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96],o=t[e-1-32],s=t[e+0-32],c=t[e+1-32],u=t[e+2-32];t[e+0+0]=t[e+2+32]=r+o+1>>1,t[e+0+32]=t[e+2+64]=n+r+1>>1,t[e+0+64]=t[e+2+96]=i+n+1>>1,t[e+0+96]=a+i+1>>1,t[e+3+0]=Ne(s,c,u),t[e+2+0]=Ne(o,s,c),t[e+1+0]=t[e+3+32]=Ne(r,o,s),t[e+1+32]=t[e+3+64]=Ne(n,r,o),t[e+1+64]=t[e+3+96]=Ne(i,n,r),t[e+1+96]=Ne(a,i,n)}function Ce(t,e){var r;for(r=0;8>r;++r)n(t,e+32*r,t,e-32,8)}function je(t,e){var r;for(r=0;8>r;++r)i(t,e,t[e-1],8),e+=32}function Oe(t,e,r){var n;for(n=0;8>n;++n)i(e,r+32*n,t,8)}function Be(t,e){var r,n=8;for(r=0;8>r;++r)n+=t[e+r-32]+t[e-1+32*r];Oe(n>>4,t,e)}function Me(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e+r-32];Oe(n>>3,t,e)}function Ee(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e-1+32*r];Oe(n>>3,t,e)}function qe(t,e){Oe(128,t,e)}function De(t,e,r){var n=t[e-r],i=t[e+0],a=3*(i-n)+jn[1020+t[e-2*r]-t[e+r]],o=On[112+(a+4>>3)];t[e-r]=Bn[255+n+On[112+(a+3>>3)]],t[e+0]=Bn[255+i-o]}function Re(t,e,r,n){var i=t[e+0],a=t[e+r];return Mn[255+t[e-2*r]-t[e-r]]>n||Mn[255+a-i]>n}function Te(t,e,r,n){return 4*Mn[255+t[e-r]-t[e+0]]+Mn[255+t[e-2*r]-t[e+r]]<=n}function Ue(t,e,r,n,i){var a=t[e-3*r],o=t[e-2*r],s=t[e-r],c=t[e+0],u=t[e+r],h=t[e+2*r],l=t[e+3*r];return 4*Mn[255+s-c]+Mn[255+o-u]>n?0:Mn[255+t[e-4*r]-a]<=i&&Mn[255+a-o]<=i&&Mn[255+o-s]<=i&&Mn[255+l-h]<=i&&Mn[255+h-u]<=i&&Mn[255+u-c]<=i}function ze(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n,r,i)&&De(t,e+n,r)}function He(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)Te(t,e+n*r,1,i)&&De(t,e+n*r,1)}function We(t,e,r,n){var i;for(i=3;0<i;--i)ze(t,e+=4*r,r,n)}function Ve(t,e,r,n){var i;for(i=3;0<i;--i)He(t,e+=4,r,n)}function Ge(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-2*h],f=c[u-h],d=c[u+0],p=c[u+h],g=c[u+2*h],m=27*(b=jn[1020+3*(d-f)+jn[1020+l-p]])+63>>7,v=18*b+63>>7,b=9*b+63>>7;c[u-3*h]=Bn[255+c[u-3*h]+b],c[u-2*h]=Bn[255+l+v],c[u-h]=Bn[255+f+m],c[u+0]=Bn[255+d-m],c[u+h]=Bn[255+p-v],c[u+2*h]=Bn[255+g-b]}e+=n}}function Ye(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Re(t,e,r,s))De(t,e,r);else{var c=t,u=e,h=r,l=c[u-h],f=c[u+0],d=c[u+h],p=On[112+((g=3*(f-l))+4>>3)],g=On[112+(g+3>>3)],m=p+1>>1;c[u-2*h]=Bn[255+c[u-2*h]+m],c[u-h]=Bn[255+l+g],c[u+0]=Bn[255+f-p],c[u+h]=Bn[255+d-m]}e+=n}}function Je(t,e,r,n,i,a){Ge(t,e,r,1,16,n,i,a)}function Xe(t,e,r,n,i,a){Ge(t,e,1,r,16,n,i,a)}function Ke(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4*r,r,1,16,n,i,a)}function Ze(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4,1,r,16,n,i,a)}function $e(t,e,r,n,i,a,o,s){Ge(t,e,i,1,8,a,o,s),Ge(r,n,i,1,8,a,o,s)}function Qe(t,e,r,n,i,a,o,s){Ge(t,e,1,i,8,a,o,s),Ge(r,n,1,i,8,a,o,s)}function tr(t,e,r,n,i,a,o,s){Ye(t,e+4*i,i,1,8,a,o,s),Ye(r,n+4*i,i,1,8,a,o,s)}function er(t,e,r,n,i,a,o,s){Ye(t,e+4,1,i,8,a,o,s),Ye(r,n+4,1,i,8,a,o,s)}function rr(){this.ba=new ot,this.ec=[],this.cc=[],this.Mc=[],this.Dc=this.Nc=this.dc=this.fc=0,this.Oa=new ct,this.memory=0,this.Ib=\"OutputFunc\",this.Jb=\"OutputAlphaFunc\",this.Nd=\"OutputRowFunc\"}function nr(){this.data=[],this.offset=this.kd=this.ha=this.w=0,this.na=[],this.xa=this.gb=this.Ja=this.Sa=this.P=0}function ir(){this.nc=this.Ea=this.b=this.hc=0,this.K=[],this.w=0}function ar(){this.ua=0,this.Wa=new M,this.vb=new M,this.md=this.xc=this.wc=0,this.vc=[],this.Wb=0,this.Ya=new d,this.yc=new l}function or(){this.xb=this.a=0,this.l=new Gt,this.ca=new ot,this.V=[],this.Ba=0,this.Ta=[],this.Ua=0,this.m=new N,this.Pb=0,this.wd=new N,this.Ma=this.$=this.C=this.i=this.c=this.xd=0,this.s=new ar,this.ab=0,this.gc=o(4,ir),this.Oc=0}function sr(){this.Lc=this.Z=this.$a=this.i=this.c=0,this.l=new Gt,this.ic=0,this.ca=[],this.tb=0,this.qd=null,this.rd=0}function cr(t,e,r,n,i,a,o){for(t=null==t?0:t[e+0],e=0;e<o;++e)i[a+e]=t+r[n+e]&255,t=i[a+e]}function ur(t,e,r,n,i,a,o){var s;if(null==t)cr(null,null,r,n,i,a,o);else for(s=0;s<o;++s)i[a+s]=t[e+s]+r[n+s]&255}function hr(t,e,r,n,i,a,o){if(null==t)cr(null,null,r,n,i,a,o);else{var s,c=t[e+0],u=c,h=c;for(s=0;s<o;++s)u=h+(c=t[e+s])-u,h=r[n+s]+(-256&u?0>u?0:255:u)&255,u=c,i[a+s]=h}}function lr(t,r,i,o){var s=r.width,c=r.o;if(e(null!=t&&null!=r),0>i||0>=o||i+o>c)return null;if(!t.Cc){if(null==t.ga){var u;if(t.ga=new sr,(u=null==t.ga)||(u=r.width*r.o,e(0==t.Gb.length),t.Gb=a(u),t.Uc=0,null==t.Gb?u=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,u=1),u=!u),!u){u=t.ga;var h=t.Fa,l=t.P,f=t.qc,d=t.mb,p=t.nb,g=l+1,m=f-1,b=u.l;if(e(null!=h&&null!=d&&null!=r),mi[0]=null,mi[1]=cr,mi[2]=ur,mi[3]=hr,u.ca=d,u.tb=p,u.c=r.width,u.i=r.height,e(0<u.c&&0<u.i),1>=f)r=0;else if(u.$a=h[l+0]>>0&3,u.Z=h[l+0]>>2&3,u.Lc=h[l+0]>>4&3,l=h[l+0]>>6&3,0>u.$a||1<u.$a||4<=u.Z||1<u.Lc||l)r=0;else if(b.put=dt,b.ac=ft,b.bc=pt,b.ma=u,b.width=r.width,b.height=r.height,b.Da=r.Da,b.v=r.v,b.va=r.va,b.j=r.j,b.o=r.o,u.$a)t:{e(1==u.$a),r=kt();e:for(;;){if(null==r){r=0;break t}if(e(null!=u),u.mc=r,r.c=u.c,r.i=u.i,r.l=u.l,r.l.ma=u,r.l.width=u.c,r.l.height=u.i,r.a=0,v(r.m,h,g,m),!It(u.c,u.i,1,r,null))break e;if(1==r.ab&&3==r.gc[0].hc&&At(r.s)?(u.ic=1,h=r.c*r.i,r.Ta=null,r.Ua=0,r.V=a(h),r.Ba=0,null==r.V?(r.a=1,r=0):r=1):(u.ic=0,r=Ft(r,u.c)),!r)break e;r=1;break t}u.mc=null,r=0}else r=m>=u.c*u.i;u=!r}if(u)return null;1!=t.ga.Lc?t.Ga=0:o=c-i}e(null!=t.ga),e(i+o<=c);t:{if(r=(h=t.ga).c,c=h.l.o,0==h.$a){if(g=t.rc,m=t.Vc,b=t.Fa,l=t.P+1+i*r,f=t.mb,d=t.nb+i*r,e(l<=t.P+t.qc),0!=h.Z)for(e(null!=mi[h.Z]),u=0;u<o;++u)mi[h.Z](g,m,b,l,f,d,r),g=f,m=d,d+=r,l+=r;else for(u=0;u<o;++u)n(f,d,b,l,r),g=f,m=d,d+=r,l+=r;t.rc=g,t.Vc=m}else{if(e(null!=h.mc),r=i+o,e(null!=(u=h.mc)),e(r<=u.i),u.C>=r)r=1;else if(h.ic||mr(),h.ic){h=u.V,g=u.Ba,m=u.c;var y=u.i,w=(b=1,l=u.$/m,f=u.$%m,d=u.m,p=u.s,u.$),N=m*y,L=m*r,x=p.wc,_=w<L?wt(p,f,l):null;e(w<=N),e(r<=y),e(At(p));e:for(;;){for(;!d.h&&w<L;){if(f&x||(_=wt(p,f,l)),e(null!=_),S(d),256>(y=bt(_.G[0],_.H[0],d)))h[g+w]=y,++w,++f>=m&&(f=0,++l<=r&&!(l%16)&&St(u,l));else{if(!(280>y)){b=0;break e}y=mt(y-256,d);var P,k=bt(_.G[4],_.H[4],d);if(S(d),!(w>=(k=vt(m,k=mt(k,d)))&&N-w>=y)){b=0;break e}for(P=0;P<y;++P)h[g+w+P]=h[g+w+P-k];for(w+=y,f+=y;f>=m;)f-=m,++l<=r&&!(l%16)&&St(u,l);w<L&&f&x&&(_=wt(p,f,l))}e(d.h==A(d))}St(u,l>r?r:l);break e}!b||d.h&&w<N?(b=0,u.a=d.h?5:3):u.$=w,r=b}else r=_t(u,u.V,u.Ba,u.c,u.i,r,Ct);if(!r){o=0;break t}}i+o>=c&&(t.Cc=1),o=1}if(!o)return null;if(t.Cc&&(null!=(o=t.ga)&&(o.mc=null),t.ga=null,0<t.Ga))return alert(\"todo:WebPDequantizeLevels\"),null}return t.nb+i*s}function fr(t,e,r,n,i,a){for(;0<i--;){var o,s=t,c=e+(r?1:0),u=t,h=e+(r?0:3);for(o=0;o<n;++o){var l=u[h+4*o];255!=l&&(l*=32897,s[c+4*o+0]=s[c+4*o+0]*l>>23,s[c+4*o+1]=s[c+4*o+1]*l>>23,s[c+4*o+2]=s[c+4*o+2]*l>>23)}e+=a}}function dr(t,e,r,n,i){for(;0<n--;){var a;for(a=0;a<r;++a){var o=t[e+2*a+0],s=15&(u=t[e+2*a+1]),c=4369*s,u=(240&u|u>>4)*c>>16;t[e+2*a+0]=(240&o|o>>4)*c>>16&240|(15&o|o<<4)*c>>16>>4&15,t[e+2*a+1]=240&u|s}e+=i}}function pr(t,e,r,n,i,a,o,s){var c,u,h=255;for(u=0;u<i;++u){for(c=0;c<n;++c){var l=t[e+c];a[o+4*c]=l,h&=l}e+=r,o+=s}return 255!=h}function gr(t,e,r,n,i){var a;for(a=0;a<i;++a)r[n+a]=t[e+a]>>8}function mr(){An=fr,xn=dr,Sn=pr,_n=gr}function vr(r,n,i){t[r]=function(t,r,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y){var w,N=y-1>>1,L=s[c+0]|u[h+0]<<16,A=l[f+0]|d[p+0]<<16;e(null!=t);var x=3*L+A+131074>>2;for(n(t[r+0],255&x,x>>16,g,m),null!=a&&(x=3*A+L+131074>>2,n(a[o+0],255&x,x>>16,v,b)),w=1;w<=N;++w){var S=s[c+w]|u[h+w]<<16,_=l[f+w]|d[p+w]<<16,P=L+S+A+_+524296,k=P+2*(S+A)>>3;x=k+L>>1,L=(P=P+2*(L+_)>>3)+S>>1,n(t[r+2*w-1],255&x,x>>16,g,m+(2*w-1)*i),n(t[r+2*w-0],255&L,L>>16,g,m+(2*w-0)*i),null!=a&&(x=P+A>>1,L=k+_>>1,n(a[o+2*w-1],255&x,x>>16,v,b+(2*w-1)*i),n(a[o+2*w+0],255&L,L>>16,v,b+(2*w+0)*i)),L=S,A=_}1&y||(x=3*L+A+131074>>2,n(t[r+y-1],255&x,x>>16,g,m+(y-1)*i),null!=a&&(x=3*A+L+131074>>2,n(a[o+y-1],255&x,x>>16,v,b+(y-1)*i)))}}function br(){vi[En]=bi,vi[qn]=wi,vi[Dn]=yi,vi[Rn]=Ni,vi[Tn]=Li,vi[Un]=Ai,vi[zn]=xi,vi[Hn]=wi,vi[Wn]=Ni,vi[Vn]=Li,vi[Gn]=Ai}function yr(t){return t&~Fi?0>t?0:255:t>>Ii}function wr(t,e){return yr((19077*t>>8)+(26149*e>>8)-14234)}function Nr(t,e,r){return yr((19077*t>>8)-(6419*e>>8)-(13320*r>>8)+8708)}function Lr(t,e){return yr((19077*t>>8)+(33050*e>>8)-17685)}function Ar(t,e,r,n,i){n[i+0]=wr(t,r),n[i+1]=Nr(t,e,r),n[i+2]=Lr(t,e)}function xr(t,e,r,n,i){n[i+0]=Lr(t,e),n[i+1]=Nr(t,e,r),n[i+2]=wr(t,r)}function Sr(t,e,r,n,i){var a=Nr(t,e,r);e=a<<3&224|Lr(t,e)>>3,n[i+0]=248&wr(t,r)|a>>5,n[i+1]=e}function _r(t,e,r,n,i){var a=240&Lr(t,e)|15;n[i+0]=240&wr(t,r)|Nr(t,e,r)>>4,n[i+1]=a}function Pr(t,e,r,n,i){n[i+0]=255,Ar(t,e,r,n,i+1)}function kr(t,e,r,n,i){xr(t,e,r,n,i),n[i+3]=255}function Ir(t,e,r,n,i){Ar(t,e,r,n,i),n[i+3]=255}function Vt(t,e){return 0>t?0:t>e?e:t}function Fr(e,r,n){t[e]=function(t,e,i,a,o,s,c,u,h){for(var l=u+(-2&h)*n;u!=l;)r(t[e+0],i[a+0],o[s+0],c,u),r(t[e+1],i[a+0],o[s+0],c,u+n),e+=2,++a,++s,u+=2*n;1&h&&r(t[e+0],i[a+0],o[s+0],c,u)}}function Cr(t,e,r){return 0==r?0==t?0==e?6:5:0==e?4:0:r}function jr(t,e,r,n,i){switch(t>>>30){case 3:on(e,r,n,i,0);break;case 2:sn(e,r,n,i);break;case 1:un(e,r,n,i)}}function Or(t,e){var r,a,o=e.M,s=e.Nb,c=t.oc,u=t.pc+40,h=t.oc,l=t.pc+584,f=t.oc,d=t.pc+600;for(r=0;16>r;++r)c[u+32*r-1]=129;for(r=0;8>r;++r)h[l+32*r-1]=129,f[d+32*r-1]=129;for(0<o?c[u-1-32]=h[l-1-32]=f[d-1-32]=129:(i(c,u-32-1,127,21),i(h,l-32-1,127,9),i(f,d-32-1,127,9)),a=0;a<t.za;++a){var p=e.ya[e.aa+a];if(0<a){for(r=-1;16>r;++r)n(c,u+32*r-4,c,u+32*r+12,4);for(r=-1;8>r;++r)n(h,l+32*r-4,h,l+32*r+4,4),n(f,d+32*r-4,f,d+32*r+4,4)}var g=t.Gd,m=t.Hd+a,v=p.ad,b=p.Hc;if(0<o&&(n(c,u-32,g[m].y,0,16),n(h,l-32,g[m].f,0,8),n(f,d-32,g[m].ea,0,8)),p.Za){var y=c,w=u-32+16;for(0<o&&(a>=t.za-1?i(y,w,g[m].y[15],4):n(y,w,g[m+1].y,0,4)),r=0;4>r;r++)y[w+128+r]=y[w+256+r]=y[w+384+r]=y[w+0+r];for(r=0;16>r;++r,b<<=2)y=c,w=u+Di[r],fi[p.Ob[r]](y,w),jr(b,v,16*+r,y,w)}else if(y=Cr(a,o,p.Ob[0]),li[y](c,u),0!=b)for(r=0;16>r;++r,b<<=2)jr(b,v,16*+r,c,u+Di[r]);for(r=p.Gc,y=Cr(a,o,p.Dd),di[y](h,l),di[y](f,d),b=v,y=h,w=l,255&(p=r>>0)&&(170&p?cn(b,256,y,w):hn(b,256,y,w)),p=f,b=d,255&(r>>=8)&&(170&r?cn(v,320,p,b):hn(v,320,p,b)),o<t.Ub-1&&(n(g[m].y,0,c,u+480,16),n(g[m].f,0,h,l+224,8),n(g[m].ea,0,f,d+224,8)),r=8*s*t.B,g=t.sa,m=t.ta+16*a+16*s*t.R,v=t.qa,p=t.ra+8*a+r,b=t.Ha,y=t.Ia+8*a+r,r=0;16>r;++r)n(g,m+r*t.R,c,u+32*r,16);for(r=0;8>r;++r)n(v,p+r*t.B,h,l+32*r,8),n(b,y+r*t.B,f,d+32*r,8)}}function Br(t,n,i,a,o,s,c,u,h){var l=[0],f=[0],d=0,p=null!=h?h.kd:0,g=null!=h?h:new nr;if(null==t||12>i)return 7;g.data=t,g.w=n,g.ha=i,n=[n],i=[i],g.gb=[g.gb];t:{var m=n,b=i,y=g.gb;if(e(null!=t),e(null!=b),e(null!=y),y[0]=0,12<=b[0]&&!r(t,m[0],\"RIFF\")){if(r(t,m[0]+8,\"WEBP\")){y=3;break t}var w=j(t,m[0]+4);if(12>w||4294967286<w){y=3;break t}if(p&&w>b[0]-8){y=7;break t}y[0]=w,m[0]+=12,b[0]-=12}y=0}if(0!=y)return y;for(w=0<g.gb[0],i=i[0];;){t:{var L=t;b=n,y=i;var A=l,x=f,S=m=[0];if((k=d=[d])[0]=0,8>y[0])y=7;else{if(!r(L,b[0],\"VP8X\")){if(10!=j(L,b[0]+4)){y=3;break t}if(18>y[0]){y=7;break t}var _=j(L,b[0]+8),P=1+C(L,b[0]+12);if(2147483648<=P*(L=1+C(L,b[0]+15))){y=3;break t}null!=S&&(S[0]=_),null!=A&&(A[0]=P),null!=x&&(x[0]=L),b[0]+=18,y[0]-=18,k[0]=1}y=0}}if(d=d[0],m=m[0],0!=y)return y;if(b=!!(2&m),!w&&d)return 3;if(null!=s&&(s[0]=!!(16&m)),null!=c&&(c[0]=b),null!=u&&(u[0]=0),c=l[0],m=f[0],d&&b&&null==h){y=0;break}if(4>i){y=7;break}if(w&&d||!w&&!d&&!r(t,n[0],\"ALPH\")){i=[i],g.na=[g.na],g.P=[g.P],g.Sa=[g.Sa];t:{_=t,y=n,w=i;var k=g.gb;A=g.na,x=g.P,S=g.Sa;P=22,e(null!=_),e(null!=w),L=y[0];var I=w[0];for(e(null!=A),e(null!=S),A[0]=null,x[0]=null,S[0]=0;;){if(y[0]=L,w[0]=I,8>I){y=7;break t}var F=j(_,L+4);if(4294967286<F){y=3;break t}var O=8+F+1&-2;if(P+=O,0<k&&P>k){y=3;break t}if(!r(_,L,\"VP8 \")||!r(_,L,\"VP8L\")){y=0;break t}if(I[0]<O){y=7;break t}r(_,L,\"ALPH\")||(A[0]=_,x[0]=L+8,S[0]=F),L+=O,I-=O}}if(i=i[0],g.na=g.na[0],g.P=g.P[0],g.Sa=g.Sa[0],0!=y)break}i=[i],g.Ja=[g.Ja],g.xa=[g.xa];t:if(k=t,y=n,w=i,A=g.gb[0],x=g.Ja,S=g.xa,_=y[0],L=!r(k,_,\"VP8 \"),P=!r(k,_,\"VP8L\"),e(null!=k),e(null!=w),e(null!=x),e(null!=S),8>w[0])y=7;else{if(L||P){if(k=j(k,_+4),12<=A&&k>A-12){y=3;break t}if(p&&k>w[0]-8){y=7;break t}x[0]=k,y[0]+=8,w[0]-=8,S[0]=P}else S[0]=5<=w[0]&&47==k[_+0]&&!(k[_+4]>>5),x[0]=w[0];y=0}if(i=i[0],g.Ja=g.Ja[0],g.xa=g.xa[0],n=n[0],0!=y)break;if(4294967286<g.Ja)return 3;if(null==u||b||(u[0]=g.xa?2:1),c=[c],m=[m],g.xa){if(5>i){y=7;break}u=c,p=m,b=s,null==t||5>i?t=0:5<=i&&47==t[n+0]&&!(t[n+4]>>5)?(w=[0],k=[0],A=[0],v(x=new N,t,n,i),gt(x,w,k,A)?(null!=u&&(u[0]=w[0]),null!=p&&(p[0]=k[0]),null!=b&&(b[0]=A[0]),t=1):t=0):t=0}else{if(10>i){y=7;break}u=m,null==t||10>i||!Xt(t,n+3,i-3)?t=0:(p=t[n+0]|t[n+1]<<8|t[n+2]<<16,b=16383&(t[n+7]<<8|t[n+6]),t=16383&(t[n+9]<<8|t[n+8]),1&p||3<(p>>1&7)||!(p>>4&1)||p>>5>=g.Ja||!b||!t?t=0:(c&&(c[0]=b),u&&(u[0]=t),t=1))}if(!t)return 3;if(c=c[0],m=m[0],d&&(l[0]!=c||f[0]!=m))return 3;null!=h&&(h[0]=g,h.offset=n-h.w,e(4294967286>n-h.w),e(h.offset==h.ha-i));break}return 0==y||7==y&&d&&null==h?(null!=s&&(s[0]|=null!=g.na&&0<g.na.length),null!=a&&(a[0]=c),null!=o&&(o[0]=m),0):y}function Mr(t,e,r){var n=e.width,i=e.height,a=0,o=0,s=n,c=i;if(e.Da=null!=t&&0<t.Da,e.Da&&(s=t.cd,c=t.bd,a=t.v,o=t.j,11>r||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=c||a+s>n||o+c>i))return 0;if(e.v=a,e.j=o,e.va=a+s,e.o=o+c,e.U=s,e.T=c,e.da=null!=t&&0<t.da,e.da){if(!E(s,c,r=[t.ib],a=[t.hb]))return 0;e.ib=r[0],e.hb=a[0]}return e.ob=null!=t&&t.ob,e.Kb=null==t||!t.Sd,e.da&&(e.ob=e.ib<3*n/4&&e.hb<3*i/4,e.Kb=0),1}function Er(t){if(null==t)return 2;if(11>t.S){var e=t.f.RGBA;e.fb+=(t.height-1)*e.A,e.A=-e.A}else e=t.f.kb,t=t.height,e.O+=(t-1)*e.fa,e.fa=-e.fa,e.N+=(t-1>>1)*e.Ab,e.Ab=-e.Ab,e.W+=(t-1>>1)*e.Db,e.Db=-e.Db,null!=e.F&&(e.J+=(t-1)*e.lb,e.lb=-e.lb);return 0}function qr(t,e,r,n){if(null==n||0>=t||0>=e)return 2;if(null!=r){if(r.Da){var i=r.cd,o=r.bd,s=-2&r.v,c=-2&r.j;if(0>s||0>c||0>=i||0>=o||s+i>t||c+o>e)return 2;t=i,e=o}if(r.da){if(!E(t,e,i=[r.ib],o=[r.hb]))return 2;t=i[0],e=o[0]}}n.width=t,n.height=e;t:{var u=n.width,h=n.height;if(t=n.S,0>=u||0>=h||!(t>=En&&13>t))t=2;else{if(0>=n.Rd&&null==n.sd){s=o=i=e=0;var l=(c=u*zi[t])*h;if(11>t||(o=(h+1)/2*(e=(u+1)/2),12==t&&(s=(i=u)*h)),null==(h=a(l+2*o+s))){t=1;break t}n.sd=h,11>t?((u=n.f.RGBA).eb=h,u.fb=0,u.A=c,u.size=l):((u=n.f.kb).y=h,u.O=0,u.fa=c,u.Fd=l,u.f=h,u.N=0+l,u.Ab=e,u.Cd=o,u.ea=h,u.W=0+l+o,u.Db=e,u.Ed=o,12==t&&(u.F=h,u.J=0+l+2*o),u.Tc=s,u.lb=i)}if(e=1,i=n.S,o=n.width,s=n.height,i>=En&&13>i)if(11>i)t=n.f.RGBA,e&=(c=Math.abs(t.A))*(s-1)+o<=t.size,e&=c>=o*zi[i],e&=null!=t.eb;else{t=n.f.kb,c=(o+1)/2,l=(s+1)/2,u=Math.abs(t.fa);h=Math.abs(t.Ab);var f=Math.abs(t.Db),d=Math.abs(t.lb),p=d*(s-1)+o;e&=u*(s-1)+o<=t.Fd,e&=h*(l-1)+c<=t.Cd,e=(e&=f*(l-1)+c<=t.Ed)&u>=o&h>=c&f>=c,e&=null!=t.y,e&=null!=t.f,e&=null!=t.ea,12==i&&(e&=d>=o,e&=p<=t.Tc,e&=null!=t.F)}else e=0;t=e?0:2}}return 0!=t||null!=r&&r.fd&&(t=Er(n)),t}var Dr=64,Rr=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Tr=24,Ur=32,zr=8,Hr=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];R(\"Predictor0\",\"PredictorAdd0\"),t.Predictor0=function(){return 4278190080},t.Predictor1=function(t){return t},t.Predictor2=function(t,e,r){return e[r+0]},t.Predictor3=function(t,e,r){return e[r+1]},t.Predictor4=function(t,e,r){return e[r-1]},t.Predictor5=function(t,e,r){return U(U(t,e[r+1]),e[r+0])},t.Predictor6=function(t,e,r){return U(t,e[r-1])},t.Predictor7=function(t,e,r){return U(t,e[r+0])},t.Predictor8=function(t,e,r){return U(e[r-1],e[r+0])},t.Predictor9=function(t,e,r){return U(e[r+0],e[r+1])},t.Predictor10=function(t,e,r){return U(U(t,e[r-1]),U(e[r+0],e[r+1]))},t.Predictor11=function(t,e,r){var n=e[r+0];return 0>=W(n>>24&255,t>>24&255,(e=e[r-1])>>24&255)+W(n>>16&255,t>>16&255,e>>16&255)+W(n>>8&255,t>>8&255,e>>8&255)+W(255&n,255&t,255&e)?n:t},t.Predictor12=function(t,e,r){var n=e[r+0];return(z((t>>24&255)+(n>>24&255)-((e=e[r-1])>>24&255))<<24|z((t>>16&255)+(n>>16&255)-(e>>16&255))<<16|z((t>>8&255)+(n>>8&255)-(e>>8&255))<<8|z((255&t)+(255&n)-(255&e)))>>>0},t.Predictor13=function(t,e,r){var n=e[r-1];return(H((t=U(t,e[r+0]))>>24&255,n>>24&255)<<24|H(t>>16&255,n>>16&255)<<16|H(t>>8&255,n>>8&255)<<8|H(t>>0&255,n>>0&255))>>>0};var Wr=t.PredictorAdd0;t.PredictorAdd1=V,R(\"Predictor2\",\"PredictorAdd2\"),R(\"Predictor3\",\"PredictorAdd3\"),R(\"Predictor4\",\"PredictorAdd4\"),R(\"Predictor5\",\"PredictorAdd5\"),R(\"Predictor6\",\"PredictorAdd6\"),R(\"Predictor7\",\"PredictorAdd7\"),R(\"Predictor8\",\"PredictorAdd8\"),R(\"Predictor9\",\"PredictorAdd9\"),R(\"Predictor10\",\"PredictorAdd10\"),R(\"Predictor11\",\"PredictorAdd11\"),R(\"Predictor12\",\"PredictorAdd12\"),R(\"Predictor13\",\"PredictorAdd13\");var Vr=t.PredictorAdd2;X(\"ColorIndexInverseTransform\",\"MapARGB\",\"32b\",(function(t){return t>>8&255}),(function(t){return t})),X(\"VP8LColorIndexInverseTransformAlpha\",\"MapAlpha\",\"8b\",(function(t){return t}),(function(t){return t>>8&255}));var Gr,Yr=t.ColorIndexInverseTransform,Jr=t.MapARGB,Xr=t.VP8LColorIndexInverseTransformAlpha,Kr=t.MapAlpha,Zr=t.VP8LPredictorsAdd=[];Zr.length=16,(t.VP8LPredictors=[]).length=16,(t.VP8LPredictorsAdd_C=[]).length=16,(t.VP8LPredictors_C=[]).length=16;var $r,Qr,tn,en,rn,nn,an,on,sn,cn,un,hn,ln,fn,dn,pn,gn,mn,vn,bn,yn,wn,Nn,Ln,An,xn,Sn,_n,Pn=a(511),kn=a(2041),In=a(225),Fn=a(767),Cn=0,jn=kn,On=In,Bn=Fn,Mn=Pn,En=0,qn=1,Dn=2,Rn=3,Tn=4,Un=5,zn=6,Hn=7,Wn=8,Vn=9,Gn=10,Yn=[2,3,7],Jn=[3,3,11],Xn=[280,256,256,256,40],Kn=[0,1,1,1,0],Zn=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],$n=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Qn=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ti=8,ei=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ri=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ni=null,ii=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ai=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],oi=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],si=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],ci=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ui=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],hi=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],li=[],fi=[],di=[],pi=1,gi=2,mi=[],vi=[];vr(\"UpsampleRgbLinePair\",Ar,3),vr(\"UpsampleBgrLinePair\",xr,3),vr(\"UpsampleRgbaLinePair\",Ir,4),vr(\"UpsampleBgraLinePair\",kr,4),vr(\"UpsampleArgbLinePair\",Pr,4),vr(\"UpsampleRgba4444LinePair\",_r,2),vr(\"UpsampleRgb565LinePair\",Sr,2);var bi=t.UpsampleRgbLinePair,yi=t.UpsampleBgrLinePair,wi=t.UpsampleRgbaLinePair,Ni=t.UpsampleBgraLinePair,Li=t.UpsampleArgbLinePair,Ai=t.UpsampleRgba4444LinePair,xi=t.UpsampleRgb565LinePair,Si=16,_i=1<<Si-1,Pi=-227,ki=482,Ii=6,Fi=(256<<Ii)-1,Ci=0,ji=a(256),Oi=a(256),Bi=a(256),Mi=a(256),Ei=a(ki-Pi),qi=a(ki-Pi);Fr(\"YuvToRgbRow\",Ar,3),Fr(\"YuvToBgrRow\",xr,3),Fr(\"YuvToRgbaRow\",Ir,4),Fr(\"YuvToBgraRow\",kr,4),Fr(\"YuvToArgbRow\",Pr,4),Fr(\"YuvToRgba4444Row\",_r,2),Fr(\"YuvToRgb565Row\",Sr,2);var Di=[0,4,8,12,128,132,136,140,256,260,264,268,384,388,392,396],Ri=[0,2,8],Ti=[8,7,6,4,4,2,2,2,1,1,1,1],Ui=1;this.WebPDecodeRGBA=function(t,r,n,i,a){var o=qn,s=new rr,c=new ot;s.ba=c,c.S=o,c.width=[c.width],c.height=[c.height];var u=c.width,h=c.height,l=new st;if(null==l||null==t)var f=2;else e(null!=l),f=Br(t,r,n,l.width,l.height,l.Pd,l.Qd,l.format,null);if(0!=f?u=0:(null!=u&&(u[0]=l.width[0]),null!=h&&(h[0]=l.height[0]),u=1),u){c.width=c.width[0],c.height=c.height[0],null!=i&&(i[0]=c.width),null!=a&&(a[0]=c.height);t:{if(i=new Gt,(a=new nr).data=t,a.w=r,a.ha=n,a.kd=1,r=[0],e(null!=a),(0==(t=Br(a.data,a.w,a.ha,null,null,null,r,null,a))||7==t)&&r[0]&&(t=4),0==(r=t)){if(e(null!=s),i.data=a.data,i.w=a.w+a.offset,i.ha=a.ha-a.offset,i.put=dt,i.ac=ft,i.bc=pt,i.ma=s,a.xa){if(null==(t=kt())){s=1;break t}if(function(t,r){var n=[0],i=[0],a=[0];e:for(;;){if(null==t)return 0;if(null==r)return t.a=2,0;if(t.l=r,t.a=0,v(t.m,r.data,r.w,r.ha),!gt(t.m,n,i,a)){t.a=3;break e}if(t.xb=gi,r.width=n[0],r.height=i[0],!It(n[0],i[0],1,t,null))break e;return 1}return e(0!=t.a),0}(t,i)){if(i=0==(r=qr(i.width,i.height,s.Oa,s.ba))){e:{i=t;r:for(;;){if(null==i){i=0;break e}if(e(null!=i.s.yc),e(null!=i.s.Ya),e(0<i.s.Wb),e(null!=(n=i.l)),e(null!=(a=n.ma)),0!=i.xb){if(i.ca=a.ba,i.tb=a.tb,e(null!=i.ca),!Mr(a.Oa,n,Rn)){i.a=2;break r}if(!Ft(i,n.width))break r;if(n.da)break r;if((n.da||nt(i.ca.S))&&mr(),11>i.ca.S||(alert(\"todo:WebPInitConvertARGBToYUV\"),null!=i.ca.f.kb.F&&mr()),i.Pb&&0<i.s.ua&&null==i.s.vb.X&&!O(i.s.vb,i.s.Wa.Xa)){i.a=1;break r}i.xb=0}if(!_t(i,i.V,i.Ba,i.c,i.i,n.o,Lt))break r;a.Dc=i.Ma,i=1;break e}e(0!=i.a),i=0}i=!i}i&&(r=t.a)}else r=t.a}else{if(null==(t=new Yt)){s=1;break t}if(t.Fa=a.na,t.P=a.P,t.qc=a.Sa,Kt(t,i)){if(0==(r=qr(i.width,i.height,s.Oa,s.ba))){if(t.Aa=0,n=s.Oa,e(null!=(a=t)),null!=n){if(0<(u=0>(u=n.Md)?0:100<u?255:255*u/100)){for(h=l=0;4>h;++h)12>(f=a.pb[h]).lc&&(f.ia=u*Ti[0>f.lc?0:f.lc]>>3),l|=f.ia;l&&(alert(\"todo:VP8InitRandom\"),a.ia=1)}a.Ga=n.Id,100<a.Ga?a.Ga=100:0>a.Ga&&(a.Ga=0)}Qt(t,i)||(r=t.a)}}else r=t.a}0==r&&null!=s.Oa&&s.Oa.fd&&(r=Er(s.ba))}s=r}o=0!=s?null:11>o?c.f.RGBA.eb:c.f.kb.y}else o=null;return o};var zi=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function u(t,e){for(var r=\"\",n=0;n<4;n++)r+=String.fromCharCode(t[e++]);return r}function h(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16)>>>0}function l(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}new c;var f=[0],d=[0],p=[],g=new c,m=t,v=function(t,e){var r={},n=0,i=!1,a=0,o=0;if(r.frames=[],!\n/** @license\n * Copyright (c) 2017 Dominik Homberger\n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n https://webpjs.appspot.com\n WebPRiffParser dominikhlbg@gmail.com\n */\nfunction(t,e,r,n){for(var i=0;i<n;i++)if(t[e+i]!=r.charCodeAt(i))return!0;return!1}(t,e,\"RIFF\",4)){var s,c;l(t,e+=4);for(e+=8;e<t.length;){var f=u(t,e),d=l(t,e+=4);e+=4;var p=d+(1&d);switch(f){case\"VP8 \":case\"VP8L\":void 0===r.frames[n]&&(r.frames[n]={});(v=r.frames[n]).src_off=i?o:e-8,v.src_size=a+d+8,n++,i&&(i=!1,a=0,o=0);break;case\"VP8X\":(v=r.header={}).feature_flags=t[e];var g=e+4;v.canvas_width=1+h(t,g);g+=3;v.canvas_height=1+h(t,g);g+=3;break;case\"ALPH\":i=!0,a=p+8,o=e-8;break;case\"ANIM\":(v=r.header).bgcolor=l(t,e);g=e+4;v.loop_count=(s=t)[(c=g)+0]<<0|s[c+1]<<8;g+=2;break;case\"ANMF\":var m,v;(v=r.frames[n]={}).offset_x=2*h(t,e),e+=3,v.offset_y=2*h(t,e),e+=3,v.width=1+h(t,e),e+=3,v.height=1+h(t,e),e+=3,v.duration=h(t,e),e+=3,m=t[e++],v.dispose=1&m,v.blend=m>>1&1}\"ANMF\"!=f&&(e+=p)}return r}}(m,0);v.response=m,v.rgbaoutput=!0,v.dataurl=!1;var b=v.header?v.header:null,y=v.frames?v.frames:null;if(b){b.loop_counter=b.loop_count,f=[b.canvas_height],d=[b.canvas_width];for(var w=0;w<y.length&&0!=y[w].blend;w++);}var N=y[0],L=g.WebPDecodeRGBA(m,N.src_off,N.src_size,d,f);N.rgba=L,N.imgwidth=d[0],N.imgheight=f[0];for(var A=0;A<d[0]*f[0]*4;A++)p[A]=L[A];return this.width=d,this.height=f,this.data=p,this}!function(t){var r=function(){return\"function\"==typeof e},n=function(r,n,a,h){var l=4,f=s;switch(h){case t.image_compression.FAST:l=1,f=o;break;case t.image_compression.MEDIUM:l=6,f=c;break;case t.image_compression.SLOW:l=9,f=u}r=i(r,n,a,f);var d=e(r,{level:l});return t.__addimage__.arrayBufferToBinaryString(d)},i=function(t,e,r,n){for(var i,a,o,s=t.length/e,c=new Uint8Array(t.length+s),u=l(),h=0;h<s;h+=1){if(o=h*e,i=t.subarray(o,o+e),n)c.set(n(i,r,a),o+h);else{for(var d,p=u.length,g=[];d<p;d+=1)g[d]=u[d](i,r,a);var m=f(g.concat());c.set(g[m],o+h)}a=i}return c},a=function(t){var e=Array.apply([],t);return e.unshift(0),e},o=function(t,e){var r,n=[],i=t.length;n[0]=1;for(var a=0;a<i;a+=1)r=t[a-e]||0,n[a+1]=t[a]-r+256&255;return n},s=function(t,e,r){var n,i=[],a=t.length;i[0]=2;for(var o=0;o<a;o+=1)n=r&&r[o]||0,i[o+1]=t[o]-n+256&255;return i},c=function(t,e,r){var n,i,a=[],o=t.length;a[0]=3;for(var s=0;s<o;s+=1)n=t[s-e]||0,i=r&&r[s]||0,a[s+1]=t[s]+256-(n+i>>>1)&255;return a},u=function(t,e,r){var n,i,a,o,s=[],c=t.length;s[0]=4;for(var u=0;u<c;u+=1)n=t[u-e]||0,i=r&&r[u]||0,a=r&&r[u-e]||0,o=h(n,i,a),s[u+1]=t[u]-o+256&255;return s},h=function(t,e,r){if(t===e&&e===r)return t;var n=Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n<=i&&n<=a?t:i<=a?e:r},l=function(){return[a,o,s,c,u]},f=function(t){var e=t.map((function(t){return t.reduce((function(t,e){return t+Math.abs(e)}),0)}));return e.indexOf(Math.min.apply(null,e))};t.processPNG=function(e,i,a,o){var s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L=this.decode.FLATE_DECODE,A=\"\";if(this.__addimage__.isArrayBuffer(e)&&(e=new Uint8Array(e)),this.__addimage__.isArrayBufferView(e)){if(e=(u=new Kt(e)).imgData,c=u.bits,s=u.colorSpace,l=u.colors,-1!==[4,6].indexOf(u.colorType)){if(8===u.bits){g=(p=32==u.pixelBitlength?new Uint32Array(u.decodePixels().buffer):16==u.pixelBitlength?new Uint16Array(u.decodePixels().buffer):new Uint8Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*u.colors),m=new Uint8Array(g);var x,S=u.pixelBitlength-u.bits;for(w=0,N=0;w<g;w++){for(y=p[w],x=0;x<S;)v[N++]=y>>>x&255,x+=u.bits;m[w]=y>>>x&255}}if(16===u.bits){g=(p=new Uint32Array(u.decodePixels().buffer)).length,v=new Uint8Array(g*(32/u.pixelBitlength)*u.colors),m=new Uint8Array(g*(32/u.pixelBitlength)),b=u.colors>1,w=0,N=0;for(var _=0;w<g;)y=p[w++],v[N++]=y>>>0&255,b&&(v[N++]=y>>>16&255,y=p[w++],v[N++]=y>>>0&255),m[_++]=y>>>16&255;c=8}o!==t.image_compression.NONE&&r()?(e=n(v,u.width*u.colors,u.colors,o),d=n(m,u.width,1,o)):(e=v,d=m,L=void 0)}if(3===u.colorType&&(s=this.color_spaces.INDEXED,f=u.palette,u.transparency.indexed)){var P=u.transparency.indexed,k=0;for(w=0,g=P.length;w<g;++w)k+=P[w];if((k/=255)===g-1&&-1!==P.indexOf(0))h=[P.indexOf(0)];else if(k!==g){for(p=u.decodePixels(),m=new Uint8Array(p.length),w=0,g=p.length;w<g;w++)m[w]=P[p[w]];d=n(m,u.width,1)}}var I=function(e){var r;switch(e){case t.image_compression.FAST:r=11;break;case t.image_compression.MEDIUM:r=13;break;case t.image_compression.SLOW:r=14;break;default:r=12}return r}(o);return L===this.decode.FLATE_DECODE&&(A=\"/Predictor \"+I+\" \"),A+=\"/Colors \"+l+\" /BitsPerComponent \"+c+\" /Columns \"+u.width,(this.__addimage__.isArrayBuffer(e)||this.__addimage__.isArrayBufferView(e))&&(e=this.__addimage__.arrayBufferToBinaryString(e)),(d&&this.__addimage__.isArrayBuffer(d)||this.__addimage__.isArrayBufferView(d))&&(d=this.__addimage__.arrayBufferToBinaryString(d)),{alias:a,data:e,index:i,filter:L,decodeParameters:A,transparency:h,palette:f,sMask:d,predictor:I,width:u.width,height:u.height,bitsPerComponent:c,colorSpace:s}}}}(E.API),function(t){t.processGIF89A=function(e,r,n,i){var a=new Zt(e),o=a.width,s=a.height,c=[];a.decodeAndBlitFrameRGBA(0,c);var u={data:c,width:o,height:s},h=new Qt(100).encode(u,100);return t.processJPEG.call(this,h,r,n,i)},t.processGIF87A=t.processGIF89A}(E.API),te.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.datav.getUint8(this.pos++,!0),n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:n,blue:r,quad:a}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},te.prototype.parseBGR=function(){this.pos=this.offset;try{var t=\"bit\"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e),this[t]()}catch(t){a.log(\"bit decode error:\"+t)}},te.prototype.bit1=function(){var t,e=Math.ceil(this.width/8),r=e%4;for(t=this.height-1;t>=0;t--){for(var n=this.bottom_up?t:this.height-1-t,i=0;i<e;i++)for(var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var c=this.palette[a>>7-s&1];this.data[o+4*s]=c.blue,this.data[o+4*s+1]=c.green,this.data[o+4*s+2]=c.red,this.data[o+4*s+3]=255}0!==r&&(this.pos+=4-r)}},te.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++){var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+2*i*4,s=a>>4,c=15&a,u=this.palette[s];if(this.data[o]=u.blue,this.data[o+1]=u.green,this.data[o+2]=u.red,this.data[o+3]=255,2*i+1>=this.width)break;u=this.palette[c],this.data[o+4]=u.blue,this.data[o+4+1]=u.green,this.data[o+4+2]=u.red,this.data[o+4+3]=255}0!==e&&(this.pos+=4-e)}},te.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,n=0;n<this.width;n++){var i=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+4*n;if(i<this.palette.length){var o=this.palette[i];this.data[a]=o.red,this.data[a+1]=o.green,this.data[a+2]=o.blue,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!==t&&(this.pos+=4-t)}},te.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<this.width;i++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var o=(a&e)/e*255|0,s=(a>>5&e)/e*255|0,c=(a>>10&e)/e*255|0,u=a>>15?255:0,h=n*this.width*4+4*i;this.data[h]=c,this.data[h+1]=s,this.data[h+2]=o,this.data[h+3]=u}this.pos+=t}},te.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=parseInt(\"111111\",2),n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,a=0;a<this.width;a++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(o&e)/e*255|0,c=(o>>5&r)/r*255|0,u=(o>>11)/e*255|0,h=i*this.width*4+4*a;this.data[h]=u,this.data[h+1]=c,this.data[h+2]=s,this.data[h+3]=255}this.pos+=t}},te.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=e*this.width*4+4*r;this.data[o]=a,this.data[o+1]=i,this.data[o+2]=n,this.data[o+3]=255}this.pos+=this.width%4}},te.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*r;this.data[s]=a,this.data[s+1]=i,this.data[s+2]=n,this.data[s+3]=o}},te.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processBMP=function(e,r,n,i){var a=new te(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Qt(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(E.API),ee.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processWEBP=function(e,r,n,i){var a=new ee(e,!1),o=a.width,s=a.height,c={data:a.getData(),width:o,height:s},u=new Qt(100).encode(c,100);return t.processJPEG.call(this,u,r,n,i)}}(E.API),E.API.processRGBA=function(t,e,r){for(var n=t.data,i=n.length,a=new Uint8Array(i/4*3),o=new Uint8Array(i/4),s=0,c=0,u=0;u<i;u+=4){var h=n[u],l=n[u+1],f=n[u+2],d=n[u+3];a[s++]=h,a[s++]=l,a[s++]=f,o[c++]=d}var p=this.__addimage__.arrayBufferToBinaryString(a);return{alpha:this.__addimage__.arrayBufferToBinaryString(o),data:p,index:e,alias:r,colorSpace:\"DeviceRGB\",bitsPerComponent:8,width:t.width,height:t.height}},E.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"North Macedonia\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")})),this.internal.languageSettings.isSubscribed=!0)),this},Vt=E.API,Gt=Vt.getCharWidthsArray=function(e,r){var n,i,a=(r=r||{}).font||this.internal.getFont(),o=r.fontSize||this.internal.getFontSize(),s=r.charSpace||this.internal.getCharSpace(),c=r.widths?r.widths:a.metadata.Unicode.widths,u=c.fof?c.fof:1,h=r.kerning?r.kerning:a.metadata.Unicode.kerning,l=h.fof?h.fof:1,f=!1!==r.doKerning,d=0,p=e.length,g=0,m=c[0]||u,v=[];for(n=0;n<p;n++)i=e.charCodeAt(n),\"function\"==typeof a.metadata.widthOfString?v.push((a.metadata.widthOfGlyph(a.metadata.characterToGlyph(i))+s*(1e3/o)||0)/1e3):(d=f&&\"object\"===t(h[i])&&!isNaN(parseInt(h[i][g],10))?h[i][g]/l:0,v.push((c[i]||m)/u+d)),g=i;return v},Yt=Vt.getStringUnitWidth=function(t,e){var r=(e=e||{}).fontSize||this.internal.getFontSize(),n=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return Vt.processArabic&&(t=Vt.processArabic(t)),\"function\"==typeof n.metadata.widthOfString?n.metadata.widthOfString(t,r,i)/r:Gt.apply(this,arguments).reduce((function(t,e){return t+e}),0)},Jt=function(t,e,r,n){for(var i=[],a=0,o=t.length,s=0;a!==o&&s+e[a]<r;)s+=e[a],a++;i.push(t.slice(0,a));var c=a;for(s=0;a!==o;)s+e[a]>n&&(i.push(t.slice(c,a)),s=0,c=a),s+=e[a],a++;return c!==a&&i.push(t.slice(c,a)),i},Xt=function(t,e,r){r||(r={});var n,i,a,o,s,c,u,h=[],l=[h],f=r.textIndent||0,d=0,p=0,g=t.split(\" \"),m=Gt.apply(this,[\" \",r])[0];if(c=-1===r.lineIndent?g[0].length+2:r.lineIndent||0){var v=Array(c).join(\" \"),b=[];g.map((function(t){(t=t.split(/\\s*\\n/)).length>1?b=b.concat(t.map((function(t,e){return(e&&t.length?\"\\n\":\"\")+t}))):b.push(t[0])})),g=b,c=Yt.apply(this,[v,r])}for(a=0,o=g.length;a<o;a++){var y=0;if(n=g[a],c&&\"\\n\"==n[0]&&(n=n.substr(1),y=1),f+d+(p=(i=Gt.apply(this,[n,r])).reduce((function(t,e){return t+e}),0))>e||y){if(p>e){for(s=Jt.apply(this,[n,i,e-(f+d),e]),h.push(s.shift()),h=[s.pop()];s.length;)l.push([s.shift()]);p=i.slice(n.length-(h[0]?h[0].length:0)).reduce((function(t,e){return t+e}),0)}else h=[n];l.push(h),f=p+c,d=m}else h.push(n),f+=d+p,d=m}return u=c?function(t,e){return(e?v:\"\")+t.join(\" \")}:function(t){return t.join(\" \")},l.map(u)},Vt.splitTextToSize=function(t,e,r){var n,i=(r=r||{}).fontSize||this.internal.getFontSize(),a=function(t){if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var e=this.internal.getFont(t.fontName,t.fontStyle);return e.metadata.Unicode?{widths:e.metadata.Unicode.widths||{0:1},kerning:e.metadata.Unicode.kerning||{}}:{font:e.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,r);n=Array.isArray(t)?t:String(t).split(/\\r?\\n/);var o=1*this.internal.scaleFactor*e/i;a.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=r.lineIndent;var s,c,u=[];for(s=0,c=n.length;s<c;s++)u=u.concat(Xt.apply(this,[n[s],o,a]));return u},function(e){e.__fontmetrics__=e.__fontmetrics__||{};for(var r=\"klmnopqrstuvwxyz\",n={},i={},a=0;a<r.length;a++)n[r[a]]=\"0123456789abcdef\"[a],i[\"0123456789abcdef\"[a]]=r[a];var o=function(t){return\"0x\"+parseInt(t,10).toString(16)},s=e.__fontmetrics__.compress=function(e){var r,n,a,c,u=[\"{\"];for(var h in e){if(r=e[h],isNaN(parseInt(h,10))?n=\"'\"+h+\"'\":(h=parseInt(h,10),n=(n=o(h).slice(2)).slice(0,-1)+i[n.slice(-1)]),\"number\"==typeof r)r<0?(a=o(r).slice(3),c=\"-\"):(a=o(r).slice(2),c=\"\"),a=c+a.slice(0,-1)+i[a.slice(-1)];else{if(\"object\"!==t(r))throw new Error(\"Don't know what to do with value type \"+t(r)+\".\");a=s(r)}u.push(n+a)}return u.push(\"}\"),u.join(\"\")},c=e.__fontmetrics__.uncompress=function(t){if(\"string\"!=typeof t)throw new Error(\"Invalid argument passed to uncompress.\");for(var e,r,i,a,o={},s=1,c=o,u=[],h=\"\",l=\"\",f=t.length-1,d=1;d<f;d+=1)\"'\"==(a=t[d])?e?(i=e.join(\"\"),e=void 0):e=[]:e?e.push(a):\"{\"==a?(u.push([c,i]),c={},i=void 0):\"}\"==a?((r=u.pop())[0][r[1]]=c,i=void 0,c=r[0]):\"-\"==a?s=-1:void 0===i?n.hasOwnProperty(a)?(h+=n[a],i=parseInt(h,16)*s,s=1,h=\"\"):h+=a:n.hasOwnProperty(a)?(l+=n[a],c[i]=parseInt(l,16)*s,s=1,i=void 0,l=\"\"):l+=a;return o},u={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:c(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},h={Unicode:{Courier:u,\"Courier-Bold\":u,\"Courier-BoldOblique\":u,\"Courier-Oblique\":u,Helvetica:u,\"Helvetica-Bold\":u,\"Helvetica-BoldOblique\":u,\"Helvetica-Oblique\":u,\"Times-Roman\":u,\"Times-Bold\":u,\"Times-BoldItalic\":u,\"Times-Italic\":u}},l={Unicode:{\"Courier-Oblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":c(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":c(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:c(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":c(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:c(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":c(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":c(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":c(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":c(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}};e.events.push([\"addFont\",function(t){var e=t.font,r=l.Unicode[e.postScriptName];r&&(e.metadata.Unicode={},e.metadata.Unicode.widths=r.widths,e.metadata.Unicode.kerning=r.kerning);var n=h.Unicode[e.postScriptName];n&&(e.metadata.Unicode.encoding=n,e.encoding=n.codePages[0])}])}(E.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r};t.API.events.push([\"addFont\",function(r){var n=void 0,i=r.font,a=r.instance;if(!i.isStandardFont){if(void 0===a)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");if(\"string\"!=typeof(n=!1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");!function(r,n){n=/^\\x00\\x01\\x00\\x00/.test(n)?e(n):e(u(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(E),\n/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){function e(){return(n.canvg?Promise.resolve(n.canvg):import(\"canvg\")).catch((function(t){return Promise.reject(new Error(\"Could not load canvg: \"+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(i)||isNaN(o))throw a.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var h=document.createElement(\"canvas\");h.width=i,h.height=o;var l=h.getContext(\"2d\");l.fillStyle=\"#fff\",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error(\"Could not load canvg.\"))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL(\"image/jpeg\",1),r,n,i,o,c,u)}))}}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),r=this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,\"reset\"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1}if(\"object\"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if(\"boolean\"===n[a].type&&\"boolean\"==typeof o)n[a].value=o;else if(\"name\"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if(\"integer\"===n[a].type&&Number.isInteger(o))n[a].value=o;else if(\"array\"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&\"number\"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)\"number\"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(\" \"))}n[a].value=\"[\"+u.join(\" \")+\"]\"}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&(\"name\"===n[t].type?e.push(\"/\"+t+\" /\"+n[t].value):e.push(\"/\"+t+\" \"+n[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},\n/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e=function(){var t='<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+this.internal.__metadata__.namespaceuri+'\"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),r=unescape(encodeURIComponent(t)),n=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),i=unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),a=unescape(encodeURIComponent(\"</x:xmpmeta>\")),o=r.length+n.length+i.length+e.length+a.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+r+n+i+a),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")},r=function(){this.internal.__metadata__.metadata_object_number&&this.internal.write(\"/Metadata \"+this.internal.__metadata__.metadata_object_number+\" 0 R\")};t.addMetadata=function(t,n){return void 0===this.internal.__metadata__&&(this.internal.__metadata__={metadata:t,namespaceuri:n||\"http://jspdf.default.namespaceuri/\"},this.internal.events.subscribe(\"putCatalog\",r),this.internal.events.subscribe(\"postPutResources\",e)),this}}(E.API),function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],a=[\"\"],o=0,s=t.length;o<s;++o){if(r=e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),\"0\"==r)return a.join(\"\");r=r.toString(16),a.push(i[4-r.length],r)}return a.join(\"\")},n=function(t){var e,r,n,i,a,o,s;for(a=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",n=[],o=0,s=(r=Object.keys(t).sort((function(t,e){return t-e}))).length;o<s;o++)e=r[o],n.length>=100&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\",n=[]),void 0!==t[e]&&null!==t[e]&&\"function\"==typeof t[e].toString&&(i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),n.push(\"<\"+e+\"><\"+i+\">\"));return n.length&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\\n\"),a+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"Identity-H\"===r.encoding){for(var s=r.metadata.Unicode.widths,c=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),u=\"\",h=0;h<c.length;h++)u+=String.fromCharCode(c[h]);var l=a();o({data:u,addLength1:!0,objectId:l}),i(\"endobj\");var f=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i(\"endobj\");var d=a();i(\"<<\"),i(\"/Type /FontDescriptor\"),i(\"/FontName /\"+F(r.fontName)),i(\"/FontFile2 \"+l+\" 0 R\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/Flags \"+r.metadata.flags),i(\"/StemV \"+r.metadata.stemV),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\">>\"),i(\"endobj\");var p=a();i(\"<<\"),i(\"/Type /Font\"),i(\"/BaseFont /\"+F(r.fontName)),i(\"/FontDescriptor \"+d+\" 0 R\"),i(\"/W \"+t.API.PDFObject.convert(s)),i(\"/CIDToGIDMap /Identity\"),i(\"/DW 1000\"),i(\"/Subtype /CIDFontType2\"),i(\"/CIDSystemInfo\"),i(\"<<\"),i(\"/Supplement 0\"),i(\"/Registry (Adobe)\"),i(\"/Ordering (\"+r.encoding+\")\"),i(\">>\"),i(\">>\"),i(\"endobj\"),r.objectNumber=a(),i(\"<<\"),i(\"/Type /Font\"),i(\"/Subtype /Type0\"),i(\"/ToUnicode \"+f+\" 0 R\"),i(\"/BaseFont /\"+F(r.fontName)),i(\"/Encoding /\"+r.encoding),i(\"/DescendantFonts [\"+p+\" 0 R]\"),i(\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream;if(r.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===r.encoding){for(var s=r.metadata.rawData,c=\"\",u=0;u<s.length;u++)c+=String.fromCharCode(s[u]);var h=a();o({data:c,addLength1:!0,objectId:h}),i(\"endobj\");var l=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:l}),i(\"endobj\");var f=a();i(\"<<\"),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\"/StemV \"+r.metadata.stemV),i(\"/Type /FontDescriptor\"),i(\"/FontFile2 \"+h+\" 0 R\"),i(\"/Flags 96\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/FontName /\"+F(r.fontName)),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\">>\"),i(\"endobj\"),r.objectNumber=a();for(var d=0;d<r.metadata.hmtx.widths.length;d++)r.metadata.hmtx.widths[d]=parseInt(r.metadata.hmtx.widths[d]*(1e3/r.metadata.head.unitsPerEm));i(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+l+\" 0 R/BaseFont/\"+F(r.fontName)+\"/FontDescriptor \"+f+\" 0 R/Encoding/\"+r.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+t.API.PDFObject.convert(r.metadata.hmtx.widths)+\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);var i=function(t){var e,n=t.text||\"\",i=t.x,a=t.y,o=t.options||{},s=t.mutex||{},c=s.pdfEscape,u=s.activeFontKey,h=s.fonts,l=u,f=\"\",d=0,p=\"\",g=h[l].encoding;if(\"Identity-H\"!==h[l].encoding)return{text:n,x:i,y:a,options:o,mutex:s};for(p=n,l=u,Array.isArray(n)&&(p=n[0]),d=0;d<p.length;d+=1)h[l].metadata.hasOwnProperty(\"cmap\")&&(e=h[l].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]),e||p[d].charCodeAt(0)<256&&h[l].metadata.hasOwnProperty(\"Unicode\")?f+=p[d]:f+=\"\";var m=\"\";return parseInt(l.slice(1))<14||\"WinAnsiEncoding\"===g?m=c(f,l).split(\"\").map((function(t){return t.charCodeAt(0).toString(16)})).join(\"\"):\"Identity-H\"===g&&(m=r(f,h[l])),s.isHex=!0,{text:m,x:i,y:a,options:o,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",r=[],n={text:e,x:t.x,y:t.y,options:t.options,mutex:t.mutex};if(Array.isArray(e)){var a=0;for(a=0;a<e.length;a+=1)Array.isArray(e[a])&&3===e[a].length?r.push([i(Object.assign({},n,{text:e[a][0]})).text,e[a][1],e[a][2]]):r.push(i(Object.assign({},n,{text:e[a]})).text);t.text=r}else t.text=i(Object.assign({},n,{text:e})).text}])}(E),\n/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0};t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(E.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,c,u=e,h=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],l=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"⁅\",\"⁆\",\"⁅\",\"⁽\",\"⁾\",\"⁽\",\"₍\",\"₎\",\"₍\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"﹙\",\"﹚\",\"﹙\",\"﹛\",\"﹜\",\"﹛\",\"﹝\",\"﹞\",\"﹝\",\"﹤\",\"﹥\",\"﹤\"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?u[256*n+(255&e)]:252===r||253===r?\"AL\":g.test(r)?\"L\":8===r?\"R\":\"N\"},y=function(t){for(var e,r=0;r<t.length;r++){if(\"L\"===(e=b(t.charAt(r))))return!1;if(\"R\"===e)return!0}return!1},w=function(t,e,o,s){var c,u,h,l,f=e[s];switch(f){case\"L\":case\"R\":m=!1;break;case\"N\":case\"AN\":break;case\"EN\":m&&(f=\"AN\");break;case\"AL\":m=!0,f=\"R\";break;case\"WS\":f=\"N\";break;case\"CS\":s<1||s+1>=e.length||\"EN\"!==(c=o[s-1])&&\"AN\"!==c||\"EN\"!==(u=e[s+1])&&\"AN\"!==u?f=\"N\":m&&(u=\"AN\"),f=u===c?u:\"N\";break;case\"ES\":f=\"EN\"===(c=s>0?o[s-1]:\"B\")&&s+1<e.length&&\"EN\"===e[s+1]?\"EN\":\"N\";break;case\"ET\":if(s>0&&\"EN\"===o[s-1]){f=\"EN\";break}if(m){f=\"N\";break}for(h=s+1,l=e.length;h<l&&\"ET\"===e[h];)h++;f=h<l&&\"EN\"===e[h]?\"EN\":\"N\";break;case\"NSM\":if(i&&!a){for(l=e.length,h=s+1;h<l&&\"NSM\"===e[h];)h++;if(h<l){var d=t[s],p=d>=1425&&d<=2303||64286===d;if(c=e[h],p&&(\"R\"===c||\"AL\"===c)){f=\"R\";break}}}f=s<1||\"B\"===(c=e[s-1])?\"N\":o[s-1];break;case\"B\":m=!1,r=!0,f=v;break;case\"S\":n=!0,f=\"N\";break;case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":m=!1;break;case\"BN\":f=\"N\"}return f},N=function(t,e,r){var n=t.split(\"\");return r&&L(n,r,{hiLevel:v}),n.reverse(),e&&e.reverse(),n.join(\"\")},L=function(t,e,i){var a,o,s,c,u,d=-1,p=t.length,g=0,y=[],N=v?l:h,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(u=g,y[s]=w(t,L,y,s),a=240&(g=N[u][f[y[s]]]),g&=15,e[s]=c=N[g][5],a>0)if(16===a){for(o=d;o<s;o++)e[o]=1;d=-1}else d=-1;if(N[g][6])-1===d&&(d=s);else if(d>-1){for(o=d;o<s;o++)e[o]=c;d=-1}\"B\"===L[s]&&(e[s]=0),i.hiLevel|=c}n&&function(t,e,r){for(var n=0;n<r;n++)if(\"S\"===t[n]){e[n]=v;for(var i=n-1;i>=0&&\"WS\"===t[i];i--)e[i]=v}}(L,e,p)},A=function(t,e,n,i,a){if(!(a.hiLevel<t)){if(1===t&&1===v&&!r)return e.reverse(),void(n&&n.reverse());for(var o,s,c,u,h=e.length,l=0;l<h;){if(i[l]>=t){for(c=l+1;c<h&&i[c]>=t;)c++;for(u=l,s=c-1;u<s;u++,s--)o=e[u],e[u]=e[s],e[s]=o,n&&(o=n[u],n[u]=n[s],n[s]=o);l=c}l++}}},x=function(t,e,r){var n=t.split(\"\"),i={hiLevel:v};return r||(r=[]),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&c)for(var n,i=0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i]))>=0&&(t[i]=p[n+1])}(n,r,i),A(2,n,e,r,i),A(1,n,e,r,i),n.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r<t.length;r++)e[r]=r;void 0===a&&(a=y(t)),void 0===s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if(!i&&o&&s)v=a?1:0,t=x(t,e,r),t=N(t,e);else if(!i||a||o||s){if(i&&!o&&a^s)t=N(t,e),a?(v=0,t=x(t,e,r)):(v=1,t=x(t,e,r),t=N(t,e));else if(i&&a&&!o&&s)v=1,t=x(t,e,r),t=N(t,e);else if(!i&&!o&&a^s){var n=c;a?(v=1,t=x(t,e,r),v=0,c=!1,t=x(t,e,r),c=n):(v=0,t=x(t,e,r),t=N(t,e),v=1,c=!1,t=x(t,e,r),c=n,t=N(t,e))}}else v=0,t=x(t,e,r);else v=a?1:0,t=x(t,e,r);return t},this.__bidiEngine__.setOptions=function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,c=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],r=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text,n=(t.x,t.y,t.options||{}),i=(t.mutex,n.lang,[]);if(n.isInputVisual=\"boolean\"!=typeof n.isInputVisual||n.isInputVisual,r.setOptions(n),\"[object Array]\"===Object.prototype.toString.call(e)){var a=0;for(i=[],a=0;a<e.length;a+=1)\"[object Array]\"===Object.prototype.toString.call(e[a])?i.push([r.doBidiReorder(e[a][0]),e[a][1],e[a][2]]):i.push([r.doBidiReorder(e[a])]);t.text=i}else t.text=r.doBidiReorder(e);r.setOptions({isInputVisual:!0})}])}(E),E.API.TTFFont=function(){function t(t){var e;if(this.rawData=t,e=this.contents=new ne(t),this.contents.pos=4,\"ttcf\"===e.readString(4))throw new Error(\"TTCF not supported.\");e.pos=0,this.parse(),this.subset=new Le(this),this.registerTTF()}return t.open=function(e){return new t(e)},t.prototype.parse=function(){return this.directory=new ie(this.contents),this.head=new se(this),this.name=new pe(this),this.cmap=new ue(this),this.toUnicode={},this.hhea=new he(this),this.maxp=new ge(this),this.hmtx=new me(this),this.post=new fe(this),this.os2=new le(this),this.loca=new Ne(this),this.glyf=new be(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},t.prototype.registerTTF=function(){var t,e,r,n,i;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var e,r,n,i;for(i=[],e=0,r=(n=this.bbox).length;e<r;e++)t=n[e],i.push(Math.round(t*this.scaleFactor));return i}.call(this),this.stemV=0,this.post.exists?(r=255&(n=this.post.italic_angle),0!=(32768&(e=n>>16))&&(e=-(1+(65535^e))),this.italicAngle=+(e+\".\"+r)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(i=this.familyClass)||2===i||3===i||4===i||5===i||7===i,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},t.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},t.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},t.prototype.widthOfString=function(t,e,r){var n,i,a,o;for(a=0,i=0,o=(t=\"\"+t).length;0<=o?i<o:i>o;i=0<=o?++i:--i)n=t.charCodeAt(i),a+=this.widthOfGlyph(this.characterToGlyph(n))+r*(1e3/e)||0;return a*(e/1e3)},t.prototype.lineHeight=function(t,e){var r;return null==e&&(e=!1),r=e?this.lineGap:0,(this.ascender+r-this.decender)/1e3*t},t}();var re,ne=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;e=0<=t?++e:--e)r[e]=String.fromCharCode(this.readByte());return r.join(\"\")},t.prototype.writeString=function(t){var e,r,n;for(n=[],e=0,r=t.length;0<=r?e<r:e>r;e=0<=r?++e:--e)n.push(this.writeByte(t.charCodeAt(e)));return n},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,r,n,i,a,o,s;return t=this.readByte(),e=this.readByte(),r=this.readByte(),n=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^r)+4294967296*(255^n)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*r+4294967296*n+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,r;return e=Math.floor(t/4294967296),r=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(r>>24&255),this.writeByte(r>>16&255),this.writeByte(r>>8&255),this.writeByte(255&r)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,r;for(e=[],r=0;0<=t?r<t:r>t;r=0<=t?++r:--r)e.push(this.readByte());return e},t.prototype.write=function(t){var e,r,n,i;for(i=[],r=0,n=t.length;r<n;r++)e=t[r],i.push(this.writeByte(e));return i},t}(),ie=function(){var t;function e(t){var e,r,n;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},r=0,n=this.tableCount;0<=n?r<n:r>n;r=0<=n?++r:--r)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return e.prototype.encode=function(e){var r,n,i,a,o,s,c,u,h,l,f,d,p;for(p in f=Object.keys(e).length,s=Math.log(2),h=16*Math.floor(Math.log(f)/s),a=Math.floor(h/s),u=16*f-h,(n=new ne).writeInt(this.scalarType),n.writeShort(f),n.writeShort(h),n.writeShort(a),n.writeShort(u),i=16*f,c=n.pos+i,o=null,d=[],e)for(l=e[p],n.writeString(p),n.writeInt(t(l)),n.writeInt(c),n.writeInt(l.length),d=d.concat(l),\"head\"===p&&(o=c),c+=l.length;c%4;)d.push(0),c++;return n.write(d),r=2981146554-t(n.data),n.pos=o+8,n.writeUInt32(r),n.data},t=function(t){var e,r,n,i;for(t=ve.call(t);t.length%4;)t.push(0);for(n=new ne(t),r=0,e=0,i=t.length;e<i;e=e+=4)r+=n.readUInt32();return 4294967295&r},e}(),ae={}.hasOwnProperty,oe=function(t,e){for(var r in e)ae.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};re=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var se=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"head\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},e.prototype.encode=function(t){var e;return(e=new ne).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},e}(),ce=function(){function t(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b;switch(this.platformID=t.readUInt16(),this.encodingID=t.readShort(),this.offset=e+t.readInt(),h=t.pos,t.pos=this.offset,this.format=t.readUInt16(),this.length=t.readUInt16(),this.language=t.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=0;s<256;++s)this.codeMap[s]=t.readByte();break;case 4:for(f=t.readUInt16(),l=f/2,t.pos+=6,i=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),t.pos+=2,p=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),c=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),u=function(){var e,r;for(r=[],s=e=0;0<=l?e<l:e>l;s=0<=l?++e:--e)r.push(t.readUInt16());return r}(),n=(this.length-t.pos+this.offset)/2,o=function(){var e,r;for(r=[],s=e=0;0<=n?e<n:e>n;s=0<=n?++e:--e)r.push(t.readUInt16());return r}(),s=m=0,b=i.length;m<b;s=++m)for(g=i[s],r=v=d=p[s];d<=g?v<=g:v>=g;r=d<=g?++v:--v)0===u[s]?a=r+c[s]:0!==(a=o[u[s]/2+(r-d)-(l-s)]||0)&&(a+=c[s]),this.codeMap[r]=65535&a}t.pos=h}return t.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F,C,j,O,B,M,E,q,D,R,T,U,z,H,W,V,G,Y;switch(I=new ne,a=Object.keys(t).sort((function(t,e){return t-e})),e){case\"macroman\":for(p=0,g=function(){var t=[];for(d=0;d<256;++d)t.push(0);return t}(),v={0:0},i={},F=0,B=a.length;F<B;F++)null==v[W=t[n=a[F]]]&&(v[W]=++p),i[n]={old:t[n],new:v[t[n]]},g[n]=v[t[n]];return I.writeUInt16(1),I.writeUInt16(0),I.writeUInt32(12),I.writeUInt16(0),I.writeUInt16(262),I.writeUInt16(0),I.write(g),{charMap:i,subtable:I.data,maxGlyphID:p+1};case\"unicode\":for(P=[],h=[],b=0,v={},r={},m=c=null,C=0,M=a.length;C<M;C++)null==v[w=t[n=a[C]]]&&(v[w]=++b),r[n]={old:w,new:v[w]},o=v[w]-n,null!=m&&o===c||(m&&h.push(m),P.push(n),c=o),m=n;for(m&&h.push(m),h.push(65535),P.push(65535),S=2*(x=P.length),A=2*Math.pow(Math.log(x)/Math.LN2,2),l=Math.log(A/2)/Math.LN2,L=2*x-A,s=[],N=[],f=[],d=j=0,E=P.length;j<E;d=++j){if(_=P[d],u=h[d],65535===_){s.push(0),N.push(0);break}if(_-(k=r[_].new)>=32768)for(s.push(0),N.push(2*(f.length+x-d)),n=O=_;_<=u?O<=u:O>=u;n=_<=u?++O:--O)f.push(r[n].new);else s.push(k-_),N.push(0)}for(I.writeUInt16(3),I.writeUInt16(1),I.writeUInt32(12),I.writeUInt16(4),I.writeUInt16(16+8*x+2*f.length),I.writeUInt16(0),I.writeUInt16(S),I.writeUInt16(A),I.writeUInt16(l),I.writeUInt16(L),z=0,q=h.length;z<q;z++)n=h[z],I.writeUInt16(n);for(I.writeUInt16(0),H=0,D=P.length;H<D;H++)n=P[H],I.writeUInt16(n);for(V=0,R=s.length;V<R;V++)o=s[V],I.writeUInt16(o);for(G=0,T=N.length;G<T;G++)y=N[G],I.writeUInt16(y);for(Y=0,U=f.length;Y<U;Y++)p=f[Y],I.writeUInt16(p);return{charMap:r,subtable:I.data,maxGlyphID:b+1}}},t}(),ue=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"cmap\",e.prototype.parse=function(t){var e,r,n;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:r>n;r=0<=n?++r:--r)e=new ce(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},e.encode=function(t,e){var r,n;return null==e&&(e=\"macroman\"),r=ce.encode(t,e),(n=new ne).writeUInt16(0),n.writeUInt16(1),r.table=n.data.concat(r.subtable),r},e}(),he=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"hhea\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},e}(),le=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"OS/2\",e.prototype.parse=function(t){if(t.pos=this.offset,this.version=t.readUInt16(),this.averageCharWidth=t.readShort(),this.weightClass=t.readUInt16(),this.widthClass=t.readUInt16(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort(),this.ySubscriptYSize=t.readShort(),this.ySubscriptXOffset=t.readShort(),this.ySubscriptYOffset=t.readShort(),this.ySuperscriptXSize=t.readShort(),this.ySuperscriptYSize=t.readShort(),this.ySuperscriptXOffset=t.readShort(),this.ySuperscriptYOffset=t.readShort(),this.yStrikeoutSize=t.readShort(),this.yStrikeoutPosition=t.readShort(),this.familyClass=t.readShort(),this.panose=function(){var e,r;for(r=[],e=0;e<10;++e)r.push(t.readByte());return r}(),this.charRange=function(){var e,r;for(r=[],e=0;e<4;++e)r.push(t.readInt());return r}(),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort(),this.descent=t.readShort(),this.lineGap=t.readShort(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=function(){var e,r;for(r=[],e=0;e<2;e=++e)r.push(t.readInt());return r}(),this.version>1))return this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()},e}(),fe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"post\",e.prototype.parse=function(t){var e,r,n;switch(t.pos=this.offset,this.format=t.readInt(),this.italicAngle=t.readInt(),this.underlinePosition=t.readShort(),this.underlineThickness=t.readShort(),this.isFixedPitch=t.readInt(),this.minMemType42=t.readInt(),this.maxMemType42=t.readInt(),this.minMemType1=t.readInt(),this.maxMemType1=t.readInt(),this.format){case 65536:break;case 131072:var i;for(r=t.readUInt16(),this.glyphNameIndex=[],i=0;0<=r?i<r:i>r;i=0<=r?++i:--i)this.glyphNameIndex.push(t.readUInt16());for(this.names=[],n=[];t.pos<this.offset+this.length;)e=t.readByte(),n.push(this.names.push(t.readString(e)));return n;case 151552:return r=t.readUInt16(),this.offsets=t.read(r);case 196608:break;case 262144:return this.map=function(){var e,r,n;for(n=[],i=e=0,r=this.file.maxp.numGlyphs;0<=r?e<r:e>r;i=0<=r?++e:--e)n.push(t.readUInt32());return n}.call(this)}},e}(),de=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},pe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"name\",e.prototype.parse=function(t){var e,r,n,i,a,o,s,c,u,h,l;for(t.pos=this.offset,t.readShort(),e=t.readShort(),o=t.readShort(),r=[],i=0;0<=e?i<e:i>e;i=0<=e?++i:--i)r.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+o+t.readShort()});for(s={},i=u=0,h=r.length;u<h;i=++u)n=r[i],t.pos=n.offset,c=t.readString(n.length),a=new de(c,n),null==s[l=n.nameID]&&(s[l]=[]),s[n.nameID].push(a);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(t){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},e}(),ge=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"maxp\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},e}(),me=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"hmtx\",e.prototype.parse=function(t){var e,r,n,i,a,o,s;for(t.pos=this.offset,this.metrics=[],e=0,o=this.file.hhea.numberOfMetrics;0<=o?e<o:e>o;e=0<=o?++e:--e)this.metrics.push({advance:t.readUInt16(),lsb:t.readInt16()});for(n=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var r,i;for(i=[],e=r=0;0<=n?r<n:r>n;e=0<=n?++r:--r)i.push(t.readInt16());return i}(),this.widths=function(){var t,e,r,n;for(n=[],t=0,e=(r=this.metrics).length;t<e;t++)i=r[t],n.push(i.advance);return n}.call(this),r=this.widths[this.widths.length-1],s=[],e=a=0;0<=n?a<n:a>n;e=0<=n?++a:--a)s.push(this.widths.push(r));return s},e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},e}(),ve=[].slice,be=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"glyf\",e.prototype.parse=function(){return this.cache={}},e.prototype.glyphFor=function(t){var e,r,n,i,a,o,s,c,u,h;return t in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,r=i.indexOf(t),0===(n=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+r,a=(o=new ne(e.read(n))).readShort(),c=o.readShort(),h=o.readShort(),s=o.readShort(),u=o.readShort(),this.cache[t]=-1===a?new we(o,c,h,s,u):new ye(o,a,c,h,s,u),this.cache[t]))},e.prototype.encode=function(t,e,r){var n,i,a,o,s;for(a=[],i=[],o=0,s=e.length;o<s;o++)n=t[e[o]],i.push(a.length),n&&(a=a.concat(n.encode(r)));return i.push(a.length),{table:a,offsets:i}},e}(),ye=function(){function t(t,e,r,n,i,a){this.raw=t,this.numberOfContours=e,this.xMin=r,this.yMin=n,this.xMax=i,this.yMax=a,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),we=function(){function t(t,e,r,n,i){var a,o;for(this.raw=t,this.xMin=e,this.yMin=r,this.xMax=n,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],a=this.raw;o=a.readShort(),this.glyphOffsets.push(a.pos),this.glyphIDs.push(a.readUInt16()),32&o;)a.pos+=1&o?4:2,128&o?a.pos+=8:64&o?a.pos+=4:8&o&&(a.pos+=2)}return 1,8,32,64,128,t.prototype.encode=function(){var t,e,r;for(e=new ne(ve.call(this.raw.data)),t=0,r=this.glyphIDs.length;t<r;++t)e.pos=this.glyphOffsets[t];return e.data},t}(),Ne=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return oe(e,re),e.prototype.tag=\"loca\",e.prototype.parse=function(t){var e,r;return t.pos=this.offset,e=this.file.head.indexToLocFormat,this.offsets=0===e?function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=2)n.push(2*t.readUInt16());return n}.call(this):function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=4)n.push(t.readUInt32());return n}.call(this)},e.prototype.indexOf=function(t){return this.offsets[t]},e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},e.prototype.encode=function(t,e){for(var r=new Uint32Array(this.offsets.length),n=0,i=0,a=0;a<r.length;++a)if(r[a]=n,i<e.length&&e[i]==a){++i,r[a]=n;var o=this.offsets[a],s=this.offsets[a+1]-o;s>0&&(n+=s)}for(var c=new Array(4*r.length),u=0;u<r.length;++u)c[4*u+3]=255&r[u],c[4*u+2]=(65280&r[u])>>8,c[4*u+1]=(16711680&r[u])>>16,c[4*u]=(4278190080&r[u])>>24;return c},e}(),Le=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,r,n,i;for(e in n=this.font.cmap.tables[0].codeMap,t={},i=this.subset)r=i[e],t[e]=n[r];return t},t.prototype.glyphsFor=function(t){var e,r,n,i,a,o,s;for(n={},a=0,o=t.length;a<o;a++)n[i=t[a]]=this.font.glyf.glyphFor(i);for(i in e=[],n)(null!=(r=n[i])?r.compound:void 0)&&e.push.apply(e,r.glyphIDs);if(e.length>0)for(i in s=this.glyphsFor(e))r=s[i],n[i]=r;return n},t.prototype.encode=function(t,e){var r,n,i,a,o,s,c,u,h,l,f,d,p,g,m;for(n in r=ue.encode(this.generateCmap(),\"unicode\"),a=this.glyphsFor(t),f={0:0},m=r.charMap)f[(s=m[n]).old]=s.new;for(d in l=r.maxGlyphID,a)d in f||(f[d]=l++);return u=function(t){var e,r;for(e in r={},t)r[t[e]]=e;return r}(f),h=Object.keys(u).sort((function(t,e){return t-e})),p=function(){var t,e,r;for(r=[],t=0,e=h.length;t<e;t++)o=h[t],r.push(u[o]);return r}(),i=this.font.glyf.encode(a,p,f),c=this.font.loca.encode(i.offsets,p),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:c,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();E.API.PDFObject=function(){var t;function e(){}return t=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},e.convert=function(r){var n,i,a,o;if(Array.isArray(r))return\"[\"+function(){var t,i,a;for(a=[],t=0,i=r.length;t<i;t++)n=r[t],a.push(e.convert(n));return a}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+t(r.getUTCFullYear(),4)+t(r.getUTCMonth(),2)+t(r.getUTCDate(),2)+t(r.getUTCHours(),2)+t(r.getUTCMinutes(),2)+t(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"==={}.toString.call(r)){for(i in a=[\"<<\"],r)o=r[i],a.push(\"/\"+i+\" \"+e.convert(o));return a.push(\">>\"),a.join(\"\\n\")}return\"\"+r},e}();export default E;export{St as AcroForm,At as AcroFormAppearance,mt as AcroFormButton,wt as AcroFormCheckBox,ft as AcroFormChoiceField,pt as AcroFormComboBox,gt as AcroFormEditBox,dt as AcroFormListBox,Lt as AcroFormPasswordField,vt as AcroFormPushButton,bt as AcroFormRadioButton,Nt as AcroFormTextField,j as GState,B as ShadingPattern,M as TilingPattern,E as jsPDF};\n//# sourceMappingURL=jspdf.es.min.js.map\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","export function shallowEqual(a, b) {\n /* eslint-disable no-restricted-syntax */\n for (var key in a) {\n if ({}.hasOwnProperty.call(a, key) && (!{}.hasOwnProperty.call(b, key) || a[key] !== b[key])) {\n return false;\n }\n }\n\n for (var _key in b) {\n if ({}.hasOwnProperty.call(b, _key) && !{}.hasOwnProperty.call(a, _key)) {\n return false;\n }\n }\n\n return true;\n}","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"../utils/Constants\";\nimport { AuthError } from \"./AuthError\";\n\n/**\n * InteractionRequiredServerErrorMessage contains string constants used by error codes and messages returned by the server indicating interaction is required\n */\nexport const InteractionRequiredServerErrorMessage = [\n \"interaction_required\",\n \"consent_required\",\n \"login_required\"\n];\n\nexport const InteractionRequiredAuthSubErrorMessage = [\n \"message_only\",\n \"additional_action\",\n \"basic_action\",\n \"user_password_expired\",\n \"consent_required\"\n];\n\n/**\n * Interaction required errors defined by the SDK\n */\nexport const InteractionRequiredAuthErrorMessage = {\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No refresh token found in the cache. Please sign-in.\"\n },\n native_account_unavailable: {\n code: \"native_account_unavailable\",\n desc: \"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.\"\n }\n};\n\n/**\n * Error thrown when user interaction is required.\n */\nexport class InteractionRequiredAuthError extends AuthError {\n /**\n * The time the error occured at\n */\n timestamp: string;\n\n /**\n * TraceId associated with the error\n */\n traceId: string;\n\n /**\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/claims-challenge.md\n * \n * A string with extra claims needed for the token request to succeed\n * web site: redirect the user to the authorization page and set the extra claims\n * web api: include the claims in the WWW-Authenticate header that are sent back to the client so that it knows to request a token with the extra claims\n * desktop application or browser context: include the claims when acquiring the token interactively\n * app to app context (client_credentials): include the claims in the AcquireTokenByClientCredential request\n */\n claims: string;\n\n constructor(errorCode?: string, errorMessage?: string, subError?: string, timestamp?: string, traceId?: string, correlationId?: string, claims?: string) {\n super(errorCode, errorMessage, subError);\n Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype);\n \n this.timestamp = timestamp || Constants.EMPTY_STRING;\n this.traceId = traceId || Constants.EMPTY_STRING;\n this.correlationId = correlationId || Constants.EMPTY_STRING;\n this.claims = claims || Constants.EMPTY_STRING;\n this.name = \"InteractionRequiredAuthError\";\n }\n\n /**\n * Helper function used to determine if an error thrown by the server requires interaction to resolve\n * @param errorCode \n * @param errorString \n * @param subError \n */\n static isInteractionRequiredError(errorCode?: string, errorString?: string, subError?: string): boolean {\n const isInteractionRequiredErrorCode = !!errorCode && InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1;\n const isInteractionRequiredSubError = !!subError && InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1;\n const isInteractionRequiredErrorDesc = !!errorString && InteractionRequiredServerErrorMessage.some((irErrorCode) => {\n return errorString.indexOf(irErrorCode) > -1;\n });\n\n return isInteractionRequiredErrorCode || isInteractionRequiredErrorDesc || isInteractionRequiredSubError;\n }\n\n /**\n * Creates an error thrown when the authorization code required for a token request is null or empty.\n */\n static createNoTokensFoundError(): InteractionRequiredAuthError {\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.noTokensFoundError.code, InteractionRequiredAuthErrorMessage.noTokensFoundError.desc);\n }\n\n /**\n * Creates an error thrown when the native broker returns ACCOUNT_UNAVAILABLE status, indicating that the account was removed and interactive sign-in is required\n * @returns \n */\n static createNativeAccountUnavailableError(): InteractionRequiredAuthError {\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.native_account_unavailable.code, InteractionRequiredAuthErrorMessage.native_account_unavailable.desc);\n }\n}\n","/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */\nvar XLSX = {};\nfunction make_xlsx_lib(XLSX){\nXLSX.version = '0.16.9';\nvar current_codepage = 1200, current_ansi = 1252;\n/*global cptable:true, window */\nif(typeof module !== \"undefined\" && typeof require !== 'undefined') {\n\tif(typeof cptable === 'undefined') {\n\t\tif(typeof global !== 'undefined') global.cptable = require('./dist/cpexcel.js');\n\t\telse if(typeof window !== 'undefined') window.cptable = require('./dist/cpexcel.js');\n\t}\n}\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950 ];\nfor(var i = 0; i <= 8; ++i) VALID_ANSI.push(1250 + i);\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n0: 1252, /* ANSI */\n1: 65001, /* DEFAULT */\n2: 65001, /* SYMBOL */\n77: 10000, /* MAC */\n128: 932, /* SHIFTJIS */\n129: 949, /* HANGUL */\n130: 1361, /* JOHAB */\n134: 936, /* GB2312 */\n136: 950, /* CHINESEBIG5 */\n161: 1253, /* GREEK */\n162: 1254, /* TURKISH */\n163: 1258, /* VIETNAMESE */\n177: 1255, /* HEBREW */\n178: 1256, /* ARABIC */\n186: 1257, /* BALTIC */\n204: 1251, /* RUSSIAN */\n222: 874, /* THAI */\n238: 1250, /* EASTEUROPE */\n255: 1252, /* OEM */\n69: 6969 /* MISC */\n});\n\nvar set_ansi = function(cp) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data) { var o = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data) {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x) { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x) { return String.fromCharCode(x); };\nif(typeof cptable !== 'undefined') {\n\tset_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x) {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x) {\n\t\treturn cptable.utils.decode(current_ansi, [x])[0];\n\t};\n}\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64 = (function make_b64(){\n\tvar map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\treturn {\n\t\tencode: function(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tfor(var i = 0; i < input.length; ) {\n\t\t\t\tc1 = input.charCodeAt(i++);\n\t\t\t\te1 = (c1 >> 2);\n\n\t\t\t\tc2 = input.charCodeAt(i++);\n\t\t\t\te2 = ((c1 & 3) << 4) | (c2 >> 4);\n\n\t\t\t\tc3 = input.charCodeAt(i++);\n\t\t\t\te3 = ((c2 & 15) << 2) | (c3 >> 6);\n\t\t\t\te4 = (c3 & 63);\n\t\t\t\tif (isNaN(c2)) { e3 = e4 = 64; }\n\t\t\t\telse if (isNaN(c3)) { e4 = 64; }\n\t\t\t\to += map.charAt(e1) + map.charAt(e2) + map.charAt(e3) + map.charAt(e4);\n\t\t\t}\n\t\t\treturn o;\n\t\t},\n\t\tdecode: function b64_decode(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tinput = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n\t\t\tfor(var i = 0; i < input.length;) {\n\t\t\t\te1 = map.indexOf(input.charAt(i++));\n\t\t\t\te2 = map.indexOf(input.charAt(i++));\n\t\t\t\tc1 = (e1 << 2) | (e2 >> 4);\n\t\t\t\to += String.fromCharCode(c1);\n\n\t\t\t\te3 = map.indexOf(input.charAt(i++));\n\t\t\t\tc2 = ((e2 & 15) << 4) | (e3 >> 2);\n\t\t\t\tif (e3 !== 64) { o += String.fromCharCode(c2); }\n\n\t\t\t\te4 = map.indexOf(input.charAt(i++));\n\t\t\t\tc3 = ((e3 & 3) << 6) | e4;\n\t\t\t\tif (e4 !== 64) { o += String.fromCharCode(c3); }\n\t\t\t}\n\t\t\treturn o;\n\t\t}\n\t};\n})();\nvar has_buf = (typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node);\n\nvar Buffer_from = function(){};\n\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n\t// $FlowIgnore\n\tif(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n}\n\nfunction new_raw_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.alloc(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.allocUnsafe(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s) {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x){ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s) {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data) {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data) {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data) {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\nvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = function(bufs) { return [].concat.apply([], bufs); };\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nvar SSF = ({});\nvar make_ssf = function make_ssf(SSF){\nSSF.version = '0.11.2';\nfunction _strrev(x) { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\nfunction pad0(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v,d){var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v,d){var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v,d){var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = Math.pow(2,32);\nfunction pad0r(v,d){if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\nfunction isgeneral(s, i) { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction init_table(t) {\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n}\n\nvar table_fmt = {};\ninit_table(table_fmt);\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar default_map = [];\nvar defi = 0;\n\n// 5 -> 37 ... 8 -> 40\nfor(defi = 5; defi <= 8; ++defi) default_map[defi] = 32 + defi;\n\n// 23 -> 0 ... 26 -> 0\nfor(defi = 23; defi <= 26; ++defi) default_map[defi] = 0;\n\n// 27 -> 14 ... 31 -> 14\nfor(defi = 27; defi <= 31; ++defi) default_map[defi] = 14;\n// 50 -> 14 ... 58 -> 14\nfor(defi = 50; defi <= 58; ++defi) default_map[defi] = 14;\n\n// 59 -> 1 ... 62 -> 4\nfor(defi = 59; defi <= 62; ++defi) default_map[defi] = defi - 58;\n// 67 -> 9 ... 68 -> 10\nfor(defi = 67; defi <= 68; ++defi) default_map[defi] = defi - 58;\n// 72 -> 14 ... 75 -> 17\nfor(defi = 72; defi <= 75; ++defi) default_map[defi] = defi - 58;\n\n// 69 -> 12 ... 71 -> 14\nfor(defi = 67; defi <= 68; ++defi) default_map[defi] = defi - 57;\n\n// 76 -> 20 ... 78 -> 22\nfor(defi = 76; defi <= 78; ++defi) default_map[defi] = defi - 56;\n\n// 79 -> 45 ... 81 -> 47\nfor(defi = 79; defi <= 81; ++defi) default_map[defi] = defi - 34;\n\n// 82 -> 0 ... 65536 -> 0 (omitted)\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar default_str = [];\n\n// 5 -- Currency, 0 decimal, black negative\ndefault_str[5] = default_str[63] = '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)';\n// 6 -- Currency, 0 decimal, red negative\ndefault_str[6] = default_str[64] = '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)';\n// 7 -- Currency, 2 decimal, black negative\ndefault_str[7] = default_str[65] = '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)';\n// 8 -- Currency, 2 decimal, red negative\ndefault_str[8] = default_str[66] = '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)';\n\n// 41 -- Accounting, 0 decimal, No Symbol\ndefault_str[41] = '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)';\n// 42 -- Accounting, 0 decimal, $ Symbol\ndefault_str[42] = '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)';\n// 43 -- Accounting, 2 decimal, No Symbol\ndefault_str[43] = '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)';\n// 44 -- Accounting, 2 decimal, $ Symbol\ndefault_str[44] = '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)';\nfunction frac(x, D, mixed) {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction parse_date_code(v,opts,b2) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nSSF.parse_date_code = parse_date_code;\nvar basedate = new Date(1899, 11, 31, 0, 0, 0);\nvar dnthresh = basedate.getTime();\nvar base1904 = new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= base1904) epoch += 24*60*60*1000;\n\treturn (epoch - (dnthresh + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* The longest 32-bit integer text is \"-4294967296\", exactly 11 chars */\nfunction general_fmt_int(v) { return v.toString(10); }\nSSF._general_int = general_fmt_int;\n\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\nvar general_fmt_num = (function make_general_fmt_num() {\n\tvar trailing_zeroes_and_decimal = /(?:\\.0*|(\\.\\d*[1-9])0+)$/;\n\tfunction strip_decimal(o) {\n\t\treturn (o.indexOf(\".\") == -1) ? o : o.replace(trailing_zeroes_and_decimal, \"$1\");\n\t}\n\n\t/* General Exponential always shows 2 digits exp and trims the mantissa */\n\tvar mantissa_zeroes_and_decimal = /(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/;\n\tvar exp_with_single_digit = /(E[+-])(\\d)$/;\n\tfunction normalize_exp(o) {\n\t\tif(o.indexOf(\"E\") == -1) return o;\n\t\treturn o.replace(mantissa_zeroes_and_decimal,\"$1E\").replace(exp_with_single_digit,\"$10$2\");\n\t}\n\n\t/* exponent >= -9 and <= 9 */\n\tfunction small_exp(v) {\n\t\tvar w = (v<0?12:11);\n\t\tvar o = strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\t\to = v.toPrecision(10); if(o.length <= w) return o;\n\t\treturn v.toExponential(5);\n\t}\n\n\t/* exponent >= 11 or <= -10 likely exponential */\n\tfunction large_exp(v) {\n\t\tvar o = strip_decimal(v.toFixed(11));\n\t\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n\t}\n\n\tfunction general_fmt_num_base(v) {\n\t\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\t\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\t\telse if(Math.abs(V) <= 9) o = small_exp(v);\n\t\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\t\telse o = large_exp(v);\n\n\t\treturn strip_decimal(normalize_exp(o.toUpperCase()));\n\t}\n\n\treturn general_fmt_num_base;\n})();\nSSF._general_num = general_fmt_num;\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction general_fmt(v, opts) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : general_fmt_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\nSSF._general = general_fmt;\nfunction fix_hijri(date, o) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\n/*jshint -W086 */\nfunction write_date(type, fmt, val, ss0) {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\nif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n/*jshint +W086 */\nfunction commaify(s) {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar write_num = (function make_write_num(){\nvar pct1 = /%/g;\nfunction write_num_pct(type, fmt, val){\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\nfunction write_num_cm(type, fmt, val){\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\nfunction write_num_exp(fmt, val){\n\tvar o;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r, aval, sign) {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r, aval, sign) {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str) {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val, d) { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val, d) {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val, d) {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val) {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type, fmt, val) {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri<o.length?o.charAt(ri++):x==='0'?'0':\"\";}));\n\t}\n\tif(fmt.match(phone)) {\n\t\to = write_num_flt(type, \"##########\", val);\n\t\treturn \"(\" + o.substr(0,3) + \") \" + o.substr(3, 3) + \"-\" + o.substr(6);\n\t}\n\tvar oa = \"\";\n\tif((r = fmt.match(/^([#0?]+)( ?)\\/( ?)([#0?]+)/))) {\n\t\tri = Math.min(r[4].length,7);\n\t\tff = frac(aval, Math.pow(10,ri)-1, false);\n\t\to = \"\" + sign;\n\t\toa = write_num(\"n\", r[1], ff[1]);\n\t\tif(oa.charAt(oa.length-1) == \" \") oa = oa.substr(0,oa.length-1) + \"0\";\n\t\to += oa + r[2] + \"/\" + r[3];\n\t\toa = rpad_(ff[2],ri);\n\t\tif(oa.length < r[4].length) oa = hashq(r[4].substr(r[4].length-oa.length)) + oa;\n\t\to += oa;\n\t\treturn o;\n\t}\n\tif((r = fmt.match(/^# ([#0?]+)( ?)\\/( ?)([#0?]+)/))) {\n\t\tri = Math.min(Math.max(r[1].length, r[4].length),7);\n\t\tff = frac(aval, Math.pow(10,ri)-1, true);\n\t\treturn sign + (ff[0]||(ff[1] ? \"\" : \"0\")) + \" \" + (ff[1] ? pad_(ff[1],ri) + r[2] + \"/\" + r[3] + rpad_(ff[2],ri): fill(\" \", 2*ri+1 + r[2].length + r[3].length));\n\t}\n\tif((r = fmt.match(/^[#0?]+$/))) {\n\t\to = pad0r(val, 0);\n\t\tif(fmt.length <= o.length) return o;\n\t\treturn hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(/^([#0?]+)\\.([#0]+)$/))) {\n\t\to = \"\" + val.toFixed(Math.min(r[2].length,10)).replace(/([^0])0+$/,\"$1\");\n\t\tri = o.indexOf(\".\");\n\t\tvar lres = fmt.indexOf(\".\") - ri, rres = fmt.length - o.length - lres;\n\t\treturn hashq(fmt.substr(0,lres) + o + fmt.substr(fmt.length-rres));\n\t}\n\tif((r = fmt.match(/^00,000\\.([#0]*0)$/))) {\n\t\tri = dec(val, r[1].length);\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(flr(val)).replace(/^\\d,\\d{3}$/,\"0$&\").replace(/^\\d*$/,function($$) { return \"00,\" + ($$.length < 3 ? pad0(0,3-$$.length) : \"\") + $$; }) + \".\" + pad0(ri,r[1].length);\n\t}\n\tswitch(fmt) {\n\t\tcase \"###,##0.00\": return write_num_flt(type, \"#,##0.00\", val);\n\t\tcase \"###,###\":\n\t\tcase \"##,###\":\n\t\tcase \"#,###\": var x = commaify(pad0r(aval,0)); return x !== \"0\" ? sign + x : \"\";\n\t\tcase \"###,###.00\": return write_num_flt(type, \"###,##0.00\",val).replace(/^0\\./,\".\");\n\t\tcase \"#,###.00\": return write_num_flt(type, \"#,##0.00\",val).replace(/^0\\./,\".\");\n\t\tdefault:\n\t}\n\tthrow new Error(\"unsupported format |\" + fmt + \"|\");\n}\nfunction write_num_cm2(type, fmt, val){\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\nfunction write_num_pct2(type, fmt, val){\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\nfunction write_num_exp2(fmt, val){\n\tvar o;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp2(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(!o.match(/[Ee]/)) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nfunction write_num_int(type, fmt, val) {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\no = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\nreturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri<o.length?o.charAt(ri++):x==='0'?'0':\"\";}));\n\t}\n\tif(fmt.match(phone)) {\n\t\to = write_num_int(type, \"##########\", val);\n\t\treturn \"(\" + o.substr(0,3) + \") \" + o.substr(3, 3) + \"-\" + o.substr(6);\n\t}\n\tvar oa = \"\";\n\tif((r = fmt.match(/^([#0?]+)( ?)\\/( ?)([#0?]+)/))) {\n\t\tri = Math.min(r[4].length,7);\n\t\tff = frac(aval, Math.pow(10,ri)-1, false);\n\t\to = \"\" + sign;\n\t\toa = write_num(\"n\", r[1], ff[1]);\n\t\tif(oa.charAt(oa.length-1) == \" \") oa = oa.substr(0,oa.length-1) + \"0\";\n\t\to += oa + r[2] + \"/\" + r[3];\n\t\toa = rpad_(ff[2],ri);\n\t\tif(oa.length < r[4].length) oa = hashq(r[4].substr(r[4].length-oa.length)) + oa;\n\t\to += oa;\n\t\treturn o;\n\t}\n\tif((r = fmt.match(/^# ([#0?]+)( ?)\\/( ?)([#0?]+)/))) {\n\t\tri = Math.min(Math.max(r[1].length, r[4].length),7);\n\t\tff = frac(aval, Math.pow(10,ri)-1, true);\n\t\treturn sign + (ff[0]||(ff[1] ? \"\" : \"0\")) + \" \" + (ff[1] ? pad_(ff[1],ri) + r[2] + \"/\" + r[3] + rpad_(ff[2],ri): fill(\" \", 2*ri+1 + r[2].length + r[3].length));\n\t}\n\tif((r = fmt.match(/^[#0?]+$/))) {\n\t\to = \"\" + val;\n\t\tif(fmt.length <= o.length) return o;\n\t\treturn hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(/^([#0]+)\\.([#0]+)$/))) {\n\t\to = \"\" + val.toFixed(Math.min(r[2].length,10)).replace(/([^0])0+$/,\"$1\");\n\t\tri = o.indexOf(\".\");\n\t\tvar lres = fmt.indexOf(\".\") - ri, rres = fmt.length - o.length - lres;\n\t\treturn hashq(fmt.substr(0,lres) + o + fmt.substr(fmt.length-rres));\n\t}\n\tif((r = fmt.match(/^00,000\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify(\"\"+val).replace(/^\\d,\\d{3}$/,\"0$&\").replace(/^\\d*$/,function($$) { return \"00,\" + ($$.length < 3 ? pad0(0,3-$$.length) : \"\") + $$; }) + \".\" + pad0(0,r[1].length);\n\t}\n\tswitch(fmt) {\n\t\tcase \"###,###\":\n\t\tcase \"##,###\":\n\t\tcase \"#,###\": var x = commaify(\"\"+aval); return x !== \"0\" ? sign + x : \"\";\n\t\tdefault:\n\t\t\tif(fmt.match(/\\.[0#?]*$/)) return write_num_int(type, fmt.slice(0,fmt.lastIndexOf(\".\")), val) + hashq(fmt.slice(fmt.lastIndexOf(\".\")));\n\t}\n\tthrow new Error(\"unsupported format |\" + fmt + \"|\");\n}\nreturn function write_num(type, fmt, val) {\n\treturn (val|0) === val ? write_num_int(type, fmt, val) : write_num_flt(type, fmt, val);\n};})();\nfunction split_fmt(fmt) {\n\tvar out = [];\n\tvar in_str = false/*, cc*/;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\nSSF._split = split_fmt;\nvar abstime = /\\[[HhMmSs\\u0E0A\\u0E19\\u0E17]*\\]/;\nfunction fmt_is_date(fmt) {\n\tvar i = 0, /*cc = 0,*/ c = \"\", o = \"\";\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': if(isgeneral(fmt, i)) i+= 6; i++; break;\n\t\t\tcase '\"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;\n\t\t\tcase '\\\\': i+=2; break;\n\t\t\tcase '_': i+=2; break;\n\t\t\tcase '@': ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") return true;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"AM/PM\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"上午/下午\") return true;\n\t\t\t\t++i; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.match(abstime)) return true;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\twhile(i < fmt.length && (\"0#?.,E+-%\".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\nSSF.is_date = fmt_is_date;\nfunction eval_fmt(fmt, v, opts, flen) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(abstime)) {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\nout[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = general_fmt(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti<out.length) out[lasti].v = ostr.substr(0,jj+1) + out[lasti].v;\n\t\t}\n\t\telse if(decpt !== out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tjj = ostr.indexOf(\".\")-1;\n\t\t\tfor(i=decpt; i>= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti<out.length) out[lasti].v = ostr.substr(0,jj+1) + out[lasti].v;\n\t\t\tjj = ostr.indexOf(\".\")+1;\n\t\t\tfor(i=decpt; i<out.length; ++i) {\n\t\t\t\tif(out[i] == null || ('n?('.indexOf(out[i].t) === -1 && i !== decpt)) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j<out[i].v.length; ++j) {\n\t\t\t\t\tif(jj<ostr.length) vv += ostr.charAt(jj++);\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t}\n\t}\n\tfor(i=0; i<out.length; ++i) if(out[i] != null && 'n?'.indexOf(out[i].t)>-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\nSSF._eval = eval_fmt;\nvar cfregex = /\\[[=<>]/;\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f, v) {\n\tvar fmt = split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(cfregex) != null || fmt[1].match(cfregex) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction format(fmt,v,o) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[default_map[fmt]]) || table_fmt[default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(isgeneral(sfmt,0)) return general_fmt(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(isgeneral(f[1])) return general_fmt(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction load_entry(fmt, idx) {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\nfor(var i = 0; i < 0x0188; ++i) {\nif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\nif(idx < 0) idx = 0x187;\n\t}\ntable_fmt[idx] = fmt;\n\treturn idx;\n}\nSSF.load = load_entry;\nSSF._table = table_fmt;\nSSF.get_table = function get_table() { return table_fmt; };\nSSF.load_table = function load_table(tbl) {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) load_entry(tbl[i], i);\n};\nSSF.init_table = init_table;\nSSF.format = format;\n};\nmake_ssf(SSF);\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*{[string]:string}*/ = ({\n\t\"General Number\": \"General\",\n\t\"General Date\": SSF._table[22],\n\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\"Medium Date\": SSF._table[15],\n\t\"Short Date\": SSF._table[14],\n\t\"Long Time\": SSF._table[19],\n\t\"Medium Time\": SSF._table[18],\n\t\"Short Time\": SSF._table[20],\n\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"Fixed\": SSF._table[2],\n\t\"Standard\": SSF._table[4],\n\t\"Percent\": SSF._table[10],\n\t\"Scientific\": SSF._table[11],\n\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n});\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n});\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF) {\n\tvar fmt = typeof dateNF == \"number\" ? SSF._table[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str, dateNF, match) {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\nvar DO_NOT_EXPORT_CFB = true;\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32;\n(function (factory) {\n\t/*jshint ignore:start */\n\t/*eslint-disable */\n\tfactory(CRC32 = {});\n\t/*eslint-enable */\n\t/*jshint ignore:end */\n}(function(CRC32) {\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table() {\n\tvar c = 0, table = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T = signed_crc_table();\nfunction crc32_bstr(bstr, seed) {\n\tvar C = seed ^ -1, L = bstr.length - 1;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t}\n\tif(i === L) C = (C>>>8) ^ T[(C ^ bstr.charCodeAt(i))&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf(buf, seed) {\n\tif(buf.length > 10000) return crc32_buf_8(buf, seed);\n\tvar C = seed ^ -1, L = buf.length - 3;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+3) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf_8(buf, seed) {\n\tvar C = seed ^ -1, L = buf.length - 7;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+7) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_str(str, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L=str.length, c, d; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T[(C ^ c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn C ^ -1;\n}\nCRC32.table = T;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\n}));\n/* [MS-CFB] v20171201 */\nvar CFB = (function _CFB(){\nvar exports = {};\nexports.version = '1.1.4';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l, r) {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf, date) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf) {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob) {\n\tprep_blob(blob, 0);\n\tvar o = {};\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs;\nfunction get_fs() { return fs || (fs = require('fs')); }\nfunction parse(file, options) {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob = file.slice(0,512);\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = file.slice(0,ssz); prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files = {}, Paths = [], FileIndex = [], FullPaths = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob) {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob, mver) {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file, ssz) {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI, FP, Paths) {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad = [], q = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry, payload, mini) {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size));\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0));\n\treturn (bconcat(o).slice(0, entry.size));\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx, cnt, sectors, ssz, fat_addrs) {\n\tvar q = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors, start, fat_addrs, ssz, chkd) {\n\tvar buf = [], buf_chain = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors, dir_start, fat_addrs, ssz) {\n\tvar sl = sectors.length, sector_list = ([]);\n\tvar chkd = [], buf = [], buf_chain = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])});\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob = sector.slice(i, i+128);\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size));\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob, offset) {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename, options) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob, options) {\n\tswitch(options && options.type || \"base64\") {\n\t\tcase \"file\": return read_file(blob, options);\n\t\tcase \"base64\": return parse(s2a(Base64.decode(blob)), options);\n\t\tcase \"binary\": return parse(s2a(blob), options);\n\t}\n\treturn parse(blob, options);\n}\n\nfunction init_cfb(cfb, opts) {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 });\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb) {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb, f) {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\tvar data = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = false;\n\t\tfor(j = 0; j < data.length; ++j) if(data[j][0] === dad) s = true;\n\t\tif(!s) data.push([dad, ({\n\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\ttype: 1,\n\t\t\tclsid: HEADER_CLSID,\n\t\t\tct: now, mt: now,\n\t\t\tcontent: null\n\t\t})]);\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb, options) {\n\tvar _opts = options || {};\n\trebuild_cfb(cfb);\n\tif(_opts.fileType == 'zip') return write_zip(cfb, _opts);\n\tvar L = (function(cfb){\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\nvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w) {\n\t\tfor(T += w; i<T-1; ++i) o.write_shift(-4, i+1);\n\t\tif(w) { ++i; o.write_shift(-4, ENDOFCHAIN); }\n\t};\n\tT = i = 0;\n\tfor(T+=L[1]; i<T; ++i) o.write_shift(-4, consts.DIFSECT);\n\tfor(T+=L[2]; i<T; ++i) o.write_shift(-4, consts.FATSECT);\n\tchainit(L[3]);\n\tchainit(L[4]);\n\tvar j = 0, flen = 0;\n\tvar file = cfb.FileIndex[0];\n\tfor(; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\nflen = file.content.length;\n\t\tif(flen < 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x01FF) >> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\nflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size > 0 && file.size < 0x1000) {\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\twhile(o.l < o.length) o.write_shift(1, 0);\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb, path) {\n\tvar UCFullPaths = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath = path.toUpperCase();\n\tvar w = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb, filename, options) {\n\tget_fs();\n\tvar o = _write(cfb, options);\nfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o) {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb, options) {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type) {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o)); return o;\n\t\tcase \"binary\": return a2s(o);\n\t\tcase \"base64\": return Base64.encode(a2s(o));\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<<n)-1);\n\tvar v = buf[h] >>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < b.length; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}var _deflate = (function() {\nvar _deflateRaw = (function() {\n\treturn function deflateRaw(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\t/* TODO: this is only type 0 stored */\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t};\n})();\n\nreturn function(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n};\n})();\n/* modified inflate function also moves original read head */\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX) {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<<cleni)] = (cleni&15) | (i<<4);\n\t\t}\n\t}\n\treturn maxlen;\n}\n\nvar fix_lmap = use_typed_arrays ? new Uint16Array(512) : zero_fill_array(512);\nvar fix_dmap = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\nif(!use_typed_arrays) {\n\tfor(var i = 0; i < 512; ++i) fix_lmap[i] = 0;\n\tfor(i = 0; i < 32; ++i) fix_dmap[i] = 0;\n}\n(function() {\n\tvar dlens = [];\n\tvar i = 0;\n\tfor(;i<32; i++) dlens.push(5);\n\tbuild_tree(dlens, fix_dmap, 32);\n\n\tvar clens = [];\n\ti = 0;\n\tfor(; i<=143; i++) clens.push(8);\n\tfor(; i<=255; i++) clens.push(9);\n\tfor(; i<=279; i++) clens.push(7);\n\tfor(; i<=287; i++) clens.push(8);\n\tbuild_tree(clens, fix_lmap, 288);\n})();\n\nvar dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128);\nvar dyn_len_1 = 1, dyn_len_2 = 1;\n\n/* 5.5.3 Expanding Huffman Codes */\nfunction dyn(data, boff) {\n\t/* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */\n\tvar _HLIT = read_bits_5(data, boff) + 257; boff += 5;\n\tvar _HDIST = read_bits_5(data, boff) + 1; boff += 5;\n\tvar _HCLEN = read_bits_4(data, boff) + 4; boff += 4;\n\tvar w = 0;\n\n\t/* grab and store code lengths */\n\tvar clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19);\n\tvar ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n\tvar maxlen = 1;\n\tvar bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar L = clens.length; /* 19 */\n\tfor(var i = 0; i < _HCLEN; ++i) {\n\t\tclens[CLEN_ORDER[i]] = w = read_bits_3(data, boff);\n\t\tif(maxlen < w) maxlen = w;\n\t\tbl_count[w]++;\n\t\tboff += 3;\n\t}\n\n\t/* build code tree */\n\tvar ccode = 0;\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1;\n\tfor(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++;\n\t/* cmap[7 bits from stream] = (off&7) + (lit<<3) */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bitswap8[ctree[i]]>>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<<cleni)] = (cleni&7) | (i<<3);\n\t\t}\n\t}\n\n\t/* read literal and dist codes at once */\n\tvar hcodes = [];\n\tmaxlen = 1;\n\tfor(; hcodes.length < _HLIT + _HDIST;) {\n\t\tccode = dyn_cmap[read_bits_7(data, boff)];\n\t\tboff += ccode & 7;\n\t\tswitch((ccode >>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\tif(typeof data.copy === 'function') {\n\t\t\t\t// $FlowIgnore\n\t\t\t\tdata.copy(outbuf, woff, boff>>>3, (boff>>>3)+sz);\n\t\t\t\twoff += sz; boff += 8*sz;\n\t\t\t} else while(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\tcontinue;\n\t\t} else if((header >>> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\treturn [usz ? outbuf : outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file, options) {\n\tvar blob = file;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex = [], FullPaths = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(blob.slice(blob.l+namelen, blob.l+namelen+efsz));\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob, csz, usz, o, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(blob.slice(blob.l, blob.l + efsz));\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break;\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\tvar _crc32 = CRC32.buf(data, 0);\n\tif((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb, options) {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(fi.content, 0);\n\n\t\tvar outbuf = fi.content;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: encryption header ? */\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, fi.content.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out)), bconcat(cdirs), o]));\n}\nfunction cfb_new(opts) {\n\tvar o = ({});\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb, name, content, opts) {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2});\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\nfile.content = (content);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb, name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb, old_name, new_name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb) { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nif(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; }\nvar _fs;\nif(typeof require !== 'undefined') try { _fs = require('fs'); } catch(e) {}\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname, payload, enc) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\nif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\nif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\nif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\nif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\na.download = fname; a.href = url; document.body.appendChild(a); a.click();\ndocument.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o) {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj, key) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = new Date();\nvar dnthresh = basedate.getTime() + (refdate.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000;\nvar refoffset = refdate.getTimezoneOffset();\nfunction numdate(v) {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date = new Date('2017-02-19T19:06:09.000Z');\nif(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17');\nvar good_pd = good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str, fixdate) {\n\tvar d = new Date(str);\n\tif(good_pd) {\nif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr) {\n\tvar o = \"\";\n\tfor(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]);\n\treturn o;\n}\n\nfunction dup(o) {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s) {\n\tvar v = Number(s);\n\tif(!isNaN(v)) return v;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nfunction fuzzydate(s) {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.toLowerCase().match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\nfunction split_regex(str, re, def) {\n\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\tvar p = str.split(re), o = [p[0]];\n\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\treturn o;\n}\nfunction getdatastr(data) {\n\tif(!data) return null;\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\tif(data.content && data.type) return debom(cc2str(data.content));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase(), g = f.replace(/\\//g,'\\\\');\n\tfor(var i=0; i<k.length; ++i) {\n\t\tvar n = k[i].toLowerCase();\n\t\tif(f == n || g == n) return zip.files[k[i]];\n\t}\n\treturn null;\n}\n\nfunction getzipfile(zip, file) {\n\tvar o = safegetzipfile(zip, file);\n\tif(o == null) throw new Error(\"Cannot find file \" + file + \" in zip\");\n\treturn o;\n}\n\nfunction getzipdata(zip, file, safe) {\n\tif(!safe) return getdata(getzipfile(zip, file));\n\tif(!file) return null;\n\ttry { return getzipdata(zip, file); } catch(e) { return null; }\n}\n\nfunction getzipstr(zip, file, safe) {\n\tif(!safe) return getdatastr(getzipfile(zip, file));\n\tif(!file) return null;\n\ttry { return getzipstr(zip, file); } catch(e) { return null; }\n}\n\nfunction zipentries(zip) {\n\tvar k = zip.FullPaths || keys(zip.files), o = [];\n\tfor(var i = 0; i < k.length; ++i) if(k[i].slice(-1) != '/') o.push(k[i]);\n\treturn o.sort();\n}\n\nfunction zip_add_file(zip, path, content) {\n\tif(zip.FullPaths) CFB.utils.cfb_add(zip, path, content);\n\telse zip.file(path, content);\n}\n\nvar jszip;\n/*global JSZipSync:true */\nif(typeof JSZipSync !== 'undefined') jszip = JSZipSync;\nif(typeof exports !== 'undefined') {\n\tif(typeof module !== 'undefined' && module.exports) {\n\t\tif(typeof jszip === 'undefined') jszip = require('./jszip.js');\n\t}\n}\n\nfunction zip_new() {\n\tif(!jszip) return CFB.utils.cfb_new();\n\treturn new jszip();\n}\n\nfunction zip_read(d, o) {\n\tvar zip;\n\tif(jszip) switch(o.type) {\n\t\tcase \"base64\": zip = new jszip(d, { base64:true }); break;\n\t\tcase \"binary\": case \"array\": zip = new jszip(d, { base64:false }); break;\n\t\tcase \"buffer\": zip = new jszip(d); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\telse switch(o.type) {\n\t\tcase \"base64\": zip = CFB.read(d, { type: \"base64\" }); break;\n\t\tcase \"binary\": zip = CFB.read(d, { type: \"binary\" }); break;\n\t\tcase \"buffer\": case \"array\": zip = CFB.read(d, { type: \"buffer\" }); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn zip;\n}\n\nfunction resolve_path(path, base) {\n\tif(path.charAt(0) == \"/\") return path.slice(1);\n\tvar result = base.split('/');\n\tif(base.slice(-1) != \"/\") result.pop(); // folder path\n\tvar target = path.split('/');\n\twhile (target.length !== 0) {\n\t\tvar step = target.shift();\n\t\tif (step === '..') result.pop();\n\t\telse if (step !== '.') result.push(step);\n\t}\n\treturn result.join('/');\n}\nvar XML_HEADER = '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\r\\n';\nvar attregexg=/([^\"\\s?>\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s?[\\/\\?]?>/mg;\n\nif(!(XML_HEADER.match(tagregex))) tagregex = /<[^>]*>/g;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag, skip_root, skip_LC) {\n\tvar z = ({});\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x) { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml = (function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text) {\n\t\tvar s = text + '', i = s.indexOf(\"<![CDATA[\");\n\t\tif(i == -1) return s.replace(encregex, function($$, $1) { return encodings[$$]||String.fromCharCode(parseInt($1,$$.indexOf(\"x\")>-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text){ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"<br/>\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr = (function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str) { return str.replace(entregex,entrepl); };\n})();\nvar xlml_unfixstr = (function() {\n\treturn function xlml_unfixstr(str) { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); };\n})();\n\nfunction parsexmlbool(value) {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nvar utf8read = function utf8reada(orig) {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n};\n\nvar utf8write = function(orig) {\n\tvar out = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\nif(has_buf) {\n\tvar utf8readb = function utf8readb(data) {\n\t\tvar out = Buffer.alloc(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\t\tfor(i = 0; i < data.length; i+=j) {\n\t\t\tj = 1;\n\t\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\t\telse { j = 4;\n\t\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t\t}\n\t\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t\t}\n\t\treturn out.slice(0,k).toString('ucs2');\n\t};\n\tvar corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\n\tif(utf8read(corpus) == utf8readb(corpus)) utf8read = utf8readb;\n\tvar utf8readc = function utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); };\n\tif(utf8read(corpus) == utf8readc(corpus)) utf8read = utf8readc;\n\n\tutf8write = function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); };\n}\n\n// matches <foo>...</foo> extracts content\nvar matchtag = (function() {\n\tvar mtcache = ({});\n\treturn function matchtag(f,g) {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)</(?:\\\\w+:)?'+f+'>',((g||\"\"))));\n\t};\n})();\n\nvar htmldecode = (function() {\n\tvar entities = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str) {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\")\n\t\t\t\t// Replace remaining new lines and spaces with space\n\t\t\t\t.replace(/[\\t\\n\\r ]+/g, \" \")\n\t\t\t\t// Replace <br> tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = (function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)</(?:vt:)?\" + bt + \">\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)</;\nfunction parseVector(data, opts) {\n\tvar h = parsexmltag(data);\n\n\tvar matches = data.match(vtregex(h.baseType))||[];\n\tvar res = [];\n\tif(matches.length != h.size) {\n\t\tif(opts.WTF) throw new Error(\"unexpected vector length \" + matches.length + \" != \" + h.size);\n\t\treturn res;\n\t}\n\tmatches.forEach(function(x) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tif(v) res.push({v:utf8read(v[2]), t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f,g) { return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '</' + f + '>'; }\n\nfunction wxt_helper(h) { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f,g,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '</' + f : \"/\") + '>';}\n\nfunction write_w3cdtf(d, t) { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx) {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nvar XMLNS = ({\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n});\n\nXMLNS.main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n});\nfunction read_double_le(b, idx) {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b, v, idx) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar __toBuffer = function(bufs) { var x=[],w=10240; for(var i=0;i<bufs[0].length;++i) if(bufs[0][i]) for(var j=0,L=bufs[0][i].length;j<L;j+=w) x.push.apply(x, bufs[0][i].slice(j,j+w)); return x; };\nvar ___toBuffer = __toBuffer;\nvar __utf16le = function(b,s,e) { var ss=[]; for(var i=s; i<e; i+=2) ss.push(String.fromCharCode(__readUInt16LE(b,i))); return ss.join(\"\").replace(chr0,''); };\nvar ___utf16le = __utf16le;\nvar __hexlify = function(b,s,l) { var ss=[]; for(var i=s; i<s+l; ++i) ss.push((\"0\" + b[i].toString(16)).slice(-2)); return ss.join(\"\"); };\nvar ___hexlify = __hexlify;\nvar __utf8 = function(b,s,e) { var ss=[]; for(var i=s; i<e; i++) ss.push(String.fromCharCode(__readUInt8(b,i))); return ss.join(\"\"); };\nvar ___utf8 = __utf8;\nvar __lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpstr = __lpstr;\nvar __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___cpstr = __cpstr;\nvar __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpwstr = __lpwstr;\nvar __lpp4, ___lpp4;\n__lpp4 = ___lpp4 = function lpp4_(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar ___8lpp4 = __8lpp4;\nvar __double, ___double;\n__double = ___double = function(b, idx) { return read_double_le(b, idx);};\nvar is_buf = function is_buf_a(a) { return Array.isArray(a); };\n\nif(has_buf) {\n\t__utf16le = function(b,s,e) { if(!Buffer.isBuffer(b)) return ___utf16le(b,s,e); return b.toString('utf16le',s,e).replace(chr0,'')/*.replace(chr1,'!')*/; };\n\t__hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); };\n\t__lpstr = function lpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b, i) { if(!Buffer.isBuffer(b)) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__utf8 = function utf8_b(b, s, e) { return (Buffer.isBuffer(b)) ? b.toString('utf8',s,e) : ___utf8(b,s,e); };\n\t__toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);};\n\tbconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); };\n\t__double = function double_(b, i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a); };\n}\n\n/* from js-xls */\nif(typeof cptable !== 'undefined') {\n\t__utf16le = function(b,s,e) { return cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b,s,e) { return cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\n\nvar __readUInt8 = function(b, idx) { return b[idx]; };\nvar __readUInt16LE = function(b, idx) { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b, idx) { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b, idx) { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b, idx) { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b, idx) { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size, t) {\n\tvar o=\"\", oI, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof cptable !== 'undefined') {\n\t\t\t\to = cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t, val, f) {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\nfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\nfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\nval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\nfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\nthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\nvar end = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr, fld) {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos) {\n\tblob.l = pos;\n\tblob.read_shift = ReadShift;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length) { blob.l += length; }\n\nfunction new_buf(sz) {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb, opts) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = (R.f||parsenoop)(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R.n, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array() {\n\tvar bufs = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz) {\n\t\tvar o = (new_buf(sz));\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz) {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn __toBuffer([bufs]);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs });\n}\n\nfunction write_record(ba, type, payload, length) {\n\tvar t = +XLSBRE[type], l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell, tgt, opts) {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c, biff) {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts) {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nvar OFFCRYPTO = {};\n\nvar make_offcrypto = function(O, _crypto) {\n\tvar crypto;\n\tif(typeof _crypto !== 'undefined') crypto = _crypto;\n\telse if(typeof require !== 'undefined') {\n\t\ttry { crypto = require('crypto'); }\n\t\tcatch(e) { crypto = null; }\n\t}\n\n\tO.rc4 = function(key, data) {\n\t\tvar S = new Array(256);\n\t\tvar c = 0, i = 0, j = 0, t = 0;\n\t\tfor(i = 0; i != 256; ++i) S[i] = i;\n\t\tfor(i = 0; i != 256; ++i) {\n\t\t\tj = (j + S[i] + (key[i%key.length]).charCodeAt(0))&255;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t}\n\t\t// $FlowIgnore\n\t\ti = j = 0; var out = new_raw_buf(data.length);\n\t\tfor(c = 0; c != data.length; ++c) {\n\t\t\ti = (i + 1)&255;\n\t\t\tj = (j + S[i])%256;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t\tout[c] = (data[c] ^ S[(S[i]+S[j])&255]);\n\t\t}\n\t\treturn out;\n\t};\n\n\tO.md5 = function(hex) {\n\t\tif(!crypto) throw new Error(\"Unsupported crypto\");\n\t\treturn crypto.createHash('md5').update(hex).digest('hex');\n\t};\n};\n/*global crypto:true */\nmake_offcrypto(OFFCRYPTO, typeof crypto !== \"undefined\" ? crypto : undefined);\n\nfunction decode_row(rowstr) { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row) { return \"\" + (row + 1); }\nfunction fix_row(cstr) { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr) { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr) { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col) { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr) { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr) { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr) { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr) { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr) {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell) { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell) {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range) {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\nfunction encode_range(cs,ce) {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\nreturn encode_range(cs.s, cs.e);\n\t}\nif(typeof cs !== 'string') cs = encode_cell((cs));\n\tif(typeof ce !== 'string') ce = encode_cell((ce));\nreturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range) {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || range.charCodeAt(++i) === 58) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell, v) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF.format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF.format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell, v, o) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet, opts) {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws, data, opts) {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws = _ws || (dense ? ([]) : ({}));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell = ({v: data[R][C] });\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) { if(cell.f) cell.t = 'n'; else if(!o.sheetStubs) continue; else cell.t = 'z'; }\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF.format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF.format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data, opts) { return sheet_add_aoa(null, data, opts); }\n\nfunction write_UInt32LE(x, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data) {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length) {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str });\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data) {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell, o) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data) {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tb[0] &= 0xFC; // b[0] &= ~3;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, b[0], b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data ) {\n\tvar cell = ({ s: {}, e: {} });\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data) { return data.read_shift(8, 'f'); }\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w) {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Category', t: VT_STRING },\n0x03: { n: 'PresentationFormat', t: VT_STRING },\n0x04: { n: 'ByteCount', t: VT_I4 },\n0x05: { n: 'LineCount', t: VT_I4 },\n0x06: { n: 'ParagraphCount', t: VT_I4 },\n0x07: { n: 'SlideCount', t: VT_I4 },\n0x08: { n: 'NoteCount', t: VT_I4 },\n0x09: { n: 'HiddenCount', t: VT_I4 },\n0x0a: { n: 'MultimediaClipCount', t: VT_I4 },\n0x0b: { n: 'ScaleCrop', t: VT_BOOL },\n0x0c: { n: 'HeadingPairs', t: VT_VECTOR | VT_VARIANT },\n0x0d: { n: 'TitlesOfParts', t: VT_VECTOR | VT_LPSTR },\n0x0e: { n: 'Manager', t: VT_STRING },\n0x0f: { n: 'Company', t: VT_STRING },\n0x10: { n: 'LinksUpToDate', t: VT_BOOL },\n0x11: { n: 'CharacterCount', t: VT_I4 },\n0x13: { n: 'SharedDoc', t: VT_BOOL },\n0x16: { n: 'HyperlinksChanged', t: VT_BOOL },\n0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },\n0x18: { n: 'DigSig', t: VT_BLOB },\n0x1A: { n: 'ContentType', t: VT_STRING },\n0x1B: { n: 'ContentStatus', t: VT_STRING },\n0x1C: { n: 'Language', t: VT_STRING },\n0x1D: { n: 'Version', t: VT_STRING },\n0xFF: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Title', t: VT_STRING },\n0x03: { n: 'Subject', t: VT_STRING },\n0x04: { n: 'Author', t: VT_STRING },\n0x05: { n: 'Keywords', t: VT_STRING },\n0x06: { n: 'Comments', t: VT_STRING },\n0x07: { n: 'Template', t: VT_STRING },\n0x08: { n: 'LastAuthor', t: VT_STRING },\n0x09: { n: 'RevNumber', t: VT_STRING },\n0x0A: { n: 'EditTime', t: VT_FILETIME },\n0x0B: { n: 'LastPrinted', t: VT_FILETIME },\n0x0C: { n: 'CreatedDate', t: VT_FILETIME },\n0x0D: { n: 'ModifiedDate', t: VT_FILETIME },\n0x0E: { n: 'PageCount', t: VT_I4 },\n0x0F: { n: 'WordCount', t: VT_I4 },\n0x10: { n: 'CharCount', t: VT_I4 },\n0x11: { n: 'Thumbnail', t: VT_CF },\n0x12: { n: 'Application', t: VT_STRING },\n0x13: { n: 'DocSecurity', t: VT_I4 },\n0xFF: {}\n};\n\n/* [MS-OLEPS] 2.18 */\nvar SpecialProperties = {\n0x80000000: { n: 'Locale', t: VT_UI4 },\n0x80000003: { n: 'Behavior', t: VT_UI4 },\n0x72627262: {}\n};\n\n(function() {\n\tfor(var y in SpecialProperties) if(Object.prototype.hasOwnProperty.call(SpecialProperties, y))\n\tDocSummaryPIDDSI[y] = SummaryPIDSI[y] = SpecialProperties[y];\n})();\n\nvar DocSummaryRE = evert_key(DocSummaryPIDDSI, \"n\");\nvar SummaryRE = evert_key(SummaryPIDSI, \"n\");\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n0x0001: \"US\", // United States\n0x0002: \"CA\", // Canada\n0x0003: \"\", // Latin America (except Brazil)\n0x0007: \"RU\", // Russia\n0x0014: \"EG\", // Egypt\n0x001E: \"GR\", // Greece\n0x001F: \"NL\", // Netherlands\n0x0020: \"BE\", // Belgium\n0x0021: \"FR\", // France\n0x0022: \"ES\", // Spain\n0x0024: \"HU\", // Hungary\n0x0027: \"IT\", // Italy\n0x0029: \"CH\", // Switzerland\n0x002B: \"AT\", // Austria\n0x002C: \"GB\", // United Kingdom\n0x002D: \"DK\", // Denmark\n0x002E: \"SE\", // Sweden\n0x002F: \"NO\", // Norway\n0x0030: \"PL\", // Poland\n0x0031: \"DE\", // Germany\n0x0034: \"MX\", // Mexico\n0x0037: \"BR\", // Brazil\n0x003d: \"AU\", // Australia\n0x0040: \"NZ\", // New Zealand\n0x0042: \"TH\", // Thailand\n0x0051: \"JP\", // Japan\n0x0052: \"KR\", // Korea\n0x0054: \"VN\", // Viet Nam\n0x0056: \"CN\", // China\n0x005A: \"TR\", // Turkey\n0x0069: \"JS\", // Ramastan\n0x00D5: \"DZ\", // Algeria\n0x00D8: \"MA\", // Morocco\n0x00DA: \"LY\", // Libya\n0x015F: \"PT\", // Portugal\n0x0162: \"IS\", // Iceland\n0x0166: \"FI\", // Finland\n0x01A4: \"CZ\", // Czech Republic\n0x0376: \"TW\", // Taiwan\n0x03C1: \"LB\", // Lebanon\n0x03C2: \"JO\", // Jordan\n0x03C3: \"SY\", // Syria\n0x03C4: \"IQ\", // Iraq\n0x03C5: \"KW\", // Kuwait\n0x03C6: \"SA\", // Saudi Arabia\n0x03CB: \"AE\", // United Arab Emirates\n0x03CC: \"IL\", // Israel\n0x03CE: \"QA\", // Qatar\n0x03D5: \"IR\", // Iran\n0xFFFF: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n0x00: \"#NULL!\",\n0x07: \"#DIV/0!\",\n0x0F: \"#VALUE!\",\n0x17: \"#REF!\",\n0x1D: \"#NAME?\",\n0x24: \"#NUM!\",\n0x2A: \"#N/A\",\n0x2B: \"#GETTING_DATA\",\n0xFF: \"#WTF?\"\n};\nvar RBErr = evert_num(BErr);\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary <SpreadsheetML> */\n/* 14.2 Part Summary <DrawingML> */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* Metadata */\n\t\"application/vnd.ms-excel.sheetMetadata\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"TODO\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"vba\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n});\n\nvar CT_LIST = (function(){\n\tvar o = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n\t};\n\tkeys(o).forEach(function(k) { [\"xlsm\", \"xlam\"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); });\n\tkeys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); });\n\treturn o;\n})();\n\nvar type2ct/*{[string]:Array<string>}*/ = evert_arr(ct2type);\n\nXMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types';\n\nfunction new_ct() {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [],\n\t\tTODO:[], xmlns: \"\" });\n}\n\nfunction parse_ct(data) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase '<?xml': break;\n\t\t\tcase '<Types': ct.xmlns = y['xmlns' + (y[0].match(/<(\\w+):/)||[\"\",\"\"])[1] ]; break;\n\t\t\tcase '<Default': ctext[y.Extension] = y.ContentType; break;\n\t\t\tcase '<Override':\n\t\t\t\tif(ct[ct2type[y.ContentType]] !== undefined) ct[ct2type[y.ContentType]].push(y.PartName);\n\t\t\t\tbreak;\n\t\t}\n\t});\n\tif(ct.xmlns !== XMLNS.CT) throw new Error(\"Unknown Namespace: \" + ct.xmlns);\n\tct.calcchain = ct.calcchains.length > 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nvar CTYPE_XML_ROOT = writextag('Types', null, {\n\t'xmlns': XMLNS.CT,\n\t'xmlns:xsd': XMLNS.xsd,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nvar CTYPE_DEFAULTS = [\n\t['xml', 'application/xml'],\n\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t/* from test files */\n\t['bmp', 'image/bmp'],\n\t['png', 'image/png'],\n\t['gif', 'image/gif'],\n\t['emf', 'image/x-emf'],\n\t['wmf', 'image/x-wmf'],\n\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t['pdf', 'application/pdf'],\n\t['rels', type2ct.rels[0]]\n].map(function(x) {\n\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n});\n\nfunction write_ct(ct, opts) {\n\tvar o = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (CTYPE_XML_ROOT);\n\to = o.concat(CTYPE_DEFAULTS);\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('drawings');\n\tif(o.length>2){ o[o.length] = ('</Types>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n});\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file) {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data, currentFilePath) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '<Relationship') {\n\t\t\tvar rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; rel.TargetMode = y.TargetMode;\n\t\t\tvar canonictarget = y.TargetMode === 'External' ? y.Target : resolve_path(y.Target, currentFilePath);\n\t\t\trels[canonictarget] = rel;\n\t\t\thash[y.Id] = rel;\n\t\t}\n\t});\n\trels[\"!id\"] = hash;\n\treturn rels;\n}\n\nXMLNS.RELS = 'http://schemas.openxmlformats.org/package/2006/relationships';\n\nvar RELS_ROOT = writextag('Relationships', null, {\n\t//'xmlns:ns0': XMLNS.RELS,\n\t'xmlns': XMLNS.RELS\n});\n\n/* TODO */\nfunction write_rels(rels) {\n\tvar o = [XML_HEADER, RELS_ROOT];\n\tkeys(rels['!id']).forEach(function(rid) {\n\t\to[o.length] = (writextag('Relationship', null, rels['!id'][rid]));\n\t});\n\tif(o.length>2){ o[o.length] = ('</Relationships>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nvar RELS_EXTERN = [RELS.HLINK, RELS.XPATH, RELS.XMISS];\nfunction add_rels(rels, rId, f, type, relobj, targetmode) {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(rId < 0) for(rId = 1; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if(RELS_EXTERN.indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 <manifest:manifest>\n\t\tcase 'file-entry': // 4.3 <manifest:file-entry>\n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 <manifest:encryption-data>\n\t\tcase 'algorithm': // 4.5 <manifest:algorithm>\n\t\tcase 'start-key-generation': // 4.6 <manifest:start-key-generation>\n\t\tcase 'key-derivation': // 4.7 <manifest:key-derivation>\n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest) {\n\tvar o = [XML_HEADER];\n\to.push('<manifest:manifest xmlns:manifest=\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\" manifest:version=\"1.2\">\\n');\n\to.push(' <manifest:file-entry manifest:full-path=\"/\" manifest:version=\"1.2\" manifest:media-type=\"application/vnd.oasis.opendocument.spreadsheet\"/>\\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' <manifest:file-entry manifest:full-path=\"' + manifest[i][0] + '\" manifest:media-type=\"' + manifest[i][1] + '\"/>\\n');\n\to.push('</manifest:manifest>');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file, res, tag) {\n\treturn [\n\t\t' <rdf:Description rdf:about=\"' + file + '\">\\n',\n\t\t' <rdf:type rdf:resource=\"http://docs.oasis-open.org/ns/office/1.2/meta/' + (tag || \"odf\") + '#' + res + '\"/>\\n',\n\t\t' </rdf:Description>\\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base, file) {\n\treturn [\n\t\t' <rdf:Description rdf:about=\"' + base + '\">\\n',\n\t\t' <ns0:hasPart xmlns:ns0=\"http://docs.oasis-open.org/ns/office/1.2/meta/pkg#\" rdf:resource=\"' + file + '\"/>\\n',\n\t\t' </rdf:Description>\\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('</rdf:RDF>');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nvar write_meta_ods = (function() {\n\tvar payload = '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><office:document-meta xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" xmlns:meta=\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" office:version=\"1.2\"><office:meta><meta:generator>Sheet' + 'JS ' + XLSX.version + '</meta:generator></office:meta></office:document-meta>';\n\treturn function wmo() {\n\t\treturn payload;\n\t};\n})();\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nXMLNS.CORE_PROPS = \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\";\nRELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties';\n\nvar CORE_PROPS_REGEX = (function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nvar CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, {\n\t//'xmlns': XMLNS.CORE_PROPS,\n\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t'xmlns:dc': XMLNS.dc,\n\t'xmlns:dcterms': XMLNS.dcterms,\n\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = ('</cp:coreProperties>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nXMLNS.EXT_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\";\nRELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties';\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nvar EXT_PROPS_XML_ROOT = writextag('Properties', null, {\n\t'xmlns': XMLNS.EXT_PROPS,\n\t'xmlns:vt': XMLNS.vt\n});\n\nfunction write_ext_props(cp) {\n\tvar o = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (EXT_PROPS_XML_ROOT);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', '<vt:lpstr>Worksheets</vt:lpstr>')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"<vt:lpstr>\" + escapexml(s) + \"</vt:lpstr>\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = ('</Properties>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nXMLNS.CUST_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\";\nRELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties';\n\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '<?xml': break;\n\t\t\tcase '<Properties': break;\n\t\t\tcase '<property': name = unescapexml(y.name); break;\n\t\t\tcase '</property>': name = null; break;\n\t\t\tdefault: if (x.indexOf('<vt:') === 0) {\n\t\t\t\tvar toks = x.split('>');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"</\") {/* empty */\n\t\t\t} else if(opts.WTF) throw new Error(x);\n\t\t}\n\t}\n\treturn p;\n}\n\nvar CUST_PROPS_XML_ROOT = writextag('Properties', null, {\n\t'xmlns': XMLNS.CUST_PROPS,\n\t'xmlns:vt': XMLNS.vt\n});\n\nfunction write_cust_props(cp) {\n\tvar o = [XML_HEADER, CUST_PROPS_XML_ROOT];\n\tif(!cp) return o.join(\"\");\n\tvar pid = 1;\n\tkeys(cp).forEach(function custprop(k) { ++pid;\n\t\to[o.length] = (writextag('property', write_vt(cp[k], true), {\n\t\t\t'fmtid': '{D5CDD505-2E9C-101B-9397-08002B2CF9AE}',\n\t\t\t'pid': pid,\n\t\t\t'name': escapexml(k)\n\t\t}));\n\t});\n\tif(o.length>2){ o[o.length] = '</Properties>'; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM = evert(XLMLDocPropsMap);\n\nfunction xlml_set_prop(Props, tag, val) {\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o = [];\n\tif(Props) keys(Props).forEach(function(k) {\nif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\nif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '</' + T + '>';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t, pad) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob) {\n\tvar length = blob.read_shift(4);\n\tvar ret = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.10 VtVecUnalignedLpstr */\nfunction parse_VtVecUnalignedLpstr(blob) {\n\treturn parse_VtVecUnalignedLpstrValue(blob);\n}\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i != cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OSHARED] 2.3.3.1.15 VtVecHeadingPair */\nfunction parse_VtVecHeadingPair(blob) {\n\t// NOTE: When invoked, wType & padding were already consumed\n\treturn parse_VtVecHeadingPairValue(blob);\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict = ({});\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type, _opts) {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPair(blob);\n\t\tcase 0x101E /*VT_LPSTR*/: return parse_VtVecUnalignedLpstr(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\np = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj = ({});\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2));\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ].concat(PseudoPropsPairs);\nfunction guess_property_type(val) {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI)[idx];\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\nvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({});\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier });\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI, entries2, clsid2) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j<n; ++j) o.write_shift(1, 0); return o; }\n\nfunction parslurp(blob, length, cb) {\n\tvar arr = [], target = blob.l + length;\n\twhile(blob.l < target) arr.push(cb(blob, target - blob.l));\n\tif(target !== blob.l) throw new Error(\"Slurp error\");\n\treturn arr;\n}\n\nfunction parsebool(blob, length) { return blob.read_shift(length) === 0x1; }\nfunction writebool(v, o) { if(!o) o=new_buf(2); o.write_shift(2, +!!v); return o; }\n\nfunction parseuint16(blob) { return blob.read_shift(2, 'u'); }\nfunction writeuint16(v, o) { if(!o) o=new_buf(2); o.write_shift(2, v); return o; }\nfunction parseuint16a(blob, length) { return parslurp(blob,length,parseuint16);}\n\n/* --- 2.5 Structures --- */\n\n/* [MS-XLS] 2.5.10 Bes (boolean or error) */\nfunction parse_Bes(blob) {\n\tvar v = blob.read_shift(1), t = blob.read_shift(1);\n\treturn t === 0x01 ? v : v === 0x01;\n}\nfunction write_Bes(v, t, o) {\n\tif(!o) o = new_buf(2);\n\to.write_shift(1, +v);\n\to.write_shift(1, ((t == 'e') ? 1 : 0));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.240 ShortXLUnicodeString */\nfunction parse_ShortXLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff >= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"<t>\" + z.t + \"</t>\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob) {\n\tblob.l += 2; //var cAnti = blob.read_shift(2);\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length) {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tvar out = ({Target:target});\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tvar F = Target.indexOf(\"#\") > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\tout.write_shift(4, Target.length + 1);\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(2, Target.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tout.write_shift(4, 2*(Target.length + 1));\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(2, Target.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length + 1);\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(1, Target.charCodeAt(i) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob) {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe});\n}\nfunction write_XLSCell(R, C, ixfe, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n0x00: parse_FtSkip, /* FtEnd */\n0x04: parse_FtSkip, /* FtMacro */\n0x05: parse_FtSkip, /* FtButton */\n0x06: parse_FtSkip, /* FtGmo */\n0x07: parse_FtCf, /* FtCf */\n0x08: parse_FtSkip, /* FtPioGrbit */\n0x09: parse_FtSkip, /* FtPictFmla */\n0x0A: parse_FtSkip, /* FtCbls */\n0x0B: parse_FtSkip, /* FtRbo */\n0x0C: parse_FtSkip, /* FtSbs */\n0x0D: parse_FtNts, /* FtNts */\n0x0E: parse_FtSkip, /* FtSbsFmla */\n0x0F: parse_FtSkip, /* FtGboData */\n0x10: parse_FtSkip, /* FtEdoData */\n0x11: parse_FtSkip, /* FtRboData */\n0x12: parse_FtSkip, /* FtCblsData */\n0x13: parse_FtSkip, /* FtLbsData */\n0x14: parse_FtSkip, /* FtCblsFmla */\n0x15: parse_FtCmo\n};\nfunction parse_FtArray(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb, t, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length) {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs = ([]);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\no.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({});\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1() {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R, C, v, os ) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R, C, v, os, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i, f, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R, C, v, os, opts, t) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R, C, v, os) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t});\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\tvar rgce = target == blob.l || cce === 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length) {\n\tvar merges = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = [];\nparse_BIFF5OT[0x08] = function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts);\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob) {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags});\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r, c, val) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r, c, val) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF = (function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n\n\t/* shapefile DBF extension */\n0x00: 20127, 0x08: 865,\n0x09: 437, 0x0A: 850,\n0x0B: 437, 0x0D: 437,\n0x0E: 850, 0x0F: 437,\n0x10: 850, 0x11: 437,\n0x12: 850, 0x13: 932,\n0x14: 850, 0x15: 437,\n0x16: 850, 0x17: 865,\n0x18: 437, 0x19: 437,\n0x1A: 850, 0x1B: 437,\n0x1C: 863, 0x1D: 850,\n0x1F: 852, 0x22: 852,\n0x23: 852, 0x24: 860,\n0x25: 850, 0x26: 866,\n0x37: 850, 0x40: 852,\n0x4D: 936, 0x4E: 949,\n0x4F: 950, 0x50: 874,\n0x57: 1252, 0x58: 1252,\n0x59: 1252,\n\n0xFF: 16969\n};\nvar dbf_reverse_map = evert({\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n0x00: 20127\n});\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts) {\n\tvar out = [];\n\t/* TODO: browser based */\n\tvar d = (new_raw_buf(1));\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64.decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = false;\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: case 0x03: break;\n\t\tcase 0x30: vfp = true; memo = true; break;\n\t\tcase 0x31: vfp = true; break;\n\t\tcase 0x83: memo = true; break;\n\t\tcase 0x8B: memo = true; break;\n\t\tcase 0x8C: memo = true; l7 = true; break;\n\t\tcase 0xF5: memo = true; break;\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\tvar /*filedate = new Date(),*/ nrow = 0, fpos = 0;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\t/*filedate = new Date(d.read_shift(1) + 1900, d.read_shift(1) - 1, d.read_shift(1));*/d.l += 3;\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(ft != 0x02) fpos = d.read_shift(2);\n\tvar rlen = d.read_shift(2);\n\n\tvar /*flags = 0,*/ current_cp = 1252;\n\tif(ft != 0x02) {\n\td.l+=16;\n\t/*flags = */d.read_shift(1);\n\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t/* codepage present in FoxPro */\n\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\td.l+=1;\n\n\td.l+=2;\n\t}\n\tif(l7) d.l += 36;\nvar fields = [], field = ({});\n\tvar hend = fpos - 10 - (vfp ? 264 : 0), ww = l7 ? 32 : 11;\n\twhile(ft == 0x02 ? d.l < d.length && d[d.l] != 0x0d: d.l < hend) {\n\t\tfield = ({});\n\t\tfield.name = cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // VFP Double\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General\n\t\t\tcase 'P': // Picture\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'C': // character\n\t\t\tcase 'D': // date\n\t\t\tcase 'F': // floating point\n\t\t\tcase 'I': // long\n\t\t\tcase 'L': // boolean\n\t\t\tcase 'M': // memo\n\t\t\tcase 'N': // number\n\t\t\tcase 'O': // double\n\t\t\tcase 'T': // datetime\n\t\t\tcase 'Y': // currency\n\t\t\tcase '0': // VFP _NullFlags\n\t\t\tcase '@': // timestamp\n\t\t\tcase '+': // autoincrement\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\telse if(ft == 0x02) d.l = 0x209;\n\tif(ft != 0x02) {\n\t\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\t\td.l = fpos;\n\t}\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) { d.l+=rlen; continue; }\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\tout[R][C] = cptable.utils.decode(current_cp, dd);\n\t\t\t\t\tout[R][C] = out[R][C].trim();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase ' ': case '?': out[R][C] = false; break; /* NOTE: technically uninitialized */\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N': out[R][C] = +s.replace(/\\u0000/g,\"\").trim(); break;\n\t\t\t\tcase '@': out[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400); break;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4; break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts) {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\treturn aoa_to_sheet(dbf_to_aoa(buf, o), o);\n}\n\nfunction dbf_to_workbook(buf, opts) {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws, opts) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1);\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(i == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar col = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tvar guess = '', _guess = '';\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\tif(guess == 'C') break;\n\t\t}\n\t\trlen += _RLEN[guess] || 0;\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[current_ansi] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += _RLEN[coltypes[i]] || 0;\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j<headers.length; ++j) {\n\t\t\tif(headers[j] == null) continue;\n\t\t\tswitch(coltypes[j]) {\n\t\t\t\tcase 'L': rout.write_shift(1, data[i][j] == null ? 0x3F : data[i][j] ? 0x54 : 0x46); break;\n\t\t\t\tcase 'B': rout.write_shift(8, data[i][j]||0, 'f'); break;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(!data[i][j]) rout.write_shift(8, \"00000000\", \"sbcs\");\n\t\t\t\t\telse {\n\t\t\t\t\t\trout.write_shift(4, (\"0000\"+data[i][j].getFullYear()).slice(-4), \"sbcs\");\n\t\t\t\t\t\trout.write_shift(2, (\"00\"+(data[i][j].getMonth()+1)).slice(-2), \"sbcs\");\n\t\t\t\t\t\trout.write_shift(2, (\"00\"+data[i][j].getDate()).slice(-2), \"sbcs\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'C':\n\t\t\t\t\tvar _s = String(data[i][j]||\"\");\n\t\t\t\t\trout.write_shift(1, _s, \"sbcs\");\n\t\t\t\t\tfor(hcnt=0; hcnt < 250-_s.length; ++hcnt) rout.write_shift(1, 0x20); break;\n\t\t\t}\n\t\t}\n\t\t// data\n\t}\n\tba.next(1).write_shift(1, 0x1A);\n\treturn ba.end();\n}\n\treturn {\n\t\tversions: DBF_SUPPORTED_VERSIONS,\n\t\tto_workbook: dbf_to_workbook,\n\t\tto_sheet: dbf_to_sheet,\n\t\tfrom_sheet: sheet_to_dbf\n\t};\n})();\n\nvar SYLK = (function() {\n\t/* TODO: stress test sequences */\n\tvar sylk_escapes = ({\n\t\tAA:'À', BA:'Á', CA:'Â', DA:195, HA:'Ä', JA:197,\n\t\tAE:'È', BE:'É', CE:'Ê', HE:'Ë',\n\t\tAI:'Ì', BI:'Í', CI:'Î', HI:'Ï',\n\t\tAO:'Ò', BO:'Ó', CO:'Ô', DO:213, HO:'Ö',\n\t\tAU:'Ù', BU:'Ú', CU:'Û', HU:'Ü',\n\t\tAa:'à', Ba:'á', Ca:'â', Da:227, Ha:'ä', Ja:229,\n\t\tAe:'è', Be:'é', Ce:'ê', He:'ë',\n\t\tAi:'ì', Bi:'í', Ci:'î', Hi:'ï',\n\t\tAo:'ò', Bo:'ó', Co:'ô', Do:245, Ho:'ö',\n\t\tAu:'ù', Bu:'ú', Cu:'û', Hu:'ü',\n\t\tKC:'Ç', Kc:'ç', q:'æ', z:'œ', a:'Æ', j:'Œ',\n\t\tDN:209, Dn:241, Hy:255,\n\t\tS:169, c:170, R:174, B:180,\n0:176, 1:177, 2:178,\n3:179, 5:181, 6:182,\n7:183, Q:185, k:186, b:208, i:216, l:222, s:240, y:248,\n\t\t\"!\":161, '\"':162, \"#\":163, \"(\":164, \"%\":165, \"'\":167, \"H \":168,\n\t\t\"+\":171, \";\":187, \"<\":188, \"=\":189, \">\":190, \"?\":191, \"{\":223\n\t});\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str, opts) {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr = [];\n\t\tvar formats = [];\n\t\tvar next_cell_format = null;\n\t\tvar sht = {}, rowinfo = [], colinfo = [], cw = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false;\n\t\t\tfor(rj=1; rj<record.length; ++rj) switch(record[rj].charAt(0)) {\n\t\t\t\tcase 'X': C = parseInt(record[rj].slice(1))-1; C_seen_X = true; break;\n\t\t\t\tcase 'Y':\n\t\t\t\t\tR = parseInt(record[rj].slice(1))-1; if(!C_seen_X) C = 0;\n\t\t\t\t\tfor(j = arr.length; j <= R; ++j) arr[j] = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'K':\n\t\t\t\t\tval = record[rj].slice(1);\n\t\t\t\t\tif(val.charAt(0) === '\"') val = val.slice(1,val.length - 1);\n\t\t\t\t\telse if(val === 'TRUE') val = true;\n\t\t\t\t\telse if(val === 'FALSE') val = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(val))) {\n\t\t\t\t\t\tval = fuzzynum(val);\n\t\t\t\t\t\tif(next_cell_format !== null && SSF.is_date(next_cell_format)) val = numdate(val);\n\t\t\t\t\t} else if(!isNaN(fuzzydate(val).getDate())) {\n\t\t\t\t\t\tval = parseDate(val);\n\t\t\t\t\t}\n\t\t\t\t\tif(typeof cptable !== 'undefined' && typeof val == \"string\" && ((opts||{}).type != \"string\") && (opts||{}).codepage) val = cptable.utils.decode(opts.codepage, val);\n\t\t\t\t\tC_seen_K = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'E':\n\t\t\t\t\tvar formula = rc_to_a1(record[rj].slice(1), {r:R,c:C});\n\t\t\t\t\tarr[R][C] = [arr[R][C], formula];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(C_seen_K) { arr[R][C] = val; next_cell_format = null; }\n\t\t\tbreak;\n\t\t\tcase 'F':\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj<record.length; ++rj) switch(record[rj].charAt(0)) {\n\t\t\t\tcase 'X': C = parseInt(record[rj].slice(1))-1; ++F_seen; break;\n\t\t\t\tcase 'Y':\n\t\t\t\t\tR = parseInt(record[rj].slice(1))-1; /*C = 0;*/\n\t\t\t\t\tfor(j = arr.length; j <= R; ++j) arr[j] = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'M': Mval = parseInt(record[rj].slice(1)) / 20; break;\n\t\t\t\tcase 'F': break; /* ??? */\n\t\t\t\tcase 'G': break; /* hide grid */\n\t\t\t\tcase 'P':\n\t\t\t\t\tnext_cell_format = formats[parseInt(record[rj].slice(1))];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'S': break; /* cell style */\n\t\t\t\tcase 'D': break; /* column */\n\t\t\t\tcase 'N': break; /* font */\n\t\t\t\tcase 'W':\n\t\t\t\t\tcw = record[rj].slice(1).split(\" \");\n\t\t\t\t\tfor(j = parseInt(cw[0], 10); j <= parseInt(cw[1], 10); ++j) {\n\t\t\t\t\t\tMval = parseInt(cw[2], 10);\n\t\t\t\t\t\tcolinfo[j-1] = Mval === 0 ? {hidden:true}: {wch:Mval}; process_col(colinfo[j-1]);\n\t\t\t\t\t} break;\n\t\t\t\tcase 'C': /* default column format */\n\t\t\t\t\tC = parseInt(record[rj].slice(1))-1;\n\t\t\t\t\tif(!colinfo[C]) colinfo[C] = {};\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'R': /* row properties */\n\t\t\t\t\tR = parseInt(record[rj].slice(1))-1;\n\t\t\t\t\tif(!rowinfo[R]) rowinfo[R] = {};\n\t\t\t\t\tif(Mval > 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d, opts) {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d, opts) { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell, ws, R, C) {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number') col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number') col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out, rows) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws, opts) {\n\t\tvar preamble = [\"ID;PWXL;N;E\"], o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = (function() {\n\tfunction dif_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri].trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str, opts) { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str, opts) { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = (function() {\n\t\tvar push_field = function pf(o, topic, v, n, s) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o, type, v, s) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws) {\n\t\t\tvar o = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF.format(cell.z || SSF._table[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = (function() {\n\tfunction decode(s) { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s) { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d, opts) { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d, opts) { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws) {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o = [], oo = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF.format(cell.z || SSF._table[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws) {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = (function() {\n\tfunction set_text_arr(data, arr, R, C, o) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f, opts) {\n\t\tvar o = opts || {};\n\t\tvar arr = ([]);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n0x2C: ',',\n0x09: \"\\t\",\n0x3B: ';'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n0x2C: 3,\n0x09: 2,\n0x3B: 1\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]];\n\t}\n\n\tfunction dsv_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\t//\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t}\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0;\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({});\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF.format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1;\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str, opts) {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d, opts) {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64.decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8');\n\t\t\t\telse if(opts.codepage && typeof cptable !== 'undefined') str = cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = d.toString('binary');\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if((opts.type == 'binary') && typeof cptable !== 'undefined' && opts.codepage) str = cptable.utils.decode(opts.codepage, cptable.utils.encode(1252,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d, opts) { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws) {\n\t\tvar o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = (function() {\n\tfunction lotushopper(data, cb, opts) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = (R.f||parsenoop)(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R.n, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64.decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts) {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s = ((o.dense ? [] : {})), n = \"Sheet1\", sidx = 0;\n\t\tvar sheets = {}, snames = [n];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x02) o.Enum = WK1Enum;\n\t\telse if(d[2] == 0x1a) o.Enum = WK3Enum;\n\t\telse if(d[2] == 0x0e) { o.Enum = WK3Enum; o.qpro = true; d.l = 0; }\n\t\telse throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\tlotushopper(d, function(val, Rn, RT) {\n\t\t\tif(d[2] == 0x02) switch(RT) {\n\t\t\t\tcase 0x00:\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || SSF._table[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t} else switch(RT) {\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: break;\n\t\t\t}\n\t\t}, o);\n\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[n] = s;\n\t\treturn { SheetNames: snames, Sheets:sheets };\n\t}\n\n\tfunction parse_RANGE(blob) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_cell_3(blob) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\t/* TODO: figure out all of the corner cases */\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t\tdefault: throw \"unknown NUMBER_18 encoding \" + (v & 0x07);\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) { o[1].v = 0; return o; }\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (s*2 - 1) * ((e > 0 ? (v2 << e) : (v2 >>> -e)) + (e > -32 ? (v1 << (e + 32)) : (v1 >>> -(e + 32))));\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tvar WK1Enum = {\n0x0000: { n:\"BOF\", f:parseuint16 },\n0x0001: { n:\"EOF\" },\n0x0002: { n:\"CALCMODE\" },\n0x0003: { n:\"CALCORDER\" },\n0x0004: { n:\"SPLIT\" },\n0x0005: { n:\"SYNC\" },\n0x0006: { n:\"RANGE\", f:parse_RANGE },\n0x0007: { n:\"WINDOW1\" },\n0x0008: { n:\"COLW1\" },\n0x0009: { n:\"WINTWO\" },\n0x000A: { n:\"COLW2\" },\n0x000B: { n:\"NAME\" },\n0x000C: { n:\"BLANK\" },\n0x000D: { n:\"INTEGER\", f:parse_INTEGER },\n0x000E: { n:\"NUMBER\", f:parse_NUMBER },\n0x000F: { n:\"LABEL\", f:parse_LABEL },\n0x0010: { n:\"FORMULA\", f:parse_FORMULA },\n0x0018: { n:\"TABLE\" },\n0x0019: { n:\"ORANGE\" },\n0x001A: { n:\"PRANGE\" },\n0x001B: { n:\"SRANGE\" },\n0x001C: { n:\"FRANGE\" },\n0x001D: { n:\"KRANGE1\" },\n0x0020: { n:\"HRANGE\" },\n0x0023: { n:\"KRANGE2\" },\n0x0024: { n:\"PROTEC\" },\n0x0025: { n:\"FOOTER\" },\n0x0026: { n:\"HEADER\" },\n0x0027: { n:\"SETUP\" },\n0x0028: { n:\"MARGINS\" },\n0x0029: { n:\"LABELFMT\" },\n0x002A: { n:\"TITLES\" },\n0x002B: { n:\"SHEETJS\" },\n0x002D: { n:\"GRAPH\" },\n0x002E: { n:\"NGRAPH\" },\n0x002F: { n:\"CALCCOUNT\" },\n0x0030: { n:\"UNFORMATTED\" },\n0x0031: { n:\"CURSORW12\" },\n0x0032: { n:\"WINDOW\" },\n0x0033: { n:\"STRING\", f:parse_LABEL },\n0x0037: { n:\"PASSWORD\" },\n0x0038: { n:\"LOCKED\" },\n0x003C: { n:\"QUERY\" },\n0x003D: { n:\"QUERYNAME\" },\n0x003E: { n:\"PRINT\" },\n0x003F: { n:\"PRINTNAME\" },\n0x0040: { n:\"GRAPH2\" },\n0x0041: { n:\"GRAPHNAME\" },\n0x0042: { n:\"ZOOM\" },\n0x0043: { n:\"SYMSPLIT\" },\n0x0044: { n:\"NSROWS\" },\n0x0045: { n:\"NSCOLS\" },\n0x0046: { n:\"RULER\" },\n0x0047: { n:\"NNAME\" },\n0x0048: { n:\"ACOMM\" },\n0x0049: { n:\"AMACRO\" },\n0x004A: { n:\"PARSE\" },\n0x00FF: { n:\"\", f:parsenoop }\n\t};\n\n\tvar WK3Enum = {\n0x0000: { n:\"BOF\" },\n0x0001: { n:\"EOF\" },\n0x0003: { n:\"??\" },\n0x0004: { n:\"??\" },\n0x0005: { n:\"??\" },\n0x0006: { n:\"??\" },\n0x0007: { n:\"??\" },\n0x0009: { n:\"??\" },\n0x000a: { n:\"??\" },\n0x000b: { n:\"??\" },\n0x000c: { n:\"??\" },\n0x000e: { n:\"??\" },\n0x000f: { n:\"??\" },\n0x0010: { n:\"??\" },\n0x0011: { n:\"??\" },\n0x0012: { n:\"??\" },\n0x0013: { n:\"??\" },\n0x0015: { n:\"??\" },\n0x0016: { n:\"LABEL16\", f:parse_LABEL_16},\n0x0017: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n0x0018: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n0x0019: { n:\"FORMULA19\", f:parse_FORMULA_19},\n0x001a: { n:\"??\" },\n0x001b: { n:\"??\" },\n0x001c: { n:\"??\" },\n0x001d: { n:\"??\" },\n0x001e: { n:\"??\" },\n0x001f: { n:\"??\" },\n0x0021: { n:\"??\" },\n0x0025: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n0x0027: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n0x0028: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n0x00FF: { n:\"\", f:parsenoop }\n\t};\n\treturn {\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '<condense': break;\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '<extend': break;\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '<shadow':\n\t\t\t\tif(!y.val) break;\n\t\t\t\t/* falls through */\n\t\t\tcase '<shadow>':\n\t\t\tcase '<shadow/>': font.shadow = 1; break;\n\t\t\tcase '</shadow>': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '<charset':\n\t\t\t\tif(y.val == '1') break;\n\t\t\t\tfont.cp = CS2CP[parseInt(y.val, 10)];\n\t\t\t\tbreak;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty TODO */\n\t\t\tcase '<outline':\n\t\t\t\tif(!y.val) break;\n\t\t\t\t/* falls through */\n\t\t\tcase '<outline>':\n\t\t\tcase '<outline/>': font.outline = 1; break;\n\t\t\tcase '</outline>': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '<rFont': font.name = y.val; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '<sz': font.sz = y.val; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '<strike':\n\t\t\t\tif(!y.val) break;\n\t\t\t\t/* falls through */\n\t\t\tcase '<strike>':\n\t\t\tcase '<strike/>': font.strike = 1; break;\n\t\t\tcase '</strike>': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '<u':\n\t\t\t\tif(!y.val) break;\n\t\t\t\tswitch(y.val) {\n\t\t\t\t\tcase 'double': font.uval = \"double\"; break;\n\t\t\t\t\tcase 'singleAccounting': font.uval = \"single-accounting\"; break;\n\t\t\t\t\tcase 'doubleAccounting': font.uval = \"double-accounting\"; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '<u>':\n\t\t\tcase '<u/>': font.u = 1; break;\n\t\t\tcase '</u>': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '<b':\n\t\t\t\tif(y.val == '0') break;\n\t\t\t\t/* falls through */\n\t\t\tcase '<b>':\n\t\t\tcase '<b/>': font.b = 1; break;\n\t\t\tcase '</b>': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '<i':\n\t\t\t\tif(y.val == '0') break;\n\t\t\t\t/* falls through */\n\t\t\tcase '<i>':\n\t\t\tcase '<i/>': font.i = 1; break;\n\t\t\tcase '</i>': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '<color':\n\t\t\t\tif(y.rgb) font.color = y.rgb.slice(2,8);\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\tcase '<family': font.family = y.val; break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\tcase '<vertAlign': font.valign = y.val; break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\tcase '<scheme': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '<extLst': case '<extLst>': case '</extLst>': break;\n\t\t\tcase '<ext': pass = true; break;\n\t\t\tcase '</ext>': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = (function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o = ({t:'s', v:unescapexml(t[1])});\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of <r> tags */\nvar rs_to_html = (function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('<span style=\"' + style.join(\"\") + '\">');\n\n\t\tif(font.b) { intro.push(\"<b>\"); outro.push(\"</b>\"); }\n\t\tif(font.i) { intro.push(\"<i>\"); outro.push(\"</i>\"); }\n\t\tif(font.strike) { intro.push(\"<s>\"); outro.push(\"</s>\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"</\" + align + \">\"); }\n\n\t\toutro.push(\"</span>\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'<br/>') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data, opts) {\n\tvar s = ([]), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nRELS.SST = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\";\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst, opts) {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS.main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s = sst[i];\n\t\tvar sitag = \"<si>\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"<t\";\n\t\t\tif(!s.t) s.t = \"\";\n\t\t\tif(s.t.match(straywsregex)) sitag += ' xml:space=\"preserve\"';\n\t\t\tsitag += \">\" + escapexml(s.t) + \"</t>\";\n\t\t}\n\t\tsitag += \"</si>\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = ('</sst>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts) {\n\tvar s = ([]);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* 'BrtBeginSst' */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* 'BrtSSTItem' */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* 'BrtEndSst' */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R_n.indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if(R_n.indexOf(\"End\") > 0){/* empty */}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSst\", write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, \"BrtSSTItem\", write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, \"BrtEndSst\");\n\treturn ba.end();\n}\nfunction _JS2ANSI(str) {\n\tif(typeof cptable !== 'undefined') return cptable.utils.encode(current_ansi, str);\n\tvar o = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length) {\n\tvar o = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\nif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt() { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '<?xml': break;\n\t\t\tcase '<encryption': case '</encryption>': break;\n\t\t\tcase '<keyData': KeyData.forEach(function(k) { o[k] = y[k]; }); break;\n\t\t\tcase '<dataIntegrity': o.encryptedHmacKey = y.encryptedHmacKey; o.encryptedHmacValue = y.encryptedHmacValue; break;\n\t\t\tcase '<keyEncryptors>': case '<keyEncryptors': o.encs = []; break;\n\t\t\tcase '</keyEncryptors>': break;\n\n\t\t\tcase '<keyEncryptor': o.uri = y.uri; break;\n\t\t\tcase '</keyEncryptor>': break;\n\t\t\tcase '<encryptedKey': o.encs.push(y); break;\n\t\t\tdefault: throw y[0];\n\t\t}\n\t});\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.5.1 RC4 CryptoAPI Encryption Header */\nfunction parse_RC4CryptoHeader(blob, length) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4); length -= 4;\n\tif(vers.Minor != 2) throw new Error('unrecognized minor version code: ' + vers.Minor);\n\tif(vers.Major > 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = (function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) });\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = (function() {\n\tfunction rtf_to_sheet(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\tfunction rtf_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\t// TODO: parse\n\t\tif(!str.match(/\\\\trowd/)) throw new Error(\"RTF missing table\");\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d, opts) { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws) {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW<MAX_MDW; ++MDW) if(Math.abs(collw - cycle_width(collw)) <= delta) { delta = Math.abs(collw - cycle_width(collw)); _MDW = MDW; }\n\tMDW = _MDW;\n}\n/* XLML specifies width in terms of pixels */\n/*function find_mdw_wpx(wpx) {\n\tvar delta = Infinity, guess = 0, _MDW = MIN_MDW;\n\tfor(MDW=MIN_MDW; MDW<MAX_MDW; ++MDW) {\n\t\tguess = char2width_(px2char_(wpx))*256;\n\t\tguess = (guess) % 1;\n\t\tif(guess > 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '<borders': case '<borders>': case '</borders>': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '<border': case '<border>': case '<border/>':\n\t\t\t\tborder = {};\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '</border>': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '<left/>': break;\n\t\t\tcase '<left': case '<left>': break;\n\t\t\tcase '</left>': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '<right/>': break;\n\t\t\tcase '<right': case '<right>': break;\n\t\t\tcase '</right>': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '<top/>': break;\n\t\t\tcase '<top': case '<top>': break;\n\t\t\tcase '</top>': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '<bottom/>': break;\n\t\t\tcase '<bottom': case '<bottom>': break;\n\t\t\tcase '</bottom>': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '<diagonal': case '<diagonal>': case '<diagonal/>': break;\n\t\t\tcase '</diagonal>': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '<horizontal': case '<horizontal>': case '<horizontal/>': break;\n\t\t\tcase '</horizontal>': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '<vertical': case '<vertical>': case '<vertical/>': break;\n\t\t\tcase '</vertical>': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '<start': case '<start>': case '<start/>': break;\n\t\t\tcase '</start>': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '<end': case '<end>': case '<end/>': break;\n\t\t\tcase '</end>': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '<color': case '<color>':\n\t\t\t\tbreak;\n\t\t\tcase '<color/>': case '</color>': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '<extLst': case '<extLst>': case '</extLst>': break;\n\t\t\tcase '<ext': pass = true; break;\n\t\t\tcase '</ext>': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '<fills': case '<fills>': case '</fills>': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '<fill>': case '<fill': case '<fill/>':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '</fill>': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '<gradientFill>': break;\n\t\t\tcase '<gradientFill':\n\t\t\tcase '</gradientFill>': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '<patternFill': case '<patternFill>':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '<patternFill/>': case '</patternFill>': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '<bgColor':\n\t\t\t\tif(!fill.bgColor) fill.bgColor = {};\n\t\t\t\tif(y.indexed) fill.bgColor.indexed = parseInt(y.indexed, 10);\n\t\t\t\tif(y.theme) fill.bgColor.theme = parseInt(y.theme, 10);\n\t\t\t\tif(y.tint) fill.bgColor.tint = parseFloat(y.tint);\n\t\t\t\t/* Excel uses ARGB strings */\n\t\t\t\tif(y.rgb) fill.bgColor.rgb = y.rgb.slice(-6);\n\t\t\t\tbreak;\n\t\t\tcase '<bgColor/>': case '</bgColor>': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '<fgColor':\n\t\t\t\tif(!fill.fgColor) fill.fgColor = {};\n\t\t\t\tif(y.theme) fill.fgColor.theme = parseInt(y.theme, 10);\n\t\t\t\tif(y.tint) fill.fgColor.tint = parseFloat(y.tint);\n\t\t\t\t/* Excel uses ARGB strings */\n\t\t\t\tif(y.rgb != null) fill.fgColor.rgb = y.rgb.slice(-6);\n\t\t\t\tbreak;\n\t\t\tcase '<fgColor/>': case '</fgColor>': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '<stop': case '<stop/>': break;\n\t\t\tcase '</stop>': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '<color': case '<color/>': break;\n\t\t\tcase '</color>': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '<extLst': case '<extLst>': case '</extLst>': break;\n\t\t\tcase '<ext': pass = true; break;\n\t\t\tcase '</ext>': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '<fonts': case '<fonts>': case '</fonts>': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '<font': case '<font>': break;\n\t\t\tcase '</font>': case '<font/>':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '<name': if(y.val) font.name = utf8read(y.val); break;\n\t\t\tcase '<name/>': case '</name>': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '<b': font.bold = y.val ? parsexmlbool(y.val) : 1; break;\n\t\t\tcase '<b/>': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '<i': font.italic = y.val ? parsexmlbool(y.val) : 1; break;\n\t\t\tcase '<i/>': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '<u':\n\t\t\t\tswitch(y.val) {\n\t\t\t\t\tcase \"none\": font.underline = 0x00; break;\n\t\t\t\t\tcase \"single\": font.underline = 0x01; break;\n\t\t\t\t\tcase \"double\": font.underline = 0x02; break;\n\t\t\t\t\tcase \"singleAccounting\": font.underline = 0x21; break;\n\t\t\t\t\tcase \"doubleAccounting\": font.underline = 0x22; break;\n\t\t\t\t} break;\n\t\t\tcase '<u/>': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '<strike': font.strike = y.val ? parsexmlbool(y.val) : 1; break;\n\t\t\tcase '<strike/>': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '<outline': font.outline = y.val ? parsexmlbool(y.val) : 1; break;\n\t\t\tcase '<outline/>': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '<shadow': font.shadow = y.val ? parsexmlbool(y.val) : 1; break;\n\t\t\tcase '<shadow/>': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '<condense': font.condense = y.val ? parsexmlbool(y.val) : 1; break;\n\t\t\tcase '<condense/>': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '<extend': font.extend = y.val ? parsexmlbool(y.val) : 1; break;\n\t\t\tcase '<extend/>': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '<sz': if(y.val) font.sz = +y.val; break;\n\t\t\tcase '<sz/>': case '</sz>': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '<vertAlign': if(y.val) font.vertAlign = y.val; break;\n\t\t\tcase '<vertAlign/>': case '</vertAlign>': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '<family': if(y.val) font.family = parseInt(y.val,10); break;\n\t\t\tcase '<family/>': case '</family>': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '<scheme': if(y.val) font.scheme = y.val; break;\n\t\t\tcase '<scheme/>': case '</scheme>': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '<charset':\n\t\t\t\tif(y.val == '1') break;\n\t\t\t\ty.codepage = CS2CP[parseInt(y.val, 10)];\n\t\t\t\tbreak;\n\n\t\t\t/* 18.?.? color CT_Color */\n\t\t\tcase '<color':\n\t\t\t\tif(!font.color) font.color = {};\n\t\t\t\tif(y.auto) font.color.auto = parsexmlbool(y.auto);\n\n\t\t\t\tif(y.rgb) font.color.rgb = y.rgb.slice(-6);\n\t\t\t\telse if(y.indexed) {\n\t\t\t\t\tfont.color.index = parseInt(y.indexed, 10);\n\t\t\t\t\tvar icv = XLSIcv[font.color.index];\n\t\t\t\t\tif(font.color.index == 81) icv = XLSIcv[1];\n\t\t\t\t\tif(!icv) throw new Error(x);\n\t\t\t\t\tfont.color.rgb = icv[0].toString(16) + icv[1].toString(16) + icv[2].toString(16);\n\t\t\t\t} else if(y.theme) {\n\t\t\t\t\tfont.color.theme = parseInt(y.theme, 10);\n\t\t\t\t\tif(y.tint) font.color.tint = parseFloat(y.tint);\n\t\t\t\t\tif(y.theme && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\t\tfont.color.rgb = rgb_tint(themes.themeElements.clrScheme[font.color.theme].rgb, font.color.tint || 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase '<color/>': case '</color>': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '<AlternateContent': pass = true; break;\n\t\t\tcase '</AlternateContent>': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '<extLst': case '<extLst>': case '</extLst>': break;\n\t\t\tcase '<ext': pass = true; break;\n\t\t\tcase '</ext>': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array<number>*/ = (keys(SSF._table));\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '<numFmts': case '</numFmts>': case '<numFmts/>': case '<numFmts>': break;\n\t\t\tcase '<numFmt': {\n\t\t\t\tvar f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10);\n\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\tif(j>0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF.load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '</numFmt>': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF) {\n\tvar o = [\"<numFmts>\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"</numFmts>\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '<cellXfs': case '<cellXfs>': case '<cellXfs/>': case '</cellXfs>': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '<xf': case '<xf/>':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '</xf>': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '<alignment': case '<alignment/>':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '</alignment>': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '<protection':\n\t\t\t\tbreak;\n\t\t\tcase '</protection>': case '<protection/>': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '<AlternateContent': pass = true; break;\n\t\t\tcase '</AlternateContent>': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '<extLst': case '<extLst>': case '</extLst>': break;\n\t\t\tcase '<ext': pass = true; break;\n\t\t\tcase '</ext>': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs) {\n\tvar o = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"</cellXfs>\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= (function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(/<!--([\\s\\S]*?)-->/mg,\"\").replace(/<!DOCTYPE[^\\[]*\\[[^\\]]*\\]>/gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nvar STYLES_XML_ROOT = writextag('styleSheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:vt': XMLNS.vt\n});\n\nRELS.STY = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";\n\nfunction write_sty_xml(wb, opts) {\n\tvar o = [XML_HEADER, STYLES_XML_ROOT], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('<fonts count=\"1\"><font><sz val=\"12\"/><color theme=\"1\"/><name val=\"Calibri\"/><family val=\"2\"/><scheme val=\"minor\"/></font></fonts>');\n\to[o.length] = ('<fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills>');\n\to[o.length] = ('<borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>');\n\to[o.length] = ('<cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs>');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('<cellStyles count=\"1\"><cellStyle name=\"Normal\" xfId=\"0\" builtinId=\"0\"/></cellStyles>');\n\to[o.length] = ('<dxfs count=\"0\"/>');\n\to[o.length] = ('<tableStyles count=\"0\" defaultTableStyle=\"TableStyleMedium9\" defaultPivotStyle=\"PivotStyleMedium4\"/>');\n\n\tif(o.length>2){ o[o.length] = ('</styleSheet>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i, f, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length, opts) {\n\tvar out = ({});\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames = (evert(XLSBFillPTNames));\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tvar fls = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]);\n\tfor(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* 'BrtFmt' */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF.load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* 'BrtFont' */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* 'BrtKnownFonts' */ break;\n\t\t\tcase 0x002D: /* 'BrtFill' */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* 'BrtBorder' */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* 'BrtXF' */\n\t\t\t\tif(state[state.length - 1] == \"BrtBeginCellXFs\") {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* 'BrtStyle' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x023C: /* 'BrtMRUColor' */\n\t\t\tcase 0x01DB: /* 'BrtIndexedColor': */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* 'BrtDXF14' */\n\t\t\tcase 0x0836: /* 'BrtDXF15' */\n\t\t\tcase 0x046A: /* 'BrtSlicerStyleElement' */\n\t\t\tcase 0x0200: /* 'BrtTableStyleElement' */\n\t\t\tcase 0x082F: /* 'BrtTimelineStyleElement' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFmts\", write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, \"BrtFmt\", write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, \"BrtEndFmts\");\n}\n\nfunction write_FONTS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFonts\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFont\", write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, \"BrtEndFonts\");\n}\n\nfunction write_FILLS_bin(ba) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFills\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, \"BrtEndFills\");\n}\n\nfunction write_BORDERS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginBorders\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtBorder\", write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, \"BrtEndBorders\");\n}\n\nfunction write_CELLSTYLEXFS_bin(ba) {\n\tvar cnt = 1;\n\twrite_record(ba, \"BrtBeginCellStyleXFs\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtXF\", write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellStyleXFs\");\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, \"BrtBeginCellXFs\", write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, \"BrtXF\", write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellXFs\");\n}\n\nfunction write_STYLES_bin(ba) {\n\tvar cnt = 1;\n\n\twrite_record(ba, \"BrtBeginStyles\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtStyle\", write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, \"BrtEndStyles\");\n}\n\nfunction write_DXFS_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginDXFs\", write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, \"BrtEndDXFs\");\n}\n\nfunction write_TABLESTYLES_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginTableStyles\", write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, \"BrtEndTableStyles\");\n}\n\nfunction write_COLORPALETTE_bin() {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginStyleSheet\");\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, \"BrtEndStyleSheet\");\n\treturn ba.end();\n}\nRELS.THEME = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";\n\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'</a:lt1>', '</a:dk1>', '</a:lt2>', '</a:dk2>',\n\t'</a:accent1>', '</a:accent2>', '</a:accent3>',\n\t'</a:accent4>', '</a:accent5>', '</a:accent6>',\n\t'</a:hlink>', '</a:folHlink>'\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '<a:clrScheme': case '</a:clrScheme>': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '<a:srgbClr':\n\t\t\t\tcolor.rgb = y.val; break;\n\n\t\t\t/* 20.1.2.3.33 sysClr CT_SystemColor */\n\t\t\tcase '<a:sysClr':\n\t\t\t\tcolor.rgb = y.lastClr; break;\n\n\t\t\t/* 20.1.4.1.1 accent1 (Accent 1) */\n\t\t\t/* 20.1.4.1.2 accent2 (Accent 2) */\n\t\t\t/* 20.1.4.1.3 accent3 (Accent 3) */\n\t\t\t/* 20.1.4.1.4 accent4 (Accent 4) */\n\t\t\t/* 20.1.4.1.5 accent5 (Accent 5) */\n\t\t\t/* 20.1.4.1.6 accent6 (Accent 6) */\n\t\t\t/* 20.1.4.1.9 dk1 (Dark 1) */\n\t\t\t/* 20.1.4.1.10 dk2 (Dark 2) */\n\t\t\t/* 20.1.4.1.15 folHlink (Followed Hyperlink) */\n\t\t\t/* 20.1.4.1.19 hlink (Hyperlink) */\n\t\t\t/* 20.1.4.1.22 lt1 (Light 1) */\n\t\t\t/* 20.1.4.1.23 lt2 (Light 2) */\n\t\t\tcase '<a:dk1>': case '</a:dk1>':\n\t\t\tcase '<a:lt1>': case '</a:lt1>':\n\t\t\tcase '<a:dk2>': case '</a:dk2>':\n\t\t\tcase '<a:lt2>': case '</a:lt2>':\n\t\t\tcase '<a:accent1>': case '</a:accent1>':\n\t\t\tcase '<a:accent2>': case '</a:accent2>':\n\t\t\tcase '<a:accent3>': case '</a:accent3>':\n\t\t\tcase '<a:accent4>': case '</a:accent4>':\n\t\t\tcase '<a:accent5>': case '</a:accent5>':\n\t\t\tcase '<a:accent6>': case '</a:accent6>':\n\t\t\tcase '<a:hlink>': case '</a:hlink>':\n\t\t\tcase '<a:folHlink>': case '</a:folHlink>':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme() { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme() { }\n\nvar clrsregex = /<a:clrScheme([^>]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /<a:fontScheme([^>]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /<a:fmtScheme([^>]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /<a:themeElements([^>]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) return parse_theme_xml(write_theme());\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts) {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\">';\n\to[o.length] = '<a:themeElements>';\n\n\to[o.length] = '<a:clrScheme name=\"Office\">';\n\to[o.length] = '<a:dk1><a:sysClr val=\"windowText\" lastClr=\"000000\"/></a:dk1>';\n\to[o.length] = '<a:lt1><a:sysClr val=\"window\" lastClr=\"FFFFFF\"/></a:lt1>';\n\to[o.length] = '<a:dk2><a:srgbClr val=\"1F497D\"/></a:dk2>';\n\to[o.length] = '<a:lt2><a:srgbClr val=\"EEECE1\"/></a:lt2>';\n\to[o.length] = '<a:accent1><a:srgbClr val=\"4F81BD\"/></a:accent1>';\n\to[o.length] = '<a:accent2><a:srgbClr val=\"C0504D\"/></a:accent2>';\n\to[o.length] = '<a:accent3><a:srgbClr val=\"9BBB59\"/></a:accent3>';\n\to[o.length] = '<a:accent4><a:srgbClr val=\"8064A2\"/></a:accent4>';\n\to[o.length] = '<a:accent5><a:srgbClr val=\"4BACC6\"/></a:accent5>';\n\to[o.length] = '<a:accent6><a:srgbClr val=\"F79646\"/></a:accent6>';\n\to[o.length] = '<a:hlink><a:srgbClr val=\"0000FF\"/></a:hlink>';\n\to[o.length] = '<a:folHlink><a:srgbClr val=\"800080\"/></a:folHlink>';\n\to[o.length] = '</a:clrScheme>';\n\n\to[o.length] = '<a:fontScheme name=\"Office\">';\n\to[o.length] = '<a:majorFont>';\n\to[o.length] = '<a:latin typeface=\"Cambria\"/>';\n\to[o.length] = '<a:ea typeface=\"\"/>';\n\to[o.length] = '<a:cs typeface=\"\"/>';\n\to[o.length] = '<a:font script=\"Jpan\" typeface=\"MS Pゴシック\"/>';\n\to[o.length] = '<a:font script=\"Hang\" typeface=\"맑은 고딕\"/>';\n\to[o.length] = '<a:font script=\"Hans\" typeface=\"宋体\"/>';\n\to[o.length] = '<a:font script=\"Hant\" typeface=\"新細明體\"/>';\n\to[o.length] = '<a:font script=\"Arab\" typeface=\"Times New Roman\"/>';\n\to[o.length] = '<a:font script=\"Hebr\" typeface=\"Times New Roman\"/>';\n\to[o.length] = '<a:font script=\"Thai\" typeface=\"Tahoma\"/>';\n\to[o.length] = '<a:font script=\"Ethi\" typeface=\"Nyala\"/>';\n\to[o.length] = '<a:font script=\"Beng\" typeface=\"Vrinda\"/>';\n\to[o.length] = '<a:font script=\"Gujr\" typeface=\"Shruti\"/>';\n\to[o.length] = '<a:font script=\"Khmr\" typeface=\"MoolBoran\"/>';\n\to[o.length] = '<a:font script=\"Knda\" typeface=\"Tunga\"/>';\n\to[o.length] = '<a:font script=\"Guru\" typeface=\"Raavi\"/>';\n\to[o.length] = '<a:font script=\"Cans\" typeface=\"Euphemia\"/>';\n\to[o.length] = '<a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>';\n\to[o.length] = '<a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>';\n\to[o.length] = '<a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>';\n\to[o.length] = '<a:font script=\"Thaa\" typeface=\"MV Boli\"/>';\n\to[o.length] = '<a:font script=\"Deva\" typeface=\"Mangal\"/>';\n\to[o.length] = '<a:font script=\"Telu\" typeface=\"Gautami\"/>';\n\to[o.length] = '<a:font script=\"Taml\" typeface=\"Latha\"/>';\n\to[o.length] = '<a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>';\n\to[o.length] = '<a:font script=\"Orya\" typeface=\"Kalinga\"/>';\n\to[o.length] = '<a:font script=\"Mlym\" typeface=\"Kartika\"/>';\n\to[o.length] = '<a:font script=\"Laoo\" typeface=\"DokChampa\"/>';\n\to[o.length] = '<a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>';\n\to[o.length] = '<a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>';\n\to[o.length] = '<a:font script=\"Viet\" typeface=\"Times New Roman\"/>';\n\to[o.length] = '<a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>';\n\to[o.length] = '<a:font script=\"Geor\" typeface=\"Sylfaen\"/>';\n\to[o.length] = '</a:majorFont>';\n\to[o.length] = '<a:minorFont>';\n\to[o.length] = '<a:latin typeface=\"Calibri\"/>';\n\to[o.length] = '<a:ea typeface=\"\"/>';\n\to[o.length] = '<a:cs typeface=\"\"/>';\n\to[o.length] = '<a:font script=\"Jpan\" typeface=\"MS Pゴシック\"/>';\n\to[o.length] = '<a:font script=\"Hang\" typeface=\"맑은 고딕\"/>';\n\to[o.length] = '<a:font script=\"Hans\" typeface=\"宋体\"/>';\n\to[o.length] = '<a:font script=\"Hant\" typeface=\"新細明體\"/>';\n\to[o.length] = '<a:font script=\"Arab\" typeface=\"Arial\"/>';\n\to[o.length] = '<a:font script=\"Hebr\" typeface=\"Arial\"/>';\n\to[o.length] = '<a:font script=\"Thai\" typeface=\"Tahoma\"/>';\n\to[o.length] = '<a:font script=\"Ethi\" typeface=\"Nyala\"/>';\n\to[o.length] = '<a:font script=\"Beng\" typeface=\"Vrinda\"/>';\n\to[o.length] = '<a:font script=\"Gujr\" typeface=\"Shruti\"/>';\n\to[o.length] = '<a:font script=\"Khmr\" typeface=\"DaunPenh\"/>';\n\to[o.length] = '<a:font script=\"Knda\" typeface=\"Tunga\"/>';\n\to[o.length] = '<a:font script=\"Guru\" typeface=\"Raavi\"/>';\n\to[o.length] = '<a:font script=\"Cans\" typeface=\"Euphemia\"/>';\n\to[o.length] = '<a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>';\n\to[o.length] = '<a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>';\n\to[o.length] = '<a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>';\n\to[o.length] = '<a:font script=\"Thaa\" typeface=\"MV Boli\"/>';\n\to[o.length] = '<a:font script=\"Deva\" typeface=\"Mangal\"/>';\n\to[o.length] = '<a:font script=\"Telu\" typeface=\"Gautami\"/>';\n\to[o.length] = '<a:font script=\"Taml\" typeface=\"Latha\"/>';\n\to[o.length] = '<a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>';\n\to[o.length] = '<a:font script=\"Orya\" typeface=\"Kalinga\"/>';\n\to[o.length] = '<a:font script=\"Mlym\" typeface=\"Kartika\"/>';\n\to[o.length] = '<a:font script=\"Laoo\" typeface=\"DokChampa\"/>';\n\to[o.length] = '<a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>';\n\to[o.length] = '<a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>';\n\to[o.length] = '<a:font script=\"Viet\" typeface=\"Arial\"/>';\n\to[o.length] = '<a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>';\n\to[o.length] = '<a:font script=\"Geor\" typeface=\"Sylfaen\"/>';\n\to[o.length] = '</a:minorFont>';\n\to[o.length] = '</a:fontScheme>';\n\n\to[o.length] = '<a:fmtScheme name=\"Office\">';\n\to[o.length] = '<a:fillStyleLst>';\n\to[o.length] = '<a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill>';\n\to[o.length] = '<a:gradFill rotWithShape=\"1\">';\n\to[o.length] = '<a:gsLst>';\n\to[o.length] = '<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '<a:gs pos=\"35000\"><a:schemeClr val=\"phClr\"><a:tint val=\"37000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"15000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '</a:gsLst>';\n\to[o.length] = '<a:lin ang=\"16200000\" scaled=\"1\"/>';\n\to[o.length] = '</a:gradFill>';\n\to[o.length] = '<a:gradFill rotWithShape=\"1\">';\n\to[o.length] = '<a:gsLst>';\n\to[o.length] = '<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"100000\"/><a:shade val=\"100000\"/><a:satMod val=\"130000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:shade val=\"100000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '</a:gsLst>';\n\to[o.length] = '<a:lin ang=\"16200000\" scaled=\"0\"/>';\n\to[o.length] = '</a:gradFill>';\n\to[o.length] = '</a:fillStyleLst>';\n\to[o.length] = '<a:lnStyleLst>';\n\to[o.length] = '<a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"><a:shade val=\"95000\"/><a:satMod val=\"105000\"/></a:schemeClr></a:solidFill><a:prstDash val=\"solid\"/></a:ln>';\n\to[o.length] = '<a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln>';\n\to[o.length] = '<a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln>';\n\to[o.length] = '</a:lnStyleLst>';\n\to[o.length] = '<a:effectStyleLst>';\n\to[o.length] = '<a:effectStyle>';\n\to[o.length] = '<a:effectLst>';\n\to[o.length] = '<a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"38000\"/></a:srgbClr></a:outerShdw>';\n\to[o.length] = '</a:effectLst>';\n\to[o.length] = '</a:effectStyle>';\n\to[o.length] = '<a:effectStyle>';\n\to[o.length] = '<a:effectLst>';\n\to[o.length] = '<a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw>';\n\to[o.length] = '</a:effectLst>';\n\to[o.length] = '</a:effectStyle>';\n\to[o.length] = '<a:effectStyle>';\n\to[o.length] = '<a:effectLst>';\n\to[o.length] = '<a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw>';\n\to[o.length] = '</a:effectLst>';\n\to[o.length] = '<a:scene3d><a:camera prst=\"orthographicFront\"><a:rot lat=\"0\" lon=\"0\" rev=\"0\"/></a:camera><a:lightRig rig=\"threePt\" dir=\"t\"><a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/></a:lightRig></a:scene3d>';\n\to[o.length] = '<a:sp3d><a:bevelT w=\"63500\" h=\"25400\"/></a:sp3d>';\n\to[o.length] = '</a:effectStyle>';\n\to[o.length] = '</a:effectStyleLst>';\n\to[o.length] = '<a:bgFillStyleLst>';\n\to[o.length] = '<a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill>';\n\to[o.length] = '<a:gradFill rotWithShape=\"1\">';\n\to[o.length] = '<a:gsLst>';\n\to[o.length] = '<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"40000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '<a:gs pos=\"40000\"><a:schemeClr val=\"phClr\"><a:tint val=\"45000\"/><a:shade val=\"99000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"20000\"/><a:satMod val=\"255000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '</a:gsLst>';\n\to[o.length] = '<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/></a:path>';\n\to[o.length] = '</a:gradFill>';\n\to[o.length] = '<a:gradFill rotWithShape=\"1\">';\n\to[o.length] = '<a:gsLst>';\n\to[o.length] = '<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"80000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"30000\"/><a:satMod val=\"200000\"/></a:schemeClr></a:gs>';\n\to[o.length] = '</a:gsLst>';\n\to[o.length] = '<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/></a:path>';\n\to[o.length] = '</a:gradFill>';\n\to[o.length] = '</a:bgFillStyleLst>';\n\to[o.length] = '</a:fmtScheme>';\n\to[o.length] = '</a:themeElements>';\n\n\to[o.length] = '<a:objectDefaults>';\n\to[o.length] = '<a:spDef>';\n\to[o.length] = '<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"3\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></a:style>';\n\to[o.length] = '</a:spDef>';\n\to[o.length] = '<a:lnDef>';\n\to[o.length] = '<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"0\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"tx1\"/></a:fontRef></a:style>';\n\to[o.length] = '</a:lnDef>';\n\to[o.length] = '</a:objectDefaults>';\n\to[o.length] = '<a:extraClrSchemeLst/>';\n\to[o.length] = '</a:theme>';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles || !jszip) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = new jszip(data); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob) {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data) {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '<?xml': break;\n\t\t\t/* 18.6.2 calcChain CT_CalcChain 1 */\n\t\t\tcase '<calcChain': case '<calcChain>': case '</calcChain>': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase '<c': delete y[0]; if(y.i) i = y.i; else y.i = i; d.push(y); break;\n\t\t}\n\t});\n\treturn d;\n}\n\n//function write_cc_xml(data, opts) { }\n\n/* [MS-XLSB] 2.6.4.1 */\nfunction parse_BrtCalcChainItem$(data) {\n\tvar out = {};\n\tout.i = data.read_shift(4);\n\tvar cell = {};\n\tcell.r = data.read_shift(4);\n\tcell.c = data.read_shift(4);\n\tout.r = encode_cell(cell);\n\tvar flags = data.read_shift(1);\n\tif(flags & 0x2) out.l = '1';\n\tif(flags & 0x8) out.a = '1';\n\treturn out;\n}\n\n/* 18.6 Calculation Chain */\nfunction parse_cc_bin(data, name, opts) {\n\tvar out = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_cc(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x003F: /* 'BrtCalcChainItem$' */\n\t\t\t\tout.push(val); break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\n//function write_cc_bin(data, opts) { }\n/* 18.14 Supplementary Workbook Data */\nfunction parse_xlink_xml() {\n\t//var opts = _opts || {};\n\t//if(opts.WTF) throw \"XLSX External Link\";\n}\n\n/* [MS-XLSB] 2.1.7.25 External Link */\nfunction parse_xlink_bin(data, rel, name, _opts) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\n\tvar pass = false, end = false;\n\n\trecordhopper(data, function xlink_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0167: /* 'BrtSupTabs' */\n\t\t\tcase 0x016B: /* 'BrtExternTableStart' */\n\t\t\tcase 0x016C: /* 'BrtExternTableEnd' */\n\t\t\tcase 0x016E: /* 'BrtExternRowHdr' */\n\t\t\tcase 0x016F: /* 'BrtExternCellBlank' */\n\t\t\tcase 0x0170: /* 'BrtExternCellReal' */\n\t\t\tcase 0x0171: /* 'BrtExternCellBool' */\n\t\t\tcase 0x0172: /* 'BrtExternCellError' */\n\t\t\tcase 0x0173: /* 'BrtExternCellString' */\n\t\t\tcase 0x01D8: /* 'BrtExternValueMeta' */\n\t\t\tcase 0x0241: /* 'BrtSupNameStart' */\n\t\t\tcase 0x0242: /* 'BrtSupNameValueStart' */\n\t\t\tcase 0x0243: /* 'BrtSupNameValueEnd' */\n\t\t\tcase 0x0244: /* 'BrtSupNameNum' */\n\t\t\tcase 0x0245: /* 'BrtSupNameErr' */\n\t\t\tcase 0x0246: /* 'BrtSupNameSt' */\n\t\t\tcase 0x0247: /* 'BrtSupNameNil' */\n\t\t\tcase 0x0248: /* 'BrtSupNameBool' */\n\t\t\tcase 0x0249: /* 'BrtSupNameFmla' */\n\t\t\tcase 0x024A: /* 'BrtSupNameBits' */\n\t\t\tcase 0x024B: /* 'BrtSupNameEnd' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT.toString(16) + \" \" + R_n);\n\t\t}\n\t}, opts);\n}\n/* 20.5 DrawingML - SpreadsheetML Drawing */\nRELS.IMG = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\";\nRELS.DRAW = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\";\n\n/* 20.5.2.35 wsDr CT_Drawing */\nfunction parse_drawing(data, rels) {\n\tif(!data) return \"??\";\n\t/*\n\t Chartsheet Drawing:\n\t - 20.5.2.35 wsDr CT_Drawing\n\t - 20.5.2.1 absoluteAnchor CT_AbsoluteAnchor\n\t - 20.5.2.16 graphicFrame CT_GraphicalObjectFrame\n\t - 20.1.2.2.16 graphic CT_GraphicalObject\n\t - 20.1.2.2.17 graphicData CT_GraphicalObjectData\n - chart reference\n\t the actual type is based on the URI of the graphicData\n\t\tTODO: handle embedded charts and other types of graphics\n\t*/\n\tvar id = (data.match(/<c:chart [^>]*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = {'color2':\"#BEFF82\", 'type':\"gradient\"};\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"});\n\t++_shapeid;\n\n\to = o.concat([\n\t'<v:shape' + wxt_helper({\n\t\tid:'_x0000_s' + _shapeid,\n\t\ttype:\"#_x0000_t202\",\n\t\tstyle:\"position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10\" + (x[1].hidden ? \";visibility:hidden\" : \"\") ,\n\t\tfillcolor:\"#ECFAD4\",\n\t\tstrokecolor:\"#edeaa1\"\n\t}) + '>',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'<v:textbox><div style=\"text-align:left\"></div></v:textbox>',\n\t\t'<x:ClientData ObjectType=\"Note\">',\n\t\t\t'<x:MoveWithCells/>',\n\t\t\t'<x:SizeWithCells/>',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '<x:Visible/>',\n\t\t'</x:ClientData>',\n\t'</v:shape>'\n\t]); });\n\to.push('</xml>');\n\treturn o.join(\"\");\n}\nRELS.CMNT = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\";\n\nfunction sheet_insert_comments(sheet, comments) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"});\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o = ({a: comment.author, t: comment.t, r: comment.r});\n\t\tif(comment.h) o.h = comment.h;\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data, opts) {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors = [];\n\tvar commentList = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid });\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"<t></t>\") rt.t = rt.h = \"\";\n\t\tcomment.t = rt.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nvar CMNT_XML_ROOT = writextag('comments', null, { 'xmlns': XMLNS.main[0] });\nfunction write_comments_xml(data) {\n\tvar o = [XML_HEADER, CMNT_XML_ROOT];\n\n\tvar iauthor = [];\n\to.push(\"<authors>\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) > -1) return;\n\t\tiauthor.push(a);\n\t\to.push(\"<author>\" + a + \"</author>\");\n\t}); });\n\to.push(\"</authors>\");\n\to.push(\"<commentList>\");\n\tdata.forEach(function(d) {\n\t\td[1].forEach(function(c) {\n\t\t\t/* 18.7.3 CT_Comment */\n\t\t\to.push('<comment ref=\"' + d[0] + '\" authorId=\"' + iauthor.indexOf(escapexml(c.a)) + '\"><text>');\n\t\t\to.push(writetag(\"t\", c.t == null ? \"\" : escapexml(c.t)));\n\t\t\to.push('</text></comment>');\n\t\t});\n\t});\n\to.push(\"</commentList>\");\n\tif(o.length>2) { o[o.length] = ('</comments>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts) {\n\tvar out = [];\n\tvar authors = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data) {\n\tvar ba = buf_array();\n\tvar iauthor = [];\n\twrite_record(ba, \"BrtBeginComments\");\n\n\twrite_record(ba, \"BrtBeginCommentAuthors\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, \"BrtCommentAuthor\", write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentAuthors\");\n\n\twrite_record(ba, \"BrtBeginCommentList\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, \"BrtBeginComment\", write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, \"BrtCommentText\", write_BrtCommentText(c));\n\t\t\twrite_record(ba, \"BrtEndComment\");\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentList\");\n\n\twrite_record(ba, \"BrtEndComments\");\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n\tvar newcfb = CFB.utils.cfb_new({root:\"R\"});\n\tcfb.FullPaths.forEach(function(p, i) {\n\t\tif(p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/)) return;\n\t\tvar newpath = p.replace(/^[^\\/]*/,\"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n\t\tCFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n\t});\n\treturn CFB.write(newcfb);\n}\n\nfunction fill_vba_xls(cfb, vba) {\n\tvba.FullPaths.forEach(function(p, i) {\n\t\tif(i == 0) return;\n\t\tvar newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n\t\tif(newpath.slice(-1) !== \"/\") CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n\t});\n}\n\nvar VBAFMTS = [ \"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\" ];\n\nRELS.DS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\";\nRELS.MS = \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\";\n\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin() { return {'!type':'dialog'}; }\nfunction parse_ds_xml() { return {'!type':'dialog'}; }\nfunction parse_ms_bin() { return {'!type':'macro'}; }\nfunction parse_ms_xml() { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = (function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase = ({r:0,c:0});\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr, base) {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc =(function(){\n\treturn function a1_to_rc(fstr, base) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f, delta) {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f, range, cell) {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f) {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f) {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts) {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n0x01: { n:'PtgExp', f:parse_PtgExp },\n0x02: { n:'PtgTbl', f:parse_PtgTbl },\n0x03: { n:'PtgAdd', f:parseread1 },\n0x04: { n:'PtgSub', f:parseread1 },\n0x05: { n:'PtgMul', f:parseread1 },\n0x06: { n:'PtgDiv', f:parseread1 },\n0x07: { n:'PtgPower', f:parseread1 },\n0x08: { n:'PtgConcat', f:parseread1 },\n0x09: { n:'PtgLt', f:parseread1 },\n0x0A: { n:'PtgLe', f:parseread1 },\n0x0B: { n:'PtgEq', f:parseread1 },\n0x0C: { n:'PtgGe', f:parseread1 },\n0x0D: { n:'PtgGt', f:parseread1 },\n0x0E: { n:'PtgNe', f:parseread1 },\n0x0F: { n:'PtgIsect', f:parseread1 },\n0x10: { n:'PtgUnion', f:parseread1 },\n0x11: { n:'PtgRange', f:parseread1 },\n0x12: { n:'PtgUplus', f:parseread1 },\n0x13: { n:'PtgUminus', f:parseread1 },\n0x14: { n:'PtgPercent', f:parseread1 },\n0x15: { n:'PtgParen', f:parseread1 },\n0x16: { n:'PtgMissArg', f:parseread1 },\n0x17: { n:'PtgStr', f:parse_PtgStr },\n0x1A: { n:'PtgSheet', f:parse_PtgSheet },\n0x1B: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n0x1C: { n:'PtgErr', f:parse_PtgErr },\n0x1D: { n:'PtgBool', f:parse_PtgBool },\n0x1E: { n:'PtgInt', f:parse_PtgInt },\n0x1F: { n:'PtgNum', f:parse_PtgNum },\n0x20: { n:'PtgArray', f:parse_PtgArray },\n0x21: { n:'PtgFunc', f:parse_PtgFunc },\n0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n0x23: { n:'PtgName', f:parse_PtgName },\n0x24: { n:'PtgRef', f:parse_PtgRef },\n0x25: { n:'PtgArea', f:parse_PtgArea },\n0x26: { n:'PtgMemArea', f:parse_PtgMemArea },\n0x27: { n:'PtgMemErr', f:parse_PtgMemErr },\n0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n0x2A: { n:'PtgRefErr', f:parse_PtgRefErr },\n0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n0x2C: { n:'PtgRefN', f:parse_PtgRefN },\n0x2D: { n:'PtgAreaN', f:parse_PtgAreaN },\n0x2E: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n0x2F: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n0x39: { n:'PtgNameX', f:parse_PtgNameX },\n0x3A: { n:'PtgRef3d', f:parse_PtgRef3d },\n0x3B: { n:'PtgArea3d', f:parse_PtgArea3d },\n0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n0xFF: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n0x40: 0x20, 0x60: 0x20,\n0x41: 0x21, 0x61: 0x21,\n0x42: 0x22, 0x62: 0x22,\n0x43: 0x23, 0x63: 0x23,\n0x44: 0x24, 0x64: 0x24,\n0x45: 0x25, 0x65: 0x25,\n0x46: 0x26, 0x66: 0x26,\n0x47: 0x27, 0x67: 0x27,\n0x48: 0x28, 0x68: 0x28,\n0x49: 0x29, 0x69: 0x29,\n0x4A: 0x2A, 0x6A: 0x2A,\n0x4B: 0x2B, 0x6B: 0x2B,\n0x4C: 0x2C, 0x6C: 0x2C,\n0x4D: 0x2D, 0x6D: 0x2D,\n0x4E: 0x2E, 0x6E: 0x2E,\n0x4F: 0x2F, 0x6F: 0x2F,\n0x58: 0x22, 0x78: 0x22,\n0x59: 0x39, 0x79: 0x39,\n0x5A: 0x3A, 0x7A: 0x3A,\n0x5B: 0x3B, 0x7B: 0x3B,\n0x5C: 0x3C, 0x7C: 0x3C,\n0x5D: 0x3D, 0x7D: 0x3D\n};\n(function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})();\n\nvar Ptg18 = {\n0x01: { n:'PtgElfLel', f:parse_PtgElfLel },\n0x02: { n:'PtgElfRw', f:parse_PtgElfRw },\n0x03: { n:'PtgElfCol', f:parse_PtgElfCol },\n0x06: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n0x07: { n:'PtgElfColV', f:parse_PtgElfColV },\n0x0A: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n0x0B: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n0x0D: { n:'PtgElfColS', f:parse_PtgElfColS },\n0x0F: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n0x10: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n0x19: { n:'PtgList', f:parse_PtgList },\n0x1D: { n:'PtgSxName', f:parse_PtgSxName },\n0xFF: {}\n};\nvar Ptg19 = {\n0x00: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n0xFF: {}\n};\nPtg19[0x21] = Ptg19[0x20];\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f) {\n\tvar o = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\nr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nvar quoteCharacters = new RegExp(/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/);\nfunction formula_quote_sheet_name(sname, opts) {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (quoteCharacters.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti, opts) {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti, opts) {\n\treturn formula_quote_sheet_name(get_ixti_raw(supbooks, ixti, opts), opts);\n}\nfunction stringify_formula(formula/*Array<any>*/, range, cell, supbooks, opts) {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack = [], e1, e2, c, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\nc = shift_cell_xls((f[1][1]), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\nc = cell ? shift_cell_xls((f[1][1]), cell, opts) : (f[1][1]);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\nixti = f[1][1]; c = shift_cell_xls((f[1][2]), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc = (f[1][0]), func = (f[1][1]);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\nr = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\nr = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\nixti = f[1][1]; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\tif(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name];\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx = (f[1][1]); nameidx = (f[1][2]); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = get_ixti_raw(supbooks, bookidx, opts).split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]),r:(f[1][0])};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r});\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(f[1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(f[1]) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell, R, C, opts, os) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLS] 2.5.198.4 */\nvar Cetab = {\n0x0000: 'BEEP',\n0x0001: 'OPEN',\n0x0002: 'OPEN.LINKS',\n0x0003: 'CLOSE.ALL',\n0x0004: 'SAVE',\n0x0005: 'SAVE.AS',\n0x0006: 'FILE.DELETE',\n0x0007: 'PAGE.SETUP',\n0x0008: 'PRINT',\n0x0009: 'PRINTER.SETUP',\n0x000A: 'QUIT',\n0x000B: 'NEW.WINDOW',\n0x000C: 'ARRANGE.ALL',\n0x000D: 'WINDOW.SIZE',\n0x000E: 'WINDOW.MOVE',\n0x000F: 'FULL',\n0x0010: 'CLOSE',\n0x0011: 'RUN',\n0x0016: 'SET.PRINT.AREA',\n0x0017: 'SET.PRINT.TITLES',\n0x0018: 'SET.PAGE.BREAK',\n0x0019: 'REMOVE.PAGE.BREAK',\n0x001A: 'FONT',\n0x001B: 'DISPLAY',\n0x001C: 'PROTECT.DOCUMENT',\n0x001D: 'PRECISION',\n0x001E: 'A1.R1C1',\n0x001F: 'CALCULATE.NOW',\n0x0020: 'CALCULATION',\n0x0022: 'DATA.FIND',\n0x0023: 'EXTRACT',\n0x0024: 'DATA.DELETE',\n0x0025: 'SET.DATABASE',\n0x0026: 'SET.CRITERIA',\n0x0027: 'SORT',\n0x0028: 'DATA.SERIES',\n0x0029: 'TABLE',\n0x002A: 'FORMAT.NUMBER',\n0x002B: 'ALIGNMENT',\n0x002C: 'STYLE',\n0x002D: 'BORDER',\n0x002E: 'CELL.PROTECTION',\n0x002F: 'COLUMN.WIDTH',\n0x0030: 'UNDO',\n0x0031: 'CUT',\n0x0032: 'COPY',\n0x0033: 'PASTE',\n0x0034: 'CLEAR',\n0x0035: 'PASTE.SPECIAL',\n0x0036: 'EDIT.DELETE',\n0x0037: 'INSERT',\n0x0038: 'FILL.RIGHT',\n0x0039: 'FILL.DOWN',\n0x003D: 'DEFINE.NAME',\n0x003E: 'CREATE.NAMES',\n0x003F: 'FORMULA.GOTO',\n0x0040: 'FORMULA.FIND',\n0x0041: 'SELECT.LAST.CELL',\n0x0042: 'SHOW.ACTIVE.CELL',\n0x0043: 'GALLERY.AREA',\n0x0044: 'GALLERY.BAR',\n0x0045: 'GALLERY.COLUMN',\n0x0046: 'GALLERY.LINE',\n0x0047: 'GALLERY.PIE',\n0x0048: 'GALLERY.SCATTER',\n0x0049: 'COMBINATION',\n0x004A: 'PREFERRED',\n0x004B: 'ADD.OVERLAY',\n0x004C: 'GRIDLINES',\n0x004D: 'SET.PREFERRED',\n0x004E: 'AXES',\n0x004F: 'LEGEND',\n0x0050: 'ATTACH.TEXT',\n0x0051: 'ADD.ARROW',\n0x0052: 'SELECT.CHART',\n0x0053: 'SELECT.PLOT.AREA',\n0x0054: 'PATTERNS',\n0x0055: 'MAIN.CHART',\n0x0056: 'OVERLAY',\n0x0057: 'SCALE',\n0x0058: 'FORMAT.LEGEND',\n0x0059: 'FORMAT.TEXT',\n0x005A: 'EDIT.REPEAT',\n0x005B: 'PARSE',\n0x005C: 'JUSTIFY',\n0x005D: 'HIDE',\n0x005E: 'UNHIDE',\n0x005F: 'WORKSPACE',\n0x0060: 'FORMULA',\n0x0061: 'FORMULA.FILL',\n0x0062: 'FORMULA.ARRAY',\n0x0063: 'DATA.FIND.NEXT',\n0x0064: 'DATA.FIND.PREV',\n0x0065: 'FORMULA.FIND.NEXT',\n0x0066: 'FORMULA.FIND.PREV',\n0x0067: 'ACTIVATE',\n0x0068: 'ACTIVATE.NEXT',\n0x0069: 'ACTIVATE.PREV',\n0x006A: 'UNLOCKED.NEXT',\n0x006B: 'UNLOCKED.PREV',\n0x006C: 'COPY.PICTURE',\n0x006D: 'SELECT',\n0x006E: 'DELETE.NAME',\n0x006F: 'DELETE.FORMAT',\n0x0070: 'VLINE',\n0x0071: 'HLINE',\n0x0072: 'VPAGE',\n0x0073: 'HPAGE',\n0x0074: 'VSCROLL',\n0x0075: 'HSCROLL',\n0x0076: 'ALERT',\n0x0077: 'NEW',\n0x0078: 'CANCEL.COPY',\n0x0079: 'SHOW.CLIPBOARD',\n0x007A: 'MESSAGE',\n0x007C: 'PASTE.LINK',\n0x007D: 'APP.ACTIVATE',\n0x007E: 'DELETE.ARROW',\n0x007F: 'ROW.HEIGHT',\n0x0080: 'FORMAT.MOVE',\n0x0081: 'FORMAT.SIZE',\n0x0082: 'FORMULA.REPLACE',\n0x0083: 'SEND.KEYS',\n0x0084: 'SELECT.SPECIAL',\n0x0085: 'APPLY.NAMES',\n0x0086: 'REPLACE.FONT',\n0x0087: 'FREEZE.PANES',\n0x0088: 'SHOW.INFO',\n0x0089: 'SPLIT',\n0x008A: 'ON.WINDOW',\n0x008B: 'ON.DATA',\n0x008C: 'DISABLE.INPUT',\n0x008E: 'OUTLINE',\n0x008F: 'LIST.NAMES',\n0x0090: 'FILE.CLOSE',\n0x0091: 'SAVE.WORKBOOK',\n0x0092: 'DATA.FORM',\n0x0093: 'COPY.CHART',\n0x0094: 'ON.TIME',\n0x0095: 'WAIT',\n0x0096: 'FORMAT.FONT',\n0x0097: 'FILL.UP',\n0x0098: 'FILL.LEFT',\n0x0099: 'DELETE.OVERLAY',\n0x009B: 'SHORT.MENUS',\n0x009F: 'SET.UPDATE.STATUS',\n0x00A1: 'COLOR.PALETTE',\n0x00A2: 'DELETE.STYLE',\n0x00A3: 'WINDOW.RESTORE',\n0x00A4: 'WINDOW.MAXIMIZE',\n0x00A6: 'CHANGE.LINK',\n0x00A7: 'CALCULATE.DOCUMENT',\n0x00A8: 'ON.KEY',\n0x00A9: 'APP.RESTORE',\n0x00AA: 'APP.MOVE',\n0x00AB: 'APP.SIZE',\n0x00AC: 'APP.MINIMIZE',\n0x00AD: 'APP.MAXIMIZE',\n0x00AE: 'BRING.TO.FRONT',\n0x00AF: 'SEND.TO.BACK',\n0x00B9: 'MAIN.CHART.TYPE',\n0x00BA: 'OVERLAY.CHART.TYPE',\n0x00BB: 'SELECT.END',\n0x00BC: 'OPEN.MAIL',\n0x00BD: 'SEND.MAIL',\n0x00BE: 'STANDARD.FONT',\n0x00BF: 'CONSOLIDATE',\n0x00C0: 'SORT.SPECIAL',\n0x00C1: 'GALLERY.3D.AREA',\n0x00C2: 'GALLERY.3D.COLUMN',\n0x00C3: 'GALLERY.3D.LINE',\n0x00C4: 'GALLERY.3D.PIE',\n0x00C5: 'VIEW.3D',\n0x00C6: 'GOAL.SEEK',\n0x00C7: 'WORKGROUP',\n0x00C8: 'FILL.GROUP',\n0x00C9: 'UPDATE.LINK',\n0x00CA: 'PROMOTE',\n0x00CB: 'DEMOTE',\n0x00CC: 'SHOW.DETAIL',\n0x00CE: 'UNGROUP',\n0x00CF: 'OBJECT.PROPERTIES',\n0x00D0: 'SAVE.NEW.OBJECT',\n0x00D1: 'SHARE',\n0x00D2: 'SHARE.NAME',\n0x00D3: 'DUPLICATE',\n0x00D4: 'APPLY.STYLE',\n0x00D5: 'ASSIGN.TO.OBJECT',\n0x00D6: 'OBJECT.PROTECTION',\n0x00D7: 'HIDE.OBJECT',\n0x00D8: 'SET.EXTRACT',\n0x00D9: 'CREATE.PUBLISHER',\n0x00DA: 'SUBSCRIBE.TO',\n0x00DB: 'ATTRIBUTES',\n0x00DC: 'SHOW.TOOLBAR',\n0x00DE: 'PRINT.PREVIEW',\n0x00DF: 'EDIT.COLOR',\n0x00E0: 'SHOW.LEVELS',\n0x00E1: 'FORMAT.MAIN',\n0x00E2: 'FORMAT.OVERLAY',\n0x00E3: 'ON.RECALC',\n0x00E4: 'EDIT.SERIES',\n0x00E5: 'DEFINE.STYLE',\n0x00F0: 'LINE.PRINT',\n0x00F3: 'ENTER.DATA',\n0x00F9: 'GALLERY.RADAR',\n0x00FA: 'MERGE.STYLES',\n0x00FB: 'EDITION.OPTIONS',\n0x00FC: 'PASTE.PICTURE',\n0x00FD: 'PASTE.PICTURE.LINK',\n0x00FE: 'SPELLING',\n0x0100: 'ZOOM',\n0x0103: 'INSERT.OBJECT',\n0x0104: 'WINDOW.MINIMIZE',\n0x0109: 'SOUND.NOTE',\n0x010A: 'SOUND.PLAY',\n0x010B: 'FORMAT.SHAPE',\n0x010C: 'EXTEND.POLYGON',\n0x010D: 'FORMAT.AUTO',\n0x0110: 'GALLERY.3D.BAR',\n0x0111: 'GALLERY.3D.SURFACE',\n0x0112: 'FILL.AUTO',\n0x0114: 'CUSTOMIZE.TOOLBAR',\n0x0115: 'ADD.TOOL',\n0x0116: 'EDIT.OBJECT',\n0x0117: 'ON.DOUBLECLICK',\n0x0118: 'ON.ENTRY',\n0x0119: 'WORKBOOK.ADD',\n0x011A: 'WORKBOOK.MOVE',\n0x011B: 'WORKBOOK.COPY',\n0x011C: 'WORKBOOK.OPTIONS',\n0x011D: 'SAVE.WORKSPACE',\n0x0120: 'CHART.WIZARD',\n0x0121: 'DELETE.TOOL',\n0x0122: 'MOVE.TOOL',\n0x0123: 'WORKBOOK.SELECT',\n0x0124: 'WORKBOOK.ACTIVATE',\n0x0125: 'ASSIGN.TO.TOOL',\n0x0127: 'COPY.TOOL',\n0x0128: 'RESET.TOOL',\n0x0129: 'CONSTRAIN.NUMERIC',\n0x012A: 'PASTE.TOOL',\n0x012E: 'WORKBOOK.NEW',\n0x0131: 'SCENARIO.CELLS',\n0x0132: 'SCENARIO.DELETE',\n0x0133: 'SCENARIO.ADD',\n0x0134: 'SCENARIO.EDIT',\n0x0135: 'SCENARIO.SHOW',\n0x0136: 'SCENARIO.SHOW.NEXT',\n0x0137: 'SCENARIO.SUMMARY',\n0x0138: 'PIVOT.TABLE.WIZARD',\n0x0139: 'PIVOT.FIELD.PROPERTIES',\n0x013A: 'PIVOT.FIELD',\n0x013B: 'PIVOT.ITEM',\n0x013C: 'PIVOT.ADD.FIELDS',\n0x013E: 'OPTIONS.CALCULATION',\n0x013F: 'OPTIONS.EDIT',\n0x0140: 'OPTIONS.VIEW',\n0x0141: 'ADDIN.MANAGER',\n0x0142: 'MENU.EDITOR',\n0x0143: 'ATTACH.TOOLBARS',\n0x0144: 'VBAActivate',\n0x0145: 'OPTIONS.CHART',\n0x0148: 'VBA.INSERT.FILE',\n0x014A: 'VBA.PROCEDURE.DEFINITION',\n0x0150: 'ROUTING.SLIP',\n0x0152: 'ROUTE.DOCUMENT',\n0x0153: 'MAIL.LOGON',\n0x0156: 'INSERT.PICTURE',\n0x0157: 'EDIT.TOOL',\n0x0158: 'GALLERY.DOUGHNUT',\n0x015E: 'CHART.TREND',\n0x0160: 'PIVOT.ITEM.PROPERTIES',\n0x0162: 'WORKBOOK.INSERT',\n0x0163: 'OPTIONS.TRANSITION',\n0x0164: 'OPTIONS.GENERAL',\n0x0172: 'FILTER.ADVANCED',\n0x0175: 'MAIL.ADD.MAILER',\n0x0176: 'MAIL.DELETE.MAILER',\n0x0177: 'MAIL.REPLY',\n0x0178: 'MAIL.REPLY.ALL',\n0x0179: 'MAIL.FORWARD',\n0x017A: 'MAIL.NEXT.LETTER',\n0x017B: 'DATA.LABEL',\n0x017C: 'INSERT.TITLE',\n0x017D: 'FONT.PROPERTIES',\n0x017E: 'MACRO.OPTIONS',\n0x017F: 'WORKBOOK.HIDE',\n0x0180: 'WORKBOOK.UNHIDE',\n0x0181: 'WORKBOOK.DELETE',\n0x0182: 'WORKBOOK.NAME',\n0x0184: 'GALLERY.CUSTOM',\n0x0186: 'ADD.CHART.AUTOFORMAT',\n0x0187: 'DELETE.CHART.AUTOFORMAT',\n0x0188: 'CHART.ADD.DATA',\n0x0189: 'AUTO.OUTLINE',\n0x018A: 'TAB.ORDER',\n0x018B: 'SHOW.DIALOG',\n0x018C: 'SELECT.ALL',\n0x018D: 'UNGROUP.SHEETS',\n0x018E: 'SUBTOTAL.CREATE',\n0x018F: 'SUBTOTAL.REMOVE',\n0x0190: 'RENAME.OBJECT',\n0x019C: 'WORKBOOK.SCROLL',\n0x019D: 'WORKBOOK.NEXT',\n0x019E: 'WORKBOOK.PREV',\n0x019F: 'WORKBOOK.TAB.SPLIT',\n0x01A0: 'FULL.SCREEN',\n0x01A1: 'WORKBOOK.PROTECT',\n0x01A4: 'SCROLLBAR.PROPERTIES',\n0x01A5: 'PIVOT.SHOW.PAGES',\n0x01A6: 'TEXT.TO.COLUMNS',\n0x01A7: 'FORMAT.CHARTTYPE',\n0x01A8: 'LINK.FORMAT',\n0x01A9: 'TRACER.DISPLAY',\n0x01AE: 'TRACER.NAVIGATE',\n0x01AF: 'TRACER.CLEAR',\n0x01B0: 'TRACER.ERROR',\n0x01B1: 'PIVOT.FIELD.GROUP',\n0x01B2: 'PIVOT.FIELD.UNGROUP',\n0x01B3: 'CHECKBOX.PROPERTIES',\n0x01B4: 'LABEL.PROPERTIES',\n0x01B5: 'LISTBOX.PROPERTIES',\n0x01B6: 'EDITBOX.PROPERTIES',\n0x01B7: 'PIVOT.REFRESH',\n0x01B8: 'LINK.COMBO',\n0x01B9: 'OPEN.TEXT',\n0x01BA: 'HIDE.DIALOG',\n0x01BB: 'SET.DIALOG.FOCUS',\n0x01BC: 'ENABLE.OBJECT',\n0x01BD: 'PUSHBUTTON.PROPERTIES',\n0x01BE: 'SET.DIALOG.DEFAULT',\n0x01BF: 'FILTER',\n0x01C0: 'FILTER.SHOW.ALL',\n0x01C1: 'CLEAR.OUTLINE',\n0x01C2: 'FUNCTION.WIZARD',\n0x01C3: 'ADD.LIST.ITEM',\n0x01C4: 'SET.LIST.ITEM',\n0x01C5: 'REMOVE.LIST.ITEM',\n0x01C6: 'SELECT.LIST.ITEM',\n0x01C7: 'SET.CONTROL.VALUE',\n0x01C8: 'SAVE.COPY.AS',\n0x01CA: 'OPTIONS.LISTS.ADD',\n0x01CB: 'OPTIONS.LISTS.DELETE',\n0x01CC: 'SERIES.AXES',\n0x01CD: 'SERIES.X',\n0x01CE: 'SERIES.Y',\n0x01CF: 'ERRORBAR.X',\n0x01D0: 'ERRORBAR.Y',\n0x01D1: 'FORMAT.CHART',\n0x01D2: 'SERIES.ORDER',\n0x01D3: 'MAIL.LOGOFF',\n0x01D4: 'CLEAR.ROUTING.SLIP',\n0x01D5: 'APP.ACTIVATE.MICROSOFT',\n0x01D6: 'MAIL.EDIT.MAILER',\n0x01D7: 'ON.SHEET',\n0x01D8: 'STANDARD.WIDTH',\n0x01D9: 'SCENARIO.MERGE',\n0x01DA: 'SUMMARY.INFO',\n0x01DB: 'FIND.FILE',\n0x01DC: 'ACTIVE.CELL.FONT',\n0x01DD: 'ENABLE.TIPWIZARD',\n0x01DE: 'VBA.MAKE.ADDIN',\n0x01E0: 'INSERTDATATABLE',\n0x01E1: 'WORKGROUP.OPTIONS',\n0x01E2: 'MAIL.SEND.MAILER',\n0x01E5: 'AUTOCORRECT',\n0x01E9: 'POST.DOCUMENT',\n0x01EB: 'PICKLIST',\n0x01ED: 'VIEW.SHOW',\n0x01EE: 'VIEW.DEFINE',\n0x01EF: 'VIEW.DELETE',\n0x01FD: 'SHEET.BACKGROUND',\n0x01FE: 'INSERT.MAP.OBJECT',\n0x01FF: 'OPTIONS.MENONO',\n0x0205: 'MSOCHECKS',\n0x0206: 'NORMAL',\n0x0207: 'LAYOUT',\n0x0208: 'RM.PRINT.AREA',\n0x0209: 'CLEAR.PRINT.AREA',\n0x020A: 'ADD.PRINT.AREA',\n0x020B: 'MOVE.BRK',\n0x0221: 'HIDECURR.NOTE',\n0x0222: 'HIDEALL.NOTES',\n0x0223: 'DELETE.NOTE',\n0x0224: 'TRAVERSE.NOTES',\n0x0225: 'ACTIVATE.NOTES',\n0x026C: 'PROTECT.REVISIONS',\n0x026D: 'UNPROTECT.REVISIONS',\n0x0287: 'OPTIONS.ME',\n0x028D: 'WEB.PUBLISH',\n0x029B: 'NEWWEBQUERY',\n0x02A1: 'PIVOT.TABLE.CHART',\n0x02F1: 'OPTIONS.SAVE',\n0x02F3: 'OPTIONS.SPELL',\n0x0328: 'HIDEALL.INKANNOTS'\n};\n\n/* [MS-XLS] 2.5.198.17 */\n/* [MS-XLSB] 2.5.97.10 */\nvar Ftab = {\n0x0000: 'COUNT',\n0x0001: 'IF',\n0x0002: 'ISNA',\n0x0003: 'ISERROR',\n0x0004: 'SUM',\n0x0005: 'AVERAGE',\n0x0006: 'MIN',\n0x0007: 'MAX',\n0x0008: 'ROW',\n0x0009: 'COLUMN',\n0x000A: 'NA',\n0x000B: 'NPV',\n0x000C: 'STDEV',\n0x000D: 'DOLLAR',\n0x000E: 'FIXED',\n0x000F: 'SIN',\n0x0010: 'COS',\n0x0011: 'TAN',\n0x0012: 'ATAN',\n0x0013: 'PI',\n0x0014: 'SQRT',\n0x0015: 'EXP',\n0x0016: 'LN',\n0x0017: 'LOG10',\n0x0018: 'ABS',\n0x0019: 'INT',\n0x001A: 'SIGN',\n0x001B: 'ROUND',\n0x001C: 'LOOKUP',\n0x001D: 'INDEX',\n0x001E: 'REPT',\n0x001F: 'MID',\n0x0020: 'LEN',\n0x0021: 'VALUE',\n0x0022: 'TRUE',\n0x0023: 'FALSE',\n0x0024: 'AND',\n0x0025: 'OR',\n0x0026: 'NOT',\n0x0027: 'MOD',\n0x0028: 'DCOUNT',\n0x0029: 'DSUM',\n0x002A: 'DAVERAGE',\n0x002B: 'DMIN',\n0x002C: 'DMAX',\n0x002D: 'DSTDEV',\n0x002E: 'VAR',\n0x002F: 'DVAR',\n0x0030: 'TEXT',\n0x0031: 'LINEST',\n0x0032: 'TREND',\n0x0033: 'LOGEST',\n0x0034: 'GROWTH',\n0x0035: 'GOTO',\n0x0036: 'HALT',\n0x0037: 'RETURN',\n0x0038: 'PV',\n0x0039: 'FV',\n0x003A: 'NPER',\n0x003B: 'PMT',\n0x003C: 'RATE',\n0x003D: 'MIRR',\n0x003E: 'IRR',\n0x003F: 'RAND',\n0x0040: 'MATCH',\n0x0041: 'DATE',\n0x0042: 'TIME',\n0x0043: 'DAY',\n0x0044: 'MONTH',\n0x0045: 'YEAR',\n0x0046: 'WEEKDAY',\n0x0047: 'HOUR',\n0x0048: 'MINUTE',\n0x0049: 'SECOND',\n0x004A: 'NOW',\n0x004B: 'AREAS',\n0x004C: 'ROWS',\n0x004D: 'COLUMNS',\n0x004E: 'OFFSET',\n0x004F: 'ABSREF',\n0x0050: 'RELREF',\n0x0051: 'ARGUMENT',\n0x0052: 'SEARCH',\n0x0053: 'TRANSPOSE',\n0x0054: 'ERROR',\n0x0055: 'STEP',\n0x0056: 'TYPE',\n0x0057: 'ECHO',\n0x0058: 'SET.NAME',\n0x0059: 'CALLER',\n0x005A: 'DEREF',\n0x005B: 'WINDOWS',\n0x005C: 'SERIES',\n0x005D: 'DOCUMENTS',\n0x005E: 'ACTIVE.CELL',\n0x005F: 'SELECTION',\n0x0060: 'RESULT',\n0x0061: 'ATAN2',\n0x0062: 'ASIN',\n0x0063: 'ACOS',\n0x0064: 'CHOOSE',\n0x0065: 'HLOOKUP',\n0x0066: 'VLOOKUP',\n0x0067: 'LINKS',\n0x0068: 'INPUT',\n0x0069: 'ISREF',\n0x006A: 'GET.FORMULA',\n0x006B: 'GET.NAME',\n0x006C: 'SET.VALUE',\n0x006D: 'LOG',\n0x006E: 'EXEC',\n0x006F: 'CHAR',\n0x0070: 'LOWER',\n0x0071: 'UPPER',\n0x0072: 'PROPER',\n0x0073: 'LEFT',\n0x0074: 'RIGHT',\n0x0075: 'EXACT',\n0x0076: 'TRIM',\n0x0077: 'REPLACE',\n0x0078: 'SUBSTITUTE',\n0x0079: 'CODE',\n0x007A: 'NAMES',\n0x007B: 'DIRECTORY',\n0x007C: 'FIND',\n0x007D: 'CELL',\n0x007E: 'ISERR',\n0x007F: 'ISTEXT',\n0x0080: 'ISNUMBER',\n0x0081: 'ISBLANK',\n0x0082: 'T',\n0x0083: 'N',\n0x0084: 'FOPEN',\n0x0085: 'FCLOSE',\n0x0086: 'FSIZE',\n0x0087: 'FREADLN',\n0x0088: 'FREAD',\n0x0089: 'FWRITELN',\n0x008A: 'FWRITE',\n0x008B: 'FPOS',\n0x008C: 'DATEVALUE',\n0x008D: 'TIMEVALUE',\n0x008E: 'SLN',\n0x008F: 'SYD',\n0x0090: 'DDB',\n0x0091: 'GET.DEF',\n0x0092: 'REFTEXT',\n0x0093: 'TEXTREF',\n0x0094: 'INDIRECT',\n0x0095: 'REGISTER',\n0x0096: 'CALL',\n0x0097: 'ADD.BAR',\n0x0098: 'ADD.MENU',\n0x0099: 'ADD.COMMAND',\n0x009A: 'ENABLE.COMMAND',\n0x009B: 'CHECK.COMMAND',\n0x009C: 'RENAME.COMMAND',\n0x009D: 'SHOW.BAR',\n0x009E: 'DELETE.MENU',\n0x009F: 'DELETE.COMMAND',\n0x00A0: 'GET.CHART.ITEM',\n0x00A1: 'DIALOG.BOX',\n0x00A2: 'CLEAN',\n0x00A3: 'MDETERM',\n0x00A4: 'MINVERSE',\n0x00A5: 'MMULT',\n0x00A6: 'FILES',\n0x00A7: 'IPMT',\n0x00A8: 'PPMT',\n0x00A9: 'COUNTA',\n0x00AA: 'CANCEL.KEY',\n0x00AB: 'FOR',\n0x00AC: 'WHILE',\n0x00AD: 'BREAK',\n0x00AE: 'NEXT',\n0x00AF: 'INITIATE',\n0x00B0: 'REQUEST',\n0x00B1: 'POKE',\n0x00B2: 'EXECUTE',\n0x00B3: 'TERMINATE',\n0x00B4: 'RESTART',\n0x00B5: 'HELP',\n0x00B6: 'GET.BAR',\n0x00B7: 'PRODUCT',\n0x00B8: 'FACT',\n0x00B9: 'GET.CELL',\n0x00BA: 'GET.WORKSPACE',\n0x00BB: 'GET.WINDOW',\n0x00BC: 'GET.DOCUMENT',\n0x00BD: 'DPRODUCT',\n0x00BE: 'ISNONTEXT',\n0x00BF: 'GET.NOTE',\n0x00C0: 'NOTE',\n0x00C1: 'STDEVP',\n0x00C2: 'VARP',\n0x00C3: 'DSTDEVP',\n0x00C4: 'DVARP',\n0x00C5: 'TRUNC',\n0x00C6: 'ISLOGICAL',\n0x00C7: 'DCOUNTA',\n0x00C8: 'DELETE.BAR',\n0x00C9: 'UNREGISTER',\n0x00CC: 'USDOLLAR',\n0x00CD: 'FINDB',\n0x00CE: 'SEARCHB',\n0x00CF: 'REPLACEB',\n0x00D0: 'LEFTB',\n0x00D1: 'RIGHTB',\n0x00D2: 'MIDB',\n0x00D3: 'LENB',\n0x00D4: 'ROUNDUP',\n0x00D5: 'ROUNDDOWN',\n0x00D6: 'ASC',\n0x00D7: 'DBCS',\n0x00D8: 'RANK',\n0x00DB: 'ADDRESS',\n0x00DC: 'DAYS360',\n0x00DD: 'TODAY',\n0x00DE: 'VDB',\n0x00DF: 'ELSE',\n0x00E0: 'ELSE.IF',\n0x00E1: 'END.IF',\n0x00E2: 'FOR.CELL',\n0x00E3: 'MEDIAN',\n0x00E4: 'SUMPRODUCT',\n0x00E5: 'SINH',\n0x00E6: 'COSH',\n0x00E7: 'TANH',\n0x00E8: 'ASINH',\n0x00E9: 'ACOSH',\n0x00EA: 'ATANH',\n0x00EB: 'DGET',\n0x00EC: 'CREATE.OBJECT',\n0x00ED: 'VOLATILE',\n0x00EE: 'LAST.ERROR',\n0x00EF: 'CUSTOM.UNDO',\n0x00F0: 'CUSTOM.REPEAT',\n0x00F1: 'FORMULA.CONVERT',\n0x00F2: 'GET.LINK.INFO',\n0x00F3: 'TEXT.BOX',\n0x00F4: 'INFO',\n0x00F5: 'GROUP',\n0x00F6: 'GET.OBJECT',\n0x00F7: 'DB',\n0x00F8: 'PAUSE',\n0x00FB: 'RESUME',\n0x00FC: 'FREQUENCY',\n0x00FD: 'ADD.TOOLBAR',\n0x00FE: 'DELETE.TOOLBAR',\n0x00FF: 'User',\n0x0100: 'RESET.TOOLBAR',\n0x0101: 'EVALUATE',\n0x0102: 'GET.TOOLBAR',\n0x0103: 'GET.TOOL',\n0x0104: 'SPELLING.CHECK',\n0x0105: 'ERROR.TYPE',\n0x0106: 'APP.TITLE',\n0x0107: 'WINDOW.TITLE',\n0x0108: 'SAVE.TOOLBAR',\n0x0109: 'ENABLE.TOOL',\n0x010A: 'PRESS.TOOL',\n0x010B: 'REGISTER.ID',\n0x010C: 'GET.WORKBOOK',\n0x010D: 'AVEDEV',\n0x010E: 'BETADIST',\n0x010F: 'GAMMALN',\n0x0110: 'BETAINV',\n0x0111: 'BINOMDIST',\n0x0112: 'CHIDIST',\n0x0113: 'CHIINV',\n0x0114: 'COMBIN',\n0x0115: 'CONFIDENCE',\n0x0116: 'CRITBINOM',\n0x0117: 'EVEN',\n0x0118: 'EXPONDIST',\n0x0119: 'FDIST',\n0x011A: 'FINV',\n0x011B: 'FISHER',\n0x011C: 'FISHERINV',\n0x011D: 'FLOOR',\n0x011E: 'GAMMADIST',\n0x011F: 'GAMMAINV',\n0x0120: 'CEILING',\n0x0121: 'HYPGEOMDIST',\n0x0122: 'LOGNORMDIST',\n0x0123: 'LOGINV',\n0x0124: 'NEGBINOMDIST',\n0x0125: 'NORMDIST',\n0x0126: 'NORMSDIST',\n0x0127: 'NORMINV',\n0x0128: 'NORMSINV',\n0x0129: 'STANDARDIZE',\n0x012A: 'ODD',\n0x012B: 'PERMUT',\n0x012C: 'POISSON',\n0x012D: 'TDIST',\n0x012E: 'WEIBULL',\n0x012F: 'SUMXMY2',\n0x0130: 'SUMX2MY2',\n0x0131: 'SUMX2PY2',\n0x0132: 'CHITEST',\n0x0133: 'CORREL',\n0x0134: 'COVAR',\n0x0135: 'FORECAST',\n0x0136: 'FTEST',\n0x0137: 'INTERCEPT',\n0x0138: 'PEARSON',\n0x0139: 'RSQ',\n0x013A: 'STEYX',\n0x013B: 'SLOPE',\n0x013C: 'TTEST',\n0x013D: 'PROB',\n0x013E: 'DEVSQ',\n0x013F: 'GEOMEAN',\n0x0140: 'HARMEAN',\n0x0141: 'SUMSQ',\n0x0142: 'KURT',\n0x0143: 'SKEW',\n0x0144: 'ZTEST',\n0x0145: 'LARGE',\n0x0146: 'SMALL',\n0x0147: 'QUARTILE',\n0x0148: 'PERCENTILE',\n0x0149: 'PERCENTRANK',\n0x014A: 'MODE',\n0x014B: 'TRIMMEAN',\n0x014C: 'TINV',\n0x014E: 'MOVIE.COMMAND',\n0x014F: 'GET.MOVIE',\n0x0150: 'CONCATENATE',\n0x0151: 'POWER',\n0x0152: 'PIVOT.ADD.DATA',\n0x0153: 'GET.PIVOT.TABLE',\n0x0154: 'GET.PIVOT.FIELD',\n0x0155: 'GET.PIVOT.ITEM',\n0x0156: 'RADIANS',\n0x0157: 'DEGREES',\n0x0158: 'SUBTOTAL',\n0x0159: 'SUMIF',\n0x015A: 'COUNTIF',\n0x015B: 'COUNTBLANK',\n0x015C: 'SCENARIO.GET',\n0x015D: 'OPTIONS.LISTS.GET',\n0x015E: 'ISPMT',\n0x015F: 'DATEDIF',\n0x0160: 'DATESTRING',\n0x0161: 'NUMBERSTRING',\n0x0162: 'ROMAN',\n0x0163: 'OPEN.DIALOG',\n0x0164: 'SAVE.DIALOG',\n0x0165: 'VIEW.GET',\n0x0166: 'GETPIVOTDATA',\n0x0167: 'HYPERLINK',\n0x0168: 'PHONETIC',\n0x0169: 'AVERAGEA',\n0x016A: 'MAXA',\n0x016B: 'MINA',\n0x016C: 'STDEVPA',\n0x016D: 'VARPA',\n0x016E: 'STDEVA',\n0x016F: 'VARA',\n0x0170: 'BAHTTEXT',\n0x0171: 'THAIDAYOFWEEK',\n0x0172: 'THAIDIGIT',\n0x0173: 'THAIMONTHOFYEAR',\n0x0174: 'THAINUMSOUND',\n0x0175: 'THAINUMSTRING',\n0x0176: 'THAISTRINGLENGTH',\n0x0177: 'ISTHAIDIGIT',\n0x0178: 'ROUNDBAHTDOWN',\n0x0179: 'ROUNDBAHTUP',\n0x017A: 'THAIYEAR',\n0x017B: 'RTD',\n\n0x017C: 'CUBEVALUE',\n0x017D: 'CUBEMEMBER',\n0x017E: 'CUBEMEMBERPROPERTY',\n0x017F: 'CUBERANKEDMEMBER',\n0x0180: 'HEX2BIN',\n0x0181: 'HEX2DEC',\n0x0182: 'HEX2OCT',\n0x0183: 'DEC2BIN',\n0x0184: 'DEC2HEX',\n0x0185: 'DEC2OCT',\n0x0186: 'OCT2BIN',\n0x0187: 'OCT2HEX',\n0x0188: 'OCT2DEC',\n0x0189: 'BIN2DEC',\n0x018A: 'BIN2OCT',\n0x018B: 'BIN2HEX',\n0x018C: 'IMSUB',\n0x018D: 'IMDIV',\n0x018E: 'IMPOWER',\n0x018F: 'IMABS',\n0x0190: 'IMSQRT',\n0x0191: 'IMLN',\n0x0192: 'IMLOG2',\n0x0193: 'IMLOG10',\n0x0194: 'IMSIN',\n0x0195: 'IMCOS',\n0x0196: 'IMEXP',\n0x0197: 'IMARGUMENT',\n0x0198: 'IMCONJUGATE',\n0x0199: 'IMAGINARY',\n0x019A: 'IMREAL',\n0x019B: 'COMPLEX',\n0x019C: 'IMSUM',\n0x019D: 'IMPRODUCT',\n0x019E: 'SERIESSUM',\n0x019F: 'FACTDOUBLE',\n0x01A0: 'SQRTPI',\n0x01A1: 'QUOTIENT',\n0x01A2: 'DELTA',\n0x01A3: 'GESTEP',\n0x01A4: 'ISEVEN',\n0x01A5: 'ISODD',\n0x01A6: 'MROUND',\n0x01A7: 'ERF',\n0x01A8: 'ERFC',\n0x01A9: 'BESSELJ',\n0x01AA: 'BESSELK',\n0x01AB: 'BESSELY',\n0x01AC: 'BESSELI',\n0x01AD: 'XIRR',\n0x01AE: 'XNPV',\n0x01AF: 'PRICEMAT',\n0x01B0: 'YIELDMAT',\n0x01B1: 'INTRATE',\n0x01B2: 'RECEIVED',\n0x01B3: 'DISC',\n0x01B4: 'PRICEDISC',\n0x01B5: 'YIELDDISC',\n0x01B6: 'TBILLEQ',\n0x01B7: 'TBILLPRICE',\n0x01B8: 'TBILLYIELD',\n0x01B9: 'PRICE',\n0x01BA: 'YIELD',\n0x01BB: 'DOLLARDE',\n0x01BC: 'DOLLARFR',\n0x01BD: 'NOMINAL',\n0x01BE: 'EFFECT',\n0x01BF: 'CUMPRINC',\n0x01C0: 'CUMIPMT',\n0x01C1: 'EDATE',\n0x01C2: 'EOMONTH',\n0x01C3: 'YEARFRAC',\n0x01C4: 'COUPDAYBS',\n0x01C5: 'COUPDAYS',\n0x01C6: 'COUPDAYSNC',\n0x01C7: 'COUPNCD',\n0x01C8: 'COUPNUM',\n0x01C9: 'COUPPCD',\n0x01CA: 'DURATION',\n0x01CB: 'MDURATION',\n0x01CC: 'ODDLPRICE',\n0x01CD: 'ODDLYIELD',\n0x01CE: 'ODDFPRICE',\n0x01CF: 'ODDFYIELD',\n0x01D0: 'RANDBETWEEN',\n0x01D1: 'WEEKNUM',\n0x01D2: 'AMORDEGRC',\n0x01D3: 'AMORLINC',\n0x01D4: 'CONVERT',\n0x02D4: 'SHEETJS',\n0x01D5: 'ACCRINT',\n0x01D6: 'ACCRINTM',\n0x01D7: 'WORKDAY',\n0x01D8: 'NETWORKDAYS',\n0x01D9: 'GCD',\n0x01DA: 'MULTINOMIAL',\n0x01DB: 'LCM',\n0x01DC: 'FVSCHEDULE',\n0x01DD: 'CUBEKPIMEMBER',\n0x01DE: 'CUBESET',\n0x01DF: 'CUBESETCOUNT',\n0x01E0: 'IFERROR',\n0x01E1: 'COUNTIFS',\n0x01E2: 'SUMIFS',\n0x01E3: 'AVERAGEIF',\n0x01E4: 'AVERAGEIFS'\n};\nvar FtabArgc = {\n0x0002: 1, /* ISNA */\n0x0003: 1, /* ISERROR */\n0x000A: 0, /* NA */\n0x000F: 1, /* SIN */\n0x0010: 1, /* COS */\n0x0011: 1, /* TAN */\n0x0012: 1, /* ATAN */\n0x0013: 0, /* PI */\n0x0014: 1, /* SQRT */\n0x0015: 1, /* EXP */\n0x0016: 1, /* LN */\n0x0017: 1, /* LOG10 */\n0x0018: 1, /* ABS */\n0x0019: 1, /* INT */\n0x001A: 1, /* SIGN */\n0x001B: 2, /* ROUND */\n0x001E: 2, /* REPT */\n0x001F: 3, /* MID */\n0x0020: 1, /* LEN */\n0x0021: 1, /* VALUE */\n0x0022: 0, /* TRUE */\n0x0023: 0, /* FALSE */\n0x0026: 1, /* NOT */\n0x0027: 2, /* MOD */\n0x0028: 3, /* DCOUNT */\n0x0029: 3, /* DSUM */\n0x002A: 3, /* DAVERAGE */\n0x002B: 3, /* DMIN */\n0x002C: 3, /* DMAX */\n0x002D: 3, /* DSTDEV */\n0x002F: 3, /* DVAR */\n0x0030: 2, /* TEXT */\n0x0035: 1, /* GOTO */\n0x003D: 3, /* MIRR */\n0x003F: 0, /* RAND */\n0x0041: 3, /* DATE */\n0x0042: 3, /* TIME */\n0x0043: 1, /* DAY */\n0x0044: 1, /* MONTH */\n0x0045: 1, /* YEAR */\n0x0046: 1, /* WEEKDAY */\n0x0047: 1, /* HOUR */\n0x0048: 1, /* MINUTE */\n0x0049: 1, /* SECOND */\n0x004A: 0, /* NOW */\n0x004B: 1, /* AREAS */\n0x004C: 1, /* ROWS */\n0x004D: 1, /* COLUMNS */\n0x004F: 2, /* ABSREF */\n0x0050: 2, /* RELREF */\n0x0053: 1, /* TRANSPOSE */\n0x0055: 0, /* STEP */\n0x0056: 1, /* TYPE */\n0x0059: 0, /* CALLER */\n0x005A: 1, /* DEREF */\n0x005E: 0, /* ACTIVE.CELL */\n0x005F: 0, /* SELECTION */\n0x0061: 2, /* ATAN2 */\n0x0062: 1, /* ASIN */\n0x0063: 1, /* ACOS */\n0x0065: 3, /* HLOOKUP */\n0x0066: 3, /* VLOOKUP */\n0x0069: 1, /* ISREF */\n0x006A: 1, /* GET.FORMULA */\n0x006C: 2, /* SET.VALUE */\n0x006F: 1, /* CHAR */\n0x0070: 1, /* LOWER */\n0x0071: 1, /* UPPER */\n0x0072: 1, /* PROPER */\n0x0075: 2, /* EXACT */\n0x0076: 1, /* TRIM */\n0x0077: 4, /* REPLACE */\n0x0079: 1, /* CODE */\n0x007E: 1, /* ISERR */\n0x007F: 1, /* ISTEXT */\n0x0080: 1, /* ISNUMBER */\n0x0081: 1, /* ISBLANK */\n0x0082: 1, /* T */\n0x0083: 1, /* N */\n0x0085: 1, /* FCLOSE */\n0x0086: 1, /* FSIZE */\n0x0087: 1, /* FREADLN */\n0x0088: 2, /* FREAD */\n0x0089: 2, /* FWRITELN */\n0x008A: 2, /* FWRITE */\n0x008C: 1, /* DATEVALUE */\n0x008D: 1, /* TIMEVALUE */\n0x008E: 3, /* SLN */\n0x008F: 4, /* SYD */\n0x0090: 4, /* DDB */\n0x00A1: 1, /* DIALOG.BOX */\n0x00A2: 1, /* CLEAN */\n0x00A3: 1, /* MDETERM */\n0x00A4: 1, /* MINVERSE */\n0x00A5: 2, /* MMULT */\n0x00AC: 1, /* WHILE */\n0x00AF: 2, /* INITIATE */\n0x00B0: 2, /* REQUEST */\n0x00B1: 3, /* POKE */\n0x00B2: 2, /* EXECUTE */\n0x00B3: 1, /* TERMINATE */\n0x00B8: 1, /* FACT */\n0x00BA: 1, /* GET.WORKSPACE */\n0x00BD: 3, /* DPRODUCT */\n0x00BE: 1, /* ISNONTEXT */\n0x00C3: 3, /* DSTDEVP */\n0x00C4: 3, /* DVARP */\n0x00C5: 1, /* TRUNC */\n0x00C6: 1, /* ISLOGICAL */\n0x00C7: 3, /* DCOUNTA */\n0x00C9: 1, /* UNREGISTER */\n0x00CF: 4, /* REPLACEB */\n0x00D2: 3, /* MIDB */\n0x00D3: 1, /* LENB */\n0x00D4: 2, /* ROUNDUP */\n0x00D5: 2, /* ROUNDDOWN */\n0x00D6: 1, /* ASC */\n0x00D7: 1, /* DBCS */\n0x00E1: 0, /* END.IF */\n0x00E5: 1, /* SINH */\n0x00E6: 1, /* COSH */\n0x00E7: 1, /* TANH */\n0x00E8: 1, /* ASINH */\n0x00E9: 1, /* ACOSH */\n0x00EA: 1, /* ATANH */\n0x00EB: 3, /* DGET */\n0x00F4: 1, /* INFO */\n0x00F7: 4, /* DB */\n0x00FC: 2, /* FREQUENCY */\n0x0101: 1, /* EVALUATE */\n0x0105: 1, /* ERROR.TYPE */\n0x010F: 1, /* GAMMALN */\n0x0111: 4, /* BINOMDIST */\n0x0112: 2, /* CHIDIST */\n0x0113: 2, /* CHIINV */\n0x0114: 2, /* COMBIN */\n0x0115: 3, /* CONFIDENCE */\n0x0116: 3, /* CRITBINOM */\n0x0117: 1, /* EVEN */\n0x0118: 3, /* EXPONDIST */\n0x0119: 3, /* FDIST */\n0x011A: 3, /* FINV */\n0x011B: 1, /* FISHER */\n0x011C: 1, /* FISHERINV */\n0x011D: 2, /* FLOOR */\n0x011E: 4, /* GAMMADIST */\n0x011F: 3, /* GAMMAINV */\n0x0120: 2, /* CEILING */\n0x0121: 4, /* HYPGEOMDIST */\n0x0122: 3, /* LOGNORMDIST */\n0x0123: 3, /* LOGINV */\n0x0124: 3, /* NEGBINOMDIST */\n0x0125: 4, /* NORMDIST */\n0x0126: 1, /* NORMSDIST */\n0x0127: 3, /* NORMINV */\n0x0128: 1, /* NORMSINV */\n0x0129: 3, /* STANDARDIZE */\n0x012A: 1, /* ODD */\n0x012B: 2, /* PERMUT */\n0x012C: 3, /* POISSON */\n0x012D: 3, /* TDIST */\n0x012E: 4, /* WEIBULL */\n0x012F: 2, /* SUMXMY2 */\n0x0130: 2, /* SUMX2MY2 */\n0x0131: 2, /* SUMX2PY2 */\n0x0132: 2, /* CHITEST */\n0x0133: 2, /* CORREL */\n0x0134: 2, /* COVAR */\n0x0135: 3, /* FORECAST */\n0x0136: 2, /* FTEST */\n0x0137: 2, /* INTERCEPT */\n0x0138: 2, /* PEARSON */\n0x0139: 2, /* RSQ */\n0x013A: 2, /* STEYX */\n0x013B: 2, /* SLOPE */\n0x013C: 4, /* TTEST */\n0x0145: 2, /* LARGE */\n0x0146: 2, /* SMALL */\n0x0147: 2, /* QUARTILE */\n0x0148: 2, /* PERCENTILE */\n0x014B: 2, /* TRIMMEAN */\n0x014C: 2, /* TINV */\n0x0151: 2, /* POWER */\n0x0156: 1, /* RADIANS */\n0x0157: 1, /* DEGREES */\n0x015A: 2, /* COUNTIF */\n0x015B: 1, /* COUNTBLANK */\n0x015E: 4, /* ISPMT */\n0x015F: 3, /* DATEDIF */\n0x0160: 1, /* DATESTRING */\n0x0161: 2, /* NUMBERSTRING */\n0x0168: 1, /* PHONETIC */\n0x0170: 1, /* BAHTTEXT */\n0x0171: 1, /* THAIDAYOFWEEK */\n0x0172: 1, /* THAIDIGIT */\n0x0173: 1, /* THAIMONTHOFYEAR */\n0x0174: 1, /* THAINUMSOUND */\n0x0175: 1, /* THAINUMSTRING */\n0x0176: 1, /* THAISTRINGLENGTH */\n0x0177: 1, /* ISTHAIDIGIT */\n0x0178: 1, /* ROUNDBAHTDOWN */\n0x0179: 1, /* ROUNDBAHTUP */\n0x017A: 1, /* THAIYEAR */\n0x017E: 3, /* CUBEMEMBERPROPERTY */\n0x0181: 1, /* HEX2DEC */\n0x0188: 1, /* OCT2DEC */\n0x0189: 1, /* BIN2DEC */\n0x018C: 2, /* IMSUB */\n0x018D: 2, /* IMDIV */\n0x018E: 2, /* IMPOWER */\n0x018F: 1, /* IMABS */\n0x0190: 1, /* IMSQRT */\n0x0191: 1, /* IMLN */\n0x0192: 1, /* IMLOG2 */\n0x0193: 1, /* IMLOG10 */\n0x0194: 1, /* IMSIN */\n0x0195: 1, /* IMCOS */\n0x0196: 1, /* IMEXP */\n0x0197: 1, /* IMARGUMENT */\n0x0198: 1, /* IMCONJUGATE */\n0x0199: 1, /* IMAGINARY */\n0x019A: 1, /* IMREAL */\n0x019E: 4, /* SERIESSUM */\n0x019F: 1, /* FACTDOUBLE */\n0x01A0: 1, /* SQRTPI */\n0x01A1: 2, /* QUOTIENT */\n0x01A4: 1, /* ISEVEN */\n0x01A5: 1, /* ISODD */\n0x01A6: 2, /* MROUND */\n0x01A8: 1, /* ERFC */\n0x01A9: 2, /* BESSELJ */\n0x01AA: 2, /* BESSELK */\n0x01AB: 2, /* BESSELY */\n0x01AC: 2, /* BESSELI */\n0x01AE: 3, /* XNPV */\n0x01B6: 3, /* TBILLEQ */\n0x01B7: 3, /* TBILLPRICE */\n0x01B8: 3, /* TBILLYIELD */\n0x01BB: 2, /* DOLLARDE */\n0x01BC: 2, /* DOLLARFR */\n0x01BD: 2, /* NOMINAL */\n0x01BE: 2, /* EFFECT */\n0x01BF: 6, /* CUMPRINC */\n0x01C0: 6, /* CUMIPMT */\n0x01C1: 2, /* EDATE */\n0x01C2: 2, /* EOMONTH */\n0x01D0: 2, /* RANDBETWEEN */\n0x01D4: 3, /* CONVERT */\n0x01DC: 2, /* FVSCHEDULE */\n0x01DF: 1, /* CUBESETCOUNT */\n0x01E0: 2, /* IFERROR */\n0xFFFF: 0\n};\n/* [MS-XLSX] 2.2.3 Functions */\n/* [MS-XLSB] 2.5.97.10 Ftab */\nvar XLSXFutureFunctions = {\n\t\"_xlfn.ACOT\": \"ACOT\",\n\t\"_xlfn.ACOTH\": \"ACOTH\",\n\t\"_xlfn.AGGREGATE\": \"AGGREGATE\",\n\t\"_xlfn.ARABIC\": \"ARABIC\",\n\t\"_xlfn.AVERAGEIF\": \"AVERAGEIF\",\n\t\"_xlfn.AVERAGEIFS\": \"AVERAGEIFS\",\n\t\"_xlfn.BASE\": \"BASE\",\n\t\"_xlfn.BETA.DIST\": \"BETA.DIST\",\n\t\"_xlfn.BETA.INV\": \"BETA.INV\",\n\t\"_xlfn.BINOM.DIST\": \"BINOM.DIST\",\n\t\"_xlfn.BINOM.DIST.RANGE\": \"BINOM.DIST.RANGE\",\n\t\"_xlfn.BINOM.INV\": \"BINOM.INV\",\n\t\"_xlfn.BITAND\": \"BITAND\",\n\t\"_xlfn.BITLSHIFT\": \"BITLSHIFT\",\n\t\"_xlfn.BITOR\": \"BITOR\",\n\t\"_xlfn.BITRSHIFT\": \"BITRSHIFT\",\n\t\"_xlfn.BITXOR\": \"BITXOR\",\n\t\"_xlfn.CEILING.MATH\": \"CEILING.MATH\",\n\t\"_xlfn.CEILING.PRECISE\": \"CEILING.PRECISE\",\n\t\"_xlfn.CHISQ.DIST\": \"CHISQ.DIST\",\n\t\"_xlfn.CHISQ.DIST.RT\": \"CHISQ.DIST.RT\",\n\t\"_xlfn.CHISQ.INV\": \"CHISQ.INV\",\n\t\"_xlfn.CHISQ.INV.RT\": \"CHISQ.INV.RT\",\n\t\"_xlfn.CHISQ.TEST\": \"CHISQ.TEST\",\n\t\"_xlfn.COMBINA\": \"COMBINA\",\n\t\"_xlfn.CONCAT\": \"CONCAT\",\n\t\"_xlfn.CONFIDENCE.NORM\": \"CONFIDENCE.NORM\",\n\t\"_xlfn.CONFIDENCE.T\": \"CONFIDENCE.T\",\n\t\"_xlfn.COT\": \"COT\",\n\t\"_xlfn.COTH\": \"COTH\",\n\t\"_xlfn.COUNTIFS\": \"COUNTIFS\",\n\t\"_xlfn.COVARIANCE.P\": \"COVARIANCE.P\",\n\t\"_xlfn.COVARIANCE.S\": \"COVARIANCE.S\",\n\t\"_xlfn.CSC\": \"CSC\",\n\t\"_xlfn.CSCH\": \"CSCH\",\n\t\"_xlfn.DAYS\": \"DAYS\",\n\t\"_xlfn.DECIMAL\": \"DECIMAL\",\n\t\"_xlfn.ECMA.CEILING\": \"ECMA.CEILING\",\n\t\"_xlfn.ERF.PRECISE\": \"ERF.PRECISE\",\n\t\"_xlfn.ERFC.PRECISE\": \"ERFC.PRECISE\",\n\t\"_xlfn.EXPON.DIST\": \"EXPON.DIST\",\n\t\"_xlfn.F.DIST\": \"F.DIST\",\n\t\"_xlfn.F.DIST.RT\": \"F.DIST.RT\",\n\t\"_xlfn.F.INV\": \"F.INV\",\n\t\"_xlfn.F.INV.RT\": \"F.INV.RT\",\n\t\"_xlfn.F.TEST\": \"F.TEST\",\n\t\"_xlfn.FILTERXML\": \"FILTERXML\",\n\t\"_xlfn.FLOOR.MATH\": \"FLOOR.MATH\",\n\t\"_xlfn.FLOOR.PRECISE\": \"FLOOR.PRECISE\",\n\t\"_xlfn.FORECAST.ETS\": \"FORECAST.ETS\",\n\t\"_xlfn.FORECAST.ETS.CONFINT\": \"FORECAST.ETS.CONFINT\",\n\t\"_xlfn.FORECAST.ETS.SEASONALITY\": \"FORECAST.ETS.SEASONALITY\",\n\t\"_xlfn.FORECAST.ETS.STAT\": \"FORECAST.ETS.STAT\",\n\t\"_xlfn.FORECAST.LINEAR\": \"FORECAST.LINEAR\",\n\t\"_xlfn.FORMULATEXT\": \"FORMULATEXT\",\n\t\"_xlfn.GAMMA\": \"GAMMA\",\n\t\"_xlfn.GAMMA.DIST\": \"GAMMA.DIST\",\n\t\"_xlfn.GAMMA.INV\": \"GAMMA.INV\",\n\t\"_xlfn.GAMMALN.PRECISE\": \"GAMMALN.PRECISE\",\n\t\"_xlfn.GAUSS\": \"GAUSS\",\n\t\"_xlfn.HYPGEOM.DIST\": \"HYPGEOM.DIST\",\n\t\"_xlfn.IFERROR\": \"IFERROR\",\n\t\"_xlfn.IFNA\": \"IFNA\",\n\t\"_xlfn.IFS\": \"IFS\",\n\t\"_xlfn.IMCOSH\": \"IMCOSH\",\n\t\"_xlfn.IMCOT\": \"IMCOT\",\n\t\"_xlfn.IMCSC\": \"IMCSC\",\n\t\"_xlfn.IMCSCH\": \"IMCSCH\",\n\t\"_xlfn.IMSEC\": \"IMSEC\",\n\t\"_xlfn.IMSECH\": \"IMSECH\",\n\t\"_xlfn.IMSINH\": \"IMSINH\",\n\t\"_xlfn.IMTAN\": \"IMTAN\",\n\t\"_xlfn.ISFORMULA\": \"ISFORMULA\",\n\t\"_xlfn.ISO.CEILING\": \"ISO.CEILING\",\n\t\"_xlfn.ISOWEEKNUM\": \"ISOWEEKNUM\",\n\t\"_xlfn.LOGNORM.DIST\": \"LOGNORM.DIST\",\n\t\"_xlfn.LOGNORM.INV\": \"LOGNORM.INV\",\n\t\"_xlfn.MAXIFS\": \"MAXIFS\",\n\t\"_xlfn.MINIFS\": \"MINIFS\",\n\t\"_xlfn.MODE.MULT\": \"MODE.MULT\",\n\t\"_xlfn.MODE.SNGL\": \"MODE.SNGL\",\n\t\"_xlfn.MUNIT\": \"MUNIT\",\n\t\"_xlfn.NEGBINOM.DIST\": \"NEGBINOM.DIST\",\n\t\"_xlfn.NETWORKDAYS.INTL\": \"NETWORKDAYS.INTL\",\n\t\"_xlfn.NIGBINOM\": \"NIGBINOM\",\n\t\"_xlfn.NORM.DIST\": \"NORM.DIST\",\n\t\"_xlfn.NORM.INV\": \"NORM.INV\",\n\t\"_xlfn.NORM.S.DIST\": \"NORM.S.DIST\",\n\t\"_xlfn.NORM.S.INV\": \"NORM.S.INV\",\n\t\"_xlfn.NUMBERVALUE\": \"NUMBERVALUE\",\n\t\"_xlfn.PDURATION\": \"PDURATION\",\n\t\"_xlfn.PERCENTILE.EXC\": \"PERCENTILE.EXC\",\n\t\"_xlfn.PERCENTILE.INC\": \"PERCENTILE.INC\",\n\t\"_xlfn.PERCENTRANK.EXC\": \"PERCENTRANK.EXC\",\n\t\"_xlfn.PERCENTRANK.INC\": \"PERCENTRANK.INC\",\n\t\"_xlfn.PERMUTATIONA\": \"PERMUTATIONA\",\n\t\"_xlfn.PHI\": \"PHI\",\n\t\"_xlfn.POISSON.DIST\": \"POISSON.DIST\",\n\t\"_xlfn.QUARTILE.EXC\": \"QUARTILE.EXC\",\n\t\"_xlfn.QUARTILE.INC\": \"QUARTILE.INC\",\n\t\"_xlfn.QUERYSTRING\": \"QUERYSTRING\",\n\t\"_xlfn.RANK.AVG\": \"RANK.AVG\",\n\t\"_xlfn.RANK.EQ\": \"RANK.EQ\",\n\t\"_xlfn.RRI\": \"RRI\",\n\t\"_xlfn.SEC\": \"SEC\",\n\t\"_xlfn.SECH\": \"SECH\",\n\t\"_xlfn.SHEET\": \"SHEET\",\n\t\"_xlfn.SHEETS\": \"SHEETS\",\n\t\"_xlfn.SKEW.P\": \"SKEW.P\",\n\t\"_xlfn.STDEV.P\": \"STDEV.P\",\n\t\"_xlfn.STDEV.S\": \"STDEV.S\",\n\t\"_xlfn.SUMIFS\": \"SUMIFS\",\n\t\"_xlfn.SWITCH\": \"SWITCH\",\n\t\"_xlfn.T.DIST\": \"T.DIST\",\n\t\"_xlfn.T.DIST.2T\": \"T.DIST.2T\",\n\t\"_xlfn.T.DIST.RT\": \"T.DIST.RT\",\n\t\"_xlfn.T.INV\": \"T.INV\",\n\t\"_xlfn.T.INV.2T\": \"T.INV.2T\",\n\t\"_xlfn.T.TEST\": \"T.TEST\",\n\t\"_xlfn.TEXTJOIN\": \"TEXTJOIN\",\n\t\"_xlfn.UNICHAR\": \"UNICHAR\",\n\t\"_xlfn.UNICODE\": \"UNICODE\",\n\t\"_xlfn.VAR.P\": \"VAR.P\",\n\t\"_xlfn.VAR.S\": \"VAR.S\",\n\t\"_xlfn.WEBSERVICE\": \"WEBSERVICE\",\n\t\"_xlfn.WEIBULL.DIST\": \"WEIBULL.DIST\",\n\t\"_xlfn.WORKDAY.INTL\": \"WORKDAY.INTL\",\n\t\"_xlfn.XOR\": \"XOR\",\n\t\"_xlfn.Z.TEST\": \"Z.TEST\"\n};\n\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f) {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f) {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r) {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r) {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\nRELS.WS = [\n\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n];\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst, str, rev) {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C, col) {\n\tvar p = ({min:C+1,max:C+1});\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\treturn p;\n}\n\nfunction default_margins(margins, mode) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles, cell, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF.load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p, fmtid, fillid, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z') return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(SSF._table[fmtid] == null) SSF.load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = SSF._general_int(dd);\n\t\t\t\telse p.w = SSF._general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF._general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF.format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF.format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws, sname, i) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws, s) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data, opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]) : ({});\n\tvar refguess = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} });\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges) {\n\tif(merges.length === 0) return \"\";\n\tvar o = '<mergeCells count=\"' + merges.length + '\">';\n\tfor(var i = 0; i != merges.length; ++i) o += '<mergeCell ref=\"' + encode_range(merges[i]) + '\"/>';\n\treturn o + '</mergeCells>';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr, s, wb, idx) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp) {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1});\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+val.location;\n\t\t} else {\n\t\t\tval.Target = \"#\" + val.location;\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin) {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols) {\n\tvar o = [\"<cols>\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"</cols>\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx) {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]});\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r, i) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb) {\n\tvar sview = ({workbookViewId:\"0\"});\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell, ref, ws, opts) {\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z') return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = SSF._table[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref});\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = (function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) {\n\tvar ri = 0, x = \"\", cells = [], cref = [], idx=0, i=0, cc=0, d=\"\", p;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tfor(ri = 0; ri < xlen; ++ri) if(x.charCodeAt(ri) === 62) break; ++ri;\n\t\ttag = parsexmltag(x.slice(0,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"<c \" + (x.slice(0,1)==\"<\"?\">\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"});\n\n\t\t\tif((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1])).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/<f[^>]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws, opts, idx, wb) {\n\tvar o = [], r = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}), row, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr});\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1});\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nvar WS_XML_ROOT = writextag('worksheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\nfunction write_ws_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, WS_XML_ROOT];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '<sheetData/>';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = ('</sheetData>'); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect'] != null) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(ws['!links'].length > 0) {\n\t\to[o.length] = \"<hyperlinks>\";\nws['!links'].forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]});\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"</hyperlinks>\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = ('</worksheet>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({});\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo() {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\t/* TODO: pull flags */\n\tdata.l += 19;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tfor(var i = 0; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\n\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display});\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data) {\n\tvar margins = ({});\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\nif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell;\n\tvar merges = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || wb.supbooks || ([[]]);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo = [], rowinfo = [];\n\tvar seencol = false;\n\n\trecordhopper(data, function ws_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\t\tp = ({t:val[2]});\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && SSF.is_date(SSF._table[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:undefined});\n\t\t\t\tC = val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr]));\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x0031: /* 'BrtCellMeta' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba, cell, R, C, opts, ws) {\n\tif(cell.v === undefined) return;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || SSF._table[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o = ({r:R, c:C});\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\twrite_record(ba, \"BrtCellIsst\", write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\twrite_record(ba, \"BrtCellSt\", write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) write_record(ba, \"BrtCellRk\", write_BrtCellRk(cell, o));\n\t\t\telse write_record(ba, \"BrtCellReal\", write_BrtCellReal(cell, o));\n\t\t\treturn;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\twrite_record(ba, \"BrtCellBool\", write_BrtCellBool(cell, o));\n\t\t\treturn;\n\t\tcase 'e': /* TODO: error */ o.t = \"e\"; break;\n\t}\n\twrite_record(ba, \"BrtCellBlank\", write_BrtCellBlank(cell, o));\n}\n\nfunction write_CELLTABLE(ba, ws, idx, opts) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\twrite_record(ba, 'BrtBeginSheetData');\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_bin_cell(ba, cell, R, C, opts, ws);\n\t\t}\n\t}\n\twrite_record(ba, 'BrtEndSheetData');\n}\n\nfunction write_MERGECELLS(ba, ws) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 'BrtBeginMergeCells', write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 'BrtMergeCell', write_BrtMergeCell(m)); });\n\twrite_record(ba, 'BrtEndMergeCells');\n}\n\nfunction write_COLINFOS(ba, ws) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 'BrtBeginColInfos');\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 'BrtColInfo', write_BrtColInfo(i, m)); });\n\twrite_record(ba, 'BrtEndColInfos');\n}\n\nfunction write_IGNOREECS(ba, ws) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 'BrtBeginCellIgnoreECs');\n\twrite_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 'BrtEndCellIgnoreECs');\n}\n\nfunction write_HLINKS(ba, ws, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, \"BrtHLink\", write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws, idx, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, \"BrtLegacyDrawing\", write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]});\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, \"BrtBeginAFilter\", write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, \"BrtEndAFilter\");\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, \"BrtBeginWsViews\");\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, \"BrtBeginWsView\", write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, \"BrtEndWsView\");\n\t}\n\t/* *FRT */\n\twrite_record(ba, \"BrtEndWsViews\");\n}\n\nfunction write_WSFMTINFO() {\n\t/* [ACWSFMTINFO] */\n\t//write_record(ba, \"BrtWsFmtInfo\", write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, \"BrtSheetProtection\", write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx, opts, wb, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, \"BrtBeginSheet\");\n\tif(wb.vbaraw) write_record(ba, \"BrtWsProp\", write_BrtWsProp(c));\n\twrite_record(ba, \"BrtWsDim\", write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, \"BrtMargins\", write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\nRELS.CHART = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\";\nRELS.CHARTEX = \"http://schemas.microsoft.com/office/2014/relationships/chartEx\";\n\nfunction parse_Cache(data) {\n\tvar col = [];\n\tvar num = data.match(/^<c:numCache>/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/<c:pt idx=\"(\\d*)\">(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/<c:pt idx=\"(\\d*?)\"><c:v>(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/<c:formatCode>([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/<c:f>(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data, name, opts, rels, wb, csheet) {\n\tvar cs = ((csheet || {\"!type\":\"chart\"}));\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/<c:numCache>[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\nRELS.CS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\";\n\nvar CS_XML_ROOT = writextag('chartsheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"});\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, CS_XML_ROOT];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = ('</chartsheet>'); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R_n, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin() {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSheet\");\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb) {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = \"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n, safe) {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts) {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" };\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '<?xml': break;\n\n\t\t\t/* 18.2.27 workbook CT_Workbook 1 */\n\t\t\tcase '<workbook':\n\t\t\t\tif(x.match(wbnsregex)) xmlns = \"xmlns\" + x.match(/<(\\w+):/)[1];\n\t\t\t\twb.xmlns = y[xmlns];\n\t\t\t\tbreak;\n\t\t\tcase '</workbook>': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '<fileVersion': delete y[0]; wb.AppVersion = y; break;\n\t\t\tcase '<fileVersion/>': case '</fileVersion>': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '<fileSharing':\n\t\t\t\tbreak;\n\t\t\tcase '<fileSharing/>': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '<workbookPr':\n\t\t\tcase '<workbookPr/>':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '</workbookPr>': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '<workbookProtection':\n\t\t\t\tbreak;\n\t\t\tcase '<workbookProtection/>': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '<bookViews': case '<bookViews>': case '</bookViews>': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '<workbookView': case '<workbookView/>': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '</workbookView>': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '<sheets': case '<sheets>': case '</sheets>': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '<sheet':\n\t\t\t\tswitch(y.state) {\n\t\t\t\t\tcase \"hidden\": y.Hidden = 1; break;\n\t\t\t\t\tcase \"veryHidden\": y.Hidden = 2; break;\n\t\t\t\t\tdefault: y.Hidden = 0;\n\t\t\t\t}\n\t\t\t\tdelete y.state;\n\t\t\t\ty.name = unescapexml(utf8read(y.name));\n\t\t\t\tdelete y[0]; wb.Sheets.push(y); break;\n\t\t\tcase '</sheet>': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '<functionGroups': case '<functionGroups/>': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '<functionGroup': break;\n\n\t\t\t/* 18.2.9 externalReferences CT_ExternalReferences ? */\n\t\t\tcase '<externalReferences': case '</externalReferences>': case '<externalReferences>': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '<externalReference': break;\n\n\t\t\t/* 18.2.6 definedNames CT_DefinedNames ? */\n\t\t\tcase '<definedNames/>': break;\n\t\t\tcase '<definedNames>': case '<definedNames': pass=true; break;\n\t\t\tcase '</definedNames>': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '<definedName': {\n\t\t\t\tdname = {};\n\t\t\t\tdname.Name = utf8read(y.name);\n\t\t\t\tif(y.comment) dname.Comment = y.comment;\n\t\t\t\tif(y.localSheetId) dname.Sheet = +y.localSheetId;\n\t\t\t\tif(parsexmlbool(y.hidden||\"0\")) dname.Hidden = true;\n\t\t\t\tdnstart = idx + x.length;\n\t\t\t}\tbreak;\n\t\t\tcase '</definedName>': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '<definedName/>': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '<calcPr': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '<calcPr/>': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '</calcPr>': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '<oleSize': break;\n\n\t\t\t/* 18.2.4 customWorkbookViews CT_CustomWorkbookViews ? */\n\t\t\tcase '<customWorkbookViews>': case '</customWorkbookViews>': case '<customWorkbookViews': break;\n\t\t\t/* 18.2.3 customWorkbookView CT_CustomWorkbookView + */\n\t\t\tcase '<customWorkbookView': case '</customWorkbookView>': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '<pivotCaches>': case '</pivotCaches>': case '<pivotCaches': break;\n\t\t\t/* 18.2.17 pivotCache CT_PivotCache ? */\n\t\t\tcase '<pivotCache': break;\n\n\t\t\t/* 18.2.21 smartTagPr CT_SmartTagPr ? */\n\t\t\tcase '<smartTagPr': case '<smartTagPr/>': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '<smartTagTypes': case '<smartTagTypes>': case '</smartTagTypes>': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '<smartTagType': break;\n\n\t\t\t/* 18.2.24 webPublishing CT_WebPublishing ? */\n\t\t\tcase '<webPublishing': case '<webPublishing/>': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '<fileRecoveryPr': case '<fileRecoveryPr/>': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '<webPublishObjects>': case '<webPublishObjects': case '</webPublishObjects>': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '<webPublishObject': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '<extLst': case '<extLst>': case '</extLst>': case '<extLst/>': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '<ext': pass=true; break; //TODO: check with versions of excel\n\t\t\tcase '</ext>': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '<ArchID': break;\n\t\t\tcase '<AlternateContent':\n\t\t\tcase '<AlternateContent>': pass=true; break;\n\t\t\tcase '</AlternateContent>': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase '<revisionPtr': break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in workbook');\n\t\t}\n\t\treturn x;\n\t});\n\tif(XMLNS.main.indexOf(wb.xmlns) === -1) throw new Error(\"Unknown Namespace: \" + wb.xmlns);\n\n\tparse_wb_defaults(wb);\n\n\treturn wb;\n}\n\nvar WB_XML_ROOT = writextag('workbook', null, {\n\t'xmlns': XMLNS.main[0],\n\t//'xmlns:mx': XMLNS.mx,\n\t//'xmlns:s': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\nfunction write_wb_xml(wb) {\n\tvar o = [XML_HEADER];\n\to[o.length] = WB_XML_ROOT;\n\n\tvar write_names = (wb.Workbook && (wb.Workbook.Names||[]).length > 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr = ({codeName:\"ThisWorkbook\"});\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\nif((wb.Workbook.WBProps[x[0]]) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]);\n\t\t});\nif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"<bookViews>\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '<workbookView firstSheet=\"' + i + '\" activeTab=\"' + i + '\"/>';\n\t\to[o.length] = \"</bookViews>\";\n\t}\n\n\to[o.length] = \"<sheets>\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))});\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"</sheets>\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"<definedNames>\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"</definedNames>\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = '</workbook>'; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length) {\n\tvar o = ({});\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula});\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts) {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\trecordhopper(data, function hopper_wb(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\" && state[state.length-1] != \"BrtFRTBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb) {\n\twrite_record(ba, \"BrtBeginBundleShs\");\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, \"BrtBundleSh\", write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, \"BrtEndBundleShs\");\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\to.length = o.l;\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, \"BrtBeginBookViews\");\n\twrite_record(ba, \"BrtBookView\", write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, \"BrtEndBookViews\");\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginBook\");\n\twrite_record(ba, \"BrtFileVersion\", write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, \"BrtWbProp\", write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, \"BrtCalcProp\", write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, \"BrtFileRecover\", write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, \"BrtEndBook\");\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data), opts);\n\treturn parse_wb_xml((data), opts);\n}\n\nfunction parse_ws(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data), themes, opts);\n\treturn parse_sty_xml((data), themes, opts);\n}\n\nfunction parse_theme(data, name, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data), opts);\n\treturn parse_sst_xml((data), opts);\n}\n\nfunction parse_cmnt(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data), opts);\n\treturn parse_comments_xml((data), opts);\n}\n\nfunction parse_cc(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data), name, opts);\n\treturn parse_cc_xml((data), name, opts);\n}\n\nfunction parse_xlink(data, rel, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data), rel, name, opts);\n\treturn parse_xlink_xml((data), rel, name, opts);\n}\n\nfunction write_wb(wb, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag, skip_root) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = ([]); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\nfunction xlml_format(format, value) {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF._general(value);\n\treturn SSF.format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val) {\n\tvar oval = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = SSF._general_int(cell.v);\n\t\t\t\telse cell.w = SSF._general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF._general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && SSF.is_date(z)) {\n\t\t\tvar _d = SSF.parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\nfunction xlml_normalize(d) {\n\tif(has_buf && Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n\n/* TODO: Everything */\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?><!\\/:]*:|)([^\\s?<>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\nfunction parse_xlml_xml(d, _opts) {\n\tvar opts = _opts || {};\n\tmake_ssf(SSF);\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof cptable !== 'undefined') str = cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\tif(opening.indexOf(\"<?xml\") == -1) [\"html\", \"table\", \"head\", \"meta\", \"script\", \"style\", \"div\"].forEach(function(tag) { if(opening.indexOf(\"<\" + tag) >= 0) ishtml = true; });\n\tif(ishtml) return HTML_.to_workbook(str, opts);\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames = [], cursheet = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar table = {}, cell = ({}), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag('<Data ss:Type=\"String\">'), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments = [], comment = ({});\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf = [];\n\tvar rowinfo = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false} }), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(/<!--([\\s\\S]*?)-->/mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:cell.HRef});\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\nfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\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\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\ttable = xlml_parsexmltag(Rn[0]);\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == null) { SSF.load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t});\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\nWorkbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author});\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\t/* FODS file root is <office:document> */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is <uof:UOF> */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\nWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].header = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].footer = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(pagemargins.Top) cursheet['!margins'].top = pagemargins.Top;\n\t\t\t\t\t\tif(pagemargins.Left) cursheet['!margins'].left = pagemargins.Left;\n\t\t\t\t\t\tif(pagemargins.Right) cursheet['!margins'].right = pagemargins.Right;\n\t\t\t\t\t\tif(pagemargins.Bottom) cursheet['!margins'].bottom = pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/: break;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/: break;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({});\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = SSF.get_table();\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data, opts) {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64.decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n}\n\n/* TODO */\nfunction write_props_xlml(wb, opts) {\n\tvar o = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml() {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts) {\n\t/* Styles */\n\tvar styles = ['<Style ss:ID=\"Default\" ss:Name=\"Normal\"><NumberFormat/></Style>'];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(SSF._table[xf.numFmtId])}));\n\n\t\tvar o = {\"ss:ID\": \"s\" + (21+id)};\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb) {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tvar o = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"<PageSetup>\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"</PageSetup>\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"<Selected/>\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"<DisplayRightToLeft/>\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments) {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr){\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || SSF._table[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('<Data ss:Type=\"' + t + '\">' + _v + '</Data>');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R, row) {\n\tvar o = '<Row ss:Index=\"' + (R+1) + '\"';\n\tif(row) {\n\t\tif(row.hpt && !row.hpx) row.hpx = pt2px(row.hpt);\n\t\tif(row.hpx) o += ' ss:AutoFitHeight=\"0\" ss:Height=\"' + row.hpx + '\"';\n\t\tif(row.hidden) o += ' ss:Hidden=\"1\"';\n\t}\n\treturn o + '>';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws, opts, idx, wb) {\n\tif(!ws['!ref']) return \"\";\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar marr = ws['!merges'] || [], mi = 0;\n\tvar o = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"</Row>\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx, opts, wb) {\n\tvar o = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"<Names>\" + t + \"</Names>\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"<Table>\" + t + \"</Table>\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts) {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = SSF.get_table();\n\tif(wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj) {\n\tvar v = {};\n\tvar o = obj.content;\n/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue\n\t- 2.4.59 ContinueBigName\n\t- 2.4.60 ContinueFrt\n\t- 2.4.61 ContinueFrt11\n\t- 2.4.62 ContinueFrt12\n*/\nfunction slurp(R, blob, length, opts) {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu) switch(R.n) {\n\tcase 'BOF': case 'FilePass': case 'FileLock': case 'InterfaceHdr': case 'RRDInfo': case 'RRDHead': case 'UsrExcl': break;\n\tdefault:\n\t\tif(d.length === 0) break;\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar next = (XLSRecordEnum[__readUInt16LE(blob,blob.l)]);\n\tvar start = 0;\n\twhile(next != null && next.n.slice(0,8) === 'Continue') {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(next.n == 'ContinueFrt') start += 4;\n\t\telse if(next.n.slice(0,11) == 'ContinueFrt') start += 12;\n\t\tbufs.push(blob.slice(start,blob.l+4+l));\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs));\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p, opts, date1904) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF._general(p.v);\n\t\t}\n\t\telse p.w = SSF.format(fmtid,p.v, {date1904:!!date1904});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && SSF.is_date(SSF._table[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t) {\n\treturn ({v:val, ixfe:ixfe, t:t});\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options) {\n\tvar wb = ({opts:{}});\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out = ((options.dense ? [] : {}));\n\tvar Directory = {};\n\tvar range = ({});\n\tvar last_formula = null;\n\tvar sst = ([]);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf = [];\n\tvar temp_val;\n\tvar country;\n\tvar cell_valid = true;\n\tvar XFs = []; /* XF records */\n\tvar palette = [];\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }), wsprops = {};\n\tvar get_rgb = function getrgb(icv) {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({});\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell, line, options) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) cell_valid = false;\n\t\tif(!cell_valid) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t});\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges = [];\n\tvar objects = [];\n\tvar colinfo = [], rowinfo = [];\n\t// eslint-disable-next-line no-unused-vars\n\tvar defwidth = 0, defheight = 0; // twips / MDW respectively\n\tvar seencol = false;\n\tvar supbooks = ([]); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_Rn = '';\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_Rn === 'EOF') break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break;\n\t\t\t}\n\t\t\tlast_Rn = R.n;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){ blob.l += 10; length -= 10; } // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val = ({});\n\t\t\tif(R.n === 'EOF') val = R.f(blob, length, opts);\n\t\t\telse val = slurp(R, blob, length, opts);\n\t\t\tvar Rn = R.n;\nif(file_depth == 0 && Rn != 'BOF') continue;\n\t\t\t/* nested switch statements to workaround V8 128 limit */\n\t\t\tswitch(Rn) {\n\t\t\t\t/* Workbook Options */\n\t\t\t\tcase 'Date1904':\nwb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 'WriteProtect': wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 'FilePass':\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'WriteAccess': opts.lastuser = val; break;\n\t\t\t\tcase 'FileSharing': break; //TODO\n\t\t\t\tcase 'CodePage':\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'RRTabId': opts.rrtabid = val; break;\n\t\t\t\tcase 'WinProtect': opts.winlocked = val; break;\n\t\t\t\tcase 'Template': break; // TODO\n\t\t\t\tcase 'BookBool': break; // TODO\n\t\t\t\tcase 'UsesELFs': break;\n\t\t\t\tcase 'MTRSettings': break;\n\t\t\t\tcase 'RefreshAll':\n\t\t\t\tcase 'CalcCount':\n\t\t\t\tcase 'CalcDelta':\n\t\t\t\tcase 'CalcIter':\n\t\t\t\tcase 'CalcMode':\n\t\t\t\tcase 'CalcPrecision':\n\t\t\t\tcase 'CalcSaveRecalc':\n\t\t\t\t\twb.opts[Rn] = val; break;\n\t\t\t\tcase 'CalcRefMode': opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 'Uncalced': break;\n\t\t\t\tcase 'ForceFullCalculation': wb.opts.FullCalc = val; break;\n\t\t\t\tcase 'WsBool':\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 'XF':\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 'ExtSST': break; // TODO\n\t\t\t\tcase 'BookExt': break; // TODO\n\t\t\t\tcase 'RichTextStream': break;\n\t\t\t\tcase 'BkHim': break;\n\n\t\t\t\tcase 'SupBook':\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternName':\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Index': break; // TODO\n\t\t\t\tcase 'Lbl':\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t});\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternCount': opts.ExternCount = val; break;\n\t\t\t\tcase 'ExternSheet':\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 'NameCmt':\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Protect': out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 'Password': if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 'Prot4Rev': case 'Prot4RevPass': break; /*TODO: Revision Control*/\n\n\t\t\t\tcase 'BoundSheet8': {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 'EOF': {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\t\t\t\t} break;\n\t\t\t\tcase 'BOF': {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n0x0009:2,\n0x0209:3,\n0x0409:4\n\t\t\t\t\t}[RecordType] || {\n0x0200:2,\n0x0300:3,\n0x0400:4,\n0x0500:5,\n0x0600:8,\n0x0002:2,\n0x0007:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tcell_valid = true;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\t\t\t\t\tif(opts.biff < 5) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tdefwidth = defheight = 0;\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\n\t\t\t\tcase 'Number': case 'BIFF2NUM': case 'BIFF2INT': {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'BoolErr': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'RK': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulRk': {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Formula': {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'String': {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 'Array': {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'ShrFmla': {\n\t\t\t\t\tif(!cell_valid) break;\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'LabelSst':\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Blank': if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulBlank': if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'RString':\n\t\t\t\tcase 'Label': case 'BIFF2STR':\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Dimensions': {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 'SST': {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'Format': { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(SSF._table[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF.load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF.load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 'BIFF2FORMAT': {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(SSF._table[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF.load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 'MergeCells': merges = merges.concat(val); break;\n\n\t\t\t\tcase 'Obj': objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 'TxO': opts.lastobj.TxO = val; break;\n\t\t\t\tcase 'ImData': opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 'HLink': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'HLinkTooltip': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\t/* Comments */\n\t\t\t\tcase 'Note': {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"});\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\tcase 'ClrtClient': break;\n\t\t\t\tcase 'XFExt': update_xfext(XFs[val.ixfe], val.ext); break;\n\n\t\t\t\tcase 'DefColWidth': defwidth = val; break;\n\t\t\t\tcase 'DefaultRowHeight': defheight = val[1]; break; // TODO: flags\n\n\t\t\t\tcase 'ColInfo': {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256 };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Row': {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase 'LeftMargin':\n\t\t\t\tcase 'RightMargin':\n\t\t\t\tcase 'TopMargin':\n\t\t\t\tcase 'BottomMargin':\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][Rn.slice(0,-6).toLowerCase()] = val;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Setup': // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Window2': // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Header': break; // TODO\n\t\t\t\tcase 'Footer': break; // TODO\n\t\t\t\tcase 'HCenter': break; // TODO\n\t\t\t\tcase 'VCenter': break; // TODO\n\t\t\t\tcase 'Pls': break; // TODO\n\t\t\t\tcase 'GCW': break;\n\t\t\t\tcase 'LHRecord': break;\n\t\t\t\tcase 'DBCell': break; // TODO\n\t\t\t\tcase 'EntExU2': break; // TODO\n\t\t\t\tcase 'SxView': break; // TODO\n\t\t\t\tcase 'Sxvd': break; // TODO\n\t\t\t\tcase 'SXVI': break; // TODO\n\t\t\t\tcase 'SXVDEx': break; // TODO\n\t\t\t\tcase 'SxIvd': break; // TODO\n\t\t\t\tcase 'SXString': break; // TODO\n\t\t\t\tcase 'Sync': break;\n\t\t\t\tcase 'Addin': break;\n\t\t\t\tcase 'SXDI': break; // TODO\n\t\t\t\tcase 'SXLI': break; // TODO\n\t\t\t\tcase 'SXEx': break; // TODO\n\t\t\t\tcase 'QsiSXTag': break; // TODO\n\t\t\t\tcase 'Selection': break;\n\t\t\t\tcase 'Feat': break;\n\t\t\t\tcase 'FeatHdr': case 'FeatHdr11': break;\n\t\t\t\tcase 'Feature11': case 'Feature12': case 'List12': break;\n\t\t\t\tcase 'Country': country = val; break;\n\t\t\t\tcase 'RecalcId': break;\n\t\t\t\tcase 'DxGCol': break; // TODO: htmlify\n\t\t\t\tcase 'Fbi': case 'Fbi2': case 'GelFrame': break;\n\t\t\t\tcase 'Font': break; // TODO\n\t\t\t\tcase 'XFCRC': break; // TODO\n\t\t\t\tcase 'Style': break; // TODO\n\t\t\t\tcase 'StyleExt': break; // TODO\n\t\t\t\tcase 'Palette': palette = val; break;\n\t\t\t\tcase 'Theme': themes = val; break;\n\t\t\t\t/* Protection */\n\t\t\t\tcase 'ScenarioProtect': break;\n\t\t\t\tcase 'ObjProtect': break;\n\n\t\t\t\t/* Conditional Formatting */\n\t\t\t\tcase 'CondFmt12': break;\n\n\t\t\t\t/* Table */\n\t\t\t\tcase 'Table': break; // TODO\n\t\t\t\tcase 'TableStyles': break; // TODO\n\t\t\t\tcase 'TableStyle': break; // TODO\n\t\t\t\tcase 'TableStyleElement': break; // TODO\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'SXStreamID': break; // TODO\n\t\t\t\tcase 'SXVS': break; // TODO\n\t\t\t\tcase 'DConRef': break; // TODO\n\t\t\t\tcase 'SXAddl': break; // TODO\n\t\t\t\tcase 'DConBin': break; // TODO\n\t\t\t\tcase 'DConName': break; // TODO\n\t\t\t\tcase 'SXPI': break; // TODO\n\t\t\t\tcase 'SxFormat': break; // TODO\n\t\t\t\tcase 'SxSelect': break; // TODO\n\t\t\t\tcase 'SxRule': break; // TODO\n\t\t\t\tcase 'SxFilt': break; // TODO\n\t\t\t\tcase 'SxItm': break; // TODO\n\t\t\t\tcase 'SxDXF': break; // TODO\n\n\t\t\t\t/* Scenario Manager */\n\t\t\t\tcase 'ScenMan': break;\n\n\t\t\t\t/* Data Consolidation */\n\t\t\t\tcase 'DCon': break;\n\n\t\t\t\t/* Watched Cell */\n\t\t\t\tcase 'CellWatch': break;\n\n\t\t\t\t/* Print Settings */\n\t\t\t\tcase 'PrintRowCol': break;\n\t\t\t\tcase 'PrintGrid': break;\n\t\t\t\tcase 'PrintSize': break;\n\n\t\t\t\tcase 'XCT': break;\n\t\t\t\tcase 'CRN': break;\n\n\t\t\t\tcase 'Scl': {\n\t\t\t\t\t//console.log(\"Zoom Level:\", val[0]/val[1],val);\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExt': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExtOptional': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\t/* VBA */\n\t\t\t\tcase 'ObNoMacros': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'ObProj': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'CodeName': {\nif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t\tcase 'GUIDTypeLib': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\tcase 'WOpt': break; // TODO: WTF?\n\t\t\t\tcase 'PhoneticInfo': break;\n\n\t\t\t\tcase 'OleObjectSize': break;\n\n\t\t\t\t/* Differential Formatting */\n\t\t\t\tcase 'DXF': case 'DXFN': case 'DXFN12': case 'DXFN12List': case 'DXFN12NoCB': break;\n\n\t\t\t\t/* Data Validation */\n\t\t\t\tcase 'Dv': case 'DVal': break;\n\n\t\t\t\t/* Data Series */\n\t\t\t\tcase 'BRAI': case 'Series': case 'SeriesText': break;\n\n\t\t\t\t/* Data Connection */\n\t\t\t\tcase 'DConn': break;\n\t\t\t\tcase 'DbOrParamQry': break;\n\t\t\t\tcase 'DBQueryExt': break;\n\n\t\t\t\tcase 'OleDbConn': break;\n\t\t\t\tcase 'ExtString': break;\n\n\t\t\t\t/* Formatting */\n\t\t\t\tcase 'IFmtRecord': break;\n\t\t\t\tcase 'CondFmt': case 'CF': case 'CF12': case 'CFEx': break;\n\n\t\t\t\t/* Explicitly Ignored */\n\t\t\t\tcase 'Excel9File': break;\n\t\t\t\tcase 'Units': break;\n\t\t\t\tcase 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': break;\n\t\t\t\tcase 'BuiltInFnGroupCount': /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break;\n\t\t\t\t/* View Stuff */\n\t\t\t\tcase 'Window1': case 'HideObj': case 'GridSet': case 'Guts':\n\t\t\t\tcase 'UserBView': case 'UserSViewBegin': case 'UserSViewEnd': break;\n\t\t\t\tcase 'Pane': break;\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* Chart */\n\t\t\t\tcase 'Dat':\n\t\t\t\tcase 'Begin': case 'End':\n\t\t\t\tcase 'StartBlock': case 'EndBlock':\n\t\t\t\tcase 'Frame': case 'Area':\n\t\t\t\tcase 'Axis': case 'AxisLine': case 'Tick': break;\n\t\t\t\tcase 'AxesUsed':\n\t\t\t\tcase 'CrtLayout12': case 'CrtLayout12A': case 'CrtLink': case 'CrtLine': case 'CrtMlFrt': case 'CrtMlFrtContinue': break;\n\t\t\t\tcase 'LineFormat': case 'AreaFormat':\n\t\t\t\tcase 'Chart': case 'Chart3d': case 'Chart3DBarShape': case 'ChartFormat': case 'ChartFrtInfo': break;\n\t\t\t\tcase 'PlotArea': case 'PlotGrowth': break;\n\t\t\t\tcase 'SeriesList': case 'SerParent': case 'SerAuxTrend': break;\n\t\t\t\tcase 'DataFormat': case 'SerToCrt': case 'FontX': break;\n\t\t\t\tcase 'CatSerRange': case 'AxcExt': case 'SerFmt': break;\n\t\t\t\tcase 'ShtProps': break;\n\t\t\t\tcase 'DefaultText': case 'Text': case 'CatLab': break;\n\t\t\t\tcase 'DataLabExtContents': break;\n\t\t\t\tcase 'Legend': case 'LegendException': break;\n\t\t\t\tcase 'Pie': case 'Scatter': break;\n\t\t\t\tcase 'PieFormat': case 'MarkerFormat': break;\n\t\t\t\tcase 'StartObject': case 'EndObject': break;\n\t\t\t\tcase 'AlRuns': case 'ObjectLink': break;\n\t\t\t\tcase 'SIIndex': break;\n\t\t\t\tcase 'AttachedLabel': case 'YMult': break;\n\n\t\t\t\t/* Chart Group */\n\t\t\t\tcase 'Line': case 'Bar': break;\n\t\t\t\tcase 'Surf': break;\n\n\t\t\t\t/* Axis Group */\n\t\t\t\tcase 'AxisParent': break;\n\t\t\t\tcase 'Pos': break;\n\t\t\t\tcase 'ValueRange': break;\n\n\t\t\t\t/* Pivot Chart */\n\t\t\t\tcase 'SXViewEx9': break; // TODO\n\t\t\t\tcase 'SXViewLink': break;\n\t\t\t\tcase 'PivotChartBits': break;\n\t\t\t\tcase 'SBaseRef': break;\n\t\t\t\tcase 'TextPropsStream': break;\n\n\t\t\t\t/* Chart Misc */\n\t\t\t\tcase 'LnExt': break;\n\t\t\t\tcase 'MkrExt': break;\n\t\t\t\tcase 'CrtCoopt': break;\n\n\t\t\t\t/* Query Table */\n\t\t\t\tcase 'Qsi': case 'Qsif': case 'Qsir': case 'QsiSXTag': break;\n\t\t\t\tcase 'TxtQry': break;\n\n\t\t\t\t/* Filter */\n\t\t\t\tcase 'FilterMode': break;\n\t\t\t\tcase 'AutoFilter': case 'AutoFilterInfo': break;\n\t\t\t\tcase 'AutoFilter12': break;\n\t\t\t\tcase 'DropDownObjIds': break;\n\t\t\t\tcase 'Sort': break;\n\t\t\t\tcase 'SortData': break;\n\n\t\t\t\t/* Drawing */\n\t\t\t\tcase 'ShapePropsStream': break;\n\t\t\t\tcase 'MsoDrawing': case 'MsoDrawingGroup': case 'MsoDrawingSelection': break;\n\t\t\t\t/* Pub Stuff */\n\t\t\t\tcase 'WebPub': case 'AutoWebPub': break;\n\n\t\t\t\t/* Print Stuff */\n\t\t\t\tcase 'HeaderFooter': case 'HFPicture': case 'PLV':\n\t\t\t\tcase 'HorizontalPageBreaks': case 'VerticalPageBreaks': break;\n\t\t\t\t/* Behavioral */\n\t\t\t\tcase 'Backup': case 'CompressPictures': case 'Compat12': break;\n\n\t\t\t\t/* Should not Happen */\n\t\t\t\tcase 'Continue': case 'ContinueFrt12': break;\n\n\t\t\t\t/* Future Records */\n\t\t\t\tcase 'FrtFontList': case 'FrtWrapper': break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* BIFF5 records */\n\t\t\t\tcase 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break;\n\n\t\t\t\t/* BIFF2-4 records */\n\t\t\t\tcase 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break;\n\t\t\t\tcase 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break;\n\t\t\t\tcase 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break;\n\n\t\t\t\t/* Miscellaneous */\n\t\t\t\tcase 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt':\n\t\t\t\tcase 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData':\n\t\t\t\tcase 'Name': break;\n\t\t\t\tcase 'LHNGraph': case 'FnGroupName': case 'AddMenu': case 'LPr': break;\n\t\t\t\tcase 'ListObj': case 'ListField': break;\n\t\t\t\tcase 'RRSort': break;\n\t\t\t\tcase 'BigName': break;\n\t\t\t\tcase 'ToolbarHdr': case 'ToolbarEnd': break;\n\t\t\t\tcase 'DDEObjName': break;\n\t\t\t\tcase 'FRTArchId$': break;\n\t\t\t\tdefault: if(options.WTF) throw 'Unrecognized Record ' + R.n;\n\t\t\t}}}}\n\t\t} else blob.l += length;\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Preamble=Preamble;\n\twb.Strings = sst;\n\twb.SSF = SSF.get_table();\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb, cfb) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb, options) {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj, WB;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64.decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb});\n}\nvar WorkbookP;\n\nvar _data;\nif(CompObj) parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({});\nelse {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(cfb, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb, opts) {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n0x0000: { n:\"BrtRowHdr\", f:parse_BrtRowHdr },\n0x0001: { n:\"BrtCellBlank\", f:parse_BrtCellBlank },\n0x0002: { n:\"BrtCellRk\", f:parse_BrtCellRk },\n0x0003: { n:\"BrtCellError\", f:parse_BrtCellError },\n0x0004: { n:\"BrtCellBool\", f:parse_BrtCellBool },\n0x0005: { n:\"BrtCellReal\", f:parse_BrtCellReal },\n0x0006: { n:\"BrtCellSt\", f:parse_BrtCellSt },\n0x0007: { n:\"BrtCellIsst\", f:parse_BrtCellIsst },\n0x0008: { n:\"BrtFmlaString\", f:parse_BrtFmlaString },\n0x0009: { n:\"BrtFmlaNum\", f:parse_BrtFmlaNum },\n0x000A: { n:\"BrtFmlaBool\", f:parse_BrtFmlaBool },\n0x000B: { n:\"BrtFmlaError\", f:parse_BrtFmlaError },\n0x0010: { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ },\n0x0013: { n:\"BrtSSTItem\", f:parse_RichStr },\n0x0014: { n:\"BrtPCDIMissing\" },\n0x0015: { n:\"BrtPCDINumber\" },\n0x0016: { n:\"BrtPCDIBoolean\" },\n0x0017: { n:\"BrtPCDIError\" },\n0x0018: { n:\"BrtPCDIString\" },\n0x0019: { n:\"BrtPCDIDatetime\" },\n0x001A: { n:\"BrtPCDIIndex\" },\n0x001B: { n:\"BrtPCDIAMissing\" },\n0x001C: { n:\"BrtPCDIANumber\" },\n0x001D: { n:\"BrtPCDIABoolean\" },\n0x001E: { n:\"BrtPCDIAError\" },\n0x001F: { n:\"BrtPCDIAString\" },\n0x0020: { n:\"BrtPCDIADatetime\" },\n0x0021: { n:\"BrtPCRRecord\" },\n0x0022: { n:\"BrtPCRRecordDt\" },\n0x0023: { n:\"BrtFRTBegin\" },\n0x0024: { n:\"BrtFRTEnd\" },\n0x0025: { n:\"BrtACBegin\" },\n0x0026: { n:\"BrtACEnd\" },\n0x0027: { n:\"BrtName\", f:parse_BrtName },\n0x0028: { n:\"BrtIndexRowBlock\" },\n0x002A: { n:\"BrtIndexBlock\" },\n0x002B: { n:\"BrtFont\", f:parse_BrtFont },\n0x002C: { n:\"BrtFmt\", f:parse_BrtFmt },\n0x002D: { n:\"BrtFill\", f:parse_BrtFill },\n0x002E: { n:\"BrtBorder\", f:parse_BrtBorder },\n0x002F: { n:\"BrtXF\", f:parse_BrtXF },\n0x0030: { n:\"BrtStyle\" },\n0x0031: { n:\"BrtCellMeta\" },\n0x0032: { n:\"BrtValueMeta\" },\n0x0033: { n:\"BrtMdb\" },\n0x0034: { n:\"BrtBeginFmd\" },\n0x0035: { n:\"BrtEndFmd\" },\n0x0036: { n:\"BrtBeginMdx\" },\n0x0037: { n:\"BrtEndMdx\" },\n0x0038: { n:\"BrtBeginMdxTuple\" },\n0x0039: { n:\"BrtEndMdxTuple\" },\n0x003A: { n:\"BrtMdxMbrIstr\" },\n0x003B: { n:\"BrtStr\" },\n0x003C: { n:\"BrtColInfo\", f:parse_ColInfo },\n0x003E: { n:\"BrtCellRString\" },\n0x003F: { n:\"BrtCalcChainItem$\", f:parse_BrtCalcChainItem$ },\n0x0040: { n:\"BrtDVal\", f:parse_BrtDVal },\n0x0041: { n:\"BrtSxvcellNum\" },\n0x0042: { n:\"BrtSxvcellStr\" },\n0x0043: { n:\"BrtSxvcellBool\" },\n0x0044: { n:\"BrtSxvcellErr\" },\n0x0045: { n:\"BrtSxvcellDate\" },\n0x0046: { n:\"BrtSxvcellNil\" },\n0x0080: { n:\"BrtFileVersion\" },\n0x0081: { n:\"BrtBeginSheet\" },\n0x0082: { n:\"BrtEndSheet\" },\n0x0083: { n:\"BrtBeginBook\", f:parsenoop, p:0 },\n0x0084: { n:\"BrtEndBook\" },\n0x0085: { n:\"BrtBeginWsViews\" },\n0x0086: { n:\"BrtEndWsViews\" },\n0x0087: { n:\"BrtBeginBookViews\" },\n0x0088: { n:\"BrtEndBookViews\" },\n0x0089: { n:\"BrtBeginWsView\", f:parse_BrtBeginWsView },\n0x008A: { n:\"BrtEndWsView\" },\n0x008B: { n:\"BrtBeginCsViews\" },\n0x008C: { n:\"BrtEndCsViews\" },\n0x008D: { n:\"BrtBeginCsView\" },\n0x008E: { n:\"BrtEndCsView\" },\n0x008F: { n:\"BrtBeginBundleShs\" },\n0x0090: { n:\"BrtEndBundleShs\" },\n0x0091: { n:\"BrtBeginSheetData\" },\n0x0092: { n:\"BrtEndSheetData\" },\n0x0093: { n:\"BrtWsProp\", f:parse_BrtWsProp },\n0x0094: { n:\"BrtWsDim\", f:parse_BrtWsDim, p:16 },\n0x0097: { n:\"BrtPane\", f:parse_BrtPane },\n0x0098: { n:\"BrtSel\" },\n0x0099: { n:\"BrtWbProp\", f:parse_BrtWbProp },\n0x009A: { n:\"BrtWbFactoid\" },\n0x009B: { n:\"BrtFileRecover\" },\n0x009C: { n:\"BrtBundleSh\", f:parse_BrtBundleSh },\n0x009D: { n:\"BrtCalcProp\" },\n0x009E: { n:\"BrtBookView\" },\n0x009F: { n:\"BrtBeginSst\", f:parse_BrtBeginSst },\n0x00A0: { n:\"BrtEndSst\" },\n0x00A1: { n:\"BrtBeginAFilter\", f:parse_UncheckedRfX },\n0x00A2: { n:\"BrtEndAFilter\" },\n0x00A3: { n:\"BrtBeginFilterColumn\" },\n0x00A4: { n:\"BrtEndFilterColumn\" },\n0x00A5: { n:\"BrtBeginFilters\" },\n0x00A6: { n:\"BrtEndFilters\" },\n0x00A7: { n:\"BrtFilter\" },\n0x00A8: { n:\"BrtColorFilter\" },\n0x00A9: { n:\"BrtIconFilter\" },\n0x00AA: { n:\"BrtTop10Filter\" },\n0x00AB: { n:\"BrtDynamicFilter\" },\n0x00AC: { n:\"BrtBeginCustomFilters\" },\n0x00AD: { n:\"BrtEndCustomFilters\" },\n0x00AE: { n:\"BrtCustomFilter\" },\n0x00AF: { n:\"BrtAFilterDateGroupItem\" },\n0x00B0: { n:\"BrtMergeCell\", f:parse_BrtMergeCell },\n0x00B1: { n:\"BrtBeginMergeCells\" },\n0x00B2: { n:\"BrtEndMergeCells\" },\n0x00B3: { n:\"BrtBeginPivotCacheDef\" },\n0x00B4: { n:\"BrtEndPivotCacheDef\" },\n0x00B5: { n:\"BrtBeginPCDFields\" },\n0x00B6: { n:\"BrtEndPCDFields\" },\n0x00B7: { n:\"BrtBeginPCDField\" },\n0x00B8: { n:\"BrtEndPCDField\" },\n0x00B9: { n:\"BrtBeginPCDSource\" },\n0x00BA: { n:\"BrtEndPCDSource\" },\n0x00BB: { n:\"BrtBeginPCDSRange\" },\n0x00BC: { n:\"BrtEndPCDSRange\" },\n0x00BD: { n:\"BrtBeginPCDFAtbl\" },\n0x00BE: { n:\"BrtEndPCDFAtbl\" },\n0x00BF: { n:\"BrtBeginPCDIRun\" },\n0x00C0: { n:\"BrtEndPCDIRun\" },\n0x00C1: { n:\"BrtBeginPivotCacheRecords\" },\n0x00C2: { n:\"BrtEndPivotCacheRecords\" },\n0x00C3: { n:\"BrtBeginPCDHierarchies\" },\n0x00C4: { n:\"BrtEndPCDHierarchies\" },\n0x00C5: { n:\"BrtBeginPCDHierarchy\" },\n0x00C6: { n:\"BrtEndPCDHierarchy\" },\n0x00C7: { n:\"BrtBeginPCDHFieldsUsage\" },\n0x00C8: { n:\"BrtEndPCDHFieldsUsage\" },\n0x00C9: { n:\"BrtBeginExtConnection\" },\n0x00CA: { n:\"BrtEndExtConnection\" },\n0x00CB: { n:\"BrtBeginECDbProps\" },\n0x00CC: { n:\"BrtEndECDbProps\" },\n0x00CD: { n:\"BrtBeginECOlapProps\" },\n0x00CE: { n:\"BrtEndECOlapProps\" },\n0x00CF: { n:\"BrtBeginPCDSConsol\" },\n0x00D0: { n:\"BrtEndPCDSConsol\" },\n0x00D1: { n:\"BrtBeginPCDSCPages\" },\n0x00D2: { n:\"BrtEndPCDSCPages\" },\n0x00D3: { n:\"BrtBeginPCDSCPage\" },\n0x00D4: { n:\"BrtEndPCDSCPage\" },\n0x00D5: { n:\"BrtBeginPCDSCPItem\" },\n0x00D6: { n:\"BrtEndPCDSCPItem\" },\n0x00D7: { n:\"BrtBeginPCDSCSets\" },\n0x00D8: { n:\"BrtEndPCDSCSets\" },\n0x00D9: { n:\"BrtBeginPCDSCSet\" },\n0x00DA: { n:\"BrtEndPCDSCSet\" },\n0x00DB: { n:\"BrtBeginPCDFGroup\" },\n0x00DC: { n:\"BrtEndPCDFGroup\" },\n0x00DD: { n:\"BrtBeginPCDFGItems\" },\n0x00DE: { n:\"BrtEndPCDFGItems\" },\n0x00DF: { n:\"BrtBeginPCDFGRange\" },\n0x00E0: { n:\"BrtEndPCDFGRange\" },\n0x00E1: { n:\"BrtBeginPCDFGDiscrete\" },\n0x00E2: { n:\"BrtEndPCDFGDiscrete\" },\n0x00E3: { n:\"BrtBeginPCDSDTupleCache\" },\n0x00E4: { n:\"BrtEndPCDSDTupleCache\" },\n0x00E5: { n:\"BrtBeginPCDSDTCEntries\" },\n0x00E6: { n:\"BrtEndPCDSDTCEntries\" },\n0x00E7: { n:\"BrtBeginPCDSDTCEMembers\" },\n0x00E8: { n:\"BrtEndPCDSDTCEMembers\" },\n0x00E9: { n:\"BrtBeginPCDSDTCEMember\" },\n0x00EA: { n:\"BrtEndPCDSDTCEMember\" },\n0x00EB: { n:\"BrtBeginPCDSDTCQueries\" },\n0x00EC: { n:\"BrtEndPCDSDTCQueries\" },\n0x00ED: { n:\"BrtBeginPCDSDTCQuery\" },\n0x00EE: { n:\"BrtEndPCDSDTCQuery\" },\n0x00EF: { n:\"BrtBeginPCDSDTCSets\" },\n0x00F0: { n:\"BrtEndPCDSDTCSets\" },\n0x00F1: { n:\"BrtBeginPCDSDTCSet\" },\n0x00F2: { n:\"BrtEndPCDSDTCSet\" },\n0x00F3: { n:\"BrtBeginPCDCalcItems\" },\n0x00F4: { n:\"BrtEndPCDCalcItems\" },\n0x00F5: { n:\"BrtBeginPCDCalcItem\" },\n0x00F6: { n:\"BrtEndPCDCalcItem\" },\n0x00F7: { n:\"BrtBeginPRule\" },\n0x00F8: { n:\"BrtEndPRule\" },\n0x00F9: { n:\"BrtBeginPRFilters\" },\n0x00FA: { n:\"BrtEndPRFilters\" },\n0x00FB: { n:\"BrtBeginPRFilter\" },\n0x00FC: { n:\"BrtEndPRFilter\" },\n0x00FD: { n:\"BrtBeginPNames\" },\n0x00FE: { n:\"BrtEndPNames\" },\n0x00FF: { n:\"BrtBeginPName\" },\n0x0100: { n:\"BrtEndPName\" },\n0x0101: { n:\"BrtBeginPNPairs\" },\n0x0102: { n:\"BrtEndPNPairs\" },\n0x0103: { n:\"BrtBeginPNPair\" },\n0x0104: { n:\"BrtEndPNPair\" },\n0x0105: { n:\"BrtBeginECWebProps\" },\n0x0106: { n:\"BrtEndECWebProps\" },\n0x0107: { n:\"BrtBeginEcWpTables\" },\n0x0108: { n:\"BrtEndECWPTables\" },\n0x0109: { n:\"BrtBeginECParams\" },\n0x010A: { n:\"BrtEndECParams\" },\n0x010B: { n:\"BrtBeginECParam\" },\n0x010C: { n:\"BrtEndECParam\" },\n0x010D: { n:\"BrtBeginPCDKPIs\" },\n0x010E: { n:\"BrtEndPCDKPIs\" },\n0x010F: { n:\"BrtBeginPCDKPI\" },\n0x0110: { n:\"BrtEndPCDKPI\" },\n0x0111: { n:\"BrtBeginDims\" },\n0x0112: { n:\"BrtEndDims\" },\n0x0113: { n:\"BrtBeginDim\" },\n0x0114: { n:\"BrtEndDim\" },\n0x0115: { n:\"BrtIndexPartEnd\" },\n0x0116: { n:\"BrtBeginStyleSheet\" },\n0x0117: { n:\"BrtEndStyleSheet\" },\n0x0118: { n:\"BrtBeginSXView\" },\n0x0119: { n:\"BrtEndSXVI\" },\n0x011A: { n:\"BrtBeginSXVI\" },\n0x011B: { n:\"BrtBeginSXVIs\" },\n0x011C: { n:\"BrtEndSXVIs\" },\n0x011D: { n:\"BrtBeginSXVD\" },\n0x011E: { n:\"BrtEndSXVD\" },\n0x011F: { n:\"BrtBeginSXVDs\" },\n0x0120: { n:\"BrtEndSXVDs\" },\n0x0121: { n:\"BrtBeginSXPI\" },\n0x0122: { n:\"BrtEndSXPI\" },\n0x0123: { n:\"BrtBeginSXPIs\" },\n0x0124: { n:\"BrtEndSXPIs\" },\n0x0125: { n:\"BrtBeginSXDI\" },\n0x0126: { n:\"BrtEndSXDI\" },\n0x0127: { n:\"BrtBeginSXDIs\" },\n0x0128: { n:\"BrtEndSXDIs\" },\n0x0129: { n:\"BrtBeginSXLI\" },\n0x012A: { n:\"BrtEndSXLI\" },\n0x012B: { n:\"BrtBeginSXLIRws\" },\n0x012C: { n:\"BrtEndSXLIRws\" },\n0x012D: { n:\"BrtBeginSXLICols\" },\n0x012E: { n:\"BrtEndSXLICols\" },\n0x012F: { n:\"BrtBeginSXFormat\" },\n0x0130: { n:\"BrtEndSXFormat\" },\n0x0131: { n:\"BrtBeginSXFormats\" },\n0x0132: { n:\"BrtEndSxFormats\" },\n0x0133: { n:\"BrtBeginSxSelect\" },\n0x0134: { n:\"BrtEndSxSelect\" },\n0x0135: { n:\"BrtBeginISXVDRws\" },\n0x0136: { n:\"BrtEndISXVDRws\" },\n0x0137: { n:\"BrtBeginISXVDCols\" },\n0x0138: { n:\"BrtEndISXVDCols\" },\n0x0139: { n:\"BrtEndSXLocation\" },\n0x013A: { n:\"BrtBeginSXLocation\" },\n0x013B: { n:\"BrtEndSXView\" },\n0x013C: { n:\"BrtBeginSXTHs\" },\n0x013D: { n:\"BrtEndSXTHs\" },\n0x013E: { n:\"BrtBeginSXTH\" },\n0x013F: { n:\"BrtEndSXTH\" },\n0x0140: { n:\"BrtBeginISXTHRws\" },\n0x0141: { n:\"BrtEndISXTHRws\" },\n0x0142: { n:\"BrtBeginISXTHCols\" },\n0x0143: { n:\"BrtEndISXTHCols\" },\n0x0144: { n:\"BrtBeginSXTDMPS\" },\n0x0145: { n:\"BrtEndSXTDMPs\" },\n0x0146: { n:\"BrtBeginSXTDMP\" },\n0x0147: { n:\"BrtEndSXTDMP\" },\n0x0148: { n:\"BrtBeginSXTHItems\" },\n0x0149: { n:\"BrtEndSXTHItems\" },\n0x014A: { n:\"BrtBeginSXTHItem\" },\n0x014B: { n:\"BrtEndSXTHItem\" },\n0x014C: { n:\"BrtBeginMetadata\" },\n0x014D: { n:\"BrtEndMetadata\" },\n0x014E: { n:\"BrtBeginEsmdtinfo\" },\n0x014F: { n:\"BrtMdtinfo\" },\n0x0150: { n:\"BrtEndEsmdtinfo\" },\n0x0151: { n:\"BrtBeginEsmdb\" },\n0x0152: { n:\"BrtEndEsmdb\" },\n0x0153: { n:\"BrtBeginEsfmd\" },\n0x0154: { n:\"BrtEndEsfmd\" },\n0x0155: { n:\"BrtBeginSingleCells\" },\n0x0156: { n:\"BrtEndSingleCells\" },\n0x0157: { n:\"BrtBeginList\" },\n0x0158: { n:\"BrtEndList\" },\n0x0159: { n:\"BrtBeginListCols\" },\n0x015A: { n:\"BrtEndListCols\" },\n0x015B: { n:\"BrtBeginListCol\" },\n0x015C: { n:\"BrtEndListCol\" },\n0x015D: { n:\"BrtBeginListXmlCPr\" },\n0x015E: { n:\"BrtEndListXmlCPr\" },\n0x015F: { n:\"BrtListCCFmla\" },\n0x0160: { n:\"BrtListTrFmla\" },\n0x0161: { n:\"BrtBeginExternals\" },\n0x0162: { n:\"BrtEndExternals\" },\n0x0163: { n:\"BrtSupBookSrc\", f:parse_RelID},\n0x0165: { n:\"BrtSupSelf\" },\n0x0166: { n:\"BrtSupSame\" },\n0x0167: { n:\"BrtSupTabs\" },\n0x0168: { n:\"BrtBeginSupBook\" },\n0x0169: { n:\"BrtPlaceholderName\" },\n0x016A: { n:\"BrtExternSheet\", f:parse_ExternSheet },\n0x016B: { n:\"BrtExternTableStart\" },\n0x016C: { n:\"BrtExternTableEnd\" },\n0x016E: { n:\"BrtExternRowHdr\" },\n0x016F: { n:\"BrtExternCellBlank\" },\n0x0170: { n:\"BrtExternCellReal\" },\n0x0171: { n:\"BrtExternCellBool\" },\n0x0172: { n:\"BrtExternCellError\" },\n0x0173: { n:\"BrtExternCellString\" },\n0x0174: { n:\"BrtBeginEsmdx\" },\n0x0175: { n:\"BrtEndEsmdx\" },\n0x0176: { n:\"BrtBeginMdxSet\" },\n0x0177: { n:\"BrtEndMdxSet\" },\n0x0178: { n:\"BrtBeginMdxMbrProp\" },\n0x0179: { n:\"BrtEndMdxMbrProp\" },\n0x017A: { n:\"BrtBeginMdxKPI\" },\n0x017B: { n:\"BrtEndMdxKPI\" },\n0x017C: { n:\"BrtBeginEsstr\" },\n0x017D: { n:\"BrtEndEsstr\" },\n0x017E: { n:\"BrtBeginPRFItem\" },\n0x017F: { n:\"BrtEndPRFItem\" },\n0x0180: { n:\"BrtBeginPivotCacheIDs\" },\n0x0181: { n:\"BrtEndPivotCacheIDs\" },\n0x0182: { n:\"BrtBeginPivotCacheID\" },\n0x0183: { n:\"BrtEndPivotCacheID\" },\n0x0184: { n:\"BrtBeginISXVIs\" },\n0x0185: { n:\"BrtEndISXVIs\" },\n0x0186: { n:\"BrtBeginColInfos\" },\n0x0187: { n:\"BrtEndColInfos\" },\n0x0188: { n:\"BrtBeginRwBrk\" },\n0x0189: { n:\"BrtEndRwBrk\" },\n0x018A: { n:\"BrtBeginColBrk\" },\n0x018B: { n:\"BrtEndColBrk\" },\n0x018C: { n:\"BrtBrk\" },\n0x018D: { n:\"BrtUserBookView\" },\n0x018E: { n:\"BrtInfo\" },\n0x018F: { n:\"BrtCUsr\" },\n0x0190: { n:\"BrtUsr\" },\n0x0191: { n:\"BrtBeginUsers\" },\n0x0193: { n:\"BrtEOF\" },\n0x0194: { n:\"BrtUCR\" },\n0x0195: { n:\"BrtRRInsDel\" },\n0x0196: { n:\"BrtRREndInsDel\" },\n0x0197: { n:\"BrtRRMove\" },\n0x0198: { n:\"BrtRREndMove\" },\n0x0199: { n:\"BrtRRChgCell\" },\n0x019A: { n:\"BrtRREndChgCell\" },\n0x019B: { n:\"BrtRRHeader\" },\n0x019C: { n:\"BrtRRUserView\" },\n0x019D: { n:\"BrtRRRenSheet\" },\n0x019E: { n:\"BrtRRInsertSh\" },\n0x019F: { n:\"BrtRRDefName\" },\n0x01A0: { n:\"BrtRRNote\" },\n0x01A1: { n:\"BrtRRConflict\" },\n0x01A2: { n:\"BrtRRTQSIF\" },\n0x01A3: { n:\"BrtRRFormat\" },\n0x01A4: { n:\"BrtRREndFormat\" },\n0x01A5: { n:\"BrtRRAutoFmt\" },\n0x01A6: { n:\"BrtBeginUserShViews\" },\n0x01A7: { n:\"BrtBeginUserShView\" },\n0x01A8: { n:\"BrtEndUserShView\" },\n0x01A9: { n:\"BrtEndUserShViews\" },\n0x01AA: { n:\"BrtArrFmla\", f:parse_BrtArrFmla },\n0x01AB: { n:\"BrtShrFmla\", f:parse_BrtShrFmla },\n0x01AC: { n:\"BrtTable\" },\n0x01AD: { n:\"BrtBeginExtConnections\" },\n0x01AE: { n:\"BrtEndExtConnections\" },\n0x01AF: { n:\"BrtBeginPCDCalcMems\" },\n0x01B0: { n:\"BrtEndPCDCalcMems\" },\n0x01B1: { n:\"BrtBeginPCDCalcMem\" },\n0x01B2: { n:\"BrtEndPCDCalcMem\" },\n0x01B3: { n:\"BrtBeginPCDHGLevels\" },\n0x01B4: { n:\"BrtEndPCDHGLevels\" },\n0x01B5: { n:\"BrtBeginPCDHGLevel\" },\n0x01B6: { n:\"BrtEndPCDHGLevel\" },\n0x01B7: { n:\"BrtBeginPCDHGLGroups\" },\n0x01B8: { n:\"BrtEndPCDHGLGroups\" },\n0x01B9: { n:\"BrtBeginPCDHGLGroup\" },\n0x01BA: { n:\"BrtEndPCDHGLGroup\" },\n0x01BB: { n:\"BrtBeginPCDHGLGMembers\" },\n0x01BC: { n:\"BrtEndPCDHGLGMembers\" },\n0x01BD: { n:\"BrtBeginPCDHGLGMember\" },\n0x01BE: { n:\"BrtEndPCDHGLGMember\" },\n0x01BF: { n:\"BrtBeginQSI\" },\n0x01C0: { n:\"BrtEndQSI\" },\n0x01C1: { n:\"BrtBeginQSIR\" },\n0x01C2: { n:\"BrtEndQSIR\" },\n0x01C3: { n:\"BrtBeginDeletedNames\" },\n0x01C4: { n:\"BrtEndDeletedNames\" },\n0x01C5: { n:\"BrtBeginDeletedName\" },\n0x01C6: { n:\"BrtEndDeletedName\" },\n0x01C7: { n:\"BrtBeginQSIFs\" },\n0x01C8: { n:\"BrtEndQSIFs\" },\n0x01C9: { n:\"BrtBeginQSIF\" },\n0x01CA: { n:\"BrtEndQSIF\" },\n0x01CB: { n:\"BrtBeginAutoSortScope\" },\n0x01CC: { n:\"BrtEndAutoSortScope\" },\n0x01CD: { n:\"BrtBeginConditionalFormatting\" },\n0x01CE: { n:\"BrtEndConditionalFormatting\" },\n0x01CF: { n:\"BrtBeginCFRule\" },\n0x01D0: { n:\"BrtEndCFRule\" },\n0x01D1: { n:\"BrtBeginIconSet\" },\n0x01D2: { n:\"BrtEndIconSet\" },\n0x01D3: { n:\"BrtBeginDatabar\" },\n0x01D4: { n:\"BrtEndDatabar\" },\n0x01D5: { n:\"BrtBeginColorScale\" },\n0x01D6: { n:\"BrtEndColorScale\" },\n0x01D7: { n:\"BrtCFVO\" },\n0x01D8: { n:\"BrtExternValueMeta\" },\n0x01D9: { n:\"BrtBeginColorPalette\" },\n0x01DA: { n:\"BrtEndColorPalette\" },\n0x01DB: { n:\"BrtIndexedColor\" },\n0x01DC: { n:\"BrtMargins\", f:parse_BrtMargins },\n0x01DD: { n:\"BrtPrintOptions\" },\n0x01DE: { n:\"BrtPageSetup\" },\n0x01DF: { n:\"BrtBeginHeaderFooter\" },\n0x01E0: { n:\"BrtEndHeaderFooter\" },\n0x01E1: { n:\"BrtBeginSXCrtFormat\" },\n0x01E2: { n:\"BrtEndSXCrtFormat\" },\n0x01E3: { n:\"BrtBeginSXCrtFormats\" },\n0x01E4: { n:\"BrtEndSXCrtFormats\" },\n0x01E5: { n:\"BrtWsFmtInfo\", f:parse_BrtWsFmtInfo },\n0x01E6: { n:\"BrtBeginMgs\" },\n0x01E7: { n:\"BrtEndMGs\" },\n0x01E8: { n:\"BrtBeginMGMaps\" },\n0x01E9: { n:\"BrtEndMGMaps\" },\n0x01EA: { n:\"BrtBeginMG\" },\n0x01EB: { n:\"BrtEndMG\" },\n0x01EC: { n:\"BrtBeginMap\" },\n0x01ED: { n:\"BrtEndMap\" },\n0x01EE: { n:\"BrtHLink\", f:parse_BrtHLink },\n0x01EF: { n:\"BrtBeginDCon\" },\n0x01F0: { n:\"BrtEndDCon\" },\n0x01F1: { n:\"BrtBeginDRefs\" },\n0x01F2: { n:\"BrtEndDRefs\" },\n0x01F3: { n:\"BrtDRef\" },\n0x01F4: { n:\"BrtBeginScenMan\" },\n0x01F5: { n:\"BrtEndScenMan\" },\n0x01F6: { n:\"BrtBeginSct\" },\n0x01F7: { n:\"BrtEndSct\" },\n0x01F8: { n:\"BrtSlc\" },\n0x01F9: { n:\"BrtBeginDXFs\" },\n0x01FA: { n:\"BrtEndDXFs\" },\n0x01FB: { n:\"BrtDXF\" },\n0x01FC: { n:\"BrtBeginTableStyles\" },\n0x01FD: { n:\"BrtEndTableStyles\" },\n0x01FE: { n:\"BrtBeginTableStyle\" },\n0x01FF: { n:\"BrtEndTableStyle\" },\n0x0200: { n:\"BrtTableStyleElement\" },\n0x0201: { n:\"BrtTableStyleClient\" },\n0x0202: { n:\"BrtBeginVolDeps\" },\n0x0203: { n:\"BrtEndVolDeps\" },\n0x0204: { n:\"BrtBeginVolType\" },\n0x0205: { n:\"BrtEndVolType\" },\n0x0206: { n:\"BrtBeginVolMain\" },\n0x0207: { n:\"BrtEndVolMain\" },\n0x0208: { n:\"BrtBeginVolTopic\" },\n0x0209: { n:\"BrtEndVolTopic\" },\n0x020A: { n:\"BrtVolSubtopic\" },\n0x020B: { n:\"BrtVolRef\" },\n0x020C: { n:\"BrtVolNum\" },\n0x020D: { n:\"BrtVolErr\" },\n0x020E: { n:\"BrtVolStr\" },\n0x020F: { n:\"BrtVolBool\" },\n0x0210: { n:\"BrtBeginCalcChain$\" },\n0x0211: { n:\"BrtEndCalcChain$\" },\n0x0212: { n:\"BrtBeginSortState\" },\n0x0213: { n:\"BrtEndSortState\" },\n0x0214: { n:\"BrtBeginSortCond\" },\n0x0215: { n:\"BrtEndSortCond\" },\n0x0216: { n:\"BrtBookProtection\" },\n0x0217: { n:\"BrtSheetProtection\" },\n0x0218: { n:\"BrtRangeProtection\" },\n0x0219: { n:\"BrtPhoneticInfo\" },\n0x021A: { n:\"BrtBeginECTxtWiz\" },\n0x021B: { n:\"BrtEndECTxtWiz\" },\n0x021C: { n:\"BrtBeginECTWFldInfoLst\" },\n0x021D: { n:\"BrtEndECTWFldInfoLst\" },\n0x021E: { n:\"BrtBeginECTwFldInfo\" },\n0x0224: { n:\"BrtFileSharing\" },\n0x0225: { n:\"BrtOleSize\" },\n0x0226: { n:\"BrtDrawing\", f:parse_RelID },\n0x0227: { n:\"BrtLegacyDrawing\" },\n0x0228: { n:\"BrtLegacyDrawingHF\" },\n0x0229: { n:\"BrtWebOpt\" },\n0x022A: { n:\"BrtBeginWebPubItems\" },\n0x022B: { n:\"BrtEndWebPubItems\" },\n0x022C: { n:\"BrtBeginWebPubItem\" },\n0x022D: { n:\"BrtEndWebPubItem\" },\n0x022E: { n:\"BrtBeginSXCondFmt\" },\n0x022F: { n:\"BrtEndSXCondFmt\" },\n0x0230: { n:\"BrtBeginSXCondFmts\" },\n0x0231: { n:\"BrtEndSXCondFmts\" },\n0x0232: { n:\"BrtBkHim\" },\n0x0234: { n:\"BrtColor\" },\n0x0235: { n:\"BrtBeginIndexedColors\" },\n0x0236: { n:\"BrtEndIndexedColors\" },\n0x0239: { n:\"BrtBeginMRUColors\" },\n0x023A: { n:\"BrtEndMRUColors\" },\n0x023C: { n:\"BrtMRUColor\" },\n0x023D: { n:\"BrtBeginDVals\" },\n0x023E: { n:\"BrtEndDVals\" },\n0x0241: { n:\"BrtSupNameStart\" },\n0x0242: { n:\"BrtSupNameValueStart\" },\n0x0243: { n:\"BrtSupNameValueEnd\" },\n0x0244: { n:\"BrtSupNameNum\" },\n0x0245: { n:\"BrtSupNameErr\" },\n0x0246: { n:\"BrtSupNameSt\" },\n0x0247: { n:\"BrtSupNameNil\" },\n0x0248: { n:\"BrtSupNameBool\" },\n0x0249: { n:\"BrtSupNameFmla\" },\n0x024A: { n:\"BrtSupNameBits\" },\n0x024B: { n:\"BrtSupNameEnd\" },\n0x024C: { n:\"BrtEndSupBook\" },\n0x024D: { n:\"BrtCellSmartTagProperty\" },\n0x024E: { n:\"BrtBeginCellSmartTag\" },\n0x024F: { n:\"BrtEndCellSmartTag\" },\n0x0250: { n:\"BrtBeginCellSmartTags\" },\n0x0251: { n:\"BrtEndCellSmartTags\" },\n0x0252: { n:\"BrtBeginSmartTags\" },\n0x0253: { n:\"BrtEndSmartTags\" },\n0x0254: { n:\"BrtSmartTagType\" },\n0x0255: { n:\"BrtBeginSmartTagTypes\" },\n0x0256: { n:\"BrtEndSmartTagTypes\" },\n0x0257: { n:\"BrtBeginSXFilters\" },\n0x0258: { n:\"BrtEndSXFilters\" },\n0x0259: { n:\"BrtBeginSXFILTER\" },\n0x025A: { n:\"BrtEndSXFilter\" },\n0x025B: { n:\"BrtBeginFills\" },\n0x025C: { n:\"BrtEndFills\" },\n0x025D: { n:\"BrtBeginCellWatches\" },\n0x025E: { n:\"BrtEndCellWatches\" },\n0x025F: { n:\"BrtCellWatch\" },\n0x0260: { n:\"BrtBeginCRErrs\" },\n0x0261: { n:\"BrtEndCRErrs\" },\n0x0262: { n:\"BrtCrashRecErr\" },\n0x0263: { n:\"BrtBeginFonts\" },\n0x0264: { n:\"BrtEndFonts\" },\n0x0265: { n:\"BrtBeginBorders\" },\n0x0266: { n:\"BrtEndBorders\" },\n0x0267: { n:\"BrtBeginFmts\" },\n0x0268: { n:\"BrtEndFmts\" },\n0x0269: { n:\"BrtBeginCellXFs\" },\n0x026A: { n:\"BrtEndCellXFs\" },\n0x026B: { n:\"BrtBeginStyles\" },\n0x026C: { n:\"BrtEndStyles\" },\n0x0271: { n:\"BrtBigName\" },\n0x0272: { n:\"BrtBeginCellStyleXFs\" },\n0x0273: { n:\"BrtEndCellStyleXFs\" },\n0x0274: { n:\"BrtBeginComments\" },\n0x0275: { n:\"BrtEndComments\" },\n0x0276: { n:\"BrtBeginCommentAuthors\" },\n0x0277: { n:\"BrtEndCommentAuthors\" },\n0x0278: { n:\"BrtCommentAuthor\", f:parse_BrtCommentAuthor },\n0x0279: { n:\"BrtBeginCommentList\" },\n0x027A: { n:\"BrtEndCommentList\" },\n0x027B: { n:\"BrtBeginComment\", f:parse_BrtBeginComment},\n0x027C: { n:\"BrtEndComment\" },\n0x027D: { n:\"BrtCommentText\", f:parse_BrtCommentText },\n0x027E: { n:\"BrtBeginOleObjects\" },\n0x027F: { n:\"BrtOleObject\" },\n0x0280: { n:\"BrtEndOleObjects\" },\n0x0281: { n:\"BrtBeginSxrules\" },\n0x0282: { n:\"BrtEndSxRules\" },\n0x0283: { n:\"BrtBeginActiveXControls\" },\n0x0284: { n:\"BrtActiveX\" },\n0x0285: { n:\"BrtEndActiveXControls\" },\n0x0286: { n:\"BrtBeginPCDSDTCEMembersSortBy\" },\n0x0288: { n:\"BrtBeginCellIgnoreECs\" },\n0x0289: { n:\"BrtCellIgnoreEC\" },\n0x028A: { n:\"BrtEndCellIgnoreECs\" },\n0x028B: { n:\"BrtCsProp\", f:parse_BrtCsProp },\n0x028C: { n:\"BrtCsPageSetup\" },\n0x028D: { n:\"BrtBeginUserCsViews\" },\n0x028E: { n:\"BrtEndUserCsViews\" },\n0x028F: { n:\"BrtBeginUserCsView\" },\n0x0290: { n:\"BrtEndUserCsView\" },\n0x0291: { n:\"BrtBeginPcdSFCIEntries\" },\n0x0292: { n:\"BrtEndPCDSFCIEntries\" },\n0x0293: { n:\"BrtPCDSFCIEntry\" },\n0x0294: { n:\"BrtBeginListParts\" },\n0x0295: { n:\"BrtListPart\" },\n0x0296: { n:\"BrtEndListParts\" },\n0x0297: { n:\"BrtSheetCalcProp\" },\n0x0298: { n:\"BrtBeginFnGroup\" },\n0x0299: { n:\"BrtFnGroup\" },\n0x029A: { n:\"BrtEndFnGroup\" },\n0x029B: { n:\"BrtSupAddin\" },\n0x029C: { n:\"BrtSXTDMPOrder\" },\n0x029D: { n:\"BrtCsProtection\" },\n0x029F: { n:\"BrtBeginWsSortMap\" },\n0x02A0: { n:\"BrtEndWsSortMap\" },\n0x02A1: { n:\"BrtBeginRRSort\" },\n0x02A2: { n:\"BrtEndRRSort\" },\n0x02A3: { n:\"BrtRRSortItem\" },\n0x02A4: { n:\"BrtFileSharingIso\" },\n0x02A5: { n:\"BrtBookProtectionIso\" },\n0x02A6: { n:\"BrtSheetProtectionIso\" },\n0x02A7: { n:\"BrtCsProtectionIso\" },\n0x02A8: { n:\"BrtRangeProtectionIso\" },\n0x02A9: { n:\"BrtDValList\" },\n0x0400: { n:\"BrtRwDescent\" },\n0x0401: { n:\"BrtKnownFonts\" },\n0x0402: { n:\"BrtBeginSXTupleSet\" },\n0x0403: { n:\"BrtEndSXTupleSet\" },\n0x0404: { n:\"BrtBeginSXTupleSetHeader\" },\n0x0405: { n:\"BrtEndSXTupleSetHeader\" },\n0x0406: { n:\"BrtSXTupleSetHeaderItem\" },\n0x0407: { n:\"BrtBeginSXTupleSetData\" },\n0x0408: { n:\"BrtEndSXTupleSetData\" },\n0x0409: { n:\"BrtBeginSXTupleSetRow\" },\n0x040A: { n:\"BrtEndSXTupleSetRow\" },\n0x040B: { n:\"BrtSXTupleSetRowItem\" },\n0x040C: { n:\"BrtNameExt\" },\n0x040D: { n:\"BrtPCDH14\" },\n0x040E: { n:\"BrtBeginPCDCalcMem14\" },\n0x040F: { n:\"BrtEndPCDCalcMem14\" },\n0x0410: { n:\"BrtSXTH14\" },\n0x0411: { n:\"BrtBeginSparklineGroup\" },\n0x0412: { n:\"BrtEndSparklineGroup\" },\n0x0413: { n:\"BrtSparkline\" },\n0x0414: { n:\"BrtSXDI14\" },\n0x0415: { n:\"BrtWsFmtInfoEx14\" },\n0x0416: { n:\"BrtBeginConditionalFormatting14\" },\n0x0417: { n:\"BrtEndConditionalFormatting14\" },\n0x0418: { n:\"BrtBeginCFRule14\" },\n0x0419: { n:\"BrtEndCFRule14\" },\n0x041A: { n:\"BrtCFVO14\" },\n0x041B: { n:\"BrtBeginDatabar14\" },\n0x041C: { n:\"BrtBeginIconSet14\" },\n0x041D: { n:\"BrtDVal14\", f: parse_BrtDVal14 },\n0x041E: { n:\"BrtBeginDVals14\" },\n0x041F: { n:\"BrtColor14\" },\n0x0420: { n:\"BrtBeginSparklines\" },\n0x0421: { n:\"BrtEndSparklines\" },\n0x0422: { n:\"BrtBeginSparklineGroups\" },\n0x0423: { n:\"BrtEndSparklineGroups\" },\n0x0425: { n:\"BrtSXVD14\" },\n0x0426: { n:\"BrtBeginSXView14\" },\n0x0427: { n:\"BrtEndSXView14\" },\n0x0428: { n:\"BrtBeginSXView16\" },\n0x0429: { n:\"BrtEndSXView16\" },\n0x042A: { n:\"BrtBeginPCD14\" },\n0x042B: { n:\"BrtEndPCD14\" },\n0x042C: { n:\"BrtBeginExtConn14\" },\n0x042D: { n:\"BrtEndExtConn14\" },\n0x042E: { n:\"BrtBeginSlicerCacheIDs\" },\n0x042F: { n:\"BrtEndSlicerCacheIDs\" },\n0x0430: { n:\"BrtBeginSlicerCacheID\" },\n0x0431: { n:\"BrtEndSlicerCacheID\" },\n0x0433: { n:\"BrtBeginSlicerCache\" },\n0x0434: { n:\"BrtEndSlicerCache\" },\n0x0435: { n:\"BrtBeginSlicerCacheDef\" },\n0x0436: { n:\"BrtEndSlicerCacheDef\" },\n0x0437: { n:\"BrtBeginSlicersEx\" },\n0x0438: { n:\"BrtEndSlicersEx\" },\n0x0439: { n:\"BrtBeginSlicerEx\" },\n0x043A: { n:\"BrtEndSlicerEx\" },\n0x043B: { n:\"BrtBeginSlicer\" },\n0x043C: { n:\"BrtEndSlicer\" },\n0x043D: { n:\"BrtSlicerCachePivotTables\" },\n0x043E: { n:\"BrtBeginSlicerCacheOlapImpl\" },\n0x043F: { n:\"BrtEndSlicerCacheOlapImpl\" },\n0x0440: { n:\"BrtBeginSlicerCacheLevelsData\" },\n0x0441: { n:\"BrtEndSlicerCacheLevelsData\" },\n0x0442: { n:\"BrtBeginSlicerCacheLevelData\" },\n0x0443: { n:\"BrtEndSlicerCacheLevelData\" },\n0x0444: { n:\"BrtBeginSlicerCacheSiRanges\" },\n0x0445: { n:\"BrtEndSlicerCacheSiRanges\" },\n0x0446: { n:\"BrtBeginSlicerCacheSiRange\" },\n0x0447: { n:\"BrtEndSlicerCacheSiRange\" },\n0x0448: { n:\"BrtSlicerCacheOlapItem\" },\n0x0449: { n:\"BrtBeginSlicerCacheSelections\" },\n0x044A: { n:\"BrtSlicerCacheSelection\" },\n0x044B: { n:\"BrtEndSlicerCacheSelections\" },\n0x044C: { n:\"BrtBeginSlicerCacheNative\" },\n0x044D: { n:\"BrtEndSlicerCacheNative\" },\n0x044E: { n:\"BrtSlicerCacheNativeItem\" },\n0x044F: { n:\"BrtRangeProtection14\" },\n0x0450: { n:\"BrtRangeProtectionIso14\" },\n0x0451: { n:\"BrtCellIgnoreEC14\" },\n0x0457: { n:\"BrtList14\" },\n0x0458: { n:\"BrtCFIcon\" },\n0x0459: { n:\"BrtBeginSlicerCachesPivotCacheIDs\" },\n0x045A: { n:\"BrtEndSlicerCachesPivotCacheIDs\" },\n0x045B: { n:\"BrtBeginSlicers\" },\n0x045C: { n:\"BrtEndSlicers\" },\n0x045D: { n:\"BrtWbProp14\" },\n0x045E: { n:\"BrtBeginSXEdit\" },\n0x045F: { n:\"BrtEndSXEdit\" },\n0x0460: { n:\"BrtBeginSXEdits\" },\n0x0461: { n:\"BrtEndSXEdits\" },\n0x0462: { n:\"BrtBeginSXChange\" },\n0x0463: { n:\"BrtEndSXChange\" },\n0x0464: { n:\"BrtBeginSXChanges\" },\n0x0465: { n:\"BrtEndSXChanges\" },\n0x0466: { n:\"BrtSXTupleItems\" },\n0x0468: { n:\"BrtBeginSlicerStyle\" },\n0x0469: { n:\"BrtEndSlicerStyle\" },\n0x046A: { n:\"BrtSlicerStyleElement\" },\n0x046B: { n:\"BrtBeginStyleSheetExt14\" },\n0x046C: { n:\"BrtEndStyleSheetExt14\" },\n0x046D: { n:\"BrtBeginSlicerCachesPivotCacheID\" },\n0x046E: { n:\"BrtEndSlicerCachesPivotCacheID\" },\n0x046F: { n:\"BrtBeginConditionalFormattings\" },\n0x0470: { n:\"BrtEndConditionalFormattings\" },\n0x0471: { n:\"BrtBeginPCDCalcMemExt\" },\n0x0472: { n:\"BrtEndPCDCalcMemExt\" },\n0x0473: { n:\"BrtBeginPCDCalcMemsExt\" },\n0x0474: { n:\"BrtEndPCDCalcMemsExt\" },\n0x0475: { n:\"BrtPCDField14\" },\n0x0476: { n:\"BrtBeginSlicerStyles\" },\n0x0477: { n:\"BrtEndSlicerStyles\" },\n0x0478: { n:\"BrtBeginSlicerStyleElements\" },\n0x0479: { n:\"BrtEndSlicerStyleElements\" },\n0x047A: { n:\"BrtCFRuleExt\" },\n0x047B: { n:\"BrtBeginSXCondFmt14\" },\n0x047C: { n:\"BrtEndSXCondFmt14\" },\n0x047D: { n:\"BrtBeginSXCondFmts14\" },\n0x047E: { n:\"BrtEndSXCondFmts14\" },\n0x0480: { n:\"BrtBeginSortCond14\" },\n0x0481: { n:\"BrtEndSortCond14\" },\n0x0482: { n:\"BrtEndDVals14\" },\n0x0483: { n:\"BrtEndIconSet14\" },\n0x0484: { n:\"BrtEndDatabar14\" },\n0x0485: { n:\"BrtBeginColorScale14\" },\n0x0486: { n:\"BrtEndColorScale14\" },\n0x0487: { n:\"BrtBeginSxrules14\" },\n0x0488: { n:\"BrtEndSxrules14\" },\n0x0489: { n:\"BrtBeginPRule14\" },\n0x048A: { n:\"BrtEndPRule14\" },\n0x048B: { n:\"BrtBeginPRFilters14\" },\n0x048C: { n:\"BrtEndPRFilters14\" },\n0x048D: { n:\"BrtBeginPRFilter14\" },\n0x048E: { n:\"BrtEndPRFilter14\" },\n0x048F: { n:\"BrtBeginPRFItem14\" },\n0x0490: { n:\"BrtEndPRFItem14\" },\n0x0491: { n:\"BrtBeginCellIgnoreECs14\" },\n0x0492: { n:\"BrtEndCellIgnoreECs14\" },\n0x0493: { n:\"BrtDxf14\" },\n0x0494: { n:\"BrtBeginDxF14s\" },\n0x0495: { n:\"BrtEndDxf14s\" },\n0x0499: { n:\"BrtFilter14\" },\n0x049A: { n:\"BrtBeginCustomFilters14\" },\n0x049C: { n:\"BrtCustomFilter14\" },\n0x049D: { n:\"BrtIconFilter14\" },\n0x049E: { n:\"BrtPivotCacheConnectionName\" },\n0x0800: { n:\"BrtBeginDecoupledPivotCacheIDs\" },\n0x0801: { n:\"BrtEndDecoupledPivotCacheIDs\" },\n0x0802: { n:\"BrtDecoupledPivotCacheID\" },\n0x0803: { n:\"BrtBeginPivotTableRefs\" },\n0x0804: { n:\"BrtEndPivotTableRefs\" },\n0x0805: { n:\"BrtPivotTableRef\" },\n0x0806: { n:\"BrtSlicerCacheBookPivotTables\" },\n0x0807: { n:\"BrtBeginSxvcells\" },\n0x0808: { n:\"BrtEndSxvcells\" },\n0x0809: { n:\"BrtBeginSxRow\" },\n0x080A: { n:\"BrtEndSxRow\" },\n0x080C: { n:\"BrtPcdCalcMem15\" },\n0x0813: { n:\"BrtQsi15\" },\n0x0814: { n:\"BrtBeginWebExtensions\" },\n0x0815: { n:\"BrtEndWebExtensions\" },\n0x0816: { n:\"BrtWebExtension\" },\n0x0817: { n:\"BrtAbsPath15\" },\n0x0818: { n:\"BrtBeginPivotTableUISettings\" },\n0x0819: { n:\"BrtEndPivotTableUISettings\" },\n0x081B: { n:\"BrtTableSlicerCacheIDs\" },\n0x081C: { n:\"BrtTableSlicerCacheID\" },\n0x081D: { n:\"BrtBeginTableSlicerCache\" },\n0x081E: { n:\"BrtEndTableSlicerCache\" },\n0x081F: { n:\"BrtSxFilter15\" },\n0x0820: { n:\"BrtBeginTimelineCachePivotCacheIDs\" },\n0x0821: { n:\"BrtEndTimelineCachePivotCacheIDs\" },\n0x0822: { n:\"BrtTimelineCachePivotCacheID\" },\n0x0823: { n:\"BrtBeginTimelineCacheIDs\" },\n0x0824: { n:\"BrtEndTimelineCacheIDs\" },\n0x0825: { n:\"BrtBeginTimelineCacheID\" },\n0x0826: { n:\"BrtEndTimelineCacheID\" },\n0x0827: { n:\"BrtBeginTimelinesEx\" },\n0x0828: { n:\"BrtEndTimelinesEx\" },\n0x0829: { n:\"BrtBeginTimelineEx\" },\n0x082A: { n:\"BrtEndTimelineEx\" },\n0x082B: { n:\"BrtWorkBookPr15\" },\n0x082C: { n:\"BrtPCDH15\" },\n0x082D: { n:\"BrtBeginTimelineStyle\" },\n0x082E: { n:\"BrtEndTimelineStyle\" },\n0x082F: { n:\"BrtTimelineStyleElement\" },\n0x0830: { n:\"BrtBeginTimelineStylesheetExt15\" },\n0x0831: { n:\"BrtEndTimelineStylesheetExt15\" },\n0x0832: { n:\"BrtBeginTimelineStyles\" },\n0x0833: { n:\"BrtEndTimelineStyles\" },\n0x0834: { n:\"BrtBeginTimelineStyleElements\" },\n0x0835: { n:\"BrtEndTimelineStyleElements\" },\n0x0836: { n:\"BrtDxf15\" },\n0x0837: { n:\"BrtBeginDxfs15\" },\n0x0838: { n:\"brtEndDxfs15\" },\n0x0839: { n:\"BrtSlicerCacheHideItemsWithNoData\" },\n0x083A: { n:\"BrtBeginItemUniqueNames\" },\n0x083B: { n:\"BrtEndItemUniqueNames\" },\n0x083C: { n:\"BrtItemUniqueName\" },\n0x083D: { n:\"BrtBeginExtConn15\" },\n0x083E: { n:\"BrtEndExtConn15\" },\n0x083F: { n:\"BrtBeginOledbPr15\" },\n0x0840: { n:\"BrtEndOledbPr15\" },\n0x0841: { n:\"BrtBeginDataFeedPr15\" },\n0x0842: { n:\"BrtEndDataFeedPr15\" },\n0x0843: { n:\"BrtTextPr15\" },\n0x0844: { n:\"BrtRangePr15\" },\n0x0845: { n:\"BrtDbCommand15\" },\n0x0846: { n:\"BrtBeginDbTables15\" },\n0x0847: { n:\"BrtEndDbTables15\" },\n0x0848: { n:\"BrtDbTable15\" },\n0x0849: { n:\"BrtBeginDataModel\" },\n0x084A: { n:\"BrtEndDataModel\" },\n0x084B: { n:\"BrtBeginModelTables\" },\n0x084C: { n:\"BrtEndModelTables\" },\n0x084D: { n:\"BrtModelTable\" },\n0x084E: { n:\"BrtBeginModelRelationships\" },\n0x084F: { n:\"BrtEndModelRelationships\" },\n0x0850: { n:\"BrtModelRelationship\" },\n0x0851: { n:\"BrtBeginECTxtWiz15\" },\n0x0852: { n:\"BrtEndECTxtWiz15\" },\n0x0853: { n:\"BrtBeginECTWFldInfoLst15\" },\n0x0854: { n:\"BrtEndECTWFldInfoLst15\" },\n0x0855: { n:\"BrtBeginECTWFldInfo15\" },\n0x0856: { n:\"BrtFieldListActiveItem\" },\n0x0857: { n:\"BrtPivotCacheIdVersion\" },\n0x0858: { n:\"BrtSXDI15\" },\n0x0859: { n:\"BrtBeginModelTimeGroupings\" },\n0x085A: { n:\"BrtEndModelTimeGroupings\" },\n0x085B: { n:\"BrtBeginModelTimeGrouping\" },\n0x085C: { n:\"BrtEndModelTimeGrouping\" },\n0x085D: { n:\"BrtModelTimeGroupingCalcCol\" },\n0x0C00: { n:\"BrtUid\" },\n0x0C01: { n:\"BrtRevisionPtr\" },\n0x13e7: { n:\"BrtBeginCalcFeatures\" },\n0x13e8: { n:\"BrtEndCalcFeatures\" },\n0x13e9: { n:\"BrtCalcFeature\" },\n0xFFFF: { n:\"\" }\n};\n\nvar XLSBRE = evert_key(XLSBRecordEnum, 'n');\n\n/* [MS-XLS] 2.3 Record Enumeration */\nvar XLSRecordEnum = {\n0x0003: { n:\"BIFF2NUM\", f:parse_BIFF2NUM },\n0x0004: { n:\"BIFF2STR\", f:parse_BIFF2STR },\n0x0006: { n:\"Formula\", f:parse_Formula },\n0x0009: { n:'BOF', f:parse_BOF },\n0x000a: { n:'EOF', f:parsenoop2 },\n0x000c: { n:\"CalcCount\", f:parseuint16 },\n0x000d: { n:\"CalcMode\", f:parseuint16 },\n0x000e: { n:\"CalcPrecision\", f:parsebool },\n0x000f: { n:\"CalcRefMode\", f:parsebool },\n0x0010: { n:\"CalcDelta\", f:parse_Xnum },\n0x0011: { n:\"CalcIter\", f:parsebool },\n0x0012: { n:\"Protect\", f:parsebool },\n0x0013: { n:\"Password\", f:parseuint16 },\n0x0014: { n:\"Header\", f:parse_XLHeaderFooter },\n0x0015: { n:\"Footer\", f:parse_XLHeaderFooter },\n0x0017: { n:\"ExternSheet\", f:parse_ExternSheet },\n0x0018: { n:\"Lbl\", f:parse_Lbl },\n0x0019: { n:\"WinProtect\", f:parsebool },\n0x001a: { n:\"VerticalPageBreaks\" },\n0x001b: { n:\"HorizontalPageBreaks\" },\n0x001c: { n:\"Note\", f:parse_Note },\n0x001d: { n:\"Selection\" },\n0x0022: { n:\"Date1904\", f:parsebool },\n0x0023: { n:\"ExternName\", f:parse_ExternName },\n0x0024: { n:\"COLWIDTH\" },\n0x0026: { n:\"LeftMargin\", f:parse_Xnum },\n0x0027: { n:\"RightMargin\", f:parse_Xnum },\n0x0028: { n:\"TopMargin\", f:parse_Xnum },\n0x0029: { n:\"BottomMargin\", f:parse_Xnum },\n0x002a: { n:\"PrintRowCol\", f:parsebool },\n0x002b: { n:\"PrintGrid\", f:parsebool },\n0x002f: { n:\"FilePass\", f:parse_FilePass },\n0x0031: { n:\"Font\", f:parse_Font },\n0x0033: { n:\"PrintSize\", f:parseuint16 },\n0x003c: { n:\"Continue\" },\n0x003d: { n:\"Window1\", f:parse_Window1 },\n0x0040: { n:\"Backup\", f:parsebool },\n0x0041: { n:\"Pane\", f:parse_Pane },\n0x0042: { n:'CodePage', f:parseuint16 },\n0x004d: { n:\"Pls\" },\n0x0050: { n:\"DCon\" },\n0x0051: { n:\"DConRef\" },\n0x0052: { n:\"DConName\" },\n0x0055: { n:\"DefColWidth\", f:parseuint16 },\n0x0059: { n:\"XCT\" },\n0x005a: { n:\"CRN\" },\n0x005b: { n:\"FileSharing\" },\n0x005c: { n:'WriteAccess', f:parse_WriteAccess },\n0x005d: { n:\"Obj\", f:parse_Obj },\n0x005e: { n:\"Uncalced\" },\n0x005f: { n:\"CalcSaveRecalc\", f:parsebool },\n0x0060: { n:\"Template\" },\n0x0061: { n:\"Intl\" },\n0x0063: { n:\"ObjProtect\", f:parsebool },\n0x007d: { n:\"ColInfo\", f:parse_ColInfo },\n0x0080: { n:\"Guts\", f:parse_Guts },\n0x0081: { n:\"WsBool\", f:parse_WsBool },\n0x0082: { n:\"GridSet\", f:parseuint16 },\n0x0083: { n:\"HCenter\", f:parsebool },\n0x0084: { n:\"VCenter\", f:parsebool },\n0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 },\n0x0086: { n:\"WriteProtect\" },\n0x008c: { n:\"Country\", f:parse_Country },\n0x008d: { n:\"HideObj\", f:parseuint16 },\n0x0090: { n:\"Sort\" },\n0x0092: { n:\"Palette\", f:parse_Palette },\n0x0097: { n:\"Sync\" },\n0x0098: { n:\"LPr\" },\n0x0099: { n:\"DxGCol\" },\n0x009a: { n:\"FnGroupName\" },\n0x009b: { n:\"FilterMode\" },\n0x009c: { n:\"BuiltInFnGroupCount\", f:parseuint16 },\n0x009d: { n:\"AutoFilterInfo\" },\n0x009e: { n:\"AutoFilter\" },\n0x00a0: { n:\"Scl\", f:parse_Scl },\n0x00a1: { n:\"Setup\", f:parse_Setup },\n0x00ae: { n:\"ScenMan\" },\n0x00af: { n:\"SCENARIO\" },\n0x00b0: { n:\"SxView\" },\n0x00b1: { n:\"Sxvd\" },\n0x00b2: { n:\"SXVI\" },\n0x00b4: { n:\"SxIvd\" },\n0x00b5: { n:\"SXLI\" },\n0x00b6: { n:\"SXPI\" },\n0x00b8: { n:\"DocRoute\" },\n0x00b9: { n:\"RecipName\" },\n0x00bd: { n:\"MulRk\", f:parse_MulRk },\n0x00be: { n:\"MulBlank\", f:parse_MulBlank },\n0x00c1: { n:'Mms', f:parsenoop2 },\n0x00c5: { n:\"SXDI\" },\n0x00c6: { n:\"SXDB\" },\n0x00c7: { n:\"SXFDB\" },\n0x00c8: { n:\"SXDBB\" },\n0x00c9: { n:\"SXNum\" },\n0x00ca: { n:\"SxBool\", f:parsebool },\n0x00cb: { n:\"SxErr\" },\n0x00cc: { n:\"SXInt\" },\n0x00cd: { n:\"SXString\" },\n0x00ce: { n:\"SXDtr\" },\n0x00cf: { n:\"SxNil\" },\n0x00d0: { n:\"SXTbl\" },\n0x00d1: { n:\"SXTBRGIITM\" },\n0x00d2: { n:\"SxTbpg\" },\n0x00d3: { n:\"ObProj\" },\n0x00d5: { n:\"SXStreamID\" },\n0x00d7: { n:\"DBCell\" },\n0x00d8: { n:\"SXRng\" },\n0x00d9: { n:\"SxIsxoper\" },\n0x00da: { n:\"BookBool\", f:parseuint16 },\n0x00dc: { n:\"DbOrParamQry\" },\n0x00dd: { n:\"ScenarioProtect\", f:parsebool },\n0x00de: { n:\"OleObjectSize\" },\n0x00e0: { n:\"XF\", f:parse_XF },\n0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr },\n0x00e2: { n:'InterfaceEnd', f:parsenoop2 },\n0x00e3: { n:\"SXVS\" },\n0x00e5: { n:\"MergeCells\", f:parse_MergeCells },\n0x00e9: { n:\"BkHim\" },\n0x00eb: { n:\"MsoDrawingGroup\" },\n0x00ec: { n:\"MsoDrawing\" },\n0x00ed: { n:\"MsoDrawingSelection\" },\n0x00ef: { n:\"PhoneticInfo\" },\n0x00f0: { n:\"SxRule\" },\n0x00f1: { n:\"SXEx\" },\n0x00f2: { n:\"SxFilt\" },\n0x00f4: { n:\"SxDXF\" },\n0x00f5: { n:\"SxItm\" },\n0x00f6: { n:\"SxName\" },\n0x00f7: { n:\"SxSelect\" },\n0x00f8: { n:\"SXPair\" },\n0x00f9: { n:\"SxFmla\" },\n0x00fb: { n:\"SxFormat\" },\n0x00fc: { n:\"SST\", f:parse_SST },\n0x00fd: { n:\"LabelSst\", f:parse_LabelSst },\n0x00ff: { n:\"ExtSST\", f:parse_ExtSST },\n0x0100: { n:\"SXVDEx\" },\n0x0103: { n:\"SXFormula\" },\n0x0122: { n:\"SXDBEx\" },\n0x0137: { n:\"RRDInsDel\" },\n0x0138: { n:\"RRDHead\" },\n0x013b: { n:\"RRDChgCell\" },\n0x013d: { n:\"RRTabId\", f:parseuint16a },\n0x013e: { n:\"RRDRenSheet\" },\n0x013f: { n:\"RRSort\" },\n0x0140: { n:\"RRDMove\" },\n0x014a: { n:\"RRFormat\" },\n0x014b: { n:\"RRAutoFmt\" },\n0x014d: { n:\"RRInsertSh\" },\n0x014e: { n:\"RRDMoveBegin\" },\n0x014f: { n:\"RRDMoveEnd\" },\n0x0150: { n:\"RRDInsDelBegin\" },\n0x0151: { n:\"RRDInsDelEnd\" },\n0x0152: { n:\"RRDConflict\" },\n0x0153: { n:\"RRDDefName\" },\n0x0154: { n:\"RRDRstEtxp\" },\n0x015f: { n:\"LRng\" },\n0x0160: { n:\"UsesELFs\", f:parsebool },\n0x0161: { n:\"DSF\", f:parsenoop2 },\n0x0191: { n:\"CUsr\" },\n0x0192: { n:\"CbUsr\" },\n0x0193: { n:\"UsrInfo\" },\n0x0194: { n:\"UsrExcl\" },\n0x0195: { n:\"FileLock\" },\n0x0196: { n:\"RRDInfo\" },\n0x0197: { n:\"BCUsrs\" },\n0x0198: { n:\"UsrChk\" },\n0x01a9: { n:\"UserBView\" },\n0x01aa: { n:\"UserSViewBegin\" },\n0x01ab: { n:\"UserSViewEnd\" },\n0x01ac: { n:\"RRDUserView\" },\n0x01ad: { n:\"Qsi\" },\n0x01ae: { n:\"SupBook\", f:parse_SupBook },\n0x01af: { n:\"Prot4Rev\", f:parsebool },\n0x01b0: { n:\"CondFmt\" },\n0x01b1: { n:\"CF\" },\n0x01b2: { n:\"DVal\" },\n0x01b5: { n:\"DConBin\" },\n0x01b6: { n:\"TxO\", f:parse_TxO },\n0x01b7: { n:\"RefreshAll\", f:parsebool },\n0x01b8: { n:\"HLink\", f:parse_HLink },\n0x01b9: { n:\"Lel\" },\n0x01ba: { n:\"CodeName\", f:parse_XLUnicodeString },\n0x01bb: { n:\"SXFDBType\" },\n0x01bc: { n:\"Prot4RevPass\", f:parseuint16 },\n0x01bd: { n:\"ObNoMacros\" },\n0x01be: { n:\"Dv\" },\n0x01c0: { n:\"Excel9File\", f:parsenoop2 },\n0x01c1: { n:\"RecalcId\", f:parse_RecalcId, r:2},\n0x01c2: { n:\"EntExU2\", f:parsenoop2 },\n0x0200: { n:\"Dimensions\", f:parse_Dimensions },\n0x0201: { n:\"Blank\", f:parse_Blank },\n0x0203: { n:\"Number\", f:parse_Number },\n0x0204: { n:\"Label\", f:parse_Label },\n0x0205: { n:\"BoolErr\", f:parse_BoolErr },\n0x0206: { n:\"Formula\", f:parse_Formula },\n0x0207: { n:\"String\", f:parse_String },\n0x0208: { n:'Row', f:parse_Row },\n0x020b: { n:\"Index\" },\n0x0221: { n:\"Array\", f:parse_Array },\n0x0225: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0236: { n:\"Table\" },\n0x023e: { n:\"Window2\", f:parse_Window2 },\n0x027e: { n:\"RK\", f:parse_RK },\n0x0293: { n:\"Style\" },\n0x0406: { n:\"Formula\", f:parse_Formula },\n0x0418: { n:\"BigName\" },\n0x041e: { n:\"Format\", f:parse_Format },\n0x043c: { n:\"ContinueBigName\" },\n0x04bc: { n:\"ShrFmla\", f:parse_ShrFmla },\n0x0800: { n:\"HLinkTooltip\", f:parse_HLinkTooltip },\n0x0801: { n:\"WebPub\" },\n0x0802: { n:\"QsiSXTag\" },\n0x0803: { n:\"DBQueryExt\" },\n0x0804: { n:\"ExtString\" },\n0x0805: { n:\"TxtQry\" },\n0x0806: { n:\"Qsir\" },\n0x0807: { n:\"Qsif\" },\n0x0808: { n:\"RRDTQSIF\" },\n0x0809: { n:'BOF', f:parse_BOF },\n0x080a: { n:\"OleDbConn\" },\n0x080b: { n:\"WOpt\" },\n0x080c: { n:\"SXViewEx\" },\n0x080d: { n:\"SXTH\" },\n0x080e: { n:\"SXPIEx\" },\n0x080f: { n:\"SXVDTEx\" },\n0x0810: { n:\"SXViewEx9\" },\n0x0812: { n:\"ContinueFrt\" },\n0x0813: { n:\"RealTimeData\" },\n0x0850: { n:\"ChartFrtInfo\" },\n0x0851: { n:\"FrtWrapper\" },\n0x0852: { n:\"StartBlock\" },\n0x0853: { n:\"EndBlock\" },\n0x0854: { n:\"StartObject\" },\n0x0855: { n:\"EndObject\" },\n0x0856: { n:\"CatLab\" },\n0x0857: { n:\"YMult\" },\n0x0858: { n:\"SXViewLink\" },\n0x0859: { n:\"PivotChartBits\" },\n0x085a: { n:\"FrtFontList\" },\n0x0862: { n:\"SheetExt\" },\n0x0863: { n:\"BookExt\", r:12},\n0x0864: { n:\"SXAddl\" },\n0x0865: { n:\"CrErr\" },\n0x0866: { n:\"HFPicture\" },\n0x0867: { n:'FeatHdr', f:parsenoop2 },\n0x0868: { n:\"Feat\" },\n0x086a: { n:\"DataLabExt\" },\n0x086b: { n:\"DataLabExtContents\" },\n0x086c: { n:\"CellWatch\" },\n0x0871: { n:\"FeatHdr11\" },\n0x0872: { n:\"Feature11\" },\n0x0874: { n:\"DropDownObjIds\" },\n0x0875: { n:\"ContinueFrt11\" },\n0x0876: { n:\"DConn\" },\n0x0877: { n:\"List12\" },\n0x0878: { n:\"Feature12\" },\n0x0879: { n:\"CondFmt12\" },\n0x087a: { n:\"CF12\" },\n0x087b: { n:\"CFEx\" },\n0x087c: { n:\"XFCRC\", f:parse_XFCRC, r:12 },\n0x087d: { n:\"XFExt\", f:parse_XFExt, r:12 },\n0x087e: { n:\"AutoFilter12\" },\n0x087f: { n:\"ContinueFrt12\" },\n0x0884: { n:\"MDTInfo\" },\n0x0885: { n:\"MDXStr\" },\n0x0886: { n:\"MDXTuple\" },\n0x0887: { n:\"MDXSet\" },\n0x0888: { n:\"MDXProp\" },\n0x0889: { n:\"MDXKPI\" },\n0x088a: { n:\"MDB\" },\n0x088b: { n:\"PLV\" },\n0x088c: { n:\"Compat12\", f:parsebool, r:12 },\n0x088d: { n:\"DXF\" },\n0x088e: { n:\"TableStyles\", r:12 },\n0x088f: { n:\"TableStyle\" },\n0x0890: { n:\"TableStyleElement\" },\n0x0892: { n:\"StyleExt\" },\n0x0893: { n:\"NamePublish\" },\n0x0894: { n:\"NameCmt\", f:parse_NameCmt, r:12 },\n0x0895: { n:\"SortData\" },\n0x0896: { n:\"Theme\", f:parse_Theme, r:12 },\n0x0897: { n:\"GUIDTypeLib\" },\n0x0898: { n:\"FnGrp12\" },\n0x0899: { n:\"NameFnGrp12\" },\n0x089a: { n:\"MTRSettings\", f:parse_MTRSettings, r:12 },\n0x089b: { n:\"CompressPictures\", f:parsenoop2 },\n0x089c: { n:\"HeaderFooter\" },\n0x089d: { n:\"CrtLayout12\" },\n0x089e: { n:\"CrtMlFrt\" },\n0x089f: { n:\"CrtMlFrtContinue\" },\n0x08a3: { n:\"ForceFullCalculation\", f:parse_ForceFullCalculation },\n0x08a4: { n:\"ShapePropsStream\" },\n0x08a5: { n:\"TextPropsStream\" },\n0x08a6: { n:\"RichTextStream\" },\n0x08a7: { n:\"CrtLayout12A\" },\n0x1001: { n:\"Units\" },\n0x1002: { n:\"Chart\" },\n0x1003: { n:\"Series\" },\n0x1006: { n:\"DataFormat\" },\n0x1007: { n:\"LineFormat\" },\n0x1009: { n:\"MarkerFormat\" },\n0x100a: { n:\"AreaFormat\" },\n0x100b: { n:\"PieFormat\" },\n0x100c: { n:\"AttachedLabel\" },\n0x100d: { n:\"SeriesText\" },\n0x1014: { n:\"ChartFormat\" },\n0x1015: { n:\"Legend\" },\n0x1016: { n:\"SeriesList\" },\n0x1017: { n:\"Bar\" },\n0x1018: { n:\"Line\" },\n0x1019: { n:\"Pie\" },\n0x101a: { n:\"Area\" },\n0x101b: { n:\"Scatter\" },\n0x101c: { n:\"CrtLine\" },\n0x101d: { n:\"Axis\" },\n0x101e: { n:\"Tick\" },\n0x101f: { n:\"ValueRange\" },\n0x1020: { n:\"CatSerRange\" },\n0x1021: { n:\"AxisLine\" },\n0x1022: { n:\"CrtLink\" },\n0x1024: { n:\"DefaultText\" },\n0x1025: { n:\"Text\" },\n0x1026: { n:\"FontX\", f:parseuint16 },\n0x1027: { n:\"ObjectLink\" },\n0x1032: { n:\"Frame\" },\n0x1033: { n:\"Begin\" },\n0x1034: { n:\"End\" },\n0x1035: { n:\"PlotArea\" },\n0x103a: { n:\"Chart3d\" },\n0x103c: { n:\"PicF\" },\n0x103d: { n:\"DropBar\" },\n0x103e: { n:\"Radar\" },\n0x103f: { n:\"Surf\" },\n0x1040: { n:\"RadarArea\" },\n0x1041: { n:\"AxisParent\" },\n0x1043: { n:\"LegendException\" },\n0x1044: { n:\"ShtProps\", f:parse_ShtProps },\n0x1045: { n:\"SerToCrt\" },\n0x1046: { n:\"AxesUsed\" },\n0x1048: { n:\"SBaseRef\" },\n0x104a: { n:\"SerParent\" },\n0x104b: { n:\"SerAuxTrend\" },\n0x104e: { n:\"IFmtRecord\" },\n0x104f: { n:\"Pos\" },\n0x1050: { n:\"AlRuns\" },\n0x1051: { n:\"BRAI\" },\n0x105b: { n:\"SerAuxErrBar\" },\n0x105c: { n:\"ClrtClient\", f:parse_ClrtClient },\n0x105d: { n:\"SerFmt\" },\n0x105f: { n:\"Chart3DBarShape\" },\n0x1060: { n:\"Fbi\" },\n0x1061: { n:\"BopPop\" },\n0x1062: { n:\"AxcExt\" },\n0x1063: { n:\"Dat\" },\n0x1064: { n:\"PlotGrowth\" },\n0x1065: { n:\"SIIndex\" },\n0x1066: { n:\"GelFrame\" },\n0x1067: { n:\"BopPopCustom\" },\n0x1068: { n:\"Fbi2\" },\n\n0x0000: { n:\"Dimensions\", f:parse_Dimensions },\n0x0002: { n:\"BIFF2INT\", f:parse_BIFF2INT },\n0x0005: { n:\"BoolErr\", f:parse_BoolErr },\n0x0007: { n:\"String\", f:parse_BIFF2STRING },\n0x0008: { n:\"BIFF2ROW\" },\n0x000b: { n:\"Index\" },\n0x0016: { n:\"ExternCount\", f:parseuint16 },\n0x001e: { n:\"BIFF2FORMAT\", f:parse_BIFF2Format },\n0x001f: { n:\"BIFF2FMTCNT\" }, /* 16-bit cnt of BIFF2FORMAT records */\n0x0020: { n:\"BIFF2COLINFO\" },\n0x0021: { n:\"Array\", f:parse_Array },\n0x0025: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0032: { n:\"BIFF2FONTXTRA\", f:parse_BIFF2FONTXTRA },\n0x0034: { n:\"DDEObjName\" },\n0x003e: { n:\"BIFF2WINDOW2\" },\n0x0043: { n:\"BIFF2XF\" },\n0x0045: { n:\"BIFF2FONTCLR\" },\n0x0056: { n:\"BIFF4FMTCNT\" }, /* 16-bit cnt, similar to BIFF2 */\n0x007e: { n:\"RK\" }, /* Not necessarily same as 0x027e */\n0x007f: { n:\"ImData\", f:parse_ImData },\n0x0087: { n:\"Addin\" },\n0x0088: { n:\"Edg\" },\n0x0089: { n:\"Pub\" },\n0x0091: { n:\"Sub\" },\n0x0094: { n:\"LHRecord\" },\n0x0095: { n:\"LHNGraph\" },\n0x0096: { n:\"Sound\" },\n0x00a9: { n:\"CoordList\" },\n0x00ab: { n:\"GCW\" },\n0x00bc: { n:\"ShrFmla\" }, /* Not necessarily same as 0x04bc */\n0x00bf: { n:\"ToolbarHdr\" },\n0x00c0: { n:\"ToolbarEnd\" },\n0x00c2: { n:\"AddMenu\" },\n0x00c3: { n:\"DelMenu\" },\n0x00d6: { n:\"RString\", f:parse_RString },\n0x00df: { n:\"UDDesc\" },\n0x00ea: { n:\"TabIdConf\" },\n0x0162: { n:\"XL5Modify\" },\n0x01a5: { n:\"FileSharing2\" },\n0x0209: { n:'BOF', f:parse_BOF },\n0x0218: { n:\"Lbl\", f:parse_Lbl },\n0x0223: { n:\"ExternName\", f:parse_ExternName },\n0x0231: { n:\"Font\" },\n0x0243: { n:\"BIFF3XF\" },\n0x0409: { n:'BOF', f:parse_BOF },\n0x0443: { n:\"BIFF4XF\" },\n0x086d: { n:\"FeatInfo\" },\n0x0873: { n:\"FeatInfo11\" },\n0x0881: { n:\"SXAddl12\" },\n0x08c0: { n:\"AutoWebPub\" },\n0x08c1: { n:\"ListObj\" },\n0x08c2: { n:\"ListField\" },\n0x08c3: { n:\"ListDV\" },\n0x08c4: { n:\"ListCondFmt\" },\n0x08c5: { n:\"ListCF\" },\n0x08c6: { n:\"FMQry\" },\n0x08c7: { n:\"FMSQry\" },\n0x08c8: { n:\"PLV\" },\n0x08c9: { n:\"LnExt\" },\n0x08ca: { n:\"MkrExt\" },\n0x08cb: { n:\"CrtCoopt\" },\n0x08d6: { n:\"FRTArchId$\", r:12 },\n\n0x7262: {}\n};\n\nvar XLSRE = evert_key(XLSRecordEnum, 'n');\nfunction write_biff_rec(ba, type, payload, length) {\n\tvar t = +type || +XLSRE[type];\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba, type, payload, length) {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = +type || +XLSRE[type];\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r, c) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r, c, val, t) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tif(t == 'e') { out.write_shift(1, val); out.write_shift(1, 1); }\n\telse { out.write_shift(1, val?1:0); out.write_shift(1, 0); }\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r, c, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba, cell, R, C) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba, ws, idx, opts) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb, opts) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i<wb.SheetNames.length;++i) if(wb.SheetNames[i] == o.sheet) idx=i;\n\tif(idx == 0 && !!o.sheet && wb.SheetNames[0] != o.sheet) throw new Error(\"Sheet not found: \" + o.sheet);\n\twrite_biff_rec(ba, 0x0009, write_BOF(wb, 0x10, o));\n\t/* ... */\n\twrite_ws_biff2(ba, wb.Sheets[wb.SheetNames[idx]], idx, o, wb);\n\t/* ... */\n\twrite_biff_rec(ba, 0x000A);\n\treturn ba.end();\n}\n\nfunction write_FONTS_biff8(ba, data, opts) {\n\twrite_biff_rec(ba, \"Font\", write_Font({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Arial\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}, opts));\n}\n\n\nfunction write_FMTS_biff8(ba, NF, opts) {\n\tif(!NF) return;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, \"Format\", write_Format(i, NF[i], opts));\n\t});\n}\n\nfunction write_FEAT(ba, ws) {\n\t/* [MS-XLS] 2.4.112 */\n\tvar o = new_buf(19);\n\to.write_shift(4, 0x867); o.write_shift(4, 0); o.write_shift(4, 0);\n\to.write_shift(2, 3); o.write_shift(1, 1); o.write_shift(4, 0);\n\twrite_biff_rec(ba, \"FeatHdr\", o);\n\t/* [MS-XLS] 2.4.111 */\n\to = new_buf(39);\n\to.write_shift(4, 0x868); o.write_shift(4, 0); o.write_shift(4, 0);\n\to.write_shift(2, 3); o.write_shift(1, 0); o.write_shift(4, 0);\n\to.write_shift(2, 1); o.write_shift(4, 4); o.write_shift(2, 0);\n\twrite_Ref8U(safe_decode_range(ws['!ref']||\"A1\"), o);\n\to.write_shift(4, 4);\n\twrite_biff_rec(ba, \"Feat\", o);\n}\n\nfunction write_CELLXFS_biff8(ba, opts) {\n\tfor(var i = 0; i < 16; ++i) write_biff_rec(ba, \"XF\", write_XF({numFmtId:0, style:true}, 0, opts));\n\topts.cellXfs.forEach(function(c) {\n\t\twrite_biff_rec(ba, \"XF\", write_XF(c, 0, opts));\n\t});\n}\n\nfunction write_ws_biff8_hlinks(ba, ws) {\n\tfor(var R=0; R<ws['!links'].length; ++R) {\n\t\tvar HL = ws['!links'][R];\n\t\twrite_biff_rec(ba, \"HLink\", write_HLink(HL));\n\t\tif(HL[1].Tooltip) write_biff_rec(ba, \"HLinkTooltip\", write_HLinkTooltip(HL));\n\t}\n\tdelete ws['!links'];\n}\n\nfunction write_ws_biff8_cell(ba, cell, R, C, opts) {\n\tvar os = 16 + get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.v == null && !cell.bf) {\n\t\twrite_biff_rec(ba, \"Blank\", write_XLSCell(R, C, os));\n\t\treturn;\n\t}\n\tif(cell.bf) write_biff_rec(ba, \"Formula\", write_Formula(cell, R, C, opts, os));\n\telse switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\t/* TODO: emit RK as appropriate */\n\t\t\twrite_biff_rec(ba, \"Number\", write_Number(R, C, v, os, opts));\n\t\t\tbreak;\n\t\tcase 'b': case 'e':\n\t\t\twrite_biff_rec(ba, 0x0205, write_BoolErr(R, C, cell.v, os, opts, cell.t));\n\t\t\tbreak;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvar isst = get_sst_id(opts.Strings, cell.v, opts.revStrings);\n\t\t\t\twrite_biff_rec(ba, \"LabelSst\", write_LabelSst(R, C, isst, os, opts));\n\t\t\t} else write_biff_rec(ba, \"Label\", write_Label(R, C, cell.v, os, opts));\n\t\t\tbreak;\n\t\tdefault:\n\t\t\twrite_biff_rec(ba, \"Blank\", write_XLSCell(R, C, os));\n\t}\n}\n\n/* [MS-XLS] 2.1.7.20.5 */\nfunction write_ws_biff8(idx, opts, wb) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar _WB = ((wb||{}).Workbook||{});\n\tvar _sheet = ((_WB.Sheets||[])[idx]||{});\n\tvar dense = Array.isArray(ws);\n\tvar b8 = opts.biff == 8;\n\tvar ref, rr = \"\", cols = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, \"CalcMode\", writeuint16(1));\n\twrite_biff_rec(ba, \"CalcCount\", writeuint16(100));\n\twrite_biff_rec(ba, \"CalcRefMode\", writebool(true));\n\twrite_biff_rec(ba, \"CalcIter\", writebool(false));\n\twrite_biff_rec(ba, \"CalcDelta\", write_Xnum(0.001));\n\twrite_biff_rec(ba, \"CalcSaveRecalc\", writebool(true));\n\twrite_biff_rec(ba, \"PrintRowCol\", writebool(false));\n\twrite_biff_rec(ba, \"PrintGrid\", writebool(false));\n\twrite_biff_rec(ba, \"GridSet\", writeuint16(1));\n\twrite_biff_rec(ba, \"Guts\", write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, \"HCenter\", writebool(false));\n\twrite_biff_rec(ba, \"VCenter\", writebool(false));\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, \"Window2\", write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, \"MergeCells\", write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, \"EOF\");\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb, bufs, opts) {\n\tvar A = buf_array();\n\tvar _WB = ((wb||{}).Workbook||{});\n\tvar _sheets = (_WB.Sheets||[]);\n\tvar _wb = _WB.WBProps||{};\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, \"Addin\");\n\twrite_biff_rec(A, \"InterfaceHdr\", b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, \"Mms\", writezeroes(2));\n\tif(b5) write_biff_rec(A, \"ToolbarHdr\");\n\tif(b5) write_biff_rec(A, \"ToolbarEnd\");\n\twrite_biff_rec(A, \"InterfaceEnd\");\n\twrite_biff_rec(A, \"WriteAccess\", write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, \"CodePage\", writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, \"DSF\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Excel9File\");\n\twrite_biff_rec(A, \"RRTabId\", write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, \"ObProj\");\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, \"BuiltInFnGroupCount\", writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, \"WinProtect\", writebool(false));\n\twrite_biff_rec(A, \"Protect\", writebool(false));\n\twrite_biff_rec(A, \"Password\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Prot4Rev\", writebool(false));\n\tif(b8) write_biff_rec(A, \"Prot4RevPass\", writeuint16(0));\n\twrite_biff_rec(A, \"Window1\", write_Window1(opts));\n\twrite_biff_rec(A, \"Backup\", writebool(false));\n\twrite_biff_rec(A, \"HideObj\", writeuint16(0));\n\twrite_biff_rec(A, \"Date1904\", writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, \"CalcPrecision\", writebool(true));\n\tif(b8) write_biff_rec(A, \"RefreshAll\", writebool(false));\n\twrite_biff_rec(A, \"BookBool\", writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, \"UsesELFs\", writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, \"Country\", write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, \"SST\", write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, \"EOF\");\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet = _sheets[j] || ({});\n\t\twrite_biff_rec(B, \"BoundSheet8\", write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn __toBuffer([out]);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb, opts) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = []; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn __toBuffer([bufs]);\n}\n\nfunction write_biff_buf(wb, opts) {\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nvar HTML_ = (function() {\n\tfunction html_to_sheet(str, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tstr = str.replace(/<!--.*?-->/g, \"\");\n\t\tvar mtch = str.match(/<table/i);\n\t\tif(!mtch) throw new Error(\"Invalid HTML: could not find <table>\");\n\t\tvar mtch2 = str.match(/<\\/table/i);\n\t\tvar i = mtch.index, j = mtch2 && mtch2.index || str.length;\n\t\tvar rows = split_regex(str.slice(i, j), /(:?<tr[^>]*>)/i, \"<tr>\");\n\t\tvar R = -1, C = 0, RS = 0, CS = 0;\n\t\tvar range = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\t\tvar merges = [];\n\t\tfor(i = 0; i < rows.length; ++i) {\n\t\t\tvar row = rows[i].trim();\n\t\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\t\tif(hd == \"<tr\") { ++R; if(opts.sheetRows && opts.sheetRows <= R) { --R; break; } C = 0; continue; }\n\t\t\tif(hd != \"<td\" && hd != \"<th\") continue;\n\t\t\tvar cells = row.split(/<\\/t[dh]>/i);\n\t\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\t\tvar cell = cells[j].trim();\n\t\t\t\tif(!cell.match(/<t[dh]/i)) continue;\n\t\t\t\tvar m = cell, cc = 0;\n\t\t\t\t/* TODO: parse styles etc */\n\t\t\t\twhile(m.charAt(0) == \"<\" && (cc = m.indexOf(\">\")) > -1) m = m.slice(cc+1);\n\t\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\t\tvar _merge = merges[midx];\n\t\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t\t}\n\t\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\t\tvar _t = tag.t || \"\";\n\t\t\t\t/* TODO: generate stub cells */\n\t\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\t\tm = htmldecode(m);\n\t\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\t\tif(!m.length) continue;\n\t\t\t\tvar o = {t:'s', v:m};\n\t\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(m)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\t\tC += CS;\n\t\t\t}\n\t\t}\n\t\tws['!ref'] = encode_range(range);\n\t\tif(merges.length) ws[\"!merges\"] = merges;\n\t\treturn ws;\n\t}\n\tfunction html_to_book(str, opts) {\n\t\treturn sheet_to_workbook(html_to_sheet(str, opts), opts);\n\t}\n\tfunction make_html_row(ws, r, R, o) {\n\t\tvar M = (ws['!merges'] ||[]);\n\t\tvar oo = [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tvar RS = 0, CS = 0;\n\t\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t\t}\n\t\t\tif(RS < 0) continue;\n\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t/* TODO: html entities */\n\t\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\t\tvar sp = ({});\n\t\t\tif(RS > 1) sp.rowspan = RS;\n\t\t\tif(CS > 1) sp.colspan = CS;\n\t\t\tsp.t = cell && cell.t || 'z';\n\t\t\tif(o.editable) w = '<span contenteditable=\"true\">' + w + '</span>';\n\t\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\t\tif(sp.t != \"z\") { sp.v = cell.v; if(cell.z != null) sp.z = cell.z; }\n\t\t\too.push(writextag('td', w, sp));\n\t\t}\n\t\tvar preamble = \"<tr>\";\n\t\treturn preamble + oo.join(\"\") + \"</tr>\";\n\t}\n\tfunction make_html_preamble(ws, R, o) {\n\t\tvar out = [];\n\t\treturn out.join(\"\") + '<table' + (o && o.id ? ' id=\"' + o.id + '\"' : \"\") + '>';\n\t}\n\tvar _BEGIN = '<html><head><meta charset=\"utf-8\"/><title>SheetJS Table Export';\n\tvar _END = '';\n\tfunction sheet_to_html(ws, opts/*, wb:?Workbook*/) {\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : _BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : _END;\n\t\tvar out = [header];\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tout.push(make_html_preamble(ws, r, o));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\t\tout.push(\"\" + footer);\n\t\treturn out.join(\"\");\n\n\t}\n\treturn {\n\t\tto_workbook: html_to_book,\n\t\tto_sheet: html_to_sheet,\n\t\t_row: make_html_row,\n\t\tBEGIN: _BEGIN,\n\t\tEND: _END,\n\t\t_preamble: make_html_preamble,\n\t\tfrom_sheet: sheet_to_html\n\t};\n})();\n\nfunction sheet_add_dom(ws, table, _opts) {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\tvar rows = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges = [], midx = 0;\n\tvar rowinfo = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts = (row.children);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v = elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z = elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o = {t:'s', v:v};\n\t\t\tvar _t = elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table, _opts) {\n\tvar opts = _opts || {};\n\tvar ws = opts.dense ? ([]) : ({});\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table, opts) {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element) {\n\tvar display = '';\n\tvar get_computed_style = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style.display; // Fallback for cases when getComputedStyle is not available (e.g. an old browser or some Node.js environments) or doesn't work (e.g. if the element is not inserted to a document)\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element) {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nvar parse_content_xml = (function() {\n\n\tvar parse_text_p = function(text) {\n\t\t/* 6.1.2 White Space Characters */\n\t\tvar fixed = text\n\t\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t\t.replace(//g,\" \")\n\t\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t\t.replace(//g,\"\\n\");\n\t\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\t\treturn [v];\n\t};\n\n\tvar number_formats = {\n\t\t/* ods name: [short ssf fmt, long ssf fmt] */\n\t\tday: [\"d\", \"dd\"],\n\t\tmonth: [\"m\", \"mm\"],\n\t\tyear: [\"y\", \"yy\"],\n\t\thours: [\"h\", \"hh\"],\n\t\tminutes: [\"m\", \"mm\"],\n\t\tseconds: [\"s\", \"ss\"],\n\t\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\t\tera: [\"e\", \"ee\"],\n\t\t/* there is no native representation of LO \"Q\" format */\n\t\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n\t};\n\n\treturn function pcx(d, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state = [], tmp;\n\t\tvar tag;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag;\n\t\tvar rowtag;\n\t\tvar Sheets = {}, SheetNames = [];\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tvar Rn, q;\n\t\tvar ctag = ({value:\"\"});\n\t\tvar textp = \"\", textpidx = 0, textptag;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({});\n\t\tvar _Ref = [\"\", \"\"];\n\t\tvar comments = [], comment = ({});\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]) : ({}); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null});\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({});\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null});\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\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\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({});\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': //3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) comment.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]});\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = atag.href; delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ';\n\treturn function wso() {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods = (function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text) {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb, i) {\n\t\t/* Section 9 Tables */\n\t\tvar o = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']);\n\t\tvar marr = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(R = 0; R < range.s.r; ++R) o.push(' \\n');\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target; _tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table */\n\t\to.push(' \\n'); // style:master-page-name=\"mp1\">\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") o.push('\\n');\n\t\telse o.push('\\n');\n\t\twrite_automatic_styles_ods(o);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb, opts) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\nvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest = [];\n\tvar rdf = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, write_meta_ods());\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\nfunction write_sheet_index(wb, sheet) {\n\tif(!sheet) return 0;\n\tvar idx = wb.SheetNames.indexOf(sheet);\n\tif(idx == -1) throw new Error(\"Sheet not found: \" + sheet);\n\treturn idx;\n}\n\nfunction write_obj_str(factory) {\n\treturn function write_str(wb, o) {\n\t\tvar idx = write_sheet_index(wb, o.sheet);\n\t\treturn factory.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb);\n\t};\n}\n\nvar write_htm_str = write_obj_str(HTML_);\nvar write_csv_str = write_obj_str({from_sheet:sheet_to_csv});\nvar write_slk_str = write_obj_str(typeof SYLK !== \"undefined\" ? SYLK : {});\nvar write_dif_str = write_obj_str(typeof DIF !== \"undefined\" ? DIF : {});\nvar write_prn_str = write_obj_str(typeof PRN !== \"undefined\" ? PRN : {});\nvar write_rtf_str = write_obj_str(typeof RTF !== \"undefined\" ? RTF : {});\nvar write_txt_str = write_obj_str({from_sheet:sheet_to_txt});\nvar write_dbf_buf = write_obj_str(typeof DBF !== \"undefined\" ? DBF : {});\nvar write_eth_str = write_obj_str(typeof ETH !== \"undefined\" ? ETH : {});\n\nfunction fix_opts_func(defaults) {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nvar fix_read_opts = function(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n};\n\nvar fix_write_opts = fix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\nfunction get_sheet_type(n) {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, stype, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments */\n\t\tvar comments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tvar dfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tcomments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments);\n\t\t\t}\n\t\t});\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x) { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip, opts) {\n\tmake_ssf(SSF);\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({});\n\tvar styles = ({});\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({});\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({});\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile);\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: SSF.get_table()\n\t});\n\tif(opts && opts.bookFiles) {\n\t\tout.keys = entries;\n\t\tout.files = zip.files;\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts) {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\nif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\nif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb, opts) {\n\t_shapeid = 1024;\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = []; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\nvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\nf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar cf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\nfunction firstbyte(f,o) {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64.decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb, opts) {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data, opts) {\nvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data, o) {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data, o) {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64.decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data, o) {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64.decode(d);\n\td = cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data) {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data, opts) {\n\treset_cp();\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), opts);\n\tvar d = data, n = [0,0,0,0], str = false;\n\tvar o = opts||{};\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x04) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49: if(n[1] === 0x44) return read_wb_ID(d, o); break;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF: if(n[1] === 0xFE) { return read_utf16(d, o); } break;\n\t\tcase 0x00: if(n[1] === 0x00 && n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o); break;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t}\n\tif(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb, o) {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\nfunction write_zip_type(wb, opts) {\n\tvar o = opts||{};\n\tvar z = write_zip(wb, o);\n\tvar oopts = {};\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = has_buf ? \"nodebuffer\" : \"string\";\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = has_buf ? \"nodebuffer\" : \"string\"; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: {\"nodebuffer\": \"buffer\", \"string\": \"binary\"}[oopts.type] || oopts.type}) : z.generate(oopts);\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(out) : out;\n}\n\nfunction write_cfb_type(wb, opts) {\n\tvar o = opts||{};\n\tvar cfb = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out, opts, bom) {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64.encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSync(wb, opts) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = opts||{};\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out = (writeSync(wb, o)); o.type = \"array\"; return s2ab(out); }\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(write_slk_str(wb, o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(write_htm_str(wb, o), o);\n\t\tcase 'txt': return write_stxt_type(write_txt_str(wb, o), o);\n\t\tcase 'csv': return write_string_type(write_csv_str(wb, o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(write_dif_str(wb, o), o);\n\t\tcase 'dbf': return write_binary_type(write_dbf_buf(wb, o), o);\n\t\tcase 'prn': return write_string_type(write_prn_str(wb, o), o);\n\t\tcase 'rtf': return write_string_type(write_rtf_str(wb, o), o);\n\t\tcase 'eth': return write_string_type(write_eth_str(wb, o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb, filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileAsync(filename, wb, opts, cb) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\nfunction make_json_row(sheet, r, R, cols, header, hdr, dense, o) {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = void 0; break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw || (o.rawNumbers && val.t == \"n\") ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet, opts) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols = [];\n\tvar out = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0, CC = 0;\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = 0;\n\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet, r, R, cols, fs, rs, FS, o) {\n\tvar isempty = true;\n\tvar row = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet, opts) {\n\tvar out = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tout.push(row + RS);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet, opts) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet) {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols = [], C;\n\tvar cmds = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws, js, opts) {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws = _ws || ({});\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell;\n\tvar range = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = utils.sheet_get_cell(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || SSF._table[14]);\n\t\t\t\t}\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v});\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js, opts) { return sheet_add_json(null, js, opts); }\n\nvar utils = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tget_formulae: sheet_to_formulae,\n\tmake_csv: sheet_to_csv,\n\tmake_json: sheet_to_json,\n\tmake_formulae: sheet_to_formulae,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: HTML_.from_sheet,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json\n};\n\n(function(utils) {\nutils.consts = utils.consts || {};\nfunction add_consts(R/*Array*/) { R.forEach(function(a){ utils.consts[a[0]] = a[1]; }); }\n\nfunction get_default(x, y, z) { return x[y] != null ? x[y] : (x[y] = z); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws, R, C) {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\nutils.sheet_get_cell = ws_get_cell_stub;\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb, sh) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nutils.book_new = function() {\n\treturn { SheetNames: [], Sheets: {} };\n};\n\n/* add a worksheet to the end of a given workbook */\nutils.book_append_sheet = function(wb, ws, name) {\n\tif(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n};\n\n/* set sheet visibility (visible/hidden/very hidden) */\nutils.book_set_sheet_visibility = function(wb, sh, vis) {\n\tget_default(wb,\"Workbook\",{});\n\tget_default(wb.Workbook,\"Sheets\",[]);\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tget_default(wb.Workbook.Sheets,idx, {});\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n};\nadd_consts([\n\t[\"SHEET_VISIBLE\", 0],\n\t[\"SHEET_HIDDEN\", 1],\n\t[\"SHEET_VERY_HIDDEN\", 2]\n]);\n\n/* set number format */\nutils.cell_set_number_format = function(cell, fmt) {\n\tcell.z = fmt;\n\treturn cell;\n};\n\n/* set cell hyperlink */\nutils.cell_set_hyperlink = function(cell, target, tooltip) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target });\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n};\nutils.cell_set_internal_link = function(cell, range, tooltip) { return utils.cell_set_hyperlink(cell, \"#\" + range, tooltip); };\n\n/* add to cell comments */\nutils.cell_add_comment = function(cell, text, author) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n};\n\n/* set array formula and flush related cells */\nutils.sheet_set_array_formula = function(ws, range, formula) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) cell.f = formula;\n\t}\n\treturn ws;\n};\n\nreturn utils;\n})(utils);\n\nif(has_buf && typeof require != 'undefined') (function() {\n\tvar Readable = require('stream').Readable;\n\n\tvar write_csv_stream = function(sheet, opts) {\n\t\tvar stream = Readable();\n\t\tvar o = opts == null ? {} : opts;\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\t\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\t\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\t\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\t\tvar row = \"\", cols = [];\n\t\to.dense = Array.isArray(sheet);\n\t\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\t\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\t\tvar R = r.s.r;\n\t\tvar BOM = false;\n\t\tstream._read = function() {\n\t\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t++R;\n\t\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\t\tif(row != null) {\n\t\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\t\tstream.push(row + RS);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_html_stream = function(ws, opts) {\n\t\tvar stream = Readable();\n\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : HTML_.BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : HTML_.END;\n\t\tstream.push(header);\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tstream.push(HTML_._preamble(ws, r, o));\n\t\tvar R = r.s.r;\n\t\tvar end = false;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) {\n\t\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\t\treturn stream.push(null);\n\t\t\t}\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\tstream.push(HTML_._row(ws, r, R, o));\n\t\t\t\t++R;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_json_stream = function(sheet, opts) {\n\t\tvar stream = Readable({objectMode:true});\n\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\t\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tvar o = opts || {};\n\t\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\t\tif(o.header === 1) header = 1;\n\t\telse if(o.header === \"A\") header = 2;\n\t\telse if(Array.isArray(o.header)) header = 3;\n\t\tswitch(typeof range) {\n\t\t\tcase 'string': r = safe_decode_range(range); break;\n\t\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\t\tdefault: r = range;\n\t\t}\n\t\tif(header > 0) offset = 0;\n\t\tvar rr = encode_row(r.s.r);\n\t\tvar cols = [];\n\t\tvar counter = 0;\n\t\tvar dense = Array.isArray(sheet);\n\t\tvar R = r.s.r, C = 0, CC = 0;\n\t\tif(dense && !sheet[R]) sheet[R] = [];\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tcols[C] = encode_col(C);\n\t\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\t\tswitch(header) {\n\t\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\t\tdefault:\n\t\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\t\tcounter = 0;\n\t\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\t\thdr[C] = vv;\n\t\t\t}\n\t\t}\n\t\tR = r.s.r + offset;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t//if ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t\t++R;\n\t\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\t\tstream.push(row.row);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tXLSX.stream = {\n\t\tto_json: write_json_stream,\n\t\tto_html: write_html_stream,\n\t\tto_csv: write_csv_stream\n\t};\n})();\n\nif(typeof parse_xlscfb !== \"undefined\") XLSX.parse_xlscfb = parse_xlscfb;\nXLSX.parse_zip = parse_zip;\nXLSX.read = readSync; //xlsread\nXLSX.readFile = readFileSync; //readFile\nXLSX.readFileSync = readFileSync;\nXLSX.write = writeSync;\nXLSX.writeFile = writeFileSync;\nXLSX.writeFileSync = writeFileSync;\nXLSX.writeFileAsync = writeFileAsync;\nXLSX.utils = utils;\nXLSX.SSF = SSF;\nif(typeof CFB !== \"undefined\") XLSX.CFB = CFB;\n}\n/*global define */\nif(typeof exports !== 'undefined') make_xlsx_lib(exports);\nelse if(typeof module !== 'undefined' && module.exports) make_xlsx_lib(module.exports);\nelse if(typeof define === 'function' && define.amd) define(function() { if(!XLSX.version) make_xlsx_lib(XLSX); return XLSX; });\nelse make_xlsx_lib(XLSX);\n/*exported XLS, ODS */\nvar XLS = XLSX, ODS = XLSX;\n","'use strict';\n\nmodule.exports = require('./components/fieldset/Fieldset');","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nvar lastId = 0;\n\nfunction _default() {\n var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'pr_id_';\n lastId++;\n return \"\".concat(prefix).concat(lastId);\n}","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _unsupportedIterableToArray as unsupportedIterableToArray };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n","var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.33.0/min/vs'\n }\n};\n\nexport default config;\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport default isObject;\n","import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\n\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n\n return config;\n}\n/**\n * logs deprecation message\n */\n\n\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport default validators;\nexport { errorHandler, errorMessages };\n","function curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport default curry;\n","var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport default compose;\n","import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport default merge;\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\n\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport default makeCancelable;\nexport { CANCELATION_MESSAGE };\n","import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\n/** the local state of the module */\n\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n}),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\n\n\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, [\"monaco\"]);\n\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\n\n\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n\n return makeCancelable(wrapperPromise);\n}\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\n\n\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\n\n\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\n\n\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n\n loaderScript.onload = function () {\n return configureLoader();\n };\n\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n/**\n * configures the monaco loader\n */\n\n\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n\n require.config(state.config);\n\n require(['vs/editor/editor.main'], function (monaco) {\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n/**\n * store monaco instance in local state\n */\n\n\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\n\n\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\n\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport default loader;\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nexport { _extends as extends };\n","import React from 'react';\n\nconst loadingStyles = {\n display: 'flex',\n height: '100%',\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n};\n\nfunction Loading({\n content\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: loadingStyles\n }, content);\n}\n\nexport default Loading;\n","const styles = {\n wrapper: {\n display: 'flex',\n position: 'relative',\n textAlign: 'initial'\n },\n fullWidth: {\n width: '100%'\n },\n hide: {\n display: 'none'\n }\n};\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { extends as _extends } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport Loading from '../Loading/Loading.js';\nimport styles from './styles.js';\n\n// one of the reasons why we use a separate prop for passing ref instead of using forwardref\n\nfunction MonacoContainer({\n width,\n height,\n isEditorReady,\n loading,\n _ref,\n className,\n wrapperProps\n}) {\n return /*#__PURE__*/React.createElement(\"section\", _extends({\n style: { ...styles.wrapper,\n width,\n height\n }\n }, wrapperProps), !isEditorReady && /*#__PURE__*/React.createElement(Loading, {\n content: loading\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: _ref,\n style: { ...styles.fullWidth,\n ...(!isEditorReady && styles.hide)\n },\n className: className\n }));\n}\n\nMonacoContainer.propTypes = {\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n loading: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).isRequired,\n isEditorReady: PropTypes.bool.isRequired,\n className: PropTypes.string,\n wrapperProps: PropTypes.object\n};\n\nexport default MonacoContainer;\n","import { memo } from 'react';\nimport MonacoContainer$1 from './MonacoContainer.js';\n\nvar MonacoContainer = /*#__PURE__*/memo(MonacoContainer$1);\n\nexport default MonacoContainer;\n","import { useEffect } from 'react';\n\nfunction useMount(effect) {\n useEffect(effect, []);\n}\n\nexport default useMount;\n","import { useRef, useEffect } from 'react';\n\nfunction useUpdate(effect, deps, applyChanges = true) {\n const isInitialMount = useRef(true);\n useEffect(isInitialMount.current || !applyChanges ? () => {\n isInitialMount.current = false;\n } : effect, deps);\n}\n\nexport default useUpdate;\n","function noop() {}\n\nfunction getOrCreateModel(monaco, value, language, path) {\n return getModel(monaco, path) || createModel(monaco, value, language, path);\n}\n\nfunction getModel(monaco, path) {\n return monaco.editor.getModel(createModelUri(monaco, path));\n}\n\nfunction createModel(monaco, value, language, path) {\n return monaco.editor.createModel(value, language, path && createModelUri(monaco, path));\n}\n\nfunction createModelUri(monaco, path) {\n return monaco.Uri.parse(path);\n}\n\nfunction isUndefined(input) {\n return input === undefined;\n}\n\nexport { getOrCreateModel, isUndefined, noop };\n","import loader from '@monaco-editor/loader';\nimport React, { useState, useRef, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport MonacoContainer from '../MonacoContainer/index.js';\nimport useMount from '../hooks/useMount/index.js';\nimport useUpdate from '../hooks/useUpdate/index.js';\nimport { getOrCreateModel, noop } from '../utils/index.js';\n\nfunction DiffEditor({\n original,\n modified,\n language,\n originalLanguage,\n modifiedLanguage,\n\n /* === */\n originalModelPath,\n modifiedModelPath,\n keepCurrentOriginalModel,\n keepCurrentModifiedModel,\n theme,\n loading,\n options,\n\n /* === */\n height,\n width,\n className,\n wrapperProps,\n\n /* === */\n beforeMount,\n onMount\n}) {\n const [isEditorReady, setIsEditorReady] = useState(false);\n const [isMonacoMounting, setIsMonacoMounting] = useState(true);\n const editorRef = useRef(null);\n const monacoRef = useRef(null);\n const containerRef = useRef(null);\n const onMountRef = useRef(onMount);\n const beforeMountRef = useRef(beforeMount);\n useMount(() => {\n const cancelable = loader.init();\n cancelable.then(monaco => (monacoRef.current = monaco) && setIsMonacoMounting(false)).catch(error => (error === null || error === void 0 ? void 0 : error.type) !== 'cancelation' && console.error('Monaco initialization: error:', error));\n return () => editorRef.current ? disposeEditor() : cancelable.cancel();\n });\n useUpdate(() => {\n const modifiedEditor = editorRef.current.getModifiedEditor();\n\n if (modifiedEditor.getOption(monacoRef.current.editor.EditorOption.readOnly)) {\n modifiedEditor.setValue(modified);\n } else {\n if (modified !== modifiedEditor.getValue()) {\n modifiedEditor.executeEdits('', [{\n range: modifiedEditor.getModel().getFullModelRange(),\n text: modified,\n forceMoveMarkers: true\n }]);\n modifiedEditor.pushUndoStop();\n }\n }\n }, [modified], isEditorReady);\n useUpdate(() => {\n editorRef.current.getModel().original.setValue(original);\n }, [original], isEditorReady);\n useUpdate(() => {\n const {\n original,\n modified\n } = editorRef.current.getModel();\n monacoRef.current.editor.setModelLanguage(original, originalLanguage || language);\n monacoRef.current.editor.setModelLanguage(modified, modifiedLanguage || language);\n }, [language, originalLanguage, modifiedLanguage], isEditorReady);\n useUpdate(() => {\n monacoRef.current.editor.setTheme(theme);\n }, [theme], isEditorReady);\n useUpdate(() => {\n editorRef.current.updateOptions(options);\n }, [options], isEditorReady);\n const setModels = useCallback(() => {\n beforeMountRef.current(monacoRef.current);\n const originalModel = getOrCreateModel(monacoRef.current, original, originalLanguage || language, originalModelPath);\n const modifiedModel = getOrCreateModel(monacoRef.current, modified, modifiedLanguage || language, modifiedModelPath);\n editorRef.current.setModel({\n original: originalModel,\n modified: modifiedModel\n });\n }, [language, modified, modifiedLanguage, original, originalLanguage, originalModelPath, modifiedModelPath]);\n const createEditor = useCallback(() => {\n editorRef.current = monacoRef.current.editor.createDiffEditor(containerRef.current, {\n automaticLayout: true,\n ...options\n });\n setModels();\n monacoRef.current.editor.setTheme(theme);\n setIsEditorReady(true);\n }, [options, theme, setModels]);\n useEffect(() => {\n if (isEditorReady) {\n onMountRef.current(editorRef.current, monacoRef.current);\n }\n }, [isEditorReady]);\n useEffect(() => {\n !isMonacoMounting && !isEditorReady && createEditor();\n }, [isMonacoMounting, isEditorReady, createEditor]);\n\n function disposeEditor() {\n const models = editorRef.current.getModel();\n\n if (!keepCurrentOriginalModel) {\n var _models$original;\n\n (_models$original = models.original) === null || _models$original === void 0 ? void 0 : _models$original.dispose();\n }\n\n if (!keepCurrentModifiedModel) {\n var _models$modified;\n\n (_models$modified = models.modified) === null || _models$modified === void 0 ? void 0 : _models$modified.dispose();\n }\n\n editorRef.current.dispose();\n }\n\n return /*#__PURE__*/React.createElement(MonacoContainer, {\n width: width,\n height: height,\n isEditorReady: isEditorReady,\n loading: loading,\n _ref: containerRef,\n className: className,\n wrapperProps: wrapperProps\n });\n}\n\nDiffEditor.propTypes = {\n original: PropTypes.string,\n modified: PropTypes.string,\n language: PropTypes.string,\n originalLanguage: PropTypes.string,\n modifiedLanguage: PropTypes.string,\n\n /* === */\n originalModelPath: PropTypes.string,\n modifiedModelPath: PropTypes.string,\n keepCurrentOriginalModel: PropTypes.bool,\n keepCurrentModifiedModel: PropTypes.bool,\n theme: PropTypes.string,\n loading: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n options: PropTypes.object,\n\n /* === */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n className: PropTypes.string,\n wrapperProps: PropTypes.object,\n\n /* === */\n beforeMount: PropTypes.func,\n onMount: PropTypes.func\n};\nDiffEditor.defaultProps = {\n theme: 'light',\n loading: 'Loading...',\n options: {},\n keepCurrentOriginalModel: false,\n keepCurrentModifiedModel: false,\n\n /* === */\n width: '100%',\n height: '100%',\n wrapperProps: {},\n\n /* === */\n beforeMount: noop,\n onMount: noop\n};\n\nexport default DiffEditor;\n","import { useRef, useEffect } from 'react';\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nexport default usePrevious;\n","import loader from '@monaco-editor/loader';\nimport React, { useState, useRef, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport MonacoContainer from '../MonacoContainer/index.js';\nimport useMount from '../hooks/useMount/index.js';\nimport useUpdate from '../hooks/useUpdate/index.js';\nimport { getOrCreateModel, noop, isUndefined } from '../utils/index.js';\nimport usePrevious from '../hooks/usePrevious/index.js';\n\nconst viewStates = new Map();\n\nfunction Editor({\n defaultValue,\n defaultLanguage,\n defaultPath,\n value,\n language,\n path,\n\n /* === */\n theme,\n line,\n loading,\n options,\n overrideServices,\n saveViewState,\n keepCurrentModel,\n\n /* === */\n width,\n height,\n className,\n wrapperProps,\n\n /* === */\n beforeMount,\n onMount,\n onChange,\n onValidate\n}) {\n const [isEditorReady, setIsEditorReady] = useState(false);\n const [isMonacoMounting, setIsMonacoMounting] = useState(true);\n const monacoRef = useRef(null);\n const editorRef = useRef(null);\n const containerRef = useRef(null);\n const onMountRef = useRef(onMount);\n const beforeMountRef = useRef(beforeMount);\n const subscriptionRef = useRef(null);\n const valueRef = useRef(value);\n const previousPath = usePrevious(path);\n useMount(() => {\n const cancelable = loader.init();\n cancelable.then(monaco => (monacoRef.current = monaco) && setIsMonacoMounting(false)).catch(error => (error === null || error === void 0 ? void 0 : error.type) !== 'cancelation' && console.error('Monaco initialization: error:', error));\n return () => editorRef.current ? disposeEditor() : cancelable.cancel();\n });\n useUpdate(() => {\n const model = getOrCreateModel(monacoRef.current, defaultValue || value, defaultLanguage || language, path);\n\n if (model !== editorRef.current.getModel()) {\n saveViewState && viewStates.set(previousPath, editorRef.current.saveViewState());\n editorRef.current.setModel(model);\n saveViewState && editorRef.current.restoreViewState(viewStates.get(path));\n }\n }, [path], isEditorReady);\n useUpdate(() => {\n editorRef.current.updateOptions(options);\n }, [options], isEditorReady);\n useUpdate(() => {\n if (editorRef.current.getOption(monacoRef.current.editor.EditorOption.readOnly)) {\n editorRef.current.setValue(value);\n } else {\n if (value !== editorRef.current.getValue()) {\n editorRef.current.executeEdits('', [{\n range: editorRef.current.getModel().getFullModelRange(),\n text: value,\n forceMoveMarkers: true\n }]);\n editorRef.current.pushUndoStop();\n }\n }\n }, [value], isEditorReady);\n useUpdate(() => {\n monacoRef.current.editor.setModelLanguage(editorRef.current.getModel(), language);\n }, [language], isEditorReady);\n useUpdate(() => {\n // reason for undefined check: https://github.com/suren-atoyan/monaco-react/pull/188\n if (!isUndefined(line)) {\n editorRef.current.revealLine(line);\n }\n }, [line], isEditorReady);\n useUpdate(() => {\n monacoRef.current.editor.setTheme(theme);\n }, [theme], isEditorReady);\n const createEditor = useCallback(() => {\n beforeMountRef.current(monacoRef.current);\n const autoCreatedModelPath = path || defaultPath;\n const defaultModel = getOrCreateModel(monacoRef.current, value || defaultValue, defaultLanguage || language, autoCreatedModelPath);\n editorRef.current = monacoRef.current.editor.create(containerRef.current, {\n model: defaultModel,\n automaticLayout: true,\n ...options\n }, overrideServices);\n saveViewState && editorRef.current.restoreViewState(viewStates.get(autoCreatedModelPath));\n monacoRef.current.editor.setTheme(theme);\n setIsEditorReady(true);\n }, [defaultValue, defaultLanguage, defaultPath, value, language, path, options, overrideServices, saveViewState, theme]);\n useEffect(() => {\n if (isEditorReady) {\n onMountRef.current(editorRef.current, monacoRef.current);\n }\n }, [isEditorReady]);\n useEffect(() => {\n !isMonacoMounting && !isEditorReady && createEditor();\n }, [isMonacoMounting, isEditorReady, createEditor]); // subscription\n // to avoid unnecessary updates (attach - dispose listener) in subscription\n\n valueRef.current = value;\n useEffect(() => {\n if (isEditorReady && onChange) {\n var _subscriptionRef$curr, _editorRef$current;\n\n (_subscriptionRef$curr = subscriptionRef.current) === null || _subscriptionRef$curr === void 0 ? void 0 : _subscriptionRef$curr.dispose();\n subscriptionRef.current = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.onDidChangeModelContent(event => {\n const editorValue = editorRef.current.getValue();\n\n if (valueRef.current !== editorValue) {\n onChange(editorValue, event);\n }\n });\n }\n }, [isEditorReady, onChange]); // onValidate\n\n useEffect(() => {\n if (isEditorReady) {\n const changeMarkersListener = monacoRef.current.editor.onDidChangeMarkers(uris => {\n var _editorRef$current$ge;\n\n const editorUri = (_editorRef$current$ge = editorRef.current.getModel()) === null || _editorRef$current$ge === void 0 ? void 0 : _editorRef$current$ge.uri;\n\n if (editorUri) {\n const currentEditorHasMarkerChanges = uris.find(uri => uri.path === editorUri.path);\n\n if (currentEditorHasMarkerChanges) {\n const markers = monacoRef.current.editor.getModelMarkers({\n resource: editorUri\n });\n onValidate === null || onValidate === void 0 ? void 0 : onValidate(markers);\n }\n }\n });\n return () => {\n changeMarkersListener === null || changeMarkersListener === void 0 ? void 0 : changeMarkersListener.dispose();\n };\n }\n }, [isEditorReady, onValidate]);\n\n function disposeEditor() {\n var _subscriptionRef$curr2;\n\n (_subscriptionRef$curr2 = subscriptionRef.current) === null || _subscriptionRef$curr2 === void 0 ? void 0 : _subscriptionRef$curr2.dispose();\n\n if (keepCurrentModel) {\n saveViewState && viewStates.set(path, editorRef.current.saveViewState());\n } else {\n var _editorRef$current$ge2;\n\n (_editorRef$current$ge2 = editorRef.current.getModel()) === null || _editorRef$current$ge2 === void 0 ? void 0 : _editorRef$current$ge2.dispose();\n }\n\n editorRef.current.dispose();\n }\n\n return /*#__PURE__*/React.createElement(MonacoContainer, {\n width: width,\n height: height,\n isEditorReady: isEditorReady,\n loading: loading,\n _ref: containerRef,\n className: className,\n wrapperProps: wrapperProps\n });\n}\n\nEditor.propTypes = {\n defaultValue: PropTypes.string,\n defaultPath: PropTypes.string,\n defaultLanguage: PropTypes.string,\n value: PropTypes.string,\n language: PropTypes.string,\n path: PropTypes.string,\n\n /* === */\n theme: PropTypes.string,\n line: PropTypes.number,\n loading: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n options: PropTypes.object,\n overrideServices: PropTypes.object,\n saveViewState: PropTypes.bool,\n keepCurrentModel: PropTypes.bool,\n\n /* === */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n className: PropTypes.string,\n wrapperProps: PropTypes.object,\n\n /* === */\n beforeMount: PropTypes.func,\n onMount: PropTypes.func,\n onChange: PropTypes.func,\n onValidate: PropTypes.func\n};\nEditor.defaultProps = {\n theme: 'light',\n loading: 'Loading...',\n options: {},\n overrideServices: {},\n saveViewState: true,\n keepCurrentModel: false,\n\n /* === */\n width: '100%',\n height: '100%',\n wrapperProps: {},\n\n /* === */\n beforeMount: noop,\n onMount: noop,\n onValidate: noop\n};\n\nexport default Editor;\n","import { memo } from 'react';\nimport Editor from './Editor.js';\n\nvar index = /*#__PURE__*/memo(Editor);\n\nexport default index;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","export default function setRafTimeout(callback) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var currTime = -1;\n\n var shouldUpdate = function shouldUpdate(now) {\n if (currTime < 0) {\n currTime = now;\n }\n\n if (now - currTime > timeout) {\n callback(now);\n currTime = -1;\n } else {\n requestAnimationFrame(shouldUpdate);\n }\n };\n\n requestAnimationFrame(shouldUpdate);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport setRafTimeout from './setRafTimeout';\nexport default function createAnimateManager() {\n var currStyle = {};\n\n var handleChange = function handleChange() {\n return null;\n };\n\n var shouldStop = false;\n\n var setStyle = function setStyle(_style) {\n if (shouldStop) {\n return;\n }\n\n if (Array.isArray(_style)) {\n if (!_style.length) {\n return;\n }\n\n var styles = _style;\n\n var _styles = _toArray(styles),\n curr = _styles[0],\n restStyles = _styles.slice(1);\n\n if (typeof curr === 'number') {\n setRafTimeout(setStyle.bind(null, restStyles), curr);\n return;\n }\n\n setStyle(curr);\n setRafTimeout(setStyle.bind(null, restStyles));\n return;\n }\n\n if (_typeof(_style) === 'object') {\n currStyle = _style;\n handleChange(currStyle);\n }\n\n if (typeof _style === 'function') {\n _style();\n }\n };\n\n return {\n stop: function stop() {\n shouldStop = true;\n },\n start: function start(style) {\n shouldStop = false;\n setStyle(style);\n },\n subscribe: function subscribe(_handleChange) {\n handleChange = _handleChange;\n return function () {\n handleChange = function handleChange() {\n return null;\n };\n };\n }\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint no-console: 0 */\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nvar IN_LINE_PREFIX_LIST = ['-webkit-', '-moz-', '-o-', '-ms-'];\nvar IN_COMPATIBLE_PROPERTY = ['transform', 'transformOrigin', 'transition'];\nexport var getIntersectionKeys = function getIntersectionKeys(preObj, nextObj) {\n return [Object.keys(preObj), Object.keys(nextObj)].reduce(function (a, b) {\n return a.filter(function (c) {\n return b.includes(c);\n });\n });\n};\nexport var identity = function identity(param) {\n return param;\n};\n/*\n * @description: convert camel case to dash case\n * string => string\n */\n\nexport var getDashCase = function getDashCase(name) {\n return name.replace(/([A-Z])/g, function (v) {\n return \"-\".concat(v.toLowerCase());\n });\n};\n/*\n * @description: add compatible style prefix\n * (string, string) => object\n */\n\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (IN_COMPATIBLE_PROPERTY.indexOf(name) === -1) {\n return _defineProperty({}, name, value);\n }\n\n var isTransition = name === 'transition';\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var styleVal = value;\n return PREFIX_LIST.reduce(function (result, property, i) {\n if (isTransition) {\n styleVal = value.replace(/(transform|transform-origin)/gim, \"\".concat(IN_LINE_PREFIX_LIST[i], \"$1\"));\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, property + camelName, styleVal));\n }, {});\n};\nexport var log = function log() {\n var _console;\n\n (_console = console).log.apply(_console, arguments);\n};\n/*\n * @description: log the value of a varible\n * string => any => any\n */\n\nexport var debug = function debug(name) {\n return function (item) {\n log(name, item);\n return item;\n };\n};\n/*\n * @description: log name, args, return value of a function\n * function => function\n */\n\nexport var debugf = function debugf(tag, f) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var res = f.apply(void 0, args);\n var name = tag || f.name || 'anonymous function';\n var argNames = \"(\".concat(args.map(JSON.stringify).join(', '), \")\");\n log(\"\".concat(name, \": \").concat(argNames, \" => \").concat(JSON.stringify(res)));\n return res;\n };\n};\n/*\n * @description: map object on every element in this object.\n * (function, object) => object\n */\n\nexport var mapObject = function mapObject(fn, obj) {\n return Object.keys(obj).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, fn(key, obj[key])));\n }, {});\n};\n/*\n * @description: add compatible prefix to style\n * object => object\n */\n\nexport var translateStyle = function translateStyle(style) {\n return Object.keys(style).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), generatePrefixStyle(key, res[key]));\n }, style);\n};\nexport var compose = function compose() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var getTransitionVal = function getTransitionVal(props, duration, easing) {\n return props.map(function (prop) {\n return \"\".concat(getDashCase(prop), \" \").concat(duration, \"ms \").concat(easing);\n }).join(',');\n};\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format, a, b, c, d, e, f) {\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { warn } from './util';\nvar ACCURACY = 1e-4;\n\nvar cubicBezierFactor = function cubicBezierFactor(c1, c2) {\n return [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];\n};\n\nvar multyTime = function multyTime(params, t) {\n return params.map(function (param, i) {\n return param * Math.pow(t, i);\n }).reduce(function (pre, curr) {\n return pre + curr;\n });\n};\n\nvar cubicBezier = function cubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n return multyTime(params, t);\n };\n};\n\nvar derivativeCubicBezier = function derivativeCubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n var newParams = [].concat(_toConsumableArray(params.map(function (param, i) {\n return param * i;\n }).slice(1)), [0]);\n return multyTime(newParams, t);\n };\n}; // calculate cubic-bezier using Newton's method\n\n\nexport var configBezier = function configBezier() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var x1 = args[0],\n y1 = args[1],\n x2 = args[2],\n y2 = args[3];\n\n if (args.length === 1) {\n switch (args[0]) {\n case 'linear':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n\n case 'ease':\n x1 = 0.25;\n y1 = 0.1;\n x2 = 0.25;\n y2 = 1.0;\n break;\n\n case 'ease-in':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n\n case 'ease-out':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n\n case 'ease-in-out':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n\n default:\n {\n var easing = args[0].split('(');\n\n if (easing[0] === 'cubic-bezier' && easing[1].split(')')[0].split(',').length === 4) {\n var _easing$1$split$0$spl = easing[1].split(')')[0].split(',').map(function (x) {\n return parseFloat(x);\n });\n\n var _easing$1$split$0$spl2 = _slicedToArray(_easing$1$split$0$spl, 4);\n\n x1 = _easing$1$split$0$spl2[0];\n y1 = _easing$1$split$0$spl2[1];\n x2 = _easing$1$split$0$spl2[2];\n y2 = _easing$1$split$0$spl2[3];\n } else {\n warn(false, '[configBezier]: arguments should be one of ' + 'oneOf \\'linear\\', \\'ease\\', \\'ease-in\\', \\'ease-out\\', ' + '\\'ease-in-out\\',\\'cubic-bezier(x1,y1,x2,y2)\\', instead received %s', args);\n }\n }\n }\n }\n\n warn([x1, x2, y1, y2].every(function (num) {\n return typeof num === 'number' && num >= 0 && num <= 1;\n }), '[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s', args);\n var curveX = cubicBezier(x1, x2);\n var curveY = cubicBezier(y1, y2);\n var derCurveX = derivativeCubicBezier(x1, x2);\n\n var rangeValue = function rangeValue(value) {\n if (value > 1) {\n return 1;\n } else if (value < 0) {\n return 0;\n }\n\n return value;\n };\n\n var bezier = function bezier(_t) {\n var t = _t > 1 ? 1 : _t;\n var x = t;\n\n for (var i = 0; i < 8; ++i) {\n var evalT = curveX(x) - t;\n var derVal = derCurveX(x);\n\n if (Math.abs(evalT - t) < ACCURACY || derVal < ACCURACY) {\n return curveY(x);\n }\n\n x = rangeValue(x - evalT / derVal);\n }\n\n return curveY(x);\n };\n\n bezier.isStepper = false;\n return bezier;\n};\nexport var configSpring = function configSpring() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _config$stiff = config.stiff,\n stiff = _config$stiff === void 0 ? 100 : _config$stiff,\n _config$damping = config.damping,\n damping = _config$damping === void 0 ? 8 : _config$damping,\n _config$dt = config.dt,\n dt = _config$dt === void 0 ? 17 : _config$dt;\n\n var stepper = function stepper(currX, destX, currV) {\n var FSpring = -(currX - destX) * stiff;\n var FDamping = currV * damping;\n var newV = currV + (FSpring - FDamping) * dt / 1000;\n var newX = currV * dt / 1000 + currX;\n\n if (Math.abs(newX - destX) < ACCURACY && Math.abs(newV) < ACCURACY) {\n return [destX, 0];\n }\n\n return [newX, newV];\n };\n\n stepper.isStepper = true;\n stepper.dt = dt;\n return stepper;\n};\nexport var configEasing = function configEasing() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var easing = args[0];\n\n if (typeof easing === 'string') {\n switch (easing) {\n case 'ease':\n case 'ease-in-out':\n case 'ease-out':\n case 'ease-in':\n case 'linear':\n return configBezier(easing);\n\n case 'spring':\n return configSpring();\n\n default:\n if (easing.split('(')[0] === 'cubic-bezier') {\n return configBezier(easing);\n }\n\n warn(false, '[configEasing]: first argument should be one of \\'ease\\', \\'ease-in\\', ' + '\\'ease-out\\', \\'ease-in-out\\',\\'cubic-bezier(x1,y1,x2,y2)\\', \\'linear\\' and \\'spring\\', instead received %s', args);\n }\n }\n\n if (typeof easing === 'function') {\n return easing;\n }\n\n warn(false, '[configEasing]: first argument type should be function or ' + 'string, instead received %s', args);\n return null;\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { getIntersectionKeys, mapObject } from './util';\n\nvar alpha = function alpha(begin, end, k) {\n return begin + (end - begin) * k;\n};\n\nvar needContinue = function needContinue(_ref) {\n var from = _ref.from,\n to = _ref.to;\n return from !== to;\n};\n/*\n * @description: cal new from value and velocity in each stepper\n * @return: { [styleProperty]: { from, to, velocity } }\n */\n\n\nvar calStepperVals = function calStepperVals(easing, preVals, steps) {\n var nextStepVals = mapObject(function (key, val) {\n if (needContinue(val)) {\n var _easing = easing(val.from, val.to, val.velocity),\n _easing2 = _slicedToArray(_easing, 2),\n newX = _easing2[0],\n newV = _easing2[1];\n\n return _objectSpread(_objectSpread({}, val), {}, {\n from: newX,\n velocity: newV\n });\n }\n\n return val;\n }, preVals);\n\n if (steps < 1) {\n return mapObject(function (key, val) {\n if (needContinue(val)) {\n return _objectSpread(_objectSpread({}, val), {}, {\n velocity: alpha(val.velocity, nextStepVals[key].velocity, steps),\n from: alpha(val.from, nextStepVals[key].from, steps)\n });\n }\n\n return val;\n }, preVals);\n }\n\n return calStepperVals(easing, nextStepVals, steps - 1);\n}; // configure update function\n\n\nexport default (function (from, to, easing, duration, render) {\n var interKeys = getIntersectionKeys(from, to);\n var timingStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, [from[key], to[key]]));\n }, {});\n var stepperStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, {\n from: from[key],\n velocity: 0,\n to: to[key]\n }));\n }, {});\n var cafId = -1;\n var preTime;\n var beginTime;\n\n var update = function update() {\n return null;\n };\n\n var getCurrStyle = function getCurrStyle() {\n return mapObject(function (key, val) {\n return val.from;\n }, stepperStyle);\n };\n\n var shouldStopAnimation = function shouldStopAnimation() {\n return !Object.values(stepperStyle).filter(needContinue).length;\n }; // stepper timing function like spring\n\n\n var stepperUpdate = function stepperUpdate(now) {\n if (!preTime) {\n preTime = now;\n }\n\n var deltaTime = now - preTime;\n var steps = deltaTime / easing.dt;\n stepperStyle = calStepperVals(easing, stepperStyle, steps); // get union set and add compatible prefix\n\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), getCurrStyle(stepperStyle)));\n preTime = now;\n\n if (!shouldStopAnimation()) {\n cafId = requestAnimationFrame(update);\n }\n }; // t => val timing function like cubic-bezier\n\n\n var timingUpdate = function timingUpdate(now) {\n if (!beginTime) {\n beginTime = now;\n }\n\n var t = (now - beginTime) / duration;\n var currStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(t)]));\n }, timingStyle); // get union set and add compatible prefix\n\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), currStyle));\n\n if (t < 1) {\n cafId = requestAnimationFrame(update);\n } else {\n var finalStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(1)]));\n }, timingStyle);\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), finalStyle));\n }\n };\n\n update = easing.isStepper ? stepperUpdate : timingUpdate; // return start animation method\n\n return function () {\n requestAnimationFrame(update); // return stop animation method\n\n return function () {\n cancelAnimationFrame(cafId);\n };\n };\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { PureComponent, cloneElement, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { deepEqual } from 'fast-equals';\nimport createAnimateManager from './AnimateManager';\nimport { configEasing } from './easing';\nimport configUpdate from './configUpdate';\nimport { getTransitionVal, identity, translateStyle } from './util';\n\nvar Animate = /*#__PURE__*/function (_PureComponent) {\n _inherits(Animate, _PureComponent);\n\n var _super = _createSuper(Animate);\n\n function Animate(props, context) {\n var _this;\n\n _classCallCheck(this, Animate);\n\n _this = _super.call(this, props, context);\n var _this$props = _this.props,\n isActive = _this$props.isActive,\n attributeName = _this$props.attributeName,\n from = _this$props.from,\n to = _this$props.to,\n steps = _this$props.steps,\n children = _this$props.children;\n _this.handleStyleChange = _this.handleStyleChange.bind(_assertThisInitialized(_this));\n _this.changeStyle = _this.changeStyle.bind(_assertThisInitialized(_this));\n\n if (!isActive) {\n _this.state = {\n style: {}\n }; // if children is a function and animation is not active, set style to 'to'\n\n if (typeof children === 'function') {\n _this.state = {\n style: to\n };\n }\n\n return _possibleConstructorReturn(_this);\n }\n\n if (steps && steps.length) {\n _this.state = {\n style: steps[0].style\n };\n } else if (from) {\n if (typeof children === 'function') {\n _this.state = {\n style: from\n };\n return _possibleConstructorReturn(_this);\n }\n\n _this.state = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n } else {\n _this.state = {\n style: {}\n };\n }\n\n return _this;\n }\n\n _createClass(Animate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n isActive = _this$props2.isActive,\n canBegin = _this$props2.canBegin;\n this.mounted = true;\n\n if (!isActive || !canBegin) {\n return;\n }\n\n this.runAnimation(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n isActive = _this$props3.isActive,\n canBegin = _this$props3.canBegin,\n attributeName = _this$props3.attributeName,\n shouldReAnimate = _this$props3.shouldReAnimate;\n\n if (!canBegin) {\n return;\n }\n\n if (!isActive) {\n var newState = {\n style: attributeName ? _defineProperty({}, attributeName, this.props.to) : this.props.to\n };\n\n if (this.state && this.state.style) {\n if (attributeName && this.state.style[attributeName] !== this.props.to || !attributeName && this.state.style !== this.props.to) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(newState);\n }\n }\n\n return;\n }\n\n if (deepEqual(prevProps.to, this.props.to) && prevProps.canBegin && prevProps.isActive) {\n return;\n }\n\n var isTriggered = !prevProps.canBegin || !prevProps.isActive;\n\n if (this.manager) {\n this.manager.stop();\n }\n\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n\n var from = isTriggered || shouldReAnimate ? this.props.from : prevProps.to;\n\n if (this.state && this.state.style) {\n var _newState = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n\n if (attributeName && this.state.style[attributeName] !== from || !attributeName && this.state.style !== from) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(_newState);\n }\n }\n\n this.runAnimation(_objectSpread(_objectSpread({}, this.props), {}, {\n from: from,\n begin: 0\n }));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n\n if (this.unSubscribe) {\n this.unSubscribe();\n }\n\n if (this.manager) {\n this.manager.stop();\n this.manager = null;\n }\n\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n }\n }, {\n key: \"runJSAnimation\",\n value: function runJSAnimation(props) {\n var _this2 = this;\n\n var from = props.from,\n to = props.to,\n duration = props.duration,\n easing = props.easing,\n begin = props.begin,\n onAnimationEnd = props.onAnimationEnd,\n onAnimationStart = props.onAnimationStart;\n var startAnimation = configUpdate(from, to, configEasing(easing), duration, this.changeStyle);\n\n var finalStartAnimation = function finalStartAnimation() {\n _this2.stopJSAnimation = startAnimation();\n };\n\n this.manager.start([onAnimationStart, begin, finalStartAnimation, duration, onAnimationEnd]);\n }\n }, {\n key: \"runStepAnimation\",\n value: function runStepAnimation(props) {\n var _this3 = this;\n\n var steps = props.steps,\n begin = props.begin,\n onAnimationStart = props.onAnimationStart;\n var _steps$ = steps[0],\n initialStyle = _steps$.style,\n _steps$$duration = _steps$.duration,\n initialTime = _steps$$duration === void 0 ? 0 : _steps$$duration;\n\n var addStyle = function addStyle(sequence, nextItem, index) {\n if (index === 0) {\n return sequence;\n }\n\n var duration = nextItem.duration,\n _nextItem$easing = nextItem.easing,\n easing = _nextItem$easing === void 0 ? 'ease' : _nextItem$easing,\n style = nextItem.style,\n nextProperties = nextItem.properties,\n onAnimationEnd = nextItem.onAnimationEnd;\n var preItem = index > 0 ? steps[index - 1] : nextItem;\n var properties = nextProperties || Object.keys(style);\n\n if (typeof easing === 'function' || easing === 'spring') {\n return [].concat(_toConsumableArray(sequence), [_this3.runJSAnimation.bind(_this3, {\n from: preItem.style,\n to: style,\n duration: duration,\n easing: easing\n }), duration]);\n }\n\n var transition = getTransitionVal(properties, duration, easing);\n\n var newStyle = _objectSpread(_objectSpread(_objectSpread({}, preItem.style), style), {}, {\n transition: transition\n });\n\n return [].concat(_toConsumableArray(sequence), [newStyle, duration, onAnimationEnd]).filter(identity);\n };\n\n return this.manager.start([onAnimationStart].concat(_toConsumableArray(steps.reduce(addStyle, [initialStyle, Math.max(initialTime, begin)])), [props.onAnimationEnd]));\n }\n }, {\n key: \"runAnimation\",\n value: function runAnimation(props) {\n if (!this.manager) {\n this.manager = createAnimateManager();\n }\n\n var begin = props.begin,\n duration = props.duration,\n attributeName = props.attributeName,\n propsTo = props.to,\n easing = props.easing,\n onAnimationStart = props.onAnimationStart,\n onAnimationEnd = props.onAnimationEnd,\n steps = props.steps,\n children = props.children;\n var manager = this.manager;\n this.unSubscribe = manager.subscribe(this.handleStyleChange);\n\n if (typeof easing === 'function' || typeof children === 'function' || easing === 'spring') {\n this.runJSAnimation(props);\n return;\n }\n\n if (steps.length > 1) {\n this.runStepAnimation(props);\n return;\n }\n\n var to = attributeName ? _defineProperty({}, attributeName, propsTo) : propsTo;\n var transition = getTransitionVal(Object.keys(to), duration, easing);\n manager.start([onAnimationStart, begin, _objectSpread(_objectSpread({}, to), {}, {\n transition: transition\n }), duration, onAnimationEnd]);\n }\n }, {\n key: \"handleStyleChange\",\n value: function handleStyleChange(style) {\n this.changeStyle(style);\n }\n }, {\n key: \"changeStyle\",\n value: function changeStyle(style) {\n if (this.mounted) {\n this.setState({\n style: style\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n begin = _this$props4.begin,\n duration = _this$props4.duration,\n attributeName = _this$props4.attributeName,\n easing = _this$props4.easing,\n isActive = _this$props4.isActive,\n steps = _this$props4.steps,\n from = _this$props4.from,\n to = _this$props4.to,\n canBegin = _this$props4.canBegin,\n onAnimationEnd = _this$props4.onAnimationEnd,\n shouldReAnimate = _this$props4.shouldReAnimate,\n onAnimationReStart = _this$props4.onAnimationReStart,\n others = _objectWithoutProperties(_this$props4, [\"children\", \"begin\", \"duration\", \"attributeName\", \"easing\", \"isActive\", \"steps\", \"from\", \"to\", \"canBegin\", \"onAnimationEnd\", \"shouldReAnimate\", \"onAnimationReStart\"]);\n\n var count = Children.count(children);\n var stateStyle = translateStyle(this.state.style);\n\n if (typeof children === 'function') {\n return children(stateStyle);\n }\n\n if (!isActive || count === 0) {\n return children;\n }\n\n var cloneContainer = function cloneContainer(container) {\n var _container$props = container.props,\n _container$props$styl = _container$props.style,\n style = _container$props$styl === void 0 ? {} : _container$props$styl,\n className = _container$props.className;\n var res = /*#__PURE__*/cloneElement(container, _objectSpread(_objectSpread({}, others), {}, {\n style: _objectSpread(_objectSpread({}, style), stateStyle),\n className: className\n }));\n return res;\n };\n\n if (count === 1) {\n return cloneContainer(Children.only(children));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", null, Children.map(children, function (child) {\n return cloneContainer(child);\n }));\n }\n }]);\n\n return Animate;\n}(PureComponent);\n\nAnimate.displayName = 'Animate';\nAnimate.propTypes = {\n from: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n to: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n attributeName: PropTypes.string,\n // animation duration\n duration: PropTypes.number,\n begin: PropTypes.number,\n easing: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n steps: PropTypes.arrayOf(PropTypes.shape({\n duration: PropTypes.number.isRequired,\n style: PropTypes.object.isRequired,\n easing: PropTypes.oneOfType([PropTypes.oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear']), PropTypes.func]),\n // transition css properties(dash case), optional\n properties: PropTypes.arrayOf('string'),\n onAnimationEnd: PropTypes.func\n })),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n isActive: PropTypes.bool,\n canBegin: PropTypes.bool,\n onAnimationEnd: PropTypes.func,\n // decide if it should reanimate with initial from style when props change\n shouldReAnimate: PropTypes.bool,\n onAnimationStart: PropTypes.func,\n onAnimationReStart: PropTypes.func\n};\nAnimate.defaultProps = {\n begin: 0,\n duration: 1000,\n from: '',\n to: '',\n attributeName: '',\n easing: 'ease',\n isActive: true,\n canBegin: true,\n steps: [],\n onAnimationEnd: function onAnimationEnd() {},\n onAnimationStart: function onAnimationStart() {}\n};\nexport default Animate;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { Component, Children } from 'react';\nimport { Transition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport Animate from './Animate';\n\nif (Number.isFinite === undefined) {\n Number.isFinite = function (value) {\n return typeof value === 'number' && isFinite(value);\n };\n}\n\nvar parseDurationOfSingleTransition = function parseDurationOfSingleTransition() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var steps = options.steps,\n duration = options.duration;\n\n if (steps && steps.length) {\n return steps.reduce(function (result, entry) {\n return result + (Number.isFinite(entry.duration) && entry.duration > 0 ? entry.duration : 0);\n }, 0);\n }\n\n if (Number.isFinite(duration)) {\n return duration;\n }\n\n return 0;\n};\n\nvar AnimateGroupChild = /*#__PURE__*/function (_Component) {\n _inherits(AnimateGroupChild, _Component);\n\n var _super = _createSuper(AnimateGroupChild);\n\n function AnimateGroupChild() {\n var _this;\n\n _classCallCheck(this, AnimateGroupChild);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n isActive: false\n };\n\n _this.handleEnter = function (node, isAppearing) {\n var _this$props = _this.props,\n appearOptions = _this$props.appearOptions,\n enterOptions = _this$props.enterOptions;\n\n _this.handleStyleActive(isAppearing ? appearOptions : enterOptions);\n };\n\n _this.handleExit = function () {\n _this.handleStyleActive(_this.props.leaveOptions);\n };\n\n return _this;\n }\n\n _createClass(AnimateGroupChild, [{\n key: \"handleStyleActive\",\n value: function handleStyleActive(style) {\n if (style) {\n var onAnimationEnd = style.onAnimationEnd ? function () {\n style.onAnimationEnd();\n } : null;\n this.setState(_objectSpread(_objectSpread({}, style), {}, {\n onAnimationEnd: onAnimationEnd,\n isActive: true\n }));\n }\n }\n }, {\n key: \"parseTimeout\",\n value: function parseTimeout() {\n var _this$props2 = this.props,\n appearOptions = _this$props2.appearOptions,\n enterOptions = _this$props2.enterOptions,\n leaveOptions = _this$props2.leaveOptions;\n return parseDurationOfSingleTransition(appearOptions) + parseDurationOfSingleTransition(enterOptions) + parseDurationOfSingleTransition(leaveOptions);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n children = _this$props3.children,\n appearOptions = _this$props3.appearOptions,\n enterOptions = _this$props3.enterOptions,\n leaveOptions = _this$props3.leaveOptions,\n props = _objectWithoutProperties(_this$props3, [\"children\", \"appearOptions\", \"enterOptions\", \"leaveOptions\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n timeout: this.parseTimeout()\n }), function () {\n return /*#__PURE__*/React.createElement(Animate, _this2.state, Children.only(children));\n });\n }\n }]);\n\n return AnimateGroupChild;\n}(Component);\n\nAnimateGroupChild.propTypes = {\n appearOptions: PropTypes.object,\n enterOptions: PropTypes.object,\n leaveOptions: PropTypes.object,\n children: PropTypes.element\n};\nexport default AnimateGroupChild;","import React, { Children } from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport AnimateGroupChild from './AnimateGroupChild';\n\nfunction AnimateGroup(props) {\n var component = props.component,\n children = props.children,\n appear = props.appear,\n enter = props.enter,\n leave = props.leave;\n return /*#__PURE__*/React.createElement(TransitionGroup, {\n component: component\n }, Children.map(children, function (child, index) {\n return /*#__PURE__*/React.createElement(AnimateGroupChild, {\n appearOptions: appear,\n enterOptions: enter,\n leaveOptions: leave,\n key: \"child-\".concat(index) // eslint-disable-line\n\n }, child);\n }));\n}\n\nAnimateGroup.propTypes = {\n appear: PropTypes.object,\n enter: PropTypes.object,\n leave: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.element]),\n component: PropTypes.any\n};\nAnimateGroup.defaultProps = {\n component: 'span'\n};\nexport default AnimateGroup;","import Animate from './Animate';\nimport { configBezier, configSpring } from './easing';\nimport { translateStyle } from './util';\nimport AnimateGroup from './AnimateGroup';\nexport { configSpring, configBezier, AnimateGroup, translateStyle };\nexport default Animate;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nexport function defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nexport function hasXMLHttpRequest() {\n return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === \"undefined\" ? \"undefined\" : _typeof(XMLHttpRequest)) === 'object';\n}\n\nfunction isPromise(maybePromise) {\n return !!maybePromise && typeof maybePromise.then === 'function';\n}\n\nexport function makePromise(maybePromise) {\n if (isPromise(maybePromise)) {\n return maybePromise;\n }\n\n return Promise.resolve(maybePromise);\n}","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n Separators,\n CacheAccountType,\n CacheType,\n Constants,\n} from \"../../utils/Constants\";\nimport { Authority } from \"../../authority/Authority\";\nimport { AuthToken } from \"../../account/AuthToken\";\nimport { ICrypto } from \"../../crypto/ICrypto\";\nimport { buildClientInfo } from \"../../account/ClientInfo\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { AccountInfo } from \"../../account/AccountInfo\";\nimport { ClientAuthError } from \"../../error/ClientAuthError\";\nimport { AuthorityType } from \"../../authority/AuthorityType\";\nimport { Logger } from \"../../logger/Logger\";\nimport { TokenClaims } from \"../../account/TokenClaims\";\n\n/**\n * Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).\n *\n * Key : Value Schema\n *\n * Key: --\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * realm: Full tenant or organizational identifier that the account belongs to\n * localAccountId: Original tenant-specific accountID, usually used for legacy cases\n * username: primary username that represents the user, usually corresponds to preferred_username in the v2 endpt\n * authorityType: Accounts authority type as a string\n * name: Full name for the account, including given name and family name,\n * clientInfo: Full base64 encoded client info received from ESTS\n * lastModificationTime: last time this entity was modified in the cache\n * lastModificationApp:\n * idTokenClaims: Object containing claims parsed from ID token\n * nativeAccountId: Account identifier on the native device\n * }\n */\nexport class AccountEntity {\n homeAccountId: string;\n environment: string;\n realm: string;\n localAccountId: string;\n username: string;\n authorityType: string;\n name?: string;\n clientInfo?: string;\n lastModificationTime?: string;\n lastModificationApp?: string;\n cloudGraphHostName?: string;\n msGraphHost?: string;\n idTokenClaims?: TokenClaims;\n nativeAccountId?: string;\n\n /**\n * Generate Account Id key component as per the schema: -\n */\n generateAccountId(): string {\n const accountId: Array = [this.homeAccountId, this.environment];\n return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Generate Account Cache Key as per the schema: --\n */\n generateAccountKey(): string {\n return AccountEntity.generateAccountCacheKey({\n homeAccountId: this.homeAccountId,\n environment: this.environment,\n tenantId: this.realm,\n username: this.username,\n localAccountId: this.localAccountId\n });\n }\n\n /**\n * returns the type of the cache (in this case account)\n */\n generateType(): number {\n switch (this.authorityType) {\n case CacheAccountType.ADFS_ACCOUNT_TYPE:\n return CacheType.ADFS;\n case CacheAccountType.MSAV1_ACCOUNT_TYPE:\n return CacheType.MSA;\n case CacheAccountType.MSSTS_ACCOUNT_TYPE:\n return CacheType.MSSTS;\n case CacheAccountType.GENERIC_ACCOUNT_TYPE:\n return CacheType.GENERIC;\n default: {\n throw ClientAuthError.createUnexpectedAccountTypeError();\n }\n }\n }\n\n /**\n * Returns the AccountInfo interface for this account.\n */\n getAccountInfo(): AccountInfo {\n return {\n homeAccountId: this.homeAccountId,\n environment: this.environment,\n tenantId: this.realm,\n username: this.username,\n localAccountId: this.localAccountId,\n name: this.name,\n idTokenClaims: this.idTokenClaims,\n nativeAccountId: this.nativeAccountId\n };\n }\n\n /**\n * Generates account key from interface\n * @param accountInterface\n */\n static generateAccountCacheKey(accountInterface: AccountInfo): string {\n const accountKey = [\n accountInterface.homeAccountId,\n accountInterface.environment || Constants.EMPTY_STRING,\n accountInterface.tenantId || Constants.EMPTY_STRING,\n ];\n\n return accountKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.\n * @param clientInfo\n * @param authority\n * @param idToken\n * @param policy\n */\n static createAccount(\n clientInfo: string,\n homeAccountId: string,\n idToken: AuthToken,\n authority?: Authority,\n cloudGraphHostName?: string,\n msGraphHost?: string,\n environment?: string,\n nativeAccountId?: string\n ): AccountEntity {\n const account: AccountEntity = new AccountEntity();\n\n account.authorityType = CacheAccountType.MSSTS_ACCOUNT_TYPE;\n account.clientInfo = clientInfo;\n account.homeAccountId = homeAccountId;\n account.nativeAccountId = nativeAccountId;\n\n const env = environment || (authority && authority.getPreferredCache());\n\n if (!env) {\n throw ClientAuthError.createInvalidCacheEnvironmentError();\n }\n\n account.environment = env;\n // non AAD scenarios can have empty realm\n account.realm = idToken?.claims?.tid || Constants.EMPTY_STRING;\n\n if (idToken) {\n account.idTokenClaims = idToken.claims;\n\n // How do you account for MSA CID here?\n account.localAccountId = idToken?.claims?.oid || idToken?.claims?.sub || Constants.EMPTY_STRING;\n\n /*\n * In B2C scenarios the emails claim is used instead of preferred_username and it is an array.\n * In most cases it will contain a single email. This field should not be relied upon if a custom \n * policy is configured to return more than 1 email.\n */\n const preferredUsername = idToken?.claims?.preferred_username;\n const email = (idToken?.claims?.emails) ? idToken.claims.emails[0] : null;\n \n account.username = preferredUsername || email || Constants.EMPTY_STRING;\n account.name = idToken?.claims?.name;\n }\n\n account.cloudGraphHostName = cloudGraphHostName;\n account.msGraphHost = msGraphHost;\n\n return account;\n }\n\n /**\n * Builds non-AAD/ADFS account.\n * @param authority\n * @param idToken\n */\n static createGenericAccount(\n homeAccountId: string,\n idToken: AuthToken,\n authority?: Authority,\n cloudGraphHostName?: string,\n msGraphHost?: string,\n environment?: string\n ): AccountEntity {\n const account: AccountEntity = new AccountEntity();\n\n account.authorityType = (\n authority &&\n authority.authorityType === AuthorityType.Adfs\n ) ? CacheAccountType.ADFS_ACCOUNT_TYPE : CacheAccountType.GENERIC_ACCOUNT_TYPE;\n \n account.homeAccountId = homeAccountId;\n // non AAD scenarios can have empty realm\n account.realm = Constants.EMPTY_STRING;\n\n const env = environment || authority && authority.getPreferredCache();\n\n if (!env) {\n throw ClientAuthError.createInvalidCacheEnvironmentError();\n }\n\n if (idToken) {\n // How do you account for MSA CID here?\n account.localAccountId = idToken?.claims?.oid || idToken?.claims?.sub || Constants.EMPTY_STRING;\n // upn claim for most ADFS scenarios\n account.username = idToken?.claims?.upn || Constants.EMPTY_STRING;\n account.name = idToken?.claims?.name || Constants.EMPTY_STRING;\n account.idTokenClaims = idToken?.claims;\n }\n\n account.environment = env;\n\n account.cloudGraphHostName = cloudGraphHostName;\n account.msGraphHost = msGraphHost;\n\n /*\n * add uniqueName to claims\n * account.name = idToken.claims.uniqueName;\n */\n\n return account;\n }\n\n /**\n * Generate HomeAccountId from server response\n * @param serverClientInfo\n * @param authType\n */\n static generateHomeAccountId(\n serverClientInfo: string,\n authType: AuthorityType,\n logger: Logger,\n cryptoObj: ICrypto,\n idToken?: AuthToken\n ): string {\n\n const accountId = idToken?.claims?.sub ? idToken.claims.sub : Constants.EMPTY_STRING;\n\n // since ADFS does not have tid and does not set client_info\n if (authType === AuthorityType.Adfs || authType === AuthorityType.Dsts) {\n return accountId;\n }\n\n // for cases where there is clientInfo\n if (serverClientInfo) {\n try {\n const clientInfo = buildClientInfo(serverClientInfo, cryptoObj);\n if (!StringUtils.isEmpty(clientInfo.uid) && !StringUtils.isEmpty(clientInfo.utid)) {\n return `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`;\n }\n } catch (e) {}\n }\n\n // default to \"sub\" claim\n logger.verbose(\"No client info in response\");\n return accountId;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAccountEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"realm\") &&\n entity.hasOwnProperty(\"localAccountId\") &&\n entity.hasOwnProperty(\"username\") &&\n entity.hasOwnProperty(\"authorityType\")\n );\n }\n\n /**\n * Helper function to determine whether 2 accountInfo objects represent the same account\n * @param accountA\n * @param accountB\n * @param compareClaims - If set to true idTokenClaims will also be compared to determine account equality\n */\n static accountInfoIsEqual(accountA: AccountInfo | null, accountB: AccountInfo | null, compareClaims?: boolean): boolean {\n if (!accountA || !accountB) {\n return false;\n }\n\n let claimsMatch = true; // default to true so as to not fail comparison below if compareClaims: false\n if (compareClaims) {\n const accountAClaims = (accountA.idTokenClaims || {}) as TokenClaims;\n const accountBClaims = (accountB.idTokenClaims || {}) as TokenClaims;\n\n // issued at timestamp and nonce are expected to change each time a new id token is acquired\n claimsMatch = (accountAClaims.iat === accountBClaims.iat) &&\n (accountAClaims.nonce === accountBClaims.nonce);\n }\n\n return (accountA.homeAccountId === accountB.homeAccountId) &&\n (accountA.localAccountId === accountB.localAccountId) &&\n (accountA.username === accountB.username) &&\n (accountA.tenantId === accountB.tenantId) &&\n (accountA.environment === accountB.environment) &&\n (accountA.nativeAccountId === accountB.nativeAccountId) &&\n claimsMatch;\n }\n}\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","export default function number(x) {\n return +x;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isNil from \"lodash/isNil\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport reduceCSSCalc from 'reduce-css-calc';\nimport classNames from 'classnames';\nimport { isNumber, isNumOrStr } from '../util/DataUtils';\nimport { Global } from '../util/Global';\nimport { filterProps } from '../util/types';\nimport { getStringSize } from '../util/DOMUtils';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\n\nvar calculateWordWidths = function calculateWordWidths(props) {\n try {\n var words = [];\n\n if (!_isNil(props.children)) {\n if (props.breakAll) {\n words = props.children.toString().split('');\n } else {\n words = props.children.toString().split(BREAKING_SPACES);\n }\n }\n\n var wordsWithComputedWidth = words.map(function (word) {\n return {\n word: word,\n width: getStringSize(word, props.style).width\n };\n });\n var spaceWidth = props.breakAll ? 0 : getStringSize(\"\\xA0\", props.style).width;\n return {\n wordsWithComputedWidth: wordsWithComputedWidth,\n spaceWidth: spaceWidth\n };\n } catch (e) {\n return null;\n }\n};\n\nvar calculateWordsByLines = function calculateWordsByLines(props, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) {\n var shouldLimitLines = isNumber(props.maxLines);\n var text = props.children;\n\n var calculate = function calculate() {\n var words = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return words.reduce(function (result, _ref) {\n var word = _ref.word,\n width = _ref.width;\n var currentLine = result[result.length - 1];\n\n if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < lineWidth)) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: width\n };\n result.push(newLine);\n }\n\n return result;\n }, []);\n };\n\n var originalResult = calculate(initialWordsWithComputedWith);\n\n var findLongestLine = function findLongestLine(words) {\n return words.reduce(function (a, b) {\n return a.width > b.width ? a : b;\n });\n };\n\n if (!shouldLimitLines) {\n return originalResult;\n }\n\n var suffix = '…';\n\n var checkOverflow = function checkOverflow(index) {\n var tempText = text.slice(0, index);\n var words = calculateWordWidths(_objectSpread(_objectSpread({}, props), {}, {\n children: tempText + suffix\n })).wordsWithComputedWidth;\n var result = calculate(words);\n var doesOverflow = result.length > props.maxLines || findLongestLine(result).width > lineWidth;\n return [doesOverflow, result];\n };\n\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n\n var _checkOverflow = checkOverflow(prev),\n _checkOverflow2 = _slicedToArray(_checkOverflow, 2),\n doesPrevOverflow = _checkOverflow2[0],\n result = _checkOverflow2[1];\n\n var _checkOverflow3 = checkOverflow(middle),\n _checkOverflow4 = _slicedToArray(_checkOverflow3, 1),\n doesMiddleOverflow = _checkOverflow4[0];\n\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n\n iterations++;\n } // Fallback to originalResult (result without trimming) if we cannot find the\n // where to trim. This should not happen :tm:\n\n\n return trimmedResult || originalResult;\n};\n\nvar getWordsWithoutCalculate = function getWordsWithoutCalculate(children) {\n var words = !_isNil(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words: words\n }];\n};\n\nvar getWordsByLines = function getWordsByLines(props, needCalculate) {\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if ((props.width || props.scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n\n if (needCalculate) {\n var wordWidths = calculateWordWidths(props);\n\n if (wordWidths) {\n var wcw = wordWidths.wordsWithComputedWidth,\n sw = wordWidths.spaceWidth;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(props.children);\n }\n\n return calculateWordsByLines(props, wordsWithComputedWidth, spaceWidth, props.width, props.scaleToFit);\n }\n }\n\n return getWordsWithoutCalculate(props.children);\n};\n\nexport var Text = /*#__PURE__*/function (_Component) {\n _inherits(Text, _Component);\n\n var _super = _createSuper(Text);\n\n function Text() {\n var _this;\n\n _classCallCheck(this, Text);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {};\n return _this;\n }\n\n _createClass(Text, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n dx = _this$props.dx,\n dy = _this$props.dy,\n textAnchor = _this$props.textAnchor,\n verticalAnchor = _this$props.verticalAnchor,\n scaleToFit = _this$props.scaleToFit,\n angle = _this$props.angle,\n lineHeight = _this$props.lineHeight,\n capHeight = _this$props.capHeight,\n className = _this$props.className,\n breakAll = _this$props.breakAll,\n textProps = _objectWithoutProperties(_this$props, [\"dx\", \"dy\", \"textAnchor\", \"verticalAnchor\", \"scaleToFit\", \"angle\", \"lineHeight\", \"capHeight\", \"className\", \"breakAll\"]);\n\n var wordsByLines = this.state.wordsByLines;\n\n if (!isNumOrStr(textProps.x) || !isNumOrStr(textProps.y)) {\n return null;\n }\n\n var x = textProps.x + (isNumber(dx) ? dx : 0);\n var y = textProps.y + (isNumber(dy) ? dy : 0);\n var startDy;\n\n switch (verticalAnchor) {\n case 'start':\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n\n case 'middle':\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n\n var transforms = [];\n\n if (scaleToFit) {\n var lineWidth = wordsByLines[0].width;\n var width = this.props.width;\n transforms.push(\"scale(\".concat((isNumber(width) ? width / lineWidth : 1) / lineWidth, \")\"));\n }\n\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n }\n\n if (transforms.length) {\n textProps.transform = transforms.join(' ');\n }\n\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, filterProps(textProps, true), {\n x: x,\n y: y,\n className: classNames('recharts-text', className),\n textAnchor: textAnchor,\n fill: textProps.fill.includes('url') ? Text.defaultProps.fill : textProps.fill\n }), wordsByLines.map(function (line, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"tspan\", {\n x: x,\n dy: index === 0 ? startDy : lineHeight,\n key: index\n }, line.words.join(breakAll ? '' : ' '))\n );\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.width !== prevState.prevWidth || nextProps.scaleToFit !== prevState.prevScaleToFit || nextProps.children !== prevState.prevChildren || nextProps.style !== prevState.prevStyle || nextProps.breakAll !== prevState.prevBreakAll) {\n var needCalculate = nextProps.children !== prevState.prevChildren || nextProps.style !== prevState.prevStyle || nextProps.breakAll !== prevState.prevBreakAll;\n return {\n prevWidth: nextProps.width,\n prevScaleToFit: nextProps.scaleToFit,\n prevChildren: nextProps.children,\n prevStyle: nextProps.style,\n wordsByLines: getWordsByLines(nextProps, needCalculate)\n };\n }\n\n return null;\n }\n }]);\n\n return Text;\n}(Component);\nText.defaultProps = {\n x: 0,\n y: 0,\n lineHeight: '1em',\n capHeight: '0.71em',\n // Magic number from d3\n scaleToFit: false,\n textAnchor: 'start',\n verticalAnchor: 'end',\n // Maintain compat with existing charts / default SVG behavior\n fill: '#808080'\n};","'use strict';\n\nmodule.exports = require('./components/calendar/Calendar.js');","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return getPath(this.data, path);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var rule = this.getRule(code);\n\n if (!rule) {\n return [];\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, options);\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n str = str.replace(match[0], todo.safeValue(value));\n todo.regex.lastIndex = 0;\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].includes(this.formatSeparator) && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, options);\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n options.supportedLngs = options.whitelist;\n }\n\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nexport default i18next;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _DomHandler = _interopRequireDefault(require(\"./DomHandler\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ConnectedOverlayScrollHandler = /*#__PURE__*/function () {\n function ConnectedOverlayScrollHandler(element) {\n var listener = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n\n _classCallCheck(this, ConnectedOverlayScrollHandler);\n\n this.element = element;\n this.listener = listener;\n }\n\n _createClass(ConnectedOverlayScrollHandler, [{\n key: \"bindScrollListener\",\n value: function bindScrollListener() {\n this.scrollableParents = _DomHandler.default.getScrollableParents(this.element);\n\n for (var i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].addEventListener('scroll', this.listener);\n }\n }\n }, {\n key: \"unbindScrollListener\",\n value: function unbindScrollListener() {\n if (this.scrollableParents) {\n for (var i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].removeEventListener('scroll', this.listener);\n }\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n }]);\n\n return ConnectedOverlayScrollHandler;\n}();\n\nexports.default = ConnectedOverlayScrollHandler;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InputText = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _ClassNames = require(\"../utils/ClassNames\");\n\nvar _KeyFilter = _interopRequireDefault(require(\"../keyfilter/KeyFilter\"));\n\nvar _Tooltip = require(\"../tooltip/Tooltip\");\n\nvar _DomHandler = _interopRequireDefault(require(\"../utils/DomHandler\"));\n\nvar _ObjectUtils = _interopRequireDefault(require(\"../utils/ObjectUtils\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar InputText = /*#__PURE__*/function (_Component) {\n _inherits(InputText, _Component);\n\n var _super = _createSuper(InputText);\n\n function InputText(props) {\n var _this;\n\n _classCallCheck(this, InputText);\n\n _this = _super.call(this, props);\n _this.onInput = _this.onInput.bind(_assertThisInitialized(_this));\n _this.onKeyPress = _this.onKeyPress.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(InputText, [{\n key: \"onKeyPress\",\n value: function onKeyPress(event) {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.keyfilter) {\n _KeyFilter.default.onKeyPress(event, this.props.keyfilter, this.props.validateOnly);\n }\n }\n }, {\n key: \"onInput\",\n value: function onInput(event) {\n var validatePattern = true;\n\n if (this.props.keyfilter && this.props.validateOnly) {\n validatePattern = _KeyFilter.default.validate(event, this.props.keyfilter);\n }\n\n if (this.props.onInput) {\n this.props.onInput(event, validatePattern);\n }\n\n if (!this.props.onChange) {\n if (event.target.value.length > 0) _DomHandler.default.addClass(event.target, 'p-filled');else _DomHandler.default.removeClass(event.target, 'p-filled');\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.tooltip) {\n this.renderTooltip();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.tooltip !== this.props.tooltip) {\n if (this.tooltip) this.tooltip.updateContent(this.props.tooltip);else this.renderTooltip();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n }\n }, {\n key: \"renderTooltip\",\n value: function renderTooltip() {\n this.tooltip = (0, _Tooltip.tip)({\n target: this.element,\n content: this.props.tooltip,\n options: this.props.tooltipOptions\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var className = (0, _ClassNames.classNames)('p-inputtext p-component', this.props.className, {\n 'p-disabled': this.props.disabled,\n 'p-filled': this.props.value != null && this.props.value.toString().length > 0 || this.props.defaultValue != null && this.props.defaultValue.toString().length > 0\n });\n\n var inputProps = _ObjectUtils.default.findDiffKeys(this.props, InputText.defaultProps);\n\n return /*#__PURE__*/_react.default.createElement(\"input\", _extends({\n ref: function ref(el) {\n return _this2.element = el;\n }\n }, inputProps, {\n className: className,\n onInput: this.onInput,\n onKeyPress: this.onKeyPress\n }));\n }\n }]);\n\n return InputText;\n}(_react.Component);\n\nexports.InputText = InputText;\n\n_defineProperty(InputText, \"defaultProps\", {\n onInput: null,\n onKeyPress: null,\n keyfilter: null,\n validateOnly: false,\n tooltip: null,\n tooltipOptions: null\n});\n\n_defineProperty(InputText, \"propTypes\", {\n onInput: _propTypes.default.func,\n onKeyPress: _propTypes.default.func,\n keyfilter: _propTypes.default.any,\n validateOnly: _propTypes.default.bool,\n tooltip: _propTypes.default.string,\n tooltipOptions: _propTypes.default.object\n});","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Dot\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { adaptEventHandlers, filterProps } from '../util/types';\nexport var Dot = /*#__PURE__*/function (_PureComponent) {\n _inherits(Dot, _PureComponent);\n\n var _super = _createSuper(Dot);\n\n function Dot() {\n _classCallCheck(this, Dot);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dot, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n r = _this$props.r,\n className = _this$props.className;\n var layerClass = classNames('recharts-dot', className);\n\n if (cx === +cx && cy === +cy && r === +r) {\n return /*#__PURE__*/React.createElement(\"circle\", _extends({}, filterProps(this.props), adaptEventHandlers(this.props), {\n className: layerClass,\n cx: cx,\n cy: cy,\n r: r\n }));\n }\n\n return null;\n }\n }]);\n\n return Dot;\n}(PureComponent);","'use strict';\n\nmodule.exports = require('./components/inputnumber/InputNumber');","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _get from \"lodash/get\";\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Cartesian Axis\n */\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { getStringSize } from '../util/DOMUtils';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { Global } from '../util/Global';\nimport { isNumber, mathSign } from '../util/DataUtils';\nimport { filterProps, adaptEventsOfChild } from '../util/types';\nexport var CartesianAxis = /*#__PURE__*/function (_Component) {\n _inherits(CartesianAxis, _Component);\n\n var _super = _createSuper(CartesianAxis);\n\n function CartesianAxis(props) {\n var _this;\n\n _classCallCheck(this, CartesianAxis);\n\n _this = _super.call(this, props);\n _this.layerReference = void 0;\n _this.state = {\n fontSize: '',\n letterSpacing: ''\n };\n return _this;\n } // todo Array\n\n\n _createClass(CartesianAxis, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(_ref, nextState) {\n var viewBox = _ref.viewBox,\n restProps = _objectWithoutProperties(_ref, [\"viewBox\"]);\n\n // props.viewBox is sometimes generated every time -\n // check that specially as object equality is likely to fail\n var _this$props = this.props,\n viewBoxOld = _this$props.viewBox,\n restPropsOld = _objectWithoutProperties(_this$props, [\"viewBox\"]);\n\n return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld) || !shallowEqual(nextState, this.state);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var htmlLayer = this.layerReference;\n if (!htmlLayer) return;\n var tick = htmlLayer.getElementsByClassName('recharts-cartesian-axis-tick-value')[0];\n\n if (tick) {\n this.setState({\n fontSize: window.getComputedStyle(tick).fontSize,\n letterSpacing: window.getComputedStyle(tick).letterSpacing\n });\n }\n }\n /**\n * Calculate the coordinates of endpoints in ticks\n * @param {Object} data The data of a simple tick\n * @return {Object} (x1, y1): The coordinate of endpoint close to tick text\n * (x2, y2): The coordinate of endpoint close to axis\n */\n\n }, {\n key: \"getTickLineCoord\",\n value: function getTickLineCoord(data) {\n var _this$props2 = this.props,\n x = _this$props2.x,\n y = _this$props2.y,\n width = _this$props2.width,\n height = _this$props2.height,\n orientation = _this$props2.orientation,\n tickSize = _this$props2.tickSize,\n mirror = _this$props2.mirror,\n tickMargin = _this$props2.tickMargin;\n var x1, x2, y1, y2, tx, ty;\n var sign = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber(data.tickCoord) ? data.tickCoord : data.coordinate;\n\n switch (orientation) {\n case 'top':\n x1 = x2 = data.coordinate;\n y2 = y + +!mirror * height;\n y1 = y2 - sign * finalTickSize;\n ty = y1 - sign * tickMargin;\n tx = tickCoord;\n break;\n\n case 'left':\n y1 = y2 = data.coordinate;\n x2 = x + +!mirror * width;\n x1 = x2 - sign * finalTickSize;\n tx = x1 - sign * tickMargin;\n ty = tickCoord;\n break;\n\n case 'right':\n y1 = y2 = data.coordinate;\n x2 = x + +mirror * width;\n x1 = x2 + sign * finalTickSize;\n tx = x1 + sign * tickMargin;\n ty = tickCoord;\n break;\n\n default:\n x1 = x2 = data.coordinate;\n y2 = y + +mirror * height;\n y1 = y2 + sign * finalTickSize;\n ty = y1 + sign * tickMargin;\n tx = tickCoord;\n break;\n }\n\n return {\n line: {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var _this$props3 = this.props,\n orientation = _this$props3.orientation,\n mirror = _this$props3.mirror;\n var textAnchor;\n\n switch (orientation) {\n case 'left':\n textAnchor = mirror ? 'start' : 'end';\n break;\n\n case 'right':\n textAnchor = mirror ? 'end' : 'start';\n break;\n\n default:\n textAnchor = 'middle';\n break;\n }\n\n return textAnchor;\n }\n }, {\n key: \"getTickVerticalAnchor\",\n value: function getTickVerticalAnchor() {\n var _this$props4 = this.props,\n orientation = _this$props4.orientation,\n mirror = _this$props4.mirror;\n var verticalAnchor = 'end';\n\n switch (orientation) {\n case 'left':\n case 'right':\n verticalAnchor = 'middle';\n break;\n\n case 'top':\n verticalAnchor = mirror ? 'start' : 'end';\n break;\n\n default:\n verticalAnchor = mirror ? 'end' : 'start';\n break;\n }\n\n return verticalAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n orientation = _this$props5.orientation,\n mirror = _this$props5.mirror,\n axisLine = _this$props5.axisLine;\n\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(this.props)), filterProps(axisLine)), {}, {\n fill: 'none'\n });\n\n if (orientation === 'top' || orientation === 'bottom') {\n var needHeight = +(orientation === 'top' && !mirror || orientation === 'bottom' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x,\n y1: y + needHeight * height,\n x2: x + width,\n y2: y + needHeight * height\n });\n } else {\n var needWidth = +(orientation === 'left' && !mirror || orientation === 'right' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x + needWidth * width,\n y1: y,\n x2: x + needWidth * width,\n y2: y + height\n });\n }\n\n return /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: classNames('recharts-cartesian-axis-line', _get(axisLine, 'className'))\n }));\n }\n }, {\n key: \"renderTicks\",\n value:\n /**\n * render the ticks\n * @param {Array} ticks The ticks to actually render (overrides what was passed in props)\n * @param {string} fontSize Fontsize to consider for tick spacing\n * @param {string} letterSpacing Letterspacing to consider for tick spacing\n * @return {ReactComponent} renderedTicks\n */\n function renderTicks(ticks, fontSize, letterSpacing) {\n var _this2 = this;\n\n var _this$props6 = this.props,\n tickLine = _this$props6.tickLine,\n stroke = _this$props6.stroke,\n tick = _this$props6.tick,\n tickFormatter = _this$props6.tickFormatter,\n unit = _this$props6.unit;\n var finalTicks = CartesianAxis.getTicks(_objectSpread(_objectSpread({}, this.props), {}, {\n ticks: ticks\n }), fontSize, letterSpacing);\n var textAnchor = this.getTickTextAnchor();\n var verticalAnchor = this.getTickVerticalAnchor();\n var axisProps = filterProps(this.props);\n var customTickProps = filterProps(tick);\n\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine));\n\n var items = finalTicks.map(function (entry, i) {\n var _this2$getTickLineCoo = _this2.getTickLineCoord(entry),\n lineCoord = _this2$getTickLineCoo.line,\n tickCoord = _this2$getTickLineCoo.tick;\n\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), tickCoord), {}, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length,\n tickFormatter: tickFormatter\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, adaptEventsOfChild(_this2.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n className: classNames('recharts-cartesian-axis-tick-line', _get(tickLine, 'className'))\n })), tick && CartesianAxis.renderTickItem(tick, tickProps, \"\".concat(_isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value).concat(unit || '')));\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props7 = this.props,\n axisLine = _this$props7.axisLine,\n width = _this$props7.width,\n height = _this$props7.height,\n ticksGenerator = _this$props7.ticksGenerator,\n className = _this$props7.className,\n hide = _this$props7.hide;\n\n if (hide) {\n return null;\n }\n\n var _this$props8 = this.props,\n ticks = _this$props8.ticks,\n noTicksProps = _objectWithoutProperties(_this$props8, [\"ticks\"]);\n\n var finalTicks = ticks;\n\n if (_isFunction(ticksGenerator)) {\n finalTicks = ticks && ticks.length > 0 ? ticksGenerator(this.props) : ticksGenerator(noTicksProps);\n }\n\n if (width <= 0 || height <= 0 || !finalTicks || !finalTicks.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-cartesian-axis', className),\n ref: function ref(_ref2) {\n _this3.layerReference = _ref2;\n }\n }, axisLine && this.renderAxisLine(), this.renderTicks(finalTicks, this.state.fontSize, this.state.letterSpacing), Label.renderCallByParent(this.props));\n }\n }], [{\n key: \"getTicks\",\n value: function getTicks(props, fontSize, letterSpacing) {\n var tick = props.tick,\n ticks = props.ticks,\n viewBox = props.viewBox,\n minTickGap = props.minTickGap,\n orientation = props.orientation,\n interval = props.interval,\n tickFormatter = props.tickFormatter,\n unit = props.unit;\n\n if (!ticks || !ticks.length || !tick) {\n return [];\n }\n\n if (isNumber(interval) || Global.isSsr) {\n return CartesianAxis.getNumberIntervalTicks(ticks, typeof interval === 'number' && isNumber(interval) ? interval : 0);\n }\n\n if (interval === 'preserveStartEnd') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit,\n fontSize: fontSize,\n letterSpacing: letterSpacing\n }, true);\n }\n\n if (interval === 'preserveStart') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit,\n fontSize: fontSize,\n letterSpacing: letterSpacing\n });\n }\n\n return CartesianAxis.getTicksEnd({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit,\n fontSize: fontSize,\n letterSpacing: letterSpacing\n });\n }\n }, {\n key: \"getNumberIntervalTicks\",\n value: function getNumberIntervalTicks(ticks, interval) {\n return ticks.filter(function (entry, i) {\n return i % (interval + 1) === 0;\n });\n }\n }, {\n key: \"getTicksStart\",\n value: function getTicksStart(_ref3, preserveEnd) {\n var ticks = _ref3.ticks,\n tickFormatter = _ref3.tickFormatter,\n viewBox = _ref3.viewBox,\n orientation = _ref3.orientation,\n minTickGap = _ref3.minTickGap,\n unit = _ref3.unit,\n fontSize = _ref3.fontSize,\n letterSpacing = _ref3.letterSpacing;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n var result = (ticks || []).slice(); // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n })[sizeKey] : 0;\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n if (preserveEnd) {\n // Try to guarantee the tail to be displayed\n var tail = ticks[len - 1];\n var tailContent = _isFunction(tickFormatter) ? tickFormatter(tail.value, len - 1) : tail.value;\n var tailSize = getStringSize(tailContent, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n })[sizeKey] + unitSize;\n var tailGap = sign * (tail.coordinate + sign * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread(_objectSpread({}, tail), {}, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate\n });\n var isTailShow = sign * (tail.tickCoord - sign * tailSize / 2 - start) >= 0 && sign * (tail.tickCoord + sign * tailSize / 2 - end) <= 0;\n\n if (isTailShow) {\n end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread(_objectSpread({}, tail), {}, {\n isShow: true\n });\n }\n }\n\n var count = preserveEnd ? len - 1 : len;\n\n for (var i = 0; i < count; i++) {\n var entry = result[i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value;\n var size = getStringSize(content, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n })[sizeKey] + unitSize;\n\n if (i === 0) {\n var gap = sign * (entry.coordinate - sign * size / 2 - start);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n start = entry.tickCoord + sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"getTicksEnd\",\n value: function getTicksEnd(_ref4) {\n var ticks = _ref4.ticks,\n tickFormatter = _ref4.tickFormatter,\n viewBox = _ref4.viewBox,\n orientation = _ref4.orientation,\n minTickGap = _ref4.minTickGap,\n unit = _ref4.unit,\n fontSize = _ref4.fontSize,\n letterSpacing = _ref4.letterSpacing;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height'; // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n })[sizeKey] : 0;\n var result = (ticks || []).slice();\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n for (var i = len - 1; i >= 0; i--) {\n var entry = result[i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value, len - i - 1) : entry.value;\n var size = getStringSize(content, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n })[sizeKey] + unitSize;\n\n if (i === len - 1) {\n var gap = sign * (entry.coordinate + sign * size / 2 - end);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n end = entry.tickCoord - sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-cartesian-axis-tick-value\"\n }), value);\n }\n\n return tickItem;\n }\n }]);\n\n return CartesianAxis;\n}(Component);\nCartesianAxis.displayName = 'CartesianAxis';\nCartesianAxis.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: 'bottom',\n // The ticks\n ticks: [],\n stroke: '#666',\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: 'preserveEnd'\n};","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var Parser = require(\"./Parser.js\");\nvar DomHandler = require(\"domhandler\");\n\nfunction defineProp(name, value) {\n delete module.exports[name];\n module.exports[name] = value;\n return value;\n}\n\nmodule.exports = {\n Parser: Parser,\n Tokenizer: require(\"./Tokenizer.js\"),\n ElementType: require(\"domelementtype\"),\n DomHandler: DomHandler,\n get FeedHandler() {\n return defineProp(\"FeedHandler\", require(\"./FeedHandler.js\"));\n },\n get Stream() {\n return defineProp(\"Stream\", require(\"./Stream.js\"));\n },\n get WritableStream() {\n return defineProp(\"WritableStream\", require(\"./WritableStream.js\"));\n },\n get ProxyHandler() {\n return defineProp(\"ProxyHandler\", require(\"./ProxyHandler.js\"));\n },\n get DomUtils() {\n return defineProp(\"DomUtils\", require(\"domutils\"));\n },\n get CollectingHandler() {\n return defineProp(\n \"CollectingHandler\",\n require(\"./CollectingHandler.js\")\n );\n },\n // For legacy support\n DefaultHandler: DomHandler,\n get RssHandler() {\n return defineProp(\"RssHandler\", this.FeedHandler);\n },\n //helper methods\n parseDOM: function(data, options) {\n var handler = new DomHandler(options);\n new Parser(handler, options).end(data);\n return handler.dom;\n },\n parseFeed: function(feed, options) {\n var handler = new module.exports.FeedHandler(options);\n new Parser(handler, options).end(feed);\n return handler.dom;\n },\n createDomStream: function(cb, options, elementCb) {\n var handler = new DomHandler(cb, options, elementCb);\n return new Parser(handler, options);\n },\n // List of all events that the parser emits\n EVENTS: {\n /* Format: eventname: number of arguments */\n attribute: 2,\n cdatastart: 0,\n cdataend: 0,\n text: 1,\n processinginstruction: 2,\n comment: 1,\n commentend: 0,\n closetag: 1,\n opentag: 2,\n opentagname: 1,\n error: 1,\n end: 0\n }\n};\n","//Types of elements found in the DOM\nmodule.exports = {\n\tText: \"text\", //Text\n\tDirective: \"directive\", //\n\tComment: \"comment\", //\n\tScript: \"script\", //